From af1017caa9d1c624ac579eb89dbe3fff8544d4fa Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Wed, 6 Nov 2024 07:37:45 +1100 Subject: [PATCH 1/2] google updates --- .../googleapis.com/v00.00.00000/provider.yaml | 16 +- .../v00.00.00000/services/accessapproval.yaml | 4 +- .../services/accesscontextmanager.yaml | 74 +- .../services/addressvalidation.yaml | 1742 +- .../services/advisorynotifications.yaml | 506 +- .../v00.00.00000/services/aiplatform.yaml | 60151 ++++++++-------- .../v00.00.00000/services/airquality.yaml | 1338 +- .../v00.00.00000/services/alloydb.yaml | 340 +- .../v00.00.00000/services/analyticshub.yaml | 9 +- .../v00.00.00000/services/apigateway.yaml | 4 +- .../v00.00.00000/services/apigee.yaml | 27555 +++---- .../v00.00.00000/services/apigeeregistry.yaml | 2 +- .../v00.00.00000/services/apikeys.yaml | 908 +- .../v00.00.00000/services/apim.yaml | 2 +- .../v00.00.00000/services/appengine.yaml | 49 +- .../v00.00.00000/services/apphub.yaml | 361 +- .../services/artifactregistry.yaml | 1039 +- .../services/assuredworkloads.yaml | 2270 +- .../v00.00.00000/services/backupdr.yaml | 426 +- .../services/baremetalsolution.yaml | 4 +- .../v00.00.00000/services/batch.yaml | 49 +- .../v00.00.00000/services/beyondcorp.yaml | 1334 +- .../v00.00.00000/services/biglake.yaml | 4 +- .../v00.00.00000/services/bigquery.yaml | 58 +- .../services/bigqueryconnection.yaml | 4 +- .../services/bigquerydatapolicy.yaml | 4 +- .../services/bigquerydatatransfer.yaml | 157 +- .../services/bigqueryreservation.yaml | 37 +- .../v00.00.00000/services/bigtableadmin.yaml | 106 +- .../v00.00.00000/services/billingbudgets.yaml | 878 +- .../services/binaryauthorization.yaml | 4 +- .../services/blockchainnodeengine.yaml | 4 +- .../services/certificatemanager.yaml | 4 +- .../v00.00.00000/services/cloudasset.yaml | 4 +- .../v00.00.00000/services/cloudbilling.yaml | 15 +- .../v00.00.00000/services/cloudbuild.yaml | 4690 +- .../services/cloudcommerceprocurement.yaml | 916 +- .../services/cloudcontrolspartner.yaml | 156 +- .../v00.00.00000/services/clouddeploy.yaml | 1214 +- .../services/clouderrorreporting.yaml | 4 +- .../v00.00.00000/services/cloudfunctions.yaml | 10 +- .../v00.00.00000/services/cloudidentity.yaml | 22 +- .../v00.00.00000/services/cloudkms.yaml | 4 +- .../v00.00.00000/services/cloudprofiler.yaml | 4 +- .../services/cloudresourcemanager.yaml | 4 +- .../v00.00.00000/services/cloudscheduler.yaml | 259 +- .../v00.00.00000/services/cloudshell.yaml | 4 +- .../v00.00.00000/services/cloudsupport.yaml | 1589 +- .../v00.00.00000/services/cloudtasks.yaml | 4 +- .../v00.00.00000/services/cloudtrace.yaml | 4 +- .../v00.00.00000/services/composer.yaml | 29 +- .../v00.00.00000/services/compute.yaml | 2293 +- .../v00.00.00000/services/config.yaml | 4 +- .../v00.00.00000/services/connectors.yaml | 23 +- .../services/contactcenteraiplatform.yaml | 25 +- .../services/contactcenterinsights.yaml | 14961 ++-- .../v00.00.00000/services/container.yaml | 429 +- .../services/containeranalysis.yaml | 10244 +-- .../services/contentwarehouse.yaml | 9558 +-- .../v00.00.00000/services/datacatalog.yaml | 373 +- .../v00.00.00000/services/dataflow.yaml | 38 +- .../v00.00.00000/services/dataform.yaml | 44 +- .../v00.00.00000/services/datafusion.yaml | 2 +- .../v00.00.00000/services/datalabeling.yaml | 4 +- .../v00.00.00000/services/datalineage.yaml | 1557 +- .../v00.00.00000/services/datamigration.yaml | 167 +- .../v00.00.00000/services/datapipelines.yaml | 1278 +- .../v00.00.00000/services/dataplex.yaml | 646 +- .../v00.00.00000/services/dataproc.yaml | 14322 ++-- .../v00.00.00000/services/datastore.yaml | 208 +- .../v00.00.00000/services/datastream.yaml | 121 +- .../services/deploymentmanager.yaml | 393 +- .../services/developerconnect.yaml | 398 +- .../v00.00.00000/services/dialogflow.yaml | 81 +- .../services/discoveryengine.yaml | 1692 +- .../v00.00.00000/services/dlp.yaml | 18024 ++--- .../v00.00.00000/services/dns.yaml | 4 +- .../v00.00.00000/services/documentai.yaml | 9428 +-- .../v00.00.00000/services/domains.yaml | 4 +- .../services/essentialcontacts.yaml | 724 +- .../v00.00.00000/services/eventarc.yaml | 4115 +- .../v00.00.00000/services/file.yaml | 75 +- .../v00.00.00000/services/firestore.yaml | 12 +- .../v00.00.00000/services/gkebackup.yaml | 27 +- .../v00.00.00000/services/gkehub.yaml | 2888 +- .../v00.00.00000/services/gkeonprem.yaml | 104 +- .../v00.00.00000/services/healthcare.yaml | 266 +- .../v00.00.00000/services/iam.yaml | 85 +- .../v00.00.00000/services/iamcredentials.yaml | 65 +- .../v00.00.00000/services/iamv2.yaml | 4 +- .../v00.00.00000/services/iamv2beta.yaml | 4 +- .../v00.00.00000/services/iap.yaml | 4 +- .../services/identitytoolkit.yaml | 2 +- .../v00.00.00000/services/ids.yaml | 2 +- .../v00.00.00000/services/integrations.yaml | 21000 +++--- .../v00.00.00000/services/jobs.yaml | 4 +- .../v00.00.00000/services/kmsinventory.yaml | 1394 +- .../v00.00.00000/services/language.yaml | 7996 +- .../v00.00.00000/services/libraryagent.yaml | 226 +- .../v00.00.00000/services/lifesciences.yaml | 4 +- .../v00.00.00000/services/logging.yaml | 9 +- .../v00.00.00000/services/looker.yaml | 23 +- .../services/managedidentities.yaml | 2 +- .../v00.00.00000/services/memcache.yaml | 344 +- .../v00.00.00000/services/metastore.yaml | 4 +- .../services/migrationcenter.yaml | 81 +- .../v00.00.00000/services/ml.yaml | 4 +- .../v00.00.00000/services/monitoring.yaml | 215 +- .../v00.00.00000/services/netapp.yaml | 4775 ++ .../services/networkconnectivity.yaml | 396 +- .../services/networkmanagement.yaml | 98 +- .../services/networksecurity.yaml | 28 +- .../services/networkservices.yaml | 1029 +- .../v00.00.00000/services/notebooks.yaml | 11 +- .../services/ondemandscanning.yaml | 4 +- .../v00.00.00000/services/oracledatabase.yaml | 194 +- .../v00.00.00000/services/orgpolicy.yaml | 1483 +- .../v00.00.00000/services/osconfig.yaml | 64 +- .../v00.00.00000/services/oslogin.yaml | 4 +- .../v00.00.00000/services/places.yaml | 3717 +- .../v00.00.00000/services/policyanalyzer.yaml | 142 +- .../services/policysimulator.yaml | 3592 +- .../services/policytroubleshooter.yaml | 1000 +- .../v00.00.00000/services/pollen.yaml | 772 +- .../v00.00.00000/services/privateca.yaml | 13 +- .../services/prod_tt_sasportal.yaml | 4316 +- .../v00.00.00000/services/publicca.yaml | 4 +- .../v00.00.00000/services/pubsub.yaml | 136 +- .../v00.00.00000/services/pubsublite.yaml | 4 +- .../services/rapidmigrationassessment.yaml | 4 +- .../services/recaptchaenterprise.yaml | 3994 +- .../services/recommendationengine.yaml | 4 +- .../v00.00.00000/services/recommender.yaml | 2659 +- .../v00.00.00000/services/redis.yaml | 532 +- .../services/resourcesettings.yaml | 504 +- .../v00.00.00000/services/retail.yaml | 445 +- .../v00.00.00000/services/run.yaml | 42 +- .../v00.00.00000/services/runtimeconfig.yaml | 4 +- .../v00.00.00000/services/sasportal.yaml | 4090 +- .../v00.00.00000/services/secretmanager.yaml | 8 +- .../v00.00.00000/services/securitycenter.yaml | 600 +- .../services/serviceconsumermanagement.yaml | 6269 +- .../v00.00.00000/services/servicecontrol.yaml | 4 +- .../services/servicedirectory.yaml | 4 +- .../services/servicemanagement.yaml | 25 +- .../services/servicenetworking.yaml | 7700 +- .../v00.00.00000/services/serviceusage.yaml | 6817 +- .../v00.00.00000/services/solar.yaml | 1338 +- .../v00.00.00000/services/spanner.yaml | 444 +- .../v00.00.00000/services/speech.yaml | 8 +- .../v00.00.00000/services/sqladmin.yaml | 68 +- .../v00.00.00000/services/storage.yaml | 153 +- .../services/storagetransfer.yaml | 47 +- .../v00.00.00000/services/testing.yaml | 18 +- .../v00.00.00000/services/texttospeech.yaml | 112 +- .../v00.00.00000/services/tpu.yaml | 6 +- .../services/trafficdirector.yaml | 4 +- .../v00.00.00000/services/transcoder.yaml | 8 +- .../v00.00.00000/services/translate.yaml | 12 +- .../services/videointelligence.yaml | 2 +- .../v00.00.00000/services/vision.yaml | 4 +- .../v00.00.00000/services/vmmigration.yaml | 63 +- .../v00.00.00000/services/vmwareengine.yaml | 40 +- .../v00.00.00000/services/vpcaccess.yaml | 4 +- .../v00.00.00000/services/webrisk.yaml | 872 +- .../services/websecurityscanner.yaml | 1906 +- .../services/workflowexecutions.yaml | 11 +- .../v00.00.00000/services/workflows.yaml | 6 +- .../services/workloadmanager.yaml | 394 +- .../v00.00.00000/services/workstations.yaml | 77 +- 170 files changed, 164033 insertions(+), 131430 deletions(-) create mode 100644 providers/src/googleapis.com/v00.00.00000/services/netapp.yaml diff --git a/providers/src/googleapis.com/v00.00.00000/provider.yaml b/providers/src/googleapis.com/v00.00.00000/provider.yaml index 1119dc9a..f21d51c7 100644 --- a/providers/src/googleapis.com/v00.00.00000/provider.yaml +++ b/providers/src/googleapis.com/v00.00.00000/provider.yaml @@ -1131,6 +1131,18 @@ providerServices: title: Cloud Monitoring API version: v00.00.00000 description: Manages your Cloud Monitoring data and configurations. + netapp: + id: netapp:v00.00.00000 + name: netapp + preferred: true + service: + $ref: googleapis.com/v00.00.00000/services/netapp.yaml + title: NetApp API + version: v00.00.00000 + description: >- + Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage + service that provides advanced data management capabilities and highly + scalable performance with global availability. networkconnectivity: id: networkconnectivity:v00.00.00000 name: networkconnectivity @@ -1196,8 +1208,8 @@ providerServices: title: Oracle Database@Google Cloud API version: v00.00.00000 description: >- - The Oracle Database@Google Cloud API provides set of APIs to manage Oracle - databases such as Exadata and Autonomous Databases. + The Oracle Database@Google Cloud API provides a set of APIs to manage + Oracle database services, such as Exadata and Autonomous Databases. orgpolicy: id: orgpolicy:v00.00.00000 name: orgpolicy diff --git a/providers/src/googleapis.com/v00.00.00000/services/accessapproval.yaml b/providers/src/googleapis.com/v00.00.00000/services/accessapproval.yaml index e9a00b5f..7dcbcb1b 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/accessapproval.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/accessapproval.yaml @@ -7,8 +7,8 @@ info: title: Access Approval API description: An API for controlling access to data by Google personnel. version: v1 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/assured-workloads/access-approval/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/accesscontextmanager.yaml b/providers/src/googleapis.com/v00.00.00000/services/accesscontextmanager.yaml index 2aeafd34..4c36a142 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/accesscontextmanager.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/accesscontextmanager.yaml @@ -17,8 +17,8 @@ info: Modifications using v1alpha should be limited to policies with non-production/non-critical service perimeters. version: v1 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/access-context-manager/docs/reference/rest/ servers: @@ -1301,6 +1301,11 @@ components: reauthSettings: description: Optional. GCSL policy for the group key. $ref: '#/components/schemas/ReauthSettings' + sessionSettings: + description: >- + Optional. GCSL policy for the group key. Migrated from + ReauthSettings + $ref: '#/components/schemas/SessionSettings' restrictedClientApplications: description: >- Optional. A list of applications that are subject to this binding's @@ -1373,6 +1378,62 @@ components: set above will be disregarded and the session length is basically infinite. type: boolean + SessionSettings: + id: SessionSettings + description: >- + 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. + type: object + properties: + sessionReauthMethod: + description: Optional. Session method when users GCP session is up. + type: string + enumDescriptions: + - If method undefined in API, we will use LOGIN by default. + - >- + The user will prompted to perform regular login. Users who are + enrolled for two-step verification and haven't chosen to "Remember + this computer" will be prompted for their second factor. + - >- + The user will be prompted to autheticate using their security key. + If no security key has been configured, then we will fallback to + LOGIN. + - The user will be prompted for their password. + enum: + - SESSION_REAUTH_METHOD_UNSPECIFIED + - LOGIN + - SECURITY_KEY + - PASSWORD + sessionLength: + description: >- + Optional. The session length. Setting this field to zero is equal to + disabling. Session. Also can set infinite session by flipping the + enabled bit to false below. If use_oidc_max_age is true, for OIDC + apps, the session length will be the minimum of this field and OIDC + max_age param. + type: string + format: google-duration + maxInactivity: + description: >- + Optional. How long a user is allowed to take between actions before + a new access token must be issued. Presently only set for Cloud + Apps. + type: string + format: google-duration + useOidcMaxAge: + description: >- + Optional. Only useful for OIDC apps. When false, the OIDC max_age + param, if passed in the authentication request will be ignored. When + true, the re-auth period will be the minimum of the session_length + field and the max_age OIDC param. + type: boolean + sessionLengthEnabled: + description: >- + Optional. Big red button to turn off GCSL. When false, all fields + set above will be disregarded and the session length is basically + infinite. + type: boolean Application: id: Application description: An application that accesses Google Cloud APIs. @@ -1446,6 +1507,11 @@ components: Optional. Reauth settings applied to user access on a given AccessScope. $ref: '#/components/schemas/ReauthSettings' + sessionSettings: + description: >- + Optional. Session settings applied to user access on a given + AccessScope. Migrated from ReauthSettings + $ref: '#/components/schemas/SessionSettings' SetIamPolicyRequest: id: SetIamPolicyRequest description: Request message for `SetIamPolicy` method. @@ -3627,6 +3693,10 @@ paths: schema: type: string format: google-fieldmask + - in: query + name: append + schema: + type: boolean delete: description: >- Deletes a GcpUserAccessBinding. Completion of this long-running diff --git a/providers/src/googleapis.com/v00.00.00000/services/addressvalidation.yaml b/providers/src/googleapis.com/v00.00.00000/services/addressvalidation.yaml index fec8544e..2017dd05 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/addressvalidation.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/addressvalidation.yaml @@ -11,8 +11,8 @@ info: the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/maps/documentation/addressvalidation servers: @@ -26,12 +26,12 @@ components: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: &ref_0 - https://www.googleapis.com/auth/maps-platform.addressvalidation: >- - Private Service: - https://www.googleapis.com/auth/maps-platform.addressvalidation 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. + https://www.googleapis.com/auth/maps-platform.addressvalidation: >- + Private Service: + https://www.googleapis.com/auth/maps-platform.addressvalidation Oauth2c: type: oauth2 description: Oauth 2.0 authorization code authentication @@ -41,78 +41,13 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleMapsAddressvalidationV1ComponentName: - description: A wrapper for the name of the component. - id: GoogleMapsAddressvalidationV1ComponentName - type: object - properties: - languageCode: - type: string - description: >- - The BCP-47 language code. This will not be present if the component - name is not associated with a language, such as a street number. - text: - type: string - description: >- - The name text. For example, "5th Avenue" for a street name or "1253" - for a street number. - GoogleTypeLatLng: - description: >- - An object that represents a latitude/longitude pair. This is expressed - as a pair of doubles to represent degrees latitude and degrees - longitude. Unless specified otherwise, this object must conform to the - WGS84 standard. Values must be within normalized ranges. - properties: - longitude: - type: number - description: The longitude in degrees. It must be in the range [-180.0, +180.0]. - format: double - latitude: - format: double - description: The latitude in degrees. It must be in the range [-90.0, +90.0]. - type: number - id: GoogleTypeLatLng - type: object - GoogleMapsAddressvalidationV1UspsAddress: - description: USPS representation of a US address. - type: object - properties: - city: - type: string - description: City name. - firm: - type: string - description: Firm name. - state: - description: 2 letter state code. - type: string - urbanization: - type: string - description: Puerto Rican urbanization name. - zipCode: - type: string - description: Postal code e.g. 10009. - cityStateZipAddressLine: - type: string - description: City + state + postal code. - secondAddressLine: - description: Second address line. - type: string - zipCodeExtension: - description: 4-digit postal code extension e.g. 5023. - type: string - firstAddressLine: - type: string - description: First address line. - id: GoogleMapsAddressvalidationV1UspsAddress GoogleMapsAddressvalidationV1Geocode: - id: GoogleMapsAddressvalidationV1Geocode + description: Contains information about the place the input was geocoded to. properties: - bounds: - $ref: '#/components/schemas/GoogleGeoTypeViewport' - description: The bounds of the geocoded place. + plusCode: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1PlusCode' + description: The plus code corresponding to the `location`. location: - $ref: '#/components/schemas/GoogleTypeLatLng' description: >- The geocoded location of the input. Using place IDs is preferred over using addresses, latitude/longitude coordinates, or plus codes. @@ -123,298 +58,121 @@ components: to the property. Additionally, when a location is reverse geocoded, there is no guarantee that the returned address will match the original. + $ref: '#/components/schemas/GoogleTypeLatLng' placeId: + type: string description: >- The PlaceID of the place this input geocodes to. For more information about Place IDs see [here](https://developers.google.com/maps/documentation/places/web-service/place-id). - type: string - plusCode: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1PlusCode' - description: The plus code corresponding to the `location`. - placeTypes: - description: >- - The type(s) of place that the input geocoded to. For example, - `['locality', 'political']`. The full list of types can be found - [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types). - items: - type: string - type: array featureSizeMeters: - type: number + format: float description: >- The size of the geocoded place, in meters. This is another measure of the coarseness of the geocoded location, but in physical size rather than in semantic meaning. - format: float + type: number + placeTypes: + items: + type: string + type: array + description: >- + The type(s) of place that the input geocoded to. For example, + `['locality', 'political']`. The full list of types can be found + [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types). + bounds: + description: The bounds of the geocoded place. + $ref: '#/components/schemas/GoogleGeoTypeViewport' type: object - description: Contains information about the place the input was geocoded to. - GoogleMapsAddressvalidationV1UspsData: + id: GoogleMapsAddressvalidationV1Geocode + GoogleMapsAddressvalidationV1PlusCode: + id: GoogleMapsAddressvalidationV1PlusCode properties: - standardizedAddress: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1UspsAddress' - description: USPS standardized address. - ewsNoMatch: - description: >- - The delivery address is matchable, but the EWS file indicates that - an exact match will be available soon. - type: boolean - pmbDesignator: - type: string - description: PMB (Private Mail Box) unit designator. - dpvNoStatReasonCode: - format: int32 - description: >- - Indicates the NoStat type. Returns a reason code as int. * `1`: IDA - (Internal Drop Address) – Addresses that do not receive mail - directly from the USPS but are delivered to a drop address that - services them. * `2`: CDS - Addresses that have not yet become - deliverable. For example, a new subdivision where lots and primary - numbers have been determined, but no structure exists yet for - occupancy. * `3`: Collision - Addresses that do not actually DPV - confirm. * `4`: CMZ (College, Military and Other Types) - ZIP + 4 - records USPS has incorporated into the data. * `5`: Regular - - Indicates addresses not receiving delivery and the addresses are not - counted as possible deliveries. * `6`: Secondary Required - The - address requires secondary information. - type: integer - dpvFootnote: + compoundCode: description: >- - The footnotes from delivery point validation. Multiple footnotes may - be strung together in the same string. * `AA`: Input address matched - to the ZIP+4 file * `A1`: Input address was not matched to the ZIP+4 - file * `BB`: Matched to DPV (all components) * `CC`: Secondary - number not matched and not required * `C1`: Secondary number not - matched but required * `N1`: High-rise address missing secondary - number * `M1`: Primary number missing * `M3`: Primary number invalid - * `P1`: Input address PO, RR or HC box number missing * `P3`: Input - address PO, RR, or HC Box number invalid * `F1`: Input address - matched to a military address * `G1`: Input address matched to a - general delivery address * `U1`: Input address matched to a unique - ZIP code * `PB`: Input address matched to PBSA record * `RR`: DPV - confirmed address with PMB information * `R1`: DPV confirmed address - without PMB information * `R7`: Carrier Route R777 or R779 record * - `IA`: Informed Address identified * `TA`: Primary number matched by - dropping a trailing alpha - type: string - dpvNoSecureLocation: + Place's compound code, such as "33GV+HQ, Ramberg, Norway", + containing the suffix of the global code and replacing the prefix + with a formatted name of a reference entity. type: string + globalCode: description: >- - Flag indicates door is accessible, but package will not be left due - to security concerns. Returns a single character. * `Y`: The package - will not be left due to security concerns. * `N`: No indication the - package will not be left due to security concerns. - abbreviatedCity: - description: Abbreviated city. + Place's global (full) code, such as "9FWM33GV+HQ", representing an + 1/8000 by 1/8000 degree area (~14 by 14 meters). type: string - defaultAddress: + type: object + description: >- + Plus code (http://plus.codes) is a location reference with two formats: + global code defining a 14mx14m (1/8000th of a degree) or smaller + rectangle, and compound code, replacing the prefix with a reference + location. + GoogleMapsAddressvalidationV1Address: + description: >- + Details of the post-processed address. Post-processing includes + correcting misspelled parts of the address, replacing incorrect parts, + and inferring missing parts. + properties: + unresolvedTokens: + items: + type: string + type: array description: >- - Indicator that a default address was found, but more specific - addresses exists. - type: boolean - deliveryPointCheckDigit: - type: string + Any tokens in the input that could not be resolved. This might be an + input that was not recognized as a valid part of an address (for + example in an input like "123235253253 Main St, San Francisco, CA, + 94105", the unresolved tokens may look like `["123235253253"]` since + that does not look like a valid street number. + postalAddress: + $ref: '#/components/schemas/GoogleTypePostalAddress' + description: The post-processed address represented as a postal address. + missingComponentTypes: + type: array + items: + type: string description: >- - The delivery point check digit. This number is added to the end of - the delivery_point_barcode for mechanically scanned mail. Adding all - the digits of the delivery_point_barcode, - delivery_point_check_digit, postal code, and ZIP+4 together should - yield a number divisible by 10. - elotFlag: - type: string - description: eLOT Ascending/Descending Flag (A/D). - lacsLinkIndicator: - description: LACSLink indicator. - type: string - postOfficeState: - description: Main post office state. - type: string - fipsCountyCode: - description: FIPS county code. - type: string - pmbNumber: - type: string - description: PMB (Private Mail Box) number; - poBoxOnlyPostalCode: - description: PO Box only postal code. - type: boolean - dpvVacant: - type: string + The types of components that were expected to be present in a + correctly formatted mailing address but were not found in the input + AND could not be inferred. Components of this type are not present + in `formatted_address`, `postal_address`, or `address_components`. + An example might be `['street_number', 'route']` for an input like + "Boulder, Colorado, 80301, USA". The list of possible types can be + found + [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types). + addressComponents: description: >- - Is this place vacant? Returns a single character. * `Y`: The address - is vacant * `N`: The address is not vacant - dpvNoStat: + Unordered list. The individual address components of the formatted + and corrected address, along with validation information. This + provides information on the validation status of the individual + components. Address components are not ordered in a particular way. + Do not make any assumptions on the ordering of the address + components in the list. + items: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1AddressComponent' + type: array + unconfirmedComponentTypes: + items: + type: string description: >- - Is this a no stat address or an active address? No stat addresses - are ones which are not continuously occupied or addresses that the - USPS does not service. Returns a single character. * `Y`: The - address is not active * `N`: The address is active - type: string - errorMessage: - description: >- - Error message for USPS data retrieval. This is populated when USPS - processing is suspended because of the detection of artificially - created addresses. The USPS data fields might not be populated when - this error is present. - type: string - carrierRouteIndicator: - type: string - description: Carrier route rate sort indicator. - cassProcessed: - type: boolean - description: Indicator that the request has been CASS processed. - deliveryPointCode: - type: string - description: 2 digit delivery point code - addressRecordType: - description: >- - Type of the address record that matches the input address. * `F`: - FIRM. This is a match to a Firm Record, which is the finest level of - match available for an address. * `G`: GENERAL DELIVERY. This is a - match to a General Delivery record. * `H`: BUILDING / APARTMENT. - This is a match to a Building or Apartment record. * `P`: POST - OFFICE BOX. This is a match to a Post Office Box. * `R`: RURAL ROUTE - or HIGHWAY CONTRACT: This is a match to either a Rural Route or a - Highway Contract record, both of which may have associated Box - Number ranges. * `S`: STREET RECORD: This is a match to a Street - record containing a valid primary number range. - type: string - dpvEnhancedDeliveryCode: - description: >- - Indicates that more than one DPV return code is valid for the - address. Returns a single character. * `Y`: Address was DPV - confirmed for primary and any secondary numbers. * `N`: Primary and - any secondary number information failed to DPV confirm. * `S`: - Address was DPV confirmed for the primary number only, and the - secondary number information was present but not confirmed, or a - single trailing alpha on a primary number was dropped to make a DPV - match and secondary information required. * `D`: Address was DPV - confirmed for the primary number only, and the secondary number - information was missing. * `R`: Address confirmed but assigned to - phantom route R777 and R779 and USPS delivery is not provided. - type: string - elotNumber: - type: string - description: Enhanced Line of Travel (eLOT) number. - county: - description: County name. - type: string - dpvThrowback: - type: string - description: >- - Indicates that mail is not delivered to the street address. Returns - a single character. * `Y`: The mail is not delivered to the street - address. * `N`: The mail is delivered to the street address. - dpvNonDeliveryDays: - description: >- - Flag indicates mail delivery is not performed every day of the week. - Returns a single character. * `Y`: The mail delivery is not - performed every day of the week. * `N`: No indication the mail - delivery is not performed every day of the week. - type: string - dpvDrop: - description: >- - Flag indicates mail is delivered to a single receptable at a site. - Returns a single character. * `Y`: The mail is delivered to a single - receptable at a site. * `N`: The mail is not delivered to a single - receptable at a site. - type: string - dpvCmra: - type: string - description: >- - Indicates if the address is a CMRA (Commercial Mail Receiving - Agency)--a private business receiving mail for clients. Returns a - single character. * `Y`: The address is a CMRA * `N`: The address is - not a CMRA - dpvPbsa: - description: >- - Indicates the address was matched to PBSA record. Returns a single - character. * `Y`: The address was matched to PBSA record. * `N`: The - address was not matched to PBSA record. - type: string - dpvDoorNotAccessible: - type: string - description: >- - Flag indicates addresses where USPS cannot knock on a door to - deliver mail. Returns a single character. * `Y`: The door is not - accessible. * `N`: No indication the door is not accessible. - postOfficeCity: - type: string - description: Main post office city. - suitelinkFootnote: - description: >- - Footnotes from matching a street or highrise record to suite - information. If business name match is found, the secondary number - is returned. * `A`: SuiteLink record match, business address - improved. * `00`: No match, business address is not improved. - type: string - dpvNonDeliveryDaysValues: - format: int32 - type: integer - description: >- - Integer identifying non-delivery days. It can be interrogated using - bit flags: 0x40 – Sunday is a non-delivery day 0x20 – Monday is a - non-delivery day 0x10 – Tuesday is a non-delivery day 0x08 – - Wednesday is a non-delivery day 0x04 – Thursday is a non-delivery - day 0x02 – Friday is a non-delivery day 0x01 – Saturday is a - non-delivery day - lacsLinkReturnCode: - description: LACSLink return code. - type: string - carrierRoute: - description: >- - The carrier route code. A four character code consisting of a one - letter prefix and a three digit route designator. Prefixes: * `C`: - Carrier route (or city route) * `R`: Rural route * `H`: Highway - Contract Route * `B`: Post Office Box Section * `G`: General - delivery unit - type: string - dpvConfirmation: + The types of the components that are present in the + `address_components` but could not be confirmed to be correct. This + field is provided for the sake of convenience: its contents are + equivalent to iterating through the `address_components` to find the + types of all the components where the confirmation_level is not + CONFIRMED or the inferred flag is not set to `true`. The list of + possible types can be found + [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types). + type: array + formattedAddress: description: >- - The possible values for DPV confirmation. Returns a single character - or returns no value. * `N`: Primary and any secondary number - information failed to DPV confirm. * `D`: Address was DPV confirmed - for the primary number only, and the secondary number information - was missing. * `S`: Address was DPV confirmed for the primary number - only, and the secondary number information was present but not - confirmed. * `Y`: Address was DPV confirmed for primary and any - secondary numbers. * Empty: If the response does not contain a - `dpv_confirmation` value, the address was not submitted for DPV - confirmation. + The post-processed address, formatted as a single-line address + following the address formatting rules of the region where the + address is located. type: string + id: GoogleMapsAddressvalidationV1Address type: object - id: GoogleMapsAddressvalidationV1UspsData - description: >- - The USPS data for the address. `uspsData` is not guaranteed to be fully - populated for every US or PR address sent to the Address Validation API. - It's recommended to integrate the backup address fields in the response - if you utilize uspsData as the primary part of the response. GoogleTypePostalAddress: - id: GoogleTypePostalAddress - type: object - description: >- - Represents a postal address, e.g. for postal delivery or payments - addresses. Given a postal address, a postal service can deliver items to - a premise, P.O. Box or similar. It is not intended to model geographical - locations (roads, towns, mountains). In typical usage an address would - be created via user input or from importing existing data, depending on - the type of process. Advice on address input / editing: - Use an - internationalization-ready address widget such as - https://github.com/google/libaddressinput) - Users should not be - presented with UI elements for input or editing of fields outside - countries where that field is used. For more guidance on how to use this - schema, please see: https://support.google.com/business/answer/6397478 properties: - sortingCode: - type: string - description: >- - Optional. Additional, country-specific, sorting code. This is not - used in most regions. Where it is used, the value is either a string - like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or - just a number alone, representing the "sector code" (Jamaica), - "delivery area indicator" (Malawi) or "post office indicator" (e.g. - Côte d'Ivoire). addressLines: + type: array description: >- Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type @@ -437,14 +195,14 @@ components: or administrative areas). items: type: string - type: array - revision: - format: int32 - type: integer + recipients: + items: + type: string description: >- - The schema revision of the `PostalAddress`. This must be set to 0, - which is the latest revision. All new revisions **must** be backward - compatible with old revisions. + Optional. The recipient at the address. This field may, under + certain circumstances, contain multiline information. For example, + it might contain "care of" information. + type: array locality: type: string description: >- @@ -452,38 +210,20 @@ components: Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines. - languageCode: - description: >- - Optional. BCP-47 language code of the contents of this address (if - known). This is often the UI language of the input form or is - expected to match one of the languages used in the address' - country/region, or their transliterated equivalents. This can affect - formatting in certain countries, but is not critical to the - correctness of the data and will never affect any validation or - other non-formatting related operations. If this value is not known, - it should be omitted (rather than specifying a possibly incorrect - default). Examples: "zh-Hant", "ja", "ja-Latn", "en". - type: string sublocality: type: string description: >- Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts. - regionCode: - description: >- - Required. CLDR region code of the country/region of the address. - This is never inferred and it is up to the user to ensure the value - is correct. See https://cldr.unicode.org/ and - https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html - for details. Example: "CH" for Switzerland. + sortingCode: type: string - postalCode: description: >- - Optional. Postal code of the address. Not all countries use or - require postal codes to be present, but where they are used, they - may trigger additional validation with other parts of the address - (e.g. state/zip validation in the U.S.A.). - type: string + Optional. Additional, country-specific, sorting code. This is not + used in most regions. Where it is used, the value is either a string + like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or + just a number alone, representing the "sector code" (Jamaica), + "delivery area indicator" (Malawi) or "post office indicator" (e.g. + Côte d'Ivoire). administrativeArea: type: string description: >- @@ -494,99 +234,238 @@ components: "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + regionCode: + description: >- + Required. CLDR region code of the country/region of the address. + This is never inferred and it is up to the user to ensure the value + is correct. See https://cldr.unicode.org/ and + https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + for details. Example: "CH" for Switzerland. + type: string organization: type: string description: Optional. The name of the organization at the address. - recipients: + revision: + type: integer + format: int32 description: >- - Optional. The recipient at the address. This field may, under - certain circumstances, contain multiline information. For example, - it might contain "care of" information. - type: array - items: - type: string - GoogleMapsAddressvalidationV1Address: - id: GoogleMapsAddressvalidationV1Address - type: object - description: >- - Details of the post-processed address. Post-processing includes - correcting misspelled parts of the address, replacing incorrect parts, - and inferring missing parts. - properties: - missingComponentTypes: + The schema revision of the `PostalAddress`. This must be set to 0, + which is the latest revision. All new revisions **must** be backward + compatible with old revisions. + postalCode: description: >- - The types of components that were expected to be present in a - correctly formatted mailing address but were not found in the input - AND could not be inferred. Components of this type are not present - in `formatted_address`, `postal_address`, or `address_components`. - An example might be `['street_number', 'route']` for an input like - "Boulder, Colorado, 80301, USA". The list of possible types can be - found - [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types). - items: - type: string - type: array - unconfirmedComponentTypes: + Optional. Postal code of the address. Not all countries use or + require postal codes to be present, but where they are used, they + may trigger additional validation with other parts of the address + (e.g. state/zip validation in the U.S.A.). + type: string + languageCode: description: >- - The types of the components that are present in the - `address_components` but could not be confirmed to be correct. This - field is provided for the sake of convenience: its contents are - equivalent to iterating through the `address_components` to find the - types of all the components where the confirmation_level is not - CONFIRMED or the inferred flag is not set to `true`. The list of - possible types can be found - [here](https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types). - type: array - items: - type: string - formattedAddress: + Optional. BCP-47 language code of the contents of this address (if + known). This is often the UI language of the input form or is + expected to match one of the languages used in the address' + country/region, or their transliterated equivalents. This can affect + formatting in certain countries, but is not critical to the + correctness of the data and will never affect any validation or + other non-formatting related operations. If this value is not known, + it should be omitted (rather than specifying a possibly incorrect + default). Examples: "zh-Hant", "ja", "ja-Latn", "en". type: string + description: >- + Represents a postal address, e.g. for postal delivery or payments + addresses. Given a postal address, a postal service can deliver items to + a premise, P.O. Box or similar. It is not intended to model geographical + locations (roads, towns, mountains). In typical usage an address would + be created via user input or from importing existing data, depending on + the type of process. Advice on address input / editing: - Use an + internationalization-ready address widget such as + https://github.com/google/libaddressinput) - Users should not be + presented with UI elements for input or editing of fields outside + countries where that field is used. For more guidance on how to use this + schema, please see: https://support.google.com/business/answer/6397478 + id: GoogleTypePostalAddress + type: object + GoogleMapsAddressvalidationV1ValidationResult: + type: object + properties: + metadata: description: >- - The post-processed address, formatted as a single-line address - following the address formatting rules of the region where the - address is located. - addressComponents: - items: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1AddressComponent' + Other information relevant to deliverability. `metadata` is not + guaranteed to be fully populated for every address sent to the + Address Validation API. + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1AddressMetadata' + geocode: description: >- - Unordered list. The individual address components of the formatted - and corrected address, along with validation information. This - provides information on the validation status of the individual - components. Address components are not ordered in a particular way. - Do not make any assumptions on the ordering of the address - components in the list. - type: array - unresolvedTokens: - type: array - items: - type: string + Information about the location and place that the address geocoded + to. + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Geocode' + verdict: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Verdict' + description: Overall verdict flags + uspsData: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1UspsData' description: >- - Any tokens in the input that could not be resolved. This might be an - input that was not recognized as a valid part of an address (for - example in an input like "123235253253 Main St, San Francisco, CA, - 94105", the unresolved tokens may look like `["123235253253"]` since - that does not look like a valid street number. - postalAddress: - description: The post-processed address represented as a postal address. + Extra deliverability flags provided by USPS. Only provided in region + `US` and `PR`. + englishLatinAddress: + description: >- + Preview: This feature is in Preview (pre-GA). Pre-GA products and + features might have limited support, and changes to pre-GA products + and features might not be compatible with other pre-GA versions. + Pre-GA Offerings are covered by the [Google Maps Platform Service + Specific + Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). + For more information, see the [launch stage + descriptions](https://developers.google.com/maps/launch-stages). The + address translated to English. Translated addresses are not reusable + as API input. The service provides them so that the user can use + their native language to confirm or deny the validation of the + originally-provided address. If part of the address doesn't have an + English translation, the service returns that part in an alternate + language that uses a Latin script. See + [here](https://developers.google.com/maps/documentation/address-validation/convert-addresses-english) + for an explanation of how the alternate language is selected. If + part of the address doesn't have any translations or + transliterations in a language that uses a Latin script, the service + returns that part in the local language associated with the address. + Enable this output by using the + [google.maps.addressvalidation.v1.LanguageOptions.return_english_latin_address] + flag. Note: the + [google.maps.addressvalidation.v1.Address.unconfirmed_component_types] + field in the `english_latin_address` and the + [google.maps.addressvalidation.v1.AddressComponent.confirmation_level] + fields in `english_latin_address.address_components` are not + populated. + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Address' + address: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Address' + description: Information about the address itself as opposed to the geocode. + id: GoogleMapsAddressvalidationV1ValidationResult + description: The result of validating an address. + GoogleMapsAddressvalidationV1ValidateAddressRequest: + id: GoogleMapsAddressvalidationV1ValidateAddressRequest + properties: + address: $ref: '#/components/schemas/GoogleTypePostalAddress' - GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse: + description: >- + Required. The address being validated. Unformatted addresses should + be submitted via `address_lines`. The total length of the fields in + this input must not exceed 280 characters. Supported regions can be + found + [here](https://developers.google.com/maps/documentation/address-validation/coverage). + The language_code value in the input address is reserved for future + uses and is ignored today. The validated address result will be + populated based on the preferred language for the given address, as + identified by the system. The Address Validation API ignores the + values in recipients and organization. Any values in those fields + will be discarded and not returned. Please do not set them. + languageOptions: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1LanguageOptions' + description: >- + Optional. Preview: This feature is in Preview (pre-GA). Pre-GA + products and features might have limited support, and changes to + pre-GA products and features might not be compatible with other + pre-GA versions. Pre-GA Offerings are covered by the [Google Maps + Platform Service Specific + Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). + For more information, see the [launch stage + descriptions](https://developers.google.com/maps/launch-stages). + Enables the Address Validation API to include additional information + in the response. + sessionToken: + description: >- + Optional. A string which identifies an Autocomplete session for + billing purposes. Must be a URL and filename safe base64 string with + at most 36 ASCII characters in length. Otherwise an INVALID_ARGUMENT + error is returned. The session begins when the user makes an + Autocomplete query, and concludes when they select a place and a + call to Place Details or Address Validation is made. Each session + can have multiple Autocomplete queries, followed by one Place + Details or Address Validation request. The credentials used for each + request within a session must belong to the same Google Cloud + Console project. Once a session has concluded, the token is no + longer valid; your app must generate a fresh token for each session. + If the `sessionToken` parameter is omitted, or if you reuse a + session token, the session is charged as if no session token was + provided (each request is billed separately). Note: Address + Validation can only be used in sessions with the Autocomplete (New) + API, not the Autocomplete API. See + https://developers.google.com/maps/documentation/places/web-service/session-pricing + for more details. + type: string + enableUspsCass: + description: >- + Enables USPS CASS compatible mode. This affects _only_ the + [google.maps.addressvalidation.v1.ValidationResult.usps_data] field + of [google.maps.addressvalidation.v1.ValidationResult]. Note: for + USPS CASS enabled requests for addresses in Puerto Rico, a + [google.type.PostalAddress.region_code] of the `address` must be + provided as "PR", or an + [google.type.PostalAddress.administrative_area] of the `address` + must be provided as "Puerto Rico" (case-insensitive) or "PR". It's + recommended to use a componentized `address`, or alternatively + specify at least two [google.type.PostalAddress.address_lines] where + the first line contains the street number and name and the second + line contains the city, state, and zip code. + type: boolean + previousResponseId: + type: string + description: >- + This field must be empty for the first address validation request. + If more requests are necessary to fully validate a single address + (for example if the changes the user makes after the initial + validation need to be re-validated), then each followup request must + populate this field with the response_id from the very first + response in the validation sequence. + description: The request for validating an address. + type: object + GoogleGeoTypeViewport: description: >- - The response for validation feedback. The response is empty if the - feedback is sent successfully. - id: GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse + 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 } } + id: GoogleGeoTypeViewport type: object - properties: {} + properties: + low: + $ref: '#/components/schemas/GoogleTypeLatLng' + description: Required. The low point of the viewport. + high: + description: Required. The high point of the viewport. + $ref: '#/components/schemas/GoogleTypeLatLng' GoogleMapsAddressvalidationV1AddressComponent: + type: object description: Represents an address component, such as a street, city, or state. properties: - replaced: + inferred: description: >- - Indicates the name of the component was replaced with a completely - different one, for example a wrong postal code being replaced with - one that is correct for the address. This is not a cosmetic change, - the input component has been changed to a different one. + Indicates that the component was not part of the input, but we + inferred it for the address location and believe it should be + provided for a complete address. type: boolean confirmationLevel: + enum: + - CONFIRMATION_LEVEL_UNSPECIFIED + - CONFIRMED + - UNCONFIRMED_BUT_PLAUSIBLE + - UNCONFIRMED_AND_SUSPICIOUS + description: >- + Indicates the level of certainty that we have that the component is + correct. enumDescriptions: - Default value. This value is unused. - >- @@ -599,28 +478,7 @@ components: - >- This component was not confirmed and is likely to be wrong. For example, a neighborhood that does not fit the rest of the address. - description: >- - Indicates the level of certainty that we have that the component is - correct. - enum: - - CONFIRMATION_LEVEL_UNSPECIFIED - - CONFIRMED - - UNCONFIRMED_BUT_PLAUSIBLE - - UNCONFIRMED_AND_SUSPICIOUS type: string - componentType: - description: >- - The type of the address component. See [Table 2: Additional types - returned by the Places - service](https://developers.google.com/places/web-service/supported_types#table2) - for a list of possible types. - type: string - unexpected: - type: boolean - description: >- - Indicates an address component that is not expected to be present in - a postal address for the given region. We have retained it only - because it was part of the input. componentName: $ref: '#/components/schemas/GoogleMapsAddressvalidationV1ComponentName' description: The name for this component. @@ -632,67 +490,448 @@ components: another, such as when changing "centre" to "center". It also does not always flag common misspellings, such as when changing "Amphitheater Pkwy" to "Amphitheatre Pkwy". - inferred: + componentType: + description: >- + The type of the address component. See [Table 2: Additional types + returned by the Places + service](https://developers.google.com/places/web-service/supported_types#table2) + for a list of possible types. + type: string + replaced: type: boolean description: >- - Indicates that the component was not part of the input, but we - inferred it for the address location and believe it should be - provided for a complete address. + Indicates the name of the component was replaced with a completely + different one, for example a wrong postal code being replaced with + one that is correct for the address. This is not a cosmetic change, + the input component has been changed to a different one. + unexpected: + type: boolean + description: >- + Indicates an address component that is not expected to be present in + a postal address for the given region. We have retained it only + because it was part of the input. id: GoogleMapsAddressvalidationV1AddressComponent + GoogleMapsAddressvalidationV1UspsAddress: + id: GoogleMapsAddressvalidationV1UspsAddress + description: USPS representation of a US address. + properties: + city: + description: City name. + type: string + state: + description: 2 letter state code. + type: string + zipCode: + description: Postal code e.g. 10009. + type: string + cityStateZipAddressLine: + type: string + description: City + state + postal code. + firstAddressLine: + type: string + description: First address line. + firm: + description: Firm name. + type: string + urbanization: + type: string + description: Puerto Rican urbanization name. + zipCodeExtension: + description: 4-digit postal code extension e.g. 5023. + type: string + secondAddressLine: + description: Second address line. + type: string type: object - GoogleMapsAddressvalidationV1Verdict: - description: High level overview of the address validation result and geocode. + GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest: + description: The request for sending validation feedback. + id: GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest type: object - id: GoogleMapsAddressvalidationV1Verdict properties: - addressComplete: - description: >- - The address is considered complete if there are no unresolved - tokens, no unexpected or missing address components. If unset, - indicates that the value is `false`. See `missing_component_types`, - `unresolved_tokens` or `unexpected` fields for more details. - type: boolean - validationGranularity: + conclusion: + enum: + - VALIDATION_CONCLUSION_UNSPECIFIED + - VALIDATED_VERSION_USED + - USER_VERSION_USED + - UNVALIDATED_VERSION_USED + - UNUSED + type: string enumDescriptions: - - Default value. This value is unused. - - Below-building level result, such as an apartment. - - Building-level result. - >- - A geocode that approximates the building-level location of the - address. + This value is unused. If the + `ProvideValidationFeedbackRequest.conclusion` field is set to + `VALIDATION_CONCLUSION_UNSPECIFIED`, an `INVALID_ARGUMENT` error + will be returned. - >- - The address or geocode indicates a block. Only used in regions - which have block-level addressing, such as Japan. + The version of the address returned by the Address Validation API + was used for the transaction. - >- - The geocode or address is granular to route, such as a street, - road, or highway. + The version of the address provided by the user was used for the + transaction - >- - All other granularities, which are bucketed together since they - are not deliverable. + A version of the address that was entered after the last + validation attempt but that was not re-validated was used for the + transaction. + - The transaction was abandoned and the address was not used. + description: >- + Required. The outcome of the sequence of validation attempts. If + this field is set to `VALIDATION_CONCLUSION_UNSPECIFIED`, an + `INVALID_ARGUMENT` error will be returned. + responseId: type: string description: >- - The granularity level that the API can fully **validate** the - address to. For example, an `validation_granularity` of `PREMISE` - indicates all address components at the level of `PREMISE` or more - coarse can be validated. Per address component validation result can - be found in - [google.maps.addressvalidation.v1.Address.address_components]. - enum: - - GRANULARITY_UNSPECIFIED - - SUB_PREMISE - - PREMISE - - PREMISE_PROXIMITY - - BLOCK - - ROUTE - - OTHER - hasUnconfirmedComponents: + Required. The ID of the response that this feedback is for. This + should be the response_id from the first response in a series of + address validation attempts. + GoogleMapsAddressvalidationV1AddressMetadata: + type: object + id: GoogleMapsAddressvalidationV1AddressMetadata + description: >- + The metadata for the address. `metadata` is not guaranteed to be fully + populated for every address sent to the Address Validation API. + properties: + residential: + type: boolean + description: >- + Indicates that this is the address of a residence. If unset, + indicates that the value is unknown. + poBox: + description: >- + Indicates that the address of a PO box. If unset, indicates that the + value is unknown. + type: boolean + business: + type: boolean + description: >- + Indicates that this is the address of a business. If unset, + indicates that the value is unknown. + GoogleTypeLatLng: + id: GoogleTypeLatLng + description: >- + An object that represents a latitude/longitude pair. This is expressed + as a pair of doubles to represent degrees latitude and degrees + longitude. Unless specified otherwise, this object must conform to the + WGS84 standard. Values must be within normalized ranges. + properties: + latitude: + format: double + type: number + description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + longitude: + format: double + type: number + description: The longitude in degrees. It must be in the range [-180.0, +180.0]. + type: object + GoogleMapsAddressvalidationV1LanguageOptions: + type: object + properties: + returnEnglishLatinAddress: + description: >- + Preview: Return a [google.maps.addressvalidation.v1.Address] in + English. See + [google.maps.addressvalidation.v1.ValidationResult.english_latin_address] + for details. + type: boolean + description: >- + Preview: This feature is in Preview (pre-GA). Pre-GA products and + features might have limited support, and changes to pre-GA products and + features might not be compatible with other pre-GA versions. Pre-GA + Offerings are covered by the [Google Maps Platform Service Specific + Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). + For more information, see the [launch stage + descriptions](https://developers.google.com/maps/launch-stages). Enables + the Address Validation API to include additional information in the + response. + id: GoogleMapsAddressvalidationV1LanguageOptions + GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse: + description: >- + The response for validation feedback. The response is empty if the + feedback is sent successfully. + id: GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse + type: object + properties: {} + GoogleMapsAddressvalidationV1ComponentName: + id: GoogleMapsAddressvalidationV1ComponentName + properties: + languageCode: + type: string + description: >- + The BCP-47 language code. This will not be present if the component + name is not associated with a language, such as a street number. + text: + description: >- + The name text. For example, "5th Avenue" for a street name or "1253" + for a street number. + type: string + description: A wrapper for the name of the component. + type: object + GoogleMapsAddressvalidationV1UspsData: + properties: + dpvNoStat: + type: string + description: >- + Is this a no stat address or an active address? No stat addresses + are ones which are not continuously occupied or addresses that the + USPS does not service. Returns a single character. * `Y`: The + address is not active * `N`: The address is active + cassProcessed: + type: boolean + description: Indicator that the request has been CASS processed. + pmbNumber: + description: PMB (Private Mail Box) number; + type: string + lacsLinkIndicator: + description: LACSLink indicator. + type: string + dpvCmra: + type: string + description: >- + Indicates if the address is a CMRA (Commercial Mail Receiving + Agency)--a private business receiving mail for clients. Returns a + single character. * `Y`: The address is a CMRA * `N`: The address is + not a CMRA + dpvDrop: + type: string + description: >- + Flag indicates mail is delivered to a single receptable at a site. + Returns a single character. * `Y`: The mail is delivered to a single + receptable at a site. * `N`: The mail is not delivered to a single + receptable at a site. + defaultAddress: + type: boolean + description: >- + Indicator that a default address was found, but more specific + addresses exists. + dpvEnhancedDeliveryCode: + type: string + description: >- + Indicates that more than one DPV return code is valid for the + address. Returns a single character. * `Y`: Address was DPV + confirmed for primary and any secondary numbers. * `N`: Primary and + any secondary number information failed to DPV confirm. * `S`: + Address was DPV confirmed for the primary number only, and the + secondary number information was present but not confirmed, or a + single trailing alpha on a primary number was dropped to make a DPV + match and secondary information required. * `D`: Address was DPV + confirmed for the primary number only, and the secondary number + information was missing. * `R`: Address confirmed but assigned to + phantom route R777 and R779 and USPS delivery is not provided. + addressRecordType: + type: string + description: >- + Type of the address record that matches the input address. * `F`: + FIRM. This is a match to a Firm Record, which is the finest level of + match available for an address. * `G`: GENERAL DELIVERY. This is a + match to a General Delivery record. * `H`: BUILDING / APARTMENT. + This is a match to a Building or Apartment record. * `P`: POST + OFFICE BOX. This is a match to a Post Office Box. * `R`: RURAL ROUTE + or HIGHWAY CONTRACT: This is a match to either a Rural Route or a + Highway Contract record, both of which may have associated Box + Number ranges. * `S`: STREET RECORD: This is a match to a Street + record containing a valid primary number range. + postOfficeState: + type: string + description: Main post office state. + dpvPbsa: + type: string + description: >- + Indicates the address was matched to PBSA record. Returns a single + character. * `Y`: The address was matched to PBSA record. * `N`: The + address was not matched to PBSA record. + ewsNoMatch: + type: boolean + description: >- + The delivery address is matchable, but the EWS file indicates that + an exact match will be available soon. + dpvFootnote: + type: string + description: >- + The footnotes from delivery point validation. Multiple footnotes may + be strung together in the same string. * `AA`: Input address matched + to the ZIP+4 file * `A1`: Input address was not matched to the ZIP+4 + file * `BB`: Matched to DPV (all components) * `CC`: Secondary + number not matched and not required * `C1`: Secondary number not + matched but required * `N1`: High-rise address missing secondary + number * `M1`: Primary number missing * `M3`: Primary number invalid + * `P1`: Input address PO, RR or HC box number missing * `P3`: Input + address PO, RR, or HC Box number invalid * `F1`: Input address + matched to a military address * `G1`: Input address matched to a + general delivery address * `U1`: Input address matched to a unique + ZIP code * `PB`: Input address matched to PBSA record * `RR`: DPV + confirmed address with PMB information * `R1`: DPV confirmed address + without PMB information * `R7`: Carrier Route R777 or R779 record * + `IA`: Informed Address identified * `TA`: Primary number matched by + dropping a trailing alpha + dpvConfirmation: + description: >- + The possible values for DPV confirmation. Returns a single character + or returns no value. * `N`: Primary and any secondary number + information failed to DPV confirm. * `D`: Address was DPV confirmed + for the primary number only, and the secondary number information + was missing. * `S`: Address was DPV confirmed for the primary number + only, and the secondary number information was present but not + confirmed. * `Y`: Address was DPV confirmed for primary and any + secondary numbers. * Empty: If the response does not contain a + `dpv_confirmation` value, the address was not submitted for DPV + confirmation. + type: string + errorMessage: + type: string + description: >- + Error message for USPS data retrieval. This is populated when USPS + processing is suspended because of the detection of artificially + created addresses. The USPS data fields might not be populated when + this error is present. + deliveryPointCheckDigit: + description: >- + The delivery point check digit. This number is added to the end of + the delivery_point_barcode for mechanically scanned mail. Adding all + the digits of the delivery_point_barcode, + delivery_point_check_digit, postal code, and ZIP+4 together should + yield a number divisible by 10. + type: string + dpvDoorNotAccessible: + type: string + description: >- + Flag indicates addresses where USPS cannot knock on a door to + deliver mail. Returns a single character. * `Y`: The door is not + accessible. * `N`: No indication the door is not accessible. + dpvNonDeliveryDaysValues: + type: integer + description: >- + Integer identifying non-delivery days. It can be interrogated using + bit flags: 0x40 – Sunday is a non-delivery day 0x20 – Monday is a + non-delivery day 0x10 – Tuesday is a non-delivery day 0x08 – + Wednesday is a non-delivery day 0x04 – Thursday is a non-delivery + day 0x02 – Friday is a non-delivery day 0x01 – Saturday is a + non-delivery day + format: int32 + dpvVacant: + type: string + description: >- + Is this place vacant? Returns a single character. * `Y`: The address + is vacant * `N`: The address is not vacant + postOfficeCity: + type: string + description: Main post office city. + elotFlag: + description: eLOT Ascending/Descending Flag (A/D). + type: string + fipsCountyCode: + description: FIPS county code. + type: string + dpvNonDeliveryDays: + type: string + description: >- + Flag indicates mail delivery is not performed every day of the week. + Returns a single character. * `Y`: The mail delivery is not + performed every day of the week. * `N`: No indication the mail + delivery is not performed every day of the week. + elotNumber: + description: Enhanced Line of Travel (eLOT) number. + type: string + lacsLinkReturnCode: + description: LACSLink return code. + type: string + poBoxOnlyPostalCode: + type: boolean + description: PO Box only postal code. + pmbDesignator: + type: string + description: PMB (Private Mail Box) unit designator. + suitelinkFootnote: + type: string + description: >- + Footnotes from matching a street or highrise record to suite + information. If business name match is found, the secondary number + is returned. * `A`: SuiteLink record match, business address + improved. * `00`: No match, business address is not improved. + standardizedAddress: + $ref: '#/components/schemas/GoogleMapsAddressvalidationV1UspsAddress' + description: USPS standardized address. + deliveryPointCode: + description: 2 digit delivery point code + type: string + carrierRoute: + type: string + description: >- + The carrier route code. A four character code consisting of a one + letter prefix and a three digit route designator. Prefixes: * `C`: + Carrier route (or city route) * `R`: Rural route * `H`: Highway + Contract Route * `B`: Post Office Box Section * `G`: General + delivery unit + carrierRouteIndicator: + type: string + description: Carrier route rate sort indicator. + dpvNoStatReasonCode: + type: integer + format: int32 + description: >- + Indicates the NoStat type. Returns a reason code as int. * `1`: IDA + (Internal Drop Address) – Addresses that do not receive mail + directly from the USPS but are delivered to a drop address that + services them. * `2`: CDS - Addresses that have not yet become + deliverable. For example, a new subdivision where lots and primary + numbers have been determined, but no structure exists yet for + occupancy. * `3`: Collision - Addresses that do not actually DPV + confirm. * `4`: CMZ (College, Military and Other Types) - ZIP + 4 + records USPS has incorporated into the data. * `5`: Regular - + Indicates addresses not receiving delivery and the addresses are not + counted as possible deliveries. * `6`: Secondary Required - The + address requires secondary information. + dpvNoSecureLocation: + type: string + description: >- + Flag indicates door is accessible, but package will not be left due + to security concerns. Returns a single character. * `Y`: The package + will not be left due to security concerns. * `N`: No indication the + package will not be left due to security concerns. + dpvThrowback: + type: string + description: >- + Indicates that mail is not delivered to the street address. Returns + a single character. * `Y`: The mail is not delivered to the street + address. * `N`: The mail is delivered to the street address. + county: + type: string + description: County name. + abbreviatedCity: + description: Abbreviated city. + type: string + id: GoogleMapsAddressvalidationV1UspsData + description: >- + The USPS data for the address. `uspsData` is not guaranteed to be fully + populated for every US or PR address sent to the Address Validation API. + It's recommended to integrate the backup address fields in the response + if you utilize uspsData as the primary part of the response. + type: object + GoogleMapsAddressvalidationV1Verdict: + properties: + hasInferredComponents: type: boolean description: >- - At least one address component cannot be categorized or validated, - see [google.maps.addressvalidation.v1.Address.address_components] - for details. - inputGranularity: + At least one address component was inferred (added) that wasn't in + the input, see + [google.maps.addressvalidation.v1.Address.address_components] for + details. + addressComplete: + description: >- + The address is considered complete if there are no unresolved + tokens, no unexpected or missing address components. If unset, + indicates that the value is `false`. See `missing_component_types`, + `unresolved_tokens` or `unexpected` fields for more details. + type: boolean + geocodeGranularity: type: string + description: >- + Information about the granularity of the `geocode`. This can be + understood as the semantic meaning of how coarse or fine the + geocoded location is. This can differ from the + `validation_granularity` above occasionally. For example, our + database might record the existence of an apartment number but do + not have a precise location for the apartment within a big apartment + complex. In that case, the `validation_granularity` will be + `SUB_PREMISE` but the `geocode_granularity` will be `PREMISE`. enum: - GRANULARITY_UNSPECIFIED - SUB_PREMISE @@ -717,6 +956,19 @@ components: - >- All other granularities, which are bucketed together since they are not deliverable. + hasReplacedComponents: + description: >- + At least one address component was replaced, see + [google.maps.addressvalidation.v1.Address.address_components] for + details. + type: boolean + hasUnconfirmedComponents: + type: boolean + description: >- + At least one address component cannot be categorized or validated, + see [google.maps.addressvalidation.v1.Address.address_components] + for details. + inputGranularity: description: >- The granularity of the **input** address. This is the result of parsing the input address and does not give any validation signals. @@ -726,14 +978,14 @@ components: cannot match the apartment number in the databases or the apartment number is invalid, the `validation_granularity` will likely be `PREMISE` or below. - hasInferredComponents: - description: >- - At least one address component was inferred (added) that wasn't in - the input, see - [google.maps.addressvalidation.v1.Address.address_components] for - details. - type: boolean - geocodeGranularity: + enum: + - GRANULARITY_UNSPECIFIED + - SUB_PREMISE + - PREMISE + - PREMISE_PROXIMITY + - BLOCK + - ROUTE + - OTHER type: string enumDescriptions: - Default value. This value is unused. @@ -751,212 +1003,43 @@ components: - >- All other granularities, which are bucketed together since they are not deliverable. - description: >- - Information about the granularity of the `geocode`. This can be - understood as the semantic meaning of how coarse or fine the - geocoded location is. This can differ from the - `validation_granularity` above occasionally. For example, our - database might record the existence of an apartment number but do - not have a precise location for the apartment within a big apartment - complex. In that case, the `validation_granularity` will be - `SUB_PREMISE` but the `geocode_granularity` will be `PREMISE`. - enum: - - GRANULARITY_UNSPECIFIED - - SUB_PREMISE - - PREMISE - - PREMISE_PROXIMITY - - BLOCK - - ROUTE - - OTHER - hasReplacedComponents: - description: >- - At least one address component was replaced, see - [google.maps.addressvalidation.v1.Address.address_components] for - details. - type: boolean - GoogleMapsAddressvalidationV1LanguageOptions: - type: object - properties: - returnEnglishLatinAddress: - type: boolean - description: >- - Preview: Return a [google.maps.addressvalidation.v1.Address] in - English. See - [google.maps.addressvalidation.v1.ValidationResult.english_latin_address] - for details. - id: GoogleMapsAddressvalidationV1LanguageOptions - description: >- - Preview: This feature is in Preview (pre-GA). Pre-GA products and - features might have limited support, and changes to pre-GA products and - features might not be compatible with other pre-GA versions. Pre-GA - Offerings are covered by the [Google Maps Platform Service Specific - Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). - For more information, see the [launch stage - descriptions](https://developers.google.com/maps/launch-stages). Enables - the Address Validation API to include additional information in the - response. - GoogleMapsAddressvalidationV1ValidateAddressRequest: - description: The request for validating an address. - properties: - sessionToken: - description: >- - Optional. A string which identifies an Autocomplete session for - billing purposes. Must be a URL and filename safe base64 string with - at most 36 ASCII characters in length. Otherwise an INVALID_ARGUMENT - error is returned. The session begins when the user makes an - Autocomplete query, and concludes when they select a place and a - call to Place Details or Address Validation is made. Each session - can have multiple Autocomplete queries, followed by one Place - Details or Address Validation request. The credentials used for each - request within a session must belong to the same Google Cloud - Console project. Once a session has concluded, the token is no - longer valid; your app must generate a fresh token for each session. - If the `sessionToken` parameter is omitted, or if you reuse a - session token, the session is charged as if no session token was - provided (each request is billed separately). Note: Address - Validation can only be used in sessions with the Autocomplete (New) - API, not the Autocomplete API. See - https://developers.google.com/maps/documentation/places/web-service/session-pricing - for more details. - type: string - languageOptions: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1LanguageOptions' - description: >- - Optional. Preview: This feature is in Preview (pre-GA). Pre-GA - products and features might have limited support, and changes to - pre-GA products and features might not be compatible with other - pre-GA versions. Pre-GA Offerings are covered by the [Google Maps - Platform Service Specific - Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). - For more information, see the [launch stage - descriptions](https://developers.google.com/maps/launch-stages). - Enables the Address Validation API to include additional information - in the response. - enableUspsCass: - description: >- - Enables USPS CASS compatible mode. This affects _only_ the - [google.maps.addressvalidation.v1.ValidationResult.usps_data] field - of [google.maps.addressvalidation.v1.ValidationResult]. Note: for - USPS CASS enabled requests for addresses in Puerto Rico, a - [google.type.PostalAddress.region_code] of the `address` must be - provided as "PR", or an - [google.type.PostalAddress.administrative_area] of the `address` - must be provided as "Puerto Rico" (case-insensitive) or "PR". It's - recommended to use a componentized `address`, or alternatively - specify at least two [google.type.PostalAddress.address_lines] where - the first line contains the street number and name and the second - line contains the city, state, and zip code. - type: boolean - address: - $ref: '#/components/schemas/GoogleTypePostalAddress' - description: >- - Required. The address being validated. Unformatted addresses should - be submitted via `address_lines`. The total length of the fields in - this input must not exceed 280 characters. Supported regions can be - found - [here](https://developers.google.com/maps/documentation/address-validation/coverage). - The language_code value in the input address is reserved for future - uses and is ignored today. The validated address result will be - populated based on the preferred language for the given address, as - identified by the system. The Address Validation API ignores the - values in recipients and organization. Any values in those fields - will be discarded and not returned. Please do not set them. - previousResponseId: - description: >- - This field must be empty for the first address validation request. - If more requests are necessary to fully validate a single address - (for example if the changes the user makes after the initial - validation need to be re-validated), then each followup request must - populate this field with the response_id from the very first - response in the validation sequence. - type: string - id: GoogleMapsAddressvalidationV1ValidateAddressRequest - type: object - GoogleMapsAddressvalidationV1AddressMetadata: - properties: - poBox: - type: boolean - description: >- - Indicates that the address of a PO box. If unset, indicates that the - value is unknown. - residential: - description: >- - Indicates that this is the address of a residence. If unset, - indicates that the value is unknown. - type: boolean - business: - type: boolean - description: >- - Indicates that this is the address of a business. If unset, - indicates that the value is unknown. - description: >- - The metadata for the address. `metadata` is not guaranteed to be fully - populated for every address sent to the Address Validation API. - type: object - id: GoogleMapsAddressvalidationV1AddressMetadata - GoogleMapsAddressvalidationV1PlusCode: - type: object - properties: - compoundCode: - description: >- - Place's compound code, such as "33GV+HQ, Ramberg, Norway", - containing the suffix of the global code and replacing the prefix - with a formatted name of a reference entity. - type: string - globalCode: - description: >- - Place's global (full) code, such as "9FWM33GV+HQ", representing an - 1/8000 by 1/8000 degree area (~14 by 14 meters). - type: string - id: GoogleMapsAddressvalidationV1PlusCode - description: >- - Plus code (http://plus.codes) is a location reference with two formats: - global code defining a 14mx14m (1/8000th of a degree) or smaller - rectangle, and compound code, replacing the prefix with a reference - location. - GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest: - id: GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest - type: object - description: The request for sending validation feedback. - properties: - responseId: - type: string - description: >- - Required. The ID of the response that this feedback is for. This - should be the response_id from the first response in a series of - address validation attempts. - conclusion: - enum: - - VALIDATION_CONCLUSION_UNSPECIFIED - - VALIDATED_VERSION_USED - - USER_VERSION_USED - - UNVALIDATED_VERSION_USED - - UNUSED - type: string - description: >- - Required. The outcome of the sequence of validation attempts. If - this field is set to `VALIDATION_CONCLUSION_UNSPECIFIED`, an - `INVALID_ARGUMENT` error will be returned. + validationGranularity: enumDescriptions: + - Default value. This value is unused. + - Below-building level result, such as an apartment. + - Building-level result. - >- - This value is unused. If the - `ProvideValidationFeedbackRequest.conclusion` field is set to - `VALIDATION_CONCLUSION_UNSPECIFIED`, an `INVALID_ARGUMENT` error - will be returned. - - >- - The version of the address returned by the Address Validation API - was used for the transaction. + A geocode that approximates the building-level location of the + address. - >- - The version of the address provided by the user was used for the - transaction + The address or geocode indicates a block. Only used in regions + which have block-level addressing, such as Japan. - >- - A version of the address that was entered after the last - validation attempt but that was not re-validated was used for the - transaction. - - The transaction was abandoned and the address was not used. + The geocode or address is granular to route, such as a street, + road, or highway. + - >- + All other granularities, which are bucketed together since they + are not deliverable. + type: string + description: >- + The granularity level that the API can fully **validate** the + address to. For example, an `validation_granularity` of `PREMISE` + indicates all address components at the level of `PREMISE` or more + coarse can be validated. Per address component validation result can + be found in + [google.maps.addressvalidation.v1.Address.address_components]. + enum: + - GRANULARITY_UNSPECIFIED + - SUB_PREMISE + - PREMISE + - PREMISE_PROXIMITY + - BLOCK + - ROUTE + - OTHER + description: High level overview of the address validation result and geocode. + type: object + id: GoogleMapsAddressvalidationV1Verdict GoogleMapsAddressvalidationV1ValidateAddressResponse: - description: The response to an address validation request. - id: GoogleMapsAddressvalidationV1ValidateAddressResponse properties: responseId: type: string @@ -964,107 +1047,51 @@ components: The UUID that identifies this response. If the address needs to be re-validated, this UUID *must* accompany the new request. result: - description: The result of the address validation. $ref: '#/components/schemas/GoogleMapsAddressvalidationV1ValidationResult' - type: object - GoogleMapsAddressvalidationV1ValidationResult: - properties: - englishLatinAddress: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Address' - description: >- - Preview: This feature is in Preview (pre-GA). Pre-GA products and - features might have limited support, and changes to pre-GA products - and features might not be compatible with other pre-GA versions. - Pre-GA Offerings are covered by the [Google Maps Platform Service - Specific - Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). - For more information, see the [launch stage - descriptions](https://developers.google.com/maps/launch-stages). The - address translated to English. Translated addresses are not reusable - as API input. The service provides them so that the user can use - their native language to confirm or deny the validation of the - originally-provided address. If part of the address doesn't have an - English translation, the service returns that part in an alternate - language that uses a Latin script. See - [here](https://developers.google.com/maps/documentation/address-validation/convert-addresses-english) - for an explanation of how the alternate language is selected. If - part of the address doesn't have any translations or - transliterations in a language that uses a Latin script, the service - returns that part in the local language associated with the address. - Enable this output by using the - [google.maps.addressvalidation.v1.LanguageOptions.return_english_latin_address] - flag. Note: the - [google.maps.addressvalidation.v1.Address.unconfirmed_component_types] - field in the `english_latin_address` and the - [google.maps.addressvalidation.v1.AddressComponent.confirmation_level] - fields in `english_latin_address.address_components` are not - populated. - geocode: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Geocode' - description: >- - Information about the location and place that the address geocoded - to. - address: - description: Information about the address itself as opposed to the geocode. - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Address' - uspsData: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1UspsData' - description: >- - Extra deliverability flags provided by USPS. Only provided in region - `US` and `PR`. - metadata: - description: >- - Other information relevant to deliverability. `metadata` is not - guaranteed to be fully populated for every address sent to the - Address Validation API. - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1AddressMetadata' - verdict: - $ref: '#/components/schemas/GoogleMapsAddressvalidationV1Verdict' - description: Overall verdict flags - type: object - id: GoogleMapsAddressvalidationV1ValidationResult - description: The result of validating an address. - GoogleGeoTypeViewport: - properties: - high: - description: Required. The high point of the viewport. - $ref: '#/components/schemas/GoogleTypeLatLng' - low: - $ref: '#/components/schemas/GoogleTypeLatLng' - description: Required. The low point of the viewport. - description: >- - 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 } } - id: GoogleGeoTypeViewport + description: The result of the address validation. + id: GoogleMapsAddressvalidationV1ValidateAddressResponse + description: The response to an address validation request. type: object parameters: + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: upload_protocol + name: oauth_token schema: type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' alt: description: Data format for response. in: query @@ -1075,15 +1102,6 @@ components: - json - media - proto - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string callback: description: JSONP in: query @@ -1096,34 +1114,10 @@ components: name: access_token schema: type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: key + name: upload_protocol schema: type: string uploadType: @@ -1132,21 +1126,27 @@ components: name: uploadType schema: type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string x-stackQL-resources: addressvalidation: id: google.addressvalidation.addressvalidation name: addressvalidation title: Addressvalidation methods: - validate_address: + provide_validation_feedback: operation: - $ref: '#/paths/~1v1:validateAddress/post' + $ref: '#/paths/~1v1:provideValidationFeedback/post' response: mediaType: application/json openAPIDocKey: '200' - provide_validation_feedback: + validate_address: operation: - $ref: '#/paths/~1v1:provideValidationFeedback/post' + $ref: '#/paths/~1v1:validateAddress/post' response: mediaType: application/json openAPIDocKey: '200' @@ -1157,28 +1157,33 @@ components: replace: [] delete: [] paths: - /v1:validateAddress: + /v1:provideValidationFeedback: parameters: &ref_1 + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/fields' post: - description: Validates an address. - operationId: addressvalidation.validateAddress + description: >- + 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. + operationId: addressvalidation.provideValidationFeedback requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleMapsAddressvalidationV1ValidateAddressRequest + #/components/schemas/GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1195,24 +1200,19 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleMapsAddressvalidationV1ValidateAddressResponse + #/components/schemas/GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse parameters: [] - /v1:provideValidationFeedback: + /v1:validateAddress: parameters: *ref_1 post: - description: >- - 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. - operationId: addressvalidation.provideValidationFeedback + description: Validates an address. + operationId: addressvalidation.validateAddress requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleMapsAddressvalidationV1ProvideValidationFeedbackRequest + #/components/schemas/GoogleMapsAddressvalidationV1ValidateAddressRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1229,5 +1229,5 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleMapsAddressvalidationV1ProvideValidationFeedbackResponse + #/components/schemas/GoogleMapsAddressvalidationV1ValidateAddressResponse parameters: [] diff --git a/providers/src/googleapis.com/v00.00.00000/services/advisorynotifications.yaml b/providers/src/googleapis.com/v00.00.00000/services/advisorynotifications.yaml index 49c82ecb..a1649f9c 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/advisorynotifications.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/advisorynotifications.yaml @@ -7,8 +7,8 @@ info: title: Advisory Notifications API description: An API for accessing Advisory Notifications in Google Cloud version: v1 - x-discovery-doc-revision: '20240918' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241103' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/advisory-notifications servers: @@ -34,44 +34,69 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudAdvisorynotificationsV1ListNotificationsResponse: + GoogleCloudAdvisorynotificationsV1Attachment: + properties: + csv: + $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Csv' + description: A CSV file attachment. Max size is 10 MB. + displayName: + type: string + description: The title of the attachment. + description: Attachment with specific information about the issue. type: object - description: Response of ListNotifications endpoint. - id: GoogleCloudAdvisorynotificationsV1ListNotificationsResponse + id: GoogleCloudAdvisorynotificationsV1Attachment + GoogleCloudAdvisorynotificationsV1ListNotificationsResponse: properties: + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string notifications: + type: array items: $ref: >- #/components/schemas/GoogleCloudAdvisorynotificationsV1Notification description: List of notifications under a given parent. - type: array - nextPageToken: - type: string - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. totalSize: - format: int32 type: integer + format: int32 description: Estimation of a total number of notifications. + description: Response of ListNotifications endpoint. + type: object + id: GoogleCloudAdvisorynotificationsV1ListNotificationsResponse GoogleCloudAdvisorynotificationsV1NotificationSettings: id: GoogleCloudAdvisorynotificationsV1NotificationSettings - description: Settings for each NotificationType. type: object properties: enabled: description: Whether the associated NotificationType is enabled. type: boolean + description: Settings for each NotificationType. + GoogleCloudAdvisorynotificationsV1Csv: + description: >- + A representation of a CSV file attachment, as a list of column headers + and a list of data rows. + properties: + dataRows: + items: + $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1CsvCsvRow' + type: array + description: >- + The list of data rows in a CSV file, as string arrays rather than as + a single comma-separated string. + headers: + type: array + description: The list of headers for data columns in a CSV file. + items: + type: string + id: GoogleCloudAdvisorynotificationsV1Csv + type: object GoogleCloudAdvisorynotificationsV1Settings: + id: GoogleCloudAdvisorynotificationsV1Settings + type: object description: Settings for Advisory Notifications. properties: - etag: - type: string - description: >- - 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. notificationSettings: type: object additionalProperties: @@ -81,39 +106,52 @@ components: 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. + etag: + type: string + description: >- + 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. name: description: >- Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings. type: string - id: GoogleCloudAdvisorynotificationsV1Settings - type: object GoogleCloudAdvisorynotificationsV1MessageBody: - type: object - description: A message body containing text. properties: text: $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Text' description: The text content of the message body. + description: A message body containing text. id: GoogleCloudAdvisorynotificationsV1MessageBody + type: object + GoogleCloudAdvisorynotificationsV1CsvCsvRow: + id: GoogleCloudAdvisorynotificationsV1CsvCsvRow + properties: + entries: + description: >- + The data entries in a CSV file row, as a string array rather than a + single comma-separated string. + items: + type: string + type: array + type: object + description: A representation of a single data row in a CSV file. GoogleCloudAdvisorynotificationsV1Text: + description: A text object containing the English text and its localized copies. + id: GoogleCloudAdvisorynotificationsV1Text type: object properties: - localizedText: - description: The requested localized copy (if applicable). - type: string - enText: - type: string - description: The English copy. localizationState: - description: Status of the localization. type: string enum: - LOCALIZATION_STATE_UNSPECIFIED - LOCALIZATION_STATE_NOT_APPLICABLE - LOCALIZATION_STATE_PENDING - LOCALIZATION_STATE_COMPLETED + description: Status of the localization. enumDescriptions: - Not used. - >- @@ -127,141 +165,106 @@ components: Localization for requested language is in progress, and not ready yet. - Localization for requested language is completed. - id: GoogleCloudAdvisorynotificationsV1Text - description: A text object containing the English text and its localized copies. - GoogleCloudAdvisorynotificationsV1Notification: - type: object - properties: - createTime: - format: google-datetime + localizedText: + description: The requested localized copy (if applicable). type: string - readOnly: true - description: Output only. Time the notification was created. - notificationType: - enumDescriptions: - - Default type - - Security and privacy advisory notifications - - Sensitive action notifications - - General security MSA - - Threat horizons MSA + enText: type: string - description: Type of notification - enum: - - NOTIFICATION_TYPE_UNSPECIFIED - - NOTIFICATION_TYPE_SECURITY_PRIVACY_ADVISORY - - NOTIFICATION_TYPE_SENSITIVE_ACTIONS - - NOTIFICATION_TYPE_SECURITY_MSA - - NOTIFICATION_TYPE_THREAT_HORIZONS + description: The English copy. + GoogleCloudAdvisorynotificationsV1Notification: + properties: name: + type: string description: >- The resource name of the notification. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{project}/locations/{location}/notifications/{notification}. + subject: + $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Subject' + description: The subject line of the notification. + createTime: + readOnly: true + format: google-datetime + description: Output only. Time the notification was created. type: string messages: description: A list of messages in the notification. items: $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Message' type: array - subject: - $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Subject' - description: The subject line of the notification. + notificationType: + enum: + - NOTIFICATION_TYPE_UNSPECIFIED + - NOTIFICATION_TYPE_SECURITY_PRIVACY_ADVISORY + - NOTIFICATION_TYPE_SENSITIVE_ACTIONS + - NOTIFICATION_TYPE_SECURITY_MSA + - NOTIFICATION_TYPE_THREAT_HORIZONS + description: Type of notification + enumDescriptions: + - Default type + - Security and privacy advisory notifications + - Sensitive action notifications + - General security MSA + - Threat horizons MSA + type: string description: >- A notification object for notifying customers about security and privacy issues. + type: object id: GoogleCloudAdvisorynotificationsV1Notification GoogleCloudAdvisorynotificationsV1Subject: - type: object id: GoogleCloudAdvisorynotificationsV1Subject + description: A subject line of a notification. properties: text: $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Text' description: The text content. - description: A subject line of a notification. - GoogleCloudAdvisorynotificationsV1CsvCsvRow: - id: GoogleCloudAdvisorynotificationsV1CsvCsvRow - properties: - entries: - description: >- - The data entries in a CSV file row, as a string array rather than a - single comma-separated string. - items: - type: string - type: array - type: object - description: A representation of a single data row in a CSV file. - GoogleCloudAdvisorynotificationsV1Csv: - description: >- - A representation of a CSV file attachment, as a list of column headers - and a list of data rows. type: object - id: GoogleCloudAdvisorynotificationsV1Csv - properties: - dataRows: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1CsvCsvRow' - description: >- - The list of data rows in a CSV file, as string arrays rather than as - a single comma-separated string. - headers: - description: The list of headers for data columns in a CSV file. - items: - type: string - type: array GoogleCloudAdvisorynotificationsV1Message: + id: GoogleCloudAdvisorynotificationsV1Message description: A message which contains notification details. - type: object properties: attachments: description: The attachments to download. items: $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Attachment' type: array + createTime: + type: string + description: The Message creation timestamp. + format: google-datetime localizationTime: description: Time when Message was localized format: google-datetime type: string body: - $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1MessageBody' description: The message content. - createTime: - description: The Message creation timestamp. - format: google-datetime - type: string - id: GoogleCloudAdvisorynotificationsV1Message - GoogleCloudAdvisorynotificationsV1Attachment: + $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1MessageBody' type: object - properties: - displayName: - type: string - description: The title of the attachment. - csv: - $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Csv' - description: A CSV file attachment. Max size is 10 MB. - description: Attachment with specific information about the issue. - id: GoogleCloudAdvisorynotificationsV1Attachment parameters: - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: uploadType + name: upload_protocol schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + _.xgafv: + description: V1 error format. in: query - name: quotaUser + name: $.xgafv schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + enum: + - '1' + - '2' + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: oauth_token + name: key schema: type: string callback: @@ -270,30 +273,37 @@ components: name: callback schema: type: string - _.xgafv: - description: V1 error format. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: $.xgafv + name: uploadType schema: type: string - enum: - - '1' - - '2' - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: upload_protocol + name: oauth_token schema: type: string - key: + quotaUser: description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: key + name: quotaUser schema: type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto fields: description: Selector specifying which fields to include in a partial response. in: query @@ -312,94 +322,79 @@ components: name: access_token schema: type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto x-stackQL-resources: - settings: - id: google.advisorynotifications.settings - name: settings - title: Settings + notifications: + id: google.advisorynotifications.notifications + name: notifications + title: Notifications methods: - update_settings: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1settings/patch + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1notifications~1{notificationsId}/get response: mediaType: application/json openAPIDocKey: '200' - get_settings: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1settings/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1notifications/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.notifications sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/settings/methods/get_settings' + - $ref: '#/components/x-stackQL-resources/notifications/methods/get' + - $ref: '#/components/x-stackQL-resources/notifications/methods/list' insert: [] - update: - - $ref: '#/components/x-stackQL-resources/settings/methods/update_settings' + update: [] replace: [] delete: [] - notifications: - id: google.advisorynotifications.notifications - name: notifications - title: Notifications + settings: + id: google.advisorynotifications.settings + name: settings + title: Settings methods: - get: + update_settings: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notifications~1{notificationsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1settings/patch response: mediaType: application/json openAPIDocKey: '200' - list: + get_settings: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notifications/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1settings/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.notifications sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/notifications/methods/get' - - $ref: '#/components/x-stackQL-resources/notifications/methods/list' + - $ref: '#/components/x-stackQL-resources/settings/methods/get_settings' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/settings/methods/update_settings' replace: [] delete: [] paths: - /v1/organizations/{organizationsId}/locations/{locationsId}/settings: + /v1/projects/{projectsId}/locations/{locationsId}/notifications/{notificationsId}: parameters: &ref_1 - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/alt' - patch: - description: Update notification settings. - operationId: advisorynotifications.organizations.locations.updateSettings - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Settings' + get: + description: Gets a notification. + operationId: advisorynotifications.projects.locations.notifications.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -412,10 +407,10 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAdvisorynotificationsV1Settings + #/components/schemas/GoogleCloudAdvisorynotificationsV1Notification parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -424,9 +419,20 @@ paths: required: true schema: type: string + - in: path + name: notificationsId + required: true + schema: + type: string + - in: query + name: languageCode + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/notifications: + parameters: *ref_1 get: - description: Get notification settings. - operationId: advisorynotifications.organizations.locations.getSettings + description: Lists notifications under a given parent. + operationId: advisorynotifications.projects.locations.notifications.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -439,10 +445,10 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAdvisorynotificationsV1Settings + #/components/schemas/GoogleCloudAdvisorynotificationsV1ListNotificationsResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -451,11 +457,33 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/notifications/{notificationsId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: view + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: languageCode + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/settings: parameters: *ref_1 - get: - description: Gets a notification. - operationId: advisorynotifications.organizations.locations.notifications.get + patch: + description: Update notification settings. + operationId: advisorynotifications.projects.locations.updateSettings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAdvisorynotificationsV1Settings' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -468,10 +496,10 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAdvisorynotificationsV1Notification + #/components/schemas/GoogleCloudAdvisorynotificationsV1Settings parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -480,13 +508,31 @@ paths: required: true schema: type: string + get: + description: Get notification settings. + operationId: advisorynotifications.projects.locations.getSettings + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAdvisorynotificationsV1Settings + parameters: - in: path - name: notificationsId + name: projectsId required: true schema: type: string - - in: query - name: languageCode + - in: path + name: locationsId + required: true schema: type: string /v1/organizations/{organizationsId}/locations/{locationsId}/notifications: @@ -518,6 +564,10 @@ paths: required: true schema: type: string + - in: query + name: view + schema: + type: string - in: query name: languageCode schema: @@ -531,15 +581,11 @@ paths: schema: type: integer format: int32 - - in: query - name: view - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/notifications/{notificationsId}: + /v1/organizations/{organizationsId}/locations/{locationsId}/notifications/{notificationsId}: parameters: *ref_1 get: description: Gets a notification. - operationId: advisorynotifications.projects.locations.notifications.get + operationId: advisorynotifications.organizations.locations.notifications.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -555,7 +601,7 @@ paths: #/components/schemas/GoogleCloudAdvisorynotificationsV1Notification parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string @@ -573,57 +619,11 @@ paths: name: languageCode schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notifications: - parameters: *ref_1 - get: - description: Lists notifications under a given parent. - operationId: advisorynotifications.projects.locations.notifications.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAdvisorynotificationsV1ListNotificationsResponse - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: query - name: languageCode - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: view - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/settings: + /v1/organizations/{organizationsId}/locations/{locationsId}/settings: parameters: *ref_1 patch: description: Update notification settings. - operationId: advisorynotifications.projects.locations.updateSettings + operationId: advisorynotifications.organizations.locations.updateSettings requestBody: content: application/json: @@ -644,7 +644,7 @@ paths: #/components/schemas/GoogleCloudAdvisorynotificationsV1Settings parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string @@ -655,7 +655,7 @@ paths: type: string get: description: Get notification settings. - operationId: advisorynotifications.projects.locations.getSettings + operationId: advisorynotifications.organizations.locations.getSettings security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -671,7 +671,7 @@ paths: #/components/schemas/GoogleCloudAdvisorynotificationsV1Settings parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/aiplatform.yaml b/providers/src/googleapis.com/v00.00.00000/services/aiplatform.yaml index 96ce9dfc..f91a8433 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/aiplatform.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/aiplatform.yaml @@ -9,8 +9,8 @@ info: Train high-quality custom machine learning models with minimal machine learning expertise and effort. version: v1 - x-discovery-doc-revision: '20240907' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241026' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/vertex-ai/ servers: @@ -39,388 +39,420 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError: - id: GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError + GoogleCloudLocationListLocationsResponse: + id: GoogleCloudLocationListLocationsResponse + description: The response message for Locations.ListLocations. + type: object properties: - errorType: - enumDescriptions: - - Default, shall not be used. - - The record is empty. - - Invalid json format. - - Invalid csv format. - - Invalid avro format. - - The embedding id is not valid. - - >- - The size of the dense embedding vectors does not match with the - specified dimension. - - The `namespace` field is missing. - - >- - Generic catch-all error. Only used for validation failure where - the root cause cannot be easily retrieved programmatically. - - There are multiple restricts with the same `namespace` value. - - Numeric restrict has operator specified in datapoint. - - Numeric restrict has multiple values specified. - - Numeric restrict has invalid numeric value specified. - - File is not in UTF_8 format. - - Error parsing sparse dimensions field. - - Token restrict value is invalid. - - Invalid sparse embedding. - - Invalid dense embedding. - type: string - description: The error type of this record. - enum: - - ERROR_TYPE_UNSPECIFIED - - EMPTY_LINE - - INVALID_JSON_SYNTAX - - INVALID_CSV_SYNTAX - - INVALID_AVRO_SYNTAX - - INVALID_EMBEDDING_ID - - EMBEDDING_SIZE_MISMATCH - - NAMESPACE_MISSING - - PARSING_ERROR - - DUPLICATE_NAMESPACE - - OP_IN_DATAPOINT - - MULTIPLE_VALUES - - INVALID_NUMERIC_VALUE - - INVALID_ENCODING - - INVALID_SPARSE_DIMENSIONS - - INVALID_TOKEN_VALUE - - INVALID_SPARSE_EMBEDDING - - INVALID_EMBEDDING - embeddingId: - type: string - description: Empty if the embedding id is failed to parse. - sourceGcsUri: - description: Cloud Storage URI pointing to the original file in user's bucket. - type: string - errorMessage: - type: string + locations: description: >- - A human-readable message that is shown to the user to help them fix - the error. Note that this message may change from time to time, your - code should check against error_type as the source of truth. - rawRecord: + A list of locations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudLocationLocation' + nextPageToken: + description: The standard List next-page token. type: string - description: The original content of this record. + GoogleCloudLocationLocation: + id: GoogleCloudLocationLocation + description: A resource that represents a Google Cloud location. type: object - GoogleTypeDate: properties: - month: + name: description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - type: integer - format: int32 - year: - type: integer + Resource name for the location, which may vary between + implementations. For example: + `"projects/example-project/locations/us-east1"` + type: string + locationId: + description: 'The canonical id for this location. For example: `"us-east1"`.' + type: string + displayName: description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - format: int32 - day: - type: integer - format: int32 + The friendly name for this location, typically a nearby city name. + For example, "Tokyo". + type: string + labels: description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. + Cross-service attributes for the location. For example + {"cloud.googleapis.com/region": "us-east1"} + type: object + additionalProperties: + type: string + metadata: + description: >- + Service-specific metadata. For example the available capacity at the + given location. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + GoogleIamV1SetIamPolicyRequest: + id: GoogleIamV1SetIamPolicyRequest + description: Request message for `SetIamPolicy` method. type: object + properties: + policy: + description: >- + REQUIRED: The complete policy to be applied to the `resource`. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + $ref: '#/components/schemas/GoogleIamV1Policy' + GoogleIamV1Policy: + id: GoogleIamV1Policy description: >- - 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 - id: GoogleTypeDate - GoogleCloudAiplatformV1FeatureGroupBigQuery: + 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/). type: object properties: - dense: + version: description: >- - Optional. If set, all feature values will be fetched from a single - row per unique entityId including nulls. If not set, will collapse - all rows for each unique entityId into a singe row with any non-null - values if present, if no non-null values are present will sync null. - ex: If source has schema `(entity_id, feature_timestamp, f0, f1)` - and the following rows: `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` - `(e1, 2020-02-01T10:00:00.123Z, 20, null)` If dense is set, `(e1, - 20, null)` is synced to online stores. If dense is not set, `(e1, - 20, 15)` is synced to online stores. - type: boolean - entityIdColumns: - items: - type: string + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + format: int32 + bindings: + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. type: array + items: + $ref: '#/components/schemas/GoogleIamV1Binding' + etag: description: >- - Optional. Columns to construct entity_id / row keys. If not provided - defaults to `entity_id`. - staticDataSource: - type: boolean - description: Optional. Set if the data source is not a time-series. - timeSeries: + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + type: string + format: byte + GoogleIamV1Binding: + id: GoogleIamV1Binding + description: Associates `members`, or principals, with a `role`. + type: object + properties: + role: description: >- - Optional. If the source is a time-series source, this can be set to - control how downstream sources (ex: FeatureView ) will treat - time-series sources. If not set, will treat the source as a - time-series source with `feature_timestamp` as timestamp column and - no scan boundary. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries - bigQuerySource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + 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). + type: string + members: description: >- - Required. Immutable. The BigQuery source URI that points to either a - BigQuery Table or View. - description: Input source type for BigQuery Tables and Views. - id: GoogleCloudAiplatformV1FeatureGroupBigQuery - GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata: - description: The metadata of Datasets that contain Text Prompt data. - properties: - hasPromptVariable: - type: boolean - description: Whether the prompt dataset has prompt variable. - stopSequences: + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + type: array items: type: string - description: Customized stop sequences. - type: array - temperature: - type: number - format: float + condition: description: >- - Temperature value used for sampling set when the dataset was saved. - This value is used to tune the degree of randomness. - systemInstructionGcsUri: + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/GoogleTypeExpr' + GoogleTypeExpr: + id: GoogleTypeExpr + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + type: object + properties: + expression: description: >- - The Google Cloud Storage URI that stores the system instruction, - starting with gs://. - type: string - systemInstruction: - type: string - description: The content of the prompt dataset system instruction. - groundingConfig: - description: Grounding checking configuration. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig - maxOutputTokens: + Textual representation of an expression in Common Expression + Language syntax. type: string - format: int64 - description: >- - Value of the maximum number of tokens generated set when the dataset - was saved. - topK: + title: description: >- - Top K value set when the dataset was saved. This value determines - how many candidates with highest probability from the vocab would be - selected for each decoding step. - format: int64 - type: string - note: - description: User-created prompt note. Note size limit is 2KB. - type: string - candidateCount: - format: int64 - description: Number of candidates. - type: string - text: + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. type: string - description: The content of the prompt dataset. - promptType: - description: Type of the prompt dataset. + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. type: string - gcsUri: - description: The Google Cloud Storage URI that stores the prompt data. + location: + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. type: string - topP: + GoogleIamV1TestIamPermissionsResponse: + id: GoogleIamV1TestIamPermissionsResponse + description: Response message for `TestIamPermissions` method. + type: object + properties: + permissions: description: >- - Top P value set when the dataset was saved. Given topK tokens for - decoding, top candidates will be selected until the sum of their - probabilities is topP. - format: float - type: number - id: GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata + A subset of `TestPermissionsRequest.permissions` that the caller is + allowed. + type: array + items: + type: string + GoogleLongrunningListOperationsResponse: + id: GoogleLongrunningListOperationsResponse + description: The response message for Operations.ListOperations. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation: properties: - columnName: + operations: + description: >- + A list of operations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' + nextPageToken: + description: The standard List next-page token. type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation + GoogleLongrunningOperation: + id: GoogleLongrunningOperation description: >- - Training pipeline will infer the proper transformation based on the - statistic of dataset. - type: object - GoogleCloudAiplatformV1ExplanationParameters: + This resource represents a long-running operation that is the result of + a network API call. type: object - id: GoogleCloudAiplatformV1ExplanationParameters - description: Parameters to configure explaining for Model's predictions. properties: - integratedGradientsAttribution: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1IntegratedGradientsAttribution - description: >- - An attribution method that computes Aumann-Shapley values taking - advantage of the model's fully differentiable structure. Refer to - this paper for more details: https://arxiv.org/abs/1703.01365 - topK: + name: description: >- - If populated, returns attributions for top K indices of outputs - (defaults to 1). Only applies to Models that predicts more than one - outputs (e,g, multi-class Models). When set to -1, returns - explanations for all outputs. - type: integer - format: int32 - outputIndices: + 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}`. + type: string + metadata: description: >- - If populated, only returns attributions that have output_index - contained in output_indices. It must be an ndarray of integers, with - the same shape of the output it's explaining. If not populated, - returns attributions for top_k indices of outputs. If neither top_k - nor output_indices is populated, returns the argmax index of the - outputs. Only applicable to Models that predict multiple outputs - (e,g, multi-class Models that predict multiple classes). - items: + 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. + type: object + additionalProperties: type: any - type: array - sampledShapleyAttribution: + description: Properties of the object. Contains field @type with type URL. + done: description: >- - An attribution method that approximates Shapley values for features - that contribute to the label being predicted. A sampling strategy is - used to approximate the value rather than considering all subsets of - features. Refer to this paper for model details: - https://arxiv.org/abs/1306.4265. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SampledShapleyAttribution - xraiAttribution: - description: >- - An attribution method that redistributes Integrated Gradients - attribution to segmented regions, taking advantage of the model's - fully differentiable structure. Refer to this paper for more - details: https://arxiv.org/abs/1906.02825 XRAI currently performs - better on natural images, like a picture of a house or an animal. If - the images are taken in artificial environments, like a lab or - manufacturing line, or from diagnostic equipment, like x-rays or - quality-control cameras, use Integrated Gradients instead. - $ref: '#/components/schemas/GoogleCloudAiplatformV1XraiAttribution' - examples: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Examples' - description: >- - Example-based explanations that returns the nearest neighbors from - the provided dataset. - GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata: - id: GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata - properties: - genericMetadata: - description: The common part of the operation metadata. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - type: object - description: Runtime operation information for ModelService.UpdateExplanationDataset. - GoogleCloudAiplatformV1BatchMigrateResourcesRequest: - type: object - properties: - migrateResourceRequests: - description: >- - Required. The request messages specifying the resources to migrate. - They must be in the same location as the destination. Up to 50 - resources can be migrated in one batch. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequest' - type: array - id: GoogleCloudAiplatformV1BatchMigrateResourcesRequest - description: Request message for MigrationService.BatchMigrateResources. - GoogleCloudAiplatformV1DataItem: - properties: - name: - type: string - readOnly: true - description: Output only. The resource name of the DataItem. - updateTime: - type: string - format: google-datetime - readOnly: true - description: Output only. Timestamp when this DataItem was last updated. - satisfiesPzi: - readOnly: true + 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. type: boolean - description: Output only. Reserved for future use. - createTime: - readOnly: true - description: Output only. Timestamp when this DataItem was created. - format: google-datetime - type: string - labels: - additionalProperties: - type: string - type: object - description: >- - 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. - payload: - type: any + error: description: >- - 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. - satisfiesPzs: - description: Output only. Reserved for future use. - type: boolean - readOnly: true - etag: - type: string + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/GoogleRpcStatus' + response: description: >- - Optional. Used to perform consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. - id: GoogleCloudAiplatformV1DataItem - type: 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`. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + GoogleRpcStatus: + id: GoogleRpcStatus description: >- - A piece of data in a Dataset. Could be an image, a video, a document or - plain text. - GoogleCloudAiplatformV1ListSavedQueriesResponse: + 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). type: object properties: - nextPageToken: - description: The standard List next-page token. + code: + description: The status code, which should be an enum value of google.rpc.Code. + type: integer + format: int32 + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. type: string - savedQueries: + details: description: >- - A list of SavedQueries that match the specified filter in the - request. + A list of messages that carry the error details. There is a common + set of message types for APIs to use. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SavedQuery' - id: GoogleCloudAiplatformV1ListSavedQueriesResponse - description: Response message for DatasetService.ListSavedQueries. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + GoogleProtobufEmpty: + id: GoogleProtobufEmpty + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + type: object + properties: {} GoogleCloudAiplatformV1Dataset: - description: A collection of DataItems and Annotations on them. id: GoogleCloudAiplatformV1Dataset + description: A collection of DataItems and Annotations on them. + type: object properties: - dataItemCount: - format: int64 - description: >- - Output only. The number of DataItems in this Dataset. Only apply for - non-structured Dataset. - type: string + name: + description: Output only. Identifier. The resource name of the Dataset. readOnly: true + type: string displayName: description: >- Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can consist of any UTF-8 characters. type: string - updateTime: - format: google-datetime + description: + description: The description of the Dataset. type: string - readOnly: true - description: Output only. Timestamp when this Dataset was last updated. metadataSchemaUri: description: >- Required. Points to a YAML file stored on Google Cloud Storage @@ -429,43 +461,32 @@ components: be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/. type: string - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + metadata: + description: Required. Additional information about the Dataset. + type: any + dataItemCount: description: >- - Customer-managed encryption key spec for a Dataset. If set, this - Dataset and all sub-resources of this Dataset will be secured by - this key. - description: - description: The description of the Dataset. + Output only. The number of DataItems in this Dataset. Only apply for + non-structured Dataset. + readOnly: true type: string - name: + format: int64 + createTime: + description: Output only. Timestamp when this Dataset was created. readOnly: true - description: Output only. Identifier. The resource name of the Dataset. type: string - metadata: - type: any - description: Required. Additional information about the Dataset. - modelReference: + format: google-datetime + updateTime: + description: Output only. Timestamp when this Dataset was last updated. + readOnly: true type: string + format: google-datetime + etag: description: >- - Optional. Reference to the public base model last used by the - dataset. Only set for prompt datasets. - savedQueries: - description: >- - 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. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SavedQuery' + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. + type: string labels: - additionalProperties: - type: string - type: object description: >- The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode @@ -478,1696 +499,2102 @@ components: labels exist for each Dataset: * "aiplatform.googleapis.com/dataset_metadata_schema": output only, its value is the metadata_schema's title. - createTime: - description: Output only. Timestamp when this Dataset was created. - type: string - format: google-datetime - readOnly: true - satisfiesPzi: - description: Output only. Reserved for future use. - type: boolean - readOnly: true - etag: + type: object + additionalProperties: + type: string + savedQueries: description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. - type: string + 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. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SavedQuery' + encryptionSpec: + description: >- + Customer-managed encryption key spec for a Dataset. If set, this + Dataset and all sub-resources of this Dataset will be secured by + this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' metadataArtifact: - type: string description: >- 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}`. readOnly: true + type: string + modelReference: + description: >- + Optional. Reference to the public base model last used by the + dataset. Only set for prompt datasets. + type: string satisfiesPzs: - type: boolean + description: Output only. Reserved for future use. readOnly: true + type: boolean + satisfiesPzi: description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1SavedQuery: + id: GoogleCloudAiplatformV1SavedQuery + description: >- + A SavedQuery is a view of the dataset. It references a subset of + annotations by problem type and filters. type: object - GoogleCloudLocationLocation: properties: name: - description: >- - Resource name for the location, which may vary between - implementations. For example: - `"projects/example-project/locations/us-east1"` + description: Output only. Resource name of the SavedQuery. + readOnly: true type: string displayName: - type: string - description: >- - The friendly name for this location, typically a nearby city name. - For example, "Tokyo". - labels: description: >- - Cross-service attributes for the location. For example - {"cloud.googleapis.com/region": "us-east1"} - additionalProperties: - type: string - type: object - locationId: - description: 'The canonical id for this location. For example: `"us-east1"`.' + Required. The user-defined name of the SavedQuery. The name can be + up to 128 characters long and can consist of any UTF-8 characters. type: string metadata: - type: object + description: Some additional information about the SavedQuery. + type: any + createTime: + description: Output only. Timestamp when this SavedQuery was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when SavedQuery was last updated. + readOnly: true + type: string + format: google-datetime + annotationFilter: + description: Output only. Filters on the Annotations in the dataset. + readOnly: true + type: string + problemType: description: >- - Service-specific metadata. For example the available capacity at the - given location. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - description: A resource that represents a Google Cloud location. - id: GoogleCloudLocationLocation - GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling: - properties: - cpuUtilizationTarget: - format: int32 + 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 + type: string + annotationSpecCount: description: >- - Optional. A percentage of the cluster's CPU capacity. Can be from - 10% to 80%. When a cluster's CPU utilization exceeds the target that - you have set, Bigtable immediately adds nodes to the cluster. When - CPU utilization is substantially lower than the target, Bigtable - removes nodes. If not set will default to 50%. + Output only. Number of AnnotationSpecs in the context of the + SavedQuery. + readOnly: true type: integer - minNodeCount: - description: >- - Required. The minimum number of nodes to scale down to. Must be - greater than or equal to 1. format: int32 - type: integer - maxNodeCount: + etag: description: >- - Required. The maximum number of nodes to scale up to. Must be - greater than or equal to min_node_count, and less than or equal to - 10 times of 'min_node_count'. - format: int32 - type: integer - type: object - id: GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling - GoogleCloudAiplatformV1ExportModelOperationMetadata: - description: Details of ModelService.ExportModel operation. - id: GoogleCloudAiplatformV1ExportModelOperationMetadata - properties: - outputInfo: + Used to perform a consistent read-modify-write update. If not set, a + blind "overwrite" update happens. + type: string + supportAutomlTraining: description: >- - Output only. Information further describing the output of this Model - export. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo + Output only. If the Annotations belonging to the SavedQuery can be + used for AutoML training. readOnly: true - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - type: object - GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata: - type: object - id: >- - GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata - properties: - multiLabel: type: boolean - description: Whether or not the classification label is multi_label. - GoogleCloudAiplatformV1PointwiseMetricInstance: + GoogleCloudAiplatformV1EncryptionSpec: + id: GoogleCloudAiplatformV1EncryptionSpec description: >- - Pointwise metric instance. Usually one instance corresponds to one row - in an evaluation dataset. + Represents a customer-managed encryption key spec that can be applied to + a top-level resource. + type: object properties: - jsonInstance: + kmsKeyName: description: >- - Instance specified as a json string. String key-value pairs are - expected in the json_instance to render - PointwiseMetricSpec.instance_prompt_template. + Required. The Cloud KMS resource identifier of the customer managed + encryption key used to protect a resource. Has the form: + `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. + The key needs to be in the same region as where the compute resource + is created. type: string - id: GoogleCloudAiplatformV1PointwiseMetricInstance - type: object - GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse: - description: Response message for TensorboardService.WriteTensorboardExperimentData. + GoogleCloudAiplatformV1ListDatasetsResponse: + id: GoogleCloudAiplatformV1ListDatasetsResponse + description: Response message for DatasetService.ListDatasets. type: object - id: GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse - properties: {} - GoogleCloudAiplatformV1ExactMatchResults: + properties: + datasets: + description: A list of Datasets that matches the specified filter in the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + nextPageToken: + description: The standard List next-page token. + type: string + GoogleCloudAiplatformV1ImportDataRequest: + id: GoogleCloudAiplatformV1ImportDataRequest + description: Request message for DatasetService.ImportData. type: object - id: GoogleCloudAiplatformV1ExactMatchResults properties: - exactMatchMetricValues: + importConfigs: + description: >- + Required. The desired input locations. The contents of all input + locations will be imported in one batch. type: array - readOnly: true items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchMetricValue' - description: Output only. Exact match metric values. - description: Results for exact match metric. - GoogleCloudAiplatformV1InputDataConfig: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ImportDataConfig' + GoogleCloudAiplatformV1ImportDataConfig: + id: GoogleCloudAiplatformV1ImportDataConfig description: >- - Specifies Vertex AI owned input data to be used for training, and - possibly evaluating, the Model. + Describes the location from where we import data into a Dataset, + together with the labels that will be applied to the DataItems and the + Annotations. type: object - id: GoogleCloudAiplatformV1InputDataConfig properties: - stratifiedSplit: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StratifiedSplit' - description: >- - Supported only for tabular Datasets. Split based on the distribution - of the specified column. - fractionSplit: - description: Split based on fractions defining the size of each set. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FractionSplit' - datasetId: - type: string + gcsSource: + description: The Google Cloud Storage location for the input content. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' + dataItemLabels: description: >- - Required. The ID of the Dataset in the same Project and Location - which data will be used to train the Model. The Dataset must use - schema compatible with Model being trained, and what is compatible - should be described in the used TrainingPipeline's - training_task_definition. For tabular Datasets, all their data is - exported to training, to pick and choose from. - savedQueryId: - type: string + Labels that will be applied to newly imported DataItems. If an + identical DataItem as one being imported already exists in the + Dataset, then these labels will be appended to these of the already + existing one, and if labels with identical key is imported before, + the old label value will be overwritten. If two DataItems are + identical in the same import data operation, the labels will be + combined and if key collision happens in this case, one of the + values will be picked randomly. Two DataItems are considered + identical if their content bytes are identical (e.g. image bytes or + pdf bytes). These labels will be overridden by Annotation labels + specified inside index file referenced by import_schema_uri, e.g. + jsonl file. + type: object + additionalProperties: + type: string + annotationLabels: description: >- - Only applicable to Datasets that have SavedQueries. The ID of a - SavedQuery (annotation set) under the Dataset specified by - dataset_id used for filtering Annotations for training. Only - Annotations that are associated with this SavedQuery are used in - respectively training. When used in conjunction with - annotations_filter, the Annotations used for training are filtered - by both saved_query_id and annotations_filter. Only one of - saved_query_id and annotation_schema_uri should be specified as both - of them represent the same thing: problem type. - filterSplit: - description: Split based on the provided filters for each set. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FilterSplit' - annotationSchemaUri: + Labels that will be applied to newly imported Annotations. If two + Annotations are identical, one of them will be deduped. Two + Annotations are considered identical if their payload, + payload_schema_uri and all of their labels are the same. These + labels will be overridden by Annotation labels specified inside + index file referenced by import_schema_uri, e.g. jsonl file. + type: object + additionalProperties: + type: string + importSchemaUri: description: >- - Applicable only to custom training with Datasets that have DataItems - and Annotations. Cloud Storage URI that points to a YAML file - describing the annotation schema. The schema is defined as an - OpenAPI 3.0.2 [Schema + Required. Points to a YAML file stored on Google Cloud Storage + describing the import format. Validation will be done against the + schema. 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 metadata of the Dataset - specified by dataset_id. Only Annotations that both match this - schema and belong to DataItems not ignored by the split method are - used in respectively training, validation or test role, depending on - the role of the DataItem they are on. When used in conjunction with - annotations_filter, the Annotations used for training are filtered - by both annotations_filter and annotation_schema_uri. - type: string - persistMlUseAssignment: - description: Whether to persist the ML use assignment to data item system labels. - type: boolean - gcsDestination: - description: >- - The Cloud Storage location where the training data is to be written - to. In the given directory a new directory is created with name: - `dataset---` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 - format. All training input data is written into that directory. The - Vertex AI environment variables representing Cloud Storage data URIs - are represented in the Cloud Storage wildcard format to support - sharded data. e.g.: "gs://.../training-*.jsonl" * AIP_DATA_FORMAT = - "jsonl" for non-tabular data, "csv" for tabular data * - AIP_TRAINING_DATA_URI = - "gcs_destination/dataset---/training-*.${AIP_DATA_FORMAT}" * - AIP_VALIDATION_DATA_URI = - "gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}" * - AIP_TEST_DATA_URI = - "gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}" - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - bigqueryDestination: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' - description: >- - Only applicable to custom training with tabular Dataset with - BigQuery source. The BigQuery project location where the training - data is to be written to. In the given project a new dataset is - created with name `dataset___` where timestamp is in - YYYY_MM_DDThh_mm_ss_sssZ format. All training input data is written - into that dataset. In the dataset three tables are created, - `training`, `validation` and `test`. * AIP_DATA_FORMAT = "bigquery". - * AIP_TRAINING_DATA_URI = "bigquery_destination.dataset___.training" - * AIP_VALIDATION_DATA_URI = - "bigquery_destination.dataset___.validation" * AIP_TEST_DATA_URI = - "bigquery_destination.dataset___.test" - predefinedSplit: - description: >- - Supported only for tabular Datasets. Split based on a predefined - key. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredefinedSplit' - timestampSplit: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TimestampSplit' - description: >- - Supported only for tabular Datasets. Split based on the timestamp of - the input data pieces. - annotationsFilter: type: string - description: >- - Applicable only to Datasets that have DataItems and Annotations. A - filter on Annotations of the Dataset. Only Annotations that both - match this filter and belong to DataItems not ignored by the split - method are used in respectively training, validation or test role, - depending on the role of the DataItem they are on (for the - auto-assigned that role is decided by Vertex AI). A filter with same - syntax as the one used in ListAnnotations may be used, but note here - it filters across all Annotations of the Dataset, and not just - within a single DataItem. - CloudAiLargeModelsVisionNamedBoundingBox: - id: CloudAiLargeModelsVisionNamedBoundingBox + GoogleCloudAiplatformV1GcsSource: + id: GoogleCloudAiplatformV1GcsSource + description: The Google Cloud Storage location for the input content. + type: object properties: - y2: - type: number - format: float - y1: - format: float - type: number - classes: - items: - type: string - type: array - scores: + uris: + description: >- + Required. Google Cloud Storage URI(-s) to the input file(s). May + contain wildcards. For more information on wildcards, see + https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. type: array - items: - format: float - type: number - x1: - type: number - format: float - entities: items: type: string - type: array - x2: - format: float - type: number + GoogleCloudAiplatformV1ExportDataRequest: + id: GoogleCloudAiplatformV1ExportDataRequest + description: Request message for DatasetService.ExportData. type: object - GoogleCloudAiplatformV1MigrateResourceRequest: - id: GoogleCloudAiplatformV1MigrateResourceRequest - description: >- - Config of migrating one resource from automl.googleapis.com, - datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. properties: - migrateAutomlDatasetConfig: - description: >- - Config for migrating Dataset in automl.googleapis.com to Vertex AI's - Dataset. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig - migrateDataLabelingDatasetConfig: - description: >- - Config for migrating Dataset in datalabeling.googleapis.com to - Vertex AI's Dataset. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig - migrateMlEngineModelVersionConfig: - description: >- - Config for migrating Version in ml.googleapis.com to Vertex AI's - Model. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig - migrateAutomlModelConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig - description: >- - Config for migrating Model in automl.googleapis.com to Vertex AI's - Model. + exportConfig: + description: Required. The desired output location. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportDataConfig' + GoogleCloudAiplatformV1ExportDataConfig: + id: GoogleCloudAiplatformV1ExportDataConfig + description: >- + Describes what part of the Dataset is to be exported, the destination of + the export and how to export. type: object - GoogleCloudAiplatformV1ResourcesConsumed: - id: GoogleCloudAiplatformV1ResourcesConsumed properties: - replicaHours: + gcsDestination: description: >- - Output only. The number of replica hours used. Note that many - replicas may run in parallel, and additionally any given work may be - queued for some time. Therefore this value is not strictly related - to wall time. - format: double - readOnly: true - type: number - description: Statistics information about resource consumption. - type: object - GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest: - id: GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest - description: Request message for CreateDeploymentResourcePool method. - type: object - properties: - deploymentResourcePool: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool' - description: Required. The DeploymentResourcePool to create. - deploymentResourcePoolId: + The Google Cloud Storage location where the output is to be written + to. In the given directory a new directory will be created with + name: `export-data--` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ + ISO-8601 format. All export output will be written into that + directory. Inside that directory, annotations with the same schema + will be grouped into sub directories which are named with the + corresponding annotations' schema title. Inside these sub + directories, a schema.yaml will be created to describe the output + format. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + fractionSplit: + description: Split based on fractions defining the size of each set. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportFractionSplit' + filterSplit: + description: Split based on the provided filters for each set. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportFilterSplit' + annotationsFilter: description: >- - Required. The ID to use for the DeploymentResourcePool, which will - become the final component of the DeploymentResourcePool's resource - name. The maximum length is 63 characters, and valid characters are - `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + An expression for filtering what part of the Dataset is to be + exported. Only Annotations that match this filter will be exported. + The filter syntax is the same as in ListAnnotations. type: string - GoogleCloudAiplatformV1PublisherModelDocumentation: - type: object - id: GoogleCloudAiplatformV1PublisherModelDocumentation - properties: - content: - description: Required. Content of this piece of document (in Markdown format). + savedQueryId: + description: >- + The ID of a SavedQuery (annotation set) under the Dataset specified + by dataset_id used for filtering Annotations for training. Only used + for custom training data export use cases. Only applicable to + Datasets that have SavedQueries. Only Annotations that are + associated with this SavedQuery are used in respectively training. + When used in conjunction with annotations_filter, the Annotations + used for training are filtered by both saved_query_id and + annotations_filter. Only one of saved_query_id and + annotation_schema_uri should be specified as both of them represent + the same thing: problem type. type: string - title: + annotationSchemaUri: description: >- - Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, - JAVA, NODE.JS, etc.. + The Cloud Storage URI that points to a YAML file describing the + annotation schema. 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 metadata of the Dataset + specified by dataset_id. Only used for custom training data export + use cases. Only applicable to Datasets that have DataItems and + Annotations. Only Annotations that both match this schema and belong + to DataItems not ignored by the split method are used in + respectively training, validation or test role, depending on the + role of the DataItem they are on. When used in conjunction with + annotations_filter, the Annotations used for training are filtered + by both annotations_filter and annotation_schema_uri. type: string - description: A named piece of documentation. - GoogleCloudAiplatformV1FeatureViewSyncConfig: - id: GoogleCloudAiplatformV1FeatureViewSyncConfig - type: object - description: Configuration for Sync. Only one option is set. - properties: - cron: + exportUse: + description: Indicates the usage of the exported files. type: string - description: >- - 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 * * - * *". - GoogleCloudAiplatformV1CreateFeatureRequest: - description: >- - Request message for FeaturestoreService.CreateFeature. Request message - for FeatureRegistryService.CreateFeature. - id: GoogleCloudAiplatformV1CreateFeatureRequest + enumDescriptions: + - Regular user export. + - Export for custom code training. + enum: + - EXPORT_USE_UNSPECIFIED + - CUSTOM_CODE_TRAINING + GoogleCloudAiplatformV1GcsDestination: + id: GoogleCloudAiplatformV1GcsDestination + description: The Google Cloud Storage location where the output is to be written to. + type: object properties: - feature: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' - description: Required. The Feature to create. - featureId: + outputUriPrefix: description: >- - Required. The ID to use for the Feature, which will become the final - component of the Feature's resource name. This value may be up to - 128 characters, and valid characters are `[a-z0-9_]`. The first - character cannot be a number. The value must be unique within an - EntityType/FeatureGroup. - type: string - parent: + Required. Google Cloud Storage URI to output directory. If the uri + doesn't end with '/', a '/' will be automatically appended. The + directory is created if it doesn't exist. type: string - description: >- - Required. The resource name of the EntityType or FeatureGroup to - create a Feature. Format for entity_type as parent: - `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` - Format for feature_group as parent: - `projects/{project}/locations/{location}/featureGroups/{feature_group}` - type: object - GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation: - id: GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation - description: Annotation details specific to image object detection. + GoogleCloudAiplatformV1ExportFractionSplit: + id: GoogleCloudAiplatformV1ExportFractionSplit + description: >- + Assigns the input data to training, validation, and test sets as per the + given fractions. Any of `training_fraction`, `validation_fraction` and + `test_fraction` may optionally be provided, they must sum to up to 1. If + the provided ones sum to less than 1, the remainder is assigned to sets + as decided by Vertex AI. If none of the fractions are set, by default + roughly 80% of data is used for training, 10% for validation, and 10% + for test. type: object properties: - displayName: + trainingFraction: description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - type: string - xMin: + The fraction of the input data that is to be used to train the + Model. type: number - description: The leftmost coordinate of the bounding box. format: double - annotationSpecId: - type: string + validationFraction: description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - yMin: - description: The topmost coordinate of the bounding box. - type: number - format: double - xMax: + The fraction of the input data that is to be used to validate the + Model. type: number - description: The rightmost coordinate of the bounding box. format: double - yMax: - description: The bottommost coordinate of the bounding box. + testFraction: + description: >- + The fraction of the input data that is to be used to evaluate the + Model. type: number format: double - GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse: - id: GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse + GoogleCloudAiplatformV1ExportFilterSplit: + id: GoogleCloudAiplatformV1ExportFilterSplit + description: >- + Assigns input data to training, validation, and test sets based on the + given filters, data pieces not matched by any filter are ignored. + Currently only supported for Datasets containing DataItems. If any of + the filters in this message are to match nothing, then they can be set + as '-' (the minus sign). Supported only for unstructured Datasets. type: object - description: Response message for VizierService.CheckTrialEarlyStoppingState. properties: - shouldStop: - type: boolean - description: True if the Trial should stop. - GoogleCloudAiplatformV1ModelEvaluationSliceSlice: + trainingFilter: + description: >- + Required. A filter on DataItems of the Dataset. DataItems that match + this filter are used to train the Model. A filter with same syntax + as the one used in DatasetService.ListDataItems may be used. If a + single DataItem is matched by more than one of the FilterSplit + filters, then it is assigned to the first set that applies to it in + the training, validation, test order. + type: string + validationFilter: + description: >- + Required. A filter on DataItems of the Dataset. DataItems that match + this filter are used to validate the Model. A filter with same + syntax as the one used in DatasetService.ListDataItems may be used. + If a single DataItem is matched by more than one of the FilterSplit + filters, then it is assigned to the first set that applies to it in + the training, validation, test order. + type: string + testFilter: + description: >- + Required. A filter on DataItems of the Dataset. DataItems that match + this filter are used to test the Model. A filter with same syntax as + the one used in DatasetService.ListDataItems may be used. If a + single DataItem is matched by more than one of the FilterSplit + filters, then it is assigned to the first set that applies to it in + the training, validation, test order. + type: string + GoogleCloudAiplatformV1DatasetVersion: + id: GoogleCloudAiplatformV1DatasetVersion + description: Describes the dataset version. type: object - id: GoogleCloudAiplatformV1ModelEvaluationSliceSlice - description: Definition of a slice. properties: - sliceSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec - description: Output only. Specification for how the data was sliced. + name: + description: Output only. Identifier. The resource name of the DatasetVersion. readOnly: true - dimension: type: string - description: >- - Output only. The dimension of the slice. Well-known dimensions are: - * `annotationSpec`: This slice is on the test data that has either - ground truth or prediction with AnnotationSpec.display_name equals - to value. * `slice`: This slice is a user customized slice defined - by its SliceSpec. + createTime: + description: Output only. Timestamp when this DatasetVersion was created. readOnly: true - value: type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this DatasetVersion was last updated. readOnly: true - description: Output only. The value of the dimension in this slice. - GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult: - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult - description: Prediction output format for Video Action Recognition. - type: object - properties: - displayName: type: string - description: The display name of the AnnotationSpec that had been identified. - timeSegmentStart: + format: google-datetime + etag: description: >- - The beginning, inclusive, of the video's time segment in which the - AnnotationSpec has been identified. Expressed as a number of seconds - as measured from the start of the video, with fractions up to a - microsecond precision, and with "s" appended at the end. + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. type: string - format: google-duration - confidence: - description: >- - The Model's confidence in correction of this prediction, higher - value means higher confidence. - type: number - format: float - id: + bigQueryDatasetName: + description: Output only. Name of the associated BigQuery dataset. + readOnly: true type: string - description: The resource ID of the AnnotationSpec that had been identified. - timeSegmentEnd: + displayName: + description: >- + The user-defined name of the DatasetVersion. The name can be up to + 128 characters long and can consist of any UTF-8 characters. type: string + metadata: description: >- - The end, exclusive, of the video's time segment in which the - AnnotationSpec has been identified. Expressed as a number of seconds - as measured from the start of the video, with fractions up to a - microsecond precision, and with "s" appended at the end. - format: google-duration - GoogleCloudAiplatformV1GenerateContentResponse: - type: object - properties: - usageMetadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata - description: Usage metadata about the response(s). - candidates: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Candidate' - type: array - description: Output only. Generated candidates. + Required. Output only. Additional information about the + DatasetVersion. readOnly: true - promptFeedback: + type: any + modelReference: description: >- - Output only. Content filter results for a prompt sent in the - request. Note: Sent only in the first stream chunk. Only happens - when no candidates were generated due to content violations. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback + Output only. Reference to the public base model last used by the + dataset version. Only set for prompt dataset versions. readOnly: true - id: GoogleCloudAiplatformV1GenerateContentResponse - description: Response message for [PredictionService.GenerateContent]. - GoogleCloudAiplatformV1ListModelEvaluationsResponse: + type: string + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1ListDatasetVersionsResponse: + id: GoogleCloudAiplatformV1ListDatasetVersionsResponse + description: Response message for DatasetService.ListDatasetVersions. + type: object properties: - modelEvaluations: - description: List of ModelEvaluations in the requested page. + datasetVersions: + description: >- + A list of DatasetVersions that matches the specified filter in the + request. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' nextPageToken: - description: >- - A token to retrieve next page of results. Pass to - ListModelEvaluationsRequest.page_token to obtain that page. + description: The standard List next-page token. type: string - id: GoogleCloudAiplatformV1ListModelEvaluationsResponse + GoogleCloudAiplatformV1ListDataItemsResponse: + id: GoogleCloudAiplatformV1ListDataItemsResponse + description: Response message for DatasetService.ListDataItems. type: object - description: Response message for ModelService.ListModelEvaluations. - GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams: properties: - confidenceThreshold: - format: float - type: number + dataItems: description: >- - When the model predicts category of pixels of the image, it will - only provide predictions for pixels that it is at least this much - confident about. All other pixels will be classified as background. - Default value is 0.5. - id: >- - GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams + A list of DataItems that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataItem' + nextPageToken: + description: The standard List next-page token. + type: string + GoogleCloudAiplatformV1DataItem: + id: GoogleCloudAiplatformV1DataItem + description: >- + A piece of data in a Dataset. Could be an image, a video, a document or + plain text. type: object - description: Prediction model parameters for Image Segmentation. - GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance: - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance properties: - content: - description: The image bytes or Cloud Storage URI to make the prediction on. + name: + description: Output only. The resource name of the DataItem. + readOnly: true type: string - mimeType: + createTime: + description: Output only. Timestamp when this DataItem was created. + readOnly: true type: string - description: >- - The MIME type of the content of the image. Only the images in below - listed MIME types are supported. - image/jpeg - image/gif - - image/png - image/webp - image/bmp - image/tiff - - image/vnd.microsoft.icon + format: google-datetime + updateTime: + description: Output only. Timestamp when this DataItem was last updated. + readOnly: true + type: string + format: google-datetime + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + payload: + description: >- + 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. + type: any + etag: + description: >- + Optional. Used to perform consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. + type: string + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1SearchDataItemsResponse: + id: GoogleCloudAiplatformV1SearchDataItemsResponse + description: Response message for DatasetService.SearchDataItems. type: object - description: Prediction input format for Image Object Detection. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation: properties: - numeric: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation - categorical: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation - auto: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation - timestamp: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation - text: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation + dataItemViews: + description: The DataItemViews read. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataItemView' + nextPageToken: + description: >- + A token to retrieve next page of results. Pass to + SearchDataItemsRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1DataItemView: + id: GoogleCloudAiplatformV1DataItemView + description: A container for a single DataItem and Annotations on it. type: object - GoogleCloudAiplatformV1SamplingStrategy: properties: - randomSampleConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig - description: Random sample config. Will support more sampling strategies later. - type: object - id: GoogleCloudAiplatformV1SamplingStrategy + dataItem: + description: The DataItem. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataItem' + annotations: + description: >- + The Annotations on the DataItem. If too many Annotations should be + returned for the DataItem, this field will be truncated per + annotations_limit in request. If it was, then the + has_truncated_annotations will be set to true. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Annotation' + hasTruncatedAnnotations: + description: >- + True if and only if the Annotations field has been truncated. It + happens if more Annotations for this DataItem met the request's + annotation_filter than are allowed to be returned by + annotations_limit. Note that if Annotations field is not being + returned due to field mask, then this field will not be set to true + no matter how many Annotations are there. + type: boolean + GoogleCloudAiplatformV1Annotation: + id: GoogleCloudAiplatformV1Annotation description: >- - Sampling Strategy for logging, can be for both training and prediction - dataset. - GoogleCloudAiplatformV1PublisherModelResourceReference: - description: Reference to a resource. + Used to assign specific AnnotationSpec to a particular area of a + DataItem or the whole part of the DataItem. type: object properties: - resourceName: - type: string - description: The resource name of the Google Cloud resource. - useCase: - deprecated: true + name: + description: Output only. Resource name of the Annotation. + readOnly: true type: string - description: Use case (CUJ) of the resource. - uri: + payloadSchemaUri: + description: >- + 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. type: string - description: The URI of the resource. - description: - description: Description of the resource. - deprecated: true + payload: + description: Required. The schema of the payload can be found in payload_schema. + type: any + createTime: + description: Output only. Timestamp when this Annotation was created. + readOnly: true type: string - id: GoogleCloudAiplatformV1PublisherModelResourceReference - GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies: - type: object - description: Statistics and anomalies generated by Model Monitoring. - id: GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies - properties: - deployedModelId: + format: google-datetime + updateTime: + description: Output only. Timestamp when this Annotation was last updated. + readOnly: true type: string - description: Deployed Model ID. - featureStats: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies - description: A list of historical Stats and Anomalies generated for all Features. - objective: - description: Model Monitoring Objective those stats and anomalies belonging to. - enum: - - MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED - - RAW_FEATURE_SKEW - - RAW_FEATURE_DRIFT - - FEATURE_ATTRIBUTION_SKEW - - FEATURE_ATTRIBUTION_DRIFT + format: google-datetime + etag: + description: >- + Optional. Used to perform consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. type: string - enumDescriptions: - - Default value, should not be set. - - >- - Raw feature values' stats to detect skew between - Training-Prediction datasets. - - >- - Raw feature values' stats to detect drift between - Serving-Prediction datasets. - - >- - Feature attribution scores to detect skew between - Training-Prediction datasets. - - >- - Feature attribution scores to detect skew between Prediction - datasets collected within different time windows. - anomalyCount: - type: integer - description: Number of anomalies within all stats. - format: int32 - GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest: - properties: {} - description: Request message for JobService.CancelHyperparameterTuningJob. - id: GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest - type: object - GoogleCloudAiplatformV1GroundednessInput: - id: GoogleCloudAiplatformV1GroundednessInput - description: Input for groundedness metric. - properties: - instance: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessInstance' - description: Required. Groundedness instance. - metricSpec: - description: Required. Spec for groundedness metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessSpec' - type: object - GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata: - id: GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata - properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + annotationSource: + description: Output only. The source of the Annotation. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1UserActionReference' + labels: + description: >- + Optional. The labels with user-defined metadata to organize your + Annotations. 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 + Annotation(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 Annotation: * + "aiplatform.googleapis.com/annotation_set_name": optional, name of + the UI's annotation set this Annotation belongs to. If not set, the + Annotation is not visible in the UI. * + "aiplatform.googleapis.com/payload_schema": output only, its value + is the payload_schema's title. + type: object + additionalProperties: + type: string + GoogleCloudAiplatformV1UserActionReference: + id: GoogleCloudAiplatformV1UserActionReference description: >- - Runtime operation information for - SpecialistPoolService.CreateSpecialistPool. + References an API call. It contains more information about long running + operation and Jobs that are triggered by the API call. type: object - GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics: properties: - confidenceMetricsEntries: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry - type: array + operation: description: >- - Metrics for each confidenceThreshold in - 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve - can be derived from it. - description: Metrics for image segmentation evaluation results. - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics - type: object - GoogleCloudAiplatformV1CancelPipelineJobRequest: - id: GoogleCloudAiplatformV1CancelPipelineJobRequest - properties: {} - type: object - description: Request message for PipelineService.CancelPipelineJob. - GoogleCloudAiplatformV1GroundingChunk: - type: object - properties: - retrievedContext: - description: Grounding chunk from context retrieved by the retrieval tools. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GroundingChunkRetrievedContext - web: - description: Grounding chunk from the web. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingChunkWeb' - id: GoogleCloudAiplatformV1GroundingChunk - description: Grounding chunk. - GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse: + For API calls that return a long running operation. Resource name of + the long running operation. Format: + `projects/{project}/locations/{location}/operations/{operation}` + type: string + dataLabelingJob: + description: >- + For API calls that start a LabelingJob. Resource name of the + LabelingJob. Format: + `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + type: string + method: + description: >- + The method name of the API RPC call. For example, + "/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset" + type: string + GoogleCloudAiplatformV1ListSavedQueriesResponse: + id: GoogleCloudAiplatformV1ListSavedQueriesResponse + description: Response message for DatasetService.ListSavedQueries. type: object - description: Response message for ListDeploymentResourcePools method. properties: - deploymentResourcePools: + savedQueries: + description: >- + A list of SavedQueries that match the specified filter in the + request. type: array - description: The DeploymentResourcePools from the specified location. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool' + $ref: '#/components/schemas/GoogleCloudAiplatformV1SavedQuery' nextPageToken: - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. + description: The standard List next-page token. type: string - id: GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse - GoogleCloudAiplatformV1FeatureOnlineStore: + GoogleCloudAiplatformV1AnnotationSpec: + id: GoogleCloudAiplatformV1AnnotationSpec + description: Identifies a concept with which DataItems may be annotated with. + type: object properties: name: + description: Output only. Resource name of the AnnotationSpec. + readOnly: true type: string + displayName: description: >- - Identifier. Name of the FeatureOnlineStore. Format: - `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` + 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. + type: string + createTime: + description: Output only. Timestamp when this AnnotationSpec was created. + readOnly: true + type: string + format: google-datetime updateTime: + description: Output only. Timestamp when AnnotationSpec was last updated. readOnly: true type: string format: google-datetime - description: >- - Output only. Timestamp when this FeatureOnlineStore was last - updated. etag: - type: string description: >- Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. - dedicatedServingEndpoint: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint + type: string + GoogleCloudAiplatformV1ListAnnotationsResponse: + id: GoogleCloudAiplatformV1ListAnnotationsResponse + description: Response message for DatasetService.ListAnnotations. + type: object + properties: + annotations: description: >- - Optional. The dedicated serving endpoint for this - FeatureOnlineStore, which is different from common Vertex service - endpoint. - state: - enum: - - STATE_UNSPECIFIED - - STABLE - - UPDATING - enumDescriptions: - - Default value. This value is unused. - - >- - State when the featureOnlineStore configuration is not being - updated and the fields reflect the current configuration of the - featureOnlineStore. The featureOnlineStore is usable in this - state. - - >- - The state of the featureOnlineStore configuration when it is being - updated. During an update, the fields reflect either the original - configuration or the updated configuration of the - featureOnlineStore. The featureOnlineStore is still usable in this - state. - description: Output only. State of the featureOnlineStore. - readOnly: true + A list of Annotations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Annotation' + nextPageToken: + description: The standard List next-page token. + type: string + GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest: + id: GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest + description: Request message for CreateDeploymentResourcePool method. + type: object + properties: + deploymentResourcePool: + description: Required. The DeploymentResourcePool to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool' + deploymentResourcePoolId: + description: >- + Required. The ID to use for the DeploymentResourcePool, which will + become the final component of the DeploymentResourcePool's resource + name. The maximum length is 63 characters, and valid characters are + `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + type: string + GoogleCloudAiplatformV1DeploymentResourcePool: + id: GoogleCloudAiplatformV1DeploymentResourcePool + description: >- + A description of resources that can be shared by multiple + DeployedModels, whose underlying specification consists of a + DedicatedResources. + type: object + properties: + name: + description: >- + Immutable. The resource name of the DeploymentResourcePool. Format: + `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` type: string + dedicatedResources: + description: >- + Required. The underlying DedicatedResources that the + DeploymentResourcePool uses. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' encryptionSpec: description: >- - Optional. Customer-managed encryption key spec for data storage. If - set, online store will be secured by this key. + Customer-managed encryption key spec for a DeploymentResourcePool. + If set, this DeploymentResourcePool will be secured by this key. + Endpoints and the DeploymentResourcePool they deploy in need to have + the same EncryptionSpec. $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - labels: - additionalProperties: - type: string - type: object + serviceAccount: description: >- - 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. - satisfiesPzi: - readOnly: true + 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. + type: string + disableContainerLogging: + description: >- + 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. type: boolean - description: Output only. Reserved for future use. createTime: + description: Output only. Timestamp when this DeploymentResourcePool was created. + readOnly: true type: string - description: Output only. Timestamp when this FeatureOnlineStore was created. format: google-datetime - readOnly: true - bigtable: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreBigtable - description: >- - Contains settings for the Cloud Bigtable instance that will be - created to serve featureValues for all FeatureViews under this - FeatureOnlineStore. satisfiesPzs: - type: boolean + description: Output only. Reserved for future use. readOnly: true + type: boolean + satisfiesPzi: description: Output only. Reserved for future use. - optimized: - description: >- - Contains settings for the Optimized store that will be created to - serve featureValues for all FeatureViews under this - FeatureOnlineStore. When choose Optimized storage type, need to set - PrivateServiceConnectConfig.enable_private_service_connect to use - private endpoint. Otherwise will use public endpoint by default. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreOptimized - type: object - id: GoogleCloudAiplatformV1FeatureOnlineStore + readOnly: true + type: boolean + GoogleCloudAiplatformV1DedicatedResources: + id: GoogleCloudAiplatformV1DedicatedResources description: >- - Vertex AI Feature Online Store provides a centralized repository for - serving ML features and embedding indexes at low latency. The Feature - Online Store is a top-level container. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics: + A description of resources that are dedicated to a DeployedModel, and + that need a higher degree of manual configuration. type: object properties: - videoActionMetrics: - type: array - description: 'The metric entries for precision window lengths: 1s,2s,3s.' - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics - evaluatedActionCount: - description: The number of ground truth actions used to create this evaluation. + machineSpec: + description: >- + Required. Immutable. The specification of a single machine used by + the prediction. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' + minReplicaCount: + description: >- + Required. Immutable. The minimum number of machine replicas this + DeployedModel will be always deployed on. This value must be greater + than or equal to 1. If traffic against the DeployedModel increases, + it may dynamically be deployed onto more replicas, and as traffic + decreases, some of these extra replicas may be freed. type: integer format: int32 - description: Model evaluation metrics for video action recognition. - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs: - properties: - optimizationObjective: + maxReplicaCount: description: >- - Objective function the model is optimizing towards. The training - process creates a model that optimizes the value of the objective - function over the validation set. The supported optimization - objectives: * "minimize-rmse" (default) - Minimize root-mean-squared - error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). - * "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). * - "minimize-rmspe" - Minimize root-mean-squared percentage error - (RMSPE). * "minimize-wape-mae" - Minimize the combination of - weighted absolute percentage error (WAPE) and mean-absolute-error - (MAE). * "minimize-quantile-loss" - Minimize the quantile loss at - the quantiles defined in `quantiles`. * "minimize-mape" - Minimize - the mean absolute percentage error. - type: string - quantiles: - type: array - description: >- - Quantiles to use for minimize-quantile-loss - `optimization_objective`. Up to 5 quantiles are allowed of values - between 0 and 1, exclusive. Required if the value of - optimization_objective is minimize-quantile-loss. Represents the - percent quantiles to use for that objective. Quantiles must be - unique. - items: - format: double - type: number - hierarchyConfig: - description: >- - Configuration that defines the hierarchical relationship of time - series and parameters for hierarchical forecasting strategies. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig - contextWindow: - format: int64 - type: string - description: >- - The amount of time into the past training and prediction data is - used for model training and prediction respectively. Expressed in - number of units defined by the `data_granularity` field. - exportEvaluatedDataItemsConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig - description: >- - Configuration for exporting test set predictions to a BigQuery - table. If this configuration is absent, then the export is not - performed. - targetColumn: - description: >- - The name of the column that the Model is to predict values for. This - column must be unavailable at forecast. - type: string - timeSeriesAttributeColumns: - items: - type: string - description: >- - Column names that should be used as attribute columns. The value of - these columns does not vary as a function of time. For example, - store ID or item color. - type: array - windowConfig: - description: Config containing strategy for generating sliding windows. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig - availableAtForecastColumns: - description: >- - Names of columns that are available and provided when a forecast is - requested. These columns contain information for the given entity - (identified by the time_series_identifier_column column) that is - known at forecast. For example, predicted weather for a specific - day. - items: - type: string - type: array - validationOptions: - description: >- - Validation options for the data validation component. The available - options are: * "fail-pipeline" - default, will validate against the - validation and fail the pipeline if it fails. * "ignore-validation" - - ignore the results of the validation and continue - type: string - forecastHorizon: - format: int64 - type: string - description: >- - The amount of time into the future for which forecasted values for - the target are returned. Expressed in number of units defined by the - `data_granularity` field. - weightColumn: - description: >- - Column name that should be used as the weight column. Higher values - in this column give more importance to the row during model - training. The column must have numeric values between 0 and 10000 - inclusively; 0 means the row is ignored for training. If weight - column field is not set, then all rows are assumed to have equal - weight of 1. This column must be available at forecast. - type: string - transformations: - type: array - description: >- - Each transformation will apply transform function to given input - column. And the result will be used for training. When creating - transformation for BigQuery Struct column, the column should be - flattened using "." as the delimiter. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation - unavailableAtForecastColumns: + Immutable. The maximum number of replicas this DeployedModel may be + deployed on when the traffic against it increases. If the requested + value is too large, the deployment will error, but if deployment + succeeds then the ability to scale the model to that many replicas + is guaranteed (barring service outages). If traffic against the + DeployedModel increases beyond what its replicas at maximum may + handle, a portion of the traffic will be dropped. If this value is + not provided, will use min_replica_count as the default value. The + value of this field impacts the charge against Vertex CPU and GPU + quotas. Specifically, you will be charged for (max_replica_count * + number of cores in the selected machine type) and (max_replica_count + * number of GPUs per replica in the selected machine type). + type: integer + format: int32 + autoscalingMetricSpecs: description: >- - Names of columns that are unavailable when a forecast is requested. - This column contains information for the given entity (identified by - the time_series_identifier_column) that is unknown before the - forecast For example, actual weather on a given day. - type: array - items: - type: string - additionalExperiments: - description: Additional experiment flags for the time series forcasting training. + Immutable. The metric specifications that overrides a resource + utilization metric (CPU utilization, accelerator's duty cycle, and + so on) target value (default to 60 if not set). At most one entry is + allowed per metric. If machine_spec.accelerator_count is above 0, + the autoscaling will be based on both CPU utilization and + accelerator's duty cycle metrics and scale up when either metrics + exceeds its target value while scale down if both metrics are under + their target value. The default target value is 60 for both metrics. + If machine_spec.accelerator_count is 0, the autoscaling will be + based on CPU utilization metric only with default target value 60 if + not explicitly set. For example, in the case of Online Prediction, + if you want to override target CPU utilization to 80, you should set + autoscaling_metric_specs.metric_name to + `aiplatform.googleapis.com/prediction/online/cpu/utilization` and + autoscaling_metric_specs.target to `80`. type: array items: - type: string - timeColumn: - type: string + $ref: '#/components/schemas/GoogleCloudAiplatformV1AutoscalingMetricSpec' + spot: description: >- - The name of the column that identifies time order in the time - series. This column must be available at forecast. - dataGranularity: - description: Expected difference in time granularity between rows in the data. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity - holidayRegions: + Optional. If true, schedule the deployment workload on [spot + VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). + type: boolean + GoogleCloudAiplatformV1MachineSpec: + id: GoogleCloudAiplatformV1MachineSpec + description: Specification of a single machine. + type: object + properties: + machineType: description: >- - The geographical region based on which the holiday effect is applied - in modeling by adding holiday categorical array feature that include - all holidays matching the date. This option only allowed when - data_granularity is day. By default, holiday effect modeling is - disabled. To turn it on, specify the holiday region using this - option. - items: - type: string - type: array - trainBudgetMilliNodeHours: + Immutable. The type of the machine. See the [list of machine types + supported for + prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) + See the [list of machine types supported for custom + training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). + For DeployedModel this field is optional, and the default value is + `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec + this field is required. type: string + acceleratorType: description: >- - Required. The train budget of creating this model, expressed in - milli node hours i.e. 1,000 value in this field means 1 node hour. - The training cost of the model will not exceed this budget. The - final cost will be attempted to be close to the budget, though may - end up being (even) noticeably smaller - at the backend's - discretion. This especially may happen when further model training - ceases to provide any improvements. If the budget is set to a value - known to be insufficient to train a model for the given dataset, the - training won't be attempted and will error. The train budget must be - between 1,000 and 72,000 milli node hours, inclusive. - format: int64 - timeSeriesIdentifierColumn: - type: string - description: The name of the column that identifies the time series. - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs - GoogleCloudAiplatformV1PairwiseMetricSpec: - description: Spec for pairwise metric. - properties: - metricPromptTemplate: + Immutable. The type of accelerator(s) that may be attached to the + machine as per accelerator_count. type: string - description: Required. Metric prompt template for pairwise metric. - type: object - id: GoogleCloudAiplatformV1PairwiseMetricSpec - GoogleCloudAiplatformV1ActiveLearningConfig: - properties: - maxDataItemPercentage: - format: int32 + enumDescriptions: + - Unspecified accelerator type, which means no accelerator. + - >- + Deprecated: Nvidia Tesla K80 GPU has reached end of support, see + https://cloud.google.com/compute/docs/eol/k80-eol. + - Nvidia Tesla P100 GPU. + - Nvidia Tesla V100 GPU. + - Nvidia Tesla P4 GPU. + - Nvidia Tesla T4 GPU. + - Nvidia Tesla A100 GPU. + - Nvidia A100 80GB GPU. + - Nvidia L4 GPU. + - Nvidia H100 80Gb GPU. + - TPU v2. + - TPU v3. + - TPU v4. + - TPU v5. + enumDeprecated: + - false + - true + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + enum: + - ACCELERATOR_TYPE_UNSPECIFIED + - NVIDIA_TESLA_K80 + - NVIDIA_TESLA_P100 + - NVIDIA_TESLA_V100 + - NVIDIA_TESLA_P4 + - NVIDIA_TESLA_T4 + - NVIDIA_TESLA_A100 + - NVIDIA_A100_80GB + - NVIDIA_L4 + - NVIDIA_H100_80GB + - TPU_V2 + - TPU_V3 + - TPU_V4_POD + - TPU_V5_LITEPOD + acceleratorCount: + description: The number of accelerators to attach to the machine. type: integer - description: Max percent of total DataItems for human labeling. - trainingConfig: + format: int32 + tpuTopology: description: >- - CMLE training config. For every active learning labeling iteration, - system will train a machine learning model on CMLE. The trained - model will be used by data sampling algorithm to select DataItems. - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingConfig' - maxDataItemCount: - format: int64 - description: Max number of human labeled DataItems. + Immutable. The topology of the TPUs. Corresponds to the TPU + topologies available from GKE. (Example: tpu_topology: "2x2x1"). type: string - sampleConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SampleConfig' + reservationAffinity: description: >- - Active learning data sampling config. For every active learning - labeling iteration, it will select a batch of data based on the - sampling strategy. - id: GoogleCloudAiplatformV1ActiveLearningConfig + Optional. Immutable. Configuration controlling how this resource + pool consumes reservation. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ReservationAffinity' + GoogleCloudAiplatformV1ReservationAffinity: + id: GoogleCloudAiplatformV1ReservationAffinity description: >- - Parameters that configure the active learning pipeline. Active learning - will label the data incrementally by several iterations. For every - iteration, it will select a batch of data based on the sampling - strategy. - type: object - GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec: - id: GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec + A ReservationAffinity can be used to configure a Vertex AI resource + (e.g., a DeployedModel) to draw its Compute Engine resources from a + Shared Reservation, or exclusively from on-demand capacity. type: object properties: - defaultValue: + reservationAffinityType: + description: Required. Specifies the reservation affinity type. + type: string + enumDescriptions: + - Default value. This should not be used. + - Do not consume from any reserved capacity, only use on-demand. + - Consume any reservation available, falling back to on-demand. + - >- + Consume from a specific reservation. When chosen, the reservation + must be identified via the `key` and `values` fields. + enum: + - TYPE_UNSPECIFIED + - NO_RESERVATION + - ANY_RESERVATION + - SPECIFIC_RESERVATION + key: description: >- - A default value for a `CATEGORICAL` parameter that is assumed to be - a relatively good starting point. Unset value signals that there is - no offered starting point. Currently only supported by the Vertex AI - Vizier service. Not supported by HyperparameterTuningJob or - TrainingPipeline. + Optional. Corresponds to the label key of a reservation resource. To + target a SPECIFIC_RESERVATION by name, use + `compute.googleapis.com/reservation-name` as the key and specify the + name of your reservation as its value. type: string values: - description: Required. The list of possible categories. + description: >- + Optional. Corresponds to the label values of a reservation resource. + This must be the full resource name of the reservation. type: array items: type: string - description: Value specification for a parameter in `CATEGORICAL` type. - GoogleCloudAiplatformV1StudySpecParameterSpec: + GoogleCloudAiplatformV1AutoscalingMetricSpec: + id: GoogleCloudAiplatformV1AutoscalingMetricSpec + description: >- + The metric specification that defines the target resource utilization + (CPU utilization, accelerator's duty cycle, and so on) for calculating + the desired replica count. type: object properties: - discreteValueSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec - description: The value spec for a 'DISCRETE' parameter. - categoricalValueSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec - description: The value spec for a 'CATEGORICAL' parameter. - conditionalParameterSpecs: - description: >- - A conditional parameter node is active if the parameter's value - matches the conditional node's parent_value_condition. If two items - in conditional_parameter_specs have the same name, they must have - disjoint parent_value_condition. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec - type: array - scaleType: - type: string - enum: - - SCALE_TYPE_UNSPECIFIED - - UNIT_LINEAR_SCALE - - UNIT_LOG_SCALE - - UNIT_REVERSE_LOG_SCALE + metricName: description: >- - How the parameter should be scaled. Leave unset for `CATEGORICAL` - parameters. - enumDescriptions: - - By default, no scaling is applied. - - Scales the feasible space to (0, 1) linearly. - - >- - Scales the feasible space logarithmically to (0, 1). The entire - feasible space must be strictly positive. - - >- - Scales the feasible space "reverse" logarithmically to (0, 1). The - result is that values close to the top of the feasible space are - spread out more than points near the bottom. The entire feasible - space must be strictly positive. - integerValueSpec: - description: The value spec for an 'INTEGER' parameter. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec - parameterId: + Required. The resource metric name. Supported metrics: * For Online + Prediction: * + `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` + * `aiplatform.googleapis.com/prediction/online/cpu/utilization` type: string + target: description: >- - Required. The ID of the parameter. Must not contain whitespaces and - must be unique amongst all ParameterSpecs. - doubleValueSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec - description: The value spec for a 'DOUBLE' parameter. - id: GoogleCloudAiplatformV1StudySpecParameterSpec - description: Represents a single parameter to optimize. - GoogleCloudAiplatformV1ToolCallValidMetricValue: + The target resource utilization in percentage (1% - 100%) for the + given metric; once the real usage deviates from the target by a + certain percentage, the machine replicas change. The default value + is 60 (representing 60%) if not provided. + type: integer + format: int32 + GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse: + id: GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse + description: Response message for ListDeploymentResourcePools method. type: object properties: - score: - readOnly: true - type: number - format: float - description: Output only. Tool call valid score. - id: GoogleCloudAiplatformV1ToolCallValidMetricValue - description: Tool call valid metric value for an instance. - GoogleCloudAiplatformV1DoubleArray: - properties: - values: - items: - type: number - format: double + deploymentResourcePools: + description: The DeploymentResourcePools from the specified location. type: array - description: A list of double values. - id: GoogleCloudAiplatformV1DoubleArray - description: A list of double values. + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool' + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + GoogleCloudAiplatformV1QueryDeployedModelsResponse: + id: GoogleCloudAiplatformV1QueryDeployedModelsResponse + description: Response message for QueryDeployedModels method. type: object - GoogleIamV1TestIamPermissionsResponse: properties: - permissions: + deployedModels: + description: DEPRECATED Use deployed_model_refs instead. + deprecated: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' + nextPageToken: description: >- - A subset of `TestPermissionsRequest.permissions` that the caller is - allowed. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + deployedModelRefs: + description: >- + References to the DeployedModels that share the specified + deploymentResourcePool. type: array items: - type: string + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModelRef' + totalDeployedModelCount: + description: The total number of DeployedModels on this DeploymentResourcePool. + type: integer + format: int32 + totalEndpointCount: + description: >- + The total number of Endpoints that have DeployedModels on this + DeploymentResourcePool. + type: integer + format: int32 + GoogleCloudAiplatformV1DeployedModel: + id: GoogleCloudAiplatformV1DeployedModel + description: A deployment of a Model. Endpoints contain one or more DeployedModels. type: object - id: GoogleIamV1TestIamPermissionsResponse - description: Response message for `TestIamPermissions` method. - GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable: properties: - logSource: - enum: - - LOG_SOURCE_UNSPECIFIED - - TRAINING - - SERVING - description: The source of log. - enumDescriptions: - - Unspecified source. - - Logs coming from Training dataset. - - Logs coming from Serving traffic. - type: string - requestResponseLoggingSchemaVersion: - type: string - readOnly: true + dedicatedResources: description: >- - Output only. The schema version of the request/response logging - BigQuery table. Default to v1 if unset. - logType: - description: The type of log. - enumDescriptions: - - Unspecified type. - - Predict logs. - - Explain logs. + A description of resources that are dedicated to the DeployedModel, + and that need a higher degree of manual configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' + automaticResources: + description: >- + A description of resources that to large degree are decided by + Vertex AI, and require only a modest additional configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' + sharedResources: + description: >- + The resource name of the shared DeploymentResourcePool to deploy on. + Format: + `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` type: string - enum: - - LOG_TYPE_UNSPECIFIED - - PREDICT - - EXPLAIN - bigqueryTablePath: + id: description: >- - The created BigQuery table to store logs. Customer could do their - own query & analysis. Format: `bq://.model_deployment_monitoring_._` - type: string - description: >- - ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name - as well as some information of the logs stored in this table. - type: object - id: GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable - GoogleCloudAiplatformV1SummarizationVerbosityInput: - type: object - description: Input for summarization verbosity metric. - properties: - instance: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbosityInstance - description: Required. Summarization verbosity instance. - metricSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbositySpec - description: Required. Spec for summarization verbosity score metric. - id: GoogleCloudAiplatformV1SummarizationVerbosityInput - GoogleCloudAiplatformV1MigratableResourceAutomlModel: - type: object - properties: - modelDisplayName: - description: The Model's display name in automl.googleapis.com. + Immutable. The ID of the DeployedModel. If not provided upon + deployment, Vertex AI will generate a value for this ID. This value + should be 1-10 characters, and valid characters are `/[0-9]/`. type: string model: description: >- - Full resource name of automl Model. Format: - `projects/{project}/locations/{location}/models/{model}`. + Required. The resource name of the Model that this is the deployment + of. Note that the Model may be in a different location than the + DeployedModel's Endpoint. The 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. type: string - id: GoogleCloudAiplatformV1MigratableResourceAutomlModel - description: Represents one Model in automl.googleapis.com. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics: - description: >- - Model evaluation metrics for video object tracking problems. Evaluates - prediction quality of both labeled bounding boxes and labeled tracks - (i.e. series of bounding boxes sharing same label and instance ID). - properties: - trackMeanMismatchRate: + modelVersionId: + description: Output only. The version ID of the model that is deployed. + readOnly: true + type: string + displayName: description: >- - UNIMPLEMENTED. The single metric for tracking consistency - evaluation: the `meanMismatchRate` averaged over all `trackMetrics`. - type: number - format: float - trackMetrics: + The display name of the DeployedModel. If not provided upon + creation, the Model's display_name is used. + type: string + createTime: + description: Output only. Timestamp when the DeployedModel was created. + readOnly: true + type: string + format: google-datetime + explanationSpec: description: >- - UNIMPLEMENTED. The tracks match metrics for each - intersection-over-union threshold - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence - threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics - boundingBoxMeanAveragePrecision: - format: float - type: number + Explanation configuration for this DeployedModel. When deploying a + Model using EndpointService.DeployModel, this value overrides the + value of Model.explanation_spec. All fields of explanation_spec are + optional in the request. If a field of explanation_spec is not + populated, the value of the same field of Model.explanation_spec is + inherited. If the corresponding Model.explanation_spec is not + populated, all fields of the explanation_spec will be used for the + explanation configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' + disableExplanations: description: >- - The single metric for bounding boxes evaluation: the - `meanAveragePrecision` averaged over all `boundingBoxMetrics`. - boundingBoxMetrics: + If true, deploy the model without explainable feature, regardless + the existence of Model.explanation_spec or explanation_spec. + type: boolean + serviceAccount: description: >- - The bounding boxes match metrics for each intersection-over-union - threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label - confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics - type: array - evaluatedBoundingBoxCount: - format: int32 + The service account that the DeployedModel's container runs as. + Specify the email address of the service account. If this service + account is not specified, the container runs as a service account + that doesn't have access to the resource project. Users deploying + the Model must have the `iam.serviceAccounts.actAs` permission on + this service account. + type: string + disableContainerLogging: description: >- - UNIMPLEMENTED. The total number of bounding boxes (i.e. summed over - all frames) the ground truth used to create this evaluation had. - type: integer - evaluatedTrackCount: - format: int32 - type: integer + For custom-trained Models and AutoML Tabular Models, the container + of the DeployedModel instances 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. + type: boolean + enableAccessLogging: description: >- - UNIMPLEMENTED. The total number of tracks (i.e. as seen across all - frames) the ground truth used to create this evaluation had. - trackMeanAveragePrecision: - type: number + 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 prediction request. + Note that logs may incur a cost, especially if your project receives + prediction requests at a high queries per second rate (QPS). + Estimate your costs before enabling this option. + type: boolean + privateEndpoints: description: >- - UNIMPLEMENTED. The single metric for tracks accuracy evaluation: the - `meanAveragePrecision` averaged over all `trackMetrics`. - format: float - trackMeanBoundingBoxIou: - format: float - type: number + Output only. Provide paths for users to send predict/explain/health + requests directly to the deployed model services running on Cloud + via private services access. This field is populated if network is + configured. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1PrivateEndpoints' + systemLabels: description: >- - UNIMPLEMENTED. The single metric for tracks bounding box iou - evaluation: the `meanBoundingBoxIou` averaged over all - `trackMetrics`. - evaluatedFrameCount: + System labels to apply to Model Garden deployments. System labels + are managed by Google for internal use only. + type: object + additionalProperties: + type: string + GoogleCloudAiplatformV1AutomaticResources: + id: GoogleCloudAiplatformV1AutomaticResources + description: >- + A description of resources that to large degree are decided by Vertex + AI, and require only a modest additional configuration. Each Model + supporting these resources documents its specific guidelines. + type: object + properties: + minReplicaCount: description: >- - UNIMPLEMENTED. The number of video frames used to create this - evaluation. + Immutable. The minimum number of replicas this DeployedModel will be + always deployed on. If traffic against it increases, it may + dynamically be deployed onto more replicas up to max_replica_count, + and as traffic decreases, some of these extra replicas may be freed. + If the requested value is too large, the deployment will error. + type: integer format: int32 + maxReplicaCount: + description: >- + Immutable. The maximum number of replicas this DeployedModel may be + deployed on when the traffic against it increases. If the requested + value is too large, the deployment will error, but if deployment + succeeds then the ability to scale the model to that many replicas + is guaranteed (barring service outages). If traffic against the + DeployedModel increases beyond what its replicas at maximum may + handle, a portion of the traffic will be dropped. If this value is + not provided, a no upper bound for scaling under heavy traffic will + be assume, though Vertex AI may be unable to scale beyond certain + replica number. type: integer + format: int32 + GoogleCloudAiplatformV1ExplanationSpec: + id: GoogleCloudAiplatformV1ExplanationSpec + description: Specification of Model explanation. type: object - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics - GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata: - id: GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata - description: Details of operations that perform batch create Features. properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Feature. - type: object - GoogleCloudAiplatformV1ExportFilterSplit: + parameters: + description: >- + Required. Parameters that configure explaining of the Model's + predictions. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationParameters' + metadata: + description: >- + Optional. Metadata describing the Model's input and output for + explanation. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationMetadata' + GoogleCloudAiplatformV1ExplanationParameters: + id: GoogleCloudAiplatformV1ExplanationParameters + description: Parameters to configure explaining for Model's predictions. type: object - description: >- - Assigns input data to training, validation, and test sets based on the - given filters, data pieces not matched by any filter are ignored. - Currently only supported for Datasets containing DataItems. If any of - the filters in this message are to match nothing, then they can be set - as '-' (the minus sign). Supported only for unstructured Datasets. - id: GoogleCloudAiplatformV1ExportFilterSplit properties: - validationFilter: + sampledShapleyAttribution: description: >- - Required. A filter on DataItems of the Dataset. DataItems that match - this filter are used to validate the Model. A filter with same - syntax as the one used in DatasetService.ListDataItems may be used. - If a single DataItem is matched by more than one of the FilterSplit - filters, then it is assigned to the first set that applies to it in - the training, validation, test order. - type: string - trainingFilter: - type: string + An attribution method that approximates Shapley values for features + that contribute to the label being predicted. A sampling strategy is + used to approximate the value rather than considering all subsets of + features. Refer to this paper for model details: + https://arxiv.org/abs/1306.4265. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SampledShapleyAttribution + integratedGradientsAttribution: description: >- - Required. A filter on DataItems of the Dataset. DataItems that match - this filter are used to train the Model. A filter with same syntax - as the one used in DatasetService.ListDataItems may be used. If a - single DataItem is matched by more than one of the FilterSplit - filters, then it is assigned to the first set that applies to it in - the training, validation, test order. - testFilter: - type: string + An attribution method that computes Aumann-Shapley values taking + advantage of the model's fully differentiable structure. Refer to + this paper for more details: https://arxiv.org/abs/1703.01365 + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1IntegratedGradientsAttribution + xraiAttribution: description: >- - Required. A filter on DataItems of the Dataset. DataItems that match - this filter are used to test the Model. A filter with same syntax as - the one used in DatasetService.ListDataItems may be used. If a - single DataItem is matched by more than one of the FilterSplit - filters, then it is assigned to the first set that applies to it in - the training, validation, test order. - GoogleCloudAiplatformV1UpdateFeatureOperationMetadata: - description: Details of operations that perform update Feature. - id: GoogleCloudAiplatformV1UpdateFeatureOperationMetadata + An attribution method that redistributes Integrated Gradients + attribution to segmented regions, taking advantage of the model's + fully differentiable structure. Refer to this paper for more + details: https://arxiv.org/abs/1906.02825 XRAI currently performs + better on natural images, like a picture of a house or an animal. If + the images are taken in artificial environments, like a lab or + manufacturing line, or from diagnostic equipment, like x-rays or + quality-control cameras, use Integrated Gradients instead. + $ref: '#/components/schemas/GoogleCloudAiplatformV1XraiAttribution' + examples: + description: >- + Example-based explanations that returns the nearest neighbors from + the provided dataset. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Examples' + topK: + description: >- + If populated, returns attributions for top K indices of outputs + (defaults to 1). Only applies to Models that predicts more than one + outputs (e,g, multi-class Models). When set to -1, returns + explanations for all outputs. + type: integer + format: int32 + outputIndices: + description: >- + If populated, only returns attributions that have output_index + contained in output_indices. It must be an ndarray of integers, with + the same shape of the output it's explaining. If not populated, + returns attributions for top_k indices of outputs. If neither top_k + nor output_indices is populated, returns the argmax index of the + outputs. Only applicable to Models that predict multiple outputs + (e,g, multi-class Models that predict multiple classes). + type: array + items: + type: any + GoogleCloudAiplatformV1SampledShapleyAttribution: + id: GoogleCloudAiplatformV1SampledShapleyAttribution + description: >- + An attribution method that approximates Shapley values for features that + contribute to the label being predicted. A sampling strategy is used to + approximate the value rather than considering all subsets of features. type: object properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Feature Update. - GoogleCloudAiplatformV1FeatureValue: - id: GoogleCloudAiplatformV1FeatureValue + pathCount: + description: >- + Required. The number of feature permutations to consider when + approximating the Shapley values. Valid range of its value is [1, + 50], inclusively. + type: integer + format: int32 + GoogleCloudAiplatformV1IntegratedGradientsAttribution: + id: GoogleCloudAiplatformV1IntegratedGradientsAttribution + description: >- + An attribution method that computes the Aumann-Shapley value taking + advantage of the model's fully differentiable structure. Refer to this + paper for more details: https://arxiv.org/abs/1703.01365 type: object - description: Value for a feature. properties: - stringValue: - description: String feature value. - type: string - stringArrayValue: - description: A list of string type feature value. - $ref: '#/components/schemas/GoogleCloudAiplatformV1StringArray' - boolValue: - type: boolean - description: Bool type feature value. - boolArrayValue: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BoolArray' - description: A list of bool type feature value. - int64ArrayValue: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Int64Array' - description: A list of int64 type feature value. - structValue: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StructValue' - description: A struct type feature value. - doubleArrayValue: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DoubleArray' - description: A list of double type feature value. - metadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueMetadata' - description: Metadata of feature value. - doubleValue: - type: number - description: Double type feature value. - format: double - int64Value: - description: Int64 feature value. - type: string - format: int64 - bytesValue: - format: byte - type: string - description: Bytes feature value. - GoogleCloudAiplatformV1ModelEvaluation: - id: GoogleCloudAiplatformV1ModelEvaluation + stepCount: + description: >- + Required. The number of steps for approximating the path integral. A + good value to start is 50 and gradually increase until the sum to + diff property is within the desired error range. Valid range of its + value is [1, 100], inclusively. + type: integer + format: int32 + smoothGradConfig: + description: >- + Config for SmoothGrad approximation of gradients. When enabled, the + gradients are approximated by averaging the gradients from noisy + samples in the vicinity of the inputs. Adding noise can help improve + the computed gradients. Refer to this paper for more details: + https://arxiv.org/pdf/1706.03825.pdf + $ref: '#/components/schemas/GoogleCloudAiplatformV1SmoothGradConfig' + blurBaselineConfig: + description: >- + Config for IG with blur baseline. When enabled, a linear path from + the maximally blurred image to the input image is created. Using a + blurred baseline instead of zero (black image) is motivated by the + BlurIG approach explained here: https://arxiv.org/abs/2004.03383 + $ref: '#/components/schemas/GoogleCloudAiplatformV1BlurBaselineConfig' + GoogleCloudAiplatformV1SmoothGradConfig: + id: GoogleCloudAiplatformV1SmoothGradConfig description: >- - A collection of metrics calculated by comparing Model's predictions on - all of the test data against annotations from the test data. + Config for SmoothGrad approximation of gradients. When enabled, the + gradients are approximated by averaging the gradients from noisy samples + in the vicinity of the inputs. Adding noise can help improve the + computed gradients. Refer to this paper for more details: + https://arxiv.org/pdf/1706.03825.pdf type: object properties: - annotationSchemaUri: - type: string - description: >- - Points to a YAML file stored on Google Cloud Storage describing - EvaluatedDataItemView.predictions, - EvaluatedDataItemView.ground_truths, - EvaluatedAnnotation.predictions, and - EvaluatedAnnotation.ground_truths. 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). - This field is not populated if there are neither - EvaluatedDataItemViews nor EvaluatedAnnotations under this - ModelEvaluation. - dataItemSchemaUri: - type: string + noiseSigma: description: >- - Points to a YAML file stored on Google Cloud Storage describing - EvaluatedDataItemView.data_item_payload and - EvaluatedAnnotation.data_item_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). - This field is not populated if there are neither - EvaluatedDataItemViews nor EvaluatedAnnotations under this - ModelEvaluation. - sliceDimensions: - type: array - items: - type: string + This is a single float value and will be used to add noise to all + the features. Use this field when all features are normalized to + have the same distribution: scale to range [0, 1], [-1, 1] or + z-scoring, where features are normalized to have 0-mean and + 1-variance. Learn more about + [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). + For best results the recommended value is about 10% - 20% of the + standard deviation of the input feature. Refer to section 3.2 of the + SmoothGrad paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to + 0.1. If the distribution is different per feature, set + feature_noise_sigma instead for each feature. + type: number + format: float + featureNoiseSigma: description: >- - All possible dimensions of ModelEvaluationSlices. The dimensions can - be used as the filter of the ModelService.ListModelEvaluationSlices - request, in the form of `slice.dimension = `. - modelExplanation: + This is similar to noise_sigma, but provides additional flexibility. + A separate noise sigma can be provided for each feature, which is + useful if their distributions are different. No noise is added to + features that are not set. If this field is unset, noise_sigma will + be used for all features. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureNoiseSigma' + noisySampleCount: description: >- - Aggregated explanation metrics for the Model's prediction output - over the data this ModelEvaluation uses. This field is populated - only if the Model is evaluated with explanations, and only for - AutoML tabular Models. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelExplanation' - metrics: - type: any + The number of gradient samples to use for approximation. The higher + this number, the more accurate the gradient is, but the runtime + complexity increases by this factor as well. Valid range of its + value is [1, 50]. Defaults to 3. + type: integer + format: int32 + GoogleCloudAiplatformV1FeatureNoiseSigma: + id: GoogleCloudAiplatformV1FeatureNoiseSigma + description: >- + Noise sigma by features. Noise sigma represents the standard deviation + of the gaussian kernel that will be used to add noise to interpolated + inputs prior to computing gradients. + type: object + properties: + noiseSigma: description: >- - Evaluation metrics of the Model. The schema of the metrics is stored - in metrics_schema_uri - name: - type: string - description: Output only. The resource name of the ModelEvaluation. - readOnly: true - explanationSpecs: + Noise sigma per feature. No noise is added to features that are not + set. type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec - description: >- - Describes the values of ExplanationSpec that are used for explaining - the predicted values on the evaluated data. - metadata: + #/components/schemas/GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature + GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature: + id: GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature + description: Noise sigma for a single feature. + type: object + properties: + name: description: >- - The metadata of the ModelEvaluation. For the ModelEvaluation - uploaded from Managed Pipeline, metadata contains a structured value - with keys of "pipeline_job_id", "evaluation_dataset_type", - "evaluation_dataset_path", "row_based_metrics_path". - type: any - createTime: - readOnly: true - type: string - description: Output only. Timestamp when this ModelEvaluation was created. - format: google-datetime - displayName: - description: The display name of the ModelEvaluation. - type: string - metricsSchemaUri: + The name of the input feature for which noise sigma is provided. The + features are defined in explanation metadata inputs. type: string + sigma: description: >- - 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). - GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance: - description: Spec for pairwise summarization quality instance. + This represents the standard deviation of the Gaussian kernel that + will be used to add noise to the feature prior to computing + gradients. Similar to noise_sigma but represents the noise added to + the current feature. Defaults to 0.1. + type: number + format: float + GoogleCloudAiplatformV1BlurBaselineConfig: + id: GoogleCloudAiplatformV1BlurBaselineConfig + description: >- + Config for blur baseline. When enabled, a linear path from the maximally + blurred image to the input image is created. Using a blurred baseline + instead of zero (black image) is motivated by the BlurIG approach + explained here: https://arxiv.org/abs/2004.03383 + type: object properties: - reference: - description: Optional. Ground truth used to compare against the prediction. + maxBlurSigma: + description: >- + The standard deviation of the blur kernel for the blurred baseline. + The same blurring parameter is used for both the height and the + width dimension. If not set, the method defaults to the zero (i.e. + black for images) baseline. + type: number + format: float + GoogleCloudAiplatformV1XraiAttribution: + id: GoogleCloudAiplatformV1XraiAttribution + description: >- + An explanation method that redistributes Integrated Gradients + attributions to segmented regions, taking advantage of the model's fully + differentiable structure. Refer to this paper for more details: + https://arxiv.org/abs/1906.02825 Supported only by image Models. + type: object + properties: + stepCount: + description: >- + Required. The number of steps for approximating the path integral. A + good value to start is 50 and gradually increase until the sum to + diff property is met within the desired error range. Valid range of + its value is [1, 100], inclusively. + type: integer + format: int32 + smoothGradConfig: + description: >- + Config for SmoothGrad approximation of gradients. When enabled, the + gradients are approximated by averaging the gradients from noisy + samples in the vicinity of the inputs. Adding noise can help improve + the computed gradients. Refer to this paper for more details: + https://arxiv.org/pdf/1706.03825.pdf + $ref: '#/components/schemas/GoogleCloudAiplatformV1SmoothGradConfig' + blurBaselineConfig: + description: >- + Config for XRAI with blur baseline. When enabled, a linear path from + the maximally blurred image to the input image is created. Using a + blurred baseline instead of zero (black image) is motivated by the + BlurIG approach explained here: https://arxiv.org/abs/2004.03383 + $ref: '#/components/schemas/GoogleCloudAiplatformV1BlurBaselineConfig' + GoogleCloudAiplatformV1Examples: + id: GoogleCloudAiplatformV1Examples + description: >- + Example-based explainability that returns the nearest neighbors from the + provided dataset. + type: object + properties: + exampleGcsSource: + description: The Cloud Storage input instances. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExamplesExampleGcsSource' + nearestNeighborSearchConfig: + description: >- + The full configuration for the generated index, the semantics are + the same as metadata and should match + [NearestNeighborSearchConfig](https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config). + type: any + presets: + description: >- + Simplified preset configuration, which automatically sets + configuration values based on the desired query speed-precision + trade-off and modality. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Presets' + neighborCount: + description: The number of neighbors to return when querying for examples. + type: integer + format: int32 + GoogleCloudAiplatformV1ExamplesExampleGcsSource: + id: GoogleCloudAiplatformV1ExamplesExampleGcsSource + description: The Cloud Storage input instances. + type: object + properties: + dataFormat: + description: >- + The format in which instances are given, if not specified, assume + it's JSONL format. Currently only JSONL format is supported. type: string - instruction: - description: Required. Summarization prompt for LLM. + enumDescriptions: + - Format unspecified, used when unset. + - Examples are stored in JSONL files. + enum: + - DATA_FORMAT_UNSPECIFIED + - JSONL + gcsSource: + description: The Cloud Storage location for the input instances. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' + GoogleCloudAiplatformV1Presets: + id: GoogleCloudAiplatformV1Presets + description: Preset configuration for example-based explanations + type: object + properties: + query: + description: >- + Preset option controlling parameters for speed-precision trade-off + when querying for examples. If omitted, defaults to `PRECISE`. type: string - prediction: + enumDescriptions: + - More precise neighbors as a trade-off against slower response. + - Faster response as a trade-off against less precise neighbors. + enum: + - PRECISE + - FAST + modality: + description: >- + The modality of the uploaded model, which automatically configures + the distance measurement and feature normalization for the + underlying example index and queries. If your model does not + precisely fit one of these types, it is okay to choose the closest + type. type: string - description: Required. Output of the candidate model. - context: - description: Required. Text to be summarized. + enumDescriptions: + - Should not be set. Added as a recommended best practice for enums + - IMAGE modality + - TEXT modality + - TABULAR modality + enum: + - MODALITY_UNSPECIFIED + - IMAGE + - TEXT + - TABULAR + GoogleCloudAiplatformV1ExplanationMetadata: + id: GoogleCloudAiplatformV1ExplanationMetadata + description: Metadata describing the Model's input and output for explanation. + type: object + properties: + inputs: + description: >- + Required. Map from feature names to feature input metadata. Keys are + the name of the features. Values are the specification of the + feature. An empty InputMetadata is valid. It describes a text + feature which has the name specified as the key in + ExplanationMetadata.inputs. The baseline of the empty feature is + chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the + key can be any friendly name of the feature. Once specified, + featureAttributions are keyed by this key (if not grouped with + another feature). For custom images, the key must match with the key + in instance. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataInputMetadata + outputs: + description: >- + Required. Map from output names to output metadata. For Vertex + AI-provided Tensorflow images, keys can be any user defined string + that consists of any UTF-8 characters. For custom images, keys are + the name of the output field in the prediction to be explained. + Currently only one key is allowed. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata + featureAttributionsSchemaUri: + description: >- + Points to a YAML file stored on Google Cloud Storage describing the + format of the feature attributions. 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 tabular Models always have this field populated by Vertex AI. + Note: The URI given on output may be 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. type: string - baselinePrediction: + latentSpaceSource: + description: >- + Name of the source to generate embeddings for example based + explanations. type: string - description: Required. Output of the baseline model. - id: GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance + GoogleCloudAiplatformV1ExplanationMetadataInputMetadata: + id: GoogleCloudAiplatformV1ExplanationMetadataInputMetadata + description: >- + Metadata of the input of a feature. Fields other than + InputMetadata.input_baselines are applicable only for Models that are + using Vertex AI-provided images for Tensorflow. type: object - GoogleCloudAiplatformV1EvaluateInstancesRequest: - id: GoogleCloudAiplatformV1EvaluateInstancesRequest properties: - summarizationVerbosityInput: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbosityInput - description: Input for summarization verbosity metric. - pointwiseMetricInput: - description: Input for pointwise metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricInput' - summarizationHelpfulnessInput: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessInput - description: Input for summarization helpfulness metric. - questionAnsweringHelpfulnessInput: - description: Input for question answering helpfulness metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput - toolNameMatchInput: - description: Input for tool name match metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchInput' - pairwiseSummarizationQualityInput: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualityInput - description: Input for pairwise summarization quality metric. - toolParameterKvMatchInput: - description: Input for tool parameter key value match metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchInput - exactMatchInput: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchInput' + inputBaselines: description: >- - Auto metric instances. Instances and metric spec for exact match - metric. - pairwiseMetricInput: - description: Input for pairwise metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricInput' - summarizationQualityInput: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationQualityInput - description: Input for summarization quality metric. - pairwiseQuestionAnsweringQualityInput: - description: Input for pairwise question answering quality metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput - fluencyInput: + Baseline inputs for this feature. If no baseline is specified, + Vertex AI chooses the baseline for this feature. If multiple + baselines are specified, Vertex AI returns the average attributions + across them in Attribution.feature_attributions. For Vertex + AI-provided Tensorflow images (both 1.x and 2.x), the shape of each + baseline must match the shape of the input tensor. If a scalar is + provided, we broadcast to the same shape as the input tensor. For + custom images, the element of the baselines must be in the same + format as the feature's input in the instance[]. The schema of any + single instance may be specified via Endpoint's DeployedModels' + Model's PredictSchemata's instance_schema_uri. + type: array + items: + type: any + inputTensorName: description: >- - LLM-based metric instance. General text generation metrics, - applicable to other categories. Input for fluency metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencyInput' - questionAnsweringQualityInput: - description: Input for question answering quality metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualityInput - bleuInput: - description: Instances and metric spec for bleu metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuInput' - toolParameterKeyMatchInput: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchInput - description: Input for tool parameter key match metric. - groundednessInput: - description: Input for groundedness metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessInput' - toolCallValidInput: - description: Tool call metric instances. Input for tool call valid metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidInput' - rougeInput: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeInput' - description: Instances and metric spec for rouge metric. - fulfillmentInput: - description: Input for fulfillment metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentInput' - questionAnsweringCorrectnessInput: + Name of the input tensor for this feature. Required and is only + applicable to Vertex AI-provided images for Tensorflow. + type: string + encoding: + description: >- + Defines how the feature is encoded into the input tensor. Defaults + to IDENTITY. + type: string + enumDescriptions: + - Default value. This is the same as IDENTITY. + - The tensor represents one feature. + - >- + The tensor represents a bag of features where each index maps to a + feature. InputMetadata.index_feature_mapping must be provided for + this encoding. For example: ``` input = [27, 6.0, 150] + index_feature_mapping = ["age", "height", "weight"] ``` + - >- + The tensor represents a bag of features where each index maps to a + feature. Zero values in the tensor indicates feature being + non-existent. InputMetadata.index_feature_mapping must be provided + for this encoding. For example: ``` input = [2, 0, 5, 0, 1] + index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + - >- + The tensor is a list of binaries representing whether a feature + exists or not (1 indicates existence). + InputMetadata.index_feature_mapping must be provided for this + encoding. For example: ``` input = [1, 0, 1, 0, 1] + index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + - >- + The tensor is encoded into a 1-dimensional array represented by an + encoded tensor. InputMetadata.encoded_tensor_name must be provided + for this encoding. For example: ``` input = ["This", "is", "a", + "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + - >- + Select this encoding when the input tensor is encoded into a + 2-dimensional array represented by an encoded tensor. + InputMetadata.encoded_tensor_name must be provided for this + encoding. The first dimension of the encoded tensor's shape is the + same as the input tensor's shape. For example: ``` input = + ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, + 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, + 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + enum: + - ENCODING_UNSPECIFIED + - IDENTITY + - BAG_OF_FEATURES + - BAG_OF_FEATURES_SPARSE + - INDICATOR + - COMBINED_EMBEDDING + - CONCAT_EMBEDDING + modality: + description: >- + Modality of the feature. Valid values are: numeric, image. Defaults + to numeric. + type: string + featureValueDomain: + description: >- + The domain details of the input feature value. Like min/max, + original mean or standard deviation if normalized. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput - description: Input for question answering correctness metric. - coherenceInput: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceInput' - description: Input for coherence metric. - safetyInput: - description: Input for safety metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyInput' - questionAnsweringRelevanceInput: + #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain + indicesTensorName: + description: >- + Specifies the index of the values of the input tensor. Required when + the input tensor is a sparse representation. Refer to Tensorflow + documentation for more details: + https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + type: string + denseShapeTensorName: + description: >- + Specifies the shape of the values of the input if the input is a + sparse representation. Refer to Tensorflow documentation for more + details: + https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + type: string + indexFeatureMapping: + description: >- + A list of feature names for each index in the input tensor. Required + when the input InputMetadata.encoding is BAG_OF_FEATURES, + BAG_OF_FEATURES_SPARSE, INDICATOR. + type: array + items: + type: string + encodedTensorName: + description: >- + Encoded tensor is a transformation of the input tensor. Must be + provided if choosing Integrated Gradients attribution or XRAI + attribution and the input tensor is not differentiable. An encoded + tensor is generated if the input tensor is encoded by a lookup + table. + type: string + encodedBaselines: + description: >- + A list of baselines for the encoded tensor. The shape of each + baseline should match the shape of the encoded tensor. If a scalar + is provided, Vertex AI broadcasts to the same shape as the encoded + tensor. + type: array + items: + type: any + visualization: + description: Visualization configurations for image explanation. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput - description: Input for question answering relevance metric. - description: Request message for EvaluationService.EvaluateInstances. - type: object - GoogleCloudAiplatformV1ToolNameMatchMetricValue: - id: GoogleCloudAiplatformV1ToolNameMatchMetricValue + #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization + groupName: + description: >- + Name of the group that the input belongs to. Features with the same + group name will be treated as one feature when computing + attributions. Features grouped together can have different shapes in + value. If provided, there will be one single attribution generated + in Attribution.feature_attributions, keyed by the group name. + type: string + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain: + id: >- + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain + description: >- + Domain details of the input feature value. Provides numeric information + about the feature, such as its range (min, max). If the feature has been + pre-processed, for example with z-scoring, then it provides information + about how to recover the original feature. For example, if the input + feature is an image and it has been pre-processed to obtain 0-mean and + stddev = 1 values, then original_mean, and original_stddev refer to the + mean and stddev of the original feature (e.g. image tensor) from which + input feature (with mean = 0 and stddev = 1) was obtained. type: object - description: Tool name match metric value for an instance. properties: - score: - description: Output only. Tool name match score. - readOnly: true + minValue: + description: The minimum permissible value for this feature. + type: number format: float + maxValue: + description: The maximum permissible value for this feature. type: number - GoogleCloudAiplatformV1GroundednessInstance: + format: float + originalMean: + description: >- + If this input feature has been normalized to a mean value of 0, the + original_mean specifies the mean value of the domain prior to + normalization. + type: number + format: float + originalStddev: + description: >- + If this input feature has been normalized to a standard deviation of + 1.0, the original_stddev specifies the standard deviation of the + domain prior to normalization. + type: number + format: float + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization: + id: GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization + description: Visualization configurations for image explanation. + type: object properties: - context: + type: + description: >- + Type of the image visualization. Only applicable to Integrated + Gradients attribution. OUTLINES shows regions of attribution, while + PIXELS shows per-pixel attribution. Defaults to OUTLINES. type: string + enumDescriptions: + - Should not be used. + - Shows which pixel contributed to the image prediction. + - >- + Shows which region contributed to the image prediction by + outlining the region. + enum: + - TYPE_UNSPECIFIED + - PIXELS + - OUTLINES + polarity: description: >- - Required. Background information provided in context used to compare - against the prediction. - prediction: - description: Required. Output of the evaluated model. + Whether to only highlight pixels with positive contributions, + negative or both. Defaults to POSITIVE. type: string - id: GoogleCloudAiplatformV1GroundednessInstance - description: Spec for groundedness instance. + enumDescriptions: + - Default value. This is the same as POSITIVE. + - >- + Highlights the pixels/outlines that were most influential to the + model's prediction. + - >- + Setting polarity to negative highlights areas that does not lead + to the models's current prediction. + - Shows both positive and negative attributions. + enum: + - POLARITY_UNSPECIFIED + - POSITIVE + - NEGATIVE + - BOTH + colorMap: + description: >- + The color scheme used for the highlighted areas. Defaults to + PINK_GREEN for Integrated Gradients attribution, which shows + positive attributions in green and negative in pink. Defaults to + VIRIDIS for XRAI attribution, which highlights the most influential + regions in yellow and the least influential in blue. + type: string + enumDescriptions: + - Should not be used. + - 'Positive: green. Negative: pink.' + - >- + Viridis color map: A perceptually uniform color mapping which is + easier to see by those with colorblindness and progresses from + yellow to green to blue. Positive: yellow. Negative: blue. + - 'Positive: red. Negative: red.' + - 'Positive: green. Negative: green.' + - 'Positive: green. Negative: red.' + - PiYG palette. + enum: + - COLOR_MAP_UNSPECIFIED + - PINK_GREEN + - VIRIDIS + - RED + - GREEN + - RED_GREEN + - PINK_WHITE_GREEN + clipPercentUpperbound: + description: >- + Excludes attributions above the specified percentile from the + highlighted areas. Using the clip_percent_upperbound and + clip_percent_lowerbound together can be useful for filtering out + noise and making it easier to see areas of strong attribution. + Defaults to 99.9. + type: number + format: float + clipPercentLowerbound: + description: >- + Excludes attributions below the specified percentile, from the + highlighted areas. Defaults to 62. + type: number + format: float + overlayType: + description: >- + How the original image is displayed in the visualization. Adjusting + the overlay can help increase visual clarity if the original image + makes it difficult to view the visualization. Defaults to NONE. + type: string + enumDescriptions: + - Default value. This is the same as NONE. + - No overlay. + - The attributions are shown on top of the original image. + - >- + The attributions are shown on top of grayscaled version of the + original image. + - >- + The attributions are used as a mask to reveal predictive parts of + the image and hide the un-predictive parts. + enum: + - OVERLAY_TYPE_UNSPECIFIED + - NONE + - ORIGINAL + - GRAYSCALE + - MASK_BLACK + GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata: + id: GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata + description: Metadata of the prediction output to be explained. type: object - GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse: - id: GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse - description: Response message for JobService.ListModelDeploymentMonitoringJobs. properties: - modelDeploymentMonitoringJobs: + indexDisplayNameMapping: description: >- - A list of ModelDeploymentMonitoringJobs that matches the specified - filter in the request. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob - type: array - nextPageToken: + Static mapping between the index and display name. Use this if the + outputs are a deterministic n-dimensional array, e.g. a list of + scores of all the classes in a pre-defined order for a + multi-classification Model. It's not feasible if the outputs are + non-deterministic, e.g. the Model produces top-k classes or sort the + outputs by their values. The shape of the value must be an + n-dimensional array of strings. The number of dimensions must match + that of the outputs to be explained. The + Attribution.output_display_name is populated by locating in the + mapping with Attribution.output_index. + type: any + displayNameMappingKey: + description: >- + Specify a field name in the prediction to look for the display name. + Use this if the prediction contains the display names for the + outputs. The display names in the prediction must have the same + shape of the outputs, so that it can be located by + Attribution.output_index for a specific output. type: string - description: The standard List next-page token. + outputTensorName: + description: >- + Name of the output tensor. Required and is only applicable to Vertex + AI provided images for Tensorflow. + type: string + GoogleCloudAiplatformV1PrivateEndpoints: + id: GoogleCloudAiplatformV1PrivateEndpoints + description: >- + PrivateEndpoints proto is used to provide paths for users to send + requests privately. To send request via private service access, use + predict_http_uri, explain_http_uri or health_http_uri. To send request + via private service connect, use service_attachment. type: object - GoogleCloudAiplatformV1TrialParameter: properties: - value: + predictHttpUri: + description: Output only. Http(s) path to send prediction requests. readOnly: true - description: >- - Output only. The value of the parameter. `number_value` will be set - if a parameter defined in StudySpec is in type 'INTEGER', 'DOUBLE' - or 'DISCRETE'. `string_value` will be set if a parameter defined in - StudySpec is in type 'CATEGORICAL'. - type: any - parameterId: + type: string + explainHttpUri: + description: Output only. Http(s) path to send explain requests. readOnly: true + type: string + healthHttpUri: + description: Output only. Http(s) path to send health check requests. + readOnly: true + type: string + serviceAttachment: description: >- - Output only. The ID of the parameter. The parameter should be - defined in StudySpec's Parameters. + Output only. The name of the service attachment resource. Populated + if private service connect is enabled. + readOnly: true type: string - id: GoogleCloudAiplatformV1TrialParameter + GoogleCloudAiplatformV1DeployedModelRef: + id: GoogleCloudAiplatformV1DeployedModelRef + description: Points to a DeployedModel. type: object - description: A message representing a parameter to be tuned. - GoogleCloudAiplatformV1ReadTensorboardSizeResponse: properties: - storageSizeByte: - format: int64 - description: Payload storage size for the TensorBoard + endpoint: + description: Immutable. A resource name of an Endpoint. type: string + deployedModelId: + description: Immutable. An ID of a DeployedModel in the above Endpoint. + type: string + GoogleCloudAiplatformV1Endpoint: + id: GoogleCloudAiplatformV1Endpoint + description: >- + Models are deployed into it, and afterwards Endpoint is called to obtain + predictions and explanations. type: object - description: Response message for TensorboardService.ReadTensorboardSize. - id: GoogleCloudAiplatformV1ReadTensorboardSizeResponse - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig: - id: >- - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig - type: object - description: The config for Prediction data drift detection. properties: - attributionScoreDriftThresholds: - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + name: + description: Output only. The resource name of the Endpoint. + readOnly: true + type: string + displayName: description: >- - Key is the feature name and value is the threshold. The threshold - here is against attribution score distance between different time - windows. - type: object - driftThresholds: + Required. The display name of the Endpoint. The name can be up to + 128 characters long and can consist of any UTF-8 characters. + type: string + description: + description: The description of the Endpoint. + type: string + deployedModels: + description: >- + Output only. The models deployed in this Endpoint. To add or remove + DeployedModels use EndpointService.DeployModel and + EndpointService.UndeployModel respectively. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' + trafficSplit: + description: >- + 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. type: object + additionalProperties: + type: integer + format: int32 + etag: description: >- - Key is the feature name and value is the threshold. If a feature - needs to be monitored for drift, a value threshold must be - configured for that feature. The threshold here is against feature - distribution distance between different time windws. + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. + type: string + labels: + description: >- + 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. + type: object additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' - defaultDriftThreshold: + type: string + createTime: + description: Output only. Timestamp when this Endpoint was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this Endpoint was last updated. + readOnly: true + type: string + format: google-datetime + encryptionSpec: description: >- - Drift anomaly detection threshold used by all features. When the - per-feature thresholds are not set, this field can be used to - specify a threshold for all features. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' - GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse: - id: GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse + Customer-managed encryption key spec for an Endpoint. If set, this + Endpoint and all sub-resources of this Endpoint will be secured by + this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + network: + description: >- + 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. + type: string + enablePrivateServiceConnect: + description: >- + Deprecated: If true, expose the Endpoint via private service + connect. Only one of the fields, network or + enable_private_service_connect, can be set. + deprecated: true + type: boolean + privateServiceConnectConfig: + description: >- + Optional. Configuration for private service connect. network and + private_service_connect_config are mutually exclusive. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PrivateServiceConnectConfig + modelDeploymentMonitoringJob: + description: >- + 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}` + readOnly: true + type: string + predictRequestResponseLoggingConfig: + description: Configures the request-response logging for online prediction. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig + dedicatedEndpointEnabled: + description: >- + 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. + type: boolean + dedicatedEndpointDns: + description: >- + 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`. + readOnly: true + type: string + clientConnectionConfig: + description: >- + Configurations that are applied to the endpoint for online + prediction. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ClientConnectionConfig' + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1PrivateServiceConnectConfig: + id: GoogleCloudAiplatformV1PrivateServiceConnectConfig + description: Represents configuration for private service connect. + type: object + properties: + enablePrivateServiceConnect: + description: >- + Required. If true, expose the IndexEndpoint via private service + connect. + type: boolean + projectAllowlist: + description: >- + A list of Projects from which the forwarding rule will target the + service attachment. + type: array + items: + type: string + serviceAttachment: + description: >- + Output only. The name of the generated service attachment resource. + This is only populated if the endpoint is deployed with + PrivateServiceConnect. + readOnly: true + type: string + GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig: + id: GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig + description: Configuration for logging request-response to a BigQuery table. + type: object + properties: + enabled: + description: If logging is enabled or not. + type: boolean + samplingRate: + description: >- + Percentage of requests to be logged, expressed as a fraction in + range(0,1]. + type: number + format: double + bigqueryDestination: + description: >- + BigQuery table for logging. If only given a project, a new dataset + will be created with name `logging__` where will be made + BigQuery-dataset-name compatible (e.g. most special characters will + become underscores). If no table name is given, a new table will be + created with name `request_response_logging` + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' + GoogleCloudAiplatformV1BigQueryDestination: + id: GoogleCloudAiplatformV1BigQueryDestination + description: The BigQuery location for the output content. type: object + properties: + outputUri: + description: >- + Required. BigQuery URI to a project or table, up to 2000 characters + long. When only the project is specified, the Dataset and Table is + created. When the full table reference is specified, the Dataset + must exist and table must not exist. Accepted forms: * BigQuery + path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` + or `bq://projectId.bqDatasetId.bqTableId`. + type: string + GoogleCloudAiplatformV1ClientConnectionConfig: + id: GoogleCloudAiplatformV1ClientConnectionConfig description: >- - Response message for - TensorboardService.BatchReadTensorboardTimeSeriesData. + Configurations (e.g. inference timeout) that are applied on your + endpoints. + type: object properties: - timeSeriesData: - description: The returned time series data. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesData' + inferenceTimeout: + description: Customizable online prediction request timeout. + type: string + format: google-duration + GoogleCloudAiplatformV1ListEndpointsResponse: + id: GoogleCloudAiplatformV1ListEndpointsResponse + description: Response message for EndpointService.ListEndpoints. + type: object + properties: + endpoints: + description: List of Endpoints in the requested page. type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' + nextPageToken: + description: >- + A token to retrieve the next page of results. Pass to + ListEndpointsRequest.page_token to obtain that page. + type: string GoogleCloudAiplatformV1DeployModelRequest: + id: GoogleCloudAiplatformV1DeployModelRequest + description: Request message for EndpointService.DeployModel. type: object properties: deployedModel: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' description: >- Required. The DeployedModel to be created within the Endpoint. Note that Endpoint.traffic_split must be updated for the DeployedModel to start receiving traffic, either as part of this call, or via EndpointService.UpdateEndpoint. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' trafficSplit: description: >- A map from a DeployedModel's ID to the percentage of this Endpoint's @@ -2180,7670 +2607,7363 @@ components: empty, then the Endpoint's traffic_split is not updated. type: object additionalProperties: - format: int32 type: integer - id: GoogleCloudAiplatformV1DeployModelRequest - description: Request message for EndpointService.DeployModel. - GoogleCloudAiplatformV1ModelBaseModelSource: + format: int32 + GoogleCloudAiplatformV1UndeployModelRequest: + id: GoogleCloudAiplatformV1UndeployModelRequest + description: Request message for EndpointService.UndeployModel. type: object properties: - genieSource: - description: Information about the base model of Genie models. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenieSource' - modelGardenSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelGardenSource' - description: Source information of Model Garden models. - description: >- - User input field to specify the base model source. Currently it only - supports specifing the Model Garden models and Genie models. - id: GoogleCloudAiplatformV1ModelBaseModelSource - GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest: - id: GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest + deployedModelId: + description: >- + Required. The ID of the DeployedModel to be undeployed from the + Endpoint. + type: string + trafficSplit: + description: >- + If this field is provided, then the Endpoint's traffic_split will be + overwritten with it. If last DeployedModel is being undeployed from + the Endpoint, the [Endpoint.traffic_split] will always end up empty + when this call returns. A DeployedModel will be successfully + undeployed only if it doesn't have any traffic assigned to it when + this method executes, or if this field unassigns any traffic to it. + type: object + additionalProperties: + type: integer + format: int32 + GoogleCloudAiplatformV1MutateDeployedModelRequest: + id: GoogleCloudAiplatformV1MutateDeployedModelRequest + description: Request message for EndpointService.MutateDeployedModel. type: object - description: >- - Request message for - FeaturestoreOnlineServingService.StreamingFeatureValuesRead. properties: - featureSelector: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + deployedModel: description: >- - Required. Selector choosing Features of the target EntityType. - Feature IDs will be deduplicated. - entityIds: - items: - type: string - type: array + Required. The DeployedModel to be mutated within the Endpoint. Only + the following fields can be mutated: * `min_replica_count` in either + DedicatedResources or AutomaticResources * `max_replica_count` in + either DedicatedResources or AutomaticResources * + autoscaling_metric_specs * `disable_container_logging` (v1 only) * + `enable_container_logging` (v1beta1 only) + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' + updateMask: description: >- - Required. IDs of entities to read Feature values of. The maximum - number of IDs is 100. For example, for a machine learning model - predicting user clicks on a website, an entity ID could be - `user_123`. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation: - properties: - columnName: + Required. The update mask applies to the resource. See + google.protobuf.FieldMask. type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation - description: >- - Training pipeline will perform following transformation functions. * The - text as is--no change to case, punctuation, spelling, tense, and so on. - * Tokenize text to words. Convert each words to a dictionary lookup - index and generate an embedding for each index. Combine the embedding of - all elements into a single embedding using the mean. * Tokenization is - based on unicode script boundaries. * Missing values get their own - lookup index and resulting embedding. * Stop-words receive no special - treatment and are not removed. - type: object - GoogleCloudAiplatformV1DeleteFeatureValuesResponse: - description: Response message for FeaturestoreService.DeleteFeatureValues. - id: GoogleCloudAiplatformV1DeleteFeatureValuesResponse - type: object - properties: - selectTimeRangeAndFeature: - description: Response for request specifying time range and feature - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature - selectEntity: - description: Response for request specifying the entities to delete - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics: - description: Model evaluation metrics for text sentiment problems. + format: google-fieldmask + GoogleCloudAiplatformV1EvaluateInstancesRequest: + id: GoogleCloudAiplatformV1EvaluateInstancesRequest + description: Request message for EvaluationService.EvaluateInstances. type: object properties: - meanAbsoluteError: - type: number - format: float - description: >- - Mean absolute error. Only set for ModelEvaluations, not for - ModelEvaluationSlices. - quadraticKappa: - format: float - description: >- - Quadratic weighted kappa. Only set for ModelEvaluations, not for - ModelEvaluationSlices. - type: number - linearKappa: + exactMatchInput: description: >- - Linear weighted kappa. Only set for ModelEvaluations, not for - ModelEvaluationSlices. - type: number - format: float - recall: - type: number - format: float - description: Recall. - meanSquaredError: - format: float - type: number + Auto metric instances. Instances and metric spec for exact match + metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchInput' + bleuInput: + description: Instances and metric spec for bleu metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuInput' + rougeInput: + description: Instances and metric spec for rouge metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeInput' + fluencyInput: description: >- - Mean squared error. Only set for ModelEvaluations, not for - ModelEvaluationSlices. - precision: - format: float - description: Precision. - type: number - f1Score: - format: float - type: number - description: The harmonic mean of recall and precision. - confusionMatrix: + LLM-based metric instance. General text generation metrics, + applicable to other categories. Input for fluency metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencyInput' + coherenceInput: + description: Input for coherence metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceInput' + safetyInput: + description: Input for safety metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyInput' + groundednessInput: + description: Input for groundedness metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessInput' + fulfillmentInput: + description: Input for fulfillment metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentInput' + summarizationQualityInput: + description: Input for summarization quality metric. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix - description: >- - Confusion matrix of the evaluation. Only set for ModelEvaluations, - not for ModelEvaluationSlices. - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics - GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult: - description: Spec for question answering correctness result. - id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult + #/components/schemas/GoogleCloudAiplatformV1SummarizationQualityInput + pairwiseSummarizationQualityInput: + description: Input for pairwise summarization quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualityInput + summarizationHelpfulnessInput: + description: Input for summarization helpfulness metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessInput + summarizationVerbosityInput: + description: Input for summarization verbosity metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbosityInput + questionAnsweringQualityInput: + description: Input for question answering quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualityInput + pairwiseQuestionAnsweringQualityInput: + description: Input for pairwise question answering quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput + questionAnsweringRelevanceInput: + description: Input for question answering relevance metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput + questionAnsweringHelpfulnessInput: + description: Input for question answering helpfulness metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput + questionAnsweringCorrectnessInput: + description: Input for question answering correctness metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput + pointwiseMetricInput: + description: Input for pointwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricInput' + pairwiseMetricInput: + description: Input for pairwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricInput' + toolCallValidInput: + description: Tool call metric instances. Input for tool call valid metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidInput' + toolNameMatchInput: + description: Input for tool name match metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchInput' + toolParameterKeyMatchInput: + description: Input for tool parameter key match metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchInput + toolParameterKvMatchInput: + description: Input for tool parameter key value match metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchInput + GoogleCloudAiplatformV1ExactMatchInput: + id: GoogleCloudAiplatformV1ExactMatchInput + description: Input for exact match metric. type: object properties: - score: - description: Output only. Question Answering Correctness score. - readOnly: true - type: number - format: float - explanation: - description: Output only. Explanation for question answering correctness score. - readOnly: true - type: string - confidence: - format: float - description: Output only. Confidence for question answering correctness score. - readOnly: true - type: number - GoogleCloudAiplatformV1Trial: + metricSpec: + description: Required. Spec for exact match metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchSpec' + instances: + description: Required. Repeated exact match instances. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchInstance' + GoogleCloudAiplatformV1ExactMatchSpec: + id: GoogleCloudAiplatformV1ExactMatchSpec description: >- - A message representing a Trial. A Trial contains a unique set of - Parameters that has been or will be evaluated, along with the objective - metrics got by running the Trial. + Spec for exact match metric - returns 1 if prediction and reference + exactly matches, otherwise 0. + type: object + properties: {} + GoogleCloudAiplatformV1ExactMatchInstance: + id: GoogleCloudAiplatformV1ExactMatchInstance + description: Spec for exact match instance. type: object - id: GoogleCloudAiplatformV1Trial properties: - id: - type: string - readOnly: true - description: Output only. The identifier of the Trial assigned by the service. - clientId: + prediction: + description: Required. Output of the evaluated model. type: string - description: >- - Output only. The identifier of the client that originally requested - this Trial. Each client is identified by a unique client_id. When a - client asks for a suggestion, Vertex AI Vizier will assign it a - Trial. The client should evaluate the Trial, complete it, and report - back to Vertex AI Vizier. If suggestion is asked again by same - client_id before the Trial is completed, the same Trial will be - returned. Multiple clients with different client_ids can ask for - suggestions simultaneously, each of them will get their own Trial. - readOnly: true - name: + reference: + description: Required. Ground truth used to compare against the prediction. type: string - readOnly: true - description: Output only. Resource name of the Trial assigned by the service. - customJob: + GoogleCloudAiplatformV1BleuInput: + id: GoogleCloudAiplatformV1BleuInput + description: Input for bleu metric. + type: object + properties: + metricSpec: + description: Required. Spec for bleu score metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuSpec' + instances: + description: Required. Repeated bleu instances. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuInstance' + GoogleCloudAiplatformV1BleuSpec: + id: GoogleCloudAiplatformV1BleuSpec + description: >- + Spec for bleu score metric - calculates the precision of n-grams in the + prediction as compared to reference - returns a score ranging between 0 + to 1. + type: object + properties: + useEffectiveOrder: + description: Optional. Whether to use_effective_order to compute bleu score. + type: boolean + GoogleCloudAiplatformV1BleuInstance: + id: GoogleCloudAiplatformV1BleuInstance + description: Spec for bleu instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. type: string - description: >- - Output only. The CustomJob name linked to the Trial. It's set for a - HyperparameterTuningJob's Trial. - readOnly: true - finalMeasurement: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' - readOnly: true - description: Output only. The final measurement containing the objective value. - startTime: + reference: + description: Required. Ground truth used to compare against the prediction. type: string - description: Output only. Time when the Trial was started. - format: google-datetime - readOnly: true - measurements: + GoogleCloudAiplatformV1RougeInput: + id: GoogleCloudAiplatformV1RougeInput + description: Input for rouge metric. + type: object + properties: + metricSpec: + description: Required. Spec for rouge score metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeSpec' + instances: + description: Required. Repeated rouge instances. type: array - readOnly: true items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' + $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeInstance' + GoogleCloudAiplatformV1RougeSpec: + id: GoogleCloudAiplatformV1RougeSpec + description: >- + Spec for rouge score metric - calculates the recall of n-grams in + prediction as compared to reference - returns a score ranging between 0 + and 1. + type: object + properties: + rougeType: description: >- - Output only. A list of measurements that are strictly - lexicographically ordered by their induced tuples (steps, - elapsed_duration). These are used for early stopping computations. - state: - enum: - - STATE_UNSPECIFIED - - REQUESTED - - ACTIVE - - STOPPING - - SUCCEEDED - - INFEASIBLE - description: Output only. The detailed state of the Trial. + Optional. Supported rouge types are rougen[1-9], rougeL, and + rougeLsum. type: string - readOnly: true - enumDescriptions: - - The Trial state is unspecified. - - >- - Indicates that a specific Trial has been requested, but it has not - yet been suggested by the service. - - Indicates that the Trial has been suggested. - - Indicates that the Trial should stop according to the service. - - Indicates that the Trial is completed successfully. - - >- - Indicates that the Trial should not be attempted again. The - service will set a Trial to INFEASIBLE when it's done but missing - the final_measurement. - endTime: - description: >- - Output only. Time when the Trial's status changed to `SUCCEEDED` or - `INFEASIBLE`. + useStemmer: + description: Optional. Whether to use stemmer to compute rouge score. + type: boolean + splitSummaries: + description: Optional. Whether to split summaries while using rougeLsum. + type: boolean + GoogleCloudAiplatformV1RougeInstance: + id: GoogleCloudAiplatformV1RougeInstance + description: Spec for rouge instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. type: string - readOnly: true - format: google-datetime - webAccessUris: - additionalProperties: - type: string - type: object - readOnly: true - description: >- - 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. - parameters: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrialParameter' - description: Output only. The parameters of the Trial. - readOnly: true - type: array - infeasibleReason: - description: >- - Output only. A human readable string describing why the Trial is - infeasible. This is set only if Trial state is `INFEASIBLE`. + reference: + description: Required. Ground truth used to compare against the prediction. type: string - readOnly: true - GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse: - id: GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse + GoogleCloudAiplatformV1FluencyInput: + id: GoogleCloudAiplatformV1FluencyInput + description: Input for fluency metric. + type: object + properties: + metricSpec: + description: Required. Spec for fluency score metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencySpec' + instance: + description: Required. Fluency instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencyInstance' + GoogleCloudAiplatformV1FluencySpec: + id: GoogleCloudAiplatformV1FluencySpec + description: Spec for fluency score metric. + type: object + properties: + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1FluencyInstance: + id: GoogleCloudAiplatformV1FluencyInstance + description: Spec for fluency instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. + type: string + GoogleCloudAiplatformV1CoherenceInput: + id: GoogleCloudAiplatformV1CoherenceInput + description: Input for coherence metric. + type: object + properties: + metricSpec: + description: Required. Spec for coherence score metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceSpec' + instance: + description: Required. Coherence instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceInstance' + GoogleCloudAiplatformV1CoherenceSpec: + id: GoogleCloudAiplatformV1CoherenceSpec + description: Spec for coherence score metric. type: object properties: - tensorboardRuns: - description: The created TensorboardRuns. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' - description: Response message for TensorboardService.BatchCreateTensorboardRuns. - GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig: - id: GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig - description: Configuration for logging request-response to a BigQuery table. + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1CoherenceInstance: + id: GoogleCloudAiplatformV1CoherenceInstance + description: Spec for coherence instance. + type: object properties: - samplingRate: - description: >- - Percentage of requests to be logged, expressed as a fraction in - range(0,1]. - type: number - format: double - enabled: - description: If logging is enabled or not. - type: boolean - bigqueryDestination: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' - description: >- - BigQuery table for logging. If only given a project, a new dataset - will be created with name `logging__` where will be made - BigQuery-dataset-name compatible (e.g. most special characters will - become underscores). If no table name is given, a new table will be - created with name `request_response_logging` + prediction: + description: Required. Output of the evaluated model. + type: string + GoogleCloudAiplatformV1SafetyInput: + id: GoogleCloudAiplatformV1SafetyInput + description: Input for safety metric. type: object - GoogleCloudAiplatformV1CoherenceResult: - description: Spec for coherence result. + properties: + metricSpec: + description: Required. Spec for safety metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetySpec' + instance: + description: Required. Safety instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyInstance' + GoogleCloudAiplatformV1SafetySpec: + id: GoogleCloudAiplatformV1SafetySpec + description: Spec for safety metric. type: object - id: GoogleCloudAiplatformV1CoherenceResult properties: - confidence: - description: Output only. Confidence for coherence score. - readOnly: true - type: number - format: float - explanation: - description: Output only. Explanation for coherence score. - type: string - readOnly: true - score: - readOnly: true - type: number - description: Output only. Coherence score. - format: float - GoogleCloudAiplatformV1ListSpecialistPoolsResponse: + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1SafetyInstance: + id: GoogleCloudAiplatformV1SafetyInstance + description: Spec for safety instance. + type: object properties: - nextPageToken: + prediction: + description: Required. Output of the evaluated model. type: string - description: The standard List next-page token. - specialistPools: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' - type: array - description: >- - A list of SpecialistPools that matches the specified filter in the - request. - description: Response message for SpecialistPoolService.ListSpecialistPools. - id: GoogleCloudAiplatformV1ListSpecialistPoolsResponse + GoogleCloudAiplatformV1GroundednessInput: + id: GoogleCloudAiplatformV1GroundednessInput + description: Input for groundedness metric. type: object - GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField: - id: GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField + properties: + metricSpec: + description: Required. Spec for groundedness metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessSpec' + instance: + description: Required. Groundedness instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessInstance' + GoogleCloudAiplatformV1GroundednessSpec: + id: GoogleCloudAiplatformV1GroundednessSpec + description: Spec for groundedness metric. type: object properties: - fieldName: - description: >- - Required. The name of the field in the CSV header or the name of the - column in BigQuery table. The naming restriction is the same as - Feature.name. - type: string - description: Describe pass-through fields in read_instance source. - GoogleCloudAiplatformV1ModelOriginalModelInfo: + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1GroundednessInstance: + id: GoogleCloudAiplatformV1GroundednessInstance + description: Spec for groundedness instance. type: object - id: GoogleCloudAiplatformV1ModelOriginalModelInfo - description: Contains information about the original Model if this Model is a copy. properties: - model: + prediction: + description: Required. Output of the evaluated model. type: string + context: description: >- - Output only. The resource name of the Model this Model is a copy of, - including the revision. Format: - `projects/{project}/locations/{location}/models/{model_id}@{version_id}` - readOnly: true - GoogleCloudAiplatformV1Probe: - description: >- - Probe describes a health check to be performed against a container to - determine whether it is alive or ready to receive traffic. + Required. Background information provided in context used to compare + against the prediction. + type: string + GoogleCloudAiplatformV1FulfillmentInput: + id: GoogleCloudAiplatformV1FulfillmentInput + description: Input for fulfillment metric. + type: object properties: - exec: - description: ExecAction probes the health of a container by executing a command. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ProbeExecAction' - timeoutSeconds: - format: int32 - description: >- - Number of seconds after which the probe times out. Defaults to 1 - second. Minimum value is 1. Must be greater or equal to - period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'. + metricSpec: + description: Required. Spec for fulfillment score metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentSpec' + instance: + description: Required. Fulfillment instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentInstance' + GoogleCloudAiplatformV1FulfillmentSpec: + id: GoogleCloudAiplatformV1FulfillmentSpec + description: Spec for fulfillment metric. + type: object + properties: + version: + description: Optional. Which version to use for evaluation. type: integer - periodSeconds: + format: int32 + GoogleCloudAiplatformV1FulfillmentInstance: + id: GoogleCloudAiplatformV1FulfillmentInstance + description: Spec for fulfillment instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. + type: string + instruction: + description: Required. Inference instruction prompt to compare prediction with. + type: string + GoogleCloudAiplatformV1SummarizationQualityInput: + id: GoogleCloudAiplatformV1SummarizationQualityInput + description: Input for summarization quality metric. + type: object + properties: + metricSpec: + description: Required. Spec for summarization quality score metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SummarizationQualitySpec' + instance: + description: Required. Summarization quality instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationQualityInstance + GoogleCloudAiplatformV1SummarizationQualitySpec: + id: GoogleCloudAiplatformV1SummarizationQualitySpec + description: Spec for summarization quality score metric. + type: object + properties: + useReference: description: >- - How often (in seconds) to perform the probe. Default to 10 seconds. - Minimum value is 1. Must be less than timeout_seconds. Maps to - Kubernetes probe argument 'periodSeconds'. + Optional. Whether to use instance.reference to compute summarization + quality. + type: boolean + version: + description: Optional. Which version to use for evaluation. type: integer format: int32 - id: GoogleCloudAiplatformV1Probe - type: object - GoogleCloudAiplatformV1FeatureViewSyncSyncSummary: + GoogleCloudAiplatformV1SummarizationQualityInstance: + id: GoogleCloudAiplatformV1SummarizationQualityInstance + description: Spec for summarization quality instance. type: object - id: GoogleCloudAiplatformV1FeatureViewSyncSyncSummary properties: - rowSynced: - description: Output only. Total number of rows synced. + prediction: + description: Required. Output of the evaluated model. type: string - format: int64 - readOnly: true - systemWatermarkTime: - description: >- - Lower bound of the system time watermark for the sync job. This is - only set for continuously syncing feature views. + reference: + description: Optional. Ground truth used to compare against the prediction. type: string - format: google-datetime - totalSlot: + context: + description: Required. Text to be summarized. type: string - readOnly: true - format: int64 - description: Output only. BigQuery slot milliseconds consumed for the sync job. - description: >- - Summary from the Sync job. For continuous syncs, the summary is updated - periodically. For batch syncs, it gets updated on completion of the - sync. - GoogleCloudAiplatformV1FeatureViewBigQuerySource: - id: GoogleCloudAiplatformV1FeatureViewBigQuerySource - properties: - entityIdColumns: - items: - type: string - type: array - description: Required. Columns to construct entity_id / row keys. - uri: - description: >- - Required. The BigQuery view URI that will be materialized on each - sync trigger based on FeatureView.SyncConfig. + instruction: + description: Required. Summarization prompt for LLM. type: string + GoogleCloudAiplatformV1PairwiseSummarizationQualityInput: + id: GoogleCloudAiplatformV1PairwiseSummarizationQualityInput + description: Input for pairwise summarization quality metric. type: object - GoogleCloudAiplatformV1IndexDatapoint: - type: object - description: A datapoint of Index. - id: GoogleCloudAiplatformV1IndexDatapoint properties: - sparseEmbedding: - description: Optional. Feature embedding vector for sparse index. + metricSpec: + description: Required. Spec for pairwise summarization quality score metric. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1IndexDatapointSparseEmbedding - numericRestricts: - description: >- - Optional. List of Restrict of the datapoint, used to perform - "restricted searches" where boolean rule are used to filter the - subset of the database eligible for matching. This uses numeric - comparisons. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1IndexDatapointNumericRestriction - featureVector: - type: array - items: - type: number - format: float - description: >- - Required. Feature embedding vector for dense index. An array of - numbers with the length of [NearestNeighborSearchConfig.dimensions]. - crowdingTag: + #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec + instance: + description: Required. Pairwise summarization quality instance. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1IndexDatapointCrowdingTag - description: >- - Optional. CrowdingTag of the datapoint, the number of neighbors to - return in each crowding can be configured during query. - restricts: - type: array - description: >- - Optional. List of Restrict of the datapoint, used to perform - "restricted searches" where boolean rule are used to filter the - subset of the database eligible for matching. This uses categorical - tokens. See: - https://cloud.google.com/vertex-ai/docs/matching-engine/filtering - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1IndexDatapointRestriction - datapointId: - description: Required. Unique identifier of the datapoint. - type: string - GoogleCloudAiplatformV1RougeMetricValue: - description: Rouge metric value for an instance. + #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance + GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec: + id: GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec + description: Spec for pairwise summarization quality score metric. + type: object properties: - score: - format: float - type: number - description: Output only. Rouge score. - readOnly: true - id: GoogleCloudAiplatformV1RougeMetricValue + useReference: + description: >- + Optional. Whether to use instance.reference to compute pairwise + summarization quality. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance: + id: GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance + description: Spec for pairwise summarization quality instance. type: object - GoogleCloudAiplatformV1CreatePipelineJobRequest: properties: - pipelineJobId: + prediction: + description: Required. Output of the candidate model. type: string - description: >- - The ID to use for the PipelineJob, which will become the final - component of the PipelineJob name. If not provided, an ID will be - automatically generated. This value should be less than 128 - characters, and valid characters are `/a-z-/`. - parent: + baselinePrediction: + description: Required. Output of the baseline model. type: string - description: >- - Required. The resource name of the Location to create the - PipelineJob in. Format: `projects/{project}/locations/{location}` - pipelineJob: - description: Required. The PipelineJob to create. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' - description: Request message for PipelineService.CreatePipelineJob. - id: GoogleCloudAiplatformV1CreatePipelineJobRequest + reference: + description: Optional. Ground truth used to compare against the prediction. + type: string + context: + description: Required. Text to be summarized. + type: string + instruction: + description: Required. Summarization prompt for LLM. + type: string + GoogleCloudAiplatformV1SummarizationHelpfulnessInput: + id: GoogleCloudAiplatformV1SummarizationHelpfulnessInput + description: Input for summarization helpfulness metric. type: object - GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView: - description: Entity view with Feature values. + properties: + metricSpec: + description: Required. Spec for summarization helpfulness score metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessSpec + instance: + description: Required. Summarization helpfulness instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessInstance + GoogleCloudAiplatformV1SummarizationHelpfulnessSpec: + id: GoogleCloudAiplatformV1SummarizationHelpfulnessSpec + description: Spec for summarization helpfulness score metric. type: object properties: - data: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData - type: array + useReference: description: >- - Each piece of data holds the k requested values for one requested - Feature. If no values for the requested Feature exist, the - corresponding cell will be empty. This has the same size and is in - the same order as the features from the header - ReadFeatureValuesResponse.header. - entityId: + Optional. Whether to use instance.reference to compute summarization + helpfulness. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1SummarizationHelpfulnessInstance: + id: GoogleCloudAiplatformV1SummarizationHelpfulnessInstance + description: Spec for summarization helpfulness instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. type: string - description: ID of the requested entity. - id: GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView - GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput: - id: GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput - description: The output of a multi-trial Neural Architecture Search (NAS) jobs. + reference: + description: Optional. Ground truth used to compare against the prediction. + type: string + context: + description: Required. Text to be summarized. + type: string + instruction: + description: Optional. Summarization prompt for LLM. + type: string + GoogleCloudAiplatformV1SummarizationVerbosityInput: + id: GoogleCloudAiplatformV1SummarizationVerbosityInput + description: Input for summarization verbosity metric. + type: object properties: - trainTrials: - description: >- - Output only. List of NasTrials that were started as part of train - stage. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' - readOnly: true - type: array - searchTrials: - readOnly: true + metricSpec: + description: Required. Spec for summarization verbosity score metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbositySpec + instance: + description: Required. Summarization verbosity instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbosityInstance + GoogleCloudAiplatformV1SummarizationVerbositySpec: + id: GoogleCloudAiplatformV1SummarizationVerbositySpec + description: Spec for summarization verbosity score metric. + type: object + properties: + useReference: description: >- - Output only. List of NasTrials that were started as part of search - stage. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' + Optional. Whether to use instance.reference to compute summarization + verbosity. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1SummarizationVerbosityInstance: + id: GoogleCloudAiplatformV1SummarizationVerbosityInstance + description: Spec for summarization verbosity instance. type: object - GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode: properties: - modelRoutingPreference: - enum: - - UNKNOWN - - PRIORITIZE_QUALITY - - BALANCED - - PRIORITIZE_COST + prediction: + description: Required. Output of the evaluated model. type: string - enumDescriptions: - - Unspecified model routing preference. - - Prefer higher quality over low cost. - - Balanced model routing preference. - - Prefer lower cost over higher quality. - description: The model routing preference. - description: >- - When automated routing is specified, the routing will be determined by - the pretrained routing model and customer provided model routing - preference. + reference: + description: Optional. Ground truth used to compare against the prediction. + type: string + context: + description: Required. Text to be summarized. + type: string + instruction: + description: Optional. Summarization prompt for LLM. + type: string + GoogleCloudAiplatformV1QuestionAnsweringQualityInput: + id: GoogleCloudAiplatformV1QuestionAnsweringQualityInput + description: Input for question answering quality metric. + type: object + properties: + metricSpec: + description: Required. Spec for question answering quality score metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualitySpec + instance: + description: Required. Question answering quality instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualityInstance + GoogleCloudAiplatformV1QuestionAnsweringQualitySpec: + id: GoogleCloudAiplatformV1QuestionAnsweringQualitySpec + description: Spec for question answering quality score metric. + type: object + properties: + useReference: + description: >- + Optional. Whether to use instance.reference to compute question + answering quality. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1QuestionAnsweringQualityInstance: + id: GoogleCloudAiplatformV1QuestionAnsweringQualityInstance + description: Spec for question answering quality instance. type: object - id: GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode - GoogleCloudAiplatformV1IndexDatapointRestriction: - description: >- - Restriction of a datapoint which describe its attributes(tokens) from - each of several attribute categories(namespaces). properties: - denyList: - type: array - description: 'The attributes to deny in this namespace. e.g.: ''blue''' - items: - type: string - namespace: - description: 'The namespace of this restriction. e.g.: color.' + prediction: + description: Required. Output of the evaluated model. type: string - allowList: - description: 'The attributes to allow in this namespace. e.g.: ''red''' - items: - type: string - type: array - id: GoogleCloudAiplatformV1IndexDatapointRestriction + reference: + description: Optional. Ground truth used to compare against the prediction. + type: string + context: + description: Required. Text to answer the question. + type: string + instruction: + description: Required. Question Answering prompt for LLM. + type: string + GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput: + id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput + description: Input for pairwise question answering quality metric. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs: properties: - contextWindow: - description: >- - The amount of time into the past training and prediction data is - used for model training and prediction respectively. Expressed in - number of units defined by the `data_granularity` field. - format: int64 - type: string - optimizationObjective: + metricSpec: + description: Required. Spec for pairwise question answering quality score metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec + instance: + description: Required. Pairwise question answering quality instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance + GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec: + id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec + description: Spec for pairwise question answering quality score metric. + type: object + properties: + useReference: description: >- - Objective function the model is optimizing towards. The training - process creates a model that optimizes the value of the objective - function over the validation set. The supported optimization - objectives: * "minimize-rmse" (default) - Minimize root-mean-squared - error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). - * "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). * - "minimize-rmspe" - Minimize root-mean-squared percentage error - (RMSPE). * "minimize-wape-mae" - Minimize the combination of - weighted absolute percentage error (WAPE) and mean-absolute-error - (MAE). * "minimize-quantile-loss" - Minimize the quantile loss at - the quantiles defined in `quantiles`. * "minimize-mape" - Minimize - the mean absolute percentage error. + Optional. Whether to use instance.reference to compute question + answering quality. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance: + id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance + description: Spec for pairwise question answering quality instance. + type: object + properties: + prediction: + description: Required. Output of the candidate model. type: string - timeSeriesAttributeColumns: - type: array - items: - type: string - description: >- - Column names that should be used as attribute columns. The value of - these columns does not vary as a function of time. For example, - store ID or item color. - timeSeriesIdentifierColumn: - description: The name of the column that identifies the time series. + baselinePrediction: + description: Required. Output of the baseline model. type: string - timeColumn: - description: >- - The name of the column that identifies time order in the time - series. This column must be available at forecast. + reference: + description: Optional. Ground truth used to compare against the prediction. type: string - weightColumn: + context: + description: Required. Text to answer the question. type: string - description: >- - Column name that should be used as the weight column. Higher values - in this column give more importance to the row during model - training. The column must have numeric values between 0 and 10000 - inclusively; 0 means the row is ignored for training. If weight - column field is not set, then all rows are assumed to have equal - weight of 1. This column must be available at forecast. - forecastHorizon: - description: >- - The amount of time into the future for which forecasted values for - the target are returned. Expressed in number of units defined by the - `data_granularity` field. - format: int64 + instruction: + description: Required. Question Answering prompt for LLM. type: string - transformations: - type: array - description: >- - Each transformation will apply transform function to given input - column. And the result will be used for training. When creating - transformation for BigQuery Struct column, the column should be - flattened using "." as the delimiter. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation - hierarchyConfig: + GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput: + id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput + description: Input for question answering relevance metric. + type: object + properties: + metricSpec: + description: Required. Spec for question answering relevance score metric. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig - description: >- - Configuration that defines the hierarchical relationship of time - series and parameters for hierarchical forecasting strategies. - targetColumn: + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec + instance: + description: Required. Question answering relevance instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance + GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec: + id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec + description: Spec for question answering relevance metric. + type: object + properties: + useReference: description: >- - The name of the column that the Model is to predict values for. This - column must be unavailable at forecast. + Optional. Whether to use instance.reference to compute question + answering relevance. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance: + id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance + description: Spec for question answering relevance instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. type: string - unavailableAtForecastColumns: - items: - type: string - description: >- - Names of columns that are unavailable when a forecast is requested. - This column contains information for the given entity (identified by - the time_series_identifier_column) that is unknown before the - forecast For example, actual weather on a given day. - type: array - additionalExperiments: - items: - type: string - description: Additional experiment flags for the time series forcasting training. - type: array - validationOptions: + reference: + description: Optional. Ground truth used to compare against the prediction. type: string + context: + description: Optional. Text provided as context to answer the question. + type: string + instruction: description: >- - Validation options for the data validation component. The available - options are: * "fail-pipeline" - default, will validate against the - validation and fail the pipeline if it fails. * "ignore-validation" - - ignore the results of the validation and continue - holidayRegions: - description: >- - The geographical region based on which the holiday effect is applied - in modeling by adding holiday categorical array feature that include - all holidays matching the date. This option only allowed when - data_granularity is day. By default, holiday effect modeling is - disabled. To turn it on, specify the holiday region using this - option. - items: - type: string - type: array - exportEvaluatedDataItemsConfig: - description: >- - Configuration for exporting test set predictions to a BigQuery - table. If this configuration is absent, then the export is not - performed. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig - availableAtForecastColumns: - description: >- - Names of columns that are available and provided when a forecast is - requested. These columns contain information for the given entity - (identified by the time_series_identifier_column column) that is - known at forecast. For example, predicted weather for a specific - day. - items: - type: string - type: array - windowConfig: + Required. The question asked and other instruction in the inference + prompt. + type: string + GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput: + id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput + description: Input for question answering helpfulness metric. + type: object + properties: + metricSpec: + description: Required. Spec for question answering helpfulness score metric. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig - description: Config containing strategy for generating sliding windows. - dataGranularity: + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec + instance: + description: Required. Question answering helpfulness instance. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity - description: Expected difference in time granularity between rows in the data. - quantiles: - type: array + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance + GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec: + id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec + description: Spec for question answering helpfulness metric. + type: object + properties: + useReference: description: >- - Quantiles to use for minimize-quantile-loss - `optimization_objective`. Up to 5 quantiles are allowed of values - between 0 and 1, exclusive. Required if the value of - optimization_objective is minimize-quantile-loss. Represents the - percent quantiles to use for that objective. Quantiles must be - unique. - items: - format: double - type: number - trainBudgetMilliNodeHours: + Optional. Whether to use instance.reference to compute question + answering helpfulness. + type: boolean + version: + description: Optional. Which version to use for evaluation. + type: integer + format: int32 + GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance: + id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance + description: Spec for question answering helpfulness instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. type: string - format: int64 + reference: + description: Optional. Ground truth used to compare against the prediction. + type: string + context: + description: Optional. Text provided as context to answer the question. + type: string + instruction: description: >- - Required. The train budget of creating this model, expressed in - milli node hours i.e. 1,000 value in this field means 1 node hour. - The training cost of the model will not exceed this budget. The - final cost will be attempted to be close to the budget, though may - end up being (even) noticeably smaller - at the backend's - discretion. This especially may happen when further model training - ceases to provide any improvements. If the budget is set to a value - known to be insufficient to train a model for the given dataset, the - training won't be attempted and will error. The train budget must be - between 1,000 and 72,000 milli node hours, inclusive. + Required. The question asked and other instruction in the inference + prompt. + type: string + GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput: + id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput + description: Input for question answering correctness metric. type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs - GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec: + properties: + metricSpec: + description: Required. Spec for question answering correctness score metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec + instance: + description: Required. Question answering correctness instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance + GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec: + id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec + description: Spec for question answering correctness metric. type: object properties: - trainTrialJobSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + useReference: description: >- - Required. The spec of a train trial job. The same spec applies to - all train trials. - maxParallelTrialCount: - description: Required. The maximum number of trials to run in parallel. - format: int32 - type: integer - frequency: + Optional. Whether to use instance.reference to compute question + answering correctness. + type: boolean + version: + description: Optional. Which version to use for evaluation. type: integer format: int32 - description: >- - Required. Frequency of search trials to start train stage. Top N - [TrainTrialSpec.max_parallel_trial_count] search trials will be - trained for every M [TrainTrialSpec.frequency] trials searched. - id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec - description: Represent spec for train trials. - GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange: - properties: - low: - description: Inclusive low value for the range. - format: float - type: number - high: - format: float - type: number - description: Exclusive high value for the range. - type: object - id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange - description: A range of values for slice(s). `low` is inclusive, `high` is exclusive. - GoogleCloudAiplatformV1MetadataStoreDataplexConfig: + GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance: + id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance + description: Spec for question answering correctness instance. type: object - id: GoogleCloudAiplatformV1MetadataStoreDataplexConfig properties: - enabledPipelinesLineage: - type: boolean + prediction: + description: Required. Output of the evaluated model. + type: string + reference: + description: Optional. Ground truth used to compare against the prediction. + type: string + context: + description: Optional. Text provided as context to answer the question. + type: string + instruction: description: >- - Optional. Whether or not Data Lineage synchronization is enabled for - Vertex Pipelines. - description: Represents Dataplex integration settings. - GoogleCloudAiplatformV1MergeVersionAliasesRequest: - description: Request message for ModelService.MergeVersionAliases. + Required. The question asked and other instruction in the inference + prompt. + type: string + GoogleCloudAiplatformV1PointwiseMetricInput: + id: GoogleCloudAiplatformV1PointwiseMetricInput + description: Input for pointwise metric. + type: object properties: - versionAliases: - items: - type: string - type: array - description: >- - Required. The set of version aliases to merge. The alias should be - at most 128 characters, and match `a-z{0,126}[a-z-0-9]`. Add the `-` - prefix to an alias means removing that alias from the version. `-` - is NOT counted in the 128 characters. Example: `-golden` means - removing the `golden` alias from the version. There is NO ordering - in aliases, which means 1) The aliases returned from GetModel API - might not have the exactly same order from this MergeVersionAliases - API. 2) Adding and deleting the same alias in the request is not - recommended, and the 2 operations will be cancelled out. + metricSpec: + description: Required. Spec for pointwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricSpec' + instance: + description: Required. Pointwise metric instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricInstance' + GoogleCloudAiplatformV1PointwiseMetricSpec: + id: GoogleCloudAiplatformV1PointwiseMetricSpec + description: Spec for pointwise metric. type: object - id: GoogleCloudAiplatformV1MergeVersionAliasesRequest - GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse: + properties: + metricPromptTemplate: + description: Required. Metric prompt template for pointwise metric. + type: string + GoogleCloudAiplatformV1PointwiseMetricInstance: + id: GoogleCloudAiplatformV1PointwiseMetricInstance + description: >- + Pointwise metric instance. Usually one instance corresponds to one row + in an evaluation dataset. type: object - description: Response message for TensorboardService.ExportTensorboardTimeSeriesData. properties: - timeSeriesDataPoints: - description: The returned time series data points. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesDataPoint' - type: array - nextPageToken: + jsonInstance: description: >- - A token, which can be sent as page_token to retrieve the next page. - If this field is omitted, there are no subsequent pages. + Instance specified as a json string. String key-value pairs are + expected in the json_instance to render + PointwiseMetricSpec.instance_prompt_template. type: string - id: GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse - GoogleTypeExpr: + GoogleCloudAiplatformV1PairwiseMetricInput: + id: GoogleCloudAiplatformV1PairwiseMetricInput + description: Input for pairwise metric. type: object properties: - title: - type: string - description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - expression: + metricSpec: + description: Required. Spec for pairwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricSpec' + instance: + description: Required. Pairwise metric instance. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricInstance' + GoogleCloudAiplatformV1PairwiseMetricSpec: + id: GoogleCloudAiplatformV1PairwiseMetricSpec + description: Spec for pairwise metric. + type: object + properties: + metricPromptTemplate: + description: Required. Metric prompt template for pairwise metric. type: string + GoogleCloudAiplatformV1PairwiseMetricInstance: + id: GoogleCloudAiplatformV1PairwiseMetricInstance + description: >- + Pairwise metric instance. Usually one instance corresponds to one row in + an evaluation dataset. + type: object + properties: + jsonInstance: description: >- - Textual representation of an expression in Common Expression - Language syntax. - description: + Instance specified as a json string. String key-value pairs are + expected in the json_instance to render + PairwiseMetricSpec.instance_prompt_template. type: string - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - location: + GoogleCloudAiplatformV1ToolCallValidInput: + id: GoogleCloudAiplatformV1ToolCallValidInput + description: Input for tool call valid metric. + type: object + properties: + metricSpec: + description: Required. Spec for tool call valid metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidSpec' + instances: + description: Required. Repeated tool call valid instances. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidInstance' + GoogleCloudAiplatformV1ToolCallValidSpec: + id: GoogleCloudAiplatformV1ToolCallValidSpec + description: Spec for tool call valid metric. + type: object + properties: {} + GoogleCloudAiplatformV1ToolCallValidInstance: + id: GoogleCloudAiplatformV1ToolCallValidInstance + description: Spec for tool call valid instance. + type: object + properties: + prediction: + description: Required. Output of the evaluated model. type: string - description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. - id: GoogleTypeExpr - GoogleCloudAiplatformV1SyncFeatureViewRequest: + reference: + description: Required. Ground truth used to compare against the prediction. + type: string + GoogleCloudAiplatformV1ToolNameMatchInput: + id: GoogleCloudAiplatformV1ToolNameMatchInput + description: Input for tool name match metric. type: object - description: Request message for FeatureOnlineStoreAdminService.SyncFeatureView. - id: GoogleCloudAiplatformV1SyncFeatureViewRequest - properties: {} - GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig: - description: The configuration for grounding checking. properties: - sources: + metricSpec: + description: Required. Spec for tool name match metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchSpec' + instances: + description: Required. Repeated tool name match instances. type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry - description: The sources for the grounding checking. - disableAttribution: - description: >- - If set, skip finding claim attributions (i.e not generate grounding - citation). - type: boolean - deprecated: true - id: GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchInstance' + GoogleCloudAiplatformV1ToolNameMatchSpec: + id: GoogleCloudAiplatformV1ToolNameMatchSpec + description: Spec for tool name match metric. type: object - GoogleCloudAiplatformV1Presets: - id: GoogleCloudAiplatformV1Presets + properties: {} + GoogleCloudAiplatformV1ToolNameMatchInstance: + id: GoogleCloudAiplatformV1ToolNameMatchInstance + description: Spec for tool name match instance. type: object - description: Preset configuration for example-based explanations properties: - modality: - enum: - - MODALITY_UNSPECIFIED - - IMAGE - - TEXT - - TABULAR + prediction: + description: Required. Output of the evaluated model. type: string - enumDescriptions: - - Should not be set. Added as a recommended best practice for enums - - IMAGE modality - - TEXT modality - - TABULAR modality - description: >- - The modality of the uploaded model, which automatically configures - the distance measurement and feature normalization for the - underlying example index and queries. If your model does not - precisely fit one of these types, it is okay to choose the closest - type. - query: - enum: - - PRECISE - - FAST - description: >- - Preset option controlling parameters for speed-precision trade-off - when querying for examples. If omitted, defaults to `PRECISE`. + reference: + description: Required. Ground truth used to compare against the prediction. type: string - enumDescriptions: - - More precise neighbors as a trade-off against slower response. - - Faster response as a trade-off against less precise neighbors. - GoogleCloudAiplatformV1ToolParameterKeyMatchSpec: + GoogleCloudAiplatformV1ToolParameterKeyMatchInput: + id: GoogleCloudAiplatformV1ToolParameterKeyMatchInput + description: Input for tool parameter key match metric. type: object - description: Spec for tool parameter key match metric. + properties: + metricSpec: + description: Required. Spec for tool parameter key match metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchSpec + instances: + description: Required. Repeated tool parameter key match instances. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchInstance + GoogleCloudAiplatformV1ToolParameterKeyMatchSpec: id: GoogleCloudAiplatformV1ToolParameterKeyMatchSpec + description: Spec for tool parameter key match metric. + type: object properties: {} - CloudAiLargeModelsVisionRaiInfoDetectedLabels: + GoogleCloudAiplatformV1ToolParameterKeyMatchInstance: + id: GoogleCloudAiplatformV1ToolParameterKeyMatchInstance + description: Spec for tool parameter key match instance. type: object - description: Filters returning list of deteceted labels, scores, and bounding boxes. properties: - raiCategory: - description: The RAI category for the deteceted labels. + prediction: + description: Required. Output of the evaluated model. type: string - entities: + reference: + description: Required. Ground truth used to compare against the prediction. + type: string + GoogleCloudAiplatformV1ToolParameterKVMatchInput: + id: GoogleCloudAiplatformV1ToolParameterKVMatchInput + description: Input for tool parameter key value match metric. + type: object + properties: + metricSpec: + description: Required. Spec for tool parameter key value match metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchSpec' + instances: + description: Required. Repeated tool parameter key value match instances. + type: array items: $ref: >- - #/components/schemas/CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity - description: The list of detected entities for the rai signal. - type: array - id: CloudAiLargeModelsVisionRaiInfoDetectedLabels - GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata: + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchInstance + GoogleCloudAiplatformV1ToolParameterKVMatchSpec: + id: GoogleCloudAiplatformV1ToolParameterKVMatchSpec + description: Spec for tool parameter key value match metric. + type: object properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Featurestore. - description: Details of operations that perform create Featurestore. - id: GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata + useStrictStringMatch: + description: Optional. Whether to use STRICT string match on parameter values. + type: boolean + GoogleCloudAiplatformV1ToolParameterKVMatchInstance: + id: GoogleCloudAiplatformV1ToolParameterKVMatchInstance + description: Spec for tool parameter key value match instance. type: object - GoogleCloudAiplatformV1MigratableResourceAutomlDataset: properties: - datasetDisplayName: + prediction: + description: Required. Output of the evaluated model. type: string - description: The Dataset's display name in automl.googleapis.com. - dataset: - description: >- - Full resource name of automl Dataset. Format: - `projects/{project}/locations/{location}/datasets/{dataset}`. + reference: + description: Required. Ground truth used to compare against the prediction. type: string - id: GoogleCloudAiplatformV1MigratableResourceAutomlDataset + GoogleCloudAiplatformV1EvaluateInstancesResponse: + id: GoogleCloudAiplatformV1EvaluateInstancesResponse + description: Response message for EvaluationService.EvaluateInstances. type: object - description: Represents one Dataset in automl.googleapis.com. - GoogleCloudAiplatformV1ExamplesExampleGcsSource: properties: - gcsSource: - description: The Cloud Storage location for the input instances. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' - dataFormat: - enumDescriptions: - - Format unspecified, used when unset. - - Examples are stored in JSONL files. - enum: - - DATA_FORMAT_UNSPECIFIED - - JSONL - type: string + exactMatchResults: + description: Auto metric evaluation results. Results for exact match metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchResults' + bleuResults: + description: Results for bleu metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuResults' + rougeResults: + description: Results for rouge metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeResults' + fluencyResult: description: >- - The format in which instances are given, if not specified, assume - it's JSONL format. Currently only JSONL format is supported. - description: The Cloud Storage input instances. - id: GoogleCloudAiplatformV1ExamplesExampleGcsSource + LLM-based metric evaluation result. General text generation metrics, + applicable to other categories. Result for fluency metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencyResult' + coherenceResult: + description: Result for coherence metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceResult' + safetyResult: + description: Result for safety metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyResult' + groundednessResult: + description: Result for groundedness metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessResult' + fulfillmentResult: + description: Result for fulfillment metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentResult' + summarizationQualityResult: + description: Summarization only metrics. Result for summarization quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationQualityResult + pairwiseSummarizationQualityResult: + description: Result for pairwise summarization quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualityResult + summarizationHelpfulnessResult: + description: Result for summarization helpfulness metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessResult + summarizationVerbosityResult: + description: Result for summarization verbosity metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbosityResult + questionAnsweringQualityResult: + description: >- + Question answering only metrics. Result for question answering + quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualityResult + pairwiseQuestionAnsweringQualityResult: + description: Result for pairwise question answering quality metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult + questionAnsweringRelevanceResult: + description: Result for question answering relevance metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult + questionAnsweringHelpfulnessResult: + description: Result for question answering helpfulness metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult + questionAnsweringCorrectnessResult: + description: Result for question answering correctness metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult + pointwiseMetricResult: + description: Generic metrics. Result for pointwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricResult' + pairwiseMetricResult: + description: Result for pairwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricResult' + toolCallValidResults: + description: Tool call metrics. Results for tool call valid metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidResults' + toolNameMatchResults: + description: Results for tool name match metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchResults' + toolParameterKeyMatchResults: + description: Results for tool parameter key match metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchResults + toolParameterKvMatchResults: + description: Results for tool parameter key value match metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchResults + GoogleCloudAiplatformV1ExactMatchResults: + id: GoogleCloudAiplatformV1ExactMatchResults + description: Results for exact match metric. type: object - GoogleCloudAiplatformV1SafetySpec: properties: - version: - type: integer - format: int32 - description: Optional. Which version to use for evaluation. + exactMatchMetricValues: + description: Output only. Exact match metric values. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchMetricValue' + GoogleCloudAiplatformV1ExactMatchMetricValue: + id: GoogleCloudAiplatformV1ExactMatchMetricValue + description: Exact match metric value for an instance. type: object - id: GoogleCloudAiplatformV1SafetySpec - description: Spec for safety metric. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics: + properties: + score: + description: Output only. Exact match score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1BleuResults: + id: GoogleCloudAiplatformV1BleuResults + description: Results for bleu metric. type: object - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics - description: Metrics for a single confidence threshold. properties: - boundingBoxIou: + bleuMetricValues: + description: Output only. Bleu metric values. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuMetricValue' + GoogleCloudAiplatformV1BleuMetricValue: + id: GoogleCloudAiplatformV1BleuMetricValue + description: Bleu metric value for an instance. + type: object + properties: + score: + description: Output only. Bleu score. + readOnly: true type: number - description: >- - Bounding box intersection-over-union precision. Measures how well - the bounding boxes overlap between each other (e.g. complete overlap - or just barely above iou_threshold). format: float - trackingRecall: + GoogleCloudAiplatformV1RougeResults: + id: GoogleCloudAiplatformV1RougeResults + description: Results for rouge metric. + type: object + properties: + rougeMetricValues: + description: Output only. Rouge metric values. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeMetricValue' + GoogleCloudAiplatformV1RougeMetricValue: + id: GoogleCloudAiplatformV1RougeMetricValue + description: Rouge metric value for an instance. + type: object + properties: + score: + description: Output only. Rouge score. + readOnly: true type: number format: float - description: Tracking recall. - mismatchRate: + GoogleCloudAiplatformV1FluencyResult: + id: GoogleCloudAiplatformV1FluencyResult + description: Spec for fluency result. + type: object + properties: + score: + description: Output only. Fluency score. + readOnly: true type: number - description: >- - Mismatch rate, which measures the tracking consistency, i.e. - correctness of instance ID continuity. format: float - trackingPrecision: + explanation: + description: Output only. Explanation for fluency score. + readOnly: true + type: string + confidence: + description: Output only. Confidence for fluency score. + readOnly: true type: number format: float - description: Tracking precision. - confidenceThreshold: + GoogleCloudAiplatformV1CoherenceResult: + id: GoogleCloudAiplatformV1CoherenceResult + description: Spec for coherence result. + type: object + properties: + score: + description: Output only. Coherence score. + readOnly: true type: number - description: The confidence threshold value used to compute the metrics. format: float - GoogleCloudAiplatformV1ResourcePool: + explanation: + description: Output only. Explanation for coherence score. + readOnly: true + type: string + confidence: + description: Output only. Confidence for coherence score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1SafetyResult: + id: GoogleCloudAiplatformV1SafetyResult + description: Spec for safety result. type: object - id: GoogleCloudAiplatformV1ResourcePool - description: >- - Represents the spec of a group of resources of the same type, for - example machine type, disk, and accelerators, in a PersistentResource. properties: - replicaCount: + score: + description: Output only. Safety score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for safety score. + readOnly: true type: string - description: >- - Optional. The total number of machines to use for this resource - pool. - format: int64 - diskSpec: - description: Optional. Disk spec for the machine in this node pool. - $ref: '#/components/schemas/GoogleCloudAiplatformV1DiskSpec' - usedReplicaCount: + confidence: + description: Output only. Confidence for safety score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1GroundednessResult: + id: GoogleCloudAiplatformV1GroundednessResult + description: Spec for groundedness result. + type: object + properties: + score: + description: Output only. Groundedness score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for groundedness score. + readOnly: true type: string - format: int64 + confidence: + description: Output only. Confidence for groundedness score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1FulfillmentResult: + id: GoogleCloudAiplatformV1FulfillmentResult + description: Spec for fulfillment result. + type: object + properties: + score: + description: Output only. Fulfillment score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for fulfillment score. readOnly: true - description: >- - Output only. The number of machines currently in use by training - jobs for this resource pool. Will replace idle_replica_count. - machineSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' - description: Required. Immutable. The specification of a single machine. - id: type: string - description: >- - Immutable. The unique ID in a PersistentResource for referring to - this resource pool. User can specify it if necessary. Otherwise, - it's generated automatically. - autoscalingSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec - description: >- - Optional. Optional spec to configure GKE or Ray-on-Vertex - autoscaling - GoogleCloudAiplatformV1TuningJob: + confidence: + description: Output only. Confidence for fulfillment score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1SummarizationQualityResult: + id: GoogleCloudAiplatformV1SummarizationQualityResult + description: Spec for summarization quality result. + type: object properties: - state: + score: + description: Output only. Summarization Quality score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for summarization quality score. readOnly: true - description: Output only. The detailed state of the job. - enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED type: string - enumDescriptions: - - The job state is unspecified. - - >- - The job has been just created or resumed and processing has not - yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. - - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. - - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. - - >- - The job is partially succeeded, some results may be missing due to - errors. - tunedModel: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TunedModel' - description: >- - Output only. The tuned model resources assiociated with this - TuningJob. + confidence: + description: Output only. Confidence for summarization quality score. readOnly: true - endTime: + type: number + format: float + GoogleCloudAiplatformV1PairwiseSummarizationQualityResult: + id: GoogleCloudAiplatformV1PairwiseSummarizationQualityResult + description: Spec for pairwise summarization quality result. + type: object + properties: + pairwiseChoice: + description: Output only. Pairwise summarization prediction choice. + readOnly: true + type: string + enumDescriptions: + - Unspecified prediction choice. + - Baseline prediction wins + - Candidate prediction wins + - Winner cannot be determined + enum: + - PAIRWISE_CHOICE_UNSPECIFIED + - BASELINE + - CANDIDATE + - TIE + explanation: + description: Output only. Explanation for summarization quality score. readOnly: true type: string - format: google-datetime - description: >- - Output only. Time when the TuningJob entered any of the following - JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, - `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`. - baseModel: - description: The base model that is being tuned, e.g., "gemini-1.0-pro-002". - type: string - tuningDataStats: - description: >- - Output only. The tuning data statistics associated with this - TuningJob. + confidence: + description: Output only. Confidence for summarization quality score. readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningDataStats' - createTime: - description: Output only. Time when the TuningJob was created. + type: number + format: float + GoogleCloudAiplatformV1SummarizationHelpfulnessResult: + id: GoogleCloudAiplatformV1SummarizationHelpfulnessResult + description: Spec for summarization helpfulness result. + type: object + properties: + score: + description: Output only. Summarization Helpfulness score. readOnly: true - type: string - format: google-datetime - error: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Output only. Only populated when job's state is `JOB_STATE_FAILED` - or `JOB_STATE_CANCELLED`. + type: number + format: float + explanation: + description: Output only. Explanation for summarization helpfulness score. readOnly: true - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key options for a TuningJob. If this is - set, then all resources created by the TuningJob will be encrypted - with the provided encryption key. - startTime: - description: >- - Output only. Time when the TuningJob for the first time entered the - `JOB_STATE_RUNNING` state. - format: google-datetime type: string + confidence: + description: Output only. Confidence for summarization helpfulness score. readOnly: true - supervisedTuningSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SupervisedTuningSpec' - description: Tuning Spec for Supervised Fine Tuning. - name: - description: >- - Output only. Identifier. Resource name of a TuningJob. Format: - `projects/{project}/locations/{location}/tuningJobs/{tuning_job}` + type: number + format: float + GoogleCloudAiplatformV1SummarizationVerbosityResult: + id: GoogleCloudAiplatformV1SummarizationVerbosityResult + description: Spec for summarization verbosity result. + type: object + properties: + score: + description: Output only. Summarization Verbosity score. readOnly: true - type: string - description: - description: Optional. The description of the TuningJob. - type: string - labels: - description: >- - Optional. The labels with user-defined metadata to organize - TuningJob and generated resources such as Model and Endpoint. 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. - additionalProperties: - type: string - type: object - updateTime: - description: Output only. Time when the TuningJob was most recently updated. + type: number + format: float + explanation: + description: Output only. Explanation for summarization verbosity score. readOnly: true - format: google-datetime - type: string - experiment: type: string - description: Output only. The Experiment associated with this TuningJob. + confidence: + description: Output only. Confidence for summarization verbosity score. readOnly: true - tunedModelDisplayName: - type: string - description: >- - Optional. The display name of the TunedModel. The name can be up to - 128 characters long and can consist of any UTF-8 characters. - id: GoogleCloudAiplatformV1TuningJob - description: Represents a TuningJob that runs with Google owned models. + type: number + format: float + GoogleCloudAiplatformV1QuestionAnsweringQualityResult: + id: GoogleCloudAiplatformV1QuestionAnsweringQualityResult + description: Spec for question answering quality result. type: object - CloudAiLargeModelsVisionVideo: properties: - uri: - type: string - description: Path to another storage (typically Google Cloud Storage). - video: - format: byte + score: + description: Output only. Question Answering Quality score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for question answering quality score. + readOnly: true type: string - description: Raw bytes. - description: Video - type: object - id: CloudAiLargeModelsVisionVideo - GoogleCloudAiplatformV1UploadModelOperationMetadata: + confidence: + description: Output only. Confidence for question answering quality score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult: + id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult + description: Spec for pairwise question answering quality result. type: object - id: GoogleCloudAiplatformV1UploadModelOperationMetadata properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - description: Details of ModelService.UploadModel operation. - GoogleCloudAiplatformV1EncryptionSpec: - description: >- - Represents a customer-managed encryption key spec that can be applied to - a top-level resource. + pairwiseChoice: + description: Output only. Pairwise question answering prediction choice. + readOnly: true + type: string + enumDescriptions: + - Unspecified prediction choice. + - Baseline prediction wins + - Candidate prediction wins + - Winner cannot be determined + enum: + - PAIRWISE_CHOICE_UNSPECIFIED + - BASELINE + - CANDIDATE + - TIE + explanation: + description: Output only. Explanation for question answering quality score. + readOnly: true + type: string + confidence: + description: Output only. Confidence for question answering quality score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult: + id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult + description: Spec for question answering relevance result. type: object - id: GoogleCloudAiplatformV1EncryptionSpec properties: - kmsKeyName: + score: + description: Output only. Question Answering Relevance score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for question answering relevance score. + readOnly: true type: string - description: >- - Required. The Cloud KMS resource identifier of the customer managed - encryption key used to protect a resource. Has the form: - `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. - The key needs to be in the same region as where the compute resource - is created. - GoogleCloudAiplatformV1PurgeExecutionsRequest: + confidence: + description: Output only. Confidence for question answering relevance score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult: + id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult + description: Spec for question answering helpfulness result. + type: object properties: - filter: - description: >- - Required. A required filter matching the Executions to be purged. - E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + score: + description: Output only. Question Answering Helpfulness score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for question answering helpfulness score. + readOnly: true type: string - force: - type: boolean - description: >- - Optional. Flag to indicate to actually perform the purge. If `force` - is set to false, the method will return a sample of Execution names - that would be deleted. + confidence: + description: Output only. Confidence for question answering helpfulness score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult: + id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult + description: Spec for question answering correctness result. type: object - description: Request message for MetadataService.PurgeExecutions. - id: GoogleCloudAiplatformV1PurgeExecutionsRequest - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation: - description: >- - Training pipeline will perform following transformation functions. * The - value converted to float32. * The z_score of the value. * log(value+1) - when the value is greater than or equal to 0. Otherwise, this - transformation is not applied and the value is considered a missing - value. * z_score of log(value+1) when the value is greater than or equal - to 0. Otherwise, this transformation is not applied and the value is - considered a missing value. * A boolean value that indicates whether the - value is valid. properties: - columnName: + score: + description: Output only. Question Answering Correctness score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for question answering correctness score. + readOnly: true type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation + confidence: + description: Output only. Confidence for question answering correctness score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1PointwiseMetricResult: + id: GoogleCloudAiplatformV1PointwiseMetricResult + description: Spec for pointwise metric result. type: object - GoogleRpcStatus: properties: - code: - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - type: integer - message: + score: + description: Output only. Pointwise metric score. + readOnly: true + type: number + format: float + explanation: + description: Output only. Explanation for pointwise metric score. + readOnly: true type: string - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - details: - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - type: array - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - id: GoogleRpcStatus + GoogleCloudAiplatformV1PairwiseMetricResult: + id: GoogleCloudAiplatformV1PairwiseMetricResult + description: Spec for pairwise metric result. type: object - description: >- - 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). - GoogleCloudAiplatformV1WriteFeatureValuesPayload: properties: - entityId: + pairwiseChoice: + description: Output only. Pairwise metric choice. + readOnly: true type: string - description: Required. The ID of the entity. - featureValues: - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' - type: object - description: >- - Required. Feature values to be written, mapping from Feature ID to - value. Up to 100,000 `feature_values` entries may be written across - all payloads. The feature generation time, aligned by days, must be - no older than five years (1825 days) and no later than one year (366 - days) in the future. - type: object - id: GoogleCloudAiplatformV1WriteFeatureValuesPayload - description: Contains Feature values to be written for a specific entity. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics: + enumDescriptions: + - Unspecified prediction choice. + - Baseline prediction wins + - Candidate prediction wins + - Winner cannot be determined + enum: + - PAIRWISE_CHOICE_UNSPECIFIED + - BASELINE + - CANDIDATE + - TIE + explanation: + description: Output only. Explanation for pairwise metric score. + readOnly: true + type: string + GoogleCloudAiplatformV1ToolCallValidResults: + id: GoogleCloudAiplatformV1ToolCallValidResults + description: Results for tool call valid metric. type: object - description: >- - Bounding box matching model metrics for a single intersection-over-union - threshold and multiple label match confidence thresholds. - id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics properties: - confidenceMetrics: + toolCallValidMetricValues: + description: Output only. Tool call valid metric values. + readOnly: true type: array - description: >- - Metrics for each label-match confidence_threshold from - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is - derived from them. items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics - iouThreshold: - type: number - format: float - description: >- - The intersection-over-union threshold value used to compute this - metrics entry. - meanAveragePrecision: + #/components/schemas/GoogleCloudAiplatformV1ToolCallValidMetricValue + GoogleCloudAiplatformV1ToolCallValidMetricValue: + id: GoogleCloudAiplatformV1ToolCallValidMetricValue + description: Tool call valid metric value for an instance. + type: object + properties: + score: + description: Output only. Tool call valid score. + readOnly: true type: number - description: The mean average precision, most often close to `auPrc`. format: float - GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket: + GoogleCloudAiplatformV1ToolNameMatchResults: + id: GoogleCloudAiplatformV1ToolNameMatchResults + description: Results for tool name match metric. type: object - id: GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket properties: - left: - type: number - format: double - description: Output only. Left bound of the bucket. + toolNameMatchMetricValues: + description: Output only. Tool name match metric values. readOnly: true - count: - description: Output only. Number of values in the bucket. - type: number + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolNameMatchMetricValue + GoogleCloudAiplatformV1ToolNameMatchMetricValue: + id: GoogleCloudAiplatformV1ToolNameMatchMetricValue + description: Tool name match metric value for an instance. + type: object + properties: + score: + description: Output only. Tool name match score. readOnly: true - format: double - right: type: number - readOnly: true - description: Output only. Right bound of the bucket. - format: double - description: >- - Dataset bucket used to create a histogram for the distribution given a - population of values. - GoogleCloudAiplatformV1ExamplesRestrictionsNamespace: - description: Restrictions namespace for example-based explanations overrides. - id: GoogleCloudAiplatformV1ExamplesRestrictionsNamespace + format: float + GoogleCloudAiplatformV1ToolParameterKeyMatchResults: + id: GoogleCloudAiplatformV1ToolParameterKeyMatchResults + description: Results for tool parameter key match metric. type: object properties: - deny: - items: - type: string + toolParameterKeyMatchMetricValues: + description: Output only. Tool parameter key match metric values. + readOnly: true type: array - description: The list of deny tags. - namespaceName: - description: The namespace name. - type: string - allow: items: - type: string - type: array - description: The list of allowed tags. - GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue + GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue: + id: GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue + description: Tool parameter key match metric value for an instance. + type: object properties: - monitorInterval: - type: string - format: google-duration - description: >- - Required. The model monitoring job scheduling interval. It will be - rounded up to next full hour. This defines how often the monitoring - jobs are triggered. - monitorWindow: - description: >- - The time window of the prediction data being included in each - prediction dataset. This window specifies how long the data should - be collected from historical model results for each run. If not set, - ModelDeploymentMonitoringScheduleConfig.monitor_interval will be - used. e.g. If currently the cutoff time is 2022-01-08 14:30:00 and - the monitor_window is set to be 3600, then data from 2022-01-08 - 13:30:00 to 2022-01-08 14:30:00 will be retrieved and aggregated to - calculate the monitoring statistics. - type: string - format: google-duration - description: The config for scheduling monitoring job. + score: + description: Output only. Tool parameter key match score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1ToolParameterKVMatchResults: + id: GoogleCloudAiplatformV1ToolParameterKVMatchResults + description: Results for tool parameter key value match metric. type: object - id: GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig - GoogleCloudAiplatformV1DeployIndexRequest: properties: - deployedIndex: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' - description: Required. The DeployedIndex to be created within the IndexEndpoint. - id: GoogleCloudAiplatformV1DeployIndexRequest + toolParameterKvMatchMetricValues: + description: Output only. Tool parameter key value match metric values. + readOnly: true + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue + GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue: + id: GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue + description: Tool parameter key value match metric value for an instance. type: object - description: Request message for IndexEndpointService.DeployIndex. - GoogleCloudAiplatformV1ComputeTokensRequest: + properties: + score: + description: Output only. Tool parameter key value match score. + readOnly: true + type: number + format: float + GoogleCloudAiplatformV1ReadFeatureValuesRequest: + id: GoogleCloudAiplatformV1ReadFeatureValuesRequest + description: Request message for FeaturestoreOnlineServingService.ReadFeatureValues. type: object - description: Request message for ComputeTokens RPC call. - id: GoogleCloudAiplatformV1ComputeTokensRequest properties: - model: - type: string - description: >- - Optional. The name of the publisher model requested to serve the - prediction. Format: - projects/{project}/locations/{location}/publishers/*/models/* - instances: + entityId: description: >- - Optional. The instances that are the input to token computing API - call. Schema is identical to the prediction schema of the text - model, even for the non-text models, like chat models, or Codey - models. - type: array - items: - type: any - contents: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' - type: array - description: Optional. Input content. - GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig: - id: GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig + Required. ID for a specific entity. For example, for a machine + learning model predicting user clicks on a website, an entity ID + could be `user_123`. + type: string + featureSelector: + description: Required. Selector choosing Features of the target EntityType. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + GoogleCloudAiplatformV1FeatureSelector: + id: GoogleCloudAiplatformV1FeatureSelector + description: Selector for Features of an EntityType. type: object - properties: {} - description: Configuration options for using brute force search. - GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult: - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult - description: Prediction output format for Tabular Classification. properties: - classes: - items: - type: string - description: >- - The name of the classes being classified, contains all possible - values of the target column. - type: array - scores: + idMatcher: + description: Required. Matches Features based on ID. + $ref: '#/components/schemas/GoogleCloudAiplatformV1IdMatcher' + GoogleCloudAiplatformV1IdMatcher: + id: GoogleCloudAiplatformV1IdMatcher + description: Matcher for Features of an EntityType by Feature ID. + type: object + properties: + ids: description: >- - The model's confidence in each class being correct, higher value - means higher confidence. The N-th score corresponds to the N-th - class in classes. + Required. The following are accepted as `ids`: * A single-element + list containing only `*`, which selects all Features in the target + EntityType, or * A list containing only Feature IDs, which selects + only Features with those IDs in the target EntityType. type: array items: - format: float - type: number - type: object - GoogleCloudAiplatformV1ExportFeatureValuesRequest: - description: Request message for FeaturestoreService.ExportFeatureValues. - id: GoogleCloudAiplatformV1ExportFeatureValuesRequest + type: string + GoogleCloudAiplatformV1ReadFeatureValuesResponse: + id: GoogleCloudAiplatformV1ReadFeatureValuesResponse + description: Response message for FeaturestoreOnlineServingService.ReadFeatureValues. type: object properties: - snapshotExport: - description: >- - Exports the latest Feature values of all entities of the EntityType - within a time range. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport - fullExport: + header: + description: Response header. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader + entityView: description: >- - Exports all historical values of all entities of the EntityType - within a time range - featureSelector: - description: Required. Selects Features to export values of. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' - destination: - description: Required. Specifies destination location and format. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueDestination' - settings: - type: array - description: Per-Feature export settings. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DestinationFeatureSetting - GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider: + Entity view with Feature values. This may be the entity in the + Featurestore if values for all Features were requested, or a + projection of the entity in the Featurestore if values for only some + Features were requested. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView + GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader: + id: GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader description: >- - Configuration for an authentication provider, including support for - [JSON Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + Response header with metadata for the requested + ReadFeatureValuesRequest.entity_type and Features. + type: object properties: - audiences: + entityType: description: >- - The list of JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. - items: - type: string - type: array - allowedIssuers: - type: array + The resource name of the EntityType from the + ReadFeatureValuesRequest. Value format: + `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + type: string + featureDescriptors: description: >- - A list of allowed JWT issuers. Each entry must be a valid Google - service account, in the following format: - `service-account-name@project-id.iam.gserviceaccount.com` + List of Feature metadata corresponding to each piece of + ReadFeatureValuesResponse.EntityView.data. + type: array items: - type: string - id: GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor + GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor: + id: GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor + description: Metadata for requested Features. type: object - GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix: + properties: + id: + description: Feature ID. + type: string + GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView: + id: GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView + description: Entity view with Feature values. type: object properties: - annotationSpecs: + entityId: + description: ID of the requested entity. + type: string + data: description: >- - AnnotationSpecs used in the confusion matrix. For AutoML Text - Extraction, a special negative AnnotationSpec with empty `id` and - `displayName` of "NULL" will be added as the last element. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef + Each piece of data holds the k requested values for one requested + Feature. If no values for the requested Feature exist, the + corresponding cell will be empty. This has the same size and is in + the same order as the features from the header + ReadFeatureValuesResponse.header. type: array - rows: - description: >- - Rows in the confusion matrix. The number of rows is equal to the - size of `annotationSpecs`. `rowsi` is the number of DataItems that - have ground truth of the `annotationSpecs[i]` and are predicted as - `annotationSpecs[j]` by the Model being evaluated. For Text - Extraction, when `annotationSpecs[i]` is the last element in - `annotationSpecs`, i.e. the special negative AnnotationSpec, `rowsi` - is the number of predicted entities of `annoatationSpec[j]` that are - not labeled as any of the ground truth AnnotationSpec. When - annotationSpecs[j] is the special negative AnnotationSpec, `rowsi` - is the number of entities have ground truth of `annotationSpec[i]` - that are not predicted as an entity by the Model. The value of the - last cell, i.e. `rowi` where i == j and `annotationSpec[i]` is the - special negative AnnotationSpec, is always 0. items: - type: array - items: - type: any - type: array - id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix - GoogleCloudAiplatformV1XraiAttribution: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData + GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData: + id: GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData description: >- - An explanation method that redistributes Integrated Gradients - attributions to segmented regions, taking advantage of the model's fully - differentiable structure. Refer to this paper for more details: - https://arxiv.org/abs/1906.02825 Supported only by image Models. - id: GoogleCloudAiplatformV1XraiAttribution + Container to hold value(s), successive in time, for one Feature from the + request. + type: object properties: - smoothGradConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SmoothGradConfig' - description: >- - Config for SmoothGrad approximation of gradients. When enabled, the - gradients are approximated by averaging the gradients from noisy - samples in the vicinity of the inputs. Adding noise can help improve - the computed gradients. Refer to this paper for more details: - https://arxiv.org/pdf/1706.03825.pdf - blurBaselineConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BlurBaselineConfig' - description: >- - Config for XRAI with blur baseline. When enabled, a linear path from - the maximally blurred image to the input image is created. Using a - blurred baseline instead of zero (black image) is motivated by the - BlurIG approach explained here: https://arxiv.org/abs/2004.03383 - stepCount: + value: + description: Feature value if a single value is requested. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' + values: description: >- - Required. The number of steps for approximating the path integral. A - good value to start is 50 and gradually increase until the sum to - diff property is met within the desired error range. Valid range of - its value is [1, 100], inclusively. - format: int32 - type: integer + Feature values list if values, successive in time, are requested. If + the requested number of values is greater than the number of + existing Feature values, nonexistent values are omitted instead of + being returned as empty. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueList' + GoogleCloudAiplatformV1FeatureValue: + id: GoogleCloudAiplatformV1FeatureValue + description: Value for a feature. type: object - GoogleCloudAiplatformV1TunedModel: - description: >- - The Model Registry Model and Online Prediction Endpoint assiociated with - this TuningJob. - id: GoogleCloudAiplatformV1TunedModel properties: - model: - description: >- - Output only. The resource name of the TunedModel. Format: - `projects/{project}/locations/{location}/models/{model}`. - readOnly: true + boolValue: + description: Bool type feature value. + type: boolean + doubleValue: + description: Double type feature value. + type: number + format: double + int64Value: + description: Int64 feature value. type: string - endpoint: - description: >- - Output only. A resource name of an Endpoint. Format: - `projects/{project}/locations/{location}/endpoints/{endpoint}`. + format: int64 + stringValue: + description: String feature value. type: string - readOnly: true - type: object - GoogleCloudAiplatformV1TensorboardBlobSequence: + boolArrayValue: + description: A list of bool type feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BoolArray' + doubleArrayValue: + description: A list of double type feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DoubleArray' + int64ArrayValue: + description: A list of int64 type feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Int64Array' + stringArrayValue: + description: A list of string type feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StringArray' + bytesValue: + description: Bytes feature value. + type: string + format: byte + structValue: + description: A struct type feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StructValue' + metadata: + description: Metadata of feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueMetadata' + GoogleCloudAiplatformV1BoolArray: + id: GoogleCloudAiplatformV1BoolArray + description: A list of boolean values. type: object - id: GoogleCloudAiplatformV1TensorboardBlobSequence properties: values: + description: A list of bool values. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardBlob' - description: List of blobs contained within the sequence. - description: >- - One point viewable on a blob metric plot, but mostly just a wrapper - message to work around repeated fields can't be used directly within - `oneof` fields. - GoogleCloudAiplatformV1NotebookIdleShutdownConfig: - id: GoogleCloudAiplatformV1NotebookIdleShutdownConfig - description: >- - The idle shutdown configuration of NotebookRuntimeTemplate, which - contains the idle_timeout as required field. - properties: - idleShutdownDisabled: - type: boolean - description: Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate. - idleTimeout: - format: google-duration - description: >- - Required. Duration is accurate to the second. In Notebook, Idle - Timeout is accurate to minute so the range of idle_timeout (second) - is: 10 * 60 ~ 1440 * 60. - type: string + type: boolean + GoogleCloudAiplatformV1DoubleArray: + id: GoogleCloudAiplatformV1DoubleArray + description: A list of double values. type: object - GoogleCloudAiplatformV1NotebookExecutionJob: - id: GoogleCloudAiplatformV1NotebookExecutionJob + properties: + values: + description: A list of double values. + type: array + items: + type: number + format: double + GoogleCloudAiplatformV1Int64Array: + id: GoogleCloudAiplatformV1Int64Array + description: A list of int64 values. type: object - description: NotebookExecutionJob represents an instance of a notebook execution. properties: - scheduleResourceName: - readOnly: true - type: string - description: >- - Output only. The Schedule resource name if this job is triggered by - one. Format: - `projects/{project_id}/locations/{location}/schedules/{schedule_id}` - executionTimeout: - description: >- - Max running time of the execution job in seconds (default 86400s / - 24 hrs). - format: google-duration - type: string - notebookRuntimeTemplateResourceName: - description: The NotebookRuntimeTemplate to source compute configuration from. - type: string - createTime: - type: string - readOnly: true - description: Output only. Timestamp when this NotebookExecutionJob was created. - format: google-datetime - labels: - type: object - description: >- - 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. - additionalProperties: + values: + description: A list of int64 values. + type: array + items: type: string - directNotebookSource: - description: The contents of an input notebook file. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource - name: - type: string - readOnly: true - description: >- - Output only. The resource name of this NotebookExecutionJob. Format: - `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}` - displayName: - description: >- - The display name of the NotebookExecutionJob. The name can be up to - 128 characters long and can consist of any UTF-8 characters. - type: string - updateTime: - type: string - description: >- - Output only. Timestamp when this NotebookExecutionJob was most - recently updated. - format: google-datetime - readOnly: true - serviceAccount: - type: string - description: The service account to run the execution as. - status: - readOnly: true - description: >- - Output only. Populated when the NotebookExecutionJob is completed. - When there is an error during notebook execution, the error details - are populated. - $ref: '#/components/schemas/GoogleRpcStatus' - jobState: - enumDescriptions: - - The job state is unspecified. - - >- - The job has been just created or resumed and processing has not - yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. - - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. - - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. - - >- - The job is partially succeeded, some results may be missing due to - errors. - readOnly: true - description: Output only. The state of the NotebookExecutionJob. - type: string - enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED - gcsNotebookSource: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource - description: >- - The Cloud Storage url pointing to the ipynb file. Format: - `gs://bucket/notebook_file.ipynb` - executionUser: - type: string - description: >- - The user email to run the execution as. Only supported by Colab - runtimes. - gcsOutputUri: - type: string - description: >- - The Cloud Storage location to upload the result to. Format: - `gs://bucket-name` - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key spec for the notebook execution job. - This field is auto-populated if the - NotebookService.NotebookRuntimeTemplate has an encryption spec. - dataformRepositorySource: - description: >- - The Dataform Repository pointing to a single file notebook - repository. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource - GoogleCloudAiplatformV1ToolCallValidInstance: - properties: - prediction: - type: string - description: Required. Output of the evaluated model. - reference: - description: Required. Ground truth used to compare against the prediction. - type: string + format: int64 + GoogleCloudAiplatformV1StringArray: + id: GoogleCloudAiplatformV1StringArray + description: A list of string values. type: object - description: Spec for tool call valid instance. - id: GoogleCloudAiplatformV1ToolCallValidInstance - GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig: properties: - value: - format: double - description: >- - Specify a threshold value that can trigger the alert. 1. For - categorical feature, the distribution distance is calculated by - L-inifinity norm. 2. For numerical feature, the distribution - distance is calculated by Jensen–Shannon divergence. Each feature - must have a non-zero threshold if they need to be monitored. - Otherwise no alert will be triggered for that feature. - type: number - description: The config for Featurestore Monitoring threshold. + values: + description: A list of string values. + type: array + items: + type: string + GoogleCloudAiplatformV1StructValue: + id: GoogleCloudAiplatformV1StructValue + description: Struct (or object) type feature value. type: object - id: GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig - GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest: - description: Request message for [NotebookService.CreateNotebookExecutionJob] - id: GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest + properties: + values: + description: A list of field values. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1StructFieldValue' + GoogleCloudAiplatformV1StructFieldValue: + id: GoogleCloudAiplatformV1StructFieldValue + description: One field of a Struct (or object) type feature value. type: object properties: - notebookExecutionJobId: - description: Optional. User specified ID for the NotebookExecutionJob. - type: string - parent: + name: + description: Name of the field in the struct feature. type: string - description: >- - Required. The resource name of the Location to create the - NotebookExecutionJob. Format: - `projects/{project}/locations/{location}` - notebookExecutionJob: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob' - description: Required. The NotebookExecutionJob to create. - GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput: - id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput - properties: - instance: - description: Required. Pairwise question answering quality instance. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance - metricSpec: - description: Required. Spec for pairwise question answering quality score metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec - type: object - description: Input for pairwise question answering quality metric. - GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset: + value: + description: The value for this field. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' + GoogleCloudAiplatformV1FeatureValueMetadata: + id: GoogleCloudAiplatformV1FeatureValueMetadata + description: Metadata of feature value. type: object - description: Represents one AnnotatedDataset in datalabeling.googleapis.com. - id: >- - GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset properties: - annotatedDatasetDisplayName: - type: string - description: The AnnotatedDataset's display name in datalabeling.googleapis.com. - annotatedDataset: + generateTime: description: >- - Full resource name of data labeling AnnotatedDataset. Format: - `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + Feature generation timestamp. Typically, it is provided by user at + feature ingestion time. If not, feature store will use the system + timestamp when the data is ingested into feature store. For + streaming ingestion, the time, aligned by days, must be no older + than five years (1825 days) and no later than one year (366 days) in + the future. type: string - GoogleCloudAiplatformV1ListMetadataStoresResponse: + format: google-datetime + GoogleCloudAiplatformV1FeatureValueList: + id: GoogleCloudAiplatformV1FeatureValueList + description: Container for list of values. type: object - id: GoogleCloudAiplatformV1ListMetadataStoresResponse properties: - nextPageToken: - description: >- - A token, which can be sent as ListMetadataStoresRequest.page_token - to retrieve the next page. If this field is not populated, there are - no subsequent pages. - type: string - metadataStores: + values: + description: A list of feature values. All of them should be the same data type. type: array - description: The MetadataStores found for the Location. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataStore' - description: Response message for MetadataService.ListMetadataStores. - GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata: - description: Details of operations that perform update Tensorboard. - type: object - id: GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Tensorboard. - GoogleCloudAiplatformV1SchemaImageClassificationAnnotation: - id: GoogleCloudAiplatformV1SchemaImageClassificationAnnotation - description: Annotation details specific to image classification. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' + GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest: + id: GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest + description: >- + Request message for + FeaturestoreOnlineServingService.StreamingFeatureValuesRead. type: object properties: - annotationSpecId: - description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - type: string - displayName: - type: string + entityIds: description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - GoogleCloudAiplatformV1ListMetadataSchemasResponse: - id: GoogleCloudAiplatformV1ListMetadataSchemasResponse - properties: - metadataSchemas: - description: The MetadataSchemas found for the MetadataStore. + Required. IDs of entities to read Feature values of. The maximum + number of IDs is 100. For example, for a machine learning model + predicting user clicks on a website, an entity ID could be + `user_123`. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' - nextPageToken: - type: string + type: string + featureSelector: description: >- - A token, which can be sent as ListMetadataSchemasRequest.page_token - to retrieve the next page. If this field is not populated, there are - no subsequent pages. - description: Response message for MetadataService.ListMetadataSchemas. - type: object - GoogleCloudAiplatformV1PairwiseSummarizationQualityInput: - properties: - metricSpec: - description: Required. Spec for pairwise summarization quality score metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec - instance: - description: Required. Pairwise summarization quality instance. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance - id: GoogleCloudAiplatformV1PairwiseSummarizationQualityInput - description: Input for pairwise summarization quality metric. + Required. Selector choosing Features of the target EntityType. + Feature IDs will be deduplicated. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + GoogleCloudAiplatformV1WriteFeatureValuesRequest: + id: GoogleCloudAiplatformV1WriteFeatureValuesRequest + description: Request message for FeaturestoreOnlineServingService.WriteFeatureValues. type: object - GoogleCloudAiplatformV1ExportModelRequest: - description: Request message for ModelService.ExportModel. properties: - outputConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportModelRequestOutputConfig - description: Required. The desired output location and configuration. - id: GoogleCloudAiplatformV1ExportModelRequest + payloads: + description: >- + Required. The entities to be written. Up to 100,000 feature values + can be written across all `payloads`. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteFeatureValuesPayload + GoogleCloudAiplatformV1WriteFeatureValuesPayload: + id: GoogleCloudAiplatformV1WriteFeatureValuesPayload + description: Contains Feature values to be written for a specific entity. type: object - GoogleCloudAiplatformV1IndexDatapointNumericRestriction: properties: - namespace: - description: 'The namespace of this restriction. e.g.: cost.' - type: string - valueInt: - format: int64 - description: Represents 64 bit integer. + entityId: + description: Required. The ID of the entity. type: string - valueDouble: - format: double - description: Represents 64 bit float. - type: number - valueFloat: - type: number - description: Represents 32 bit float. - format: float - op: + featureValues: description: >- - This MUST be specified for queries and must NOT be specified for - datapoints. - type: string - enum: - - OPERATOR_UNSPECIFIED - - LESS - - LESS_EQUAL - - EQUAL - - GREATER_EQUAL - - GREATER - - NOT_EQUAL - enumDescriptions: - - Default value of the enum. - - Datapoints are eligible iff their value is < the query's. - - Datapoints are eligible iff their value is <= the query's. - - Datapoints are eligible iff their value is == the query's. - - Datapoints are eligible iff their value is >= the query's. - - Datapoints are eligible iff their value is > the query's. - - Datapoints are eligible iff their value is != the query's. + Required. Feature values to be written, mapping from Feature ID to + value. Up to 100,000 `feature_values` entries may be written across + all payloads. The feature generation time, aligned by days, must be + no older than five years (1825 days) and no later than one year (366 + days) in the future. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' + GoogleCloudAiplatformV1WriteFeatureValuesResponse: + id: GoogleCloudAiplatformV1WriteFeatureValuesResponse + description: >- + Response message for + FeaturestoreOnlineServingService.WriteFeatureValues. type: object + properties: {} + GoogleCloudAiplatformV1Featurestore: + id: GoogleCloudAiplatformV1Featurestore description: >- - This field allows restricts to be based on numeric comparisons rather - than categorical tokens. - id: GoogleCloudAiplatformV1IndexDatapointNumericRestriction - GoogleCloudAiplatformV1TensorboardExperiment: + Vertex AI Feature Store provides a centralized repository for + organizing, storing, and serving ML features. The Featurestore is a + top-level container for your features and their values. + type: object properties: + name: + description: >- + Output only. Name of the Featurestore. Format: + `projects/{project}/locations/{location}/featurestores/{featurestore}` + readOnly: true + type: string createTime: + description: Output only. Timestamp when this Featurestore was created. readOnly: true + type: string format: google-datetime - description: Output only. Timestamp when this TensorboardExperiment was created. + updateTime: + description: Output only. Timestamp when this Featurestore was last updated. + readOnly: true + type: string + format: google-datetime + etag: + description: >- + Optional. Used to perform consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. type: string labels: description: >- - 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. + 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. type: object additionalProperties: type: string - source: - description: >- - Immutable. Source of the TensorboardExperiment. Example: a custom - training job. - type: string - updateTime: + onlineServingConfig: description: >- - Output only. Timestamp when this TensorboardExperiment was last - updated. + Optional. Config for online storage resources. The field should not + co-exist with the field of `OnlineStoreReplicationConfig`. If both + of it and OnlineStoreReplicationConfig are unset, the feature store + will not have an online store and cannot be used for online serving. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig + state: + description: Output only. State of the featurestore. readOnly: true - format: google-datetime - type: string - description: - type: string - description: Description of this TensorboardExperiment. - displayName: - type: string - description: User provided name of this TensorboardExperiment. - etag: type: string + enumDescriptions: + - Default value. This value is unused. + - >- + State when the featurestore configuration is not being updated and + the fields reflect the current configuration of the featurestore. + The featurestore is usable in this state. + - >- + The state of the featurestore configuration when it is being + updated. During an update, the fields reflect either the original + configuration or the updated configuration of the featurestore. + For example, `online_serving_config.fixed_node_count` can take + minutes to update. While the update is in progress, the + featurestore is in the UPDATING state, and the value of + `fixed_node_count` can be the original value or the updated value, + depending on the progress of the operation. Until the update + completes, the actual number of nodes can still be the original + value of `fixed_node_count`. The featurestore is still usable in + this state. + enum: + - STATE_UNSPECIFIED + - STABLE + - UPDATING + onlineStorageTtlDays: description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. - name: - type: string + 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 + type: integer + format: int32 + encryptionSpec: description: >- - Output only. Name of the TensorboardExperiment. Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + Optional. Customer-managed encryption key spec for data storage. If + set, both of the online and offline data storage will be secured by + this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true - type: object - description: >- - A TensorboardExperiment is a group of TensorboardRuns, that are - typically the results of a training job run, in a Tensorboard. - id: GoogleCloudAiplatformV1TensorboardExperiment - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation: - properties: - metadata: - description: The metadata information. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata - inputs: - description: The input parameters of this TrainingJob. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs - description: >- - A TrainingJob that trains and uploads an AutoML Image Segmentation - Model. - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig: + id: GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig description: >- - Training pipeline will perform following transformation functions. * The - text as is--no change to case, punctuation, spelling, tense, and so on. - * Convert the category name to a dictionary lookup index and generate an - embedding for each index. - properties: - columnName: - type: string + OnlineServingConfig specifies the details for provisioning online + serving resources. type: object - GoogleCloudAiplatformV1BlurBaselineConfig: properties: - maxBlurSigma: - format: float + fixedNodeCount: description: >- - The standard deviation of the blur kernel for the blurred baseline. - The same blurring parameter is used for both the height and the - width dimension. If not set, the method defaults to the zero (i.e. - black for images) baseline. - type: number - type: object - id: GoogleCloudAiplatformV1BlurBaselineConfig + The number of nodes for the online store. The number of nodes + doesn't scale automatically, but you can manually update the number + of nodes. If set to 0, the featurestore will not have an online + store and cannot be used for online serving. + type: integer + format: int32 + scaling: + description: >- + Online serving scaling configuration. Only one of `fixed_node_count` + and `scaling` can be set. Setting one will reset the other. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling + GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling: + id: GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling description: >- - Config for blur baseline. When enabled, a linear path from the maximally - blurred image to the input image is created. Using a blurred baseline - instead of zero (black image) is motivated by the BlurIG approach - explained here: https://arxiv.org/abs/2004.03383 - GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors: - description: Nearest neighbors for one query. - type: object - id: GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors - properties: - neighbors: - description: All its neighbors. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FindNeighborsResponseNeighbor - id: - type: string - description: The ID of the query datapoint. - GoogleCloudAiplatformV1SummarizationQualityInstance: + Online serving scaling configuration. If min_node_count and + max_node_count are set to the same value, the cluster will be configured + with the fixed number of node (no auto-scaling). type: object - description: Spec for summarization quality instance. - id: GoogleCloudAiplatformV1SummarizationQualityInstance - properties: - instruction: - description: Required. Summarization prompt for LLM. - type: string - reference: - type: string - description: Optional. Ground truth used to compare against the prediction. - prediction: - description: Required. Output of the evaluated model. - type: string - context: - type: string - description: Required. Text to be summarized. - GoogleCloudAiplatformV1SummarizationQualitySpec: properties: - useReference: + minNodeCount: description: >- - Optional. Whether to use instance.reference to compute summarization - quality. - type: boolean - version: + Required. The minimum number of nodes to scale down to. Must be + greater than or equal to 1. + type: integer format: int32 - description: Optional. Which version to use for evaluation. + maxNodeCount: + description: >- + The maximum number of nodes to scale up to. Must be greater than + min_node_count, and less than or equal to 10 times of + 'min_node_count'. type: integer - description: Spec for summarization quality score metric. - type: object - id: GoogleCloudAiplatformV1SummarizationQualitySpec - GoogleCloudAiplatformV1FulfillmentResult: - description: Spec for fulfillment result. - properties: - score: - type: number - readOnly: true - format: float - description: Output only. Fulfillment score. - confidence: - format: float - description: Output only. Confidence for fulfillment score. - readOnly: true - type: number - explanation: - type: string - description: Output only. Explanation for fulfillment score. - readOnly: true - id: GoogleCloudAiplatformV1FulfillmentResult - type: object - GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec: - description: >- - The median automated stopping rule stops a pending Trial if the Trial's - best objective_value is strictly below the median 'performance' of all - completed Trials reported up to the Trial's last measurement. Currently, - 'performance' refers to the running average of the objective values - reported by the Trial in each measurement. - type: object - id: GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec - properties: - useElapsedDuration: - type: boolean + format: int32 + cpuUtilizationTarget: description: >- - True if median automated stopping rule applies on - Measurement.elapsed_duration. It means that elapsed_duration field - of latest measurement of current Trial is used to compute median - objective value for each completed Trials. - GoogleCloudAiplatformV1GoogleSearchRetrieval: - properties: {} - id: GoogleCloudAiplatformV1GoogleSearchRetrieval - description: Tool to retrieve public web data for grounding, powered by Google. - type: object - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition: - id: >- - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition - description: Represents the spec to match categorical values from parent parameter. + Optional. The cpu utilization that the Autoscaler should be trying + to achieve. This number is on a scale from 0 (no utilization) to 100 + (total utilization), and is limited between 10 and 80. When a + cluster's CPU utilization exceeds the target that you have set, + Bigtable immediately adds nodes to the cluster. When CPU utilization + is substantially lower than the target, Bigtable removes nodes. If + not set or set to 0, default to 50. + type: integer + format: int32 + GoogleCloudAiplatformV1ListFeaturestoresResponse: + id: GoogleCloudAiplatformV1ListFeaturestoresResponse + description: Response message for FeaturestoreService.ListFeaturestores. type: object properties: - values: - description: >- - Required. Matches values of the parent parameter of 'CATEGORICAL' - type. All values must exist in `categorical_value_spec` of parent - parameter. - items: - type: string + featurestores: + description: The Featurestores matching the request. type: array - GoogleCloudAiplatformV1CreateTensorboardRunRequest: - type: object - id: GoogleCloudAiplatformV1CreateTensorboardRunRequest - properties: - tensorboardRunId: - type: string - description: >- - Required. The ID to use for the Tensorboard run, which becomes the - final component of the Tensorboard run's resource name. This value - should be 1-128 characters, and valid characters are `/a-z-/`. - parent: + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' + nextPageToken: description: >- - Required. The resource name of the TensorboardExperiment to create - the TensorboardRun in. Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + A token, which can be sent as ListFeaturestoresRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. type: string - tensorboardRun: - description: Required. The TensorboardRun to create. - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' - description: Request message for TensorboardService.CreateTensorboardRun. - GoogleCloudAiplatformV1RayLogsSpec: - properties: - disabled: - type: boolean - description: >- - Optional. Flag to disable the export of Ray OSS logs to Cloud - Logging. - id: GoogleCloudAiplatformV1RayLogsSpec - description: Configuration for the Ray OSS Logs. + GoogleCloudAiplatformV1EntityType: + id: GoogleCloudAiplatformV1EntityType + description: >- + An entity type is a type of object in a system that needs to be modeled + and have stored information about. For example, driver is an entity + type, and driver0 is an instance of an entity type driver. type: object - GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult: properties: - timeSegmentStart: + name: description: >- - The beginning, inclusive, of the video's time segment in which the - AnnotationSpec has been identified. Expressed as a number of seconds - as measured from the start of the video, with fractions up to a - microsecond precision, and with "s" appended at the end. Note that - for 'segment-classification' prediction type, this equals the - original 'timeSegmentStart' from the input instance, for other types - it is the start of a shot or a 1 second interval respectively. + 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. type: string - format: google-duration - timeSegmentEnd: - format: google-duration - description: >- - The end, exclusive, of the video's time segment in which the - AnnotationSpec has been identified. Expressed as a number of seconds - as measured from the start of the video, with fractions up to a - microsecond precision, and with "s" appended at the end. Note that - for 'segment-classification' prediction type, this equals the - original 'timeSegmentEnd' from the input instance, for other types - it is the end of a shot or a 1 second interval respectively. + description: + description: Optional. Description of the EntityType. type: string - type: - description: >- - The type of the prediction. The requested types can be configured - via parameters. This will be one of - segment-classification - - shot-classification - one-sec-interval-classification + createTime: + description: Output only. Timestamp when this EntityType was created. + readOnly: true type: string - confidence: + format: google-datetime + updateTime: description: >- - The Model's confidence in correction of this prediction, higher - value means higher confidence. - format: float - type: number - displayName: - description: The display name of the AnnotationSpec that had been identified. + Output only. Timestamp when this EntityType was most recently + updated. + readOnly: true type: string - id: - description: The resource ID of the AnnotationSpec that had been identified. + format: google-datetime + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + etag: + description: >- + Optional. Used to perform a consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. type: string - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult - description: Prediction output format for Video Classification. + monitoringConfig: + description: >- + Optional. The default monitoring configuration for all Features with + value type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 under + this EntityType. If this is populated with + [FeaturestoreMonitoringConfig.monitoring_interval] specified, + snapshot analysis monitoring is enabled. Otherwise, snapshot + analysis monitoring is disabled. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfig + offlineStorageTtlDays: + description: >- + 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. + type: integer + format: int32 + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1FeaturestoreMonitoringConfig: + id: GoogleCloudAiplatformV1FeaturestoreMonitoringConfig + description: Configuration of how features in Featurestore are monitored. type: object - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig: properties: - trainingDataset: - description: >- - Training dataset for models. This field has to be set only if - TrainingPredictionSkewDetectionConfig is specified. + snapshotAnalysis: + description: The config for Snapshot Analysis Based Feature Monitoring. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset - explanationConfig: + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis + importFeaturesAnalysis: + description: The config for ImportFeatures Analysis Based Feature Monitoring. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig - description: The config for integrating with Vertex Explainable AI. - trainingPredictionSkewDetectionConfig: + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis + numericalThresholdConfig: + description: >- + Threshold for numerical features of anomaly detection. This is + shared by all objectives of Featurestore Monitoring for numerical + features (i.e. Features with type (Feature.ValueType) DOUBLE or + INT64). $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig - description: The config for skew between training data and prediction data. - predictionDriftDetectionConfig: + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig + categoricalThresholdConfig: + description: >- + Threshold for categorical features of anomaly detection. This is + shared by all types of Featurestore Monitoring for categorical + features (i.e. Features with type (Feature.ValueType) BOOL or + STRING). $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig - description: The config for drift of prediction data. - type: object + #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig + GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis: + id: GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis description: >- - The objective configuration for model monitoring, including the - information needed to detect anomalies for one particular model. - id: GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig - GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata: - id: GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata - description: Runtime operation information for DatasetService.RestoreDatasetVersion. - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - type: object - GoogleCloudAiplatformV1PairwiseMetricResult: - type: object - id: GoogleCloudAiplatformV1PairwiseMetricResult - properties: - pairwiseChoice: - enumDescriptions: - - Unspecified prediction choice. - - Baseline prediction wins - - Candidate prediction wins - - Winner cannot be determined - description: Output only. Pairwise metric choice. - enum: - - PAIRWISE_CHOICE_UNSPECIFIED - - BASELINE - - CANDIDATE - - TIE - type: string - readOnly: true - explanation: - description: Output only. Explanation for pairwise metric score. - type: string - readOnly: true - description: Spec for pairwise metric result. - GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks: - properties: - notebooks: - description: Required. Regional resource references to notebooks. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - id: GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks - description: Open notebooks. - type: object - GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource: + Configuration of the Featurestore's Snapshot Analysis Based Monitoring. + This type of analysis generates statistics for each Feature based on a + snapshot of the latest feature value of each entities every + monitoring_interval. type: object properties: - uri: + disabled: description: >- - Cloud Storage URI of one or more files. Only CSV files are - supported. The first line of the CSV file is used as the header. If - there are multiple files, the header is the first line of the - lexicographically first file, the other files must either contain - the exact same header or omit the header. - items: - type: string - type: array - id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource - GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig: - properties: - desiredMinSafeTrialsFraction: - format: double - type: number + The monitoring schedule for snapshot analysis. For EntityType-level + config: unset / disabled = true indicates disabled by default for + Features under it; otherwise by default enable snapshot analysis + monitoring with monitoring_interval for Features under it. + Feature-level config: disabled = true indicates disabled regardless + of the EntityType-level config; unset monitoring_interval indicates + going with EntityType-level config; otherwise run snapshot analysis + monitoring with monitoring_interval regardless of the + EntityType-level config. Explicitly Disable the snapshot analysis + based monitoring. + type: boolean + monitoringIntervalDays: description: >- - Desired minimum fraction of safe trials (over total number of - trials) that should be targeted by the algorithm at any time during - the study (best effort). This should be between 0.0 and 1.0 and a - value of 0.0 means that there is no minimum and an algorithm - proceeds without targeting any specific fraction. A value of 1.0 - means that the algorithm attempts to only Suggest safe Trials. - safetyThreshold: + Configuration of the snapshot analysis based monitoring pipeline + running interval. The value indicates number of days. + type: integer + format: int32 + stalenessDays: description: >- - Safety threshold (boundary value between safe and unsafe). NOTE that - if you leave SafetyMetricConfig unset, a default value of 0 will be - used. - format: double - type: number - id: GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig - type: object - description: >- - Used in safe optimization to specify threshold levels and risk - tolerance. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs: + Customized export features time window for snapshot analysis. Unit + is one day. Default value is 3 weeks. Minimum value is 1 day. + Maximum value is 4000 days. + type: integer + format: int32 + GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs + GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis + description: >- + Configuration of the Featurestore's ImportFeature Analysis Based + Monitoring. This type of analysis generates statistics for values of + each Feature imported by every ImportFeatureValues operation. type: object properties: - baseModelId: - type: string - description: >- - The ID of the `base` model. If it is specified, the new model will - be trained based on the `base` model. Otherwise, the new model will - be trained from scratch. The `base` model must be in the same - Project and Location as the new Model to train, and have the same - modelType. - multiLabel: - type: boolean - description: >- - If false, a single-label (multi-class) Model will be trained (i.e. - assuming that for each image just up to one annotation may be - applicable). If true, a multi-label Model will be trained (i.e. - assuming that for each image multiple annotations may be - applicable). - budgetMilliNodeHours: - format: int64 - type: string + state: description: >- - The training budget of creating this model, expressed in milli node - hours i.e. 1,000 value in this field means 1 node hour. The actual - metadata.costMilliNodeHours will be equal or less than this value. - If further model training ceases to provide any improvements, it - will stop without using the full budget and the - metadata.successfulStopReason will be `model-converged`. Note, - node_hour = actual_hour * number_of_nodes_involved. For modelType - `cloud`(default), the budget must be between 8,000 and 800,000 milli - node hours, inclusive. The default value is 192,000 which represents - one day in wall time, considering 8 nodes are used. For model types - `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, - `mobile-tf-high-accuracy-1`, the training budget must be between - 1,000 and 100,000 milli node hours, inclusive. The default value is - 24,000 which represents one day in wall time on a single node that - is used. - modelType: - enum: - - MODEL_TYPE_UNSPECIFIED - - CLOUD - - CLOUD_1 - - MOBILE_TF_LOW_LATENCY_1 - - MOBILE_TF_VERSATILE_1 - - MOBILE_TF_HIGH_ACCURACY_1 - - EFFICIENTNET - - MAXVIT - - VIT - - COCA + Whether to enable / disable / inherite default hebavior for import + features analysis. type: string enumDescriptions: - - Should not be set. - - >- - A Model best tailored to be used within Google Cloud, and which - cannot be exported. Default. - - >- - A model type best tailored to be used within Google Cloud, which - cannot be exported externally. Compared to the CLOUD model above, - it is expected to have higher prediction accuracy. - - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as TensorFlow - or Core ML model and used on a mobile or edge device afterwards. - Expected to have low latency, but may have lower prediction - quality than other mobile models. + - Should not be used. - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as TensorFlow - or Core ML model and used on a mobile or edge device with - afterwards. + The default behavior of whether to enable the monitoring. + EntityType-level config: disabled. Feature-level config: inherited + from the configuration of EntityType this Feature belongs to. - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as TensorFlow - or Core ML model and used on a mobile or edge device afterwards. - Expected to have a higher latency, but should also have a higher - prediction quality than other mobile models. + Explicitly enables import features analysis. EntityType-level + config: by default enables import features analysis for all + Features under it. Feature-level config: enables import features + analysis regardless of the EntityType-level config. - >- - EfficientNet model for Model Garden training with customizable - hyperparameters. Best tailored to be used within Google Cloud, and - cannot be exported externally. + Explicitly disables import features analysis. EntityType-level + config: by default disables import features analysis for all + Features under it. Feature-level config: disables import features + analysis regardless of the EntityType-level config. + enum: + - STATE_UNSPECIFIED + - DEFAULT + - ENABLED + - DISABLED + anomalyDetectionBaseline: + description: >- + The baseline used to do anomaly detection for the statistics + generated by import features analysis. + type: string + enumDescriptions: + - Should not be used. - >- - MaxViT model for Model Garden training with customizable - hyperparameters. Best tailored to be used within Google Cloud, and - cannot be exported externally. + Choose the later one statistics generated by either most recent + snapshot analysis or previous import features analysis. If non of + them exists, skip anomaly detection and only generate a + statistics. - >- - ViT model for Model Garden training with customizable - hyperparameters. Best tailored to be used within Google Cloud, and - cannot be exported externally. + Use the statistics generated by the most recent snapshot analysis + if exists. - >- - CoCa model for Model Garden training with customizable - hyperparameters. Best tailored to be used within Google Cloud, and - cannot be exported externally. - uptrainBaseModelId: - description: >- - The ID of `base` model for upTraining. If it is specified, the new - model will be upTrained based on the `base` model for upTraining. - Otherwise, the new model will be trained from scratch. The `base` - model for upTraining must be in the same Project and Location as the - new Model to train, and have the same modelType. - type: string - disableEarlyStopping: - description: >- - Use the entire training budget. This disables the early stopping - feature. When false the early stopping feature is enabled, which - means that AutoML Image Classification might stop training before - the entire training budget has been used. - type: boolean - tunableParameter: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter - description: Trainer type for Vision TrainRequest. - GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance: + Use the statistics generated by the previous import features + analysis if exists. + enum: + - BASELINE_UNSPECIFIED + - LATEST_STATS + - MOST_RECENT_SNAPSHOT_STATS + - PREVIOUS_IMPORT_FEATURES_STATS + GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig: + id: GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig + description: The config for Featurestore Monitoring threshold. type: object - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance - description: Prediction input format for Text Extraction. properties: - content: - description: The text snippet to make the predictions on. - type: string - mimeType: - type: string - description: >- - The MIME type of the text snippet. The supported MIME types are - listed below. - text/plain - key: - type: string + value: description: >- - This field is only used for batch prediction. If a key is provided, - the batch prediction result will by mapped to this key. If omitted, - then the batch prediction result will contain the entire input - instance. Vertex AI will not check if keys in the request are - duplicates, so it is up to the caller to ensure the keys are unique. - GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution: - description: Dataset distribution for Supervised Tuning. - id: GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution - properties: - p95: - format: double - description: Output only. The 95th percentile of the values in the population. - type: number - readOnly: true - min: - type: number - format: double - description: Output only. The minimum of the population values. - readOnly: true - sum: - type: string - description: Output only. Sum of a given population of values. - format: int64 - readOnly: true - billableSum: - description: Output only. Sum of a given population of values that are billable. - readOnly: true - type: string - format: int64 - max: - type: number - format: double - description: Output only. The maximum of the population values. - readOnly: true - median: - type: number - readOnly: true - description: Output only. The median of the values in the population. - format: double - mean: - readOnly: true + Specify a threshold value that can trigger the alert. 1. For + categorical feature, the distribution distance is calculated by + L-inifinity norm. 2. For numerical feature, the distribution + distance is calculated by Jensen–Shannon divergence. Each feature + must have a non-zero threshold if they need to be monitored. + Otherwise no alert will be triggered for that feature. type: number - description: Output only. The arithmetic mean of the values in the population. - format: double - p5: format: double - description: Output only. The 5th percentile of the values in the population. - type: number - readOnly: true - buckets: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket - description: Output only. Defines the histogram bucket. - readOnly: true - type: object - GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata: - description: Details of operations that perform update FeatureGroup. + GoogleCloudAiplatformV1ListEntityTypesResponse: + id: GoogleCloudAiplatformV1ListEntityTypesResponse + description: Response message for FeaturestoreService.ListEntityTypes. type: object properties: - genericMetadata: - description: Operation metadata for FeatureGroup. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - id: GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata - GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance: - properties: - instruction: - type: string + entityTypes: + description: The EntityTypes matching the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + nextPageToken: description: >- - Required. The question asked and other instruction in the inference - prompt. - context: - type: string - description: Optional. Text provided as context to answer the question. - prediction: - description: Required. Output of the evaluated model. - type: string - reference: - description: Optional. Ground truth used to compare against the prediction. + A token, which can be sent as ListEntityTypesRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. type: string - description: Spec for question answering relevance instance. + GoogleCloudAiplatformV1Feature: + id: GoogleCloudAiplatformV1Feature + description: >- + Feature Metadata information. For example, color is a feature that + describes an apple. type: object - id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance - GoogleCloudAiplatformV1Scheduling: - id: GoogleCloudAiplatformV1Scheduling properties: - restartJobOnWorkerRestart: + name: description: >- - Restarts the entire CustomJob if a worker gets restarted. This - feature can be used by distributed training jobs that are not - resilient to workers leaving and joining a job. - type: boolean - timeout: - description: The maximum job running time. The default is 7 days. + 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. type: string - format: google-duration - strategy: - description: Optional. This determines which type of scheduling strategy to use. - enum: - - STRATEGY_UNSPECIFIED - - ON_DEMAND - - LOW_COST - - STANDARD - - SPOT - - FLEX_START - enumDeprecated: - - false - - true - - true - - false - - false - - false + description: + description: Description of the Feature. + type: string + valueType: + description: >- + Immutable. Only applicable for Vertex AI Feature Store (Legacy). + Type of Feature value. type: string enumDescriptions: - - Strategy will default to STANDARD. - - Deprecated. Regular on-demand provisioning strategy. - - Deprecated. Low cost by making potential use of spot resources. - - Standard provisioning strategy uses regular on-demand resources. - - Spot provisioning strategy uses spot resources. - - Flex Start strategy uses DWS to queue for resources. - disableRetries: + - The value type is unspecified. + - Used for Feature that is a boolean. + - Used for Feature that is a list of boolean. + - Used for Feature that is double. + - Used for Feature that is a list of double. + - Used for Feature that is INT64. + - Used for Feature that is a list of INT64. + - Used for Feature that is string. + - Used for Feature that is a list of String. + - Used for Feature that is bytes. + - Used for Feature that is struct. + enum: + - VALUE_TYPE_UNSPECIFIED + - BOOL + - BOOL_ARRAY + - DOUBLE + - DOUBLE_ARRAY + - INT64 + - INT64_ARRAY + - STRING + - STRING_ARRAY + - BYTES + - STRUCT + createTime: description: >- - Optional. Indicates if the job should retry for internal errors - after the job starts running. If true, overrides - `Scheduling.restart_job_on_worker_restart` to false. - type: boolean - maxWaitDuration: + Output only. Only applicable for Vertex AI Feature Store (Legacy). + Timestamp when this EntityType was created. + readOnly: true type: string - format: google-duration + format: google-datetime + updateTime: description: >- - Optional. This is the maximum duration that a job will wait for the - requested resources to be provisioned if the scheduling strategy is - set to [Strategy.DWS_FLEX_START]. If set to 0, the job will wait - indefinitely. The default is 24 hours. - description: All parameters related to queuing and scheduling of custom jobs. - type: object - GoogleCloudAiplatformV1FeatureViewVertexRagSource: - type: object - id: GoogleCloudAiplatformV1FeatureViewVertexRagSource - properties: - uri: + Output only. Only applicable for Vertex AI Feature Store (Legacy). + Timestamp when this EntityType was most recently updated. + readOnly: true type: string + format: google-datetime + labels: description: >- - Required. The BigQuery view/table URI that will be materialized on - each manual sync trigger. The table/view is expected to have the - following columns and types at least: - `corpus_id` (STRING, - NULLABLE/REQUIRED) - `file_id` (STRING, NULLABLE/REQUIRED) - - `chunk_id` (STRING, NULLABLE/REQUIRED) - `chunk_data_type` (STRING, - NULLABLE/REQUIRED) - `chunk_data` (STRING, NULLABLE/REQUIRED) - - `embeddings` (FLOAT, REPEATED) - `file_original_uri` (STRING, - NULLABLE/REQUIRED) - ragCorpusId: - format: int64 - description: Optional. The RAG corpus id corresponding to this FeatureView. + Optional. The labels with user-defined metadata to organize your + Features. 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 Feature (System labels are excluded)." System reserved + label keys are prefixed with "aiplatform.googleapis.com/" and are + immutable. + type: object + additionalProperties: + type: string + etag: + description: >- + Used to perform a consistent read-modify-write updates. If not set, + a blind "overwrite" update happens. type: string - description: A Vertex Rag source for features that need to be synced to Online Store. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting: - properties: - inputs: - description: The input parameters of this TrainingJob. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs - metadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata - description: The metadata information. - type: object - description: A TrainingJob that trains and uploads an AutoML Forecasting Model. - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting - GoogleCloudAiplatformV1ToolParameterKeyMatchResults: - id: GoogleCloudAiplatformV1ToolParameterKeyMatchResults - properties: - toolParameterKeyMatchMetricValues: + disableMonitoring: + description: >- + 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. + type: boolean + monitoringStatsAnomalies: + description: >- + Output only. Only applicable for Vertex AI Feature Store (Legacy). + The list of historical stats and anomalies with specified + objectives. readOnly: true - description: Output only. Tool parameter key match metric values. + type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue - type: array - type: object - description: Results for tool parameter key match metric. - GoogleCloudAiplatformV1Endpoint: + #/components/schemas/GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly + versionColumnName: + description: >- + 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. + type: string + pointOfContact: + description: >- + Entity responsible for maintaining this feature. Can be comma + separated list of email addresses or URIs. + type: string + GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly: + id: GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly description: >- - Models are deployed into it, and afterwards Endpoint is called to obtain - predictions and explanations. - id: GoogleCloudAiplatformV1Endpoint + A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats + requested by user, sorted by FeatureStatsAnomaly.start_time descending. + type: object properties: - etag: + objective: + description: Output only. The objective for each stats. + readOnly: true type: string + enumDescriptions: + - If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty. + - Stats are generated by Import Feature Analysis. + - Stats are generated by Snapshot Analysis. + enum: + - OBJECTIVE_UNSPECIFIED + - IMPORT_FEATURE_ANALYSIS + - SNAPSHOT_ANALYSIS + featureStatsAnomaly: description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. - enablePrivateServiceConnect: - type: boolean - description: >- - Deprecated: If true, expose the Endpoint via private service - connect. Only one of the fields, network or - enable_private_service_connect, can be set. - deprecated: true - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key spec for an Endpoint. If set, this - Endpoint and all sub-resources of this Endpoint will be secured by - this key. - satisfiesPzi: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - satisfiesPzs: - description: Output only. Reserved for future use. + Output only. The stats and anomalies generated at specific + timestamp. readOnly: true - type: boolean - network: - type: string + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureStatsAnomaly' + GoogleCloudAiplatformV1FeatureStatsAnomaly: + id: GoogleCloudAiplatformV1FeatureStatsAnomaly + description: >- + Stats and Anomaly generated at specific timestamp for specific Feature. + The start_time and end_time are used to define the time range of the + dataset that current stats belongs to, e.g. prediction traffic is + bucketed into prediction datasets by time window. If the Dataset is not + defined by time window, start_time = end_time. Timestamp of the stats + and anomalies always refers to end_time. Raw stats and anomalies are + stored in stats_uri or anomaly_uri in the tensorflow defined protos. + Field data_stats contains almost identical information with the raw + stats in Vertex AI defined proto, for UI to display. + type: object + properties: + score: description: >- - 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. - privateServiceConnectConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PrivateServiceConnectConfig + Feature importance score, only populated when cross-feature + monitoring is enabled. For now only used to represent feature + attribution score within range [0, 1] for + ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and + ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT. + type: number + format: double + statsUri: description: >- - Optional. Configuration for private service connect. network and - private_service_connect_config are mutually exclusive. - displayName: + Path of the stats file for current feature values in Cloud Storage + bucket. Format: gs:////stats. Example: + gs://monitoring_bucket/feature_name/stats. Stats are stored as + binary format with Protobuf message + [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto). type: string + anomalyUri: description: >- - Required. The display name of the Endpoint. The name can be up to - 128 characters long and can consist of any UTF-8 characters. - dedicatedEndpointDns: + Path of the anomaly file for current feature values in Cloud Storage + bucket. Format: gs:////anomalies. Example: + gs://monitoring_bucket/feature_name/anomalies. Stats are stored as + binary format with Protobuf message Anoamlies are stored as binary + format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] + (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). type: string - readOnly: true + distributionDeviation: description: >- - 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`. - updateTime: + Deviation from the current stats to baseline stats. 1. For + categorical feature, the distribution distance is calculated by + L-inifinity norm. 2. For numerical feature, the distribution + distance is calculated by Jensen–Shannon divergence. + type: number + format: double + anomalyDetectionThreshold: + description: >- + This is the threshold used when detecting anomalies. The threshold + can be changed by user, so this one might be different from + ThresholdConfig.value. + type: number + format: double + startTime: + description: >- + The start timestamp of window where stats were generated. For + objectives where time window doesn't make sense (e.g. Featurestore + Snapshot Monitoring), start_time is only used to indicate the + monitoring intervals, so it always equals to (end_time - + monitoring_interval). type: string - readOnly: true format: google-datetime - description: Output only. Timestamp when this Endpoint was last updated. - description: - type: string - description: The description of the Endpoint. - dedicatedEndpointEnabled: + endTime: description: >- - 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. - type: boolean - createTime: - readOnly: true - description: Output only. Timestamp when this Endpoint was created. - format: google-datetime + The end timestamp of window where stats were generated. For + objectives where time window doesn't make sense (e.g. Featurestore + Snapshot Monitoring), end_time indicates the timestamp of the data + used to generate stats (e.g. timestamp we take snapshots for feature + values). type: string - modelDeploymentMonitoringJob: - readOnly: true + format: google-datetime + GoogleCloudAiplatformV1BatchCreateFeaturesRequest: + id: GoogleCloudAiplatformV1BatchCreateFeaturesRequest + description: >- + Request message for FeaturestoreService.BatchCreateFeatures. Request + message for FeatureRegistryService.BatchCreateFeatures. + type: object + properties: + requests: description: >- - 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}` - type: string - name: - readOnly: true + Required. The request message specifying the Features to create. All + Features must be created under the same parent EntityType / + FeatureGroup. The `parent` field in each child request message can + be omitted. If `parent` is set in a child request, then the value + must match the `parent` value in this request message. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CreateFeatureRequest' + GoogleCloudAiplatformV1CreateFeatureRequest: + id: GoogleCloudAiplatformV1CreateFeatureRequest + description: >- + Request message for FeaturestoreService.CreateFeature. Request message + for FeatureRegistryService.CreateFeature. + type: object + properties: + parent: + description: >- + Required. The resource name of the EntityType or FeatureGroup to + create a Feature. Format for entity_type as parent: + `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + Format for feature_group as parent: + `projects/{project}/locations/{location}/featureGroups/{feature_group}` type: string - description: Output only. The resource name of the Endpoint. - trafficSplit: - type: object - additionalProperties: - type: integer - format: int32 + feature: + description: Required. The Feature to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + featureId: description: >- - 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. - deployedModels: + Required. The ID to use for the Feature, which will become the final + component of the Feature's resource name. This value may be up to + 128 characters, and valid characters are `[a-z0-9_]`. The first + character cannot be a number. The value must be unique within an + EntityType/FeatureGroup. + type: string + GoogleCloudAiplatformV1ListFeaturesResponse: + id: GoogleCloudAiplatformV1ListFeaturesResponse + description: >- + Response message for FeaturestoreService.ListFeatures. Response message + for FeatureRegistryService.ListFeatures. + type: object + properties: + features: + description: The Features matching the request. type: array - description: >- - Output only. The models deployed in this Endpoint. To add or remove - DeployedModels use EndpointService.DeployModel and - EndpointService.UndeployModel respectively. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' - readOnly: true - predictRequestResponseLoggingConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig - description: Configures the request-response logging for online prediction. - labels: - type: object - additionalProperties: - type: string + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + nextPageToken: description: >- - 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. + A token, which can be sent as ListFeaturesRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. + type: string + GoogleCloudAiplatformV1ImportFeatureValuesRequest: + id: GoogleCloudAiplatformV1ImportFeatureValuesRequest + description: Request message for FeaturestoreService.ImportFeatureValues. type: object - GoogleCloudAiplatformV1SpecialistPool: - id: GoogleCloudAiplatformV1SpecialistPool properties: - specialistManagerEmails: - items: - type: string - description: The email addresses of the managers in the SpecialistPool. - type: array - displayName: + avroSource: + $ref: '#/components/schemas/GoogleCloudAiplatformV1AvroSource' + bigquerySource: + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + csvSource: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvSource' + featureTimeField: + description: >- + Source column that holds the Feature timestamp for all Feature + values in each entity. + type: string + featureTime: + description: >- + Single Feature timestamp for all entities being imported. The + timestamp must not have higher than millisecond precision. type: string + format: google-datetime + entityIdField: description: >- - Required. The user-defined name of the SpecialistPool. The name can - be up to 128 characters long and can consist of any UTF-8 - characters. This field should be unique on project-level. - name: + Source column that holds entity IDs. If not provided, entity IDs are + extracted from the column named entity_id. type: string - description: Required. The resource name of the SpecialistPool. - pendingDataLabelingJobs: - readOnly: true - items: - type: string - description: Output only. The resource name of the pending data labeling jobs. - type: array - specialistWorkerEmails: + featureSpecs: + description: >- + Required. Specifications defining which Feature values to import + from the entity. The request fails if no feature_specs are provided, + and having multiple feature_specs for one Feature is not allowed. type: array - description: The email addresses of workers in the SpecialistPool. items: - type: string - specialistManagersCount: - readOnly: true - description: Output only. The number of managers in this SpecialistPool. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec + disableOnlineServing: + description: >- + If set, data will not be imported for online serving. This is + typically used for backfilling, where Feature generation timestamps + are not in the timestamp range needed for online serving. + type: boolean + workerCount: + description: >- + Specifies the number of workers that are used to write data to the + Featurestore. Consider the online serving capacity that you require + to achieve the desired import throughput without interfering with + online serving. The value must be positive, and less than or equal + to 100. If not set, defaults to using 1 worker. The low count + ensures minimal impact on online serving performance. type: integer format: int32 - description: >- - SpecialistPool represents customers' own workforce to work on their data - labeling jobs. It includes a group of specialist managers and workers. - Managers are responsible for managing the workers in this pool as well - as customers' data labeling jobs associated with this pool. Customers - create specialist pool as well as start data labeling jobs on Cloud, - managers and workers handle the jobs using CrowdCompute console. + disableIngestionAnalysis: + description: If true, API doesn't start ingestion analysis pipeline. + type: boolean + GoogleCloudAiplatformV1AvroSource: + id: GoogleCloudAiplatformV1AvroSource + description: The storage details for Avro input content. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity: + properties: + gcsSource: + description: Required. Google Cloud Storage location. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' + GoogleCloudAiplatformV1BigQuerySource: + id: GoogleCloudAiplatformV1BigQuerySource + description: The BigQuery location for the input content. type: object properties: - unit: + inputUri: description: >- - The time granularity unit of this time period. The supported units - are: * "minute" * "hour" * "day" * "week" * "month" * "year" - type: string - quantity: + Required. BigQuery URI to a table, up to 2000 characters long. + Accepted forms: * BigQuery path. For example: + `bq://projectId.bqDatasetId.bqTableId`. type: string - description: >- - The number of granularity_units between data points in the training - data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. - For all other values of `granularity_unit`, must be 1. - format: int64 - description: A duration of time expressed in time granularity units. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity - GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity: - description: >- - Message to select entity. If an entity id is selected, all the feature - values corresponding to the entity id will be deleted, including the - entityId. - id: GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity + GoogleCloudAiplatformV1CsvSource: + id: GoogleCloudAiplatformV1CsvSource + description: The storage details for CSV input content. type: object properties: - entityIdSelector: - description: >- - Required. Selectors choosing feature values of which entity id to be - deleted from the EntityType. - $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityIdSelector' - GoogleCloudAiplatformV1SearchNearestEntitiesRequest: + gcsSource: + description: Required. Google Cloud Storage location. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' + GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec: + id: GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec + description: Defines the Feature value(s) to import. + type: object properties: - returnFullEntity: + id: description: >- - Optional. If set to true, the full entities (including all vector - values and metadata) of the nearest neighbors are returned; - otherwise only entity id of the nearest neighbors will be returned. - Note that returning full entities will significantly increase the - latency and cost of the query. - type: boolean - query: - description: Required. The query. - $ref: '#/components/schemas/GoogleCloudAiplatformV1NearestNeighborQuery' + Required. ID of the Feature to import values of. This Feature must + exist in the target EntityType, or the request will fail. + type: string + sourceField: + description: >- + Source column to get the Feature values from. If not set, uses the + column with the same name as the Feature ID. + type: string + GoogleCloudAiplatformV1BatchReadFeatureValuesRequest: + id: GoogleCloudAiplatformV1BatchReadFeatureValuesRequest + description: Request message for FeaturestoreService.BatchReadFeatureValues. type: object - id: GoogleCloudAiplatformV1SearchNearestEntitiesRequest - description: The request message for FeatureOnlineStoreService.SearchNearestEntities. - GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig: properties: - value: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue + csvReadInstances: description: >- - A unique specific value for a given feature. Example: `{ "value": { - "string_value": "12345" } }` - allValues: + Each read instance consists of exactly one read timestamp and one or + more entity IDs identifying entities of the corresponding + EntityTypes whose Features are requested. Each output instance + contains Feature values of requested entities concatenated together + as of the read time. An example read instance may be `foo_entity_id, + bar_entity_id, 2020-01-01T10:00:00.123Z`. An example output instance + may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z, + foo_entity_feature1_value, bar_entity_feature2_value`. Timestamp in + each read instance must be millisecond-aligned. `csv_read_instances` + are read instances stored in a plain-text CSV file. The header + should be: [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp The + columns can be in any order. Values in the timestamp column must use + the RFC 3339 format, e.g. `2012-07-30T10:43:17.123Z`. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvSource' + bigqueryReadInstances: + description: Similar to csv_read_instances, but from BigQuery source. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + destination: + description: Required. Specifies output location and format. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueDestination' + passThroughFields: description: >- - If all_values is set to true, then all possible labels of the keyed - feature will have another slice computed. Example: - `{"all_values":{"value":true}}` - type: boolean - range: + When not empty, the specified fields in the *_read_instances source + will be joined as-is in the output, in addition to those fields from + the Featurestore Entity. For BigQuery source, the type of the + pass-through values will be automatically inferred. For CSV source, + the pass-through values will be passed as opaque bytes. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField + entityTypeSpecs: description: >- - A range of values for a numerical feature. Example: - `{"range":{"low":10000.0,"high":50000.0}}` will capture 12345 and - 23334 in the slice. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange + Required. Specifies EntityType grouping Features to read values of + and settings. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec + startTime: + description: >- + Optional. Excludes Feature values with feature generation timestamp + before this timestamp. If not set, retrieve oldest values kept in + Feature Store. Timestamp, if present, must not have higher than + millisecond precision. + type: string + format: google-datetime + GoogleCloudAiplatformV1FeatureValueDestination: + id: GoogleCloudAiplatformV1FeatureValueDestination + description: A destination location for Feature values and format. type: object - description: >- - Specification message containing the config for this SliceSpec. When - `kind` is selected as `value` and/or `range`, only a single slice will - be computed. When `all_values` is present, a separate slice will be - computed for each possible label/value for the corresponding key in - `config`. Examples, with feature zip_code with values 12345, 23334, - 88888 and feature country with values "US", "Canada", "Mexico" in the - dataset: Example 1: { "zip_code": { "value": { "float_value": 12345.0 } - } } A single slice for any data with zip_code 12345 in the dataset. - Example 2: { "zip_code": { "range": { "low": 12345, "high": 20000 } } } - A single slice containing data where the zip_codes between 12345 and - 20000 For this example, data with the zip_code of 12345 will be in this - slice. Example 3: { "zip_code": { "range": { "low": 10000, "high": 20000 - } }, "country": { "value": { "string_value": "US" } } } A single slice - containing data where the zip_codes between 10000 and 20000 has the - country "US". For this example, data with the zip_code of 12345 and - country "US" will be in this slice. Example 4: { "country": - {"all_values": { "value": true } } } Three slices are computed, one for - each unique country in the dataset. Example 5: { "country": { - "all_values": { "value": true } }, "zip_code": { "value": { - "float_value": 12345.0 } } } Three slices are computed, one for each - unique country in the dataset where the zip_code is also 12345. For this - example, data with zip_code 12345 and country "US" will be in one slice, - zip_code 12345 and country "Canada" in another slice, and zip_code 12345 - and country "Mexico" in another slice, totaling 3 slices. - id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig - GoogleCloudAiplatformV1FindNeighborsRequestQuery: - description: >- - A query to find a number of the nearest neighbors (most similar vectors) - of a vector. properties: - datapoint: - description: >- - Required. The datapoint/vector whose nearest neighbors should be - searched for. - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' - perCrowdingAttributeNeighborCount: - format: int32 + bigqueryDestination: description: >- - Crowding is a constraint on a neighbor list produced by nearest - neighbor search requiring that no more than some value k' of the k - neighbors returned have the same value of crowding_attribute. It's - used for improving result diversity. This field is the maximum - number of matches with the same crowding tag. - type: integer - fractionLeafNodesToSearchOverride: + Output in BigQuery format. BigQueryDestination.output_uri in + FeatureValueDestination.bigquery_destination must refer to a table. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' + tfrecordDestination: description: >- - The fraction of the number of leaves to search, set at query time - allows user to tune search performance. This value increase result - in both search accuracy and latency increase. The value should be - between 0.0 and 1.0. If not set or set to 0.0, query uses the - default value specified in - NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search. - format: double - type: number - approximateNeighborCount: - type: integer + Output in TFRecord format. Below are the mapping from Feature value + type in Featurestore to Feature value type in TFRecord: Value type + in Featurestore | Value type in TFRecord DOUBLE, DOUBLE_ARRAY | + FLOAT_LIST INT64, INT64_ARRAY | INT64_LIST STRING, STRING_ARRAY, + BYTES | BYTES_LIST true -> byte_string("true"), false -> + byte_string("false") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + $ref: '#/components/schemas/GoogleCloudAiplatformV1TFRecordDestination' + csvDestination: description: >- - The number of neighbors to find via approximate search before exact - reordering is performed. If not set, the default value from scam - config is used; if set, this value must be > 0. - format: int32 - neighborCount: + Output in CSV format. Array Feature value types are not allowed in + CSV format. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvDestination' + GoogleCloudAiplatformV1TFRecordDestination: + id: GoogleCloudAiplatformV1TFRecordDestination + description: The storage details for TFRecord output content. + type: object + properties: + gcsDestination: + description: Required. Google Cloud Storage location. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + GoogleCloudAiplatformV1CsvDestination: + id: GoogleCloudAiplatformV1CsvDestination + description: The storage details for CSV output content. + type: object + properties: + gcsDestination: + description: Required. Google Cloud Storage location. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField: + id: GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField + description: Describe pass-through fields in read_instance source. + type: object + properties: + fieldName: description: >- - The number of nearest neighbors to be retrieved from database for - each query. If not set, will use the default from the service - configuration - (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config). - type: integer - format: int32 - rrf: - description: Optional. Represents RRF algorithm that combines search results. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF + Required. The name of the field in the CSV header or the name of the + column in BigQuery table. The naming restriction is the same as + Feature.name. + type: string + GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec: + id: GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec + description: >- + Selects Features of an EntityType to read values of and specifies read + settings. type: object - id: GoogleCloudAiplatformV1FindNeighborsRequestQuery - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition: - id: >- - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition - description: Represents the spec to match integer values from parent parameter. properties: - values: + entityTypeId: description: >- - Required. Matches values of the parent parameter of 'INTEGER' type. - All values must lie in `integer_value_spec` of parent parameter. + Required. ID of the EntityType to select Features. The EntityType id + is the entity_type_id specified during EntityType creation. + type: string + featureSelector: + description: >- + Required. Selectors choosing which Feature values to read from the + EntityType. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + settings: + description: Per-Feature settings for the batch read. type: array items: - format: int64 - type: string + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DestinationFeatureSetting + GoogleCloudAiplatformV1DestinationFeatureSetting: + id: GoogleCloudAiplatformV1DestinationFeatureSetting type: object - GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata: - id: GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: >- - Runtime operation information for - IndexEndpointService.CreateIndexEndpoint. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs: + featureId: + description: Required. The ID of the Feature to apply the setting to. + type: string + destinationField: + description: >- + Specify the field name in the export destination. If not specified, + Feature ID is used. + type: string + GoogleCloudAiplatformV1ExportFeatureValuesRequest: + id: GoogleCloudAiplatformV1ExportFeatureValuesRequest + description: Request message for FeaturestoreService.ExportFeatureValues. type: object properties: - optimizationObjectiveRecallValue: - format: float + snapshotExport: description: >- - Required when optimization_objective is - "maximize-precision-at-recall". Must be between 0 and 1, inclusive. - type: number - exportEvaluatedDataItemsConfig: + Exports the latest Feature values of all entities of the EntityType + within a time range. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig - description: >- - Configuration for exporting test set predictions to a BigQuery - table. If this configuration is absent, then the export is not - performed. - disableEarlyStopping: - type: boolean + #/components/schemas/GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport + fullExport: description: >- - Use the entire training budget. This disables the early stopping - feature. By default, the early stopping feature is enabled, which - means that AutoML Tables might stop training before the entire - training budget has been used. - targetColumn: - description: The column name of the target column that the model is to predict. - type: string - additionalExperiments: + Exports all historical values of all entities of the EntityType + within a time range + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport + destination: + description: Required. Specifies destination location and format. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueDestination' + featureSelector: + description: Required. Selects Features to export values of. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + settings: + description: Per-Feature export settings. type: array - items: - type: string - description: Additional experiment flags for the Tables training pipeline. - trainBudgetMilliNodeHours: - format: int64 - type: string - description: >- - Required. The train budget of creating this model, expressed in - milli node hours i.e. 1,000 value in this field means 1 node hour. - The training cost of the model will not exceed this budget. The - final cost will be attempted to be close to the budget, though may - end up being (even) noticeably smaller - at the backend's - discretion. This especially may happen when further model training - ceases to provide any improvements. If the budget is set to a value - known to be insufficient to train a model for the given dataset, the - training won't be attempted and will error. The train budget must be - between 1,000 and 72,000 milli node hours, inclusive. - transformations: items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation + #/components/schemas/GoogleCloudAiplatformV1DestinationFeatureSetting + GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport: + id: GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport + description: >- + Describes exporting the latest Feature values of all entities of the + EntityType between [start_time, snapshot_time]. + type: object + properties: + snapshotTime: description: >- - Each transformation will apply transform function to given input - column. And the result will be used for training. When creating - transformation for BigQuery Struct column, the column should be - flattened using "." as the delimiter. - type: array - predictionType: + Exports Feature values as of this timestamp. If not set, retrieve + values as of now. Timestamp, if present, must not have higher than + millisecond precision. + type: string + format: google-datetime + startTime: description: >- - The type of prediction the Model is to produce. "classification" - - Predict one out of multiple target values is picked for each row. - "regression" - Predict a value based on its relation to other - values. This type is available only to columns that contain - semantically numeric values, i.e. integers or floating point number, - even if stored as e.g. strings. + Excludes Feature values with feature generation timestamp before + this timestamp. If not set, retrieve oldest values kept in Feature + Store. Timestamp, if present, must not have higher than millisecond + precision. type: string - weightColumnName: + format: google-datetime + GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport: + id: GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport + description: >- + Describes exporting all historical Feature values of all entities of the + EntityType between [start_time, end_time]. + type: object + properties: + startTime: description: >- - Column name that should be used as the weight column. Higher values - in this column give more importance to the row during model - training. The column must have numeric values between 0 and 10000 - inclusively; 0 means the row is ignored for training. If weight - column field is not set, then all rows are assumed to have equal - weight of 1. + Excludes Feature values with feature generation timestamp before + this timestamp. If not set, retrieve oldest values kept in Feature + Store. Timestamp, if present, must not have higher than millisecond + precision. type: string - optimizationObjectivePrecisionValue: - type: number - format: float + format: google-datetime + endTime: description: >- - Required when optimization_objective is - "maximize-recall-at-precision". Must be between 0 and 1, inclusive. - optimizationObjective: + Exports Feature values as of this timestamp. If not set, retrieve + values as of now. Timestamp, if present, must not have higher than + millisecond precision. type: string + format: google-datetime + GoogleCloudAiplatformV1DeleteFeatureValuesRequest: + id: GoogleCloudAiplatformV1DeleteFeatureValuesRequest + description: Request message for FeaturestoreService.DeleteFeatureValues. + type: object + properties: + selectEntity: + description: Select feature values to be deleted by specifying entities. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity + selectTimeRangeAndFeature: description: >- - Objective function the model is optimizing towards. The training - process creates a model that maximizes/minimizes the value of the - objective function over the validation set. The supported - optimization objectives depend on the prediction type. If the field - is not set, a default objective function is used. classification - (binary): "maximize-au-roc" (default) - Maximize the area under the - receiver operating characteristic (ROC) curve. "minimize-log-loss" - - Minimize log loss. "maximize-au-prc" - Maximize the area under the - precision-recall curve. "maximize-precision-at-recall" - Maximize - precision for a specified recall value. - "maximize-recall-at-precision" - Maximize recall for a specified - precision value. classification (multi-class): "minimize-log-loss" - (default) - Minimize log loss. regression: "minimize-rmse" (default) - - Minimize root-mean-squared error (RMSE). "minimize-mae" - Minimize - mean-absolute error (MAE). "minimize-rmsle" - Minimize - root-mean-squared log error (RMSLE). - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs - GoogleCloudAiplatformV1PredictResponse: - id: GoogleCloudAiplatformV1PredictResponse + Select feature values to be deleted by specifying time range and + features. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature + GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity: + id: GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity + description: >- + Message to select entity. If an entity id is selected, all the feature + values corresponding to the entity id will be deleted, including the + entityId. + type: object properties: - model: + entityIdSelector: description: >- - Output only. The resource name of the Model which is deployed as the - DeployedModel that this prediction hits. - type: string - readOnly: true - modelVersionId: - readOnly: true + Required. Selectors choosing feature values of which entity id to be + deleted from the EntityType. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityIdSelector' + GoogleCloudAiplatformV1EntityIdSelector: + id: GoogleCloudAiplatformV1EntityIdSelector + description: Selector for entityId. Getting ids from the given source. + type: object + properties: + csvSource: + description: Source of Csv + $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvSource' + entityIdField: + description: >- + Source column that holds entity IDs. If not provided, entity IDs are + extracted from the column named entity_id. type: string + GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature: + id: >- + GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature + description: >- + Message to select time range and feature. Values of the selected feature + generated within an inclusive time range will be deleted. Using this + option permanently deletes the feature values from the specified feature + IDs within the specified time range. This might include data from the + online storage. If you want to retain any deleted historical data in the + online storage, you must re-ingest it. + type: object + properties: + timeRange: description: >- - Output only. The version ID of the Model which is deployed as the - DeployedModel that this prediction hits. - metadata: + Required. Select feature generated within a half-inclusive time + range. The time range is lower inclusive and upper exclusive. + $ref: '#/components/schemas/GoogleTypeInterval' + featureSelector: + description: >- + Required. Selectors choosing which feature values to be deleted from + the EntityType. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + skipOnlineStorageDelete: + description: >- + If set, data will not be deleted from online storage. When time + range is older than the data in online storage, setting this to be + true will make the deletion have no impact on online serving. + type: boolean + GoogleTypeInterval: + id: GoogleTypeInterval + description: >- + 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. + type: object + properties: + startTime: description: >- - Output only. Request-level metadata returned by the model. The - metadata type will be dependent upon the model implementation. - type: any - readOnly: true - modelDisplayName: + Optional. Inclusive start of the interval. If specified, a Timestamp + matching this interval will have to be the same or after the start. + type: string + format: google-datetime + endTime: description: >- - Output only. The display name of the Model which is deployed as the - DeployedModel that this prediction hits. - readOnly: true + Optional. Exclusive end of the interval. If specified, a Timestamp + matching this interval will have to be before the end. type: string - predictions: + format: google-datetime + GoogleCloudAiplatformV1SearchFeaturesResponse: + id: GoogleCloudAiplatformV1SearchFeaturesResponse + description: Response message for FeaturestoreService.SearchFeatures. + type: object + properties: + features: + description: >- + The Features matching the request. Fields returned: * `name` * + `description` * `labels` * `create_time` * `update_time` type: array items: - type: any + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + nextPageToken: description: >- - The predictions that are the output of the predictions call. The - schema of any single prediction may be specified via Endpoint's - DeployedModels' Model's PredictSchemata's prediction_schema_uri. - deployedModelId: + A token, which can be sent as SearchFeaturesRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. type: string - description: ID of the Endpoint's DeployedModel that served this prediction. - description: Response message for PredictionService.Predict. + GoogleCloudAiplatformV1FeatureGroup: + id: GoogleCloudAiplatformV1FeatureGroup + description: Vertex AI Feature Group. type: object - GoogleCloudAiplatformV1PublisherModelCallToActionDeploy: - description: >- - Model metadata that is needed for UploadModel or - DeployModel/CreateEndpoint requests. - id: GoogleCloudAiplatformV1PublisherModelCallToActionDeploy properties: - largeModelReference: - $ref: '#/components/schemas/GoogleCloudAiplatformV1LargeModelReference' + bigQuery: description: >- - Optional. Large model reference. When this is set, - model_artifact_spec is not needed. - title: - type: string - description: Required. The title of the regional resource reference. - artifactUri: + Indicates that features for this group come from BigQuery + Table/View. By default treats the source as a sparse time series + source. The BigQuery source table or view must have at least one + entity ID column and a column named `feature_timestamp`. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroupBigQuery' + name: description: >- - Optional. The path to the directory containing the Model artifact - and any of its supporting files. + Identifier. Name of the FeatureGroup. Format: + `projects/{project}/locations/{location}/featureGroups/{featureGroup}` type: string - modelDisplayName: - description: Optional. Default model display name. + createTime: + description: Output only. Timestamp when this FeatureGroup was created. + readOnly: true type: string - sharedResources: + format: google-datetime + updateTime: + description: Output only. Timestamp when this FeatureGroup was last updated. + readOnly: true type: string + format: google-datetime + etag: description: >- - The resource name of the shared DeploymentResourcePool to deploy on. - Format: - `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` - automaticResources: - description: >- - A description of resources that to large degree are decided by - Vertex AI, and require only a modest additional configuration. - $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' - dedicatedResources: - description: >- - A description of resources that are dedicated to the DeployedModel, - and that need a higher degree of manual configuration. - $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' - containerSpec: - description: >- - Optional. The specification of the container that is to be used when - deploying this Model in Vertex AI. Not present for Large Models. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelContainerSpec' - deployTaskName: + Optional. Used to perform consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. type: string + labels: description: >- - Optional. The name of the deploy task (e.g., "text to image - generation"). - publicArtifactUri: - description: >- - Optional. The signed URI for ephemeral Cloud Storage access to model - artifact. + 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. + type: object + additionalProperties: + type: string + description: + description: Optional. Description of the FeatureGroup. type: string - deployMetadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata - description: Optional. Metadata information about this deployment config. - type: object - GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats: + GoogleCloudAiplatformV1FeatureGroupBigQuery: + id: GoogleCloudAiplatformV1FeatureGroupBigQuery + description: Input source type for BigQuery Tables and Views. type: object properties: - validRecordCount: - type: string - description: Number of records in this file that were successfully processed. - format: int64 - validSparseRecordCount: - format: int64 - type: string - description: >- - Number of sparse records in this file that were successfully - processed. - sourceGcsUri: - type: string - description: Cloud Storage URI pointing to the original file in user's bucket. - invalidSparseRecordCount: + bigQuerySource: description: >- - Number of sparse records in this file we skipped due to validate - errors. - type: string - format: int64 - partialErrors: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError + Required. Immutable. The BigQuery source URI that points to either a + BigQuery Table or View. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + entityIdColumns: description: >- - The detail information of the partial failures encountered for those - invalid records that couldn't be parsed. Up to 50 partial errors - will be reported. + Optional. Columns to construct entity_id / row keys. If not provided + defaults to `entity_id`. type: array - invalidRecordCount: - format: int64 - type: string - description: Number of records in this file we skipped due to validate errors. - id: >- - GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats - GoogleCloudAiplatformV1SchemaImageDatasetMetadata: - properties: - dataItemSchemaUri: - type: string - description: >- - Points to a YAML file stored on Google Cloud Storage describing - payload of the Image DataItems that belong to this Dataset. - gcsBucket: - type: string + items: + type: string + staticDataSource: + description: Optional. Set if the data source is not a time-series. + type: boolean + timeSeries: description: >- - Google Cloud Storage Bucket name that contains the blob data of this - Dataset. - type: object - id: GoogleCloudAiplatformV1SchemaImageDatasetMetadata - description: The metadata of Datasets that contain Image DataItems. - GoogleCloudAiplatformV1ModelSourceInfo: - id: GoogleCloudAiplatformV1ModelSourceInfo - description: Detail description of the source information of the model. - type: object - properties: - sourceType: - description: Type of the model source. - enum: - - MODEL_SOURCE_TYPE_UNSPECIFIED - - AUTOML - - CUSTOM - - BQML - - MODEL_GARDEN - - GENIE - - CUSTOM_TEXT_EMBEDDING - - MARKETPLACE - type: string - enumDescriptions: - - Should not be used. - - The Model is uploaded by automl training pipeline. - - The Model is uploaded by user or custom training pipeline. - - The Model is registered and sync'ed from BigQuery ML. - - The Model is saved or tuned from Model Garden. - - The Model is saved or tuned from Genie. - - The Model is uploaded by text embedding finetuning pipeline. - - The Model is saved or tuned from Marketplace. - copy: + Optional. If the source is a time-series source, this can be set to + control how downstream sources (ex: FeatureView ) will treat + time-series sources. If not set, will treat the source as a + time-series source with `feature_timestamp` as timestamp column and + no scan boundary. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries + dense: description: >- - If this Model is copy of another Model. If true then source_type - pertains to the original. + Optional. If set, all feature values will be fetched from a single + row per unique entityId including nulls. If not set, will collapse + all rows for each unique entityId into a singe row with any non-null + values if present, if no non-null values are present will sync null. + ex: If source has schema `(entity_id, feature_timestamp, f0, f1)` + and the following rows: `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` + `(e1, 2020-02-01T10:00:00.123Z, 20, null)` If dense is set, `(e1, + 20, null)` is synced to online stores. If dense is not set, `(e1, + 20, 15)` is synced to online stores. type: boolean - GoogleCloudAiplatformV1QueryDeployedModelsResponse: + GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries: + id: GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries + type: object properties: - totalDeployedModelCount: - description: The total number of DeployedModels on this DeploymentResourcePool. - type: integer - format: int32 - totalEndpointCount: + timestampColumn: description: >- - The total number of Endpoints that have DeployedModels on this - DeploymentResourcePool. - format: int32 - type: integer - nextPageToken: + Optional. Column hosting timestamp values for a time-series source. + Will be used to determine the latest `feature_values` for each + entity. Optional. If not provided, column named `feature_timestamp` + of type `TIMESTAMP` will be used. type: string - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - deployedModels: - description: DEPRECATED Use deployed_model_refs instead. + GoogleCloudAiplatformV1ListFeatureGroupsResponse: + id: GoogleCloudAiplatformV1ListFeatureGroupsResponse + description: Response message for FeatureRegistryService.ListFeatureGroups. + type: object + properties: + featureGroups: + description: The FeatureGroups matching the request. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' - deprecated: true - deployedModelRefs: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModelRef' - type: array + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' + nextPageToken: description: >- - References to the DeployedModels that share the specified - deploymentResourcePool. - id: GoogleCloudAiplatformV1QueryDeployedModelsResponse + A token, which can be sent as ListFeatureGroupsRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. + type: string + GoogleCloudAiplatformV1FeatureOnlineStore: + id: GoogleCloudAiplatformV1FeatureOnlineStore + description: >- + Vertex AI Feature Online Store provides a centralized repository for + serving ML features and embedding indexes at low latency. The Feature + Online Store is a top-level container. type: object - description: Response message for QueryDeployedModels method. - GoogleCloudAiplatformV1NotebookRuntime: properties: - runtimeUser: + bigtable: + description: >- + Contains settings for the Cloud Bigtable instance that will be + created to serve featureValues for all FeatureViews under this + FeatureOnlineStore. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreBigtable + optimized: + description: >- + Contains settings for the Optimized store that will be created to + serve featureValues for all FeatureViews under this + FeatureOnlineStore. When choose Optimized storage type, need to set + PrivateServiceConnectConfig.enable_private_service_connect to use + private endpoint. Otherwise will use public endpoint by default. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreOptimized + name: + description: >- + Identifier. Name of the FeatureOnlineStore. Format: + `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` type: string - description: Required. The user email of the NotebookRuntime. createTime: + description: Output only. Timestamp when this FeatureOnlineStore was created. readOnly: true type: string format: google-datetime - description: Output only. Timestamp when this NotebookRuntime was created. - notebookRuntimeTemplateRef: - description: >- - Output only. The pointer to NotebookRuntimeTemplate this - NotebookRuntime is created from. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplateRef - readOnly: true - idleShutdownConfig: + updateTime: description: >- - Output only. The idle shutdown configuration of the notebook - runtime. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookIdleShutdownConfig + Output only. Timestamp when this FeatureOnlineStore was last + updated. readOnly: true - description: type: string - description: The description of the NotebookRuntime. - satisfiesPzi: - description: Output only. Reserved for future use. - readOnly: true - type: boolean - displayName: + format: google-datetime + etag: description: >- - Required. The display name of the NotebookRuntime. The name can be - up to 128 characters long and can consist of any UTF-8 characters. - type: string - notebookRuntimeType: - type: string - description: Output only. The type of the notebook runtime. - enumDescriptions: - - >- - Unspecified notebook runtime type, NotebookRuntimeType will - default to USER_DEFINED. - - runtime or template with coustomized configurations from user. - - runtime or template with system defined configurations. - readOnly: true - enum: - - NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED - - USER_DEFINED - - ONE_CLICK - satisfiesPzs: - type: boolean - description: Output only. Reserved for future use. - readOnly: true - version: - readOnly: true + Optional. Used to perform consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. type: string - description: Output only. The VM os image version of NotebookRuntime. labels: - type: object - additionalProperties: - type: string description: >- - The labels with user-defined metadata to organize your - NotebookRuntime. Label keys and values can be no longer than 64 + 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. No more than 64 user labels can be associated with one - NotebookRuntime (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 NotebookRuntime: * - "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output - only, its value is the Compute Engine instance id. * - "aiplatform.googleapis.com/colab_enterprise_entry_service": its - value is either "bigquery" or "vertex"; if absent, it should be - "vertex". This is to describe the entry service, either BigQuery or - Vertex. - encryptionSpec: - readOnly: true - description: >- - Output only. Customer-managed encryption key spec for the notebook - runtime. - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - healthState: - enum: - - HEALTH_STATE_UNSPECIFIED - - HEALTHY - - UNHEALTHY - type: string - readOnly: true - enumDescriptions: - - Unspecified health state. - - NotebookRuntime is in healthy state. Applies to ACTIVE state. - - NotebookRuntime is in unhealthy state. Applies to ACTIVE state. - description: Output only. The health state of the NotebookRuntime. - serviceAccount: - description: >- - Output only. The service account that the NotebookRuntime workload - runs as. - readOnly: true - type: string - runtimeState: - description: Output only. The runtime (instance) state of the NotebookRuntime. + 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. + type: object + additionalProperties: + type: string + state: + description: Output only. State of the featureOnlineStore. readOnly: true - enum: - - RUNTIME_STATE_UNSPECIFIED - - RUNNING - - BEING_STARTED - - BEING_STOPPED - - STOPPED - - BEING_UPGRADED - - ERROR - - INVALID type: string enumDescriptions: - - Unspecified runtime state. - - NotebookRuntime is in running state. - - NotebookRuntime is in starting state. - - NotebookRuntime is in stopping state. - - NotebookRuntime is in stopped state. + - Default value. This value is unused. - >- - NotebookRuntime is in upgrading state. It is in the middle of - upgrading process. - - NotebookRuntime was unable to start/stop properly. - - NotebookRuntime is in invalid state. Cannot be recovered. - networkTags: + State when the featureOnlineStore configuration is not being + updated and the fields reflect the current configuration of the + featureOnlineStore. The featureOnlineStore is usable in this + state. + - >- + The state of the featureOnlineStore configuration when it is being + updated. During an update, the fields reflect either the original + configuration or the updated configuration of the + featureOnlineStore. The featureOnlineStore is still usable in this + state. + enum: + - STATE_UNSPECIFIED + - STABLE + - UPDATING + dedicatedServingEndpoint: description: >- - Optional. The Compute Engine tags to add to runtime (see [Tagging - instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). - items: - type: string - type: array - isUpgradable: - readOnly: true - description: Output only. Whether NotebookRuntime is upgradable. - type: boolean - expirationTime: - readOnly: true - format: google-datetime + Optional. The dedicated serving endpoint for this + FeatureOnlineStore, which is different from common Vertex service + endpoint. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint + encryptionSpec: description: >- - Output only. Timestamp when this NotebookRuntime will be expired: 1. - System Predefined NotebookRuntime: 24 hours after creation. After - expiration, system predifined runtime will be deleted. 2. User - created NotebookRuntime: 6 months after last upgrade. After - expiration, user created runtime will be stopped and allowed for - upgrade. - type: string - name: - readOnly: true - type: string - description: Output only. The resource name of the NotebookRuntime. - updateTime: + Optional. Customer-managed encryption key spec for data storage. If + set, online store will be secured by this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true - format: google-datetime - type: string - description: >- - Output only. Timestamp when this NotebookRuntime was most recently - updated. - proxyUri: - description: Output only. The proxy endpoint used to access the NotebookRuntime. + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. readOnly: true - type: string + type: boolean + GoogleCloudAiplatformV1FeatureOnlineStoreBigtable: + id: GoogleCloudAiplatformV1FeatureOnlineStoreBigtable + type: object + properties: + autoScaling: + description: Required. Autoscaling config applied to Bigtable Instance. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling + GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling: + id: GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling type: object - description: >- - A runtime is a virtual machine allocated to a particular user for a - particular Notebook file on temporary basis with lifetime limited to 24 - hours. - id: GoogleCloudAiplatformV1NotebookRuntime - GoogleCloudAiplatformV1BatchDedicatedResources: properties: - startingReplicaCount: + minNodeCount: + description: >- + Required. The minimum number of nodes to scale down to. Must be + greater than or equal to 1. type: integer format: int32 + maxNodeCount: description: >- - Immutable. The number of machine replicas used at the start of the - batch operation. If not set, Vertex AI decides starting number, not - greater than max_replica_count - maxReplicaCount: - format: int32 + Required. The maximum number of nodes to scale up to. Must be + greater than or equal to min_node_count, and less than or equal to + 10 times of 'min_node_count'. type: integer + format: int32 + cpuUtilizationTarget: description: >- - Immutable. The maximum number of machine replicas the batch - operation may be scaled to. The default value is 10. - machineSpec: - description: Required. Immutable. The specification of a single machine. - $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' - description: >- - A description of resources that are used for performing batch - operations, are dedicated to a Model, and need manual configuration. + Optional. A percentage of the cluster's CPU capacity. Can be from + 10% to 80%. When a cluster's CPU utilization exceeds the target that + you have set, Bigtable immediately adds nodes to the cluster. When + CPU utilization is substantially lower than the target, Bigtable + removes nodes. If not set will default to 50%. + type: integer + format: int32 + GoogleCloudAiplatformV1FeatureOnlineStoreOptimized: + id: GoogleCloudAiplatformV1FeatureOnlineStoreOptimized + description: Optimized storage type type: object - id: GoogleCloudAiplatformV1BatchDedicatedResources - GoogleCloudAiplatformV1ExplainRequest: - id: GoogleCloudAiplatformV1ExplainRequest + properties: {} + GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint: + id: GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint + description: >- + The dedicated serving endpoint for this FeatureOnlineStore. Only need to + set when you choose Optimized storage type. Public endpoint is + provisioned by default. type: object - description: Request message for PredictionService.Explain. properties: - parameters: - description: >- - The parameters that govern the prediction. The schema of the - parameters may be specified via Endpoint's DeployedModels' Model's - PredictSchemata's parameters_schema_uri. - type: any - instances: - type: array + publicEndpointDomainName: description: >- - Required. The instances that are the input to the explanation call. - A DeployedModel may have an upper limit on the number of instances - it supports per request, and when it is exceeded the explanation - call errors in case of AutoML Models, or, in case of customer - created Models, the behaviour is as documented by that Model. The - schema of any single instance may be specified via Endpoint's - DeployedModels' Model's PredictSchemata's instance_schema_uri. - items: - type: any - deployedModelId: + Output only. This field will be populated with the domain name to + use for this FeatureOnlineStore + readOnly: true type: string + privateServiceConnectConfig: description: >- - If specified, this ExplainRequest will be served by the chosen - DeployedModel, overriding Endpoint.traffic_split. - explanationSpecOverride: + Optional. Private service connect config. The private service + connection is available only for Optimized storage type, not for + embedding management now. If + PrivateServiceConnectConfig.enable_private_service_connect set to + true, customers will use private service connection to send request. + Otherwise, the connection will set to public endpoint. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PrivateServiceConnectConfig + serviceAttachment: description: >- - If specified, overrides the explanation_spec of the DeployedModel. - Can be used for explaining prediction results with different - configurations, such as: - Explaining top-5 predictions results as - opposed to top-1; - Increasing path count or step count of the - attribution methods to reduce approximate errors; - Using different - baselines for explaining the prediction results. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpecOverride' - GoogleCloudAiplatformV1FeatureValueList: - properties: - values: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' - description: A list of feature values. All of them should be the same data type. - type: array + Output only. The name of the service attachment resource. Populated + if private service connect is enabled and after FeatureViewSync is + created. + readOnly: true + type: string + GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse: + id: GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse + description: >- + Response message for + FeatureOnlineStoreAdminService.ListFeatureOnlineStores. type: object - description: Container for list of values. - id: GoogleCloudAiplatformV1FeatureValueList - GoogleCloudAiplatformV1ExportFractionSplit: properties: - testFraction: - type: number - description: >- - The fraction of the input data that is to be used to evaluate the - Model. - format: double - trainingFraction: - type: number - format: double - description: >- - The fraction of the input data that is to be used to train the - Model. - validationFraction: - type: number - format: double + featureOnlineStores: + description: The FeatureOnlineStores matching the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' + nextPageToken: description: >- - The fraction of the input data that is to be used to validate the - Model. - type: object - id: GoogleCloudAiplatformV1ExportFractionSplit - description: >- - Assigns the input data to training, validation, and test sets as per the - given fractions. Any of `training_fraction`, `validation_fraction` and - `test_fraction` may optionally be provided, they must sum to up to 1. If - the provided ones sum to less than 1, the remainder is assigned to sets - as decided by Vertex AI. If none of the fractions are set, by default - roughly 80% of data is used for training, 10% for validation, and 10% - for test. - GoogleCloudAiplatformV1ResourceRuntimeSpec: + A token, which can be sent as + ListFeatureOnlineStoresRequest.page_token to retrieve the next page. + If this field is omitted, there are no subsequent pages. + type: string + GoogleCloudAiplatformV1FeatureView: + id: GoogleCloudAiplatformV1FeatureView description: >- - 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. - id: GoogleCloudAiplatformV1ResourceRuntimeSpec + FeatureView is representation of values that the FeatureOnlineStore will + serve based on its syncConfig. type: object properties: - raySpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RaySpec' - description: >- - Optional. Ray cluster configuration. Required when creating a - dedicated RayCluster on the PersistentResource. - serviceAccountSpec: + bigQuerySource: description: >- - Optional. Configure the use of workload identity on the - PersistentResource - $ref: '#/components/schemas/GoogleCloudAiplatformV1ServiceAccountSpec' - GoogleCloudAiplatformV1DedicatedResources: - type: object - id: GoogleCloudAiplatformV1DedicatedResources - properties: - machineSpec: + Optional. Configures how data is supposed to be extracted from a + BigQuery source to be loaded onto the FeatureOnlineStore. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewBigQuerySource + featureRegistrySource: description: >- - Required. Immutable. The specification of a single machine used by - the prediction. - $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' - autoscalingMetricSpecs: - type: array + Optional. Configures the features from a Feature Registry source + that need to be loaded onto the FeatureOnlineStore. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource + vertexRagSource: + description: Optional. The Vertex RAG Source that the FeatureView is linked to. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewVertexRagSource + name: description: >- - Immutable. The metric specifications that overrides a resource - utilization metric (CPU utilization, accelerator's duty cycle, and - so on) target value (default to 60 if not set). At most one entry is - allowed per metric. If machine_spec.accelerator_count is above 0, - the autoscaling will be based on both CPU utilization and - accelerator's duty cycle metrics and scale up when either metrics - exceeds its target value while scale down if both metrics are under - their target value. The default target value is 60 for both metrics. - If machine_spec.accelerator_count is 0, the autoscaling will be - based on CPU utilization metric only with default target value 60 if - not explicitly set. For example, in the case of Online Prediction, - if you want to override target CPU utilization to 80, you should set - autoscaling_metric_specs.metric_name to - `aiplatform.googleapis.com/prediction/online/cpu/utilization` and - autoscaling_metric_specs.target to `80`. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1AutoscalingMetricSpec' - maxReplicaCount: - format: int32 - type: integer + Identifier. Name of the FeatureView. Format: + `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + type: string + createTime: + description: Output only. Timestamp when this FeatureView was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this FeatureView was last updated. + readOnly: true + type: string + format: google-datetime + etag: description: >- - Immutable. The maximum number of replicas this DeployedModel may be - deployed on when the traffic against it increases. If the requested - value is too large, the deployment will error, but if deployment - succeeds then the ability to scale the model to that many replicas - is guaranteed (barring service outages). If traffic against the - DeployedModel increases beyond what its replicas at maximum may - handle, a portion of the traffic will be dropped. If this value is - not provided, will use min_replica_count as the default value. The - value of this field impacts the charge against Vertex CPU and GPU - quotas. Specifically, you will be charged for (max_replica_count * - number of cores in the selected machine type) and (max_replica_count - * number of GPUs per replica in the selected machine type). - minReplicaCount: - format: int32 - type: integer + Optional. Used to perform consistent read-modify-write updates. If + not set, a blind "overwrite" update happens. + type: string + labels: description: >- - Required. Immutable. The minimum number of machine replicas this - DeployedModel will be always deployed on. This value must be greater - than or equal to 1. If traffic against the DeployedModel increases, - it may dynamically be deployed onto more replicas, and as traffic - decreases, some of these extra replicas may be freed. - spot: + 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. + type: object + additionalProperties: + type: string + syncConfig: description: >- - Optional. If true, schedule the deployment workload on [spot - VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - type: boolean - description: >- - A description of resources that are dedicated to a DeployedModel, and - that need a higher degree of manual configuration. - GoogleCloudAiplatformV1ListModelVersionsResponse: - properties: - nextPageToken: - type: string + Configures when data is to be synced/updated for this FeatureView. + At the end of the sync the latest featureValues for each entityId of + this FeatureView are made ready for online serving. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewSyncConfig' + indexConfig: description: >- - A token to retrieve the next page of results. Pass to - ListModelVersionsRequest.page_token to obtain that page. - models: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' - type: array + Optional. Configuration for index preparation for vector search. It + contains the required configurations to create an index from source + data, so that approximate nearest neighbor (a.k.a ANN) algorithms + search can be performed during online serving. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewIndexConfig' + optimizedConfig: description: >- - List of Model versions in the requested page. In the returned Model - name field, version ID instead of regvision tag will be included. - type: object - id: GoogleCloudAiplatformV1ListModelVersionsResponse - description: Response message for ModelService.ListModelVersions - GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata: - description: Details of operations that perform update FeatureOnlineStore. - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for FeatureOnlineStore. + Optional. Configuration for FeatureView created under Optimized + FeatureOnlineStore. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewOptimizedConfig + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1FeatureViewBigQuerySource: + id: GoogleCloudAiplatformV1FeatureViewBigQuerySource type: object - id: GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata - GoogleCloudAiplatformV1GcsDestination: properties: - outputUriPrefix: + uri: description: >- - Required. Google Cloud Storage URI to output directory. If the uri - doesn't end with '/', a '/' will be automatically appended. The - directory is created if it doesn't exist. + Required. The BigQuery view URI that will be materialized on each + sync trigger based on FeatureView.SyncConfig. type: string + entityIdColumns: + description: Required. Columns to construct entity_id / row keys. + type: array + items: + type: string + GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource: + id: GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource + description: >- + A Feature Registry source for features that need to be synced to Online + Store. type: object - description: The Google Cloud Storage location where the output is to be written to. - id: GoogleCloudAiplatformV1GcsDestination - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation: - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation properties: - columnName: + featureGroups: + description: Required. List of features that need to be synced to Online Store. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup + projectNumber: + description: >- + Optional. The project number of the parent project of the Feature + Groups. type: string + format: int64 + GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup: + id: GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup description: >- - Training pipeline will perform following transformation functions. * The - text as is--no change to case, punctuation, spelling, tense, and so on. - * Convert the category name to a dictionary lookup index and generate an - embedding for each index. - GoogleCloudAiplatformV1ExplainResponse: + Features belonging to a single feature group that will be synced to + Online Store. + type: object properties: - explanations: - type: array - description: >- - The explanations of the Model's PredictResponse.predictions. It has - the same number of elements as instances to be explained. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Explanation' - deployedModelId: - description: ID of the Endpoint's DeployedModel that served this explanation. + featureGroupId: + description: Required. Identifier of the feature group. type: string - predictions: + featureIds: + description: Required. Identifiers of features under the feature group. type: array - description: >- - The predictions that are the output of the predictions call. Same as - PredictResponse.predictions. items: - type: any - description: Response message for PredictionService.Explain. - id: GoogleCloudAiplatformV1ExplainResponse + type: string + GoogleCloudAiplatformV1FeatureViewVertexRagSource: + id: GoogleCloudAiplatformV1FeatureViewVertexRagSource + description: A Vertex Rag source for features that need to be synced to Online Store. type: object - GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation: - id: GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation - description: Annotation details specific to video classification. properties: - timeSegment: + uri: description: >- - This Annotation applies to the time period represented by the - TimeSegment. If it's not set, the Annotation applies to the whole - video. - $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaTimeSegment' - annotationSpecId: + Required. The BigQuery view/table URI that will be materialized on + each manual sync trigger. The table/view is expected to have the + following columns and types at least: - `corpus_id` (STRING, + NULLABLE/REQUIRED) - `file_id` (STRING, NULLABLE/REQUIRED) - + `chunk_id` (STRING, NULLABLE/REQUIRED) - `chunk_data_type` (STRING, + NULLABLE/REQUIRED) - `chunk_data` (STRING, NULLABLE/REQUIRED) - + `embeddings` (FLOAT, REPEATED) - `file_original_uri` (STRING, + NULLABLE/REQUIRED) type: string - description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - displayName: - description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. + ragCorpusId: + description: Optional. The RAG corpus id corresponding to this FeatureView. type: string + format: int64 + GoogleCloudAiplatformV1FeatureViewSyncConfig: + id: GoogleCloudAiplatformV1FeatureViewSyncConfig + description: Configuration for Sync. Only one option is set. type: object - GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig: - description: Config for migrating version in ml.googleapis.com to Vertex AI's Model. properties: - endpoint: - description: >- - Required. The ml.googleapis.com endpoint that this model version - should be migrated from. Example values: * ml.googleapis.com * - us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * - asia-east1-ml.googleapis.com - type: string - modelVersion: - type: string + cron: description: >- - Required. Full resource name of ml engine model version. Format: - `projects/{project}/models/{model}/versions/{version}`. - modelDisplayName: + 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 * * + * *". type: string + continuous: description: >- - Required. Display name of the model in Vertex AI. System will pick a - display name if unspecified. - id: >- - GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig - type: object - GoogleCloudAiplatformV1DataItemView: + Optional. If true, syncs the FeatureView in a continuous manner to + Online Store. + type: boolean + GoogleCloudAiplatformV1FeatureViewIndexConfig: + id: GoogleCloudAiplatformV1FeatureViewIndexConfig + description: Configuration for vector indexing. type: object - id: GoogleCloudAiplatformV1DataItemView - description: A container for a single DataItem and Annotations on it. properties: - hasTruncatedAnnotations: - type: boolean + treeAhConfig: description: >- - True if and only if the Annotations field has been truncated. It - happens if more Annotations for this DataItem met the request's - annotation_filter than are allowed to be returned by - annotations_limit. Note that if Annotations field is not being - returned due to field mask, then this field will not be set to true - no matter how many Annotations are there. - dataItem: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataItem' - description: The DataItem. - annotations: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Annotation' + Optional. Configuration options for the tree-AH algorithm (Shallow + tree + Asymmetric Hashing). Please refer to this paper for more + details: https://arxiv.org/abs/1908.10396 + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig + bruteForceConfig: + description: >- + Optional. Configuration options for using brute force search, which + simply implements the standard linear search in the database for + each query. It is primarily meant for benchmarking and to generate + the ground truth for approximate search. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig + embeddingColumn: + description: >- + Optional. Column of embedding. This column contains the source data + to create index for vector search. embedding_column must be set when + using vector search. + type: string + filterColumns: + description: >- + Optional. Columns of features that're used to filter vector search + results. type: array + items: + type: string + crowdingColumn: description: >- - The Annotations on the DataItem. If too many Annotations should be - returned for the DataItem, this field will be truncated per - annotations_limit in request. If it was, then the - has_truncated_annotations will be set to true. - GoogleCloudAiplatformV1SchemaTextDataItem: - description: Payload of Text DataItem. - id: GoogleCloudAiplatformV1SchemaTextDataItem - properties: - gcsUri: - readOnly: true + Optional. Column of crowding. This column contains crowding + attribute which is a constraint on a neighbor list produced by + FeatureOnlineStoreService.SearchNearestEntities to diversify search + results. If + NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to + K in SearchNearestEntitiesRequest, it's guaranteed that no more than + K entities of the same crowding attribute are returned in the + response. + type: string + embeddingDimension: + description: Optional. The number of dimensions of the input embedding. + type: integer + format: int32 + distanceMeasureType: + description: Optional. The distance measure used in nearest neighbor search. type: string - description: >- - Output only. Google Cloud Storage URI points to the original text in - user's bucket. The text file is up to 10MB in size. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity + enumDescriptions: + - Should not be set. + - Euclidean (L_2) Distance. + - >- + Cosine Distance. Defined as 1 - cosine similarity. We strongly + suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of + COSINE distance. Our algorithms have been more optimized for + DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is + mathematically equivalent to COSINE distance and results in the + same ranking. + - Dot Product Distance. Defined as a negative of the dot product. + enum: + - DISTANCE_MEASURE_TYPE_UNSPECIFIED + - SQUARED_L2_DISTANCE + - COSINE_DISTANCE + - DOT_PRODUCT_DISTANCE + GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig: + id: GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig + description: Configuration options for the tree-AH algorithm. type: object - description: A duration of time expressed in time granularity units. properties: - quantity: + leafNodeEmbeddingCount: description: >- - The number of granularity_units between data points in the training - data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. - For all other values of `granularity_unit`, must be 1. + Optional. Number of embeddings on each leaf node. The default value + is 1000 if not set. type: string format: int64 - unit: - type: string - description: >- - The time granularity unit of this time period. The supported units - are: * "minute" * "hour" * "day" * "week" * "month" * "year" - GoogleCloudAiplatformV1ToolParameterKVMatchResults: - properties: - toolParameterKvMatchMetricValues: - description: Output only. Tool parameter key value match metric values. - type: array - readOnly: true - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue - type: object - description: Results for tool parameter key value match metric. - id: GoogleCloudAiplatformV1ToolParameterKVMatchResults - GoogleCloudAiplatformV1ToolParameterKeyMatchInput: - description: Input for tool parameter key match metric. - properties: - instances: - type: array - description: Required. Repeated tool parameter key match instances. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchInstance - metricSpec: - description: Required. Spec for tool parameter key match metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchSpec - id: GoogleCloudAiplatformV1ToolParameterKeyMatchInput + GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig: + id: GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig + description: Configuration options for using brute force search. type: object - GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec: + properties: {} + GoogleCloudAiplatformV1FeatureViewOptimizedConfig: + id: GoogleCloudAiplatformV1FeatureViewOptimizedConfig + description: Configuration for FeatureViews created in Optimized FeatureOnlineStore. type: object - id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec - description: Represent spec for search trials. properties: - maxFailedTrialCount: - format: int32 - description: >- - The number of failed trials that need to be seen before failing the - NasJob. If set to 0, Vertex AI decides how many trials must fail - before the whole job fails. - type: integer - maxTrialCount: - description: >- - Required. The maximum number of Neural Architecture Search (NAS) - trials to run. - format: int32 - type: integer - searchTrialJobSpec: + automaticResources: description: >- - Required. The spec of a search trial job. The same spec applies to - all search trials. - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' - maxParallelTrialCount: - description: Required. The maximum number of trials to run in parallel. - type: integer - format: int32 - GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec: - id: GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec + Optional. A description of resources that the FeatureView uses, + which to large degree are decided by Vertex AI, and optionally + allows only a modest additional configuration. If min_replica_count + is not set, the default value is 2. If max_replica_count is not set, + the default value is 6. The max allowed replica count is 1000. + $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' + GoogleCloudAiplatformV1ListFeatureViewsResponse: + id: GoogleCloudAiplatformV1ListFeatureViewsResponse + description: Response message for FeatureOnlineStoreAdminService.ListFeatureViews. + type: object properties: - values: + featureViews: + description: The FeatureViews matching the request. type: array items: - type: number - format: double - description: >- - Required. A list of possible values. The list should be in - increasing order and at least 1e-10 apart. For instance, this - parameter might have possible settings of 1.5, 2.5, and 4.0. This - list should not contain more than 1,000 values. - defaultValue: - type: number - format: double + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' + nextPageToken: description: >- - A default value for a `DISCRETE` parameter that is assumed to be a - relatively good starting point. Unset value signals that there is no - offered starting point. It automatically rounds to the nearest - feasible discrete point. Currently only supported by the Vertex AI - Vizier service. Not supported by HyperparameterTuningJob or - TrainingPipeline. - description: Value specification for a parameter in `DISCRETE` type. - type: object - GoogleCloudAiplatformV1BigQuerySource: - properties: - inputUri: + A token, which can be sent as ListFeatureViewsRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. type: string - description: >- - Required. BigQuery URI to a table, up to 2000 characters long. - Accepted forms: * BigQuery path. For example: - `bq://projectId.bqDatasetId.bqTableId`. - id: GoogleCloudAiplatformV1BigQuerySource - type: object - description: The BigQuery location for the input content. - GoogleCloudAiplatformV1MutateDeployedIndexResponse: - properties: - deployedIndex: - description: The DeployedIndex that had been updated in the IndexEndpoint. - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' - id: GoogleCloudAiplatformV1MutateDeployedIndexResponse - type: object - description: Response message for IndexEndpointService.MutateDeployedIndex. - GoogleCloudAiplatformV1ExportFeatureValuesResponse: + GoogleCloudAiplatformV1SyncFeatureViewRequest: + id: GoogleCloudAiplatformV1SyncFeatureViewRequest + description: Request message for FeatureOnlineStoreAdminService.SyncFeatureView. type: object - description: Response message for FeaturestoreService.ExportFeatureValues. - id: GoogleCloudAiplatformV1ExportFeatureValuesResponse properties: {} - GoogleCloudAiplatformV1CompleteTrialRequest: + GoogleCloudAiplatformV1SyncFeatureViewResponse: + id: GoogleCloudAiplatformV1SyncFeatureViewResponse + description: Response message for FeatureOnlineStoreAdminService.SyncFeatureView. type: object properties: - finalMeasurement: + featureViewSync: description: >- - Optional. If provided, it will be used as the completed Trial's - final_measurement; Otherwise, the service will auto-select a - previously reported measurement as the final-measurement - $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' - trialInfeasible: - type: boolean + Format: + `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + type: string + GoogleCloudAiplatformV1FeatureViewSync: + id: GoogleCloudAiplatformV1FeatureViewSync + description: >- + FeatureViewSync is a representation of sync operation which copies data + from data source to Feature View in Online Store. + type: object + properties: + name: description: >- - Optional. True if the Trial cannot be run with the given Parameter, - and final_measurement will be ignored. - infeasibleReason: + Identifier. Name of the FeatureViewSync. Format: + `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` type: string + createTime: description: >- - Optional. A human readable reason why the trial was infeasible. This - should only be provided if `trial_infeasible` is true. - id: GoogleCloudAiplatformV1CompleteTrialRequest - description: Request message for VizierService.CompleteTrial. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata: + 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. + readOnly: true + type: string + format: google-datetime + runTime: + description: Output only. Time when this FeatureViewSync is finished. + readOnly: true + $ref: '#/components/schemas/GoogleTypeInterval' + finalStatus: + description: Output only. Final status of the FeatureViewSync. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + syncSummary: + description: Output only. Summary of the sync job. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewSyncSyncSummary + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1FeatureViewSyncSyncSummary: + id: GoogleCloudAiplatformV1FeatureViewSyncSyncSummary + description: >- + Summary from the Sync job. For continuous syncs, the summary is updated + periodically. For batch syncs, it gets updated on completion of the + sync. + type: object properties: - bestTrialBackingCustomJob: - description: >- - The resource name of the CustomJob that has been created to run the - best Trial of this HyperparameterTuning task. + rowSynced: + description: Output only. Total number of rows synced. + readOnly: true type: string - backingHyperparameterTuningJob: + format: int64 + totalSlot: + description: Output only. BigQuery slot milliseconds consumed for the sync job. + readOnly: true type: string + format: int64 + systemWatermarkTime: description: >- - The resource name of the HyperparameterTuningJob that has been - created to carry out this HyperparameterTuning task. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata + Lower bound of the system time watermark for the sync job. This is + only set for continuously syncing feature views. + type: string + format: google-datetime + GoogleCloudAiplatformV1ListFeatureViewSyncsResponse: + id: GoogleCloudAiplatformV1ListFeatureViewSyncsResponse + description: >- + Response message for + FeatureOnlineStoreAdminService.ListFeatureViewSyncs. type: object - GoogleCloudAiplatformV1ListContextsResponse: properties: - contexts: + featureViewSyncs: + description: The FeatureViewSyncs matching the request. type: array - description: The Contexts retrieved from the MetadataStore. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewSync' nextPageToken: - type: string description: >- - A token, which can be sent as ListContextsRequest.page_token to - retrieve the next page. If this field is not populated, there are no + A token, which can be sent as ListFeatureViewSyncsRequest.page_token + to retrieve the next page. If this field is omitted, there are no subsequent pages. - id: GoogleCloudAiplatformV1ListContextsResponse - description: Response message for MetadataService.ListContexts. + type: string + GoogleCloudAiplatformV1FetchFeatureValuesRequest: + id: GoogleCloudAiplatformV1FetchFeatureValuesRequest + description: >- + Request message for FeatureOnlineStoreService.FetchFeatureValues. All + the features under the requested feature view will be returned. type: object - GoogleCloudAiplatformV1ListTrainingPipelinesResponse: - id: GoogleCloudAiplatformV1ListTrainingPipelinesResponse - description: Response message for PipelineService.ListTrainingPipelines properties: - nextPageToken: + dataKey: + description: Optional. The request key to fetch feature values for. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewDataKey' + dataFormat: description: >- - A token to retrieve the next page of results. Pass to - ListTrainingPipelinesRequest.page_token to obtain that page. + Optional. Response data format. If not set, + FeatureViewDataFormat.KEY_VALUE will be used. type: string - trainingPipelines: - description: List of TrainingPipelines in the requested page. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' - type: array - type: object - GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest: - type: object - description: Request message for VizierService.CheckTrialEarlyStoppingState. - properties: {} - id: GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest - GoogleCloudAiplatformV1CancelNasJobRequest: - properties: {} - description: Request message for JobService.CancelNasJob. - type: object - id: GoogleCloudAiplatformV1CancelNasJobRequest - GoogleCloudAiplatformV1UndeployModelOperationMetadata: + enumDescriptions: + - Not set. Will be treated as the KeyValue format. + - Return response data in key-value format. + - Return response data in proto Struct format. + enum: + - FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED + - KEY_VALUE + - PROTO_STRUCT + GoogleCloudAiplatformV1FeatureViewDataKey: + id: GoogleCloudAiplatformV1FeatureViewDataKey + description: Lookup key for a feature view. type: object properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Runtime operation information for EndpointService.UndeployModel. - id: GoogleCloudAiplatformV1UndeployModelOperationMetadata - GoogleCloudAiplatformV1CopyModelResponse: - properties: - model: - description: >- - The name of the copied Model resource. Format: - `projects/{project}/locations/{location}/models/{model}` - type: string - modelVersionId: - description: Output only. The version ID of the model that is copied. + key: + description: String key to use for lookup. type: string - readOnly: true - type: object - id: GoogleCloudAiplatformV1CopyModelResponse - description: Response message of ModelService.CopyModel operation. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics: + compositeKey: + description: >- + The actual Entity ID will be composed from this struct. This should + match with the way ID is defined in the FeatureView spec. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey + GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey: + id: GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey + description: ID that is comprised from several parts (columns). type: object properties: - bleu: - type: number - format: float + parts: description: >- - BLEU (bilingual evaluation understudy) scores based on sacrebleu - implementation. - rougeLSum: - format: float - description: ROUGE-L (Longest Common Subsequence) scoring at summary level. - type: number - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics + Parts to construct Entity ID. Should match with the same ID columns + as defined in FeatureView in the same order. + type: array + items: + type: string GoogleCloudAiplatformV1FetchFeatureValuesResponse: - type: object + id: GoogleCloudAiplatformV1FetchFeatureValuesResponse description: Response message for FeatureOnlineStoreService.FetchFeatureValues + type: object properties: keyValues: + description: Feature values in KeyValue format. $ref: >- #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList - description: Feature values in KeyValue format. - dataKey: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewDataKey' - description: >- - The data key associated with this response. Will only be populated - for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs. protoStruct: + description: Feature values in proto Struct format. + type: object additionalProperties: type: any description: Properties of the object. - description: Feature values in proto Struct format. - type: object - id: GoogleCloudAiplatformV1FetchFeatureValuesResponse - GoogleCloudAiplatformV1ShieldedVmConfig: + dataKey: + description: >- + The data key associated with this response. Will only be populated + for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewDataKey' + GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList: + id: >- + GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList + description: >- + Response structure in the format of key (feature name) and (feature) + value pair. + type: object properties: - enableSecureBoot: + features: + description: List of feature names and values. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair + GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair: + id: >- + GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair + description: Feature name & value pair. + type: object + properties: + value: + description: Feature value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' + name: + description: Feature short name. + type: string + GoogleCloudAiplatformV1SearchNearestEntitiesRequest: + id: GoogleCloudAiplatformV1SearchNearestEntitiesRequest + description: The request message for FeatureOnlineStoreService.SearchNearestEntities. + type: object + properties: + query: + description: Required. The query. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NearestNeighborQuery' + returnFullEntity: description: >- - Defines whether the instance has [Secure - Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) - enabled. Secure Boot helps ensure that the system only runs - authentic software by verifying the digital signature of all boot - components, and halting the boot process if signature verification - fails. + Optional. If set to true, the full entities (including all vector + values and metadata) of the nearest neighbors are returned; + otherwise only entity id of the nearest neighbors will be returned. + Note that returning full entities will significantly increase the + latency and cost of the query. type: boolean - description: >- - A set of Shielded Instance options. See [Images using supported Shielded - VM - features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). + GoogleCloudAiplatformV1NearestNeighborQuery: + id: GoogleCloudAiplatformV1NearestNeighborQuery + description: A query to find a number of similar entities. type: object - id: GoogleCloudAiplatformV1ShieldedVmConfig - GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling: properties: - cpuUtilizationTarget: - format: int32 - type: integer + entityId: description: >- - Optional. The cpu utilization that the Autoscaler should be trying - to achieve. This number is on a scale from 0 (no utilization) to 100 - (total utilization), and is limited between 10 and 80. When a - cluster's CPU utilization exceeds the target that you have set, - Bigtable immediately adds nodes to the cluster. When CPU utilization - is substantially lower than the target, Bigtable removes nodes. If - not set or set to 0, default to 50. - minNodeCount: - format: int32 + Optional. The entity id whose similar entities should be searched + for. If embedding is set, search will use embedding instead of + entity_id. + type: string + embedding: + description: Optional. The embedding vector that be used for similar search. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryEmbedding + neighborCount: description: >- - Required. The minimum number of nodes to scale down to. Must be - greater than or equal to 1. - type: integer - maxNodeCount: + Optional. The number of similar entities to be retrieved from + feature view for each query. type: integer - description: >- - The maximum number of nodes to scale up to. Must be greater than - min_node_count, and less than or equal to 10 times of - 'min_node_count'. format: int32 - id: GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling - type: object - description: >- - Online serving scaling configuration. If min_node_count and - max_node_count are set to the same value, the cluster will be configured - with the fixed number of node (no auto-scaling). - GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance: - properties: - contextColumns: - items: - type: string - type: array - attributeColumns: + stringFilters: + description: Optional. The list of string filters. type: array items: - type: string - horizonWeights: - items: - type: number - format: float + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryStringFilter + numericFilters: + description: Optional. The list of numeric filters. type: array - attributeWeights: + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter + perCrowdingAttributeNeighborCount: + description: >- + Optional. Crowding is a constraint on a neighbor list produced by + nearest neighbor search requiring that no more than + sper_crowding_attribute_neighbor_count of the k neighbors returned + have the same value of crowding_attribute. It's used for improving + result diversity. + type: integer + format: int32 + parameters: + description: Optional. Parameters that can be set to tune query on the fly. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryParameters + GoogleCloudAiplatformV1NearestNeighborQueryEmbedding: + id: GoogleCloudAiplatformV1NearestNeighborQueryEmbedding + description: The embedding vector. + type: object + properties: + value: + description: Optional. Individual value in the embedding. type: array items: type: number format: float - horizonColumns: + GoogleCloudAiplatformV1NearestNeighborQueryStringFilter: + id: GoogleCloudAiplatformV1NearestNeighborQueryStringFilter + description: >- + String filter is used to search a subset of the entities by using + boolean rules on string columns. For example: if a query specifies + string filter with 'name = color, allow_tokens = {red, blue}, + deny_tokens = {purple}',' then that query will match entities that are + red or blue, but if those points are also purple, then they will be + excluded even if they are red/blue. Only string filter is supported for + now, numeric filter will be supported in the near future. + type: object + properties: + name: + description: Required. Column names in BigQuery that used as filters. + type: string + allowTokens: + description: Optional. The allowed tokens. type: array items: type: string - contextWeights: + denyTokens: + description: Optional. The denied tokens. type: array - description: >- - TFT feature importance values. Each pair for - {context/horizon/attribute} should have the same shape since the - weight corresponds to the column names. items: - format: float - type: number - id: GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance + type: string + GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter: + id: GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter + description: >- + Numeric filter is used to search a subset of the entities by using + boolean rules on numeric columns. For example: Database Point 0: {name: + "a" value_int: 42} {name: "b" value_float: 1.0} Database Point 1: {name: + "a" value_int: 10} {name: "b" value_float: 2.0} Database Point 2: {name: + "a" value_int: -1} {name: "b" value_float: 3.0} Query: {name: "a" + value_int: 12 operator: LESS} // Matches Point 1, 2 {name: "b" + value_float: 2.0 operator: EQUAL} // Matches Point 1 type: object - GoogleCloudAiplatformV1StreamingPredictRequest: properties: - parameters: - description: The parameters that govern the prediction. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - inputs: - description: The prediction input. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - id: GoogleCloudAiplatformV1StreamingPredictRequest - type: object + valueInt: + description: int value type. + type: string + format: int64 + valueFloat: + description: float value type. + type: number + format: float + valueDouble: + description: double value type. + type: number + format: double + name: + description: Required. Column name in BigQuery that used as filters. + type: string + op: + description: >- + Optional. This MUST be specified for queries and must NOT be + specified for database points. + type: string + enumDescriptions: + - Unspecified operator. + - Entities are eligible if their value is < the query's. + - Entities are eligible if their value is <= the query's. + - Entities are eligible if their value is == the query's. + - Entities are eligible if their value is >= the query's. + - Entities are eligible if their value is > the query's. + - Entities are eligible if their value is != the query's. + enum: + - OPERATOR_UNSPECIFIED + - LESS + - LESS_EQUAL + - EQUAL + - GREATER_EQUAL + - GREATER + - NOT_EQUAL + GoogleCloudAiplatformV1NearestNeighborQueryParameters: + id: GoogleCloudAiplatformV1NearestNeighborQueryParameters description: >- - Request message for PredictionService.StreamingPredict. The first - message must contain endpoint field and optionally input. The subsequent - messages must contain input. - GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke: - id: GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke + Parameters that can be overrided in each query to tune query latency and + recall. type: object properties: - gkeYamlConfigs: + approximateNeighborCandidates: + description: >- + Optional. The number of neighbors to find via approximate search + before exact reordering is performed; if set, this value must be > + neighbor_count. + type: integer + format: int32 + leafNodesSearchFraction: + description: >- + Optional. The fraction of the number of leaves to search, set at + query time allows user to tune search performance. This value + increase result in both search accuracy and latency increase. The + value should be between 0.0 and 1.0. + type: number + format: double + GoogleCloudAiplatformV1SearchNearestEntitiesResponse: + id: GoogleCloudAiplatformV1SearchNearestEntitiesResponse + description: Response message for FeatureOnlineStoreService.SearchNearestEntities + type: object + properties: + nearestNeighbors: + description: The nearest neighbors of the query entity. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NearestNeighbors' + GoogleCloudAiplatformV1NearestNeighbors: + id: GoogleCloudAiplatformV1NearestNeighbors + description: Nearest neighbors for one query. + type: object + properties: + neighbors: + description: All its neighbors. type: array - description: Optional. GKE deployment configuration in yaml format. items: - type: string - description: Configurations for PublisherModel GKE deployment - GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborsNeighbor + GoogleCloudAiplatformV1NearestNeighborsNeighbor: + id: GoogleCloudAiplatformV1NearestNeighborsNeighbor + description: A neighbor of the query vector. type: object - description: >- - Describes exporting all historical Feature values of all entities of the - EntityType between [start_time, end_time]. properties: - startTime: - format: google-datetime + entityId: + description: The id of the similar entity. type: string + distance: + description: The distance between the neighbor and the query vector. + type: number + format: double + entityKeyValues: description: >- - Excludes Feature values with feature generation timestamp before - this timestamp. If not set, retrieve oldest values kept in Feature - Store. Timestamp, if present, must not have higher than millisecond - precision. - endTime: + The attributes of the neighbor, e.g. filters, crowding and metadata + Note that full entities are returned only when "return_full_entity" + is set to true. Otherwise, only the "entity_id" and "distance" + fields are populated. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponse + GoogleCloudAiplatformV1CacheConfig: + id: GoogleCloudAiplatformV1CacheConfig + description: Config of GenAI caching features. This is a singleton resource. + type: object + properties: + name: description: >- - Exports Feature values as of this timestamp. If not set, retrieve - values as of now. Timestamp, if present, must not have higher than - millisecond precision. - format: google-datetime + Identifier. Name of the cache config. Format: - + `projects/{project}/cacheConfig`. type: string - id: GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport - GoogleCloudAiplatformV1Attribution: + disableCache: + description: >- + If set to true, disables GenAI caching. Otherwise caching is + enabled. + type: boolean + GoogleCloudAiplatformV1TuningJob: + id: GoogleCloudAiplatformV1TuningJob + description: Represents a TuningJob that runs with Google owned models. type: object properties: - outputDisplayName: + baseModel: + description: The base model that is being tuned, e.g., "gemini-1.0-pro-002". . type: string - readOnly: true + supervisedTuningSpec: + description: Tuning Spec for Supervised Fine Tuning. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SupervisedTuningSpec' + name: description: >- - Output only. The display name of the output identified by - output_index. For example, the predicted class name by a - multi-classification Model. This field is only populated iff the - Model predicts display names as a separate field along with the - explained output. The predicted display name must has the same shape - of the explained output, and can be located using output_index. - featureAttributions: + Output only. Identifier. Resource name of a TuningJob. Format: + `projects/{project}/locations/{location}/tuningJobs/{tuning_job}` + readOnly: true + type: string + tunedModelDisplayName: description: >- - Output only. Attributions of each explained feature. Features are - extracted from the prediction instances according to explanation - metadata for inputs. The value is a struct, whose keys are the name - of the feature. The values are how much the feature in the instance - contributed to the predicted result. The format of the value is - determined by the feature's input format: * If the feature is a - scalar value, the attribution value is a floating number. * If the - feature is an array of scalar values, the attribution value is an - array. * If the feature is a struct, the attribution value is a - struct. The keys in the attribution value struct are the same as the - keys in the feature struct. The formats of the values in the - attribution struct are determined by the formats of the values in - the feature struct. The - ExplanationMetadata.feature_attributions_schema_uri field, pointed - to by the ExplanationSpec field of the Endpoint.deployed_models - object, points to the schema file that describes the features and - their attribution values (if it is populated). - type: any + Optional. The display name of the TunedModel. The name can be up to + 128 characters long and can consist of any UTF-8 characters. + type: string + description: + description: Optional. The description of the TuningJob. + type: string + state: + description: Output only. The detailed state of the job. + readOnly: true + type: string + enumDescriptions: + - The job state is unspecified. + - >- + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. + - >- + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. + - >- + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. + - >- + The job is partially succeeded, some results may be missing due to + errors. + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED + createTime: + description: Output only. Time when the TuningJob was created. readOnly: true - outputName: type: string + format: google-datetime + startTime: description: >- - Output only. Name of the explain output. Specified as the key in - ExplanationMetadata.outputs. + Output only. Time when the TuningJob for the first time entered the + `JOB_STATE_RUNNING` state. readOnly: true - instanceOutputValue: + type: string + format: google-datetime + endTime: description: >- - Output only. Model predicted output on the corresponding explanation - instance. The field name of the output is determined by the key in - ExplanationMetadata.outputs. If the Model predicted output has - multiple dimensions, this is the value in the output located by - output_index. + Output only. Time when the TuningJob entered any of the following + JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, + `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`. readOnly: true - type: number - format: double - approximationError: + type: string + format: google-datetime + updateTime: + description: Output only. Time when the TuningJob was most recently updated. readOnly: true + type: string + format: google-datetime + error: description: >- - Output only. Error of feature_attributions caused by approximation - used in the explanation method. Lower value means more precise - attributions. * For Sampled Shapley attribution, increasing - path_count might reduce the error. * For Integrated Gradients - attribution, increasing step_count might reduce the error. * For - XRAI attribution, increasing step_count might reduce the error. See - [this introduction](/vertex-ai/docs/explainable-ai/overview) for - more information. - format: double - type: number - outputIndex: - items: - format: int32 - type: integer - type: array + Output only. Only populated when job's state is `JOB_STATE_FAILED` + or `JOB_STATE_CANCELLED`. readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + labels: description: >- - Output only. The index that locates the explained prediction output. - If the prediction output is a scalar value, output_index is not - populated. If the prediction output has multiple dimensions, the - length of the output_index list is the same as the number of - dimensions of the output. The i-th element in output_index is the - element index of the i-th dimension of the output vector. Indices - start from 0. - baselineOutputValue: - format: double + Optional. The labels with user-defined metadata to organize + TuningJob and generated resources such as Model and Endpoint. 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. + type: object + additionalProperties: + type: string + experiment: + description: Output only. The Experiment associated with this TuningJob. + readOnly: true + type: string + tunedModel: description: >- - Output only. Model predicted output if the input instance is - constructed from the baselines of all the features defined in - ExplanationMetadata.inputs. The field name of the output is - determined by the key in ExplanationMetadata.outputs. If the Model's - predicted output has multiple dimensions (rank > 1), this is the - value in the output located by output_index. If there are multiple - baselines, their output values are averaged. + Output only. The tuned model resources assiociated with this + TuningJob. readOnly: true - type: number - description: Attribution that explains a particular prediction output. - id: GoogleCloudAiplatformV1Attribution - GoogleCloudAiplatformV1RawPredictRequest: - description: Request message for PredictionService.RawPredict. - type: object - id: GoogleCloudAiplatformV1RawPredictRequest - properties: - httpBody: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TunedModel' + tuningDataStats: description: >- - The prediction input. Supports HTTP headers and arbitrary data - payload. A DeployedModel may have an upper limit on the number of - instances it supports per request. When this limit it is exceeded - for an AutoML model, the RawPredict method returns an error. When - this limit is exceeded for a custom-trained model, the behavior - varies depending on the model. You can specify the schema for each - instance in the predict_schemata.instance_schema_uri field when you - create a Model. This schema applies when you deploy the `Model` as a - `DeployedModel` to an Endpoint and use the `RawPredict` method. - GoogleCloudAiplatformV1Tensor: - description: A tensor value type. - id: GoogleCloudAiplatformV1Tensor + Output only. The tuning data statistics associated with this + TuningJob. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningDataStats' + encryptionSpec: + description: >- + Customer-managed encryption key options for a TuningJob. If this is + set, then all resources created by the TuningJob will be encrypted + with the provided encryption key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + GoogleCloudAiplatformV1SupervisedTuningSpec: + id: GoogleCloudAiplatformV1SupervisedTuningSpec + description: Tuning Spec for Supervised Tuning for first party models. type: object properties: - uint64Val: - items: - format: uint64 - type: string - type: array - description: UINT64 - bytesVal: - items: - type: string - format: byte - type: array - description: STRING - structVal: - description: A map of string to tensor. - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - listVal: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - type: array - description: A list of tensor values. - dtype: - description: The data type of tensor. - enum: - - DATA_TYPE_UNSPECIFIED - - BOOL - - STRING - - FLOAT - - DOUBLE - - INT8 - - INT16 - - INT32 - - INT64 - - UINT8 - - UINT16 - - UINT32 - - UINT64 - enumDescriptions: - - >- - Not a legal value for DataType. Used to indicate a DataType field - has not been set. - - >- - Data types that all computation devices are expected to be capable - to support. - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - type: string - int64Val: - type: array - items: - type: string - format: int64 - description: INT64 - tensorVal: - format: byte - description: Serialized raw tensor content. + trainingDatasetUri: + description: >- + Required. Cloud Storage path to file containing training dataset for + tuning. The dataset must be formatted as a JSONL file. type: string - floatVal: - description: FLOAT - items: - type: number - format: float - type: array - shape: - description: Shape of the tensor. - items: - format: int64 - type: string - type: array - doubleVal: - description: DOUBLE - type: array - items: - format: double - type: number - stringVal: - items: - type: string - type: array - description: STRING - boolVal: - type: array + validationDatasetUri: description: >- - Type specific representations that make it easy to create tensor - protos in all languages. Only the representation corresponding to - "dtype" can be set. The values hold the flattened representation of - the tensor in row major order. BOOL - items: - type: boolean - intVal: - items: - type: integer - format: int32 - description: INT_8 INT_16 INT_32 - type: array - uintVal: - description: UINT8 UINT16 UINT32 - type: array - items: - type: integer - format: uint32 - GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec: - description: >- - Configuration for ConvexAutomatedStoppingSpec. When there are enough - completed trials (configured by min_measurement_count), for pending - trials with enough measurements and steps, the policy first computes an - overestimate of the objective value at max_num_steps according to the - slope of the incomplete objective value curve. No prediction can be made - if the curve is completely flat. If the overestimation is worse than the - best objective value of the completed trials, this pending trial will be - early-stopped, but a last measurement will be added to the pending trial - with max_num_steps and predicted objective value from the autoregression - model. + Optional. Cloud Storage path to file containing validation dataset + for tuning. The dataset must be formatted as a JSONL file. + type: string + hyperParameters: + description: Optional. Hyperparameters for SFT. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SupervisedHyperParameters + GoogleCloudAiplatformV1SupervisedHyperParameters: + id: GoogleCloudAiplatformV1SupervisedHyperParameters + description: Hyperparameters for SFT. + type: object properties: - maxStepCount: + epochCount: description: >- - Steps used in predicting the final objective for early stopped - trials. In general, it's set to be the same as the defined steps in - training / tuning. If not defined, it will learn it from the - completed trials. When use_steps is false, this field is set to the - maximum elapsed seconds. - format: int64 + Optional. Number of complete passes the model makes over the entire + training dataset during training. type: string - updateAllStoppedTrials: - type: boolean - description: >- - ConvexAutomatedStoppingSpec by default only updates the trials that - needs to be early stopped using a newly trained auto-regressive - model. When this flag is set to True, all stopped trials from the - beginning are potentially updated in terms of their - `final_measurement`. Also, note that the training logic of - autoregressive models is different in this case. Enabling this - option has shown better results and this may be the default option - in the future. - minStepCount: format: int64 + learningRateMultiplier: + description: Optional. Multiplier for adjusting the default learning rate. + type: number + format: double + adapterSize: + description: Optional. Adapter size for tuning. type: string + enumDescriptions: + - Adapter size is unspecified. + - Adapter size 1. + - Adapter size 4. + - Adapter size 8. + - Adapter size 16. + - Adapter size 32. + enum: + - ADAPTER_SIZE_UNSPECIFIED + - ADAPTER_SIZE_ONE + - ADAPTER_SIZE_FOUR + - ADAPTER_SIZE_EIGHT + - ADAPTER_SIZE_SIXTEEN + - ADAPTER_SIZE_THIRTY_TWO + GoogleCloudAiplatformV1TunedModel: + id: GoogleCloudAiplatformV1TunedModel + description: >- + The Model Registry Model and Online Prediction Endpoint assiociated with + this TuningJob. + type: object + properties: + model: description: >- - Minimum number of steps for a trial to complete. Trials which do not - have a measurement with step_count > min_step_count won't be - considered for early stopping. It's ok to set it to 0, and a trial - can be early stopped at any stage. By default, min_step_count is set - to be one-tenth of the max_step_count. When use_elapsed_duration is - true, this field is set to the minimum elapsed seconds. - learningRateParameterName: - description: >- - The hyper-parameter name used in the tuning job that stands for - learning rate. Leave it blank if learning rate is not in a parameter - in tuning. The learning_rate is used to estimate the objective value - of the ongoing trial. + Output only. The resource name of the TunedModel. Format: + `projects/{project}/locations/{location}/models/{model}`. + readOnly: true type: string - useElapsedDuration: - type: boolean - description: >- - This bool determines whether or not the rule is applied based on - elapsed_secs or steps. If use_elapsed_duration==false, the early - stopping decision is made according to the predicted objective - values according to the target steps. If use_elapsed_duration==true, - elapsed_secs is used instead of steps. Also, in this case, the - parameters max_num_steps and min_num_steps are overloaded to contain - max_elapsed_seconds and min_elapsed_seconds. - minMeasurementCount: + endpoint: description: >- - The minimal number of measurements in a Trial. Early-stopping checks - will not trigger if less than min_measurement_count+1 completed - trials or pending trials with less than min_measurement_count - measurements. If not defined, the default value is 5. + Output only. A resource name of an Endpoint. Format: + `projects/{project}/locations/{location}/endpoints/{endpoint}`. + readOnly: true type: string - format: int64 - id: GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec + GoogleCloudAiplatformV1TuningDataStats: + id: GoogleCloudAiplatformV1TuningDataStats + description: The tuning data statistic values for TuningJob. type: object - GoogleCloudAiplatformV1CreateTensorboardOperationMetadata: properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Tensorboard. - description: Details of operations that perform create Tensorboard. - type: object - id: GoogleCloudAiplatformV1CreateTensorboardOperationMetadata - GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata: - description: Details of operations that perform update PersistentResource. - id: GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata + supervisedTuningDataStats: + description: The SFT Tuning data stats. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDataStats + GoogleCloudAiplatformV1SupervisedTuningDataStats: + id: GoogleCloudAiplatformV1SupervisedTuningDataStats + description: Tuning data statistics for Supervised Tuning. type: object properties: - progressMessage: + tuningDatasetExampleCount: + description: Output only. Number of examples in the tuning dataset. + readOnly: true type: string - description: Progress Message for Update LRO - genericMetadata: - description: Operation metadata for PersistentResource. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1Explanation: - type: object - id: GoogleCloudAiplatformV1Explanation - properties: - neighbors: - type: array + format: int64 + totalTuningCharacterCount: + description: Output only. Number of tuning characters in the tuning dataset. + readOnly: true + type: string + format: int64 + totalBillableCharacterCount: + description: Output only. Number of billable characters in the tuning dataset. + readOnly: true + deprecated: true + type: string + format: int64 + totalBillableTokenCount: + description: Output only. Number of billable tokens in the tuning dataset. + readOnly: true + type: string + format: int64 + tuningStepCount: + description: Output only. Number of tuning steps for this Tuning Job. + readOnly: true + type: string + format: int64 + userInputTokenDistribution: + description: Output only. Dataset distributions for the user input tokens. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution + userOutputTokenDistribution: + description: Output only. Dataset distributions for the user output tokens. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution + userMessagePerExampleDistribution: + description: Output only. Dataset distributions for the messages per example. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution + userDatasetExamples: + description: Output only. Sample user messages in the training dataset uri. readOnly: true + type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Neighbor' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + totalTruncatedExampleCount: description: >- - Output only. List of the nearest neighbors for example-based - explanations. For models deployed with the examples explanations - feature enabled, the attributions field is empty and instead the - neighbors field is populated. - attributions: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Attribution' - type: array - readOnly: true + The number of examples in the dataset that have been truncated by + any amount. + type: string + format: int64 + truncatedExampleIndices: description: >- - Output only. Feature attributions grouped by predicted outputs. For - Models that predict only one output, such as regression Models that - predict only one score, there is only one attibution that explains - the predicted output. For Models that predict multiple outputs, such - as multiclass Models that predict multiple classes, each element - explains one specific item. Attribution.output_index can be used to - identify which output this attribution is explaining. By default, we - provide Shapley values for the predicted class. However, you can - configure the explanation request to generate Shapley values for any - other classes too. For example, if a model predicts a probability of - `0.4` for approving a loan application, the model's decision is to - reject the application since `p(reject) = 0.6 > p(approve) = 0.4`, - and the default Shapley values would be computed for rejection - decision and not approval, even though the latter might be the - positive class. If users set ExplanationParameters.top_k, the - attributions are sorted by instance_output_value in descending - order. If ExplanationParameters.output_indices is specified, the - attributions are stored by Attribution.output_index in the same - order as they appear in the output_indices. - description: >- - Explanation of a prediction (provided in PredictResponse.predictions) - produced by the Model on a given instance. - GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly: + A partial sample of the indices (starting from 1) of the truncated + examples. + type: array + items: + type: string + format: int64 + GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution: + id: GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution + description: Dataset distribution for Supervised Tuning. + type: object properties: - featureStatsAnomaly: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureStatsAnomaly' + sum: + description: Output only. Sum of a given population of values. readOnly: true - description: >- - Output only. The stats and anomalies generated at specific - timestamp. - objective: + type: string + format: int64 + billableSum: + description: Output only. Sum of a given population of values that are billable. readOnly: true - enum: - - OBJECTIVE_UNSPECIFIED - - IMPORT_FEATURE_ANALYSIS - - SNAPSHOT_ANALYSIS type: string - enumDescriptions: - - If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty. - - Stats are generated by Import Feature Analysis. - - Stats are generated by Snapshot Analysis. - description: Output only. The objective for each stats. - type: object - description: >- - A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats - requested by user, sorted by FeatureStatsAnomaly.start_time descending. - id: GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly - GoogleCloudAiplatformV1WriteFeatureValuesResponse: + format: int64 + min: + description: Output only. The minimum of the population values. + readOnly: true + type: number + format: double + max: + description: Output only. The maximum of the population values. + readOnly: true + type: number + format: double + mean: + description: Output only. The arithmetic mean of the values in the population. + readOnly: true + type: number + format: double + median: + description: Output only. The median of the values in the population. + readOnly: true + type: number + format: double + p5: + description: Output only. The 5th percentile of the values in the population. + readOnly: true + type: number + format: double + p95: + description: Output only. The 95th percentile of the values in the population. + readOnly: true + type: number + format: double + buckets: + description: Output only. Defines the histogram bucket. + readOnly: true + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket + GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket: + id: GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket description: >- - Response message for - FeaturestoreOnlineServingService.WriteFeatureValues. - id: GoogleCloudAiplatformV1WriteFeatureValuesResponse + Dataset bucket used to create a histogram for the distribution given a + population of values. type: object - properties: {} + properties: + count: + description: Output only. Number of values in the bucket. + readOnly: true + type: number + format: double + left: + description: Output only. Left bound of the bucket. + readOnly: true + type: number + format: double + right: + description: Output only. Right bound of the bucket. + readOnly: true + type: number + format: double GoogleCloudAiplatformV1Content: + id: GoogleCloudAiplatformV1Content + description: >- + The base structured datatype containing multi-part content of a message. + A `Content` includes a `role` field designating the producer of the + `Content` and a `parts` field containing multi-part data that contains + the content of the message turn. + type: object properties: role: - type: string description: >- Optional. The producer of the content. Must be either 'user' or 'model'. Useful to set for multi-turn conversations, otherwise can be left blank or unset. + type: string parts: - type: array description: >- Required. Ordered `Parts` that constitute a single message. Parts may have different IANA MIME types. + type: array items: $ref: '#/components/schemas/GoogleCloudAiplatformV1Part' - type: object - description: >- - The base structured datatype containing multi-part content of a message. - A `Content` includes a `role` field designating the producer of the - `Content` and a `parts` field containing multi-part data that contains - the content of the message turn. - id: GoogleCloudAiplatformV1Content - GoogleCloudAiplatformV1Schedule: + GoogleCloudAiplatformV1Part: + id: GoogleCloudAiplatformV1Part description: >- - An instance of a Schedule periodically schedules runs to make API calls - based on user specified time specification and API request type. - id: GoogleCloudAiplatformV1Schedule + A datatype containing media that is part of a multi-part `Content` + message. A `Part` consists of data which has an associated datatype. A + `Part` can only contain one of the accepted types in `Part.data`. A + `Part` must have a fixed IANA MIME type identifying the type and subtype + of the media if `inline_data` or `file_data` field is filled with raw + bytes. + type: object properties: - lastPauseTime: - type: string - format: google-datetime - readOnly: true - description: >- - Output only. Timestamp when this Schedule was last paused. Unset if - never paused. - displayName: + text: + description: Optional. Text part (can be code). type: string + inlineData: + description: Optional. Inlined bytes data. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Blob' + fileData: + description: Optional. URI based data. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FileData' + functionCall: description: >- - Required. User provided name of the Schedule. The name can be up to - 128 characters long and can consist of any UTF-8 characters. - nextRunTime: - description: >- - 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. - type: string - readOnly: true - format: google-datetime - lastScheduledRunResponse: - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1ScheduleRunResponse' + Optional. A predicted [FunctionCall] returned from the model that + contains a string representing the [FunctionDeclaration.name] with + the parameters and their values. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionCall' + functionResponse: description: >- - Output only. Response of the last scheduled run. This is the - response for starting the scheduled requests and not the execution - of the operations/jobs created by the requests (if applicable). - Unset if no run has been scheduled yet. - allowQueueing: + Optional. The result output of a [FunctionCall] that contains a + string representing the [FunctionDeclaration.name] and a structured + JSON object containing any output from the function call. It is used + as context to the model. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionResponse' + videoMetadata: description: >- - 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. - type: boolean - createTime: - readOnly: true - description: Output only. Timestamp when this Schedule was created. - format: google-datetime + Optional. Video metadata. The metadata should only be specified + while the video data is presented in inline_data or file_data. + $ref: '#/components/schemas/GoogleCloudAiplatformV1VideoMetadata' + GoogleCloudAiplatformV1Blob: + id: GoogleCloudAiplatformV1Blob + description: >- + Content blob. It's preferred to send as text directly rather than raw + bytes. + type: object + properties: + mimeType: + description: Required. The IANA standard MIME type of the source data. type: string - startedRunCount: - readOnly: true - format: int64 + data: + description: Required. Raw bytes. type: string - description: Output only. The number of runs started by this schedule. - lastResumeTime: - format: google-datetime - readOnly: true - description: >- - Output only. Timestamp when this Schedule was last resumed. Unset if - never resumed from pause. + format: byte + GoogleCloudAiplatformV1FileData: + id: GoogleCloudAiplatformV1FileData + description: URI based data. + type: object + properties: + mimeType: + description: Required. The IANA standard MIME type of the source data. type: string - cron: + fileUri: + description: Required. URI. type: string + GoogleCloudAiplatformV1FunctionCall: + id: GoogleCloudAiplatformV1FunctionCall + description: >- + A predicted [FunctionCall] returned from the model that contains a + string representing the [FunctionDeclaration.name] and a structured JSON + object containing the parameters and their values. + type: object + properties: + name: description: >- - 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 * * - * *". - endTime: - description: >- - 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. - format: google-datetime + Required. The name of the function to call. Matches + [FunctionDeclaration.name]. type: string - createNotebookExecutionJobRequest: - description: Request for NotebookService.CreateNotebookExecutionJob. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest - catchUp: - type: boolean + args: description: >- - 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. - readOnly: true - maxConcurrentRunCount: - format: int64 + Optional. Required. The function parameters and values in JSON + object format. See [FunctionDeclaration.parameters] for parameter + details. + type: object + additionalProperties: + type: any + description: Properties of the object. + GoogleCloudAiplatformV1FunctionResponse: + id: GoogleCloudAiplatformV1FunctionResponse + description: >- + The result output from a [FunctionCall] that contains a string + representing the [FunctionDeclaration.name] and a structured JSON object + containing any output from the function is used as context to the model. + This should contain the result of a [FunctionCall] made based on model + prediction. + type: object + properties: + name: description: >- - 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). - type: string - state: - enumDescriptions: - - Unspecified. - - >- - The Schedule is active. Runs are being scheduled on the - user-specified timespec. - - >- - The schedule is paused. No new runs will be created until the - schedule is resumed. Already started runs will be allowed to - complete. - - >- - The Schedule is completed. No new runs will be scheduled. Already - started runs will be allowed to complete. Schedules in completed - state cannot be paused or resumed. - enum: - - STATE_UNSPECIFIED - - ACTIVE - - PAUSED - - COMPLETED - readOnly: true + Required. The name of the function to call. Matches + [FunctionDeclaration.name] and [FunctionCall.name]. type: string - description: Output only. The state of this Schedule. - maxRunCount: - format: int64 + response: description: >- - 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. + Required. The function response in JSON object format. Use "output" + key to specify function output and "error" key to specify error + details (if any). If "output" and "error" keys are not specified, + then whole "response" is treated as function output. + type: object + additionalProperties: + type: any + description: Properties of the object. + GoogleCloudAiplatformV1VideoMetadata: + id: GoogleCloudAiplatformV1VideoMetadata + description: Metadata describes the input video content. + type: object + properties: + startOffset: + description: Optional. The start offset of the video. type: string - startTime: + format: google-duration + endOffset: + description: Optional. The end offset of the video. type: string + format: google-duration + GoogleCloudAiplatformV1ListTuningJobsResponse: + id: GoogleCloudAiplatformV1ListTuningJobsResponse + description: Response message for GenAiTuningService.ListTuningJobs + type: object + properties: + tuningJobs: + description: List of TuningJobs in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' + nextPageToken: description: >- - Optional. Timestamp after which the first run can be scheduled. - Default to Schedule create time if not specified. - format: google-datetime - name: - description: Immutable. The resource name of the Schedule. + A token to retrieve the next page of results. Pass to + ListTuningJobsRequest.page_token to obtain that page. type: string - createPipelineJobRequest: + GoogleCloudAiplatformV1CancelTuningJobRequest: + id: GoogleCloudAiplatformV1CancelTuningJobRequest + description: Request message for GenAiTuningService.CancelTuningJob. + type: object + properties: {} + GoogleCloudAiplatformV1RebaseTunedModelRequest: + id: GoogleCloudAiplatformV1RebaseTunedModelRequest + description: Request message for GenAiTuningService.RebaseTunedModel. + type: object + properties: + tunedModelRef: description: >- - Request for PipelineService.CreatePipelineJob. - CreatePipelineJobRequest.parent field is required (format: - projects/{project}/locations/{location}). - $ref: '#/components/schemas/GoogleCloudAiplatformV1CreatePipelineJobRequest' - updateTime: - readOnly: true - type: string - format: google-datetime - description: Output only. Timestamp when this Schedule was updated. + Required. TunedModel reference to retrieve the legacy model + information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TunedModelRef' + tuningJob: + description: >- + Optional. The TuningJob to be updated. Users can use this TuningJob + field to overwrite tuning configs. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' + artifactDestination: + description: Optional. The Google Cloud Storage location to write the artifacts. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + deployToSameEndpoint: + description: >- + Optional. By default, bison to gemini migration will always create + new model/endpoint, but for gemini-1.0 to gemini-1.5 migration, we + default deploy to the same endpoint. See details in this Section. + type: boolean + GoogleCloudAiplatformV1TunedModelRef: + id: GoogleCloudAiplatformV1TunedModelRef + description: TunedModel Reference for legacy model migration. type: object - GoogleCloudAiplatformV1SummarizationHelpfulnessInstance: properties: - instruction: - type: string - description: Optional. Summarization prompt for LLM. - reference: - description: Optional. Ground truth used to compare against the prediction. + tunedModel: + description: Support migration from model registry. type: string - prediction: - description: Required. Output of the evaluated model. + tuningJob: + description: >- + Support migration from tuning job list page, from gemini-1.0-pro-002 + to 1.5 and above. type: string - context: - description: Required. Text to be summarized. + pipelineJob: + description: >- + Support migration from tuning job list page, from bison model to + gemini model. type: string + GoogleCloudAiplatformV1Index: + id: GoogleCloudAiplatformV1Index + description: >- + A representation of a collection of database items organized in a way + that allows for approximate nearest neighbor (a.k.a ANN) algorithms + search. type: object - description: Spec for summarization helpfulness instance. - id: GoogleCloudAiplatformV1SummarizationHelpfulnessInstance - GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization: - type: object - id: GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization properties: - clipPercentLowerbound: + name: + description: Output only. The resource name of the Index. + readOnly: true + type: string + displayName: description: >- - Excludes attributions below the specified percentile, from the - highlighted areas. Defaults to 62. - type: number - format: float - overlayType: - enum: - - OVERLAY_TYPE_UNSPECIFIED - - NONE - - ORIGINAL - - GRAYSCALE - - MASK_BLACK - enumDescriptions: - - Default value. This is the same as NONE. - - No overlay. - - The attributions are shown on top of the original image. - - >- - The attributions are shown on top of grayscaled version of the - original image. - - >- - The attributions are used as a mask to reveal predictive parts of - the image and hide the un-predictive parts. + Required. The display name of the Index. The name can be up to 128 + characters long and can consist of any UTF-8 characters. + type: string + description: + description: The description of the Index. + type: string + metadataSchemaUri: description: >- - How the original image is displayed in the visualization. Adjusting - the overlay can help increase visual clarity if the original image - makes it difficult to view the visualization. Defaults to NONE. + 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. type: string - polarity: - enumDescriptions: - - Default value. This is the same as POSITIVE. - - >- - Highlights the pixels/outlines that were most influential to the - model's prediction. - - >- - Setting polarity to negative highlights areas that does not lead - to the models's current prediction. - - Shows both positive and negative attributions. + metadata: + description: >- + An additional information about the Index; the schema of the + metadata can be found in metadata_schema. + type: any + deployedIndexes: + description: >- + Output only. The pointers to DeployedIndexes created from this + Index. An Index can be only deleted if all its DeployedIndexes had + been undeployed first. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndexRef' + etag: + description: >- + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. type: string + labels: description: >- - Whether to only highlight pixels with positive contributions, - negative or both. Defaults to POSITIVE. - enum: - - POLARITY_UNSPECIFIED - - POSITIVE - - NEGATIVE - - BOTH - clipPercentUpperbound: - format: float + 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. + type: object + additionalProperties: + type: string + createTime: + description: Output only. Timestamp when this Index was created. + readOnly: true + type: string + format: google-datetime + updateTime: description: >- - Excludes attributions above the specified percentile from the - highlighted areas. Using the clip_percent_upperbound and - clip_percent_lowerbound together can be useful for filtering out - noise and making it easier to see areas of strong attribution. - Defaults to 99.9. - type: number - type: + 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. + readOnly: true + type: string + format: google-datetime + indexStats: + description: Output only. Stats of the index resource. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexStats' + indexUpdateMethod: description: >- - Type of the image visualization. Only applicable to Integrated - Gradients attribution. OUTLINES shows regions of attribution, while - PIXELS shows per-pixel attribution. Defaults to OUTLINES. - enum: - - TYPE_UNSPECIFIED - - PIXELS - - OUTLINES - enumDescriptions: - - Should not be used. - - Shows which pixel contributed to the image prediction. - - >- - Shows which region contributed to the image prediction by - outlining the region. + Immutable. The update method to use with this Index. If not set, + BATCH_UPDATE will be used by default. type: string - colorMap: enumDescriptions: - Should not be used. - - 'Positive: green. Negative: pink.' - >- - Viridis color map: A perceptually uniform color mapping which is - easier to see by those with colorblindness and progresses from - yellow to green to blue. Positive: yellow. Negative: blue. - - 'Positive: red. Negative: red.' - - 'Positive: green. Negative: green.' - - 'Positive: green. Negative: red.' - - PiYG palette. - description: >- - The color scheme used for the highlighted areas. Defaults to - PINK_GREEN for Integrated Gradients attribution, which shows - positive attributions in green and negative in pink. Defaults to - VIRIDIS for XRAI attribution, which highlights the most influential - regions in yellow and the least influential in blue. - type: string + BatchUpdate: user can call UpdateIndex with files on Cloud Storage + of Datapoints to update. + - >- + StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to + update the Index and the updates will be applied in corresponding + DeployedIndexes in nearly real-time. enum: - - COLOR_MAP_UNSPECIFIED - - PINK_GREEN - - VIRIDIS - - RED - - GREEN - - RED_GREEN - - PINK_WHITE_GREEN - description: Visualization configurations for image explanation. - GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult: - properties: - explanation: - type: string - description: Output only. Explanation for question answering quality score. - readOnly: true - confidence: - description: Output only. Confidence for question answering quality score. - type: number - format: float + - INDEX_UPDATE_METHOD_UNSPECIFIED + - BATCH_UPDATE + - STREAM_UPDATE + encryptionSpec: + description: >- + Immutable. Customer-managed encryption key spec for an Index. If + set, this Index and all sub-resources of this Index will be secured + by this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true - pairwiseChoice: - enumDescriptions: - - Unspecified prediction choice. - - Baseline prediction wins - - Candidate prediction wins - - Winner cannot be determined + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. readOnly: true - description: Output only. Pairwise question answering prediction choice. - enum: - - PAIRWISE_CHOICE_UNSPECIFIED - - BASELINE - - CANDIDATE - - TIE - type: string + type: boolean + GoogleCloudAiplatformV1DeployedIndexRef: + id: GoogleCloudAiplatformV1DeployedIndexRef + description: Points to a DeployedIndex. type: object - description: Spec for pairwise question answering quality result. - id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation: properties: - columnName: + indexEndpoint: + description: Immutable. A resource name of the IndexEndpoint. type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation - type: object - description: >- - Training pipeline will perform following transformation functions. * The - value converted to float32. * The z_score of the value. * log(value+1) - when the value is greater than or equal to 0. Otherwise, this - transformation is not applied and the value is considered a missing - value. * z_score of log(value+1) when the value is greater than or equal - to 0. Otherwise, this transformation is not applied and the value is - considered a missing value. - GoogleCloudAiplatformV1ExplanationMetadataInputMetadata: - id: GoogleCloudAiplatformV1ExplanationMetadataInputMetadata - description: >- - Metadata of the input of a feature. Fields other than - InputMetadata.input_baselines are applicable only for Models that are - using Vertex AI-provided images for Tensorflow. - type: object - properties: - encodedTensorName: - description: >- - Encoded tensor is a transformation of the input tensor. Must be - provided if choosing Integrated Gradients attribution or XRAI - attribution and the input tensor is not differentiable. An encoded - tensor is generated if the input tensor is encoded by a lookup - table. + deployedIndexId: + description: Immutable. The ID of the DeployedIndex in the above IndexEndpoint. type: string - denseShapeTensorName: + displayName: + description: Output only. The display name of the DeployedIndex. + readOnly: true type: string - description: >- - Specifies the shape of the values of the input if the input is a - sparse representation. Refer to Tensorflow documentation for more - details: - https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. - encoding: - enum: - - ENCODING_UNSPECIFIED - - IDENTITY - - BAG_OF_FEATURES - - BAG_OF_FEATURES_SPARSE - - INDICATOR - - COMBINED_EMBEDDING - - CONCAT_EMBEDDING + GoogleCloudAiplatformV1IndexStats: + id: GoogleCloudAiplatformV1IndexStats + description: Stats of the Index. + type: object + properties: + vectorsCount: + description: Output only. The number of dense vectors in the Index. + readOnly: true type: string - enumDescriptions: - - Default value. This is the same as IDENTITY. - - The tensor represents one feature. - - >- - The tensor represents a bag of features where each index maps to a - feature. InputMetadata.index_feature_mapping must be provided for - this encoding. For example: ``` input = [27, 6.0, 150] - index_feature_mapping = ["age", "height", "weight"] ``` - - >- - The tensor represents a bag of features where each index maps to a - feature. Zero values in the tensor indicates feature being - non-existent. InputMetadata.index_feature_mapping must be provided - for this encoding. For example: ``` input = [2, 0, 5, 0, 1] - index_feature_mapping = ["a", "b", "c", "d", "e"] ``` - - >- - The tensor is a list of binaries representing whether a feature - exists or not (1 indicates existence). - InputMetadata.index_feature_mapping must be provided for this - encoding. For example: ``` input = [1, 0, 1, 0, 1] - index_feature_mapping = ["a", "b", "c", "d", "e"] ``` - - >- - The tensor is encoded into a 1-dimensional array represented by an - encoded tensor. InputMetadata.encoded_tensor_name must be provided - for this encoding. For example: ``` input = ["This", "is", "a", - "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` - - >- - Select this encoding when the input tensor is encoded into a - 2-dimensional array represented by an encoded tensor. - InputMetadata.encoded_tensor_name must be provided for this - encoding. The first dimension of the encoded tensor's shape is the - same as the input tensor's shape. For example: ``` input = - ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, - 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, - 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` - description: >- - Defines how the feature is encoded into the input tensor. Defaults - to IDENTITY. - modality: + format: int64 + sparseVectorsCount: + description: Output only. The number of sparse vectors in the Index. + readOnly: true type: string + format: int64 + shardsCount: + description: Output only. The number of shards in the Index. + readOnly: true + type: integer + format: int32 + GoogleCloudAiplatformV1ListIndexesResponse: + id: GoogleCloudAiplatformV1ListIndexesResponse + description: Response message for IndexService.ListIndexes. + type: object + properties: + indexes: + description: List of indexes in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' + nextPageToken: description: >- - Modality of the feature. Valid values are: numeric, image. Defaults - to numeric. - indicesTensorName: + A token to retrieve next page of results. Pass to + ListIndexesRequest.page_token to obtain that page. type: string + GoogleCloudAiplatformV1UpsertDatapointsRequest: + id: GoogleCloudAiplatformV1UpsertDatapointsRequest + description: Request message for IndexService.UpsertDatapoints + type: object + properties: + datapoints: + description: A list of datapoints to be created/updated. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' + updateMask: description: >- - Specifies the index of the values of the input tensor. Required when - the input tensor is a sparse representation. Refer to Tensorflow - documentation for more details: - https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. - groupName: - description: >- - Name of the group that the input belongs to. Features with the same - group name will be treated as one feature when computing - attributions. Features grouped together can have different shapes in - value. If provided, there will be one single attribution generated - in Attribution.feature_attributions, keyed by the group name. + Optional. Update mask is used to specify the fields to be + overwritten in the datapoints by the update. The fields specified in + the update_mask are relative to each IndexDatapoint inside + datapoints, not the full request. Updatable fields: * Use + `all_restricts` to update both restricts and numeric_restricts. type: string - inputTensorName: + format: google-fieldmask + GoogleCloudAiplatformV1IndexDatapoint: + id: GoogleCloudAiplatformV1IndexDatapoint + description: A datapoint of Index. + type: object + properties: + datapointId: + description: Required. Unique identifier of the datapoint. type: string + featureVector: description: >- - Name of the input tensor for this feature. Required and is only - applicable to Vertex AI-provided images for Tensorflow. - featureValueDomain: + Required. Feature embedding vector for dense index. An array of + numbers with the length of [NearestNeighborSearchConfig.dimensions]. + type: array + items: + type: number + format: float + sparseEmbedding: + description: Optional. Feature embedding vector for sparse index. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain + #/components/schemas/GoogleCloudAiplatformV1IndexDatapointSparseEmbedding + restricts: description: >- - The domain details of the input feature value. Like min/max, - original mean or standard deviation if normalized. - inputBaselines: - items: - type: any + Optional. List of Restrict of the datapoint, used to perform + "restricted searches" where boolean rule are used to filter the + subset of the database eligible for matching. This uses categorical + tokens. See: + https://cloud.google.com/vertex-ai/docs/matching-engine/filtering type: array - description: >- - Baseline inputs for this feature. If no baseline is specified, - Vertex AI chooses the baseline for this feature. If multiple - baselines are specified, Vertex AI returns the average attributions - across them in Attribution.feature_attributions. For Vertex - AI-provided Tensorflow images (both 1.x and 2.x), the shape of each - baseline must match the shape of the input tensor. If a scalar is - provided, we broadcast to the same shape as the input tensor. For - custom images, the element of the baselines must be in the same - format as the feature's input in the instance[]. The schema of any - single instance may be specified via Endpoint's DeployedModels' - Model's PredictSchemata's instance_schema_uri. - encodedBaselines: items: - type: any + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1IndexDatapointRestriction + numericRestricts: description: >- - A list of baselines for the encoded tensor. The shape of each - baseline should match the shape of the encoded tensor. If a scalar - is provided, Vertex AI broadcasts to the same shape as the encoded - tensor. - type: array - visualization: - description: Visualization configurations for image explanation. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization - indexFeatureMapping: + Optional. List of Restrict of the datapoint, used to perform + "restricted searches" where boolean rule are used to filter the + subset of the database eligible for matching. This uses numeric + comparisons. type: array - description: >- - A list of feature names for each index in the input tensor. Required - when the input InputMetadata.encoding is BAG_OF_FEATURES, - BAG_OF_FEATURES_SPARSE, INDICATOR. items: - type: string - GoogleCloudAiplatformV1TimeSeriesData: - description: All the data stored in a TensorboardTimeSeries. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1IndexDatapointNumericRestriction + crowdingTag: + description: >- + Optional. CrowdingTag of the datapoint, the number of neighbors to + return in each crowding can be configured during query. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1IndexDatapointCrowdingTag + GoogleCloudAiplatformV1IndexDatapointSparseEmbedding: + id: GoogleCloudAiplatformV1IndexDatapointSparseEmbedding + description: >- + Feature embedding vector for sparse index. An array of numbers whose + values are located in the specified dimensions. + type: object properties: values: + description: Required. The list of embedding values of the sparse vector. type: array - description: Required. Data points in this time series. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesDataPoint' - tensorboardTimeSeriesId: - type: string - description: >- - Required. The ID of the TensorboardTimeSeries, which will become the - final component of the TensorboardTimeSeries' resource name - valueType: - enum: - - VALUE_TYPE_UNSPECIFIED - - SCALAR - - TENSOR - - BLOB_SEQUENCE - enumDescriptions: - - The value type is unspecified. - - >- - Used for TensorboardTimeSeries that is a list of scalars. E.g. - accuracy of a model over epochs/time. - - >- - Used for TensorboardTimeSeries that is a list of tensors. E.g. - histograms of weights of layer in a model over epoch/time. - - >- - Used for TensorboardTimeSeries that is a list of blob sequences. - E.g. set of sample images with labels over epochs/time. + type: number + format: float + dimensions: description: >- - Required. Immutable. The value type of this time series. All the - values in this time series data must match this value type. - type: string + Required. The list of indexes for the embedding values of the sparse + vector. + type: array + items: + type: string + format: int64 + GoogleCloudAiplatformV1IndexDatapointRestriction: + id: GoogleCloudAiplatformV1IndexDatapointRestriction + description: >- + Restriction of a datapoint which describe its attributes(tokens) from + each of several attribute categories(namespaces). type: object - id: GoogleCloudAiplatformV1TimeSeriesData - GoogleCloudAiplatformV1ImportFeatureValuesRequest: properties: - featureSpecs: + namespace: + description: 'The namespace of this restriction. e.g.: color.' + type: string + allowList: + description: 'The attributes to allow in this namespace. e.g.: ''red''' type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec - description: >- - Required. Specifications defining which Feature values to import - from the entity. The request fails if no feature_specs are provided, - and having multiple feature_specs for one Feature is not allowed. - entityIdField: - description: >- - Source column that holds entity IDs. If not provided, entity IDs are - extracted from the column named entity_id. + type: string + denyList: + description: 'The attributes to deny in this namespace. e.g.: ''blue''' + type: array + items: + type: string + GoogleCloudAiplatformV1IndexDatapointNumericRestriction: + id: GoogleCloudAiplatformV1IndexDatapointNumericRestriction + description: >- + This field allows restricts to be based on numeric comparisons rather + than categorical tokens. + type: object + properties: + valueInt: + description: Represents 64 bit integer. type: string - featureTime: - description: >- - Single Feature timestamp for all entities being imported. The - timestamp must not have higher than millisecond precision. - format: google-datetime + format: int64 + valueFloat: + description: Represents 32 bit float. + type: number + format: float + valueDouble: + description: Represents 64 bit float. + type: number + format: double + namespace: + description: 'The namespace of this restriction. e.g.: cost.' type: string - featureTimeField: + op: description: >- - Source column that holds the Feature timestamp for all Feature - values in each entity. + This MUST be specified for queries and must NOT be specified for + datapoints. type: string - disableOnlineServing: - type: boolean - description: >- - If set, data will not be imported for online serving. This is - typically used for backfilling, where Feature generation timestamps - are not in the timestamp range needed for online serving. - workerCount: - format: int32 - type: integer + enumDescriptions: + - Default value of the enum. + - Datapoints are eligible iff their value is < the query's. + - Datapoints are eligible iff their value is <= the query's. + - Datapoints are eligible iff their value is == the query's. + - Datapoints are eligible iff their value is >= the query's. + - Datapoints are eligible iff their value is > the query's. + - Datapoints are eligible iff their value is != the query's. + enum: + - OPERATOR_UNSPECIFIED + - LESS + - LESS_EQUAL + - EQUAL + - GREATER_EQUAL + - GREATER + - NOT_EQUAL + GoogleCloudAiplatformV1IndexDatapointCrowdingTag: + id: GoogleCloudAiplatformV1IndexDatapointCrowdingTag + description: >- + Crowding tag is a constraint on a neighbor list produced by nearest + neighbor search requiring that no more than some value k' of the k + neighbors returned have the same value of crowding_attribute. + type: object + properties: + crowdingAttribute: description: >- - Specifies the number of workers that are used to write data to the - Featurestore. Consider the online serving capacity that you require - to achieve the desired import throughput without interfering with - online serving. The value must be positive, and less than or equal - to 100. If not set, defaults to using 1 worker. The low count - ensures minimal impact on online serving performance. - csvSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvSource' - disableIngestionAnalysis: - description: If true, API doesn't start ingestion analysis pipeline. - type: boolean - bigquerySource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' - avroSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1AvroSource' - id: GoogleCloudAiplatformV1ImportFeatureValuesRequest - description: Request message for FeaturestoreService.ImportFeatureValues. + The attribute value used for crowding. The maximum number of + neighbors to return per crowding attribute value + (per_crowding_attribute_num_neighbors) is configured per-query. This + field is ignored if per_crowding_attribute_num_neighbors is larger + than the total number of neighbors to return for a given query. + type: string + GoogleCloudAiplatformV1UpsertDatapointsResponse: + id: GoogleCloudAiplatformV1UpsertDatapointsResponse + description: Response message for IndexService.UpsertDatapoints type: object - GoogleCloudAiplatformV1TrainingPipeline: + properties: {} + GoogleCloudAiplatformV1RemoveDatapointsRequest: + id: GoogleCloudAiplatformV1RemoveDatapointsRequest + description: Request message for IndexService.RemoveDatapoints type: object - id: GoogleCloudAiplatformV1TrainingPipeline + properties: + datapointIds: + description: A list of datapoint ids to be deleted. + type: array + items: + type: string + GoogleCloudAiplatformV1RemoveDatapointsResponse: + id: GoogleCloudAiplatformV1RemoveDatapointsResponse + description: Response message for IndexService.RemoveDatapoints + type: object + properties: {} + GoogleCloudAiplatformV1IndexEndpoint: + id: GoogleCloudAiplatformV1IndexEndpoint description: >- - The TrainingPipeline orchestrates tasks associated with training a - Model. It always executes the training task, and optionally may also - export data from Vertex AI's Dataset which becomes the training input, - upload the Model to Vertex AI, and evaluate the Model. + Indexes are deployed into it. An IndexEndpoint can have multiple + DeployedIndexes. + type: object properties: + name: + description: Output only. The resource name of the IndexEndpoint. + readOnly: true + type: string displayName: - description: Required. The user-defined name of this TrainingPipeline. + description: >- + Required. The display name of the IndexEndpoint. The name can be up + to 128 characters long and can consist of any UTF-8 characters. type: string - state: - enumDescriptions: - - The pipeline state is unspecified. - - >- - The pipeline has been created or resumed, and processing has not - yet begun. - - The service is preparing to run the pipeline. - - The pipeline is in progress. - - The pipeline completed successfully. - - The pipeline failed. - - >- - The pipeline is being cancelled. From this state, the pipeline may - only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED - or PIPELINE_STATE_CANCELLED. - - The pipeline has been cancelled. - - The pipeline has been stopped, and can be resumed. + description: + description: The description of the IndexEndpoint. type: string - enum: - - PIPELINE_STATE_UNSPECIFIED - - PIPELINE_STATE_QUEUED - - PIPELINE_STATE_PENDING - - PIPELINE_STATE_RUNNING - - PIPELINE_STATE_SUCCEEDED - - PIPELINE_STATE_FAILED - - PIPELINE_STATE_CANCELLING - - PIPELINE_STATE_CANCELLED - - PIPELINE_STATE_PAUSED - description: Output only. The detailed state of the pipeline. + deployedIndexes: + description: Output only. The indexes deployed in this endpoint. readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' + etag: + description: >- + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. + type: string labels: description: >- - The labels with user-defined metadata to organize TrainingPipelines. - 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. + 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. type: object additionalProperties: type: string - modelId: - type: string - description: >- - Optional. The ID to use for the uploaded Model, which will become - the final component of the model resource name. This value may be up - to 63 characters, and valid characters are `[a-z0-9_-]`. The first - character cannot be a number or hyphen. - updateTime: - description: >- - Output only. Time when the TrainingPipeline was most recently - updated. - readOnly: true - type: string - format: google-datetime - error: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Output only. Only populated when the pipeline's state is - `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`. - readOnly: true createTime: - description: Output only. Time when the TrainingPipeline was created. + description: Output only. Timestamp when this IndexEndpoint was created. readOnly: true type: string format: google-datetime - trainingTaskMetadata: + updateTime: description: >- - 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. - type: any + 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. readOnly: true - modelToUpload: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' - description: >- - Describes the Model that may be uploaded (via - ModelService.UploadModel) by this TrainingPipeline. The - TrainingPipeline's training_task_definition should make clear - whether this Model description should be populated, and if there are - any special requirements regarding how it should be filled. If - nothing is mentioned in the training_task_definition, then it should - be assumed that this field should not be filled and the training - task either uploads the Model without a need of this information, or - that training task does not support uploading a Model as part of the - pipeline. When the Pipeline's state becomes - `PIPELINE_STATE_SUCCEEDED` and the trained Model had been uploaded - into Vertex AI, then the model_to_upload's resource name is - populated. The Model is always uploaded into the Project and - Location in which this pipeline is. - name: type: string - readOnly: true - description: Output only. Resource name of the TrainingPipeline. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key spec for a TrainingPipeline. If set, - this TrainingPipeline will be secured by this key. Note: Model - trained by this TrainingPipeline is also secured by this key if - model_to_upload is not set separately. - inputDataConfig: - description: >- - Specifies Vertex AI owned input data that may be used for training - the Model. The TrainingPipeline's training_task_definition should - make clear whether this config is used and if there are any special - requirements on how it should be filled. If nothing about this - config is mentioned in the training_task_definition, then it should - be assumed that the TrainingPipeline does not depend on this - configuration. - $ref: '#/components/schemas/GoogleCloudAiplatformV1InputDataConfig' - startTime: format: google-datetime - readOnly: true + network: description: >- - Output only. Time when the TrainingPipeline for the first time - entered the `PIPELINE_STATE_RUNNING` state. + 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. type: string - trainingTaskDefinition: + enablePrivateServiceConnect: description: >- - Required. A Google Cloud Storage path to the YAML file that defines - the training task which is responsible for producing the model - artifact, and may also include additional auxiliary work. The - definition files that can be used here are found in - gs://google-cloud-aiplatform/schema/trainingjob/definition/. 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. - type: string - endTime: - format: google-datetime + Optional. Deprecated: If true, expose the IndexEndpoint via private + service connect. Only one of the fields, network or + enable_private_service_connect, can be set. + deprecated: true + type: boolean + privateServiceConnectConfig: description: >- - Output only. Time when the TrainingPipeline entered any of the - following states: `PIPELINE_STATE_SUCCEEDED`, - `PIPELINE_STATE_FAILED`, `PIPELINE_STATE_CANCELLED`. - type: string - readOnly: true - parentModel: + Optional. Configuration for private service connect. network and + private_service_connect_config are mutually exclusive. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PrivateServiceConnectConfig + publicEndpointEnabled: description: >- - Optional. When specify this field, the `model_to_upload` will not be - uploaded as a new model, instead, it will become a new version of - this `parent_model`. - type: string - trainingTaskInputs: + Optional. If true, the deployed index will be accessible through + public endpoint. + type: boolean + publicEndpointDomainName: description: >- - Required. The training task's parameter(s), as specified in the - training_task_definition's `inputs`. - type: any - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation: - description: >- - Training pipeline will perform following transformation functions. * The - value converted to float32. * The z_score of the value. * log(value+1) - when the value is greater than or equal to 0. Otherwise, this - transformation is not applied and the value is considered a missing - value. * z_score of log(value+1) when the value is greater than or equal - to 0. Otherwise, this transformation is not applied and the value is - considered a missing value. - properties: - columnName: - type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation - type: object - GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata: - id: GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata - properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - specialistPool: + Output only. If public_endpoint_enabled is true, this field will be + populated with the domain name to use for this index endpoint. + readOnly: true type: string + encryptionSpec: description: >- - Output only. The name of the SpecialistPool to which the specialists - are being added. Format: - `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}` + Immutable. Customer-managed encryption key spec for an + IndexEndpoint. If set, this IndexEndpoint and all sub-resources of + this IndexEndpoint will be secured by this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true - description: >- - Runtime operation metadata for - SpecialistPoolService.UpdateSpecialistPool. - type: object - GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig: - id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig - type: object - properties: - gcsSource: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource - bigquerySource: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource - description: >- - The tables Dataset's data source. The Dataset doesn't store the data - directly, but only pointer(s) to its data. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation - type: object - properties: - invalidValuesAllowed: type: boolean - description: >- - If invalid values is allowed, the training pipeline will create a - boolean feature that indicated whether the value is valid. - Otherwise, the training pipeline will discard the input row from - trainining data. - columnName: - type: string - description: >- - Treats the column as numerical array and performs following - transformation functions. * All transformations for Numerical types - applied to the average of the all elements. * The average of empty - arrays is treated as zero. - GoogleCloudAiplatformV1CountTokensResponse: - id: GoogleCloudAiplatformV1CountTokensResponse - type: object - description: Response message for PredictionService.CountTokens. - properties: - totalBillableCharacters: - description: >- - The total number of billable characters counted across all instances - from the request. - format: int32 - type: integer - totalTokens: - format: int32 - description: >- - The total number of tokens counted across all instances from the - request. - type: integer - GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest: - type: object - id: GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest - properties: - writeRunDataRequests: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardRunDataRequest - description: >- - Required. Requests containing per-run TensorboardTimeSeries data to - write. - type: array - description: Request message for TensorboardService.WriteTensorboardExperimentData. - GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList: - properties: - features: - description: List of feature names and values. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair - type: array - description: >- - Response structure in the format of key (feature name) and (feature) - value pair. - type: object - id: >- - GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList - CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox: + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1DeployedIndex: + id: GoogleCloudAiplatformV1DeployedIndex description: >- - An integer bounding box of original pixels of the image for the detected - labels. + A deployment of an Index. IndexEndpoints contain one or more + DeployedIndexes. type: object properties: - x1: - type: integer - format: int32 - description: The X coordinate of the top-left corner, in pixels. - x2: - format: int32 - description: The X coordinate of the bottom-right corner, in pixels. - type: integer - y2: - description: The Y coordinate of the bottom-right corner, in pixels. - type: integer - format: int32 - y1: - description: The Y coordinate of the top-left corner, in pixels. - format: int32 - type: integer - id: CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox - GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData: - description: Per user usage data. - properties: - username: - description: User's username + id: + description: >- + Required. The user specified ID of the DeployedIndex. The ID can be + up to 128 characters long and must start with a letter and only + contain letters, numbers, and underscores. The ID must be unique + within the project it is created in. type: string - viewCount: - format: int64 + index: + description: >- + Required. The name of the Index this is the deployment of. We may + refer to this Index as the DeployedIndex's "original" Index. type: string - description: Number of times the user has read data within the Tensorboard. - id: GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData - type: object - GoogleCloudAiplatformV1ListTensorboardRunsResponse: - properties: - nextPageToken: + displayName: description: >- - A token, which can be sent as ListTensorboardRunsRequest.page_token - to retrieve the next page. If this field is omitted, there are no - subsequent pages. + The display name of the DeployedIndex. If not provided upon + creation, the Index's display_name is used. type: string - tensorboardRuns: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' - description: The TensorboardRuns mathching the request. - id: GoogleCloudAiplatformV1ListTensorboardRunsResponse - description: Response message for TensorboardService.ListTensorboardRuns. - type: object - GoogleCloudAiplatformV1BigQueryDestination: - properties: - outputUri: + createTime: + description: Output only. Timestamp when the DeployedIndex was created. + readOnly: true type: string + format: google-datetime + privateEndpoints: description: >- - Required. BigQuery URI to a project or table, up to 2000 characters - long. When only the project is specified, the Dataset and Table is - created. When the full table reference is specified, the Dataset - must exist and table must not exist. Accepted forms: * BigQuery - path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` - or `bq://projectId.bqDatasetId.bqTableId`. - type: object - id: GoogleCloudAiplatformV1BigQueryDestination - description: The BigQuery location for the output content. - GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata: - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Feature. - description: Details of operations that perform create FeatureGroup. - type: object - id: GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata - GoogleCloudAiplatformV1CountTokensRequest: - description: Request message for PredictionService.CountTokens. - properties: - systemInstruction: + Output only. Provides paths for users to send requests directly to + the deployed index services running on Cloud via private services + access. This field is populated if network is configured. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexPrivateEndpoints' + indexSyncTime: description: >- - Optional. The user provided system instructions for the model. Note: - only text should be used in parts and content in each part will be - in a separate paragraph. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' - generationConfig: + Output only. The DeployedIndex may depend on various data on its + original Index. Additionally when certain changes to the original + Index are being done (e.g. when what the Index contains is being + changed) the DeployedIndex may be asynchronously updated in the + background to reflect these changes. If this timestamp's value is at + least the Index.update_time of the original Index, it means that + this DeployedIndex and the original Index are in sync. If this + timestamp is older, then to see which updates this DeployedIndex + already contains (and which it does not), one must list the + operations that are running on the original Index. Only the + successfully completed Operations with update_time equal or before + this sync time are contained in this DeployedIndex. + readOnly: true + type: string + format: google-datetime + automaticResources: description: >- - Optional. Generation config that the model will use to generate the - response. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenerationConfig' - contents: - description: Optional. Input content. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' - tools: - type: array + Optional. A description of resources that the DeployedIndex uses, + which to large degree are decided by Vertex AI, and optionally + allows only a modest additional configuration. If min_replica_count + is not set, the default value is 2 (we don't provide SLA when + min_replica_count=1). If max_replica_count is not set, the default + value is min_replica_count. The max allowed replica count is 1000. + $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' + dedicatedResources: description: >- - Optional. A list of `Tools` the model may use to generate the next - response. A `Tool` is a piece of code that enables the system to - interact with external systems to perform an action, or set of - actions, outside of knowledge and scope of the model. + Optional. A description of resources that are dedicated to the + DeployedIndex, and that need a higher degree of manual + configuration. The field min_replica_count must be set to a value + strictly greater than 0, or else validation will fail. We don't + provide SLA when min_replica_count=1. If max_replica_count is not + set, the default value is min_replica_count. The max allowed replica + count is 1000. Available machine types for SMALL shard: + e2-standard-2 and all machine types available for MEDIUM and LARGE + shard. Available machine types for MEDIUM shard: e2-standard-16 and + all machine types available for LARGE shard. Available machine types + for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and + n1-standard-32 are still available, but we recommend e2-standard-16 + and e2-highmem-16 for cost efficiency. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' + enableAccessLogging: + description: >- + Optional. If true, private endpoint's access logs are sent to Cloud + Logging. These logs are like standard server access logs, containing + information like timestamp and latency for each MatchRequest. Note + that logs may incur a cost, especially if the deployed index + receives a high queries per second rate (QPS). Estimate your costs + before enabling this option. + type: boolean + deployedIndexAuthConfig: + description: >- + Optional. If set, the authentication is enabled for the private + endpoint. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndexAuthConfig' + reservedIpRanges: + description: >- + Optional. A list of reserved ip ranges under the VPC network that + can be used for this DeployedIndex. If set, we will deploy the index + within the provided ip ranges. Otherwise, the index might be + deployed to any ip ranges under the provided VPC network. The value + should be the name of the address + (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) + Example: ['vertex-ai-ip-range']. For more information about subnets + and network IP ranges, please see + https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges. + type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tool' - model: + type: string + deploymentGroup: description: >- - Optional. The name of the publisher model requested to serve the - prediction. Format: - `projects/{project}/locations/{location}/publishers/*/models/*` + Optional. The deployment group can be no longer than 64 characters + (eg: 'test', 'prod'). If not set, we will use the 'default' + deployment group. Creating `deployment_groups` with + `reserved_ip_ranges` is a recommended practice when the peered + network has multiple peering ranges. This creates your deployments + from predictable IP spaces for easier traffic administration. Also, + one deployment_group (except 'default') can only be used with the + same reserved_ip_ranges which means if the deployment_group has been + used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, + e] is disallowed. Note: we only support up to 5 deployment + groups(not including 'default'). type: string - instances: - items: - type: any - type: array + pscAutomationConfigs: description: >- - Optional. The instances that are the input to token counting call. - Schema is identical to the prediction schema of the underlying - model. - id: GoogleCloudAiplatformV1CountTokensRequest + Optional. If set for PSC deployed index, PSC connection will be + automatically created after deployment is done and the endpoint + information is populated in + private_endpoints.psc_automated_endpoints. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PSCAutomationConfig' + GoogleCloudAiplatformV1IndexPrivateEndpoints: + id: GoogleCloudAiplatformV1IndexPrivateEndpoints + description: >- + IndexPrivateEndpoints proto is used to provide paths for users to send + requests via private endpoints (e.g. private service access, private + service connect). To send request via private service access, use + match_grpc_address. To send request via private service connect, use + service_attachment. type: object - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics: properties: - meanAveragePrecision: - description: The mean average precision. - type: number - format: float - precisionWindowLength: - format: google-duration + matchGrpcAddress: + description: Output only. The ip address used to send match gRPC requests. + readOnly: true + type: string + serviceAttachment: description: >- - This VideoActionMetrics is calculated based on this prediction - window length. If the predicted action's timestamp is inside the - time window whose center is the ground truth action's timestamp with - this specific length, the prediction result is treated as a true - positive. + Output only. The name of the service attachment resource. Populated + if private service connect is enabled. + readOnly: true type: string - confidenceMetrics: - type: array + pscAutomatedEndpoints: description: >- - Metrics for each label-match confidence_threshold from - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. + Output only. PscAutomatedEndpoints is populated if private service + connect is enabled if PscAutomatedConfig is set. + readOnly: true + type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics - description: The Evaluation metrics given a specific precision_window_length. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PscAutomatedEndpoints' + GoogleCloudAiplatformV1PscAutomatedEndpoints: + id: GoogleCloudAiplatformV1PscAutomatedEndpoints + description: >- + PscAutomatedEndpoints defines the output of the forwarding rule + automatically created by each PscAutomationConfig. type: object - id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics - GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput: properties: - instance: - description: Required. Question answering correctness instance. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance - metricSpec: - description: Required. Spec for question answering correctness score metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec + projectId: + description: Corresponding project_id in pscAutomationConfigs + type: string + network: + description: Corresponding network in pscAutomationConfigs. + type: string + matchAddress: + description: Ip Address created by the automated forwarding rule. + type: string + GoogleCloudAiplatformV1DeployedIndexAuthConfig: + id: GoogleCloudAiplatformV1DeployedIndexAuthConfig + description: Used to set up the auth on the DeployedIndex's private endpoint. type: object - description: Input for question answering correctness metric. - id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs: properties: - multiLabel: - type: boolean - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs - type: object - GoogleCloudAiplatformV1ImportDataRequest: + authProvider: + description: Defines the authentication provider that the DeployedIndex uses. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider + GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider: + id: GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider + description: >- + Configuration for an authentication provider, including support for + [JSON Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). type: object - id: GoogleCloudAiplatformV1ImportDataRequest properties: - importConfigs: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ImportDataConfig' + audiences: description: >- - Required. The desired input locations. The contents of all input - locations will be imported in one batch. + The list of JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. type: array - description: Request message for DatasetService.ImportData. - GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata: - type: object - id: GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata - description: Details of operations that perform import Feature values. - properties: - importedFeatureValueCount: - type: string - format: int64 - description: Number of Feature values that have been imported by the operation. - blockingOperationIds: items: type: string - format: int64 + allowedIssuers: description: >- - List of ImportFeatureValues operations running under a single - EntityType that are blocking this operation. + A list of allowed JWT issuers. Each entry must be a valid Google + service account, in the following format: + `service-account-name@project-id.iam.gserviceaccount.com` type: array - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Featurestore import Feature values. - importedEntityCount: - description: Number of entities that have been imported by the operation. - format: int64 - type: string - sourceUris: - description: The source URI from where Feature values are imported. items: type: string - type: array - timestampOutsideRetentionRowsCount: - format: int64 - description: >- - The number rows that weren't ingested due to having timestamps - outside the retention boundary. - type: string - invalidRowCount: - type: string - description: >- - The number of rows in input source that weren't imported due to - either * Not having any featureValues. * Having a null entityId. * - Having a null timestamp. * Not being parsable (applicable for CSV - sources). - format: int64 - GoogleCloudAiplatformV1FetchFeatureValuesRequest: - type: object - properties: - dataFormat: - enumDescriptions: - - Not set. Will be treated as the KeyValue format. - - Return response data in key-value format. - - Return response data in proto Struct format. - description: >- - Optional. Response data format. If not set, - FeatureViewDataFormat.KEY_VALUE will be used. - enum: - - FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED - - KEY_VALUE - - PROTO_STRUCT - type: string - dataKey: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewDataKey' - description: Optional. The request key to fetch feature values for. - id: GoogleCloudAiplatformV1FetchFeatureValuesRequest + GoogleCloudAiplatformV1PSCAutomationConfig: + id: GoogleCloudAiplatformV1PSCAutomationConfig description: >- - Request message for FeatureOnlineStoreService.FetchFeatureValues. All - the features under the requested feature view will be returned. - GoogleCloudAiplatformV1NfsMount: + PSC config that is used to automatically create forwarding rule via + ServiceConnectionMap. type: object - id: GoogleCloudAiplatformV1NfsMount - description: Represents a mount configuration for Network File System (NFS) to mount. properties: - mountPoint: - description: >- - Required. Destination mount path. The NFS will be mounted for the - user under /mnt/nfs/ + projectId: + description: Required. Project id used to create forwarding rule. type: string - path: + network: description: >- - Required. Source path exported from NFS server. Has to start with - '/', and combined with the ip address, it indicates the source mount - path in the form of `server:path` - type: string - server: + Required. The full name of the Google Compute Engine + [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). + [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. type: string - description: Required. IP address of the NFS server. - GoogleCloudAiplatformV1DirectPredictResponse: + GoogleCloudAiplatformV1ListIndexEndpointsResponse: + id: GoogleCloudAiplatformV1ListIndexEndpointsResponse + description: Response message for IndexEndpointService.ListIndexEndpoints. + type: object properties: - outputs: - description: The prediction output. + indexEndpoints: + description: List of IndexEndpoints in the requested page. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - parameters: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - description: The parameters that govern the prediction. - id: GoogleCloudAiplatformV1DirectPredictResponse - description: Response message for PredictionService.DirectPredict. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification: - description: >- - A TrainingJob that trains and uploads an AutoML Image Classification - Model. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' + nextPageToken: + description: >- + A token to retrieve next page of results. Pass to + ListIndexEndpointsRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1DeployIndexRequest: + id: GoogleCloudAiplatformV1DeployIndexRequest + description: Request message for IndexEndpointService.DeployIndex. type: object properties: - metadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata - description: The metadata information. - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs - description: The input parameters of this TrainingJob. - GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation: + deployedIndex: + description: Required. The DeployedIndex to be created within the IndexEndpoint. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' + GoogleCloudAiplatformV1UndeployIndexRequest: + id: GoogleCloudAiplatformV1UndeployIndexRequest + description: Request message for IndexEndpointService.UndeployIndex. + type: object properties: - annotationSpecId: + deployedIndexId: description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. + Required. The ID of the DeployedIndex to be undeployed from the + IndexEndpoint. + type: string + GoogleCloudAiplatformV1CustomJob: + id: GoogleCloudAiplatformV1CustomJob + description: >- + Represents a job that runs custom workloads such as a Docker container + or a Python package. A CustomJob can have multiple worker pools and each + worker pool can have its own machine and input spec. A CustomJob will be + cleaned up once the job enters terminal state (failed or succeeded). + type: object + properties: + name: + description: Output only. Resource name of a CustomJob. + readOnly: true type: string displayName: + description: >- + Required. The display name of the CustomJob. The name can be up to + 128 characters long and can consist of any UTF-8 characters. + type: string + jobSpec: + description: Required. Job spec. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + state: + description: Output only. The detailed state of the job. + readOnly: true + type: string + enumDescriptions: + - The job state is unspecified. + - >- + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. + - >- + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. + - >- + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. + - >- + The job is partially succeeded, some results may be missing due to + errors. + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED + createTime: + description: Output only. Time when the CustomJob was created. + readOnly: true type: string + format: google-datetime + startTime: description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - vertexes: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaVertex' - type: array + Output only. Time when the CustomJob for the first time entered the + `JOB_STATE_RUNNING` state. + readOnly: true + type: string + format: google-datetime + endTime: description: >- - The vertexes are connected one by one and the last vertex is - connected to the first one to represent a polygon. - description: Represents a polygon in image. - id: >- - GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation - type: object - GoogleCloudAiplatformV1ResourceRuntime: - id: GoogleCloudAiplatformV1ResourceRuntime - type: object - properties: - accessUris: + Output only. Time when the CustomJob entered any of the following + states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, + `JOB_STATE_CANCELLED`. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Time when the CustomJob was most recently updated. + readOnly: true + type: string + format: google-datetime + error: description: >- - Output only. URIs for user to connect to the Cluster. Example: { - "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" - "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" } + Output only. Only populated when job's state is `JOB_STATE_FAILED` + or `JOB_STATE_CANCELLED`. readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + labels: + description: >- + 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. type: object additionalProperties: type: string - description: Persistent Cluster runtime information as output - GoogleCloudAiplatformV1RemoveContextChildrenResponse: - properties: {} - description: Response message for MetadataService.RemoveContextChildren. - type: object - id: GoogleCloudAiplatformV1RemoveContextChildrenResponse - GoogleCloudAiplatformV1Execution: - type: object - description: Instance of a general execution. - properties: - schemaVersion: - type: string + encryptionSpec: description: >- - 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. - metadata: - additionalProperties: - description: Properties of the object. - type: any + Customer-managed encryption key options for a CustomJob. If this is + set, then all resources created by the CustomJob will be encrypted + with the provided encryption key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + webAccessUris: description: >- - Properties of the Execution. Top level metadata keys' heading and - trailing spaces will be trimmed. The size of this field should not - exceed 200KB. - type: object - createTime: - description: Output only. Timestamp when this Execution was created. - type: string - format: google-datetime + 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. readOnly: true - labels: type: object - description: >- - 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). additionalProperties: type: string - name: + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true - type: string - description: Output only. The resource name of the Execution. - updateTime: + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. readOnly: true - format: google-datetime - type: string - description: Output only. Timestamp when this Execution was last updated. - displayName: - type: string + type: boolean + GoogleCloudAiplatformV1CustomJobSpec: + id: GoogleCloudAiplatformV1CustomJobSpec + description: Represents the spec of a CustomJob. + type: object + properties: + persistentResourceId: description: >- - User provided display name of the Execution. May be up to 128 - Unicode characters. - description: - description: Description of the Execution + Optional. The ID of the PersistentResource in the same Project and + Location which to run If this is specified, the job will be run on + existing machines held by the PersistentResource instead of + on-demand short-live machines. The network and CMEK configs on the + job should be consistent with those on the PersistentResource, + otherwise, the job will be rejected. type: string - state: - enumDescriptions: - - Unspecified Execution state - - The Execution is new - - The Execution is running - - The Execution has finished running - - The Execution has failed - - The Execution completed through Cache hit. - - The Execution was cancelled. - enum: - - STATE_UNSPECIFIED - - NEW - - RUNNING - - COMPLETE - - FAILED - - CACHED - - CANCELLED + workerPoolSpecs: description: >- - 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. - type: string - schemaTitle: - type: string + Required. The spec of the worker pools including machine type and + Docker image. All worker pools except the first one are optional and + can be skipped by providing an empty value. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1WorkerPoolSpec' + scheduling: + description: Scheduling options for a CustomJob. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Scheduling' + serviceAccount: description: >- - 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. - etag: + Specifies the service account for workload run-as account. Users + submitting jobs must have act-as permission on this run-as account. + If unspecified, the [Vertex AI Custom Code Service + Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + for the CustomJob's project is used. type: string + network: description: >- - An eTag used to perform consistent read-modify-write updates. If not - set, a blind "overwrite" update happens. - id: GoogleCloudAiplatformV1Execution - GoogleCloudAiplatformV1SchemaTextExtractionAnnotation: - type: object - properties: - textSegment: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaTextSegment' - description: The segment of the text content. - displayName: - description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - type: string - annotationSpecId: + Optional. The full name of the Compute Engine + [network](/compute/docs/networks-and-firewalls#networks) to which + the Job 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. + 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 job is not peered with any + network. type: string + reservedIpRanges: description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - id: GoogleCloudAiplatformV1SchemaTextExtractionAnnotation - description: Annotation details specific to text extraction. - GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec: - description: Spec for pairwise question answering quality score metric. - id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec - properties: - version: - type: integer - format: int32 - description: Optional. Which version to use for evaluation. - useReference: - description: >- - Optional. Whether to use instance.reference to compute question - answering quality. - type: boolean - type: object - GoogleCloudAiplatformV1GroundingSupport: - description: Grounding support. - properties: - confidenceScores: + Optional. A list of names for the reserved ip ranges under the VPC + network that can be used for this job. If set, we will deploy the + job 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']. type: array items: - format: float - type: number + type: string + baseOutputDirectory: description: >- - Confidence score of the support references. Ranges from 0 to 1. 1 is - the most confident. This list must have the same size as the - grounding_chunk_indices. - groundingChunkIndices: - type: array + The Cloud Storage location to store the output of this CustomJob or + HyperparameterTuningJob. For HyperparameterTuningJob, the + baseOutputDirectory of each child CustomJob backing a Trial is set + to a subdirectory of name id under its parent + HyperparameterTuningJob's baseOutputDirectory. The following Vertex + AI environment variables will be passed to containers or python + modules when this field is set: For CustomJob: * AIP_MODEL_DIR = + `/model/` * AIP_CHECKPOINT_DIR = `/checkpoints/` * + AIP_TENSORBOARD_LOG_DIR = `/logs/` For CustomJob backing a Trial of + HyperparameterTuningJob: * AIP_MODEL_DIR = `//model/` * + AIP_CHECKPOINT_DIR = `//checkpoints/` * AIP_TENSORBOARD_LOG_DIR = + `//logs/` + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + protectedArtifactLocationId: description: >- - A list of indices (into 'grounding_chunk') specifying the citations - associated with the claim. For instance [1,3,4] means that - grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the - retrieved content attributed to the claim. - items: - format: int32 - type: integer - segment: - description: Segment of the content this support belongs to. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Segment' - type: object - id: GoogleCloudAiplatformV1GroundingSupport - GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance: - description: Prediction input format for Video Action Recognition. - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance - properties: - content: + The ID of the location to store protected artifacts. e.g. + us-central1. Populate only when the location is different than + CustomJob location. List of supported locations: + https://cloud.google.com/vertex-ai/docs/general/locations type: string + tensorboard: description: >- - The Google Cloud Storage location of the video on which to perform - the prediction. - timeSegmentStart: - description: >- - The beginning, inclusive, of the video's time segment on which to - perform the prediction. Expressed as a number of seconds as measured - from the start of the video, with "s" appended at the end. Fractions - are allowed, up to a microsecond precision. + Optional. The name of a Vertex AI Tensorboard resource to which this + CustomJob will upload Tensorboard logs. Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}` type: string - timeSegmentEnd: + enableWebAccess: description: >- - The end, exclusive, of the video's time segment on which to perform - the prediction. Expressed as a number of seconds as measured from - the start of the video, with "s" appended at the end. Fractions are - allowed, up to a microsecond precision, and "inf" or "Infinity" is - allowed, which means the end of the video. + Optional. Whether you want Vertex AI to enable [interactive shell + access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + to training containers. If set to `true`, you can access interactive + shells at the URIs given by CustomJob.web_access_uris or + Trial.web_access_uris (within HyperparameterTuningJob.trials). + type: boolean + enableDashboardAccess: + description: >- + Optional. Whether you want Vertex AI to enable access to the + customized dashboard in training chief container. If set to `true`, + you can access the dashboard at the URIs given by + CustomJob.web_access_uris or Trial.web_access_uris (within + HyperparameterTuningJob.trials). + type: boolean + experiment: + description: >- + Optional. The Experiment associated with this job. Format: + `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` type: string - mimeType: + experimentRun: + description: >- + Optional. The Experiment Run associated with this job. Format: + `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` type: string + models: description: >- - The MIME type of the content of the video. Only the following are - supported: video/mp4 video/avi video/quicktime - type: object - GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata: - properties: - sentimentMax: - type: integer - description: The maximum sentiment of sentiment Anntoation in this SavedQuery. - format: int32 - description: The metadata of SavedQuery contains TextSentiment Annotations. - id: GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata + Optional. The name of the Model resources for which to generate a + mapping to artifact URIs. Applicable only to some of the + Google-provided custom jobs. Format: + `projects/{project}/locations/{location}/models/{model}` In order to + retrieve a specific version of the model, also provide the version + ID or version alias. Example: + `projects/{project}/locations/{location}/models/{model}@2` or + `projects/{project}/locations/{location}/models/{model}@golden` If + no version ID or alias is specified, the "default" version will be + returned. The "default" version alias is created for the first + version of the model, and can be moved to other versions later on. + There will be exactly one default version. + type: array + items: + type: string + GoogleCloudAiplatformV1WorkerPoolSpec: + id: GoogleCloudAiplatformV1WorkerPoolSpec + description: Represents the spec of a worker pool in a job. type: object - GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines: - description: Open fine tuning pipelines. properties: - fineTuningPipelines: - description: Required. Regional resource references to fine tuning pipelines. + containerSpec: + description: The custom container task. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ContainerSpec' + pythonPackageSpec: + description: The Python packaged task. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PythonPackageSpec' + machineSpec: + description: Optional. Immutable. The specification of a single machine. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' + replicaCount: + description: Optional. The number of worker replicas to use for this worker pool. + type: string + format: int64 + nfsMounts: + description: Optional. List of NFS mount spec. type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - id: GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines - type: object - GoogleCloudAiplatformV1UndeployModelRequest: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NfsMount' + diskSpec: + description: Disk spec. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DiskSpec' + GoogleCloudAiplatformV1ContainerSpec: + id: GoogleCloudAiplatformV1ContainerSpec + description: The spec of a Container. type: object - description: Request message for EndpointService.UndeployModel. - id: GoogleCloudAiplatformV1UndeployModelRequest properties: - deployedModelId: + imageUri: description: >- - Required. The ID of the DeployedModel to be undeployed from the - Endpoint. + Required. The URI of a container image in the Container Registry + that is to be run on each worker replica. type: string - trafficSplit: - additionalProperties: - type: integer - format: int32 - type: object + command: description: >- - If this field is provided, then the Endpoint's traffic_split will be - overwritten with it. If last DeployedModel is being undeployed from - the Endpoint, the [Endpoint.traffic_split] will always end up empty - when this call returns. A DeployedModel will be successfully - undeployed only if it doesn't have any traffic assigned to it when - this method executes, or if this field unassigns any traffic to it. - GoogleCloudAiplatformV1SummarizationHelpfulnessResult: - properties: - score: - readOnly: true - description: Output only. Summarization Helpfulness score. - format: float - type: number - explanation: - type: string - description: Output only. Explanation for summarization helpfulness score. - readOnly: true - confidence: - type: number - readOnly: true - description: Output only. Confidence for summarization helpfulness score. - format: float - type: object - id: GoogleCloudAiplatformV1SummarizationHelpfulnessResult - description: Spec for summarization helpfulness result. - GoogleIamV1SetIamPolicyRequest: - description: Request message for `SetIamPolicy` method. - id: GoogleIamV1SetIamPolicyRequest - type: object - properties: - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' + The command to be invoked when the container is started. It + overrides the entrypoint instruction in Dockerfile when provided. + type: array + items: + type: string + args: + description: The arguments to be passed when starting the container. + type: array + items: + type: string + env: description: >- - REQUIRED: The complete policy to be applied to the `resource`. The - size of the policy is limited to a few 10s of KB. An empty policy is - a valid policy but certain Google Cloud services (such as Projects) - might reject them. - GoogleCloudAiplatformV1ToolParameterKVMatchSpec: - type: object - id: GoogleCloudAiplatformV1ToolParameterKVMatchSpec - description: Spec for tool parameter key value match metric. - properties: - useStrictStringMatch: - type: boolean - description: Optional. Whether to use STRCIT string match on parameter values. - GoogleCloudAiplatformV1ExportDataOperationMetadata: - id: GoogleCloudAiplatformV1ExportDataOperationMetadata + Environment variables to be passed to the container. Maximum limit + is 100. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EnvVar' + GoogleCloudAiplatformV1EnvVar: + id: GoogleCloudAiplatformV1EnvVar + description: >- + Represents an environment variable present in a Container or Python + Module. type: object - description: Runtime operation information for DatasetService.ExportData. properties: - gcsOutputDirectory: - type: string + name: description: >- - A Google Cloud Storage directory which path ends with '/'. The - exported data is stored in the directory. - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - GoogleCloudAiplatformV1PurgeArtifactsRequest: - properties: - filter: + Required. Name of the environment variable. Must be a valid C + identifier. type: string + value: description: >- - Required. A required filter matching the Artifacts to be purged. - E.g., `update_time <= 2020-11-19T11:30:00-04:00`. - force: - description: >- - Optional. Flag to indicate to actually perform the purge. If `force` - is set to false, the method will return a sample of Artifact names - that would be deleted. - type: boolean + Required. Variables that reference a $(VAR_NAME) are expanded using + the previous defined environment variables in the container and any + service environment variables. If a variable cannot be resolved, the + reference in the input string will be unchanged. The $(VAR_NAME) + syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether the + variable exists or not. + type: string + GoogleCloudAiplatformV1PythonPackageSpec: + id: GoogleCloudAiplatformV1PythonPackageSpec + description: The spec of a Python packaged code. type: object - description: Request message for MetadataService.PurgeArtifacts. - id: GoogleCloudAiplatformV1PurgeArtifactsRequest - GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest: - description: Request message for MetadataService.AddContextArtifactsAndExecutions. properties: - artifacts: - type: array - items: - type: string + executorImageUri: description: >- - The resource names of the Artifacts to attribute to the Context. - Format: - `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` - executions: + Required. The URI of a container image in Artifact Registry that + will run the provided Python package. Vertex AI provides a wide + range of executor images with pre-installed packages to meet users' + various use cases. See the list of [pre-built containers for + training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). + You must use an image from this list. + type: string + packageUris: description: >- - The resource names of the Executions to associate with the Context. - Format: - `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Required. The Google Cloud Storage location of the Python package + files which are the training program and its dependent packages. The + maximum number of package URIs is 100. type: array items: type: string - id: GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest - type: object - GoogleCloudAiplatformV1ModelMonitoringAlertConfig: - properties: - enableLogging: + pythonModule: description: >- - Dump the anomalies to Cloud Logging. The anomalies will be put to - json payload encoded from proto - google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. - This can be further sinked to Pub/Sub or any other services - supported by Cloud Logging. - type: boolean - notificationChannels: + Required. The Python module name to run after installing the + packages. + type: string + args: + description: Command line arguments to be passed to the Python task. + type: array items: type: string + env: description: >- - Resource names of the NotificationChannels to send alert. Must be of - the format `projects//notificationChannels/` + Environment variables to be passed to the python module. Maximum + limit is 100. type: array - emailAlertConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig - description: Email alert config. + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EnvVar' + GoogleCloudAiplatformV1NfsMount: + id: GoogleCloudAiplatformV1NfsMount + description: Represents a mount configuration for Network File System (NFS) to mount. type: object - id: GoogleCloudAiplatformV1ModelMonitoringAlertConfig - description: The alert config for model monitoring. - GoogleCloudAiplatformV1StratifiedSplit: - description: >- - Assigns input data to the training, validation, and test sets so that - the distribution of values found in the categorical column (as specified - by the `key` field) is mirrored within each split. The fraction values - determine the relative sizes of the splits. For example, if the - specified column has three values, with 50% of the rows having value - "A", 25% value "B", and 25% value "C", and the split fractions are - specified as 80/10/10, then the training set will constitute 80% of the - training data, with about 50% of the training set rows having the value - "A" for the specified column, about 25% having the value "B", and about - 25% having the value "C". Only the top 500 occurring values are used; - any values not in the top 500 values are randomly assigned to a split. - If less than three rows contain a specific value, those rows are - randomly assigned. Supported only for tabular Datasets. properties: - testFraction: - description: >- - The fraction of the input data that is to be used to evaluate the - Model. - type: number - format: double - key: + server: + description: Required. IP address of the NFS server. type: string + path: description: >- - Required. The key is a name of one of the Dataset's data columns. - The key provided must be for a categorical column. - validationFraction: - format: double - type: number - description: >- - The fraction of the input data that is to be used to validate the - Model. - trainingFraction: + Required. Source path exported from NFS server. Has to start with + '/', and combined with the ip address, it indicates the source mount + path in the form of `server:path` + type: string + mountPoint: description: >- - The fraction of the input data that is to be used to train the - Model. - type: number - format: double - id: GoogleCloudAiplatformV1StratifiedSplit + Required. Destination mount path. The NFS will be mounted for the + user under /mnt/nfs/ + type: string + GoogleCloudAiplatformV1DiskSpec: + id: GoogleCloudAiplatformV1DiskSpec + description: Represents the spec of disk options. type: object - GoogleCloudAiplatformV1Event: - id: GoogleCloudAiplatformV1Event - description: >- - An edge describing the relationship between an Artifact and an Execution - in a lineage graph. + properties: + bootDiskType: + description: >- + Type of the boot disk (default is "pd-ssd"). Valid values: "pd-ssd" + (Persistent Disk Solid State Drive) or "pd-standard" (Persistent + Disk Hard Disk Drive). + type: string + bootDiskSizeGb: + description: Size in GB of the boot disk (default is 100GB). + type: integer + format: int32 + GoogleCloudAiplatformV1Scheduling: + id: GoogleCloudAiplatformV1Scheduling + description: All parameters related to queuing and scheduling of custom jobs. type: object properties: - eventTime: - readOnly: true - description: Output only. Time the Event occurred. - format: google-datetime + timeout: + description: The maximum job running time. The default is 7 days. type: string - execution: + format: google-duration + restartJobOnWorkerRestart: description: >- - Output only. The relative resource name of the Execution in the - Event. + Restarts the entire CustomJob if a worker gets restarted. This + feature can be used by distributed training jobs that are not + resilient to workers leaving and joining a job. + type: boolean + strategy: + description: Optional. This determines which type of scheduling strategy to use. type: string - readOnly: true - labels: - type: object - additionalProperties: - type: string - description: >- - The labels with user-defined metadata to annotate Events. 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 Event (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. - type: enumDescriptions: - - Unspecified whether input or output of the Execution. - - An input of the Execution. - - An output of the Execution. + - Strategy will default to STANDARD. + - Deprecated. Regular on-demand provisioning strategy. + - Deprecated. Low cost by making potential use of spot resources. + - Standard provisioning strategy uses regular on-demand resources. + - Spot provisioning strategy uses spot resources. + - Flex Start strategy uses DWS to queue for resources. + enumDeprecated: + - false + - true + - true + - false + - false + - false enum: - - TYPE_UNSPECIFIED - - INPUT - - OUTPUT - description: Required. The type of the Event. - type: string - artifact: - description: Required. The relative resource name of the Artifact in the Event. - type: string - GoogleCloudAiplatformV1PrivateServiceConnectConfig: - properties: - serviceAttachment: - type: string - readOnly: true - description: >- - Output only. The name of the generated service attachment resource. - This is only populated if the endpoint is deployed with - PrivateServiceConnect. - projectAllowlist: - type: array - items: - type: string - description: >- - A list of Projects from which the forwarding rule will target the - service attachment. - enablePrivateServiceConnect: + - STRATEGY_UNSPECIFIED + - ON_DEMAND + - LOW_COST + - STANDARD + - SPOT + - FLEX_START + disableRetries: description: >- - Required. If true, expose the IndexEndpoint via private service - connect. + Optional. Indicates if the job should retry for internal errors + after the job starts running. If true, overrides + `Scheduling.restart_job_on_worker_restart` to false. type: boolean + maxWaitDuration: + description: >- + Optional. This is the maximum duration that a job will wait for the + requested resources to be provisioned if the scheduling strategy is + set to [Strategy.DWS_FLEX_START]. If set to 0, the job will wait + indefinitely. The default is 24 hours. + type: string + format: google-duration + GoogleCloudAiplatformV1ListCustomJobsResponse: + id: GoogleCloudAiplatformV1ListCustomJobsResponse + description: Response message for JobService.ListCustomJobs type: object - id: GoogleCloudAiplatformV1PrivateServiceConnectConfig - description: Represents configuration for private service connect. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig: - description: Configuration for exporting test set predictions to a BigQuery table. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig properties: - overrideExistingTable: - type: boolean + customJobs: + description: List of CustomJobs in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJob' + nextPageToken: description: >- - If true and an export destination is specified, then the contents of - the destination are overwritten. Otherwise, if the export - destination already exists, then the export operation fails. - destinationBigqueryUri: + A token to retrieve the next page of results. Pass to + ListCustomJobsRequest.page_token to obtain that page. type: string - description: >- - URI of desired destination BigQuery table. Expected format: - `bq://{project_id}:{dataset_id}:{table}` If not specified, then - results are exported to the following auto-created BigQuery table: - `{project_id}:export_evaluated_examples_{model_name}_{yyyy_MM_dd'T'HH_mm_ss_SSS'Z'}.evaluated_examples` + GoogleCloudAiplatformV1CancelCustomJobRequest: + id: GoogleCloudAiplatformV1CancelCustomJobRequest + description: Request message for JobService.CancelCustomJob. + type: object + properties: {} + GoogleCloudAiplatformV1DataLabelingJob: + id: GoogleCloudAiplatformV1DataLabelingJob + description: >- + DataLabelingJob is used to trigger a human labeling job on unlabeled + data from the following Dataset: type: object - GoogleCloudAiplatformV1PipelineJob: properties: - pipelineSpec: - type: object - additionalProperties: - description: Properties of the object. - type: any - description: The spec of the pipeline. - displayName: - type: string - description: >- - The display name of the Pipeline. The name can be up to 128 - characters long and can consist of any UTF-8 characters. - templateMetadata: - description: >- - Output only. Pipeline template metadata. Will fill up fields if - PipelineJob.template_uri is from supported template registry. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineTemplateMetadata' + name: + description: Output only. Resource name of the DataLabelingJob. readOnly: true - network: - description: >- - 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. type: string - preflightValidations: - type: boolean + displayName: description: >- - Optional. Whether to do component level validations before job - creation. - startTime: - readOnly: true - description: Output only. Pipeline start time. - format: google-datetime + 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. type: string - labels: + datasets: description: >- - The labels with user-defined metadata to organize PipelineJob. Label - keys and values can be no longer than 64 characters (Unicode + Required. Dataset resource names. Right now we only support labeling + from a single Dataset. Format: + `projects/{project}/locations/{location}/datasets/{dataset}` + type: array + items: + type: string + annotationLabels: + description: >- + 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. - Note there is some reserved label key for Vertex AI Pipelines. - - `vertex-ai-pipelines-run-billing-id`, user set value will get - overrided. + System reserved label keys are prefixed with + "aiplatform.googleapis.com/" and are immutable. type: object additionalProperties: type: string - createTime: - readOnly: true - type: string - description: Output only. Pipeline creation time. - format: google-datetime - updateTime: - readOnly: true - format: google-datetime + labelerCount: + description: Required. Number of labelers to work on each DataItem. + type: integer + format: int32 + instructionUri: + description: >- + Required. The Google Cloud Storage location of the instruction pdf. + This pdf is shared with labelers, and provides detailed description + on how to label DataItems in Datasets. type: string + inputsSchemaUri: description: >- - Output only. Timestamp when this PipelineJob was most recently - updated. - templateUri: + Required. Points to a YAML file stored on Google Cloud Storage + describing the config for a specific type of DataLabelingJob. The + schema files that can be used here are found in the + https://storage.googleapis.com/google-cloud-aiplatform bucket in the + /schema/datalabelingjob/inputs/ folder. type: string + inputs: + description: Required. Input config parameters for the DataLabelingJob. + type: any + state: + description: Output only. The detailed state of the job. + readOnly: true + type: string + enumDescriptions: + - The job state is unspecified. + - >- + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. + - >- + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. + - >- + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. + - >- + The job is partially succeeded, some results may be missing due to + errors. + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED + labelingProgress: description: >- - 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. - scheduleName: + Output only. Current labeling job progress percentage scaled in + interval [0, 100], indicating the percentage of DataItems that has + been finished. + readOnly: true + type: integer + format: int32 + currentSpend: description: >- - Output only. The schedule resource name. Only returned if the - Pipeline is created by Schedule API. + Output only. Estimated cost(in US dollars) that the DataLabelingJob + has incurred to date. + readOnly: true + $ref: '#/components/schemas/GoogleTypeMoney' + createTime: + description: Output only. Timestamp when this DataLabelingJob was created. readOnly: true type: string - name: + format: google-datetime + updateTime: + description: >- + Output only. Timestamp when this DataLabelingJob was updated most + recently. readOnly: true type: string - description: Output only. The resource name of the PipelineJob. + format: google-datetime error: + description: >- + Output only. DataLabelingJob errors. It is only populated when job's + state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. readOnly: true $ref: '#/components/schemas/GoogleRpcStatus' + labels: description: >- - Output only. The error that occurred during pipeline execution. Only - populated when the pipeline's state is FAILED or CANCELLED. - endTime: - format: google-datetime - description: Output only. Pipeline end time. + The labels with user-defined metadata to organize your + DataLabelingJobs. 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. Following system + labels exist for each DataLabelingJob: * + "aiplatform.googleapis.com/schema": output only, its value is the + inputs_schema's title. + type: object + additionalProperties: + type: string + specialistPools: + description: The SpecialistPools' resource names associated with this job. + type: array + items: + type: string + encryptionSpec: + description: >- + Customer-managed encryption key spec for a DataLabelingJob. If set, + this DataLabelingJob will be secured by this key. Note: Annotations + created in the DataLabelingJob are associated with the + EncryptionSpec of the Dataset they are exported to. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + activeLearningConfig: + description: >- + Parameters that configure the active learning pipeline. Active + learning will label the data incrementally via several iterations. + For every iteration, it will select a batch of data based on the + sampling strategy. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ActiveLearningConfig' + GoogleTypeMoney: + id: GoogleTypeMoney + description: Represents an amount of money with its currency type. + type: object + properties: + currencyCode: + description: The three-letter currency code defined in ISO 4217. type: string - readOnly: true - state: - readOnly: true - enumDescriptions: - - The pipeline state is unspecified. - - >- - The pipeline has been created or resumed, and processing has not - yet begun. - - The service is preparing to run the pipeline. - - The pipeline is in progress. - - The pipeline completed successfully. - - The pipeline failed. - - >- - The pipeline is being cancelled. From this state, the pipeline may - only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED - or PIPELINE_STATE_CANCELLED. - - The pipeline has been cancelled. - - The pipeline has been stopped, and can be resumed. + units: + description: >- + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. type: string - description: Output only. The detailed state of the job. - enum: - - PIPELINE_STATE_UNSPECIFIED - - PIPELINE_STATE_QUEUED - - PIPELINE_STATE_PENDING - - PIPELINE_STATE_RUNNING - - PIPELINE_STATE_SUCCEEDED - - PIPELINE_STATE_FAILED - - PIPELINE_STATE_CANCELLING - - PIPELINE_STATE_CANCELLED - - PIPELINE_STATE_PAUSED - jobDetail: + format: int64 + nanos: description: >- - Output only. The details of pipeline run. Not available in the list - view. - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJobDetail' - serviceAccount: + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. + type: integer + format: int32 + GoogleCloudAiplatformV1ActiveLearningConfig: + id: GoogleCloudAiplatformV1ActiveLearningConfig + description: >- + Parameters that configure the active learning pipeline. Active learning + will label the data incrementally by several iterations. For every + iteration, it will select a batch of data based on the sampling + strategy. + type: object + properties: + maxDataItemCount: + description: Max number of human labeled DataItems. type: string + format: int64 + maxDataItemPercentage: + description: Max percent of total DataItems for human labeling. + type: integer + format: int32 + sampleConfig: description: >- - The service account that the pipeline workload runs as. If not - specified, the Compute Engine default service account in the project - will be used. See - https://cloud.google.com/compute/docs/access/service-accounts#default_service_account - Users starting the pipeline must have the - `iam.serviceAccounts.actAs` permission on this service account. - reservedIpRanges: - description: >- - 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']. - type: array - items: - type: string - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + Active learning data sampling config. For every active learning + labeling iteration, it will select a batch of data based on the + sampling strategy. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SampleConfig' + trainingConfig: description: >- - Customer-managed encryption key spec for a pipelineJob. If set, this - PipelineJob and all of its sub-resources will be secured by this - key. - runtimeConfig: - description: Runtime config of the pipeline. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJobRuntimeConfig' - description: An instance of a machine learning PipelineJob. + CMLE training config. For every active learning labeling iteration, + system will train a machine learning model on CMLE. The trained + model will be used by data sampling algorithm to select DataItems. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingConfig' + GoogleCloudAiplatformV1SampleConfig: + id: GoogleCloudAiplatformV1SampleConfig + description: >- + Active learning data sampling config. For every active learning labeling + iteration, it will select a batch of data based on the sampling + strategy. type: object - id: GoogleCloudAiplatformV1PipelineJob - GoogleCloudAiplatformV1PointwiseMetricResult: properties: - explanation: - readOnly: true + initialBatchSamplePercentage: + description: The percentage of data needed to be labeled in the first batch. + type: integer + format: int32 + followingBatchSamplePercentage: + description: >- + The percentage of data needed to be labeled in each following batch + (except the first batch). + type: integer + format: int32 + sampleStrategy: + description: >- + Field to choose sampling strategy. Sampling strategy will decide + which data should be selected for human labeling in every batch. type: string - description: Output only. Explanation for pointwise metric score. - score: - format: float - readOnly: true - description: Output only. Pointwise metric score. - type: number - description: Spec for pointwise metric result. - type: object - id: GoogleCloudAiplatformV1PointwiseMetricResult - GoogleCloudAiplatformV1CreateDatasetOperationMetadata: - id: GoogleCloudAiplatformV1CreateDatasetOperationMetadata + enumDescriptions: + - Default will be treated as UNCERTAINTY. + - Sample the most uncertain data to label. + enum: + - SAMPLE_STRATEGY_UNSPECIFIED + - UNCERTAINTY + GoogleCloudAiplatformV1TrainingConfig: + id: GoogleCloudAiplatformV1TrainingConfig + description: >- + CMLE training config. For every active learning labeling iteration, + system will train a machine learning model on CMLE. The trained model + will be used by data sampling algorithm to select DataItems. type: object - description: Runtime operation information for DatasetService.CreateDataset. properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata: + timeoutTrainingMilliHours: + description: >- + The timeout hours for the CMLE training job, expressed in milli + hours i.e. 1,000 value in this field means 1 hour. + type: string + format: int64 + GoogleCloudAiplatformV1ListDataLabelingJobsResponse: + id: GoogleCloudAiplatformV1ListDataLabelingJobsResponse + description: Response message for JobService.ListDataLabelingJobs. type: object - description: Metadata information for NotebookService.StartNotebookRuntime. - id: GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The operation generic information. - progressMessage: - type: string + dataLabelingJobs: description: >- - A human-readable message that shows the intermediate progress - details of NotebookRuntime. - GoogleCloudAiplatformV1EntityType: + A list of DataLabelingJobs that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' + nextPageToken: + description: The standard List next-page token. + type: string + GoogleCloudAiplatformV1CancelDataLabelingJobRequest: + id: GoogleCloudAiplatformV1CancelDataLabelingJobRequest + description: Request message for JobService.CancelDataLabelingJob. + type: object + properties: {} + GoogleCloudAiplatformV1HyperparameterTuningJob: + id: GoogleCloudAiplatformV1HyperparameterTuningJob + description: >- + Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a + Study specification and multiple CustomJobs with identical CustomJob + specification. + type: object properties: name: - type: string - description: >- - 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. - updateTime: + description: Output only. Resource name of the HyperparameterTuningJob. readOnly: true - format: google-datetime - description: >- - Output only. Timestamp when this EntityType was most recently - updated. type: string - etag: + displayName: description: >- - Optional. Used to perform a consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. + Required. The display name of the HyperparameterTuningJob. The name + can be up to 128 characters long and can consist of any UTF-8 + characters. type: string - offlineStorageTtlDays: + studySpec: + description: Required. Study configuration of the HyperparameterTuningJob. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' + maxTrialCount: + description: Required. The desired total number of Trials. + type: integer format: int32 + parallelTrialCount: + description: Required. The desired number of Trials to run in parallel. type: integer + format: int32 + maxFailedTrialCount: description: >- - 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. - labels: - additionalProperties: - type: string - type: object + 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. + type: integer + format: int32 + trialJobSpec: description: >- - 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. - satisfiesPzs: - type: boolean + Required. The spec of a trial job. The same spec applies to the + CustomJobs created in all the trials. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + trials: + description: Output only. Trials of the HyperparameterTuningJob. readOnly: true - description: Output only. Reserved for future use. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + state: + description: Output only. The detailed state of the job. + readOnly: true + type: string + enumDescriptions: + - The job state is unspecified. + - >- + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. + - >- + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. + - >- + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. + - >- + The job is partially succeeded, some results may be missing due to + errors. + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED createTime: - description: Output only. Timestamp when this EntityType was created. + description: Output only. Time when the HyperparameterTuningJob was created. + readOnly: true type: string format: google-datetime + startTime: + description: >- + Output only. Time when the HyperparameterTuningJob for the first + time entered the `JOB_STATE_RUNNING` state. readOnly: true - satisfiesPzi: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - description: - description: Optional. Description of the EntityType. type: string - monitoringConfig: + format: google-datetime + endTime: description: >- - Optional. The default monitoring configuration for all Features with - value type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 under - this EntityType. If this is populated with - [FeaturestoreMonitoringConfig.monitoring_interval] specified, - snapshot analysis monitoring is enabled. Otherwise, snapshot - analysis monitoring is disabled. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfig - description: >- - An entity type is a type of object in a system that needs to be modeled - and have stored information about. For example, driver is an entity - type, and driver0 is an instance of an entity type driver. - type: object - id: GoogleCloudAiplatformV1EntityType - GoogleCloudAiplatformV1UpsertDatapointsRequest: - properties: - updateMask: + Output only. Time when the HyperparameterTuningJob entered any of + the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, + `JOB_STATE_CANCELLED`. + readOnly: true type: string - format: google-fieldmask + format: google-datetime + updateTime: description: >- - Optional. Update mask is used to specify the fields to be - overwritten in the datapoints by the update. The fields specified in - the update_mask are relative to each IndexDatapoint inside - datapoints, not the full request. Updatable fields: * Use - `all_restricts` to update both restricts and numeric_restricts. - datapoints: - description: A list of datapoints to be created/updated. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' - type: array - id: GoogleCloudAiplatformV1UpsertDatapointsRequest - description: Request message for IndexService.UpsertDatapoints - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation - type: object - description: >- - Training pipeline will perform following transformation functions. * The - categorical string as is--no change to case, punctuation, spelling, - tense, and so on. * Convert the category name to a dictionary lookup - index and generate an embedding for each index. * Categories that appear - less than 5 times in the training dataset are treated as the "unknown" - category. The "unknown" category gets its own special lookup index and - resulting embedding. - properties: - columnName: + Output only. Time when the HyperparameterTuningJob was most recently + updated. + readOnly: true type: string - GoogleCloudAiplatformV1BoolArray: - description: A list of boolean values. - type: object - properties: - values: - items: - type: boolean - type: array - description: A list of bool values. - id: GoogleCloudAiplatformV1BoolArray - GoogleCloudAiplatformV1FeatureViewSync: - properties: - createTime: format: google-datetime + error: description: >- - 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. - type: string + Output only. Only populated when job's state is JOB_STATE_FAILED or + JOB_STATE_CANCELLED. readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + labels: + description: >- + The labels with user-defined metadata to organize + HyperparameterTuningJobs. 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. + type: object + additionalProperties: + type: string + encryptionSpec: + description: >- + Customer-managed encryption key options for a + HyperparameterTuningJob. If this is set, then all resources created + by the HyperparameterTuningJob will be encrypted with the provided + encryption key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' satisfiesPzs: description: Output only. Reserved for future use. readOnly: true type: boolean - syncSummary: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewSyncSyncSummary - readOnly: true - description: Output only. Summary of the sync job. - finalStatus: - $ref: '#/components/schemas/GoogleRpcStatus' - readOnly: true - description: Output only. Final status of the FeatureViewSync. satisfiesPzi: - type: boolean description: Output only. Reserved for future use. readOnly: true - runTime: - description: Output only. Time when this FeatureViewSync is finished. - readOnly: true - $ref: '#/components/schemas/GoogleTypeInterval' - name: - description: >- - Identifier. Name of the FeatureViewSync. Format: - `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` - type: string - id: GoogleCloudAiplatformV1FeatureViewSync - type: object - description: >- - FeatureViewSync is a representation of sync operation which copies data - from data source to Feature View in Online Store. - GoogleCloudAiplatformV1DeployedIndexAuthConfig: + type: boolean + GoogleCloudAiplatformV1StudySpec: + id: GoogleCloudAiplatformV1StudySpec + description: Represents specification of a Study. type: object properties: - authProvider: + decayCurveStoppingSpec: + description: The automated early stopping spec using decay curve rule. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider - description: Defines the authentication provider that the DeployedIndex uses. - description: Used to set up the auth on the DeployedIndex's private endpoint. - id: GoogleCloudAiplatformV1DeployedIndexAuthConfig - GoogleCloudAiplatformV1EnvVar: - type: object - id: GoogleCloudAiplatformV1EnvVar - properties: - value: - type: string - description: >- - Required. Variables that reference a $(VAR_NAME) are expanded using - the previous defined environment variables in the container and any - service environment variables. If a variable cannot be resolved, the - reference in the input string will be unchanged. The $(VAR_NAME) - syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped - references will never be expanded, regardless of whether the - variable exists or not. - name: - type: string - description: >- - Required. Name of the environment variable. Must be a valid C - identifier. - description: >- - Represents an environment variable present in a Container or Python - Module. - GoogleCloudAiplatformV1AddExecutionEventsRequest: - description: Request message for MetadataService.AddExecutionEvents. - properties: - events: - description: The Events to create and add. + #/components/schemas/GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec + medianAutomatedStoppingSpec: + description: The automated early stopping spec using median rule. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec + convexAutomatedStoppingSpec: + description: The automated early stopping spec using convex stopping rule. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec + metrics: + description: Required. Metric specs for the Study. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Event' - id: GoogleCloudAiplatformV1AddExecutionEventsRequest - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs: - properties: - modelType: + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpecMetricSpec' + parameters: + description: Required. The set of parameters to tune. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpec' + algorithm: + description: The search algorithm specified for the Study. type: string enumDescriptions: - - Should not be set. - >- - A model best tailored to be used within Google Cloud, and which c - annot be exported. Default. + The default algorithm used by Vertex AI for [hyperparameter + tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) + and [Vertex AI + Vizier](https://cloud.google.com/vertex-ai/docs/vizier). - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as a - TensorFlow or TensorFlow Lite model and used on a mobile or edge - device afterwards. + Simple grid search within the feasible space. To use grid search, + all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`. + - Simple random search within the feasible space. + enum: + - ALGORITHM_UNSPECIFIED + - GRID_SEARCH + - RANDOM_SEARCH + observationNoise: + description: >- + The observation noise level of the study. Currently only supported + by the Vertex AI Vizier service. Not supported by + HyperparameterTuningJob or TrainingPipeline. + type: string + enumDescriptions: + - The default noise level chosen by Vertex AI. - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) to a Jetson - device afterwards. + Vertex AI assumes that the objective function is (nearly) + perfectly reproducible, and will never repeat the same Trial + parameters. - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as a - TensorFlow or TensorFlow Lite model and used on a Coral device - afterwards. + Vertex AI will estimate the amount of noise in metric evaluations, + it may repeat the same Trial parameters more than once. enum: - - MODEL_TYPE_UNSPECIFIED - - CLOUD - - MOBILE_VERSATILE_1 - - MOBILE_JETSON_VERSATILE_1 - - MOBILE_CORAL_VERSATILE_1 - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs - GoogleCloudAiplatformV1ListNotebookRuntimesResponse: - id: GoogleCloudAiplatformV1ListNotebookRuntimesResponse + - OBSERVATION_NOISE_UNSPECIFIED + - LOW + - HIGH + measurementSelectionType: + description: Describe which measurement selection type will be used + type: string + enumDescriptions: + - Will be treated as LAST_MEASUREMENT. + - Use the last measurement reported. + - Use the best measurement reported. + enum: + - MEASUREMENT_SELECTION_TYPE_UNSPECIFIED + - LAST_MEASUREMENT + - BEST_MEASUREMENT + studyStoppingConfig: + description: >- + Conditions for automated stopping of a Study. Enable automated + stopping by configuring at least one condition. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecStudyStoppingConfig + GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec: + id: GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec + description: >- + The decay curve automated stopping rule builds a Gaussian Process + Regressor to predict the final objective value of a Trial based on the + already completed Trials and the intermediate measurements of the + current Trial. Early stopping is requested for the current Trial if + there is very low probability to exceed the optimal value found so far. type: object properties: - notebookRuntimes: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookRuntime' - type: array - description: List of NotebookRuntimes in the requested page. - nextPageToken: - type: string + useElapsedDuration: description: >- - A token to retrieve next page of results. Pass to - ListNotebookRuntimesRequest.page_token to obtain that page. - description: Response message for NotebookService.ListNotebookRuntimes. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics: - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics - properties: - rougeLSum: - format: float - type: number - description: ROUGE-L (Longest Common Subsequence) scoring at summary level. + True if Measurement.elapsed_duration is used as the x-axis of each + Trials Decay Curve. Otherwise, Measurement.step_count will be used + as the x-axis. + type: boolean + GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec: + id: GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec + description: >- + The median automated stopping rule stops a pending Trial if the Trial's + best objective_value is strictly below the median 'performance' of all + completed Trials reported up to the Trial's last measurement. Currently, + 'performance' refers to the running average of the objective values + reported by the Trial in each measurement. type: object - GoogleCloudAiplatformV1ImportFeatureValuesResponse: - id: GoogleCloudAiplatformV1ImportFeatureValuesResponse + properties: + useElapsedDuration: + description: >- + True if median automated stopping rule applies on + Measurement.elapsed_duration. It means that elapsed_duration field + of latest measurement of current Trial is used to compute median + objective value for each completed Trials. + type: boolean + GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec: + id: GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec + description: >- + Configuration for ConvexAutomatedStoppingSpec. When there are enough + completed trials (configured by min_measurement_count), for pending + trials with enough measurements and steps, the policy first computes an + overestimate of the objective value at max_num_steps according to the + slope of the incomplete objective value curve. No prediction can be made + if the curve is completely flat. If the overestimation is worse than the + best objective value of the completed trials, this pending trial will be + early-stopped, but a last measurement will be added to the pending trial + with max_num_steps and predicted objective value from the autoregression + model. type: object - description: Response message for FeaturestoreService.ImportFeatureValues. properties: - timestampOutsideRetentionRowsCount: + maxStepCount: description: >- - The number rows that weren't ingested due to having feature - timestamps outside the retention boundary. - format: int64 + Steps used in predicting the final objective for early stopped + trials. In general, it's set to be the same as the defined steps in + training / tuning. If not defined, it will learn it from the + completed trials. When use_steps is false, this field is set to the + maximum elapsed seconds. type: string - importedFeatureValueCount: - description: Number of Feature values that have been imported by the operation. format: int64 + minStepCount: + description: >- + Minimum number of steps for a trial to complete. Trials which do not + have a measurement with step_count > min_step_count won't be + considered for early stopping. It's ok to set it to 0, and a trial + can be early stopped at any stage. By default, min_step_count is set + to be one-tenth of the max_step_count. When use_elapsed_duration is + true, this field is set to the minimum elapsed seconds. type: string - invalidRowCount: format: int64 + minMeasurementCount: description: >- - The number of rows in input source that weren't imported due to - either * Not having any featureValues. * Having a null entityId. * - Having a null timestamp. * Not being parsable (applicable for CSV - sources). + The minimal number of measurements in a Trial. Early-stopping checks + will not trigger if less than min_measurement_count+1 completed + trials or pending trials with less than min_measurement_count + measurements. If not defined, the default value is 5. type: string - importedEntityCount: - description: Number of entities that have been imported by the operation. format: int64 + learningRateParameterName: + description: >- + The hyper-parameter name used in the tuning job that stands for + learning rate. Leave it blank if learning rate is not in a parameter + in tuning. The learning_rate is used to estimate the objective value + of the ongoing trial. type: string - GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex: - properties: - multiDeployVertex: - description: Optional. One click deployment configurations. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeploy - type: array + useElapsedDuration: + description: >- + This bool determines whether or not the rule is applied based on + elapsed_secs or steps. If use_elapsed_duration==false, the early + stopping decision is made according to the predicted objective + values according to the target steps. If use_elapsed_duration==true, + elapsed_secs is used instead of steps. Also, in this case, the + parameters max_num_steps and min_num_steps are overloaded to contain + max_elapsed_seconds and min_elapsed_seconds. + type: boolean + updateAllStoppedTrials: + description: >- + ConvexAutomatedStoppingSpec by default only updates the trials that + needs to be early stopped using a newly trained auto-regressive + model. When this flag is set to True, all stopped trials from the + beginning are potentially updated in terms of their + `final_measurement`. Also, note that the training logic of + autoregressive models is different in this case. Enabling this + option has shown better results and this may be the default option + in the future. + type: boolean + GoogleCloudAiplatformV1StudySpecMetricSpec: + id: GoogleCloudAiplatformV1StudySpecMetricSpec + description: Represents a metric to optimize. type: object - description: Multiple setups to deploy the PublisherModel. - id: GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex - GoogleCloudAiplatformV1TrialContext: properties: - description: + metricId: description: >- - A human-readable field which can store a description of this - context. This will become part of the resulting Trial's description - field. + Required. The ID of the metric. Must not contain whitespaces and + must be unique amongst all MetricSpecs. type: string - parameters: + goal: + description: Required. The optimization goal of the metric. + type: string + enumDescriptions: + - Goal Type will default to maximize. + - Maximize the goal metric. + - Minimize the goal metric. + enum: + - GOAL_TYPE_UNSPECIFIED + - MAXIMIZE + - MINIMIZE + safetyConfig: description: >- - If/when a Trial is generated or selected from this Context, its - Parameters will match any parameters specified here. (I.e. if this - context specifies parameter name:'a' int_value:3, then a resulting - Trial will have int_value:3 for its parameter named 'a'.) Note that - we first attempt to match existing REQUESTED Trials with contexts, - and if there are no matches, we generate suggestions in the subspace - defined by the parameters specified here. NOTE: a Context without - any Parameters matches the entire feasible search space. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrialParameter' - type: array - id: GoogleCloudAiplatformV1TrialContext - type: object - GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig: - type: object + Used for safe search. In the case, the metric will be a safety + metric. You must provide a separate metric for objective metric. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig + GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig: + id: GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig description: >- - ModelDeploymentMonitoringObjectiveConfig contains the pair of - deployed_model_id to ModelMonitoringObjectiveConfig. - id: GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig + Used in safe optimization to specify threshold levels and risk + tolerance. + type: object properties: - objectiveConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig + safetyThreshold: description: >- - The objective config of for the modelmonitoring job of this deployed - model. - deployedModelId: - type: string - description: The DeployedModel ID of the objective config. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask: + Safety threshold (boundary value between safe and unsafe). NOTE that + if you leave SafetyMetricConfig unset, a default value of 0 will be + used. + type: number + format: double + desiredMinSafeTrialsFraction: + description: >- + Desired minimum fraction of safe trials (over total number of + trials) that should be targeted by the algorithm at any time during + the study (best effort). This should be between 0.0 and 1.0 and a + value of 0.0 means that there is no minimum and an algorithm + proceeds without targeting any specific fraction. A value of 1.0 + means that the algorithm attempts to only Suggest safe Trials. + type: number + format: double + GoogleCloudAiplatformV1StudySpecParameterSpec: + id: GoogleCloudAiplatformV1StudySpecParameterSpec + description: Represents a single parameter to optimize. + type: object properties: - metadata: - description: The metadata information. + doubleValueSpec: + description: The value spec for a 'DOUBLE' parameter. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata - inputs: + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec + integerValueSpec: + description: The value spec for an 'INTEGER' parameter. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec - description: The input parameters of this HyperparameterTuningTask. - description: A TrainingJob that tunes Hypererparameters of a custom code Model. - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask - GoogleCloudAiplatformV1UndeployIndexResponse: - description: Response message for IndexEndpointService.UndeployIndex. - id: GoogleCloudAiplatformV1UndeployIndexResponse + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec + categoricalValueSpec: + description: The value spec for a 'CATEGORICAL' parameter. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec + discreteValueSpec: + description: The value spec for a 'DISCRETE' parameter. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec + parameterId: + description: >- + Required. The ID of the parameter. Must not contain whitespaces and + must be unique amongst all ParameterSpecs. + type: string + scaleType: + description: >- + How the parameter should be scaled. Leave unset for `CATEGORICAL` + parameters. + type: string + enumDescriptions: + - By default, no scaling is applied. + - Scales the feasible space to (0, 1) linearly. + - >- + Scales the feasible space logarithmically to (0, 1). The entire + feasible space must be strictly positive. + - >- + Scales the feasible space "reverse" logarithmically to (0, 1). The + result is that values close to the top of the feasible space are + spread out more than points near the bottom. The entire feasible + space must be strictly positive. + enum: + - SCALE_TYPE_UNSPECIFIED + - UNIT_LINEAR_SCALE + - UNIT_LOG_SCALE + - UNIT_REVERSE_LOG_SCALE + conditionalParameterSpecs: + description: >- + A conditional parameter node is active if the parameter's value + matches the conditional node's parent_value_condition. If two items + in conditional_parameter_specs have the same name, they must have + disjoint parent_value_condition. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec + GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec: + id: GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec + description: Value specification for a parameter in `DOUBLE` type. type: object - properties: {} - GoogleCloudAiplatformV1DeployIndexOperationMetadata: + properties: + minValue: + description: Required. Inclusive minimum value of the parameter. + type: number + format: double + maxValue: + description: Required. Inclusive maximum value of the parameter. + type: number + format: double + defaultValue: + description: >- + A default value for a `DOUBLE` parameter that is assumed to be a + relatively good starting point. Unset value signals that there is no + offered starting point. Currently only supported by the Vertex AI + Vizier service. Not supported by HyperparameterTuningJob or + TrainingPipeline. + type: number + format: double + GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec: + id: GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec + description: Value specification for a parameter in `INTEGER` type. type: object - description: Runtime operation information for IndexEndpointService.DeployIndex. - id: GoogleCloudAiplatformV1DeployIndexOperationMetadata properties: - deployedIndexId: + minValue: + description: Required. Inclusive minimum value of the parameter. type: string - description: The unique index id specified by user - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The operation generic information. - GoogleCloudAiplatformV1SchemaVideoDatasetMetadata: - description: The metadata of Datasets that contain Video DataItems. - properties: - gcsBucket: + format: int64 + maxValue: + description: Required. Inclusive maximum value of the parameter. type: string + format: int64 + defaultValue: description: >- - Google Cloud Storage Bucket name that contains the blob data of this - Dataset. - dataItemSchemaUri: + A default value for an `INTEGER` parameter that is assumed to be a + relatively good starting point. Unset value signals that there is no + offered starting point. Currently only supported by the Vertex AI + Vizier service. Not supported by HyperparameterTuningJob or + TrainingPipeline. type: string - description: >- - Points to a YAML file stored on Google Cloud Storage describing - payload of the Video DataItems that belong to this Dataset. - id: GoogleCloudAiplatformV1SchemaVideoDatasetMetadata - type: object - GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig: - description: >- - Configuration defining how to transform batch prediction input instances - to the instances that the Model accepts. + format: int64 + GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec: + id: GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec + description: Value specification for a parameter in `CATEGORICAL` type. type: object properties: - excludedFields: + values: + description: Required. The list of possible categories. type: array - description: >- - Fields that will be excluded in the prediction instance that is sent - to the Model. Excluded will be attached to the batch prediction - output if key_field is not specified. When excluded_fields is - populated, included_fields must be empty. The input must be JSONL - with objects at each line, BigQuery or TfRecord. items: type: string - instanceType: + defaultValue: + description: >- + A default value for a `CATEGORICAL` parameter that is assumed to be + a relatively good starting point. Unset value signals that there is + no offered starting point. Currently only supported by the Vertex AI + Vizier service. Not supported by HyperparameterTuningJob or + TrainingPipeline. type: string + GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec: + id: GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec + description: Value specification for a parameter in `DISCRETE` type. + type: object + properties: + values: description: >- - The format of the instance that the Model accepts. Vertex AI will - convert compatible batch prediction input instance formats to the - specified format. Supported values are: * `object`: Each input is - converted to JSON object format. * For `bigquery`, each row is - converted to an object. * For `jsonl`, each line of the JSONL input - must be an object. * Does not apply to `csv`, `file-list`, - `tf-record`, or `tf-record-gzip`. * `array`: Each input is converted - to JSON array format. * For `bigquery`, each row is converted to an - array. The order of columns is determined by the BigQuery column - order, unless included_fields is populated. included_fields must be - populated for specifying field orders. * For `jsonl`, if each line - of the JSONL input is an object, included_fields must be populated - for specifying field orders. * Does not apply to `csv`, `file-list`, - `tf-record`, or `tf-record-gzip`. If not specified, Vertex AI - converts the batch prediction input as follows: * For `bigquery` and - `csv`, the behavior is the same as `array`. The order of columns is - the same as defined in the file or table, unless included_fields is - populated. * For `jsonl`, the prediction instance format is - determined by each line of the input. * For - `tf-record`/`tf-record-gzip`, each record will be converted to an - object in the format of `{"b64": }`, where `` is the Base64-encoded - string of the content of the record. * For `file-list`, each file in - the list will be converted to an object in the format of `{"b64": - }`, where `` is the Base64-encoded string of the content of the - file. - includedFields: + Required. A list of possible values. The list should be in + increasing order and at least 1e-10 apart. For instance, this + parameter might have possible settings of 1.5, 2.5, and 4.0. This + list should not contain more than 1,000 values. type: array - description: >- - Fields that will be included in the prediction instance that is sent - to the Model. If instance_type is `array`, the order of field names - in included_fields also determines the order of the values in the - array. When included_fields is populated, excluded_fields must be - empty. The input must be JSONL with objects at each line, BigQuery - or TfRecord. items: - type: string - keyField: + type: number + format: double + defaultValue: description: >- - The name of the field that is considered as a key. The values - identified by the key field is not included in the transformed - instances that is sent to the Model. This is similar to specifying - this name of the field in excluded_fields. In addition, the batch - prediction output will not include the instances. Instead the output - will only include the value of the key field, in a field named `key` - in the output: * For `jsonl` output format, the output will have a - `key` field instead of the `instance` field. * For `csv`/`bigquery` - output format, the output will have have a `key` column instead of - the instance feature columns. The input must be JSONL with objects - at each line, CSV, BigQuery or TfRecord. - type: string - id: GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig - GoogleLongrunningOperation: + A default value for a `DISCRETE` parameter that is assumed to be a + relatively good starting point. Unset value signals that there is no + offered starting point. It automatically rounds to the nearest + feasible discrete point. Currently only supported by the Vertex AI + Vizier service. Not supported by HyperparameterTuningJob or + TrainingPipeline. + type: number + format: double + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec: + id: GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec + description: Represents a parameter spec with condition from its parent parameter. + type: object properties: - name: - type: string - description: >- - 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}`. - error: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - The error result of the operation in case of failure or - cancellation. - metadata: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any + parentDiscreteValues: description: >- - 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. - type: object - done: + The spec for matching values from a parent parameter of `DISCRETE` + type. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition + parentIntValues: description: >- - 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. - type: boolean - response: + The spec for matching values from a parent parameter of `INTEGER` + type. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition + parentCategoricalValues: description: >- - 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`. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - type: object - description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: GoogleLongrunningOperation - GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource: - properties: - uri: - description: The URI of a BigQuery table. - type: string - type: object - id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource - GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult: - type: object + The spec for matching values from a parent parameter of + `CATEGORICAL` type. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition + parameterSpec: + description: Required. The spec for a conditional parameter. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpec' + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition: id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult - description: Prediction output format for Image and Text Classification. + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition + description: Represents the spec to match discrete values from parent parameter. + type: object properties: - confidences: + values: + description: >- + Required. Matches values of the parent parameter of 'DISCRETE' type. + All values must exist in `discrete_value_spec` of parent parameter. + The Epsilon of the value matching is 1e-10. + type: array items: type: number - format: float - type: array + format: double + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition: + id: >- + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition + description: Represents the spec to match integer values from parent parameter. + type: object + properties: + values: description: >- - The Model's confidences in correctness of the predicted IDs, higher - value means higher confidence. Order matches the Ids. - ids: - description: The resource IDs of the AnnotationSpecs that had been identified. + Required. Matches values of the parent parameter of 'INTEGER' type. + All values must lie in `integer_value_spec` of parent parameter. type: array items: type: string format: int64 - displayNames: + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition: + id: >- + GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition + description: Represents the spec to match categorical values from parent parameter. + type: object + properties: + values: description: >- - The display names of the AnnotationSpecs that had been identified, - order matches the IDs. + Required. Matches values of the parent parameter of 'CATEGORICAL' + type. All values must exist in `categorical_value_spec` of parent + parameter. type: array items: type: string - GoogleCloudAiplatformV1NearestNeighbors: + GoogleCloudAiplatformV1StudySpecStudyStoppingConfig: + id: GoogleCloudAiplatformV1StudySpecStudyStoppingConfig + description: >- + The configuration (stopping conditions) for automated stopping of a + Study. Conditions include trial budgets, time budgets, and convergence + detection. type: object - id: GoogleCloudAiplatformV1NearestNeighbors - description: Nearest neighbors for one query. - properties: - neighbors: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborsNeighbor - type: array - description: All its neighbors. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs properties: - modelType: - enum: - - MODEL_TYPE_UNSPECIFIED - - CLOUD - - MOBILE_VERSATILE_1 - - MOBILE_CORAL_VERSATILE_1 - - MOBILE_CORAL_LOW_LATENCY_1 - - MOBILE_JETSON_VERSATILE_1 - - MOBILE_JETSON_LOW_LATENCY_1 - enumDescriptions: - - Should not be set. - - >- - A model best tailored to be used within Google Cloud, and which c - annot be exported. Default. - - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as a - TensorFlow or TensorFlow Lite model and used on a mobile or edge - device afterwards. - - >- - A versatile model that is meant to be exported (see - ModelService.ExportModel) and used on a Google Coral device. - - >- - A model that trades off quality for low latency, to be exported - (see ModelService.ExportModel) and used on a Google Coral device. - - >- - A versatile model that is meant to be exported (see - ModelService.ExportModel) and used on an NVIDIA Jetson device. - - >- - A model that trades off quality for low latency, to be exported - (see ModelService.ExportModel) and used on an NVIDIA Jetson - device. + shouldStopAsap: + description: >- + If true, a Study enters STOPPING_ASAP whenever it would normally + enters STOPPING state. The bottom line is: set to true if you want + to interrupt on-going evaluations of Trials as soon as the study + stopping condition is met. (Please see Study.State documentation for + the source of truth). + type: boolean + minimumRuntimeConstraint: + description: >- + Each "stopping rule" in this proto specifies an "if" condition. + Before Vizier would generate a new suggestion, it first checks each + specified stopping rule, from top to bottom in this list. Note that + the first few rules (e.g. minimum_runtime_constraint, + min_num_trials) will prevent other stopping rules from being + evaluated until they are met. For example, setting + `min_num_trials=5` and `always_stop_after= 1 hour` means that the + Study will ONLY stop after it has 5 COMPLETED trials, even if more + than an hour has passed since its creation. It follows the first + applicable rule (whose "if" condition is satisfied) to make a + stopping decision. If none of the specified rules are applicable, + then Vizier decides that the study should not stop. If Vizier + decides that the study should stop, the study enters STOPPING state + (or STOPPING_ASAP if should_stop_asap = true). IMPORTANT: The + automatic study state transition happens precisely as described + above; that is, deleting trials or updating StudyConfig NEVER + automatically moves the study state back to ACTIVE. If you want to + _resume_ a Study that was stopped, 1) change the stopping conditions + if necessary, 2) activate the study, and then 3) ask for + suggestions. If the specified time or duration has not passed, do + not stop the study. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudyTimeConstraint' + maximumRuntimeConstraint: + description: If the specified time or duration has passed, stop the study. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudyTimeConstraint' + minNumTrials: + description: >- + If there are fewer than this many COMPLETED trials, do not stop the + study. + type: integer + format: int32 + maxNumTrials: + description: If there are more than this many trials, stop the study. + type: integer + format: int32 + maxNumTrialsNoProgress: + description: >- + If the objective value has not improved for this many consecutive + trials, stop the study. WARNING: Effective only for single-objective + studies. + type: integer + format: int32 + maxDurationNoProgress: + description: >- + If the objective value has not improved for this much time, stop the + study. WARNING: Effective only for single-objective studies. type: string + format: google-duration + GoogleCloudAiplatformV1StudyTimeConstraint: + id: GoogleCloudAiplatformV1StudyTimeConstraint + description: Time-based Constraint for Study type: object - GoogleCloudAiplatformV1RemoveDatapointsResponse: - description: Response message for IndexService.RemoveDatapoints - id: GoogleCloudAiplatformV1RemoveDatapointsResponse - type: object - properties: {} - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics: - type: object - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics properties: - confidenceThreshold: - description: >- - Metrics are computed with an assumption that the Model never returns - predictions with score lower than this value. - format: float - type: number - precision: - type: number - description: Precision for the given confidence threshold. - format: float - recall: - description: Recall (True Positive Rate) for the given confidence threshold. - format: float - type: number - f1Score: - format: float - description: The harmonic mean of recall and precision. - type: number - GoogleCloudAiplatformV1FeatureStatsAnomaly: + maxDuration: + description: Counts the wallclock time passed since the creation of this Study. + type: string + format: google-duration + endTime: + description: Compares the wallclock time to this time. Must use UTC timezone. + type: string + format: google-datetime + GoogleCloudAiplatformV1Trial: + id: GoogleCloudAiplatformV1Trial + description: >- + A message representing a Trial. A Trial contains a unique set of + Parameters that has been or will be evaluated, along with the objective + metrics got by running the Trial. + type: object properties: - statsUri: - description: >- - Path of the stats file for current feature values in Cloud Storage - bucket. Format: gs:////stats. Example: - gs://monitoring_bucket/feature_name/stats. Stats are stored as - binary format with Protobuf message - [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto). + name: + description: Output only. Resource name of the Trial assigned by the service. + readOnly: true type: string - anomalyUri: - description: >- - Path of the anomaly file for current feature values in Cloud Storage - bucket. Format: gs:////anomalies. Example: - gs://monitoring_bucket/feature_name/anomalies. Stats are stored as - binary format with Protobuf message Anoamlies are stored as binary - format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] - (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). + id: + description: Output only. The identifier of the Trial assigned by the service. + readOnly: true type: string - anomalyDetectionThreshold: - format: double - type: number + state: + description: Output only. The detailed state of the Trial. + readOnly: true + type: string + enumDescriptions: + - The Trial state is unspecified. + - >- + Indicates that a specific Trial has been requested, but it has not + yet been suggested by the service. + - Indicates that the Trial has been suggested. + - Indicates that the Trial should stop according to the service. + - Indicates that the Trial is completed successfully. + - >- + Indicates that the Trial should not be attempted again. The + service will set a Trial to INFEASIBLE when it's done but missing + the final_measurement. + enum: + - STATE_UNSPECIFIED + - REQUESTED + - ACTIVE + - STOPPING + - SUCCEEDED + - INFEASIBLE + parameters: + description: Output only. The parameters of the Trial. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrialParameter' + finalMeasurement: + description: Output only. The final measurement containing the objective value. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' + measurements: description: >- - This is the threshold used when detecting anomalies. The threshold - can be changed by user, so this one might be different from - ThresholdConfig.value. + Output only. A list of measurements that are strictly + lexicographically ordered by their induced tuples (steps, + elapsed_duration). These are used for early stopping computations. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' + startTime: + description: Output only. Time when the Trial was started. + readOnly: true + type: string + format: google-datetime endTime: + description: >- + Output only. Time when the Trial's status changed to `SUCCEEDED` or + `INFEASIBLE`. + readOnly: true type: string format: google-datetime + clientId: description: >- - The end timestamp of window where stats were generated. For - objectives where time window doesn't make sense (e.g. Featurestore - Snapshot Monitoring), end_time indicates the timestamp of the data - used to generate stats (e.g. timestamp we take snapshots for feature - values). - distributionDeviation: - format: double + Output only. The identifier of the client that originally requested + this Trial. Each client is identified by a unique client_id. When a + client asks for a suggestion, Vertex AI Vizier will assign it a + Trial. The client should evaluate the Trial, complete it, and report + back to Vertex AI Vizier. If suggestion is asked again by same + client_id before the Trial is completed, the same Trial will be + returned. Multiple clients with different client_ids can ask for + suggestions simultaneously, each of them will get their own Trial. + readOnly: true + type: string + infeasibleReason: description: >- - Deviation from the current stats to baseline stats. 1. For - categorical feature, the distribution distance is calculated by - L-inifinity norm. 2. For numerical feature, the distribution - distance is calculated by Jensen–Shannon divergence. - type: number - startTime: + Output only. A human readable string describing why the Trial is + infeasible. This is set only if Trial state is `INFEASIBLE`. + readOnly: true type: string - format: google-datetime + customJob: description: >- - The start timestamp of window where stats were generated. For - objectives where time window doesn't make sense (e.g. Featurestore - Snapshot Monitoring), start_time is only used to indicate the - monitoring intervals, so it always equals to (end_time - - monitoring_interval). - score: - type: number - format: double + Output only. The CustomJob name linked to the Trial. It's set for a + HyperparameterTuningJob's Trial. + readOnly: true + type: string + webAccessUris: description: >- - Feature importance score, only populated when cross-feature - monitoring is enabled. For now only used to represent feature - attribution score within range [0, 1] for - ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and - ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT. - id: GoogleCloudAiplatformV1FeatureStatsAnomaly - description: >- - Stats and Anomaly generated at specific timestamp for specific Feature. - The start_time and end_time are used to define the time range of the - dataset that current stats belongs to, e.g. prediction traffic is - bucketed into prediction datasets by time window. If the Dataset is not - defined by time window, start_time = end_time. Timestamp of the stats - and anomalies always refers to end_time. Raw stats and anomalies are - stored in stats_uri or anomaly_uri in the tensorflow defined protos. - Field data_stats contains almost identical information with the raw - stats in Vertex AI defined proto, for UI to display. - type: object - GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries: + 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. + readOnly: true + type: object + additionalProperties: + type: string + GoogleCloudAiplatformV1TrialParameter: + id: GoogleCloudAiplatformV1TrialParameter + description: A message representing a parameter to be tuned. type: object - id: GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries properties: - timestampColumn: + parameterId: + description: >- + Output only. The ID of the parameter. The parameter should be + defined in StudySpec's Parameters. + readOnly: true type: string + value: description: >- - Optional. Column hosting timestamp values for a time-series source. - Will be used to determine the latest `feature_values` for each - entity. Optional. If not provided, column named `feature_timestamp` - of type `TIMESTAMP` will be used. - GoogleCloudAiplatformV1SupervisedTuningDataStats: - id: GoogleCloudAiplatformV1SupervisedTuningDataStats + Output only. The value of the parameter. `number_value` will be set + if a parameter defined in StudySpec is in type 'INTEGER', 'DOUBLE' + or 'DISCRETE'. `string_value` will be set if a parameter defined in + StudySpec is in type 'CATEGORICAL'. + readOnly: true + type: any + GoogleCloudAiplatformV1Measurement: + id: GoogleCloudAiplatformV1Measurement + description: >- + A message representing a Measurement of a Trial. A Measurement contains + the Metrics got by executing a Trial using suggested hyperparameter + values. + type: object properties: - totalTruncatedExampleCount: - format: int64 - type: string + elapsedDuration: description: >- - The number of examples in the dataset that have been truncated by - any amount. - totalTuningCharacterCount: - format: int64 - description: Output only. Number of tuning characters in the tuning dataset. + Output only. Time that the Trial has been running at the point of + this Measurement. + readOnly: true type: string + format: google-duration + stepCount: + description: >- + Output only. The number of steps the machine learning model has been + trained for. Must be non-negative. readOnly: true - totalBillableTokenCount: - description: Output only. Number of billable tokens in the tuning dataset. type: string format: int64 + metrics: + description: >- + Output only. A list of metrics got by evaluating the objective + functions using suggested Parameter values. readOnly: true - truncatedExampleIndices: + type: array items: - format: int64 - type: string + $ref: '#/components/schemas/GoogleCloudAiplatformV1MeasurementMetric' + GoogleCloudAiplatformV1MeasurementMetric: + id: GoogleCloudAiplatformV1MeasurementMetric + description: A message representing a metric in the measurement. + type: object + properties: + metricId: description: >- - A partial sample of the indices (starting from 1) of the truncated - examples. - type: array - tuningStepCount: - description: Output only. Number of tuning steps for this Tuning Job. - format: int64 - type: string + Output only. The ID of the Metric. The Metric should be defined in + StudySpec's Metrics. readOnly: true - userMessagePerExampleDistribution: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution - description: Output only. Dataset distributions for the messages per example. + type: string + value: + description: Output only. The value for this metric. readOnly: true - userDatasetExamples: + type: number + format: double + GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse: + id: GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse + description: Response message for JobService.ListHyperparameterTuningJobs + type: object + properties: + hyperparameterTuningJobs: + description: >- + List of HyperparameterTuningJobs in the requested page. + HyperparameterTuningJob.trials of the jobs will be not be returned. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob + nextPageToken: + description: >- + A token to retrieve the next page of results. Pass to + ListHyperparameterTuningJobsRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest: + id: GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest + description: Request message for JobService.CancelHyperparameterTuningJob. + type: object + properties: {} + GoogleCloudAiplatformV1NasJob: + id: GoogleCloudAiplatformV1NasJob + description: Represents a Neural Architecture Search (NAS) job. + type: object + properties: + name: + description: Output only. Resource name of the NasJob. readOnly: true - description: Output only. Sample user messages in the training dataset uri. - tuningDatasetExampleCount: - format: int64 + type: string + displayName: + description: >- + Required. The display name of the NasJob. The name can be up to 128 + characters long and can consist of any UTF-8 characters. + type: string + nasJobSpec: + description: Required. The specification of a NasJob. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJobSpec' + nasJobOutput: + description: Output only. Output of the NasJob. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJobOutput' + state: + description: Output only. The detailed state of the job. + readOnly: true + type: string + enumDescriptions: + - The job state is unspecified. + - >- + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. + - >- + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. + - >- + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. + - >- + The job is partially succeeded, some results may be missing due to + errors. + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED + createTime: + description: Output only. Time when the NasJob was created. + readOnly: true + type: string + format: google-datetime + startTime: + description: >- + Output only. Time when the NasJob for the first time entered the + `JOB_STATE_RUNNING` state. + readOnly: true + type: string + format: google-datetime + endTime: + description: >- + Output only. Time when the NasJob entered any of the following + states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, + `JOB_STATE_CANCELLED`. readOnly: true type: string - description: Output only. Number of examples in the tuning dataset. - userOutputTokenDistribution: - description: Output only. Dataset distributions for the user output tokens. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution + format: google-datetime + updateTime: + description: Output only. Time when the NasJob was most recently updated. readOnly: true - totalBillableCharacterCount: - description: Output only. Number of billable characters in the tuning dataset. type: string + format: google-datetime + error: + description: >- + Output only. Only populated when job's state is JOB_STATE_FAILED or + JOB_STATE_CANCELLED. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + encryptionSpec: + description: >- + Customer-managed encryption key options for a NasJob. If this is + set, then all resources created by the NasJob will be encrypted with + the provided encryption key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + enableRestrictedImageTraining: + description: >- + Optional. Enable a separation of Custom model training and + restricted image training for tenant project. deprecated: true + type: boolean + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true - format: int64 - userInputTokenDistribution: + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. readOnly: true - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution - description: Output only. Dataset distributions for the user input tokens. - description: Tuning data statistics for Supervised Tuning. - type: object - GoogleCloudAiplatformV1PersistentDiskSpec: - description: Represents the spec of persistent disk options. + type: boolean + GoogleCloudAiplatformV1NasJobSpec: + id: GoogleCloudAiplatformV1NasJobSpec + description: Represents the spec of a NasJob. type: object properties: - diskSizeGb: - description: Size in GB of the disk (default is 100GB). + multiTrialAlgorithmSpec: + description: The spec of multi-trial algorithms. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec + resumeNasJobId: + description: >- + The ID of the existing NasJob in the same Project and Location which + will be used to resume search. search_space_spec and + nas_algorithm_spec are obtained from previous NasJob hence should + not provide them again for this NasJob. type: string - format: int64 - diskType: + searchSpaceSpec: + description: It defines the search space for Neural Architecture Search (NAS). type: string - description: >- - Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" - (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk - Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) - "pd-extreme" (Extreme Persistent Disk) - id: GoogleCloudAiplatformV1PersistentDiskSpec - GoogleCloudAiplatformV1FluencySpec: - properties: - version: - description: Optional. Which version to use for evaluation. - type: integer - format: int32 - description: Spec for fluency score metric. - id: GoogleCloudAiplatformV1FluencySpec - type: object - GoogleCloudAiplatformV1MetadataSchema: + GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec: + id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec + description: The spec of multi-trial Neural Architecture Search (NAS). type: object - description: Instance of a general MetadataSchema. properties: - schema: - description: >- - 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) - type: string - createTime: - description: Output only. Timestamp when this MetadataSchema was created. - format: google-datetime - type: string - readOnly: true - schemaVersion: + multiTrialAlgorithm: description: >- - 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. + The multi-trial Neural Architecture Search (NAS) algorithm type. + Defaults to `REINFORCEMENT_LEARNING`. type: string - schemaType: enumDescriptions: - - Unspecified type for the MetadataSchema. - - >- - A type indicating that the MetadataSchema will be used by - Artifacts. + - Defaults to `REINFORCEMENT_LEARNING`. - >- - A typee indicating that the MetadataSchema will be used by - Executions. + The Reinforcement Learning Algorithm for Multi-trial Neural + Architecture Search (NAS). - >- - A state indicating that the MetadataSchema will be used by - Contexts. + The Grid Search Algorithm for Multi-trial Neural Architecture + Search (NAS). enum: - - METADATA_SCHEMA_TYPE_UNSPECIFIED - - ARTIFACT_TYPE - - EXECUTION_TYPE - - CONTEXT_TYPE - type: string + - MULTI_TRIAL_ALGORITHM_UNSPECIFIED + - REINFORCEMENT_LEARNING + - GRID_SEARCH + metric: description: >- - The type of the MetadataSchema. This is a property that identifies - which metadata types will use the MetadataSchema. - description: - description: Description of the Metadata Schema + Metric specs for the NAS job. Validation for this field is done at + `multi_trial_algorithm_spec` field. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec + searchTrialSpec: + description: Required. Spec for search trials. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec + trainTrialSpec: + description: >- + Spec for train trials. Top N + [TrainTrialSpec.max_parallel_trial_count] search trials will be + trained for every M [TrainTrialSpec.frequency] trials searched. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec + GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec: + id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec + description: Represents a metric to optimize. + type: object + properties: + metricId: + description: Required. The ID of the metric. Must not contain whitespaces. type: string - name: - readOnly: true - description: Output only. The resource name of the MetadataSchema. + goal: + description: Required. The optimization goal of the metric. type: string - id: GoogleCloudAiplatformV1MetadataSchema - GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics: - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics + enumDescriptions: + - Goal Type will default to maximize. + - Maximize the goal metric. + - Minimize the goal metric. + enum: + - GOAL_TYPE_UNSPECIFIED + - MAXIMIZE + - MINIMIZE + GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec: + id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec + description: Represent spec for search trials. type: object properties: - exactMatch: - format: float + searchTrialJobSpec: description: >- - The rate at which the input predicted strings exactly match their - references. - type: number - GoogleCloudAiplatformV1ModelContainerSpec: + Required. The spec of a search trial job. The same spec applies to + all search trials. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + maxTrialCount: + description: >- + Required. The maximum number of Neural Architecture Search (NAS) + trials to run. + type: integer + format: int32 + maxParallelTrialCount: + description: Required. The maximum number of trials to run in parallel. + type: integer + format: int32 + maxFailedTrialCount: + description: >- + The number of failed trials that need to be seen before failing the + NasJob. If set to 0, Vertex AI decides how many trials must fail + before the whole job fails. + type: integer + format: int32 + GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec: + id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec + description: Represent spec for train trials. type: object - id: GoogleCloudAiplatformV1ModelContainerSpec properties: - imageUri: - type: string + trainTrialJobSpec: description: >- - Required. Immutable. URI of the Docker image to be used as the - custom container for serving predictions. This URI must identify an - image in Artifact Registry or Container Registry. Learn more about - the [container publishing - requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), - including permissions requirements for the Vertex AI Service Agent. - The container image is ingested upon ModelService.UploadModel, - stored internally, and this original path is afterwards not used. To - learn about the requirements for the Docker image itself, see - [Custom container - requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). - You can use the URI to one of Vertex AI's [pre-built container - images for - prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) - in this field. - healthRoute: + Required. The spec of a train trial job. The same spec applies to + all train trials. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + maxParallelTrialCount: + description: Required. The maximum number of trials to run in parallel. + type: integer + format: int32 + frequency: description: >- - Immutable. HTTP path on the container to send health checks to. - Vertex AI intermittently sends GET requests to this path on the - container's IP address and port to check that the container is - healthy. Read more about [health - checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). - For example, if you set this field to `/bar`, then Vertex AI - intermittently sends a GET request to the `/bar` path on the port of - your container specified by the first value of this - `ModelContainerSpec`'s ports field. If you don't specify this field, - it defaults to the following value when you deploy this Model to an - Endpoint: /v1/endpoints/ENDPOINT/deployedModels/ - DEPLOYED_MODEL:predict The placeholders in this value are replaced - as follows: * ENDPOINT: The last segment (following `endpoints/`)of - the Endpoint.name][] field of the Endpoint where this Model has been - deployed. (Vertex AI makes this value available to your container - code as the [`AIP_ENDPOINT_ID` environment - variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) - * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex - AI makes this value available to your container code as the - [`AIP_DEPLOYED_MODEL_ID` environment - variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) - type: string - env: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EnvVar' + Required. Frequency of search trials to start train stage. Top N + [TrainTrialSpec.max_parallel_trial_count] search trials will be + trained for every M [TrainTrialSpec.frequency] trials searched. + type: integer + format: int32 + GoogleCloudAiplatformV1NasJobOutput: + id: GoogleCloudAiplatformV1NasJobOutput + description: Represents a uCAIP NasJob output. + type: object + properties: + multiTrialJobOutput: description: >- - Immutable. List of environment variables to set in the container. - After the container starts running, code running in the container - can read these environment variables. Additionally, the command and - args fields can reference these variables. Later entries in this - list can also reference earlier entries. For example, the following - example sets the variable `VAR_2` to have the value `foo bar`: - ```json [ { "name": "VAR_1", "value": "foo" }, { "name": "VAR_2", - "value": "$(VAR_1) bar" } ] ``` If you switch the order of the - variables in the example, then the expansion does not occur. This - field corresponds to the `env` field of the Kubernetes Containers - [v1 core - API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + Output only. The output of this multi-trial Neural Architecture + Search (NAS) job. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput + GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput: + id: GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput + description: The output of a multi-trial Neural Architecture Search (NAS) jobs. + type: object + properties: + searchTrials: + description: >- + Output only. List of NasTrials that were started as part of search + stage. + readOnly: true type: array - ports: items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Port' - type: array + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' + trainTrials: description: >- - Immutable. List of ports to expose from the container. Vertex AI - sends any prediction requests that it receives to the first port on - this list. Vertex AI also sends [liveness and health - checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) - to this port. If you do not specify this field, it defaults to - following value: ```json [ { "containerPort": 8080 } ] ``` Vertex AI - does not use ports other than the first one listed. This field - corresponds to the `ports` field of the Kubernetes Containers [v1 - core - API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). - args: - items: - type: string + Output only. List of NasTrials that were started as part of train + stage. + readOnly: true type: array - description: >- - Immutable. Specifies arguments for the command that runs when the - container starts. This overrides the container's - [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). - Specify this field as an array of executable and arguments, similar - to a Docker `CMD`'s "default parameters" form. If you don't specify - this field but do specify the command field, then the command from - the `command` field runs without any additional arguments. See the - [Kubernetes documentation about how the `command` and `args` fields - interact with a container's `ENTRYPOINT` and - `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). - If you don't specify this field and don't specify the `command` - field, then the container's - [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) - and `CMD` determine what runs based on their default behavior. See - the Docker documentation about [how `CMD` and `ENTRYPOINT` - interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). - In this field, you can reference [environment variables set by - Vertex - AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) - and environment variables set in the env field. You cannot reference - environment variables set in the Docker image. In order for - environment variables to be expanded, reference them by using the - following syntax: $( VARIABLE_NAME) Note that this differs from Bash - variable expansion, which does not use parentheses. If a variable - cannot be resolved, the reference in the input string is used - unchanged. To avoid variable expansion, you can escape this syntax - with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to - the `args` field of the Kubernetes Containers [v1 core - API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). - command: - description: >- - Immutable. Specifies the command that runs when the container - starts. This overrides the container's - [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). - Specify this field as an array of executable and arguments, similar - to a Docker `ENTRYPOINT`'s "exec" form, not its "shell" form. If you - do not specify this field, then the container's `ENTRYPOINT` runs, - in conjunction with the args field or the container's - [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if - either exists. If this field is not specified and the container does - not have an `ENTRYPOINT`, then refer to the Docker documentation - about [how `CMD` and `ENTRYPOINT` - interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). - If you specify this field, then you can also specify the `args` - field to provide additional arguments for this command. However, if - you specify this field, then the container's `CMD` is ignored. See - the [Kubernetes documentation about how the `command` and `args` - fields interact with a container's `ENTRYPOINT` and - `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). - In this field, you can reference [environment variables set by - Vertex - AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) - and environment variables set in the env field. You cannot reference - environment variables set in the Docker image. In order for - environment variables to be expanded, reference them by using the - following syntax: $( VARIABLE_NAME) Note that this differs from Bash - variable expansion, which does not use parentheses. If a variable - cannot be resolved, the reference in the input string is used - unchanged. To avoid variable expansion, you can escape this syntax - with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to - the `command` field of the Kubernetes Containers [v1 core - API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). items: - type: string - type: array - deploymentTimeout: - format: google-duration - description: >- - Immutable. Deployment timeout. Limit for deployment timeout is 2 - hours. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' + GoogleCloudAiplatformV1NasTrial: + id: GoogleCloudAiplatformV1NasTrial + description: Represents a uCAIP NasJob trial. + type: object + properties: + id: + description: Output only. The identifier of the NasTrial assigned by the service. + readOnly: true type: string - startupProbe: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Probe' - description: Immutable. Specification for Kubernetes startup probe. - healthProbe: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Probe' - description: Immutable. Specification for Kubernetes readiness probe. - grpcPorts: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Port' - type: array - description: >- - Immutable. List of ports to expose from the container. Vertex AI - sends gRPC prediction requests that it receives to the first port on - this list. Vertex AI also sends liveness and health checks to this - port. If you do not specify this field, gRPC requests to the - container will be disabled. Vertex AI does not use ports other than - the first one listed. This field corresponds to the `ports` field of - the Kubernetes Containers v1 core API. - sharedMemorySizeMb: - description: >- - Immutable. The amount of the VM memory to reserve as the shared - memory for the model in megabytes. + state: + description: Output only. The detailed state of the NasTrial. + readOnly: true type: string - format: int64 - predictRoute: + enumDescriptions: + - The NasTrial state is unspecified. + - >- + Indicates that a specific NasTrial has been requested, but it has + not yet been suggested by the service. + - Indicates that the NasTrial has been suggested. + - Indicates that the NasTrial should stop according to the service. + - Indicates that the NasTrial is completed successfully. + - >- + Indicates that the NasTrial should not be attempted again. The + service will set a NasTrial to INFEASIBLE when it's done but + missing the final_measurement. + enum: + - STATE_UNSPECIFIED + - REQUESTED + - ACTIVE + - STOPPING + - SUCCEEDED + - INFEASIBLE + finalMeasurement: + description: Output only. The final measurement containing the objective value. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' + startTime: + description: Output only. Time when the NasTrial was started. + readOnly: true type: string + format: google-datetime + endTime: description: >- - Immutable. HTTP path on the container to send prediction requests - to. Vertex AI forwards requests sent using - projects.locations.endpoints.predict to this path on the container's - IP address and port. Vertex AI then returns the container's response - in the API response. For example, if you set this field to `/foo`, - then when Vertex AI receives a prediction request, it forwards the - request body in a POST request to the `/foo` path on the port of - your container specified by the first value of this - `ModelContainerSpec`'s ports field. If you don't specify this field, - it defaults to the following value when you deploy this Model to an - Endpoint: - /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict The - placeholders in this value are replaced as follows: * ENDPOINT: The - last segment (following `endpoints/`)of the Endpoint.name][] field - of the Endpoint where this Model has been deployed. (Vertex AI makes - this value available to your container code as the - [`AIP_ENDPOINT_ID` environment - variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) - * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex - AI makes this value available to your container code as the - [`AIP_DEPLOYED_MODEL_ID` environment - variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) - description: >- - Specification of a container for serving predictions. Some fields in - this message correspond to fields in the [Kubernetes Container v1 core - specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation - properties: - categorical: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation - auto: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation - timestamp: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation - numeric: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation - text: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation + Output only. Time when the NasTrial's status changed to `SUCCEEDED` + or `INFEASIBLE`. + readOnly: true + type: string + format: google-datetime + GoogleCloudAiplatformV1ListNasJobsResponse: + id: GoogleCloudAiplatformV1ListNasJobsResponse + description: Response message for JobService.ListNasJobs type: object - GoogleCloudAiplatformV1PointwiseMetricSpec: - id: GoogleCloudAiplatformV1PointwiseMetricSpec properties: - metricPromptTemplate: + nasJobs: + description: >- + List of NasJobs in the requested page. NasJob.nas_job_output of the + jobs will not be returned. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' + nextPageToken: + description: >- + A token to retrieve the next page of results. Pass to + ListNasJobsRequest.page_token to obtain that page. type: string - description: Required. Metric prompt template for pointwise metric. - description: Spec for pointwise metric. + GoogleCloudAiplatformV1CancelNasJobRequest: + id: GoogleCloudAiplatformV1CancelNasJobRequest + description: Request message for JobService.CancelNasJob. type: object - GoogleCloudAiplatformV1Measurement: + properties: {} + GoogleCloudAiplatformV1NasTrialDetail: + id: GoogleCloudAiplatformV1NasTrialDetail description: >- - A message representing a Measurement of a Trial. A Measurement contains - the Metrics got by executing a Trial using suggested hyperparameter - values. - id: GoogleCloudAiplatformV1Measurement + Represents a NasTrial details along with its parameters. If there is a + corresponding train NasTrial, the train NasTrial is also returned. + type: object properties: - stepCount: + name: + description: Output only. Resource name of the NasTrialDetail. readOnly: true - description: >- - Output only. The number of steps the machine learning model has been - trained for. Must be non-negative. - format: int64 type: string - elapsedDuration: - description: >- - Output only. Time that the Trial has been running at the point of - this Measurement. - readOnly: true - format: google-duration + parameters: + description: The parameters for the NasJob NasTrial. type: string - metrics: - readOnly: true + searchTrial: + description: The requested search NasTrial. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' + trainTrial: description: >- - Output only. A list of metrics got by evaluating the objective - functions using suggested Parameter values. + The train NasTrial corresponding to search_trial. Only populated if + search_trial is used for training. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' + GoogleCloudAiplatformV1ListNasTrialDetailsResponse: + id: GoogleCloudAiplatformV1ListNasTrialDetailsResponse + description: Response message for JobService.ListNasTrialDetails + type: object + properties: + nasTrialDetails: + description: List of top NasTrials in the requested page. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MeasurementMetric' - type: object - GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrialDetail' + nextPageToken: + description: >- + A token to retrieve the next page of results. Pass to + ListNasTrialDetailsRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1BatchPredictionJob: + id: GoogleCloudAiplatformV1BatchPredictionJob + description: >- + A job that uses a Model to produce predictions on multiple input + instances. If predictions for significant portion of the instances fail, + the job may finish without attempting predictions for all remaining + instances. type: object properties: - truePositiveCount: + name: + description: Output only. Resource name of the BatchPredictionJob. + readOnly: true type: string - format: int64 - description: The number of Model created labels that match a ground truth label. - precision: - format: float - description: Precision for the given confidence threshold. - type: number - maxPredictions: - type: integer + displayName: + description: Required. The user-defined name of this BatchPredictionJob. + type: string + model: description: >- - Metrics are computed with an assumption that the Model always - returns at most this many predictions (ordered by their score, - descendingly), but they all still need to meet the - `confidenceThreshold`. - format: int32 - recall: - format: float - type: number - description: Recall (True Positive Rate) for the given confidence threshold. - falsePositiveRate: - format: float - description: False Positive Rate for the given confidence threshold. - type: number - f1ScoreMicro: - type: number - format: float - description: Micro-averaged F1 Score. - confidenceThreshold: - format: float + 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}` + type: string + modelVersionId: description: >- - Metrics are computed with an assumption that the Model never returns - predictions with score lower than this value. - type: number - falsePositiveCount: + Output only. The version ID of the Model that produces the + predictions via this job. + readOnly: true type: string - format: int64 + unmanagedContainerModel: description: >- - The number of Model created labels that do not match a ground truth - label. - confusionMatrix: - description: Confusion matrix of the evaluation for this confidence_threshold. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix - falsePositiveRateAt1: + Contains model information necessary to perform batch prediction + without requiring uploading to model registry. Exactly one of model + and unmanaged_container_model must be set. + $ref: '#/components/schemas/GoogleCloudAiplatformV1UnmanagedContainerModel' + inputConfig: description: >- - The False Positive Rate when only considering the label that has the - highest prediction score and not below the confidence threshold for - each DataItem. - format: float - type: number - f1ScoreMacro: - description: Macro-averaged F1 Score. - type: number - format: float - f1Score: + Required. Input configuration of the instances on which predictions + are performed. The schema of any single instance may be specified + via the Model's PredictSchemata's instance_schema_uri. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobInputConfig + instanceConfig: description: >- - The harmonic mean of recall and precision. For summary metrics, it - computes the micro-averaged F1 score. - format: float - type: number - recallAt1: - format: float + Configuration for how to convert batch prediction input instances to + the prediction instances that are sent to the Model. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig + modelParameters: description: >- - The Recall (True Positive Rate) when only considering the label that - has the highest prediction score and not below the confidence - threshold for each DataItem. - type: number - precisionAt1: - type: number - format: float + The parameters that govern the predictions. The schema of the + parameters may be specified via the Model's PredictSchemata's + parameters_schema_uri. + type: any + outputConfig: description: >- - The precision when only considering the label that has the highest - prediction score and not below the confidence threshold for each - DataItem. - falseNegativeCount: - format: int64 - type: string + Required. The Configuration specifying where output predictions + should be written. The schema of any single prediction may be + specified as a concatenation of Model's PredictSchemata's + instance_schema_uri and prediction_schema_uri. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobOutputConfig + dedicatedResources: description: >- - The number of ground truth labels that are not matched by a Model - created label. - f1ScoreAt1: - type: number - format: float - description: The harmonic mean of recallAt1 and precisionAt1. - trueNegativeCount: - format: int64 + The config of resources used by the Model during the batch + prediction. If the Model supports DEDICATED_RESOURCES this config + may be provided (and the job will use these resources), if the Model + doesn't support AUTOMATIC_RESOURCES, this config must be provided. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchDedicatedResources' + serviceAccount: description: >- - The number of labels that were not created by the Model, but if they - would, they would not match a ground truth label. + 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. type: string - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics - GoogleCloudAiplatformV1NotebookEucConfig: - properties: - eucDisabled: - type: boolean - description: >- - Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. - In proto3, the default value of a boolean is false. In this way, by - default EUC will be enabled for NotebookRuntimeTemplate. - bypassActasCheck: - type: boolean - readOnly: true + manualBatchTuningParameters: description: >- - Output only. Whether ActAs check is bypassed for service account - attached to the VM. If false, we need ActAs check for the default - Compute Engine Service account. When a Runtime is created, a VM is - allocated using Default Compute Engine Service Account. Any user - requesting to use this Runtime requires Service Account User (ActAs) - permission over this SA. If true, Runtime owner is using EUC and - does not require the above permission as VM no longer use default - Compute Engine SA, but a P4SA. - id: GoogleCloudAiplatformV1NotebookEucConfig - type: object - description: The euc configuration of NotebookRuntimeTemplate. - GoogleCloudAiplatformV1NasJob: - description: Represents a Neural Architecture Search (NAS) job. - properties: - enableRestrictedImageTraining: - deprecated: true + Immutable. Parameters configuring the batch behavior. Currently only + applicable when dedicated_resources are used (in other cases Vertex + AI does the tuning itself). + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ManualBatchTuningParameters + generateExplanation: description: >- - Optional. Enable a separation of Custom model training and - restricted image training for tenant project. + Generate explanation with the batch prediction results. When set to + `true`, the batch prediction output changes based on the + `predictions_format` field of the BatchPredictionJob.output_config + object: * `bigquery`: output includes a column named `explanation`. + The value is a struct that conforms to the Explanation object. * + `jsonl`: The JSON objects on each line include an additional entry + keyed `explanation`. The value of the entry is a JSON object that + conforms to the Explanation object. * `csv`: Generating explanations + for CSV format is not supported. If this field is set to true, + either the Model.explanation_spec or explanation_spec must be + populated. type: boolean - labels: - additionalProperties: - type: string - type: object - description: >- - 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. - nasJobSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJobSpec' - description: Required. The specification of a NasJob. - error: + explanationSpec: description: >- - Output only. Only populated when job's state is JOB_STATE_FAILED or - JOB_STATE_CANCELLED. + Explanation configuration for this BatchPredictionJob. Can be + specified only if generate_explanation is set to `true`. This value + overrides the value of Model.explanation_spec. All fields of + explanation_spec are optional in the request. If a field of the + explanation_spec object is not populated, the corresponding field of + the Model.explanation_spec object is inherited. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' + outputInfo: + description: Output only. Information further describing the output of this job. readOnly: true - $ref: '#/components/schemas/GoogleRpcStatus' - displayName: - description: >- - Required. The display name of the NasJob. The name can be up to 128 - characters long and can consist of any UTF-8 characters. - type: string - startTime: - description: >- - Output only. Time when the NasJob for the first time entered the - `JOB_STATE_RUNNING` state. - format: google-datetime + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobOutputInfo + state: + description: Output only. The detailed state of the job. readOnly: true type: string - state: - enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED enumDescriptions: - The job state is unspecified. - >- @@ -9866,113 +9986,138 @@ components: - >- The job is partially succeeded, some results may be missing due to errors. - type: string + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED + error: + description: >- + Output only. Only populated when the job's state is JOB_STATE_FAILED + or JOB_STATE_CANCELLED. readOnly: true - description: Output only. The detailed state of the job. - satisfiesPzs: - type: boolean - description: Output only. Reserved for future use. + $ref: '#/components/schemas/GoogleRpcStatus' + partialFailures: + description: >- + 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. readOnly: true - updateTime: - description: Output only. Time when the NasJob was most recently updated. - type: string - format: google-datetime + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' + resourcesConsumed: + description: >- + Output only. Information about resources that had been consumed by + this job. Provided in real time at best effort basis, as well as a + final value once the job completes. Note: This field currently may + be not populated for batch predictions that use AutoML Models. readOnly: true - endTime: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourcesConsumed' + completionStats: + description: >- + Output only. Statistics on completed and failed prediction + instances. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1CompletionStats' + createTime: + description: Output only. Time when the BatchPredictionJob was created. readOnly: true + type: string format: google-datetime + startTime: + description: >- + Output only. Time when the BatchPredictionJob for the first time + entered the `JOB_STATE_RUNNING` state. + readOnly: true type: string + format: google-datetime + endTime: description: >- - Output only. Time when the NasJob entered any of the following - states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, + Output only. Time when the BatchPredictionJob entered any of the + following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. - nasJobOutput: - description: Output only. Output of the NasJob. readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJobOutput' - createTime: - description: Output only. Time when the NasJob was created. type: string + format: google-datetime + updateTime: + description: >- + Output only. Time when the BatchPredictionJob was most recently + updated. readOnly: true + type: string format: google-datetime + labels: + description: >- + 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. + type: object + additionalProperties: + type: string encryptionSpec: description: >- - Customer-managed encryption key options for a NasJob. If this is - set, then all resources created by the NasJob will be encrypted with - the provided encryption key. + Customer-managed encryption key options for a BatchPredictionJob. If + this is set, then all resources created by the BatchPredictionJob + will be encrypted with the provided encryption key. $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - satisfiesPzi: + disableContainerLogging: + description: >- + For custom-trained Models and AutoML Tabular Models, the container + of the DeployedModel instances 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. type: boolean + satisfiesPzs: + description: Output only. Reserved for future use. readOnly: true + type: boolean + satisfiesPzi: description: Output only. Reserved for future use. - name: - description: Output only. Resource name of the NasJob. - type: string readOnly: true + type: boolean + GoogleCloudAiplatformV1UnmanagedContainerModel: + id: GoogleCloudAiplatformV1UnmanagedContainerModel + description: >- + Contains model information necessary to perform batch prediction without + requiring a full model import. type: object - id: GoogleCloudAiplatformV1NasJob - GoogleCloudAiplatformV1GroundednessSpec: - properties: - version: - type: integer - description: Optional. Which version to use for evaluation. - format: int32 - id: GoogleCloudAiplatformV1GroundednessSpec - description: Spec for groundedness metric. - type: object - GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest: - id: GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest - description: Request message for ModelService.BatchImportEvaluatedAnnotations - properties: - evaluatedAnnotations: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EvaluatedAnnotation' - type: array - description: Required. Evaluated annotations resource to be imported. - type: object - GoogleCloudAiplatformV1ListFeatureViewsResponse: - id: GoogleCloudAiplatformV1ListFeatureViewsResponse - description: Response message for FeatureOnlineStoreAdminService.ListFeatureViews. - type: object - properties: - featureViews: - description: The FeatureViews matching the request. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' - nextPageToken: - type: string - description: >- - A token, which can be sent as ListFeatureViewsRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. - GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest: - type: object - id: GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest properties: - tensorboardTimeSeriesId: + artifactUri: description: >- - Optional. The user specified unique ID to use for the - TensorboardTimeSeries, which becomes the final component of the - TensorboardTimeSeries's resource name. This value should match - "a-z0-9{0, 127}" - type: string - tensorboardTimeSeries: - description: Required. The TensorboardTimeSeries to create. - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries' - parent: + The path to the directory containing the Model artifact and any of + its supporting files. type: string + predictSchemata: + description: Contains the schemata used in Model's predictions and explanations + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictSchemata' + containerSpec: description: >- - Required. The resource name of the TensorboardRun to create the - TensorboardTimeSeries in. Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` - description: Request message for TensorboardService.CreateTensorboardTimeSeries. + Input only. The specification of the container that is to be used + when deploying this Model. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelContainerSpec' GoogleCloudAiplatformV1PredictSchemata: + id: GoogleCloudAiplatformV1PredictSchemata + description: >- + Contains the schemata used in Model's predictions and explanations via + PredictionService.Predict, PredictionService.Explain and + BatchPredictionJob. type: object - id: GoogleCloudAiplatformV1PredictSchemata properties: instanceSchemaUri: - type: string description: >- Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in @@ -9984,19 +10129,7 @@ components: 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. - predictionSchemaUri: type: string - description: >- - Immutable. Points to a YAML file stored on Google Cloud Storage - describing the format of a single prediction produced by this Model, - which are returned via PredictResponse.predictions, - ExplainResponse.explanations, and BatchPredictionJob.output_config. - 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. 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. parametersSchemaUri: description: >- Immutable. Points to a YAML file stored on Google Cloud Storage @@ -10011,997 +10144,920 @@ components: 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. type: string + predictionSchemaUri: + description: >- + Immutable. Points to a YAML file stored on Google Cloud Storage + describing the format of a single prediction produced by this Model, + which are returned via PredictResponse.predictions, + ExplainResponse.explanations, and BatchPredictionJob.output_config. + 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. 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. + type: string + GoogleCloudAiplatformV1ModelContainerSpec: + id: GoogleCloudAiplatformV1ModelContainerSpec description: >- - Contains the schemata used in Model's predictions and explanations via - PredictionService.Predict, PredictionService.Explain and - BatchPredictionJob. - GoogleCloudAiplatformV1PurgeExecutionsMetadata: + Specification of a container for serving predictions. Some fields in + this message correspond to fields in the [Kubernetes Container v1 core + specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). type: object properties: - genericMetadata: - description: Operation metadata for purging Executions. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - id: GoogleCloudAiplatformV1PurgeExecutionsMetadata - description: Details of operations that perform MetadataService.PurgeExecutions. - GoogleCloudAiplatformV1FeatureGroup: - properties: - bigQuery: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroupBigQuery' - description: >- - Indicates that features for this group come from BigQuery - Table/View. By default treats the source as a sparse time series - source. The BigQuery source table or view must have at least one - entity ID column and a column named `feature_timestamp`. - labels: - type: object - additionalProperties: - type: string - description: >- - 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. - etag: - description: >- - Optional. Used to perform consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. - type: string - createTime: - description: Output only. Timestamp when this FeatureGroup was created. - type: string - readOnly: true - format: google-datetime - description: - description: Optional. Description of the FeatureGroup. - type: string - name: - type: string + imageUri: description: >- - Identifier. Name of the FeatureGroup. Format: - `projects/{project}/locations/{location}/featureGroups/{featureGroup}` - updateTime: - format: google-datetime - readOnly: true - description: Output only. Timestamp when this FeatureGroup was last updated. + Required. Immutable. URI of the Docker image to be used as the + custom container for serving predictions. This URI must identify an + image in Artifact Registry or Container Registry. Learn more about + the [container publishing + requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), + including permissions requirements for the Vertex AI Service Agent. + The container image is ingested upon ModelService.UploadModel, + stored internally, and this original path is afterwards not used. To + learn about the requirements for the Docker image itself, see + [Custom container + requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). + You can use the URI to one of Vertex AI's [pre-built container + images for + prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) + in this field. type: string - id: GoogleCloudAiplatformV1FeatureGroup - type: object - description: Vertex AI Feature Group. - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition: - id: >- - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition - description: Represents the spec to match discrete values from parent parameter. - properties: - values: + command: description: >- - Required. Matches values of the parent parameter of 'DISCRETE' type. - All values must exist in `discrete_value_spec` of parent parameter. - The Epsilon of the value matching is 1e-10. + Immutable. Specifies the command that runs when the container + starts. This overrides the container's + [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). + Specify this field as an array of executable and arguments, similar + to a Docker `ENTRYPOINT`'s "exec" form, not its "shell" form. If you + do not specify this field, then the container's `ENTRYPOINT` runs, + in conjunction with the args field or the container's + [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if + either exists. If this field is not specified and the container does + not have an `ENTRYPOINT`, then refer to the Docker documentation + about [how `CMD` and `ENTRYPOINT` + interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). + If you specify this field, then you can also specify the `args` + field to provide additional arguments for this command. However, if + you specify this field, then the container's `CMD` is ignored. See + the [Kubernetes documentation about how the `command` and `args` + fields interact with a container's `ENTRYPOINT` and + `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). + In this field, you can reference [environment variables set by + Vertex + AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) + and environment variables set in the env field. You cannot reference + environment variables set in the Docker image. In order for + environment variables to be expanded, reference them by using the + following syntax: $( VARIABLE_NAME) Note that this differs from Bash + variable expansion, which does not use parentheses. If a variable + cannot be resolved, the reference in the input string is used + unchanged. To avoid variable expansion, you can escape this syntax + with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to + the `command` field of the Kubernetes Containers [v1 core + API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). type: array items: - type: number - format: double - type: object - GoogleCloudAiplatformV1GenerateContentRequest: - type: object - properties: - generationConfig: - description: Optional. Generation config. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenerationConfig' - contents: - type: array + type: string + args: description: >- - Required. The content of the current conversation with the model. - For single-turn queries, this is a single instance. For multi-turn - queries, this is a repeated field that contains conversation history - + latest request. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' - safetySettings: + Immutable. Specifies arguments for the command that runs when the + container starts. This overrides the container's + [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). + Specify this field as an array of executable and arguments, similar + to a Docker `CMD`'s "default parameters" form. If you don't specify + this field but do specify the command field, then the command from + the `command` field runs without any additional arguments. See the + [Kubernetes documentation about how the `command` and `args` fields + interact with a container's `ENTRYPOINT` and + `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). + If you don't specify this field and don't specify the `command` + field, then the container's + [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) + and `CMD` determine what runs based on their default behavior. See + the Docker documentation about [how `CMD` and `ENTRYPOINT` + interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). + In this field, you can reference [environment variables set by + Vertex + AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) + and environment variables set in the env field. You cannot reference + environment variables set in the Docker image. In order for + environment variables to be expanded, reference them by using the + following syntax: $( VARIABLE_NAME) Note that this differs from Bash + variable expansion, which does not use parentheses. If a variable + cannot be resolved, the reference in the input string is used + unchanged. To avoid variable expansion, you can escape this syntax + with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to + the `args` field of the Kubernetes Containers [v1 core + API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetySetting' - description: >- - Optional. Per request settings for blocking unsafe content. Enforced - on GenerateContentResponse.candidates. - toolConfig: + type: string + env: description: >- - Optional. Tool config. This config is shared for all tools provided - in the request. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolConfig' - tools: + Immutable. List of environment variables to set in the container. + After the container starts running, code running in the container + can read these environment variables. Additionally, the command and + args fields can reference these variables. Later entries in this + list can also reference earlier entries. For example, the following + example sets the variable `VAR_2` to have the value `foo bar`: + ```json [ { "name": "VAR_1", "value": "foo" }, { "name": "VAR_2", + "value": "$(VAR_1) bar" } ] ``` If you switch the order of the + variables in the example, then the expansion does not occur. This + field corresponds to the `env` field of the Kubernetes Containers + [v1 core + API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). type: array - description: >- - Optional. A list of `Tools` the model may use to generate the next - response. A `Tool` is a piece of code that enables the system to - interact with external systems to perform an action, or set of - actions, outside of knowledge and scope of the model. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tool' - systemInstruction: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' - description: >- - Optional. The user provided system instructions for the model. Note: - only text should be used in parts and content in each part will be - in a separate paragraph. - labels: - type: object + $ref: '#/components/schemas/GoogleCloudAiplatformV1EnvVar' + ports: description: >- - Optional. The labels with user-defined metadata for the request. It - is used for billing and reporting only. Label keys and values can be - no longer than 63 characters (Unicode codepoints) and can only - contain lowercase letters, numeric characters, underscores, and - dashes. International characters are allowed. Label values are - optional. Label keys must start with a letter. - additionalProperties: - type: string - description: Request message for [PredictionService.GenerateContent]. - id: GoogleCloudAiplatformV1GenerateContentRequest - GoogleCloudAiplatformV1ModelEvaluationSlice: - properties: - metrics: - type: any + Immutable. List of ports to expose from the container. Vertex AI + sends any prediction requests that it receives to the first port on + this list. Vertex AI also sends [liveness and health + checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) + to this port. If you do not specify this field, it defaults to + following value: ```json [ { "containerPort": 8080 } ] ``` Vertex AI + does not use ports other than the first one listed. This field + corresponds to the `ports` field of the Kubernetes Containers [v1 + core + API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Port' + predictRoute: description: >- - Output only. Sliced evaluation metrics of the Model. The schema of - the metrics is stored in metrics_schema_uri - readOnly: true - createTime: - readOnly: true - type: string - description: Output only. Timestamp when this ModelEvaluationSlice was created. - format: google-datetime - metricsSchemaUri: - readOnly: true + Immutable. HTTP path on the container to send prediction requests + to. Vertex AI forwards requests sent using + projects.locations.endpoints.predict to this path on the container's + IP address and port. Vertex AI then returns the container's response + in the API response. For example, if you set this field to `/foo`, + then when Vertex AI receives a prediction request, it forwards the + request body in a POST request to the `/foo` path on the port of + your container specified by the first value of this + `ModelContainerSpec`'s ports field. If you don't specify this field, + it defaults to the following value when you deploy this Model to an + Endpoint: + /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict The + placeholders in this value are replaced as follows: * ENDPOINT: The + last segment (following `endpoints/`)of the Endpoint.name][] field + of the Endpoint where this Model has been deployed. (Vertex AI makes + this value available to your container code as the + [`AIP_ENDPOINT_ID` environment + variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex + AI makes this value available to your container code as the + [`AIP_DEPLOYED_MODEL_ID` environment + variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) type: string + healthRoute: description: >- - 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). - name: - readOnly: true + Immutable. HTTP path on the container to send health checks to. + Vertex AI intermittently sends GET requests to this path on the + container's IP address and port to check that the container is + healthy. Read more about [health + checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). + For example, if you set this field to `/bar`, then Vertex AI + intermittently sends a GET request to the `/bar` path on the port of + your container specified by the first value of this + `ModelContainerSpec`'s ports field. If you don't specify this field, + it defaults to the following value when you deploy this Model to an + Endpoint: /v1/endpoints/ENDPOINT/deployedModels/ + DEPLOYED_MODEL:predict The placeholders in this value are replaced + as follows: * ENDPOINT: The last segment (following `endpoints/`)of + the Endpoint.name][] field of the Endpoint where this Model has been + deployed. (Vertex AI makes this value available to your container + code as the [`AIP_ENDPOINT_ID` environment + variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex + AI makes this value available to your container code as the + [`AIP_DEPLOYED_MODEL_ID` environment + variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) type: string - description: Output only. The resource name of the ModelEvaluationSlice. - modelExplanation: - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelExplanation' - description: >- - Output only. Aggregated explanation metrics for the Model's - prediction output over the data this ModelEvaluation uses. This - field is populated only if the Model is evaluated with explanations, - and only for tabular Models. - slice: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSlice + grpcPorts: description: >- - Output only. The slice of the test data that is used to evaluate the - Model. - readOnly: true - type: object - description: >- - A collection of metrics calculated by comparing Model's predictions on a - slice of the test data against ground truth annotations. - id: GoogleCloudAiplatformV1ModelEvaluationSlice - GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance: - id: GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance - properties: - baselinePrediction: - description: Required. Output of the baseline model. - type: string - instruction: - type: string - description: Required. Question Answering prompt for LLM. - context: - description: Required. Text to answer the question. - type: string - reference: - description: Optional. Ground truth used to compare against the prediction. - type: string - prediction: - type: string - description: Required. Output of the candidate model. - type: object - description: Spec for pairwise question answering quality instance. - GoogleCloudAiplatformV1StopTrialRequest: - description: Request message for VizierService.StopTrial. - id: GoogleCloudAiplatformV1StopTrialRequest - type: object - properties: {} - GoogleCloudAiplatformV1SearchMigratableResourcesResponse: - description: Response message for MigrationService.SearchMigratableResources. - properties: - migratableResources: + Immutable. List of ports to expose from the container. Vertex AI + sends gRPC prediction requests that it receives to the first port on + this list. Vertex AI also sends liveness and health checks to this + port. If you do not specify this field, gRPC requests to the + container will be disabled. Vertex AI does not use ports other than + the first one listed. This field corresponds to the `ports` field of + the Kubernetes Containers v1 core API. + type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MigratableResource' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Port' + deploymentTimeout: description: >- - All migratable resources that can be migrated to the location - specified in the request. - type: array - nextPageToken: + Immutable. Deployment timeout. Limit for deployment timeout is 2 + hours. + type: string + format: google-duration + sharedMemorySizeMb: description: >- - The standard next-page token. The migratable_resources may not fill - page_size in SearchMigratableResourcesRequest even when there are - subsequent pages. + Immutable. The amount of the VM memory to reserve as the shared + memory for the model in megabytes. type: string + format: int64 + startupProbe: + description: Immutable. Specification for Kubernetes startup probe. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Probe' + healthProbe: + description: Immutable. Specification for Kubernetes readiness probe. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Probe' + GoogleCloudAiplatformV1Port: + id: GoogleCloudAiplatformV1Port + description: Represents a network port in a container. type: object - id: GoogleCloudAiplatformV1SearchMigratableResourcesResponse - GoogleCloudAiplatformV1DiskSpec: properties: - bootDiskType: + containerPort: description: >- - Type of the boot disk (default is "pd-ssd"). Valid values: "pd-ssd" - (Persistent Disk Solid State Drive) or "pd-standard" (Persistent - Disk Hard Disk Drive). - type: string - bootDiskSizeGb: + The number of the port to expose on the pod's IP address. Must be a + valid port number, between 1 and 65535 inclusive. type: integer - description: Size in GB of the boot disk (default is 100GB). format: int32 - description: Represents the spec of disk options. - type: object - id: GoogleCloudAiplatformV1DiskSpec - GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue: - description: Single value that supports strings and floats. - id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue + GoogleCloudAiplatformV1Probe: + id: GoogleCloudAiplatformV1Probe + description: >- + Probe describes a health check to be performed against a container to + determine whether it is alive or ready to receive traffic. type: object properties: - floatValue: - type: number - description: Float type. - format: float - stringValue: - description: String type. - type: string - GoogleCloudAiplatformV1FeatureViewIndexConfig: - id: GoogleCloudAiplatformV1FeatureViewIndexConfig - properties: - treeAhConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig - description: >- - Optional. Configuration options for the tree-AH algorithm (Shallow - tree + Asymmetric Hashing). Please refer to this paper for more - details: https://arxiv.org/abs/1908.10396 - crowdingColumn: - description: >- - Optional. Column of crowding. This column contains crowding - attribute which is a constraint on a neighbor list produced by - FeatureOnlineStoreService.SearchNearestEntities to diversify search - results. If - NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to - K in SearchNearestEntitiesRequest, it's guaranteed that no more than - K entities of the same crowding attribute are returned in the - response. - type: string - bruteForceConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig + exec: + description: ExecAction probes the health of a container by executing a command. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ProbeExecAction' + periodSeconds: description: >- - Optional. Configuration options for using brute force search, which - simply implements the standard linear search in the database for - each query. It is primarily meant for benchmarking and to generate - the ground truth for approximate search. - distanceMeasureType: - type: string - enumDescriptions: - - Should not be set. - - Euclidean (L_2) Distance. - - >- - Cosine Distance. Defined as 1 - cosine similarity. We strongly - suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of - COSINE distance. Our algorithms have been more optimized for - DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is - mathematically equivalent to COSINE distance and results in the - same ranking. - - Dot Product Distance. Defined as a negative of the dot product. - enum: - - DISTANCE_MEASURE_TYPE_UNSPECIFIED - - SQUARED_L2_DISTANCE - - COSINE_DISTANCE - - DOT_PRODUCT_DISTANCE - description: Optional. The distance measure used in nearest neighbor search. - embeddingDimension: - format: int32 + How often (in seconds) to perform the probe. Default to 10 seconds. + Minimum value is 1. Must be less than timeout_seconds. Maps to + Kubernetes probe argument 'periodSeconds'. type: integer - description: Optional. The number of dimensions of the input embedding. - embeddingColumn: - type: string - description: >- - Optional. Column of embedding. This column contains the source data - to create index for vector search. embedding_column must be set when - using vector search. - filterColumns: - items: - type: string - type: array + format: int32 + timeoutSeconds: description: >- - Optional. Columns of features that're used to filter vector search - results. - description: Configuration for vector indexing. + Number of seconds after which the probe times out. Defaults to 1 + second. Minimum value is 1. Must be greater or equal to + period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'. + type: integer + format: int32 + GoogleCloudAiplatformV1ProbeExecAction: + id: GoogleCloudAiplatformV1ProbeExecAction + description: ExecAction specifies a command to execute. type: object - GoogleCloudAiplatformV1PipelineJobDetail: - id: GoogleCloudAiplatformV1PipelineJobDetail properties: - pipelineRunContext: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' - readOnly: true - description: Output only. The context of the current pipeline run. - taskDetails: - readOnly: true - description: Output only. The runtime details of the tasks under the pipeline. + command: + description: >- + Command is the command line to execute inside the container, the + working directory for the command is root ('/') in the container's + filesystem. The command is simply exec'd, it is not run inside a + shell, so traditional shell instructions ('|', etc) won't work. To + use a shell, you need to explicitly call out to that shell. Exit + status of 0 is treated as live/healthy and non-zero is unhealthy. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetail' - pipelineContext: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' - description: Output only. The context of the pipeline. - readOnly: true - type: object - description: The runtime detail of PipelineJob. - GoogleCloudAiplatformV1FindNeighborsRequest: - id: GoogleCloudAiplatformV1FindNeighborsRequest + type: string + GoogleCloudAiplatformV1BatchPredictionJobInputConfig: + id: GoogleCloudAiplatformV1BatchPredictionJobInputConfig + description: >- + Configures the input to BatchPredictionJob. See + Model.supported_input_storage_formats for Model's supported input + formats, and how instances should be expressed via any of them. type: object - description: The request message for MatchService.FindNeighbors. properties: - queries: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FindNeighborsRequestQuery - description: The list of queries. - type: array - deployedIndexId: + gcsSource: + description: The Cloud Storage location for the input instances. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' + bigquerySource: description: >- - The ID of the DeployedIndex that will serve the request. This - request is sent to a specific IndexEndpoint, as per the - IndexEndpoint.network. That IndexEndpoint also has - IndexEndpoint.deployed_indexes, and each such index has a - DeployedIndex.id field. The value of the field below must equal one - of the DeployedIndex.id fields of the IndexEndpoint that is being - called for this request. - type: string - returnFullDatapoint: + The BigQuery location of the input table. The schema of the table + should be in the format described by the given context OpenAPI + Schema, if one is provided. The table may contain additional columns + that are not described by the schema, and they will be ignored. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + instancesFormat: description: >- - If set to true, the full datapoints (including all vector values and - restricts) of the nearest neighbors are returned. Note that - returning full datapoint will significantly increase the latency and - cost of the query. - type: boolean - GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource: - id: GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource - properties: - content: - description: The base64-encoded contents of the input notebook file. + Required. The format in which instances are given, must be one of + the Model's supported_input_storage_formats. type: string - format: byte - description: The content of the input notebook in ipynb format. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig: - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig - type: object + GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig: + id: GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig description: >- - Config that contains the strategy used to generate sliding windows in - time series training. A window is a series of rows that comprise the - context up to the time of prediction, and the horizon following. The - corresponding row for each window marks the start of the forecast - horizon. Each window is used as an input example for - training/evaluation. + Configuration defining how to transform batch prediction input instances + to the instances that the Model accepts. + type: object properties: - maxCount: - type: string + instanceType: description: >- - Maximum number of windows that should be generated across all time - series. - format: int64 - strideLength: - format: int64 + The format of the instance that the Model accepts. Vertex AI will + convert compatible batch prediction input instance formats to the + specified format. Supported values are: * `object`: Each input is + converted to JSON object format. * For `bigquery`, each row is + converted to an object. * For `jsonl`, each line of the JSONL input + must be an object. * Does not apply to `csv`, `file-list`, + `tf-record`, or `tf-record-gzip`. * `array`: Each input is converted + to JSON array format. * For `bigquery`, each row is converted to an + array. The order of columns is determined by the BigQuery column + order, unless included_fields is populated. included_fields must be + populated for specifying field orders. * For `jsonl`, if each line + of the JSONL input is an object, included_fields must be populated + for specifying field orders. * Does not apply to `csv`, `file-list`, + `tf-record`, or `tf-record-gzip`. If not specified, Vertex AI + converts the batch prediction input as follows: * For `bigquery` and + `csv`, the behavior is the same as `array`. The order of columns is + the same as defined in the file or table, unless included_fields is + populated. * For `jsonl`, the prediction instance format is + determined by each line of the input. * For + `tf-record`/`tf-record-gzip`, each record will be converted to an + object in the format of `{"b64": }`, where `` is the Base64-encoded + string of the content of the record. * For `file-list`, each file in + the list will be converted to an object in the format of `{"b64": + }`, where `` is the Base64-encoded string of the content of the + file. type: string + keyField: description: >- - Stride length used to generate input examples. Within one time - series, every {$STRIDE_LENGTH} rows will be used to generate a - sliding window. - column: - description: >- - Name of the column that should be used to generate sliding windows. - The column should contain either booleans or string booleans; if the - value of the row is True, generate a sliding window with the horizon - starting at that row. The column will not be used as a feature in - training. + The name of the field that is considered as a key. The values + identified by the key field is not included in the transformed + instances that is sent to the Model. This is similar to specifying + this name of the field in excluded_fields. In addition, the batch + prediction output will not include the instances. Instead the output + will only include the value of the key field, in a field named `key` + in the output: * For `jsonl` output format, the output will have a + `key` field instead of the `instance` field. * For `csv`/`bigquery` + output format, the output will have have a `key` column instead of + the instance feature columns. The input must be JSONL with objects + at each line, CSV, BigQuery or TfRecord. type: string - GoogleCloudAiplatformV1CancelCustomJobRequest: - description: Request message for JobService.CancelCustomJob. - id: GoogleCloudAiplatformV1CancelCustomJobRequest - properties: {} - type: object - GoogleCloudAiplatformV1FulfillmentInput: - description: Input for fulfillment metric. - id: GoogleCloudAiplatformV1FulfillmentInput - properties: - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentSpec' - description: Required. Spec for fulfillment score metric. - instance: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentInstance' - description: Required. Fulfillment instance. - type: object - GoogleCloudAiplatformV1ListPipelineJobsResponse: - description: Response message for PipelineService.ListPipelineJobs - properties: - pipelineJobs: + includedFields: + description: >- + Fields that will be included in the prediction instance that is sent + to the Model. If instance_type is `array`, the order of field names + in included_fields also determines the order of the values in the + array. When included_fields is populated, excluded_fields must be + empty. The input must be JSONL with objects at each line, BigQuery + or TfRecord. type: array - description: List of PipelineJobs in the requested page. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' - nextPageToken: - type: string + type: string + excludedFields: description: >- - A token to retrieve the next page of results. Pass to - ListPipelineJobsRequest.page_token to obtain that page. - id: GoogleCloudAiplatformV1ListPipelineJobsResponse + Fields that will be excluded in the prediction instance that is sent + to the Model. Excluded will be attached to the batch prediction + output if key_field is not specified. When excluded_fields is + populated, included_fields must be empty. The input must be JSONL + with objects at each line, BigQuery or TfRecord. + type: array + items: + type: string + GoogleCloudAiplatformV1BatchPredictionJobOutputConfig: + id: GoogleCloudAiplatformV1BatchPredictionJobOutputConfig + description: >- + Configures the output of BatchPredictionJob. See + Model.supported_output_storage_formats for supported output formats, and + how predictions are expressed via any of them. type: object - GoogleCloudAiplatformV1MeasurementMetric: properties: - value: - type: number - description: Output only. The value for this metric. - readOnly: true - format: double - metricId: - type: string + gcsDestination: description: >- - Output only. The ID of the Metric. The Metric should be defined in - StudySpec's Metrics. - readOnly: true - type: object - id: GoogleCloudAiplatformV1MeasurementMetric - description: A message representing a metric in the measurement. - GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest: + The Cloud Storage location of the directory where the output is to + be written to. In the given directory a new directory is created. + Its name is `prediction--`, where timestamp is in + YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files + `predictions_0001.`, `predictions_0002.`, ..., `predictions_N.` are + created where `` depends on chosen predictions_format, and N may + equal 0001 and depends on the total number of successfully predicted + instances. If the Model has both instance and prediction schemata + defined then each such file contains predictions as per the + predictions_format. If prediction for any instance failed (partially + or completely), then an additional `errors_0001.`, + `errors_0002.`,..., `errors_N.` files are created (N depends on + total number of failed predictions). These files contain the failed + instances, as per their schema, followed by an additional `error` + field which as value has google.rpc.Status containing only `code` + and `message` fields. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + bigqueryDestination: + description: >- + The BigQuery project or dataset location where the output is to be + written to. If project is provided, a new dataset is created with + name `prediction__` where is made BigQuery-dataset-name compatible + (for example, most special characters become underscores), and + timestamp is in YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. + In the dataset two tables will be created, `predictions`, and + `errors`. If the Model has both instance and prediction schemata + defined then the tables have columns as follows: The `predictions` + table contains instances for which the prediction succeeded, it has + columns as per a concatenation of the Model's instance and + prediction schemata. The `errors` table contains rows for which the + prediction has failed, it has instance columns, as per the instance + schema, followed by a single "errors" column, which as values has + google.rpc.Status represented as a STRUCT, and containing only + `code` and `message`. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' + predictionsFormat: + description: >- + Required. The format in which Vertex AI gives the predictions, must + be one of the Model's supported_output_storage_formats. + type: string + GoogleCloudAiplatformV1BatchDedicatedResources: + id: GoogleCloudAiplatformV1BatchDedicatedResources + description: >- + A description of resources that are used for performing batch + operations, are dedicated to a Model, and need manual configuration. type: object - id: GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest properties: - filter: - type: string + machineSpec: + description: Required. Immutable. The specification of a single machine. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' + startingReplicaCount: description: >- - Exports the TensorboardTimeSeries' data that match the filter - expression. - pageSize: + Immutable. The number of machine replicas used at the start of the + batch operation. If not set, Vertex AI decides starting number, not + greater than max_replica_count type: integer - description: >- - The maximum number of data points to return per page. The default - page_size is 1000. Values must be between 1 and 10000. Values above - 10000 are coerced to 10000. format: int32 - pageToken: - type: string + maxReplicaCount: description: >- - A page token, received from a previous - ExportTensorboardTimeSeriesData call. Provide this to retrieve the - subsequent page. When paginating, all other parameters provided to - ExportTensorboardTimeSeriesData must match the call that provided - the page token. - orderBy: + Immutable. The maximum number of machine replicas the batch + operation may be scaled to. The default value is 10. + type: integer + format: int32 + GoogleCloudAiplatformV1ManualBatchTuningParameters: + id: GoogleCloudAiplatformV1ManualBatchTuningParameters + description: Manual batch tuning parameters. + type: object + properties: + batchSize: description: >- - Field to use to sort the TensorboardTimeSeries' data. By default, - TensorboardTimeSeries' data is returned in a pseudo random order. - type: string - description: Request message for TensorboardService.ExportTensorboardTimeSeriesData. - GoogleCloudAiplatformV1StudySpec: - description: Represents specification of a Study. + Immutable. The number of the records (e.g. instances) of the + operation given in each batch to a machine replica. Machine type, + and size of a single record should be considered when setting this + parameter, higher value speeds up the batch operation's execution, + but too high value will result in a whole batch not fitting in a + machine's memory, and the whole operation will fail. The default + value is 64. + type: integer + format: int32 + GoogleCloudAiplatformV1BatchPredictionJobOutputInfo: + id: GoogleCloudAiplatformV1BatchPredictionJobOutputInfo + description: Further describes this job's output. Supplements output_config. type: object - id: GoogleCloudAiplatformV1StudySpec properties: - parameters: - description: Required. The set of parameters to tune. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpec' - decayCurveStoppingSpec: - description: The automated early stopping spec using decay curve rule. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec - observationNoise: - enum: - - OBSERVATION_NOISE_UNSPECIFIED - - LOW - - HIGH + gcsOutputDirectory: description: >- - The observation noise level of the study. Currently only supported - by the Vertex AI Vizier service. Not supported by - HyperparameterTuningJob or TrainingPipeline. + Output only. The full path of the Cloud Storage directory created, + into which the prediction output is written. + readOnly: true type: string - enumDescriptions: - - The default noise level chosen by Vertex AI. - - >- - Vertex AI assumes that the objective function is (nearly) - perfectly reproducible, and will never repeat the same Trial - parameters. - - >- - Vertex AI will estimate the amount of noise in metric evaluations, - it may repeat the same Trial parameters more than once. - measurementSelectionType: + bigqueryOutputDataset: + description: >- + Output only. The path of the BigQuery dataset created, in + `bq://projectId.bqDatasetId` format, into which the prediction + output is written. + readOnly: true type: string - description: Describe which measurement selection type will be used - enumDescriptions: - - Will be treated as LAST_MEASUREMENT. - - Use the last measurement reported. - - Use the best measurement reported. - enum: - - MEASUREMENT_SELECTION_TYPE_UNSPECIFIED - - LAST_MEASUREMENT - - BEST_MEASUREMENT - medianAutomatedStoppingSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec - description: The automated early stopping spec using median rule. - convexAutomatedStoppingSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec - description: The automated early stopping spec using convex stopping rule. - metrics: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpecMetricSpec' - description: Required. Metric specs for the Study. - studyStoppingConfig: + bigqueryOutputTable: description: >- - Conditions for automated stopping of a Study. Enable automated - stopping by configuring at least one condition. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecStudyStoppingConfig - algorithm: + Output only. The name of the BigQuery table created, in + `predictions_` format, into which the prediction output is written. + Can be used by UI to generate the BigQuery output path, for example. + readOnly: true type: string - enumDescriptions: - - >- - The default algorithm used by Vertex AI for [hyperparameter - tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) - and [Vertex AI - Vizier](https://cloud.google.com/vertex-ai/docs/vizier). - - >- - Simple grid search within the feasible space. To use grid search, - all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`. - - Simple random search within the feasible space. - enum: - - ALGORITHM_UNSPECIFIED - - GRID_SEARCH - - RANDOM_SEARCH - description: The search algorithm specified for the Study. - CloudAiLargeModelsVisionImageRAIScores: - type: object - description: RAI scores for generated image returned. - id: CloudAiLargeModelsVisionImageRAIScores - properties: - agileWatermarkDetectionScore: - format: double - type: number - description: Agile watermark score for image. - GoogleCloudAiplatformV1VideoMetadata: - description: Metadata describes the input video content. - id: GoogleCloudAiplatformV1VideoMetadata + GoogleCloudAiplatformV1ResourcesConsumed: + id: GoogleCloudAiplatformV1ResourcesConsumed + description: Statistics information about resource consumption. type: object properties: - endOffset: - format: google-duration - type: string - description: Optional. The end offset of the video. - startOffset: - type: string - description: Optional. The start offset of the video. - format: google-duration - GoogleCloudAiplatformV1ToolNameMatchResults: - description: Results for tool name match metric. - properties: - toolNameMatchMetricValues: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolNameMatchMetricValue - description: Output only. Tool name match metric values. + replicaHours: + description: >- + Output only. The number of replica hours used. Note that many + replicas may run in parallel, and additionally any given work may be + queued for some time. Therefore this value is not strictly related + to wall time. readOnly: true - id: GoogleCloudAiplatformV1ToolNameMatchResults - type: object - GoogleCloudAiplatformV1BatchCreateFeaturesRequest: - description: Request message for FeaturestoreService.BatchCreateFeatures. + type: number + format: double + GoogleCloudAiplatformV1CompletionStats: + id: GoogleCloudAiplatformV1CompletionStats + description: >- + Success and error statistics of processing multiple entities (for + example, DataItems or structured data rows) in batch. type: object - id: GoogleCloudAiplatformV1BatchCreateFeaturesRequest - properties: - requests: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CreateFeatureRequest' - type: array - description: >- - Required. The request message specifying the Features to create. All - Features must be created under the same parent EntityType. The - `parent` field in each child request message can be omitted. If - `parent` is set in a child request, then the value must match the - `parent` value in this request message. - GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest: - description: Request message for PipelineService.BatchDeletePipelineJobs. properties: - names: - items: - type: string + successfulCount: description: >- - Required. The names of the PipelineJobs to delete. A maximum of 32 - PipelineJobs can be deleted in a batch. Format: - `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` - type: array - id: GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest - type: object - GoogleCloudAiplatformV1SampleConfig: - id: GoogleCloudAiplatformV1SampleConfig - description: >- - Active learning data sampling config. For every active learning labeling - iteration, it will select a batch of data based on the sampling - strategy. - properties: - sampleStrategy: - enumDescriptions: - - Default will be treated as UNCERTAINTY. - - Sample the most uncertain data to label. + Output only. The number of entities that had been processed + successfully. + readOnly: true + type: string + format: int64 + failedCount: description: >- - Field to choose sampling strategy. Sampling strategy will decide - which data should be selected for human labeling in every batch. + Output only. The number of entities for which any error was + encountered. + readOnly: true type: string - enum: - - SAMPLE_STRATEGY_UNSPECIFIED - - UNCERTAINTY - followingBatchSamplePercentage: + format: int64 + incompleteCount: description: >- - The percentage of data needed to be labeled in each following batch - (except the first batch). - format: int32 - type: integer - initialBatchSamplePercentage: - description: The percentage of data needed to be labeled in the first batch. - format: int32 - type: integer + Output only. In cases when enough errors are encountered a job, + pipeline, or operation may be failed as a whole. Below is the number + of entities for which the processing had not been finished (either + in successful or failed state). Set to -1 if the number is unknown + (for example, the operation failed before the total entity number + could be collected). + readOnly: true + type: string + format: int64 + successfulForecastPointCount: + description: >- + Output only. The number of the successful forecast points that are + generated by the forecasting model. This is ONLY used by the + forecasting batch prediction. + readOnly: true + type: string + format: int64 + GoogleCloudAiplatformV1ListBatchPredictionJobsResponse: + id: GoogleCloudAiplatformV1ListBatchPredictionJobsResponse + description: Response message for JobService.ListBatchPredictionJobs type: object - GoogleCloudAiplatformV1CreateIndexOperationMetadata: - id: GoogleCloudAiplatformV1CreateIndexOperationMetadata properties: - nearestNeighborSearchOperationMetadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata + batchPredictionJobs: + description: List of BatchPredictionJobs in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' + nextPageToken: description: >- - The operation metadata with regard to Matching Engine Index - operation. - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Runtime operation information for IndexService.CreateIndex. - type: object - GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata: - id: GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata + A token to retrieve the next page of results. Pass to + ListBatchPredictionJobsRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1CancelBatchPredictionJobRequest: + id: GoogleCloudAiplatformV1CancelBatchPredictionJobRequest + description: Request message for JobService.CancelBatchPredictionJob. type: object properties: {} - GoogleCloudAiplatformV1Artifact: + GoogleCloudAiplatformV1ModelDeploymentMonitoringJob: + id: GoogleCloudAiplatformV1ModelDeploymentMonitoringJob + description: >- + Represents a job that runs periodically to monitor the deployed models + in an endpoint. It will analyze the logged training & prediction data to + detect any abnormal behaviors. type: object - id: GoogleCloudAiplatformV1Artifact - description: Instance of a general artifact. properties: - createTime: - type: string - description: Output only. Timestamp when this Artifact was created. + name: + description: Output only. Resource name of a ModelDeploymentMonitoringJob. readOnly: true - format: google-datetime - uri: type: string + displayName: description: >- - The uniform resource identifier of the artifact file. May be empty - if there is no actual artifact file. - labels: - additionalProperties: - type: string - description: >- - The labels with user-defined metadata to organize your Artifacts. - 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 Artifact (System - labels are excluded). - type: object - metadata: - type: object - description: >- - Properties of the Artifact. Top level metadata keys' heading and - trailing spaces will be trimmed. The size of this field should not - exceed 200KB. - additionalProperties: - description: Properties of the object. - type: any - schemaVersion: - description: >- - 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. - type: string - schemaTitle: + 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. type: string + endpoint: description: >- - 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. - displayName: - description: >- - User provided display name of the Artifact. May be up to 128 Unicode - characters. + Required. Endpoint resource name. Format: + `projects/{project}/locations/{location}/endpoints/{endpoint}` type: string state: description: >- - 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. + 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'. + readOnly: true + type: string enumDescriptions: - - Unspecified state for the Artifact. + - The job state is unspecified. - >- - A state used by systems like Vertex AI Pipelines to indicate that - the underlying data item represented by this Artifact is being - created. + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. - >- - A state indicating that the Artifact should exist, unless - something external to the system deletes it. + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. + - >- + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. + - >- + The job is partially succeeded, some results may be missing due to + errors. + enum: + - JOB_STATE_UNSPECIFIED + - JOB_STATE_QUEUED + - JOB_STATE_PENDING + - JOB_STATE_RUNNING + - JOB_STATE_SUCCEEDED + - JOB_STATE_FAILED + - JOB_STATE_CANCELLING + - JOB_STATE_CANCELLED + - JOB_STATE_PAUSED + - JOB_STATE_EXPIRED + - JOB_STATE_UPDATING + - JOB_STATE_PARTIALLY_SUCCEEDED + scheduleState: + description: >- + Output only. Schedule state when the monitoring job is in Running + state. + readOnly: true type: string + enumDescriptions: + - Unspecified state. + - The pipeline is picked up and wait to run. + - The pipeline is offline and will be scheduled for next run. + - The pipeline is running. enum: - - STATE_UNSPECIFIED + - MONITORING_SCHEDULE_STATE_UNSPECIFIED - PENDING - - LIVE - name: - description: Output only. The resource name of the Artifact. + - OFFLINE + - RUNNING + latestMonitoringPipelineMetadata: + description: Output only. Latest triggered monitoring pipeline metadata. readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata + modelDeploymentMonitoringObjectiveConfigs: + description: >- + Required. The config for monitoring objectives. This is a per + DeployedModel config. Each DeployedModel needs to be configured + separately. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig + modelDeploymentMonitoringScheduleConfig: + description: Required. Schedule config for running the monitoring job. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig + loggingSamplingStrategy: + description: Required. Sample Strategy for logging. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SamplingStrategy' + modelMonitoringAlertConfig: + description: Alert config for model monitoring. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringAlertConfig + predictInstanceSchemaUri: + description: >- + 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. type: string - updateTime: + samplePredictInstance: + description: >- + 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. + type: any + analysisInstanceSchemaUri: + description: >- + YAML schema file uri describing the format of a single instance that + you want Tensorflow Data Validation (TFDV) to analyze. If this field + is empty, all the feature data types are inferred from + predict_instance_schema_uri, meaning that TFDV will use the data in + the exact format(data type) as prediction request/response. If there + are any data type differences between predict instance and TFDV + instance, this field can be used to override the schema. For models + trained with Vertex AI, this field must be set as all the fields in + predict instance formatted as string. type: string + bigqueryTables: + description: >- + Output only. The created bigquery tables for the job under customer + project. Customer could do their own query & analysis. There could + be 4 log tables in maximum: 1. Training data logging predict + request/response 2. Serving data logging predict request/response readOnly: true - format: google-datetime - description: Output only. Timestamp when this Artifact was last updated. - etag: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable + logTtl: description: >- - An eTag used to perform consistent read-modify-write updates. If not - set, a blind "overwrite" update happens. - type: string - description: + 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. type: string - description: Description of the Artifact - CloudAiLargeModelsVisionMedia: - properties: - video: - description: Video - $ref: '#/components/schemas/CloudAiLargeModelsVisionVideo' - image: - description: Image. - $ref: '#/components/schemas/CloudAiLargeModelsVisionImage' - type: object - description: Media. - id: CloudAiLargeModelsVisionMedia - GoogleCloudAiplatformV1ServiceAccountSpec: - description: >- - Configuration for the use of custom service account to run the - workloads. - type: object - properties: - serviceAccount: + format: google-duration + labels: description: >- - Optional. Required when all below conditions are met * - `enable_custom_service_account` is true; * any runtime is specified - via `ResourceRuntimeSpec` on creation time, for example, Ray The - users must have `iam.serviceAccounts.actAs` permission on this - service account and then the specified runtime containers will run - as it. Do not set this field if you want to submit jobs using custom - service account to this PersistentResource after creation, but only - specify the `service_account` inside the job. - type: string - enableCustomServiceAccount: + 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. + type: object + additionalProperties: + type: string + createTime: description: >- - Required. If true, custom user-managed service account is enforced - to run any workloads (for example, Vertex Jobs) on the resource. - Otherwise, uses the [Vertex AI Custom Code Service - Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents). - type: boolean - id: GoogleCloudAiplatformV1ServiceAccountSpec - GoogleCloudAiplatformV1SchemaTextDatasetMetadata: - id: GoogleCloudAiplatformV1SchemaTextDatasetMetadata - description: The metadata of Datasets that contain Text DataItems. - type: object - properties: - dataItemSchemaUri: + Output only. Timestamp when this ModelDeploymentMonitoringJob was + created. + readOnly: true + type: string + format: google-datetime + updateTime: description: >- - Points to a YAML file stored on Google Cloud Storage describing - payload of the Text DataItems that belong to this Dataset. + Output only. Timestamp when this ModelDeploymentMonitoringJob was + updated most recently. + readOnly: true type: string - gcsBucket: + format: google-datetime + nextScheduleTime: + description: >- + Output only. Timestamp when this monitoring pipeline will be + scheduled to run for the next round. + readOnly: true type: string + format: google-datetime + statsAnomaliesBaseDirectory: + description: Stats anomalies base folder path. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + encryptionSpec: description: >- - Google Cloud Storage Bucket name that contains the blob data of this - Dataset. - GoogleCloudAiplatformV1SuggestTrialsMetadata: + Customer-managed encryption key spec for a + ModelDeploymentMonitoringJob. If set, this + ModelDeploymentMonitoringJob and all sub-resources of this + ModelDeploymentMonitoringJob will be secured by this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + enableMonitoringPipelineLogs: + description: >- + 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). + type: boolean + error: + description: >- + Output only. Only populated when the job's state is + `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata: + id: >- + GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata + description: All metadata of most recent monitoring pipelines. type: object - id: GoogleCloudAiplatformV1SuggestTrialsMetadata properties: - clientId: + runTime: description: >- - The identifier of the client that is requesting the suggestion. If - multiple SuggestTrialsRequests have the same `client_id`, the - service will return the identical suggested Trial if the Trial is - pending, and provide a new Trial if the last suggested Trial was - completed. + The time that most recent monitoring pipelines that is related to + this run. type: string - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for suggesting Trials. - description: Details of operations that perform Trials suggestion. - GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata: - id: GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata + format: google-datetime + status: + description: The status of the most recent monitoring pipeline. + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig: + id: GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig + description: >- + ModelDeploymentMonitoringObjectiveConfig contains the pair of + deployed_model_id to ModelMonitoringObjectiveConfig. + type: object properties: - progressMessage: + deployedModelId: + description: The DeployedModel ID of the objective config. type: string + objectiveConfig: description: >- - A human-readable message that shows the intermediate progress - details of NotebookRuntime. - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Metadata information for NotebookService.AssignNotebookRuntime. - type: object - GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig: - description: Requests are randomly selected. - properties: - sampleRate: - format: double - type: number - description: Sample rate (0, 1] - type: object - id: GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs: + The objective config of for the modelmonitoring job of this deployed + model. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig: + id: GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig + description: >- + The objective configuration for model monitoring, including the + information needed to detect anomalies for one particular model. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs properties: - sentimentMax: - type: integer + trainingDataset: description: >- - A sentiment is expressed as an integer ordinal, where higher value - means a more positive sentiment. The range of sentiments that will - be used is between 0 and sentimentMax (inclusive on both ends), and - all the values in the range must be represented in the dataset - before a model can be created. Only the Annotations with this - sentimentMax will be used for training. sentimentMax value must be - between 1 and 10 (inclusive). - format: int32 - GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata: - id: GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata + Training dataset for models. This field has to be set only if + TrainingPredictionSkewDetectionConfig is specified. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset + trainingPredictionSkewDetectionConfig: + description: The config for skew between training data and prediction data. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig + predictionDriftDetectionConfig: + description: The config for drift of prediction data. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig + explanationConfig: + description: The config for integrating with Vertex Explainable AI. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset: + id: GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset + description: Training Dataset information. type: object - description: Runtime operation information for EndpointService.MutateDeployedModel. - properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1SchemaImageDataItem: properties: - gcsUri: + dataset: + description: The resource name of the Dataset used to train this Model. type: string + gcsSource: description: >- - Required. Google Cloud Storage URI points to the original image in - user's bucket. The image is up to 30MB in size. - mimeType: - description: >- - Output only. The mime type of the content of the image. Only the - images in below listed mime types are supported. - image/jpeg - - image/gif - image/png - image/webp - image/bmp - image/tiff - - image/vnd.microsoft.icon - readOnly: true - type: string - id: GoogleCloudAiplatformV1SchemaImageDataItem - type: object - description: Payload of Image DataItem. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec: - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec - properties: - trialJobSpec: + The Google Cloud Storage uri of the unmanaged Dataset used to train + this Model. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' + bigquerySource: description: >- - The spec of a trial job. The same spec applies to the CustomJobs - created in all the trials. - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' - maxTrialCount: - type: integer - format: int32 - description: The desired total number of Trials. - parallelTrialCount: - description: The desired number of Trials to run in parallel. - type: integer - format: int32 - studySpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' - description: Study configuration of the HyperparameterTuningJob. - maxFailedTrialCount: + The BigQuery table of the unmanaged Dataset used to train this + Model. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + dataFormat: description: >- - 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. - type: integer - format: int32 - GoogleCloudAiplatformV1ExportDataResponse: - description: Response message for DatasetService.ExportData. - properties: - dataStats: + Data format of the dataset, only applicable if the input is from + Google Cloud Storage. The possible formats are: "tf-record" The + source file is a TFRecord file. "csv" The source file is a CSV file. + "jsonl" The source file is a JSONL file. + type: string + targetField: description: >- - Only present for custom code training export use case. Records data - stats, i.e., train/validation/test item/annotation counts calculated - during the export operation. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelDataStats' - exportedFiles: + The target field name the model is to predict. This field will be + excluded when doing Predict and (or) Explain for the training data. + type: string + loggingSamplingStrategy: description: >- - All of the files that are exported in this export operation. For - custom code training export, only three (training, validation and - test) Cloud Storage paths in wildcard format are populated (for - example, gs://.../training-*). - type: array - items: - type: string - type: object - id: GoogleCloudAiplatformV1ExportDataResponse - GoogleCloudAiplatformV1ReadIndexDatapointsResponse: + Strategy to sample data from Training Dataset. If not set, we + process the whole dataset. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SamplingStrategy' + GoogleCloudAiplatformV1SamplingStrategy: + id: GoogleCloudAiplatformV1SamplingStrategy + description: >- + Sampling Strategy for logging, can be for both training and prediction + dataset. type: object properties: - datapoints: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' - description: The result list of datapoints. - type: array - id: GoogleCloudAiplatformV1ReadIndexDatapointsResponse - description: The response message for MatchService.ReadIndexDatapoints. - GoogleCloudAiplatformV1CancelTuningJobRequest: - type: object - properties: {} - id: GoogleCloudAiplatformV1CancelTuningJobRequest - description: Request message for GenAiTuningService.CancelTuningJob. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig: - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig + randomSampleConfig: + description: Random sample config. Will support more sampling strategies later. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig + GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig: + id: GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig + description: Requests are randomly selected. type: object properties: - groupTemporalTotalWeight: + sampleRate: + description: Sample rate (0, 1] type: number format: double + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig: + id: >- + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig + description: >- + The config for Training & Prediction data skew detection. It specifies + the training dataset sources and the skew detection parameters. + type: object + properties: + skewThresholds: description: >- - The weight of the loss for predictions aggregated over both the - horizon and time series in the same hierarchy group. - temporalTotalWeight: - description: >- - The weight of the loss for predictions aggregated over the horizon - for a single time series. - type: number - format: double - groupColumns: - items: - type: string + Key is the feature name and value is the threshold. If a feature + needs to be monitored for skew, a value threshold must be configured + for that feature. The threshold here is against feature distribution + distance between the training and prediction feature. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + attributionScoreSkewThresholds: description: >- - A list of time series attribute column names that define the time - series hierarchy. Only one level of hierarchy is supported, ex. - 'region' for a hierarchy of stores or 'department' for a hierarchy - of products. If multiple columns are specified, time series will be - grouped by their combined values, ex. ('blue', 'large') for 'color' - and 'size', up to 5 columns are accepted. If no group columns are - specified, all time series are considered to be part of the same - group. - type: array - groupTotalWeight: + Key is the feature name and value is the threshold. The threshold + here is against attribution score distance between the training and + prediction feature. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + defaultSkewThreshold: description: >- - The weight of the loss for predictions aggregated over time series - in the same group. - type: number - format: double - description: >- - Configuration that defines the hierarchical relationship of time series - and parameters for hierarchical forecasting strategies. + Skew anomaly detection threshold used by all features. When the + per-feature thresholds are not set, this field can be used to + specify a threshold for all features. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' GoogleCloudAiplatformV1ThresholdConfig: + id: GoogleCloudAiplatformV1ThresholdConfig + description: The config for feature monitoring threshold. + type: object properties: value: description: >- @@ -11014,5104 +11070,5028 @@ components: Otherwise no alert will be triggered for that feature. type: number format: double - id: GoogleCloudAiplatformV1ThresholdConfig + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig: + id: >- + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig + description: The config for Prediction data drift detection. type: object - description: The config for feature monitoring threshold. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation: + properties: + driftThresholds: + description: >- + Key is the feature name and value is the threshold. If a feature + needs to be monitored for drift, a value threshold must be + configured for that feature. The threshold here is against feature + distribution distance between different time windws. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + attributionScoreDriftThresholds: + description: >- + Key is the feature name and value is the threshold. The threshold + here is against attribution score distance between different time + windows. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + defaultDriftThreshold: + description: >- + Drift anomaly detection threshold used by all features. When the + per-feature thresholds are not set, this field can be used to + specify a threshold for all features. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig: + id: GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig description: >- - Training pipeline will perform following transformation functions. * - Apply the transformation functions for Numerical columns. * Determine - the year, month, day,and weekday. Treat each value from the timestamp as - a Categorical column. * Invalid numerical values (for example, values - that fall outside of a typical timestamp range, or are extreme values) - receive no special treatment and are not removed. + The config for integrating with Vertex Explainable AI. Only applicable + if the Model has explanation_spec populated. + type: object + properties: + enableFeatureAttributes: + description: >- + If want to analyze the Vertex Explainable AI feature attribute + scores or not. If set to true, Vertex AI will log the feature + attributions from explain response and do the skew/drift detection + for them. + type: boolean + explanationBaseline: + description: >- + Predictions generated by the BatchPredictionJob using baseline + dataset. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation + GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline + description: >- + Output from BatchPredictionJob for Model Monitoring baseline dataset, + which can be used to generate baseline attribution scores. type: object properties: - timeFormat: + gcs: + description: Cloud Storage location for BatchExplain output. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + bigquery: + description: BigQuery location for BatchExplain output. + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' + predictionFormat: + description: The storage format of the predictions generated BatchPrediction job. type: string + enumDescriptions: + - Should not be set. + - Predictions are in JSONL files. + - Predictions are in BigQuery. + enum: + - PREDICTION_FORMAT_UNSPECIFIED + - JSONL + - BIGQUERY + GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig: + id: GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig + description: The config for scheduling monitoring job. + type: object + properties: + monitorInterval: description: >- - The format in which that time field is expressed. The time_format - must either be one of: * `unix-seconds` * `unix-milliseconds` * - `unix-microseconds` * `unix-nanoseconds` (for respectively number of - seconds, milliseconds, microseconds and nanoseconds since start of - the Unix epoch); or be written in `strftime` syntax. If time_format - is not set, then the default format is RFC 3339 `date-time` format, - where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) - columnName: + Required. The model monitoring job scheduling interval. It will be + rounded up to next full hour. This defines how often the monitoring + jobs are triggered. type: string - GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance: + format: google-duration + monitorWindow: + description: >- + The time window of the prediction data being included in each + prediction dataset. This window specifies how long the data should + be collected from historical model results for each run. If not set, + ModelDeploymentMonitoringScheduleConfig.monitor_interval will be + used. e.g. If currently the cutoff time is 2022-01-08 14:30:00 and + the monitor_window is set to be 3600, then data from 2022-01-08 + 13:30:00 to 2022-01-08 14:30:00 will be retrieved and aggregated to + calculate the monitoring statistics. + type: string + format: google-duration + GoogleCloudAiplatformV1ModelMonitoringAlertConfig: + id: GoogleCloudAiplatformV1ModelMonitoringAlertConfig + description: The alert config for model monitoring. + type: object properties: - reference: - description: Optional. Ground truth used to compare against the prediction. + emailAlertConfig: + description: Email alert config. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig + enableLogging: + description: >- + Dump the anomalies to Cloud Logging. The anomalies will be put to + json payload encoded from proto + google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. + This can be further sinked to Pub/Sub or any other services + supported by Cloud Logging. + type: boolean + notificationChannels: + description: >- + Resource names of the NotificationChannels to send alert. Must be of + the format `projects//notificationChannels/` + type: array + items: + type: string + GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig: + id: GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig + description: The config for email alert. + type: object + properties: + userEmails: + description: The email addresses to send the alert. + type: array + items: + type: string + GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable: + id: GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable + description: >- + ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name + as well as some information of the logs stored in this table. + type: object + properties: + logSource: + description: The source of log. type: string - prediction: - description: Required. Output of the evaluated model. + enumDescriptions: + - Unspecified source. + - Logs coming from Training dataset. + - Logs coming from Serving traffic. + enum: + - LOG_SOURCE_UNSPECIFIED + - TRAINING + - SERVING + logType: + description: The type of log. type: string - context: - description: Optional. Text provided as context to answer the question. + enumDescriptions: + - Unspecified type. + - Predict logs. + - Explain logs. + enum: + - LOG_TYPE_UNSPECIFIED + - PREDICT + - EXPLAIN + bigqueryTablePath: + description: >- + The created BigQuery table to store logs. Customer could do their + own query & analysis. Format: `bq://.model_deployment_monitoring_._` type: string - instruction: + requestResponseLoggingSchemaVersion: description: >- - Required. The question asked and other instruction in the inference - prompt. + Output only. The schema version of the request/response logging + BigQuery table. Default to v1 if unset. + readOnly: true type: string + GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest: + id: >- + GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest + description: >- + Request message for + JobService.SearchModelDeploymentMonitoringStatsAnomalies. type: object - id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance - description: Spec for question answering correctness instance. - GoogleCloudAiplatformV1EvaluatedAnnotation: properties: - evaluatedDataItemViewId: + deployedModelId: + description: >- + Required. The DeployedModel ID of the + [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id]. type: string + featureDisplayName: description: >- - Output only. ID of the EvaluatedDataItemView under the same ancestor - ModelEvaluation. The EvaluatedDataItemView consists of all ground - truths and predictions on data_item_payload. - readOnly: true + The feature display name. If specified, only return the stats + belonging to this feature. Format: + ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name, + example: "user_destination". + type: string + objectives: + description: Required. Objectives of the stats to retrieve. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective + pageSize: + description: The standard list page size. + type: integer + format: int32 + pageToken: + description: >- + A page token received from a previous + JobService.SearchModelDeploymentMonitoringStatsAnomalies call. + type: string + startTime: + description: >- + The earliest timestamp of stats being generated. If not set, + indicates fetching stats till the earliest possible one. + type: string + format: google-datetime + endTime: + description: >- + The latest timestamp of stats being generated. If not set, indicates + feching stats till the latest possible one. + type: string + format: google-datetime + GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective: + id: >- + GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective + description: Stats requested for specific objective. + type: object + properties: type: - readOnly: true type: string + enumDescriptions: + - Default value, should not be set. + - >- + Raw feature values' stats to detect skew between + Training-Prediction datasets. + - >- + Raw feature values' stats to detect drift between + Serving-Prediction datasets. + - >- + Feature attribution scores to detect skew between + Training-Prediction datasets. + - >- + Feature attribution scores to detect skew between Prediction + datasets collected within different time windows. enum: - - EVALUATED_ANNOTATION_TYPE_UNSPECIFIED - - TRUE_POSITIVE - - FALSE_POSITIVE - - FALSE_NEGATIVE - description: Output only. Type of the EvaluatedAnnotation. + - MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED + - RAW_FEATURE_SKEW + - RAW_FEATURE_DRIFT + - FEATURE_ATTRIBUTION_SKEW + - FEATURE_ATTRIBUTION_DRIFT + topFeatureCount: + description: >- + If set, all attribution scores between + SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and + SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time are + fetched, and page token doesn't take effect in this case. Only used + to retrieve attribution score for the top Features which has the + highest attribution score in the latest monitoring run. + type: integer + format: int32 + GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse: + id: >- + GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse + description: >- + Response message for + JobService.SearchModelDeploymentMonitoringStatsAnomalies. + type: object + properties: + monitoringStats: + description: >- + Stats retrieved for requested objectives. There are at most 1000 + ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats + in the response. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies + nextPageToken: + description: >- + The page token that can be used by the next + JobService.SearchModelDeploymentMonitoringStatsAnomalies call. + type: string + GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies: + id: GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies + description: Statistics and anomalies generated by Model Monitoring. + type: object + properties: + objective: + description: Model Monitoring Objective those stats and anomalies belonging to. + type: string enumDescriptions: - - Invalid value. + - Default value, should not be set. - >- - The EvaluatedAnnotation is a true positive. It has a prediction - created by the Model and a ground truth Annotation which the - prediction matches. + Raw feature values' stats to detect skew between + Training-Prediction datasets. - >- - The EvaluatedAnnotation is false positive. It has a prediction - created by the Model which does not match any ground truth - annotation. + Raw feature values' stats to detect drift between + Serving-Prediction datasets. - >- - The EvaluatedAnnotation is false negative. It has a ground truth - annotation which is not matched by any of the model created - predictions. - predictions: + Feature attribution scores to detect skew between + Training-Prediction datasets. + - >- + Feature attribution scores to detect skew between Prediction + datasets collected within different time windows. + enum: + - MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED + - RAW_FEATURE_SKEW + - RAW_FEATURE_DRIFT + - FEATURE_ATTRIBUTION_SKEW + - FEATURE_ATTRIBUTION_DRIFT + deployedModelId: + description: Deployed Model ID. + type: string + anomalyCount: + description: Number of anomalies within all stats. + type: integer + format: int32 + featureStats: + description: A list of historical Stats and Anomalies generated for all Features. + type: array items: - type: any + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies + GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies: + id: >- + GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies + description: Historical Stats (and Anomalies) for a specific Feature. + type: object + properties: + featureDisplayName: + description: Display Name of the Feature. + type: string + threshold: + description: Threshold for anomaly detection. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' + trainingStats: + description: Stats calculated for the Training Dataset. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureStatsAnomaly' + predictionStats: + description: >- + A list of historical stats generated by different time window's + Prediction Dataset. type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureStatsAnomaly' + GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse: + id: GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse + description: Response message for JobService.ListModelDeploymentMonitoringJobs. + type: object + properties: + modelDeploymentMonitoringJobs: description: >- - Output only. The model predicted annotations. For true positive, - there is one and only one prediction, which matches the only one - ground truth annotation in ground_truths. For false positive, there - is one and only one prediction, which doesn't match any ground truth - annotation of the corresponding data_item_view_id. For false - negative, there are zero or more predictions which are similar to - the only ground truth annotation in ground_truths but not enough for - a match. The schema of the prediction is stored in - ModelEvaluation.annotation_schema_uri - readOnly: true - errorAnalysisAnnotations: + A list of ModelDeploymentMonitoringJobs that matches the specified + filter in the request. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob + nextPageToken: + description: The standard List next-page token. + type: string + GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest: + id: GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest + description: Request message for JobService.PauseModelDeploymentMonitoringJob. + type: object + properties: {} + GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest: + id: GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest + description: Request message for JobService.ResumeModelDeploymentMonitoringJob. + type: object + properties: {} + GoogleCloudAiplatformV1PredictRequest: + id: GoogleCloudAiplatformV1PredictRequest + description: Request message for PredictionService.Predict. + type: object + properties: + instances: + description: >- + Required. The instances that are the input to the prediction call. A + DeployedModel may have an upper limit on the number of instances it + supports per request, and when it is exceeded the prediction call + errors in case of AutoML Models, or, in case of customer created + Models, the behaviour is as documented by that Model. The schema of + any single instance may be specified via Endpoint's DeployedModels' + Model's PredictSchemata's instance_schema_uri. type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ErrorAnalysisAnnotation - description: Annotations of model error analysis results. - groundTruths: + type: any + parameters: + description: >- + The parameters that govern the prediction. The schema of the + parameters may be specified via Endpoint's DeployedModels' Model's + PredictSchemata's parameters_schema_uri. + type: any + GoogleCloudAiplatformV1PredictResponse: + id: GoogleCloudAiplatformV1PredictResponse + description: Response message for PredictionService.Predict. + type: object + properties: + predictions: + description: >- + The predictions that are the output of the predictions call. The + schema of any single prediction may be specified via Endpoint's + DeployedModels' Model's PredictSchemata's prediction_schema_uri. type: array items: type: any + deployedModelId: + description: ID of the Endpoint's DeployedModel that served this prediction. + type: string + model: + description: >- + Output only. The resource name of the Model which is deployed as the + DeployedModel that this prediction hits. readOnly: true + type: string + modelVersionId: description: >- - Output only. The ground truth Annotations, i.e. the Annotations that - exist in the test data the Model is evaluated on. For true positive, - there is one and only one ground truth annotation, which matches the - only prediction in predictions. For false positive, there are zero - or more ground truth annotations that are similar to the only - prediction in predictions, but not enough for a match. For false - negative, there is one and only one ground truth annotation, which - doesn't match any predictions created by the model. The schema of - the ground truth is stored in ModelEvaluation.annotation_schema_uri - explanations: + Output only. The version ID of the Model which is deployed as the + DeployedModel that this prediction hits. + readOnly: true + type: string + modelDisplayName: description: >- - Explanations of predictions. Each element of the explanations - indicates the explanation for one explanation Method. The - attributions list in the EvaluatedAnnotationExplanation.explanation - object corresponds to the predictions list. For example, the second - element in the attributions list explains the second element in the - predictions list. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1EvaluatedAnnotationExplanation - dataItemPayload: - type: any + Output only. The display name of the Model which is deployed as the + DeployedModel that this prediction hits. readOnly: true + type: string + metadata: description: >- - Output only. The data item payload that the Model predicted this - EvaluatedAnnotation on. + Output only. Request-level metadata returned by the model. The + metadata type will be dependent upon the model implementation. + readOnly: true + type: any + GoogleCloudAiplatformV1RawPredictRequest: + id: GoogleCloudAiplatformV1RawPredictRequest + description: Request message for PredictionService.RawPredict. type: object + properties: + httpBody: + description: >- + The prediction input. Supports HTTP headers and arbitrary data + payload. A DeployedModel may have an upper limit on the number of + instances it supports per request. When this limit it is exceeded + for an AutoML model, the RawPredict method returns an error. When + this limit is exceeded for a custom-trained model, the behavior + varies depending on the model. You can specify the schema for each + instance in the predict_schemata.instance_schema_uri field when you + create a Model. This schema applies when you deploy the `Model` as a + `DeployedModel` to an Endpoint and use the `RawPredict` method. + $ref: '#/components/schemas/GoogleApiHttpBody' + GoogleApiHttpBody: + id: GoogleApiHttpBody description: >- - True positive, false positive, or false negative. EvaluatedAnnotation is - only available under ModelEvaluationSlice with slice of `annotationSpec` - dimension. - id: GoogleCloudAiplatformV1EvaluatedAnnotation - GoogleCloudAiplatformV1ListFeaturestoresResponse: + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. type: object - id: GoogleCloudAiplatformV1ListFeaturestoresResponse - description: Response message for FeaturestoreService.ListFeaturestores. properties: - nextPageToken: + contentType: description: >- - A token, which can be sent as ListFeaturestoresRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. + The HTTP Content-Type header value specifying the content type of + the body. type: string - featurestores: + data: + description: The HTTP request/response body as raw binary. + type: string + format: byte + extensions: + description: >- + Application specific response metadata. Must be set in the first + response for streaming APIs. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' - description: The Featurestores matching the request. - GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance: - description: Prediction input format for Text Classification. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + GoogleCloudAiplatformV1StreamRawPredictRequest: + id: GoogleCloudAiplatformV1StreamRawPredictRequest + description: Request message for PredictionService.StreamRawPredict. type: object properties: - mimeType: - description: >- - The MIME type of the text snippet. The supported MIME types are - listed below. - text/plain - type: string - content: - type: string - description: The text snippet to make the predictions on. - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance - GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams: - id: >- - GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams - description: Prediction model parameters for Image Object Detection. - properties: - maxPredictions: - type: integer - format: int32 - description: >- - The Model only returns up to that many top, by confidence score, - predictions per instance. Note that number of returned predictions - is also limited by metadata's predictionsLimit. Default value is 10. - confidenceThreshold: - format: float + httpBody: description: >- - The Model only returns predictions with at least this confidence - score. Default value is 0.0 - type: number + The prediction input. Supports HTTP headers and arbitrary data + payload. + $ref: '#/components/schemas/GoogleApiHttpBody' + GoogleCloudAiplatformV1DirectPredictRequest: + id: GoogleCloudAiplatformV1DirectPredictRequest + description: Request message for PredictionService.DirectPredict. type: object - GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec: properties: - maxValue: - description: Required. Inclusive maximum value of the parameter. - type: string - format: int64 - defaultValue: - format: int64 - type: string - description: >- - A default value for an `INTEGER` parameter that is assumed to be a - relatively good starting point. Unset value signals that there is no - offered starting point. Currently only supported by the Vertex AI - Vizier service. Not supported by HyperparameterTuningJob or - TrainingPipeline. - minValue: - format: int64 - description: Required. Inclusive minimum value of the parameter. - type: string + inputs: + description: The prediction input. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + parameters: + description: The parameters that govern the prediction. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + GoogleCloudAiplatformV1Tensor: + id: GoogleCloudAiplatformV1Tensor + description: A tensor value type. type: object - description: Value specification for a parameter in `INTEGER` type. - id: GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec - GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult: properties: - bboxes: + dtype: + description: The data type of tensor. + type: string + enumDescriptions: + - >- + Not a legal value for DataType. Used to indicate a DataType field + has not been set. + - >- + Data types that all computation devices are expected to be capable + to support. + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - DATA_TYPE_UNSPECIFIED + - BOOL + - STRING + - FLOAT + - DOUBLE + - INT8 + - INT16 + - INT32 + - INT64 + - UINT8 + - UINT16 + - UINT32 + - UINT64 + shape: + description: Shape of the tensor. + type: array items: - type: array - items: - type: any + type: string + format: int64 + boolVal: description: >- - Bounding boxes, i.e. the rectangles over the image, that pinpoint - the found AnnotationSpecs. Given in order that matches the IDs. Each - bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and - `yMax`, which represent the extremal coordinates of the box. They - are relative to the image size, and the point 0,0 is in the top left - of the image. + Type specific representations that make it easy to create tensor + protos in all languages. Only the representation corresponding to + "dtype" can be set. The values hold the flattened representation of + the tensor in row major order. BOOL type: array - displayNames: + items: + type: boolean + stringVal: + description: STRING type: array - description: >- - The display names of the AnnotationSpecs that had been identified, - order matches the IDs. items: type: string - ids: - description: >- - The resource IDs of the AnnotationSpecs that had been identified, - ordered by the confidence score descendingly. + bytesVal: + description: STRING + type: array items: - format: int64 type: string + format: byte + floatVal: + description: FLOAT type: array - confidences: items: - format: float type: number - description: >- - The Model's confidences in correctness of the predicted IDs, higher - value means higher confidence. Order matches the Ids. + format: float + doubleVal: + description: DOUBLE type: array - type: object - description: Prediction output format for Image Object Detection. - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult - GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse: - properties: - blobs: items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardBlob' + type: number + format: double + intVal: + description: INT_8 INT_16 INT_32 type: array - description: Blob messages containing blob bytes. - description: Response message for TensorboardService.ReadTensorboardBlobData. - type: object - id: GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse - GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata: - id: GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata - type: object - properties: - indexDisplayNameMapping: - description: >- - Static mapping between the index and display name. Use this if the - outputs are a deterministic n-dimensional array, e.g. a list of - scores of all the classes in a pre-defined order for a - multi-classification Model. It's not feasible if the outputs are - non-deterministic, e.g. the Model produces top-k classes or sort the - outputs by their values. The shape of the value must be an - n-dimensional array of strings. The number of dimensions must match - that of the outputs to be explained. The - Attribution.output_display_name is populated by locating in the - mapping with Attribution.output_index. - type: any - displayNameMappingKey: - type: string - description: >- - Specify a field name in the prediction to look for the display name. - Use this if the prediction contains the display names for the - outputs. The display names in the prediction must have the same - shape of the outputs, so that it can be located by - Attribution.output_index for a specific output. - outputTensorName: - description: >- - Name of the output tensor. Required and is only applicable to Vertex - AI provided images for Tensorflow. - type: string - description: Metadata of the prediction output to be explained. - GoogleCloudAiplatformV1ListEntityTypesResponse: - id: GoogleCloudAiplatformV1ListEntityTypesResponse - properties: - nextPageToken: - description: >- - A token, which can be sent as ListEntityTypesRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. - type: string - entityTypes: + items: + type: integer + format: int32 + int64Val: + description: INT64 type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' - description: The EntityTypes matching the request. - type: object - description: Response message for FeaturestoreService.ListEntityTypes. - GoogleCloudAiplatformV1StudySpecMetricSpec: - properties: - goal: - enum: - - GOAL_TYPE_UNSPECIFIED - - MAXIMIZE - - MINIMIZE - enumDescriptions: - - Goal Type will default to maximize. - - Maximize the goal metric. - - Minimize the goal metric. - type: string - description: Required. The optimization goal of the metric. - metricId: - type: string - description: >- - Required. The ID of the metric. Must not contain whitespaces and - must be unique amongst all MetricSpecs. - safetyConfig: - description: >- - Used for safe search. In the case, the metric will be a safety - metric. You must provide a separate metric for objective metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig - id: GoogleCloudAiplatformV1StudySpecMetricSpec - description: Represents a metric to optimize. - type: object - GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata: - properties: - genericMetadata: - description: Operation metadata for EntityType. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - type: object - description: Details of operations that perform create EntityType. - id: GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata - GoogleCloudAiplatformV1FluencyInstance: - id: GoogleCloudAiplatformV1FluencyInstance - properties: - prediction: - type: string - description: Required. Output of the evaluated model. - description: Spec for fluency instance. - type: object - GoogleCloudAiplatformV1ToolConfig: - id: GoogleCloudAiplatformV1ToolConfig - description: >- - Tool config. This config is shared for all tools provided in the - request. - type: object - properties: - functionCallingConfig: - description: Optional. Function calling config. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionCallingConfig' - GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource: - description: >- - A Feature Registry source for features that need to be synced to Online - Store. - id: GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource - type: object - properties: - projectNumber: - format: int64 - type: string - description: >- - Optional. The project number of the parent project of the Feature - Groups. - featureGroups: - description: Required. List of features that need to be synced to Online Store. + type: string + format: int64 + uintVal: + description: UINT8 UINT16 UINT32 type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup - GoogleCloudAiplatformV1VertexRagStoreRagResource: - properties: - ragFileIds: + type: integer + format: uint32 + uint64Val: + description: UINT64 + type: array items: type: string - description: >- - Optional. rag_file_id. The files should be in the same rag_corpus - set in rag_corpus field. - type: array - ragCorpus: - type: string - description: >- - Optional. RagCorpora resource name. Format: - `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` - type: object - id: GoogleCloudAiplatformV1VertexRagStoreRagResource - description: The definition of the Rag resource. - GoogleCloudAiplatformV1TuningDataStats: - id: GoogleCloudAiplatformV1TuningDataStats - properties: - supervisedTuningDataStats: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SupervisedTuningDataStats - description: The SFT Tuning data stats. - type: object - description: The tuning data statistic values for TuningJob. - GoogleCloudAiplatformV1FeatureViewDataKey: - description: Lookup key for a feature view. - properties: - compositeKey: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey - description: >- - The actual Entity ID will be composed from this struct. This should - match with the way ID is defined in the FeatureView spec. - key: - description: String key to use for lookup. - type: string - id: GoogleCloudAiplatformV1FeatureViewDataKey - type: object - GoogleCloudAiplatformV1ExplanationMetadata: - type: object - description: Metadata describing the Model's input and output for explanation. - id: GoogleCloudAiplatformV1ExplanationMetadata - properties: - latentSpaceSource: - type: string - description: >- - Name of the source to generate embeddings for example based - explanations. - featureAttributionsSchemaUri: - type: string - description: >- - Points to a YAML file stored on Google Cloud Storage describing the - format of the feature attributions. 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 tabular Models always have this field populated by Vertex AI. - Note: The URI given on output may be 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. - outputs: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata - description: >- - Required. Map from output names to output metadata. For Vertex - AI-provided Tensorflow images, keys can be any user defined string - that consists of any UTF-8 characters. For custom images, keys are - the name of the output field in the prediction to be explained. - Currently only one key is allowed. + format: uint64 + listVal: + description: A list of tensor values. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + structVal: + description: A map of string to tensor. type: object - inputs: additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataInputMetadata - description: >- - Required. Map from feature names to feature input metadata. Keys are - the name of the features. Values are the specification of the - feature. An empty InputMetadata is valid. It describes a text - feature which has the name specified as the key in - ExplanationMetadata.inputs. The baseline of the empty feature is - chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the - key can be any friendly name of the feature. Once specified, - featureAttributions are keyed by this key (if not grouped with - another feature). For custom images, the key must match with the key - in instance. - type: object - GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata: - id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata - properties: - inputConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig - timeSeriesIdentifierColumn: - type: string - description: >- - The column name of the time series identifier column that identifies - the time series. - timeColumn: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + tensorVal: + description: Serialized raw tensor content. type: string - description: >- - The column name of the time column that identifies time order in the - time series. - type: object - description: The metadata of Datasets that contain time series data. - GoogleCloudAiplatformV1FindNeighborsResponse: - id: GoogleCloudAiplatformV1FindNeighborsResponse + format: byte + GoogleCloudAiplatformV1DirectPredictResponse: + id: GoogleCloudAiplatformV1DirectPredictResponse + description: Response message for PredictionService.DirectPredict. type: object - description: The response message for MatchService.FindNeighbors. - properties: - nearestNeighbors: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors - type: array - description: The nearest neighbors of the query datapoints. - GoogleCloudAiplatformV1RougeResults: - description: Results for rouge metric. properties: - rougeMetricValues: + outputs: + description: The prediction output. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeMetricValue' - readOnly: true - description: Output only. Rouge metric values. - id: GoogleCloudAiplatformV1RougeResults + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + parameters: + description: The parameters that govern the prediction. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + GoogleCloudAiplatformV1DirectRawPredictRequest: + id: GoogleCloudAiplatformV1DirectRawPredictRequest + description: Request message for PredictionService.DirectRawPredict. type: object - GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource: properties: - uri: - type: string + methodName: description: >- - The Cloud Storage uri pointing to the ipynb file. Format: - `gs://bucket/notebook_file.ipynb` - generation: + Fully qualified name of the API method being invoked to perform + predictions. Format: `/namespace.Service/Method/` Example: + `/tensorflow.serving.PredictionService/Predict` type: string - description: >- - The version of the Cloud Storage object to read. If unset, the - current version of the object is read. See - https://cloud.google.com/storage/docs/metadata#generation-number. - type: object - description: The Cloud Storage uri for the input notebook. - id: GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource - GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig: - type: object - description: >- - Config for migrating AnnotatedDataset in datalabeling.googleapis.com to - Vertex AI's SavedQuery. - properties: - annotatedDataset: + input: + description: The prediction input. type: string - description: >- - Required. Full resource name of data labeling AnnotatedDataset. - Format: - `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. - id: >- - GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig - GoogleCloudAiplatformV1AutoscalingMetricSpec: - id: GoogleCloudAiplatformV1AutoscalingMetricSpec + format: byte + GoogleCloudAiplatformV1DirectRawPredictResponse: + id: GoogleCloudAiplatformV1DirectRawPredictResponse + description: Response message for PredictionService.DirectRawPredict. + type: object properties: - target: - format: int32 - type: integer - description: >- - The target resource utilization in percentage (1% - 100%) for the - given metric; once the real usage deviates from the target by a - certain percentage, the machine replicas change. The default value - is 60 (representing 60%) if not provided. - metricName: - description: >- - Required. The resource metric name. Supported metrics: * For Online - Prediction: * - `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` - * `aiplatform.googleapis.com/prediction/online/cpu/utilization` + output: + description: The prediction output. type: string + format: byte + GoogleCloudAiplatformV1StreamingPredictRequest: + id: GoogleCloudAiplatformV1StreamingPredictRequest description: >- - The metric specification that defines the target resource utilization - (CPU utilization, accelerator's duty cycle, and so on) for calculating - the desired replica count. + Request message for PredictionService.StreamingPredict. The first + message must contain endpoint field and optionally input. The subsequent + messages must contain input. type: object - GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail: - description: The detailed info for a custom job executor. properties: - failedJobs: - description: >- - Output only. The names of the previously failed CustomJob. The list - includes the all attempts in chronological order. - readOnly: true - items: - type: string + inputs: + description: The prediction input. type: array - job: - type: string - description: Output only. The name of the CustomJob. - readOnly: true - type: object - id: GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail - GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource: - id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + parameters: + description: The parameters that govern the prediction. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + GoogleCloudAiplatformV1StreamingPredictResponse: + id: GoogleCloudAiplatformV1StreamingPredictResponse + description: Response message for PredictionService.StreamingPredict. type: object properties: - uri: + outputs: + description: The prediction output. type: array - description: >- - Cloud Storage URI of one or more files. Only CSV files are - supported. The first line of the CSV file is used as the header. If - there are multiple files, the header is the first line of the - lexicographically first file, the other files must either contain - the exact same header or omit the header. items: - type: string - GoogleCloudAiplatformV1ImportDataConfig: - properties: - gcsSource: - description: The Google Cloud Storage location for the input content. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' - dataItemLabels: - type: object - additionalProperties: - type: string - description: >- - Labels that will be applied to newly imported DataItems. If an - identical DataItem as one being imported already exists in the - Dataset, then these labels will be appended to these of the already - existing one, and if labels with identical key is imported before, - the old label value will be overwritten. If two DataItems are - identical in the same import data operation, the labels will be - combined and if key collision happens in this case, one of the - values will be picked randomly. Two DataItems are considered - identical if their content bytes are identical (e.g. image bytes or - pdf bytes). These labels will be overridden by Annotation labels - specified inside index file referenced by import_schema_uri, e.g. - jsonl file. - importSchemaUri: - description: >- - Required. Points to a YAML file stored on Google Cloud Storage - describing the import format. Validation will be done against the - schema. 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). - type: string - annotationLabels: - additionalProperties: - type: string - type: object - description: >- - Labels that will be applied to newly imported Annotations. If two - Annotations are identical, one of them will be deduped. Two - Annotations are considered identical if their payload, - payload_schema_uri and all of their labels are the same. These - labels will be overridden by Annotation labels specified inside - index file referenced by import_schema_uri, e.g. jsonl file. - description: >- - Describes the location from where we import data into a Dataset, - together with the labels that will be applied to the DataItems and the - Annotations. - type: object - id: GoogleCloudAiplatformV1ImportDataConfig - GoogleCloudAiplatformV1ExactMatchMetricValue: - type: object - description: Exact match metric value for an instance. - id: GoogleCloudAiplatformV1ExactMatchMetricValue - properties: - score: - readOnly: true - type: number - format: float - description: Output only. Exact match score. - GoogleCloudAiplatformV1FluencyInput: - type: object - description: Input for fluency metric. - id: GoogleCloudAiplatformV1FluencyInput - properties: - metricSpec: - description: Required. Spec for fluency score metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencySpec' - instance: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencyInstance' - description: Required. Fluency instance. - GoogleCloudAiplatformV1PairwiseMetricInput: - properties: - instance: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricInstance' - description: Required. Pairwise metric instance. - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricSpec' - description: Required. Spec for pairwise metric. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + parameters: + description: The parameters that govern the prediction. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' + GoogleCloudAiplatformV1PredictLongRunningRequest: + id: GoogleCloudAiplatformV1PredictLongRunningRequest + description: Request message for PredictionService.PredictLongRunning. type: object - id: GoogleCloudAiplatformV1PairwiseMetricInput - description: Input for pairwise metric. - GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature: properties: - name: + instances: description: >- - The name of the input feature for which noise sigma is provided. The - features are defined in explanation metadata inputs. - type: string - sigma: + Required. The instances that are the input to the prediction call. A + DeployedModel may have an upper limit on the number of instances it + supports per request, and when it is exceeded the prediction call + errors in case of AutoML Models, or, in case of customer created + Models, the behaviour is as documented by that Model. The schema of + any single instance may be specified via Endpoint's DeployedModels' + Model's PredictSchemata's instance_schema_uri. + type: array + items: + type: any + parameters: description: >- - This represents the standard deviation of the Gaussian kernel that - will be used to add noise to the feature prior to computing - gradients. Similar to noise_sigma but represents the noise added to - the current feature. Defaults to 0.1. - format: float - type: number - description: Noise sigma for a single feature. - type: object - id: GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature - GoogleCloudAiplatformV1SearchDataItemsResponse: + Optional. The parameters that govern the prediction. The schema of + the parameters may be specified via Endpoint's DeployedModels' + Model's PredictSchemata's parameters_schema_uri. + type: any + GoogleCloudAiplatformV1FetchPredictOperationRequest: + id: GoogleCloudAiplatformV1FetchPredictOperationRequest + description: Request message for PredictionService.FetchPredictOperation. type: object properties: - dataItemViews: - description: The DataItemViews read. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataItemView' - type: array - nextPageToken: - description: >- - A token to retrieve next page of results. Pass to - SearchDataItemsRequest.page_token to obtain that page. + operationName: + description: Required. The server-assigned name for the operation. type: string - description: Response message for DatasetService.SearchDataItems. - id: GoogleCloudAiplatformV1SearchDataItemsResponse - GoogleCloudAiplatformV1SummarizationQualityInput: - properties: - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SummarizationQualitySpec' - description: Required. Spec for summarization quality score metric. - instance: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationQualityInstance - description: Required. Summarization quality instance. - description: Input for summarization quality metric. - id: GoogleCloudAiplatformV1SummarizationQualityInput - type: object - GoogleCloudAiplatformV1ListIndexesResponse: + GoogleCloudAiplatformV1ExplainRequest: + id: GoogleCloudAiplatformV1ExplainRequest + description: Request message for PredictionService.Explain. type: object - id: GoogleCloudAiplatformV1ListIndexesResponse - description: Response message for IndexService.ListIndexes. properties: - nextPageToken: - type: string + instances: description: >- - A token to retrieve next page of results. Pass to - ListIndexesRequest.page_token to obtain that page. - indexes: - description: List of indexes in the requested page. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' + Required. The instances that are the input to the explanation call. + A DeployedModel may have an upper limit on the number of instances + it supports per request, and when it is exceeded the explanation + call errors in case of AutoML Models, or, in case of customer + created Models, the behaviour is as documented by that Model. The + schema of any single instance may be specified via Endpoint's + DeployedModels' Model's PredictSchemata's instance_schema_uri. type: array - GoogleCloudAiplatformV1MigratableResource: + items: + type: any + parameters: + description: >- + The parameters that govern the prediction. The schema of the + parameters may be specified via Endpoint's DeployedModels' Model's + PredictSchemata's parameters_schema_uri. + type: any + explanationSpecOverride: + description: >- + If specified, overrides the explanation_spec of the DeployedModel. + Can be used for explaining prediction results with different + configurations, such as: - Explaining top-5 predictions results as + opposed to top-1; - Increasing path count or step count of the + attribution methods to reduce approximate errors; - Using different + baselines for explaining the prediction results. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpecOverride' + deployedModelId: + description: >- + If specified, this ExplainRequest will be served by the chosen + DeployedModel, overriding Endpoint.traffic_split. + type: string + GoogleCloudAiplatformV1ExplanationSpecOverride: + id: GoogleCloudAiplatformV1ExplanationSpecOverride + description: >- + The ExplanationSpec entries that can be overridden at online explanation + time. type: object properties: - dataLabelingDataset: - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset - description: Output only. Represents one Dataset in datalabeling.googleapis.com. - mlEngineModelVersion: - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion - description: Output only. Represents one Version in ml.googleapis.com. - automlModel: - description: Output only. Represents one Model in automl.googleapis.com. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigratableResourceAutomlModel - readOnly: true - lastMigrateTime: - type: string - format: google-datetime - readOnly: true + parameters: description: >- - Output only. Timestamp when the last migration attempt on this - MigratableResource started. Will not be set if there's no migration - attempt on this MigratableResource. - lastUpdateTime: - readOnly: true + The parameters to be overridden. Note that the attribution method + cannot be changed. If not specified, no parameter is overridden. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationParameters' + metadata: description: >- - Output only. Timestamp when this MigratableResource was last - updated. - type: string - format: google-datetime - automlDataset: - description: Output only. Represents one Dataset in automl.googleapis.com. + The metadata to be overridden. If not specified, no metadata is + overridden. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigratableResourceAutomlDataset - readOnly: true + #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataOverride + examplesOverride: + description: The example-based explanations parameter overrides. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExamplesOverride' + GoogleCloudAiplatformV1ExplanationMetadataOverride: + id: GoogleCloudAiplatformV1ExplanationMetadataOverride description: >- - Represents one resource that exists in automl.googleapis.com, - datalabeling.googleapis.com or ml.googleapis.com. - id: GoogleCloudAiplatformV1MigratableResource - GoogleCloudAiplatformV1IdMatcher: + The ExplanationMetadata entries that can be overridden at online + explanation time. + type: object properties: - ids: - items: - type: string + inputs: description: >- - Required. The following are accepted as `ids`: * A single-element - list containing only `*`, which selects all Features in the target - EntityType, or * A list containing only Feature IDs, which selects - only Features with those IDs in the target EntityType. - type: array - description: Matcher for Features of an EntityType by Feature ID. - type: object - id: GoogleCloudAiplatformV1IdMatcher - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs: - properties: {} - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs - GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest: - id: GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest + Required. Overrides the input metadata of the features. The key is + the name of the feature to be overridden. The keys specified here + must exist in the input metadata to be overridden. If a feature is + not specified here, the corresponding feature's input metadata is + not overridden. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride + GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride: + id: GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride + description: The input metadata entries to be overridden. type: object - description: Request message for ModelService.BatchImportModelEvaluationSlices properties: - modelEvaluationSlices: + inputBaselines: + description: >- + Baseline inputs for this feature. This overrides the + `input_baseline` field of the ExplanationMetadata.InputMetadata + object of the corresponding feature's input metadata. If it's not + specified, the original baselines are not overridden. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSlice' - description: Required. Model evaluation slice resource to be imported. - GoogleCloudAiplatformV1ListEndpointsResponse: + type: any + GoogleCloudAiplatformV1ExamplesOverride: + id: GoogleCloudAiplatformV1ExamplesOverride + description: Overrides for example-based explanations. type: object - id: GoogleCloudAiplatformV1ListEndpointsResponse - description: Response message for EndpointService.ListEndpoints. properties: - nextPageToken: - type: string + neighborCount: + description: The number of neighbors to return. + type: integer + format: int32 + crowdingCount: + description: The number of neighbors to return that have the same crowding tag. + type: integer + format: int32 + restrictions: description: >- - A token to retrieve the next page of results. Pass to - ListEndpointsRequest.page_token to obtain that page. - endpoints: + Restrict the resulting nearest neighbors to respect these + constraints. type: array - description: List of Endpoints in the requested page. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' - GoogleCloudAiplatformV1ReadFeatureValuesRequest: - properties: - featureSelector: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' - description: Required. Selector choosing Features of the target EntityType. - entityId: - type: string - description: >- - Required. ID for a specific entity. For example, for a machine - learning model predicting user clicks on a website, an entity ID - could be `user_123`. - type: object - description: Request message for FeaturestoreOnlineServingService.ReadFeatureValues. - id: GoogleCloudAiplatformV1ReadFeatureValuesRequest - GoogleCloudAiplatformV1ListIndexEndpointsResponse: - description: Response message for IndexEndpointService.ListIndexEndpoints. - properties: - indexEndpoints: items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' - description: List of IndexEndpoints in the requested page. - type: array - nextPageToken: - description: >- - A token to retrieve next page of results. Pass to - ListIndexEndpointsRequest.page_token to obtain that page. - type: string - id: GoogleCloudAiplatformV1ListIndexEndpointsResponse - type: object - GoogleCloudAiplatformV1ReservationAffinity: - type: object - description: >- - A ReservationAffinity can be used to configure a Vertex AI resource - (e.g., a DeployedModel) to draw its Compute Engine resources from a - Shared Reservation, or exclusively from on-demand capacity. - id: GoogleCloudAiplatformV1ReservationAffinity - properties: - reservationAffinityType: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExamplesRestrictionsNamespace + returnEmbeddings: + description: If true, return the embeddings instead of neighbors. + type: boolean + dataFormat: + description: The format of the data being provided with each call. + type: string enumDescriptions: - - Default value. This should not be used. - - Do not consume from any reserved capacity, only use on-demand. - - Consume any reservation available, falling back to on-demand. - - >- - Consume from a specific reservation. When chosen, the reservation - must be identified via the `key` and `values` fields. - description: Required. Specifies the reservation affinity type. + - Unspecified format. Must not be used. + - Provided data is a set of model inputs. + - Provided data is a set of embeddings. enum: - - TYPE_UNSPECIFIED - - NO_RESERVATION - - ANY_RESERVATION - - SPECIFIC_RESERVATION + - DATA_FORMAT_UNSPECIFIED + - INSTANCES + - EMBEDDINGS + GoogleCloudAiplatformV1ExamplesRestrictionsNamespace: + id: GoogleCloudAiplatformV1ExamplesRestrictionsNamespace + description: Restrictions namespace for example-based explanations overrides. + type: object + properties: + namespaceName: + description: The namespace name. type: string - values: + allow: + description: The list of allowed tags. + type: array items: type: string + deny: + description: The list of deny tags. type: array - description: >- - Optional. Corresponds to the label values of a reservation resource. - This must be the full resource name of the reservation. - key: - description: >- - Optional. Corresponds to the label key of a reservation resource. To - target a SPECIFIC_RESERVATION by name, use - `compute.googleapis.com/reservation-name` as the key and specify the - name of your reservation as its value. - type: string - GoogleCloudAiplatformV1PSCAutomationConfig: - id: GoogleCloudAiplatformV1PSCAutomationConfig + items: + type: string + GoogleCloudAiplatformV1ExplainResponse: + id: GoogleCloudAiplatformV1ExplainResponse + description: Response message for PredictionService.Explain. + type: object properties: - projectId: - description: Required. Project id used to create forwarding rule. - type: string - network: + explanations: + description: >- + The explanations of the Model's PredictResponse.predictions. It has + the same number of elements as instances to be explained. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Explanation' + deployedModelId: + description: ID of the Endpoint's DeployedModel that served this explanation. type: string + predictions: description: >- - Required. The full name of the Google Compute Engine - [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). - [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. - type: object + The predictions that are the output of the predictions call. Same as + PredictResponse.predictions. + type: array + items: + type: any + GoogleCloudAiplatformV1Explanation: + id: GoogleCloudAiplatformV1Explanation description: >- - PSC config that is used to automatically create forwarding rule via - ServiceConnectionMap. - GoogleCloudAiplatformV1BleuInput: - id: GoogleCloudAiplatformV1BleuInput + Explanation of a prediction (provided in PredictResponse.predictions) + produced by the Model on a given instance. type: object properties: - instances: - description: Required. Repeated bleu instances. + attributions: + description: >- + Output only. Feature attributions grouped by predicted outputs. For + Models that predict only one output, such as regression Models that + predict only one score, there is only one attibution that explains + the predicted output. For Models that predict multiple outputs, such + as multiclass Models that predict multiple classes, each element + explains one specific item. Attribution.output_index can be used to + identify which output this attribution is explaining. By default, we + provide Shapley values for the predicted class. However, you can + configure the explanation request to generate Shapley values for any + other classes too. For example, if a model predicts a probability of + `0.4` for approving a loan application, the model's decision is to + reject the application since `p(reject) = 0.6 > p(approve) = 0.4`, + and the default Shapley values would be computed for rejection + decision and not approval, even though the latter might be the + positive class. If users set ExplanationParameters.top_k, the + attributions are sorted by instance_output_value in descending + order. If ExplanationParameters.output_indices is specified, the + attributions are stored by Attribution.output_index in the same + order as they appear in the output_indices. + readOnly: true + type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuInstance' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Attribution' + neighbors: + description: >- + Output only. List of the nearest neighbors for example-based + explanations. For models deployed with the examples explanations + feature enabled, the attributions field is empty and instead the + neighbors field is populated. + readOnly: true type: array - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuSpec' - description: Required. Spec for bleu score metric. - description: Input for bleu metric. - GoogleCloudAiplatformV1Segment: + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Neighbor' + GoogleCloudAiplatformV1Attribution: + id: GoogleCloudAiplatformV1Attribution + description: Attribution that explains a particular prediction output. + type: object properties: - endIndex: + baselineOutputValue: description: >- - Output only. End index in the given Part, measured in bytes. Offset - from the start of the Part, exclusive, starting at zero. - format: int32 + Output only. Model predicted output if the input instance is + constructed from the baselines of all the features defined in + ExplanationMetadata.inputs. The field name of the output is + determined by the key in ExplanationMetadata.outputs. If the Model's + predicted output has multiple dimensions (rank > 1), this is the + value in the output located by output_index. If there are multiple + baselines, their output values are averaged. readOnly: true - type: integer - text: + type: number + format: double + instanceOutputValue: description: >- - Output only. The text corresponding to the segment from the - response. + Output only. Model predicted output on the corresponding explanation + instance. The field name of the output is determined by the key in + ExplanationMetadata.outputs. If the Model predicted output has + multiple dimensions, this is the value in the output located by + output_index. readOnly: true - type: string - startIndex: - type: integer - format: int32 + type: number + format: double + featureAttributions: description: >- - Output only. Start index in the given Part, measured in bytes. - Offset from the start of the Part, inclusive, starting at zero. + Output only. Attributions of each explained feature. Features are + extracted from the prediction instances according to explanation + metadata for inputs. The value is a struct, whose keys are the name + of the feature. The values are how much the feature in the instance + contributed to the predicted result. The format of the value is + determined by the feature's input format: * If the feature is a + scalar value, the attribution value is a floating number. * If the + feature is an array of scalar values, the attribution value is an + array. * If the feature is a struct, the attribution value is a + struct. The keys in the attribution value struct are the same as the + keys in the feature struct. The formats of the values in the + attribution struct are determined by the formats of the values in + the feature struct. The + ExplanationMetadata.feature_attributions_schema_uri field, pointed + to by the ExplanationSpec field of the Endpoint.deployed_models + object, points to the schema file that describes the features and + their attribution values (if it is populated). readOnly: true - partIndex: + type: any + outputIndex: + description: >- + Output only. The index that locates the explained prediction output. + If the prediction output is a scalar value, output_index is not + populated. If the prediction output has multiple dimensions, the + length of the output_index list is the same as the number of + dimensions of the output. The i-th element in output_index is the + element index of the i-th dimension of the output vector. Indices + start from 0. readOnly: true - format: int32 + type: array + items: + type: integer + format: int32 + outputDisplayName: description: >- - Output only. The index of a Part object within its parent Content - object. - type: integer + Output only. The display name of the output identified by + output_index. For example, the predicted class name by a + multi-classification Model. This field is only populated iff the + Model predicts display names as a separate field along with the + explained output. The predicted display name must has the same shape + of the explained output, and can be located using output_index. + readOnly: true + type: string + approximationError: + description: >- + Output only. Error of feature_attributions caused by approximation + used in the explanation method. Lower value means more precise + attributions. * For Sampled Shapley attribution, increasing + path_count might reduce the error. * For Integrated Gradients + attribution, increasing step_count might reduce the error. * For + XRAI attribution, increasing step_count might reduce the error. See + [this introduction](/vertex-ai/docs/explainable-ai/overview) for + more information. + readOnly: true + type: number + format: double + outputName: + description: >- + Output only. Name of the explain output. Specified as the key in + ExplanationMetadata.outputs. + readOnly: true + type: string + GoogleCloudAiplatformV1Neighbor: + id: GoogleCloudAiplatformV1Neighbor + description: Neighbors for example-based explanations. type: object - id: GoogleCloudAiplatformV1Segment - description: Segment of the content. - GoogleCloudAiplatformV1MutateDeployedModelRequest: - description: Request message for EndpointService.MutateDeployedModel. - id: GoogleCloudAiplatformV1MutateDeployedModelRequest + properties: + neighborId: + description: Output only. The neighbor id. + readOnly: true + type: string + neighborDistance: + description: Output only. The neighbor distance. + readOnly: true + type: number + format: double + GoogleCloudAiplatformV1GenerateContentRequest: + id: GoogleCloudAiplatformV1GenerateContentRequest + description: Request message for [PredictionService.GenerateContent]. type: object properties: - deployedModel: + contents: description: >- - Required. The DeployedModel to be mutated within the Endpoint. Only - the following fields can be mutated: * `min_replica_count` in either - DedicatedResources or AutomaticResources * `max_replica_count` in - either DedicatedResources or AutomaticResources * - autoscaling_metric_specs * `disable_container_logging` (v1 only) * - `enable_container_logging` (v1beta1 only) - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' - updateMask: - format: google-fieldmask + Required. The content of the current conversation with the model. + For single-turn queries, this is a single instance. For multi-turn + queries, this is a repeated field that contains conversation history + + latest request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + systemInstruction: description: >- - Required. The update mask applies to the resource. See - google.protobuf.FieldMask. - type: string - GoogleCloudAiplatformV1ToolNameMatchInput: - properties: - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchSpec' - description: Required. Spec for tool name match metric. - instances: + Optional. The user provided system instructions for the model. Note: + only text should be used in parts and content in each part will be + in a separate paragraph. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + tools: + description: >- + Optional. A list of `Tools` the model may use to generate the next + response. A `Tool` is a piece of code that enables the system to + interact with external systems to perform an action, or set of + actions, outside of knowledge and scope of the model. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchInstance' - description: Required. Repeated tool name match instances. - id: GoogleCloudAiplatformV1ToolNameMatchInput - description: Input for tool name match metric. - type: object - GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tool' + toolConfig: + description: >- + Optional. Tool config. This config is shared for all tools provided + in the request. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolConfig' + labels: + description: >- + Optional. The labels with user-defined metadata for the request. It + is used for billing and reporting only. Label keys and values can be + no longer than 63 characters (Unicode codepoints) and can only + contain lowercase letters, numeric characters, underscores, and + dashes. International characters are allowed. Label values are + optional. Label keys must start with a letter. + type: object + additionalProperties: + type: string + safetySettings: + description: >- + Optional. Per request settings for blocking unsafe content. Enforced + on GenerateContentResponse.candidates. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetySetting' + generationConfig: + description: Optional. Generation config. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenerationConfig' + GoogleCloudAiplatformV1Tool: + id: GoogleCloudAiplatformV1Tool description: >- - Response message for - JobService.SearchModelDeploymentMonitoringStatsAnomalies. - id: >- - GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse + Tool details that the model may use to generate response. A `Tool` is a + piece of code that enables the system to interact with external systems + to perform an action, or set of actions, outside of knowledge and scope + of the model. A Tool object should contain exactly one type of Tool (e.g + FunctionDeclaration, Retrieval or GoogleSearchRetrieval). + type: object properties: - monitoringStats: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies + functionDeclarations: + description: >- + Optional. Function tool type. One or more function declarations to + be passed to the model along with the current user query. Model may + decide to call a subset of these functions by populating + FunctionCall in the response. User should provide a FunctionResponse + for each function call in the next turn. Based on the function + responses, Model will generate the final response back to the user. + Maximum 128 function declarations can be provided. type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionDeclaration' + retrieval: description: >- - Stats retrieved for requested objectives. There are at most 1000 - ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats - in the response. - nextPageToken: + Optional. Retrieval tool type. System will always execute the + provided retrieval tool(s) to get external knowledge to answer the + prompt. Retrieval results are presented to the model for generation. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Retrieval' + googleSearchRetrieval: description: >- - The page token that can be used by the next - JobService.SearchModelDeploymentMonitoringStatsAnomalies call. - type: string + Optional. GoogleSearchRetrieval tool type. Specialized retrieval + tool that is powered by Google search. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GoogleSearchRetrieval' + GoogleCloudAiplatformV1FunctionDeclaration: + id: GoogleCloudAiplatformV1FunctionDeclaration + description: >- + Structured representation of a function declaration as defined by the + [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). + Included in this declaration are the function name, description, + parameters and response type. This FunctionDeclaration is a + representation of a block of code that can be used as a `Tool` by the + model and executed by the client. type: object - GoogleCloudAiplatformV1Study: properties: name: description: >- - Output only. The name of a study. The study's globally unique - identifier. Format: - `projects/{project}/locations/{location}/studies/{study}` + Required. The name of the function to call. Must start with a letter + or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, + dots and dashes, with a maximum length of 64. type: string - readOnly: true - inactiveReason: - readOnly: true + description: description: >- - Output only. A human readable reason why the Study is inactive. This - should be empty if a study is ACTIVE or COMPLETED. - type: string - state: - description: Output only. The detailed state of a Study. - enumDescriptions: - - The study state is unspecified. - - The study is active. - - The study is stopped due to an internal error. - - >- - The study is done when the service exhausts the parameter search - space or max_trial_count is reached. - readOnly: true - type: string - enum: - - STATE_UNSPECIFIED - - ACTIVE - - INACTIVE - - COMPLETED - studySpec: - description: Required. Configuration of the Study. - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' - displayName: - type: string - description: Required. Describes the Study, default value is empty string. - createTime: - readOnly: true - description: Output only. Time at which the study was created. + Optional. Description and purpose of the function. Model uses it to + decide how and whether to call the function. type: string - format: google-datetime - description: A message representing a Study. - id: GoogleCloudAiplatformV1Study - type: object - GoogleCloudAiplatformV1ResumeScheduleRequest: - type: object - description: Request message for ScheduleService.ResumeSchedule. - properties: - catchUp: + parameters: description: >- - Optional. 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. This will also update Schedule.catch_up field. Default to - false. - type: boolean - id: GoogleCloudAiplatformV1ResumeScheduleRequest - GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec: - properties: - version: - type: integer - format: int32 - description: Optional. Which version to use for evaluation. - useReference: - type: boolean + Optional. Describes the parameters to this function in JSON Schema + Object format. Reflects the Open API 3.03 Parameter Object. string + Key: the name of the parameter. Parameter names are case sensitive. + Schema Value: the Schema defining the type used for the parameter. + For function with no parameters, this can be left unset. Parameter + names must start with a letter or an underscore and must only + contain chars a-z, A-Z, 0-9, or underscores with a maximum length of + 64. Example with 1 required and 1 optional parameter: type: OBJECT + properties: param1: type: STRING param2: type: INTEGER required: - + param1 + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + response: description: >- - Optional. Whether to use instance.reference to compute question - answering correctness. - description: Spec for question answering correctness metric. - type: object - id: GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec - GoogleCloudAiplatformV1PairwiseSummarizationQualityResult: - properties: - pairwiseChoice: - type: string - enum: - - PAIRWISE_CHOICE_UNSPECIFIED - - BASELINE - - CANDIDATE - - TIE - description: Output only. Pairwise summarization prediction choice. - enumDescriptions: - - Unspecified prediction choice. - - Baseline prediction wins - - Candidate prediction wins - - Winner cannot be determined - readOnly: true - confidence: - format: float - description: Output only. Confidence for summarization quality score. - readOnly: true - type: number - explanation: - type: string - readOnly: true - description: Output only. Explanation for summarization quality score. - id: GoogleCloudAiplatformV1PairwiseSummarizationQualityResult - description: Spec for pairwise summarization quality result. - type: object - GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput: - description: Input for question answering helpfulness metric. - properties: - metricSpec: - description: Required. Spec for question answering helpfulness score metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec - instance: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance - description: Required. Question answering helpfulness instance. - type: object - id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput - GoogleCloudAiplatformV1TFRecordDestination: - description: The storage details for TFRecord output content. - properties: - gcsDestination: - description: Required. Google Cloud Storage location. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - id: GoogleCloudAiplatformV1TFRecordDestination - type: object - GoogleCloudAiplatformV1UpdateExplanationDatasetResponse: - id: GoogleCloudAiplatformV1UpdateExplanationDatasetResponse - type: object - description: Response message of ModelService.UpdateExplanationDataset operation. - properties: {} - GoogleCloudAiplatformV1ExamplesOverride: - description: Overrides for example-based explanations. - id: GoogleCloudAiplatformV1ExamplesOverride + Optional. Describes the output from this function in JSON Schema + format. Reflects the Open API 3.03 Response Object. The Schema + defines the type used for the response value of the function. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + GoogleCloudAiplatformV1Schema: + id: GoogleCloudAiplatformV1Schema + description: >- + Schema is used to define the format of input/output data. Represents a + select subset of an [OpenAPI 3.0 schema + object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields + may be added in the future as needed. type: object properties: - neighborCount: - type: integer - description: The number of neighbors to return. - format: int32 - dataFormat: + type: + description: Optional. The type of the data. + type: string enumDescriptions: - - Unspecified format. Must not be used. - - Provided data is a set of model inputs. - - Provided data is a set of embeddings. + - Not specified, should not be used. + - OpenAPI string type + - OpenAPI number type + - OpenAPI integer type + - OpenAPI boolean type + - OpenAPI array type + - OpenAPI object type enum: - - DATA_FORMAT_UNSPECIFIED - - INSTANCES - - EMBEDDINGS - description: The format of the data being provided with each call. - type: string - returnEmbeddings: - description: If true, return the embeddings instead of neighbors. - type: boolean - restrictions: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExamplesRestrictionsNamespace + - TYPE_UNSPECIFIED + - STRING + - NUMBER + - INTEGER + - BOOLEAN + - ARRAY + - OBJECT + format: description: >- - Restrict the resulting nearest neighbors to respect these - constraints. - type: array - crowdingCount: - format: int32 - type: integer - description: The number of neighbors to return that have the same crowding tag. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata: - type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata - properties: - evaluatedDataItemsBigqueryUri: - description: BigQuery destination uri for exported evaluated examples. + Optional. The format of the data. Supported formats: for NUMBER + type: "float", "double" for INTEGER type: "int32", "int64" for + STRING type: "email", "byte", etc type: string - trainCostMilliNodeHours: + title: + description: Optional. The title of the Schema. type: string + description: + description: Optional. The description of the data. + type: string + nullable: + description: Optional. Indicates if the value may be null. + type: boolean + default: + description: Optional. Default value of the data. + type: any + items: description: >- - Output only. The actual training cost of the model, expressed in - milli node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed the train budget. + Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of + Type.ARRAY. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + minItems: + description: Optional. Minimum number of the elements for Type.ARRAY. + type: string format: int64 - description: Model metadata specific to AutoML Tables. - GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata: - type: object - description: Runtime operation metadata with regard to Matching Engine Index. - properties: - dataBytesCount: + maxItems: + description: Optional. Maximum number of the elements for Type.ARRAY. type: string - description: The ingested data size in bytes. format: int64 - contentValidationStats: + enum: + description: >- + Optional. Possible values of the element of primitive type with enum + format. Examples: 1. We can define direction as : {type:STRING, + format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can + define apartment number as : {type:INTEGER, format:enum, + enum:["101", "201", "301"]} type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats - description: >- - The validation stats of the content (per file) to be inserted or - updated on the Matching Engine Index resource. Populated if - contentsDeltaUri is provided as part of Index.metadata. Please note - that, currently for those files that are broken or has unsupported - file format, we will not have the stats for those files. - id: GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata - GoogleCloudAiplatformV1BatchPredictionJobOutputConfig: - properties: - bigqueryDestination: - description: >- - The BigQuery project or dataset location where the output is to be - written to. If project is provided, a new dataset is created with - name `prediction__` where is made BigQuery-dataset-name compatible - (for example, most special characters become underscores), and - timestamp is in YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. - In the dataset two tables will be created, `predictions`, and - `errors`. If the Model has both instance and prediction schemata - defined then the tables have columns as follows: The `predictions` - table contains instances for which the prediction succeeded, it has - columns as per a concatenation of the Model's instance and - prediction schemata. The `errors` table contains rows for which the - prediction has failed, it has instance columns, as per the instance - schema, followed by a single "errors" column, which as values has - google.rpc.Status represented as a STRUCT, and containing only - `code` and `message`. - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' - predictionsFormat: + type: string + properties: + description: Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + propertyOrdering: description: >- - Required. The format in which Vertex AI gives the predictions, must - be one of the Model's supported_output_storage_formats. + Optional. The order of the properties. Not a standard field in open + api spec. Only used to support the order of the properties. + type: array + items: + type: string + required: + description: Optional. Required properties of Type.OBJECT. + type: array + items: + type: string + minProperties: + description: Optional. Minimum number of the properties for Type.OBJECT. type: string - gcsDestination: - description: >- - The Cloud Storage location of the directory where the output is to - be written to. In the given directory a new directory is created. - Its name is `prediction--`, where timestamp is in - YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files - `predictions_0001.`, `predictions_0002.`, ..., `predictions_N.` are - created where `` depends on chosen predictions_format, and N may - equal 0001 and depends on the total number of successfully predicted - instances. If the Model has both instance and prediction schemata - defined then each such file contains predictions as per the - predictions_format. If prediction for any instance failed (partially - or completely), then an additional `errors_0001.`, - `errors_0002.`,..., `errors_N.` files are created (N depends on - total number of failed predictions). These files contain the failed - instances, as per their schema, followed by an additional `error` - field which as value has google.rpc.Status containing only `code` - and `message` fields. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - type: object - description: >- - Configures the output of BatchPredictionJob. See - Model.supported_output_storage_formats for supported output formats, and - how predictions are expressed via any of them. - id: GoogleCloudAiplatformV1BatchPredictionJobOutputConfig - GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature: - description: >- - Response message if the request uses the SelectTimeRangeAndFeature - option. - type: object - id: >- - GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature - properties: - offlineStorageModifiedEntityRowCount: format: int64 + maxProperties: + description: Optional. Maximum number of the properties for Type.OBJECT. type: string + format: int64 + minimum: description: >- - The count of modified entity rows in the offline storage. Each row - corresponds to the combination of an entity ID and a timestamp. One - entity ID can have multiple rows in the offline storage. Within each - row, only the features specified in the request are deleted. - impactedFeatureCount: + Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of + the Type.INTEGER and Type.NUMBER + type: number + format: double + maximum: + description: Optional. Maximum value of the Type.INTEGER and Type.NUMBER + type: number + format: double + minLength: description: >- - The count of the features or columns impacted. This is the same as - the feature count in the request. + Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the + Type.STRING type: string format: int64 - onlineStorageModifiedEntityCount: + maxLength: + description: Optional. Maximum length of the Type.STRING type: string - description: >- - The count of modified entities in the online storage. Each entity ID - corresponds to one entity. Within each entity, only the features - specified in the request are deleted. format: int64 - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation: - properties: - timeFormat: - type: string + pattern: description: >- - The format in which that time field is expressed. The time_format - must either be one of: * `unix-seconds` * `unix-milliseconds` * - `unix-microseconds` * `unix-nanoseconds` (for respectively number of - seconds, milliseconds, microseconds and nanoseconds since start of - the Unix epoch); or be written in `strftime` syntax. If time_format - is not set, then the default format is RFC 3339 `date-time` format, - where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) - columnName: + Optional. Pattern of the Type.STRING to restrict a string to a + regular expression. type: string - invalidValuesAllowed: + example: description: >- - If invalid values is allowed, the training pipeline will create a - boolean feature that indicated whether the value is valid. - Otherwise, the training pipeline will discard the input row from - trainining data. - type: boolean + Optional. Example of the object. Will only populated when the object + is the root. + type: any + anyOf: + description: >- + Optional. The value should be validated against any (one or more) of + the subschemas in the list. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + GoogleCloudAiplatformV1Retrieval: + id: GoogleCloudAiplatformV1Retrieval + description: >- + Defines a retrieval tool that model can call to access external + knowledge. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation + properties: + vertexAiSearch: + description: Set to use data source powered by Vertex AI Search. + $ref: '#/components/schemas/GoogleCloudAiplatformV1VertexAISearch' + vertexRagStore: + description: >- + Set to use data source powered by Vertex RAG store. User data is + uploaded via the VertexRagDataService. + $ref: '#/components/schemas/GoogleCloudAiplatformV1VertexRagStore' + disableAttribution: + description: Optional. Deprecated. This option is no longer supported. + deprecated: true + type: boolean + GoogleCloudAiplatformV1VertexAISearch: + id: GoogleCloudAiplatformV1VertexAISearch description: >- - Training pipeline will perform following transformation functions. * - Apply the transformation functions for Numerical columns. * Determine - the year, month, day,and weekday. Treat each value from the * timestamp - as a Categorical column. * Invalid numerical values (for example, values - that fall outside of a typical timestamp range, or are extreme values) - receive no special treatment and are not removed. - GoogleCloudAiplatformV1TimeSeriesDataPoint: + Retrieve from Vertex AI Search datastore for grounding. See + https://cloud.google.com/products/agent-builder type: object properties: - step: - format: int64 - type: string - description: Step index of this data point within the run. - tensor: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTensor' - description: A tensor value. - scalar: - description: A scalar value. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Scalar' - blobs: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardBlobSequence' - description: A blob sequence value. - wallTime: - format: google-datetime + datastore: description: >- - Wall clock timestamp when this data point is generated by the end - user. + Required. Fully-qualified Vertex AI Search data store resource ID. + Format: + `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` type: string - description: A TensorboardTimeSeries data point. - id: GoogleCloudAiplatformV1TimeSeriesDataPoint - GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus: + GoogleCloudAiplatformV1VertexRagStore: + id: GoogleCloudAiplatformV1VertexRagStore + description: Retrieve from Vertex RAG Store for grounding. + type: object properties: - updateTime: - readOnly: true - type: string - description: Output only. Update time of this status. - format: google-datetime - error: - $ref: '#/components/schemas/GoogleRpcStatus' - readOnly: true + ragCorpora: + description: Optional. Deprecated. Please use rag_resources instead. + deprecated: true + type: array + items: + type: string + ragResources: description: >- - Output only. The error that occurred during the state. May be set - when the state is any of the non-final state - (PENDING/RUNNING/CANCELLING) or FAILED state. If the state is - FAILED, the error here is final and not going to be retried. If the - state is a non-final state, the error indicates a system-error being - retried. - state: - description: Output only. The state of the task. - enumDescriptions: - - Unspecified. - - Specifies pending state for the task. - - Specifies task is being executed. - - Specifies task completed successfully. - - Specifies Task cancel is in pending state. - - Specifies task is being cancelled. - - Specifies task was cancelled. - - Specifies task failed. - - Specifies task was skipped due to cache hit. - - >- - Specifies that the task was not triggered because the task's - trigger policy is not satisfied. The trigger policy is specified - in the `condition` field of PipelineJob.pipeline_spec. + Optional. The representation of the rag source. It can be used to + specify corpus only or ragfiles. Currently only support one corpus + or multiple files from one corpus. In the future we may open up + multiple corpora support. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1VertexRagStoreRagResource + similarityTopK: + description: >- + Optional. Number of top k results to return from the selected + corpora. + deprecated: true + type: integer + format: int32 + vectorDistanceThreshold: + description: >- + Optional. Only return results with vector distance smaller than the + threshold. + type: number + format: double + GoogleCloudAiplatformV1VertexRagStoreRagResource: + id: GoogleCloudAiplatformV1VertexRagStoreRagResource + description: The definition of the Rag resource. + type: object + properties: + ragCorpus: + description: >- + Optional. RagCorpora resource name. Format: + `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` type: string - readOnly: true - enum: - - STATE_UNSPECIFIED - - PENDING - - RUNNING - - SUCCEEDED - - CANCEL_PENDING - - CANCELLING - - CANCELLED - - FAILED - - SKIPPED - - NOT_TRIGGERED + ragFileIds: + description: >- + Optional. rag_file_id. The files should be in the same rag_corpus + set in rag_corpus field. + type: array + items: + type: string + GoogleCloudAiplatformV1GoogleSearchRetrieval: + id: GoogleCloudAiplatformV1GoogleSearchRetrieval + description: Tool to retrieve public web data for grounding, powered by Google. type: object - description: A single record of the task status. - id: GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus - GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata: properties: - genericMetadata: - description: Operation metadata for creating a MetadataStore. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Details of operations that perform MetadataService.CreateMetadataStore. - id: GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata + dynamicRetrievalConfig: + description: Specifies the dynamic retrieval configuration for the given source. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DynamicRetrievalConfig' + GoogleCloudAiplatformV1DynamicRetrievalConfig: + id: GoogleCloudAiplatformV1DynamicRetrievalConfig + description: Describes the options to customize dynamic retrieval. type: object - GoogleCloudAiplatformV1SchemaVideoDataItem: - description: Payload of Video DataItem. - id: GoogleCloudAiplatformV1SchemaVideoDataItem properties: - mimeType: - readOnly: true + mode: + description: The mode of the predictor to be used in dynamic retrieval. type: string + enumDescriptions: + - Always trigger retrieval. + - Run retrieval only when system decides it is necessary. + enum: + - MODE_UNSPECIFIED + - MODE_DYNAMIC + dynamicThreshold: description: >- - Output only. The mime type of the content of the video. Only the - videos in below listed mime types are supported. Supported - mime_type: - video/mp4 - video/avi - video/quicktime - gcsUri: + Optional. The threshold to be used in dynamic retrieval. If not set, + a system default value is used. + type: number + format: float + GoogleCloudAiplatformV1ToolConfig: + id: GoogleCloudAiplatformV1ToolConfig + description: >- + Tool config. This config is shared for all tools provided in the + request. + type: object + properties: + functionCallingConfig: + description: Optional. Function calling config. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionCallingConfig' + GoogleCloudAiplatformV1FunctionCallingConfig: + id: GoogleCloudAiplatformV1FunctionCallingConfig + description: Function calling config. + type: object + properties: + mode: + description: Optional. Function calling mode. type: string + enumDescriptions: + - Unspecified function calling mode. This value should not be used. + - >- + Default model behavior, model decides to predict either function + calls or natural language response. + - >- + Model is constrained to always predicting function calls only. If + "allowed_function_names" are set, the predicted function calls + will be limited to any one of "allowed_function_names", else the + predicted function calls will be any one of the provided + "function_declarations". + - >- + Model will not predict any function calls. Model behavior is same + as when not passing any function declarations. + enum: + - MODE_UNSPECIFIED + - AUTO + - ANY + - NONE + allowedFunctionNames: description: >- - Required. Google Cloud Storage URI points to the original video in - user's bucket. The video is up to 50 GB in size and up to 3 hour in - duration. - type: object - GoogleCloudAiplatformV1MetadataStoreMetadataStoreState: + Optional. Function names to call. Only set when the Mode is ANY. + Function names should match [FunctionDeclaration.name]. With mode + set to ANY, model will predict a function call from the set of + function names provided. + type: array + items: + type: string + GoogleCloudAiplatformV1SafetySetting: + id: GoogleCloudAiplatformV1SafetySetting + description: Safety settings. type: object - description: Represents state information for a MetadataStore. properties: - diskUtilizationBytes: - format: int64 - description: The disk utilization of the MetadataStore in bytes. + category: + description: Required. Harm category. type: string - id: GoogleCloudAiplatformV1MetadataStoreMetadataStoreState - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics: - id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics + enumDescriptions: + - The harm category is unspecified. + - The harm category is hate speech. + - The harm category is dangerous content. + - The harm category is harassment. + - The harm category is sexually explicit content. + - The harm category is civic integrity. + enum: + - HARM_CATEGORY_UNSPECIFIED + - HARM_CATEGORY_HATE_SPEECH + - HARM_CATEGORY_DANGEROUS_CONTENT + - HARM_CATEGORY_HARASSMENT + - HARM_CATEGORY_SEXUALLY_EXPLICIT + - HARM_CATEGORY_CIVIC_INTEGRITY + threshold: + description: Required. The harm block threshold. + type: string + enumDescriptions: + - Unspecified harm block threshold. + - Block low threshold and above (i.e. block more). + - Block medium threshold and above. + - Block only high threshold (i.e. block less). + - Block none. + - Turn off the safety filter. + enum: + - HARM_BLOCK_THRESHOLD_UNSPECIFIED + - BLOCK_LOW_AND_ABOVE + - BLOCK_MEDIUM_AND_ABOVE + - BLOCK_ONLY_HIGH + - BLOCK_NONE + - 'OFF' + method: + description: >- + Optional. Specify if the threshold is used for probability or + severity score. If not specified, the threshold is used for + probability score. + type: string + enumDescriptions: + - The harm block method is unspecified. + - The harm block method uses both probability and severity scores. + - The harm block method uses the probability score. + enum: + - HARM_BLOCK_METHOD_UNSPECIFIED + - SEVERITY + - PROBABILITY + GoogleCloudAiplatformV1GenerationConfig: + id: GoogleCloudAiplatformV1GenerationConfig + description: Generation config. type: object - description: >- - UNIMPLEMENTED. Track matching model metrics for a single track match - threshold and multiple label match confidence thresholds. properties: - meanTrackingAveragePrecision: - description: The mean average precision over all confidence thresholds. - format: float + temperature: + description: Optional. Controls the randomness of predictions. type: number - iouThreshold: format: float + topP: + description: Optional. If specified, nucleus sampling will be used. type: number - description: >- - The intersection-over-union threshold value between bounding boxes - across frames used to compute this metric entry. - meanMismatchRate: format: float - description: The mean mismatch rate over all confidence thresholds. + topK: + description: Optional. If specified, top-k sampling will be used. type: number - confidenceMetrics: + format: float + candidateCount: + description: Optional. Number of candidates to generate. + type: integer + format: int32 + maxOutputTokens: description: >- - Metrics for each label-match `confidenceThreshold` from - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is - derived from them. + Optional. The maximum number of output tokens to generate per + message. + type: integer + format: int32 + stopSequences: + description: Optional. Stop sequences. type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics - meanBoundingBoxIou: + type: string + responseLogprobs: + description: Optional. If true, export the logprobs results in response. + type: boolean + logprobs: + description: Optional. Logit probabilities. + type: integer + format: int32 + presencePenalty: + description: Optional. Positive penalties. + type: number format: float + frequencyPenalty: + description: Optional. Frequency penalties. type: number - description: The mean bounding box iou over all confidence thresholds. - GoogleCloudAiplatformV1AssignNotebookRuntimeRequest: - id: GoogleCloudAiplatformV1AssignNotebookRuntimeRequest - properties: - notebookRuntime: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookRuntime' - description: >- - Required. Provide runtime specific information (e.g. runtime owner, - notebook id) used for NotebookRuntime assignment. - notebookRuntimeTemplate: + format: float + seed: + description: Optional. Seed. + type: integer + format: int32 + responseMimeType: description: >- - Required. The resource name of the NotebookRuntimeTemplate based on - which a NotebookRuntime will be assigned (reuse or create a new - one). - type: string - notebookRuntimeId: + Optional. Output response mimetype of the generated candidate text. + Supported mimetype: - `text/plain`: (default) Text output. - + `application/json`: JSON response in the candidates. The model needs + to be prompted to output the appropriate response type, otherwise + the behavior is undefined. This is a preview feature. type: string - description: Optional. User specified ID for the notebook runtime. - description: Request message for NotebookService.AssignNotebookRuntime. - type: object - GoogleCloudAiplatformV1Scalar: - type: object - description: One point viewable on a scalar metric plot. - properties: - value: - type: number - format: double - description: Value of the point at this step / timestamp. - id: GoogleCloudAiplatformV1Scalar - GoogleCloudAiplatformV1FeatureOnlineStoreOptimized: - properties: {} - description: Optimized storage type + responseSchema: + description: >- + Optional. The `Schema` object allows the definition of input and + output data types. These types can be objects, but also primitives + and arrays. Represents a select subset of an [OpenAPI 3.0 schema + object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a + compatible response_mime_type must also be set. Compatible + mimetypes: `application/json`: Schema for JSON response. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + routingConfig: + description: Optional. Routing configuration. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerationConfigRoutingConfig + audioTimestamp: + description: >- + Optional. If enabled, audio timestamp will be included in the + request to the model. + type: boolean + GoogleCloudAiplatformV1GenerationConfigRoutingConfig: + id: GoogleCloudAiplatformV1GenerationConfigRoutingConfig + description: The configuration for routing the request to a specific model. type: object - id: GoogleCloudAiplatformV1FeatureOnlineStoreOptimized - GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata: - id: GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for PersistentResource. - progressMessage: - type: string - description: Progress Message for Reboot LRO - type: object - description: Details of operations that perform reboot PersistentResource. - GoogleCloudAiplatformV1SafetyResult: - id: GoogleCloudAiplatformV1SafetyResult - description: Spec for safety result. + autoMode: + description: Automated routing. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode + manualMode: + description: Manual routing. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode + GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode: + id: GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode + description: >- + When automated routing is specified, the routing will be determined by + the pretrained routing model and customer provided model routing + preference. type: object properties: - explanation: - description: Output only. Explanation for safety score. - readOnly: true + modelRoutingPreference: + description: The model routing preference. type: string - score: - format: float - description: Output only. Safety score. - readOnly: true - type: number - confidence: - readOnly: true - format: float - type: number - description: Output only. Confidence for safety score. - GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse: - description: >- - Response message for - FeatureOnlineStoreAdminService.ListFeatureOnlineStores. - id: GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse + enumDescriptions: + - Unspecified model routing preference. + - Prefer higher quality over low cost. + - Balanced model routing preference. + - Prefer lower cost over higher quality. + enum: + - UNKNOWN + - PRIORITIZE_QUALITY + - BALANCED + - PRIORITIZE_COST + GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode: + id: GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode + description: When manual routing is set, the specified model will be used directly. type: object properties: - nextPageToken: + modelName: description: >- - A token, which can be sent as - ListFeatureOnlineStoresRequest.page_token to retrieve the next page. - If this field is omitted, there are no subsequent pages. + The model name to use. Only the public LLM models are accepted. e.g. + 'gemini-1.5-pro-001'. type: string - featureOnlineStores: - type: array - description: The FeatureOnlineStores matching the request. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' - GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata: - type: object - id: GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Featurestore delete Features values. - description: Details of operations that delete Feature values. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs: + GoogleCloudAiplatformV1GenerateContentResponse: + id: GoogleCloudAiplatformV1GenerateContentResponse + description: Response message for [PredictionService.GenerateContent]. type: object properties: - dataGranularity: - description: Expected difference in time granularity between rows in the data. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity - enableProbabilisticInference: - type: boolean - description: >- - If probabilistic inference is enabled, the model will fit a - distribution that captures the uncertainty of a prediction. At - inference time, the predictive distribution is used to make a point - prediction that minimizes the optimization objective. For example, - the mean of a predictive distribution is the point prediction that - minimizes RMSE loss. If quantiles are specified, then the quantiles - of the distribution are also returned. The optimization objective - cannot be minimize-quantile-loss. - forecastHorizon: - description: >- - The amount of time into the future for which forecasted values for - the target are returned. Expressed in number of units defined by the - `data_granularity` field. - type: string - format: int64 - windowConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig - description: Config containing strategy for generating sliding windows. - holidayRegions: - items: - type: string - type: array - description: >- - The geographical region based on which the holiday effect is applied - in modeling by adding holiday categorical array feature that include - all holidays matching the date. This option only allowed when - data_granularity is day. By default, holiday effect modeling is - disabled. To turn it on, specify the holiday region using this - option. - timeSeriesIdentifierColumn: - type: string - description: The name of the column that identifies the time series. - optimizationObjective: - description: >- - Objective function the model is optimizing towards. The training - process creates a model that optimizes the value of the objective - function over the validation set. The supported optimization - objectives: * "minimize-rmse" (default) - Minimize root-mean-squared - error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). - * "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). * - "minimize-rmspe" - Minimize root-mean-squared percentage error - (RMSPE). * "minimize-wape-mae" - Minimize the combination of - weighted absolute percentage error (WAPE) and mean-absolute-error - (MAE). * "minimize-quantile-loss" - Minimize the quantile loss at - the quantiles defined in `quantiles`. * "minimize-mape" - Minimize - the mean absolute percentage error. - type: string - timeColumn: - type: string - description: >- - The name of the column that identifies time order in the time - series. This column must be available at forecast. - transformations: - description: >- - Each transformation will apply transform function to given input - column. And the result will be used for training. When creating - transformation for BigQuery Struct column, the column should be - flattened using "." as the delimiter. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation - type: array - contextWindow: - format: int64 - description: >- - The amount of time into the past training and prediction data is - used for model training and prediction respectively. Expressed in - number of units defined by the `data_granularity` field. - type: string - availableAtForecastColumns: - items: - type: string - type: array - description: >- - Names of columns that are available and provided when a forecast is - requested. These columns contain information for the given entity - (identified by the time_series_identifier_column column) that is - known at forecast. For example, predicted weather for a specific - day. - timeSeriesAttributeColumns: - description: >- - Column names that should be used as attribute columns. The value of - these columns does not vary as a function of time. For example, - store ID or item color. + candidates: + description: Output only. Generated candidates. + readOnly: true type: array items: - type: string - trainBudgetMilliNodeHours: - format: int64 - description: >- - Required. The train budget of creating this model, expressed in - milli node hours i.e. 1,000 value in this field means 1 node hour. - The training cost of the model will not exceed this budget. The - final cost will be attempted to be close to the budget, though may - end up being (even) noticeably smaller - at the backend's - discretion. This especially may happen when further model training - ceases to provide any improvements. If the budget is set to a value - known to be insufficient to train a model for the given dataset, the - training won't be attempted and will error. The train budget must be - between 1,000 and 72,000 milli node hours, inclusive. - type: string - targetColumn: - description: >- - The name of the column that the Model is to predict values for. This - column must be unavailable at forecast. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Candidate' + modelVersion: + description: Output only. The model version used to generate the response. + readOnly: true type: string - unavailableAtForecastColumns: - items: - type: string - type: array + promptFeedback: description: >- - Names of columns that are unavailable when a forecast is requested. - This column contains information for the given entity (identified by - the time_series_identifier_column) that is unknown before the - forecast For example, actual weather on a given day. - hierarchyConfig: + Output only. Content filter results for a prompt sent in the + request. Note: Sent only in the first stream chunk. Only happens + when no candidates were generated due to content violations. + readOnly: true $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig - description: >- - Configuration that defines the hierarchical relationship of time - series and parameters for hierarchical forecasting strategies. - weightColumn: - type: string - description: >- - Column name that should be used as the weight column. Higher values - in this column give more importance to the row during model - training. The column must have numeric values between 0 and 10000 - inclusively; 0 means the row is ignored for training. If weight - column field is not set, then all rows are assumed to have equal - weight of 1. - exportEvaluatedDataItemsConfig: - description: >- - Configuration for exporting test set predictions to a BigQuery - table. If this configuration is absent, then the export is not - performed. + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback + usageMetadata: + description: Usage metadata about the response(s). $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig - validationOptions: - description: >- - Validation options for the data validation component. The available - options are: * "fail-pipeline" - default, will validate against the - validation and fail the pipeline if it fails. * "ignore-validation" - - ignore the results of the validation and continue - type: string - additionalExperiments: - items: - type: string - description: Additional experiment flags for the time series forcasting training. - type: array - quantiles: - type: array - items: - type: number - format: double - description: >- - Quantiles to use for minimize-quantile-loss - `optimization_objective`, or for probabilistic inference. Up to 5 - quantiles are allowed of values between 0 and 1, exclusive. Required - if the value of optimization_objective is minimize-quantile-loss. - Represents the percent quantiles to use for that objective. - Quantiles must be unique. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs - GoogleCloudAiplatformV1LookupStudyRequest: - properties: - displayName: - description: Required. The user-defined display name of the Study - type: string + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata + GoogleCloudAiplatformV1Candidate: + id: GoogleCloudAiplatformV1Candidate + description: A response candidate generated from the model. type: object - id: GoogleCloudAiplatformV1LookupStudyRequest - description: Request message for VizierService.LookupStudy. - GoogleCloudAiplatformV1FunctionResponse: properties: - name: - type: string - description: >- - Required. The name of the function to call. Matches - [FunctionDeclaration.name] and [FunctionCall.name]. - response: - additionalProperties: - description: Properties of the object. - type: any + index: + description: Output only. Index of the candidate. + readOnly: true + type: integer + format: int32 + content: + description: Output only. Content parts of the candidate. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + avgLogprobs: + description: Output only. Average log probability score of the candidate. + readOnly: true + type: number + format: double + logprobsResult: description: >- - Required. The function response in JSON object format. Use "output" - key to specify function output and "error" key to specify error - details (if any). If "output" and "error" keys are not specified, - then whole "response" is treated as function output. - type: object - type: object - description: >- - The result output from a [FunctionCall] that contains a string - representing the [FunctionDeclaration.name] and a structured JSON object - containing any output from the function is used as context to the model. - This should contain the result of a [FunctionCall] made based on model - prediction. - id: GoogleCloudAiplatformV1FunctionResponse - GoogleIamV1Binding: - description: Associates `members`, or principals, with a `role`. - id: GoogleIamV1Binding - properties: - members: - type: array - items: - type: string + Output only. Log-likelihood scores for the response tokens and top + tokens + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1LogprobsResult' + finishReason: description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - role: + Output only. The reason why the model stopped generating tokens. If + empty, the model has not stopped generating the tokens. + readOnly: true + type: string + enumDescriptions: + - The finish reason is unspecified. + - >- + Token generation reached a natural stopping point or a configured + stop sequence. + - Token generation reached the configured maximum output tokens. + - >- + Token generation stopped because the content potentially contains + safety violations. NOTE: When streaming, content is empty if + content filters blocks the output. + - The token generation stopped because of potential recitation. + - All other reasons that stopped the token generation. + - >- + Token generation stopped because the content contains forbidden + terms. + - >- + Token generation stopped for potentially containing prohibited + content. + - >- + Token generation stopped because the content potentially contains + Sensitive Personally Identifiable Information (SPII). + - The function call generated by the model is invalid. + enum: + - FINISH_REASON_UNSPECIFIED + - STOP + - MAX_TOKENS + - SAFETY + - RECITATION + - OTHER + - BLOCKLIST + - PROHIBITED_CONTENT + - SPII + - MALFORMED_FUNCTION_CALL + safetyRatings: + description: >- + Output only. List of ratings for the safety of a response candidate. + There is at most one rating per category. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyRating' + finishMessage: + description: >- + Output only. Describes the reason the mode stopped generating tokens + in more detail. This is only filled when `finish_reason` is set. + readOnly: true type: string + citationMetadata: + description: Output only. Source attribution of the generated content. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1CitationMetadata' + groundingMetadata: description: >- - 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). - condition: + Output only. Metadata specifies sources used to ground generated + content. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingMetadata' + GoogleCloudAiplatformV1LogprobsResult: + id: GoogleCloudAiplatformV1LogprobsResult + description: Logprobs Result + type: object + properties: + topCandidates: + description: Length = total number of decoding steps. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1LogprobsResultTopCandidates + chosenCandidates: description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/GoogleTypeExpr' + Length = total number of decoding steps. The chosen candidates may + or may not be in top_candidates. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1LogprobsResultCandidate + GoogleCloudAiplatformV1LogprobsResultTopCandidates: + id: GoogleCloudAiplatformV1LogprobsResultTopCandidates + description: Candidates with top log probabilities at each decoding step. type: object - GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec: - id: GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec + properties: + candidates: + description: Sorted by log probability in descending order. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1LogprobsResultCandidate + GoogleCloudAiplatformV1LogprobsResultCandidate: + id: GoogleCloudAiplatformV1LogprobsResultCandidate + description: Candidate for the logprobs token and score. type: object properties: - sourceField: - description: >- - Source column to get the Feature values from. If not set, uses the - column with the same name as the Feature ID. - type: string - id: + token: + description: The candidate's token string value. type: string - description: >- - Required. ID of the Feature to import values of. This Feature must - exist in the target EntityType, or the request will fail. - description: Defines the Feature value(s) to import. - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline: + tokenId: + description: The candidate's token id value. + type: integer + format: int32 + logProbability: + description: The candidate's log probability. + type: number + format: float + GoogleCloudAiplatformV1SafetyRating: + id: GoogleCloudAiplatformV1SafetyRating + description: Safety rating corresponding to the generated content. type: object properties: - gcs: - description: Cloud Storage location for BatchExplain output. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - bigquery: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' - description: BigQuery location for BatchExplain output. - predictionFormat: + category: + description: Output only. Harm category. + readOnly: true + type: string enumDescriptions: - - Should not be set. - - Predictions are in JSONL files. - - Predictions are in BigQuery. + - The harm category is unspecified. + - The harm category is hate speech. + - The harm category is dangerous content. + - The harm category is harassment. + - The harm category is sexually explicit content. + - The harm category is civic integrity. + enum: + - HARM_CATEGORY_UNSPECIFIED + - HARM_CATEGORY_HATE_SPEECH + - HARM_CATEGORY_DANGEROUS_CONTENT + - HARM_CATEGORY_HARASSMENT + - HARM_CATEGORY_SEXUALLY_EXPLICIT + - HARM_CATEGORY_CIVIC_INTEGRITY + probability: + description: Output only. Harm probability levels in the content. + readOnly: true type: string - description: The storage format of the predictions generated BatchPrediction job. + enumDescriptions: + - Harm probability unspecified. + - Negligible level of harm. + - Low level of harm. + - Medium level of harm. + - High level of harm. enum: - - PREDICTION_FORMAT_UNSPECIFIED - - JSONL - - BIGQUERY - id: >- - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline - description: >- - Output from BatchPredictionJob for Model Monitoring baseline dataset, - which can be used to generate baseline attribution scores. - GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse: - description: Response message for ModelService.ListModelEvaluationSlices. - id: GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse - type: object - properties: - modelEvaluationSlices: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSlice' - description: List of ModelEvaluations in the requested page. - type: array - nextPageToken: + - HARM_PROBABILITY_UNSPECIFIED + - NEGLIGIBLE + - LOW + - MEDIUM + - HIGH + probabilityScore: + description: Output only. Harm probability score. + readOnly: true + type: number + format: float + severity: + description: Output only. Harm severity levels in the content. + readOnly: true type: string + enumDescriptions: + - Harm severity unspecified. + - Negligible level of harm severity. + - Low level of harm severity. + - Medium level of harm severity. + - High level of harm severity. + enum: + - HARM_SEVERITY_UNSPECIFIED + - HARM_SEVERITY_NEGLIGIBLE + - HARM_SEVERITY_LOW + - HARM_SEVERITY_MEDIUM + - HARM_SEVERITY_HIGH + severityScore: + description: Output only. Harm severity score. + readOnly: true + type: number + format: float + blocked: description: >- - A token to retrieve next page of results. Pass to - ListModelEvaluationSlicesRequest.page_token to obtain that page. - GoogleCloudAiplatformV1BleuSpec: - description: >- - Spec for bleu score metric - calculates the precision of n-grams in the - prediction as compared to reference - returns a score ranging between 0 - to 1. - id: GoogleCloudAiplatformV1BleuSpec + Output only. Indicates whether the content was filtered out because + of this rating. + readOnly: true + type: boolean + GoogleCloudAiplatformV1CitationMetadata: + id: GoogleCloudAiplatformV1CitationMetadata + description: A collection of source attributions for a piece of content. type: object properties: - useEffectiveOrder: - type: boolean - description: Optional. Whether to use_effective_order to compute bleu score. - GoogleCloudAiplatformV1GroundingChunkWeb: + citations: + description: Output only. List of citations. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Citation' + GoogleCloudAiplatformV1Citation: + id: GoogleCloudAiplatformV1Citation + description: Source attributions for content. + type: object properties: + startIndex: + description: Output only. Start index into the content. + readOnly: true + type: integer + format: int32 + endIndex: + description: Output only. End index into the content. + readOnly: true + type: integer + format: int32 uri: - description: URI reference of the chunk. + description: Output only. Url reference of the attribution. + readOnly: true type: string title: + description: Output only. Title of the attribution. + readOnly: true type: string - description: Title of the chunk. - id: GoogleCloudAiplatformV1GroundingChunkWeb - type: object - description: Chunk from the web. - GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest: - description: Request message for NotebookService.UpgradeNotebookRuntime. - id: GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest - type: object - properties: {} - GoogleCloudAiplatformV1CancelTrainingPipelineRequest: - properties: {} - description: Request message for PipelineService.CancelTrainingPipeline. - id: GoogleCloudAiplatformV1CancelTrainingPipelineRequest - type: object - GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics: + license: + description: Output only. License of the attribution. + readOnly: true + type: string + publicationDate: + description: Output only. Publication date of the attribution. + readOnly: true + $ref: '#/components/schemas/GoogleTypeDate' + GoogleTypeDate: + id: GoogleTypeDate + description: >- + 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 type: object properties: - boundingBoxMeanAveragePrecision: - type: number - format: float + year: description: >- - The single metric for bounding boxes evaluation: the - `meanAveragePrecision` averaged over all - `boundingBoxMetricsEntries`. - boundingBoxMetrics: + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + type: integer + format: int32 + month: description: >- - The bounding boxes match metrics for each intersection-over-union - threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label - confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics - evaluatedBoundingBoxCount: + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. type: integer format: int32 + day: description: >- - The total number of bounding boxes (i.e. summed over all images) the - ground truth used to create this evaluation had. - description: Metrics for image object detection evaluation results. - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics - GoogleCloudAiplatformV1MutateDeployedModelResponse: - id: GoogleCloudAiplatformV1MutateDeployedModelResponse - description: Response message for EndpointService.MutateDeployedModel. - properties: - deployedModel: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' - description: The DeployedModel that's being mutated. + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + type: integer + format: int32 + GoogleCloudAiplatformV1GroundingMetadata: + id: GoogleCloudAiplatformV1GroundingMetadata + description: Metadata returned to client when grounding is enabled. type: object - GoogleIamV1Policy: properties: - bindings: - description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. + webSearchQueries: + description: Optional. Web search queries for the following-up web search. type: array items: - $ref: '#/components/schemas/GoogleIamV1Binding' - version: - type: integer - description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - format: int32 - etag: - format: byte + type: string + searchEntryPoint: + description: Optional. Google search entry for the following-up web searches. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SearchEntryPoint' + groundingChunks: description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. - type: string - description: >- - 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/). - type: object - id: GoogleIamV1Policy - GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource: + List of supporting references retrieved from specified grounding + source. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingChunk' + groundingSupports: + description: Optional. List of grounding support. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingSupport' + retrievalMetadata: + description: Optional. Output only. Retrieval metadata. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1RetrievalMetadata' + GoogleCloudAiplatformV1SearchEntryPoint: + id: GoogleCloudAiplatformV1SearchEntryPoint + description: Google search entry point. type: object - description: The Dataform Repository containing the input notebook. properties: - commitSha: - type: string + renderedContent: description: >- - The commit SHA to read repository with. If unset, the file will be - read at HEAD. - dataformRepositoryResourceName: + Optional. Web content snippet that can be embedded in a web page or + an app webview. type: string - description: >- - The resource name of the Dataform Repository. Format: - `projects/{project_id}/locations/{location}/repositories/{repository_id}` - id: GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment: + sdkBlob: + description: Optional. Base64 encoded JSON representing array of tuple. + type: string + format: byte + GoogleCloudAiplatformV1GroundingChunk: + id: GoogleCloudAiplatformV1GroundingChunk + description: Grounding chunk. + type: object properties: - inputs: - description: The input parameters of this TrainingJob. + web: + description: Grounding chunk from the web. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingChunkWeb' + retrievedContext: + description: Grounding chunk from context retrieved by the retrieval tools. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment + #/components/schemas/GoogleCloudAiplatformV1GroundingChunkRetrievedContext + GoogleCloudAiplatformV1GroundingChunkWeb: + id: GoogleCloudAiplatformV1GroundingChunkWeb + description: Chunk from the web. type: object - description: A TrainingJob that trains and uploads an AutoML Text Sentiment Model. - GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue: - id: GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue properties: - score: - readOnly: true - description: Output only. Tool parameter key match score. - format: float - type: number - description: Tool parameter key match metric value for an instance. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity: + uri: + description: URI reference of the chunk. + type: string + title: + description: Title of the chunk. + type: string + GoogleCloudAiplatformV1GroundingChunkRetrievedContext: + id: GoogleCloudAiplatformV1GroundingChunkRetrievedContext + description: Chunk from context retrieved by the retrieval tools. type: object - description: A duration of time expressed in time granularity units. properties: - unit: + uri: + description: URI reference of the attribution. type: string - description: >- - The time granularity unit of this time period. The supported units - are: * "minute" * "hour" * "day" * "week" * "month" * "year" - quantity: - description: >- - The number of granularity_units between data points in the training - data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. - For all other values of `granularity_unit`, must be 1. - format: int64 + title: + description: Title of the attribution. type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity - GoogleCloudAiplatformV1FindNeighborsResponseNeighbor: - properties: - distance: - format: double - description: The distance between the neighbor and the dense embedding query. - type: number - sparseDistance: - format: double - description: The distance between the neighbor and the query sparse_embedding. - type: number - datapoint: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' - description: >- - The datapoint of the neighbor. Note that full datapoints are - returned only when "return_full_datapoint" is set to true. - Otherwise, only the "datapoint_id" and "crowding_tag" fields are - populated. - id: GoogleCloudAiplatformV1FindNeighborsResponseNeighbor - description: A neighbor of the query vector. - type: object - GoogleCloudAiplatformV1NearestNeighborQueryEmbedding: + text: + description: Text of the attribution. + type: string + GoogleCloudAiplatformV1GroundingSupport: + id: GoogleCloudAiplatformV1GroundingSupport + description: Grounding support. type: object - description: The embedding vector. - id: GoogleCloudAiplatformV1NearestNeighborQueryEmbedding properties: - value: - items: - format: float - type: number - description: Optional. Individual value in the embedding. + segment: + description: Segment of the content this support belongs to. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Segment' + groundingChunkIndices: + description: >- + A list of indices (into 'grounding_chunk') specifying the citations + associated with the claim. For instance [1,3,4] means that + grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the + retrieved content attributed to the claim. type: array - GoogleCloudAiplatformV1PipelineTaskDetail: - properties: - executorDetail: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineTaskExecutorDetail - description: Output only. The detailed execution info. - readOnly: true - inputs: - type: object - readOnly: true - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetailArtifactList - description: Output only. The runtime input artifacts of the task. - execution: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' - readOnly: true - description: Output only. The execution metadata of the task. - pipelineTaskStatus: + items: + type: integer + format: int32 + confidenceScores: + description: >- + Confidence score of the support references. Ranges from 0 to 1. 1 is + the most confident. This list must have the same size as the + grounding_chunk_indices. type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus + type: number + format: float + GoogleCloudAiplatformV1Segment: + id: GoogleCloudAiplatformV1Segment + description: Segment of the content. + type: object + properties: + partIndex: description: >- - Output only. A list of task status. This field keeps a record of - task status evolving over time. + Output only. The index of a Part object within its parent Content + object. readOnly: true - taskName: + type: integer + format: int32 + startIndex: description: >- - Output only. The user specified name of the task that is defined in - pipeline_spec. - type: string - readOnly: true - error: + Output only. Start index in the given Part, measured in bytes. + Offset from the start of the Part, inclusive, starting at zero. readOnly: true - $ref: '#/components/schemas/GoogleRpcStatus' + type: integer + format: int32 + endIndex: description: >- - Output only. The error that occurred during task execution. Only - populated when the task's state is FAILED or CANCELLED. - createTime: + Output only. End index in the given Part, measured in bytes. Offset + from the start of the Part, exclusive, starting at zero. readOnly: true - description: Output only. Task create time. - type: string - format: google-datetime - outputs: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetailArtifactList - type: object + type: integer + format: int32 + text: + description: >- + Output only. The text corresponding to the segment from the + response. readOnly: true - description: Output only. The runtime output artifacts of the task. - endTime: type: string - description: Output only. Task end time. - readOnly: true - format: google-datetime - parentTaskId: - format: int64 + GoogleCloudAiplatformV1RetrievalMetadata: + id: GoogleCloudAiplatformV1RetrievalMetadata + description: Metadata related to retrieval in the grounding flow. + type: object + properties: + googleSearchDynamicRetrievalScore: + description: >- + Optional. Score indicating how likely information from Google Search + could help answer the prompt. The score is in the range `[0, 1]`, + where 0 is the least likely and 1 is the most likely. This score is + only populated when Google Search grounding and dynamic retrieval is + enabled. It will be compared to the threshold to determine whether + to trigger Google Search. + type: number + format: float + GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback: + id: GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback + description: Content filter results for a prompt sent in the request. + type: object + properties: + blockReason: + description: Output only. Blocked reason. readOnly: true type: string - description: >- - Output only. The id of the parent task if the task is within a - component scope. Empty if the task is at the root level. - state: enumDescriptions: - - Unspecified. - - Specifies pending state for the task. - - Specifies task is being executed. - - Specifies task completed successfully. - - Specifies Task cancel is in pending state. - - Specifies task is being cancelled. - - Specifies task was cancelled. - - Specifies task failed. - - Specifies task was skipped due to cache hit. + - Unspecified blocked reason. + - Candidates blocked due to safety. + - Candidates blocked due to other reason. - >- - Specifies that the task was not triggered because the task's - trigger policy is not satisfied. The trigger policy is specified - in the `condition` field of PipelineJob.pipeline_spec. - description: Output only. State of the task. + Candidates blocked due to the terms which are included from the + terminology blocklist. + - Candidates blocked due to prohibited content. enum: - - STATE_UNSPECIFIED - - PENDING - - RUNNING - - SUCCEEDED - - CANCEL_PENDING - - CANCELLING - - CANCELLED - - FAILED - - SKIPPED - - NOT_TRIGGERED - type: string + - BLOCKED_REASON_UNSPECIFIED + - SAFETY + - OTHER + - BLOCKLIST + - PROHIBITED_CONTENT + safetyRatings: + description: Output only. Safety ratings. readOnly: true - startTime: - format: google-datetime - description: Output only. Task start time. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyRating' + blockReasonMessage: + description: Output only. A readable block reason message. readOnly: true type: string - taskId: - format: int64 - type: string - description: Output only. The system generated ID of the task. - readOnly: true - id: GoogleCloudAiplatformV1PipelineTaskDetail - type: object - description: The runtime detail of a task execution. - GoogleCloudAiplatformV1NasTrial: - id: GoogleCloudAiplatformV1NasTrial + GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata: + id: GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata + description: Usage metadata about response(s). type: object - description: Represents a uCAIP NasJob trial. properties: - finalMeasurement: - readOnly: true - description: Output only. The final measurement containing the objective value. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' - id: - type: string - description: Output only. The identifier of the NasTrial assigned by the service. - readOnly: true - endTime: - readOnly: true - type: string - format: google-datetime + promptTokenCount: description: >- - Output only. Time when the NasTrial's status changed to `SUCCEEDED` - or `INFEASIBLE`. - startTime: - readOnly: true - description: Output only. Time when the NasTrial was started. - format: google-datetime - type: string - state: - description: Output only. The detailed state of the NasTrial. - enumDescriptions: - - The NasTrial state is unspecified. - - >- - Indicates that a specific NasTrial has been requested, but it has - not yet been suggested by the service. - - Indicates that the NasTrial has been suggested. - - Indicates that the NasTrial should stop according to the service. - - Indicates that the NasTrial is completed successfully. - - >- - Indicates that the NasTrial should not be attempted again. The - service will set a NasTrial to INFEASIBLE when it's done but - missing the final_measurement. - type: string - enum: - - STATE_UNSPECIFIED - - REQUESTED - - ACTIVE - - STOPPING - - SUCCEEDED - - INFEASIBLE - readOnly: true - GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse: + Number of tokens in the request. When `cached_content` is set, this + is still the total effective prompt size meaning this includes the + number of tokens in the cached content. + type: integer + format: int32 + candidatesTokenCount: + description: Number of tokens in the response(s). + type: integer + format: int32 + totalTokenCount: + description: Total token count for prompt and response candidates. + type: integer + format: int32 + GoogleCloudAiplatformV1CountTokensRequest: + id: GoogleCloudAiplatformV1CountTokensRequest + description: Request message for PredictionService.CountTokens. type: object - id: GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse properties: - nextPageToken: + model: description: >- - A token to retrieve the next page of results. Pass to - ListHyperparameterTuningJobsRequest.page_token to obtain that page. + Optional. The name of the publisher model requested to serve the + prediction. Format: + `projects/{project}/locations/{location}/publishers/*/models/*` type: string - hyperparameterTuningJobs: + instances: description: >- - List of HyperparameterTuningJobs in the requested page. - HyperparameterTuningJob.trials of the jobs will be not be returned. + Optional. The instances that are the input to token counting call. + Schema is identical to the prediction schema of the underlying + model. + type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob + type: any + contents: + description: Optional. Input content. type: array - description: Response message for JobService.ListHyperparameterTuningJobs - GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest: + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + systemInstruction: + description: >- + Optional. The user provided system instructions for the model. Note: + only text should be used in parts and content in each part will be + in a separate paragraph. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + tools: + description: >- + Optional. A list of `Tools` the model may use to generate the next + response. A `Tool` is a piece of code that enables the system to + interact with external systems to perform an action, or set of + actions, outside of knowledge and scope of the model. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tool' + generationConfig: + description: >- + Optional. Generation config that the model will use to generate the + response. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenerationConfig' + GoogleCloudAiplatformV1CountTokensResponse: + id: GoogleCloudAiplatformV1CountTokensResponse + description: Response message for PredictionService.CountTokens. type: object - id: GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest - description: Request message for JobService.PauseModelDeploymentMonitoringJob. - properties: {} - GoogleCloudAiplatformV1SafetySetting: - id: GoogleCloudAiplatformV1SafetySetting properties: - category: - description: Required. Harm category. - enumDescriptions: - - The harm category is unspecified. - - The harm category is hate speech. - - The harm category is dangerous content. - - The harm category is harassment. - - The harm category is sexually explicit content. - - The harm category is civic integrity. - enum: - - HARM_CATEGORY_UNSPECIFIED - - HARM_CATEGORY_HATE_SPEECH - - HARM_CATEGORY_DANGEROUS_CONTENT - - HARM_CATEGORY_HARASSMENT - - HARM_CATEGORY_SEXUALLY_EXPLICIT - - HARM_CATEGORY_CIVIC_INTEGRITY - type: string - threshold: - enum: - - HARM_BLOCK_THRESHOLD_UNSPECIFIED - - BLOCK_LOW_AND_ABOVE - - BLOCK_MEDIUM_AND_ABOVE - - BLOCK_ONLY_HIGH - - BLOCK_NONE - - 'OFF' - description: Required. The harm block threshold. - enumDescriptions: - - Unspecified harm block threshold. - - Block low threshold and above (i.e. block more). - - Block medium threshold and above. - - Block only high threshold (i.e. block less). - - Block none. - - Turn off the safety filter. - type: string - method: - enumDescriptions: - - The harm block method is unspecified. - - The harm block method uses both probability and severity scores. - - The harm block method uses the probability score. + totalTokens: description: >- - Optional. Specify if the threshold is used for probability or - severity score. If not specified, the threshold is used for - probability score. - enum: - - HARM_BLOCK_METHOD_UNSPECIFIED - - SEVERITY - - PROBABILITY + The total number of tokens counted across all instances from the + request. + type: integer + format: int32 + totalBillableCharacters: + description: >- + The total number of billable characters counted across all instances + from the request. + type: integer + format: int32 + GoogleCloudAiplatformV1ComputeTokensRequest: + id: GoogleCloudAiplatformV1ComputeTokensRequest + description: Request message for ComputeTokens RPC call. + type: object + properties: + instances: + description: >- + Optional. The instances that are the input to token computing API + call. Schema is identical to the prediction schema of the text + model, even for the non-text models, like chat models, or Codey + models. + type: array + items: + type: any + model: + description: >- + Optional. The name of the publisher model requested to serve the + prediction. Format: + projects/{project}/locations/{location}/publishers/*/models/* type: string - description: Safety settings. + contents: + description: Optional. Input content. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + GoogleCloudAiplatformV1ComputeTokensResponse: + id: GoogleCloudAiplatformV1ComputeTokensResponse + description: Response message for ComputeTokens RPC call. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs: + properties: + tokensInfo: + description: >- + Lists of tokens info from the input. A ComputeTokensRequest could + have multiple instances with a prompt in each instance. We also need + to return lists of tokens info for the request with multiple + instances. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TokensInfo' + GoogleCloudAiplatformV1TokensInfo: + id: GoogleCloudAiplatformV1TokensInfo + description: >- + Tokens info with a list of tokens and the corresponding list of token + ids. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs properties: - uptrainBaseModelId: - type: string + tokens: + description: A list of tokens from the input. + type: array + items: + type: string + format: byte + tokenIds: + description: A list of token ids from the input. + type: array + items: + type: string + format: int64 + role: description: >- - The ID of `base` model for upTraining. If it is specified, the new - model will be upTrained based on the `base` model for upTraining. - Otherwise, the new model will be trained from scratch. The `base` - model for upTraining must be in the same Project and Location as the - new Model to train, and have the same modelType. - modelType: + Optional. Optional fields for the role from the corresponding + Content. type: string - enum: - - MODEL_TYPE_UNSPECIFIED - - CLOUD_HIGH_ACCURACY_1 - - CLOUD_LOW_LATENCY_1 - - CLOUD_1 - - MOBILE_TF_LOW_LATENCY_1 - - MOBILE_TF_VERSATILE_1 - - MOBILE_TF_HIGH_ACCURACY_1 - - CLOUD_STREAMING_1 - - SPINENET - - YOLO - enumDescriptions: - - Should not be set. - - >- - A model best tailored to be used within Google Cloud, and which - cannot be exported. Expected to have a higher latency, but should - also have a higher prediction quality than other cloud models. - - >- - A model best tailored to be used within Google Cloud, and which - cannot be exported. Expected to have a low latency, but may have - lower prediction quality than other cloud models. - - >- - A model best tailored to be used within Google Cloud, and which - cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and - CLOUD_LOW_LATENCY_1 models above, it is expected to have higher - prediction quality and lower latency. - - >- - A model that, in addition to being available within Google Cloud - can also be exported (see ModelService.ExportModel) and used on a - mobile or edge device with TensorFlow afterwards. Expected to have - low latency, but may have lower prediction quality than other - mobile models. - - >- - A model that, in addition to being available within Google Cloud - can also be exported (see ModelService.ExportModel) and used on a - mobile or edge device with TensorFlow afterwards. - - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) and used on a - mobile or edge device with TensorFlow afterwards. Expected to have - a higher latency, but should also have a higher prediction quality - than other mobile models. - - >- - A model best tailored to be used within Google Cloud, and which - cannot be exported. Expected to best support predictions in - streaming with lower latency and lower prediction quality than - other cloud models. - - >- - SpineNet for Model Garden training with customizable - hyperparameters. Best tailored to be used within Google Cloud, and - cannot be exported externally. - - >- - YOLO for Model Garden training with customizable hyperparameters. - Best tailored to be used within Google Cloud, and cannot be - exported externally. - budgetMilliNodeHours: + GoogleCloudAiplatformV1FindNeighborsRequest: + id: GoogleCloudAiplatformV1FindNeighborsRequest + description: The request message for MatchService.FindNeighbors. + type: object + properties: + deployedIndexId: description: >- - The training budget of creating this model, expressed in milli node - hours i.e. 1,000 value in this field means 1 node hour. The actual - metadata.costMilliNodeHours will be equal or less than this value. - If further model training ceases to provide any improvements, it - will stop without using the full budget and the - metadata.successfulStopReason will be `model-converged`. Note, - node_hour = actual_hour * number_of_nodes_involved. For modelType - `cloud`(default), the budget must be between 20,000 and 900,000 - milli node hours, inclusive. The default value is 216,000 which - represents one day in wall time, considering 9 nodes are used. For - model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, - `mobile-tf-high-accuracy-1` the training budget must be between - 1,000 and 100,000 milli node hours, inclusive. The default value is - 24,000 which represents one day in wall time on a single node that - is used. - format: int64 + The ID of the DeployedIndex that will serve the request. This + request is sent to a specific IndexEndpoint, as per the + IndexEndpoint.network. That IndexEndpoint also has + IndexEndpoint.deployed_indexes, and each such index has a + DeployedIndex.id field. The value of the field below must equal one + of the DeployedIndex.id fields of the IndexEndpoint that is being + called for this request. type: string - disableEarlyStopping: + queries: + description: The list of queries. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FindNeighborsRequestQuery + returnFullDatapoint: description: >- - Use the entire training budget. This disables the early stopping - feature. When false the early stopping feature is enabled, which - means that AutoML Image Object Detection might stop training before - the entire training budget has been used. + If set to true, the full datapoints (including all vector values and + restricts) of the nearest neighbors are returned. Note that + returning full datapoint will significantly increase the latency and + cost of the query. type: boolean - tunableParameter: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter - description: Trainer type for Vision TrainRequest. - GoogleCloudAiplatformV1Featurestore: + GoogleCloudAiplatformV1FindNeighborsRequestQuery: + id: GoogleCloudAiplatformV1FindNeighborsRequestQuery + description: >- + A query to find a number of the nearest neighbors (most similar vectors) + of a vector. + type: object properties: - onlineStorageTtlDays: + rrf: + description: Optional. Represents RRF algorithm that combines search results. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF + datapoint: + description: >- + Required. The datapoint/vector whose nearest neighbors should be + searched for. + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' + neighborCount: + description: >- + The number of nearest neighbors to be retrieved from database for + each query. If not set, will use the default from the service + configuration + (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config). type: integer format: int32 + perCrowdingAttributeNeighborCount: description: >- - 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 - updateTime: - description: Output only. Timestamp when this Featurestore was last updated. - format: google-datetime - type: string - readOnly: true - satisfiesPzs: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - labels: + Crowding is a constraint on a neighbor list produced by nearest + neighbor search requiring that no more than some value k' of the k + neighbors returned have the same value of crowding_attribute. It's + used for improving result diversity. This field is the maximum + number of matches with the same crowding tag. + type: integer + format: int32 + approximateNeighborCount: description: >- - 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. - additionalProperties: - type: string - type: object - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + The number of neighbors to find via approximate search before exact + reordering is performed. If not set, the default value from scam + config is used; if set, this value must be > 0. + type: integer + format: int32 + fractionLeafNodesToSearchOverride: description: >- - Optional. Customer-managed encryption key spec for data storage. If - set, both of the online and offline data storage will be secured by - this key. - etag: + The fraction of the number of leaves to search, set at query time + allows user to tune search performance. This value increase result + in both search accuracy and latency increase. The value should be + between 0.0 and 1.0. If not set or set to 0.0, query uses the + default value specified in + NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search. + type: number + format: double + GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF: + id: GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF + description: Parameters for RRF algorithm that combines search results. + type: object + properties: + alpha: + description: >- + Required. Users can provide an alpha value to give more weight to + dense vs sparse results. For example, if the alpha is 0, we only + return sparse and if the alpha is 1, we only return dense. + type: number + format: float + GoogleCloudAiplatformV1FindNeighborsResponse: + id: GoogleCloudAiplatformV1FindNeighborsResponse + description: The response message for MatchService.FindNeighbors. + type: object + properties: + nearestNeighbors: + description: The nearest neighbors of the query datapoints. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors + GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors: + id: GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors + description: Nearest neighbors for one query. + type: object + properties: + id: + description: The ID of the query datapoint. type: string + neighbors: + description: All its neighbors. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FindNeighborsResponseNeighbor + GoogleCloudAiplatformV1FindNeighborsResponseNeighbor: + id: GoogleCloudAiplatformV1FindNeighborsResponseNeighbor + description: A neighbor of the query vector. + type: object + properties: + datapoint: description: >- - Optional. Used to perform consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. - satisfiesPzi: - description: Output only. Reserved for future use. - type: boolean - readOnly: true - state: - enumDescriptions: - - Default value. This value is unused. - - >- - State when the featurestore configuration is not being updated and - the fields reflect the current configuration of the featurestore. - The featurestore is usable in this state. - - >- - The state of the featurestore configuration when it is being - updated. During an update, the fields reflect either the original - configuration or the updated configuration of the featurestore. - For example, `online_serving_config.fixed_node_count` can take - minutes to update. While the update is in progress, the - featurestore is in the UPDATING state, and the value of - `fixed_node_count` can be the original value or the updated value, - depending on the progress of the operation. Until the update - completes, the actual number of nodes can still be the original - value of `fixed_node_count`. The featurestore is still usable in - this state. - description: Output only. State of the featurestore. + The datapoint of the neighbor. Note that full datapoints are + returned only when "return_full_datapoint" is set to true. + Otherwise, only the "datapoint_id" and "crowding_tag" fields are + populated. + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' + distance: + description: The distance between the neighbor and the dense embedding query. + type: number + format: double + sparseDistance: + description: The distance between the neighbor and the query sparse_embedding. + type: number + format: double + GoogleCloudAiplatformV1ReadIndexDatapointsRequest: + id: GoogleCloudAiplatformV1ReadIndexDatapointsRequest + description: The request message for MatchService.ReadIndexDatapoints. + type: object + properties: + deployedIndexId: + description: The ID of the DeployedIndex that will serve the request. type: string - readOnly: true - enum: - - STATE_UNSPECIFIED - - STABLE - - UPDATING + ids: + description: IDs of the datapoints to be searched for. + type: array + items: + type: string + GoogleCloudAiplatformV1ReadIndexDatapointsResponse: + id: GoogleCloudAiplatformV1ReadIndexDatapointsResponse + description: The response message for MatchService.ReadIndexDatapoints. + type: object + properties: + datapoints: + description: The result list of datapoints. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexDatapoint' + GoogleCloudAiplatformV1MetadataStore: + id: GoogleCloudAiplatformV1MetadataStore + description: >- + Instance of a metadata store. Contains a set of metadata that can be + queried. + type: object + properties: name: + description: Output only. The resource name of the MetadataStore instance. readOnly: true - description: >- - Output only. Name of the Featurestore. Format: - `projects/{project}/locations/{location}/featurestores/{featurestore}` type: string - onlineServingConfig: - description: >- - Optional. Config for online storage resources. The field should not - co-exist with the field of `OnlineStoreReplicationConfig`. If both - of it and OnlineStoreReplicationConfig are unset, the feature store - will not have an online store and cannot be used for online serving. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig createTime: + description: Output only. Timestamp when this MetadataStore was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this MetadataStore was last updated. + readOnly: true + type: string format: google-datetime + encryptionSpec: + description: >- + Customer-managed encryption key spec for a Metadata Store. If set, + this Metadata Store and all sub-resources of this Metadata Store are + secured using this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + description: + description: Description of the MetadataStore. type: string - description: Output only. Timestamp when this Featurestore was created. + state: + description: Output only. State information of the MetadataStore. readOnly: true - id: GoogleCloudAiplatformV1Featurestore - description: >- - Vertex AI Feature Store provides a centralized repository for - organizing, storing, and serving ML features. The Featurestore is a - top-level container for your features and their values. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MetadataStoreMetadataStoreState + dataplexConfig: + description: Optional. Dataplex integration settings. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MetadataStoreDataplexConfig + GoogleCloudAiplatformV1MetadataStoreMetadataStoreState: + id: GoogleCloudAiplatformV1MetadataStoreMetadataStoreState + description: Represents state information for a MetadataStore. type: object - GoogleCloudAiplatformV1ExactMatchInput: properties: - metricSpec: - description: Required. Spec for exact match metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchSpec' - instances: - description: Required. Repeated exact match instances. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchInstance' - type: array - description: Input for exact match metric. - id: GoogleCloudAiplatformV1ExactMatchInput + diskUtilizationBytes: + description: The disk utilization of the MetadataStore in bytes. + type: string + format: int64 + GoogleCloudAiplatformV1MetadataStoreDataplexConfig: + id: GoogleCloudAiplatformV1MetadataStoreDataplexConfig + description: Represents Dataplex integration settings. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation: - description: >- - Training pipeline will perform following transformation functions. * - Apply the transformation functions for Numerical columns. * Determine - the year, month, day,and weekday. Treat each value from the timestamp as - a Categorical column. * Invalid numerical values (for example, values - that fall outside of a typical timestamp range, or are extreme values) - receive no special treatment and are not removed. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation properties: - timeFormat: + enabledPipelinesLineage: description: >- - The format in which that time field is expressed. The time_format - must either be one of: * `unix-seconds` * `unix-milliseconds` * - `unix-microseconds` * `unix-nanoseconds` (for respectively number of - seconds, milliseconds, microseconds and nanoseconds since start of - the Unix epoch); or be written in `strftime` syntax. If time_format - is not set, then the default format is RFC 3339 `date-time` format, - where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) - type: string - columnName: - type: string + Optional. Whether or not Data Lineage synchronization is enabled for + Vertex Pipelines. + type: boolean + GoogleCloudAiplatformV1ListMetadataStoresResponse: + id: GoogleCloudAiplatformV1ListMetadataStoresResponse + description: Response message for MetadataService.ListMetadataStores. type: object - GoogleCloudAiplatformV1ModelDataStats: + properties: + metadataStores: + description: The MetadataStores found for the Location. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataStore' + nextPageToken: + description: >- + A token, which can be sent as ListMetadataStoresRequest.page_token + to retrieve the next page. If this field is not populated, there are + no subsequent pages. + type: string + GoogleCloudAiplatformV1Artifact: + id: GoogleCloudAiplatformV1Artifact + description: Instance of a general artifact. type: object - id: GoogleCloudAiplatformV1ModelDataStats - description: Stats of data used for train or evaluate the Model. properties: - validationDataItemsCount: + name: + description: Output only. The resource name of the Artifact. + readOnly: true type: string + displayName: description: >- - Number of DataItems that were used for validating this Model during - training. - format: int64 - testDataItemsCount: - format: int64 - description: >- - Number of DataItems that were used for evaluating this Model. If the - Model is evaluated multiple times, this will be the number of test - DataItems used by the first evaluation. If the Model is not - evaluated, the number is 0. + User provided display name of the Artifact. May be up to 128 Unicode + characters. type: string - validationAnnotationsCount: - format: int64 + uri: description: >- - Number of Annotations that are used for validating this Model during - training. + The uniform resource identifier of the artifact file. May be empty + if there is no actual artifact file. type: string - testAnnotationsCount: + etag: description: >- - Number of Annotations that are used for evaluating this Model. If - the Model is evaluated multiple times, this will be the number of - test Annotations used by the first evaluation. If the Model is not - evaluated, the number is 0. - format: int64 - type: string - trainingDataItemsCount: - format: int64 - type: string - description: Number of DataItems that were used for training this Model. - trainingAnnotationsCount: - format: int64 - description: Number of Annotations that are used for training this Model. + An eTag used to perform consistent read-modify-write updates. If not + set, a blind "overwrite" update happens. type: string - GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult: - type: object - id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult - description: Spec for question answering relevance result. - properties: - confidence: - description: Output only. Confidence for question answering relevance score. - readOnly: true - format: float - type: number - score: + labels: + description: >- + The labels with user-defined metadata to organize your Artifacts. + 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 Artifact (System + labels are excluded). + type: object + additionalProperties: + type: string + createTime: + description: Output only. Timestamp when this Artifact was created. readOnly: true - format: float - type: number - description: Output only. Question Answering Relevance score. - explanation: type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this Artifact was last updated. readOnly: true - description: Output only. Explanation for question answering relevance score. - GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback: - description: Content filter results for a prompt sent in the request. - properties: - blockReasonMessage: - description: Output only. A readable block reason message. type: string - readOnly: true - safetyRatings: - readOnly: true - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyRating' - type: array - description: Output only. Safety ratings. - blockReason: + format: google-datetime + state: + description: >- + 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. + type: string enumDescriptions: - - Unspecified blocked reason. - - Candidates blocked due to safety. - - Candidates blocked due to other reason. + - Unspecified state for the Artifact. - >- - Candidates blocked due to the terms which are included from the - terminology blocklist. - - Candidates blocked due to prohibited content. - description: Output only. Blocked reason. - enum: - - BLOCKED_REASON_UNSPECIFIED - - SAFETY - - OTHER - - BLOCKLIST - - PROHIBITED_CONTENT - type: string - readOnly: true - type: object - id: GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback - GoogleCloudAiplatformV1SuggestTrialsResponse: - id: GoogleCloudAiplatformV1SuggestTrialsResponse - type: object - properties: - trials: - type: array - description: A list of Trials. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' - studyState: + A state used by systems like Vertex AI Pipelines to indicate that + the underlying data item represented by this Artifact is being + created. + - >- + A state indicating that the Artifact should exist, unless + something external to the system deletes it. enum: - STATE_UNSPECIFIED - - ACTIVE - - INACTIVE - - COMPLETED - enumDescriptions: - - The study state is unspecified. - - The study is active. - - The study is stopped due to an internal error. - - >- - The study is done when the service exhausts the parameter search - space or max_trial_count is reached. + - PENDING + - LIVE + schemaTitle: + description: >- + 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. type: string - description: The state of the Study. - endTime: - format: google-datetime - description: The time at which operation processing completed. + schemaVersion: + description: >- + 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. type: string - startTime: + metadata: + description: >- + Properties of the Artifact. Top level metadata keys' heading and + trailing spaces will be trimmed. The size of this field should not + exceed 200KB. + type: object + additionalProperties: + type: any + description: Properties of the object. + description: + description: Description of the Artifact type: string - format: google-datetime - description: The time at which the operation was started. - description: Response message for VizierService.SuggestTrials. - GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData: - id: GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData - description: Per month usage data + GoogleCloudAiplatformV1ListArtifactsResponse: + id: GoogleCloudAiplatformV1ListArtifactsResponse + description: Response message for MetadataService.ListArtifacts. type: object properties: - userUsageData: - description: Usage data for each user in the given month. + artifacts: + description: The Artifacts retrieved from the MetadataStore. type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData - GoogleCloudAiplatformV1DirectRawPredictRequest: - description: Request message for PredictionService.DirectRawPredict. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + nextPageToken: + description: >- + A token, which can be sent as ListArtifactsRequest.page_token to + retrieve the next page. If this field is not populated, there are no + subsequent pages. + type: string + GoogleCloudAiplatformV1PurgeArtifactsRequest: + id: GoogleCloudAiplatformV1PurgeArtifactsRequest + description: Request message for MetadataService.PurgeArtifacts. type: object properties: - input: - description: The prediction input. - format: byte - type: string - methodName: - type: string + filter: description: >- - Fully qualified name of the API method being invoked to perform - predictions. Format: `/namespace.Service/Method/` Example: - `/tensorflow.serving.PredictionService/Predict` - id: GoogleCloudAiplatformV1DirectRawPredictRequest - GoogleCloudAiplatformV1DeployedIndex: - id: GoogleCloudAiplatformV1DeployedIndex - description: >- - A deployment of an Index. IndexEndpoints contain one or more - DeployedIndexes. + Required. A required filter matching the Artifacts to be purged. + E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + type: string + force: + description: >- + Optional. Flag to indicate to actually perform the purge. If `force` + is set to false, the method will return a sample of Artifact names + that would be deleted. + type: boolean + GoogleCloudAiplatformV1Context: + id: GoogleCloudAiplatformV1Context + description: Instance of a general context. type: object properties: - deploymentGroup: + name: + description: Immutable. The resource name of the Context. type: string + displayName: description: >- - Optional. The deployment group can be no longer than 64 characters - (eg: 'test', 'prod'). If not set, we will use the 'default' - deployment group. Creating `deployment_groups` with - `reserved_ip_ranges` is a recommended practice when the peered - network has multiple peering ranges. This creates your deployments - from predictable IP spaces for easier traffic administration. Also, - one deployment_group (except 'default') can only be used with the - same reserved_ip_ranges which means if the deployment_group has been - used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, - e] is disallowed. Note: we only support up to 5 deployment - groups(not including 'default'). - privateEndpoints: - readOnly: true - description: >- - Output only. Provides paths for users to send requests directly to - the deployed index services running on Cloud via private services - access. This field is populated if network is configured. - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexPrivateEndpoints' - deployedIndexAuthConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndexAuthConfig' + User provided display name of the Context. May be up to 128 Unicode + characters. + type: string + etag: description: >- - Optional. If set, the authentication is enabled for the private - endpoint. - indexSyncTime: + An eTag used to perform consistent read-modify-write updates. If not + set, a blind "overwrite" update happens. + type: string + labels: description: >- - Output only. The DeployedIndex may depend on various data on its - original Index. Additionally when certain changes to the original - Index are being done (e.g. when what the Index contains is being - changed) the DeployedIndex may be asynchronously updated in the - background to reflect these changes. If this timestamp's value is at - least the Index.update_time of the original Index, it means that - this DeployedIndex and the original Index are in sync. If this - timestamp is older, then to see which updates this DeployedIndex - already contains (and which it does not), one must list the - operations that are running on the original Index. Only the - successfully completed Operations with update_time equal or before - this sync time are contained in this DeployedIndex. + The labels with user-defined metadata to organize your Contexts. + 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 Context (System + labels are excluded). + type: object + additionalProperties: + type: string + createTime: + description: Output only. Timestamp when this Context was created. readOnly: true type: string format: google-datetime - enableAccessLogging: - type: boolean - description: >- - Optional. If true, private endpoint's access logs are sent to Cloud - Logging. These logs are like standard server access logs, containing - information like timestamp and latency for each MatchRequest. Note - that logs may incur a cost, especially if the deployed index - receives a high queries per second rate (QPS). Estimate your costs - before enabling this option. - dedicatedResources: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' + updateTime: + description: Output only. Timestamp when this Context was last updated. + readOnly: true + type: string + format: google-datetime + parentContexts: description: >- - Optional. A description of resources that are dedicated to the - DeployedIndex, and that need a higher degree of manual - configuration. The field min_replica_count must be set to a value - strictly greater than 0, or else validation will fail. We don't - provide SLA when min_replica_count=1. If max_replica_count is not - set, the default value is min_replica_count. The max allowed replica - count is 1000. Available machine types for SMALL shard: - e2-standard-2 and all machine types available for MEDIUM and LARGE - shard. Available machine types for MEDIUM shard: e2-standard-16 and - all machine types available for LARGE shard. Available machine types - for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and - n1-standard-32 are still available, but we recommend e2-standard-16 - and e2-highmem-16 for cost efficiency. - reservedIpRanges: + Output only. A list of resource names of Contexts that are parents + of this Context. A Context may have at most 10 parent_contexts. + readOnly: true type: array - description: >- - Optional. A list of reserved ip ranges under the VPC network that - can be used for this DeployedIndex. If set, we will deploy the index - within the provided ip ranges. Otherwise, the index might be - deployed to any ip ranges under the provided VPC network. The value - should be the name of the address - (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) - Example: ['vertex-ai-ip-range']. For more information about subnets - and network IP ranges, please see - https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges. items: type: string - displayName: + schemaTitle: description: >- - The display name of the DeployedIndex. If not provided upon - creation, the Index's display_name is used. + 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. type: string - pscAutomationConfigs: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PSCAutomationConfig' + schemaVersion: description: >- - Optional. If set for PSC deployed index, PSC connection will be - automatically created after deployment is done and the endpoint - information is populated in - private_endpoints.psc_automated_endpoints. - id: + 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. + type: string + metadata: description: >- - Required. The user specified ID of the DeployedIndex. The ID can be - up to 128 characters long and must start with a letter and only - contain letters, numbers, and underscores. The ID must be unique - within the project it is created in. + Properties of the Context. Top level metadata keys' heading and + trailing spaces will be trimmed. The size of this field should not + exceed 200KB. + type: object + additionalProperties: + type: any + description: Properties of the object. + description: + description: Description of the Context type: string - index: + GoogleCloudAiplatformV1ListContextsResponse: + id: GoogleCloudAiplatformV1ListContextsResponse + description: Response message for MetadataService.ListContexts. + type: object + properties: + contexts: + description: The Contexts retrieved from the MetadataStore. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + nextPageToken: description: >- - Required. The name of the Index this is the deployment of. We may - refer to this Index as the DeployedIndex's "original" Index. + A token, which can be sent as ListContextsRequest.page_token to + retrieve the next page. If this field is not populated, there are no + subsequent pages. type: string - createTime: + GoogleCloudAiplatformV1PurgeContextsRequest: + id: GoogleCloudAiplatformV1PurgeContextsRequest + description: Request message for MetadataService.PurgeContexts. + type: object + properties: + filter: + description: >- + Required. A required filter matching the Contexts to be purged. + E.g., `update_time <= 2020-11-19T11:30:00-04:00`. type: string - readOnly: true - description: Output only. Timestamp when the DeployedIndex was created. - format: google-datetime - automaticResources: - $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' + force: description: >- - Optional. A description of resources that the DeployedIndex uses, - which to large degree are decided by Vertex AI, and optionally - allows only a modest additional configuration. If min_replica_count - is not set, the default value is 2 (we don't provide SLA when - min_replica_count=1). If max_replica_count is not set, the default - value is min_replica_count. The max allowed replica count is 1000. - GoogleCloudAiplatformV1ExplanationSpec: - id: GoogleCloudAiplatformV1ExplanationSpec + Optional. Flag to indicate to actually perform the purge. If `force` + is set to false, the method will return a sample of Context names + that would be deleted. + type: boolean + GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest: + id: GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest + description: Request message for MetadataService.AddContextArtifactsAndExecutions. type: object properties: - metadata: + artifacts: description: >- - Optional. Metadata describing the Model's input and output for - explanation. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationMetadata' - parameters: + The resource names of the Artifacts to attribute to the Context. + Format: + `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + type: array + items: + type: string + executions: description: >- - Required. Parameters that configure explaining of the Model's - predictions. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationParameters' - description: Specification of Model explanation. - GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup: + The resource names of the Executions to associate with the Context. + Format: + `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + type: array + items: + type: string + GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse: + id: GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse + description: Response message for MetadataService.AddContextArtifactsAndExecutions. + type: object + properties: {} + GoogleCloudAiplatformV1AddContextChildrenRequest: + id: GoogleCloudAiplatformV1AddContextChildrenRequest + description: Request message for MetadataService.AddContextChildren. type: object - description: >- - Features belonging to a single feature group that will be synced to - Online Store. properties: - featureIds: + childContexts: + description: The resource names of the child Contexts. type: array - description: Required. Identifiers of features under the feature group. items: type: string - featureGroupId: - description: Required. Identifier of the feature group. - type: string - id: GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup - GoogleCloudAiplatformV1PairwiseMetricInstance: - id: GoogleCloudAiplatformV1PairwiseMetricInstance + GoogleCloudAiplatformV1AddContextChildrenResponse: + id: GoogleCloudAiplatformV1AddContextChildrenResponse + description: Response message for MetadataService.AddContextChildren. + type: object + properties: {} + GoogleCloudAiplatformV1RemoveContextChildrenRequest: + id: GoogleCloudAiplatformV1RemoveContextChildrenRequest + description: Request message for MetadataService.DeleteContextChildrenRequest. + type: object + properties: + childContexts: + description: The resource names of the child Contexts. + type: array + items: + type: string + GoogleCloudAiplatformV1RemoveContextChildrenResponse: + id: GoogleCloudAiplatformV1RemoveContextChildrenResponse + description: Response message for MetadataService.RemoveContextChildren. + type: object + properties: {} + GoogleCloudAiplatformV1LineageSubgraph: + id: GoogleCloudAiplatformV1LineageSubgraph description: >- - Pairwise metric instance. Usually one instance corresponds to one row in - an evaluation dataset. + A subgraph of the overall lineage graph. Event edges connect Artifact + and Execution nodes. type: object properties: - jsonInstance: - type: string - description: >- - Instance specified as a json string. String key-value pairs are - expected in the json_instance to render - PairwiseMetricSpec.instance_prompt_template. - GoogleCloudAiplatformV1MachineSpec: + artifacts: + description: The Artifact nodes in the subgraph. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + executions: + description: The Execution nodes in the subgraph. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + events: + description: The Event edges between Artifacts and Executions in the subgraph. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Event' + GoogleCloudAiplatformV1Execution: + id: GoogleCloudAiplatformV1Execution + description: Instance of a general execution. type: object properties: - acceleratorCount: - format: int32 - type: integer - description: The number of accelerators to attach to the machine. - tpuTopology: + name: + description: Output only. The resource name of the Execution. + readOnly: true type: string + displayName: description: >- - Immutable. The topology of the TPUs. Corresponds to the TPU - topologies available from GKE. (Example: tpu_topology: "2x2x1"). - machineType: + User provided display name of the Execution. May be up to 128 + Unicode characters. type: string + state: description: >- - Immutable. The type of the machine. See the [list of machine types - supported for - prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) - See the [list of machine types supported for custom - training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). - For DeployedModel this field is optional, and the default value is - `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec - this field is required. - acceleratorType: + 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. type: string + enumDescriptions: + - Unspecified Execution state + - The Execution is new + - The Execution is running + - The Execution has finished running + - The Execution has failed + - The Execution completed through Cache hit. + - The Execution was cancelled. enum: - - ACCELERATOR_TYPE_UNSPECIFIED - - NVIDIA_TESLA_K80 - - NVIDIA_TESLA_P100 - - NVIDIA_TESLA_V100 - - NVIDIA_TESLA_P4 - - NVIDIA_TESLA_T4 - - NVIDIA_TESLA_A100 - - NVIDIA_A100_80GB - - NVIDIA_L4 - - NVIDIA_H100_80GB - - TPU_V2 - - TPU_V3 - - TPU_V4_POD - - TPU_V5_LITEPOD + - STATE_UNSPECIFIED + - NEW + - RUNNING + - COMPLETE + - FAILED + - CACHED + - CANCELLED + etag: description: >- - Immutable. The type of accelerator(s) that may be attached to the - machine as per accelerator_count. - enumDescriptions: - - Unspecified accelerator type, which means no accelerator. - - >- - Deprecated: Nvidia Tesla K80 GPU has reached end of support, see - https://cloud.google.com/compute/docs/eol/k80-eol. - - Nvidia Tesla P100 GPU. - - Nvidia Tesla V100 GPU. - - Nvidia Tesla P4 GPU. - - Nvidia Tesla T4 GPU. - - Nvidia Tesla A100 GPU. - - Nvidia A100 80GB GPU. - - Nvidia L4 GPU. - - Nvidia H100 80Gb GPU. - - TPU v2. - - TPU v3. - - TPU v4. - - TPU v5. - enumDeprecated: - - false - - true - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - reservationAffinity: + An eTag used to perform consistent read-modify-write updates. If not + set, a blind "overwrite" update happens. + type: string + labels: description: >- - Optional. Immutable. Configuration controlling how this resource - pool consumes reservation. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ReservationAffinity' - description: Specification of a single machine. - id: GoogleCloudAiplatformV1MachineSpec - GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput: - type: object - id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput - description: Input for question answering relevance metric. - properties: - instance: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance - description: Required. Question answering relevance instance. - metricSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec - description: Required. Spec for question answering relevance score metric. - GoogleCloudAiplatformV1ContainerSpec: - description: The spec of a Container. - id: GoogleCloudAiplatformV1ContainerSpec + 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). + type: object + additionalProperties: + type: string + createTime: + description: Output only. Timestamp when this Execution was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this Execution was last updated. + readOnly: true + type: string + format: google-datetime + schemaTitle: + description: >- + 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. + type: string + schemaVersion: + description: >- + 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. + type: string + metadata: + description: >- + Properties of the Execution. Top level metadata keys' heading and + trailing spaces will be trimmed. The size of this field should not + exceed 200KB. + type: object + additionalProperties: + type: any + description: Properties of the object. + description: + description: Description of the Execution + type: string + GoogleCloudAiplatformV1Event: + id: GoogleCloudAiplatformV1Event + description: >- + An edge describing the relationship between an Artifact and an Execution + in a lineage graph. type: object properties: - command: + artifact: + description: Required. The relative resource name of the Artifact in the Event. + type: string + execution: description: >- - The command to be invoked when the container is started. It - overrides the entrypoint instruction in Dockerfile when provided. - items: - type: string - type: array - args: - description: The arguments to be passed when starting the container. - type: array - items: - type: string - imageUri: + Output only. The relative resource name of the Execution in the + Event. + readOnly: true type: string + eventTime: + description: Output only. Time the Event occurred. + readOnly: true + type: string + format: google-datetime + type: + description: Required. The type of the Event. + type: string + enumDescriptions: + - Unspecified whether input or output of the Execution. + - An input of the Execution. + - An output of the Execution. + enum: + - TYPE_UNSPECIFIED + - INPUT + - OUTPUT + labels: description: >- - Required. The URI of a container image in the Container Registry - that is to be run on each worker replica. - env: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EnvVar' + The labels with user-defined metadata to annotate Events. 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 Event (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. + type: object + additionalProperties: + type: string + GoogleCloudAiplatformV1ListExecutionsResponse: + id: GoogleCloudAiplatformV1ListExecutionsResponse + description: Response message for MetadataService.ListExecutions. + type: object + properties: + executions: + description: The Executions retrieved from the MetadataStore. type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + nextPageToken: description: >- - Environment variables to be passed to the container. Maximum limit - is 100. - GoogleCloudAiplatformV1Citation: - properties: - license: - type: string - readOnly: true - description: Output only. License of the attribution. - publicationDate: - readOnly: true - $ref: '#/components/schemas/GoogleTypeDate' - description: Output only. Publication date of the attribution. - uri: - readOnly: true - description: Output only. Url reference of the attribution. - type: string - startIndex: - description: Output only. Start index into the content. - format: int32 - type: integer - readOnly: true - title: + A token, which can be sent as ListExecutionsRequest.page_token to + retrieve the next page. If this field is not populated, there are no + subsequent pages. type: string - description: Output only. Title of the attribution. - readOnly: true - endIndex: - description: Output only. End index into the content. - format: int32 - readOnly: true - type: integer - id: GoogleCloudAiplatformV1Citation - description: Source attributions for content. + GoogleCloudAiplatformV1PurgeExecutionsRequest: + id: GoogleCloudAiplatformV1PurgeExecutionsRequest + description: Request message for MetadataService.PurgeExecutions. type: object - GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig: - description: >- - OnlineServingConfig specifies the details for provisioning online - serving resources. properties: - fixedNodeCount: + filter: description: >- - The number of nodes for the online store. The number of nodes - doesn't scale automatically, but you can manually update the number - of nodes. If set to 0, the featurestore will not have an online - store and cannot be used for online serving. - format: int32 - type: integer - scaling: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling + Required. A required filter matching the Executions to be purged. + E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + type: string + force: description: >- - Online serving scaling configuration. Only one of `fixed_node_count` - and `scaling` can be set. Setting one will reset the other. - id: GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig + Optional. Flag to indicate to actually perform the purge. If `force` + is set to false, the method will return a sample of Execution names + that would be deleted. + type: boolean + GoogleCloudAiplatformV1AddExecutionEventsRequest: + id: GoogleCloudAiplatformV1AddExecutionEventsRequest + description: Request message for MetadataService.AddExecutionEvents. type: object - GoogleCloudAiplatformV1GcsSource: properties: - uris: + events: + description: The Events to create and add. type: array - description: >- - Required. Google Cloud Storage URI(-s) to the input file(s). May - contain wildcards. For more information on wildcards, see - https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. items: - type: string - type: object - id: GoogleCloudAiplatformV1GcsSource - description: The Google Cloud Storage location for the input content. - GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Event' + GoogleCloudAiplatformV1AddExecutionEventsResponse: + id: GoogleCloudAiplatformV1AddExecutionEventsResponse + description: Response message for MetadataService.AddExecutionEvents. type: object - properties: - defaultValue: - type: number - format: double - description: >- - A default value for a `DOUBLE` parameter that is assumed to be a - relatively good starting point. Unset value signals that there is no - offered starting point. Currently only supported by the Vertex AI - Vizier service. Not supported by HyperparameterTuningJob or - TrainingPipeline. - maxValue: - type: number - format: double - description: Required. Inclusive maximum value of the parameter. - minValue: - type: number - description: Required. Inclusive minimum value of the parameter. - format: double - id: GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec - description: Value specification for a parameter in `DOUBLE` type. - CloudAiLargeModelsVisionImage: - description: Image. + properties: {} + GoogleCloudAiplatformV1MetadataSchema: + id: GoogleCloudAiplatformV1MetadataSchema + description: Instance of a general MetadataSchema. type: object properties: - uri: + name: + description: Output only. The resource name of the MetadataSchema. + readOnly: true type: string - description: Path to another storage (typically Google Cloud Storage). - raiInfo: - description: RAI info for image. - $ref: '#/components/schemas/CloudAiLargeModelsVisionRaiInfo' - text: + schemaVersion: + description: >- + 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. type: string - description: Text/Expanded text input for imagen. - image: - format: byte + schema: + description: >- + 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) type: string - description: Raw bytes. - generationSeed: - type: integer + schemaType: description: >- - Generation seed for the sampled image. This parameter is exposed to - the user only if one of the following is true: 1. The user specified - per-example seeds in the request. 2. The user doesn't specify the - generation seed in the request. - format: int32 - imageRaiScores: - description: RAI scores for generated image. - $ref: '#/components/schemas/CloudAiLargeModelsVisionImageRAIScores' - encoding: - description: Image encoding, encoded as "image/png" or "image/jpg". + The type of the MetadataSchema. This is a property that identifies + which metadata types will use the MetadataSchema. type: string - semanticFilterResponse: - description: Semantic filter info for image. - $ref: '#/components/schemas/CloudAiLargeModelsVisionSemanticFilterResponse' - id: CloudAiLargeModelsVisionImage - GoogleCloudAiplatformV1SchemaTablesDatasetMetadata: - properties: - inputConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig - id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadata - type: object - description: The metadata of Datasets that contain tables data. - GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec: - description: The spec of multi-trial Neural Architecture Search (NAS). - properties: - multiTrialAlgorithm: enumDescriptions: - - Defaults to `REINFORCEMENT_LEARNING`. + - Unspecified type for the MetadataSchema. - >- - The Reinforcement Learning Algorithm for Multi-trial Neural - Architecture Search (NAS). + A type indicating that the MetadataSchema will be used by + Artifacts. - >- - The Grid Search Algorithm for Multi-trial Neural Architecture - Search (NAS). - type: string - description: >- - The multi-trial Neural Architecture Search (NAS) algorithm type. - Defaults to `REINFORCEMENT_LEARNING`. + A typee indicating that the MetadataSchema will be used by + Executions. + - >- + A state indicating that the MetadataSchema will be used by + Contexts. enum: - - MULTI_TRIAL_ALGORITHM_UNSPECIFIED - - REINFORCEMENT_LEARNING - - GRID_SEARCH - trainTrialSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec - description: >- - Spec for train trials. Top N - [TrainTrialSpec.max_parallel_trial_count] search trials will be - trained for every M [TrainTrialSpec.frequency] trials searched. - searchTrialSpec: - description: Required. Spec for search trials. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec - metric: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec - description: >- - Metric specs for the NAS job. Validation for this field is done at - `multi_trial_algorithm_spec` field. - type: object - id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec - GoogleCloudAiplatformV1Neighbor: - properties: - neighborId: - description: Output only. The neighbor id. + - METADATA_SCHEMA_TYPE_UNSPECIFIED + - ARTIFACT_TYPE + - EXECUTION_TYPE + - CONTEXT_TYPE + createTime: + description: Output only. Timestamp when this MetadataSchema was created. readOnly: true type: string - neighborDistance: - description: Output only. The neighbor distance. - format: double - readOnly: true - type: number - id: GoogleCloudAiplatformV1Neighbor - description: Neighbors for example-based explanations. + format: google-datetime + description: + description: Description of the Metadata Schema + type: string + GoogleCloudAiplatformV1ListMetadataSchemasResponse: + id: GoogleCloudAiplatformV1ListMetadataSchemasResponse + description: Response message for MetadataService.ListMetadataSchemas. type: object - GoogleCloudAiplatformV1AvroSource: - id: GoogleCloudAiplatformV1AvroSource properties: - gcsSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' - description: Required. Google Cloud Storage location. - type: object - description: The storage details for Avro input content. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation: + metadataSchemas: + description: The MetadataSchemas found for the MetadataStore. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' + nextPageToken: + description: >- + A token, which can be sent as ListMetadataSchemasRequest.page_token + to retrieve the next page. If this field is not populated, there are + no subsequent pages. + type: string + GoogleCloudAiplatformV1SearchMigratableResourcesRequest: + id: GoogleCloudAiplatformV1SearchMigratableResourcesRequest + description: Request message for MigrationService.SearchMigratableResources. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation properties: - invalidValuesAllowed: - type: boolean + pageSize: + description: The standard page size. The default and maximum value is 100. + type: integer + format: int32 + pageToken: + description: The standard page token. + type: string + filter: description: >- - If invalid values is allowed, the training pipeline will create a - boolean feature that indicated whether the value is valid. - Otherwise, the training pipeline will discard the input row from - trainining data. - columnName: + A filter for your search. You can use the following types of + filters: * Resource type filters. The following strings filter for a + specific type of MigratableResource: * `ml_engine_model_version:*` * + `automl_model:*` * `automl_dataset:*` * `data_labeling_dataset:*` * + "Migrated or not" filters. The following strings filter for + resources that either have or have not already been migrated: * + `last_migrate_time:*` filters for migrated resources. * `NOT + last_migrate_time:*` filters for not yet migrated resources. type: string - description: >- - Training pipeline will perform following transformation functions. * The - value converted to float32. * The z_score of the value. * log(value+1) - when the value is greater than or equal to 0. Otherwise, this - transformation is not applied and the value is considered a missing - value. * z_score of log(value+1) when the value is greater than or equal - to 0. Otherwise, this transformation is not applied and the value is - considered a missing value. * A boolean value that indicates whether the - value is valid. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition: + GoogleCloudAiplatformV1SearchMigratableResourcesResponse: + id: GoogleCloudAiplatformV1SearchMigratableResourcesResponse + description: Response message for MigrationService.SearchMigratableResources. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition - properties: - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs - description: The input parameters of this TrainingJob. - description: >- - A TrainingJob that trains and uploads an AutoML Video Action Recognition - Model. - GoogleCloudAiplatformV1ListModelsResponse: - description: Response message for ModelService.ListModels properties: - models: - description: List of Models in the requested page. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + migratableResources: + description: >- + All migratable resources that can be migrated to the location + specified in the request. type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1MigratableResource' nextPageToken: description: >- - A token to retrieve next page of results. Pass to - ListModelsRequest.page_token to obtain that page. + The standard next-page token. The migratable_resources may not fill + page_size in SearchMigratableResourcesRequest even when there are + subsequent pages. type: string + GoogleCloudAiplatformV1MigratableResource: + id: GoogleCloudAiplatformV1MigratableResource + description: >- + Represents one resource that exists in automl.googleapis.com, + datalabeling.googleapis.com or ml.googleapis.com. type: object - id: GoogleCloudAiplatformV1ListModelsResponse - GoogleCloudAiplatformV1FluencyResult: - type: object - id: GoogleCloudAiplatformV1FluencyResult properties: - explanation: - description: Output only. Explanation for fluency score. - type: string + mlEngineModelVersion: + description: Output only. Represents one Version in ml.googleapis.com. readOnly: true - confidence: - type: number + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion + automlModel: + description: Output only. Represents one Model in automl.googleapis.com. readOnly: true - format: float - description: Output only. Confidence for fluency score. - score: - format: float - type: number - description: Output only. Fluency score. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigratableResourceAutomlModel + automlDataset: + description: Output only. Represents one Dataset in automl.googleapis.com. readOnly: true - description: Spec for fluency result. - GoogleCloudAiplatformV1CancelBatchPredictionJobRequest: - type: object - properties: {} - description: Request message for JobService.CancelBatchPredictionJob. - id: GoogleCloudAiplatformV1CancelBatchPredictionJobRequest - GoogleCloudAiplatformV1EntityIdSelector: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigratableResourceAutomlDataset + dataLabelingDataset: + description: Output only. Represents one Dataset in datalabeling.googleapis.com. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset + lastMigrateTime: + description: >- + Output only. Timestamp when the last migration attempt on this + MigratableResource started. Will not be set if there's no migration + attempt on this MigratableResource. + readOnly: true + type: string + format: google-datetime + lastUpdateTime: + description: >- + Output only. Timestamp when this MigratableResource was last + updated. + readOnly: true + type: string + format: google-datetime + GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion: + id: GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion + description: Represents one model Version in ml.googleapis.com. type: object - description: Selector for entityId. Getting ids from the given source. - id: GoogleCloudAiplatformV1EntityIdSelector properties: - entityIdField: + endpoint: description: >- - Source column that holds entity IDs. If not provided, entity IDs are - extracted from the column named entity_id. + The ml.googleapis.com endpoint that this model Version currently + lives in. Example values: * ml.googleapis.com * + us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * + asia-east1-ml.googleapis.com type: string - csvSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvSource' - description: Source of Csv - GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode: - id: GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode - properties: - modelName: + version: description: >- - The model name to use. Only the public LLM models are accepted. e.g. - 'gemini-1.5-pro-001'. + Full resource name of ml engine model Version. Format: + `projects/{project}/models/{model}/versions/{version}`. type: string + GoogleCloudAiplatformV1MigratableResourceAutomlModel: + id: GoogleCloudAiplatformV1MigratableResourceAutomlModel + description: Represents one Model in automl.googleapis.com. type: object - description: When manual routing is set, the specified model will be used directly. - GoogleCloudAiplatformV1PauseScheduleRequest: - description: Request message for ScheduleService.PauseSchedule. - id: GoogleCloudAiplatformV1PauseScheduleRequest - properties: {} + properties: + model: + description: >- + Full resource name of automl Model. Format: + `projects/{project}/locations/{location}/models/{model}`. + type: string + modelDisplayName: + description: The Model's display name in automl.googleapis.com. + type: string + GoogleCloudAiplatformV1MigratableResourceAutomlDataset: + id: GoogleCloudAiplatformV1MigratableResourceAutomlDataset + description: Represents one Dataset in automl.googleapis.com. type: object - GoogleCloudAiplatformV1FeatureValueDestination: - description: A destination location for Feature values and format. properties: - tfrecordDestination: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TFRecordDestination' + dataset: description: >- - Output in TFRecord format. Below are the mapping from Feature value - type in Featurestore to Feature value type in TFRecord: Value type - in Featurestore | Value type in TFRecord DOUBLE, DOUBLE_ARRAY | - FLOAT_LIST INT64, INT64_ARRAY | INT64_LIST STRING, STRING_ARRAY, - BYTES | BYTES_LIST true -> byte_string("true"), false -> - byte_string("false") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST - bigqueryDestination: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' + Full resource name of automl Dataset. Format: + `projects/{project}/locations/{location}/datasets/{dataset}`. + type: string + datasetDisplayName: + description: The Dataset's display name in automl.googleapis.com. + type: string + GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset: + id: GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset + description: Represents one Dataset in datalabeling.googleapis.com. + type: object + properties: + dataset: description: >- - Output in BigQuery format. BigQueryDestination.output_uri in - FeatureValueDestination.bigquery_destination must refer to a table. - csvDestination: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvDestination' + Full resource name of data labeling Dataset. Format: + `projects/{project}/datasets/{dataset}`. + type: string + datasetDisplayName: + description: The Dataset's display name in datalabeling.googleapis.com. + type: string + dataLabelingAnnotatedDatasets: description: >- - Output in CSV format. Array Feature value types are not allowed in - CSV format. - id: GoogleCloudAiplatformV1FeatureValueDestination - type: object - GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata: + The migratable AnnotatedDataset in datalabeling.googleapis.com + belongs to the data labeling Dataset. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset + GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset: + id: >- + GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset + description: Represents one AnnotatedDataset in datalabeling.googleapis.com. type: object properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for FeatureView Update. - id: GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata - description: Details of operations that perform update FeatureView. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask: - properties: - inputs: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' - description: The input parameters of this CustomTask. - metadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata - description: The metadata information. - description: A TrainingJob that trains a custom code Model. - type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask - GoogleCloudAiplatformV1DeployModelResponse: - id: GoogleCloudAiplatformV1DeployModelResponse - description: Response message for EndpointService.DeployModel. + annotatedDataset: + description: >- + Full resource name of data labeling AnnotatedDataset. Format: + `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + type: string + annotatedDatasetDisplayName: + description: The AnnotatedDataset's display name in datalabeling.googleapis.com. + type: string + GoogleCloudAiplatformV1BatchMigrateResourcesRequest: + id: GoogleCloudAiplatformV1BatchMigrateResourcesRequest + description: Request message for MigrationService.BatchMigrateResources. type: object properties: - deployedModel: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' - description: The DeployedModel that had been deployed in the Endpoint. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation: - properties: - columnName: - type: string + migrateResourceRequests: + description: >- + Required. The request messages specifying the resources to migrate. + They must be in the same location as the destination. Up to 50 + resources can be migrated in one batch. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequest' + GoogleCloudAiplatformV1MigrateResourceRequest: + id: GoogleCloudAiplatformV1MigrateResourceRequest description: >- - Treats the column as categorical array and performs following - transformation functions. * For each element in the array, convert the - category name to a dictionary lookup index and generate an embedding for - each index. Combine the embedding of all elements into a single - embedding using the mean. * Empty arrays treated as an embedding of - zeroes. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation + Config of migrating one resource from automl.googleapis.com, + datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. type: object - GoogleCloudAiplatformV1FeaturestoreMonitoringConfig: properties: - numericalThresholdConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig + migrateMlEngineModelVersionConfig: description: >- - Threshold for numerical features of anomaly detection. This is - shared by all objectives of Featurestore Monitoring for numerical - features (i.e. Features with type (Feature.ValueType) DOUBLE or - INT64). - categoricalThresholdConfig: + Config for migrating Version in ml.googleapis.com to Vertex AI's + Model. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig + migrateAutomlModelConfig: description: >- - Threshold for categorical features of anomaly detection. This is - shared by all types of Featurestore Monitoring for categorical - features (i.e. Features with type (Feature.ValueType) BOOL or - STRING). + Config for migrating Model in automl.googleapis.com to Vertex AI's + Model. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig - snapshotAnalysis: + #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig + migrateAutomlDatasetConfig: + description: >- + Config for migrating Dataset in automl.googleapis.com to Vertex AI's + Dataset. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis - description: The config for Snapshot Analysis Based Feature Monitoring. - importFeaturesAnalysis: - description: The config for ImportFeatures Analysis Based Feature Monitoring. + #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig + migrateDataLabelingDatasetConfig: + description: >- + Config for migrating Dataset in datalabeling.googleapis.com to + Vertex AI's Dataset. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis - description: Configuration of how features in Featurestore are monitored. - type: object - id: GoogleCloudAiplatformV1FeaturestoreMonitoringConfig - GoogleCloudAiplatformV1Schema: + #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig + GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig: + id: >- + GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig + description: Config for migrating version in ml.googleapis.com to Vertex AI's Model. type: object properties: - default: - type: any - description: Optional. Default value of the data. - enum: - description: >- - Optional. Possible values of the element of Type.STRING with enum - format. For example we can define an Enum Direction as : - {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} - type: array - items: - type: string - propertyOrdering: - items: - type: string - type: array + endpoint: description: >- - Optional. The order of the properties. Not a standard field in open - api spec. Only used to support the order of the properties. - maximum: - type: number - format: double - description: Optional. Maximum value of the Type.INTEGER and Type.NUMBER - minProperties: - description: Optional. Minimum number of the properties for Type.OBJECT. - type: string - format: int64 - type: - description: Optional. The type of the data. - enumDescriptions: - - Not specified, should not be used. - - OpenAPI string type - - OpenAPI number type - - OpenAPI integer type - - OpenAPI boolean type - - OpenAPI array type - - OpenAPI object type - enum: - - TYPE_UNSPECIFIED - - STRING - - NUMBER - - INTEGER - - BOOLEAN - - ARRAY - - OBJECT - type: string - nullable: - description: Optional. Indicates if the value may be null. - type: boolean - maxItems: + Required. The ml.googleapis.com endpoint that this model version + should be migrated from. Example values: * ml.googleapis.com * + us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * + asia-east1-ml.googleapis.com type: string - description: Optional. Maximum number of the elements for Type.ARRAY. - format: int64 - example: - description: >- - Optional. Example of the object. Will only populated when the object - is the root. - type: any - minLength: + modelVersion: description: >- - Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the - Type.STRING - format: int64 + Required. Full resource name of ml engine model version. Format: + `projects/{project}/models/{model}/versions/{version}`. type: string - required: - type: array - description: Optional. Required properties of Type.OBJECT. - items: - type: string - properties: - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' - description: Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT. - type: object - minimum: + modelDisplayName: description: >- - Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of - the Type.INTEGER and Type.NUMBER - type: number - format: double - maxLength: - type: string - description: Optional. Maximum length of the Type.STRING - format: int64 - title: + Required. Display name of the model in Vertex AI. System will pick a + display name if unspecified. type: string - description: Optional. The title of the Schema. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig: + id: GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig + description: >- + Config for migrating Model in automl.googleapis.com to Vertex AI's + Model. + type: object + properties: + model: description: >- - Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of - Type.ARRAY. - minItems: - description: Optional. Minimum number of the elements for Type.ARRAY. - type: string - format: int64 - format: + Required. Full resource name of automl Model. Format: + `projects/{project}/locations/{location}/models/{model}`. type: string + modelDisplayName: description: >- - Optional. The format of the data. Supported formats: for NUMBER - type: "float", "double" for INTEGER type: "int32", "int64" for - STRING type: "email", "byte", etc - maxProperties: - description: Optional. Maximum number of the properties for Type.OBJECT. - format: int64 + Optional. Display name of the model in Vertex AI. System will pick a + display name if unspecified. type: string - pattern: + GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig: + id: GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig + description: >- + Config for migrating Dataset in automl.googleapis.com to Vertex AI's + Dataset. + type: object + properties: + dataset: + description: >- + Required. Full resource name of automl Dataset. Format: + `projects/{project}/locations/{location}/datasets/{dataset}`. type: string + datasetDisplayName: description: >- - Optional. Pattern of the Type.STRING to restrict a string to a - regular expression. - description: + Required. Display name of the Dataset in Vertex AI. System will pick + a display name if unspecified. type: string - description: Optional. The description of the data. - id: GoogleCloudAiplatformV1Schema + GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig: + id: >- + GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig description: >- - Schema is used to define the format of input/output data. Represents a - select subset of an [OpenAPI 3.0 schema - object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields - may be added in the future as needed. - GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse: - id: GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse - type: object - properties: - importedEvaluatedAnnotationsCount: - description: Output only. Number of EvaluatedAnnotations imported. - type: integer - readOnly: true - format: int32 - description: Response message for ModelService.BatchImportEvaluatedAnnotations - GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance: + Config for migrating Dataset in datalabeling.googleapis.com to Vertex + AI's Dataset. type: object - description: Prediction input format for Image Classification. properties: - mimeType: + dataset: + description: >- + Required. Full resource name of data labeling Dataset. Format: + `projects/{project}/datasets/{dataset}`. type: string + datasetDisplayName: description: >- - The MIME type of the content of the image. Only the images in below - listed MIME types are supported. - image/jpeg - image/gif - - image/png - image/webp - image/bmp - image/tiff - - image/vnd.microsoft.icon - content: - description: The image bytes or Cloud Storage URI to make the prediction on. + Optional. Display name of the Dataset in Vertex AI. System will pick + a display name if unspecified. type: string + migrateDataLabelingAnnotatedDatasetConfigs: + description: >- + Optional. Configs for migrating AnnotatedDataset in + datalabeling.googleapis.com to Vertex AI's SavedQuery. The specified + AnnotatedDatasets have to belong to the datalabeling Dataset. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig + GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig: id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification: - properties: - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs - description: The input parameters of this TrainingJob. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification - type: object + GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig description: >- - A TrainingJob that trains and uploads an AutoML Text Classification - Model. - GoogleCloudAiplatformV1PurgeArtifactsMetadata: - id: GoogleCloudAiplatformV1PurgeArtifactsMetadata - description: Details of operations that perform MetadataService.PurgeArtifacts. + Config for migrating AnnotatedDataset in datalabeling.googleapis.com to + Vertex AI's SavedQuery. type: object properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for purging Artifacts. - GoogleCloudAiplatformV1ListOptimalTrialsResponse: + annotatedDataset: + description: >- + Required. Full resource name of data labeling AnnotatedDataset. + Format: + `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + type: string + GoogleCloudAiplatformV1UploadModelRequest: + id: GoogleCloudAiplatformV1UploadModelRequest + description: Request message for ModelService.UploadModel. type: object properties: - optimalTrials: + parentModel: description: >- - 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 - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' - id: GoogleCloudAiplatformV1ListOptimalTrialsResponse - description: Response message for VizierService.ListOptimalTrials. - GoogleCloudAiplatformV1WriteFeatureValuesRequest: - description: Request message for FeaturestoreOnlineServingService.WriteFeatureValues. - properties: - payloads: - type: array + Optional. The resource name of the model into which to upload the + version. Only specify this field when uploading a new version. + type: string + modelId: description: >- - Required. The entities to be written. Up to 100,000 feature values - can be written across all `payloads`. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteFeatureValuesPayload + Optional. The ID to use for the uploaded Model, which will become + the final component of the model resource name. This value may be up + to 63 characters, and valid characters are `[a-z0-9_-]`. The first + character cannot be a number or hyphen. + type: string + model: + description: Required. The Model to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + serviceAccount: + description: >- + Optional. The user-provided custom service account to use to do the + model upload. If empty, [Vertex AI Service + Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + will be used to access resources needed to upload the model. This + account must belong to the target project where the model is + uploaded to, i.e., the project specified in the `parent` field of + this request and have necessary read permissions (to Google Cloud + Storage, Artifact Registry, etc.). + type: string + GoogleCloudAiplatformV1Model: + id: GoogleCloudAiplatformV1Model + description: A trained machine learning Model. type: object - id: GoogleCloudAiplatformV1WriteFeatureValuesRequest - GoogleCloudAiplatformV1QuestionAnsweringQualityInstance: properties: - context: - description: Required. Text to answer the question. + name: + description: The resource name of the Model. type: string - reference: - description: Optional. Ground truth used to compare against the prediction. + versionId: + description: >- + 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. + readOnly: true type: string - instruction: + versionAliases: + description: >- + 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. + type: array + items: + type: string + versionCreateTime: + description: Output only. Timestamp when this version was created. + readOnly: true type: string - description: Required. Question Answering prompt for LLM. - prediction: - description: Required. Output of the evaluated model. + format: google-datetime + versionUpdateTime: + description: Output only. Timestamp when this version was most recently updated. + readOnly: true type: string - description: Spec for question answering quality instance. - id: GoogleCloudAiplatformV1QuestionAnsweringQualityInstance - type: object - GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData: - type: object - description: >- - Container to hold value(s), successive in time, for one Feature from the - request. - properties: - value: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' - description: Feature value if a single value is requested. - values: + format: google-datetime + displayName: description: >- - Feature values list if values, successive in time, are requested. If - the requested number of values is greater than the number of - existing Feature values, nonexistent values are omitted instead of - being returned as empty. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueList' - id: GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData - GoogleCloudAiplatformV1IndexDatapointSparseEmbedding: - description: >- - Feature embedding vector for sparse index. An array of numbers whose - values are located in the specified dimensions. - type: object - properties: - dimensions: + Required. The display name of the Model. The name can be up to 128 + characters long and can consist of any UTF-8 characters. + type: string + description: + description: The description of the Model. + type: string + versionDescription: + description: The description of this version. + type: string + predictSchemata: + description: >- + The schemata that describe formats of the Model's predictions and + explanations as given and returned via PredictionService.Predict and + PredictionService.Explain. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictSchemata' + metadataSchemaUri: + description: >- + 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. + type: string + metadata: + description: >- + 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. + type: any + supportedExportFormats: + description: >- + Output only. The formats in which this Model may be exported. If + empty, this Model is not available for export. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelExportFormat' + trainingPipeline: + description: >- + Output only. The resource name of the TrainingPipeline that uploaded + this Model, if any. + readOnly: true + type: string + pipelineJob: + description: >- + Optional. This field is populated if the model is produced by a + pipeline job. + type: string + containerSpec: + description: >- + Input only. The specification of the container that is to be used + when deploying this Model. The specification is ingested upon + ModelService.UploadModel, and all binaries it contains are copied + and stored internally by Vertex AI. Not required for AutoML Models. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelContainerSpec' + artifactUri: + description: >- + Immutable. The path to the directory containing the Model artifact + and any of its supporting files. Not required for AutoML Models. + type: string + supportedDeploymentResourcesTypes: + description: >- + 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. + readOnly: true + type: array + items: + type: string + enumDescriptions: + - Should not be used. + - >- + Resources that are dedicated to the DeployedModel, and that need + a higher degree of manual configuration. + - >- + Resources that to large degree are decided by Vertex AI, and + require only a modest additional configuration. + - >- + Resources that can be shared by multiple DeployedModels. A + pre-configured DeploymentResourcePool is required. + enum: + - DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED + - DEDICATED_RESOURCES + - AUTOMATIC_RESOURCES + - SHARED_RESOURCES + supportedInputStorageFormats: + description: >- + 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. + readOnly: true type: array items: - format: int64 type: string + supportedOutputStorageFormats: description: >- - Required. The list of indexes for the embedding values of the sparse - vector. - values: - description: Required. The list of embedding values of the sparse vector. + 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. + readOnly: true type: array items: - format: float - type: number - id: GoogleCloudAiplatformV1IndexDatapointSparseEmbedding - GoogleCloudAiplatformV1DatasetVersion: - type: object - description: Describes the dataset version. - properties: - satisfiesPzs: - description: Output only. Reserved for future use. - type: boolean + type: string + createTime: + description: Output only. Timestamp when this Model was uploaded into Vertex AI. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when this Model was most recently updated. + readOnly: true + type: string + format: google-datetime + deployedModels: + description: >- + Output only. The pointers to DeployedModels created from this Model. + Note that Model could have been deployed to Endpoints in different + Locations. readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModelRef' + explanationSpec: + description: >- + The default explanation specification for this Model. The Model can + be used for requesting explanation after being deployed if it is + populated. The Model can be used for batch explanation if it is + populated. All fields of the explanation_spec can be overridden by + explanation_spec of DeployModelRequest.deployed_model, or + explanation_spec of BatchPredictionJob. If the default explanation + specification is not set for this Model, this Model can still be + used for requesting explanation by setting explanation_spec of + DeployModelRequest.deployed_model and for batch explanation by + setting explanation_spec of BatchPredictionJob. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' etag: description: >- Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. type: string - modelReference: + labels: description: >- - Output only. Reference to the public base model last used by the - dataset version. Only set for prompt dataset versions. - type: string - readOnly: true - metadata: + 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. + type: object + additionalProperties: + type: string + dataStats: + description: >- + Stats of data used for training or evaluating the Model. Only + populated when the Model is trained by a TrainingPipeline with + data_input_config. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelDataStats' + encryptionSpec: + description: >- + Customer-managed encryption key spec for a Model. If set, this Model + and all sub-resources of this Model will be secured by this key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + modelSourceInfo: + description: >- + Output only. Source of a model. It can either be automl training + pipeline, custom training pipeline, BigQuery ML, or saved and tuned + from Genie or Model Garden. readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelSourceInfo' + originalModelInfo: description: >- - Required. Output only. Additional information about the - DatasetVersion. - type: any - updateTime: - description: Output only. Timestamp when this DatasetVersion was last updated. + Output only. If this Model is a copy of another Model, this contains + info about the original. readOnly: true - format: google-datetime - type: string - bigQueryDatasetName: - description: Output only. Name of the associated BigQuery dataset. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelOriginalModelInfo' + metadataArtifact: + description: >- + 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}`. readOnly: true type: string - displayName: - type: string + baseModelSource: description: >- - The user-defined name of the DatasetVersion. The name can be up to - 128 characters long and can consist of any UTF-8 characters. - satisfiesPzi: - type: boolean + Optional. User input field to specify the base model source. + Currently it only supports specifing the Model Garden models and + Genie models. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelBaseModelSource' + satisfiesPzs: description: Output only. Reserved for future use. readOnly: true - name: - description: Output only. Identifier. The resource name of the DatasetVersion. - type: string - readOnly: true - createTime: - format: google-datetime + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. readOnly: true - description: Output only. Timestamp when this DatasetVersion was created. - type: string - id: GoogleCloudAiplatformV1DatasetVersion - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation - type: object - properties: - repeatedText: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation - repeatedCategorical: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation - numeric: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation - auto: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation - categorical: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation - repeatedNumeric: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation - timestamp: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation - text: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation - GoogleCloudAiplatformV1PipelineTaskExecutorDetail: - id: GoogleCloudAiplatformV1PipelineTaskExecutorDetail + type: boolean + GoogleCloudAiplatformV1ModelExportFormat: + id: GoogleCloudAiplatformV1ModelExportFormat + description: >- + Represents export format supported by the Model. All formats export to + Google Cloud Storage. type: object properties: - containerDetail: + id: + description: >- + Output only. The ID of the export format. The possible format IDs + are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` + Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * + `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` + A [TensorFlow.js](https://www.tensorflow.org/js) model that can be + used in the browser and in Node.js using JavaScript. * `core-ml` + Used for iOS mobile devices. * `custom-trained` A Model that was + uploaded or trained by custom code. readOnly: true - description: Output only. The detailed info for a container executor. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail - customJobDetail: + type: string + exportableContents: + description: Output only. The content of this Model that may be exported. readOnly: true - description: Output only. The detailed info for a custom job executor. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail - description: The runtime detail of a pipeline executor. - GoogleCloudAiplatformV1CopyModelRequest: - id: GoogleCloudAiplatformV1CopyModelRequest - description: Request message for ModelService.CopyModel. + type: array + items: + type: string + enumDescriptions: + - Should not be used. + - >- + Model artifact and any of its supported files. Will be exported + to the location specified by the `artifactDestination` field of + the ExportModelRequest.output_config object. + - >- + The container image that is to be used when deploying this + Model. Will be exported to the location specified by the + `imageDestination` field of the ExportModelRequest.output_config + object. + enum: + - EXPORTABLE_CONTENT_UNSPECIFIED + - ARTIFACT + - IMAGE + GoogleCloudAiplatformV1ModelDataStats: + id: GoogleCloudAiplatformV1ModelDataStats + description: Stats of data used for train or evaluate the Model. type: object properties: - sourceModel: + trainingDataItemsCount: + description: Number of DataItems that were used for training this Model. + type: string + format: int64 + validationDataItemsCount: description: >- - Required. The resource name of the Model to copy. That Model must be - in the same Project. Format: - `projects/{project}/locations/{location}/models/{model}` + Number of DataItems that were used for validating this Model during + training. type: string - parentModel: + format: int64 + testDataItemsCount: + description: >- + Number of DataItems that were used for evaluating this Model. If the + Model is evaluated multiple times, this will be the number of test + DataItems used by the first evaluation. If the Model is not + evaluated, the number is 0. + type: string + format: int64 + trainingAnnotationsCount: + description: Number of Annotations that are used for training this Model. type: string + format: int64 + validationAnnotationsCount: description: >- - Optional. Specify this field to copy source_model into this existing - Model as a new version. Format: - `projects/{project}/locations/{location}/models/{model}` - modelId: + Number of Annotations that are used for validating this Model during + training. type: string + format: int64 + testAnnotationsCount: description: >- - Optional. Copy source_model into a new Model with this ID. The ID - will become the final component of the model resource name. This - value may be up to 63 characters, and valid characters are - `[a-z0-9_-]`. The first character cannot be a number or hyphen. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + Number of Annotations that are used for evaluating this Model. If + the Model is evaluated multiple times, this will be the number of + test Annotations used by the first evaluation. If the Model is not + evaluated, the number is 0. + type: string + format: int64 + GoogleCloudAiplatformV1ModelSourceInfo: + id: GoogleCloudAiplatformV1ModelSourceInfo + description: Detail description of the source information of the model. + type: object + properties: + sourceType: + description: Type of the model source. + type: string + enumDescriptions: + - Should not be used. + - The Model is uploaded by automl training pipeline. + - The Model is uploaded by user or custom training pipeline. + - The Model is registered and sync'ed from BigQuery ML. + - The Model is saved or tuned from Model Garden. + - The Model is saved or tuned from Genie. + - The Model is uploaded by text embedding finetuning pipeline. + - The Model is saved or tuned from Marketplace. + enum: + - MODEL_SOURCE_TYPE_UNSPECIFIED + - AUTOML + - CUSTOM + - BQML + - MODEL_GARDEN + - GENIE + - CUSTOM_TEXT_EMBEDDING + - MARKETPLACE + copy: description: >- - Customer-managed encryption key options. If this is set, then the - Model copy will be encrypted with the provided encryption key. - GoogleCloudAiplatformV1IndexDatapointCrowdingTag: - description: >- - Crowding tag is a constraint on a neighbor list produced by nearest - neighbor search requiring that no more than some value k' of the k - neighbors returned have the same value of crowding_attribute. + If this Model is copy of another Model. If true then source_type + pertains to the original. + type: boolean + GoogleCloudAiplatformV1ModelOriginalModelInfo: + id: GoogleCloudAiplatformV1ModelOriginalModelInfo + description: Contains information about the original Model if this Model is a copy. + type: object properties: - crowdingAttribute: + model: description: >- - The attribute value used for crowding. The maximum number of - neighbors to return per crowding attribute value - (per_crowding_attribute_num_neighbors) is configured per-query. This - field is ignored if per_crowding_attribute_num_neighbors is larger - than the total number of neighbors to return for a given query. + Output only. The resource name of the Model this Model is a copy of, + including the revision. Format: + `projects/{project}/locations/{location}/models/{model_id}@{version_id}` + readOnly: true type: string + GoogleCloudAiplatformV1ModelBaseModelSource: + id: GoogleCloudAiplatformV1ModelBaseModelSource + description: >- + User input field to specify the base model source. Currently it only + supports specifing the Model Garden models and Genie models. type: object - id: GoogleCloudAiplatformV1IndexDatapointCrowdingTag - GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics: - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics + properties: + modelGardenSource: + description: Source information of Model Garden models. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelGardenSource' + genieSource: + description: Information about the base model of Genie models. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenieSource' + GoogleCloudAiplatformV1ModelGardenSource: + id: GoogleCloudAiplatformV1ModelGardenSource + description: >- + Contains information about the source of the models generated from Model + Garden. type: object properties: - weightedAbsolutePercentageError: - type: number - description: >- - Weighted Absolute Percentage Error. Does not use weights, this is - just what the metric is called. Undefined if actual values sum to - zero. Will be very large if actual values sum to a very small - number. - format: float - rootMeanSquaredPercentageError: - type: number - description: >- - Root Mean Square Percentage Error. Square root of MSPE. - Undefined/imaginary when MSPE is negative. - format: float - rootMeanSquaredError: - description: Root Mean Squared Error (RMSE). - format: float - type: number - quantileMetrics: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry + publicModelName: + description: Required. The model garden source model resource name. + type: string + GoogleCloudAiplatformV1GenieSource: + id: GoogleCloudAiplatformV1GenieSource + description: >- + Contains information about the source of the models generated from + Generative AI Studio. + type: object + properties: + baseModelUri: + description: Required. The public base model URI. + type: string + GoogleCloudAiplatformV1ListModelsResponse: + id: GoogleCloudAiplatformV1ListModelsResponse + description: Response message for ModelService.ListModels + type: object + properties: + models: + description: List of Models in the requested page. type: array - description: The quantile metrics entries for each quantile. - meanAbsoluteError: - format: float - description: Mean Absolute Error (MAE). - type: number - rootMeanSquaredLogError: - format: float - description: >- - Root mean squared log error. Undefined when there are negative - ground truth values or predictions. - type: number - meanAbsolutePercentageError: - type: number - description: >- - Mean absolute percentage error. Infinity when there are zeros in the - ground truth. - format: float - rSquared: - type: number + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + nextPageToken: description: >- - Coefficient of determination as Pearson correlation coefficient. - Undefined when ground truth or predictions are constant or near - constant. - format: float - description: Metrics for forecasting evaluation results. - GoogleCloudAiplatformV1SearchFeaturesResponse: - description: Response message for FeaturestoreService.SearchFeatures. + A token to retrieve next page of results. Pass to + ListModelsRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1ListModelVersionsResponse: + id: GoogleCloudAiplatformV1ListModelVersionsResponse + description: Response message for ModelService.ListModelVersions + type: object properties: + models: + description: >- + List of Model versions in the requested page. In the returned Model + name field, version ID instead of regvision tag will be included. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' nextPageToken: + description: >- + A token to retrieve the next page of results. Pass to + ListModelVersionsRequest.page_token to obtain that page. type: string + GoogleCloudAiplatformV1UpdateExplanationDatasetRequest: + id: GoogleCloudAiplatformV1UpdateExplanationDatasetRequest + description: Request message for ModelService.UpdateExplanationDataset. + type: object + properties: + examples: + description: The example config containing the location of the dataset. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Examples' + GoogleCloudAiplatformV1MergeVersionAliasesRequest: + id: GoogleCloudAiplatformV1MergeVersionAliasesRequest + description: Request message for ModelService.MergeVersionAliases. + type: object + properties: + versionAliases: description: >- - A token, which can be sent as SearchFeaturesRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. - features: + Required. The set of version aliases to merge. The alias should be + at most 128 characters, and match `a-z{0,126}[a-z-0-9]`. Add the `-` + prefix to an alias means removing that alias from the version. `-` + is NOT counted in the 128 characters. Example: `-golden` means + removing the `golden` alias from the version. There is NO ordering + in aliases, which means 1) The aliases returned from GetModel API + might not have the exactly same order from this MergeVersionAliases + API. 2) Adding and deleting the same alias in the request is not + recommended, and the 2 operations will be cancelled out. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + type: string + GoogleCloudAiplatformV1ExportModelRequest: + id: GoogleCloudAiplatformV1ExportModelRequest + description: Request message for ModelService.ExportModel. + type: object + properties: + outputConfig: + description: Required. The desired output location and configuration. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExportModelRequestOutputConfig + GoogleCloudAiplatformV1ExportModelRequestOutputConfig: + id: GoogleCloudAiplatformV1ExportModelRequestOutputConfig + description: Output configuration for the Model export. + type: object + properties: + exportFormatId: description: >- - The Features matching the request. Fields returned: * `name` * - `description` * `labels` * `create_time` * `update_time` + The ID of the format in which the Model must be exported. Each Model + lists the export formats it supports. If no value is provided here, + then the first from the list of the Model's supported formats is + used by default. + type: string + artifactDestination: + description: >- + The Cloud Storage location where the Model artifact is to be written + to. Under the directory given as the destination a new one with name + "`model-export--`", where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ + ISO-8601 format, will be created. Inside, the Model and any of its + supporting files will be written. This field should only be set when + the `exportableContent` field of the + [Model.supported_export_formats] object contains `ARTIFACT`. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + imageDestination: + description: >- + The Google Container Registry or Artifact Registry uri where the + Model container image will be copied to. This field should only be + set when the `exportableContent` field of the + [Model.supported_export_formats] object contains `IMAGE`. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ContainerRegistryDestination + GoogleCloudAiplatformV1ContainerRegistryDestination: + id: GoogleCloudAiplatformV1ContainerRegistryDestination + description: The Container Registry location for the container image. type: object - id: GoogleCloudAiplatformV1SearchFeaturesResponse - GoogleCloudAiplatformV1PurgeContextsRequest: - description: Request message for MetadataService.PurgeContexts. - id: GoogleCloudAiplatformV1PurgeContextsRequest properties: - force: - type: boolean + outputUri: description: >- - Optional. Flag to indicate to actually perform the purge. If `force` - is set to false, the method will return a sample of Context names - that would be deleted. - filter: + Required. Container Registry URI of a container image. Only Google + Container Registry and Artifact Registry are supported now. Accepted + forms: * Google Container Registry path. For example: + `gcr.io/projectId/imageName:tag`. * Artifact Registry path. For + example: + `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. If a + tag is not specified, "latest" will be used as the default tag. type: string - description: >- - Required. A required filter matching the Contexts to be purged. - E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + GoogleCloudAiplatformV1CopyModelRequest: + id: GoogleCloudAiplatformV1CopyModelRequest + description: Request message for ModelService.CopyModel. type: object - GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey: properties: - parts: - items: - type: string - type: array + modelId: description: >- - Parts to construct Entity ID. Should match with the same ID columns - as defined in FeatureView in the same order. - description: ID that is comprised from several parts (columns). - type: object - id: GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey - GoogleCloudAiplatformV1ListExecutionsResponse: - properties: - nextPageToken: + Optional. Copy source_model into a new Model with this ID. The ID + will become the final component of the model resource name. This + value may be up to 63 characters, and valid characters are + `[a-z0-9_-]`. The first character cannot be a number or hyphen. type: string + parentModel: description: >- - A token, which can be sent as ListExecutionsRequest.page_token to - retrieve the next page. If this field is not populated, there are no - subsequent pages. - executions: - type: array - description: The Executions retrieved from the MetadataStore. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' - id: GoogleCloudAiplatformV1ListExecutionsResponse - description: Response message for MetadataService.ListExecutions. - type: object - GoogleCloudAiplatformV1ListStudiesResponse: - id: GoogleCloudAiplatformV1ListStudiesResponse - description: Response message for VizierService.ListStudies. - properties: - studies: - type: array - description: The studies associated with the project. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' - nextPageToken: + Optional. Specify this field to copy source_model into this existing + Model as a new version. Format: + `projects/{project}/locations/{location}/models/{model}` type: string + sourceModel: description: >- - Passes this token as the `page_token` field of the request for a - subsequent call. If this field is omitted, there are no subsequent - pages. - type: object - GoogleCloudAiplatformV1FeatureOnlineStoreBigtable: - id: GoogleCloudAiplatformV1FeatureOnlineStoreBigtable - properties: - autoScaling: - description: Required. Autoscaling config applied to Bigtable Instance. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling + Required. The resource name of the Model to copy. That Model must be + in the same Project. Format: + `projects/{project}/locations/{location}/models/{model}` + type: string + encryptionSpec: + description: >- + Customer-managed encryption key options. If this is set, then the + Model copy will be encrypted with the provided encryption key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + GoogleCloudAiplatformV1ImportModelEvaluationRequest: + id: GoogleCloudAiplatformV1ImportModelEvaluationRequest + description: Request message for ModelService.ImportModelEvaluation type: object - GoogleCloudAiplatformV1FulfillmentSpec: properties: - version: - type: integer - format: int32 - description: Optional. Which version to use for evaluation. - description: Spec for fulfillment metric. - id: GoogleCloudAiplatformV1FulfillmentSpec - type: object - GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult: + modelEvaluation: + description: Required. Model evaluation resource to be imported. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' + GoogleCloudAiplatformV1ModelEvaluation: + id: GoogleCloudAiplatformV1ModelEvaluation + description: >- + A collection of metrics calculated by comparing Model's predictions on + all of the test data against annotations from the test data. type: object - description: Prediction output format for Text Extraction. properties: - textSegmentEndOffsets: - type: array + name: + description: Output only. The resource name of the ModelEvaluation. + readOnly: true + type: string + displayName: + description: The display name of the ModelEvaluation. + type: string + metricsSchemaUri: description: >- - The end offsets, inclusive, of the text segment in which the - AnnotationSpec has been identified. Expressed as a zero-based number - of characters as measured from the start of the text snippet. - items: - type: string - format: int64 - ids: + 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). + type: string + metrics: description: >- - The resource IDs of the AnnotationSpecs that had been identified, - ordered by the confidence score descendingly. + Evaluation metrics of the Model. The schema of the metrics is stored + in metrics_schema_uri + type: any + createTime: + description: Output only. Timestamp when this ModelEvaluation was created. + readOnly: true + type: string + format: google-datetime + sliceDimensions: + description: >- + All possible dimensions of ModelEvaluationSlices. The dimensions can + be used as the filter of the ModelService.ListModelEvaluationSlices + request, in the form of `slice.dimension = `. type: array items: - format: int64 type: string - confidences: - type: array - items: - format: float - type: number + dataItemSchemaUri: description: >- - The Model's confidences in correctness of the predicted IDs, higher - value means higher confidence. Order matches the Ids. - textSegmentStartOffsets: - items: - format: int64 - type: string - type: array + Points to a YAML file stored on Google Cloud Storage describing + EvaluatedDataItemView.data_item_payload and + EvaluatedAnnotation.data_item_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). + This field is not populated if there are neither + EvaluatedDataItemViews nor EvaluatedAnnotations under this + ModelEvaluation. + type: string + annotationSchemaUri: description: >- - The start offsets, inclusive, of the text segment in which the - AnnotationSpec has been identified. Expressed as a zero-based number - of characters as measured from the start of the text snippet. - displayNames: - type: array + Points to a YAML file stored on Google Cloud Storage describing + EvaluatedDataItemView.predictions, + EvaluatedDataItemView.ground_truths, + EvaluatedAnnotation.predictions, and + EvaluatedAnnotation.ground_truths. 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). + This field is not populated if there are neither + EvaluatedDataItemViews nor EvaluatedAnnotations under this + ModelEvaluation. + type: string + modelExplanation: description: >- - The display names of the AnnotationSpecs that had been identified, - order matches the IDs. - items: - type: string - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult - GoogleCloudAiplatformV1WriteTensorboardRunDataRequest: - id: GoogleCloudAiplatformV1WriteTensorboardRunDataRequest - description: Request message for TensorboardService.WriteTensorboardRunData. - properties: - timeSeriesData: - type: array + Aggregated explanation metrics for the Model's prediction output + over the data this ModelEvaluation uses. This field is populated + only if the Model is evaluated with explanations, and only for + AutoML tabular Models. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelExplanation' + explanationSpecs: description: >- - Required. The TensorboardTimeSeries data to write. Values with in a - time series are indexed by their step value. Repeated writes to the - same step will overwrite the existing value for that step. The upper - limit of data points per write request is 5000. + Describes the values of ExplanationSpec that are used for explaining + the predicted values on the evaluated data. + type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesData' - tensorboardRun: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec + metadata: description: >- - Required. The resource name of the TensorboardRun to write data to. - Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` - type: string - type: object - GoogleCloudAiplatformV1CreateEndpointOperationMetadata: - id: GoogleCloudAiplatformV1CreateEndpointOperationMetadata + The metadata of the ModelEvaluation. For the ModelEvaluation + uploaded from Managed Pipeline, metadata contains a structured value + with keys of "pipeline_job_id", "evaluation_dataset_type", + "evaluation_dataset_path", "row_based_metrics_path". + type: any + GoogleCloudAiplatformV1ModelExplanation: + id: GoogleCloudAiplatformV1ModelExplanation + description: Aggregated explanation metrics for a Model over a set of instances. type: object - description: Runtime operation information for EndpointService.CreateEndpoint. - properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1NotebookRuntimeTemplateRef: - description: Points to a NotebookRuntimeTemplateRef. - id: GoogleCloudAiplatformV1NotebookRuntimeTemplateRef properties: - notebookRuntimeTemplate: - type: string - description: Immutable. A resource name of the NotebookRuntimeTemplate. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata + meanAttributions: + description: >- + Output only. Aggregated attributions explaining the Model's + prediction outputs over the set of instances. The attributions are + grouped by outputs. For Models that predict only one output, such as + regression Models that predict only one score, there is only one + attibution that explains the predicted output. For Models that + predict multiple outputs, such as multiclass Models that predict + multiple classes, each element explains one specific item. + Attribution.output_index can be used to identify which output this + attribution is explaining. The baselineOutputValue, + instanceOutputValue and featureAttributions fields are averaged over + the test data. NOTE: Currently AutoML tabular classification Models + produce only one attribution, which averages attributions over all + the classes it predicts. Attribution.approximation_error is not + populated. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Attribution' + GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec: + id: GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec type: object properties: - successfulStopReason: + explanationType: description: >- - For successful job completions, this is the reason why the job has - finished. - type: string - enum: - - SUCCESSFUL_STOP_REASON_UNSPECIFIED - - BUDGET_REACHED - - MODEL_CONVERGED - enumDescriptions: - - Should not be set. - - The inputs.budgetMilliNodeHours had been reached. - - >- - Further training of the Model ceased to increase its quality, - since it already has converged. - costMilliNodeHours: - format: int64 + Explanation type. For AutoML Image Classification models, possible + values are: * `image-integrated-gradients` * `image-xrai` type: string - description: >- - The actual training cost of creating this model, expressed in milli - node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed inputs.budgetMilliNodeHours. - GoogleCloudAiplatformV1ProbeExecAction: + explanationSpec: + description: Explanation spec details. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' + GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest: + id: GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest + description: Request message for ModelService.BatchImportModelEvaluationSlices type: object - id: GoogleCloudAiplatformV1ProbeExecAction - description: ExecAction specifies a command to execute. properties: - command: + modelEvaluationSlices: + description: Required. Model evaluation slice resource to be imported. type: array - description: >- - Command is the command line to execute inside the container, the - working directory for the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is not run inside a - shell, so traditional shell instructions ('|', etc) won't work. To - use a shell, you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero is unhealthy. items: - type: string - GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport: - type: object + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSlice' + GoogleCloudAiplatformV1ModelEvaluationSlice: + id: GoogleCloudAiplatformV1ModelEvaluationSlice description: >- - Describes exporting the latest Feature values of all entities of the - EntityType between [start_time, snapshot_time]. + A collection of metrics calculated by comparing Model's predictions on a + slice of the test data against ground truth annotations. + type: object properties: - snapshotTime: + name: + description: Output only. The resource name of the ModelEvaluationSlice. + readOnly: true + type: string + slice: description: >- - Exports Feature values as of this timestamp. If not set, retrieve - values as of now. Timestamp, if present, must not have higher than - millisecond precision. + Output only. The slice of the test data that is used to evaluate the + Model. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSlice + metricsSchemaUri: + description: >- + 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). + readOnly: true + type: string + metrics: + description: >- + Output only. Sliced evaluation metrics of the Model. The schema of + the metrics is stored in metrics_schema_uri + readOnly: true + type: any + createTime: + description: Output only. Timestamp when this ModelEvaluationSlice was created. + readOnly: true type: string format: google-datetime - startTime: + modelExplanation: + description: >- + Output only. Aggregated explanation metrics for the Model's + prediction output over the data this ModelEvaluation uses. This + field is populated only if the Model is evaluated with explanations, + and only for tabular Models. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelExplanation' + GoogleCloudAiplatformV1ModelEvaluationSliceSlice: + id: GoogleCloudAiplatformV1ModelEvaluationSliceSlice + description: Definition of a slice. + type: object + properties: + dimension: + description: >- + Output only. The dimension of the slice. Well-known dimensions are: + * `annotationSpec`: This slice is on the test data that has either + ground truth or prediction with AnnotationSpec.display_name equals + to value. * `slice`: This slice is a user customized slice defined + by its SliceSpec. + readOnly: true + type: string + value: + description: Output only. The value of the dimension in this slice. + readOnly: true type: string + sliceSpec: + description: Output only. Specification for how the data was sliced. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec + GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec: + id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec + description: Specification for how the data should be sliced. + type: object + properties: + configs: description: >- - Excludes Feature values with feature generation timestamp before - this timestamp. If not set, retrieve oldest values kept in Feature - Store. Timestamp, if present, must not have higher than millisecond - precision. - format: google-datetime - id: GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport - GoogleCloudAiplatformV1SupervisedTuningSpec: + Mapping configuration for this SliceSpec. The key is the name of the + feature. By default, the key will be prefixed by "instance" as a + dictionary prefix for Vertex Batch Predictions output format. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig + GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig: + id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig + description: >- + Specification message containing the config for this SliceSpec. When + `kind` is selected as `value` and/or `range`, only a single slice will + be computed. When `all_values` is present, a separate slice will be + computed for each possible label/value for the corresponding key in + `config`. Examples, with feature zip_code with values 12345, 23334, + 88888 and feature country with values "US", "Canada", "Mexico" in the + dataset: Example 1: { "zip_code": { "value": { "float_value": 12345.0 } + } } A single slice for any data with zip_code 12345 in the dataset. + Example 2: { "zip_code": { "range": { "low": 12345, "high": 20000 } } } + A single slice containing data where the zip_codes between 12345 and + 20000 For this example, data with the zip_code of 12345 will be in this + slice. Example 3: { "zip_code": { "range": { "low": 10000, "high": 20000 + } }, "country": { "value": { "string_value": "US" } } } A single slice + containing data where the zip_codes between 10000 and 20000 has the + country "US". For this example, data with the zip_code of 12345 and + country "US" will be in this slice. Example 4: { "country": + {"all_values": { "value": true } } } Three slices are computed, one for + each unique country in the dataset. Example 5: { "country": { + "all_values": { "value": true } }, "zip_code": { "value": { + "float_value": 12345.0 } } } Three slices are computed, one for each + unique country in the dataset where the zip_code is also 12345. For this + example, data with zip_code 12345 and country "US" will be in one slice, + zip_code 12345 and country "Canada" in another slice, and zip_code 12345 + and country "Mexico" in another slice, totaling 3 slices. + type: object properties: - hyperParameters: + value: + description: >- + A unique specific value for a given feature. Example: `{ "value": { + "string_value": "12345" } }` $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SupervisedHyperParameters - description: Optional. Hyperparameters for SFT. - validationDatasetUri: - type: string + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue + range: description: >- - Optional. Cloud Storage path to file containing validation dataset - for tuning. The dataset must be formatted as a JSONL file. - trainingDatasetUri: + A range of values for a numerical feature. Example: + `{"range":{"low":10000.0,"high":50000.0}}` will capture 12345 and + 23334 in the slice. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange + allValues: description: >- - Required. Cloud Storage path to file containing training dataset for - tuning. The dataset must be formatted as a JSONL file. - type: string - type: object - description: Tuning Spec for Supervised Tuning for first party models. - id: GoogleCloudAiplatformV1SupervisedTuningSpec - GoogleCloudAiplatformV1ToolNameMatchSpec: - id: GoogleCloudAiplatformV1ToolNameMatchSpec - properties: {} + If all_values is set to true, then all possible labels of the keyed + feature will have another slice computed. Example: + `{"all_values":{"value":true}}` + type: boolean + GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue: + id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue + description: Single value that supports strings and floats. type: object - description: Spec for tool name match metric. - GoogleCloudAiplatformV1SearchNearestEntitiesResponse: + properties: + stringValue: + description: String type. + type: string + floatValue: + description: Float type. + type: number + format: float + GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange: + id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange + description: A range of values for slice(s). `low` is inclusive, `high` is exclusive. type: object properties: - nearestNeighbors: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NearestNeighbors' - description: The nearest neighbors of the query entity. - description: Response message for FeatureOnlineStoreService.SearchNearestEntities - id: GoogleCloudAiplatformV1SearchNearestEntitiesResponse - GoogleCloudAiplatformV1NasTrialDetail: + low: + description: Inclusive low value for the range. + type: number + format: float + high: + description: Exclusive high value for the range. + type: number + format: float + GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse: + id: GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse + description: Response message for ModelService.BatchImportModelEvaluationSlices type: object properties: - trainTrial: - description: >- - The train NasTrial corresponding to search_trial. Only populated if - search_trial is used for training. - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' - searchTrial: - description: The requested search NasTrial. - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrial' - name: - type: string - description: Output only. Resource name of the NasTrialDetail. + importedModelEvaluationSlices: + description: Output only. List of imported ModelEvaluationSlice.name. readOnly: true - parameters: - type: string - description: The parameters for the NasJob NasTrial. - description: >- - Represents a NasTrial details along with its parameters. If there is a - corresponding train NasTrial, the train NasTrial is also returned. - id: GoogleCloudAiplatformV1NasTrialDetail - GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion: + type: array + items: + type: string + GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest: + id: GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest + description: Request message for ModelService.BatchImportEvaluatedAnnotations type: object - id: GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion properties: - endpoint: - description: >- - The ml.googleapis.com endpoint that this model Version currently - lives in. Example values: * ml.googleapis.com * - us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * - asia-east1-ml.googleapis.com - type: string - version: - description: >- - Full resource name of ml engine model Version. Format: - `projects/{project}/models/{model}/versions/{version}`. - type: string - description: Represents one model Version in ml.googleapis.com. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata: + evaluatedAnnotations: + description: Required. Evaluated annotations resource to be imported. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EvaluatedAnnotation' + GoogleCloudAiplatformV1EvaluatedAnnotation: + id: GoogleCloudAiplatformV1EvaluatedAnnotation + description: >- + True positive, false positive, or false negative. EvaluatedAnnotation is + only available under ModelEvaluationSlice with slice of `annotationSpec` + dimension. + type: object properties: - successfulStopReason: + type: + description: Output only. Type of the EvaluatedAnnotation. + readOnly: true type: string - enum: - - SUCCESSFUL_STOP_REASON_UNSPECIFIED - - BUDGET_REACHED - - MODEL_CONVERGED - description: >- - For successful job completions, this is the reason why the job has - finished. enumDescriptions: - - Should not be set. - - The inputs.budgetMilliNodeHours had been reached. + - Invalid value. - >- - Further training of the Model ceased to increase its quality, - since it already has converged. - costMilliNodeHours: + The EvaluatedAnnotation is a true positive. It has a prediction + created by the Model and a ground truth Annotation which the + prediction matches. + - >- + The EvaluatedAnnotation is false positive. It has a prediction + created by the Model which does not match any ground truth + annotation. + - >- + The EvaluatedAnnotation is false negative. It has a ground truth + annotation which is not matched by any of the model created + predictions. + enum: + - EVALUATED_ANNOTATION_TYPE_UNSPECIFIED + - TRUE_POSITIVE + - FALSE_POSITIVE + - FALSE_NEGATIVE + predictions: + description: >- + Output only. The model predicted annotations. For true positive, + there is one and only one prediction, which matches the only one + ground truth annotation in ground_truths. For false positive, there + is one and only one prediction, which doesn't match any ground truth + annotation of the corresponding data_item_view_id. For false + negative, there are zero or more predictions which are similar to + the only ground truth annotation in ground_truths but not enough for + a match. The schema of the prediction is stored in + ModelEvaluation.annotation_schema_uri + readOnly: true + type: array + items: + type: any + groundTruths: + description: >- + Output only. The ground truth Annotations, i.e. the Annotations that + exist in the test data the Model is evaluated on. For true positive, + there is one and only one ground truth annotation, which matches the + only prediction in predictions. For false positive, there are zero + or more ground truth annotations that are similar to the only + prediction in predictions, but not enough for a match. For false + negative, there is one and only one ground truth annotation, which + doesn't match any predictions created by the model. The schema of + the ground truth is stored in ModelEvaluation.annotation_schema_uri + readOnly: true + type: array + items: + type: any + dataItemPayload: + description: >- + Output only. The data item payload that the Model predicted this + EvaluatedAnnotation on. + readOnly: true + type: any + evaluatedDataItemViewId: + description: >- + Output only. ID of the EvaluatedDataItemView under the same ancestor + ModelEvaluation. The EvaluatedDataItemView consists of all ground + truths and predictions on data_item_payload. + readOnly: true type: string - format: int64 + explanations: description: >- - The actual training cost of creating this model, expressed in milli - node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed inputs.budgetMilliNodeHours. + Explanations of predictions. Each element of the explanations + indicates the explanation for one explanation Method. The + attributions list in the EvaluatedAnnotationExplanation.explanation + object corresponds to the predictions list. For example, the second + element in the attributions list explains the second element in the + predictions list. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1EvaluatedAnnotationExplanation + errorAnalysisAnnotations: + description: Annotations of model error analysis results. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ErrorAnalysisAnnotation + GoogleCloudAiplatformV1EvaluatedAnnotationExplanation: + id: GoogleCloudAiplatformV1EvaluatedAnnotationExplanation + description: Explanation result of the prediction produced by the Model. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata - GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity: - description: Response message if the request uses the SelectEntity option. - id: GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity properties: - onlineStorageDeletedEntityCount: - format: int64 - description: >- - The count of deleted entities in the online storage. Each entity ID - corresponds to one entity. - type: string - offlineStorageDeletedEntityRowCount: + explanationType: description: >- - The count of deleted entity rows in the offline storage. Each row - corresponds to the combination of an entity ID and a timestamp. One - entity ID can have multiple rows in the offline storage. + Explanation type. For AutoML Image Classification models, possible + values are: * `image-integrated-gradients` * `image-xrai` type: string - format: int64 + explanation: + description: Explanation attribution response details. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Explanation' + GoogleCloudAiplatformV1ErrorAnalysisAnnotation: + id: GoogleCloudAiplatformV1ErrorAnalysisAnnotation + description: Model error analysis for each annotation. type: object - GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig: - description: >- - Config for migrating Dataset in datalabeling.googleapis.com to Vertex - AI's Dataset. properties: - migrateDataLabelingAnnotatedDatasetConfigs: + attributedItems: + description: >- + Attributed items for a given annotation, typically representing + neighbors from the training sets constrained by the query type. + type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig - type: array - description: >- - Optional. Configs for migrating AnnotatedDataset in - datalabeling.googleapis.com to Vertex AI's SavedQuery. The specified - AnnotatedDatasets have to belong to the datalabeling Dataset. - dataset: + #/components/schemas/GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem + queryType: + description: The query type used for finding the attributed items. type: string + enumDescriptions: + - Unspecified query type for model error analysis. + - Query similar samples across all classes in the dataset. + - Query similar samples from the same class of the input sample. + - Query dissimilar samples from the same class of the input sample. + enum: + - QUERY_TYPE_UNSPECIFIED + - ALL_SIMILAR + - SAME_CLASS_SIMILAR + - SAME_CLASS_DISSIMILAR + outlierScore: description: >- - Required. Full resource name of data labeling Dataset. Format: - `projects/{project}/datasets/{dataset}`. - datasetDisplayName: + The outlier score of this annotated item. Usually defined as the min + of all distances from attributed items. + type: number + format: double + outlierThreshold: description: >- - Optional. Display name of the Dataset in Vertex AI. System will pick - a display name if unspecified. - type: string + The threshold used to determine if this annotation is an outlier or + not. + type: number + format: double + GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem: + id: GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem + description: >- + Attributed items for a given annotation, typically representing + neighbors from the training sets constrained by the query type. type: object - id: >- - GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig - GoogleCloudAiplatformV1ListAnnotationsResponse: properties: - annotations: - type: array + annotationResourceName: description: >- - A list of Annotations that matches the specified filter in the - request. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Annotation' - nextPageToken: + The unique ID for each annotation. Used by FE to allocate the + annotation in DB. type: string - description: The standard List next-page token. - description: Response message for DatasetService.ListAnnotations. - type: object - id: GoogleCloudAiplatformV1ListAnnotationsResponse - GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata: + distance: + description: The distance of this item to the annotation. + type: number + format: double + GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse: + id: GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse + description: Response message for ModelService.BatchImportEvaluatedAnnotations type: object properties: - genericMetadata: - description: Operation metadata for FeatureView Create. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Details of operations that perform create FeatureView. - id: GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata - GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec: - id: GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec + importedEvaluatedAnnotationsCount: + description: Output only. Number of EvaluatedAnnotations imported. + readOnly: true + type: integer + format: int32 + GoogleCloudAiplatformV1ListModelEvaluationsResponse: + id: GoogleCloudAiplatformV1ListModelEvaluationsResponse + description: Response message for ModelService.ListModelEvaluations. type: object properties: - maxReplicaCount: - description: >- - Optional. max replicas in the node pool, must be ≥ replica_count and - > min_replica_count or will throw error - type: string - format: int64 - minReplicaCount: - format: int64 + modelEvaluations: + description: List of ModelEvaluations in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' + nextPageToken: description: >- - Optional. min replicas in the node pool, must be ≤ replica_count and - < max_replica_count or will throw error. For autoscaling enabled - Ray-on-Vertex, we allow min_replica_count of a resource_pool to be 0 - to match the OSS Ray - behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-autoscaling.html#cluster-config-parameters). - As for Persistent Resource, the min_replica_count must be > 0, we - added a corresponding validation inside - CreatePersistentResourceRequestValidator.java. + A token to retrieve next page of results. Pass to + ListModelEvaluationsRequest.page_token to obtain that page. type: string - description: The min/max number of replicas allowed if enabling autoscaling - GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry: - id: GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry - description: Single source entry for the grounding checking. + GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse: + id: GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse + description: Response message for ModelService.ListModelEvaluationSlices. type: object properties: - inlineContext: - type: string + modelEvaluationSlices: + description: List of ModelEvaluations in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSlice' + nextPageToken: description: >- - The grounding text passed inline with the Predict API. It can - support up to 1 million bytes. - vertexAiSearchDatastore: - type: string - description: The uri of the Vertex AI Search data source. - type: - description: The type of the grounding checking source. - enumDeprecated: - - false - - false - - true - - false - - false - type: string - enum: - - UNSPECIFIED - - WEB - - ENTERPRISE - - VERTEX_AI_SEARCH - - INLINE - enumDescriptions: - - '' - - Uses Web Search to check the grounding. - - >- - Uses Vertex AI Search to check the grounding. Deprecated. Use - VERTEX_AI_SEARCH instead. - - Uses Vertex AI Search to check the grounding - - Uses inline context to check the grounding. - enterpriseDatastore: + A token to retrieve next page of results. Pass to + ListModelEvaluationSlicesRequest.page_token to obtain that page. type: string - description: >- - The uri of the Vertex AI Search data source. Deprecated. Use - vertex_ai_search_datastore instead. - deprecated: true - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting: - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting - properties: - metadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata - description: The metadata information. - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs - description: The input parameters of this TrainingJob. - type: object - description: A TrainingJob that trains and uploads an AutoML Forecasting Model. - GoogleCloudAiplatformV1DeployedModel: - description: A deployment of a Model. Endpoints contain one or more DeployedModels. + GoogleCloudAiplatformV1NotebookRuntimeTemplate: + id: GoogleCloudAiplatformV1NotebookRuntimeTemplate + description: >- + A template that specifies runtime configurations such as machine type, + runtime version, network configurations, etc. Multiple runtimes can be + created from a runtime template. type: object properties: - displayName: + name: + description: The resource name of the NotebookRuntimeTemplate. type: string + displayName: description: >- - The display name of the DeployedModel. If not provided upon - creation, the Model's display_name is used. - modelVersionId: - type: string - readOnly: true - description: Output only. The version ID of the model that is deployed. - model: + Required. The display name of the NotebookRuntimeTemplate. The name + can be up to 128 characters long and can consist of any UTF-8 + characters. type: string - description: >- - Required. The resource name of the Model that this is the deployment - of. Note that the Model may be in a different location than the - DeployedModel's Endpoint. The 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. - createTime: + description: + description: The description of the NotebookRuntimeTemplate. type: string + isDefault: + description: Output only. The default template to use if not specified. readOnly: true - format: google-datetime - description: Output only. Timestamp when the DeployedModel was created. - disableExplanations: - description: >- - If true, deploy the model without explainable feature, regardless - the existence of Model.explanation_spec or explanation_spec. - type: boolean - privateEndpoints: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PrivateEndpoints' - description: >- - Output only. Provide paths for users to send predict/explain/health - requests directly to the deployed model services running on Cloud - via private services access. This field is populated if network is - configured. - readOnly: true - disableContainerLogging: - type: boolean - description: >- - For custom-trained Models and AutoML Tabular Models, the container - of the DeployedModel instances 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. - explanationSpec: - description: >- - Explanation configuration for this DeployedModel. When deploying a - Model using EndpointService.DeployModel, this value overrides the - value of Model.explanation_spec. All fields of explanation_spec are - optional in the request. If a field of explanation_spec is not - populated, the value of the same field of Model.explanation_spec is - inherited. If the corresponding Model.explanation_spec is not - populated, all fields of the explanation_spec will be used for the - explanation configuration. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' - automaticResources: - $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' - description: >- - A description of resources that to large degree are decided by - Vertex AI, and require only a modest additional configuration. - enableAccessLogging: type: boolean + machineSpec: description: >- - 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 prediction request. - Note that logs may incur a cost, especially if your project receives - prediction requests at a high queries per second rate (QPS). - Estimate your costs before enabling this option. - sharedResources: - type: string + Optional. Immutable. The specification of a single machine for the + template. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' + dataPersistentDiskSpec: description: >- - The resource name of the shared DeploymentResourcePool to deploy on. - Format: - `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + Optional. The specification of persistent disk attached to the + runtime as data disk storage. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentDiskSpec' + networkSpec: + description: Optional. Network spec. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NetworkSpec' serviceAccount: - type: string - description: >- - The service account that the DeployedModel's container runs as. - Specify the email address of the service account. If this service - account is not specified, the container runs as a service account - that doesn't have access to the resource project. Users deploying - the Model must have the `iam.serviceAccounts.actAs` permission on - this service account. - id: - description: >- - Immutable. The ID of the DeployedModel. If not provided upon - deployment, Vertex AI will generate a value for this ID. This value - should be 1-10 characters, and valid characters are `/[0-9]/`. - type: string - dedicatedResources: - description: >- - A description of resources that are dedicated to the DeployedModel, - and that need a higher degree of manual configuration. - $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' - id: GoogleCloudAiplatformV1DeployedModel - GoogleCloudAiplatformV1ListBatchPredictionJobsResponse: - id: GoogleCloudAiplatformV1ListBatchPredictionJobsResponse - type: object - description: Response message for JobService.ListBatchPredictionJobs - properties: - batchPredictionJobs: - description: List of BatchPredictionJobs in the requested page. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' - type: array - nextPageToken: - type: string - description: >- - A token to retrieve the next page of results. Pass to - ListBatchPredictionJobsRequest.page_token to obtain that page. - GoogleCloudAiplatformV1Annotation: - properties: - payloadSchemaUri: - type: string description: >- - 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. - payload: - type: any - description: Required. The schema of the payload can be found in payload_schema. - createTime: - readOnly: true + 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. type: string - format: google-datetime - description: Output only. Timestamp when this Annotation was created. - annotationSource: - description: Output only. The source of the Annotation. - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1UserActionReference' etag: - type: string description: >- - Optional. Used to perform consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. + type: string labels: description: >- - Optional. The labels with user-defined metadata to organize your - Annotations. 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 - Annotation(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 Annotation: * - "aiplatform.googleapis.com/annotation_set_name": optional, name of - the UI's annotation set this Annotation belongs to. If not set, the - Annotation is not visible in the UI. * - "aiplatform.googleapis.com/payload_schema": output only, its value - is the payload_schema's title. + The labels with user-defined metadata to organize the + NotebookRuntimeTemplates. 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. type: object additionalProperties: type: string - name: - description: Output only. Resource name of the Annotation. + idleShutdownConfig: + description: >- + The idle shutdown configuration of NotebookRuntimeTemplate. This + config will only be set when idle shutdown is enabled. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookIdleShutdownConfig + eucConfig: + description: EUC configuration of the NotebookRuntimeTemplate. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookEucConfig' + createTime: + description: >- + Output only. Timestamp when this NotebookRuntimeTemplate was + created. readOnly: true type: string + format: google-datetime updateTime: - description: Output only. Timestamp when this Annotation was last updated. + description: >- + Output only. Timestamp when this NotebookRuntimeTemplate was most + recently updated. readOnly: true type: string format: google-datetime + notebookRuntimeType: + description: Optional. Immutable. The type of the notebook runtime template. + type: string + enumDescriptions: + - >- + Unspecified notebook runtime type, NotebookRuntimeType will + default to USER_DEFINED. + - runtime or template with coustomized configurations from user. + - runtime or template with system defined configurations. + enum: + - NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED + - USER_DEFINED + - ONE_CLICK + shieldedVmConfig: + description: Optional. Immutable. Runtime Shielded VM spec. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ShieldedVmConfig' + networkTags: + description: >- + Optional. The Compute Engine tags to add to runtime (see [Tagging + instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). + type: array + items: + type: string + encryptionSpec: + description: Customer-managed encryption key spec for the notebook runtime. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + GoogleCloudAiplatformV1PersistentDiskSpec: + id: GoogleCloudAiplatformV1PersistentDiskSpec + description: Represents the spec of persistent disk options. type: object - description: >- - Used to assign specific AnnotationSpec to a particular area of a - DataItem or the whole part of the DataItem. - id: GoogleCloudAiplatformV1Annotation - GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics: - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics - type: object - description: Metrics for general pairwise text generation evaluation results. properties: - humanPreferenceModelWinRate: - format: float - type: number - description: Percentage of time humans decided the model had the better response. - precision: - type: number - format: float - description: >- - Fraction of cases where the autorater and humans thought the model - had a better response out of all cases where the autorater thought - the model had a better response. True positive divided by all - positive. - falsePositiveCount: - format: int64 + diskType: description: >- - Number of examples where the autorater chose the model, but humans - preferred the baseline model. + Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" + (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk + Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) + "pd-extreme" (Extreme Persistent Disk) type: string - trueNegativeCount: + diskSizeGb: + description: Size in GB of the disk (default is 100GB). type: string format: int64 + GoogleCloudAiplatformV1NetworkSpec: + id: GoogleCloudAiplatformV1NetworkSpec + description: Network spec. + type: object + properties: + enableInternetAccess: + description: Whether to enable public internet access. Default false. + type: boolean + network: description: >- - Number of examples where both the autorater and humans decided that - the model had the worse response. - modelWinRate: - type: number - description: >- - Percentage of time the autorater decided the model had the better - response. - format: float - humanPreferenceBaselineModelWinRate: + The full name of the Google Compute Engine + [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + type: string + subnetwork: description: >- - Percentage of time humans decided the baseline model had the better - response. - type: number - format: float - f1Score: - type: number - description: Harmonic mean of precision and recall. - format: float - accuracy: - format: float - description: Fraction of cases where the autorater agreed with the human raters. - type: number - baselineModelWinRate: - format: float - type: number + The name of the subnet that this instance is in. Format: + `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + type: string + GoogleCloudAiplatformV1NotebookIdleShutdownConfig: + id: GoogleCloudAiplatformV1NotebookIdleShutdownConfig + description: >- + The idle shutdown configuration of NotebookRuntimeTemplate, which + contains the idle_timeout as required field. + type: object + properties: + idleTimeout: description: >- - Percentage of time the autorater decided the baseline model had the - better response. - recall: + Required. Duration is accurate to the second. In Notebook, Idle + Timeout is accurate to minute so the range of idle_timeout (second) + is: 10 * 60 ~ 1440 * 60. + type: string + format: google-duration + idleShutdownDisabled: + description: Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate. + type: boolean + GoogleCloudAiplatformV1NotebookEucConfig: + id: GoogleCloudAiplatformV1NotebookEucConfig + description: The euc configuration of NotebookRuntimeTemplate. + type: object + properties: + eucDisabled: description: >- - Fraction of cases where the autorater and humans thought the model - had a better response out of all cases where the humans thought the - model had a better response. - type: number - format: float - cohensKappa: - type: number + Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. + In proto3, the default value of a boolean is false. In this way, by + default EUC will be enabled for NotebookRuntimeTemplate. + type: boolean + bypassActasCheck: description: >- - A measurement of agreement between the autorater and human raters - that takes the likelihood of random agreement into account. - format: float - truePositiveCount: + Output only. Whether ActAs check is bypassed for service account + attached to the VM. If false, we need ActAs check for the default + Compute Engine Service account. When a Runtime is created, a VM is + allocated using Default Compute Engine Service Account. Any user + requesting to use this Runtime requires Service Account User (ActAs) + permission over this SA. If true, Runtime owner is using EUC and + does not require the above permission as VM no longer use default + Compute Engine SA, but a P4SA. + readOnly: true + type: boolean + GoogleCloudAiplatformV1ShieldedVmConfig: + id: GoogleCloudAiplatformV1ShieldedVmConfig + description: >- + A set of Shielded Instance options. See [Images using supported Shielded + VM + features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). + type: object + properties: + enableSecureBoot: description: >- - Number of examples where both the autorater and humans decided that - the model had the better response. - format: int64 - type: string - falseNegativeCount: + Defines whether the instance has [Secure + Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) + enabled. Secure Boot helps ensure that the system only runs + authentic software by verifying the digital signature of all boot + components, and halting the boot process if signature verification + fails. + type: boolean + GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse: + id: GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse + description: Response message for NotebookService.ListNotebookRuntimeTemplates. + type: object + properties: + notebookRuntimeTemplates: + description: List of NotebookRuntimeTemplates in the requested page. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate + nextPageToken: description: >- - Number of examples where the autorater chose the baseline model, but - humans preferred the model. - format: int64 + A token to retrieve next page of results. Pass to + ListNotebookRuntimeTemplatesRequest.page_token to obtain that page. type: string - GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata: + GoogleCloudAiplatformV1AssignNotebookRuntimeRequest: + id: GoogleCloudAiplatformV1AssignNotebookRuntimeRequest + description: Request message for NotebookService.AssignNotebookRuntime. + type: object properties: - genericMetadata: - description: Operation metadata for suggesting Trials. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - study: + notebookRuntimeTemplate: + description: >- + Required. The resource name of the NotebookRuntimeTemplate based on + which a NotebookRuntime will be assigned (reuse or create a new + one). type: string - description: The name of the Study that the Trial belongs to. - trial: + notebookRuntime: + description: >- + Required. Provide runtime specific information (e.g. runtime owner, + notebook id) used for NotebookRuntime assignment. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookRuntime' + notebookRuntimeId: + description: Optional. User specified ID for the notebook runtime. type: string - description: The Trial name. - type: object - description: >- - This message will be placed in the metadata field of a - google.longrunning.Operation associated with a - CheckTrialEarlyStoppingState request. - id: GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata - GoogleCloudAiplatformV1PscAutomatedEndpoints: - id: GoogleCloudAiplatformV1PscAutomatedEndpoints + GoogleCloudAiplatformV1NotebookRuntime: + id: GoogleCloudAiplatformV1NotebookRuntime description: >- - PscAutomatedEndpoints defines the output of the forwarding rule - automatically created by each PscAutomationConfig. + A runtime is a virtual machine allocated to a particular user for a + particular Notebook file on temporary basis with lifetime limited to 24 + hours. type: object properties: - projectId: + name: + description: Output only. The resource name of the NotebookRuntime. + readOnly: true type: string - description: Corresponding project_id in pscAutomationConfigs - network: - description: Corresponding network in pscAutomationConfigs. + runtimeUser: + description: Required. The user email of the NotebookRuntime. type: string - matchAddress: + notebookRuntimeTemplateRef: + description: >- + Output only. The pointer to NotebookRuntimeTemplate this + NotebookRuntime is created from. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplateRef + proxyUri: + description: Output only. The proxy endpoint used to access the NotebookRuntime. + readOnly: true type: string - description: Ip Address created by the automated forwarding rule. - GoogleCloudAiplatformV1CustomJobSpec: - description: Represents the spec of a CustomJob. - id: GoogleCloudAiplatformV1CustomJobSpec - properties: - scheduling: - description: Scheduling options for a CustomJob. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Scheduling' - persistentResourceId: + createTime: + description: Output only. Timestamp when this NotebookRuntime was created. + readOnly: true type: string + format: google-datetime + updateTime: description: >- - Optional. The ID of the PersistentResource in the same Project and - Location which to run If this is specified, the job will be run on - existing machines held by the PersistentResource instead of - on-demand short-live machines. The network and CMEK configs on the - job should be consistent with those on the PersistentResource, - otherwise, the job will be rejected. - baseOutputDirectory: - description: >- - The Cloud Storage location to store the output of this CustomJob or - HyperparameterTuningJob. For HyperparameterTuningJob, the - baseOutputDirectory of each child CustomJob backing a Trial is set - to a subdirectory of name id under its parent - HyperparameterTuningJob's baseOutputDirectory. The following Vertex - AI environment variables will be passed to containers or python - modules when this field is set: For CustomJob: * AIP_MODEL_DIR = - `/model/` * AIP_CHECKPOINT_DIR = `/checkpoints/` * - AIP_TENSORBOARD_LOG_DIR = `/logs/` For CustomJob backing a Trial of - HyperparameterTuningJob: * AIP_MODEL_DIR = `//model/` * - AIP_CHECKPOINT_DIR = `//checkpoints/` * AIP_TENSORBOARD_LOG_DIR = - `//logs/` - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - experimentRun: - description: >- - Optional. The Experiment Run associated with this job. Format: - `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` + Output only. Timestamp when this NotebookRuntime was most recently + updated. + readOnly: true type: string - protectedArtifactLocationId: + format: google-datetime + healthState: + description: Output only. The health state of the NotebookRuntime. + readOnly: true type: string + enumDescriptions: + - Unspecified health state. + - NotebookRuntime is in healthy state. Applies to ACTIVE state. + - NotebookRuntime is in unhealthy state. Applies to ACTIVE state. + enum: + - HEALTH_STATE_UNSPECIFIED + - HEALTHY + - UNHEALTHY + displayName: description: >- - The ID of the location to store protected artifacts. e.g. - us-central1. Populate only when the location is different than - CustomJob location. List of supported locations: - https://cloud.google.com/vertex-ai/docs/general/locations + Required. The display name of the NotebookRuntime. The name can be + up to 128 characters long and can consist of any UTF-8 characters. + type: string + description: + description: The description of the NotebookRuntime. + type: string serviceAccount: description: >- - Specifies the service account for workload run-as account. Users - submitting jobs must have act-as permission on this run-as account. - If unspecified, the [Vertex AI Custom Code Service - Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) - for the CustomJob's project is used. + Output only. The service account that the NotebookRuntime workload + runs as. + readOnly: true type: string - workerPoolSpecs: - description: >- - Required. The spec of the worker pools including machine type and - Docker image. All worker pools except the first one are optional and - can be skipped by providing an empty value. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1WorkerPoolSpec' - type: array - enableDashboardAccess: - type: boolean - description: >- - Optional. Whether you want Vertex AI to enable access to the - customized dashboard in training chief container. If set to `true`, - you can access the dashboard at the URIs given by - CustomJob.web_access_uris or Trial.web_access_uris (within - HyperparameterTuningJob.trials). - network: + runtimeState: + description: Output only. The runtime (instance) state of the NotebookRuntime. + readOnly: true type: string - description: >- - Optional. The full name of the Compute Engine - [network](/compute/docs/networks-and-firewalls#networks) to which - the Job 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. - 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 job is not peered with any - network. - enableWebAccess: + enumDescriptions: + - Unspecified runtime state. + - NotebookRuntime is in running state. + - NotebookRuntime is in starting state. + - NotebookRuntime is in stopping state. + - NotebookRuntime is in stopped state. + - >- + NotebookRuntime is in upgrading state. It is in the middle of + upgrading process. + - NotebookRuntime was unable to start/stop properly. + - NotebookRuntime is in invalid state. Cannot be recovered. + enum: + - RUNTIME_STATE_UNSPECIFIED + - RUNNING + - BEING_STARTED + - BEING_STOPPED + - STOPPED + - BEING_UPGRADED + - ERROR + - INVALID + isUpgradable: + description: Output only. Whether NotebookRuntime is upgradable. + readOnly: true type: boolean + labels: description: >- - Optional. Whether you want Vertex AI to enable [interactive shell - access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) - to training containers. If set to `true`, you can access interactive - shells at the URIs given by CustomJob.web_access_uris or - Trial.web_access_uris (within HyperparameterTuningJob.trials). - experiment: - type: string - description: >- - Optional. The Experiment associated with this job. Format: - `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` - reservedIpRanges: - type: array - items: + The labels with user-defined metadata to organize your + NotebookRuntime. 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 + NotebookRuntime (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 NotebookRuntime: * + "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output + only, its value is the Compute Engine instance id. * + "aiplatform.googleapis.com/colab_enterprise_entry_service": its + value is either "bigquery" or "vertex"; if absent, it should be + "vertex". This is to describe the entry service, either BigQuery or + Vertex. + type: object + additionalProperties: type: string + expirationTime: description: >- - Optional. A list of names for the reserved ip ranges under the VPC - network that can be used for this job. If set, we will deploy the - job 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']. - tensorboard: + Output only. Timestamp when this NotebookRuntime will be expired: 1. + System Predefined NotebookRuntime: 24 hours after creation. After + expiration, system predifined runtime will be deleted. 2. User + created NotebookRuntime: 6 months after last upgrade. After + expiration, user created runtime will be stopped and allowed for + upgrade. + readOnly: true + type: string + format: google-datetime + version: + description: Output only. The VM os image version of NotebookRuntime. + readOnly: true type: string + notebookRuntimeType: + description: Output only. The type of the notebook runtime. + readOnly: true + type: string + enumDescriptions: + - >- + Unspecified notebook runtime type, NotebookRuntimeType will + default to USER_DEFINED. + - runtime or template with coustomized configurations from user. + - runtime or template with system defined configurations. + enum: + - NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED + - USER_DEFINED + - ONE_CLICK + idleShutdownConfig: description: >- - Optional. The name of a Vertex AI Tensorboard resource to which this - CustomJob will upload Tensorboard logs. Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}` - models: - type: array + Output only. The idle shutdown configuration of the notebook + runtime. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookIdleShutdownConfig + networkTags: description: >- - Optional. The name of the Model resources for which to generate a - mapping to artifact URIs. Applicable only to some of the - Google-provided custom jobs. Format: - `projects/{project}/locations/{location}/models/{model}` In order to - retrieve a specific version of the model, also provide the version - ID or version alias. Example: - `projects/{project}/locations/{location}/models/{model}@2` or - `projects/{project}/locations/{location}/models/{model}@golden` If - no version ID or alias is specified, the "default" version will be - returned. The "default" version alias is created for the first - version of the model, and can be moved to other versions later on. - There will be exactly one default version. + Optional. The Compute Engine tags to add to runtime (see [Tagging + instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). + type: array items: type: string + encryptionSpec: + description: >- + Output only. Customer-managed encryption key spec for the notebook + runtime. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + satisfiesPzs: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. + readOnly: true + type: boolean + GoogleCloudAiplatformV1NotebookRuntimeTemplateRef: + id: GoogleCloudAiplatformV1NotebookRuntimeTemplateRef + description: Points to a NotebookRuntimeTemplateRef. type: object - GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation: properties: - annotationSpecId: - description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. + notebookRuntimeTemplate: + description: Immutable. A resource name of the NotebookRuntimeTemplate. type: string - vertexes: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaVertex' + GoogleCloudAiplatformV1ListNotebookRuntimesResponse: + id: GoogleCloudAiplatformV1ListNotebookRuntimesResponse + description: Response message for NotebookService.ListNotebookRuntimes. + type: object + properties: + notebookRuntimes: + description: List of NotebookRuntimes in the requested page. type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookRuntime' + nextPageToken: description: >- - The vertexes are connected one by one and the last vertex in not - connected to the first one. - displayName: - description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. + A token to retrieve next page of results. Pass to + ListNotebookRuntimesRequest.page_token to obtain that page. type: string - description: Represents a polyline in image. - id: >- - GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation + GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest: + id: GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest + description: Request message for NotebookService.UpgradeNotebookRuntime. type: object - GoogleTypeMoney: - properties: - currencyCode: - type: string - description: The three-letter currency code defined in ISO 4217. - units: - type: string - format: int64 - description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. - nanos: - type: integer - description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - format: int32 - description: Represents an amount of money with its currency type. - id: GoogleTypeMoney + properties: {} + GoogleCloudAiplatformV1StartNotebookRuntimeRequest: + id: GoogleCloudAiplatformV1StartNotebookRuntimeRequest + description: Request message for NotebookService.StartNotebookRuntime. type: object - GoogleCloudAiplatformV1Feature: - id: GoogleCloudAiplatformV1Feature + properties: {} + GoogleCloudAiplatformV1StopNotebookRuntimeRequest: + id: GoogleCloudAiplatformV1StopNotebookRuntimeRequest + description: Request message for NotebookService.StopNotebookRuntime. + type: object + properties: {} + GoogleCloudAiplatformV1NotebookExecutionJob: + id: GoogleCloudAiplatformV1NotebookExecutionJob + description: NotebookExecutionJob represents an instance of a notebook execution. type: object properties: - versionColumnName: - type: string + dataformRepositorySource: description: >- - 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. - updateTime: - readOnly: true - type: string + The Dataform Repository pointing to a single file notebook + repository. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource + gcsNotebookSource: description: >- - Output only. Only applicable for Vertex AI Feature Store (Legacy). - Timestamp when this EntityType was most recently updated. - format: google-datetime - disableMonitoring: - type: boolean + The Cloud Storage url pointing to the ipynb file. Format: + `gs://bucket/notebook_file.ipynb` + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource + directNotebookSource: + description: The contents of an input notebook file. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource + notebookRuntimeTemplateResourceName: + description: The NotebookRuntimeTemplate to source compute configuration from. + type: string + customEnvironmentSpec: + description: The custom compute configuration for an execution job. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec + gcsOutputUri: description: >- - 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. - createTime: - format: google-datetime + The Cloud Storage location to upload the result to. Format: + `gs://bucket-name` + type: string + executionUser: description: >- - Output only. Only applicable for Vertex AI Feature Store (Legacy). - Timestamp when this EntityType was created. + The user email to run the execution as. Only supported by Colab + runtimes. type: string - readOnly: true - description: - description: Description of the Feature. + serviceAccount: + description: The service account to run the execution as. type: string - monitoringStatsAnomalies: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly - description: >- - Output only. Only applicable for Vertex AI Feature Store (Legacy). - The list of historical stats and anomalies with specified - objectives. - readOnly: true - type: array name: description: >- - 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. - type: string - etag: + Output only. The resource name of this NotebookExecutionJob. Format: + `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}` + readOnly: true type: string + displayName: description: >- - Used to perform a consistent read-modify-write updates. If not set, - a blind "overwrite" update happens. - valueType: - enum: - - VALUE_TYPE_UNSPECIFIED - - BOOL - - BOOL_ARRAY - - DOUBLE - - DOUBLE_ARRAY - - INT64 - - INT64_ARRAY - - STRING - - STRING_ARRAY - - BYTES - - STRUCT - enumDescriptions: - - The value type is unspecified. - - Used for Feature that is a boolean. - - Used for Feature that is a list of boolean. - - Used for Feature that is double. - - Used for Feature that is a list of double. - - Used for Feature that is INT64. - - Used for Feature that is a list of INT64. - - Used for Feature that is string. - - Used for Feature that is a list of String. - - Used for Feature that is bytes. - - Used for Feature that is struct. - description: >- - Immutable. Only applicable for Vertex AI Feature Store (Legacy). - Type of Feature value. + The display name of the NotebookExecutionJob. The name can be up to + 128 characters long and can consist of any UTF-8 characters. type: string - labels: - type: object - additionalProperties: - type: string - description: >- - Optional. The labels with user-defined metadata to organize your - Features. 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 Feature (System labels are excluded)." System reserved - label keys are prefixed with "aiplatform.googleapis.com/" and are - immutable. - pointOfContact: + executionTimeout: description: >- - Entity responsible for maintaining this feature. Can be comma - separated list of email addresses or URIs. + Max running time of the execution job in seconds (default 86400s / + 24 hrs). type: string - description: >- - Feature Metadata information. For example, color is a feature that - describes an apple. - GoogleCloudAiplatformV1SchemaPredictionResultError: - properties: - message: + format: google-duration + scheduleResourceName: + description: >- + Output only. The Schedule resource name if this job is triggered by + one. Format: + `projects/{project_id}/locations/{location}/schedules/{schedule_id}` + readOnly: true type: string - description: Error message with additional details. - status: + jobState: + description: Output only. The state of the NotebookExecutionJob. + readOnly: true type: string - enum: - - OK - - CANCELLED - - UNKNOWN - - INVALID_ARGUMENT - - DEADLINE_EXCEEDED - - NOT_FOUND - - ALREADY_EXISTS - - PERMISSION_DENIED - - UNAUTHENTICATED - - RESOURCE_EXHAUSTED - - FAILED_PRECONDITION - - ABORTED - - OUT_OF_RANGE - - UNIMPLEMENTED - - INTERNAL - - UNAVAILABLE - - DATA_LOSS - description: >- - Error status. This will be serialized into the enum name e.g. - "NOT_FOUND". enumDescriptions: - - 'Not an error; returned on success. HTTP Mapping: 200 OK' - - >- - The operation was cancelled, typically by the caller. HTTP - Mapping: 499 Client Closed Request - - >- - Unknown error. For example, this error may be returned when a - `Status` value received from another address space belongs to an - error space that is not known in this address space. Also errors - raised by APIs that do not return enough error information may be - converted to this error. HTTP Mapping: 500 Internal Server Error - - >- - The client specified an invalid argument. Note that this differs - from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments - that are problematic regardless of the state of the system (e.g., - a malformed file name). HTTP Mapping: 400 Bad Request - - >- - The deadline expired before the operation could complete. For - operations that change the state of the system, this error may be - returned even if the operation has completed successfully. For - example, a successful response from a server could have been - delayed long enough for the deadline to expire. HTTP Mapping: 504 - Gateway Timeout - - >- - Some requested entity (e.g., file or directory) was not found. - Note to server developers: if a request is denied for an entire - class of users, such as gradual feature rollout or undocumented - allowlist, `NOT_FOUND` may be used. If a request is denied for - some users within a class of users, such as user-based access - control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not - Found - - >- - The entity that a client attempted to create (e.g., file or - directory) already exists. HTTP Mapping: 409 Conflict - - >- - The caller does not have permission to execute the specified - operation. `PERMISSION_DENIED` must not be used for rejections - caused by exhausting some resource (use `RESOURCE_EXHAUSTED` - instead for those errors). `PERMISSION_DENIED` must not be used if - the caller can not be identified (use `UNAUTHENTICATED` instead - for those errors). This error code does not imply the request is - valid or the requested entity exists or satisfies other - pre-conditions. HTTP Mapping: 403 Forbidden - - >- - The request does not have valid authentication credentials for the - operation. HTTP Mapping: 401 Unauthorized - - >- - Some resource has been exhausted, perhaps a per-user quota, or - perhaps the entire file system is out of space. HTTP Mapping: 429 - Too Many Requests - - >- - The operation was rejected because the system is not in a state - required for the operation's execution. For example, the directory - to be deleted is non-empty, an rmdir operation is applied to a - non-directory, etc. Service implementors can use the following - guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and - `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just - the failing call. (b) Use `ABORTED` if the client should retry at - a higher level. For example, when a client-specified test-and-set - fails, indicating the client should restart a read-modify-write - sequence. (c) Use `FAILED_PRECONDITION` if the client should not - retry until the system state has been explicitly fixed. For - example, if an "rmdir" fails because the directory is non-empty, - `FAILED_PRECONDITION` should be returned since the client should - not retry unless the files are deleted from the directory. HTTP - Mapping: 400 Bad Request - - >- - The operation was aborted, typically due to a concurrency issue - such as a sequencer check failure or transaction abort. See the - guidelines above for deciding between `FAILED_PRECONDITION`, - `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict - - >- - The operation was attempted past the valid range. E.g., seeking or - reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error - indicates a problem that may be fixed if the system state changes. - For example, a 32-bit file system will generate `INVALID_ARGUMENT` - if asked to read at an offset that is not in the range [0,2^32-1], - but it will generate `OUT_OF_RANGE` if asked to read from an - offset past the current file size. There is a fair bit of overlap - between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend - using `OUT_OF_RANGE` (the more specific error) when it applies so - that callers who are iterating through a space can easily look for - an `OUT_OF_RANGE` error to detect when they are done. HTTP - Mapping: 400 Bad Request + - The job state is unspecified. - >- - The operation is not implemented or is not supported/enabled in - this service. HTTP Mapping: 501 Not Implemented + The job has been just created or resumed and processing has not + yet begun. + - The service is preparing to run the job. + - The job is in progress. + - The job completed successfully. + - The job failed. - >- - Internal errors. This means that some invariants expected by the - underlying system have been broken. This error code is reserved - for serious errors. HTTP Mapping: 500 Internal Server Error + The job is being cancelled. From this state the job may only go to + either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or + `JOB_STATE_CANCELLED`. + - The job has been cancelled. + - The job has been stopped, and can be resumed. + - The job has expired. - >- - The service is currently unavailable. This is most likely a - transient condition, which can be corrected by retrying with a - backoff. Note that it is not always safe to retry non-idempotent - operations. See the guidelines above for deciding between - `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: - 503 Service Unavailable + The job is being updated. Only jobs in the `RUNNING` state can be + updated. After updating, the job goes back to the `RUNNING` state. - >- - Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal - Server Error - type: object - id: GoogleCloudAiplatformV1SchemaPredictionResultError - GoogleCloudAiplatformV1HyperparameterTuningJob: - properties: - displayName: - description: >- - Required. The display name of the HyperparameterTuningJob. The name - can be up to 128 characters long and can consist of any UTF-8 - characters. - type: string - createTime: - description: Output only. Time when the HyperparameterTuningJob was created. - readOnly: true - format: google-datetime - type: string - studySpec: - description: Required. Study configuration of the HyperparameterTuningJob. - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' - maxFailedTrialCount: - description: >- - 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. - format: int32 - type: integer - state: + The job is partially succeeded, some results may be missing due to + errors. enum: - JOB_STATE_UNSPECIFIED - JOB_STATE_QUEUED @@ -16125,858 +16105,797 @@ components: - JOB_STATE_EXPIRED - JOB_STATE_UPDATING - JOB_STATE_PARTIALLY_SUCCEEDED - description: Output only. The detailed state of the job. + status: + description: >- + Output only. Populated when the NotebookExecutionJob is completed. + When there is an error during notebook execution, the error details + are populated. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + createTime: + description: Output only. Timestamp when this NotebookExecutionJob was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: >- + Output only. Timestamp when this NotebookExecutionJob was most + recently updated. + readOnly: true + type: string + format: google-datetime + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + encryptionSpec: + description: >- + Customer-managed encryption key spec for the notebook execution job. + This field is auto-populated if the + NotebookService.NotebookRuntimeTemplate has an encryption spec. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource: + id: GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource + description: The Dataform Repository containing the input notebook. + type: object + properties: + dataformRepositoryResourceName: + description: >- + The resource name of the Dataform Repository. Format: + `projects/{project_id}/locations/{location}/repositories/{repository_id}` + type: string + commitSha: + description: >- + The commit SHA to read repository with. If unset, the file will be + read at HEAD. + type: string + GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource: + id: GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource + description: The Cloud Storage uri for the input notebook. + type: object + properties: + uri: + description: >- + The Cloud Storage uri pointing to the ipynb file. Format: + `gs://bucket/notebook_file.ipynb` + type: string + generation: + description: >- + The version of the Cloud Storage object to read. If unset, the + current version of the object is read. See + https://cloud.google.com/storage/docs/metadata#generation-number. + type: string + GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource: + id: GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource + description: The content of the input notebook in ipynb format. + type: object + properties: + content: + description: The base64-encoded contents of the input notebook file. + type: string + format: byte + GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec: + id: GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec + description: Compute configuration to use for an execution job. + type: object + properties: + machineSpec: + description: The specification of a single machine for the execution job. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' + persistentDiskSpec: + description: >- + The specification of a persistent disk to attach for the execution + job. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentDiskSpec' + networkSpec: + description: The network configuration to use for the execution job. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NetworkSpec' + GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse: + id: GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse + description: Response message for [NotebookService.CreateNotebookExecutionJob] + type: object + properties: + notebookExecutionJobs: + description: List of NotebookExecutionJobs in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob' + nextPageToken: + description: >- + A token to retrieve next page of results. Pass to + ListNotebookExecutionJobs.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1PersistentResource: + id: GoogleCloudAiplatformV1PersistentResource + description: >- + Represents long-lasting resources that are dedicated to users to runs + custom workloads. A PersistentResource can have multiple node pools and + each node pool can have its own machine spec. + type: object + properties: + name: + description: Immutable. Resource name of a PersistentResource. + type: string + displayName: + description: >- + Optional. The display name of the PersistentResource. The name can + be up to 128 characters long and can consist of any UTF-8 + characters. + type: string + resourcePools: + description: Required. The spec of the pools of different resources. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourcePool' + state: + description: Output only. The detailed state of a Study. + readOnly: true type: string enumDescriptions: - - The job state is unspecified. + - Not set. - >- - The job has been just created or resumed and processing has not - yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. + The PROVISIONING state indicates the persistent resources is being + created. - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. + The RUNNING state indicates the persistent resource is healthy and + fully usable. - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. + The STOPPING state indicates the persistent resource is being + deleted. - >- - The job is partially succeeded, some results may be missing due to - errors. - readOnly: true - trialJobSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' - description: >- - Required. The spec of a trial job. The same spec applies to the - CustomJobs created in all the trials. - maxTrialCount: - format: int32 - type: integer - description: Required. The desired total number of Trials. - endTime: - description: >- - Output only. Time when the HyperparameterTuningJob entered any of - the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, - `JOB_STATE_CANCELLED`. - format: google-datetime - readOnly: true - type: string - name: - readOnly: true - type: string - description: Output only. Resource name of the HyperparameterTuningJob. - satisfiesPzi: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key options for a - HyperparameterTuningJob. If this is set, then all resources created - by the HyperparameterTuningJob will be encrypted with the provided - encryption key. + The ERROR state indicates the persistent resource may be unusable. + Details can be found in the `error` field. + - >- + The REBOOTING state indicates the persistent resource is being + rebooted (PR is not available right now but is expected to be + ready again later). + - >- + The UPDATING state indicates the persistent resource is being + updated. + enum: + - STATE_UNSPECIFIED + - PROVISIONING + - RUNNING + - STOPPING + - ERROR + - REBOOTING + - UPDATING error: description: >- - Output only. Only populated when job's state is JOB_STATE_FAILED or - JOB_STATE_CANCELLED. - $ref: '#/components/schemas/GoogleRpcStatus' + Output only. Only populated when persistent resource's state is + `STOPPING` or `ERROR`. readOnly: true - parallelTrialCount: - format: int32 - description: Required. The desired number of Trials to run in parallel. - type: integer - startTime: + $ref: '#/components/schemas/GoogleRpcStatus' + createTime: + description: Output only. Time when the PersistentResource was created. readOnly: true - format: google-datetime type: string + format: google-datetime + startTime: description: >- - Output only. Time when the HyperparameterTuningJob for the first - time entered the `JOB_STATE_RUNNING` state. - trials: + Output only. Time when the PersistentResource for the first time + entered the `RUNNING` state. readOnly: true - description: Output only. Trials of the HyperparameterTuningJob. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + type: string + format: google-datetime updateTime: - readOnly: true description: >- - Output only. Time when the HyperparameterTuningJob was most recently + Output only. Time when the PersistentResource was most recently updated. + readOnly: true type: string format: google-datetime labels: + description: >- + 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. type: object additionalProperties: type: string + network: description: >- - The labels with user-defined metadata to organize - HyperparameterTuningJobs. 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. + 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. + type: string + encryptionSpec: + description: >- + Optional. Customer-managed encryption key spec for a + PersistentResource. If set, this PersistentResource and all + sub-resources of this PersistentResource will be secured by this + key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + resourceRuntimeSpec: + description: >- + Optional. Persistent Resource runtime spec. For example, used for + Ray cluster configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourceRuntimeSpec' + resourceRuntime: + description: Output only. Runtime information of the Persistent Resource. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourceRuntime' + reservedIpRanges: + description: >- + 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']. + type: array + items: + type: string satisfiesPzs: - type: boolean + description: Output only. Reserved for future use. readOnly: true + type: boolean + satisfiesPzi: description: Output only. Reserved for future use. - id: GoogleCloudAiplatformV1HyperparameterTuningJob + readOnly: true + type: boolean + GoogleCloudAiplatformV1ResourcePool: + id: GoogleCloudAiplatformV1ResourcePool description: >- - Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a - Study specification and multiple CustomJobs with identical CustomJob - specification. - type: object - GoogleCloudAiplatformV1CitationMetadata: + Represents the spec of a group of resources of the same type, for + example machine type, disk, and accelerators, in a PersistentResource. type: object properties: - citations: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Citation' - description: Output only. List of citations. - type: array + id: + description: >- + Immutable. The unique ID in a PersistentResource for referring to + this resource pool. User can specify it if necessary. Otherwise, + it's generated automatically. + type: string + machineSpec: + description: Required. Immutable. The specification of a single machine. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' + replicaCount: + description: >- + Optional. The total number of machines to use for this resource + pool. + type: string + format: int64 + diskSpec: + description: Optional. Disk spec for the machine in this node pool. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DiskSpec' + usedReplicaCount: + description: >- + Output only. The number of machines currently in use by training + jobs for this resource pool. Will replace idle_replica_count. readOnly: true - description: A collection of source attributions for a piece of content. - id: GoogleCloudAiplatformV1CitationMetadata - GoogleCloudAiplatformV1PipelineTaskDetailArtifactList: + type: string + format: int64 + autoscalingSpec: + description: >- + Optional. Optional spec to configure GKE or Ray-on-Vertex + autoscaling + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec + GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec: + id: GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec + description: The min/max number of replicas allowed if enabling autoscaling type: object - id: GoogleCloudAiplatformV1PipelineTaskDetailArtifactList - description: A list of artifact metadata. properties: - artifacts: - readOnly: true - description: Output only. A list of artifact metadata. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' - type: array - GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata: - id: GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata + minReplicaCount: + description: >- + Optional. min replicas in the node pool, must be ≤ replica_count and + < max_replica_count or will throw error. For autoscaling enabled + Ray-on-Vertex, we allow min_replica_count of a resource_pool to be 0 + to match the OSS Ray + behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-autoscaling.html#cluster-config-parameters). + As for Persistent Resource, the min_replica_count must be > 0, we + added a corresponding validation inside + CreatePersistentResourceRequestValidator.java. + type: string + format: int64 + maxReplicaCount: + description: >- + Optional. max replicas in the node pool, must be ≥ replica_count and + > min_replica_count or will throw error + type: string + format: int64 + GoogleCloudAiplatformV1ResourceRuntimeSpec: + id: GoogleCloudAiplatformV1ResourceRuntimeSpec description: >- - Runtime operation information for - MigrationService.BatchMigrateResources. + 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. + type: object properties: - partialResults: - type: array + serviceAccountSpec: description: >- - Partial results that reflect the latest migration operation - progress. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - type: object - GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail: + Optional. Configure the use of workload identity on the + PersistentResource + $ref: '#/components/schemas/GoogleCloudAiplatformV1ServiceAccountSpec' + raySpec: + description: >- + Optional. Ray cluster configuration. Required when creating a + dedicated RayCluster on the PersistentResource. + $ref: '#/components/schemas/GoogleCloudAiplatformV1RaySpec' + GoogleCloudAiplatformV1ServiceAccountSpec: + id: GoogleCloudAiplatformV1ServiceAccountSpec description: >- - The detail of a container execution. It contains the job names of the - lifecycle of a container execution. + Configuration for the use of custom service account to run the + workloads. type: object properties: - failedPreCachingCheckJobs: + enableCustomServiceAccount: description: >- - Output only. The names of the previously failed CustomJob for the - pre-caching-check container executions. This job will be available - if the PipelineJob.pipeline_spec specifies the `pre_caching_check` - hook in the lifecycle events. The list includes the all attempts in - chronological order. - items: - type: string - type: array - readOnly: true - mainJob: + Required. If true, custom user-managed service account is enforced + to run any workloads (for example, Vertex Jobs) on the resource. + Otherwise, uses the [Vertex AI Custom Code Service + Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents). + type: boolean + serviceAccount: description: >- - Output only. The name of the CustomJob for the main container - execution. - readOnly: true + Optional. Required when all below conditions are met * + `enable_custom_service_account` is true; * any runtime is specified + via `ResourceRuntimeSpec` on creation time, for example, Ray The + users must have `iam.serviceAccounts.actAs` permission on this + service account and then the specified runtime containers will run + as it. Do not set this field if you want to submit jobs using custom + service account to this PersistentResource after creation, but only + specify the `service_account` inside the job. type: string - preCachingCheckJob: + GoogleCloudAiplatformV1RaySpec: + id: GoogleCloudAiplatformV1RaySpec + description: >- + Configuration information for the Ray cluster. For experimental launch, + Ray cluster creation and Persistent cluster creation are 1:1 mapping: We + will provision all the nodes within the Persistent cluster as Ray nodes. + type: object + properties: + imageUri: description: >- - Output only. The name of the CustomJob for the pre-caching-check - container execution. This job will be available if the - PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in - the lifecycle events. + Optional. Default image for user to choose a preferred ML framework + (for example, TensorFlow or Pytorch) by choosing from [Vertex + prebuilt + images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). + Either this or the resource_pool_images is required. Use this field + if you need all the resource pools to have the same Ray image. + Otherwise, use the {@code resource_pool_images} field. type: string - readOnly: true - failedMainJobs: - readOnly: true - type: array + resourcePoolImages: description: >- - Output only. The names of the previously failed CustomJob for the - main container executions. The list includes the all attempts in - chronological order. - items: + Optional. Required if image_uri isn't set. A map of resource_pool_id + to prebuild Ray image if user need to use different images for + different head/worker pools. This map needs to cover all the + resource pool ids. Example: { "ray_head_node_pool": "head image" + "ray_worker_node_pool1": "worker image" "ray_worker_node_pool2": + "another worker image" } + type: object + additionalProperties: type: string - id: GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail - GoogleCloudAiplatformV1ManualBatchTuningParameters: - id: GoogleCloudAiplatformV1ManualBatchTuningParameters - description: Manual batch tuning parameters. - properties: - batchSize: - type: integer - format: int32 + headNodeResourcePoolId: description: >- - Immutable. The number of the records (e.g. instances) of the - operation given in each batch to a machine replica. Machine type, - and size of a single record should be considered when setting this - parameter, higher value speeds up the batch operation's execution, - but too high value will result in a whole batch not fitting in a - machine's memory, and the whole operation will fail. The default - value is 64. - type: object - GoogleCloudAiplatformV1UploadModelResponse: - properties: - modelVersionId: - type: string - description: Output only. The version ID of the model that is uploaded. - readOnly: true - model: + Optional. This will be used to indicate which resource pool will + serve as the Ray head node(the first node within that pool). Will + use the machine from the first workerpool as the head node by + default if this field isn't set. type: string - description: >- - The name of the uploaded Model resource. Format: - `projects/{project}/locations/{location}/models/{model}` - type: object - id: GoogleCloudAiplatformV1UploadModelResponse - description: Response message of ModelService.UploadModel operation. - GoogleCloudAiplatformV1DeployedIndexRef: + rayMetricSpec: + description: Optional. Ray metrics configurations. + $ref: '#/components/schemas/GoogleCloudAiplatformV1RayMetricSpec' + rayLogsSpec: + description: Optional. OSS Ray logging configurations. + $ref: '#/components/schemas/GoogleCloudAiplatformV1RayLogsSpec' + GoogleCloudAiplatformV1RayMetricSpec: + id: GoogleCloudAiplatformV1RayMetricSpec + description: Configuration for the Ray metrics. type: object properties: - deployedIndexId: - type: string - description: Immutable. The ID of the DeployedIndex in the above IndexEndpoint. - displayName: - type: string - readOnly: true - description: Output only. The display name of the DeployedIndex. - indexEndpoint: - type: string - description: Immutable. A resource name of the IndexEndpoint. - id: GoogleCloudAiplatformV1DeployedIndexRef - description: Points to a DeployedIndex. - GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest: - id: GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest - description: Request message for JobService.ResumeModelDeploymentMonitoringJob. - type: object - properties: {} - GoogleCloudAiplatformV1RougeSpec: + disabled: + description: Optional. Flag to disable the Ray metrics collection. + type: boolean + GoogleCloudAiplatformV1RayLogsSpec: + id: GoogleCloudAiplatformV1RayLogsSpec + description: Configuration for the Ray OSS Logs. type: object properties: - rougeType: - type: string + disabled: description: >- - Optional. Supported rouge types are rougen[1-9], rougeL, and - rougeLsum. - splitSummaries: - description: Optional. Whether to split summaries while using rougeLsum. - type: boolean - useStemmer: - description: Optional. Whether to use stemmer to compute rouge score. + Optional. Flag to disable the export of Ray OSS logs to Cloud + Logging. type: boolean - description: >- - Spec for rouge score metric - calculates the recall of n-grams in - prediction as compared to reference - returns a score ranging between 0 - and 1. - id: GoogleCloudAiplatformV1RougeSpec - GoogleCloudAiplatformV1ListDatasetVersionsResponse: + GoogleCloudAiplatformV1ResourceRuntime: + id: GoogleCloudAiplatformV1ResourceRuntime + description: Persistent Cluster runtime information as output type: object - description: Response message for DatasetService.ListDatasetVersions. properties: - datasetVersions: - type: array + accessUris: description: >- - A list of DatasetVersions that matches the specified filter in the - request. + Output only. URIs for user to connect to the Cluster. Example: { + "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" + "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" } + readOnly: true + type: object + additionalProperties: + type: string + GoogleCloudAiplatformV1ListPersistentResourcesResponse: + id: GoogleCloudAiplatformV1ListPersistentResourcesResponse + description: Response message for PersistentResourceService.ListPersistentResources + type: object + properties: + persistentResources: + type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' nextPageToken: + description: >- + A token to retrieve next page of results. Pass to + ListPersistentResourcesRequest.page_token to obtain that page. type: string - description: The standard List next-page token. - id: GoogleCloudAiplatformV1ListDatasetVersionsResponse - GoogleCloudAiplatformV1ListFeatureGroupsResponse: + GoogleCloudAiplatformV1RebootPersistentResourceRequest: + id: GoogleCloudAiplatformV1RebootPersistentResourceRequest + description: Request message for PersistentResourceService.RebootPersistentResource. + type: object + properties: {} + GoogleCloudAiplatformV1TrainingPipeline: + id: GoogleCloudAiplatformV1TrainingPipeline + description: >- + The TrainingPipeline orchestrates tasks associated with training a + Model. It always executes the training task, and optionally may also + export data from Vertex AI's Dataset which becomes the training input, + upload the Model to Vertex AI, and evaluate the Model. + type: object properties: - featureGroups: - description: The FeatureGroups matching the request. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' - type: array - nextPageToken: + name: + description: Output only. Resource name of the TrainingPipeline. + readOnly: true + type: string + displayName: + description: Required. The user-defined name of this TrainingPipeline. + type: string + inputDataConfig: description: >- - A token, which can be sent as ListFeatureGroupsRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. + Specifies Vertex AI owned input data that may be used for training + the Model. The TrainingPipeline's training_task_definition should + make clear whether this config is used and if there are any special + requirements on how it should be filled. If nothing about this + config is mentioned in the training_task_definition, then it should + be assumed that the TrainingPipeline does not depend on this + configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1InputDataConfig' + trainingTaskDefinition: + description: >- + Required. A Google Cloud Storage path to the YAML file that defines + the training task which is responsible for producing the model + artifact, and may also include additional auxiliary work. The + definition files that can be used here are found in + gs://google-cloud-aiplatform/schema/trainingjob/definition/. 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. type: string - description: Response message for FeatureRegistryService.ListFeatureGroups. - id: GoogleCloudAiplatformV1ListFeatureGroupsResponse - type: object - GoogleCloudAiplatformV1BatchPredictionJob: - type: object - properties: - labels: + trainingTaskInputs: description: >- - 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. - additionalProperties: - type: string - type: object - generateExplanation: - type: boolean + Required. The training task's parameter(s), as specified in the + training_task_definition's `inputs`. + type: any + trainingTaskMetadata: description: >- - Generate explanation with the batch prediction results. When set to - `true`, the batch prediction output changes based on the - `predictions_format` field of the BatchPredictionJob.output_config - object: * `bigquery`: output includes a column named `explanation`. - The value is a struct that conforms to the Explanation object. * - `jsonl`: The JSON objects on each line include an additional entry - keyed `explanation`. The value of the entry is a JSON object that - conforms to the Explanation object. * `csv`: Generating explanations - for CSV format is not supported. If this field is set to true, - either the Model.explanation_spec or explanation_spec must be - populated. - updateTime: - format: google-datetime + 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. readOnly: true + type: any + modelToUpload: description: >- - Output only. Time when the BatchPredictionJob was most recently - updated. + Describes the Model that may be uploaded (via + ModelService.UploadModel) by this TrainingPipeline. The + TrainingPipeline's training_task_definition should make clear + whether this Model description should be populated, and if there are + any special requirements regarding how it should be filled. If + nothing is mentioned in the training_task_definition, then it should + be assumed that this field should not be filled and the training + task either uploads the Model without a need of this information, or + that training task does not support uploading a Model as part of the + pipeline. When the Pipeline's state becomes + `PIPELINE_STATE_SUCCEEDED` and the trained Model had been uploaded + into Vertex AI, then the model_to_upload's resource name is + populated. The Model is always uploaded into the Project and + Location in which this pipeline is. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + modelId: + description: >- + Optional. The ID to use for the uploaded Model, which will become + the final component of the model resource name. This value may be up + to 63 characters, and valid characters are `[a-z0-9_-]`. The first + character cannot be a number or hyphen. type: string - state: - description: Output only. The detailed state of the job. - enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED + parentModel: + description: >- + Optional. When specify this field, the `model_to_upload` will not be + uploaded as a new model, instead, it will become a new version of + this `parent_model`. type: string + state: + description: Output only. The detailed state of the pipeline. readOnly: true + type: string enumDescriptions: - - The job state is unspecified. + - The pipeline state is unspecified. - >- - The job has been just created or resumed and processing has not + The pipeline has been created or resumed, and processing has not yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. - - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. - - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. + - The service is preparing to run the pipeline. + - The pipeline is in progress. + - The pipeline completed successfully. + - The pipeline failed. - >- - The job is partially succeeded, some results may be missing due to - errors. - startTime: - description: >- - Output only. Time when the BatchPredictionJob for the first time - entered the `JOB_STATE_RUNNING` state. - format: google-datetime - type: string - readOnly: true - dedicatedResources: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchDedicatedResources' + The pipeline is being cancelled. From this state, the pipeline may + only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED + or PIPELINE_STATE_CANCELLED. + - The pipeline has been cancelled. + - The pipeline has been stopped, and can be resumed. + enum: + - PIPELINE_STATE_UNSPECIFIED + - PIPELINE_STATE_QUEUED + - PIPELINE_STATE_PENDING + - PIPELINE_STATE_RUNNING + - PIPELINE_STATE_SUCCEEDED + - PIPELINE_STATE_FAILED + - PIPELINE_STATE_CANCELLING + - PIPELINE_STATE_CANCELLED + - PIPELINE_STATE_PAUSED + error: description: >- - The config of resources used by the Model during the batch - prediction. If the Model supports DEDICATED_RESOURCES this config - may be provided (and the job will use these resources), if the Model - doesn't support AUTOMATIC_RESOURCES, this config must be provided. - satisfiesPzi: - description: Output only. Reserved for future use. - readOnly: true - type: boolean - resourcesConsumed: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourcesConsumed' + Output only. Only populated when the pipeline's state is + `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`. readOnly: true - description: >- - Output only. Information about resources that had been consumed by - this job. Provided in real time at best effort basis, as well as a - final value once the job completes. Note: This field currently may - be not populated for batch predictions that use AutoML Models. + $ref: '#/components/schemas/GoogleRpcStatus' createTime: + description: Output only. Time when the TrainingPipeline was created. readOnly: true - description: Output only. Time when the BatchPredictionJob was created. - format: google-datetime type: string - completionStats: - readOnly: true - description: >- - Output only. Statistics on completed and failed prediction - instances. - $ref: '#/components/schemas/GoogleCloudAiplatformV1CompletionStats' - explanationSpec: + format: google-datetime + startTime: description: >- - Explanation configuration for this BatchPredictionJob. Can be - specified only if generate_explanation is set to `true`. This value - overrides the value of Model.explanation_spec. All fields of - explanation_spec are optional in the request. If a field of the - explanation_spec object is not populated, the corresponding field of - the Model.explanation_spec object is inherited. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' - error: + Output only. Time when the TrainingPipeline for the first time + entered the `PIPELINE_STATE_RUNNING` state. readOnly: true - description: >- - Output only. Only populated when the job's state is JOB_STATE_FAILED - or JOB_STATE_CANCELLED. - $ref: '#/components/schemas/GoogleRpcStatus' - inputConfig: - description: >- - Required. Input configuration of the instances on which predictions - are performed. The schema of any single instance may be specified - via the Model's PredictSchemata's instance_schema_uri. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobInputConfig - instanceConfig: - description: >- - Configuration for how to convert batch prediction input instances to - the prediction instances that are sent to the Model. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig - outputConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobOutputConfig - description: >- - Required. The Configuration specifying where output predictions - should be written. The schema of any single prediction may be - specified as a concatenation of Model's PredictSchemata's - instance_schema_uri and prediction_schema_uri. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key options for a BatchPredictionJob. If - this is set, then all resources created by the BatchPredictionJob - will be encrypted with the provided encryption key. + type: string + format: google-datetime endTime: description: >- - Output only. Time when the BatchPredictionJob entered any of the - following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, - `JOB_STATE_CANCELLED`. - format: google-datetime + Output only. Time when the TrainingPipeline entered any of the + following states: `PIPELINE_STATE_SUCCEEDED`, + `PIPELINE_STATE_FAILED`, `PIPELINE_STATE_CANCELLED`. readOnly: true type: string - disableContainerLogging: - description: >- - For custom-trained Models and AutoML Tabular Models, the container - of the DeployedModel instances 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. - type: boolean - displayName: - type: string - description: Required. The user-defined name of this BatchPredictionJob. - modelParameters: - type: any - description: >- - The parameters that govern the predictions. The schema of the - parameters may be specified via the Model's PredictSchemata's - parameters_schema_uri. - serviceAccount: - type: string - description: >- - 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. - partialFailures: - type: array - readOnly: true - items: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - 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. - manualBatchTuningParameters: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ManualBatchTuningParameters + format: google-datetime + updateTime: description: >- - Immutable. Parameters configuring the batch behavior. Currently only - applicable when dedicated_resources are used (in other cases Vertex - AI does the tuning itself). - outputInfo: - readOnly: true - description: Output only. Information further describing the output of this job. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchPredictionJobOutputInfo - name: - type: string - description: Output only. Resource name of the BatchPredictionJob. + Output only. Time when the TrainingPipeline was most recently + updated. readOnly: true - unmanagedContainerModel: - $ref: '#/components/schemas/GoogleCloudAiplatformV1UnmanagedContainerModel' - description: >- - Contains model information necessary to perform batch prediction - without requiring uploading to model registry. Exactly one of model - and unmanaged_container_model must be set. - model: - description: >- - 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}` type: string - satisfiesPzs: - description: Output only. Reserved for future use. - type: boolean - readOnly: true - modelVersionId: + format: google-datetime + labels: description: >- - Output only. The version ID of the Model that produces the - predictions via this job. - readOnly: true - type: string - description: >- - A job that uses a Model to produce predictions on multiple input - instances. If predictions for significant portion of the instances fail, - the job may finish without attempting predictions for all remaining - instances. - id: GoogleCloudAiplatformV1BatchPredictionJob - GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata: - type: object - description: >- - Runtime operation information for - IndexEndpointService.MutateDeployedIndex. - properties: - deployedIndexId: - type: string - description: The unique index id specified by user - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - id: GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter: - properties: - trainerConfig: + The labels with user-defined metadata to organize TrainingPipelines. + 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. type: object - description: Customizable trainer settings, used in the `model_garden_trainer`. additionalProperties: type: string - studySpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' - description: >- - Optioinal. StudySpec of hyperparameter tuning job. Required for - `model_garden_trainer`. - checkpointName: + encryptionSpec: description: >- - Optional. An unique name of pretrained model checkpoint provided in - model garden, it will be mapped to a GCS location internally. - type: string - trainerType: - type: string - enum: - - TRAINER_TYPE_UNSPECIFIED - - AUTOML_TRAINER - - MODEL_GARDEN_TRAINER - enumDescriptions: - - Default value. - - '' - - '' - datasetConfig: - type: object - additionalProperties: - type: string - description: Customizable dataset settings, used in the `model_garden_trainer`. - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter + Customer-managed encryption key spec for a TrainingPipeline. If set, + this TrainingPipeline will be secured by this key. Note: Model + trained by this TrainingPipeline is also secured by this key if + model_to_upload is not set separately. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + GoogleCloudAiplatformV1InputDataConfig: + id: GoogleCloudAiplatformV1InputDataConfig description: >- - A wrapper class which contains the tunable parameters in an AutoML Image - training job. - GoogleCloudAiplatformV1PythonPackageSpec: - id: GoogleCloudAiplatformV1PythonPackageSpec + Specifies Vertex AI owned input data to be used for training, and + possibly evaluating, the Model. + type: object properties: - args: - type: array - items: - type: string - description: Command line arguments to be passed to the Python task. - env: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EnvVar' - description: >- - Environment variables to be passed to the python module. Maximum - limit is 100. - type: array - pythonModule: - type: string + fractionSplit: + description: Split based on fractions defining the size of each set. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FractionSplit' + filterSplit: + description: Split based on the provided filters for each set. + $ref: '#/components/schemas/GoogleCloudAiplatformV1FilterSplit' + predefinedSplit: description: >- - Required. The Python module name to run after installing the - packages. - executorImageUri: - type: string + Supported only for tabular Datasets. Split based on a predefined + key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredefinedSplit' + timestampSplit: description: >- - Required. The URI of a container image in Artifact Registry that - will run the provided Python package. Vertex AI provides a wide - range of executor images with pre-installed packages to meet users' - various use cases. See the list of [pre-built containers for - training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). - You must use an image from this list. - packageUris: - items: - type: string - type: array + Supported only for tabular Datasets. Split based on the timestamp of + the input data pieces. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TimestampSplit' + stratifiedSplit: description: >- - Required. The Google Cloud Storage location of the Python package - files which are the training program and its dependent packages. The - maximum number of package URIs is 100. - description: The spec of a Python packaged code. - type: object - GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata: - properties: - progressMessage: - type: string - description: Progress Message for Create LRO - genericMetadata: - description: Operation metadata for PersistentResource. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Details of operations that perform create PersistentResource. - type: object - id: GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata - GoogleCloudAiplatformV1StructValue: - description: Struct (or object) type feature value. - id: GoogleCloudAiplatformV1StructValue - properties: - values: - description: A list of field values. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StructFieldValue' - type: array - type: object - GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec: - description: Represents a parameter spec with condition from its parent parameter. - properties: - parentCategoricalValues: + Supported only for tabular Datasets. Split based on the distribution + of the specified column. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StratifiedSplit' + gcsDestination: description: >- - The spec for matching values from a parent parameter of - `CATEGORICAL` type. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition - parentDiscreteValues: + The Cloud Storage location where the training data is to be written + to. In the given directory a new directory is created with name: + `dataset---` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 + format. All training input data is written into that directory. The + Vertex AI environment variables representing Cloud Storage data URIs + are represented in the Cloud Storage wildcard format to support + sharded data. e.g.: "gs://.../training-*.jsonl" * AIP_DATA_FORMAT = + "jsonl" for non-tabular data, "csv" for tabular data * + AIP_TRAINING_DATA_URI = + "gcs_destination/dataset---/training-*.${AIP_DATA_FORMAT}" * + AIP_VALIDATION_DATA_URI = + "gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}" * + AIP_TEST_DATA_URI = + "gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}" + $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' + bigqueryDestination: description: >- - The spec for matching values from a parent parameter of `DISCRETE` - type. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition - parameterSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpec' - description: Required. The spec for a conditional parameter. - parentIntValues: + Only applicable to custom training with tabular Dataset with + BigQuery source. The BigQuery project location where the training + data is to be written to. In the given project a new dataset is + created with name `dataset___` where timestamp is in + YYYY_MM_DDThh_mm_ss_sssZ format. All training input data is written + into that dataset. In the dataset three tables are created, + `training`, `validation` and `test`. * AIP_DATA_FORMAT = "bigquery". + * AIP_TRAINING_DATA_URI = "bigquery_destination.dataset___.training" + * AIP_VALIDATION_DATA_URI = + "bigquery_destination.dataset___.validation" * AIP_TEST_DATA_URI = + "bigquery_destination.dataset___.test" + $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQueryDestination' + datasetId: description: >- - The spec for matching values from a parent parameter of `INTEGER` - type. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition - type: object - id: GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec - GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset: - type: object - description: Represents one Dataset in datalabeling.googleapis.com. - id: GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset - properties: - dataLabelingAnnotatedDatasets: + Required. The ID of the Dataset in the same Project and Location + which data will be used to train the Model. The Dataset must use + schema compatible with Model being trained, and what is compatible + should be described in the used TrainingPipeline's + training_task_definition. For tabular Datasets, all their data is + exported to training, to pick and choose from. + type: string + annotationsFilter: description: >- - The migratable AnnotatedDataset in datalabeling.googleapis.com - belongs to the data labeling Dataset. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset - type: array - dataset: + Applicable only to Datasets that have DataItems and Annotations. A + filter on Annotations of the Dataset. Only Annotations that both + match this filter and belong to DataItems not ignored by the split + method are used in respectively training, validation or test role, + depending on the role of the DataItem they are on (for the + auto-assigned that role is decided by Vertex AI). A filter with same + syntax as the one used in ListAnnotations may be used, but note here + it filters across all Annotations of the Dataset, and not just + within a single DataItem. type: string + annotationSchemaUri: description: >- - Full resource name of data labeling Dataset. Format: - `projects/{project}/datasets/{dataset}`. - datasetDisplayName: - description: The Dataset's display name in datalabeling.googleapis.com. + Applicable only to custom training with Datasets that have DataItems + and Annotations. Cloud Storage URI that points to a YAML file + describing the annotation schema. 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 metadata of the Dataset + specified by dataset_id. Only Annotations that both match this + schema and belong to DataItems not ignored by the split method are + used in respectively training, validation or test role, depending on + the role of the DataItem they are on. When used in conjunction with + annotations_filter, the Annotations used for training are filtered + by both annotations_filter and annotation_schema_uri. type: string - GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics: + savedQueryId: + description: >- + Only applicable to Datasets that have SavedQueries. The ID of a + SavedQuery (annotation set) under the Dataset specified by + dataset_id used for filtering Annotations for training. Only + Annotations that are associated with this SavedQuery are used in + respectively training. When used in conjunction with + annotations_filter, the Annotations used for training are filtered + by both saved_query_id and annotations_filter. Only one of + saved_query_id and annotation_schema_uri should be specified as both + of them represent the same thing: problem type. + type: string + persistMlUseAssignment: + description: Whether to persist the ML use assignment to data item system labels. + type: boolean + GoogleCloudAiplatformV1FractionSplit: + id: GoogleCloudAiplatformV1FractionSplit + description: >- + Assigns the input data to training, validation, and test sets as per the + given fractions. Any of `training_fraction`, `validation_fraction` and + `test_fraction` may optionally be provided, they must sum to up to 1. If + the provided ones sum to less than 1, the remainder is assigned to sets + as decided by Vertex AI. If none of the fractions are set, by default + roughly 80% of data is used for training, 10% for validation, and 10% + for test. + type: object properties: - meanAbsoluteError: - format: float - type: number - description: Mean Absolute Error (MAE). - rSquared: - type: number + trainingFraction: description: >- - Coefficient of determination as Pearson correlation coefficient. - Undefined when ground truth or predictions are constant or near - constant. - format: float - rootMeanSquaredError: - description: Root Mean Squared Error (RMSE). - type: number - format: float - meanAbsolutePercentageError: - format: float + The fraction of the input data that is to be used to train the + Model. type: number + format: double + validationFraction: description: >- - Mean absolute percentage error. Infinity when there are zeros in the - ground truth. - rootMeanSquaredLogError: + The fraction of the input data that is to be used to validate the + Model. type: number - format: float + format: double + testFraction: description: >- - Root mean squared log error. Undefined when there are negative - ground truth values or predictions. - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics - type: object - description: Metrics for regression evaluation results. - GoogleCloudAiplatformV1RougeInstance: - description: Spec for rouge instance. + The fraction of the input data that is to be used to evaluate the + Model. + type: number + format: double + GoogleCloudAiplatformV1FilterSplit: + id: GoogleCloudAiplatformV1FilterSplit + description: >- + Assigns input data to training, validation, and test sets based on the + given filters, data pieces not matched by any filter are ignored. + Currently only supported for Datasets containing DataItems. If any of + the filters in this message are to match nothing, then they can be set + as '-' (the minus sign). Supported only for unstructured Datasets. type: object properties: - prediction: - type: string - description: Required. Output of the evaluated model. - reference: - type: string - description: Required. Ground truth used to compare against the prediction. - id: GoogleCloudAiplatformV1RougeInstance - GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics: - properties: - auPrc: - type: number - format: float + trainingFilter: description: >- - The Area Under Precision-Recall Curve metric. Micro-averaged for the - overall evaluation. - auRoc: - type: number - format: float + Required. A filter on DataItems of the Dataset. DataItems that match + this filter are used to train the Model. A filter with same syntax + as the one used in DatasetService.ListDataItems may be used. If a + single DataItem is matched by more than one of the FilterSplit + filters, then it is assigned to the first set that applies to it in + the training, validation, test order. + type: string + validationFilter: description: >- - The Area Under Receiver Operating Characteristic curve metric. - Micro-averaged for the overall evaluation. - confidenceMetrics: + Required. A filter on DataItems of the Dataset. DataItems that match + this filter are used to validate the Model. A filter with same + syntax as the one used in DatasetService.ListDataItems may be used. + If a single DataItem is matched by more than one of the FilterSplit + filters, then it is assigned to the first set that applies to it in + the training, validation, test order. + type: string + testFilter: description: >- - Metrics for each `confidenceThreshold` in - 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` - = INT32_MAX_VALUE. ROC and precision-recall curves, and other - aggregated metrics are derived from them. The confidence metrics - entries may also be supplied for additional values of - `positionThreshold`, but from these no aggregated metrics are - computed. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics - logLoss: - type: number - format: float - description: The Log Loss metric. - confusionMatrix: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix - description: Confusion matrix of the evaluation. - description: Metrics for classification evaluation results. - type: object - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics - GoogleCloudAiplatformV1BatchCreateFeaturesResponse: - properties: - features: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' - description: The Features created. - type: object - description: Response message for FeaturestoreService.BatchCreateFeatures. - id: GoogleCloudAiplatformV1BatchCreateFeaturesResponse - GoogleCloudAiplatformV1WorkerPoolSpec: - description: Represents the spec of a worker pool in a job. - properties: - pythonPackageSpec: - description: The Python packaged task. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PythonPackageSpec' - diskSpec: - description: Disk spec. - $ref: '#/components/schemas/GoogleCloudAiplatformV1DiskSpec' - machineSpec: - description: Optional. Immutable. The specification of a single machine. - $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' - containerSpec: - description: The custom container task. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ContainerSpec' - nfsMounts: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NfsMount' - description: Optional. List of NFS mount spec. - replicaCount: + Required. A filter on DataItems of the Dataset. DataItems that match + this filter are used to test the Model. A filter with same syntax as + the one used in DatasetService.ListDataItems may be used. If a + single DataItem is matched by more than one of the FilterSplit + filters, then it is assigned to the first set that applies to it in + the training, validation, test order. type: string - description: Optional. The number of worker replicas to use for this worker pool. - format: int64 - type: object - id: GoogleCloudAiplatformV1WorkerPoolSpec - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation: - type: object - properties: - text: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation - categorical: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation - numeric: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation - auto: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation - timestamp: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation - GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig: - type: object - properties: - userEmails: - description: The email addresses to send the alert. - type: array - items: - type: string - description: The config for email alert. - id: GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig GoogleCloudAiplatformV1PredefinedSplit: - type: object id: GoogleCloudAiplatformV1PredefinedSplit description: >- Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets. + type: object properties: key: description: >- @@ -16987,2107 +16906,2344 @@ components: piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline. type: string - GoogleCloudAiplatformV1VertexAISearch: + GoogleCloudAiplatformV1TimestampSplit: + id: GoogleCloudAiplatformV1TimestampSplit description: >- - Retrieve from Vertex AI Search datastore for grounding. See - https://cloud.google.com/products/agent-builder - id: GoogleCloudAiplatformV1VertexAISearch + Assigns input data to training, validation, and test sets based on a + provided timestamps. The youngest data pieces are assigned to training + set, next to validation set, and the oldest to the test set. Supported + only for tabular Datasets. type: object properties: - datastore: + trainingFraction: description: >- - Required. Fully-qualified Vertex AI Search data store resource ID. - Format: - `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` + The fraction of the input data that is to be used to train the + Model. + type: number + format: double + validationFraction: + description: >- + The fraction of the input data that is to be used to validate the + Model. + type: number + format: double + testFraction: + description: >- + The fraction of the input data that is to be used to evaluate the + Model. + type: number + format: double + key: + description: >- + Required. The key is a name of one of the Dataset's data columns. + The values of the key (the values in the column) must be in RFC 3339 + `date-time` format, where `time-offset` = `"Z"` (e.g. + 1985-04-12T23:20:50.52Z). If for a piece of data the key is not + present or has an invalid value, that piece is ignored by the + pipeline. type: string - GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata: - description: All metadata of most recent monitoring pipelines. + GoogleCloudAiplatformV1StratifiedSplit: + id: GoogleCloudAiplatformV1StratifiedSplit + description: >- + Assigns input data to the training, validation, and test sets so that + the distribution of values found in the categorical column (as specified + by the `key` field) is mirrored within each split. The fraction values + determine the relative sizes of the splits. For example, if the + specified column has three values, with 50% of the rows having value + "A", 25% value "B", and 25% value "C", and the split fractions are + specified as 80/10/10, then the training set will constitute 80% of the + training data, with about 50% of the training set rows having the value + "A" for the specified column, about 25% having the value "B", and about + 25% having the value "C". Only the top 500 occurring values are used; + any values not in the top 500 values are randomly assigned to a split. + If less than three rows contain a specific value, those rows are + randomly assigned. Supported only for tabular Datasets. + type: object properties: - runTime: + trainingFraction: description: >- - The time that most recent monitoring pipelines that is related to - this run. - format: google-datetime + The fraction of the input data that is to be used to train the + Model. + type: number + format: double + validationFraction: + description: >- + The fraction of the input data that is to be used to validate the + Model. + type: number + format: double + testFraction: + description: >- + The fraction of the input data that is to be used to evaluate the + Model. + type: number + format: double + key: + description: >- + Required. The key is a name of one of the Dataset's data columns. + The key provided must be for a categorical column. type: string - status: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status of the most recent monitoring pipeline. - id: >- - GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata - type: object - GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse: - id: GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse + GoogleCloudAiplatformV1ListTrainingPipelinesResponse: + id: GoogleCloudAiplatformV1ListTrainingPipelinesResponse + description: Response message for PipelineService.ListTrainingPipelines type: object properties: - tensorboardTimeSeries: + trainingPipelines: + description: List of TrainingPipelines in the requested page. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries' - description: The TensorboardTimeSeries mathching the request. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' nextPageToken: - type: string description: >- - A token, which can be sent as - ListTensorboardTimeSeriesRequest.page_token to retrieve the next - page. If this field is omitted, there are no subsequent pages. - description: Response message for TensorboardService.ListTensorboardTimeSeries. - GoogleCloudAiplatformV1ExportDataConfig: + A token to retrieve the next page of results. Pass to + ListTrainingPipelinesRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1CancelTrainingPipelineRequest: + id: GoogleCloudAiplatformV1CancelTrainingPipelineRequest + description: Request message for PipelineService.CancelTrainingPipeline. + type: object + properties: {} + GoogleCloudAiplatformV1PipelineJob: + id: GoogleCloudAiplatformV1PipelineJob + description: An instance of a machine learning PipelineJob. type: object - id: GoogleCloudAiplatformV1ExportDataConfig - description: >- - Describes what part of the Dataset is to be exported, the destination of - the export and how to export. properties: - fractionSplit: - description: Split based on fractions defining the size of each set. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportFractionSplit' - annotationSchemaUri: + name: + description: Output only. The resource name of the PipelineJob. + readOnly: true type: string + displayName: description: >- - The Cloud Storage URI that points to a YAML file describing the - annotation schema. 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 metadata of the Dataset - specified by dataset_id. Only used for custom training data export - use cases. Only applicable to Datasets that have DataItems and - Annotations. Only Annotations that both match this schema and belong - to DataItems not ignored by the split method are used in - respectively training, validation or test role, depending on the - role of the DataItem they are on. When used in conjunction with - annotations_filter, the Annotations used for training are filtered - by both annotations_filter and annotation_schema_uri. - savedQueryId: + The display name of the Pipeline. The name can be up to 128 + characters long and can consist of any UTF-8 characters. + type: string + createTime: + description: Output only. Pipeline creation time. + readOnly: true + type: string + format: google-datetime + startTime: + description: Output only. Pipeline start time. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. Pipeline end time. + readOnly: true + type: string + format: google-datetime + updateTime: + description: >- + Output only. Timestamp when this PipelineJob was most recently + updated. + readOnly: true + type: string + format: google-datetime + pipelineSpec: + description: The spec of the pipeline. + type: object + additionalProperties: + type: any + description: Properties of the object. + state: + description: Output only. The detailed state of the job. + readOnly: true + type: string + enumDescriptions: + - The pipeline state is unspecified. + - >- + The pipeline has been created or resumed, and processing has not + yet begun. + - The service is preparing to run the pipeline. + - The pipeline is in progress. + - The pipeline completed successfully. + - The pipeline failed. + - >- + The pipeline is being cancelled. From this state, the pipeline may + only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED + or PIPELINE_STATE_CANCELLED. + - The pipeline has been cancelled. + - The pipeline has been stopped, and can be resumed. + enum: + - PIPELINE_STATE_UNSPECIFIED + - PIPELINE_STATE_QUEUED + - PIPELINE_STATE_PENDING + - PIPELINE_STATE_RUNNING + - PIPELINE_STATE_SUCCEEDED + - PIPELINE_STATE_FAILED + - PIPELINE_STATE_CANCELLING + - PIPELINE_STATE_CANCELLED + - PIPELINE_STATE_PAUSED + jobDetail: + description: >- + Output only. The details of pipeline run. Not available in the list + view. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJobDetail' + error: + description: >- + Output only. The error that occurred during pipeline execution. Only + populated when the pipeline's state is FAILED or CANCELLED. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + runtimeConfig: + description: Runtime config of the pipeline. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJobRuntimeConfig' + encryptionSpec: + description: >- + Customer-managed encryption key spec for a pipelineJob. If set, this + PipelineJob and all of its sub-resources will be secured by this + key. + $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + serviceAccount: + description: >- + The service account that the pipeline workload runs as. If not + specified, the Compute Engine default service account in the project + will be used. See + https://cloud.google.com/compute/docs/access/service-accounts#default_service_account + Users starting the pipeline must have the + `iam.serviceAccounts.actAs` permission on this service account. type: string + network: + description: >- + 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. + type: string + reservedIpRanges: description: >- - The ID of a SavedQuery (annotation set) under the Dataset specified - by dataset_id used for filtering Annotations for training. Only used - for custom training data export use cases. Only applicable to - Datasets that have SavedQueries. Only Annotations that are - associated with this SavedQuery are used in respectively training. - When used in conjunction with annotations_filter, the Annotations - used for training are filtered by both saved_query_id and - annotations_filter. Only one of saved_query_id and - annotation_schema_uri should be specified as both of them represent - the same thing: problem type. - annotationsFilter: + 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']. + type: array + items: + type: string + templateUri: + description: >- + 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. type: string + templateMetadata: description: >- - An expression for filtering what part of the Dataset is to be - exported. Only Annotations that match this filter will be exported. - The filter syntax is the same as in ListAnnotations. - filterSplit: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportFilterSplit' - description: Split based on the provided filters for each set. - gcsDestination: + Output only. Pipeline template metadata. Will fill up fields if + PipelineJob.template_uri is from supported template registry. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineTemplateMetadata' + scheduleName: description: >- - The Google Cloud Storage location where the output is to be written - to. In the given directory a new directory will be created with - name: `export-data--` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ - ISO-8601 format. All export output will be written into that - directory. Inside that directory, annotations with the same schema - will be grouped into sub directories which are named with the - corresponding annotations' schema title. Inside these sub - directories, a schema.yaml will be created to describe the output - format. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - exportUse: - enum: - - EXPORT_USE_UNSPECIFIED - - CUSTOM_CODE_TRAINING - enumDescriptions: - - Regular user export. - - Export for custom code training. - description: Indicates the usage of the exported files. + Output only. The schedule resource name. Only returned if the + Pipeline is created by Schedule API. + readOnly: true type: string - GoogleCloudAiplatformV1ExportModelRequestOutputConfig: + preflightValidations: + description: >- + Optional. Whether to do component level validations before job + creation. + type: boolean + GoogleCloudAiplatformV1PipelineJobDetail: + id: GoogleCloudAiplatformV1PipelineJobDetail + description: The runtime detail of PipelineJob. type: object properties: - exportFormatId: - description: >- - The ID of the format in which the Model must be exported. Each Model - lists the export formats it supports. If no value is provided here, - then the first from the list of the Model's supported formats is - used by default. + pipelineContext: + description: Output only. The context of the pipeline. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + pipelineRunContext: + description: Output only. The context of the current pipeline run. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + taskDetails: + description: Output only. The runtime details of the tasks under the pipeline. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetail' + GoogleCloudAiplatformV1PipelineTaskDetail: + id: GoogleCloudAiplatformV1PipelineTaskDetail + description: The runtime detail of a task execution. + type: object + properties: + taskId: + description: Output only. The system generated ID of the task. + readOnly: true type: string - imageDestination: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ContainerRegistryDestination + format: int64 + parentTaskId: description: >- - The Google Container Registry or Artifact Registry uri where the - Model container image will be copied to. This field should only be - set when the `exportableContent` field of the - [Model.supported_export_formats] object contains `IMAGE`. - artifactDestination: + Output only. The id of the parent task if the task is within a + component scope. Empty if the task is at the root level. + readOnly: true + type: string + format: int64 + taskName: description: >- - The Cloud Storage location where the Model artifact is to be written - to. Under the directory given as the destination a new one with name - "`model-export--`", where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ - ISO-8601 format, will be created. Inside, the Model and any of its - supporting files will be written. This field should only be set when - the `exportableContent` field of the - [Model.supported_export_formats] object contains `ARTIFACT`. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - description: Output configuration for the Model export. - id: GoogleCloudAiplatformV1ExportModelRequestOutputConfig - GoogleCloudAiplatformV1SearchEntryPoint: - id: GoogleCloudAiplatformV1SearchEntryPoint - description: Google search entry point. - properties: - sdkBlob: - format: byte - description: Optional. Base64 encoded JSON representing array of tuple. + Output only. The user specified name of the task that is defined in + pipeline_spec. + readOnly: true type: string - renderedContent: + createTime: + description: Output only. Task create time. + readOnly: true type: string - description: >- - Optional. Web content snippet that can be embedded in a web page or - an app webview. - type: object - GoogleCloudAiplatformV1IndexPrivateEndpoints: - properties: - matchGrpcAddress: + format: google-datetime + startTime: + description: Output only. Task start time. readOnly: true type: string - description: Output only. The ip address used to send match gRPC requests. - pscAutomatedEndpoints: - type: array + format: google-datetime + endTime: + description: Output only. Task end time. + readOnly: true + type: string + format: google-datetime + executorDetail: + description: Output only. The detailed execution info. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineTaskExecutorDetail + state: + description: Output only. State of the task. readOnly: true - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PscAutomatedEndpoints' - description: >- - Output only. PscAutomatedEndpoints is populated if private service - connect is enabled if PscAutomatedConfig is set. - serviceAttachment: type: string + enumDescriptions: + - Unspecified. + - Specifies pending state for the task. + - Specifies task is being executed. + - Specifies task completed successfully. + - Specifies Task cancel is in pending state. + - Specifies task is being cancelled. + - Specifies task was cancelled. + - Specifies task failed. + - Specifies task was skipped due to cache hit. + - >- + Specifies that the task was not triggered because the task's + trigger policy is not satisfied. The trigger policy is specified + in the `condition` field of PipelineJob.pipeline_spec. + enum: + - STATE_UNSPECIFIED + - PENDING + - RUNNING + - SUCCEEDED + - CANCEL_PENDING + - CANCELLING + - CANCELLED + - FAILED + - SKIPPED + - NOT_TRIGGERED + execution: + description: Output only. The execution metadata of the task. readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + error: description: >- - Output only. The name of the service attachment resource. Populated - if private service connect is enabled. + Output only. The error that occurred during task execution. Only + populated when the task's state is FAILED or CANCELLED. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + pipelineTaskStatus: + description: >- + Output only. A list of task status. This field keeps a record of + task status evolving over time. + readOnly: true + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus + inputs: + description: Output only. The runtime input artifacts of the task. + readOnly: true + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetailArtifactList + outputs: + description: Output only. The runtime output artifacts of the task. + readOnly: true + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineTaskDetailArtifactList + GoogleCloudAiplatformV1PipelineTaskExecutorDetail: + id: GoogleCloudAiplatformV1PipelineTaskExecutorDetail + description: The runtime detail of a pipeline executor. type: object - id: GoogleCloudAiplatformV1IndexPrivateEndpoints + properties: + containerDetail: + description: Output only. The detailed info for a container executor. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail + customJobDetail: + description: Output only. The detailed info for a custom job executor. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail + GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail: + id: GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail description: >- - IndexPrivateEndpoints proto is used to provide paths for users to send - requests via private endpoints (e.g. private service access, private - service connect). To send request via private service access, use - match_grpc_address. To send request via private service connect, use - service_attachment. - GoogleCloudAiplatformV1VertexRagStore: + The detail of a container execution. It contains the job names of the + lifecycle of a container execution. type: object properties: - similarityTopK: - type: integer - format: int32 + mainJob: description: >- - Optional. Number of top k results to return from the selected - corpora. - ragResources: + Output only. The name of the CustomJob for the main container + execution. + readOnly: true + type: string + preCachingCheckJob: description: >- - Optional. The representation of the rag source. It can be used to - specify corpus only or ragfiles. Currently only support one corpus - or multiple files from one corpus. In the future we may open up - multiple corpora support. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1VertexRagStoreRagResource - type: array - vectorDistanceThreshold: - type: number + Output only. The name of the CustomJob for the pre-caching-check + container execution. This job will be available if the + PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in + the lifecycle events. + readOnly: true + type: string + failedMainJobs: description: >- - Optional. Only return results with vector distance smaller than the - threshold. - format: double - ragCorpora: - deprecated: true - description: Optional. Deprecated. Please use rag_resources instead. + Output only. The names of the previously failed CustomJob for the + main container executions. The list includes the all attempts in + chronological order. + readOnly: true + type: array items: type: string + failedPreCachingCheckJobs: + description: >- + Output only. The names of the previously failed CustomJob for the + pre-caching-check container executions. This job will be available + if the PipelineJob.pipeline_spec specifies the `pre_caching_check` + hook in the lifecycle events. The list includes the all attempts in + chronological order. + readOnly: true type: array - id: GoogleCloudAiplatformV1VertexRagStore - description: Retrieve from Vertex RAG Store for grounding. - GoogleCloudAiplatformV1FunctionCallingConfig: + items: + type: string + GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail: + id: GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail + description: The detailed info for a custom job executor. type: object - description: Function calling config. properties: - allowedFunctionNames: + job: + description: Output only. The name of the CustomJob. + readOnly: true + type: string + failedJobs: description: >- - Optional. Function names to call. Only set when the Mode is ANY. - Function names should match [FunctionDeclaration.name]. With mode - set to ANY, model will predict a function call from the set of - function names provided. + Output only. The names of the previously failed CustomJob. The list + includes the all attempts in chronological order. + readOnly: true type: array items: type: string - mode: - enum: - - MODE_UNSPECIFIED - - AUTO - - ANY - - NONE + GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus: + id: GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus + description: A single record of the task status. + type: object + properties: + updateTime: + description: Output only. Update time of this status. + readOnly: true + type: string + format: google-datetime + state: + description: Output only. The state of the task. + readOnly: true type: string - description: Optional. Function calling mode. enumDescriptions: - - Unspecified function calling mode. This value should not be used. - - >- - Default model behavior, model decides to predict either function - calls or natural language response. - - >- - Model is constrained to always predicting function calls only. If - "allowed_function_names" are set, the predicted function calls - will be limited to any one of "allowed_function_names", else the - predicted function calls will be any one of the provided - "function_declarations". + - Unspecified. + - Specifies pending state for the task. + - Specifies task is being executed. + - Specifies task completed successfully. + - Specifies Task cancel is in pending state. + - Specifies task is being cancelled. + - Specifies task was cancelled. + - Specifies task failed. + - Specifies task was skipped due to cache hit. - >- - Model will not predict any function calls. Model behavior is same - as when not passing any function declarations. - id: GoogleCloudAiplatformV1FunctionCallingConfig - GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective: + Specifies that the task was not triggered because the task's + trigger policy is not satisfied. The trigger policy is specified + in the `condition` field of PipelineJob.pipeline_spec. + enum: + - STATE_UNSPECIFIED + - PENDING + - RUNNING + - SUCCEEDED + - CANCEL_PENDING + - CANCELLING + - CANCELLED + - FAILED + - SKIPPED + - NOT_TRIGGERED + error: + description: >- + Output only. The error that occurred during the state. May be set + when the state is any of the non-final state + (PENDING/RUNNING/CANCELLING) or FAILED state. If the state is + FAILED, the error here is final and not going to be retried. If the + state is a non-final state, the error indicates a system-error being + retried. + readOnly: true + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudAiplatformV1PipelineTaskDetailArtifactList: + id: GoogleCloudAiplatformV1PipelineTaskDetailArtifactList + description: A list of artifact metadata. type: object - id: >- - GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective - description: Stats requested for specific objective. properties: - topFeatureCount: + artifacts: + description: Output only. A list of artifact metadata. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + GoogleCloudAiplatformV1PipelineJobRuntimeConfig: + id: GoogleCloudAiplatformV1PipelineJobRuntimeConfig + description: The runtime config of a PipelineJob. + type: object + properties: + parameters: description: >- - If set, all attribution scores between - SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and - SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time are - fetched, and page token doesn't take effect in this case. Only used - to retrieve attribution score for the top Features which has the - highest attribution score in the latest monitoring run. - format: int32 - type: integer - type: + Deprecated. Use RuntimeConfig.parameter_values instead. The runtime + parameters of the PipelineJob. The parameters will be passed into + PipelineJob.pipeline_spec to replace the placeholders at runtime. + This field is used by pipelines built using + `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as + pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + deprecated: true + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Value' + gcsOutputDirectory: + description: >- + Required. A path in a Cloud Storage bucket, which will be treated as + the root output directory of the pipeline. It is used by the system + to generate the paths of output artifacts. The artifact paths are + generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` + under the specified output directory. The service account specified + in this pipeline must have the `storage.objects.get` and + `storage.objects.create` permissions for this bucket. + type: string + parameterValues: + description: >- + The runtime parameters of the PipelineJob. The parameters will be + passed into PipelineJob.pipeline_spec to replace the placeholders at + runtime. This field is used by pipelines built using + `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines + built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. + type: object + additionalProperties: + type: any + failurePolicy: + description: >- + Represents the failure policy of a pipeline. Currently, the default + of a pipeline is that the pipeline will continue to run until no + more tasks can be executed, also known as + PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to + PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new + tasks when a task has failed. Any scheduled tasks will continue to + completion. + type: string enumDescriptions: - - Default value, should not be set. - - >- - Raw feature values' stats to detect skew between - Training-Prediction datasets. - - >- - Raw feature values' stats to detect drift between - Serving-Prediction datasets. + - Default value, and follows fail slow behavior. - >- - Feature attribution scores to detect skew between - Training-Prediction datasets. + Indicates that the pipeline should continue to run until all + possible tasks have been scheduled and completed. - >- - Feature attribution scores to detect skew between Prediction - datasets collected within different time windows. - type: string + Indicates that the pipeline should stop scheduling new tasks after + a task has failed. enum: - - MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED - - RAW_FEATURE_SKEW - - RAW_FEATURE_DRIFT - - FEATURE_ATTRIBUTION_SKEW - - FEATURE_ATTRIBUTION_DRIFT - GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef: - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef - properties: - id: - description: ID of the AnnotationSpec. - type: string - displayName: - type: string - description: Display name of the AnnotationSpec. - type: object - GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata: - id: GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata - description: >- - Metadata information about the deployment for managing deployment - config. - type: object - properties: - sampleRequest: - description: Optional. Sample request for deployed endpoint. - type: string - labels: + - PIPELINE_FAILURE_POLICY_UNSPECIFIED + - PIPELINE_FAILURE_POLICY_FAIL_SLOW + - PIPELINE_FAILURE_POLICY_FAIL_FAST + inputArtifacts: description: >- - Optional. Labels for the deployment. For managing deployment config - like verifying, source of deployment config, etc. + The runtime artifacts of the PipelineJob. The key will be the input + artifact name and the value would be one of the InputArtifact. type: object additionalProperties: - type: string - GoogleCloudAiplatformV1ListTensorboardsResponse: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact + GoogleCloudAiplatformV1Value: + id: GoogleCloudAiplatformV1Value + description: Value is the value of the field. + type: object properties: - tensorboards: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' - type: array - description: The Tensorboards mathching the request. - nextPageToken: + intValue: + description: An integer value. type: string - description: >- - A token, which can be sent as ListTensorboardsRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. - description: Response message for TensorboardService.ListTensorboards. + format: int64 + doubleValue: + description: A double value. + type: number + format: double + stringValue: + description: A string value. + type: string + GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact: + id: GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact + description: The type of an input artifact. type: object - id: GoogleCloudAiplatformV1ListTensorboardsResponse - GoogleCloudAiplatformV1UndeployIndexRequest: - description: Request message for IndexEndpointService.UndeployIndex. properties: - deployedIndexId: + artifactId: description: >- - Required. The ID of the DeployedIndex to be undeployed from the - IndexEndpoint. + Artifact resource id from MLMD. Which is the last portion of an + artifact resource name: + `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. + The artifact must stay within the same project, location and default + metadatastore as the pipeline. type: string + GoogleCloudAiplatformV1PipelineTemplateMetadata: + id: GoogleCloudAiplatformV1PipelineTemplateMetadata + description: >- + Pipeline template metadata if PipelineJob.template_uri is from supported + template registry. Currently, the only supported registry is Artifact + Registry. type: object - id: GoogleCloudAiplatformV1UndeployIndexRequest - GoogleCloudAiplatformV1GenericOperationMetadata: - description: Generic Metadata shared by all operations. - id: GoogleCloudAiplatformV1GenericOperationMetadata properties: - updateTime: - format: google-datetime + version: description: >- - Output only. Time when the operation was updated for the last time. - If the operation has finished (successfully or not), this is the - finish time. - type: string - readOnly: true - createTime: - readOnly: true + The version_name in artifact registry. Will always be presented in + output if the PipelineJob.template_uri is from supported template + registry. Format is "sha256:abcdef123456...". type: string - format: google-datetime - description: Output only. Time when the operation was created. - partialFailures: - readOnly: true - items: - $ref: '#/components/schemas/GoogleRpcStatus' - type: array - description: >- - Output only. Partial failures encountered. E.g. single files that - couldn't be read. This field should never exceed 20 entries. Status - details field will contain standard Google Cloud error details. + GoogleCloudAiplatformV1ListPipelineJobsResponse: + id: GoogleCloudAiplatformV1ListPipelineJobsResponse + description: Response message for PipelineService.ListPipelineJobs type: object - GoogleCloudAiplatformV1ListDataItemsResponse: properties: + pipelineJobs: + description: List of PipelineJobs in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' nextPageToken: + description: >- + A token to retrieve the next page of results. Pass to + ListPipelineJobsRequest.page_token to obtain that page. type: string - description: The standard List next-page token. - dataItems: + GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest: + id: GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest + description: Request message for PipelineService.BatchDeletePipelineJobs. + type: object + properties: + names: + description: >- + Required. The names of the PipelineJobs to delete. A maximum of 32 + PipelineJobs can be deleted in a batch. Format: + `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataItem' - description: >- - A list of DataItems that matches the specified filter in the - request. + type: string + GoogleCloudAiplatformV1CancelPipelineJobRequest: + id: GoogleCloudAiplatformV1CancelPipelineJobRequest + description: Request message for PipelineService.CancelPipelineJob. type: object - description: Response message for DatasetService.ListDataItems. - id: GoogleCloudAiplatformV1ListDataItemsResponse - GoogleCloudAiplatformV1Tool: - id: GoogleCloudAiplatformV1Tool + properties: {} + GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest: + id: GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest + description: Request message for PipelineService.BatchCancelPipelineJobs. type: object - description: >- - Tool details that the model may use to generate response. A `Tool` is a - piece of code that enables the system to interact with external systems - to perform an action, or set of actions, outside of knowledge and scope - of the model. A Tool object should contain exactly one type of Tool (e.g - FunctionDeclaration, Retrieval or GoogleSearchRetrieval). properties: - retrieval: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Retrieval' + names: description: >- - Optional. Retrieval tool type. System will always execute the - provided retrieval tool(s) to get external knowledge to answer the - prompt. Retrieval results are presented to the model for generation. - functionDeclarations: + Required. The names of the PipelineJobs to cancel. A maximum of 32 + PipelineJobs can be cancelled in a batch. Format: + `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionDeclaration' - description: >- - Optional. Function tool type. One or more function declarations to - be passed to the model along with the current user query. Model may - decide to call a subset of these functions by populating - FunctionCall in the response. User should provide a FunctionResponse - for each function call in the next turn. Based on the function - responses, Model will generate the final response back to the user. - Maximum 64 function declarations can be provided. - googleSearchRetrieval: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GoogleSearchRetrieval' - description: >- - Optional. GoogleSearchRetrieval tool type. Specialized retrieval - tool that is powered by Google search. - GoogleCloudAiplatformV1SummarizationHelpfulnessSpec: + type: string + GoogleCloudAiplatformV1Schedule: + id: GoogleCloudAiplatformV1Schedule + description: >- + An instance of a Schedule periodically schedules runs to make API calls + based on user specified time specification and API request type. type: object - description: Spec for summarization helpfulness score metric. - id: GoogleCloudAiplatformV1SummarizationHelpfulnessSpec properties: - version: - description: Optional. Which version to use for evaluation. - type: integer - format: int32 - useReference: - type: boolean + cron: description: >- - Optional. Whether to use instance.reference to compute summarization - helpfulness. - GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance: - description: Prediction input format for Video Object Tracking. - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance - properties: - timeSegmentStart: + 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 * * + * *". type: string + createPipelineJobRequest: description: >- - The beginning, inclusive, of the video's time segment on which to - perform the prediction. Expressed as a number of seconds as measured - from the start of the video, with "s" appended at the end. Fractions - are allowed, up to a microsecond precision. - mimeType: + Request for PipelineService.CreatePipelineJob. + CreatePipelineJobRequest.parent field is required (format: + projects/{project}/locations/{location}). + $ref: '#/components/schemas/GoogleCloudAiplatformV1CreatePipelineJobRequest' + createNotebookExecutionJobRequest: + description: Request for NotebookService.CreateNotebookExecutionJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest + name: + description: Immutable. The resource name of the Schedule. type: string + displayName: description: >- - The MIME type of the content of the video. Only the following are - supported: video/mp4 video/avi video/quicktime - timeSegmentEnd: - description: >- - The end, exclusive, of the video's time segment on which to perform - the prediction. Expressed as a number of seconds as measured from - the start of the video, with "s" appended at the end. Fractions are - allowed, up to a microsecond precision, and "inf" or "Infinity" is - allowed, which means the end of the video. + Required. User provided name of the Schedule. The name can be up to + 128 characters long and can consist of any UTF-8 characters. type: string - content: + startTime: + description: >- + Optional. Timestamp after which the first run can be scheduled. + Default to Schedule create time if not specified. type: string + format: google-datetime + endTime: description: >- - The Google Cloud Storage location of the video on which to perform - the prediction. - type: object - GoogleCloudAiplatformV1Tensorboard: - properties: - blobStoragePathPrefix: + 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. type: string + format: google-datetime + maxRunCount: description: >- - 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 '/'. - readOnly: true - runCount: - format: int32 - description: Output only. The number of Runs stored in this Tensorboard. + 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. + type: string + format: int64 + startedRunCount: + description: Output only. The number of runs started by this schedule. readOnly: true - type: integer - satisfiesPzi: - type: boolean + type: string + format: int64 + state: + description: Output only. The state of this Schedule. readOnly: true - description: Output only. Reserved for future use. - name: type: string - description: >- - Output only. Name of the Tensorboard. Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + enumDescriptions: + - Unspecified. + - >- + The Schedule is active. Runs are being scheduled on the + user-specified timespec. + - >- + The schedule is paused. No new runs will be created until the + schedule is resumed. Already started runs will be allowed to + complete. + - >- + The Schedule is completed. No new runs will be scheduled. Already + started runs will be allowed to complete. Schedules in completed + state cannot be paused or resumed. + enum: + - STATE_UNSPECIFIED + - ACTIVE + - PAUSED + - COMPLETED + createTime: + description: Output only. Timestamp when this Schedule was created. readOnly: true - etag: - description: >- - Used to perform a consistent read-modify-write updates. If not set, - a blind "overwrite" update happens. type: string + format: google-datetime updateTime: - description: Output only. Timestamp when this Tensorboard was last updated. + description: Output only. Timestamp when this Schedule was updated. + readOnly: true type: string format: google-datetime + nextRunTime: + description: >- + 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. readOnly: true - satisfiesPzs: - description: Output only. Reserved for future use. - readOnly: true - type: boolean - displayName: type: string - description: Required. User provided name of this Tensorboard. - labels: + format: google-datetime + lastPauseTime: description: >- - 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. - additionalProperties: - type: string - type: object - description: - description: Description of this Tensorboard. + Output only. Timestamp when this Schedule was last paused. Unset if + never paused. + readOnly: true type: string - createTime: format: google-datetime + lastResumeTime: + description: >- + Output only. Timestamp when this Schedule was last resumed. Unset if + never resumed from pause. readOnly: true type: string - description: Output only. Timestamp when this Tensorboard was created. - isDefault: + format: google-datetime + maxConcurrentRunCount: + description: >- + 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). + type: string + format: int64 + allowQueueing: + description: >- + 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. type: boolean + catchUp: description: >- - 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. - encryptionSpec: + 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. + readOnly: true + type: boolean + lastScheduledRunResponse: description: >- - Customer-managed encryption key spec for a Tensorboard. If set, this - Tensorboard and all sub-resources of this Tensorboard will be - secured by this key. - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + Output only. Response of the last scheduled run. This is the + response for starting the scheduled requests and not the execution + of the operations/jobs created by the requests (if applicable). + Unset if no run has been scheduled yet. + readOnly: true + $ref: '#/components/schemas/GoogleCloudAiplatformV1ScheduleRunResponse' + GoogleCloudAiplatformV1CreatePipelineJobRequest: + id: GoogleCloudAiplatformV1CreatePipelineJobRequest + description: Request message for PipelineService.CreatePipelineJob. type: object - id: GoogleCloudAiplatformV1Tensorboard - description: >- - Tensorboard is a physical database that stores users' training metrics. - A default Tensorboard is provided in each region of a Google Cloud - project. If needed users can also create extra Tensorboards in their - projects. - GoogleCloudAiplatformV1FunctionDeclaration: properties: - parameters: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' - description: >- - Optional. Describes the parameters to this function in JSON Schema - Object format. Reflects the Open API 3.03 Parameter Object. string - Key: the name of the parameter. Parameter names are case sensitive. - Schema Value: the Schema defining the type used for the parameter. - For function with no parameters, this can be left unset. Parameter - names must start with a letter or an underscore and must only - contain chars a-z, A-Z, 0-9, or underscores with a maximum length of - 64. Example with 1 required and 1 optional parameter: type: OBJECT - properties: param1: type: STRING param2: type: INTEGER required: - - param1 - name: + parent: description: >- - Required. The name of the function to call. Must start with a letter - or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, - dots and dashes, with a maximum length of 64. + Required. The resource name of the Location to create the + PipelineJob in. Format: `projects/{project}/locations/{location}` type: string - description: + pipelineJob: + description: Required. The PipelineJob to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' + pipelineJobId: + description: >- + The ID to use for the PipelineJob, which will become the final + component of the PipelineJob name. If not provided, an ID will be + automatically generated. This value should be less than 128 + characters, and valid characters are `/a-z-/`. type: string + GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest: + id: GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest + description: Request message for [NotebookService.CreateNotebookExecutionJob] + type: object + properties: + parent: description: >- - Optional. Description and purpose of the function. Model uses it to - decide how and whether to call the function. - response: + Required. The resource name of the Location to create the + NotebookExecutionJob. Format: + `projects/{project}/locations/{location}` + type: string + notebookExecutionJob: + description: Required. The NotebookExecutionJob to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob' + notebookExecutionJobId: + description: Optional. User specified ID for the NotebookExecutionJob. + type: string + GoogleCloudAiplatformV1ScheduleRunResponse: + id: GoogleCloudAiplatformV1ScheduleRunResponse + description: Status of a scheduled run. + type: object + properties: + scheduledRunTime: + description: The scheduled run time based on the user-specified schedule. + type: string + format: google-datetime + runResponse: + description: The response of the scheduled run. + type: string + GoogleCloudAiplatformV1ListSchedulesResponse: + id: GoogleCloudAiplatformV1ListSchedulesResponse + description: Response message for ScheduleService.ListSchedules + type: object + properties: + schedules: + description: List of Schedules in the requested page. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + nextPageToken: description: >- - Optional. Describes the output from this function in JSON Schema - format. Reflects the Open API 3.03 Response Object. The Schema - defines the type used for the response value of the function. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + A token to retrieve the next page of results. Pass to + ListSchedulesRequest.page_token to obtain that page. + type: string + GoogleCloudAiplatformV1PauseScheduleRequest: + id: GoogleCloudAiplatformV1PauseScheduleRequest + description: Request message for ScheduleService.PauseSchedule. type: object - id: GoogleCloudAiplatformV1FunctionDeclaration + properties: {} + GoogleCloudAiplatformV1ResumeScheduleRequest: + id: GoogleCloudAiplatformV1ResumeScheduleRequest + description: Request message for ScheduleService.ResumeSchedule. + type: object + properties: + catchUp: + description: >- + Optional. 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. This will also update Schedule.catch_up field. Default to + false. + type: boolean + GoogleCloudAiplatformV1SpecialistPool: + id: GoogleCloudAiplatformV1SpecialistPool description: >- - Structured representation of a function declaration as defined by the - [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). - Included in this declaration are the function name and parameters. This - FunctionDeclaration is a representation of a block of code that can be - used as a `Tool` by the model and executed by the client. - GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse: + SpecialistPool represents customers' own workforce to work on their data + labeling jobs. It includes a group of specialist managers and workers. + Managers are responsible for managing the workers in this pool as well + as customers' data labeling jobs associated with this pool. Customers + create specialist pool as well as start data labeling jobs on Cloud, + managers and workers handle the jobs using CrowdCompute console. + type: object properties: - importedModelEvaluationSlices: + name: + description: Required. The resource name of the SpecialistPool. + type: string + displayName: + description: >- + Required. The user-defined name of the SpecialistPool. The name can + be up to 128 characters long and can consist of any UTF-8 + characters. This field should be unique on project-level. + type: string + specialistManagersCount: + description: Output only. The number of managers in this SpecialistPool. + readOnly: true + type: integer + format: int32 + specialistManagerEmails: + description: The email addresses of the managers in the SpecialistPool. + type: array + items: + type: string + pendingDataLabelingJobs: + description: Output only. The resource name of the pending data labeling jobs. + readOnly: true + type: array + items: + type: string + specialistWorkerEmails: + description: The email addresses of workers in the SpecialistPool. + type: array + items: + type: string + GoogleCloudAiplatformV1ListSpecialistPoolsResponse: + id: GoogleCloudAiplatformV1ListSpecialistPoolsResponse + description: Response message for SpecialistPoolService.ListSpecialistPools. + type: object + properties: + specialistPools: + description: >- + A list of SpecialistPools that matches the specified filter in the + request. type: array items: - type: string - description: Output only. List of imported ModelEvaluationSlice.name. - readOnly: true - id: GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse - type: object - description: Response message for ModelService.BatchImportModelEvaluationSlices - GoogleCloudAiplatformV1IndexEndpoint: - id: GoogleCloudAiplatformV1IndexEndpoint + $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' + nextPageToken: + description: The standard List next-page token. + type: string + GoogleCloudAiplatformV1Tensorboard: + id: GoogleCloudAiplatformV1Tensorboard + description: >- + Tensorboard is a physical database that stores users' training metrics. + A default Tensorboard is provided in each region of a Google Cloud + project. If needed users can also create extra Tensorboards in their + projects. type: object properties: - satisfiesPzi: - description: Output only. Reserved for future use. + name: + description: >- + Output only. Name of the Tensorboard. Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}` readOnly: true - type: boolean + type: string + displayName: + description: Required. User provided name of this Tensorboard. + type: string + description: + description: Description of this Tensorboard. + type: string encryptionSpec: description: >- - Immutable. Customer-managed encryption key spec for an - IndexEndpoint. If set, this IndexEndpoint and all sub-resources of - this IndexEndpoint will be secured by this key. + Customer-managed encryption key spec for a Tensorboard. If set, this + Tensorboard and all sub-resources of this Tensorboard will be + secured by this key. $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - publicEndpointEnabled: + blobStoragePathPrefix: description: >- - Optional. If true, the deployed index will be accessible through - public endpoint. - type: boolean - updateTime: - format: google-datetime + 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 '/'. + readOnly: true type: string + runCount: + description: Output only. The number of Runs stored in this Tensorboard. readOnly: true - description: >- - 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. + type: integer + format: int32 createTime: - description: Output only. Timestamp when this IndexEndpoint was created. + description: Output only. Timestamp when this Tensorboard was created. readOnly: true - format: google-datetime type: string - network: - description: >- - 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. + format: google-datetime + updateTime: + description: Output only. Timestamp when this Tensorboard was last updated. + readOnly: true type: string - privateServiceConnectConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PrivateServiceConnectConfig - description: >- - Optional. Configuration for private service connect. network and - private_service_connect_config are mutually exclusive. + format: google-datetime labels: + description: >- + 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. + type: object additionalProperties: type: string - type: object + etag: description: >- - 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. + Used to perform a consistent read-modify-write updates. If not set, + a blind "overwrite" update happens. + type: string + isDefault: + description: >- + 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. + type: boolean satisfiesPzs: description: Output only. Reserved for future use. + readOnly: true type: boolean + satisfiesPzi: + description: Output only. Reserved for future use. readOnly: true - displayName: + type: boolean + GoogleCloudAiplatformV1ListTensorboardsResponse: + id: GoogleCloudAiplatformV1ListTensorboardsResponse + description: Response message for TensorboardService.ListTensorboards. + type: object + properties: + tensorboards: + description: The Tensorboards mathching the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' + nextPageToken: description: >- - Required. The display name of the IndexEndpoint. The name can be up - to 128 characters long and can consist of any UTF-8 characters. + A token, which can be sent as ListTensorboardsRequest.page_token to + retrieve the next page. If this field is omitted, there are no + subsequent pages. type: string - description: + GoogleCloudAiplatformV1ReadTensorboardUsageResponse: + id: GoogleCloudAiplatformV1ReadTensorboardUsageResponse + description: Response message for TensorboardService.ReadTensorboardUsage. + type: object + properties: + monthlyUsageData: + description: Maps year-month (YYYYMM) string to per month usage data. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData + GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData: + id: GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData + description: Per month usage data + type: object + properties: + userUsageData: + description: Usage data for each user in the given month. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData + GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData: + id: GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData + description: Per user usage data. + type: object + properties: + username: + description: User's username type: string - description: The description of the IndexEndpoint. + viewCount: + description: Number of times the user has read data within the Tensorboard. + type: string + format: int64 + GoogleCloudAiplatformV1ReadTensorboardSizeResponse: + id: GoogleCloudAiplatformV1ReadTensorboardSizeResponse + description: Response message for TensorboardService.ReadTensorboardSize. + type: object + properties: + storageSizeByte: + description: Payload storage size for the TensorBoard + type: string + format: int64 + GoogleCloudAiplatformV1TensorboardExperiment: + id: GoogleCloudAiplatformV1TensorboardExperiment + description: >- + A TensorboardExperiment is a group of TensorboardRuns, that are + typically the results of a training job run, in a Tensorboard. + type: object + properties: name: - description: Output only. The resource name of the IndexEndpoint. + description: >- + Output only. Name of the TensorboardExperiment. Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` readOnly: true type: string - publicEndpointDomainName: - description: >- - Output only. If public_endpoint_enabled is true, this field will be - populated with the domain name to use for this index endpoint. + displayName: + description: User provided name of this TensorboardExperiment. + type: string + description: + description: Description of this TensorboardExperiment. type: string + createTime: + description: Output only. Timestamp when this TensorboardExperiment was created. readOnly: true - etag: type: string + format: google-datetime + updateTime: description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. - deployedIndexes: - description: Output only. The indexes deployed in this endpoint. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' - type: array + Output only. Timestamp when this TensorboardExperiment was last + updated. readOnly: true - enablePrivateServiceConnect: - deprecated: true - description: >- - Optional. Deprecated: If true, expose the IndexEndpoint via private - service connect. Only one of the fields, network or - enable_private_service_connect, can be set. - type: boolean - description: >- - Indexes are deployed into it. An IndexEndpoint can have multiple - DeployedIndexes. - GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata: - id: GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata - properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Runtime operation information for CreateDeploymentResourcePool method. - type: object - GoogleCloudAiplatformV1NearestNeighborsNeighbor: - type: object - description: A neighbor of the query vector. - id: GoogleCloudAiplatformV1NearestNeighborsNeighbor - properties: - entityKeyValues: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponse - description: >- - The attributes of the neighbor, e.g. filters, crowding and metadata - Note that full entities are returned only when "return_full_entity" - is set to true. Otherwise, only the "entity_id" and "distance" - fields are populated. - distance: - format: double - description: The distance between the neighbor and the query vector. - type: number - entityId: - description: The id of the similar entity. type: string - GoogleCloudAiplatformV1AddExecutionEventsResponse: - description: Response message for MetadataService.AddExecutionEvents. - id: GoogleCloudAiplatformV1AddExecutionEventsResponse - type: object - properties: {} - GoogleCloudAiplatformV1FeatureValueMetadata: - type: object - id: GoogleCloudAiplatformV1FeatureValueMetadata - description: Metadata of feature value. - properties: - generateTime: format: google-datetime + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + etag: + description: >- + Used to perform consistent read-modify-write updates. If not set, a + blind "overwrite" update happens. type: string + source: description: >- - Feature generation timestamp. Typically, it is provided by user at - feature ingestion time. If not, feature store will use the system - timestamp when the data is ingested into feature store. For - streaming ingestion, the time, aligned by days, must be no older - than five years (1825 days) and no later than one year (366 days) in - the future. - GoogleCloudAiplatformV1DeployedModelRef: + Immutable. Source of the TensorboardExperiment. Example: a custom + training job. + type: string + GoogleCloudAiplatformV1ListTensorboardExperimentsResponse: + id: GoogleCloudAiplatformV1ListTensorboardExperimentsResponse + description: Response message for TensorboardService.ListTensorboardExperiments. type: object properties: - endpoint: - type: string - description: Immutable. A resource name of an Endpoint. - deployedModelId: - description: Immutable. An ID of a DeployedModel in the above Endpoint. + tensorboardExperiments: + description: The TensorboardExperiments mathching the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment' + nextPageToken: + description: >- + A token, which can be sent as + ListTensorboardExperimentsRequest.page_token to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - description: Points to a DeployedModel. - id: GoogleCloudAiplatformV1DeployedModelRef - GoogleCloudAiplatformV1CoherenceSpec: - properties: - version: - description: Optional. Which version to use for evaluation. - format: int32 - type: integer - type: object - description: Spec for coherence score metric. - id: GoogleCloudAiplatformV1CoherenceSpec - GoogleProtobufEmpty: - type: object - id: GoogleProtobufEmpty - properties: {} + GoogleCloudAiplatformV1TensorboardRun: + id: GoogleCloudAiplatformV1TensorboardRun description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - GoogleCloudAiplatformV1SchemaTextSegment: + TensorboardRun maps to a specific execution of a training job with a + given set of hyperparameter values, model definition, dataset, etc type: object - id: GoogleCloudAiplatformV1SchemaTextSegment - description: The text segment inside of DataItem. properties: - startOffset: + name: description: >- - Zero-based character index of the first character of the text - segment (counting characters from the beginning of the text). - type: string - format: uint64 - content: + Output only. Name of the TensorboardRun. Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + readOnly: true type: string - description: The text content in the segment for output only. - endOffset: + displayName: description: >- - Zero-based character index of the first character past the end of - the text segment (counting character from the beginning of the - text). The character at the end_offset is NOT included in the text - segment. - format: uint64 + Required. User provided name of this TensorboardRun. This value must + be unique among all TensorboardRuns belonging to the same parent + TensorboardExperiment. type: string - GoogleCloudAiplatformV1PublisherModel: - id: GoogleCloudAiplatformV1PublisherModel - properties: - publisherModelTemplate: - description: >- - Optional. Output only. Immutable. Used to indicate this model has a - publisher model and provide the template of the publisher model - resource name. + description: + description: Description of this TensorboardRun. type: string + createTime: + description: Output only. Timestamp when this TensorboardRun was created. readOnly: true - launchStage: - description: Optional. Indicates the launch stage of the model. - enum: - - LAUNCH_STAGE_UNSPECIFIED - - EXPERIMENTAL - - PRIVATE_PREVIEW - - PUBLIC_PREVIEW - - GA type: string - enumDescriptions: - - The model launch stage is unspecified. - - >- - Used to indicate the PublisherModel is at Experimental launch - stage, available to a small set of customers. - - >- - Used to indicate the PublisherModel is at Private Preview launch - stage, only available to a small set of customers, although a - larger set of customers than an Experimental launch. Previews are - the first launch stage used to get feedback from customers. - - >- - Used to indicate the PublisherModel is at Public Preview launch - stage, available to all customers, although not supported for - production workloads. - - >- - Used to indicate the PublisherModel is at GA launch stage, - available to all customers and ready for production workload. - versionState: - description: Optional. Indicates the state of the model version. - enum: - - VERSION_STATE_UNSPECIFIED - - VERSION_STATE_STABLE - - VERSION_STATE_UNSTABLE + format: google-datetime + updateTime: + description: Output only. Timestamp when this TensorboardRun was last updated. + readOnly: true type: string - enumDescriptions: - - The version state is unspecified. - - Used to indicate the version is stable. - - Used to indicate the version is unstable. - name: + format: google-datetime + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + etag: + description: >- + Used to perform a consistent read-modify-write updates. If not set, + a blind "overwrite" update happens. type: string - readOnly: true - description: Output only. The resource name of the PublisherModel. - supportedActions: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToAction - description: Optional. Supported call-to-action options. - predictSchemata: + GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest: + id: GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest + description: Request message for TensorboardService.BatchCreateTensorboardRuns. + type: object + properties: + requests: description: >- - Optional. The schemata that describes formats of the - PublisherModel's predictions and explanations as given and returned - via PredictionService.Predict. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictSchemata' - frameworks: + Required. The request message specifying the TensorboardRuns to + create. A maximum of 1000 TensorboardRuns can be created in a batch. type: array items: - type: string - description: Optional. Additional information about the model's Frameworks. - openSourceCategory: - enum: - - OPEN_SOURCE_CATEGORY_UNSPECIFIED - - PROPRIETARY - - GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT - - THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT - - GOOGLE_OWNED_OSS - - THIRD_PARTY_OWNED_OSS - enumDescriptions: - - The open source category is unspecified, which should not be used. - - Used to indicate the PublisherModel is not open sourced. - - >- - Used to indicate the PublisherModel is a Google-owned open source - model w/ Google checkpoint. - - >- - Used to indicate the PublisherModel is a 3p-owned open source - model w/ Google checkpoint. - - >- - Used to indicate the PublisherModel is a Google-owned pure open - source model. - - >- - Used to indicate the PublisherModel is a 3p-owned pure open source - model. - description: Required. Indicates the open source category of the publisher model. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CreateTensorboardRunRequest + GoogleCloudAiplatformV1CreateTensorboardRunRequest: + id: GoogleCloudAiplatformV1CreateTensorboardRunRequest + description: Request message for TensorboardService.CreateTensorboardRun. + type: object + properties: + parent: + description: >- + Required. The resource name of the TensorboardExperiment to create + the TensorboardRun in. Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` type: string - versionId: + tensorboardRun: + description: Required. The TensorboardRun to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + tensorboardRunId: description: >- - Output only. Immutable. The version ID of the PublisherModel. A new - version is committed when a new model version is uploaded under an - existing model id. It is an auto-incrementing decimal number in - string representation. + Required. The ID to use for the Tensorboard run, which becomes the + final component of the Tensorboard run's resource name. This value + should be 1-128 characters, and valid characters are `/a-z-/`. type: string - readOnly: true - description: A Model Garden Publisher Model. + GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse: + id: GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse + description: Response message for TensorboardService.BatchCreateTensorboardRuns. + type: object + properties: + tensorboardRuns: + description: The created TensorboardRuns. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + GoogleCloudAiplatformV1ListTensorboardRunsResponse: + id: GoogleCloudAiplatformV1ListTensorboardRunsResponse + description: Response message for TensorboardService.ListTensorboardRuns. type: object - GoogleCloudAiplatformV1SyncFeatureViewResponse: properties: - featureViewSync: - type: string + tensorboardRuns: + description: The TensorboardRuns mathching the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + nextPageToken: description: >- - Format: - `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` - description: Response message for FeatureOnlineStoreAdminService.SyncFeatureView. + A token, which can be sent as ListTensorboardRunsRequest.page_token + to retrieve the next page. If this field is omitted, there are no + subsequent pages. + type: string + GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest: + id: GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest + description: Request message for TensorboardService.BatchCreateTensorboardTimeSeries. type: object - id: GoogleCloudAiplatformV1SyncFeatureViewResponse - GoogleCloudAiplatformV1RougeInput: - description: Input for rouge metric. properties: - instances: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeInstance' + requests: + description: >- + Required. The request message specifying the TensorboardTimeSeries + to create. A maximum of 1000 TensorboardTimeSeries can be created in + a batch. type: array - description: Required. Repeated rouge instances. - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeSpec' - description: Required. Spec for rouge score metric. - id: GoogleCloudAiplatformV1RougeInput + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest + GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest: + id: GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest + description: Request message for TensorboardService.CreateTensorboardTimeSeries. type: object - GoogleCloudAiplatformV1SavedQuery: - id: GoogleCloudAiplatformV1SavedQuery + properties: + parent: + description: >- + Required. The resource name of the TensorboardRun to create the + TensorboardTimeSeries in. Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + type: string + tensorboardTimeSeriesId: + description: >- + Optional. The user specified unique ID to use for the + TensorboardTimeSeries, which becomes the final component of the + TensorboardTimeSeries's resource name. This value should match + "a-z0-9{0, 127}" + type: string + tensorboardTimeSeries: + description: Required. The TensorboardTimeSeries to create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries' + GoogleCloudAiplatformV1TensorboardTimeSeries: + id: GoogleCloudAiplatformV1TensorboardTimeSeries + description: TensorboardTimeSeries maps to times series produced in training runs type: object properties: + name: + description: Output only. Name of the TensorboardTimeSeries. + readOnly: true + type: string + displayName: + description: >- + Required. User provided name of this TensorboardTimeSeries. This + value should be unique among all TensorboardTimeSeries resources + belonging to the same TensorboardRun resource (parent resource). + type: string + description: + description: Description of this TensorboardTimeSeries. + type: string + valueType: + description: Required. Immutable. Type of TensorboardTimeSeries value. + type: string + enumDescriptions: + - The value type is unspecified. + - >- + Used for TensorboardTimeSeries that is a list of scalars. E.g. + accuracy of a model over epochs/time. + - >- + Used for TensorboardTimeSeries that is a list of tensors. E.g. + histograms of weights of layer in a model over epoch/time. + - >- + Used for TensorboardTimeSeries that is a list of blob sequences. + E.g. set of sample images with labels over epochs/time. + enum: + - VALUE_TYPE_UNSPECIFIED + - SCALAR + - TENSOR + - BLOB_SEQUENCE createTime: + description: Output only. Timestamp when this TensorboardTimeSeries was created. + readOnly: true + type: string format: google-datetime - description: Output only. Timestamp when this SavedQuery was created. + updateTime: + description: >- + Output only. Timestamp when this TensorboardTimeSeries was last + updated. readOnly: true type: string + format: google-datetime etag: - type: string description: >- - Used to perform a consistent read-modify-write update. If not set, a - blind "overwrite" update happens. - metadata: - type: any - description: Some additional information about the SavedQuery. - problemType: + Used to perform a consistent read-modify-write updates. If not set, + a blind "overwrite" update happens. type: string + pluginName: description: >- - 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 - displayName: + Immutable. Name of the plugin this time series pertain to. Such as + Scalar, Tensor, Blob + type: string + pluginData: + description: Data of the current plugin, with the size limited to 65KB. type: string + format: byte + metadata: description: >- - Required. The user-defined name of the SavedQuery. The name can be - up to 128 characters long and can consist of any UTF-8 characters. - name: + Output only. Scalar, Tensor, or Blob metadata for this + TensorboardTimeSeries. readOnly: true - description: Output only. Resource name of the SavedQuery. - type: string - supportAutomlTraining: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata + GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata: + id: GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata + description: Describes metadata for a TensorboardTimeSeries. + type: object + properties: + maxStep: description: >- - Output only. If the Annotations belonging to the SavedQuery can be - used for AutoML training. + Output only. Max step index of all data points within a + TensorboardTimeSeries. readOnly: true - type: boolean - annotationFilter: type: string - readOnly: true - description: Output only. Filters on the Annotations in the dataset. - annotationSpecCount: - format: int32 + format: int64 + maxWallTime: description: >- - Output only. Number of AnnotationSpecs in the context of the - SavedQuery. - readOnly: true - type: integer - updateTime: + Output only. Max wall clock timestamp of all data points within a + TensorboardTimeSeries. readOnly: true - description: Output only. Timestamp when SavedQuery was last updated. + type: string format: google-datetime + maxBlobSequenceLength: + description: >- + Output only. The largest blob sequence length (number of blobs) of + all data points in this time series, if its ValueType is + BLOB_SEQUENCE. + readOnly: true type: string + format: int64 + GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse: + id: GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse description: >- - A SavedQuery is a view of the dataset. It references a subset of - annotations by problem type and filters. - GoogleCloudAiplatformV1ToolParameterKVMatchInput: + Response message for + TensorboardService.BatchCreateTensorboardTimeSeries. + type: object properties: - metricSpec: - description: Required. Spec for tool parameter key value match metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchSpec' - instances: + tensorboardTimeSeries: + description: The created TensorboardTimeSeries. type: array - description: Required. Repeated tool parameter key value match instances. items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchInstance + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries' + GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse: + id: GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse + description: Response message for TensorboardService.ListTensorboardTimeSeries. type: object - description: Input for tool parameter key value match metric. - id: GoogleCloudAiplatformV1ToolParameterKVMatchInput - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata: properties: - backingCustomJob: - type: string + tensorboardTimeSeries: + description: The TensorboardTimeSeries mathching the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries' + nextPageToken: description: >- - The resource name of the CustomJob that has been created to carry - out this custom task. + A token, which can be sent as + ListTensorboardTimeSeriesRequest.page_token to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse: + id: GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse + description: >- + Response message for + TensorboardService.BatchReadTensorboardTimeSeriesData. type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata - GoogleCloudAiplatformV1EvaluateInstancesResponse: - id: GoogleCloudAiplatformV1EvaluateInstancesResponse properties: - toolParameterKeyMatchResults: - description: Results for tool parameter key match metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKeyMatchResults - pairwiseSummarizationQualityResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseSummarizationQualityResult - description: Result for pairwise summarization quality metric. - toolParameterKvMatchResults: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolParameterKVMatchResults - description: Results for tool parameter key value match metric. - bleuResults: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuResults' - description: Results for bleu metric. - pairwiseQuestionAnsweringQualityResult: - description: Result for pairwise question answering quality metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult - rougeResults: - description: Results for rouge metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1RougeResults' - questionAnsweringCorrectnessResult: - description: Result for question answering correctness metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult - fluencyResult: - description: >- - LLM-based metric evaluation result. General text generation metrics, - applicable to other categories. Result for fluency metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FluencyResult' - summarizationHelpfulnessResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessResult - description: Result for summarization helpfulness metric. - pointwiseMetricResult: - description: Generic metrics. Result for pointwise metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricResult' - coherenceResult: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceResult' - description: Result for coherence metric. - fulfillmentResult: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FulfillmentResult' - description: Result for fulfillment metric. - pairwiseMetricResult: - description: Result for pairwise metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PairwiseMetricResult' - questionAnsweringHelpfulnessResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult - description: Result for question answering helpfulness metric. - exactMatchResults: - description: Auto metric evaluation results. Results for exact match metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExactMatchResults' - toolCallValidResults: - description: Tool call metrics. Results for tool call valid metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidResults' - summarizationVerbosityResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationVerbosityResult - description: Result for summarization verbosity metric. - questionAnsweringRelevanceResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult - description: Result for question answering relevance metric. - groundednessResult: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundednessResult' - description: Result for groundedness metric. - summarizationQualityResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationQualityResult - description: Summarization only metrics. Result for summarization quality metric. - safetyResult: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyResult' - description: Result for safety metric. - toolNameMatchResults: - description: Results for tool name match metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolNameMatchResults' - questionAnsweringQualityResult: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualityResult - description: >- - Question answering only metrics. Result for question answering - quality metric. - description: Response message for EvaluationService.EvaluateInstances. - type: object - GoogleCloudAiplatformV1UpdateIndexOperationMetadata: - id: GoogleCloudAiplatformV1UpdateIndexOperationMetadata + timeSeriesData: + description: The returned time series data. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesData' + GoogleCloudAiplatformV1TimeSeriesData: + id: GoogleCloudAiplatformV1TimeSeriesData + description: All the data stored in a TensorboardTimeSeries. type: object properties: - nearestNeighborSearchOperationMetadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata + tensorboardTimeSeriesId: description: >- - The operation metadata with regard to Matching Engine Index - operation. - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The operation generic information. - description: Runtime operation information for IndexService.UpdateIndex. - CloudAiPlatformCommonCreatePipelineJobApiErrorDetail: - type: object - properties: - publicMessage: - description: Public messages contains actionable items for the error cause. + Required. The ID of the TensorboardTimeSeries, which will become the + final component of the TensorboardTimeSeries' resource name type: string - errorCause: - enum: - - ERROR_CAUSE_UNSPECIFIED - - INVALID_PIPELINE_SPEC_FORMAT - - INVALID_PIPELINE_SPEC - - INVALID_DEPLOYMENT_CONFIG - - INVALID_DEPLOYMENT_SPEC - - INVALID_INSTANCE_SCHEMA - - INVALID_CUSTOM_JOB - - INVALID_CONTAINER_SPEC - - INVALID_NOTIFICATION_EMAIL_SETUP - - INVALID_SERVICE_ACCOUNT_SETUP - - INVALID_KMS_SETUP - - INVALID_NETWORK_SETUP - - INVALID_PIPELINE_TASK_SPEC - - INVALID_PIPELINE_TASK_ARTIFACT - - INVALID_IMPORTER_SPEC - - INVALID_RESOLVER_SPEC - - INVALID_RUNTIME_PARAMETERS - - CLOUD_API_NOT_ENABLED - - INVALID_GCS_INPUT_URI - - INVALID_GCS_OUTPUT_URI - - INVALID_COMPONENT_SPEC - - INVALID_DAG_OUTPUTS_SPEC - - INVALID_DAG_SPEC - - INSUFFICIENT_QUOTA - - INTERNAL - description: The error root cause returned by CreatePipelineJob API. - enumDescriptions: - - Should never be used. - - IR Pipeline Spec can not been parsed to yaml or json format. - - A pipeline spec is invalid. - - A deployment config is invalid. - - A deployment spec is invalid. - - An instance schema is invalid. - - A custom job is invalid. - - A container spec is invalid. - - Notification email setup is invalid. - - Service account setup is invalid. - - KMS setup is invalid. - - Network setup is invalid. - - Task spec is invalid. - - Task artifact is invalid. - - Importer spec is invalid. - - Resolver spec is invalid. - - Runtime Parameters are invalid. - - Cloud API not enabled. - - Invalid GCS input uri - - Invalid GCS output uri - - Component spec of pipeline is invalid. - - DagOutputsSpec is invalid. - - DagSpec is invalid. - - Project does not have enough quota. - - An internal error with unknown cause. + valueType: + description: >- + Required. Immutable. The value type of this time series. All the + values in this time series data must match this value type. type: string - id: CloudAiPlatformCommonCreatePipelineJobApiErrorDetail - description: 'Create API error message for Vertex Pipeline. Next Id: 3.' - GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics: - description: Metrics for a single confidence threshold. - id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics + enumDescriptions: + - The value type is unspecified. + - >- + Used for TensorboardTimeSeries that is a list of scalars. E.g. + accuracy of a model over epochs/time. + - >- + Used for TensorboardTimeSeries that is a list of tensors. E.g. + histograms of weights of layer in a model over epoch/time. + - >- + Used for TensorboardTimeSeries that is a list of blob sequences. + E.g. set of sample images with labels over epochs/time. + enum: + - VALUE_TYPE_UNSPECIFIED + - SCALAR + - TENSOR + - BLOB_SEQUENCE + values: + description: Required. Data points in this time series. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesDataPoint' + GoogleCloudAiplatformV1TimeSeriesDataPoint: + id: GoogleCloudAiplatformV1TimeSeriesDataPoint + description: A TensorboardTimeSeries data point. type: object properties: - f1Score: - format: float - description: The harmonic mean of recall and precision. - type: number - confidenceThreshold: - type: number - description: The confidence threshold value used to compute the metrics. - format: float - precision: - format: float - description: Precision under the given confidence threshold. - type: number - recall: - type: number - description: Recall under the given confidence threshold. - format: float - GoogleCloudAiplatformV1SchemaAnnotationSpecColor: - properties: - id: - type: string - description: >- - The ID of the AnnotationSpec represented by the color in the - segmentation mask. - color: - $ref: '#/components/schemas/GoogleTypeColor' - description: The color of the AnnotationSpec in a segmentation mask. - displayName: + scalar: + description: A scalar value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Scalar' + tensor: + description: A tensor value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTensor' + blobs: + description: A blob sequence value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardBlobSequence' + wallTime: description: >- - The display name of the AnnotationSpec represented by the color in - the segmentation mask. + Wall clock timestamp when this data point is generated by the end + user. type: string - description: >- - An entry of mapping between color and AnnotationSpec. The mapping is - used in segmentation mask. - type: object - id: GoogleCloudAiplatformV1SchemaAnnotationSpecColor - GoogleCloudAiplatformV1BatchReadFeatureValuesResponse: - description: Response message for FeaturestoreService.BatchReadFeatureValues. - properties: {} - id: GoogleCloudAiplatformV1BatchReadFeatureValuesResponse - type: object - GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences: - description: >- - The regional resource name or the URI. Key is region, e.g., us-central1, - europe-west2, global, etc.. + format: google-datetime + step: + description: Step index of this data point within the run. + type: string + format: int64 + GoogleCloudAiplatformV1Scalar: + id: GoogleCloudAiplatformV1Scalar + description: One point viewable on a scalar metric plot. type: object - id: >- - GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences properties: - resourceUseCase: - type: string - description: Optional. Use case (CUJ) of the resource. - title: - type: string - description: 'Required. ' - resourceTitle: - description: Optional. Title of the resource. - type: string - resourceDescription: - type: string - description: Optional. Description of the resource. - references: - type: object - description: Required. - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelResourceReference - GoogleCloudAiplatformV1SuggestTrialsRequest: + value: + description: Value of the point at this step / timestamp. + type: number + format: double + GoogleCloudAiplatformV1TensorboardTensor: + id: GoogleCloudAiplatformV1TensorboardTensor + description: One point viewable on a tensor metric plot. type: object - id: GoogleCloudAiplatformV1SuggestTrialsRequest - description: Request message for VizierService.SuggestTrials. properties: - clientId: - type: string + value: description: >- - Required. The identifier of the client that is requesting the - suggestion. If multiple SuggestTrialsRequests have the same - `client_id`, the service will return the identical suggested Trial - if the Trial is pending, and provide a new Trial if the last - suggested Trial was completed. - suggestionCount: - description: Required. The number of suggestions requested. It must be positive. + Required. Serialized form of + https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto + type: string + format: byte + versionNumber: + description: Optional. Version number of TensorProto used to serialize value. type: integer format: int32 - contexts: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrialContext' - description: >- - Optional. This allows you to specify the "context" for a Trial; a - context is a slice (a subspace) of the search space. Typical uses - for contexts: 1) You are using Vizier to tune a server for best - performance, but there's a strong weekly cycle. The context - specifies the day-of-week. This allows Tuesday to generalize from - Wednesday without assuming that everything is identical. 2) Imagine - you're optimizing some medical treatment for people. As they walk in - the door, you know certain facts about them (e.g. sex, weight, - height, blood-pressure). Put that information in the context, and - Vizier will adapt its suggestions to the patient. 3) You want to do - a fair A/B test efficiently. Specify the "A" and "B" conditions as - contexts, and Vizier will generalize between "A" and "B" conditions. - If they are similar, this will allow Vizier to converge to the - optimum faster than if "A" and "B" were separate Studies. NOTE: You - can also enter contexts as REQUESTED Trials, e.g. via the - CreateTrial() RPC; that's the asynchronous option where you don't - need a close association between contexts and suggestions. NOTE: All - the Parameters you set in a context MUST be defined in the Study. - NOTE: You must supply 0 or $suggestion_count contexts. If you don't - supply any contexts, Vizier will make suggestions from the full - search space specified in the StudySpec; if you supply a full set of - context, each suggestion will match the corresponding context. NOTE: - A Context with no features set matches anything, and allows - suggestions from the full search space. NOTE: Contexts MUST lie - within the search space specified in the StudySpec. It's an error if - they don't. NOTE: Contexts preferentially match ACTIVE then - REQUESTED trials before new suggestions are generated. NOTE: - Generation of suggestions involves a match between a Context and - (optionally) a REQUESTED trial; if that match is not fully - specified, a suggestion will be geneated in the merged subspace. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification: + GoogleCloudAiplatformV1TensorboardBlobSequence: + id: GoogleCloudAiplatformV1TensorboardBlobSequence description: >- - A TrainingJob that trains and uploads an AutoML Video Classification - Model. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification - properties: - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs - description: The input parameters of this TrainingJob. + One point viewable on a blob metric plot, but mostly just a wrapper + message to work around repeated fields can't be used directly within + `oneof` fields. type: object - GoogleCloudAiplatformV1DirectPredictRequest: properties: - inputs: + values: + description: List of blobs contained within the sequence. type: array - description: The prediction input. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - parameters: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - description: The parameters that govern the prediction. - description: Request message for PredictionService.DirectPredict. - id: GoogleCloudAiplatformV1DirectPredictRequest - type: object + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardBlob' GoogleCloudAiplatformV1TensorboardBlob: + id: GoogleCloudAiplatformV1TensorboardBlob description: One blob (e.g, image, graph) viewable on a blob metric plot. + type: object properties: id: description: >- Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob stored in the Cloud Storage bucket of the consumer project. - type: string readOnly: true - data: type: string + data: description: >- Optional. The bytes of the blob is not present unless it's returned by the ReadTensorboardBlobData endpoint. + type: string format: byte - id: GoogleCloudAiplatformV1TensorboardBlob + GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse: + id: GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse + description: Response message for TensorboardService.ReadTensorboardTimeSeriesData. type: object - GoogleCloudAiplatformV1SummarizationVerbosityInstance: - description: Spec for summarization verbosity instance. - id: GoogleCloudAiplatformV1SummarizationVerbosityInstance + properties: + timeSeriesData: + description: The returned time series data. + $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesData' + GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse: + id: GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse + description: Response message for TensorboardService.ReadTensorboardBlobData. type: object properties: - context: - description: Required. Text to be summarized. - type: string - instruction: - type: string - description: Optional. Summarization prompt for LLM. - prediction: - description: Required. Output of the evaluated model. - type: string - reference: - description: Optional. Ground truth used to compare against the prediction. - type: string - GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest: - description: Request message for PipelineService.BatchCancelPipelineJobs. - id: GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest + blobs: + description: Blob messages containing blob bytes. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardBlob' + GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest: + id: GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest + description: Request message for TensorboardService.WriteTensorboardExperimentData. + type: object properties: - names: + writeRunDataRequests: description: >- - Required. The names of the PipelineJobs to cancel. A maximum of 32 - PipelineJobs can be cancelled in a batch. Format: - `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` - items: - type: string + Required. Requests containing per-run TensorboardTimeSeries data to + write. type: array - type: object - GoogleCloudAiplatformV1GenerationConfig: - description: Generation config. - id: GoogleCloudAiplatformV1GenerationConfig + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardRunDataRequest + GoogleCloudAiplatformV1WriteTensorboardRunDataRequest: + id: GoogleCloudAiplatformV1WriteTensorboardRunDataRequest + description: Request message for TensorboardService.WriteTensorboardRunData. type: object properties: - topK: - type: number - format: float - description: Optional. If specified, top-k sampling will be used. - seed: - type: integer - format: int32 - description: Optional. Seed. - topP: - description: Optional. If specified, nucleus sampling will be used. - type: number - format: float - routingConfig: - description: Optional. Routing configuration. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerationConfigRoutingConfig - responseSchema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schema' + tensorboardRun: description: >- - Optional. The `Schema` object allows the definition of input and - output data types. These types can be objects, but also primitives - and arrays. Represents a select subset of an [OpenAPI 3.0 schema - object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a - compatible response_mime_type must also be set. Compatible - mimetypes: `application/json`: Schema for JSON response. - frequencyPenalty: - description: Optional. Frequency penalties. - type: number - format: float - responseMimeType: + Required. The resource name of the TensorboardRun to write data to. + Format: + `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` type: string + timeSeriesData: description: >- - Optional. Output response mimetype of the generated candidate text. - Supported mimetype: - `text/plain`: (default) Text output. - - `application/json`: JSON response in the candidates. The model needs - to be prompted to output the appropriate response type, otherwise - the behavior is undefined. This is a preview feature. - stopSequences: + Required. The TensorboardTimeSeries data to write. Values with in a + time series are indexed by their step value. Repeated writes to the + same step will overwrite the existing value for that step. The upper + limit of data points per write request is 5000. type: array items: - type: string - description: Optional. Stop sequences. - candidateCount: - description: Optional. Number of candidates to generate. - format: int32 - type: integer - presencePenalty: - format: float - type: number - description: Optional. Positive penalties. - maxOutputTokens: - format: int32 - type: integer - description: >- - Optional. The maximum number of output tokens to generate per - message. - temperature: - description: Optional. Controls the randomness of predictions. - type: number - format: float - GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesData' + GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse: + id: GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse + description: Response message for TensorboardService.WriteTensorboardExperimentData. + type: object + properties: {} + GoogleCloudAiplatformV1WriteTensorboardRunDataResponse: + id: GoogleCloudAiplatformV1WriteTensorboardRunDataResponse + description: Response message for TensorboardService.WriteTensorboardRunData. + type: object + properties: {} + GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest: + id: GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest + description: Request message for TensorboardService.ExportTensorboardTimeSeriesData. type: object - description: Annotation details specific to video object tracking. properties: - yMin: - description: The topmost coordinate of the bounding box. - format: double - type: number - xMin: - format: double - type: number - description: The leftmost coordinate of the bounding box. - xMax: - format: double - description: The rightmost coordinate of the bounding box. - type: number - timeOffset: - type: string - description: >- - A time (frame) of a video to which this annotation pertains. - Represented as the duration since the video's start. - format: google-duration - displayName: - description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - type: string - instanceId: + filter: description: >- - The instance of the object, expressed as a positive integer. Used to - track the same object across different frames. - format: int64 - type: string - yMax: - description: The bottommost coordinate of the bounding box. - format: double - type: number - annotationSpecId: + Exports the TensorboardTimeSeries' data that match the filter + expression. type: string + pageSize: description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - id: GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation - CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity: - properties: - iouScore: + The maximum number of data points to return per page. The default + page_size is 1000. Values must be between 1 and 10000. Values above + 10000 are coerced to 10000. + type: integer + format: int32 + pageToken: description: >- - The intersection ratio between the detection bounding box and the - mask. - type: number - format: float - description: - description: Description of the label + A page token, received from a previous + ExportTensorboardTimeSeriesData call. Provide this to retrieve the + subsequent page. When paginating, all other parameters provided to + ExportTensorboardTimeSeriesData must match the call that provided + the page token. type: string - mid: - description: MID of the label + orderBy: + description: >- + Field to use to sort the TensorboardTimeSeries' data. By default, + TensorboardTimeSeries' data is returned in a pseudo random order. type: string - boundingBox: - $ref: >- - #/components/schemas/CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox - description: Bounding box of the label - score: - type: number - format: float - description: Confidence score of the label - type: object - description: The properties for a detected entity from the rai signal. - id: CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity - GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata: - id: GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata + GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse: + id: GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse + description: Response message for TensorboardService.ExportTensorboardTimeSeriesData. type: object - description: Metadata information for NotebookService.CreateNotebookRuntimeTemplate. properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1SchemaTextClassificationAnnotation: - properties: - annotationSpecId: + timeSeriesDataPoints: + description: The returned time series data points. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesDataPoint' + nextPageToken: description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - type: string - displayName: + A token, which can be sent as page_token to retrieve the next page. + If this field is omitted, there are no subsequent pages. type: string - description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - description: Annotation details specific to text classification. - type: object - id: GoogleCloudAiplatformV1SchemaTextClassificationAnnotation - GoogleCloudAiplatformV1MetadataStore: + GoogleCloudAiplatformV1Study: + id: GoogleCloudAiplatformV1Study + description: A message representing a Study. type: object properties: - dataplexConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MetadataStoreDataplexConfig - description: Optional. Dataplex integration settings. name: + description: >- + Output only. The name of a study. The study's globally unique + identifier. Format: + `projects/{project}/locations/{location}/studies/{study}` readOnly: true - description: Output only. The resource name of the MetadataStore instance. type: string - encryptionSpec: - description: >- - Customer-managed encryption key spec for a Metadata Store. If set, - this Metadata Store and all sub-resources of this Metadata Store are - secured using this key. - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - updateTime: + displayName: + description: Required. Describes the Study, default value is empty string. type: string - format: google-datetime - description: Output only. Timestamp when this MetadataStore was last updated. - readOnly: true + studySpec: + description: Required. Configuration of the Study. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' state: + description: Output only. The detailed state of a Study. readOnly: true - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MetadataStoreMetadataStoreState - description: Output only. State information of the MetadataStore. + type: string + enumDescriptions: + - The study state is unspecified. + - The study is active. + - The study is stopped due to an internal error. + - >- + The study is done when the service exhausts the parameter search + space or max_trial_count is reached. + enum: + - STATE_UNSPECIFIED + - ACTIVE + - INACTIVE + - COMPLETED createTime: - description: Output only. Timestamp when this MetadataStore was created. + description: Output only. Time at which the study was created. readOnly: true type: string format: google-datetime - description: - description: Description of the MetadataStore. + inactiveReason: + description: >- + Output only. A human readable reason why the Study is inactive. This + should be empty if a study is ACTIVE or COMPLETED. + readOnly: true type: string - id: GoogleCloudAiplatformV1MetadataStore - description: >- - Instance of a metadata store. Contains a set of metadata that can be - queried. - GoogleCloudAiplatformV1UnmanagedContainerModel: + GoogleCloudAiplatformV1ListStudiesResponse: + id: GoogleCloudAiplatformV1ListStudiesResponse + description: Response message for VizierService.ListStudies. + type: object properties: - artifactUri: + studies: + description: The studies associated with the project. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' + nextPageToken: description: >- - The path to the directory containing the Model artifact and any of - its supporting files. + Passes this token as the `page_token` field of the request for a + subsequent call. If this field is omitted, there are no subsequent + pages. type: string - containerSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelContainerSpec' - description: >- - Input only. The specification of the container that is to be used - when deploying this Model. - predictSchemata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictSchemata' - description: Contains the schemata used in Model's predictions and explanations - description: >- - Contains model information necessary to perform batch prediction without - requiring a full model import. + GoogleCloudAiplatformV1LookupStudyRequest: + id: GoogleCloudAiplatformV1LookupStudyRequest + description: Request message for VizierService.LookupStudy. type: object - id: GoogleCloudAiplatformV1UnmanagedContainerModel - GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation: properties: - maskGcsUri: + displayName: + description: Required. The user-defined display name of the Study + type: string + GoogleCloudAiplatformV1SuggestTrialsRequest: + id: GoogleCloudAiplatformV1SuggestTrialsRequest + description: Request message for VizierService.SuggestTrials. + type: object + properties: + suggestionCount: + description: Required. The number of suggestions requested. It must be positive. + type: integer + format: int32 + clientId: description: >- - Google Cloud Storage URI that points to the mask image. The image - must be in PNG format. It must have the same size as the DataItem's - image. Each pixel in the image mask represents the AnnotationSpec - which the pixel in the image DataItem belong to. Each color is - mapped to one AnnotationSpec based on annotation_spec_colors. + Required. The identifier of the client that is requesting the + suggestion. If multiple SuggestTrialsRequests have the same + `client_id`, the service will return the identical suggested Trial + if the Trial is pending, and provide a new Trial if the last + suggested Trial was completed. type: string - annotationSpecColors: - description: The mapping between color and AnnotationSpec for this Annotation. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaAnnotationSpecColor + contexts: + description: >- + Optional. This allows you to specify the "context" for a Trial; a + context is a slice (a subspace) of the search space. Typical uses + for contexts: 1) You are using Vizier to tune a server for best + performance, but there's a strong weekly cycle. The context + specifies the day-of-week. This allows Tuesday to generalize from + Wednesday without assuming that everything is identical. 2) Imagine + you're optimizing some medical treatment for people. As they walk in + the door, you know certain facts about them (e.g. sex, weight, + height, blood-pressure). Put that information in the context, and + Vizier will adapt its suggestions to the patient. 3) You want to do + a fair A/B test efficiently. Specify the "A" and "B" conditions as + contexts, and Vizier will generalize between "A" and "B" conditions. + If they are similar, this will allow Vizier to converge to the + optimum faster than if "A" and "B" were separate Studies. NOTE: You + can also enter contexts as REQUESTED Trials, e.g. via the + CreateTrial() RPC; that's the asynchronous option where you don't + need a close association between contexts and suggestions. NOTE: All + the Parameters you set in a context MUST be defined in the Study. + NOTE: You must supply 0 or $suggestion_count contexts. If you don't + supply any contexts, Vizier will make suggestions from the full + search space specified in the StudySpec; if you supply a full set of + context, each suggestion will match the corresponding context. NOTE: + A Context with no features set matches anything, and allows + suggestions from the full search space. NOTE: Contexts MUST lie + within the search space specified in the StudySpec. It's an error if + they don't. NOTE: Contexts preferentially match ACTIVE then + REQUESTED trials before new suggestions are generated. NOTE: + Generation of suggestions involves a match between a Context and + (optionally) a REQUESTED trial; if that match is not fully + specified, a suggestion will be geneated in the merged subspace. type: array - id: GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrialContext' + GoogleCloudAiplatformV1TrialContext: + id: GoogleCloudAiplatformV1TrialContext type: object - description: The mask based segmentation annotation. - GoogleCloudAiplatformV1UpdateExplanationDatasetRequest: - description: Request message for ModelService.UpdateExplanationDataset. - id: GoogleCloudAiplatformV1UpdateExplanationDatasetRequest properties: - examples: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Examples' - description: The example config containing the location of the dataset. + description: + description: >- + A human-readable field which can store a description of this + context. This will become part of the resulting Trial's description + field. + type: string + parameters: + description: >- + If/when a Trial is generated or selected from this Context, its + Parameters will match any parameters specified here. (I.e. if this + context specifies parameter name:'a' int_value:3, then a resulting + Trial will have int_value:3 for its parameter named 'a'.) Note that + we first attempt to match existing REQUESTED Trials with contexts, + and if there are no matches, we generate suggestions in the subspace + defined by the parameters specified here. NOTE: a Context without + any Parameters matches the entire feasible search space. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrialParameter' + GoogleCloudAiplatformV1ListTrialsResponse: + id: GoogleCloudAiplatformV1ListTrialsResponse + description: Response message for VizierService.ListTrials. type: object - GoogleCloudAiplatformV1ListSchedulesResponse: - description: Response message for ScheduleService.ListSchedules properties: - schedules: + trials: + description: The Trials associated with the Study. type: array - description: List of Schedules in the requested page. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' nextPageToken: description: >- - A token to retrieve the next page of results. Pass to - ListSchedulesRequest.page_token to obtain that page. + Pass this token as the `page_token` field of the request for a + subsequent call. If this field is omitted, there are no subsequent + pages. type: string - id: GoogleCloudAiplatformV1ListSchedulesResponse + GoogleCloudAiplatformV1AddTrialMeasurementRequest: + id: GoogleCloudAiplatformV1AddTrialMeasurementRequest + description: Request message for VizierService.AddTrialMeasurement. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection: - description: >- - A TrainingJob that trains and uploads an AutoML Image Object Detection - Model. properties: - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs - description: The input parameters of this TrainingJob. - metadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata - description: The metadata information - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection - GoogleCloudAiplatformV1FractionSplit: + measurement: + description: Required. The measurement to be added to a Trial. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' + GoogleCloudAiplatformV1CompleteTrialRequest: + id: GoogleCloudAiplatformV1CompleteTrialRequest + description: Request message for VizierService.CompleteTrial. type: object - description: >- - Assigns the input data to training, validation, and test sets as per the - given fractions. Any of `training_fraction`, `validation_fraction` and - `test_fraction` may optionally be provided, they must sum to up to 1. If - the provided ones sum to less than 1, the remainder is assigned to sets - as decided by Vertex AI. If none of the fractions are set, by default - roughly 80% of data is used for training, 10% for validation, and 10% - for test. properties: - trainingFraction: - type: number + finalMeasurement: description: >- - The fraction of the input data that is to be used to train the - Model. - format: double - validationFraction: - type: number + Optional. If provided, it will be used as the completed Trial's + final_measurement; Otherwise, the service will auto-select a + previously reported measurement as the final-measurement + $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' + trialInfeasible: description: >- - The fraction of the input data that is to be used to validate the - Model. - format: double - testFraction: - type: number + Optional. True if the Trial cannot be run with the given Parameter, + and final_measurement will be ignored. + type: boolean + infeasibleReason: description: >- - The fraction of the input data that is to be used to evaluate the - Model. - format: double - id: GoogleCloudAiplatformV1FractionSplit - GoogleCloudAiplatformV1UpsertDatapointsResponse: + Optional. A human readable reason why the trial was infeasible. This + should only be provided if `trial_infeasible` is true. + type: string + GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest: + id: GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest + description: Request message for VizierService.CheckTrialEarlyStoppingState. + type: object properties: {} - description: Response message for IndexService.UpsertDatapoints - id: GoogleCloudAiplatformV1UpsertDatapointsResponse + GoogleCloudAiplatformV1StopTrialRequest: + id: GoogleCloudAiplatformV1StopTrialRequest + description: Request message for VizierService.StopTrial. type: object - GoogleCloudAiplatformV1SummarizationHelpfulnessInput: - description: Input for summarization helpfulness metric. - properties: - metricSpec: - description: Required. Spec for summarization helpfulness score metric. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessSpec - instance: - description: Required. Summarization helpfulness instance. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SummarizationHelpfulnessInstance + properties: {} + GoogleCloudAiplatformV1ListOptimalTrialsRequest: + id: GoogleCloudAiplatformV1ListOptimalTrialsRequest + description: Request message for VizierService.ListOptimalTrials. type: object - id: GoogleCloudAiplatformV1SummarizationHelpfulnessInput - GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult: + properties: {} + GoogleCloudAiplatformV1ListOptimalTrialsResponse: + id: GoogleCloudAiplatformV1ListOptimalTrialsResponse + description: Response message for VizierService.ListOptimalTrials. type: object properties: - quantileValues: - description: Quantile values. - type: array - items: - format: float - type: number - quantilePredictions: - description: Quantile predictions, in 1-1 correspondence with quantile_values. + optimalTrials: + description: >- + 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 type: array items: - format: float - type: number - upperBound: - type: number - format: float - description: The upper bound of the prediction interval. - lowerBound: - description: The lower bound of the prediction interval. - type: number - format: float - value: - format: float - description: The regression value. - type: number - description: Prediction output format for Tabular Regression. - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult - GoogleCloudAiplatformV1SearchMigratableResourcesRequest: - properties: - filter: - description: >- - A filter for your search. You can use the following types of - filters: * Resource type filters. The following strings filter for a - specific type of MigratableResource: * `ml_engine_model_version:*` * - `automl_model:*` * `automl_dataset:*` * `data_labeling_dataset:*` * - "Migrated or not" filters. The following strings filter for - resources that either have or have not already been migrated: * - `last_migrate_time:*` filters for migrated resources. * `NOT - last_migrate_time:*` filters for not yet migrated resources. - type: string - pageToken: - type: string - description: The standard page token. - pageSize: - format: int32 - description: The standard page size. The default and maximum value is 100. - type: integer - description: Request message for MigrationService.SearchMigratableResources. - type: object - id: GoogleCloudAiplatformV1SearchMigratableResourcesRequest - GoogleCloudAiplatformV1CustomJob: - description: >- - Represents a job that runs custom workloads such as a Docker container - or a Python package. A CustomJob can have multiple worker pools and each - worker pool can have its own machine and input spec. A CustomJob will be - cleaned up once the job enters terminal state (failed or succeeded). + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + GoogleCloudAiplatformV1PublisherModel: + id: GoogleCloudAiplatformV1PublisherModel + description: A Model Garden Publisher Model. type: object properties: - startTime: - description: >- - Output only. Time when the CustomJob for the first time entered the - `JOB_STATE_RUNNING` state. - type: string - readOnly: true - format: google-datetime - error: - $ref: '#/components/schemas/GoogleRpcStatus' - readOnly: true - description: >- - Output only. Only populated when job's state is `JOB_STATE_FAILED` - or `JOB_STATE_CANCELLED`. - satisfiesPzs: - type: boolean - description: Output only. Reserved for future use. - readOnly: true - endTime: - description: >- - Output only. Time when the CustomJob entered any of the following - states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, - `JOB_STATE_CANCELLED`. + name: + description: Output only. The resource name of the PublisherModel. readOnly: true - format: google-datetime - type: string - createTime: type: string - format: google-datetime - description: Output only. Time when the CustomJob was created. + versionId: + description: >- + Output only. Immutable. The version ID of the PublisherModel. A new + version is committed when a new model version is uploaded under an + existing model id. It is an auto-incrementing decimal number in + string representation. readOnly: true - name: type: string - readOnly: true - description: Output only. Resource name of a CustomJob. - satisfiesPzi: - readOnly: true - description: Output only. Reserved for future use. - type: boolean - displayName: + openSourceCategory: + description: Required. Indicates the open source category of the publisher model. type: string - description: >- - Required. The display name of the CustomJob. The name can be up to - 128 characters long and can consist of any UTF-8 characters. - labels: - type: object - description: >- - 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. - additionalProperties: + enumDescriptions: + - The open source category is unspecified, which should not be used. + - Used to indicate the PublisherModel is not open sourced. + - >- + Used to indicate the PublisherModel is a Google-owned open source + model w/ Google checkpoint. + - >- + Used to indicate the PublisherModel is a 3p-owned open source + model w/ Google checkpoint. + - >- + Used to indicate the PublisherModel is a Google-owned pure open + source model. + - >- + Used to indicate the PublisherModel is a 3p-owned pure open source + model. + enum: + - OPEN_SOURCE_CATEGORY_UNSPECIFIED + - PROPRIETARY + - GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT + - THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT + - GOOGLE_OWNED_OSS + - THIRD_PARTY_OWNED_OSS + supportedActions: + description: Optional. Supported call-to-action options. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToAction + frameworks: + description: Optional. Additional information about the model's Frameworks. + type: array + items: type: string - jobSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' - description: Required. Job spec. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key options for a CustomJob. If this is - set, then all resources created by the CustomJob will be encrypted - with the provided encryption key. - updateTime: + launchStage: + description: Optional. Indicates the launch stage of the model. type: string - format: google-datetime - readOnly: true - description: Output only. Time when the CustomJob was most recently updated. - state: enumDescriptions: - - The job state is unspecified. + - The model launch stage is unspecified. - >- - The job has been just created or resumed and processing has not - yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. + Used to indicate the PublisherModel is at Experimental launch + stage, available to a small set of customers. - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. + Used to indicate the PublisherModel is at Private Preview launch + stage, only available to a small set of customers, although a + larger set of customers than an Experimental launch. Previews are + the first launch stage used to get feedback from customers. - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. + Used to indicate the PublisherModel is at Public Preview launch + stage, available to all customers, although not supported for + production workloads. - >- - The job is partially succeeded, some results may be missing due to - errors. - readOnly: true + Used to indicate the PublisherModel is at GA launch stage, + available to all customers and ready for production workload. enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED + - LAUNCH_STAGE_UNSPECIFIED + - EXPERIMENTAL + - PRIVATE_PREVIEW + - PUBLIC_PREVIEW + - GA + versionState: + description: Optional. Indicates the state of the model version. type: string - description: Output only. The detailed state of the job. - webAccessUris: - additionalProperties: - type: string + enumDescriptions: + - The version state is unspecified. + - Used to indicate the version is stable. + - Used to indicate the version is unstable. + enum: + - VERSION_STATE_UNSPECIFIED + - VERSION_STATE_STABLE + - VERSION_STATE_UNSTABLE + publisherModelTemplate: + description: >- + Optional. Output only. Immutable. Used to indicate this model has a + publisher model and provide the template of the publisher model + resource name. readOnly: true - type: object + type: string + predictSchemata: description: >- - 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. - id: GoogleCloudAiplatformV1CustomJob - GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata: + Optional. The schemata that describes formats of the + PublisherModel's predictions and explanations as given and returned + via PredictionService.Predict. + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictSchemata' + GoogleCloudAiplatformV1PublisherModelCallToAction: + id: GoogleCloudAiplatformV1PublisherModelCallToAction + description: Actions could take on this Publisher Model. + type: object properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The operation generic information. - id: GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata - description: Runtime operation information for UpdateDeploymentResourcePool method. + viewRestApi: + description: Optional. To view Rest API docs. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi + openNotebook: + description: Optional. Open notebook of the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + openNotebooks: + description: Optional. Open notebooks of the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks + createApplication: + description: Optional. Create application using the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + openFineTuningPipeline: + description: Optional. Open fine-tuning pipeline of the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + openFineTuningPipelines: + description: Optional. Open fine-tuning pipelines of the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines + openPromptTuningPipeline: + description: Optional. Open prompt-tuning pipeline of the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + openGenie: + description: Optional. Open Genie / Playground. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + deploy: + description: Optional. Deploy the PublisherModel to Vertex Endpoint. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeploy + multiDeployVertex: + description: >- + Optional. Multiple setups to deploy the PublisherModel to Vertex + Endpoint. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex + deployGke: + description: Optional. Deploy PublisherModel to Google Kubernetes Engine. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke + openGenerationAiStudio: + description: Optional. Open in Generation AI Studio. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + requestAccess: + description: Optional. Request for access. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + openEvaluationPipeline: + description: Optional. Open evaluation pipeline of the PublisherModel. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi: + id: GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi + description: Rest API docs. type: object - GoogleCloudAiplatformV1SupervisedHyperParameters: - description: Hyperparameters for SFT. properties: - adapterSize: - enum: - - ADAPTER_SIZE_UNSPECIFIED - - ADAPTER_SIZE_ONE - - ADAPTER_SIZE_FOUR - - ADAPTER_SIZE_EIGHT - - ADAPTER_SIZE_SIXTEEN - - ADAPTER_SIZE_THIRTY_TWO - description: Optional. Adapter size for tuning. - enumDescriptions: - - Adapter size is unspecified. - - Adapter size 1. - - Adapter size 4. - - Adapter size 8. - - Adapter size 16. - - Adapter size 32. + documentations: + description: Required. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelDocumentation + title: + description: Required. The title of the view rest API. + type: string + GoogleCloudAiplatformV1PublisherModelDocumentation: + id: GoogleCloudAiplatformV1PublisherModelDocumentation + description: A named piece of documentation. + type: object + properties: + title: + description: >- + Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, + JAVA, NODE.JS, etc.. + type: string + content: + description: Required. Content of this piece of document (in Markdown format). + type: string + GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences: + id: >- + GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + description: >- + The regional resource name or the URI. Key is region, e.g., us-central1, + europe-west2, global, etc.. + type: object + properties: + references: + description: Required. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelResourceReference + title: + description: 'Required. ' + type: string + resourceTitle: + description: Optional. Title of the resource. + type: string + resourceUseCase: + description: Optional. Use case (CUJ) of the resource. + type: string + resourceDescription: + description: Optional. Description of the resource. + type: string + GoogleCloudAiplatformV1PublisherModelResourceReference: + id: GoogleCloudAiplatformV1PublisherModelResourceReference + description: Reference to a resource. + type: object + properties: + uri: + description: The URI of the resource. + type: string + resourceName: + description: The resource name of the Google Cloud resource. type: string - learningRateMultiplier: - type: number - description: Optional. Multiplier for adjusting the default learning rate. - format: double - epochCount: - description: >- - Optional. Number of complete passes the model makes over the entire - training dataset during training. - format: int64 + useCase: + description: Use case (CUJ) of the resource. + deprecated: true type: string - id: GoogleCloudAiplatformV1SupervisedHyperParameters + description: + description: Description of the resource. + deprecated: true + type: string + GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks: + id: GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks + description: Open notebooks. type: object - GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest: + properties: + notebooks: + description: Required. Regional resource references to notebooks. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines: + id: GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines + description: Open fine tuning pipelines. type: object - id: GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest - description: Request message for TensorboardService.BatchCreateTensorboardTimeSeries. properties: - requests: + fineTuningPipelines: + description: Required. Regional resource references to fine tuning pipelines. type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest - description: >- - Required. The request message specifying the TensorboardTimeSeries - to create. A maximum of 1000 TensorboardTimeSeries can be created in - a batch. - GoogleCloudAiplatformV1IntegratedGradientsAttribution: + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences + GoogleCloudAiplatformV1PublisherModelCallToActionDeploy: + id: GoogleCloudAiplatformV1PublisherModelCallToActionDeploy description: >- - An attribution method that computes the Aumann-Shapley value taking - advantage of the model's fully differentiable structure. Refer to this - paper for more details: https://arxiv.org/abs/1703.01365 + Model metadata that is needed for UploadModel or + DeployModel/CreateEndpoint requests. type: object - id: GoogleCloudAiplatformV1IntegratedGradientsAttribution properties: - blurBaselineConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BlurBaselineConfig' + dedicatedResources: description: >- - Config for IG with blur baseline. When enabled, a linear path from - the maximally blurred image to the input image is created. Using a - blurred baseline instead of zero (black image) is motivated by the - BlurIG approach explained here: https://arxiv.org/abs/2004.03383 - smoothGradConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SmoothGradConfig' + A description of resources that are dedicated to the DeployedModel, + and that need a higher degree of manual configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' + automaticResources: description: >- - Config for SmoothGrad approximation of gradients. When enabled, the - gradients are approximated by averaging the gradients from noisy - samples in the vicinity of the inputs. Adding noise can help improve - the computed gradients. Refer to this paper for more details: - https://arxiv.org/pdf/1706.03825.pdf - stepCount: + A description of resources that to large degree are decided by + Vertex AI, and require only a modest additional configuration. + $ref: '#/components/schemas/GoogleCloudAiplatformV1AutomaticResources' + sharedResources: description: >- - Required. The number of steps for approximating the path integral. A - good value to start is 50 and gradually increase until the sum to - diff property is within the desired error range. Valid range of its - value is [1, 100], inclusively. - format: int32 - type: integer - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking: - description: >- - A TrainingJob that trains and uploads an AutoML Video ObjectTracking - Model. - properties: - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs - description: The input parameters of this TrainingJob. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking - type: object - GoogleCloudAiplatformV1ListTensorboardExperimentsResponse: - properties: - nextPageToken: + The resource name of the shared DeploymentResourcePool to deploy on. + Format: + `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + type: string + modelDisplayName: + description: Optional. Default model display name. + type: string + largeModelReference: description: >- - A token, which can be sent as - ListTensorboardExperimentsRequest.page_token to retrieve the next - page. If this field is omitted, there are no subsequent pages. + Optional. Large model reference. When this is set, + model_artifact_spec is not needed. + $ref: '#/components/schemas/GoogleCloudAiplatformV1LargeModelReference' + containerSpec: + description: >- + Optional. The specification of the container that is to be used when + deploying this Model in Vertex AI. Not present for Large Models. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelContainerSpec' + artifactUri: + description: >- + Optional. The path to the directory containing the Model artifact + and any of its supporting files. type: string - tensorboardExperiments: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment' - type: array - description: The TensorboardExperiments mathching the request. - description: Response message for TensorboardService.ListTensorboardExperiments. - type: object - id: GoogleCloudAiplatformV1ListTensorboardExperimentsResponse - GoogleCloudAiplatformV1ToolParameterKeyMatchInstance: - type: object - id: GoogleCloudAiplatformV1ToolParameterKeyMatchInstance - properties: - prediction: - description: Required. Output of the evaluated model. + deployTaskName: + description: >- + Optional. The name of the deploy task (e.g., "text to image + generation"). type: string - reference: + deployMetadata: + description: Optional. Metadata information about this deployment config. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata + title: + description: Required. The title of the regional resource reference. type: string - description: Required. Ground truth used to compare against the prediction. - description: Spec for tool parameter key match instance. - GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo: + publicArtifactUri: + description: >- + Optional. The signed URI for ephemeral Cloud Storage access to model + artifact. + type: string + GoogleCloudAiplatformV1LargeModelReference: + id: GoogleCloudAiplatformV1LargeModelReference + description: Contains information about the Large Model. type: object properties: - imageOutputUri: - type: string - readOnly: true - description: >- - Output only. If the Model image is being exported to Google - Container Registry or Artifact Registry this is the full path of the - image created. - artifactOutputUri: + name: description: >- - Output only. If the Model artifact is being exported to Google Cloud - Storage this is the full path of the directory created, into which - the Model files are being written to. - readOnly: true + Required. The unique name of the large Foundation or pre-built + model. Like "chat-bison", "text-bison". Or model name with version + ID, like "chat-bison@001", "text-bison@005", etc. type: string - id: GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo + GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata: + id: GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata description: >- - Further describes the output of the ExportModel. Supplements - ExportModelRequest.OutputConfig. - GoogleCloudAiplatformV1ContainerRegistryDestination: - properties: - outputUri: - type: string - description: >- - Required. Container Registry URI of a container image. Only Google - Container Registry and Artifact Registry are supported now. Accepted - forms: * Google Container Registry path. For example: - `gcr.io/projectId/imageName:tag`. * Artifact Registry path. For - example: - `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. If a - tag is not specified, "latest" will be used as the default tag. - description: The Container Registry location for the container image. - type: object - id: GoogleCloudAiplatformV1ContainerRegistryDestination - GoogleCloudAiplatformV1SummarizationVerbosityResult: + Metadata information about the deployment for managing deployment + config. type: object - id: GoogleCloudAiplatformV1SummarizationVerbosityResult properties: - score: - type: number - description: Output only. Summarization Verbosity score. - readOnly: true - format: float - explanation: - description: Output only. Explanation for summarization verbosity score. + labels: + description: >- + Optional. Labels for the deployment config. For managing deployment + config like verifying, source of deployment config, etc. + type: object + additionalProperties: + type: string + sampleRequest: + description: Optional. Sample request for deployed endpoint. type: string - readOnly: true - confidence: - readOnly: true - format: float - description: Output only. Confidence for summarization verbosity score. - type: number - description: Spec for summarization verbosity result. - GoogleCloudAiplatformV1StructFieldValue: + GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex: + id: GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex + description: Multiple setups to deploy the PublisherModel. type: object - id: GoogleCloudAiplatformV1StructFieldValue properties: - name: - type: string - description: Name of the field in the struct feature. - value: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' - description: The value for this field. - description: One field of a Struct (or object) type feature value. - GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse: - id: GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse + multiDeployVertex: + description: Optional. One click deployment configurations. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeploy + GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke: + id: GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke + description: Configurations for PublisherModel GKE deployment + type: object properties: - timeSeriesData: - description: The returned time series data. - $ref: '#/components/schemas/GoogleCloudAiplatformV1TimeSeriesData' + gkeYamlConfigs: + description: Optional. GKE deployment configuration in yaml format. + type: array + items: + type: string + GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata: + id: GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata + description: Metadata information for NotebookService.AssignNotebookRuntime. type: object - description: Response message for TensorboardService.ReadTensorboardTimeSeriesData. - GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata: - description: Details of operations that perform create FeatureOnlineStore. properties: genericMetadata: - description: Operation metadata for FeatureOnlineStore. + description: The operation generic information. $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - id: GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata + progressMessage: + description: >- + A human-readable message that shows the intermediate progress + details of NotebookRuntime. + type: string + GoogleCloudAiplatformV1GenericOperationMetadata: + id: GoogleCloudAiplatformV1GenericOperationMetadata + description: Generic Metadata shared by all operations. type: object - GoogleCloudAiplatformV1ToolParameterKVMatchInstance: - description: Spec for tool parameter key value match instance. properties: - prediction: + partialFailures: + description: >- + Output only. Partial failures encountered. E.g. single files that + couldn't be read. This field should never exceed 20 entries. Status + details field will contain standard Google Cloud error details. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' + createTime: + description: Output only. Time when the operation was created. + readOnly: true type: string - description: Required. Output of the evaluated model. - reference: - description: Required. Ground truth used to compare against the prediction. + format: google-datetime + updateTime: + description: >- + Output only. Time when the operation was updated for the last time. + If the operation has finished (successfully or not), this is the + finish time. + readOnly: true type: string + format: google-datetime + GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata: + id: GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata + description: >- + Runtime operation information for + MigrationService.BatchMigrateResources. type: object - id: GoogleCloudAiplatformV1ToolParameterKVMatchInstance + properties: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + partialResults: + description: >- + Partial results that reflect the latest migration operation + progress. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult: id: >- GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult + description: >- + Represents a partial result in batch migration operation for one + MigrateResourceRequest. + type: object properties: + error: + description: The error result of the migration request in case of failure. + $ref: '#/components/schemas/GoogleRpcStatus' model: description: Migrated model resource name. type: string @@ -19099,1300 +19255,1371 @@ components: It's the same as the value in MigrateResourceRequest.migrate_resource_requests. $ref: '#/components/schemas/GoogleCloudAiplatformV1MigrateResourceRequest' - error: - description: The error result of the migration request in case of failure. - $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudAiplatformV1BatchMigrateResourcesResponse: + id: GoogleCloudAiplatformV1BatchMigrateResourcesResponse + description: Response message for MigrationService.BatchMigrateResources. type: object - description: >- - Represents a partial result in batch migration operation for one - MigrateResourceRequest. - GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams: + properties: + migrateResourceResponses: + description: Successfully migrated resources. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MigrateResourceResponse + GoogleCloudAiplatformV1MigrateResourceResponse: + id: GoogleCloudAiplatformV1MigrateResourceResponse + description: Describes a successfully migrated resource. type: object - description: Prediction model parameters for Video Classification. - id: >- - GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams properties: - shotClassification: - description: >- - Set to true to request shot-level classification. Vertex AI - determines the boundaries for each camera shot in the entire time - segment of the video that user specified in the input instance. - Vertex AI then returns labels and their confidence scores for each - detected shot, along with the start and end time of the shot. - WARNING: Model evaluation is not done for this classification type, - the quality of it depends on the training data, but there are no - metrics provided to describe that quality. Default value is false - type: boolean - oneSecIntervalClassification: - type: boolean - description: >- - Set to true to request classification for a video at one-second - intervals. Vertex AI returns labels and their confidence scores for - each second of the entire time segment of the video that user - specified in the input WARNING: Model evaluation is not done for - this classification type, the quality of it depends on the training - data, but there are no metrics provided to describe that quality. - Default value is false - confidenceThreshold: - description: >- - The Model only returns predictions with at least this confidence - score. Default value is 0.0 - type: number - format: float - segmentClassification: - type: boolean - description: >- - Set to true to request segment-level classification. Vertex AI - returns labels and their confidence scores for the entire time - segment of the video that user specified in the input instance. - Default value is true - maxPredictions: - type: integer - format: int32 + dataset: + description: Migrated Dataset's resource name. + type: string + model: + description: Migrated Model's resource name. + type: string + migratableResource: description: >- - The Model only returns up to that many top, by confidence score, - predictions per instance. If this number is very high, the Model may - return fewer predictions. Default value is 10,000. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation: + Before migration, the identifier in ml.googleapis.com, + automl.googleapis.com or datalabeling.googleapis.com. + $ref: '#/components/schemas/GoogleCloudAiplatformV1MigratableResource' + GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata: + id: GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata + description: Details of operations that batch reads Feature values. + type: object + properties: + genericMetadata: + description: Operation metadata for Featurestore batch read Features values. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1BatchReadFeatureValuesResponse: + id: GoogleCloudAiplatformV1BatchReadFeatureValuesResponse + description: Response message for FeaturestoreService.BatchReadFeatureValues. + type: object + properties: {} + GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata: + id: GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata description: >- - Training pipeline will infer the proper transformation based on the - statistic of dataset. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation + This message will be placed in the metadata field of a + google.longrunning.Operation associated with a + CheckTrialEarlyStoppingState request. + type: object + properties: + genericMetadata: + description: Operation metadata for suggesting Trials. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + study: + description: The name of the Study that the Trial belongs to. + type: string + trial: + description: The Trial name. + type: string + GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse: + id: GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse + description: Response message for VizierService.CheckTrialEarlyStoppingState. + type: object + properties: + shouldStop: + description: True if the Trial should stop. + type: boolean + GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata: + id: GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata + description: Runtime operation information for CreateDeploymentResourcePool method. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateFeatureOperationMetadata: + id: GoogleCloudAiplatformV1CreateFeatureOperationMetadata + description: Details of operations that perform create Feature. + type: object + properties: + genericMetadata: + description: Operation metadata for Feature. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata: + id: GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata + description: Details of operations that perform create Featurestore. + type: object + properties: + genericMetadata: + description: Operation metadata for Featurestore. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata: + id: GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata + description: Details of operations that perform create FeatureGroup. + type: object + properties: + genericMetadata: + description: Operation metadata for FeatureGroup. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata: + id: GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata + description: Details of operations that perform create FeatureGroup. + type: object + properties: + genericMetadata: + description: Operation metadata for Feature. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata: + id: GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata + description: Details of operations that perform create FeatureOnlineStore. + type: object + properties: + genericMetadata: + description: Operation metadata for FeatureOnlineStore. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata: + id: GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata + description: Details of operations that perform create FeatureView. + type: object + properties: + genericMetadata: + description: Operation metadata for FeatureView Create. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata: + id: GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata + description: Details of operations that perform update FeatureOnlineStore. + type: object + properties: + genericMetadata: + description: Operation metadata for FeatureOnlineStore. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata: + id: GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata + description: Details of operations that perform update FeatureView. + type: object + properties: + genericMetadata: + description: Operation metadata for FeatureView Update. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateDatasetOperationMetadata: + id: GoogleCloudAiplatformV1CreateDatasetOperationMetadata + description: Runtime operation information for DatasetService.CreateDataset. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata: + id: GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata + description: Runtime operation information for DatasetService.CreateDatasetVersion. type: object properties: - columnName: - type: string - GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateEndpointOperationMetadata: + id: GoogleCloudAiplatformV1CreateEndpointOperationMetadata + description: Runtime operation information for EndpointService.CreateEndpoint. + type: object properties: - explanationSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' - description: Explanation spec details. - explanationType: - description: >- - Explanation type. For AutoML Image Classification models, possible - values are: * `image-integrated-gradients` * `image-xrai` - type: string - id: GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata: + id: GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata + description: Details of operations that perform MetadataService.CreateMetadataStore. type: object - GoogleCloudAiplatformV1PurgeExecutionsResponse: + properties: + genericMetadata: + description: Operation metadata for creating a MetadataStore. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata: + id: GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata + description: Metadata information for NotebookService.CreateNotebookExecutionJob. type: object properties: - purgeCount: - format: int64 - type: string - description: >- - The number of Executions that this request deleted (or, if `force` - is false, the number of Executions that will be deleted). This can - be an estimate. - purgeSample: - items: - type: string - type: array + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + progressMessage: description: >- - A sample of the Execution names that will be deleted. Only populated - if `force` is set to false. The maximum number of samples is 100 (it - is possible to return fewer). - id: GoogleCloudAiplatformV1PurgeExecutionsResponse - description: Response message for MetadataService.PurgeExecutions. - GoogleCloudAiplatformV1NearestNeighborQueryStringFilter: + A human-readable message that shows the intermediate progress + details of NotebookRuntime. + type: string + GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata: + id: GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata + description: Metadata information for NotebookService.CreateNotebookRuntimeTemplate. type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata: + id: GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata description: >- - String filter is used to search a subset of the entities by using - boolean rules on string columns. For example: if a query specifies - string filter with 'name = color, allow_tokens = {red, blue}, - deny_tokens = {purple}',' then that query will match entities that are - red or blue, but if those points are also purple, then they will be - excluded even if they are red/blue. Only string filter is supported for - now, numeric filter will be supported in the near future. + Runtime operation information for + SpecialistPoolService.CreateSpecialistPool. + type: object properties: - name: - description: Required. Column names in BigQuery that used as filters. - type: string - allowTokens: - type: array - items: - type: string - description: Optional. The allowed tokens. - denyTokens: - description: Optional. The denied tokens. - items: - type: string - type: array - id: GoogleCloudAiplatformV1NearestNeighborQueryStringFilter - GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateIndexOperationMetadata: + id: GoogleCloudAiplatformV1CreateIndexOperationMetadata + description: Runtime operation information for IndexService.CreateIndex. type: object properties: - notebookExecutionJobs: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob' - description: List of NotebookExecutionJobs in the requested page. - nextPageToken: - type: string + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + nearestNeighborSearchOperationMetadata: description: >- - A token to retrieve next page of results. Pass to - ListNotebookExecutionJobs.page_token to obtain that page. - description: Response message for [NotebookService.CreateNotebookExecutionJob] - id: GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse - GoogleCloudAiplatformV1PublisherModelCallToAction: + The operation metadata with regard to Matching Engine Index + operation. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata + GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata: + id: GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata + description: Runtime operation metadata with regard to Matching Engine Index. type: object - description: Actions could take on this Publisher Model. properties: - viewRestApi: - description: Optional. To view Rest API docs. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi - openEvaluationPipeline: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - description: Optional. Open evaluation pipeline of the PublisherModel. - requestAccess: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - description: Optional. Request for access. - openGenie: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - description: Optional. Open Genie / Playground. - openGenerationAiStudio: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - description: Optional. Open in Generation AI Studio. - openFineTuningPipelines: - description: Optional. Open fine-tuning pipelines of the PublisherModel. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines - openPromptTuningPipeline: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - description: Optional. Open prompt-tuning pipeline of the PublisherModel. - openNotebook: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - description: Optional. Open notebook of the PublisherModel. - multiDeployVertex: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex + contentValidationStats: description: >- - Optional. Multiple setups to deploy the PublisherModel to Vertex - Endpoint. - openFineTuningPipeline: - description: Optional. Open fine-tuning pipeline of the PublisherModel. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - deploy: - description: Optional. Deploy the PublisherModel to Vertex Endpoint. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeploy - openNotebooks: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks - description: Optional. Open notebooks of the PublisherModel. - createApplication: - description: Optional. Create application using the PublisherModel. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences - deployGke: - description: Optional. Deploy PublisherModel to Google Kubernetes Engine. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke - id: GoogleCloudAiplatformV1PublisherModelCallToAction - GoogleCloudAiplatformV1UploadModelRequest: + The validation stats of the content (per file) to be inserted or + updated on the Matching Engine Index resource. Populated if + contentsDeltaUri is provided as part of Index.metadata. Please note + that, currently for those files that are broken or has unsupported + file format, we will not have the stats for those files. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats + dataBytesCount: + description: The ingested data size in bytes. + type: string + format: int64 + GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats: + id: >- + GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats type: object properties: - parentModel: + sourceGcsUri: + description: Cloud Storage URI pointing to the original file in user's bucket. type: string - description: >- - Optional. The resource name of the model into which to upload the - version. Only specify this field when uploading a new version. - model: - description: Required. The Model to create. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' - modelId: - description: >- - Optional. The ID to use for the uploaded Model, which will become - the final component of the model resource name. This value may be up - to 63 characters, and valid characters are `[a-z0-9_-]`. The first - character cannot be a number or hyphen. + validRecordCount: + description: Number of records in this file that were successfully processed. type: string - serviceAccount: + format: int64 + invalidRecordCount: + description: Number of records in this file we skipped due to validate errors. type: string + format: int64 + partialErrors: description: >- - Optional. The user-provided custom service account to use to do the - model upload. If empty, [Vertex AI Service - Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) - will be used to access resources needed to upload the model. This - account must belong to the target project where the model is - uploaded to, i.e., the project specified in the `parent` field of - this request and have necessary read permissions (to Google Cloud - Storage, Artifact Registry, etc.). - id: GoogleCloudAiplatformV1UploadModelRequest - description: Request message for ModelService.UploadModel. - GoogleCloudAiplatformV1ScheduleRunResponse: - id: GoogleCloudAiplatformV1ScheduleRunResponse - description: Status of a scheduled run. - properties: - runResponse: - description: The response of the scheduled run. + The detail information of the partial failures encountered for those + invalid records that couldn't be parsed. Up to 50 partial errors + will be reported. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError + validSparseRecordCount: + description: >- + Number of sparse records in this file that were successfully + processed. type: string - scheduledRunTime: + format: int64 + invalidSparseRecordCount: + description: >- + Number of sparse records in this file we skipped due to validate + errors. type: string - description: The scheduled run time based on the user-specified schedule. - format: google-datetime + format: int64 + GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError: + id: GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError type: object - GoogleCloudAiplatformV1EvaluatedAnnotationExplanation: - description: Explanation result of the prediction produced by the Model. properties: - explanation: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Explanation' - description: Explanation attribution response details. - explanationType: + errorType: + description: The error type of this record. type: string + enumDescriptions: + - Default, shall not be used. + - The record is empty. + - Invalid json format. + - Invalid csv format. + - Invalid avro format. + - The embedding id is not valid. + - >- + The size of the dense embedding vectors does not match with the + specified dimension. + - The `namespace` field is missing. + - >- + Generic catch-all error. Only used for validation failure where + the root cause cannot be easily retrieved programmatically. + - There are multiple restricts with the same `namespace` value. + - Numeric restrict has operator specified in datapoint. + - Numeric restrict has multiple values specified. + - Numeric restrict has invalid numeric value specified. + - File is not in UTF_8 format. + - Error parsing sparse dimensions field. + - Token restrict value is invalid. + - Invalid sparse embedding. + - Invalid dense embedding. + enum: + - ERROR_TYPE_UNSPECIFIED + - EMPTY_LINE + - INVALID_JSON_SYNTAX + - INVALID_CSV_SYNTAX + - INVALID_AVRO_SYNTAX + - INVALID_EMBEDDING_ID + - EMBEDDING_SIZE_MISMATCH + - NAMESPACE_MISSING + - PARSING_ERROR + - DUPLICATE_NAMESPACE + - OP_IN_DATAPOINT + - MULTIPLE_VALUES + - INVALID_NUMERIC_VALUE + - INVALID_ENCODING + - INVALID_SPARSE_DIMENSIONS + - INVALID_TOKEN_VALUE + - INVALID_SPARSE_EMBEDDING + - INVALID_EMBEDDING + errorMessage: description: >- - Explanation type. For AutoML Image Classification models, possible - values are: * `image-integrated-gradients` * `image-xrai` - type: object - id: GoogleCloudAiplatformV1EvaluatedAnnotationExplanation - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata: - type: object - properties: - trainCostMilliNodeHours: - description: >- - Output only. The actual training cost of the model, expressed in - milli node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed the train budget. - format: int64 + A human-readable message that is shown to the user to help them fix + the error. Note that this message may change from time to time, your + code should check against error_type as the source of truth. type: string - evaluatedDataItemsBigqueryUri: + sourceGcsUri: + description: Cloud Storage URI pointing to the original file in user's bucket. type: string - description: BigQuery destination uri for exported evaluated examples. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata - description: Model metadata specific to AutoML Forecasting. - GoogleCloudAiplatformV1AddContextChildrenRequest: + embeddingId: + description: Empty if the embedding id is failed to parse. + type: string + rawRecord: + description: The original content of this record. + type: string + GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata: + id: GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata + description: >- + Runtime operation information for + IndexEndpointService.CreateIndexEndpoint. type: object - id: GoogleCloudAiplatformV1AddContextChildrenRequest - description: Request message for MetadataService.AddContextChildren. properties: - childContexts: - description: The resource names of the child Contexts. - items: - type: string - type: array - GoogleCloudAiplatformV1PurgeContextsMetadata: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata: + id: GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata + description: Details of operations that perform create EntityType. type: object - description: Details of operations that perform MetadataService.PurgeContexts. - id: GoogleCloudAiplatformV1PurgeContextsMetadata properties: genericMetadata: + description: Operation metadata for EntityType. $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for purging Contexts. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata: + GoogleCloudAiplatformV1CreateTensorboardOperationMetadata: + id: GoogleCloudAiplatformV1CreateTensorboardOperationMetadata + description: Details of operations that perform create Tensorboard. + type: object properties: - costMilliNodeHours: - type: string - format: int64 - description: >- - The actual training cost of creating this model, expressed in milli - node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed inputs.budgetMilliNodeHours. - successfulStopReason: - type: string - enumDescriptions: - - Should not be set. - - The inputs.budgetMilliNodeHours had been reached. - - >- - Further training of the Model ceased to increase its quality, - since it already has converged. - enum: - - SUCCESSFUL_STOP_REASON_UNSPECIFIED - - BUDGET_REACHED - - MODEL_CONVERGED - description: >- - For successful job completions, this is the reason why the job has - finished. + genericMetadata: + description: Operation metadata for Tensorboard. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata: + id: GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata + description: Details of operations that perform batch create Features. type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata - GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec: properties: - goal: - description: Required. The optimization goal of the metric. - type: string - enumDescriptions: - - Goal Type will default to maximize. - - Maximize the goal metric. - - Minimize the goal metric. - enum: - - GOAL_TYPE_UNSPECIFIED - - MAXIMIZE - - MINIMIZE - metricId: - description: Required. The ID of the metric. Must not contain whitespaces. - type: string - description: Represents a metric to optimize. + genericMetadata: + description: Operation metadata for Feature. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1BatchCreateFeaturesResponse: + id: GoogleCloudAiplatformV1BatchCreateFeaturesResponse + description: Response message for FeaturestoreService.BatchCreateFeatures. type: object - id: GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec - GoogleCloudAiplatformV1ReadIndexDatapointsRequest: - id: GoogleCloudAiplatformV1ReadIndexDatapointsRequest properties: - ids: + features: + description: The Features created. type: array items: - type: string - description: IDs of the datapoints to be searched for. - deployedIndexId: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata: + id: GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata + description: Details of operations that perform create PersistentResource. + type: object + properties: + genericMetadata: + description: Operation metadata for PersistentResource. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + progressMessage: + description: Progress Message for Create LRO type: string - description: The ID of the DeployedIndex that will serve the request. + GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata: + id: GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata + description: Details of operations that delete Feature values. type: object - description: The request message for MatchService.ReadIndexDatapoints. - GoogleCloudAiplatformV1FeatureView: - description: >- - FeatureView is representation of values that the FeatureOnlineStore will - serve based on its syncConfig. properties: - bigQuerySource: - description: >- - Optional. Configures how data is supposed to be extracted from a - BigQuery source to be loaded onto the FeatureOnlineStore. + genericMetadata: + description: Operation metadata for Featurestore delete Features values. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1DeleteFeatureValuesResponse: + id: GoogleCloudAiplatformV1DeleteFeatureValuesResponse + description: Response message for FeaturestoreService.DeleteFeatureValues. + type: object + properties: + selectEntity: + description: Response for request specifying the entities to delete $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewBigQuerySource - indexConfig: + #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity + selectTimeRangeAndFeature: + description: Response for request specifying time range and feature + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature + GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity: + id: GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity + description: Response message if the request uses the SelectEntity option. + type: object + properties: + offlineStorageDeletedEntityRowCount: description: >- - Optional. Configuration for index preparation for vector search. It - contains the required configurations to create an index from source - data, so that approximate nearest neighbor (a.k.a ANN) algorithms - search can be performed during online serving. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewIndexConfig' - name: + The count of deleted entity rows in the offline storage. Each row + corresponds to the combination of an entity ID and a timestamp. One + entity ID can have multiple rows in the offline storage. type: string + format: int64 + onlineStorageDeletedEntityCount: description: >- - Identifier. Name of the FeatureView. Format: - `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` - etag: + The count of deleted entities in the online storage. Each entity ID + corresponds to one entity. type: string + format: int64 + GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature: + id: >- + GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature + description: >- + Response message if the request uses the SelectTimeRangeAndFeature + option. + type: object + properties: + impactedFeatureCount: description: >- - Optional. Used to perform consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. - satisfiesPzi: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - vertexRagSource: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewVertexRagSource - description: Optional. The Vertex RAG Source that the FeatureView is linked to. - labels: - additionalProperties: - type: string - description: >- - 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. - type: object - updateTime: - description: Output only. Timestamp when this FeatureView was last updated. - readOnly: true + The count of the features or columns impacted. This is the same as + the feature count in the request. type: string - format: google-datetime - satisfiesPzs: - readOnly: true - description: Output only. Reserved for future use. - type: boolean - featureRegistrySource: + format: int64 + offlineStorageModifiedEntityRowCount: description: >- - Optional. Configures the features from a Feature Registry source - that need to be loaded onto the FeatureOnlineStore. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource - syncConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewSyncConfig' + The count of modified entity rows in the offline storage. Each row + corresponds to the combination of an entity ID and a timestamp. One + entity ID can have multiple rows in the offline storage. Within each + row, only the features specified in the request are deleted. + type: string + format: int64 + onlineStorageModifiedEntityCount: description: >- - Configures when data is to be synced/updated for this FeatureView. - At the end of the sync the latest featureValues for each entityId of - this FeatureView are made ready for online serving. - createTime: + The count of modified entities in the online storage. Each entity ID + corresponds to one entity. Within each entity, only the features + specified in the request are deleted. type: string - description: Output only. Timestamp when this FeatureView was created. - format: google-datetime - readOnly: true - id: GoogleCloudAiplatformV1FeatureView + format: int64 + GoogleCloudAiplatformV1DeleteOperationMetadata: + id: GoogleCloudAiplatformV1DeleteOperationMetadata + description: Details of operations that perform deletes of any entities. type: object - GoogleCloudAiplatformV1ExportDataRequest: properties: - exportConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportDataConfig' - description: Required. The desired output location. - id: GoogleCloudAiplatformV1ExportDataRequest - description: Request message for DatasetService.ExportData. + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata: + id: GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata + description: Details of operations that perform MetadataService.DeleteMetadataStore. type: object - GoogleCloudAiplatformV1ToolCallValidInput: properties: - instances: - type: array - description: Required. Repeated tool call valid instances. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidInstance' - metricSpec: - description: Required. Spec for tool call valid metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolCallValidSpec' - id: GoogleCloudAiplatformV1ToolCallValidInput - description: Input for tool call valid metric. + genericMetadata: + description: Operation metadata for deleting a MetadataStore. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1DeployModelOperationMetadata: + id: GoogleCloudAiplatformV1DeployModelOperationMetadata + description: Runtime operation information for EndpointService.DeployModel. type: object - GoogleCloudAiplatformV1CoherenceInput: properties: - metricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceSpec' - description: Required. Spec for coherence score metric. - instance: - description: Required. Coherence instance. - $ref: '#/components/schemas/GoogleCloudAiplatformV1CoherenceInstance' - id: GoogleCloudAiplatformV1CoherenceInput + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1DeployModelResponse: + id: GoogleCloudAiplatformV1DeployModelResponse + description: Response message for EndpointService.DeployModel. type: object - description: Input for coherence metric. - GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride: - description: The input metadata entries to be overridden. - id: GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride properties: - inputBaselines: - items: - type: any - description: >- - Baseline inputs for this feature. This overrides the - `input_baseline` field of the ExplanationMetadata.InputMetadata - object of the corresponding feature's input metadata. If it's not - specified, the original baselines are not overridden. - type: array + deployedModel: + description: The DeployedModel that had been deployed in the Endpoint. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' + GoogleCloudAiplatformV1DeployIndexOperationMetadata: + id: GoogleCloudAiplatformV1DeployIndexOperationMetadata + description: Runtime operation information for IndexEndpointService.DeployIndex. type: object - GoogleCloudAiplatformV1SchemaTimeSegment: - description: >- - A time period inside of a DataItem that has a time dimension (e.g. - video). properties: - startTimeOffset: - description: >- - Start of the time segment (inclusive), represented as the duration - since the start of the DataItem. - format: google-duration - type: string - endTimeOffset: - description: >- - End of the time segment (exclusive), represented as the duration - since the start of the DataItem. - format: google-duration + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + deployedIndexId: + description: The unique index id specified by user type: string + GoogleCloudAiplatformV1DeployIndexResponse: + id: GoogleCloudAiplatformV1DeployIndexResponse + description: Response message for IndexEndpointService.DeployIndex. type: object - id: GoogleCloudAiplatformV1SchemaTimeSegment - GoogleCloudAiplatformV1Model: - description: A trained machine learning Model. + properties: + deployedIndex: + description: The DeployedIndex that had been deployed in the IndexEndpoint. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' + GoogleCloudAiplatformV1ExportDataOperationMetadata: + id: GoogleCloudAiplatformV1ExportDataOperationMetadata + description: Runtime operation information for DatasetService.ExportData. type: object properties: - pipelineJob: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + gcsOutputDirectory: description: >- - Optional. This field is populated if the model is produced by a - pipeline job. + A Google Cloud Storage directory which path ends with '/'. The + exported data is stored in the directory. type: string - explanationSpec: - description: >- - The default explanation specification for this Model. The Model can - be used for requesting explanation after being deployed if it is - populated. The Model can be used for batch explanation if it is - populated. All fields of the explanation_spec can be overridden by - explanation_spec of DeployModelRequest.deployed_model, or - explanation_spec of BatchPredictionJob. If the default explanation - specification is not set for this Model, this Model can still be - used for requesting explanation by setting explanation_spec of - DeployModelRequest.deployed_model and for batch explanation by - setting explanation_spec of BatchPredictionJob. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationSpec' - supportedOutputStorageFormats: - items: - type: string - readOnly: true + GoogleCloudAiplatformV1ExportDataResponse: + id: GoogleCloudAiplatformV1ExportDataResponse + description: Response message for DatasetService.ExportData. + type: object + properties: + exportedFiles: description: >- - 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. + All of the files that are exported in this export operation. For + custom code training export, only three (training, validation and + test) Cloud Storage paths in wildcard format are populated (for + example, gs://.../training-*). type: array - name: - type: string - description: The resource name of the Model. - versionDescription: - description: The description of this version. - type: string - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Customer-managed encryption key spec for a Model. If set, this Model - and all sub-resources of this Model will be secured by this key. - originalModelInfo: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelOriginalModelInfo' - readOnly: true - description: >- - Output only. If this Model is a copy of another Model, this contains - info about the original. - satisfiesPzs: - description: Output only. Reserved for future use. - type: boolean - readOnly: true - supportedInputStorageFormats: items: type: string + dataStats: description: >- - 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. - readOnly: true - type: array - artifactUri: - description: >- - Immutable. The path to the directory containing the Model artifact - and any of its supporting files. Not required for AutoML Models. - type: string - metadataArtifact: - type: string + Only present for custom code training export use case. Records data + stats, i.e., train/validation/test item/annotation counts calculated + during the export operation. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelDataStats' + GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata: + id: GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata + description: Details of operations that exports Features values. + type: object + properties: + genericMetadata: + description: Operation metadata for Featurestore export Feature values. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1ExportFeatureValuesResponse: + id: GoogleCloudAiplatformV1ExportFeatureValuesResponse + description: Response message for FeaturestoreService.ExportFeatureValues. + type: object + properties: {} + GoogleCloudAiplatformV1ExportModelOperationMetadata: + id: GoogleCloudAiplatformV1ExportModelOperationMetadata + description: Details of ModelService.ExportModel operation. + type: object + properties: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + outputInfo: description: >- - 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}`. + Output only. Information further describing the output of this Model + export. readOnly: true - predictSchemata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictSchemata' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo + GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo: + id: GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo + description: >- + Further describes the output of the ExportModel. Supplements + ExportModelRequest.OutputConfig. + type: object + properties: + artifactOutputUri: description: >- - The schemata that describe formats of the Model's predictions and - explanations as given and returned via PredictionService.Predict and - PredictionService.Explain. - createTime: - type: string + Output only. If the Model artifact is being exported to Google Cloud + Storage this is the full path of the directory created, into which + the Model files are being written to. readOnly: true - format: google-datetime - description: Output only. Timestamp when this Model was uploaded into Vertex AI. - etag: - description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. type: string - containerSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelContainerSpec' - description: >- - Input only. The specification of the container that is to be used - when deploying this Model. The specification is ingested upon - ModelService.UploadModel, and all binaries it contains are copied - and stored internally by Vertex AI. Not required for AutoML Models. - baseModelSource: - description: >- - Optional. User input field to specify the base model source. - Currently it only supports specifing the Model Garden models and - Genie models. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelBaseModelSource' - labels: + imageOutputUri: description: >- - 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. - type: object - additionalProperties: - type: string - versionUpdateTime: - format: google-datetime - type: string - readOnly: true - description: Output only. Timestamp when this version was most recently updated. - satisfiesPzi: - description: Output only. Reserved for future use. - type: boolean - readOnly: true - deployedModels: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModelRef' - type: array + Output only. If the Model image is being exported to Google + Container Registry or Artifact Registry this is the full path of the + image created. readOnly: true - description: >- - Output only. The pointers to DeployedModels created from this Model. - Note that Model could have been deployed to Endpoints in different - Locations. - dataStats: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelDataStats' - description: >- - Stats of data used for training or evaluating the Model. Only - populated when the Model is trained by a TrainingPipeline with - data_input_config. - description: type: string - description: The description of the Model. - versionAliases: - items: - type: string - description: >- - 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. - type: array - metadataSchemaUri: + GoogleCloudAiplatformV1ExportModelResponse: + id: GoogleCloudAiplatformV1ExportModelResponse + description: Response message of ModelService.ExportModel operation. + type: object + properties: {} + GoogleCloudAiplatformV1ImportDataOperationMetadata: + id: GoogleCloudAiplatformV1ImportDataOperationMetadata + description: Runtime operation information for DatasetService.ImportData. + type: object + properties: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1ImportDataResponse: + id: GoogleCloudAiplatformV1ImportDataResponse + description: Response message for DatasetService.ImportData. + type: object + properties: {} + GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata: + id: GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata + description: Details of operations that perform import Feature values. + type: object + properties: + genericMetadata: + description: Operation metadata for Featurestore import Feature values. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + importedEntityCount: + description: Number of entities that have been imported by the operation. type: string - description: >- - 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. - metadata: - type: any - description: >- - 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. - supportedDeploymentResourcesTypes: + format: int64 + importedFeatureValueCount: + description: Number of Feature values that have been imported by the operation. + type: string + format: int64 + sourceUris: + description: The source URI from where Feature values are imported. type: array - description: >- - 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. - readOnly: true items: - enumDescriptions: - - Should not be used. - - >- - Resources that are dedicated to the DeployedModel, and that need - a higher degree of manual configuration. - - >- - Resources that to large degree are decided by Vertex AI, and - require only a modest additional configuration. - - >- - Resources that can be shared by multiple DeployedModels. A - pre-configured DeploymentResourcePool is required. - enum: - - DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED - - DEDICATED_RESOURCES - - AUTOMATIC_RESOURCES - - SHARED_RESOURCES type: string - displayName: + invalidRowCount: description: >- - Required. The display name of the Model. The name can be up to 128 - characters long and can consist of any UTF-8 characters. - type: string - versionCreateTime: + The number of rows in input source that weren't imported due to + either * Not having any featureValues. * Having a null entityId. * + Having a null timestamp. * Not being parsable (applicable for CSV + sources). type: string - format: google-datetime - description: Output only. Timestamp when this version was created. - readOnly: true - versionId: - readOnly: true + format: int64 + timestampOutsideRetentionRowsCount: description: >- - 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. + The number rows that weren't ingested due to having timestamps + outside the retention boundary. type: string - supportedExportFormats: + format: int64 + blockingOperationIds: description: >- - Output only. The formats in which this Model may be exported. If - empty, this Model is not available for export. + List of ImportFeatureValues operations running under a single + EntityType that are blocking this operation. type: array - readOnly: true items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelExportFormat' - updateTime: + type: string + format: int64 + GoogleCloudAiplatformV1ImportFeatureValuesResponse: + id: GoogleCloudAiplatformV1ImportFeatureValuesResponse + description: Response message for FeaturestoreService.ImportFeatureValues. + type: object + properties: + importedEntityCount: + description: Number of entities that have been imported by the operation. type: string - format: google-datetime - description: Output only. Timestamp when this Model was most recently updated. - readOnly: true - trainingPipeline: + format: int64 + importedFeatureValueCount: + description: Number of Feature values that have been imported by the operation. type: string + format: int64 + invalidRowCount: description: >- - Output only. The resource name of the TrainingPipeline that uploaded - this Model, if any. - readOnly: true - modelSourceInfo: - readOnly: true + The number of rows in input source that weren't imported due to + either * Not having any featureValues. * Having a null entityId. * + Having a null timestamp. * Not being parsable (applicable for CSV + sources). + type: string + format: int64 + timestampOutsideRetentionRowsCount: description: >- - Output only. Source of a model. It can either be automl training - pipeline, custom training pipeline, BigQuery ML, or saved and tuned - from Genie or Model Garden. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelSourceInfo' - id: GoogleCloudAiplatformV1Model - GoogleCloudAiplatformV1ListCustomJobsResponse: - id: GoogleCloudAiplatformV1ListCustomJobsResponse - description: Response message for JobService.ListCustomJobs + The number rows that weren't ingested due to having feature + timestamps outside the retention boundary. + type: string + format: int64 + GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata: + id: GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata + description: >- + Runtime operation information for + IndexEndpointService.MutateDeployedIndex. + type: object properties: - customJobs: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJob' - description: List of CustomJobs in the requested page. - type: array - nextPageToken: - description: >- - A token to retrieve the next page of results. Pass to - ListCustomJobsRequest.page_token to obtain that page. + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + deployedIndexId: + description: The unique index id specified by user type: string + GoogleCloudAiplatformV1MutateDeployedIndexResponse: + id: GoogleCloudAiplatformV1MutateDeployedIndexResponse + description: Response message for IndexEndpointService.MutateDeployedIndex. type: object - GoogleCloudAiplatformV1TrainingConfig: - id: GoogleCloudAiplatformV1TrainingConfig - description: >- - CMLE training config. For every active learning labeling iteration, - system will train a machine learning model on CMLE. The trained model - will be used by data sampling algorithm to select DataItems. properties: - timeoutTrainingMilliHours: + deployedIndex: + description: The DeployedIndex that had been updated in the IndexEndpoint. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' + GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata: + id: GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata + description: Runtime operation information for EndpointService.MutateDeployedModel. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1MutateDeployedModelResponse: + id: GoogleCloudAiplatformV1MutateDeployedModelResponse + description: Response message for EndpointService.MutateDeployedModel. + type: object + properties: + deployedModel: + description: The DeployedModel that's being mutated. + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedModel' + GoogleCloudAiplatformV1PurgeArtifactsResponse: + id: GoogleCloudAiplatformV1PurgeArtifactsResponse + description: Response message for MetadataService.PurgeArtifacts. + type: object + properties: + purgeCount: description: >- - The timeout hours for the CMLE training job, expressed in milli - hours i.e. 1,000 value in this field means 1 hour. + The number of Artifacts that this request deleted (or, if `force` is + false, the number of Artifacts that will be deleted). This can be an + estimate. type: string format: int64 + purgeSample: + description: >- + A sample of the Artifact names that will be deleted. Only populated + if `force` is set to false. The maximum number of samples is 100 (it + is possible to return fewer). + type: array + items: + type: string + GoogleCloudAiplatformV1PurgeArtifactsMetadata: + id: GoogleCloudAiplatformV1PurgeArtifactsMetadata + description: Details of operations that perform MetadataService.PurgeArtifacts. type: object - GoogleCloudAiplatformV1FeatureSelector: - id: GoogleCloudAiplatformV1FeatureSelector + properties: + genericMetadata: + description: Operation metadata for purging Artifacts. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1PurgeContextsMetadata: + id: GoogleCloudAiplatformV1PurgeContextsMetadata + description: Details of operations that perform MetadataService.PurgeContexts. type: object properties: - idMatcher: - description: Required. Matches Features based on ID. - $ref: '#/components/schemas/GoogleCloudAiplatformV1IdMatcher' - description: Selector for Features of an EntityType. - GoogleCloudAiplatformV1SchemaPredictionResult: + genericMetadata: + description: Operation metadata for purging Contexts. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1PurgeContextsResponse: + id: GoogleCloudAiplatformV1PurgeContextsResponse + description: Response message for MetadataService.PurgeContexts. + type: object properties: - key: - description: Optional user-provided key from the input instance. - type: string - error: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaPredictionResultError - description: The error result. Do not set prediction if this is set. - prediction: + purgeCount: description: >- - The prediction result. Value is used here instead of Any so that - JsonFormat does not append an extra "@type" field when we convert - the proto to JSON and so we can represent array of objects. Do not - set error if this is set. - type: any - instance: - additionalProperties: - type: any - description: Properties of the object. - type: object + The number of Contexts that this request deleted (or, if `force` is + false, the number of Contexts that will be deleted). This can be an + estimate. + type: string + format: int64 + purgeSample: description: >- - User's input instance. Struct is used here instead of Any so that - JsonFormat does not append an extra "@type" field when we convert - the proto to JSON. - description: Represents a line of JSONL in the batch prediction output file. + A sample of the Context names that will be deleted. Only populated + if `force` is set to false. The maximum number of samples is 100 (it + is possible to return fewer). + type: array + items: + type: string + GoogleCloudAiplatformV1PurgeExecutionsResponse: + id: GoogleCloudAiplatformV1PurgeExecutionsResponse + description: Response message for MetadataService.PurgeExecutions. type: object - id: GoogleCloudAiplatformV1SchemaPredictionResult - GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance: properties: - mimeType: + purgeCount: + description: >- + The number of Executions that this request deleted (or, if `force` + is false, the number of Executions that will be deleted). This can + be an estimate. type: string + format: int64 + purgeSample: description: >- - The MIME type of the content of the image. Only the images in below - listed MIME types are supported. - image/jpeg - image/png - content: - description: The image bytes to make the predictions on. + A sample of the Execution names that will be deleted. Only populated + if `force` is set to false. The maximum number of samples is 100 (it + is possible to return fewer). + type: array + items: + type: string + GoogleCloudAiplatformV1PurgeExecutionsMetadata: + id: GoogleCloudAiplatformV1PurgeExecutionsMetadata + description: Details of operations that perform MetadataService.PurgeExecutions. + type: object + properties: + genericMetadata: + description: Operation metadata for purging Executions. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata: + id: GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata + description: Details of operations that perform reboot PersistentResource. + type: object + properties: + genericMetadata: + description: Operation metadata for PersistentResource. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + progressMessage: + description: Progress Message for Reboot LRO type: string - description: Prediction input format for Image Segmentation. + GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata: + id: GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata + description: Runtime operation information for DatasetService.RestoreDatasetVersion. type: object - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance - GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig: properties: - modelDisplayName: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata: + id: GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata + description: Metadata information for NotebookService.StartNotebookRuntime. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + progressMessage: description: >- - Optional. Display name of the model in Vertex AI. System will pick a - display name if unspecified. + A human-readable message that shows the intermediate progress + details of NotebookRuntime. type: string - model: + GoogleCloudAiplatformV1SuggestTrialsMetadata: + id: GoogleCloudAiplatformV1SuggestTrialsMetadata + description: Details of operations that perform Trials suggestion. + type: object + properties: + genericMetadata: + description: Operation metadata for suggesting Trials. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + clientId: description: >- - Required. Full resource name of automl Model. Format: - `projects/{project}/locations/{location}/models/{model}`. + The identifier of the client that is requesting the suggestion. If + multiple SuggestTrialsRequests have the same `client_id`, the + service will return the identical suggested Trial if the Trial is + pending, and provide a new Trial if the last suggested Trial was + completed. type: string - type: object - id: GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig - description: >- - Config for migrating Model in automl.googleapis.com to Vertex AI's - Model. - GoogleCloudAiplatformV1ComputeTokensResponse: - id: GoogleCloudAiplatformV1ComputeTokensResponse + GoogleCloudAiplatformV1SuggestTrialsResponse: + id: GoogleCloudAiplatformV1SuggestTrialsResponse + description: Response message for VizierService.SuggestTrials. type: object properties: - tokensInfo: + trials: + description: A list of Trials. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TokensInfo' - description: >- - Lists of tokens info from the input. A ComputeTokensRequest could - have multiple instances with a prompt in each instance. We also need - to return lists of tokens info for the request with multiple - instances. - description: Response message for ComputeTokens RPC call. - GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + studyState: + description: The state of the Study. + type: string + enumDescriptions: + - The study state is unspecified. + - The study is active. + - The study is stopped due to an internal error. + - >- + The study is done when the service exhausts the parameter search + space or max_trial_count is reached. + enum: + - STATE_UNSPECIFIED + - ACTIVE + - INACTIVE + - COMPLETED + startTime: + description: The time at which the operation was started. + type: string + format: google-datetime + endTime: + description: The time at which operation processing completed. + type: string + format: google-datetime + GoogleCloudAiplatformV1UndeployModelOperationMetadata: + id: GoogleCloudAiplatformV1UndeployModelOperationMetadata + description: Runtime operation information for EndpointService.UndeployModel. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UndeployModelResponse: + id: GoogleCloudAiplatformV1UndeployModelResponse + description: Response message for EndpointService.UndeployModel. + type: object + properties: {} + GoogleCloudAiplatformV1UndeployIndexOperationMetadata: + id: GoogleCloudAiplatformV1UndeployIndexOperationMetadata + description: Runtime operation information for IndexEndpointService.UndeployIndex. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UndeployIndexResponse: + id: GoogleCloudAiplatformV1UndeployIndexResponse + description: Response message for IndexEndpointService.UndeployIndex. + type: object + properties: {} + GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata: + id: GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata + description: Runtime operation information for UpdateDeploymentResourcePool method. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata: + id: GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata + description: Runtime operation information for ModelService.UpdateExplanationDataset. + type: object + properties: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateExplanationDatasetResponse: + id: GoogleCloudAiplatformV1UpdateExplanationDatasetResponse + description: Response message of ModelService.UpdateExplanationDataset operation. + type: object + properties: {} + GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata: + id: >- + GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata description: >- - The decay curve automated stopping rule builds a Gaussian Process - Regressor to predict the final objective value of a Trial based on the - already completed Trials and the intermediate measurements of the - current Trial. Early stopping is requested for the current Trial if - there is very low probability to exceed the optimal value found so far. - id: GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec + Runtime operation information for + JobService.UpdateModelDeploymentMonitoringJob. + type: object properties: - useElapsedDuration: - type: boolean - description: >- - True if Measurement.elapsed_duration is used as the x-axis of each - Trials Decay Curve. Otherwise, Measurement.step_count will be used - as the x-axis. + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata: + id: GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata + description: Details of operations that perform update FeatureGroup. type: object - GoogleCloudAiplatformV1RayMetricSpec: - description: Configuration for the Ray metrics. properties: - disabled: - description: Optional. Flag to disable the Ray metrics collection. - type: boolean + genericMetadata: + description: Operation metadata for FeatureGroup. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateFeatureOperationMetadata: + id: GoogleCloudAiplatformV1UpdateFeatureOperationMetadata + description: Details of operations that perform update Feature. type: object - id: GoogleCloudAiplatformV1RayMetricSpec - GoogleCloudAiplatformV1PersistentResource: + properties: + genericMetadata: + description: Operation metadata for Feature Update. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata: + id: GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata + description: Details of operations that perform update Featurestore. type: object properties: - state: - enum: - - STATE_UNSPECIFIED - - PROVISIONING - - RUNNING - - STOPPING - - ERROR - - REBOOTING - - UPDATING - description: Output only. The detailed state of a Study. - enumDescriptions: - - Not set. - - >- - The PROVISIONING state indicates the persistent resources is being - created. - - >- - The RUNNING state indicates the persistent resource is healthy and - fully usable. - - >- - The STOPPING state indicates the persistent resource is being - deleted. - - >- - The ERROR state indicates the persistent resource may be unusable. - Details can be found in the `error` field. - - >- - The REBOOTING state indicates the persistent resource is being - rebooted (PR is not available right now but is expected to be - ready again later). - - >- - The UPDATING state indicates the persistent resource is being - updated. - type: string - readOnly: true - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Optional. Customer-managed encryption key spec for a - PersistentResource. If set, this PersistentResource and all - sub-resources of this PersistentResource will be secured by this - key. - satisfiesPzs: - type: boolean - description: Output only. Reserved for future use. - readOnly: true - error: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Output only. Only populated when persistent resource's state is - `STOPPING` or `ERROR`. - readOnly: true - satisfiesPzi: - readOnly: true - description: Output only. Reserved for future use. - type: boolean - createTime: - readOnly: true - description: Output only. Time when the PersistentResource was created. + genericMetadata: + description: Operation metadata for Featurestore. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata: + id: GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata + description: Details of operations that perform update PersistentResource. + type: object + properties: + genericMetadata: + description: Operation metadata for PersistentResource. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + progressMessage: + description: Progress Message for Update LRO type: string - format: google-datetime - labels: - description: >- - 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. - additionalProperties: - type: string - type: object - startTime: + GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata: + id: GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata + description: >- + Runtime operation metadata for + SpecialistPoolService.UpdateSpecialistPool. + type: object + properties: + specialistPool: description: >- - Output only. Time when the PersistentResource for the first time - entered the `RUNNING` state. - type: string + Output only. The name of the SpecialistPool to which the specialists + are being added. Format: + `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}` readOnly: true - format: google-datetime - resourceRuntimeSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourceRuntimeSpec' - description: >- - Optional. Persistent Resource runtime spec. For example, used for - Ray cluster configuration. - name: type: string - description: Immutable. Resource name of a PersistentResource. - reservedIpRanges: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata: + id: GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata + description: Details of operations that perform update Tensorboard. + type: object + properties: + genericMetadata: + description: Operation metadata for Tensorboard. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UpdateIndexOperationMetadata: + id: GoogleCloudAiplatformV1UpdateIndexOperationMetadata + description: Runtime operation information for IndexService.UpdateIndex. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + nearestNeighborSearchOperationMetadata: description: >- - 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']. - type: array - items: - type: string - network: + The operation metadata with regard to Matching Engine Index + operation. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata + GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata: + id: GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata + description: Metadata information for NotebookService.UpgradeNotebookRuntime. + type: object + properties: + genericMetadata: + description: The operation generic information. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + progressMessage: description: >- - 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. - type: string - resourcePools: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourcePool' - description: Required. The spec of the pools of different resources. - displayName: + A human-readable message that shows the intermediate progress + details of NotebookRuntime. type: string + GoogleCloudAiplatformV1UploadModelOperationMetadata: + id: GoogleCloudAiplatformV1UploadModelOperationMetadata + description: Details of ModelService.UploadModel operation. + type: object + properties: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1UploadModelResponse: + id: GoogleCloudAiplatformV1UploadModelResponse + description: Response message of ModelService.UploadModel operation. + type: object + properties: + model: description: >- - Optional. The display name of the PersistentResource. The name can - be up to 128 characters long and can consist of any UTF-8 - characters. - resourceRuntime: - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1ResourceRuntime' - description: Output only. Runtime information of the Persistent Resource. - updateTime: - format: google-datetime - description: >- - Output only. Time when the PersistentResource was most recently - updated. + The name of the uploaded Model resource. Format: + `projects/{project}/locations/{location}/models/{model}` type: string + modelVersionId: + description: Output only. The version ID of the model that is uploaded. readOnly: true - id: GoogleCloudAiplatformV1PersistentResource - description: >- - Represents long-lasting resources that are dedicated to users to runs - custom workloads. A PersistentResource can have multiple node pools and - each node pool can have its own machine spec. - GoogleCloudAiplatformV1ListTuningJobsResponse: - description: Response message for GenAiTuningService.ListTuningJobs - id: GoogleCloudAiplatformV1ListTuningJobsResponse - properties: - nextPageToken: type: string - description: >- - A token to retrieve the next page of results. Pass to - ListTuningJobsRequest.page_token to obtain that page. - tuningJobs: - description: List of TuningJobs in the requested page. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' - type: array + GoogleCloudAiplatformV1CopyModelOperationMetadata: + id: GoogleCloudAiplatformV1CopyModelOperationMetadata + description: Details of ModelService.CopyModel operation. type: object - GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata: - description: Usage metadata about response(s). - id: GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata + properties: + genericMetadata: + description: The common part of the operation metadata. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' + GoogleCloudAiplatformV1CopyModelResponse: + id: GoogleCloudAiplatformV1CopyModelResponse + description: Response message of ModelService.CopyModel operation. type: object properties: - totalTokenCount: - format: int32 - description: Total token count for prompt and response candidates. - type: integer - promptTokenCount: - format: int32 - type: integer + model: description: >- - Number of tokens in the request. When `cached_content` is set, this - is still the total effective prompt size meaning this includes the - number of tokens in the cached content. - candidatesTokenCount: - type: integer - description: Number of tokens in the response(s). - format: int32 - GoogleCloudAiplatformV1BatchReadFeatureValuesRequest: - id: GoogleCloudAiplatformV1BatchReadFeatureValuesRequest + The name of the copied Model resource. Format: + `projects/{project}/locations/{location}/models/{model}` + type: string + modelVersionId: + description: Output only. The version ID of the model that is copied. + readOnly: true + type: string + GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics: + id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics + description: >- + Bounding box matching model metrics for a single intersection-over-union + threshold and multiple label match confidence thresholds. type: object properties: - passThroughFields: + iouThreshold: description: >- - When not empty, the specified fields in the *_read_instances source - will be joined as-is in the output, in addition to those fields from - the Featurestore Entity. For BigQuery source, the type of the - pass-through values will be automatically inferred. For CSV source, - the pass-through values will be passed as opaque bytes. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField - entityTypeSpecs: + The intersection-over-union threshold value used to compute this + metrics entry. + type: number + format: float + meanAveragePrecision: + description: The mean average precision, most often close to `auPrc`. + type: number + format: float + confidenceMetrics: + description: >- + Metrics for each label-match confidence_threshold from + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is + derived from them. type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec - description: >- - Required. Specifies EntityType grouping Features to read values of - and settings. - bigqueryReadInstances: - description: Similar to csv_read_instances, but from BigQuery source. - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' - destination: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValueDestination' - description: Required. Specifies output location and format. - startTime: - type: string - format: google-datetime - description: >- - Optional. Excludes Feature values with feature generation timestamp - before this timestamp. If not set, retrieve oldest values kept in - Feature Store. Timestamp, if present, must not have higher than - millisecond precision. - csvReadInstances: - description: >- - Each read instance consists of exactly one read timestamp and one or - more entity IDs identifying entities of the corresponding - EntityTypes whose Features are requested. Each output instance - contains Feature values of requested entities concatenated together - as of the read time. An example read instance may be `foo_entity_id, - bar_entity_id, 2020-01-01T10:00:00.123Z`. An example output instance - may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z, - foo_entity_feature1_value, bar_entity_feature2_value`. Timestamp in - each read instance must be millisecond-aligned. `csv_read_instances` - are read instances stored in a plain-text CSV file. The header - should be: [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp The - columns can be in any order. Values in the timestamp column must use - the RFC 3339 format, e.g. `2012-07-30T10:43:17.123Z`. - $ref: '#/components/schemas/GoogleCloudAiplatformV1CsvSource' - description: Request message for FeaturestoreService.BatchReadFeatureValues. - GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec: + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics + GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics + description: Metrics for a single confidence threshold. + type: object properties: - featureSelector: + confidenceThreshold: + description: The confidence threshold value used to compute the metrics. + type: number + format: float + recall: + description: Recall under the given confidence threshold. + type: number + format: float + precision: + description: Precision under the given confidence threshold. + type: number + format: float + f1Score: + description: The harmonic mean of recall and precision. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics + description: Metrics for classification evaluation results. + type: object + properties: + auPrc: description: >- - Required. Selectors choosing which Feature values to read from the - EntityType. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' - entityTypeId: + The Area Under Precision-Recall Curve metric. Micro-averaged for the + overall evaluation. + type: number + format: float + auRoc: description: >- - Required. ID of the EntityType to select Features. The EntityType id - is the entity_type_id specified during EntityType creation. - type: string - settings: - description: Per-Feature settings for the batch read. + The Area Under Receiver Operating Characteristic curve metric. + Micro-averaged for the overall evaluation. + type: number + format: float + logLoss: + description: The Log Loss metric. + type: number + format: float + confidenceMetrics: + description: >- + Metrics for each `confidenceThreshold` in + 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` + = INT32_MAX_VALUE. ROC and precision-recall curves, and other + aggregated metrics are derived from them. The confidence metrics + entries may also be supplied for additional values of + `positionThreshold`, but from these no aggregated metrics are + computed. type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DestinationFeatureSetting - id: GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec - type: object - description: >- - Selects Features of an EntityType to read values of and specifies read - settings. - GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata: - id: GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for FeatureGroup. - type: object - description: Details of operations that perform create FeatureGroup. - GoogleCloudAiplatformV1ModelGardenSource: - description: >- - Contains information about the source of the models generated from Model - Garden. + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics + confusionMatrix: + description: Confusion matrix of the evaluation. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix + GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics type: object - id: GoogleCloudAiplatformV1ModelGardenSource - properties: - publicModelName: - type: string - description: Required. The model garden source model resource name. - GoogleCloudAiplatformV1SchemaTextSentimentAnnotation: - description: Annotation details specific to text sentiment. - id: GoogleCloudAiplatformV1SchemaTextSentimentAnnotation properties: - sentimentMax: - format: int32 - type: integer - description: The sentiment max score for text. - annotationSpecId: - type: string + confidenceThreshold: description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - sentiment: + Metrics are computed with an assumption that the Model never returns + predictions with score lower than this value. + type: number + format: float + maxPredictions: + description: >- + Metrics are computed with an assumption that the Model always + returns at most this many predictions (ordered by their score, + descendingly), but they all still need to meet the + `confidenceThreshold`. type: integer - description: The sentiment score for text. format: int32 - displayName: + recall: + description: Recall (True Positive Rate) for the given confidence threshold. + type: number + format: float + precision: + description: Precision for the given confidence threshold. + type: number + format: float + falsePositiveRate: + description: False Positive Rate for the given confidence threshold. + type: number + format: float + f1Score: + description: >- + The harmonic mean of recall and precision. For summary metrics, it + computes the micro-averaged F1 score. + type: number + format: float + f1ScoreMicro: + description: Micro-averaged F1 Score. + type: number + format: float + f1ScoreMacro: + description: Macro-averaged F1 Score. + type: number + format: float + recallAt1: + description: >- + The Recall (True Positive Rate) when only considering the label that + has the highest prediction score and not below the confidence + threshold for each DataItem. + type: number + format: float + precisionAt1: + description: >- + The precision when only considering the label that has the highest + prediction score and not below the confidence threshold for each + DataItem. + type: number + format: float + falsePositiveRateAt1: + description: >- + The False Positive Rate when only considering the label that has the + highest prediction score and not below the confidence threshold for + each DataItem. + type: number + format: float + f1ScoreAt1: + description: The harmonic mean of recallAt1 and precisionAt1. + type: number + format: float + truePositiveCount: + description: The number of Model created labels that match a ground truth label. type: string + format: int64 + falsePositiveCount: description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - type: object - GoogleCloudAiplatformV1ListDataLabelingJobsResponse: - id: GoogleCloudAiplatformV1ListDataLabelingJobsResponse - properties: - dataLabelingJobs: + The number of Model created labels that do not match a ground truth + label. + type: string + format: int64 + falseNegativeCount: description: >- - A list of DataLabelingJobs that matches the specified filter in the - request. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' - type: array - nextPageToken: + The number of ground truth labels that are not matched by a Model + created label. type: string - description: The standard List next-page token. - description: Response message for JobService.ListDataLabelingJobs. - type: object - GoogleCloudAiplatformV1ListPersistentResourcesResponse: - type: object - properties: - persistentResources: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' - type: array - nextPageToken: + format: int64 + trueNegativeCount: description: >- - A token to retrieve next page of results. Pass to - ListPersistentResourcesRequest.page_token to obtain that page. + The number of labels that were not created by the Model, but if they + would, they would not match a ground truth label. type: string - id: GoogleCloudAiplatformV1ListPersistentResourcesResponse - description: Response message for PersistentResourceService.ListPersistentResources - GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig: - properties: - bigquerySource: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource - gcsSource: + format: int64 + confusionMatrix: + description: Confusion matrix of the evaluation for this confidence_threshold. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource - type: object - description: >- - The time series Dataset's data source. The Dataset doesn't store the - data directly, but only pointer(s) to its data. - id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig - GoogleCloudAiplatformV1SafetyInput: - properties: - metricSpec: - description: Required. Spec for safety metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetySpec' - instance: - description: Required. Safety instance. - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyInstance' - description: Input for safety metric. - id: GoogleCloudAiplatformV1SafetyInput + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix + GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix: + id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix type: object - GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec: - id: GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec properties: - configs: - type: object - additionalProperties: + annotationSpecs: + description: >- + AnnotationSpecs used in the confusion matrix. For AutoML Text + Extraction, a special negative AnnotationSpec with empty `id` and + `displayName` of "NULL" will be added as the last element. + type: array + items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef + rows: description: >- - Mapping configuration for this SliceSpec. The key is the name of the - feature. By default, the key will be prefixed by "instance" as a - dictionary prefix for Vertex Batch Predictions output format. - type: object - description: Specification for how the data should be sliced. - GoogleCloudAiplatformV1FulfillmentInstance: - description: Spec for fulfillment instance. + Rows in the confusion matrix. The number of rows is equal to the + size of `annotationSpecs`. `rowsi` is the number of DataItems that + have ground truth of the `annotationSpecs[i]` and are predicted as + `annotationSpecs[j]` by the Model being evaluated. For Text + Extraction, when `annotationSpecs[i]` is the last element in + `annotationSpecs`, i.e. the special negative AnnotationSpec, `rowsi` + is the number of predicted entities of `annoatationSpec[j]` that are + not labeled as any of the ground truth AnnotationSpec. When + annotationSpecs[j] is the special negative AnnotationSpec, `rowsi` + is the number of entities have ground truth of `annotationSpec[i]` + that are not predicted as an entity by the Model. The value of the + last cell, i.e. `rowi` where i == j and `annotationSpec[i]` is the + special negative AnnotationSpec, is always 0. + type: array + items: + type: array + items: + type: any + GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef type: object - id: GoogleCloudAiplatformV1FulfillmentInstance properties: - instruction: + id: + description: ID of the AnnotationSpec. type: string - description: Required. Inference instruction prompt to compare prediction with. - prediction: + displayName: + description: Display name of the AnnotationSpec. type: string - description: Required. Output of the evaluated model. - GoogleCloudAiplatformV1ImportDataResponse: - id: GoogleCloudAiplatformV1ImportDataResponse - description: Response message for DatasetService.ImportData. + GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics + description: Metrics for forecasting evaluation results. type: object - properties: {} + properties: + rootMeanSquaredError: + description: Root Mean Squared Error (RMSE). + type: number + format: float + meanAbsoluteError: + description: Mean Absolute Error (MAE). + type: number + format: float + meanAbsolutePercentageError: + description: >- + Mean absolute percentage error. Infinity when there are zeros in the + ground truth. + type: number + format: float + rSquared: + description: >- + Coefficient of determination as Pearson correlation coefficient. + Undefined when ground truth or predictions are constant or near + constant. + type: number + format: float + rootMeanSquaredLogError: + description: >- + Root mean squared log error. Undefined when there are negative + ground truth values or predictions. + type: number + format: float + quantileMetrics: + description: The quantile metrics entries for each quantile. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry + weightedAbsolutePercentageError: + description: >- + Weighted Absolute Percentage Error. Does not use weights, this is + just what the metric is called. Undefined if actual values sum to + zero. Will be very large if actual values sum to a very small + number. + type: number + format: float + rootMeanSquaredPercentageError: + description: >- + Root Mean Square Percentage Error. Square root of MSPE. + Undefined/imaginary when MSPE is negative. + type: number + format: float GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry: - type: object + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry description: Entry for the Quantiles loss type optimization objective. + type: object properties: + quantile: + description: The quantile for this entry. + type: number + format: double scaledPinballLoss: description: The scaled pinball loss of this quantile. - format: float type: number + format: float observedQuantile: - type: number description: >- This is a custom metric that calculates the percentage of true values that were less than the predicted value for that quantile. @@ -20400,1988 +20627,2399 @@ components: and each entry corresponds to an entry in quantiles The percent value can be used to compare with the quantile value, which is the target value. - format: double - quantile: - description: The quantile for this entry. type: number format: double + GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics: id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry - GoogleCloudAiplatformV1AddTrialMeasurementRequest: - properties: - measurement: - description: Required. The measurement to be added to a Trial. - $ref: '#/components/schemas/GoogleCloudAiplatformV1Measurement' - id: GoogleCloudAiplatformV1AddTrialMeasurementRequest + GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics type: object - description: Request message for VizierService.AddTrialMeasurement. - GoogleCloudAiplatformV1ReadFeatureValuesResponse: properties: - entityView: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView + bleu: description: >- - Entity view with Feature values. This may be the entity in the - Featurestore if values for all Features were requested, or a - projection of the entity in the Featurestore if values for only some - Features were requested. - header: - description: Response header. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader - id: GoogleCloudAiplatformV1ReadFeatureValuesResponse - type: object - description: Response message for FeaturestoreOnlineServingService.ReadFeatureValues. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics: - properties: - f1Score: - type: number - format: float - description: Output only. The harmonic mean of recall and precision. - recall: - type: number - description: Output only. Recall for the given confidence threshold. - format: float - confidenceThreshold: + BLEU (bilingual evaluation understudy) scores based on sacrebleu + implementation. type: number - description: >- - Output only. The confidence threshold value used to compute the - metrics. format: float - precision: + rougeLSum: + description: ROUGE-L (Longest Common Subsequence) scoring at summary level. type: number format: float - description: Output only. Precision for the given confidence threshold. - type: object - description: Metrics for a single confidence threshold. + GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics: id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics - GoogleCloudAiplatformV1AutomaticResources: - description: >- - A description of resources that to large degree are decided by Vertex - AI, and require only a modest additional configuration. Each Model - supporting these resources documents its specific guidelines. + GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics + description: Metrics for image object detection evaluation results. type: object - id: GoogleCloudAiplatformV1AutomaticResources properties: - minReplicaCount: - type: integer - description: >- - Immutable. The minimum number of replicas this DeployedModel will be - always deployed on. If traffic against it increases, it may - dynamically be deployed onto more replicas up to max_replica_count, - and as traffic decreases, some of these extra replicas may be freed. - If the requested value is too large, the deployment will error. - format: int32 - maxReplicaCount: + evaluatedBoundingBoxCount: description: >- - Immutable. The maximum number of replicas this DeployedModel may be - deployed on when the traffic against it increases. If the requested - value is too large, the deployment will error, but if deployment - succeeds then the ability to scale the model to that many replicas - is guaranteed (barring service outages). If traffic against the - DeployedModel increases beyond what its replicas at maximum may - handle, a portion of the traffic will be dropped. If this value is - not provided, a no upper bound for scaling under heavy traffic will - be assume, though Vertex AI may be unable to scale beyond certain - replica number. + The total number of bounding boxes (i.e. summed over all images) the + ground truth used to create this evaluation had. type: integer format: int32 - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation: - type: object - properties: - columnName: - type: string - timeFormat: + boundingBoxMetrics: description: >- - The format in which that time field is expressed. The time_format - must either be one of: * `unix-seconds` * `unix-milliseconds` * - `unix-microseconds` * `unix-nanoseconds` (for respectively number of - seconds, milliseconds, microseconds and nanoseconds since start of - the Unix epoch); or be written in `strftime` syntax. If time_format - is not set, then the default format is RFC 3339 `date-time` format, - where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) - type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation - description: >- - Training pipeline will perform following transformation functions. * - Apply the transformation functions for Numerical columns. * Determine - the year, month, day,and weekday. Treat each value from the timestamp as - a Categorical column. * Invalid numerical values (for example, values - that fall outside of a typical timestamp range, or are extreme values) - receive no special treatment and are not removed. - GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec: - id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec - properties: - useReference: - type: boolean + The bounding boxes match metrics for each intersection-over-union + threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label + confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics + boundingBoxMeanAveragePrecision: description: >- - Optional. Whether to use instance.reference to compute question - answering helpfulness. - version: - description: Optional. Which version to use for evaluation. - format: int32 - type: integer - description: Spec for question answering helpfulness metric. + The single metric for bounding boxes evaluation: the + `meanAveragePrecision` averaged over all + `boundingBoxMetricsEntries`. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics + description: Metrics for image segmentation evaluation results. type: object - GoogleCloudAiplatformV1SampledShapleyAttribution: properties: - pathCount: + confidenceMetricsEntries: description: >- - Required. The number of feature permutations to consider when - approximating the Shapley values. Valid range of its value is [1, - 50], inclusively. - type: integer - format: int32 - type: object - description: >- - An attribution method that approximates Shapley values for features that - contribute to the label being predicted. A sampling strategy is used to - approximate the value rather than considering all subsets of features. - id: GoogleCloudAiplatformV1SampledShapleyAttribution - GoogleCloudAiplatformV1QuestionAnsweringQualityResult: - id: GoogleCloudAiplatformV1QuestionAnsweringQualityResult + Metrics for each confidenceThreshold in + 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve + can be derived from it. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry + GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry type: object properties: - score: + confidenceThreshold: + description: >- + Metrics are computed with an assumption that the model never returns + predictions with score lower than this value. + type: number format: float - readOnly: true + recall: + description: Recall (True Positive Rate) for the given confidence threshold. type: number - description: Output only. Question Answering Quality score. - explanation: - type: string - readOnly: true - description: Output only. Explanation for question answering quality score. - confidence: format: float - description: Output only. Confidence for question answering quality score. + precision: + description: Precision for the given confidence threshold. type: number - readOnly: true - description: Spec for question answering quality result. - GoogleCloudAiplatformV1PipelineTemplateMetadata: - description: >- - Pipeline template metadata if PipelineJob.template_uri is from supported - template registry. Currently, the only supported registry is Artifact - Registry. - properties: - version: - type: string + format: float + diceScoreCoefficient: + description: DSC or the F1 score, The harmonic mean of recall and precision. + type: number + format: float + iouScore: description: >- - The version_name in artifact registry. Will always be presented in - output if the PipelineJob.template_uri is from supported template - registry. Format is "sha256:abcdef123456...". - type: object - id: GoogleCloudAiplatformV1PipelineTemplateMetadata - GoogleCloudAiplatformV1BatchPredictionJobInputConfig: - id: GoogleCloudAiplatformV1BatchPredictionJobInputConfig + The intersection-over-union score. The measure of overlap of the + annotation's category mask with ground truth category mask on the + DataItem. + type: number + format: float + confusionMatrix: + description: Confusion matrix for the given confidence threshold. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix + GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics type: object - description: >- - Configures the input to BatchPredictionJob. See - Model.supported_input_storage_formats for Model's supported input - formats, and how instances should be expressed via any of them. properties: - instancesFormat: - type: string - description: >- - Required. The format in which instances are given, must be one of - the Model's supported_input_storage_formats. - gcsSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' - description: The Cloud Storage location for the input instances. - bigquerySource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' + exactMatch: description: >- - The BigQuery location of the input table. The schema of the table - should be in the format described by the given context OpenAPI - Schema, if one is provided. The table may contain additional columns - that are not described by the schema, and they will be ignored. - GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint: + The rate at which the input predicted strings exactly match their + references. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics + description: Metrics for regression evaluation results. + type: object properties: - publicEndpointDomainName: - readOnly: true + rootMeanSquaredError: + description: Root Mean Squared Error (RMSE). + type: number + format: float + meanAbsoluteError: + description: Mean Absolute Error (MAE). + type: number + format: float + meanAbsolutePercentageError: description: >- - Output only. This field will be populated with the domain name to - use for this FeatureOnlineStore - type: string - serviceAttachment: - readOnly: true + Mean absolute percentage error. Infinity when there are zeros in the + ground truth. + type: number + format: float + rSquared: description: >- - Output only. The name of the service attachment resource. Populated - if private service connect is enabled and after FeatureViewSync is - created. - type: string - privateServiceConnectConfig: + Coefficient of determination as Pearson correlation coefficient. + Undefined when ground truth or predictions are constant or near + constant. + type: number + format: float + rootMeanSquaredLogError: description: >- - Optional. Private service connect config. The private service - connection is available only for Optimized storage type, not for - embedding management now. If - PrivateServiceConnectConfig.enable_private_service_connect set to - true, customers will use private service connection to send request. - Otherwise, the connection will set to public endpoint. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PrivateServiceConnectConfig - description: >- - The dedicated serving endpoint for this FeatureOnlineStore. Only need to - set when you choose Optimized storage type. Public endpoint is - provisioned by default. + Root mean squared log error. Undefined when there are negative + ground truth values or predictions. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics type: object - id: GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint - GoogleCloudAiplatformV1WriteTensorboardRunDataResponse: - description: Response message for TensorboardService.WriteTensorboardRunData. - id: GoogleCloudAiplatformV1WriteTensorboardRunDataResponse - properties: {} + properties: + rougeLSum: + description: ROUGE-L (Longest Common Subsequence) scoring at summary level. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics + description: Metrics for text extraction evaluation results. type: object - GoogleCloudAiplatformV1Part: properties: - fileData: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FileData' - description: Optional. URI based data. - functionCall: - description: >- - Optional. A predicted [FunctionCall] returned from the model that - contains a string representing the [FunctionDeclaration.name] with - the parameters and their values. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionCall' - videoMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1VideoMetadata' + confidenceMetrics: description: >- - Optional. Video metadata. The metadata should only be specified - while the video data is presented in inline_data or file_data. - text: - type: string - description: Optional. Text part (can be code). - inlineData: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Blob' - description: Optional. Inlined bytes data. - functionResponse: + Metrics that have confidence thresholds. Precision-recall curve can + be derived from them. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics + confusionMatrix: description: >- - Optional. The result output of a [FunctionCall] that contains a - string representing the [FunctionDeclaration.name] and a structured - JSON object containing any output from the function call. It is used - as context to the model. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FunctionResponse' + Confusion matrix of the evaluation. Only set for Models where number + of AnnotationSpecs is no more than 10. Only set for + ModelEvaluations, not for ModelEvaluationSlices. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics type: object - description: >- - A datatype containing media that is part of a multi-part `Content` - message. A `Part` consists of data which has an associated datatype. A - `Part` can only contain one of the accepted types in `Part.data`. A - `Part` must have a fixed IANA MIME type identifying the type and subtype - of the media if `inline_data` or `file_data` field is filled with raw - bytes. - id: GoogleCloudAiplatformV1Part - GoogleCloudAiplatformV1FileData: properties: - mimeType: - description: Required. The IANA standard MIME type of the source data. - type: string - fileUri: - type: string - description: Required. URI. - id: GoogleCloudAiplatformV1FileData + confidenceThreshold: + description: >- + Metrics are computed with an assumption that the Model never returns + predictions with score lower than this value. + type: number + format: float + recall: + description: Recall (True Positive Rate) for the given confidence threshold. + type: number + format: float + precision: + description: Precision for the given confidence threshold. + type: number + format: float + f1Score: + description: The harmonic mean of recall and precision. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics + description: Model evaluation metrics for text sentiment problems. type: object - description: URI based data. - GoogleCloudAiplatformV1AnnotationSpec: - description: Identifies a concept with which DataItems may be annotated with. properties: - etag: - type: string + precision: + description: Precision. + type: number + format: float + recall: + description: Recall. + type: number + format: float + f1Score: + description: The harmonic mean of recall and precision. + type: number + format: float + meanAbsoluteError: description: >- - Optional. Used to perform consistent read-modify-write updates. If - not set, a blind "overwrite" update happens. - createTime: - readOnly: true - description: Output only. Timestamp when this AnnotationSpec was created. - type: string - format: google-datetime - displayName: + Mean absolute error. Only set for ModelEvaluations, not for + ModelEvaluationSlices. + type: number + format: float + meanSquaredError: description: >- - 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. - type: string - updateTime: - format: google-datetime - description: Output only. Timestamp when AnnotationSpec was last updated. - readOnly: true - type: string - name: - description: Output only. Resource name of the AnnotationSpec. - readOnly: true - type: string - id: GoogleCloudAiplatformV1AnnotationSpec - type: object - GoogleCloudAiplatformV1PrivateEndpoints: - id: GoogleCloudAiplatformV1PrivateEndpoints - type: object - description: >- - PrivateEndpoints proto is used to provide paths for users to send - requests privately. To send request via private service access, use - predict_http_uri, explain_http_uri or health_http_uri. To send request - via private service connect, use service_attachment. - properties: - serviceAttachment: - type: string + Mean squared error. Only set for ModelEvaluations, not for + ModelEvaluationSlices. + type: number + format: float + linearKappa: description: >- - Output only. The name of the service attachment resource. Populated - if private service connect is enabled. - readOnly: true - predictHttpUri: - readOnly: true - description: Output only. Http(s) path to send prediction requests. - type: string - healthHttpUri: - description: Output only. Http(s) path to send health check requests. - type: string - readOnly: true - explainHttpUri: - description: Output only. Http(s) path to send explain requests. - type: string - readOnly: true - GoogleCloudAiplatformV1ListFeatureViewSyncsResponse: - description: >- - Response message for - FeatureOnlineStoreAdminService.ListFeatureViewSyncs. + Linear weighted kappa. Only set for ModelEvaluations, not for + ModelEvaluationSlices. + type: number + format: float + quadraticKappa: + description: >- + Quadratic weighted kappa. Only set for ModelEvaluations, not for + ModelEvaluationSlices. + type: number + format: float + confusionMatrix: + description: >- + Confusion matrix of the evaluation. Only set for ModelEvaluations, + not for ModelEvaluationSlices. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics + description: Model evaluation metrics for video action recognition. + type: object properties: - featureViewSyncs: + evaluatedActionCount: + description: The number of ground truth actions used to create this evaluation. + type: integer + format: int32 + videoActionMetrics: + description: 'The metric entries for precision window lengths: 1s,2s,3s.' type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewSync' - description: The FeatureViewSyncs matching the request. - nextPageToken: - type: string - description: >- - A token, which can be sent as ListFeatureViewSyncsRequest.page_token - to retrieve the next page. If this field is omitted, there are no - subsequent pages. - type: object - id: GoogleCloudAiplatformV1ListFeatureViewSyncsResponse - GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig: - id: GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics: + id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics + description: The Evaluation metrics given a specific precision_window_length. type: object - description: >- - Config for migrating Dataset in automl.googleapis.com to Vertex AI's - Dataset. properties: - dataset: + precisionWindowLength: description: >- - Required. Full resource name of automl Dataset. Format: - `projects/{project}/locations/{location}/datasets/{dataset}`. - type: string - datasetDisplayName: + This VideoActionMetrics is calculated based on this prediction + window length. If the predicted action's timestamp is inside the + time window whose center is the ground truth action's timestamp with + this specific length, the prediction result is treated as a true + positive. type: string + format: google-duration + meanAveragePrecision: + description: The mean average precision. + type: number + format: float + confidenceMetrics: description: >- - Required. Display name of the Dataset in Vertex AI. System will pick - a display name if unspecified. - GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams: - description: Prediction model parameters for Video Action Recognition. + Metrics for each label-match confidence_threshold from + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics: id: >- - GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics + description: Metrics for a single confidence threshold. + type: object properties: - maxPredictions: + confidenceThreshold: description: >- - The model only returns up to that many top, by confidence score, - predictions per frame of the video. If this number is very high, the - Model may return fewer predictions per frame. Default value is 50. + Output only. The confidence threshold value used to compute the + metrics. + type: number + format: float + recall: + description: Output only. Recall for the given confidence threshold. + type: number + format: float + precision: + description: Output only. Precision for the given confidence threshold. + type: number + format: float + f1Score: + description: Output only. The harmonic mean of recall and precision. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics + description: >- + Model evaluation metrics for video object tracking problems. Evaluates + prediction quality of both labeled bounding boxes and labeled tracks + (i.e. series of bounding boxes sharing same label and instance ID). + type: object + properties: + evaluatedFrameCount: + description: >- + UNIMPLEMENTED. The number of video frames used to create this + evaluation. + type: integer + format: int32 + evaluatedBoundingBoxCount: + description: >- + UNIMPLEMENTED. The total number of bounding boxes (i.e. summed over + all frames) the ground truth used to create this evaluation had. + type: integer format: int32 + evaluatedTrackCount: + description: >- + UNIMPLEMENTED. The total number of tracks (i.e. as seen across all + frames) the ground truth used to create this evaluation had. type: integer - confidenceThreshold: + format: int32 + boundingBoxMetrics: + description: >- + The bounding boxes match metrics for each intersection-over-union + threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label + confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics + trackMetrics: + description: >- + UNIMPLEMENTED. The tracks match metrics for each + intersection-over-union threshold + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence + threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics + boundingBoxMeanAveragePrecision: + description: >- + The single metric for bounding boxes evaluation: the + `meanAveragePrecision` averaged over all `boundingBoxMetrics`. type: number + format: float + trackMeanAveragePrecision: description: >- - The Model only returns predictions with at least this confidence - score. Default value is 0.0 + UNIMPLEMENTED. The single metric for tracks accuracy evaluation: the + `meanAveragePrecision` averaged over all `trackMetrics`. + type: number format: float + trackMeanBoundingBoxIou: + description: >- + UNIMPLEMENTED. The single metric for tracks bounding box iou + evaluation: the `meanBoundingBoxIou` averaged over all + `trackMetrics`. + type: number + format: float + trackMeanMismatchRate: + description: >- + UNIMPLEMENTED. The single metric for tracking consistency + evaluation: the `meanMismatchRate` averaged over all `trackMetrics`. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics: + id: GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics + description: >- + UNIMPLEMENTED. Track matching model metrics for a single track match + threshold and multiple label match confidence thresholds. type: object - GoogleCloudAiplatformV1CreateFeatureOperationMetadata: - description: Details of operations that perform create Feature. - type: object - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Feature. - id: GoogleCloudAiplatformV1CreateFeatureOperationMetadata - GoogleCloudAiplatformV1ImportModelEvaluationRequest: - id: GoogleCloudAiplatformV1ImportModelEvaluationRequest - type: object - description: Request message for ModelService.ImportModelEvaluation - properties: - modelEvaluation: - description: Required. Model evaluation resource to be imported. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' - GoogleLongrunningListOperationsResponse: - description: The response message for Operations.ListOperations. - id: GoogleLongrunningListOperationsResponse properties: - nextPageToken: - type: string - description: The standard List next-page token. - operations: + iouThreshold: + description: >- + The intersection-over-union threshold value between bounding boxes + across frames used to compute this metric entry. + type: number + format: float + meanTrackingAveragePrecision: + description: The mean average precision over all confidence thresholds. + type: number + format: float + meanBoundingBoxIou: + description: The mean bounding box iou over all confidence thresholds. + type: number + format: float + meanMismatchRate: + description: The mean mismatch rate over all confidence thresholds. + type: number + format: float + confidenceMetrics: + description: >- + Metrics for each label-match `confidenceThreshold` from + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is + derived from them. type: array items: - $ref: '#/components/schemas/GoogleLongrunningOperation' - description: >- - A list of operations that matches the specified filter in the - request. - type: object - GoogleCloudAiplatformV1StartNotebookRuntimeRequest: - description: Request message for NotebookService.StartNotebookRuntime. - type: object - id: GoogleCloudAiplatformV1StartNotebookRuntimeRequest - properties: {} - GoogleCloudAiplatformV1StreamRawPredictRequest: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics + description: Metrics for a single confidence threshold. type: object - id: GoogleCloudAiplatformV1StreamRawPredictRequest - description: Request message for PredictionService.StreamRawPredict. properties: - httpBody: - $ref: '#/components/schemas/GoogleApiHttpBody' + confidenceThreshold: + description: The confidence threshold value used to compute the metrics. + type: number + format: float + trackingPrecision: + description: Tracking precision. + type: number + format: float + trackingRecall: + description: Tracking recall. + type: number + format: float + boundingBoxIou: description: >- - The prediction input. Supports HTTP headers and arbitrary data - payload. - GoogleCloudAiplatformV1ExplanationSpecOverride: + Bounding box intersection-over-union precision. Measures how well + the bounding boxes overlap between each other (e.g. complete overlap + or just barely above iou_threshold). + type: number + format: float + mismatchRate: + description: >- + Mismatch rate, which measures the tracking consistency, i.e. + correctness of instance ID continuity. + type: number + format: float + GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics: + id: >- + GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics + description: Metrics for general pairwise text generation evaluation results. type: object - description: >- - The ExplanationSpec entries that can be overridden at online explanation - time. - id: GoogleCloudAiplatformV1ExplanationSpecOverride properties: - examplesOverride: - description: The example-based explanations parameter overrides. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExamplesOverride' - parameters: + modelWinRate: description: >- - The parameters to be overridden. Note that the attribution method - cannot be changed. If not specified, no parameter is overridden. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplanationParameters' - metadata: + Percentage of time the autorater decided the model had the better + response. + type: number + format: float + baselineModelWinRate: description: >- - The metadata to be overridden. If not specified, no metadata is - overridden. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataOverride - GoogleCloudAiplatformV1FilterSplit: - id: GoogleCloudAiplatformV1FilterSplit - properties: - trainingFilter: + Percentage of time the autorater decided the baseline model had the + better response. + type: number + format: float + humanPreferenceModelWinRate: + description: Percentage of time humans decided the model had the better response. + type: number + format: float + humanPreferenceBaselineModelWinRate: description: >- - Required. A filter on DataItems of the Dataset. DataItems that match - this filter are used to train the Model. A filter with same syntax - as the one used in DatasetService.ListDataItems may be used. If a - single DataItem is matched by more than one of the FilterSplit - filters, then it is assigned to the first set that applies to it in - the training, validation, test order. + Percentage of time humans decided the baseline model had the better + response. + type: number + format: float + truePositiveCount: + description: >- + Number of examples where both the autorater and humans decided that + the model had the better response. type: string - validationFilter: + format: int64 + falsePositiveCount: description: >- - Required. A filter on DataItems of the Dataset. DataItems that match - this filter are used to validate the Model. A filter with same - syntax as the one used in DatasetService.ListDataItems may be used. - If a single DataItem is matched by more than one of the FilterSplit - filters, then it is assigned to the first set that applies to it in - the training, validation, test order. + Number of examples where the autorater chose the model, but humans + preferred the baseline model. type: string - testFilter: + format: int64 + falseNegativeCount: description: >- - Required. A filter on DataItems of the Dataset. DataItems that match - this filter are used to test the Model. A filter with same syntax as - the one used in DatasetService.ListDataItems may be used. If a - single DataItem is matched by more than one of the FilterSplit - filters, then it is assigned to the first set that applies to it in - the training, validation, test order. + Number of examples where the autorater chose the baseline model, but + humans preferred the model. type: string - type: object - description: >- - Assigns input data to training, validation, and test sets based on the - given filters, data pieces not matched by any filter are ignored. - Currently only supported for Datasets containing DataItems. If any of - the filters in this message are to match nothing, then they can be set - as '-' (the minus sign). Supported only for unstructured Datasets. - GoogleCloudAiplatformV1TokensInfo: + format: int64 + trueNegativeCount: + description: >- + Number of examples where both the autorater and humans decided that + the model had the worse response. + type: string + format: int64 + accuracy: + description: Fraction of cases where the autorater agreed with the human raters. + type: number + format: float + precision: + description: >- + Fraction of cases where the autorater and humans thought the model + had a better response out of all cases where the autorater thought + the model had a better response. True positive divided by all + positive. + type: number + format: float + recall: + description: >- + Fraction of cases where the autorater and humans thought the model + had a better response out of all cases where the humans thought the + model had a better response. + type: number + format: float + f1Score: + description: Harmonic mean of precision and recall. + type: number + format: float + cohensKappa: + description: >- + A measurement of agreement between the autorater and human raters + that takes the likelihood of random agreement into account. + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance + description: Prediction input format for Image Classification. type: object properties: - tokens: - description: A list of tokens from the input. - items: - format: byte - type: string - type: array - role: + content: + description: The image bytes or Cloud Storage URI to make the prediction on. + type: string + mimeType: description: >- - Optional. Optional fields for the role from the corresponding - Content. + The MIME type of the content of the image. Only the images in below + listed MIME types are supported. - image/jpeg - image/gif - + image/png - image/webp - image/bmp - image/tiff - + image/vnd.microsoft.icon type: string - tokenIds: - description: A list of token ids from the input. - items: - type: string - format: int64 - type: array - id: GoogleCloudAiplatformV1TokensInfo - description: >- - Tokens info with a list of tokens and the corresponding list of token - ids. - GoogleCloudAiplatformV1NasJobOutput: - id: GoogleCloudAiplatformV1NasJobOutput + GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance + description: Prediction input format for Image Object Detection. + type: object properties: - multiTrialJobOutput: + content: + description: The image bytes or Cloud Storage URI to make the prediction on. + type: string + mimeType: description: >- - Output only. The output of this multi-trial Neural Architecture - Search (NAS) job. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput - readOnly: true - description: Represents a uCAIP NasJob output. + The MIME type of the content of the image. Only the images in below + listed MIME types are supported. - image/jpeg - image/gif - + image/png - image/webp - image/bmp - image/tiff - + image/vnd.microsoft.icon + type: string + GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance + description: Prediction input format for Image Segmentation. type: object - GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata: + properties: + content: + description: The image bytes to make the predictions on. + type: string + mimeType: + description: >- + The MIME type of the content of the image. Only the images in below + listed MIME types are supported. - image/jpeg - image/png + type: string + GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance + description: Prediction input format for Text Classification. type: object - id: GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata properties: - progressMessage: + content: + description: The text snippet to make the predictions on. type: string + mimeType: description: >- - A human-readable message that shows the intermediate progress - details of NotebookRuntime. - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Metadata information for NotebookService.UpgradeNotebookRuntime. - GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult: - description: Spec for question answering helpfulness result. + The MIME type of the text snippet. The supported MIME types are + listed below. - text/plain + type: string + GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance + description: Prediction input format for Text Extraction. + type: object properties: - explanation: - readOnly: true + content: + description: The text snippet to make the predictions on. type: string - description: Output only. Explanation for question answering helpfulness score. - score: - readOnly: true - format: float - type: number - description: Output only. Question Answering Helpfulness score. - confidence: - readOnly: true - format: float - description: Output only. Confidence for question answering helpfulness score. - type: number + mimeType: + description: >- + The MIME type of the text snippet. The supported MIME types are + listed below. - text/plain + type: string + key: + description: >- + This field is only used for batch prediction. If a key is provided, + the batch prediction result will by mapped to this key. If omitted, + then the batch prediction result will contain the entire input + instance. Vertex AI will not check if keys in the request are + duplicates, so it is up to the caller to ensure the keys are unique. + type: string + GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance + description: Prediction input format for Text Sentiment. type: object - id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult - GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult: + properties: + content: + description: The text snippet to make the predictions on. + type: string + mimeType: + description: >- + The MIME type of the text snippet. The supported MIME types are + listed below. - text/plain + type: string + GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance: + id: >- + GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance + description: Prediction input format for Video Action Recognition. type: object properties: - timeSegmentStart: - format: google-duration - type: string + content: description: >- - The beginning, inclusive, of the video's time segment in which the - object instance has been detected. Expressed as a number of seconds - as measured from the start of the video, with fractions up to a - microsecond precision, and with "s" appended at the end. - frames: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame + The Google Cloud Storage location of the video on which to perform + the prediction. + type: string + mimeType: description: >- - All of the frames of the video in which a single object instance has - been detected. The bounding boxes in the frames identify the same - object. - timeSegmentEnd: - format: google-duration + The MIME type of the content of the video. Only the following are + supported: video/mp4 video/avi video/quicktime type: string + timeSegmentStart: description: >- - The end, inclusive, of the video's time segment in which the object - instance has been detected. Expressed as a number of seconds as - measured from the start of the video, with fractions up to a - microsecond precision, and with "s" appended at the end. - displayName: - description: The display name of the AnnotationSpec that had been identified. + The beginning, inclusive, of the video's time segment on which to + perform the prediction. Expressed as a number of seconds as measured + from the start of the video, with "s" appended at the end. Fractions + are allowed, up to a microsecond precision. type: string - confidence: - format: float + timeSegmentEnd: description: >- - The Model's confidence in correction of this prediction, higher - value means higher confidence. - type: number - id: + The end, exclusive, of the video's time segment on which to perform + the prediction. Expressed as a number of seconds as measured from + the start of the video, with "s" appended at the end. Fractions are + allowed, up to a microsecond precision, and "inf" or "Infinity" is + allowed, which means the end of the video. type: string - description: The resource ID of the AnnotationSpec that had been identified. + GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance: id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult - description: Prediction output format for Video Object Tracking. - GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse: - properties: {} - type: object - id: GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse - description: Response message for MetadataService.AddContextArtifactsAndExecutions. - GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor: - description: Metadata for requested Features. - id: GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor + GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance + description: Prediction input format for Video Classification. type: object properties: - id: + content: + description: >- + The Google Cloud Storage location of the video on which to perform + the prediction. type: string - description: Feature ID. - GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest: - id: GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest - type: object - properties: - requests: - type: array + mimeType: description: >- - Required. The request message specifying the TensorboardRuns to - create. A maximum of 1000 TensorboardRuns can be created in a batch. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CreateTensorboardRunRequest - description: Request message for TensorboardService.BatchCreateTensorboardRuns. - GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata: - description: Details of operations that perform MetadataService.DeleteMetadataStore. - type: object - id: GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for deleting a MetadataStore. - GoogleCloudAiplatformV1StreamingPredictResponse: - id: GoogleCloudAiplatformV1StreamingPredictResponse - type: object - description: Response message for PredictionService.StreamingPredict. - properties: - parameters: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - description: The parameters that govern the prediction. - outputs: - description: The prediction output. - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensor' - GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi: - id: GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi - description: Rest API docs. - properties: - documentations: - description: Required. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PublisherModelDocumentation - type: array - title: + The MIME type of the content of the video. Only the following are + supported: video/mp4 video/avi video/quicktime type: string - description: Required. The title of the view rest API. - type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation: + timeSegmentStart: + description: >- + The beginning, inclusive, of the video's time segment on which to + perform the prediction. Expressed as a number of seconds as measured + from the start of the video, with "s" appended at the end. Fractions + are allowed, up to a microsecond precision. + type: string + timeSegmentEnd: + description: >- + The end, exclusive, of the video's time segment on which to perform + the prediction. Expressed as a number of seconds as measured from + the start of the video, with "s" appended at the end. Fractions are + allowed, up to a microsecond precision, and "inf" or "Infinity" is + allowed, which means the end of the video. + type: string + GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation + GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance + description: Prediction input format for Video Object Tracking. type: object - description: >- - Training pipeline will infer the proper transformation based on the - statistic of dataset. properties: - columnName: + content: + description: >- + The Google Cloud Storage location of the video on which to perform + the prediction. type: string - GoogleCloudAiplatformV1SmoothGradConfig: - id: GoogleCloudAiplatformV1SmoothGradConfig - description: >- - Config for SmoothGrad approximation of gradients. When enabled, the - gradients are approximated by averaging the gradients from noisy samples - in the vicinity of the inputs. Adding noise can help improve the - computed gradients. Refer to this paper for more details: - https://arxiv.org/pdf/1706.03825.pdf + mimeType: + description: >- + The MIME type of the content of the video. Only the following are + supported: video/mp4 video/avi video/quicktime + type: string + timeSegmentStart: + description: >- + The beginning, inclusive, of the video's time segment on which to + perform the prediction. Expressed as a number of seconds as measured + from the start of the video, with "s" appended at the end. Fractions + are allowed, up to a microsecond precision. + type: string + timeSegmentEnd: + description: >- + The end, exclusive, of the video's time segment on which to perform + the prediction. Expressed as a number of seconds as measured from + the start of the video, with "s" appended at the end. Fractions are + allowed, up to a microsecond precision, and "inf" or "Infinity" is + allowed, which means the end of the video. + type: string + GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams: + id: >- + GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams + description: Prediction model parameters for Image Classification. type: object properties: - featureNoiseSigma: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureNoiseSigma' - description: >- - This is similar to noise_sigma, but provides additional flexibility. - A separate noise sigma can be provided for each feature, which is - useful if their distributions are different. No noise is added to - features that are not set. If this field is unset, noise_sigma will - be used for all features. - noisySampleCount: - format: int32 - type: integer + confidenceThreshold: description: >- - The number of gradient samples to use for approximation. The higher - this number, the more accurate the gradient is, but the runtime - complexity increases by this factor as well. Valid range of its - value is [1, 50]. Defaults to 3. - noiseSigma: + The Model only returns predictions with at least this confidence + score. Default value is 0.0 type: number - description: >- - This is a single float value and will be used to add noise to all - the features. Use this field when all features are normalized to - have the same distribution: scale to range [0, 1], [-1, 1] or - z-scoring, where features are normalized to have 0-mean and - 1-variance. Learn more about - [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). - For best results the recommended value is about 10% - 20% of the - standard deviation of the input feature. Refer to section 3.2 of the - SmoothGrad paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to - 0.1. If the distribution is different per feature, set - feature_noise_sigma instead for each feature. format: float - GoogleCloudAiplatformV1PredictRequest: + maxPredictions: + description: >- + The Model only returns up to that many top, by confidence score, + predictions per instance. If this number is very high, the Model may + return fewer predictions. Default value is 10. + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams: + id: >- + GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams + description: Prediction model parameters for Image Object Detection. + type: object properties: - parameters: - type: any + confidenceThreshold: description: >- - The parameters that govern the prediction. The schema of the - parameters may be specified via Endpoint's DeployedModels' Model's - PredictSchemata's parameters_schema_uri. - instances: - items: - type: any - type: array + The Model only returns predictions with at least this confidence + score. Default value is 0.0 + type: number + format: float + maxPredictions: description: >- - Required. The instances that are the input to the prediction call. A - DeployedModel may have an upper limit on the number of instances it - supports per request, and when it is exceeded the prediction call - errors in case of AutoML Models, or, in case of customer created - Models, the behaviour is as documented by that Model. The schema of - any single instance may be specified via Endpoint's DeployedModels' - Model's PredictSchemata's instance_schema_uri. - description: Request message for PredictionService.Predict. - id: GoogleCloudAiplatformV1PredictRequest + The Model only returns up to that many top, by confidence score, + predictions per instance. Note that number of returned predictions + is also limited by metadata's predictionsLimit. Default value is 10. + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams: + id: >- + GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams + description: Prediction model parameters for Image Segmentation. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation: properties: - columnName: - type: string - type: object - description: >- - Training pipeline will perform following transformation functions. * The - categorical string as is--no change to case, punctuation, spelling, - tense, and so on. * Convert the category name to a dictionary lookup - index and generate an embedding for each index. * Categories that appear - less than 5 times in the training dataset are treated as the "unknown" - category. The "unknown" category gets its own special lookup index and - resulting embedding. + confidenceThreshold: + description: >- + When the model predicts category of pixels of the image, it will + only provide predictions for pixels that it is at least this much + confident about. All other pixels will be classified as background. + Default value is 0.5. + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation - GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec: + GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams + description: Prediction model parameters for Video Action Recognition. + type: object properties: - useReference: - type: boolean + confidenceThreshold: description: >- - Optional. Whether to use instance.reference to compute pairwise - summarization quality. - version: + The Model only returns predictions with at least this confidence + score. Default value is 0.0 + type: number + format: float + maxPredictions: + description: >- + The model only returns up to that many top, by confidence score, + predictions per frame of the video. If this number is very high, the + Model may return fewer predictions per frame. Default value is 50. type: integer format: int32 - description: Optional. Which version to use for evaluation. - id: GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec - type: object - description: Spec for pairwise summarization quality score metric. - GoogleCloudAiplatformV1ListOptimalTrialsRequest: - description: Request message for VizierService.ListOptimalTrials. - id: GoogleCloudAiplatformV1ListOptimalTrialsRequest - properties: {} - type: object - GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata: - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Operation metadata for Featurestore export Feature values. - id: GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata + GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams: + id: >- + GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams + description: Prediction model parameters for Video Classification. type: object - description: Details of operations that exports Features values. - GoogleCloudAiplatformV1StudySpecStudyStoppingConfig: - description: >- - The configuration (stopping conditions) for automated stopping of a - Study. Conditions include trial budgets, time budgets, and convergence - detection. properties: - maxNumTrials: - format: int32 - description: If there are more than this many trials, stop the study. + confidenceThreshold: + description: >- + The Model only returns predictions with at least this confidence + score. Default value is 0.0 + type: number + format: float + maxPredictions: + description: >- + The Model only returns up to that many top, by confidence score, + predictions per instance. If this number is very high, the Model may + return fewer predictions. Default value is 10,000. type: integer - maxNumTrialsNoProgress: format: int32 + segmentClassification: description: >- - If the objective value has not improved for this many consecutive - trials, stop the study. WARNING: Effective only for single-objective - studies. - type: integer - shouldStopAsap: + Set to true to request segment-level classification. Vertex AI + returns labels and their confidence scores for the entire time + segment of the video that user specified in the input instance. + Default value is true type: boolean + shotClassification: description: >- - If true, a Study enters STOPPING_ASAP whenever it would normally - enters STOPPING state. The bottom line is: set to true if you want - to interrupt on-going evaluations of Trials as soon as the study - stopping condition is met. (Please see Study.State documentation for - the source of truth). - maximumRuntimeConstraint: - description: If the specified time or duration has passed, stop the study. - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudyTimeConstraint' - minimumRuntimeConstraint: + Set to true to request shot-level classification. Vertex AI + determines the boundaries for each camera shot in the entire time + segment of the video that user specified in the input instance. + Vertex AI then returns labels and their confidence scores for each + detected shot, along with the start and end time of the shot. + WARNING: Model evaluation is not done for this classification type, + the quality of it depends on the training data, but there are no + metrics provided to describe that quality. Default value is false + type: boolean + oneSecIntervalClassification: description: >- - Each "stopping rule" in this proto specifies an "if" condition. - Before Vizier would generate a new suggestion, it first checks each - specified stopping rule, from top to bottom in this list. Note that - the first few rules (e.g. minimum_runtime_constraint, - min_num_trials) will prevent other stopping rules from being - evaluated until they are met. For example, setting - `min_num_trials=5` and `always_stop_after= 1 hour` means that the - Study will ONLY stop after it has 5 COMPLETED trials, even if more - than an hour has passed since its creation. It follows the first - applicable rule (whose "if" condition is satisfied) to make a - stopping decision. If none of the specified rules are applicable, - then Vizier decides that the study should not stop. If Vizier - decides that the study should stop, the study enters STOPPING state - (or STOPPING_ASAP if should_stop_asap = true). IMPORTANT: The - automatic study state transition happens precisely as described - above; that is, deleting trials or updating StudyConfig NEVER - automatically moves the study state back to ACTIVE. If you want to - _resume_ a Study that was stopped, 1) change the stopping conditions - if necessary, 2) activate the study, and then 3) ask for - suggestions. If the specified time or duration has not passed, do - not stop the study. - $ref: '#/components/schemas/GoogleCloudAiplatformV1StudyTimeConstraint' - minNumTrials: + Set to true to request classification for a video at one-second + intervals. Vertex AI returns labels and their confidence scores for + each second of the entire time segment of the video that user + specified in the input WARNING: Model evaluation is not done for + this classification type, the quality of it depends on the training + data, but there are no metrics provided to describe that quality. + Default value is false + type: boolean + GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams: + id: >- + GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams + description: Prediction model parameters for Video Object Tracking. + type: object + properties: + confidenceThreshold: + description: >- + The Model only returns predictions with at least this confidence + score. Default value is 0.0 + type: number + format: float + maxPredictions: + description: >- + The model only returns up to that many top, by confidence score, + predictions per frame of the video. If this number is very high, the + Model may return fewer predictions per frame. Default value is 50. type: integer format: int32 + minBoundingBoxSize: description: >- - If there are fewer than this many COMPLETED trials, do not stop the - study. - maxDurationNoProgress: - type: string - description: >- - If the objective value has not improved for this much time, stop the - study. WARNING: Effective only for single-objective studies. - format: google-duration - id: GoogleCloudAiplatformV1StudySpecStudyStoppingConfig + Only bounding boxes with shortest edge at least that long as a + relative value of video frame size are returned. Default value is + 0.0. + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult + description: Prediction output format for Image and Text Classification. type: object - GoogleCloudAiplatformV1UndeployModelResponse: - description: Response message for EndpointService.UndeployModel. - properties: {} - id: GoogleCloudAiplatformV1UndeployModelResponse + properties: + ids: + description: The resource IDs of the AnnotationSpecs that had been identified. + type: array + items: + type: string + format: int64 + displayNames: + description: >- + The display names of the AnnotationSpecs that had been identified, + order matches the IDs. + type: array + items: + type: string + confidences: + description: >- + The Model's confidences in correctness of the predicted IDs, higher + value means higher confidence. Order matches the Ids. + type: array + items: + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult + description: Prediction output format for Image Object Detection. type: object - GoogleCloudAiplatformV1NasJobSpec: - description: Represents the spec of a NasJob. - id: GoogleCloudAiplatformV1NasJobSpec + properties: + ids: + description: >- + The resource IDs of the AnnotationSpecs that had been identified, + ordered by the confidence score descendingly. + type: array + items: + type: string + format: int64 + displayNames: + description: >- + The display names of the AnnotationSpecs that had been identified, + order matches the IDs. + type: array + items: + type: string + confidences: + description: >- + The Model's confidences in correctness of the predicted IDs, higher + value means higher confidence. Order matches the Ids. + type: array + items: + type: number + format: float + bboxes: + description: >- + Bounding boxes, i.e. the rectangles over the image, that pinpoint + the found AnnotationSpecs. Given in order that matches the IDs. Each + bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and + `yMax`, which represent the extremal coordinates of the box. They + are relative to the image size, and the point 0,0 is in the top left + of the image. + type: array + items: + type: array + items: + type: any + GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult + description: Prediction output format for Image Segmentation. type: object properties: - multiTrialAlgorithmSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec - description: The spec of multi-trial algorithms. - resumeNasJobId: + categoryMask: description: >- - The ID of the existing NasJob in the same Project and Location which - will be used to resume search. search_space_spec and - nas_algorithm_spec are obtained from previous NasJob hence should - not provide them again for this NasJob. + A PNG image where each pixel in the mask represents the category in + which the pixel in the original image was predicted to belong to. + The size of this image will be the same as the original image. The + mapping between the AnntoationSpec and the color can be found in + model's metadata. The model will choose the most likely category and + if none of the categories reach the confidence threshold, the pixel + will be marked as background. type: string - searchSpaceSpec: + confidenceMask: + description: >- + A one channel image which is encoded as an 8bit lossless PNG. The + size of the image will be the same as the original image. For a + specific pixel, darker color means less confidence in correctness of + the cateogry in the categoryMask for the corresponding pixel. Black + means no confidence and white means complete confidence. type: string - description: It defines the search space for Neural Architecture Search (NAS). - GoogleCloudAiplatformV1AddContextChildrenResponse: - properties: {} + GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult + description: Prediction output format for Tabular Classification. type: object - id: GoogleCloudAiplatformV1AddContextChildrenResponse - description: Response message for MetadataService.AddContextChildren. - GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem: properties: - annotationResourceName: + classes: description: >- - The unique ID for each annotation. Used by FE to allocate the - annotation in DB. - type: string - distance: - format: double - description: The distance of this item to the annotation. - type: number - id: GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem - description: >- - Attributed items for a given annotation, typically representing - neighbors from the training sets constrained by the query type. - type: object - GoogleApiHttpBody: - id: GoogleApiHttpBody + The name of the classes being classified, contains all possible + values of the target column. + type: array + items: + type: string + scores: + description: >- + The model's confidence in each class being correct, higher value + means higher confidence. The N-th score corresponds to the N-th + class in classes. + type: array + items: + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult + description: Prediction output format for Tabular Regression. type: object - description: >- - Message that represents an arbitrary HTTP body. It should only be used - for payload formats that can't be represented as JSON, such as raw - binary or an HTML page. This message can be used both in streaming and - non-streaming API methods in the request as well as the response. It can - be used as a top-level request field, which is convenient if one wants - to extract parameters from either the URL or HTTP template into the - request fields and also want access to the raw HTTP body. Example: - message GetResourceRequest { // A unique request id. string request_id = - 1; // The raw HTTP body is bound to this field. google.api.HttpBody - http_body = 2; } service ResourceService { rpc - GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } - Example with streaming methods: service CaldavService { rpc - GetCalendar(stream google.api.HttpBody) returns (stream - google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) - returns (stream google.api.HttpBody); } Use of this type only changes - how the request and response bodies are handled, all other features will - continue to work unchanged. properties: - data: - type: string - format: byte - description: The HTTP request/response body as raw binary. - extensions: + value: + description: The regression value. + type: number + format: float + lowerBound: + description: The lower bound of the prediction interval. + type: number + format: float + upperBound: + description: The upper bound of the prediction interval. + type: number + format: float + quantileValues: + description: Quantile values. + type: array + items: + type: number + format: float + quantilePredictions: + description: Quantile predictions, in 1-1 correspondence with quantile_values. type: array + items: + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult + description: Prediction output format for Text Extraction. + type: object + properties: + ids: description: >- - Application specific response metadata. Must be set in the first - response for streaming APIs. + The resource IDs of the AnnotationSpecs that had been identified, + ordered by the confidence score descendingly. + type: array items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - contentType: + type: string + format: int64 + displayNames: description: >- - The HTTP Content-Type header value specifying the content type of - the body. - type: string - GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature: - properties: - timeRange: - $ref: '#/components/schemas/GoogleTypeInterval' + The display names of the AnnotationSpecs that had been identified, + order matches the IDs. + type: array + items: + type: string + textSegmentStartOffsets: description: >- - Required. Select feature generated within a half-inclusive time - range. The time range is lower inclusive and upper exclusive. - skipOnlineStorageDelete: - type: boolean + The start offsets, inclusive, of the text segment in which the + AnnotationSpec has been identified. Expressed as a zero-based number + of characters as measured from the start of the text snippet. + type: array + items: + type: string + format: int64 + textSegmentEndOffsets: description: >- - If set, data will not be deleted from online storage. When time - range is older than the data in online storage, setting this to be - true will make the deletion have no impact on online serving. - featureSelector: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureSelector' + The end offsets, inclusive, of the text segment in which the + AnnotationSpec has been identified. Expressed as a zero-based number + of characters as measured from the start of the text snippet. + type: array + items: + type: string + format: int64 + confidences: description: >- - Required. Selectors choosing which feature values to be deleted from - the EntityType. - description: >- - Message to select time range and feature. Values of the selected feature - generated within an inclusive time range will be deleted. Using this - option permanently deletes the feature values from the specified feature - IDs within the specified time range. This might include data from the - online storage. If you want to retain any deleted historical data in the - online storage, you must re-ingest it. + The Model's confidences in correctness of the predicted IDs, higher + value means higher confidence. Order matches the Ids. + type: array + items: + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult + description: Prediction output format for Text Sentiment type: object + properties: + sentiment: + description: >- + The integer sentiment labels between 0 (inclusive) and sentimentMax + label (inclusive), while 0 maps to the least positive sentiment and + sentimentMax maps to the most positive one. The higher the score is, + the more positive the sentiment in the text snippet is. Note: + sentimentMax is an integer value between 1 (inclusive) and 10 + (inclusive). + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult: id: >- - GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature - GoogleCloudAiplatformV1ModelExportFormat: + GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult + description: Prediction output format for Time Series Forecasting. type: object - description: >- - Represents export format supported by the Model. All formats export to - Google Cloud Storage. - id: GoogleCloudAiplatformV1ModelExportFormat properties: - exportableContents: + value: + description: The regression value. + type: number + format: float + quantileValues: + description: Quantile values. + type: array + items: + type: number + format: float + quantilePredictions: + description: Quantile predictions, in 1-1 correspondence with quantile_values. + type: array + items: + type: number + format: float + tftFeatureImportance: + description: Only use these if TFt is enabled. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance + GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance: + id: GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance + type: object + properties: + contextWeights: + description: >- + TFT feature importance values. Each pair for + {context/horizon/attribute} should have the same shape since the + weight corresponds to the column names. + type: array + items: + type: number + format: float + contextColumns: type: array items: - enumDescriptions: - - Should not be used. - - >- - Model artifact and any of its supported files. Will be exported - to the location specified by the `artifactDestination` field of - the ExportModelRequest.output_config object. - - >- - The container image that is to be used when deploying this - Model. Will be exported to the location specified by the - `imageDestination` field of the ExportModelRequest.output_config - object. - enum: - - EXPORTABLE_CONTENT_UNSPECIFIED - - ARTIFACT - - IMAGE type: string - readOnly: true - description: Output only. The content of this Model that may be exported. + horizonWeights: + type: array + items: + type: number + format: float + horizonColumns: + type: array + items: + type: string + attributeWeights: + type: array + items: + type: number + format: float + attributeColumns: + type: array + items: + type: string + GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult + description: Prediction output format for Video Action Recognition. + type: object + properties: id: + description: The resource ID of the AnnotationSpec that had been identified. + type: string + displayName: + description: The display name of the AnnotationSpec that had been identified. + type: string + timeSegmentStart: description: >- - Output only. The ID of the export format. The possible format IDs - are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * - `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` - A [TensorFlow.js](https://www.tensorflow.org/js) model that can be - used in the browser and in Node.js using JavaScript. * `core-ml` - Used for iOS mobile devices. * `custom-trained` A Model that was - uploaded or trained by custom code. + The beginning, inclusive, of the video's time segment in which the + AnnotationSpec has been identified. Expressed as a number of seconds + as measured from the start of the video, with fractions up to a + microsecond precision, and with "s" appended at the end. type: string - readOnly: true - GoogleCloudAiplatformV1SafetyInstance: - type: object - properties: - prediction: + format: google-duration + timeSegmentEnd: + description: >- + The end, exclusive, of the video's time segment in which the + AnnotationSpec has been identified. Expressed as a number of seconds + as measured from the start of the video, with fractions up to a + microsecond precision, and with "s" appended at the end. type: string - description: Required. Output of the evaluated model. - description: Spec for safety instance. - id: GoogleCloudAiplatformV1SafetyInstance - GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata: - properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: >- - Runtime operation information for - JobService.UpdateModelDeploymentMonitoringJob. - type: object + format: google-duration + confidence: + description: >- + The Model's confidence in correction of this prediction, higher + value means higher confidence. + type: number + format: float + GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult: id: >- - GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata - GoogleCloudAiplatformV1TensorboardTensor: + GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult + description: Prediction output format for Video Classification. + type: object properties: - value: - format: byte + id: + description: The resource ID of the AnnotationSpec that had been identified. + type: string + displayName: + description: The display name of the AnnotationSpec that had been identified. + type: string + type: description: >- - Required. Serialized form of - https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto + The type of the prediction. The requested types can be configured + via parameters. This will be one of - segment-classification - + shot-classification - one-sec-interval-classification type: string - versionNumber: - type: integer - description: Optional. Version number of TensorProto used to serialize value. - format: int32 - id: GoogleCloudAiplatformV1TensorboardTensor - type: object - description: One point viewable on a tensor metric plot. - GoogleCloudAiplatformV1GroundingChunkRetrievedContext: - properties: - title: - description: Title of the attribution. + timeSegmentStart: + description: >- + The beginning, inclusive, of the video's time segment in which the + AnnotationSpec has been identified. Expressed as a number of seconds + as measured from the start of the video, with fractions up to a + microsecond precision, and with "s" appended at the end. Note that + for 'segment-classification' prediction type, this equals the + original 'timeSegmentStart' from the input instance, for other types + it is the start of a shot or a 1 second interval respectively. type: string - uri: + format: google-duration + timeSegmentEnd: + description: >- + The end, exclusive, of the video's time segment in which the + AnnotationSpec has been identified. Expressed as a number of seconds + as measured from the start of the video, with fractions up to a + microsecond precision, and with "s" appended at the end. Note that + for 'segment-classification' prediction type, this equals the + original 'timeSegmentEnd' from the input instance, for other types + it is the end of a shot or a 1 second interval respectively. type: string - description: URI reference of the attribution. - id: GoogleCloudAiplatformV1GroundingChunkRetrievedContext - description: Chunk from context retrieved by the retrieval tools. - type: object - GoogleTypeColor: - type: object - properties: - blue: - description: The amount of blue in the color as a value in the interval [0, 1]. - format: float + format: google-duration + confidence: + description: >- + The Model's confidence in correction of this prediction, higher + value means higher confidence. type: number - red: - description: The amount of red in the color as a value in the interval [0, 1]. format: float - type: number - alpha: + GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult + description: Prediction output format for Video Object Tracking. + type: object + properties: + id: + description: The resource ID of the AnnotationSpec that had been identified. + type: string + displayName: + description: The display name of the AnnotationSpec that had been identified. + type: string + timeSegmentStart: + description: >- + The beginning, inclusive, of the video's time segment in which the + object instance has been detected. Expressed as a number of seconds + as measured from the start of the video, with fractions up to a + microsecond precision, and with "s" appended at the end. + type: string + format: google-duration + timeSegmentEnd: + description: >- + The end, inclusive, of the video's time segment in which the object + instance has been detected. Expressed as a number of seconds as + measured from the start of the video, with fractions up to a + microsecond precision, and with "s" appended at the end. + type: string + format: google-duration + confidence: + description: >- + The Model's confidence in correction of this prediction, higher + value means higher confidence. type: number format: float + frames: description: >- - The fraction of this color that should be applied to the pixel. That - is, the final pixel color is defined by the equation: `pixel color = - alpha * (this color) + (1.0 - alpha) * (background color)` This - means that a value of 1.0 corresponds to a solid color, whereas a - value of 0.0 corresponds to a completely transparent color. This - uses a wrapper message rather than a simple float scalar so that it - is possible to distinguish between a default value and the value - being unset. If omitted, this color object is rendered as a solid - color (as if the alpha value had been explicitly given a value of - 1.0). - green: - format: float - description: The amount of green in the color as a value in the interval [0, 1]. - type: number - id: GoogleTypeColor + All of the frames of the video in which a single object instance has + been detected. The bounding boxes in the frames identify the same + object. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame + GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame: + id: >- + GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame description: >- - Represents a color in the RGBA color space. This representation is - designed for simplicity of conversion to and from color representations - in various languages over compactness. For example, the fields of this - representation can be trivially provided to the constructor of - `java.awt.Color` in Java; it can also be trivially provided to UIColor's - `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little - work, it can be easily formatted into a CSS `rgba()` string in - JavaScript. This reference page doesn't have information about the - absolute color space that should be used to interpret the RGB value—for - example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications - should assume the sRGB color space. When color equality needs to be - decided, implementations, unless documented otherwise, treat two colors - as equal if all their red, green, blue, and alpha values each differ by - at most `1e-5`. Example (Java): import com.google.type.Color; // ... - public static java.awt.Color fromProto(Color protocolor) { float alpha = - protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return - new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), - protocolor.getBlue(), alpha); } public static Color - toProto(java.awt.Color color) { float red = (float) color.getRed(); - float green = (float) color.getGreen(); float blue = (float) - color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder - = Color .newBuilder() .setRed(red / denominator) .setGreen(green / - denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); - if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() - .setValue(((float) alpha) / denominator) .build()); } return - resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static - UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; - float green = [protocolor green]; float blue = [protocolor blue]; - FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if - (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return - [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static - Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if - (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return - nil; } Color* result = [[Color alloc] init]; [result setRed:red]; - [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { - [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; - return result; } // ... Example (JavaScript): // ... var protoToCssColor - = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var - greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || - 0.0; var red = Math.floor(redFrac * 255); var green = - Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if - (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } - var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, - green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, - ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var - rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString - = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var - resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { - resultBuilder.push('0'); } resultBuilder.push(hexString); return - resultBuilder.join(''); }; // ... - GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult: + The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box, + i.e. the rectangle over the video frame pinpointing the found + AnnotationSpec. The coordinates are relative to the frame size, and the + point 0,0 is in the top left of the frame. type: object properties: - quantileValues: - type: array - description: Quantile values. - items: - format: float - type: number - tftFeatureImportance: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance - description: Only use these if TFt is enabled. - value: + timeOffset: + description: >- + A time (frame) of a video in which the object has been detected. + Expressed as a number of seconds as measured from the start of the + video, with fractions up to a microsecond precision, and with "s" + appended at the end. + type: string + format: google-duration + xMin: + description: The leftmost coordinate of the bounding box. + type: number format: float - description: The regression value. + xMax: + description: The rightmost coordinate of the bounding box. type: number - quantilePredictions: - items: - type: number - format: float - description: Quantile predictions, in 1-1 correspondence with quantile_values. - type: array + format: float + yMin: + description: The topmost coordinate of the bounding box. + type: number + format: float + yMax: + description: The bottommost coordinate of the bounding box. + type: number + format: float + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting + description: A TrainingJob that trains and uploads an AutoML Forecasting Model. + type: object + properties: + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs: id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult - description: Prediction output format for Time Series Forecasting. - GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse: - description: >- - Response message for - TensorboardService.BatchCreateTensorboardTimeSeries. - id: GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs type: object properties: - tensorboardTimeSeries: + targetColumn: + description: >- + The name of the column that the Model is to predict values for. This + column must be unavailable at forecast. + type: string + timeSeriesIdentifierColumn: + description: The name of the column that identifies the time series. + type: string + timeColumn: + description: >- + The name of the column that identifies time order in the time + series. This column must be available at forecast. + type: string + transformations: + description: >- + Each transformation will apply transform function to given input + column. And the result will be used for training. When creating + transformation for BigQuery Struct column, the column should be + flattened using "." as the delimiter. type: array - description: The created TensorboardTimeSeries. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries' - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata: - properties: - evaluatedDataItemsBigqueryUri: - description: BigQuery destination uri for exported evaluated examples. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation + optimizationObjective: + description: >- + Objective function the model is optimizing towards. The training + process creates a model that optimizes the value of the objective + function over the validation set. The supported optimization + objectives: * "minimize-rmse" (default) - Minimize root-mean-squared + error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). + * "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). * + "minimize-rmspe" - Minimize root-mean-squared percentage error + (RMSPE). * "minimize-wape-mae" - Minimize the combination of + weighted absolute percentage error (WAPE) and mean-absolute-error + (MAE). * "minimize-quantile-loss" - Minimize the quantile loss at + the quantiles defined in `quantiles`. * "minimize-mape" - Minimize + the mean absolute percentage error. type: string - trainCostMilliNodeHours: + trainBudgetMilliNodeHours: description: >- - Output only. The actual training cost of the model, expressed in - milli node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed the train budget. + Required. The train budget of creating this model, expressed in + milli node hours i.e. 1,000 value in this field means 1 node hour. + The training cost of the model will not exceed this budget. The + final cost will be attempted to be close to the budget, though may + end up being (even) noticeably smaller - at the backend's + discretion. This especially may happen when further model training + ceases to provide any improvements. If the budget is set to a value + known to be insufficient to train a model for the given dataset, the + training won't be attempted and will error. The train budget must be + between 1,000 and 72,000 milli node hours, inclusive. type: string format: int64 - type: object - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata - description: Model metadata specific to Seq2Seq Plus Forecasting. - GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult: - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult - description: Prediction output format for Text Sentiment - type: object - properties: - sentiment: - type: integer - format: int32 + weightColumn: description: >- - The integer sentiment labels between 0 (inclusive) and sentimentMax - label (inclusive), while 0 maps to the least positive sentiment and - sentimentMax maps to the most positive one. The higher the score is, - the more positive the sentiment in the text snippet is. Note: - sentimentMax is an integer value between 1 (inclusive) and 10 - (inclusive). - GoogleCloudAiplatformV1StringArray: - id: GoogleCloudAiplatformV1StringArray - description: A list of string values. - type: object - properties: - values: - description: A list of string values. - items: - type: string + Column name that should be used as the weight column. Higher values + in this column give more importance to the row during model + training. The column must have numeric values between 0 and 10000 + inclusively; 0 means the row is ignored for training. If weight + column field is not set, then all rows are assumed to have equal + weight of 1. + type: string + timeSeriesAttributeColumns: + description: >- + Column names that should be used as attribute columns. The value of + these columns does not vary as a function of time. For example, + store ID or item color. type: array - GoogleCloudAiplatformV1Int64Array: - properties: - values: - description: A list of int64 values. items: - format: int64 type: string - type: array - description: A list of int64 values. - id: GoogleCloudAiplatformV1Int64Array - type: object - GoogleCloudAiplatformV1LineageSubgraph: - type: object - properties: - executions: - description: The Execution nodes in the subgraph. + unavailableAtForecastColumns: + description: >- + Names of columns that are unavailable when a forecast is requested. + This column contains information for the given entity (identified by + the time_series_identifier_column) that is unknown before the + forecast For example, actual weather on a given day. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' - events: + type: string + availableAtForecastColumns: + description: >- + Names of columns that are available and provided when a forecast is + requested. These columns contain information for the given entity + (identified by the time_series_identifier_column column) that is + known at forecast. For example, predicted weather for a specific + day. type: array - description: The Event edges between Artifacts and Executions in the subgraph. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Event' - artifacts: items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' - type: array - description: The Artifact nodes in the subgraph. - id: GoogleCloudAiplatformV1LineageSubgraph - description: >- - A subgraph of the overall lineage graph. Event edges connect Artifact - and Execution nodes. - GoogleCloudAiplatformV1DeploymentResourcePool: - properties: - satisfiesPzi: - description: Output only. Reserved for future use. - readOnly: true - type: boolean - satisfiesPzs: - type: boolean - readOnly: true - description: Output only. Reserved for future use. - name: + type: string + dataGranularity: + description: Expected difference in time granularity between rows in the data. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity + forecastHorizon: + description: >- + The amount of time into the future for which forecasted values for + the target are returned. Expressed in number of units defined by the + `data_granularity` field. type: string + format: int64 + contextWindow: description: >- - Immutable. The resource name of the DeploymentResourcePool. Format: - `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` - serviceAccount: + The amount of time into the past training and prediction data is + used for model training and prediction respectively. Expressed in + number of units defined by the `data_granularity` field. type: string + format: int64 + exportEvaluatedDataItemsConfig: description: >- - 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. - disableContainerLogging: - type: boolean + Configuration for exporting test set predictions to a BigQuery + table. If this configuration is absent, then the export is not + performed. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig + quantiles: description: >- - 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. - encryptionSpec: + Quantiles to use for minimize-quantile-loss + `optimization_objective`, or for probabilistic inference. Up to 5 + quantiles are allowed of values between 0 and 1, exclusive. Required + if the value of optimization_objective is minimize-quantile-loss. + Represents the percent quantiles to use for that objective. + Quantiles must be unique. + type: array + items: + type: number + format: double + hierarchyConfig: description: >- - Customer-managed encryption key spec for a DeploymentResourcePool. - If set, this DeploymentResourcePool will be secured by this key. - Endpoints and the DeploymentResourcePool they deploy in need to have - the same EncryptionSpec. - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - dedicatedResources: + Configuration that defines the hierarchical relationship of time + series and parameters for hierarchical forecasting strategies. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig + windowConfig: + description: Config containing strategy for generating sliding windows. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig + holidayRegions: description: >- - Required. The underlying DedicatedResources that the - DeploymentResourcePool uses. - $ref: '#/components/schemas/GoogleCloudAiplatformV1DedicatedResources' - createTime: + The geographical region based on which the holiday effect is applied + in modeling by adding holiday categorical array feature that include + all holidays matching the date. This option only allowed when + data_granularity is day. By default, holiday effect modeling is + disabled. To turn it on, specify the holiday region using this + option. + type: array + items: + type: string + enableProbabilisticInference: + description: >- + If probabilistic inference is enabled, the model will fit a + distribution that captures the uncertainty of a prediction. At + inference time, the predictive distribution is used to make a point + prediction that minimizes the optimization objective. For example, + the mean of a predictive distribution is the point prediction that + minimizes RMSE loss. If quantiles are specified, then the quantiles + of the distribution are also returned. The optimization objective + cannot be minimize-quantile-loss. + type: boolean + validationOptions: + description: >- + Validation options for the data validation component. The available + options are: * "fail-pipeline" - default, will validate against the + validation and fail the pipeline if it fails. * "ignore-validation" + - ignore the results of the validation and continue type: string - description: Output only. Timestamp when this DeploymentResourcePool was created. - format: google-datetime - readOnly: true - type: object - description: >- - A description of resources that can be shared by multiple - DeployedModels, whose underlying specification consists of a - DedicatedResources. - id: GoogleCloudAiplatformV1DeploymentResourcePool - GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams: - description: Prediction model parameters for Image Classification. + additionalExperiments: + description: Additional experiment flags for the time series forcasting training. + type: array + items: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation: id: >- - GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation type: object properties: - confidenceThreshold: - format: float - description: >- - The Model only returns predictions with at least this confidence - score. Default value is 0.0 - type: number - maxPredictions: - format: int32 - type: integer - description: >- - The Model only returns up to that many top, by confidence score, - predictions per instance. If this number is very high, the Model may - return fewer predictions. Default value is 10. - GoogleCloudAiplatformV1CsvSource: - description: The storage details for CSV input content. + auto: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation + numeric: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation + categorical: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation + timestamp: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation + text: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation + description: >- + Training pipeline will infer the proper transformation based on the + statistic of dataset. type: object - id: GoogleCloudAiplatformV1CsvSource properties: - gcsSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' - description: Required. Google Cloud Storage location. - GoogleCloudAiplatformV1DirectRawPredictResponse: - id: GoogleCloudAiplatformV1DirectRawPredictResponse + columnName: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation + description: >- + Training pipeline will perform following transformation functions. * The + value converted to float32. * The z_score of the value. * log(value+1) + when the value is greater than or equal to 0. Otherwise, this + transformation is not applied and the value is considered a missing + value. * z_score of log(value+1) when the value is greater than or equal + to 0. Otherwise, this transformation is not applied and the value is + considered a missing value. * A boolean value that indicates whether the + value is valid. type: object - description: Response message for PredictionService.DirectRawPredict. properties: - output: - format: byte - description: The prediction output. + columnName: type: string - GoogleCloudAiplatformV1PipelineJobRuntimeConfig: + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation + description: >- + Training pipeline will perform following transformation functions. * The + categorical string as is--no change to case, punctuation, spelling, + tense, and so on. * Convert the category name to a dictionary lookup + index and generate an embedding for each index. * Categories that appear + less than 5 times in the training dataset are treated as the "unknown" + category. The "unknown" category gets its own special lookup index and + resulting embedding. type: object - id: GoogleCloudAiplatformV1PipelineJobRuntimeConfig properties: - failurePolicy: - description: >- - Represents the failure policy of a pipeline. Currently, the default - of a pipeline is that the pipeline will continue to run until no - more tasks can be executed, also known as - PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to - PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new - tasks when a task has failed. Any scheduled tasks will continue to - completion. - enumDescriptions: - - Default value, and follows fail slow behavior. - - >- - Indicates that the pipeline should continue to run until all - possible tasks have been scheduled and completed. - - >- - Indicates that the pipeline should stop scheduling new tasks after - a task has failed. - type: string - enum: - - PIPELINE_FAILURE_POLICY_UNSPECIFIED - - PIPELINE_FAILURE_POLICY_FAIL_SLOW - - PIPELINE_FAILURE_POLICY_FAIL_FAST - inputArtifacts: - type: object - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact - description: >- - The runtime artifacts of the PipelineJob. The key will be the input - artifact name and the value would be one of the InputArtifact. - parameters: - deprecated: true - description: >- - Deprecated. Use RuntimeConfig.parameter_values instead. The runtime - parameters of the PipelineJob. The parameters will be passed into - PipelineJob.pipeline_spec to replace the placeholders at runtime. - This field is used by pipelines built using - `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as - pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Value' - type: object - parameterValues: - additionalProperties: - type: any - description: >- - The runtime parameters of the PipelineJob. The parameters will be - passed into PipelineJob.pipeline_spec to replace the placeholders at - runtime. This field is used by pipelines built using - `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines - built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - type: object - gcsOutputDirectory: - description: >- - Required. A path in a Cloud Storage bucket, which will be treated as - the root output directory of the pipeline. It is used by the system - to generate the paths of output artifacts. The artifact paths are - generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` - under the specified output directory. The service account specified - in this pipeline must have the `storage.objects.get` and - `storage.objects.create` permissions for this bucket. + columnName: type: string - description: The runtime config of a PipelineJob. - GoogleCloudAiplatformV1ModelExplanation: + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation + description: >- + Training pipeline will perform following transformation functions. * + Apply the transformation functions for Numerical columns. * Determine + the year, month, day,and weekday. Treat each value from the timestamp as + a Categorical column. * Invalid numerical values (for example, values + that fall outside of a typical timestamp range, or are extreme values) + receive no special treatment and are not removed. type: object - description: Aggregated explanation metrics for a Model over a set of instances. properties: - meanAttributions: + columnName: + type: string + timeFormat: description: >- - Output only. Aggregated attributions explaining the Model's - prediction outputs over the set of instances. The attributions are - grouped by outputs. For Models that predict only one output, such as - regression Models that predict only one score, there is only one - attibution that explains the predicted output. For Models that - predict multiple outputs, such as multiclass Models that predict - multiple classes, each element explains one specific item. - Attribution.output_index can be used to identify which output this - attribution is explaining. The baselineOutputValue, - instanceOutputValue and featureAttributions fields are averaged over - the test data. NOTE: Currently AutoML tabular classification Models - produce only one attribution, which averages attributions over all - the classes it predicts. Attribution.approximation_error is not - populated. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Attribution' - type: array - readOnly: true - id: GoogleCloudAiplatformV1ModelExplanation - GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse: - id: GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse + The format in which that time field is expressed. The time_format + must either be one of: * `unix-seconds` * `unix-milliseconds` * + `unix-microseconds` * `unix-nanoseconds` (for respectively number of + seconds, milliseconds, microseconds and nanoseconds since start of + the Unix epoch); or be written in `strftime` syntax. If time_format + is not set, then the default format is RFC 3339 `date-time` format, + where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation + description: >- + Training pipeline will perform following transformation functions. * The + text as is--no change to case, punctuation, spelling, tense, and so on. + * Convert the category name to a dictionary lookup index and generate an + embedding for each index. type: object properties: - notebookRuntimeTemplates: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate - description: List of NotebookRuntimeTemplates in the requested page. - type: array - nextPageToken: + columnName: type: string - description: >- - A token to retrieve next page of results. Pass to - ListNotebookRuntimeTemplatesRequest.page_token to obtain that page. - description: Response message for NotebookService.ListNotebookRuntimeTemplates. - GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies: - description: Historical Stats (and Anomalies) for a specific Feature. + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity + description: A duration of time expressed in time granularity units. type: object properties: - featureDisplayName: + unit: + description: >- + The time granularity unit of this time period. The supported units + are: * "minute" * "hour" * "day" * "week" * "month" * "year" type: string - description: Display Name of the Feature. - predictionStats: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureStatsAnomaly' - type: array + quantity: description: >- - A list of historical stats generated by different time window's - Prediction Dataset. - threshold: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' - description: Threshold for anomaly detection. - trainingStats: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureStatsAnomaly' - description: Stats calculated for the Training Dataset. + The number of granularity_units between data points in the training + data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. + For all other values of `granularity_unit`, must be 1. + type: string + format: int64 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig: id: >- - GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies - GoogleCloudAiplatformV1RemoveDatapointsRequest: - id: GoogleCloudAiplatformV1RemoveDatapointsRequest + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig + description: Configuration for exporting test set predictions to a BigQuery table. type: object properties: - datapointIds: - description: A list of datapoint ids to be deleted. + destinationBigqueryUri: + description: >- + URI of desired destination BigQuery table. Expected format: + `bq://{project_id}:{dataset_id}:{table}` If not specified, then + results are exported to the following auto-created BigQuery table: + `{project_id}:export_evaluated_examples_{model_name}_{yyyy_MM_dd'T'HH_mm_ss_SSS'Z'}.evaluated_examples` + type: string + overrideExistingTable: + description: >- + If true and an export destination is specified, then the contents of + the destination are overwritten. Otherwise, if the export + destination already exists, then the export operation fails. + type: boolean + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig + description: >- + Configuration that defines the hierarchical relationship of time series + and parameters for hierarchical forecasting strategies. + type: object + properties: + groupColumns: + description: >- + A list of time series attribute column names that define the time + series hierarchy. Only one level of hierarchy is supported, ex. + 'region' for a hierarchy of stores or 'department' for a hierarchy + of products. If multiple columns are specified, time series will be + grouped by their combined values, ex. ('blue', 'large') for 'color' + and 'size', up to 5 columns are accepted. If no group columns are + specified, all time series are considered to be part of the same + group. + type: array items: type: string - type: array - description: Request message for IndexService.RemoveDatapoints - GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata: - description: Describes metadata for a TensorboardTimeSeries. - id: GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata + groupTotalWeight: + description: >- + The weight of the loss for predictions aggregated over time series + in the same group. + type: number + format: double + temporalTotalWeight: + description: >- + The weight of the loss for predictions aggregated over the horizon + for a single time series. + type: number + format: double + groupTemporalTotalWeight: + description: >- + The weight of the loss for predictions aggregated over both the + horizon and time series in the same hierarchy group. + type: number + format: double + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig + description: >- + Config that contains the strategy used to generate sliding windows in + time series training. A window is a series of rows that comprise the + context up to the time of prediction, and the horizon following. The + corresponding row for each window marks the start of the forecast + horizon. Each window is used as an input example for + training/evaluation. + type: object properties: - maxStep: + column: description: >- - Output only. Max step index of all data points within a - TensorboardTimeSeries. - format: int64 - readOnly: true - type: string - maxWallTime: + Name of the column that should be used to generate sliding windows. + The column should contain either booleans or string booleans; if the + value of the row is True, generate a sliding window with the horizon + starting at that row. The column will not be used as a feature in + training. type: string + strideLength: description: >- - Output only. Max wall clock timestamp of all data points within a - TensorboardTimeSeries. - format: google-datetime - readOnly: true - maxBlobSequenceLength: - readOnly: true + Stride length used to generate input examples. Within one time + series, every {$STRIDE_LENGTH} rows will be used to generate a + sliding window. + type: string format: int64 + maxCount: description: >- - Output only. The largest blob sequence length (number of blobs) of - all data points in this time series, if its ValueType is - BLOB_SEQUENCE. + Maximum number of windows that should be generated across all time + series. type: string + format: int64 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata + description: Model metadata specific to AutoML Forecasting. type: object - GoogleCloudLocationListLocationsResponse: properties: - locations: + trainCostMilliNodeHours: description: >- - A list of locations that matches the specified filter in the - request. - type: array - items: - $ref: '#/components/schemas/GoogleCloudLocationLocation' - nextPageToken: + Output only. The actual training cost of the model, expressed in + milli node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed the train budget. type: string - description: The standard List next-page token. - type: object - description: The response message for Locations.ListLocations. - id: GoogleCloudLocationListLocationsResponse - GoogleCloudAiplatformV1SchemaVertex: - id: GoogleCloudAiplatformV1SchemaVertex + format: int64 + evaluatedDataItemsBigqueryUri: + description: BigQuery destination uri for exported evaluated examples. + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification description: >- - A vertex represents a 2D point in the image. NOTE: the normalized vertex - coordinates are relative to the original image and range from 0 to 1. + A TrainingJob that trains and uploads an AutoML Image Classification + Model. + type: object properties: - x: - format: double - description: X coordinate. - type: number - 'y': - format: double - type: number - description: Y coordinate. + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs type: object - GoogleCloudAiplatformV1SummarizationVerbositySpec: properties: - version: - format: int32 - description: Optional. Which version to use for evaluation. - type: integer - useReference: + modelType: + type: string + enumDescriptions: + - Should not be set. + - >- + A Model best tailored to be used within Google Cloud, and which + cannot be exported. Default. + - >- + A model type best tailored to be used within Google Cloud, which + cannot be exported externally. Compared to the CLOUD model above, + it is expected to have higher prediction accuracy. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as TensorFlow + or Core ML model and used on a mobile or edge device afterwards. + Expected to have low latency, but may have lower prediction + quality than other mobile models. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as TensorFlow + or Core ML model and used on a mobile or edge device with + afterwards. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as TensorFlow + or Core ML model and used on a mobile or edge device afterwards. + Expected to have a higher latency, but should also have a higher + prediction quality than other mobile models. + - >- + EfficientNet model for Model Garden training with customizable + hyperparameters. Best tailored to be used within Google Cloud, and + cannot be exported externally. + - >- + MaxViT model for Model Garden training with customizable + hyperparameters. Best tailored to be used within Google Cloud, and + cannot be exported externally. + - >- + ViT model for Model Garden training with customizable + hyperparameters. Best tailored to be used within Google Cloud, and + cannot be exported externally. + - >- + CoCa model for Model Garden training with customizable + hyperparameters. Best tailored to be used within Google Cloud, and + cannot be exported externally. + enum: + - MODEL_TYPE_UNSPECIFIED + - CLOUD + - CLOUD_1 + - MOBILE_TF_LOW_LATENCY_1 + - MOBILE_TF_VERSATILE_1 + - MOBILE_TF_HIGH_ACCURACY_1 + - EFFICIENTNET + - MAXVIT + - VIT + - COCA + baseModelId: description: >- - Optional. Whether to use instance.reference to compute summarization - verbosity. + The ID of the `base` model. If it is specified, the new model will + be trained based on the `base` model. Otherwise, the new model will + be trained from scratch. The `base` model must be in the same + Project and Location as the new Model to train, and have the same + modelType. + type: string + budgetMilliNodeHours: + description: >- + The training budget of creating this model, expressed in milli node + hours i.e. 1,000 value in this field means 1 node hour. The actual + metadata.costMilliNodeHours will be equal or less than this value. + If further model training ceases to provide any improvements, it + will stop without using the full budget and the + metadata.successfulStopReason will be `model-converged`. Note, + node_hour = actual_hour * number_of_nodes_involved. For modelType + `cloud`(default), the budget must be between 8,000 and 800,000 milli + node hours, inclusive. The default value is 192,000 which represents + one day in wall time, considering 8 nodes are used. For model types + `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, + `mobile-tf-high-accuracy-1`, the training budget must be between + 1,000 and 100,000 milli node hours, inclusive. The default value is + 24,000 which represents one day in wall time on a single node that + is used. + type: string + format: int64 + disableEarlyStopping: + description: >- + Use the entire training budget. This disables the early stopping + feature. When false the early stopping feature is enabled, which + means that AutoML Image Classification might stop training before + the entire training budget has been used. + type: boolean + multiLabel: + description: >- + If false, a single-label (multi-class) Model will be trained (i.e. + assuming that for each image just up to one annotation may be + applicable). If true, a multi-label Model will be trained (i.e. + assuming that for each image multiple annotations may be + applicable). type: boolean + uptrainBaseModelId: + description: >- + The ID of `base` model for upTraining. If it is specified, the new + model will be upTrained based on the `base` model for upTraining. + Otherwise, the new model will be trained from scratch. The `base` + model for upTraining must be in the same Project and Location as the + new Model to train, and have the same modelType. + type: string + tunableParameter: + description: Trainer type for Vision TrainRequest. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter + description: >- + A wrapper class which contains the tunable parameters in an AutoML Image + training job. type: object - description: Spec for summarization verbosity score metric. - id: GoogleCloudAiplatformV1SummarizationVerbositySpec - GoogleCloudAiplatformV1ListArtifactsResponse: properties: - artifacts: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' - description: The Artifacts retrieved from the MetadataStore. - type: array - nextPageToken: + trainerType: type: string + enumDescriptions: + - Default value. + - '' + - '' + enum: + - TRAINER_TYPE_UNSPECIFIED + - AUTOML_TRAINER + - MODEL_GARDEN_TRAINER + checkpointName: description: >- - A token, which can be sent as ListArtifactsRequest.page_token to - retrieve the next page. If this field is not populated, there are no - subsequent pages. - id: GoogleCloudAiplatformV1ListArtifactsResponse - description: Response message for MetadataService.ListArtifacts. - type: object - GoogleCloudAiplatformV1ExportModelResponse: - type: object - properties: {} - description: Response message of ModelService.ExportModel operation. - id: GoogleCloudAiplatformV1ExportModelResponse - CloudAiLargeModelsVisionSemanticFilterResponse: + Optional. An unique name of pretrained model checkpoint provided in + model garden, it will be mapped to a GCS location internally. + type: string + studySpec: + description: >- + Optioinal. StudySpec of hyperparameter tuning job. Required for + `model_garden_trainer`. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' + trainerConfig: + description: Customizable trainer settings, used in the `model_garden_trainer`. + type: object + additionalProperties: + type: string + datasetConfig: + description: Customizable dataset settings, used in the `model_garden_trainer`. + type: object + additionalProperties: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata type: object - id: CloudAiLargeModelsVisionSemanticFilterResponse properties: - namedBoundingBoxes: - items: - $ref: '#/components/schemas/CloudAiLargeModelsVisionNamedBoundingBox' - type: array + costMilliNodeHours: description: >- - Class labels of the bounding boxes that failed the semantic - filtering. Bounding box coordinates. - passedSemanticFilter: - type: boolean + The actual training cost of creating this model, expressed in milli + node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed inputs.budgetMilliNodeHours. + type: string + format: int64 + successfulStopReason: description: >- - This response is added when semantic filter config is turned on in - EditConfig. It reports if this image is passed semantic filter - response. If passed_semantic_filter is false, the bounding box - information will be populated for user to check what caused the - semantic filter to fail. - GoogleCloudAiplatformV1Examples: + For successful job completions, this is the reason why the job has + finished. + type: string + enumDescriptions: + - Should not be set. + - The inputs.budgetMilliNodeHours had been reached. + - >- + Further training of the Model ceased to increase its quality, + since it already has converged. + enum: + - SUCCESSFUL_STOP_REASON_UNSPECIFIED + - BUDGET_REACHED + - MODEL_CONVERGED + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection description: >- - Example-based explainability that returns the nearest neighbors from the - provided dataset. + A TrainingJob that trains and uploads an AutoML Image Object Detection + Model. + type: object properties: - nearestNeighborSearchConfig: - type: any + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs + metadata: + description: The metadata information + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs + type: object + properties: + modelType: + type: string + enumDescriptions: + - Should not be set. + - >- + A model best tailored to be used within Google Cloud, and which + cannot be exported. Expected to have a higher latency, but should + also have a higher prediction quality than other cloud models. + - >- + A model best tailored to be used within Google Cloud, and which + cannot be exported. Expected to have a low latency, but may have + lower prediction quality than other cloud models. + - >- + A model best tailored to be used within Google Cloud, and which + cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and + CLOUD_LOW_LATENCY_1 models above, it is expected to have higher + prediction quality and lower latency. + - >- + A model that, in addition to being available within Google Cloud + can also be exported (see ModelService.ExportModel) and used on a + mobile or edge device with TensorFlow afterwards. Expected to have + low latency, but may have lower prediction quality than other + mobile models. + - >- + A model that, in addition to being available within Google Cloud + can also be exported (see ModelService.ExportModel) and used on a + mobile or edge device with TensorFlow afterwards. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) and used on a + mobile or edge device with TensorFlow afterwards. Expected to have + a higher latency, but should also have a higher prediction quality + than other mobile models. + - >- + A model best tailored to be used within Google Cloud, and which + cannot be exported. Expected to best support predictions in + streaming with lower latency and lower prediction quality than + other cloud models. + - >- + SpineNet for Model Garden training with customizable + hyperparameters. Best tailored to be used within Google Cloud, and + cannot be exported externally. + - >- + YOLO for Model Garden training with customizable hyperparameters. + Best tailored to be used within Google Cloud, and cannot be + exported externally. + enum: + - MODEL_TYPE_UNSPECIFIED + - CLOUD_HIGH_ACCURACY_1 + - CLOUD_LOW_LATENCY_1 + - CLOUD_1 + - MOBILE_TF_LOW_LATENCY_1 + - MOBILE_TF_VERSATILE_1 + - MOBILE_TF_HIGH_ACCURACY_1 + - CLOUD_STREAMING_1 + - SPINENET + - YOLO + budgetMilliNodeHours: + description: >- + The training budget of creating this model, expressed in milli node + hours i.e. 1,000 value in this field means 1 node hour. The actual + metadata.costMilliNodeHours will be equal or less than this value. + If further model training ceases to provide any improvements, it + will stop without using the full budget and the + metadata.successfulStopReason will be `model-converged`. Note, + node_hour = actual_hour * number_of_nodes_involved. For modelType + `cloud`(default), the budget must be between 20,000 and 900,000 + milli node hours, inclusive. The default value is 216,000 which + represents one day in wall time, considering 9 nodes are used. For + model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, + `mobile-tf-high-accuracy-1` the training budget must be between + 1,000 and 100,000 milli node hours, inclusive. The default value is + 24,000 which represents one day in wall time on a single node that + is used. + type: string + format: int64 + disableEarlyStopping: description: >- - The full configuration for the generated index, the semantics are - the same as metadata and should match - [NearestNeighborSearchConfig](https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config). - neighborCount: - type: integer - format: int32 - description: The number of neighbors to return when querying for examples. - exampleGcsSource: - description: The Cloud Storage input instances. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExamplesExampleGcsSource' - presets: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Presets' + Use the entire training budget. This disables the early stopping + feature. When false the early stopping feature is enabled, which + means that AutoML Image Object Detection might stop training before + the entire training budget has been used. + type: boolean + uptrainBaseModelId: description: >- - Simplified preset configuration, which automatically sets - configuration values based on the desired query speed-precision - trade-off and modality. - type: object - id: GoogleCloudAiplatformV1Examples - GoogleCloudAiplatformV1ExactMatchSpec: + The ID of `base` model for upTraining. If it is specified, the new + model will be upTrained based on the `base` model for upTraining. + Otherwise, the new model will be trained from scratch. The `base` + model for upTraining must be in the same Project and Location as the + new Model to train, and have the same modelType. + type: string + tunableParameter: + description: Trainer type for Vision TrainRequest. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata type: object - id: GoogleCloudAiplatformV1ExactMatchSpec - description: >- - Spec for exact match metric - returns 1 if prediction and reference - exactly matches, otherwise 0. - properties: {} - GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader: - description: >- - Response header with metadata for the requested - ReadFeatureValuesRequest.entity_type and Features. - id: GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader properties: - entityType: - type: string + costMilliNodeHours: description: >- - The resource name of the EntityType from the - ReadFeatureValuesRequest. Value format: - `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. - featureDescriptors: - type: array + The actual training cost of creating this model, expressed in milli + node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed inputs.budgetMilliNodeHours. + type: string + format: int64 + successfulStopReason: description: >- - List of Feature metadata corresponding to each piece of - ReadFeatureValuesResponse.EntityView.data. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor - type: object - GoogleCloudAiplatformV1ReadTensorboardUsageResponse: + For successful job completions, this is the reason why the job has + finished. + type: string + enumDescriptions: + - Should not be set. + - The inputs.budgetMilliNodeHours had been reached. + - >- + Further training of the Model ceased to increase its quality, + since it already has converged. + enum: + - SUCCESSFUL_STOP_REASON_UNSPECIFIED + - BUDGET_REACHED + - MODEL_CONVERGED + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation + description: >- + A TrainingJob that trains and uploads an AutoML Image Segmentation + Model. type: object - id: GoogleCloudAiplatformV1ReadTensorboardUsageResponse - description: Response message for TensorboardService.ReadTensorboardUsage. properties: - monthlyUsageData: - type: object - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData - description: Maps year-month (YYYYMM) string to per month usage data. - CloudAiLargeModelsVisionRaiInfo: - description: 'Next ID: 6' + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs type: object properties: - blockedEntities: - type: array - description: List of blocked entities from the blocklist if it is detected. - items: - type: string - modelName: - description: >- - The model name used to indexing into the RaiFilterConfig map. Would - either be one of imagegeneration@002-006, imagen-3.0-... api - endpoint names, or internal names used for mapping to different - filter configs (genselfie, ai_watermark) than its api endpoint. - type: string - scores: - description: >- - List of rai scores mapping to the rai categories. Rounded to 1 - decimal place. - items: - type: number - format: float - type: array - raiCategories: - items: - type: string - type: array - description: List of rai categories' information to return - detectedLabels: - items: - $ref: '#/components/schemas/CloudAiLargeModelsVisionRaiInfoDetectedLabels' - type: array - description: The list of detected labels for different rai categories. - id: CloudAiLargeModelsVisionRaiInfo - GoogleCloudAiplatformV1BatchPredictionJobOutputInfo: - properties: - bigqueryOutputTable: - readOnly: true - description: >- - Output only. The name of the BigQuery table created, in - `predictions_` format, into which the prediction output is written. - Can be used by UI to generate the BigQuery output path, for example. + modelType: type: string - bigqueryOutputDataset: + enumDescriptions: + - Should not be set. + - >- + A model to be used via prediction calls to uCAIP API. Expected to + have a higher latency, but should also have a higher prediction + quality than other models. + - >- + A model to be used via prediction calls to uCAIP API. Expected to + have a lower latency but relatively lower prediction quality. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as TensorFlow + model and used on a mobile or edge device afterwards. Expected to + have low latency, but may have lower prediction quality than other + mobile models. + enum: + - MODEL_TYPE_UNSPECIFIED + - CLOUD_HIGH_ACCURACY_1 + - CLOUD_LOW_ACCURACY_1 + - MOBILE_TF_LOW_LATENCY_1 + budgetMilliNodeHours: description: >- - Output only. The path of the BigQuery dataset created, in - `bq://projectId.bqDatasetId` format, into which the prediction - output is written. - readOnly: true + The training budget of creating this model, expressed in milli node + hours i.e. 1,000 value in this field means 1 node hour. The actual + metadata.costMilliNodeHours will be equal or less than this value. + If further model training ceases to provide any improvements, it + will stop without using the full budget and the + metadata.successfulStopReason will be `model-converged`. Note, + node_hour = actual_hour * number_of_nodes_involved. Or + actual_wall_clock_hours = train_budget_milli_node_hours / + (number_of_nodes_involved * 1000) For modelType + `cloud-high-accuracy-1`(default), the budget must be between 20,000 + and 2,000,000 milli node hours, inclusive. The default value is + 192,000 which represents one day in wall time (1000 milli * 24 hours + * 8 nodes). type: string - gcsOutputDirectory: - readOnly: true + format: int64 + baseModelId: description: >- - Output only. The full path of the Cloud Storage directory created, - into which the prediction output is written. + The ID of the `base` model. If it is specified, the new model will + be trained based on the `base` model. Otherwise, the new model will + be trained from scratch. The `base` model must be in the same + Project and Location as the new Model to train, and have the same + modelType. type: string - id: GoogleCloudAiplatformV1BatchPredictionJobOutputInfo - description: Further describes this job's output. Supplements output_config. - type: object - GoogleCloudAiplatformV1BleuResults: - properties: - bleuMetricValues: - readOnly: true - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BleuMetricValue' - type: array - description: Output only. Bleu metric values. - id: GoogleCloudAiplatformV1BleuResults - type: object - description: Results for bleu metric. - GoogleCloudAiplatformV1ImportDataOperationMetadata: - description: Runtime operation information for DatasetService.ImportData. - type: object - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - id: GoogleCloudAiplatformV1ImportDataOperationMetadata - GoogleCloudAiplatformV1ExplanationMetadataOverride: - id: GoogleCloudAiplatformV1ExplanationMetadataOverride + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata type: object properties: - inputs: - type: object + costMilliNodeHours: description: >- - Required. Overrides the input metadata of the features. The key is - the name of the feature to be overridden. The keys specified here - must exist in the input metadata to be overridden. If a feature is - not specified here, the corresponding feature's input metadata is - not overridden. - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride - description: >- - The ExplanationMetadata entries that can be overridden at online - explanation time. - GoogleCloudAiplatformV1FeatureNoiseSigma: - properties: - noiseSigma: + The actual training cost of creating this model, expressed in milli + node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed inputs.budgetMilliNodeHours. + type: string + format: int64 + successfulStopReason: description: >- - Noise sigma per feature. No noise is added to features that are not - set. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature - description: >- - Noise sigma by features. Noise sigma represents the standard deviation - of the gaussian kernel that will be used to add noise to interpolated - inputs prior to computing gradients. - type: object - id: GoogleCloudAiplatformV1FeatureNoiseSigma - GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata: + For successful job completions, this is the reason why the job has + finished. + type: string + enumDescriptions: + - Should not be set. + - The inputs.budgetMilliNodeHours had been reached. + - >- + Further training of the Model ceased to increase its quality, + since it already has converged. + enum: + - SUCCESSFUL_STOP_REASON_UNSPECIFIED + - BUDGET_REACHED + - MODEL_CONVERGED + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables + description: A TrainingJob that trains and uploads an AutoML Tables Model. type: object - description: Details of operations that batch reads Feature values. - id: GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata properties: - genericMetadata: - description: Operation metadata for Featurestore batch read Features values. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1NearestNeighborQuery: - description: A query to find a number of similar entities. - id: GoogleCloudAiplatformV1NearestNeighborQuery + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs type: object properties: - embedding: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryEmbedding - description: Optional. The embedding vector that be used for similar search. - neighborCount: - format: int32 - type: integer + optimizationObjectiveRecallValue: description: >- - Optional. The number of similar entities to be retrieved from - feature view for each query. - parameters: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryParameters - description: Optional. Parameters that can be set to tune query on the fly. - perCrowdingAttributeNeighborCount: - type: integer - format: int32 + Required when optimization_objective is + "maximize-precision-at-recall". Must be between 0 and 1, inclusive. + type: number + format: float + optimizationObjectivePrecisionValue: description: >- - Optional. Crowding is a constraint on a neighbor list produced by - nearest neighbor search requiring that no more than - sper_crowding_attribute_neighbor_count of the k neighbors returned - have the same value of crowding_attribute. It's used for improving - result diversity. - stringFilters: - description: Optional. The list of string filters. - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryStringFilter - type: array - entityId: + Required when optimization_objective is + "maximize-recall-at-precision". Must be between 0 and 1, inclusive. + type: number + format: float + predictionType: + description: >- + The type of prediction the Model is to produce. "classification" - + Predict one out of multiple target values is picked for each row. + "regression" - Predict a value based on its relation to other + values. This type is available only to columns that contain + semantically numeric values, i.e. integers or floating point number, + even if stored as e.g. strings. + type: string + targetColumn: + description: The column name of the target column that the model is to predict. type: string + transformations: description: >- - Optional. The entity id whose similar entities should be searched - for. If embedding is set, search will use embedding instead of - entity_id. - numericFilters: + Each transformation will apply transform function to given input + column. And the result will be used for training. When creating + transformation for BigQuery Struct column, the column should be + flattened using "." as the delimiter. type: array items: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter - description: Optional. The list of numeric filters. - GoogleCloudAiplatformV1TensorboardRun: - properties: - createTime: - format: google-datetime - description: Output only. Timestamp when this TensorboardRun was created. - type: string - readOnly: true - updateTime: - format: google-datetime - type: string - description: Output only. Timestamp when this TensorboardRun was last updated. - readOnly: true - description: - description: Description of this TensorboardRun. - type: string - labels: - additionalProperties: - type: string - description: >- - 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. - type: object - name: + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation + optimizationObjective: description: >- - Output only. Name of the TensorboardRun. Format: - `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + Objective function the model is optimizing towards. The training + process creates a model that maximizes/minimizes the value of the + objective function over the validation set. The supported + optimization objectives depend on the prediction type. If the field + is not set, a default objective function is used. classification + (binary): "maximize-au-roc" (default) - Maximize the area under the + receiver operating characteristic (ROC) curve. "minimize-log-loss" - + Minimize log loss. "maximize-au-prc" - Maximize the area under the + precision-recall curve. "maximize-precision-at-recall" - Maximize + precision for a specified recall value. + "maximize-recall-at-precision" - Maximize recall for a specified + precision value. classification (multi-class): "minimize-log-loss" + (default) - Minimize log loss. regression: "minimize-rmse" (default) + - Minimize root-mean-squared error (RMSE). "minimize-mae" - Minimize + mean-absolute error (MAE). "minimize-rmsle" - Minimize + root-mean-squared log error (RMSLE). type: string - readOnly: true - etag: + trainBudgetMilliNodeHours: description: >- - Used to perform a consistent read-modify-write updates. If not set, - a blind "overwrite" update happens. + Required. The train budget of creating this model, expressed in + milli node hours i.e. 1,000 value in this field means 1 node hour. + The training cost of the model will not exceed this budget. The + final cost will be attempted to be close to the budget, though may + end up being (even) noticeably smaller - at the backend's + discretion. This especially may happen when further model training + ceases to provide any improvements. If the budget is set to a value + known to be insufficient to train a model for the given dataset, the + training won't be attempted and will error. The train budget must be + between 1,000 and 72,000 milli node hours, inclusive. type: string - displayName: + format: int64 + disableEarlyStopping: + description: >- + Use the entire training budget. This disables the early stopping + feature. By default, the early stopping feature is enabled, which + means that AutoML Tables might stop training before the entire + training budget has been used. + type: boolean + weightColumnName: + description: >- + Column name that should be used as the weight column. Higher values + in this column give more importance to the row during model + training. The column must have numeric values between 0 and 10000 + inclusively; 0 means the row is ignored for training. If weight + column field is not set, then all rows are assumed to have equal + weight of 1. type: string + exportEvaluatedDataItemsConfig: description: >- - Required. User provided name of this TensorboardRun. This value must - be unique among all TensorboardRuns belonging to the same parent - TensorboardExperiment. - type: object - id: GoogleCloudAiplatformV1TensorboardRun - description: >- - TensorboardRun maps to a specific execution of a training job with a - given set of hyperparameter values, model definition, dataset, etc - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig: + Configuration for exporting test set predictions to a BigQuery + table. If this configuration is absent, then the export is not + performed. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig + additionalExperiments: + description: Additional experiment flags for the Tables training pipeline. + type: array + items: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation: id: >- - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation + type: object properties: - attributionScoreSkewThresholds: - description: >- - Key is the feature name and value is the threshold. The threshold - here is against attribution score distance between the training and - prediction feature. - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' - skewThresholds: - description: >- - Key is the feature name and value is the threshold. If a feature - needs to be monitored for skew, a value threshold must be configured - for that feature. The threshold here is against feature distribution - distance between the training and prediction feature. - additionalProperties: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' - type: object - defaultSkewThreshold: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ThresholdConfig' - description: >- - Skew anomaly detection threshold used by all features. When the - per-feature thresholds are not set, this field can be used to - specify a threshold for all features. + auto: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation + numeric: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation + categorical: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation + timestamp: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation + text: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation + repeatedNumeric: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation + repeatedCategorical: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation + repeatedText: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation description: >- - The config for Training & Prediction data skew detection. It specifies - the training dataset sources and the skew detection parameters. - type: object - GoogleCloudAiplatformV1PurgeContextsResponse: + Training pipeline will infer the proper transformation based on the + statistic of dataset. type: object properties: - purgeSample: - type: array - items: - type: string - description: >- - A sample of the Context names that will be deleted. Only populated - if `force` is set to false. The maximum number of samples is 100 (it - is possible to return fewer). - purgeCount: - format: int64 - description: >- - The number of Contexts that this request deleted (or, if `force` is - false, the number of Contexts that will be deleted). This can be an - estimate. + columnName: type: string - description: Response message for MetadataService.PurgeContexts. - id: GoogleCloudAiplatformV1PurgeContextsResponse - GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata: - description: Runtime operation information for DatasetService.CreateDatasetVersion. + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation + description: >- + Training pipeline will perform following transformation functions. * The + value converted to float32. * The z_score of the value. * log(value+1) + when the value is greater than or equal to 0. Otherwise, this + transformation is not applied and the value is considered a missing + value. * z_score of log(value+1) when the value is greater than or equal + to 0. Otherwise, this transformation is not applied and the value is + considered a missing value. * A boolean value that indicates whether the + value is valid. type: object properties: - genericMetadata: - description: The common part of the operation metadata. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - id: GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata - GoogleCloudAiplatformV1ListDatasetsResponse: - description: Response message for DatasetService.ListDatasets. - id: GoogleCloudAiplatformV1ListDatasetsResponse + columnName: + type: string + invalidValuesAllowed: + description: >- + If invalid values is allowed, the training pipeline will create a + boolean feature that indicated whether the value is valid. + Otherwise, the training pipeline will discard the input row from + trainining data. + type: boolean + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation + description: >- + Training pipeline will perform following transformation functions. * The + categorical string as is--no change to case, punctuation, spelling, + tense, and so on. * Convert the category name to a dictionary lookup + index and generate an embedding for each index. * Categories that appear + less than 5 times in the training dataset are treated as the "unknown" + category. The "unknown" category gets its own special lookup index and + resulting embedding. type: object properties: - nextPageToken: - description: The standard List next-page token. + columnName: type: string - datasets: - type: array - description: A list of Datasets that matches the specified filter in the request. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' - GoogleCloudAiplatformV1QuestionAnsweringQualitySpec: - id: GoogleCloudAiplatformV1QuestionAnsweringQualitySpec + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation + description: >- + Training pipeline will perform following transformation functions. * + Apply the transformation functions for Numerical columns. * Determine + the year, month, day,and weekday. Treat each value from the * timestamp + as a Categorical column. * Invalid numerical values (for example, values + that fall outside of a typical timestamp range, or are extreme values) + receive no special treatment and are not removed. type: object properties: - version: - format: int32 - type: integer - description: Optional. Which version to use for evaluation. - useReference: - type: boolean + columnName: + type: string + timeFormat: description: >- - Optional. Whether to use instance.reference to compute question - answering quality. - description: Spec for question answering quality score metric. - GoogleCloudAiplatformV1QuestionAnsweringQualityInput: + The format in which that time field is expressed. The time_format + must either be one of: * `unix-seconds` * `unix-milliseconds` * + `unix-microseconds` * `unix-nanoseconds` (for respectively number of + seconds, milliseconds, microseconds and nanoseconds since start of + the Unix epoch); or be written in `strftime` syntax. If time_format + is not set, then the default format is RFC 3339 `date-time` format, + where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) + type: string + invalidValuesAllowed: + description: >- + If invalid values is allowed, the training pipeline will create a + boolean feature that indicated whether the value is valid. + Otherwise, the training pipeline will discard the input row from + trainining data. + type: boolean + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation + description: >- + Training pipeline will perform following transformation functions. * The + text as is--no change to case, punctuation, spelling, tense, and so on. + * Tokenize text to words. Convert each words to a dictionary lookup + index and generate an embedding for each index. Combine the embedding of + all elements into a single embedding using the mean. * Tokenization is + based on unicode script boundaries. * Missing values get their own + lookup index and resulting embedding. * Stop-words receive no special + treatment and are not removed. + type: object properties: - instance: - description: Required. Question answering quality instance. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualityInstance - metricSpec: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QuestionAnsweringQualitySpec - description: Required. Spec for question answering quality score metric. - description: Input for question answering quality metric. - id: GoogleCloudAiplatformV1QuestionAnsweringQualityInput + columnName: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation + description: >- + Treats the column as numerical array and performs following + transformation functions. * All transformations for Numerical types + applied to the average of the all elements. * The average of empty + arrays is treated as zero. type: object - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation: + properties: + columnName: + type: string + invalidValuesAllowed: + description: >- + If invalid values is allowed, the training pipeline will create a + boolean feature that indicated whether the value is valid. + Otherwise, the training pipeline will discard the input row from + trainining data. + type: boolean + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation + description: >- + Treats the column as categorical array and performs following + transformation functions. * For each element in the array, convert the + category name to a dictionary lookup index and generate an embedding for + each index. Combine the embedding of all elements into a single + embedding using the mean. * Empty arrays treated as an embedding of + zeroes. + type: object properties: columnName: type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation description: >- Treats the column as text array and performs following transformation functions. * Concatenate all text values in the array into a single text @@ -22389,541 +23027,555 @@ components: single text value. Apply the transformations for Text columns. * Empty arrays treated as an empty text. type: object - GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource: properties: - uri: + columnName: type: string - description: >- - The URI of a BigQuery table. e.g. - bq://projectId.bqDatasetId.bqTableId + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata + description: Model metadata specific to AutoML Tables. type: object - id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource - GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame: properties: - timeOffset: - format: google-duration - type: string + trainCostMilliNodeHours: description: >- - A time (frame) of a video in which the object has been detected. - Expressed as a number of seconds as measured from the start of the - video, with fractions up to a microsecond precision, and with "s" - appended at the end. - yMax: - description: The bottommost coordinate of the bounding box. - type: number - format: float - xMax: - type: number - format: float - description: The rightmost coordinate of the bounding box. - xMin: - description: The leftmost coordinate of the bounding box. - type: number - format: float - yMin: - format: float - type: number - description: The topmost coordinate of the bounding box. + Output only. The actual training cost of the model, expressed in + milli node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed the train budget. + type: string + format: int64 + evaluatedDataItemsBigqueryUri: + description: BigQuery destination uri for exported evaluated examples. + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification: id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame - type: object + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification description: >- - The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box, - i.e. the rectangle over the video frame pinpointing the found - AnnotationSpec. The coordinates are relative to the frame size, and the - point 0,0 is in the top left of the frame. - GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata: + A TrainingJob that trains and uploads an AutoML Text Classification + Model. type: object properties: - genericMetadata: - description: Operation metadata for Featurestore. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: Details of operations that perform update Featurestore. - id: GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata - GoogleCloudAiplatformV1DestinationFeatureSetting: + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs + type: object properties: - featureId: - type: string - description: Required. The ID of the Feature to apply the setting to. - destinationField: - type: string - description: >- - Specify the field name in the export destination. If not specified, - Feature ID is used. - id: GoogleCloudAiplatformV1DestinationFeatureSetting + multiLabel: + type: boolean + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction + description: A TrainingJob that trains and uploads an AutoML Text Extraction Model. type: object - GoogleCloudAiplatformV1BatchMigrateResourcesResponse: properties: - migrateResourceResponses: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MigrateResourceResponse - description: Successfully migrated resources. - description: Response message for MigrationService.BatchMigrateResources. + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs + type: object + properties: {} + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment + description: A TrainingJob that trains and uploads an AutoML Text Sentiment Model. type: object - id: GoogleCloudAiplatformV1BatchMigrateResourcesResponse - GoogleCloudAiplatformV1ListTrialsResponse: - id: GoogleCloudAiplatformV1ListTrialsResponse properties: - trials: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' - type: array - description: The Trials associated with the Study. - nextPageToken: - type: string + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs + type: object + properties: + sentimentMax: description: >- - Pass this token as the `page_token` field of the request for a - subsequent call. If this field is omitted, there are no subsequent - pages. + A sentiment is expressed as an integer ordinal, where higher value + means a more positive sentiment. The range of sentiments that will + be used is between 0 and sentimentMax (inclusive on both ends), and + all the values in the range must be represented in the dataset + before a model can be created. Only the Annotations with this + sentimentMax will be used for training. sentimentMax value must be + between 1 and 10 (inclusive). + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition + description: >- + A TrainingJob that trains and uploads an AutoML Video Action Recognition + Model. type: object - description: Response message for VizierService.ListTrials. - GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance: - description: Spec for question answering helpfulness instance. - id: GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance + properties: + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs type: object properties: - reference: - description: Optional. Ground truth used to compare against the prediction. - type: string - prediction: - type: string - description: Required. Output of the evaluated model. - context: - description: Optional. Text provided as context to answer the question. - type: string - instruction: + modelType: type: string - description: >- - Required. The question asked and other instruction in the inference - prompt. - GoogleCloudAiplatformV1CoherenceInstance: - id: GoogleCloudAiplatformV1CoherenceInstance - description: Spec for coherence instance. + enumDescriptions: + - Should not be set. + - >- + A model best tailored to be used within Google Cloud, and which c + annot be exported. Default. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as a + TensorFlow or TensorFlow Lite model and used on a mobile or edge + device afterwards. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) to a Jetson + device afterwards. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as a + TensorFlow or TensorFlow Lite model and used on a Coral device + afterwards. + enum: + - MODEL_TYPE_UNSPECIFIED + - CLOUD + - MOBILE_VERSATILE_1 + - MOBILE_JETSON_VERSATILE_1 + - MOBILE_CORAL_VERSATILE_1 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification + description: >- + A TrainingJob that trains and uploads an AutoML Video Classification + Model. type: object properties: - prediction: - description: Required. Output of the evaluated model. - type: string - GoogleCloudAiplatformV1ListNasJobsResponse: - id: GoogleCloudAiplatformV1ListNasJobsResponse - description: Response message for JobService.ListNasJobs + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs type: object properties: - nextPageToken: + modelType: type: string - description: >- - A token to retrieve the next page of results. Pass to - ListNasJobsRequest.page_token to obtain that page. - nasJobs: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' - description: >- - List of NasJobs in the requested page. NasJob.nas_job_output of the - jobs will not be returned. - type: array - GoogleCloudAiplatformV1Retrieval: - type: object - id: GoogleCloudAiplatformV1Retrieval + enumDescriptions: + - Should not be set. + - >- + A model best tailored to be used within Google Cloud, and which + cannot be exported. Default. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as a + TensorFlow or TensorFlow Lite model and used on a mobile or edge + device afterwards. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) to a Jetson + device afterwards. + enum: + - MODEL_TYPE_UNSPECIFIED + - CLOUD + - MOBILE_VERSATILE_1 + - MOBILE_JETSON_VERSATILE_1 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking description: >- - Defines a retrieval tool that model can call to access external - knowledge. - properties: - vertexRagStore: - description: >- - Set to use data source powered by Vertex RAG store. User data is - uploaded via the VertexRagDataService. - $ref: '#/components/schemas/GoogleCloudAiplatformV1VertexRagStore' - vertexAiSearch: - description: Set to use data source powered by Vertex AI Search. - $ref: '#/components/schemas/GoogleCloudAiplatformV1VertexAISearch' - disableAttribution: - type: boolean - deprecated: true - description: Optional. Deprecated. This option is no longer supported. - GoogleCloudAiplatformV1DeleteFeatureValuesRequest: - description: Request message for FeaturestoreService.DeleteFeatureValues. + A TrainingJob that trains and uploads an AutoML Video ObjectTracking + Model. type: object properties: - selectEntity: - description: Select feature values to be deleted by specifying entities. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity - selectTimeRangeAndFeature: + inputs: + description: The input parameters of this TrainingJob. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature - description: >- - Select feature values to be deleted by specifying time range and - features. - id: GoogleCloudAiplatformV1DeleteFeatureValuesRequest - GoogleCloudAiplatformV1SummarizationQualityResult: - description: Spec for summarization quality result. + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs type: object properties: - score: - type: number - format: float - readOnly: true - description: Output only. Summarization Quality score. - confidence: - type: number - readOnly: true - format: float - description: Output only. Confidence for summarization quality score. - explanation: - description: Output only. Explanation for summarization quality score. + modelType: type: string - readOnly: true - id: GoogleCloudAiplatformV1SummarizationQualityResult - GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig: + enumDescriptions: + - Should not be set. + - >- + A model best tailored to be used within Google Cloud, and which c + annot be exported. Default. + - >- + A model that, in addition to being available within Google Cloud, + can also be exported (see ModelService.ExportModel) as a + TensorFlow or TensorFlow Lite model and used on a mobile or edge + device afterwards. + - >- + A versatile model that is meant to be exported (see + ModelService.ExportModel) and used on a Google Coral device. + - >- + A model that trades off quality for low latency, to be exported + (see ModelService.ExportModel) and used on a Google Coral device. + - >- + A versatile model that is meant to be exported (see + ModelService.ExportModel) and used on an NVIDIA Jetson device. + - >- + A model that trades off quality for low latency, to be exported + (see ModelService.ExportModel) and used on an NVIDIA Jetson + device. + enum: + - MODEL_TYPE_UNSPECIFIED + - CLOUD + - MOBILE_VERSATILE_1 + - MOBILE_CORAL_VERSATILE_1 + - MOBILE_CORAL_LOW_LATENCY_1 + - MOBILE_JETSON_VERSATILE_1 + - MOBILE_JETSON_LOW_LATENCY_1 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask + description: A TrainingJob that trains a custom code Model. + type: object properties: - leafNodeEmbeddingCount: - format: int64 - description: >- - Optional. Number of embeddings on each leaf node. The default value - is 1000 if not set. - type: string - description: Configuration options for the tree-AH algorithm. - id: GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig + inputs: + description: The input parameters of this CustomTask. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata type: object - GoogleCloudAiplatformV1Value: - id: GoogleCloudAiplatformV1Value properties: - intValue: - type: string - format: int64 - description: An integer value. - doubleValue: - description: A double value. - type: number - format: double - stringValue: + backingCustomJob: + description: >- + The resource name of the CustomJob that has been created to carry + out this custom task. type: string - description: A string value. - type: object - description: Value is the value of the field. - GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain: - description: >- - Domain details of the input feature value. Provides numeric information - about the feature, such as its range (min, max). If the feature has been - pre-processed, for example with z-scoring, then it provides information - about how to recover the original feature. For example, if the input - feature is an image and it has been pre-processed to obtain 0-mean and - stddev = 1 values, then original_mean, and original_stddev refer to the - mean and stddev of the original feature (e.g. image tensor) from which - input feature (with mean = 0 and stddev = 1) was obtained. + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask + description: A TrainingJob that tunes Hypererparameters of a custom code Model. type: object properties: - minValue: - format: float - type: number - description: The minimum permissible value for this feature. - originalStddev: - format: float - type: number - description: >- - If this input feature has been normalized to a standard deviation of - 1.0, the original_stddev specifies the standard deviation of the - domain prior to normalization. - originalMean: - description: >- - If this input feature has been normalized to a mean value of 0, the - original_mean specifies the mean value of the domain prior to - normalization. - type: number - format: float - maxValue: - type: number - description: The maximum permissible value for this feature. - format: float + inputs: + description: The input parameters of this HyperparameterTuningTask. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec: id: >- - GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics: + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec + type: object properties: - confidenceMetrics: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics + studySpec: + description: Study configuration of the HyperparameterTuningJob. + $ref: '#/components/schemas/GoogleCloudAiplatformV1StudySpec' + trialJobSpec: description: >- - Metrics that have confidence thresholds. Precision-recall curve can - be derived from them. - confusionMatrix: + The spec of a trial job. The same spec applies to the CustomJobs + created in all the trials. + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJobSpec' + maxTrialCount: + description: The desired total number of Trials. + type: integer + format: int32 + parallelTrialCount: + description: The desired number of Trials to run in parallel. + type: integer + format: int32 + maxFailedTrialCount: description: >- - Confusion matrix of the evaluation. Only set for Models where number - of AnnotationSpecs is no more than 10. Only set for - ModelEvaluations, not for ModelEvaluationSlices. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix - type: object - description: Metrics for text extraction evaluation results. + 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. + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata: id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation: + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata type: object properties: - columnName: + backingHyperparameterTuningJob: + description: >- + The resource name of the HyperparameterTuningJob that has been + created to carry out this HyperparameterTuning task. type: string - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation - description: >- - Training pipeline will infer the proper transformation based on the - statistic of dataset. - GoogleCloudAiplatformV1CsvDestination: - description: The storage details for CSV output content. + bestTrialBackingCustomJob: + description: >- + The resource name of the CustomJob that has been created to run the + best Trial of this HyperparameterTuning task. + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting + description: A TrainingJob that trains and uploads an AutoML Forecasting Model. type: object - id: GoogleCloudAiplatformV1CsvDestination properties: - gcsDestination: - description: Required. Google Cloud Storage location. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - GoogleCloudAiplatformV1ModelDeploymentMonitoringJob: + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs type: object - id: GoogleCloudAiplatformV1ModelDeploymentMonitoringJob properties: - logTtl: - format: google-duration - type: string - description: >- - 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. - createTime: + targetColumn: description: >- - Output only. Timestamp when this ModelDeploymentMonitoringJob was - created. - format: google-datetime - readOnly: true + The name of the column that the Model is to predict values for. This + column must be unavailable at forecast. type: string - statsAnomaliesBaseDirectory: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsDestination' - description: Stats anomalies base folder path. - enableMonitoringPipelineLogs: - type: boolean + timeSeriesIdentifierColumn: + description: The name of the column that identifies the time series. + type: string + timeColumn: description: >- - 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). - latestMonitoringPipelineMetadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata - readOnly: true - description: Output only. Latest triggered monitoring pipeline metadata. - labels: + The name of the column that identifies time order in the time + series. This column must be available at forecast. + type: string + transformations: description: >- - 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. - type: object - additionalProperties: - type: string - modelDeploymentMonitoringScheduleConfig: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig - description: Required. Schedule config for running the monitoring job. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + Each transformation will apply transform function to given input + column. And the result will be used for training. When creating + transformation for BigQuery Struct column, the column should be + flattened using "." as the delimiter. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation + optimizationObjective: description: >- - Customer-managed encryption key spec for a - ModelDeploymentMonitoringJob. If set, this - ModelDeploymentMonitoringJob and all sub-resources of this - ModelDeploymentMonitoringJob will be secured by this key. - predictInstanceSchemaUri: + Objective function the model is optimizing towards. The training + process creates a model that optimizes the value of the objective + function over the validation set. The supported optimization + objectives: * "minimize-rmse" (default) - Minimize root-mean-squared + error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). + * "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). * + "minimize-rmspe" - Minimize root-mean-squared percentage error + (RMSPE). * "minimize-wape-mae" - Minimize the combination of + weighted absolute percentage error (WAPE) and mean-absolute-error + (MAE). * "minimize-quantile-loss" - Minimize the quantile loss at + the quantiles defined in `quantiles`. * "minimize-mape" - Minimize + the mean absolute percentage error. type: string + trainBudgetMilliNodeHours: description: >- - 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. - scheduleState: - readOnly: true - enum: - - MONITORING_SCHEDULE_STATE_UNSPECIFIED - - PENDING - - OFFLINE - - RUNNING + Required. The train budget of creating this model, expressed in + milli node hours i.e. 1,000 value in this field means 1 node hour. + The training cost of the model will not exceed this budget. The + final cost will be attempted to be close to the budget, though may + end up being (even) noticeably smaller - at the backend's + discretion. This especially may happen when further model training + ceases to provide any improvements. If the budget is set to a value + known to be insufficient to train a model for the given dataset, the + training won't be attempted and will error. The train budget must be + between 1,000 and 72,000 milli node hours, inclusive. type: string - enumDescriptions: - - Unspecified state. - - The pipeline is picked up and wait to run. - - The pipeline is offline and will be scheduled for next run. - - The pipeline is running. + format: int64 + weightColumn: description: >- - Output only. Schedule state when the monitoring job is in Running - state. - satisfiesPzi: - readOnly: true - description: Output only. Reserved for future use. - type: boolean - analysisInstanceSchemaUri: + Column name that should be used as the weight column. Higher values + in this column give more importance to the row during model + training. The column must have numeric values between 0 and 10000 + inclusively; 0 means the row is ignored for training. If weight + column field is not set, then all rows are assumed to have equal + weight of 1. This column must be available at forecast. type: string + timeSeriesAttributeColumns: description: >- - YAML schema file uri describing the format of a single instance that - you want Tensorflow Data Validation (TFDV) to analyze. If this field - is empty, all the feature data types are inferred from - predict_instance_schema_uri, meaning that TFDV will use the data in - the exact format(data type) as prediction request/response. If there - are any data type differences between predict instance and TFDV - instance, this field can be used to override the schema. For models - trained with Vertex AI, this field must be set as all the fields in - predict instance formatted as string. - modelDeploymentMonitoringObjectiveConfigs: + Column names that should be used as attribute columns. The value of + these columns does not vary as a function of time. For example, + store ID or item color. type: array + items: + type: string + unavailableAtForecastColumns: description: >- - Required. The config for monitoring objectives. This is a per - DeployedModel config. Each DeployedModel needs to be configured - separately. + Names of columns that are unavailable when a forecast is requested. + This column contains information for the given entity (identified by + the time_series_identifier_column) that is unknown before the + forecast For example, actual weather on a given day. + type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig - samplePredictInstance: - type: any + type: string + availableAtForecastColumns: description: >- - 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. - state: - enumDescriptions: - - The job state is unspecified. - - >- - The job has been just created or resumed and processing has not - yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. - - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. - - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. - - >- - The job is partially succeeded, some results may be missing due to - errors. + Names of columns that are available and provided when a forecast is + requested. These columns contain information for the given entity + (identified by the time_series_identifier_column column) that is + known at forecast. For example, predicted weather for a specific + day. + type: array + items: + type: string + dataGranularity: + description: Expected difference in time granularity between rows in the data. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity + forecastHorizon: description: >- - 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'. - readOnly: true - type: string - enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED - loggingSamplingStrategy: - description: Required. Sample Strategy for logging. - $ref: '#/components/schemas/GoogleCloudAiplatformV1SamplingStrategy' - displayName: + The amount of time into the future for which forecasted values for + the target are returned. Expressed in number of units defined by the + `data_granularity` field. type: string + format: int64 + contextWindow: description: >- - 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. - name: - description: Output only. Resource name of a ModelDeploymentMonitoringJob. - readOnly: true - type: string - satisfiesPzs: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - endpoint: + The amount of time into the past training and prediction data is + used for model training and prediction respectively. Expressed in + number of units defined by the `data_granularity` field. type: string + format: int64 + holidayRegions: description: >- - Required. Endpoint resource name. Format: - `projects/{project}/locations/{location}/endpoints/{endpoint}` - error: - description: >- - Output only. Only populated when the job's state is - `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. - $ref: '#/components/schemas/GoogleRpcStatus' - readOnly: true - nextScheduleTime: + The geographical region based on which the holiday effect is applied + in modeling by adding holiday categorical array feature that include + all holidays matching the date. This option only allowed when + data_granularity is day. By default, holiday effect modeling is + disabled. To turn it on, specify the holiday region using this + option. + type: array + items: + type: string + exportEvaluatedDataItemsConfig: description: >- - Output only. Timestamp when this monitoring pipeline will be - scheduled to run for the next round. - format: google-datetime - readOnly: true - type: string - modelMonitoringAlertConfig: + Configuration for exporting test set predictions to a BigQuery + table. If this configuration is absent, then the export is not + performed. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringAlertConfig - description: Alert config for model monitoring. - bigqueryTables: - readOnly: true + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig + windowConfig: + description: Config containing strategy for generating sliding windows. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig + quantiles: + description: >- + Quantiles to use for minimize-quantile-loss + `optimization_objective`. Up to 5 quantiles are allowed of values + between 0 and 1, exclusive. Required if the value of + optimization_objective is minimize-quantile-loss. Represents the + percent quantiles to use for that objective. Quantiles must be + unique. + type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable + type: number + format: double + validationOptions: + description: >- + Validation options for the data validation component. The available + options are: * "fail-pipeline" - default, will validate against the + validation and fail the pipeline if it fails. * "ignore-validation" + - ignore the results of the validation and continue + type: string + additionalExperiments: + description: Additional experiment flags for the time series forcasting training. type: array + items: + type: string + hierarchyConfig: description: >- - Output only. The created bigquery tables for the job under customer - project. Customer could do their own query & analysis. There could - be 4 log tables in maximum: 1. Training data logging predict - request/response 2. Serving data logging predict request/response - updateTime: + Configuration that defines the hierarchical relationship of time + series and parameters for hierarchical forecasting strategies. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation + type: object + properties: + auto: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation + numeric: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation + categorical: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation + timestamp: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation + text: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation + description: >- + Training pipeline will infer the proper transformation based on the + statistic of dataset. + type: object + properties: + columnName: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation + description: >- + Training pipeline will perform following transformation functions. * The + value converted to float32. * The z_score of the value. * log(value+1) + when the value is greater than or equal to 0. Otherwise, this + transformation is not applied and the value is considered a missing + value. * z_score of log(value+1) when the value is greater than or equal + to 0. Otherwise, this transformation is not applied and the value is + considered a missing value. + type: object + properties: + columnName: type: string - readOnly: true - format: google-datetime - description: >- - Output only. Timestamp when this ModelDeploymentMonitoringJob was - updated most recently. + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation description: >- - Represents a job that runs periodically to monitor the deployed models - in an endpoint. It will analyze the logged training & prediction data to - detect any abnormal behaviors. - GoogleCloudAiplatformV1CopyModelOperationMetadata: + Training pipeline will perform following transformation functions. * The + categorical string as is--no change to case, punctuation, spelling, + tense, and so on. * Convert the category name to a dictionary lookup + index and generate an embedding for each index. * Categories that appear + less than 5 times in the training dataset are treated as the "unknown" + category. The "unknown" category gets its own special lookup index and + resulting embedding. type: object - description: Details of ModelService.CopyModel operation. - id: GoogleCloudAiplatformV1CopyModelOperationMetadata properties: - genericMetadata: - description: The common part of the operation metadata. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF: - id: GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF + columnName: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation + description: >- + Training pipeline will perform following transformation functions. * + Apply the transformation functions for Numerical columns. * Determine + the year, month, day,and weekday. Treat each value from the timestamp as + a Categorical column. * Invalid numerical values (for example, values + that fall outside of a typical timestamp range, or are extreme values) + receive no special treatment and are not removed. type: object - description: Parameters for RRF algorithm that combines search results. properties: - alpha: + columnName: + type: string + timeFormat: description: >- - Required. Users can provide an alpha value to give more weight to - dense vs sparse results. For example, if the alpha is 0, we only - return sparse and if the alpha is 1, we only return dense. - format: float - type: number - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction: - properties: - inputs: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs - description: The input parameters of this TrainingJob. - type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction - description: A TrainingJob that trains and uploads an AutoML Text Extraction Model. + The format in which that time field is expressed. The time_format + must either be one of: * `unix-seconds` * `unix-milliseconds` * + `unix-microseconds` * `unix-nanoseconds` (for respectively number of + seconds, milliseconds, microseconds and nanoseconds since start of + the Unix epoch); or be written in `strftime` syntax. If time_format + is not set, then the default format is RFC 3339 `date-time` format, + where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) + type: string GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation description: >- Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. @@ -22933,433 +23585,263 @@ components: properties: columnName: type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs: - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity + description: A duration of time expressed in time granularity units. + type: object properties: - budgetMilliNodeHours: + unit: description: >- - The training budget of creating this model, expressed in milli node - hours i.e. 1,000 value in this field means 1 node hour. The actual - metadata.costMilliNodeHours will be equal or less than this value. - If further model training ceases to provide any improvements, it - will stop without using the full budget and the - metadata.successfulStopReason will be `model-converged`. Note, - node_hour = actual_hour * number_of_nodes_involved. Or - actual_wall_clock_hours = train_budget_milli_node_hours / - (number_of_nodes_involved * 1000) For modelType - `cloud-high-accuracy-1`(default), the budget must be between 20,000 - and 2,000,000 milli node hours, inclusive. The default value is - 192,000 which represents one day in wall time (1000 milli * 24 hours - * 8 nodes). - format: int64 + The time granularity unit of this time period. The supported units + are: * "minute" * "hour" * "day" * "week" * "month" * "year" type: string - modelType: - enum: - - MODEL_TYPE_UNSPECIFIED - - CLOUD_HIGH_ACCURACY_1 - - CLOUD_LOW_ACCURACY_1 - - MOBILE_TF_LOW_LATENCY_1 - enumDescriptions: - - Should not be set. - - >- - A model to be used via prediction calls to uCAIP API. Expected to - have a higher latency, but should also have a higher prediction - quality than other models. - - >- - A model to be used via prediction calls to uCAIP API. Expected to - have a lower latency but relatively lower prediction quality. - - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as TensorFlow - model and used on a mobile or edge device afterwards. Expected to - have low latency, but may have lower prediction quality than other - mobile models. + quantity: + description: >- + The number of granularity_units between data points in the training + data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. + For all other values of `granularity_unit`, must be 1. type: string - baseModelId: + format: int64 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata + description: Model metadata specific to Seq2Seq Plus Forecasting. + type: object + properties: + trainCostMilliNodeHours: description: >- - The ID of the `base` model. If it is specified, the new model will - be trained based on the `base` model. Otherwise, the new model will - be trained from scratch. The `base` model must be in the same - Project and Location as the new Model to train, and have the same - modelType. + Output only. The actual training cost of the model, expressed in + milli node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed the train budget. type: string + format: int64 + evaluatedDataItemsBigqueryUri: + description: BigQuery destination uri for exported evaluated examples. + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting + description: A TrainingJob that trains and uploads an AutoML Forecasting Model. type: object - GoogleCloudAiplatformV1DeployModelOperationMetadata: properties: - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - id: GoogleCloudAiplatformV1DeployModelOperationMetadata - description: Runtime operation information for EndpointService.DeployModel. + inputs: + description: The input parameters of this TrainingJob. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs + metadata: + description: The metadata information. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs type: object - GoogleCloudAiplatformV1DataLabelingJob: - description: >- - DataLabelingJob is used to trigger a human labeling job on unlabeled - data from the following Dataset: properties: - datasets: - type: array - description: >- - Required. Dataset resource names. Right now we only support labeling - from a single Dataset. Format: - `projects/{project}/locations/{location}/datasets/{dataset}` - items: - type: string - labelerCount: - description: Required. Number of labelers to work on each DataItem. - format: int32 - type: integer - instructionUri: + targetColumn: description: >- - Required. The Google Cloud Storage location of the instruction pdf. - This pdf is shared with labelers, and provides detailed description - on how to label DataItems in Datasets. + The name of the column that the Model is to predict values for. This + column must be unavailable at forecast. type: string - activeLearningConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ActiveLearningConfig' - description: >- - Parameters that configure the active learning pipeline. Active - learning will label the data incrementally via several iterations. - For every iteration, it will select a batch of data based on the - sampling strategy. - inputsSchemaUri: + timeSeriesIdentifierColumn: + description: The name of the column that identifies the time series. type: string + timeColumn: description: >- - Required. Points to a YAML file stored on Google Cloud Storage - describing the config for a specific type of DataLabelingJob. The - schema files that can be used here are found in the - https://storage.googleapis.com/google-cloud-aiplatform bucket in the - /schema/datalabelingjob/inputs/ folder. - inputs: - description: Required. Input config parameters for the DataLabelingJob. - type: any - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' + The name of the column that identifies time order in the time + series. This column must be available at forecast. + type: string + transformations: description: >- - Customer-managed encryption key spec for a DataLabelingJob. If set, - this DataLabelingJob will be secured by this key. Note: Annotations - created in the DataLabelingJob are associated with the - EncryptionSpec of the Dataset they are exported to. - annotationLabels: - type: object + Each transformation will apply transform function to given input + column. And the result will be used for training. When creating + transformation for BigQuery Struct column, the column should be + flattened using "." as the delimiter. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation + optimizationObjective: description: >- - 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. - additionalProperties: - type: string - name: + Objective function the model is optimizing towards. The training + process creates a model that optimizes the value of the objective + function over the validation set. The supported optimization + objectives: * "minimize-rmse" (default) - Minimize root-mean-squared + error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). + * "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). * + "minimize-rmspe" - Minimize root-mean-squared percentage error + (RMSPE). * "minimize-wape-mae" - Minimize the combination of + weighted absolute percentage error (WAPE) and mean-absolute-error + (MAE). * "minimize-quantile-loss" - Minimize the quantile loss at + the quantiles defined in `quantiles`. * "minimize-mape" - Minimize + the mean absolute percentage error. type: string - description: Output only. Resource name of the DataLabelingJob. - readOnly: true - currentSpend: - readOnly: true - $ref: '#/components/schemas/GoogleTypeMoney' + trainBudgetMilliNodeHours: description: >- - Output only. Estimated cost(in US dollars) that the DataLabelingJob - has incurred to date. - displayName: + Required. The train budget of creating this model, expressed in + milli node hours i.e. 1,000 value in this field means 1 node hour. + The training cost of the model will not exceed this budget. The + final cost will be attempted to be close to the budget, though may + end up being (even) noticeably smaller - at the backend's + discretion. This especially may happen when further model training + ceases to provide any improvements. If the budget is set to a value + known to be insufficient to train a model for the given dataset, the + training won't be attempted and will error. The train budget must be + between 1,000 and 72,000 milli node hours, inclusive. type: string + format: int64 + weightColumn: description: >- - 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. - updateTime: - format: google-datetime - description: >- - Output only. Timestamp when this DataLabelingJob was updated most - recently. - type: string - readOnly: true - state: - enum: - - JOB_STATE_UNSPECIFIED - - JOB_STATE_QUEUED - - JOB_STATE_PENDING - - JOB_STATE_RUNNING - - JOB_STATE_SUCCEEDED - - JOB_STATE_FAILED - - JOB_STATE_CANCELLING - - JOB_STATE_CANCELLED - - JOB_STATE_PAUSED - - JOB_STATE_EXPIRED - - JOB_STATE_UPDATING - - JOB_STATE_PARTIALLY_SUCCEEDED - description: Output only. The detailed state of the job. + Column name that should be used as the weight column. Higher values + in this column give more importance to the row during model + training. The column must have numeric values between 0 and 10000 + inclusively; 0 means the row is ignored for training. If weight + column field is not set, then all rows are assumed to have equal + weight of 1. This column must be available at forecast. type: string - readOnly: true - enumDescriptions: - - The job state is unspecified. - - >- - The job has been just created or resumed and processing has not - yet begun. - - The service is preparing to run the job. - - The job is in progress. - - The job completed successfully. - - The job failed. - - >- - The job is being cancelled. From this state the job may only go to - either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or - `JOB_STATE_CANCELLED`. - - The job has been cancelled. - - The job has been stopped, and can be resumed. - - The job has expired. - - >- - The job is being updated. Only jobs in the `RUNNING` state can be - updated. After updating, the job goes back to the `RUNNING` state. - - >- - The job is partially succeeded, some results may be missing due to - errors. - labels: - type: object + timeSeriesAttributeColumns: description: >- - The labels with user-defined metadata to organize your - DataLabelingJobs. 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. Following system - labels exist for each DataLabelingJob: * - "aiplatform.googleapis.com/schema": output only, its value is the - inputs_schema's title. - additionalProperties: - type: string - createTime: - description: Output only. Timestamp when this DataLabelingJob was created. - type: string - readOnly: true - format: google-datetime - specialistPools: + Column names that should be used as attribute columns. The value of + these columns does not vary as a function of time. For example, + store ID or item color. type: array - description: The SpecialistPools' resource names associated with this job. items: type: string - error: - readOnly: true - description: >- - Output only. DataLabelingJob errors. It is only populated when job's - state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. - $ref: '#/components/schemas/GoogleRpcStatus' - labelingProgress: - format: int32 - description: >- - Output only. Current labeling job progress percentage scaled in - interval [0, 100], indicating the percentage of DataItems that has - been finished. - type: integer - readOnly: true - type: object - id: GoogleCloudAiplatformV1DataLabelingJob - GoogleCloudAiplatformV1PurgeArtifactsResponse: - properties: - purgeCount: + unavailableAtForecastColumns: description: >- - The number of Artifacts that this request deleted (or, if `force` is - false, the number of Artifacts that will be deleted). This can be an - estimate. - format: int64 - type: string - purgeSample: + Names of columns that are unavailable when a forecast is requested. + This column contains information for the given entity (identified by + the time_series_identifier_column) that is unknown before the + forecast For example, actual weather on a given day. type: array items: type: string + availableAtForecastColumns: description: >- - A sample of the Artifact names that will be deleted. Only populated - if `force` is set to false. The maximum number of samples is 100 (it - is possible to return fewer). - type: object - description: Response message for MetadataService.PurgeArtifacts. - id: GoogleCloudAiplatformV1PurgeArtifactsResponse - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset: - type: object - description: Training Dataset information. - id: GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset - properties: - dataset: - description: The resource name of the Dataset used to train this Model. - type: string - bigquerySource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BigQuerySource' - description: >- - The BigQuery table of the unmanaged Dataset used to train this - Model. - loggingSamplingStrategy: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SamplingStrategy' - description: >- - Strategy to sample data from Training Dataset. If not set, we - process the whole dataset. - gcsSource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GcsSource' - description: >- - The Google Cloud Storage uri of the unmanaged Dataset used to train - this Model. - targetField: - description: >- - The target field name the model is to predict. This field will be - excluded when doing Predict and (or) Explain for the training data. - type: string - dataFormat: + Names of columns that are available and provided when a forecast is + requested. These columns contain information for the given entity + (identified by the time_series_identifier_column column) that is + known at forecast. For example, predicted weather for a specific + day. + type: array + items: + type: string + dataGranularity: + description: Expected difference in time granularity between rows in the data. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity + forecastHorizon: description: >- - Data format of the dataset, only applicable if the input is from - Google Cloud Storage. The possible formats are: "tf-record" The - source file is a TFRecord file. "csv" The source file is a CSV file. - "jsonl" The source file is a JSONL file. - type: string - GoogleTypeInterval: - id: GoogleTypeInterval - type: object - description: >- - 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. - properties: - endTime: + The amount of time into the future for which forecasted values for + the target are returned. Expressed in number of units defined by the + `data_granularity` field. type: string + format: int64 + contextWindow: description: >- - Optional. Exclusive end of the interval. If specified, a Timestamp - matching this interval will have to be before the end. - format: google-datetime - startTime: - description: >- - Optional. Inclusive start of the interval. If specified, a Timestamp - matching this interval will have to be the same or after the start. - type: string - format: google-datetime - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata: - properties: - evaluatedDataItemsBigqueryUri: - description: BigQuery destination uri for exported evaluated examples. + The amount of time into the past training and prediction data is + used for model training and prediction respectively. Expressed in + number of units defined by the `data_granularity` field. type: string - trainCostMilliNodeHours: - description: >- - Output only. The actual training cost of the model, expressed in - milli node hours, i.e. 1,000 value in this field means 1 node hour. - Guaranteed to not exceed the train budget. format: int64 - type: string - type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata - description: Model metadata specific to TFT Forecasting. - GoogleCloudAiplatformV1DeployIndexResponse: - type: object - description: Response message for IndexEndpointService.DeployIndex. - properties: - deployedIndex: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' - description: The DeployedIndex that had been deployed in the IndexEndpoint. - id: GoogleCloudAiplatformV1DeployIndexResponse - GoogleCloudAiplatformV1ToolCallValidSpec: - id: GoogleCloudAiplatformV1ToolCallValidSpec - properties: {} - type: object - description: Spec for tool call valid metric. - GoogleCloudAiplatformV1StudyTimeConstraint: - type: object - properties: - maxDuration: - description: Counts the wallclock time passed since the creation of this Study. - format: google-duration - type: string - endTime: - description: Compares the wallclock time to this time. Must use UTC timezone. - format: google-datetime - type: string - description: Time-based Constraint for Study - id: GoogleCloudAiplatformV1StudyTimeConstraint - GoogleCloudAiplatformV1RebootPersistentResourceRequest: - type: object - id: GoogleCloudAiplatformV1RebootPersistentResourceRequest - properties: {} - description: Request message for PersistentResourceService.RebootPersistentResource. - GoogleCloudAiplatformV1ErrorAnalysisAnnotation: - properties: - attributedItems: + holidayRegions: + description: >- + The geographical region based on which the holiday effect is applied + in modeling by adding holiday categorical array feature that include + all holidays matching the date. This option only allowed when + data_granularity is day. By default, holiday effect modeling is + disabled. To turn it on, specify the holiday region using this + option. type: array + items: + type: string + exportEvaluatedDataItemsConfig: description: >- - Attributed items for a given annotation, typically representing - neighbors from the training sets constrained by the query type. + Configuration for exporting test set predictions to a BigQuery + table. If this configuration is absent, then the export is not + performed. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig + windowConfig: + description: Config containing strategy for generating sliding windows. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig + quantiles: + description: >- + Quantiles to use for minimize-quantile-loss + `optimization_objective`. Up to 5 quantiles are allowed of values + between 0 and 1, exclusive. Required if the value of + optimization_objective is minimize-quantile-loss. Represents the + percent quantiles to use for that objective. Quantiles must be + unique. + type: array items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem - outlierScore: - format: double + type: number + format: double + validationOptions: description: >- - The outlier score of this annotated item. Usually defined as the min - of all distances from attributed items. - type: number - queryType: - enumDescriptions: - - Unspecified query type for model error analysis. - - Query similar samples across all classes in the dataset. - - Query similar samples from the same class of the input sample. - - Query dissimilar samples from the same class of the input sample. + Validation options for the data validation component. The available + options are: * "fail-pipeline" - default, will validate against the + validation and fail the pipeline if it fails. * "ignore-validation" + - ignore the results of the validation and continue type: string - description: The query type used for finding the attributed items. - enum: - - QUERY_TYPE_UNSPECIFIED - - ALL_SIMILAR - - SAME_CLASS_SIMILAR - - SAME_CLASS_DISSIMILAR - outlierThreshold: - format: double + additionalExperiments: + description: Additional experiment flags for the time series forcasting training. + type: array + items: + type: string + hierarchyConfig: description: >- - The threshold used to determine if this annotation is an outlier or - not. - type: number - description: Model error analysis for each annotation. - id: GoogleCloudAiplatformV1ErrorAnalysisAnnotation + Configuration that defines the hierarchical relationship of time + series and parameters for hierarchical forecasting strategies. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation type: object - GoogleCloudAiplatformV1CompletionStats: + properties: + auto: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation + numeric: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation + categorical: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation + timestamp: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation + text: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation description: >- - Success and error statistics of processing multiple entities (for - example, DataItems or structured data rows) in batch. + Training pipeline will infer the proper transformation based on the + statistic of dataset. + type: object properties: - successfulForecastPointCount: - format: int64 - readOnly: true - type: string - description: >- - Output only. The number of the successful forecast points that are - generated by the forecasting model. This is ONLY used by the - forecasting batch prediction. - failedCount: - description: >- - Output only. The number of entities for which any error was - encountered. - format: int64 - readOnly: true - type: string - successfulCount: - type: string - description: >- - Output only. The number of entities that had been processed - successfully. - format: int64 - readOnly: true - incompleteCount: - format: int64 - description: >- - Output only. In cases when enough errors are encountered a job, - pipeline, or operation may be failed as a whole. Below is the number - of entities for which the processing had not been finished (either - in successful or failed state). Set to -1 if the number is unknown - (for example, the operation failed before the total entity number - could be collected). + columnName: type: string - readOnly: true + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation + description: >- + Training pipeline will perform following transformation functions. * The + value converted to float32. * The z_score of the value. * log(value+1) + when the value is greater than or equal to 0. Otherwise, this + transformation is not applied and the value is considered a missing + value. * z_score of log(value+1) when the value is greater than or equal + to 0. Otherwise, this transformation is not applied and the value is + considered a missing value. type: object - id: GoogleCloudAiplatformV1CompletionStats - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation: + properties: + columnName: + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation description: >- Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, @@ -23368,1519 +23850,1628 @@ components: less than 5 times in the training dataset are treated as the "unknown" category. The "unknown" category gets its own special lookup index and resulting embedding. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation + type: object properties: columnName: type: string - type: object - GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair: + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation: id: >- - GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair - properties: - name: - type: string - description: Feature short name. - value: - description: Feature value. - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureValue' + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation + description: >- + Training pipeline will perform following transformation functions. * + Apply the transformation functions for Numerical columns. * Determine + the year, month, day,and weekday. Treat each value from the timestamp as + a Categorical column. * Invalid numerical values (for example, values + that fall outside of a typical timestamp range, or are extreme values) + receive no special treatment and are not removed. type: object - description: Feature name & value pair. - GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry: properties: - confusionMatrix: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix - description: Confusion matrix for the given confidence threshold. - iouScore: - format: float - type: number - description: >- - The intersection-over-union score. The measure of overlap of the - annotation's category mask with ground truth category mask on the - DataItem. - precision: - type: number - description: Precision for the given confidence threshold. - format: float - recall: - description: Recall (True Positive Rate) for the given confidence threshold. - format: float - type: number - confidenceThreshold: - type: number + columnName: + type: string + timeFormat: description: >- - Metrics are computed with an assumption that the model never returns - predictions with score lower than this value. - format: float - diceScoreCoefficient: - format: float - description: DSC or the F1 score, The harmonic mean of recall and precision. - type: number + The format in which that time field is expressed. The time_format + must either be one of: * `unix-seconds` * `unix-milliseconds` * + `unix-microseconds` * `unix-nanoseconds` (for respectively number of + seconds, milliseconds, microseconds and nanoseconds since start of + the Unix epoch); or be written in `strftime` syntax. If time_format + is not set, then the default format is RFC 3339 `date-time` format, + where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) + type: string + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation: id: >- - GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry - type: object - GoogleCloudAiplatformV1ToolNameMatchInstance: - id: GoogleCloudAiplatformV1ToolNameMatchInstance + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation + description: >- + Training pipeline will perform following transformation functions. * The + text as is--no change to case, punctuation, spelling, tense, and so on. + * Convert the category name to a dictionary lookup index and generate an + embedding for each index. type: object - description: Spec for tool name match instance. properties: - reference: - type: string - description: Required. Ground truth used to compare against the prediction. - prediction: - description: Required. Output of the evaluated model. + columnName: type: string - GoogleCloudAiplatformV1Context: - id: GoogleCloudAiplatformV1Context + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity: + id: >- + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity + description: A duration of time expressed in time granularity units. + type: object properties: - parentContexts: + unit: description: >- - Output only. A list of resource names of Contexts that are parents - of this Context. A Context may have at most 10 parent_contexts. - items: - type: string - type: array - readOnly: true - schemaVersion: + The time granularity unit of this time period. The supported units + are: * "minute" * "hour" * "day" * "week" * "month" * "year" type: string + quantity: description: >- - 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. - etag: - description: >- - An eTag used to perform consistent read-modify-write updates. If not - set, a blind "overwrite" update happens. + The number of granularity_units between data points in the training + data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. + For all other values of `granularity_unit`, must be 1. type: string - schemaTitle: + format: int64 + GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata: + id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata + description: Model metadata specific to TFT Forecasting. + type: object + properties: + trainCostMilliNodeHours: description: >- - 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. - type: string - description: - description: Description of the Context - type: string - updateTime: - description: Output only. Timestamp when this Context was last updated. + Output only. The actual training cost of the model, expressed in + milli node hours, i.e. 1,000 value in this field means 1 node hour. + Guaranteed to not exceed the train budget. type: string - format: google-datetime - readOnly: true - name: + format: int64 + evaluatedDataItemsBigqueryUri: + description: BigQuery destination uri for exported evaluated examples. type: string - description: Immutable. The resource name of the Context. - labels: - additionalProperties: - type: string - type: object - description: >- - The labels with user-defined metadata to organize your Contexts. - 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 Context (System - labels are excluded). - displayName: + GoogleCloudAiplatformV1SchemaPredictionResult: + id: GoogleCloudAiplatformV1SchemaPredictionResult + description: Represents a line of JSONL in the batch prediction output file. + type: object + properties: + instance: description: >- - User provided display name of the Context. May be up to 128 Unicode - characters. - type: string - metadata: + User's input instance. Struct is used here instead of Any so that + JsonFormat does not append an extra "@type" field when we convert + the proto to JSON. type: object additionalProperties: - description: Properties of the object. type: any - description: >- - Properties of the Context. Top level metadata keys' heading and - trailing spaces will be trimmed. The size of this field should not - exceed 200KB. - createTime: - format: google-datetime + description: Properties of the object. + key: + description: Optional user-provided key from the input instance. type: string - readOnly: true - description: Output only. Timestamp when this Context was created. - type: object - description: Instance of a general context. - GoogleCloudAiplatformV1GroundingMetadata: - type: object - id: GoogleCloudAiplatformV1GroundingMetadata - properties: - webSearchQueries: - type: array - items: - type: string - description: Optional. Web search queries for the following-up web search. - searchEntryPoint: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SearchEntryPoint' - description: Optional. Google search entry for the following-up web searches. - groundingSupports: - type: array - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingSupport' - description: Optional. List of grounding support. - groundingChunks: - type: array + prediction: description: >- - List of supporting references retrieved from specified grounding - source. - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingChunk' - description: Metadata returned to client when grounding is enabled. - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables: - description: A TrainingJob that trains and uploads an AutoML Tables Model. - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables - type: object - properties: - metadata: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata - description: The metadata information. - inputs: - description: The input parameters of this TrainingJob. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting: - properties: - metadata: - description: The metadata information. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata - inputs: - description: The input parameters of this TrainingJob. + The prediction result. Value is used here instead of Any so that + JsonFormat does not append an extra "@type" field when we convert + the proto to JSON and so we can represent array of objects. Do not + set error if this is set. + type: any + error: + description: The error result. Do not set prediction if this is set. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs + #/components/schemas/GoogleCloudAiplatformV1SchemaPredictionResultError + GoogleCloudAiplatformV1SchemaPredictionResultError: + id: GoogleCloudAiplatformV1SchemaPredictionResultError type: object - id: GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting - description: A TrainingJob that trains and uploads an AutoML Forecasting Model. - GoogleCloudAiplatformV1Blob: + properties: + status: + description: >- + Error status. This will be serialized into the enum name e.g. + "NOT_FOUND". + type: string + enumDescriptions: + - 'Not an error; returned on success. HTTP Mapping: 200 OK' + - >- + The operation was cancelled, typically by the caller. HTTP + Mapping: 499 Client Closed Request + - >- + Unknown error. For example, this error may be returned when a + `Status` value received from another address space belongs to an + error space that is not known in this address space. Also errors + raised by APIs that do not return enough error information may be + converted to this error. HTTP Mapping: 500 Internal Server Error + - >- + The client specified an invalid argument. Note that this differs + from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments + that are problematic regardless of the state of the system (e.g., + a malformed file name). HTTP Mapping: 400 Bad Request + - >- + The deadline expired before the operation could complete. For + operations that change the state of the system, this error may be + returned even if the operation has completed successfully. For + example, a successful response from a server could have been + delayed long enough for the deadline to expire. HTTP Mapping: 504 + Gateway Timeout + - >- + Some requested entity (e.g., file or directory) was not found. + Note to server developers: if a request is denied for an entire + class of users, such as gradual feature rollout or undocumented + allowlist, `NOT_FOUND` may be used. If a request is denied for + some users within a class of users, such as user-based access + control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not + Found + - >- + The entity that a client attempted to create (e.g., file or + directory) already exists. HTTP Mapping: 409 Conflict + - >- + The caller does not have permission to execute the specified + operation. `PERMISSION_DENIED` must not be used for rejections + caused by exhausting some resource (use `RESOURCE_EXHAUSTED` + instead for those errors). `PERMISSION_DENIED` must not be used if + the caller can not be identified (use `UNAUTHENTICATED` instead + for those errors). This error code does not imply the request is + valid or the requested entity exists or satisfies other + pre-conditions. HTTP Mapping: 403 Forbidden + - >- + The request does not have valid authentication credentials for the + operation. HTTP Mapping: 401 Unauthorized + - >- + Some resource has been exhausted, perhaps a per-user quota, or + perhaps the entire file system is out of space. HTTP Mapping: 429 + Too Many Requests + - >- + The operation was rejected because the system is not in a state + required for the operation's execution. For example, the directory + to be deleted is non-empty, an rmdir operation is applied to a + non-directory, etc. Service implementors can use the following + guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and + `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just + the failing call. (b) Use `ABORTED` if the client should retry at + a higher level. For example, when a client-specified test-and-set + fails, indicating the client should restart a read-modify-write + sequence. (c) Use `FAILED_PRECONDITION` if the client should not + retry until the system state has been explicitly fixed. For + example, if an "rmdir" fails because the directory is non-empty, + `FAILED_PRECONDITION` should be returned since the client should + not retry unless the files are deleted from the directory. HTTP + Mapping: 400 Bad Request + - >- + The operation was aborted, typically due to a concurrency issue + such as a sequencer check failure or transaction abort. See the + guidelines above for deciding between `FAILED_PRECONDITION`, + `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict + - >- + The operation was attempted past the valid range. E.g., seeking or + reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error + indicates a problem that may be fixed if the system state changes. + For example, a 32-bit file system will generate `INVALID_ARGUMENT` + if asked to read at an offset that is not in the range [0,2^32-1], + but it will generate `OUT_OF_RANGE` if asked to read from an + offset past the current file size. There is a fair bit of overlap + between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend + using `OUT_OF_RANGE` (the more specific error) when it applies so + that callers who are iterating through a space can easily look for + an `OUT_OF_RANGE` error to detect when they are done. HTTP + Mapping: 400 Bad Request + - >- + The operation is not implemented or is not supported/enabled in + this service. HTTP Mapping: 501 Not Implemented + - >- + Internal errors. This means that some invariants expected by the + underlying system have been broken. This error code is reserved + for serious errors. HTTP Mapping: 500 Internal Server Error + - >- + The service is currently unavailable. This is most likely a + transient condition, which can be corrected by retrying with a + backoff. Note that it is not always safe to retry non-idempotent + operations. See the guidelines above for deciding between + `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: + 503 Service Unavailable + - >- + Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal + Server Error + enum: + - OK + - CANCELLED + - UNKNOWN + - INVALID_ARGUMENT + - DEADLINE_EXCEEDED + - NOT_FOUND + - ALREADY_EXISTS + - PERMISSION_DENIED + - UNAUTHENTICATED + - RESOURCE_EXHAUSTED + - FAILED_PRECONDITION + - ABORTED + - OUT_OF_RANGE + - UNIMPLEMENTED + - INTERNAL + - UNAVAILABLE + - DATA_LOSS + message: + description: Error message with additional details. + type: string + GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation: + id: GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation + description: Annotation details specific to image object detection. type: object - description: >- - Content blob. It's preferred to send as text directly rather than raw - bytes. - id: GoogleCloudAiplatformV1Blob properties: - data: + annotationSpecId: + description: >- + The resource Id of the AnnotationSpec that this Annotation pertains + to. type: string - description: Required. Raw bytes. - format: byte - mimeType: + displayName: + description: >- + The display name of the AnnotationSpec that this Annotation pertains + to. type: string - description: Required. The IANA standard MIME type of the source data. - GoogleCloudAiplatformV1NearestNeighborQueryParameters: + xMin: + description: The leftmost coordinate of the bounding box. + type: number + format: double + xMax: + description: The rightmost coordinate of the bounding box. + type: number + format: double + yMin: + description: The topmost coordinate of the bounding box. + type: number + format: double + yMax: + description: The bottommost coordinate of the bounding box. + type: number + format: double + GoogleCloudAiplatformV1SchemaImageClassificationAnnotation: + id: GoogleCloudAiplatformV1SchemaImageClassificationAnnotation + description: Annotation details specific to image classification. type: object - id: GoogleCloudAiplatformV1NearestNeighborQueryParameters properties: - approximateNeighborCandidates: - type: integer + annotationSpecId: description: >- - Optional. The number of neighbors to find via approximate search - before exact reordering is performed; if set, this value must be > - neighbor_count. - format: int32 - leafNodesSearchFraction: - format: double + The resource Id of the AnnotationSpec that this Annotation pertains + to. + type: string + displayName: description: >- - Optional. The fraction of the number of leaves to search, set at - query time allows user to tune search performance. This value - increase result in both search accuracy and latency increase. The - value should be between 0.0 and 1.0. - type: number - description: >- - Parameters that can be overrided in each query to tune query latency and - recall. - GoogleCloudAiplatformV1NetworkSpec: + The display name of the AnnotationSpec that this Annotation pertains + to. + type: string + GoogleCloudAiplatformV1SchemaImageDataItem: + id: GoogleCloudAiplatformV1SchemaImageDataItem + description: Payload of Image DataItem. type: object - id: GoogleCloudAiplatformV1NetworkSpec - description: Network spec. properties: - enableInternetAccess: - type: boolean - description: Whether to enable public internet access. Default false. - subnetwork: + gcsUri: + description: >- + Required. Google Cloud Storage URI points to the original image in + user's bucket. The image is up to 30MB in size. type: string + mimeType: description: >- - The name of the subnet that this instance is in. Format: - `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` - network: + Output only. The mime type of the content of the image. Only the + images in below listed mime types are supported. - image/jpeg - + image/gif - image/png - image/webp - image/bmp - image/tiff - + image/vnd.microsoft.icon + readOnly: true + type: string + GoogleCloudAiplatformV1SchemaImageDatasetMetadata: + id: GoogleCloudAiplatformV1SchemaImageDatasetMetadata + description: The metadata of Datasets that contain Image DataItems. + type: object + properties: + dataItemSchemaUri: description: >- - The full name of the Google Compute Engine - [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + Points to a YAML file stored on Google Cloud Storage describing + payload of the Image DataItems that belong to this Dataset. + type: string + gcsBucket: + description: >- + Google Cloud Storage Bucket name that contains the blob data of this + Dataset. type: string GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation: + id: GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation + description: Annotation details specific to image segmentation. + type: object properties: - polylineAnnotation: + maskAnnotation: + description: >- + Mask based segmentation annotation. Only one mask annotation can + exist for one image. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation - description: Polyline annotation. + #/components/schemas/GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation polygonAnnotation: description: Polygon annotation. $ref: >- #/components/schemas/GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation - maskAnnotation: + polylineAnnotation: + description: Polyline annotation. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation - description: >- - Mask based segmentation annotation. Only one mask annotation can - exist for one image. - description: Annotation details specific to image segmentation. - id: GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation - type: object - GoogleCloudAiplatformV1Index: + #/components/schemas/GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation + GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation: + id: GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation + description: The mask based segmentation annotation. type: object properties: - metadataSchemaUri: - description: >- - 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. - type: string - indexStats: - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexStats' - description: Output only. Stats of the index resource. - indexUpdateMethod: - enum: - - INDEX_UPDATE_METHOD_UNSPECIFIED - - BATCH_UPDATE - - STREAM_UPDATE - description: >- - Immutable. The update method to use with this Index. If not set, - BATCH_UPDATE will be used by default. - enumDescriptions: - - Should not be used. - - >- - BatchUpdate: user can call UpdateIndex with files on Cloud Storage - of Datapoints to update. - - >- - StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to - update the Index and the updates will be applied in corresponding - DeployedIndexes in nearly real-time. - type: string - labels: - additionalProperties: - type: string - type: object - description: >- - 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. - createTime: - description: Output only. Timestamp when this Index was created. - readOnly: true - type: string - format: google-datetime - satisfiesPzi: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - etag: - description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. - type: string - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: >- - Immutable. Customer-managed encryption key spec for an Index. If - set, this Index and all sub-resources of this Index will be secured - by this key. - updateTime: - format: google-datetime + maskGcsUri: description: >- - 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. - readOnly: true + Google Cloud Storage URI that points to the mask image. The image + must be in PNG format. It must have the same size as the DataItem's + image. Each pixel in the image mask represents the AnnotationSpec + which the pixel in the image DataItem belong to. Each color is + mapped to one AnnotationSpec based on annotation_spec_colors. type: string - deployedIndexes: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndexRef' + annotationSpecColors: + description: The mapping between color and AnnotationSpec for this Annotation. type: array - description: >- - Output only. The pointers to DeployedIndexes created from this - Index. An Index can be only deleted if all its DeployedIndexes had - been undeployed first. - readOnly: true + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaAnnotationSpecColor + GoogleCloudAiplatformV1SchemaAnnotationSpecColor: + id: GoogleCloudAiplatformV1SchemaAnnotationSpecColor + description: >- + An entry of mapping between color and AnnotationSpec. The mapping is + used in segmentation mask. + type: object + properties: + color: + description: The color of the AnnotationSpec in a segmentation mask. + $ref: '#/components/schemas/GoogleTypeColor' displayName: - type: string description: >- - Required. The display name of the Index. The name can be up to 128 - characters long and can consist of any UTF-8 characters. - satisfiesPzs: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - description: + The display name of the AnnotationSpec represented by the color in + the segmentation mask. type: string - description: The description of the Index. - metadata: + id: description: >- - An additional information about the Index; the schema of the - metadata can be found in metadata_schema. - type: any - name: - readOnly: true - description: Output only. The resource name of the Index. + The ID of the AnnotationSpec represented by the color in the + segmentation mask. type: string - id: GoogleCloudAiplatformV1Index + GoogleTypeColor: + id: GoogleTypeColor description: >- - A representation of a collection of database items organized in a way - that allows for approximate nearest neighbor (a.k.a ANN) algorithms - search. - GoogleCloudAiplatformV1BleuInstance: - type: object - description: Spec for bleu instance. - id: GoogleCloudAiplatformV1BleuInstance - properties: - prediction: - type: string - description: Required. Output of the evaluated model. - reference: - type: string - description: Required. Ground truth used to compare against the prediction. - GoogleCloudAiplatformV1Port: - type: object - id: GoogleCloudAiplatformV1Port - description: Represents a network port in a container. - properties: - containerPort: - type: integer - format: int32 - description: >- - The number of the port to expose on the pod's IP address. Must be a - valid port number, between 1 and 65535 inclusive. - GoogleCloudAiplatformV1MigrateResourceResponse: + Represents a color in the RGBA color space. This representation is + designed for simplicity of conversion to and from color representations + in various languages over compactness. For example, the fields of this + representation can be trivially provided to the constructor of + `java.awt.Color` in Java; it can also be trivially provided to UIColor's + `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little + work, it can be easily formatted into a CSS `rgba()` string in + JavaScript. This reference page doesn't have information about the + absolute color space that should be used to interpret the RGB value—for + example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications + should assume the sRGB color space. When color equality needs to be + decided, implementations, unless documented otherwise, treat two colors + as equal if all their red, green, blue, and alpha values each differ by + at most `1e-5`. Example (Java): import com.google.type.Color; // ... + public static java.awt.Color fromProto(Color protocolor) { float alpha = + protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return + new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), + protocolor.getBlue(), alpha); } public static Color + toProto(java.awt.Color color) { float red = (float) color.getRed(); + float green = (float) color.getGreen(); float blue = (float) + color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder + = Color .newBuilder() .setRed(red / denominator) .setGreen(green / + denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); + if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() + .setValue(((float) alpha) / denominator) .build()); } return + resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static + UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; + float green = [protocolor green]; float blue = [protocolor blue]; + FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if + (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return + [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static + Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if + (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return + nil; } Color* result = [[Color alloc] init]; [result setRed:red]; + [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { + [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; + return result; } // ... Example (JavaScript): // ... var protoToCssColor + = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var + greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || + 0.0; var red = Math.floor(redFrac * 255); var green = + Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if + (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } + var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, + ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var + rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString + = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var + resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { + resultBuilder.push('0'); } resultBuilder.push(hexString); return + resultBuilder.join(''); }; // ... type: object - id: GoogleCloudAiplatformV1MigrateResourceResponse - description: Describes a successfully migrated resource. properties: - model: - type: string - description: Migrated Model's resource name. - migratableResource: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MigratableResource' + red: + description: The amount of red in the color as a value in the interval [0, 1]. + type: number + format: float + green: + description: The amount of green in the color as a value in the interval [0, 1]. + type: number + format: float + blue: + description: The amount of blue in the color as a value in the interval [0, 1]. + type: number + format: float + alpha: description: >- - Before migration, the identifier in ml.googleapis.com, - automl.googleapis.com or datalabeling.googleapis.com. - dataset: - type: string - description: Migrated Dataset's resource name. - GoogleCloudAiplatformV1NotebookRuntimeTemplate: + The fraction of this color that should be applied to the pixel. That + is, the final pixel color is defined by the equation: `pixel color = + alpha * (this color) + (1.0 - alpha) * (background color)` This + means that a value of 1.0 corresponds to a solid color, whereas a + value of 0.0 corresponds to a completely transparent color. This + uses a wrapper message rather than a simple float scalar so that it + is possible to distinguish between a default value and the value + being unset. If omitted, this color object is rendered as a solid + color (as if the alpha value had been explicitly given a value of + 1.0). + type: number + format: float + GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation: + id: >- + GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation + description: Represents a polygon in image. type: object - description: >- - A template that specifies runtime configurations such as machine type, - runtime version, network configurations, etc. Multiple runtimes can be - created from a runtime template. properties: - serviceAccount: - type: string - description: >- - 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. - encryptionSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EncryptionSpec' - description: Customer-managed encryption key spec for the notebook runtime. - name: - description: The resource name of the NotebookRuntimeTemplate. - type: string - dataPersistentDiskSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentDiskSpec' - description: >- - Optional. The specification of persistent disk attached to the - runtime as data disk storage. - labels: - type: object - additionalProperties: - type: string - description: >- - The labels with user-defined metadata to organize the - NotebookRuntimeTemplates. 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. - shieldedVmConfig: - description: Optional. Immutable. Runtime Shielded VM spec. - $ref: '#/components/schemas/GoogleCloudAiplatformV1ShieldedVmConfig' - displayName: + vertexes: description: >- - Required. The display name of the NotebookRuntimeTemplate. The name - can be up to 128 characters long and can consist of any UTF-8 - characters. - type: string - networkTags: + The vertexes are connected one by one and the last vertex is + connected to the first one to represent a polygon. type: array - description: >- - Optional. The Compute Engine tags to add to runtime (see [Tagging - instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). items: - type: string - machineSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MachineSpec' - description: >- - Optional. Immutable. The specification of a single machine for the - template. - description: - description: The description of the NotebookRuntimeTemplate. - type: string - networkSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NetworkSpec' - description: Optional. Network spec. - updateTime: - description: >- - Output only. Timestamp when this NotebookRuntimeTemplate was most - recently updated. - type: string - format: google-datetime - readOnly: true - idleShutdownConfig: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaVertex' + annotationSpecId: description: >- - The idle shutdown configuration of NotebookRuntimeTemplate. This - config will only be set when idle shutdown is enabled. - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookIdleShutdownConfig - notebookRuntimeType: - enumDescriptions: - - >- - Unspecified notebook runtime type, NotebookRuntimeType will - default to USER_DEFINED. - - runtime or template with coustomized configurations from user. - - runtime or template with system defined configurations. - enum: - - NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED - - USER_DEFINED - - ONE_CLICK - type: string - description: Optional. Immutable. The type of the notebook runtime template. - isDefault: - description: Output only. The default template to use if not specified. - readOnly: true - type: boolean - etag: + The resource Id of the AnnotationSpec that this Annotation pertains + to. type: string + displayName: description: >- - Used to perform consistent read-modify-write updates. If not set, a - blind "overwrite" update happens. - eucConfig: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookEucConfig' - description: EUC configuration of the NotebookRuntimeTemplate. - createTime: + The display name of the AnnotationSpec that this Annotation pertains + to. type: string - description: >- - Output only. Timestamp when this NotebookRuntimeTemplate was - created. - readOnly: true - format: google-datetime - id: GoogleCloudAiplatformV1NotebookRuntimeTemplate - GoogleCloudAiplatformV1BleuMetricValue: + GoogleCloudAiplatformV1SchemaVertex: + id: GoogleCloudAiplatformV1SchemaVertex + description: >- + A vertex represents a 2D point in the image. NOTE: the normalized vertex + coordinates are relative to the original image and range from 0 to 1. type: object - description: Bleu metric value for an instance. - id: GoogleCloudAiplatformV1BleuMetricValue properties: - score: - description: Output only. Bleu score. + x: + description: X coordinate. type: number - format: float - readOnly: true - GoogleCloudAiplatformV1ListNasTrialDetailsResponse: - id: GoogleCloudAiplatformV1ListNasTrialDetailsResponse - description: Response message for JobService.ListNasTrialDetails + format: double + 'y': + description: Y coordinate. + type: number + format: double + GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation: + id: >- + GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation + description: Represents a polyline in image. type: object properties: - nasTrialDetails: + vertexes: + description: >- + The vertexes are connected one by one and the last vertex in not + connected to the first one. type: array - description: List of top NasTrials in the requested page. items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrialDetail' - nextPageToken: - type: string + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaVertex' + annotationSpecId: description: >- - A token to retrieve the next page of results. Pass to - ListNasTrialDetailsRequest.page_token to obtain that page. - GoogleCloudAiplatformV1IndexStats: - description: Stats of the Index. - id: GoogleCloudAiplatformV1IndexStats - properties: - sparseVectorsCount: + The resource Id of the AnnotationSpec that this Annotation pertains + to. type: string - readOnly: true - description: Output only. The number of sparse vectors in the Index. - format: int64 - shardsCount: - description: Output only. The number of shards in the Index. - format: int32 - readOnly: true - type: integer - vectorsCount: - format: int64 - description: Output only. The number of dense vectors in the Index. - readOnly: true + displayName: + description: >- + The display name of the AnnotationSpec that this Annotation pertains + to. type: string + GoogleCloudAiplatformV1SchemaTablesDatasetMetadata: + id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadata + description: The metadata of Datasets that contain tables data. type: object - GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams: - description: Prediction model parameters for Video Object Tracking. - id: >- - GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams properties: - confidenceThreshold: - type: number - format: float - description: >- - The Model only returns predictions with at least this confidence - score. Default value is 0.0 - maxPredictions: - format: int32 - type: integer - description: >- - The model only returns up to that many top, by confidence score, - predictions per frame of the video. If this number is very high, the - Model may return fewer predictions per frame. Default value is 50. - minBoundingBoxSize: - description: >- - Only bounding boxes with shortest edge at least that long as a - relative value of video frame size are returned. Default value is - 0.0. - type: number - format: float + inputConfig: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig + GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig: + id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig + description: >- + The tables Dataset's data source. The Dataset doesn't store the data + directly, but only pointer(s) to its data. type: object - GoogleCloudAiplatformV1RemoveContextChildrenRequest: + properties: + gcsSource: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource + bigquerySource: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource + GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource: + id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource type: object - id: GoogleCloudAiplatformV1RemoveContextChildrenRequest properties: - childContexts: - description: The resource names of the child Contexts. + uri: + description: >- + Cloud Storage URI of one or more files. Only CSV files are + supported. The first line of the CSV file is used as the header. If + there are multiple files, the header is the first line of the + lexicographically first file, the other files must either contain + the exact same header or omit the header. + type: array items: type: string - type: array - description: Request message for MetadataService.DeleteContextChildrenRequest. - GoogleCloudAiplatformV1GroundednessResult: + GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource: + id: GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource type: object - description: Spec for groundedness result. - id: GoogleCloudAiplatformV1GroundednessResult properties: - confidence: - description: Output only. Confidence for groundedness score. - type: number - readOnly: true - format: float - score: - readOnly: true - format: float - type: number - description: Output only. Groundedness score. - explanation: - description: Output only. Explanation for groundedness score. + uri: + description: >- + The URI of a BigQuery table. e.g. + bq://projectId.bqDatasetId.bqTableId type: string - readOnly: true - GoogleCloudAiplatformV1DeleteOperationMetadata: + GoogleCloudAiplatformV1SchemaTextClassificationAnnotation: + id: GoogleCloudAiplatformV1SchemaTextClassificationAnnotation + description: Annotation details specific to text classification. type: object - description: Details of operations that perform deletes of any entities. - id: GoogleCloudAiplatformV1DeleteOperationMetadata - properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The common part of the operation metadata. - GoogleCloudAiplatformV1TimestampSplit: - id: GoogleCloudAiplatformV1TimestampSplit properties: - trainingFraction: - type: number - format: double - description: >- - The fraction of the input data that is to be used to train the - Model. - key: + annotationSpecId: description: >- - Required. The key is a name of one of the Dataset's data columns. - The values of the key (the values in the column) must be in RFC 3339 - `date-time` format, where `time-offset` = `"Z"` (e.g. - 1985-04-12T23:20:50.52Z). If for a piece of data the key is not - present or has an invalid value, that piece is ignored by the - pipeline. + The resource Id of the AnnotationSpec that this Annotation pertains + to. type: string - validationFraction: - description: >- - The fraction of the input data that is to be used to validate the - Model. - format: double - type: number - testFraction: - type: number + displayName: description: >- - The fraction of the input data that is to be used to evaluate the - Model. - format: double + The display name of the AnnotationSpec that this Annotation pertains + to. + type: string + GoogleCloudAiplatformV1SchemaTextDataItem: + id: GoogleCloudAiplatformV1SchemaTextDataItem + description: Payload of Text DataItem. type: object - description: >- - Assigns input data to training, validation, and test sets based on a - provided timestamps. The youngest data pieces are assigned to training - set, next to validation set, and the oldest to the test set. Supported - only for tabular Datasets. - GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance: properties: - mimeType: - type: string + gcsUri: description: >- - The MIME type of the text snippet. The supported MIME types are - listed below. - text/plain - content: - description: The text snippet to make the predictions on. + Output only. Google Cloud Storage URI points to the original text in + user's bucket. The text file is up to 10MB in size. + readOnly: true type: string - type: object - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance - description: Prediction input format for Text Sentiment. - GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis: + GoogleCloudAiplatformV1SchemaTextDatasetMetadata: + id: GoogleCloudAiplatformV1SchemaTextDatasetMetadata + description: The metadata of Datasets that contain Text DataItems. type: object properties: - anomalyDetectionBaseline: - enumDescriptions: - - Should not be used. - - >- - Choose the later one statistics generated by either most recent - snapshot analysis or previous import features analysis. If non of - them exists, skip anomaly detection and only generate a - statistics. - - >- - Use the statistics generated by the most recent snapshot analysis - if exists. - - >- - Use the statistics generated by the previous import features - analysis if exists. + dataItemSchemaUri: description: >- - The baseline used to do anomaly detection for the statistics - generated by import features analysis. - enum: - - BASELINE_UNSPECIFIED - - LATEST_STATS - - MOST_RECENT_SNAPSHOT_STATS - - PREVIOUS_IMPORT_FEATURES_STATS - type: string - state: - enumDescriptions: - - Should not be used. - - >- - The default behavior of whether to enable the monitoring. - EntityType-level config: disabled. Feature-level config: inherited - from the configuration of EntityType this Feature belongs to. - - >- - Explicitly enables import features analysis. EntityType-level - config: by default enables import features analysis for all - Features under it. Feature-level config: enables import features - analysis regardless of the EntityType-level config. - - >- - Explicitly disables import features analysis. EntityType-level - config: by default disables import features analysis for all - Features under it. Feature-level config: disables import features - analysis regardless of the EntityType-level config. + Points to a YAML file stored on Google Cloud Storage describing + payload of the Text DataItems that belong to this Dataset. type: string - enum: - - STATE_UNSPECIFIED - - DEFAULT - - ENABLED - - DISABLED + gcsBucket: description: >- - Whether to enable / disable / inherite default hebavior for import - features analysis. - id: >- - GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis - description: >- - Configuration of the Featurestore's ImportFeature Analysis Based - Monitoring. This type of analysis generates statistics for values of - each Feature imported by every ImportFeatureValues operation. - GoogleCloudAiplatformV1CancelDataLabelingJobRequest: - id: GoogleCloudAiplatformV1CancelDataLabelingJobRequest - description: Request message for JobService.CancelDataLabelingJob. - properties: {} + Google Cloud Storage Bucket name that contains the blob data of this + Dataset. + type: string + GoogleCloudAiplatformV1SchemaTextExtractionAnnotation: + id: GoogleCloudAiplatformV1SchemaTextExtractionAnnotation + description: Annotation details specific to text extraction. type: object - GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue: - description: Tool parameter key value match metric value for an instance. properties: - score: - format: float - readOnly: true - type: number - description: Output only. Tool parameter key value match score. - type: object - id: GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue - GoogleCloudAiplatformV1FunctionCall: - id: GoogleCloudAiplatformV1FunctionCall - description: >- - A predicted [FunctionCall] returned from the model that contains a - string representing the [FunctionDeclaration.name] and a structured JSON - object containing the parameters and their values. + textSegment: + description: The segment of the text content. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaTextSegment' + annotationSpecId: + description: >- + The resource Id of the AnnotationSpec that this Annotation pertains + to. + type: string + displayName: + description: >- + The display name of the AnnotationSpec that this Annotation pertains + to. + type: string + GoogleCloudAiplatformV1SchemaTextSegment: + id: GoogleCloudAiplatformV1SchemaTextSegment + description: The text segment inside of DataItem. type: object properties: - args: - additionalProperties: - description: Properties of the object. - type: any + startOffset: description: >- - Optional. Required. The function parameters and values in JSON - object format. See [FunctionDeclaration.parameters] for parameter - details. - type: object - name: + Zero-based character index of the first character of the text + segment (counting characters from the beginning of the text). type: string + format: uint64 + endOffset: description: >- - Required. The name of the function to call. Matches - [FunctionDeclaration.name]. - GoogleCloudAiplatformV1GenerationConfigRoutingConfig: + Zero-based character index of the first character past the end of + the text segment (counting character from the beginning of the + text). The character at the end_offset is NOT included in the text + segment. + type: string + format: uint64 + content: + description: The text content in the segment for output only. + type: string + GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata: + id: GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata + description: The metadata of Datasets that contain Text Prompt data. type: object - id: GoogleCloudAiplatformV1GenerationConfigRoutingConfig - description: The configuration for routing the request to a specific model. properties: - manualMode: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode - description: Manual routing. - autoMode: + text: + description: The content of the prompt dataset. + type: string + gcsUri: + description: The Google Cloud Storage URI that stores the prompt data. + type: string + temperature: + description: >- + Temperature value used for sampling set when the dataset was saved. + This value is used to tune the degree of randomness. + type: number + format: float + maxOutputTokens: + description: >- + Value of the maximum number of tokens generated set when the dataset + was saved. + type: string + format: int64 + topK: + description: >- + Top K value set when the dataset was saved. This value determines + how many candidates with highest probability from the vocab would be + selected for each decoding step. + type: string + format: int64 + topP: + description: >- + Top P value set when the dataset was saved. Given topK tokens for + decoding, top candidates will be selected until the sum of their + probabilities is topP. + type: number + format: float + promptType: + description: Type of the prompt dataset. + type: string + groundingConfig: + description: Grounding checking configuration. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode - description: Automated routing. - GoogleCloudAiplatformV1Candidate: - type: object - id: GoogleCloudAiplatformV1Candidate - description: A response candidate generated from the model. - properties: - content: - description: Output only. Content parts of the candidate. - readOnly: true - $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' - safetyRatings: + #/components/schemas/GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig + stopSequences: + description: Customized stop sequences. type: array items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetyRating' - description: >- - Output only. List of ratings for the safety of a response candidate. - There is at most one rating per category. - readOnly: true - finishMessage: + type: string + candidateCount: + description: Number of candidates. type: string - readOnly: true + format: int64 + note: + description: User-created prompt note. Note size limit is 2KB. + type: string + systemInstructionGcsUri: description: >- - Output only. Describes the reason the mode stopped generating tokens - in more detail. This is only filled when `finish_reason` is set. - index: - type: integer - readOnly: true - description: Output only. Index of the candidate. - format: int32 - citationMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CitationMetadata' - readOnly: true - description: Output only. Source attribution of the generated content. - avgLogprobs: - description: Output only. Average log probability score of the candidate. - type: number - format: double - readOnly: true - finishReason: - enumDescriptions: - - The finish reason is unspecified. - - >- - Token generation reached a natural stopping point or a configured - stop sequence. - - Token generation reached the configured maximum output tokens. - - >- - Token generation stopped because the content potentially contains - safety violations. NOTE: When streaming, content is empty if - content filters blocks the output. - - >- - Token generation stopped because the content potentially contains - copyright violations. - - All other reasons that stopped the token generation. - - >- - Token generation stopped because the content contains forbidden - terms. - - >- - Token generation stopped for potentially containing prohibited - content. - - >- - Token generation stopped because the content potentially contains - Sensitive Personally Identifiable Information (SPII). - - The function call generated by the model is invalid. - enum: - - FINISH_REASON_UNSPECIFIED - - STOP - - MAX_TOKENS - - SAFETY - - RECITATION - - OTHER - - BLOCKLIST - - PROHIBITED_CONTENT - - SPII - - MALFORMED_FUNCTION_CALL + The Google Cloud Storage URI that stores the system instruction, + starting with gs://. + type: string + hasPromptVariable: + description: Whether the prompt dataset has prompt variable. + type: boolean + systemInstruction: + description: The content of the prompt dataset system instruction. + type: string + seedEnabled: description: >- - Output only. The reason why the model stopped generating tokens. If - empty, the model has not stopped generating the tokens. + Seeding enables model to return a deterministic response on a best + effort basis. Determinism isn't guaranteed. This field determines + whether or not seeding is enabled. + type: boolean + seedValue: + description: The actual value of the seed. type: string - readOnly: true - groundingMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GroundingMetadata' + format: int64 + logprobs: description: >- - Output only. Metadata specifies sources used to ground generated - content. - readOnly: true - GoogleCloudAiplatformV1SafetyRating: - properties: - blocked: + Whether or not the user has enabled logit probabilities in the model + parameters. type: boolean + promptApiSchema: + description: The API schema of the prompt to support both UI and SDK usages. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaPromptApiSchema' + GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig: + id: GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig + description: The configuration for grounding checking. + type: object + properties: + sources: + description: The sources for the grounding checking. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry + disableAttribution: description: >- - Output only. Indicates whether the content was filtered out because - of this rating. - readOnly: true - probability: - description: Output only. Harm probability levels in the content. - enum: - - HARM_PROBABILITY_UNSPECIFIED - - NEGLIGIBLE - - LOW - - MEDIUM - - HIGH - readOnly: true - type: string - enumDescriptions: - - Harm probability unspecified. - - Negligible level of harm. - - Low level of harm. - - Medium level of harm. - - High level of harm. - probabilityScore: - description: Output only. Harm probability score. - format: float - type: number - readOnly: true - category: - readOnly: true + If set, skip finding claim attributions (i.e not generate grounding + citation). + deprecated: true + type: boolean + GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry: + id: GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry + description: Single source entry for the grounding checking. + type: object + properties: + type: + description: The type of the grounding checking source. type: string - description: Output only. Harm category. - enum: - - HARM_CATEGORY_UNSPECIFIED - - HARM_CATEGORY_HATE_SPEECH - - HARM_CATEGORY_DANGEROUS_CONTENT - - HARM_CATEGORY_HARASSMENT - - HARM_CATEGORY_SEXUALLY_EXPLICIT - - HARM_CATEGORY_CIVIC_INTEGRITY - enumDescriptions: - - The harm category is unspecified. - - The harm category is hate speech. - - The harm category is dangerous content. - - The harm category is harassment. - - The harm category is sexually explicit content. - - The harm category is civic integrity. - severity: - readOnly: true enumDescriptions: - - Harm severity unspecified. - - Negligible level of harm severity. - - Low level of harm severity. - - Medium level of harm severity. - - High level of harm severity. + - '' + - Uses Web Search to check the grounding. + - >- + Uses Vertex AI Search to check the grounding. Deprecated. Use + VERTEX_AI_SEARCH instead. + - Uses Vertex AI Search to check the grounding + - Uses inline context to check the grounding. + enumDeprecated: + - false + - false + - true + - false + - false enum: - - HARM_SEVERITY_UNSPECIFIED - - HARM_SEVERITY_NEGLIGIBLE - - HARM_SEVERITY_LOW - - HARM_SEVERITY_MEDIUM - - HARM_SEVERITY_HIGH - description: Output only. Harm severity levels in the content. + - UNSPECIFIED + - WEB + - ENTERPRISE + - VERTEX_AI_SEARCH + - INLINE + enterpriseDatastore: + description: >- + The uri of the Vertex AI Search data source. Deprecated. Use + vertex_ai_search_datastore instead. + deprecated: true type: string - severityScore: - readOnly: true - format: float - type: number - description: Output only. Harm severity score. - id: GoogleCloudAiplatformV1SafetyRating + vertexAiSearchDatastore: + description: The uri of the Vertex AI Search data source. + type: string + inlineContext: + description: >- + The grounding text passed inline with the Predict API. It can + support up to 1 million bytes. + type: string + GoogleCloudAiplatformV1SchemaPromptApiSchema: + id: GoogleCloudAiplatformV1SchemaPromptApiSchema + description: The A2 schema of a prompt. type: object - description: Safety rating corresponding to the generated content. - GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig: properties: - explanationBaseline: + multimodalPrompt: + description: Multimodal prompt which embeds preambles to prompt string. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline - description: >- - Predictions generated by the BatchPredictionJob using baseline - dataset. - enableFeatureAttributes: - type: boolean + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt + structuredPrompt: + description: The prompt variation that stores preambles in separate fields. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt + translationPrompt: + description: The prompt variation for Translation use case. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt + executions: description: >- - If want to analyze the Vertex Explainable AI feature attribute - scores or not. If set to true, Vertex AI will log the feature - attributions from explain response and do the skew/drift detection - for them. + A list of execution instances for constructing a ready-to-use + prompt. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution + apiSchemaVersion: + description: The Schema version that represents changes to the API behavior. + type: string + GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt: + id: GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt + description: Prompt variation that embeds preambles to prompt string. + type: object + properties: + promptMessage: + description: The prompt message. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage + GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage: + id: GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage description: >- - The config for integrating with Vertex Explainable AI. Only applicable - if the Model has explanation_spec populated. + The prompt message that aligns with the prompt message in + google.cloud.aiplatform.master.GenerateContentRequest. type: object - id: GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig - GoogleCloudAiplatformV1UserActionReference: properties: - method: - description: >- - The method name of the API RPC call. For example, - "/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset" + model: + description: The model name. type: string - dataLabelingJob: + contents: + description: >- + The content of the current conversation with the model. For + single-turn queries, this is a single instance. For multi-turn + queries, this is a repeated field that contains conversation history + + latest request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + systemInstruction: + description: >- + The user provided system instructions for the model. Note: only text + should be used in parts and content in each part will be in a + separate paragraph. + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + tools: + description: >- + A list of `Tools` the model may use to generate the next response. A + `Tool` is a piece of code that enables the system to interact with + external systems to perform an action, or set of actions, outside of + knowledge and scope of the model. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tool' + toolConfig: + description: >- + Tool config. This config is shared for all tools provided in the + request. + $ref: '#/components/schemas/GoogleCloudAiplatformV1ToolConfig' + safetySettings: + description: >- + Per request settings for blocking unsafe content. Enforced on + GenerateContentResponse.candidates. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SafetySetting' + generationConfig: + description: Generation config. + $ref: '#/components/schemas/GoogleCloudAiplatformV1GenerationConfig' + GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt: + id: GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt + description: Prompt variation that stores preambles in separate fields. + type: object + properties: + promptMessage: + description: The prompt message. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage + context: + description: 'Preamble: The context of the prompt.' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Content' + inputPrefixes: + description: 'Preamble: The input prefixes before each example input.' + type: array + items: + type: string + outputPrefixes: + description: 'Preamble: The output prefixes before each example output.' + type: array + items: + type: string + examples: + description: 'Preamble: A set of examples for expected model response.' + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecPartList + infillPrefix: + description: >- + Preamble: For infill prompt, the prefix before expected model + response. type: string + infillSuffix: description: >- - For API calls that start a LabelingJob. Resource name of the - LabelingJob. Format: - `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` - operation: + Preamble: For infill prompt, the suffix after expected model + response. type: string + predictionInputs: description: >- - For API calls that return a long running operation. Resource name of - the long running operation. Format: - `projects/{project}/locations/{location}/operations/{operation}` + Preamble: The input test data for prediction. Each PartList in this + field represents one text-only input set for a single model request. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecPartList + GoogleCloudAiplatformV1SchemaPromptSpecPartList: + id: GoogleCloudAiplatformV1SchemaPromptSpecPartList + description: A list of elements and information that make up a portion of prompt. + type: object + properties: + parts: + description: A list of elements that can be part of a prompt. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Part' + GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt: + id: GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt + description: Prompt variation for Translation use case. + type: object + properties: + promptMessage: + description: The prompt message. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage + sourceLanguageCode: + description: The source language code. + type: string + targetLanguageCode: + description: The target language code. + type: string + option: + description: The translation option. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption + example: + description: The translation example. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample + GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption: + id: GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption + description: Optional settings for translation prompt. + type: object + properties: + numberOfShots: + description: How many shots to use. + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample: + id: GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample description: >- - References an API call. It contains more information about long running - operation and Jobs that are triggered by the API call. + The translation example that contains reference sentences from various + sources. type: object - id: GoogleCloudAiplatformV1UserActionReference - GoogleCloudAiplatformV1TensorboardTimeSeries: - description: TensorboardTimeSeries maps to times series produced in training runs properties: - metadata: - readOnly: true - description: >- - Output only. Scalar, Tensor, or Blob metadata for this - TensorboardTimeSeries. + referenceSentencesFileInputs: + description: The reference sentences from file. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput + referenceSentencePairLists: + description: The reference sentences from inline text. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList + GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput: + id: GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput + type: object + properties: + fileInputSource: + description: Inlined file source. $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata - description: - description: Description of this TensorboardTimeSeries. + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource + gcsInputSource: + description: Cloud Storage file source. + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource + GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource: + id: GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource + type: object + properties: + mimeType: + description: The file's mime type. type: string - pluginData: - description: Data of the current plugin, with the size limited to 65KB. + content: + description: The file's contents. type: string - format: byte - name: - readOnly: true - description: Output only. Name of the TensorboardTimeSeries. + displayName: + description: The file's display name. type: string - valueType: + GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource: + id: GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource + type: object + properties: + inputUri: + description: Source data URI. For example, `gs://my_bucket/my_object`. type: string - enumDescriptions: - - The value type is unspecified. - - >- - Used for TensorboardTimeSeries that is a list of scalars. E.g. - accuracy of a model over epochs/time. - - >- - Used for TensorboardTimeSeries that is a list of tensors. E.g. - histograms of weights of layer in a model over epoch/time. - - >- - Used for TensorboardTimeSeries that is a list of blob sequences. - E.g. set of sample images with labels over epochs/time. - enum: - - VALUE_TYPE_UNSPECIFIED - - SCALAR - - TENSOR - - BLOB_SEQUENCE - description: Required. Immutable. Type of TensorboardTimeSeries value. - etag: + GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList: + id: GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList + description: A list of reference sentence pairs. + type: object + properties: + referenceSentencePairs: + description: Reference sentence pairs. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair + GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair: + id: GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair + description: A pair of sentences used as reference in source and target languages. + type: object + properties: + sourceSentence: + description: Source sentence in the sentence pair. + type: string + targetSentence: + description: Target sentence in the sentence pair. type: string + GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution: + id: GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution + description: >- + A prompt instance's parameters set that contains a set of variable + values. + type: object + properties: + arguments: + description: Maps variable names to their value. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue + GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue: + id: GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue + description: The value of a variable in prompt. + type: object + properties: + partList: + description: The parts of the variable value. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaPromptSpecPartList' + GoogleCloudAiplatformV1SchemaTextSentimentAnnotation: + id: GoogleCloudAiplatformV1SchemaTextSentimentAnnotation + description: Annotation details specific to text sentiment. + type: object + properties: + sentiment: + description: The sentiment score for text. + type: integer + format: int32 + sentimentMax: + description: The sentiment max score for text. + type: integer + format: int32 + annotationSpecId: description: >- - Used to perform a consistent read-modify-write updates. If not set, - a blind "overwrite" update happens. + The resource Id of the AnnotationSpec that this Annotation pertains + to. + type: string displayName: description: >- - Required. User provided name of this TensorboardTimeSeries. This - value should be unique among all TensorboardTimeSeries resources - belonging to the same TensorboardRun resource (parent resource). - type: string - pluginName: + The display name of the AnnotationSpec that this Annotation pertains + to. type: string + GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata: + id: GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata + description: The metadata of SavedQuery contains TextSentiment Annotations. + type: object + properties: + sentimentMax: + description: The maximum sentiment of sentiment Anntoation in this SavedQuery. + type: integer + format: int32 + GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata: + id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata + description: The metadata of Datasets that contain time series data. + type: object + properties: + inputConfig: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig + timeSeriesIdentifierColumn: description: >- - Immutable. Name of the plugin this time series pertain to. Such as - Scalar, Tensor, Blob - updateTime: - description: >- - Output only. Timestamp when this TensorboardTimeSeries was last - updated. - format: google-datetime - readOnly: true + The column name of the time series identifier column that identifies + the time series. type: string - createTime: + timeColumn: + description: >- + The column name of the time column that identifies time order in the + time series. type: string - readOnly: true - description: Output only. Timestamp when this TensorboardTimeSeries was created. - format: google-datetime - type: object - id: GoogleCloudAiplatformV1TensorboardTimeSeries - GoogleCloudAiplatformV1GenieSource: - id: GoogleCloudAiplatformV1GenieSource + GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig: + id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig description: >- - Contains information about the source of the models generated from - Generative AI Studio. + The time series Dataset's data source. The Dataset doesn't store the + data directly, but only pointer(s) to its data. + type: object properties: - baseModelUri: + gcsSource: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource + bigquerySource: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource + GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource: + id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource + type: object + properties: + uri: + description: >- + Cloud Storage URI of one or more files. Only CSV files are + supported. The first line of the CSV file is used as the header. If + there are multiple files, the header is the first line of the + lexicographically first file, the other files must either contain + the exact same header or omit the header. + type: array + items: + type: string + GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource: + id: GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource + type: object + properties: + uri: + description: The URI of a BigQuery table. type: string - description: Required. The public base model URI. + GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation: + id: GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation + description: Annotation details specific to video action recognition. type: object - GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis: - id: GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis properties: - disabled: - type: boolean + timeSegment: description: >- - The monitoring schedule for snapshot analysis. For EntityType-level - config: unset / disabled = true indicates disabled by default for - Features under it; otherwise by default enable snapshot analysis - monitoring with monitoring_interval for Features under it. - Feature-level config: disabled = true indicates disabled regardless - of the EntityType-level config; unset monitoring_interval indicates - going with EntityType-level config; otherwise run snapshot analysis - monitoring with monitoring_interval regardless of the - EntityType-level config. Explicitly Disable the snapshot analysis - based monitoring. - monitoringIntervalDays: - format: int32 + This Annotation applies to the time period represented by the + TimeSegment. If it's not set, the Annotation applies to the whole + video. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaTimeSegment' + annotationSpecId: description: >- - Configuration of the snapshot analysis based monitoring pipeline - running interval. The value indicates number of days. - type: integer - stalenessDays: - format: int32 - type: integer + The resource Id of the AnnotationSpec that this Annotation pertains + to. + type: string + displayName: description: >- - Customized export features time window for snapshot analysis. Unit - is one day. Default value is 3 weeks. Minimum value is 1 day. - Maximum value is 4000 days. + The display name of the AnnotationSpec that this Annotation pertains + to. + type: string + GoogleCloudAiplatformV1SchemaTimeSegment: + id: GoogleCloudAiplatformV1SchemaTimeSegment description: >- - Configuration of the Featurestore's Snapshot Analysis Based Monitoring. - This type of analysis generates statistics for each Feature based on a - snapshot of the latest feature value of each entities every - monitoring_interval. + A time period inside of a DataItem that has a time dimension (e.g. + video). type: object - GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance: - id: >- - GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance - description: Prediction input format for Video Classification. + properties: + startTimeOffset: + description: >- + Start of the time segment (inclusive), represented as the duration + since the start of the DataItem. + type: string + format: google-duration + endTimeOffset: + description: >- + End of the time segment (exclusive), represented as the duration + since the start of the DataItem. + type: string + format: google-duration + GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation: + id: GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation + description: Annotation details specific to video classification. type: object properties: - timeSegmentEnd: + timeSegment: description: >- - The end, exclusive, of the video's time segment on which to perform - the prediction. Expressed as a number of seconds as measured from - the start of the video, with "s" appended at the end. Fractions are - allowed, up to a microsecond precision, and "inf" or "Infinity" is - allowed, which means the end of the video. + This Annotation applies to the time period represented by the + TimeSegment. If it's not set, the Annotation applies to the whole + video. + $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaTimeSegment' + annotationSpecId: + description: >- + The resource Id of the AnnotationSpec that this Annotation pertains + to. type: string - content: + displayName: + description: >- + The display name of the AnnotationSpec that this Annotation pertains + to. type: string + GoogleCloudAiplatformV1SchemaVideoDataItem: + id: GoogleCloudAiplatformV1SchemaVideoDataItem + description: Payload of Video DataItem. + type: object + properties: + gcsUri: description: >- - The Google Cloud Storage location of the video on which to perform - the prediction. + Required. Google Cloud Storage URI points to the original video in + user's bucket. The video is up to 50 GB in size and up to 3 hour in + duration. + type: string mimeType: description: >- - The MIME type of the content of the video. Only the following are - supported: video/mp4 video/avi video/quicktime + Output only. The mime type of the content of the video. Only the + videos in below listed mime types are supported. Supported + mime_type: - video/mp4 - video/avi - video/quicktime + readOnly: true type: string - timeSegmentStart: + GoogleCloudAiplatformV1SchemaVideoDatasetMetadata: + id: GoogleCloudAiplatformV1SchemaVideoDatasetMetadata + description: The metadata of Datasets that contain Video DataItems. + type: object + properties: + dataItemSchemaUri: + description: >- + Points to a YAML file stored on Google Cloud Storage describing + payload of the Video DataItems that belong to this Dataset. type: string + gcsBucket: description: >- - The beginning, inclusive, of the video's time segment on which to - perform the prediction. Expressed as a number of seconds as measured - from the start of the video, with "s" appended at the end. Fractions - are allowed, up to a microsecond precision. - GoogleCloudAiplatformV1RaySpec: - properties: - imageUri: + Google Cloud Storage Bucket name that contains the blob data of this + Dataset. type: string + GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation: + id: GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation + description: Annotation details specific to video object tracking. + type: object + properties: + timeOffset: description: >- - Optional. Default image for user to choose a preferred ML framework - (for example, TensorFlow or Pytorch) by choosing from [Vertex - prebuilt - images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). - Either this or the resource_pool_images is required. Use this field - if you need all the resource pools to have the same Ray image. - Otherwise, use the {@code resource_pool_images} field. - rayMetricSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RayMetricSpec' - description: Optional. Ray metrics configurations. - resourcePoolImages: - additionalProperties: - type: string + A time (frame) of a video to which this annotation pertains. + Represented as the duration since the video's start. + type: string + format: google-duration + xMin: + description: The leftmost coordinate of the bounding box. + type: number + format: double + xMax: + description: The rightmost coordinate of the bounding box. + type: number + format: double + yMin: + description: The topmost coordinate of the bounding box. + type: number + format: double + yMax: + description: The bottommost coordinate of the bounding box. + type: number + format: double + instanceId: description: >- - Optional. Required if image_uri isn't set. A map of resource_pool_id - to prebuild Ray image if user need to use different images for - different head/worker pools. This map needs to cover all the - resource pool ids. Example: { "ray_head_node_pool": "head image" - "ray_worker_node_pool1": "worker image" "ray_worker_node_pool2": - "another worker image" } - type: object - headNodeResourcePoolId: + The instance of the object, expressed as a positive integer. Used to + track the same object across different frames. + type: string + format: int64 + annotationSpecId: description: >- - Optional. This will be used to indicate which resource pool will - serve as the Ray head node(the first node within that pool). Will - use the machine from the first workerpool as the head node by - default if this field isn't set. + The resource Id of the AnnotationSpec that this Annotation pertains + to. type: string - rayLogsSpec: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RayLogsSpec' - description: Optional. OSS Ray logging configurations. - id: GoogleCloudAiplatformV1RaySpec - type: object - description: >- - Configuration information for the Ray cluster. For experimental launch, - Ray cluster creation and Persistent cluster creation are 1:1 mapping: We - will provision all the nodes within the Persistent cluster as Ray nodes. - GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata: - type: object - description: Metadata information for NotebookService.CreateNotebookExecutionJob. - id: GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata - properties: - progressMessage: + displayName: description: >- - A human-readable message that shows the intermediate progress - details of NotebookRuntime. + The display name of the AnnotationSpec that this Annotation pertains + to. type: string - genericMetadata: - description: The operation generic information. - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs: - type: object + GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata: id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs - properties: - modelType: - enum: - - MODEL_TYPE_UNSPECIFIED - - CLOUD - - MOBILE_VERSATILE_1 - - MOBILE_JETSON_VERSATILE_1 - enumDescriptions: - - Should not be set. - - >- - A model best tailored to be used within Google Cloud, and which - cannot be exported. Default. - - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) as a - TensorFlow or TensorFlow Lite model and used on a mobile or edge - device afterwards. - - >- - A model that, in addition to being available within Google Cloud, - can also be exported (see ModelService.ExportModel) to a Jetson - device afterwards. - type: string - GoogleCloudAiplatformV1PointwiseMetricInput: + GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata type: object - description: Input for pointwise metric. properties: - metricSpec: - description: Required. Spec for pointwise metric. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricSpec' - instance: - description: Required. Pointwise metric instance. - $ref: '#/components/schemas/GoogleCloudAiplatformV1PointwiseMetricInstance' - id: GoogleCloudAiplatformV1PointwiseMetricInput + multiLabel: + description: Whether or not the classification label is multi_label. + type: boolean + GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata: + id: GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata + type: object + properties: {} CloudAiLargeModelsVisionGenerateVideoResponse: + id: CloudAiLargeModelsVisionGenerateVideoResponse + description: Generate video response. + type: object properties: - raiMediaFilteredReasons: - items: - type: string - description: Returns rai failure reasons if any. + generatedSamples: + description: The generates samples. type: array + items: + $ref: '#/components/schemas/CloudAiLargeModelsVisionMedia' raiMediaFilteredCount: + description: Returns if any videos were filtered due to RAI policies. type: integer format: int32 - description: Returns if any videos were filtered due to RAI policies. - generatedSamples: + raiMediaFilteredReasons: + description: Returns rai failure reasons if any. type: array items: - $ref: '#/components/schemas/CloudAiLargeModelsVisionMedia' - description: The generates samples. + type: string + CloudAiLargeModelsVisionMedia: + id: CloudAiLargeModelsVisionMedia + description: Media. type: object - id: CloudAiLargeModelsVisionGenerateVideoResponse - description: Generate video response. - GoogleCloudAiplatformV1ListFeaturesResponse: - description: >- - Response message for FeaturestoreService.ListFeatures. Response message - for FeatureRegistryService.ListFeatures. - id: GoogleCloudAiplatformV1ListFeaturesResponse properties: - nextPageToken: - description: >- - A token, which can be sent as ListFeaturesRequest.page_token to - retrieve the next page. If this field is omitted, there are no - subsequent pages. - type: string - features: - items: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' - description: The Features matching the request. - type: array + image: + description: Image. + $ref: '#/components/schemas/CloudAiLargeModelsVisionImage' + video: + description: Video + $ref: '#/components/schemas/CloudAiLargeModelsVisionVideo' + CloudAiLargeModelsVisionImage: + id: CloudAiLargeModelsVisionImage + description: Image. type: object - GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest: properties: - objectives: - items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective - type: array - description: Required. Objectives of the stats to retrieve. - startTime: - description: >- - The earliest timestamp of stats being generated. If not set, - indicates fetching stats till the earliest possible one. - format: google-datetime + image: + description: Raw bytes. type: string - featureDisplayName: + format: byte + uri: + description: Path to another storage (typically Google Cloud Storage). + type: string + encoding: + description: Image encoding, encoded as "image/png" or "image/jpg". + type: string + imageRaiScores: + description: RAI scores for generated image. + $ref: '#/components/schemas/CloudAiLargeModelsVisionImageRAIScores' + raiInfo: + description: RAI info for image. + $ref: '#/components/schemas/CloudAiLargeModelsVisionRaiInfo' + semanticFilterResponse: + description: Semantic filter info for image. + $ref: '#/components/schemas/CloudAiLargeModelsVisionSemanticFilterResponse' + text: + description: Text/Expanded text input for imagen. type: string + generationSeed: description: >- - The feature display name. If specified, only return the stats - belonging to this feature. Format: - ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name, - example: "user_destination". - pageSize: + Generation seed for the sampled image. This parameter is exposed to + the user only if one of the following is true: 1. The user specified + per-example seeds in the request. 2. The user doesn't specify the + generation seed in the request. type: integer format: int32 - description: The standard list page size. - pageToken: - type: string + imageSize: description: >- - A page token received from a previous - JobService.SearchModelDeploymentMonitoringStatsAnomalies call. - deployedModelId: - type: string + Image size. The size of the image. Can be self reported, or computed + from the image bytes. + $ref: '#/components/schemas/CloudAiLargeModelsVisionImageImageSize' + CloudAiLargeModelsVisionImageRAIScores: + id: CloudAiLargeModelsVisionImageRAIScores + description: RAI scores for generated image returned. + type: object + properties: + agileWatermarkDetectionScore: + description: Agile watermark score for image. + type: number + format: double + CloudAiLargeModelsVisionRaiInfo: + id: CloudAiLargeModelsVisionRaiInfo + description: 'Next ID: 6' + type: object + properties: + raiCategories: + description: List of rai categories' information to return + type: array + items: + type: string + scores: description: >- - Required. The DeployedModel ID of the - [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id]. - endTime: - format: google-datetime + List of rai scores mapping to the rai categories. Rounded to 1 + decimal place. + type: array + items: + type: number + format: float + blockedEntities: + description: List of blocked entities from the blocklist if it is detected. + type: array + items: + type: string + detectedLabels: + description: The list of detected labels for different rai categories. + type: array + items: + $ref: '#/components/schemas/CloudAiLargeModelsVisionRaiInfoDetectedLabels' + modelName: description: >- - The latest timestamp of stats being generated. If not set, indicates - feching stats till the latest possible one. + The model name used to indexing into the RaiFilterConfig map. Would + either be one of imagegeneration@002-006, imagen-3.0-... api + endpoint names, or internal names used for mapping to different + filter configs (genselfie, ai_watermark) than its api endpoint. type: string + CloudAiLargeModelsVisionRaiInfoDetectedLabels: + id: CloudAiLargeModelsVisionRaiInfoDetectedLabels + description: Filters returning list of deteceted labels, scores, and bounding boxes. type: object - description: >- - Request message for - JobService.SearchModelDeploymentMonitoringStatsAnomalies. - id: >- - GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest - GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter: - description: >- - Numeric filter is used to search a subset of the entities by using - boolean rules on numeric columns. For example: Database Point 0: {name: - "a" value_int: 42} {name: "b" value_float: 1.0} Database Point 1: {name: - "a" value_int: 10} {name: "b" value_float: 2.0} Database Point 2: {name: - "a" value_int: -1} {name: "b" value_float: 3.0} Query: {name: "a" - value_int: 12 operator: LESS} // Matches Point 1, 2 {name: "b" - value_float: 2.0 operator: EQUAL} // Matches Point 1 - id: GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter + properties: + raiCategory: + description: The RAI category for the deteceted labels. + type: string + entities: + description: The list of detected entities for the rai signal. + type: array + items: + $ref: >- + #/components/schemas/CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity + CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity: + id: CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity + description: The properties for a detected entity from the rai signal. type: object properties: - valueInt: - format: int64 - description: int value type. + mid: + description: MID of the label type: string - valueDouble: - description: double value type. - format: double + description: + description: Description of the label + type: string + score: + description: Confidence score of the label type: number - valueFloat: - description: float value type. format: float - type: number - op: - enumDescriptions: - - Unspecified operator. - - Entities are eligible if their value is < the query's. - - Entities are eligible if their value is <= the query's. - - Entities are eligible if their value is == the query's. - - Entities are eligible if their value is >= the query's. - - Entities are eligible if their value is > the query's. - - Entities are eligible if their value is != the query's. - enum: - - OPERATOR_UNSPECIFIED - - LESS - - LESS_EQUAL - - EQUAL - - GREATER_EQUAL - - GREATER - - NOT_EQUAL + boundingBox: + description: Bounding box of the label + $ref: >- + #/components/schemas/CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox + iouScore: description: >- - Optional. This MUST be specified for queries and must NOT be - specified for database points. - type: string - name: - description: Required. Column name in BigQuery that used as filters. - type: string - GoogleCloudAiplatformV1ExactMatchInstance: - id: GoogleCloudAiplatformV1ExactMatchInstance - description: Spec for exact match instance. + The intersection ratio between the detection bounding box and the + mask. + type: number + format: float + CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox: + id: CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox + description: >- + An integer bounding box of original pixels of the image for the detected + labels. type: object properties: - prediction: - description: Required. Output of the evaluated model. - type: string - reference: - type: string - description: Required. Ground truth used to compare against the prediction. - GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec: - id: GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec - properties: - useReference: - description: >- - Optional. Whether to use instance.reference to compute question - answering relevance. - type: boolean - version: + x1: + description: The X coordinate of the top-left corner, in pixels. type: integer format: int32 - description: Optional. Which version to use for evaluation. + y1: + description: The Y coordinate of the top-left corner, in pixels. + type: integer + format: int32 + x2: + description: The X coordinate of the bottom-right corner, in pixels. + type: integer + format: int32 + y2: + description: The Y coordinate of the bottom-right corner, in pixels. + type: integer + format: int32 + CloudAiLargeModelsVisionSemanticFilterResponse: + id: CloudAiLargeModelsVisionSemanticFilterResponse type: object - description: Spec for question answering relevance metric. - GoogleCloudAiplatformV1UndeployIndexOperationMetadata: - id: GoogleCloudAiplatformV1UndeployIndexOperationMetadata properties: - genericMetadata: - $ref: '#/components/schemas/GoogleCloudAiplatformV1GenericOperationMetadata' - description: The operation generic information. - type: object - description: Runtime operation information for IndexEndpointService.UndeployIndex. - GoogleCloudAiplatformV1ToolCallValidResults: - id: GoogleCloudAiplatformV1ToolCallValidResults - description: Results for tool call valid metric. + passedSemanticFilter: + description: >- + This response is added when semantic filter config is turned on in + EditConfig. It reports if this image is passed semantic filter + response. If passed_semantic_filter is false, the bounding box + information will be populated for user to check what caused the + semantic filter to fail. + type: boolean + namedBoundingBoxes: + description: >- + Class labels of the bounding boxes that failed the semantic + filtering. Bounding box coordinates. + type: array + items: + $ref: '#/components/schemas/CloudAiLargeModelsVisionNamedBoundingBox' + CloudAiLargeModelsVisionNamedBoundingBox: + id: CloudAiLargeModelsVisionNamedBoundingBox type: object properties: - toolCallValidMetricValues: + x1: + type: number + format: float + x2: + type: number + format: float + y1: + type: number + format: float + y2: + type: number + format: float + classes: type: array - readOnly: true - description: Output only. Tool call valid metric values. items: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ToolCallValidMetricValue - GoogleCloudAiplatformV1LargeModelReference: - id: GoogleCloudAiplatformV1LargeModelReference - properties: - name: - type: string - description: >- - Required. The unique name of the large Foundation or pre-built - model. Like "chat-bison", "text-bison". Or model name with version - ID, like "chat-bison@001", "text-bison@005", etc. - description: Contains information about the Large Model. - type: object - GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact: - id: GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact - description: The type of an input artifact. + type: string + entities: + type: array + items: + type: string + scores: + type: array + items: + type: number + format: float + CloudAiLargeModelsVisionImageImageSize: + id: CloudAiLargeModelsVisionImageImageSize + description: Image size. type: object properties: - artifactId: - description: >- - Artifact resource id from MLMD. Which is the last portion of an - artifact resource name: - `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. - The artifact must stay within the same project, location and default - metadatastore as the pipeline. - type: string - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation: + width: + type: integer + format: int32 + height: + type: integer + format: int32 + channels: + type: integer + format: int32 + CloudAiLargeModelsVisionVideo: + id: CloudAiLargeModelsVisionVideo + description: Video type: object properties: - columnName: + video: + description: Raw bytes. type: string - description: >- - Training pipeline will perform following transformation functions. * The - categorical string as is--no change to case, punctuation, spelling, - tense, and so on. * Convert the category name to a dictionary lookup - index and generate an embedding for each index. * Categories that appear - less than 5 times in the training dataset are treated as the "unknown" - category. The "unknown" category gets its own special lookup index and - resulting embedding. - id: >- - GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation - GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult: - id: >- - GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult - description: Prediction output format for Image Segmentation. - type: object - properties: - categoryMask: + format: byte + uri: + description: Path to another storage (typically Google Cloud Storage). type: string - description: >- - A PNG image where each pixel in the mask represents the category in - which the pixel in the original image was predicted to belong to. - The size of this image will be the same as the original image. The - mapping between the AnntoationSpec and the color can be found in - model's metadata. The model will choose the most likely category and - if none of the categories reach the confidence threshold, the pixel - will be marked as background. - confidenceMask: + encodedVideo: + description: Base 64 encoded video bytes. type: string - description: >- - A one channel image which is encoded as an 8bit lossless PNG. The - size of the image will be the same as the original image. For a - specific pixel, darker color means less confidence in correctness of - the cateogry in the categoryMask for the corresponding pixel. Black - means no confidence and white means complete confidence. - GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation: + format: byte + encoding: + description: Video encoding, for example "video/mp4". + type: string + CloudAiPlatformCommonCreatePipelineJobApiErrorDetail: + id: CloudAiPlatformCommonCreatePipelineJobApiErrorDetail + description: 'Create API error message for Vertex Pipeline. Next Id: 3.' + type: object properties: - annotationSpecId: + errorCause: + description: The error root cause returned by CreatePipelineJob API. type: string - description: >- - The resource Id of the AnnotationSpec that this Annotation pertains - to. - timeSegment: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SchemaTimeSegment' - description: >- - This Annotation applies to the time period represented by the - TimeSegment. If it's not set, the Annotation applies to the whole - video. - displayName: + enumDescriptions: + - Should never be used. + - IR Pipeline Spec can not been parsed to yaml or json format. + - A pipeline spec is invalid. + - A deployment config is invalid. + - A deployment spec is invalid. + - An instance schema is invalid. + - A custom job is invalid. + - A container spec is invalid. + - Notification email setup is invalid. + - Service account setup is invalid. + - KMS setup is invalid. + - Network setup is invalid. + - Task spec is invalid. + - Task artifact is invalid. + - Importer spec is invalid. + - Resolver spec is invalid. + - Runtime Parameters are invalid. + - Cloud API not enabled. + - Invalid GCS input uri + - Invalid GCS output uri + - Component spec of pipeline is invalid. + - DagOutputsSpec is invalid. + - DagSpec is invalid. + - Project does not have enough quota. + - An internal error with unknown cause. + enum: + - ERROR_CAUSE_UNSPECIFIED + - INVALID_PIPELINE_SPEC_FORMAT + - INVALID_PIPELINE_SPEC + - INVALID_DEPLOYMENT_CONFIG + - INVALID_DEPLOYMENT_SPEC + - INVALID_INSTANCE_SCHEMA + - INVALID_CUSTOM_JOB + - INVALID_CONTAINER_SPEC + - INVALID_NOTIFICATION_EMAIL_SETUP + - INVALID_SERVICE_ACCOUNT_SETUP + - INVALID_KMS_SETUP + - INVALID_NETWORK_SETUP + - INVALID_PIPELINE_TASK_SPEC + - INVALID_PIPELINE_TASK_ARTIFACT + - INVALID_IMPORTER_SPEC + - INVALID_RESOLVER_SPEC + - INVALID_RUNTIME_PARAMETERS + - CLOUD_API_NOT_ENABLED + - INVALID_GCS_INPUT_URI + - INVALID_GCS_OUTPUT_URI + - INVALID_COMPONENT_SPEC + - INVALID_DAG_OUTPUTS_SPEC + - INVALID_DAG_SPEC + - INSUFFICIENT_QUOTA + - INTERNAL + publicMessage: + description: Public messages contains actionable items for the error cause. type: string - description: >- - The display name of the AnnotationSpec that this Annotation pertains - to. - description: Annotation details specific to video action recognition. - type: object - id: GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation parameters: - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + access_token: + description: OAuth access token. in: query - name: upload_protocol + name: access_token schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + alt: + description: Data format for response. in: query - name: oauth_token + name: alt schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + enum: + - json + - media + - proto + callback: + description: JSONP in: query - name: key + name: callback schema: type: string fields: @@ -24889,28 +25480,27 @@ components: name: fields schema: type: string - alt: - description: Data format for response. + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: alt + name: key schema: type: string - enum: - - json - - media - - proto - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: uploadType + name: oauth_token schema: type: string - access_token: - description: OAuth access token. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: access_token + name: prettyPrint schema: - type: string + type: boolean quotaUser: description: >- Available to use for quota purposes for server-side applications. Can be @@ -24920,10 +25510,16 @@ components: name: quotaUser schema: type: string - callback: - description: JSONP + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: callback + name: upload_protocol + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType schema: type: string _.xgafv: @@ -24941,25 +25537,25 @@ components: name: datasets title: Datasets methods: - list: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.datasets - create: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets/get response: mediaType: application/json openAPIDocKey: '200' - delete: + objectKey: $.datasets + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -24970,31 +25566,31 @@ components: response: mediaType: application/json openAPIDocKey: '200' - get: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}/delete response: mediaType: application/json openAPIDocKey: '200' - search_data_items: + import: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}:searchDataItems/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}:import/post response: mediaType: application/json openAPIDocKey: '200' - import: + export: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}:import/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}:export/post response: mediaType: application/json openAPIDocKey: '200' - export: + search_data_items: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}:export/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}:searchDataItems/get response: mediaType: application/json openAPIDocKey: '200' @@ -25014,20 +25610,21 @@ components: name: dataset_versions title: Dataset_versions methods: - get: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions~1{datasetVersionsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions~1{datasetVersionsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.datasetVersions patch: operation: $ref: >- @@ -25035,21 +25632,20 @@ components: response: mediaType: application/json openAPIDocKey: '200' - create: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions~1{datasetVersionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - list: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1datasetVersions~1{datasetVersionsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.datasetVersions restore: operation: $ref: >- @@ -25068,461 +25664,594 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/dataset_versions/methods/delete' - models: - id: google.aiplatform.models - name: models - title: Models + cache_config: + id: google.aiplatform.cache_config + name: cache_config + title: Cache_config methods: - stream_generate_content: + update_cache_config: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:streamGenerateContent/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1cacheConfig/patch' response: mediaType: application/json openAPIDocKey: '200' - generate_content: + get_cache_config: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:generateContent/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1cacheConfig/get' response: mediaType: application/json openAPIDocKey: '200' - count_tokens: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/cache_config/methods/get_cache_config + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/cache_config/methods/update_cache_config + replace: [] + delete: [] + locations: + id: google.aiplatform.locations + name: locations + title: Locations + methods: + list: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:countTokens/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' response: mediaType: application/json openAPIDocKey: '200' - compute_tokens: + objectKey: $.locations + get: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + evaluate_instances: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:computeTokens/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:evaluateInstances/post response: mediaType: application/json openAPIDocKey: '200' - get: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/locations/methods/get' + - $ref: '#/components/x-stackQL-resources/locations/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + featurestores_iam_policies: + id: google.aiplatform.featurestores_iam_policies + name: featurestores_iam_policies + title: Featurestores_iam_policies + methods: + set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - merge_version_aliases: + get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:mergeVersionAliases/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:getIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - upload: + objectKey: $.bindings + test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models:upload/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' - export: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/featurestores_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/featurestores_iam_policies/methods/set_iam_policy + delete: [] + featurestores: + id: google.aiplatform.featurestores + name: featurestores + title: Featurestores + methods: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:export/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.models - delete: + objectKey: $.featurestores + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}/get response: mediaType: application/json openAPIDocKey: '200' patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}/patch response: mediaType: application/json openAPIDocKey: '200' - copy: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models:copy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}/delete response: mediaType: application/json openAPIDocKey: '200' - stream_raw_predict: + batch_read_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:streamRawPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:batchReadFeatureValues/post response: mediaType: application/json openAPIDocKey: '200' - predict: + search_features: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:predict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores:searchFeatures/get response: mediaType: application/json openAPIDocKey: '200' - server_streaming_predict: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/featurestores/methods/get' + - $ref: '#/components/x-stackQL-resources/featurestores/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/featurestores/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/featurestores/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/featurestores/methods/delete' + entity_types_iam_policies: + id: google.aiplatform.entity_types_iam_policies + name: entity_types_iam_policies + title: Entity_types_iam_policies + methods: + set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:serverStreamingPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - raw_predict: + get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:rawPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:getIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/models/methods/get' - - $ref: '#/components/x-stackQL-resources/models/methods/list' + - $ref: >- + #/components/x-stackQL-resources/entity_types_iam_policies/methods/get_iam_policy insert: [] - update: - - $ref: '#/components/x-stackQL-resources/models/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/models/methods/delete' - endpoints: - id: google.aiplatform.endpoints - name: endpoints - title: Endpoints + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/entity_types_iam_policies/methods/set_iam_policy + delete: [] + entity_types: + id: google.aiplatform.entity_types + name: entity_types + title: Entity_types methods: - stream_generate_content: + read_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:streamGenerateContent/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:readFeatureValues/post response: mediaType: application/json openAPIDocKey: '200' - count_tokens: + streaming_read_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:countTokens/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:streamingReadFeatureValues/post response: mediaType: application/json openAPIDocKey: '200' - compute_tokens: + write_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:computeTokens/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:writeFeatureValues/post response: mediaType: application/json openAPIDocKey: '200' - generate_content: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:generateContent/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.endpoints - create: + objectKey: $.entityTypes + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}/get response: mediaType: application/json openAPIDocKey: '200' - server_streaming_predict: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:serverStreamingPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}/patch response: mediaType: application/json openAPIDocKey: '200' - direct_raw_predict: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:directRawPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}/delete response: mediaType: application/json openAPIDocKey: '200' - patch: + import_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:importFeatureValues/post + response: + mediaType: application/json + openAPIDocKey: '200' + export_feature_values: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:exportFeatureValues/post response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/entity_types/methods/get' + - $ref: '#/components/x-stackQL-resources/entity_types/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/entity_types/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/entity_types/methods/patch' + replace: [] delete: + - $ref: '#/components/x-stackQL-resources/entity_types/methods/delete' + entity_types_feature_values: + id: google.aiplatform.entity_types_feature_values + name: entity_types_feature_values + title: Entity_types_feature_values + methods: + delete_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:deleteFeatureValues/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/entity_types_feature_values/methods/delete_feature_values + operations: + id: google.aiplatform.operations + name: operations + title: Operations + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.operations get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - stream_raw_predict: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:streamRawPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}~1operations~1{operationsId}/delete response: mediaType: application/json openAPIDocKey: '200' - raw_predict: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:rawPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}~1operations~1{operationsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - explain: + wait: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:explain/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}~1operations~1{operationsId}:wait/post response: mediaType: application/json openAPIDocKey: '200' - predict: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/operations/methods/delete' + features: + id: google.aiplatform.features + name: features + title: Features + methods: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:predict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features/post response: mediaType: application/json openAPIDocKey: '200' - deploy_model: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:deployModel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features/get response: mediaType: application/json openAPIDocKey: '200' - direct_predict: + objectKey: $.features + batch_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:directPredict/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features:batchCreate/post response: mediaType: application/json openAPIDocKey: '200' - mutate_deployed_model: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:mutateDeployedModel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}/get response: mediaType: application/json openAPIDocKey: '200' - undeploy_model: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:undeployModel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/get' - - $ref: '#/components/x-stackQL-resources/endpoints/methods/list' + - $ref: '#/components/x-stackQL-resources/features/methods/get' + - $ref: '#/components/x-stackQL-resources/features/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/create' + - $ref: '#/components/x-stackQL-resources/features/methods/create' + - $ref: '#/components/x-stackQL-resources/features/methods/batch_create' update: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/patch' + - $ref: '#/components/x-stackQL-resources/features/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/delete' - slices: - id: google.aiplatform.slices - name: slices - title: Slices + - $ref: '#/components/x-stackQL-resources/features/methods/delete' + models_iam_policies: + id: google.aiplatform.models_iam_policies + name: models_iam_policies + title: Models_iam_policies + methods: + set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:getIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/models_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/models_iam_policies/methods/set_iam_policy + delete: [] + models: + id: google.aiplatform.models + name: models + title: Models methods: + upload: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models:upload/post + response: + mediaType: application/json + openAPIDocKey: '200' get: + operation: + $ref: '#/paths/~1v1~1publishers~1{publishersId}~1models~1{modelsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}~1slices~1{slicesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}/patch response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}~1slices/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.modelEvaluationSlices - batch_import: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}~1slices~1{slicesId}:batchImport/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/slices/methods/get' - - $ref: '#/components/x-stackQL-resources/slices/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - operations: - id: google.aiplatform.operations - name: operations - title: Operations - methods: - delete: + objectKey: $.models + merge_version_aliases: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}~1operations~1{operationsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:mergeVersionAliases/post response: mediaType: application/json openAPIDocKey: '200' - get: + export: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}~1operations~1{operationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:export/post response: mediaType: application/json openAPIDocKey: '200' - wait: + copy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}~1operations~1{operationsId}:wait/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models:copy/post response: mediaType: application/json openAPIDocKey: '200' - list: + predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}~1operations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:predict/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - cancel: + raw_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}~1operations~1{operationsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:rawPredict/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - - $ref: '#/components/x-stackQL-resources/operations/methods/list' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/operations/methods/delete' - evaluations: - id: google.aiplatform.evaluations - name: evaluations - title: Evaluations - methods: - get: + stream_raw_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:streamRawPredict/post response: mediaType: application/json openAPIDocKey: '200' - list: + server_streaming_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:serverStreamingPredict/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.modelEvaluations - import: + predict_long_running: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations:import/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:predictLongRunning/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/evaluations/methods/get' - - $ref: '#/components/x-stackQL-resources/evaluations/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - models_version: - id: google.aiplatform.models_version - name: models_version - title: Models_version - methods: - delete_version: + generate_content: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:deleteVersion/delete + #/paths/~1v1~1publishers~1{publishersId}~1models~1{modelsId}:generateContent/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/models_version/methods/delete_version - models_iam_policies: - id: google.aiplatform.models_iam_policies - name: models_iam_policies - title: Models_iam_policies - methods: - set_iam_policy: + stream_generate_content: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:setIamPolicy/post + #/paths/~1v1~1publishers~1{publishersId}~1models~1{modelsId}:streamGenerateContent/post response: mediaType: application/json openAPIDocKey: '200' - get_iam_policy: + count_tokens: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:getIamPolicy/post + #/paths/~1v1~1publishers~1{publishersId}~1models~1{modelsId}:countTokens/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - test_iam_permissions: + compute_tokens: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:testIamPermissions/post + #/paths/~1v1~1publishers~1{publishersId}~1models~1{modelsId}:computeTokens/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/models_iam_policies/methods/get_iam_policy + - $ref: '#/components/x-stackQL-resources/models/methods/get' + - $ref: '#/components/x-stackQL-resources/models/methods/list' insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/models_iam_policies/methods/set_iam_policy - delete: [] + update: + - $ref: '#/components/x-stackQL-resources/models/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/models/methods/delete' models_versions: id: google.aiplatform.models_versions name: models_versions @@ -25564,390 +26293,450 @@ components: #/components/x-stackQL-resources/models_explanation_dataset/methods/update_explanation_dataset replace: [] delete: [] - persistent_resources: - id: google.aiplatform.persistent_resources - name: persistent_resources - title: Persistent_resources + models_version: + id: google.aiplatform.models_version + name: models_version + title: Models_version methods: - reboot: + delete_version: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}:reboot/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}:deleteVersion/delete response: mediaType: application/json openAPIDocKey: '200' - patch: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/models_version/methods/delete_version + evaluations: + id: google.aiplatform.evaluations + name: evaluations + title: Evaluations + methods: + import: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations:import/post response: mediaType: application/json openAPIDocKey: '200' get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}/get response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations/get response: mediaType: application/json openAPIDocKey: '200' - create: + objectKey: $.modelEvaluations + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/evaluations/methods/get' + - $ref: '#/components/x-stackQL-resources/evaluations/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + slices: + id: google.aiplatform.slices + name: slices + title: Slices + methods: + batch_import: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}~1slices~1{slicesId}:batchImport/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}~1slices~1{slicesId}/get response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1models~1{modelsId}~1evaluations~1{evaluationsId}~1slices/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.persistentResources + objectKey: $.modelEvaluationSlices sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/persistent_resources/methods/get' - - $ref: '#/components/x-stackQL-resources/persistent_resources/methods/list' - insert: - - $ref: >- - #/components/x-stackQL-resources/persistent_resources/methods/create - update: - - $ref: >- - #/components/x-stackQL-resources/persistent_resources/methods/patch + - $ref: '#/components/x-stackQL-resources/slices/methods/get' + - $ref: '#/components/x-stackQL-resources/slices/methods/list' + insert: [] + update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/persistent_resources/methods/delete - features: - id: google.aiplatform.features - name: features - title: Features + delete: [] + notebook_runtime_templates_iam_policies: + id: google.aiplatform.notebook_runtime_templates_iam_policies + name: notebook_runtime_templates_iam_policies + title: Notebook_runtime_templates_iam_policies methods: - patch: + set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - delete: + get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}:getIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - get: + objectKey: $.bindings + test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates_iam_policies/methods/set_iam_policy + delete: [] + notebook_runtime_templates: + id: google.aiplatform.notebook_runtime_templates + name: notebook_runtime_templates + title: Notebook_runtime_templates + methods: create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.features - batch_create: + objectKey: $.notebookRuntimeTemplates + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}~1features:batchCreate/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}/patch response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/features/methods/get' - - $ref: '#/components/x-stackQL-resources/features/methods/list' + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates/methods/get + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates/methods/list insert: - - $ref: '#/components/x-stackQL-resources/features/methods/create' - - $ref: '#/components/x-stackQL-resources/features/methods/batch_create' + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates/methods/create update: - - $ref: '#/components/x-stackQL-resources/features/methods/patch' + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates/methods/patch replace: [] delete: - - $ref: '#/components/x-stackQL-resources/features/methods/delete' - entity_types_iam_policies: - id: google.aiplatform.entity_types_iam_policies - name: entity_types_iam_policies - title: Entity_types_iam_policies + - $ref: >- + #/components/x-stackQL-resources/notebook_runtime_templates/methods/delete + feature_online_stores_iam_policies: + id: google.aiplatform.feature_online_stores_iam_policies + name: feature_online_stores_iam_policies + title: Feature_online_stores_iam_policies methods: - get_iam_policy: + set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - test_iam_permissions: + get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}:getIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - set_iam_policy: + objectKey: $.bindings + test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/entity_types_iam_policies/methods/get_iam_policy + #/components/x-stackQL-resources/feature_online_stores_iam_policies/methods/get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/entity_types_iam_policies/methods/set_iam_policy + #/components/x-stackQL-resources/feature_online_stores_iam_policies/methods/set_iam_policy delete: [] - entity_types: - id: google.aiplatform.entity_types - name: entity_types - title: Entity_types + feature_online_stores: + id: google.aiplatform.feature_online_stores + name: feature_online_stores + title: Feature_online_stores methods: - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - delete: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores/post response: mediaType: application/json openAPIDocKey: '200' - import_feature_values: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:importFeatureValues/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores/get response: mediaType: application/json openAPIDocKey: '200' - export_feature_values: + objectKey: $.featureOnlineStores + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:exportFeatureValues/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}/get response: mediaType: application/json openAPIDocKey: '200' - streaming_read_feature_values: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:streamingReadFeatureValues/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}/patch response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.entityTypes - create: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/feature_online_stores/methods/get' + - $ref: >- + #/components/x-stackQL-resources/feature_online_stores/methods/list + insert: + - $ref: >- + #/components/x-stackQL-resources/feature_online_stores/methods/create + update: + - $ref: >- + #/components/x-stackQL-resources/feature_online_stores/methods/patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/feature_online_stores/methods/delete + feature_views_iam_policies: + id: google.aiplatform.feature_views_iam_policies + name: feature_views_iam_policies + title: Feature_views_iam_policies + methods: + set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - read_feature_values: + get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:readFeatureValues/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:getIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - write_feature_values: + objectKey: $.bindings + test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:writeFeatureValues/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/entity_types/methods/get' - - $ref: '#/components/x-stackQL-resources/entity_types/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/entity_types/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/entity_types/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/entity_types/methods/delete' - entity_types_feature_values: - id: google.aiplatform.entity_types_feature_values - name: entity_types_feature_values - title: Entity_types_feature_values - methods: - delete_feature_values: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}~1entityTypes~1{entityTypesId}:deleteFeatureValues/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] + - $ref: >- + #/components/x-stackQL-resources/feature_views_iam_policies/methods/get_iam_policy insert: [] update: [] - replace: [] - delete: + replace: - $ref: >- - #/components/x-stackQL-resources/entity_types_feature_values/methods/delete_feature_values - featurestores: - id: google.aiplatform.featurestores - name: featurestores - title: Featurestores + #/components/x-stackQL-resources/feature_views_iam_policies/methods/set_iam_policy + delete: [] + feature_views: + id: google.aiplatform.feature_views + name: feature_views + title: Feature_views methods: create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.featurestores - search_features: + objectKey: $.featureViews + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores:searchFeatures/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}/get response: mediaType: application/json openAPIDocKey: '200' - delete: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}/patch response: mediaType: application/json openAPIDocKey: '200' - patch: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}/delete response: mediaType: application/json openAPIDocKey: '200' - get: + sync: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:sync/post response: mediaType: application/json openAPIDocKey: '200' - batch_read_feature_values: + search_nearest_entities: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:batchReadFeatureValues/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:searchNearestEntities/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/featurestores/methods/get' - - $ref: '#/components/x-stackQL-resources/featurestores/methods/list' + - $ref: '#/components/x-stackQL-resources/feature_views/methods/get' + - $ref: '#/components/x-stackQL-resources/feature_views/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/featurestores/methods/create' + - $ref: '#/components/x-stackQL-resources/feature_views/methods/create' update: - - $ref: '#/components/x-stackQL-resources/featurestores/methods/patch' + - $ref: '#/components/x-stackQL-resources/feature_views/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/featurestores/methods/delete' - featurestores_iam_policies: - id: google.aiplatform.featurestores_iam_policies - name: featurestores_iam_policies - title: Featurestores_iam_policies + - $ref: '#/components/x-stackQL-resources/feature_views/methods/delete' + feature_views_feature_values: + id: google.aiplatform.feature_views_feature_values + name: feature_views_feature_values + title: Feature_views_feature_values methods: - set_iam_policy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:setIamPolicy/post - response: - mediaType: application/json - openAPIDocKey: '200' - get_iam_policy: + fetch_feature_values: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:fetchFeatureValues/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - test_iam_permissions: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/feature_views_feature_values/methods/fetch_feature_values + insert: [] + update: [] + replace: [] + delete: [] + operations_wait: + id: google.aiplatform.operations_wait + name: operations_wait + title: Operations_wait + methods: + list_wait: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featurestores~1{featurestoresId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}~1operations~1{operationsId}:wait/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.operations sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/featurestores_iam_policies/methods/get_iam_policy + - $ref: '#/components/x-stackQL-resources/operations_wait/methods/list_wait' insert: [] update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/featurestores_iam_policies/methods/set_iam_policy + replace: [] delete: [] - annotation_specs: - id: google.aiplatform.annotation_specs - name: annotation_specs - title: Annotation_specs + feature_view_syncs: + id: google.aiplatform.feature_view_syncs + name: feature_view_syncs + title: Feature_view_syncs methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1annotationSpecs~1{annotationSpecsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}~1featureViewSyncs~1{featureViewSyncsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}~1featureViewSyncs/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.featureViewSyncs sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/annotation_specs/methods/get' + - $ref: '#/components/x-stackQL-resources/feature_view_syncs/methods/get' + - $ref: '#/components/x-stackQL-resources/feature_view_syncs/methods/list' insert: [] update: [] replace: [] @@ -26020,817 +26809,621 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/saved_queries/methods/delete' - tuning_jobs: - id: google.aiplatform.tuning_jobs - name: tuning_jobs - title: Tuning_jobs + annotation_specs: + id: google.aiplatform.annotation_specs + name: annotation_specs + title: Annotation_specs methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs~1{tuningJobsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.tuningJobs - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs/post - response: - mediaType: application/json - openAPIDocKey: '200' - cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs~1{tuningJobsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1datasets~1{datasetsId}~1annotationSpecs~1{annotationSpecsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/tuning_jobs/methods/get' - - $ref: '#/components/x-stackQL-resources/tuning_jobs/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/tuning_jobs/methods/create' + - $ref: '#/components/x-stackQL-resources/annotation_specs/methods/get' + insert: [] update: [] replace: [] delete: [] - feature_view_syncs: - id: google.aiplatform.feature_view_syncs - name: feature_view_syncs - title: Feature_view_syncs + deployment_resource_pools: + id: google.aiplatform.deployment_resource_pools + name: deployment_resource_pools + title: Deployment_resource_pools methods: - get: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}~1featureViewSyncs~1{featureViewSyncsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}~1featureViewSyncs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.featureViewSyncs - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/feature_view_syncs/methods/get' - - $ref: '#/components/x-stackQL-resources/feature_view_syncs/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - operations_wait: - id: google.aiplatform.operations_wait - name: operations_wait - title: Operations_wait - methods: - list_wait: + objectKey: $.deploymentResourcePools + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}~1features~1{featuresId}~1operations~1{operationsId}:wait/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/operations_wait/methods/list_wait' - insert: [] - update: [] - replace: [] - delete: [] - feature_views_iam_policies: - id: google.aiplatform.feature_views_iam_policies - name: feature_views_iam_policies - title: Feature_views_iam_policies - methods: - get_iam_policy: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - set_iam_policy: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}/delete response: mediaType: application/json openAPIDocKey: '200' - test_iam_permissions: + query_deployed_models: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}:queryDeployedModels/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/feature_views_iam_policies/methods/get_iam_policy - insert: [] - update: [] - replace: + #/components/x-stackQL-resources/deployment_resource_pools/methods/get - $ref: >- - #/components/x-stackQL-resources/feature_views_iam_policies/methods/set_iam_policy - delete: [] - feature_views: - id: google.aiplatform.feature_views - name: feature_views - title: Feature_views - methods: + #/components/x-stackQL-resources/deployment_resource_pools/methods/query_deployed_models + - $ref: >- + #/components/x-stackQL-resources/deployment_resource_pools/methods/list + insert: + - $ref: >- + #/components/x-stackQL-resources/deployment_resource_pools/methods/create + update: + - $ref: >- + #/components/x-stackQL-resources/deployment_resource_pools/methods/patch + replace: [] delete: + - $ref: >- + #/components/x-stackQL-resources/deployment_resource_pools/methods/delete + endpoints: + id: google.aiplatform.endpoints + name: endpoints + title: Endpoints + methods: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.featureViews - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints/get response: mediaType: application/json openAPIDocKey: '200' - search_nearest_entities: + objectKey: $.endpoints + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:searchNearestEntities/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}/get response: mediaType: application/json openAPIDocKey: '200' - sync: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:sync/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/feature_views/methods/get' - - $ref: '#/components/x-stackQL-resources/feature_views/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/feature_views/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/feature_views/methods/patch' - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/feature_views/methods/delete' - feature_views_feature_values: - id: google.aiplatform.feature_views_feature_values - name: feature_views_feature_values - title: Feature_views_feature_values - methods: - fetch_feature_values: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}~1featureViews~1{featureViewsId}:fetchFeatureValues/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/feature_views_feature_values/methods/fetch_feature_values - insert: [] - update: [] - replace: [] - delete: [] - feature_online_stores: - id: google.aiplatform.feature_online_stores - name: feature_online_stores - title: Feature_online_stores - methods: - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.featureOnlineStores - create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}/delete response: mediaType: application/json openAPIDocKey: '200' - patch: + deploy_model: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:deployModel/post response: mediaType: application/json openAPIDocKey: '200' - get: + undeploy_model: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:undeployModel/post response: mediaType: application/json openAPIDocKey: '200' - delete: + mutate_deployed_model: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:mutateDeployedModel/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/feature_online_stores/methods/get' - - $ref: >- - #/components/x-stackQL-resources/feature_online_stores/methods/list - insert: - - $ref: >- - #/components/x-stackQL-resources/feature_online_stores/methods/create - update: - - $ref: >- - #/components/x-stackQL-resources/feature_online_stores/methods/patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/feature_online_stores/methods/delete - feature_online_stores_iam_policies: - id: google.aiplatform.feature_online_stores_iam_policies - name: feature_online_stores_iam_policies - title: Feature_online_stores_iam_policies - methods: - test_iam_permissions: + predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:predict/post response: mediaType: application/json openAPIDocKey: '200' - get_iam_policy: + raw_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:rawPredict/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - set_iam_policy: + stream_raw_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureOnlineStores~1{featureOnlineStoresId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:streamRawPredict/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/feature_online_stores_iam_policies/methods/get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/feature_online_stores_iam_policies/methods/set_iam_policy - delete: [] - migratable_resources: - id: google.aiplatform.migratable_resources - name: migratable_resources - title: Migratable_resources - methods: - batch_migrate: + direct_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1migratableResources:batchMigrate/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:directPredict/post response: mediaType: application/json openAPIDocKey: '200' - search: + direct_raw_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1migratableResources:search/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:directRawPredict/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - pipeline_jobs: - id: google.aiplatform.pipeline_jobs - name: pipeline_jobs - title: Pipeline_jobs - methods: - get: + server_streaming_predict: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs~1{pipelineJobsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:serverStreamingPredict/post response: mediaType: application/json openAPIDocKey: '200' - delete: + predict_long_running: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs~1{pipelineJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:predictLongRunning/post response: mediaType: application/json openAPIDocKey: '200' - create: + explain: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:explain/post response: mediaType: application/json openAPIDocKey: '200' - list: + generate_content: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs/get + $ref: '#/paths/~1v1~1endpoints~1{endpointsId}:generateContent/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.pipelineJobs - batch_cancel: + stream_generate_content: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs:batchCancel/post + $ref: '#/paths/~1v1~1endpoints~1{endpointsId}:streamGenerateContent/post' response: mediaType: application/json openAPIDocKey: '200' - batch_delete: + count_tokens: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs:batchDelete/post + $ref: '#/paths/~1v1~1endpoints~1{endpointsId}:countTokens/post' response: mediaType: application/json openAPIDocKey: '200' - cancel: + compute_tokens: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs~1{pipelineJobsId}:cancel/post + $ref: '#/paths/~1v1~1endpoints~1{endpointsId}:computeTokens/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/get' - - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/list' + - $ref: '#/components/x-stackQL-resources/endpoints/methods/get' + - $ref: '#/components/x-stackQL-resources/endpoints/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/create' - update: [] + - $ref: '#/components/x-stackQL-resources/endpoints/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/endpoints/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/delete' - - $ref: >- - #/components/x-stackQL-resources/pipeline_jobs/methods/batch_delete - model_deployment_monitoring_jobs: - id: google.aiplatform.model_deployment_monitoring_jobs - name: model_deployment_monitoring_jobs - title: Model_deployment_monitoring_jobs + - $ref: '#/components/x-stackQL-resources/endpoints/methods/delete' + endpoints_predict_operation: + id: google.aiplatform.endpoints_predict_operation + name: endpoints_predict_operation + title: Endpoints_predict_operation methods: - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - patch: + fetch_predict_operation: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}:fetchPredictOperation/post response: mediaType: application/json openAPIDocKey: '200' - delete: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/endpoints_predict_operation/methods/fetch_predict_operation + insert: [] + update: [] + replace: [] + delete: [] + chat: + id: google.aiplatform.chat + name: chat + title: Chat + methods: + completions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1endpoints~1{endpointsId}~1chat~1completions/post response: mediaType: application/json openAPIDocKey: '200' - pause: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + feature_groups: + id: google.aiplatform.feature_groups + name: feature_groups + title: Feature_groups + methods: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}:pause/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups/post response: mediaType: application/json openAPIDocKey: '200' - resume: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}:resume/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups/get response: mediaType: application/json openAPIDocKey: '200' - create: + objectKey: $.featureGroups + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}/get response: mediaType: application/json openAPIDocKey: '200' - list: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.modelDeploymentMonitoringJobs - search_model_deployment_monitoring_stats_anomalies: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/get - - $ref: >- - #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/list + - $ref: '#/components/x-stackQL-resources/feature_groups/methods/get' + - $ref: '#/components/x-stackQL-resources/feature_groups/methods/list' insert: - - $ref: >- - #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/create + - $ref: '#/components/x-stackQL-resources/feature_groups/methods/create' update: - - $ref: >- - #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/patch + - $ref: '#/components/x-stackQL-resources/feature_groups/methods/patch' replace: [] delete: - - $ref: >- - #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/delete - nas_jobs: - id: google.aiplatform.nas_jobs - name: nas_jobs - title: Nas_jobs + - $ref: '#/components/x-stackQL-resources/feature_groups/methods/delete' + tuning_jobs: + id: google.aiplatform.tuning_jobs + name: tuning_jobs + title: Tuning_jobs methods: - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.nasJobs create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs/post - response: - mediaType: application/json - openAPIDocKey: '200' - cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.tuningJobs get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs~1{tuningJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/get' - - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/create' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/delete' - nas_trial_details: - id: google.aiplatform.nas_trial_details - name: nas_trial_details - title: Nas_trial_details - methods: - list: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}~1nasTrialDetails/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs~1{tuningJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.nasTrialDetails - get: + rebase_tuned_model: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}~1nasTrialDetails~1{nasTrialDetailsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tuningJobs:rebaseTunedModel/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/nas_trial_details/methods/get' - - $ref: '#/components/x-stackQL-resources/nas_trial_details/methods/list' - insert: [] + - $ref: '#/components/x-stackQL-resources/tuning_jobs/methods/get' + - $ref: '#/components/x-stackQL-resources/tuning_jobs/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/tuning_jobs/methods/create' update: [] replace: [] delete: [] - custom_jobs: - id: google.aiplatform.custom_jobs - name: custom_jobs - title: Custom_jobs + indexes: + id: google.aiplatform.indexes + name: indexes + title: Indexes methods: create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.customJobs - cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs~1{customJobsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.indexes get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs~1{customJobsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}/get response: mediaType: application/json openAPIDocKey: '200' - delete: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs~1{customJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/get' - - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/create' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/delete' - schedules: - id: google.aiplatform.schedules - name: schedules - title: Schedules - methods: delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}/delete response: mediaType: application/json openAPIDocKey: '200' - patch: + upsert_datapoints: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}:upsertDatapoints/post response: mediaType: application/json openAPIDocKey: '200' - get: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/indexes/methods/get' + - $ref: '#/components/x-stackQL-resources/indexes/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/indexes/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/indexes/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/indexes/methods/delete' + indexes_datapoints: + id: google.aiplatform.indexes_datapoints + name: indexes_datapoints + title: Indexes_datapoints + methods: + remove_datapoints: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}:removeDatapoints/post response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/indexes_datapoints/methods/remove_datapoints + index_endpoints: + id: google.aiplatform.index_endpoints + name: index_endpoints + title: Index_endpoints + methods: create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.schedules - resume: + objectKey: $.indexEndpoints + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}:resume/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}/get response: mediaType: application/json openAPIDocKey: '200' - pause: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}:pause/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/schedules/methods/get' - - $ref: '#/components/x-stackQL-resources/schedules/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/schedules/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/schedules/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/schedules/methods/delete' - specialist_pools: - id: google.aiplatform.specialist_pools - name: specialist_pools - title: Specialist_pools - methods: delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools~1{specialistPoolsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}/delete response: mediaType: application/json openAPIDocKey: '200' - get: + deploy_index: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools~1{specialistPoolsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:deployIndex/post response: mediaType: application/json openAPIDocKey: '200' - patch: + undeploy_index: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools~1{specialistPoolsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:undeployIndex/post response: mediaType: application/json openAPIDocKey: '200' - list: + mutate_deployed_index: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:mutateDeployedIndex/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.specialistPools - create: + find_neighbors: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:findNeighbors/post + response: + mediaType: application/json + openAPIDocKey: '200' + read_index_datapoints: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:readIndexDatapoints/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/get' - - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/list' + - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/get' + - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/create' + - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/create' update: - - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/patch' + - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/delete' - deployment_resource_pools: - id: google.aiplatform.deployment_resource_pools - name: deployment_resource_pools - title: Deployment_resource_pools + - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/delete' + custom_jobs: + id: google.aiplatform.custom_jobs + name: custom_jobs + title: Custom_jobs methods: - delete: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs/post response: mediaType: application/json openAPIDocKey: '200' - patch: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.customJobs get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs~1{customJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs~1{customJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deploymentResourcePools - query_deployed_models: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deploymentResourcePools~1{deploymentResourcePoolsId}:queryDeployedModels/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1customJobs~1{customJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/deployment_resource_pools/methods/get - - $ref: >- - #/components/x-stackQL-resources/deployment_resource_pools/methods/query_deployed_models - - $ref: >- - #/components/x-stackQL-resources/deployment_resource_pools/methods/list + - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/get' + - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/list' insert: - - $ref: >- - #/components/x-stackQL-resources/deployment_resource_pools/methods/create - update: - - $ref: >- - #/components/x-stackQL-resources/deployment_resource_pools/methods/patch + - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/create' + update: [] replace: [] delete: - - $ref: >- - #/components/x-stackQL-resources/deployment_resource_pools/methods/delete + - $ref: '#/components/x-stackQL-resources/custom_jobs/methods/delete' data_labeling_jobs: id: google.aiplatform.data_labeling_jobs name: data_labeling_jobs title: Data_labeling_jobs methods: - list: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1dataLabelingJobs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1dataLabelingJobs/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.dataLabelingJobs - create: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1dataLabelingJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1dataLabelingJobs/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.dataLabelingJobs get: operation: $ref: >- @@ -26862,1408 +27455,1519 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/data_labeling_jobs/methods/delete' - batch_prediction_jobs: - id: google.aiplatform.batch_prediction_jobs - name: batch_prediction_jobs - title: Batch_prediction_jobs + hyperparameter_tuning_jobs: + id: google.aiplatform.hyperparameter_tuning_jobs + name: hyperparameter_tuning_jobs + title: Hyperparameter_tuning_jobs methods: - get: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs~1{batchPredictionJobsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs~1{batchPredictionJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs/get response: mediaType: application/json openAPIDocKey: '200' - create: + objectKey: $.hyperparameterTuningJobs + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs~1{hyperparameterTuningJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs~1{hyperparameterTuningJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.batchPredictionJobs cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs~1{batchPredictionJobsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs~1{hyperparameterTuningJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/batch_prediction_jobs/methods/get' - $ref: >- - #/components/x-stackQL-resources/batch_prediction_jobs/methods/list + #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/get + - $ref: >- + #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/list insert: - $ref: >- - #/components/x-stackQL-resources/batch_prediction_jobs/methods/create + #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/create update: [] replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/batch_prediction_jobs/methods/delete - notebook_execution_jobs: - id: google.aiplatform.notebook_execution_jobs - name: notebook_execution_jobs - title: Notebook_execution_jobs + #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/delete + nas_jobs: + id: google.aiplatform.nas_jobs + name: nas_jobs + title: Nas_jobs methods: - delete: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs~1{notebookExecutionJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.nasJobs get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs~1{notebookExecutionJobsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - create: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' - list: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.notebookExecutionJobs sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/notebook_execution_jobs/methods/get - - $ref: >- - #/components/x-stackQL-resources/notebook_execution_jobs/methods/list + - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/get' + - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/list' insert: - - $ref: >- - #/components/x-stackQL-resources/notebook_execution_jobs/methods/create + - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/create' update: [] replace: [] delete: - - $ref: >- - #/components/x-stackQL-resources/notebook_execution_jobs/methods/delete - hyperparameter_tuning_jobs: - id: google.aiplatform.hyperparameter_tuning_jobs - name: hyperparameter_tuning_jobs - title: Hyperparameter_tuning_jobs + - $ref: '#/components/x-stackQL-resources/nas_jobs/methods/delete' + nas_trial_details: + id: google.aiplatform.nas_trial_details + name: nas_trial_details + title: Nas_trial_details methods: - delete: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs~1{hyperparameterTuningJobsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}~1nasTrialDetails~1{nasTrialDetailsId}/get response: mediaType: application/json openAPIDocKey: '200' - get: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs~1{hyperparameterTuningJobsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1nasJobs~1{nasJobsId}~1nasTrialDetails/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.nasTrialDetails + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/nas_trial_details/methods/get' + - $ref: '#/components/x-stackQL-resources/nas_trial_details/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + batch_prediction_jobs: + id: google.aiplatform.batch_prediction_jobs + name: batch_prediction_jobs + title: Batch_prediction_jobs + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.hyperparameterTuningJobs - create: + objectKey: $.batchPredictionJobs + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs~1{batchPredictionJobsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs~1{batchPredictionJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1hyperparameterTuningJobs~1{hyperparameterTuningJobsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batchPredictionJobs~1{batchPredictionJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: + - $ref: '#/components/x-stackQL-resources/batch_prediction_jobs/methods/get' - $ref: >- - #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/get - - $ref: >- - #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/list + #/components/x-stackQL-resources/batch_prediction_jobs/methods/list insert: - $ref: >- - #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/create + #/components/x-stackQL-resources/batch_prediction_jobs/methods/create update: [] replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/hyperparameter_tuning_jobs/methods/delete - notebook_runtime_templates_iam_policies: - id: google.aiplatform.notebook_runtime_templates_iam_policies - name: notebook_runtime_templates_iam_policies - title: Notebook_runtime_templates_iam_policies + #/components/x-stackQL-resources/batch_prediction_jobs/methods/delete + model_deployment_monitoring_jobs: + id: google.aiplatform.model_deployment_monitoring_jobs + name: model_deployment_monitoring_jobs + title: Model_deployment_monitoring_jobs methods: - set_iam_policy: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs/post response: mediaType: application/json openAPIDocKey: '200' - get_iam_policy: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - test_iam_permissions: + objectKey: $.modelDeploymentMonitoringJobs + search_model_deployment_monitoring_stats_anomalies: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates_iam_policies/methods/get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates_iam_policies/methods/set_iam_policy - delete: [] - notebook_runtime_templates: - id: google.aiplatform.notebook_runtime_templates - name: notebook_runtime_templates - title: Notebook_runtime_templates - methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - delete: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}/patch response: mediaType: application/json openAPIDocKey: '200' - patch: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates~1{notebookRuntimeTemplatesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' - list: + pause: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}:pause/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.notebookRuntimeTemplates - create: + resume: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimeTemplates/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1modelDeploymentMonitoringJobs~1{modelDeploymentMonitoringJobsId}:resume/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates/methods/get + #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/get - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates/methods/list + #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/list insert: - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates/methods/create + #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/create update: - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates/methods/patch + #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/notebook_runtime_templates/methods/delete - tensorboards: - id: google.aiplatform.tensorboards - name: tensorboards - title: Tensorboards + #/components/x-stackQL-resources/model_deployment_monitoring_jobs/methods/delete + models_predict_operation: + id: google.aiplatform.models_predict_operation + name: models_predict_operation + title: Models_predict_operation + methods: + fetch_predict_operation: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1publishers~1{publishersId}~1models~1{modelsId}:fetchPredictOperation/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/models_predict_operation/methods/fetch_predict_operation + insert: [] + update: [] + replace: [] + delete: [] + metadata_stores: + id: google.aiplatform.metadata_stores + name: metadata_stores + title: Metadata_stores methods: create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tensorboards - patch: + objectKey: $.metadataStores + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}/get response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/get' + - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/create' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/delete' + artifacts: + id: google.aiplatform.artifacts + name: artifacts + title: Artifacts + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts/post response: mediaType: application/json openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.artifacts get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}/get response: mediaType: application/json openAPIDocKey: '200' - read_usage: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}:readUsage/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}/patch response: mediaType: application/json openAPIDocKey: '200' - read_size: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}:readSize/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}/delete response: mediaType: application/json openAPIDocKey: '200' - batch_read: + purge: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}:batchRead/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts:purge/post + response: + mediaType: application/json + openAPIDocKey: '200' + query_artifact_lineage_subgraph: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}:queryArtifactLineageSubgraph/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/tensorboards/methods/get' - - $ref: '#/components/x-stackQL-resources/tensorboards/methods/list' + - $ref: '#/components/x-stackQL-resources/artifacts/methods/get' + - $ref: >- + #/components/x-stackQL-resources/artifacts/methods/query_artifact_lineage_subgraph + - $ref: '#/components/x-stackQL-resources/artifacts/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/tensorboards/methods/create' + - $ref: '#/components/x-stackQL-resources/artifacts/methods/create' update: - - $ref: '#/components/x-stackQL-resources/tensorboards/methods/patch' + - $ref: '#/components/x-stackQL-resources/artifacts/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/tensorboards/methods/delete' - runs: - id: google.aiplatform.runs - name: runs - title: Runs + - $ref: '#/components/x-stackQL-resources/artifacts/methods/delete' + contexts: + id: google.aiplatform.contexts + name: contexts + title: Contexts methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts/post + response: + mediaType: application/json + openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tensorboardRuns - create: + objectKey: $.contexts + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}/get response: mediaType: application/json openAPIDocKey: '200' - batch_create: + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + purge: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs:batchCreate/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts:purge/post response: mediaType: application/json openAPIDocKey: '200' - get: + query_context_lineage_subgraph: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:queryContextLineageSubgraph/get response: mediaType: application/json openAPIDocKey: '200' - patch: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/contexts/methods/get' + - $ref: >- + #/components/x-stackQL-resources/contexts/methods/query_context_lineage_subgraph + - $ref: '#/components/x-stackQL-resources/contexts/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/contexts/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/contexts/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/contexts/methods/delete' + contexts_context_artifacts_and_executions: + id: google.aiplatform.contexts_context_artifacts_and_executions + name: contexts_context_artifacts_and_executions + title: Contexts_context_artifacts_and_executions + methods: + add_context_artifacts_and_executions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:addContextArtifactsAndExecutions/post response: mediaType: application/json openAPIDocKey: '200' - delete: + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/contexts_context_artifacts_and_executions/methods/add_context_artifacts_and_executions + update: [] + replace: [] + delete: [] + contexts_context_children: + id: google.aiplatform.contexts_context_children + name: contexts_context_children + title: Contexts_context_children + methods: + add_context_children: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:addContextChildren/post response: mediaType: application/json openAPIDocKey: '200' - write: + remove_context_children: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}:write/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:removeContextChildren/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/runs/methods/get' - - $ref: '#/components/x-stackQL-resources/runs/methods/list' + select: [] insert: - - $ref: '#/components/x-stackQL-resources/runs/methods/create' - - $ref: '#/components/x-stackQL-resources/runs/methods/batch_create' - update: - - $ref: '#/components/x-stackQL-resources/runs/methods/patch' + - $ref: >- + #/components/x-stackQL-resources/contexts_context_children/methods/add_context_children + update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/runs/methods/delete' - time_series: - id: google.aiplatform.time_series - name: time_series - title: Time_series + - $ref: >- + #/components/x-stackQL-resources/contexts_context_children/methods/remove_context_children + executions: + id: google.aiplatform.executions + name: executions + title: Executions methods: - patch: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.executions get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}/get response: mediaType: application/json openAPIDocKey: '200' - read_blob_data: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}:readBlobData/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - export_tensorboard_time_series: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}:exportTensorboardTimeSeries/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - create: + purge: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions:purge/post response: mediaType: application/json openAPIDocKey: '200' - list: + query_execution_inputs_and_outputs: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}:queryExecutionInputsAndOutputs/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tensorboardTimeSeries - read: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/executions/methods/get' + - $ref: >- + #/components/x-stackQL-resources/executions/methods/query_execution_inputs_and_outputs + - $ref: '#/components/x-stackQL-resources/executions/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/executions/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/executions/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/executions/methods/delete' + executions_execution_events: + id: google.aiplatform.executions_execution_events + name: executions_execution_events + title: Executions_execution_events + methods: + add_execution_events: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}:read/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}:addExecutionEvents/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/time_series/methods/get' - - $ref: '#/components/x-stackQL-resources/time_series/methods/list' + select: [] insert: - - $ref: '#/components/x-stackQL-resources/time_series/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/time_series/methods/patch' + - $ref: >- + #/components/x-stackQL-resources/executions_execution_events/methods/add_execution_events + update: [] replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/time_series/methods/delete' - experiments: - id: google.aiplatform.experiments - name: experiments - title: Experiments + delete: [] + metadata_schemas: + id: google.aiplatform.metadata_schemas + name: metadata_schemas + title: Metadata_schemas methods: - list: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1metadataSchemas/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tensorboardExperiments - create: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1metadataSchemas/get response: mediaType: application/json openAPIDocKey: '200' - delete: + objectKey: $.metadataSchemas + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1metadataSchemas~1{metadataSchemasId}/get response: mediaType: application/json openAPIDocKey: '200' - patch: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metadata_schemas/methods/get' + - $ref: '#/components/x-stackQL-resources/metadata_schemas/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/metadata_schemas/methods/create' + update: [] + replace: [] + delete: [] + migratable_resources: + id: google.aiplatform.migratable_resources + name: migratable_resources + title: Migratable_resources + methods: + search: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1migratableResources:search/post response: mediaType: application/json openAPIDocKey: '200' - get: + batch_migrate: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1migratableResources:batchMigrate/post response: mediaType: application/json openAPIDocKey: '200' - batch_create: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + notebook_runtimes: + id: google.aiplatform.notebook_runtimes + name: notebook_runtimes + title: Notebook_runtimes + methods: + assign: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}:batchCreate/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes:assign/post response: mediaType: application/json openAPIDocKey: '200' - write: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}:write/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/experiments/methods/get' - - $ref: '#/components/x-stackQL-resources/experiments/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/experiments/methods/batch_create' - - $ref: '#/components/x-stackQL-resources/experiments/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/experiments/methods/patch' - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/experiments/methods/delete' - trials: - id: google.aiplatform.trials - name: trials - title: Trials - methods: - complete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:complete/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}/delete response: mediaType: application/json openAPIDocKey: '200' - check_trial_early_stopping_state: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:checkTrialEarlyStoppingState/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes/get response: mediaType: application/json openAPIDocKey: '200' - create: + objectKey: $.notebookRuntimes + upgrade: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}:upgrade/post response: mediaType: application/json openAPIDocKey: '200' - list: + start: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}:start/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.trials - get: + stop: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}:stop/post response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/notebook_runtimes/methods/get' + - $ref: '#/components/x-stackQL-resources/notebook_runtimes/methods/list' + insert: [] + update: [] + replace: [] delete: + - $ref: '#/components/x-stackQL-resources/notebook_runtimes/methods/delete' + notebook_execution_jobs: + id: google.aiplatform.notebook_execution_jobs + name: notebook_execution_jobs + title: Notebook_execution_jobs + methods: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs/post response: mediaType: application/json openAPIDocKey: '200' - suggest: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials:suggest/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs/get response: mediaType: application/json openAPIDocKey: '200' - stop: + objectKey: $.notebookExecutionJobs + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:stop/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs~1{notebookExecutionJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/trials/methods/get' - - $ref: '#/components/x-stackQL-resources/trials/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/trials/methods/create' - update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/trials/methods/delete' - trials_optimal_trials: - id: google.aiplatform.trials_optimal_trials - name: trials_optimal_trials - title: Trials_optimal_trials - methods: - list_optimal_trials: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials:listOptimalTrials/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookExecutionJobs~1{notebookExecutionJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/trials_optimal_trials/methods/list_optimal_trials - insert: [] + #/components/x-stackQL-resources/notebook_execution_jobs/methods/get + - $ref: >- + #/components/x-stackQL-resources/notebook_execution_jobs/methods/list + insert: + - $ref: >- + #/components/x-stackQL-resources/notebook_execution_jobs/methods/create update: [] replace: [] - delete: [] - trials_trial_measurement: - id: google.aiplatform.trials_trial_measurement - name: trials_trial_measurement - title: Trials_trial_measurement + delete: + - $ref: >- + #/components/x-stackQL-resources/notebook_execution_jobs/methods/delete + persistent_resources: + id: google.aiplatform.persistent_resources + name: persistent_resources + title: Persistent_resources methods: - add_trial_measurement: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:addTrialMeasurement/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/trials_trial_measurement/methods/add_trial_measurement - update: [] - replace: [] - delete: [] - studies: - id: google.aiplatform.studies - name: studies - title: Studies - methods: - lookup: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies:lookup/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources/get response: mediaType: application/json openAPIDocKey: '200' - create: + objectKey: $.persistentResources + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}/get response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.studies - delete: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}/patch response: mediaType: application/json openAPIDocKey: '200' - get: + reboot: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1persistentResources~1{persistentResourcesId}:reboot/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/studies/methods/get' - - $ref: '#/components/x-stackQL-resources/studies/methods/list' + - $ref: '#/components/x-stackQL-resources/persistent_resources/methods/get' + - $ref: '#/components/x-stackQL-resources/persistent_resources/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/studies/methods/create' - update: [] + - $ref: >- + #/components/x-stackQL-resources/persistent_resources/methods/create + update: + - $ref: >- + #/components/x-stackQL-resources/persistent_resources/methods/patch replace: [] delete: - - $ref: '#/components/x-stackQL-resources/studies/methods/delete' - feature_groups: - id: google.aiplatform.feature_groups - name: feature_groups - title: Feature_groups + - $ref: >- + #/components/x-stackQL-resources/persistent_resources/methods/delete + training_pipelines: + id: google.aiplatform.training_pipelines + name: training_pipelines + title: Training_pipelines methods: - patch: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.trainingPipelines get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups~1{featureGroupsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines~1{trainingPipelinesId}/get response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines~1{trainingPipelinesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.featureGroups - create: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1featureGroups/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines~1{trainingPipelinesId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/feature_groups/methods/get' - - $ref: '#/components/x-stackQL-resources/feature_groups/methods/list' + - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/get' + - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/feature_groups/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/feature_groups/methods/patch' + - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/create' + update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/feature_groups/methods/delete' - metadata_stores: - id: google.aiplatform.metadata_stores - name: metadata_stores - title: Metadata_stores + - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/delete' + pipeline_jobs: + id: google.aiplatform.pipeline_jobs + name: pipeline_jobs + title: Pipeline_jobs methods: - list: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.metadataStores - create: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.pipelineJobs get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs~1{pipelineJobsId}/get response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs~1{pipelineJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/get' - - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/create' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/metadata_stores/methods/delete' - metadata_schemas: - id: google.aiplatform.metadata_schemas - name: metadata_schemas - title: Metadata_schemas - methods: - list: + batch_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1metadataSchemas/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs:batchDelete/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.metadataSchemas - create: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1metadataSchemas/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs~1{pipelineJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - get: + batch_cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1metadataSchemas~1{metadataSchemasId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelineJobs:batchCancel/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/metadata_schemas/methods/get' - - $ref: '#/components/x-stackQL-resources/metadata_schemas/methods/list' + - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/get' + - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/metadata_schemas/methods/create' + - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/create' update: [] replace: [] - delete: [] - contexts: - id: google.aiplatform.contexts - name: contexts - title: Contexts - methods: delete: + - $ref: '#/components/x-stackQL-resources/pipeline_jobs/methods/delete' + - $ref: >- + #/components/x-stackQL-resources/pipeline_jobs/methods/batch_delete + schedules: + id: google.aiplatform.schedules + name: schedules + title: Schedules + methods: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules/post response: mediaType: application/json openAPIDocKey: '200' - patch: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules/get response: mediaType: application/json openAPIDocKey: '200' - get: + objectKey: $.schedules + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}/delete response: mediaType: application/json openAPIDocKey: '200' - query_context_lineage_subgraph: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:queryContextLineageSubgraph/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}/get response: mediaType: application/json openAPIDocKey: '200' - list: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.contexts - create: + pause: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}:pause/post response: mediaType: application/json openAPIDocKey: '200' - purge: + resume: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts:purge/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1schedules~1{schedulesId}:resume/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/contexts/methods/get' - - $ref: >- - #/components/x-stackQL-resources/contexts/methods/query_context_lineage_subgraph - - $ref: '#/components/x-stackQL-resources/contexts/methods/list' + - $ref: '#/components/x-stackQL-resources/schedules/methods/get' + - $ref: '#/components/x-stackQL-resources/schedules/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/contexts/methods/create' + - $ref: '#/components/x-stackQL-resources/schedules/methods/create' update: - - $ref: '#/components/x-stackQL-resources/contexts/methods/patch' + - $ref: '#/components/x-stackQL-resources/schedules/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/contexts/methods/delete' - contexts_context_artifacts_and_executions: - id: google.aiplatform.contexts_context_artifacts_and_executions - name: contexts_context_artifacts_and_executions - title: Contexts_context_artifacts_and_executions + - $ref: '#/components/x-stackQL-resources/schedules/methods/delete' + specialist_pools: + id: google.aiplatform.specialist_pools + name: specialist_pools + title: Specialist_pools methods: - add_context_artifacts_and_executions: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:addContextArtifactsAndExecutions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/contexts_context_artifacts_and_executions/methods/add_context_artifacts_and_executions - update: [] - replace: [] - delete: [] - contexts_context_children: - id: google.aiplatform.contexts_context_children - name: contexts_context_children - title: Contexts_context_children - methods: - add_context_children: + objectKey: $.specialistPools + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:addContextChildren/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools~1{specialistPoolsId}/get response: mediaType: application/json openAPIDocKey: '200' - remove_context_children: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1contexts~1{contextsId}:removeContextChildren/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools~1{specialistPoolsId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/contexts_context_children/methods/add_context_children - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/contexts_context_children/methods/remove_context_children - executions_execution_events: - id: google.aiplatform.executions_execution_events - name: executions_execution_events - title: Executions_execution_events - methods: - add_execution_events: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}:addExecutionEvents/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1specialistPools~1{specialistPoolsId}/patch response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/get' + - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/list' insert: - - $ref: >- - #/components/x-stackQL-resources/executions_execution_events/methods/add_execution_events - update: [] + - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/patch' replace: [] - delete: [] - executions: - id: google.aiplatform.executions - name: executions - title: Executions + delete: + - $ref: '#/components/x-stackQL-resources/specialist_pools/methods/delete' + tensorboards: + id: google.aiplatform.tensorboards + name: tensorboards + title: Tensorboards methods: - list: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.executions - create: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.tensorboards get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}/get response: mediaType: application/json openAPIDocKey: '200' patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}/patch response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}/delete response: mediaType: application/json openAPIDocKey: '200' - purge: + read_usage: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions:purge/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}:readUsage/get response: mediaType: application/json openAPIDocKey: '200' - query_execution_inputs_and_outputs: + read_size: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1executions~1{executionsId}:queryExecutionInputsAndOutputs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}:readSize/get + response: + mediaType: application/json + openAPIDocKey: '200' + batch_read: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}:batchRead/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/executions/methods/get' - - $ref: >- - #/components/x-stackQL-resources/executions/methods/query_execution_inputs_and_outputs - - $ref: '#/components/x-stackQL-resources/executions/methods/list' + - $ref: '#/components/x-stackQL-resources/tensorboards/methods/get' + - $ref: '#/components/x-stackQL-resources/tensorboards/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/executions/methods/create' + - $ref: '#/components/x-stackQL-resources/tensorboards/methods/create' update: - - $ref: '#/components/x-stackQL-resources/executions/methods/patch' + - $ref: '#/components/x-stackQL-resources/tensorboards/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/executions/methods/delete' - artifacts: - id: google.aiplatform.artifacts - name: artifacts - title: Artifacts + - $ref: '#/components/x-stackQL-resources/tensorboards/methods/delete' + experiments: + id: google.aiplatform.experiments + name: experiments + title: Experiments methods: - patch: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments/post response: mediaType: application/json openAPIDocKey: '200' - get: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments/get response: mediaType: application/json openAPIDocKey: '200' - delete: + objectKey: $.tensorboardExperiments + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}/get response: mediaType: application/json openAPIDocKey: '200' - purge: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts:purge/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - query_artifact_lineage_subgraph: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts~1{artifactsId}:queryArtifactLineageSubgraph/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - list: + batch_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}:batchCreate/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.artifacts - create: + write: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1metadataStores~1{metadataStoresId}~1artifacts/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}:write/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/artifacts/methods/get' - - $ref: >- - #/components/x-stackQL-resources/artifacts/methods/query_artifact_lineage_subgraph - - $ref: '#/components/x-stackQL-resources/artifacts/methods/list' + - $ref: '#/components/x-stackQL-resources/experiments/methods/get' + - $ref: '#/components/x-stackQL-resources/experiments/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/artifacts/methods/create' + - $ref: '#/components/x-stackQL-resources/experiments/methods/batch_create' + - $ref: '#/components/x-stackQL-resources/experiments/methods/create' update: - - $ref: '#/components/x-stackQL-resources/artifacts/methods/patch' + - $ref: '#/components/x-stackQL-resources/experiments/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/artifacts/methods/delete' - notebook_runtimes: - id: google.aiplatform.notebook_runtimes - name: notebook_runtimes - title: Notebook_runtimes + - $ref: '#/components/x-stackQL-resources/experiments/methods/delete' + runs: + id: google.aiplatform.runs + name: runs + title: Runs methods: - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.notebookRuntimes - get: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs/get response: mediaType: application/json openAPIDocKey: '200' - assign: + objectKey: $.tensorboardRuns + batch_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes:assign/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs:batchCreate/post response: mediaType: application/json openAPIDocKey: '200' - upgrade: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}:upgrade/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}/get response: mediaType: application/json openAPIDocKey: '200' - start: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notebookRuntimes~1{notebookRuntimesId}:start/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/notebook_runtimes/methods/get' - - $ref: '#/components/x-stackQL-resources/notebook_runtimes/methods/list' - insert: [] - update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/notebook_runtimes/methods/delete' - training_pipelines: - id: google.aiplatform.training_pipelines - name: training_pipelines - title: Training_pipelines - methods: - cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines~1{trainingPipelinesId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}/delete response: mediaType: application/json openAPIDocKey: '200' - get: + write: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines~1{trainingPipelinesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}:write/post response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/runs/methods/get' + - $ref: '#/components/x-stackQL-resources/runs/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/runs/methods/create' + - $ref: '#/components/x-stackQL-resources/runs/methods/batch_create' + update: + - $ref: '#/components/x-stackQL-resources/runs/methods/patch' + replace: [] delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines~1{trainingPipelinesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' + - $ref: '#/components/x-stackQL-resources/runs/methods/delete' + time_series: + id: google.aiplatform.time_series + name: time_series + title: Time_series + methods: create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1trainingPipelines/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.trainingPipelines - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/get' - - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/create' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/training_pipelines/methods/delete' - indexes: - id: google.aiplatform.indexes - name: indexes - title: Indexes - methods: + objectKey: $.tensorboardTimeSeries get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}/get response: mediaType: application/json openAPIDocKey: '200' patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}/patch response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}/delete response: mediaType: application/json openAPIDocKey: '200' - upsert_datapoints: + read: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}:upsertDatapoints/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}:read/get response: mediaType: application/json openAPIDocKey: '200' - list: + read_blob_data: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}:readBlobData/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.indexes - create: + export_tensorboard_time_series: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1tensorboards~1{tensorboardsId}~1experiments~1{experimentsId}~1runs~1{runsId}~1timeSeries~1{timeSeriesId}:exportTensorboardTimeSeries/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/indexes/methods/get' - - $ref: '#/components/x-stackQL-resources/indexes/methods/list' + - $ref: '#/components/x-stackQL-resources/time_series/methods/get' + - $ref: '#/components/x-stackQL-resources/time_series/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/indexes/methods/create' + - $ref: '#/components/x-stackQL-resources/time_series/methods/create' update: - - $ref: '#/components/x-stackQL-resources/indexes/methods/patch' + - $ref: '#/components/x-stackQL-resources/time_series/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/indexes/methods/delete' - indexes_datapoints: - id: google.aiplatform.indexes_datapoints - name: indexes_datapoints - title: Indexes_datapoints + - $ref: '#/components/x-stackQL-resources/time_series/methods/delete' + studies: + id: google.aiplatform.studies + name: studies + title: Studies methods: - remove_datapoints: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexes~1{indexesId}:removeDatapoints/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/indexes_datapoints/methods/remove_datapoints - index_endpoints: - id: google.aiplatform.index_endpoints - name: index_endpoints - title: Index_endpoints - methods: - delete: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.studies get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}/get response: mediaType: application/json openAPIDocKey: '200' - patch: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}/delete response: mediaType: application/json openAPIDocKey: '200' - list: + lookup: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies:lookup/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/studies/methods/get' + - $ref: '#/components/x-stackQL-resources/studies/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/studies/methods/create' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/studies/methods/delete' + trials: + id: google.aiplatform.trials + name: trials + title: Trials + methods: + suggest: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials:suggest/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.indexEndpoints create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials/post response: mediaType: application/json openAPIDocKey: '200' - find_neighbors: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:findNeighbors/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials/get response: mediaType: application/json openAPIDocKey: '200' - read_index_datapoints: + objectKey: $.trials + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:readIndexDatapoints/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}/get response: mediaType: application/json openAPIDocKey: '200' - deploy_index: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:deployIndex/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}/delete response: mediaType: application/json openAPIDocKey: '200' - undeploy_index: + complete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:undeployIndex/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:complete/post response: mediaType: application/json openAPIDocKey: '200' - mutate_deployed_index: + check_trial_early_stopping_state: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1indexEndpoints~1{indexEndpointsId}:mutateDeployedIndex/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:checkTrialEarlyStoppingState/post + response: + mediaType: application/json + openAPIDocKey: '200' + stop: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:stop/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/get' - - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/list' + - $ref: '#/components/x-stackQL-resources/trials/methods/get' + - $ref: '#/components/x-stackQL-resources/trials/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/patch' + - $ref: '#/components/x-stackQL-resources/trials/methods/create' + update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/index_endpoints/methods/delete' - locations: - id: google.aiplatform.locations - name: locations - title: Locations + - $ref: '#/components/x-stackQL-resources/trials/methods/delete' + trials_trial_measurement: + id: google.aiplatform.trials_trial_measurement + name: trials_trial_measurement + title: Trials_trial_measurement methods: - get: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - evaluate_instances: + add_trial_measurement: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:evaluateInstances/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials~1{trialsId}:addTrialMeasurement/post response: mediaType: application/json openAPIDocKey: '200' - list: + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/trials_trial_measurement/methods/add_trial_measurement + update: [] + replace: [] + delete: [] + trials_optimal_trials: + id: google.aiplatform.trials_optimal_trials + name: trials_optimal_trials + title: Trials_optimal_trials + methods: + list_optimal_trials: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1studies~1{studiesId}~1trials:listOptimalTrials/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.locations sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/locations/methods/get' - - $ref: '#/components/x-stackQL-resources/locations/methods/list' + - $ref: >- + #/components/x-stackQL-resources/trials_optimal_trials/methods/list_optimal_trials insert: [] update: [] replace: [] @@ -28271,17 +28975,42 @@ components: paths: /v1/datasets: parameters: &ref_1 - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/_.xgafv' + post: + description: Creates a Dataset. + operationId: aiplatform.datasets.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: query + name: parent + schema: + type: string get: description: Lists Datasets in a Location. operationId: aiplatform.datasets.list @@ -28299,35 +29028,63 @@ paths: $ref: >- #/components/schemas/GoogleCloudAiplatformV1ListDatasetsResponse parameters: - - in: query - name: filter - schema: - type: string - in: query name: parent schema: type: string - in: query - name: readMask + name: filter schema: type: string - format: google-fieldmask - in: query name: pageSize schema: type: integer format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask - in: query name: orderBy schema: type: string + /v1/datasets/{datasetsId}: + parameters: *ref_1 + get: + description: Gets a Dataset. + operationId: aiplatform.datasets.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + parameters: + - in: path + name: datasetsId + required: true + schema: + type: string - in: query - name: pageToken + name: readMask schema: type: string - post: - description: Creates a Dataset. - operationId: aiplatform.datasets.create + format: google-fieldmask + patch: + description: Updates a Dataset. + operationId: aiplatform.datasets.patch requestBody: content: application/json: @@ -28344,14 +29101,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' parameters: + - in: path + name: datasetsId + required: true + schema: + type: string - in: query - name: parent + name: updateMask schema: type: string - /v1/datasets/{datasetsId}: - parameters: *ref_1 + format: google-fieldmask delete: description: Deletes a Dataset. operationId: aiplatform.datasets.delete @@ -28373,14 +29134,16 @@ paths: required: true schema: type: string - patch: - description: Updates a Dataset. - operationId: aiplatform.datasets.patch + /v1/datasets/{datasetsId}/datasetVersions: + parameters: *ref_1 + post: + description: Create a version from a Dataset. + operationId: aiplatform.datasets.datasetVersions.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28392,21 +29155,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: datasetsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask get: - description: Gets a Dataset. - operationId: aiplatform.datasets.get + description: Lists DatasetVersions in a Dataset. + operationId: aiplatform.datasets.datasetVersions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28418,23 +29176,46 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListDatasetVersionsResponse parameters: - in: path name: datasetsId required: true schema: type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string - in: query name: readMask schema: type: string format: google-fieldmask + - in: query + name: orderBy + schema: + type: string /v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}: parameters: *ref_1 - get: - description: Gets a Dataset version. - operationId: aiplatform.datasets.datasetVersions.get + patch: + description: Updates a DatasetVersion. + operationId: aiplatform.datasets.datasetVersions.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28459,7 +29240,7 @@ paths: schema: type: string - in: query - name: readMask + name: updateMask schema: type: string format: google-fieldmask @@ -28489,14 +29270,9 @@ paths: required: true schema: type: string - patch: - description: Updates a DatasetVersion. - operationId: aiplatform.datasets.datasetVersions.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + get: + description: Gets a Dataset version. + operationId: aiplatform.datasets.datasetVersions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28521,20 +29297,48 @@ paths: schema: type: string - in: query - name: updateMask + name: readMask schema: type: string format: google-fieldmask - /v1/datasets/{datasetsId}/datasetVersions: + /v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore: parameters: *ref_1 - post: - description: Create a version from a Dataset. - operationId: aiplatform.datasets.datasetVersions.create + get: + description: Restores a dataset version. + operationId: aiplatform.datasets.datasetVersions.restore + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: datasetsId + required: true + schema: + type: string + - in: path + name: datasetVersionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/cacheConfig: + parameters: *ref_1 + patch: + description: Updates a cache config. + operationId: aiplatform.projects.updateCacheConfig requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + $ref: '#/components/schemas/GoogleCloudAiplatformV1CacheConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28549,13 +29353,13 @@ paths: $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: datasetsId + name: projectsId required: true schema: type: string get: - description: Lists DatasetVersions in a Dataset. - operationId: aiplatform.datasets.datasetVersions.list + description: Gets a GenAI cache config. + operationId: aiplatform.projects.getCacheConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28567,16 +29371,34 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListDatasetVersionsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1CacheConfig' parameters: - in: path - name: datasetsId + name: projectsId required: true schema: type: string - - in: query - name: orderBy + /v1/projects/{projectsId}/locations: + parameters: *ref_1 + get: + description: Lists information about the supported locations for this service. + operationId: aiplatform.projects.locations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudLocationListLocationsResponse' + parameters: + - in: path + name: projectsId + required: true schema: type: string - in: query @@ -28584,24 +29406,19 @@ paths: schema: type: string - in: query - name: readMask + name: pageSize schema: - type: string - format: google-fieldmask + type: integer + format: int32 - in: query name: pageToken schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore: + /v1/projects/{projectsId}/locations/{locationsId}: parameters: *ref_1 get: - description: Restores a dataset version. - operationId: aiplatform.datasets.datasetVersions.restore + description: Gets information about a location. + operationId: aiplatform.projects.locations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28613,38 +29430,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudLocationLocation' parameters: - in: path - name: datasetsId + name: projectsId required: true schema: type: string - in: path - name: datasetVersionsId + name: locationsId required: true schema: type: string - /v1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent: + /v1/projects/{projectsId}/locations/{locationsId}:evaluateInstances: parameters: *ref_1 post: - description: Generate content with multimodal inputs with streaming support. - operationId: aiplatform.publishers.models.streamGenerateContent + description: Evaluates instances based on a given metric. + operationId: aiplatform.projects.locations.evaluateInstances requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + #/components/schemas/GoogleCloudAiplatformV1EvaluateInstancesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -28652,67 +29465,109 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + #/components/schemas/GoogleCloudAiplatformV1EvaluateInstancesResponse parameters: - in: path - name: publishersId + name: projectsId required: true schema: type: string - in: path - name: modelsId + name: locationsId required: true schema: type: string - /v1/publishers/{publishersId}/models/{modelsId}:generateContent: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy: parameters: *ref_1 post: - description: Generate content with multimodal inputs. - operationId: aiplatform.publishers.models.generateContent + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: aiplatform.projects.locations.featurestores.setIamPolicy requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: aiplatform.projects.locations.featurestores.getIamPolicy + security: - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/cloud-platform Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/cloud-platform responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path - name: publishersId + name: projectsId required: true schema: type: string - in: path - name: modelsId + name: locationsId required: true schema: type: string - /v1/publishers/{publishersId}/models/{modelsId}:countTokens: + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions: parameters: *ref_1 post: - description: Perform a token counting. - operationId: aiplatform.publishers.models.countTokens - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' + description: >- + 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. + operationId: aiplatform.projects.locations.featurestores.testIamPermissions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28724,29 +29579,37 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path - name: publishersId + name: projectsId required: true schema: type: string - in: path - name: modelsId + name: locationsId required: true schema: type: string - /v1/publishers/{publishersId}/models/{modelsId}:computeTokens: + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: query + name: permissions + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores: parameters: *ref_1 post: - description: Return a list of tokens based on the input text. - operationId: aiplatform.publishers.models.computeTokens + description: Creates a new Featurestore in a given project and location. + operationId: aiplatform.projects.locations.featurestores.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28758,24 +29621,25 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: publishersId + name: projectsId required: true schema: type: string - in: path - name: modelsId + name: locationsId required: true schema: type: string - /v1/publishers/{publishersId}/models/{modelsId}: - parameters: *ref_1 + - in: query + name: featurestoreId + schema: + type: string get: - description: Gets a Model Garden publisher model. - operationId: aiplatform.publishers.models.get + description: Lists Featurestores in a given project and location. + operationId: aiplatform.projects.locations.featurestores.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28787,78 +29651,201 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PublisherModel' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeaturestoresResponse parameters: - in: path - name: publishersId + name: projectsId required: true schema: type: string - in: path - name: modelsId + name: locationsId required: true schema: type: string - in: query - name: view + name: filter schema: type: string - in: query - name: languageCode + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - in: query - name: isHuggingFaceModel + name: orderBy schema: - type: boolean + type: string - in: query - name: huggingFaceToken + name: readMask schema: type: string - /v1/endpoints/{endpointsId}:streamGenerateContent: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}: parameters: *ref_1 - post: - description: Generate content with multimodal inputs with streaming support. - operationId: aiplatform.endpoints.streamGenerateContent + get: + description: Gets details of a single Featurestore. + operationId: aiplatform.projects.locations.featurestores.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + patch: + description: Updates the parameters of a single Featurestore. + operationId: aiplatform.projects.locations.featurestores.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: >- + Deletes a single Featurestore. The Featurestore must not contain any + EntityTypes or `force` must be set to true for the request to succeed. + operationId: aiplatform.projects.locations.featurestores.delete + security: - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/cloud-platform Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/cloud-platform responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: endpointsId + name: projectsId required: true schema: type: string - /v1/endpoints/{endpointsId}:countTokens: + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues: parameters: *ref_1 post: - description: Perform a token counting. - operationId: aiplatform.endpoints.countTokens + description: >- + 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. + operationId: aiplatform.projects.locations.featurestores.batchReadFeatureValues requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchReadFeatureValuesRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures: + parameters: *ref_1 + get: + description: Searches Features matching a query in a given project. + operationId: aiplatform.projects.locations.featurestores.searchFeatures security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28871,23 +29858,44 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse + #/components/schemas/GoogleCloudAiplatformV1SearchFeaturesResponse parameters: - in: path - name: endpointsId + name: projectsId required: true schema: type: string - /v1/endpoints/{endpointsId}:computeTokens: + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: query + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy: parameters: *ref_1 post: - description: Return a list of tokens based on the input text. - operationId: aiplatform.endpoints.computeTokens + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28899,53 +29907,84 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path - name: endpointsId + name: projectsId required: true schema: type: string - /v1/endpoints/{endpointsId}:generateContent: + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy: parameters: *ref_1 post: - description: Generate content with multimodal inputs. - operationId: aiplatform.endpoints.generateContent - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path - name: endpointsId + name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}: + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions: parameters: *ref_1 - get: - description: Gets a ModelEvaluationSlice. - operationId: aiplatform.projects.locations.models.evaluations.slices.get + post: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -28957,8 +29996,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSlice + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -28971,25 +30009,34 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - in: path - name: evaluationsId + name: entityTypesId required: true schema: type: string - - in: path - name: slicesId - required: true + - in: query + name: permissions schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues: parameters: *ref_1 - get: - description: Lists ModelEvaluationSlices in a ModelEvaluation. - operationId: aiplatform.projects.locations.models.evaluations.slices.list + post: + description: >- + Reads Feature values of a specific entity of an EntityType. For reading + feature values of multiple entities of an EntityType, please use + StreamingReadFeatureValues. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29002,7 +30049,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponse parameters: - in: path name: projectsId @@ -29015,44 +30062,29 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - in: path - name: evaluationsId + name: entityTypesId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues: parameters: *ref_1 post: - description: Imports a list of externally generated EvaluatedAnnotations. - operationId: aiplatform.projects.locations.models.evaluations.slices.batchImport + description: >- + Reads Feature values for multiple entities. Depending on their size, + data for different entities may be broken up across multiple responses. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest + #/components/schemas/GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29065,7 +30097,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse + #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponse parameters: - in: path name: projectsId @@ -29078,29 +30110,31 @@ paths: schema: type: string - in: path - name: modelsId - required: true - schema: - type: string - - in: path - name: evaluationsId + name: featurestoresId required: true schema: type: string - in: path - name: slicesId + name: entityTypesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues: parameters: *ref_1 - delete: + post: description: >- - 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`. - operationId: aiplatform.projects.locations.models.evaluations.operations.delete + 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. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29112,7 +30146,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteFeatureValuesResponse parameters: - in: path name: projectsId @@ -29125,26 +30160,25 @@ paths: schema: type: string - in: path - name: modelsId - required: true - schema: - type: string - - in: path - name: evaluationsId + name: featurestoresId required: true schema: type: string - in: path - name: operationsId + name: entityTypesId required: true schema: type: string - get: - description: >- - 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. - operationId: aiplatform.projects.locations.models.evaluations.operations.get + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes: + parameters: *ref_1 + post: + description: Creates a new EntityType in a given Featurestore. + operationId: aiplatform.projects.locations.featurestores.entityTypes.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29169,34 +30203,17 @@ paths: schema: type: string - in: path - name: modelsId - required: true - schema: - type: string - - in: path - name: evaluationsId + name: featurestoresId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: entityTypeId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.models.evaluations.operations.wait + get: + description: Lists EntityTypes in a given Featurestore. + operationId: aiplatform.projects.locations.featurestores.entityTypes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29208,7 +30225,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListEntityTypesResponse parameters: - in: path name: projectsId @@ -29221,32 +30239,37 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: path - name: evaluationsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - in: query - name: timeout + name: orderBy schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations: + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}: parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.models.evaluations.operations.list + description: Gets details of a single EntityType. + operationId: aiplatform.projects.locations.featurestores.entityTypes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29258,7 +30281,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' parameters: - in: path name: projectsId @@ -29271,42 +30294,66 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - in: path - name: evaluationsId + name: entityTypesId required: true schema: type: string - - in: query - name: pageToken + patch: + description: Updates the parameters of a single EntityType. + operationId: aiplatform.projects.locations.featurestores.entityTypes.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: filter + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId + required: true schema: type: string - in: query - name: pageSize + name: updateMask schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel: - parameters: *ref_1 - post: + type: string + format: google-fieldmask + delete: description: >- - 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`. - operationId: aiplatform.projects.locations.models.evaluations.operations.cancel + Deletes a single EntityType. The EntityType must not have any Features + or `force` must be set to true for the request to succeed. + operationId: aiplatform.projects.locations.featurestores.entityTypes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29318,7 +30365,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -29331,25 +30378,45 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - in: path - name: evaluationsId + name: entityTypesId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: force schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues: parameters: *ref_1 - get: - description: Gets a ModelEvaluation. - operationId: aiplatform.projects.locations.models.evaluations.get + post: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ImportFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29361,7 +30428,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -29374,20 +30441,27 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - in: path - name: evaluationsId + name: entityTypesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues: parameters: *ref_1 - get: - description: Lists ModelEvaluations in a Model. - operationId: aiplatform.projects.locations.models.evaluations.list + post: + description: Exports Feature values from all the entities of a target EntityType. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExportFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29399,8 +30473,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListModelEvaluationsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -29413,39 +30486,35 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: entityTypesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues: parameters: *ref_1 post: - description: Imports an externally generated ModelEvaluation. - operationId: aiplatform.projects.locations.models.evaluations.import + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ImportModelEvaluationRequest + #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29457,7 +30526,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -29470,24 +30539,22 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel: + - in: path + name: entityTypesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.models.operations.cancel + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.featurestores.entityTypes.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29499,7 +30566,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -29512,23 +30579,36 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - in: path - name: operationsId + name: entityTypesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.models.operations.get + operationId: aiplatform.projects.locations.featurestores.entityTypes.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29553,7 +30633,12 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId required: true schema: type: string @@ -29568,7 +30653,8 @@ paths: 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`. - operationId: aiplatform.projects.locations.models.operations.delete + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29593,7 +30679,12 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId required: true schema: type: string @@ -29602,13 +30693,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.models.operations.list + 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`. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29620,7 +30719,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -29633,24 +30732,21 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: entityTypesId + required: true schema: type: string - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -29663,7 +30759,7 @@ paths: 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. - operationId: aiplatform.projects.locations.models.operations.wait + operationId: aiplatform.projects.locations.featurestores.entityTypes.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29688,7 +30784,12 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId required: true schema: type: string @@ -29702,17 +30803,16 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features: parameters: *ref_1 post: - description: Merges a set of aliases for a Model version. - operationId: aiplatform.projects.locations.models.mergeVersionAliases + description: Creates a new Feature in a given EntityType. + operationId: aiplatform.projects.locations.featurestores.entityTypes.features.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MergeVersionAliasesRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29724,7 +30824,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -29737,20 +30837,22 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models:upload: - parameters: *ref_1 - post: - description: Uploads a Model artifact into Vertex AI. - operationId: aiplatform.projects.locations.models.upload - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1UploadModelRequest' + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: query + name: featureId + schema: + type: string + get: + description: Lists Features in a given EntityType. + operationId: aiplatform.projects.locations.featurestores.entityTypes.features.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29762,7 +30864,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeaturesResponse parameters: - in: path name: projectsId @@ -29774,19 +30877,55 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export: + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: latestStatsCount + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate: parameters: *ref_1 post: - description: >- - Exports a trained, exportable Model to a location specified by the user. - A Model is considered to be exportable if it has at least one supported - export format. - operationId: aiplatform.projects.locations.models.export + description: Creates a batch of Features in a given EntityType. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportModelRequest' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchCreateFeaturesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29811,18 +30950,20 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion: + - in: path + name: entityTypesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}: parameters: *ref_1 - delete: - description: >- - 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. - operationId: aiplatform.projects.locations.models.deleteVersion + get: + description: Gets details of a single Feature. + operationId: aiplatform.projects.locations.featurestores.entityTypes.features.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29834,7 +30975,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' parameters: - in: path name: projectsId @@ -29847,15 +30988,28 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models: - parameters: *ref_1 - get: - description: Lists Models in a Location. - operationId: aiplatform.projects.locations.models.list + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + patch: + description: Updates the parameters of a single Feature. + operationId: aiplatform.projects.locations.featurestores.entityTypes.features.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29867,7 +31021,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ListModelsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' parameters: - in: path name: projectsId @@ -29879,35 +31033,29 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: featurestoresId + required: true schema: type: string - - in: query - name: readMask + - in: path + name: entityTypesId + required: true schema: type: string - format: google-fieldmask - - in: query - name: filter + - in: path + name: featuresId + required: true schema: type: string - in: query - name: orderBy + name: updateMask schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}: - parameters: *ref_1 + format: google-fieldmask delete: - description: >- - Deletes a Model. A model cannot be deleted if any Endpoint resource has - a DeployedModel based on the model in its deployed_models field. - operationId: aiplatform.projects.locations.models.delete + description: Deletes a single Feature. + operationId: aiplatform.projects.locations.featurestores.entityTypes.features.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29932,13 +31080,28 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId + required: true + schema: + type: string + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: path + name: featuresId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations: + parameters: *ref_1 get: - description: Gets a Model. - operationId: aiplatform.projects.locations.models.get + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.features.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29950,7 +31113,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -29963,18 +31126,42 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - patch: - description: Updates a Model. - operationId: aiplatform.projects.locations.models.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.features.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -29986,7 +31173,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -29999,28 +31186,33 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: entityTypesId + required: true schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:setIamPolicy: - parameters: *ref_1 - post: + - in: path + name: featuresId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + delete: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: aiplatform.projects.locations.models.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + 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`. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30032,7 +31224,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -30045,17 +31237,40 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:getIamPolicy: + - in: path + name: entityTypesId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: aiplatform.projects.locations.models.getIamPolicy + 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`. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30067,7 +31282,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -30080,20 +31295,40 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: query - name: options.requestedPolicyVersion + - in: path + name: entityTypesId + required: true schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait: parameters: *ref_1 - get: - description: Lists versions of the specified model. - operationId: aiplatform.projects.locations.models.listVersions + post: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30105,8 +31340,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListModelVersionsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -30119,43 +31353,37 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: query - name: readMask + - in: path + name: entityTypesId + required: true schema: type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: featuresId + required: true schema: type: string - - in: query - name: orderBy + - in: path + name: operationsId + required: true schema: type: string - in: query - name: filter + name: timeout schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations: parameters: *ref_1 - post: - description: Incrementally update the dataset used for an examples model. - operationId: aiplatform.projects.locations.models.updateExplanationDataset - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1UpdateExplanationDatasetRequest + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.featurestores.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30167,7 +31395,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -30180,20 +31408,31 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:testIamPermissions: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.models.testIamPermissions + 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. + operationId: aiplatform.projects.locations.featurestores.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30205,7 +31444,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -30218,29 +31457,22 @@ paths: schema: type: string - in: path - name: modelsId + name: featurestoresId required: true schema: type: string - - in: query - name: permissions + - in: path + name: operationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/models:copy: - parameters: *ref_1 - post: + delete: description: >- - 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. - operationId: aiplatform.projects.locations.models.copy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CopyModelRequest' + 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`. + operationId: aiplatform.projects.locations.featurestores.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30252,7 +31484,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -30260,11 +31492,21 @@ paths: schema: type: string - in: path - name: locationsId + name: locationsId + required: true + schema: + type: string + - in: path + name: featurestoresId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -30277,7 +31519,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.persistentResources.operations.cancel + operationId: aiplatform.projects.locations.featurestores.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30302,7 +31544,7 @@ paths: schema: type: string - in: path - name: persistentResourcesId + name: featurestoresId required: true schema: type: string @@ -30311,15 +31553,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait: parameters: *ref_1 - delete: + post: description: >- - 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`. - operationId: aiplatform.projects.locations.persistentResources.operations.delete + 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. + operationId: aiplatform.projects.locations.featurestores.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30331,7 +31578,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -30344,7 +31591,7 @@ paths: schema: type: string - in: path - name: persistentResourcesId + name: featurestoresId required: true schema: type: string @@ -30353,12 +31600,24 @@ paths: required: true schema: type: string - get: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:setIamPolicy: + parameters: *ref_1 + post: description: >- - 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. - operationId: aiplatform.projects.locations.persistentResources.operations.get + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: aiplatform.projects.locations.models.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30370,7 +31629,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -30383,29 +31642,17 @@ paths: schema: type: string - in: path - name: persistentResourcesId - required: true - schema: - type: string - - in: path - name: operationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:getIamPolicy: parameters: *ref_1 post: description: >- - 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. - operationId: aiplatform.projects.locations.persistentResources.operations.wait + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: aiplatform.projects.locations.models.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30417,7 +31664,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -30430,27 +31677,25 @@ paths: schema: type: string - in: path - name: persistentResourcesId - required: true - schema: - type: string - - in: path - name: operationsId + name: modelsId required: true schema: type: string - in: query - name: timeout + name: options.requestedPolicyVersion schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:testIamPermissions: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.persistentResources.operations.list + 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. + operationId: aiplatform.projects.locations.models.testIamPermissions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30462,7 +31707,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -30475,34 +31720,24 @@ paths: schema: type: string - in: path - name: persistentResourcesId + name: modelsId required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + name: permissions schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}:reboot: + /v1/projects/{projectsId}/locations/{locationsId}/models:upload: parameters: *ref_1 post: - description: Reboots a PersistentResource. - operationId: aiplatform.projects.locations.persistentResources.reboot + description: Uploads a Model artifact into Vertex AI. + operationId: aiplatform.projects.locations.models.upload requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1RebootPersistentResourceRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1UploadModelRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30526,21 +31761,11 @@ paths: required: true schema: type: string - - in: path - name: persistentResourcesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}: parameters: *ref_1 - patch: - description: Updates a PersistentResource. - operationId: aiplatform.projects.locations.persistentResources.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' + get: + description: Gets a Model. + operationId: aiplatform.projects.locations.models.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30552,7 +31777,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' parameters: - in: path name: projectsId @@ -30565,18 +31790,18 @@ paths: schema: type: string - in: path - name: persistentResourcesId + name: modelsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Gets a PersistentResource. - operationId: aiplatform.projects.locations.persistentResources.get + patch: + description: Updates a Model. + operationId: aiplatform.projects.locations.models.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30588,7 +31813,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' parameters: - in: path name: projectsId @@ -30601,13 +31826,20 @@ paths: schema: type: string - in: path - name: persistentResourcesId + name: modelsId required: true schema: type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask delete: - description: Deletes a PersistentResource. - operationId: aiplatform.projects.locations.persistentResources.delete + description: >- + Deletes a Model. A model cannot be deleted if any Endpoint resource has + a DeployedModel based on the model in its deployed_models field. + operationId: aiplatform.projects.locations.models.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30632,20 +31864,15 @@ paths: schema: type: string - in: path - name: persistentResourcesId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/persistentResources: + /v1/projects/{projectsId}/locations/{locationsId}/models: parameters: *ref_1 - post: - description: Creates a PersistentResource. - operationId: aiplatform.projects.locations.persistentResources.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' + get: + description: Lists Models in a Location. + operationId: aiplatform.projects.locations.models.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30657,7 +31884,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ListModelsResponse' parameters: - in: path name: projectsId @@ -30670,12 +31897,32 @@ paths: schema: type: string - in: query - name: persistentResourceId + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions: + parameters: *ref_1 get: - description: Lists PersistentResources in a Location. - operationId: aiplatform.projects.locations.persistentResources.list + description: Lists versions of the specified model. + operationId: aiplatform.projects.locations.models.listVersions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30688,7 +31935,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListPersistentResourcesResponse + #/components/schemas/GoogleCloudAiplatformV1ListModelVersionsResponse parameters: - in: path name: projectsId @@ -30700,6 +31947,11 @@ paths: required: true schema: type: string + - in: path + name: modelsId + required: true + schema: + type: string - in: query name: pageSize schema: @@ -30709,16 +31961,30 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}: + - in: query + name: filter + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset: parameters: *ref_1 - patch: - description: Updates the parameters of a single Feature. - operationId: aiplatform.projects.locations.featurestores.entityTypes.features.patch + post: + description: Incrementally update the dataset used for an examples model. + operationId: aiplatform.projects.locations.models.updateExplanationDataset requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1UpdateExplanationDatasetRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30730,7 +31996,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -30743,28 +32009,18 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId + name: modelsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion: + parameters: *ref_1 delete: - description: Deletes a single Feature. - operationId: aiplatform.projects.locations.featurestores.entityTypes.features.delete + description: >- + 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. + operationId: aiplatform.projects.locations.models.deleteVersion security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30789,23 +32045,21 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId + name: modelsId required: true schema: type: string - get: - description: Gets details of a single Feature. - operationId: aiplatform.projects.locations.featurestores.entityTypes.features.get + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases: + parameters: *ref_1 + post: + description: Merges a set of aliases for a Model version. + operationId: aiplatform.projects.locations.models.mergeVersionAliases + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MergeVersionAliasesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30817,7 +32071,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Model' parameters: - in: path name: projectsId @@ -30830,30 +32084,23 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export: parameters: *ref_1 post: - description: Creates a new Feature in a given EntityType. - operationId: aiplatform.projects.locations.featurestores.entityTypes.features.create + description: >- + Exports a trained, exportable Model to a location specified by the user. + A Model is considered to be exportable if it has at least one supported + export format. + operationId: aiplatform.projects.locations.models.export requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportModelRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30878,22 +32125,55 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/models:copy: + parameters: *ref_1 + post: + description: >- + 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. + operationId: aiplatform.projects.locations.models.copy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CopyModelRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: - in: path - name: entityTypesId + name: projectsId required: true schema: type: string - - in: query - name: featureId + - in: path + name: locationsId + required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations: + parameters: *ref_1 get: - description: Lists Features in a given EntityType. - operationId: aiplatform.projects.locations.featurestores.entityTypes.features.list + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.models.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30905,8 +32185,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeaturesResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -30919,54 +32198,31 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId + name: modelsId required: true schema: type: string - in: query - name: orderBy - schema: - type: string - - in: query - name: latestStatsCount - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: readMask + name: filter schema: type: string - format: google-fieldmask - in: query name: pageSize schema: type: integer format: int32 - in: query - name: filter + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}: parameters: *ref_1 - post: - description: Creates a batch of Features in a given EntityType. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchCreateFeaturesRequest + get: + description: >- + 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. + operationId: aiplatform.projects.locations.models.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -30991,30 +32247,22 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel: - parameters: *ref_1 - post: + delete: description: >- - 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`. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel + 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`. + operationId: aiplatform.projects.locations.models.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31039,17 +32287,7 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId + name: modelsId required: true schema: type: string @@ -31058,21 +32296,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - 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. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait + 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`. + operationId: aiplatform.projects.locations.models.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31084,7 +32321,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -31097,17 +32334,7 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId + name: modelsId required: true schema: type: string @@ -31116,19 +32343,20 @@ paths: required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.features.operations.list + 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. + operationId: aiplatform.projects.locations.models.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31140,7 +32368,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -31153,42 +32381,31 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId + name: modelsId required: true schema: type: string - in: path - name: featuresId + name: operationsId required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import: parameters: *ref_1 - get: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.features.operations.get + post: + description: Imports an externally generated ModelEvaluation. + operationId: aiplatform.projects.locations.models.evaluations.import + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ImportModelEvaluationRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31200,7 +32417,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' parameters: - in: path name: projectsId @@ -31213,33 +32430,15 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId - required: true - schema: - type: string - - in: path - name: operationsId + name: modelsId required: true schema: type: string - delete: - description: >- - 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`. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}: + parameters: *ref_1 + get: + description: Gets a ModelEvaluation. + operationId: aiplatform.projects.locations.models.evaluations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31251,7 +32450,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ModelEvaluation' parameters: - in: path name: projectsId @@ -31264,39 +32463,20 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - - in: path - name: featuresId + name: modelsId required: true schema: type: string - in: path - name: operationsId + name: evaluationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations: parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.featurestores.entityTypes.operations.wait + get: + description: Lists ModelEvaluations in a Model. + operationId: aiplatform.projects.locations.models.evaluations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31308,7 +32488,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListModelEvaluationsResponse parameters: - in: path name: projectsId @@ -31321,32 +32502,35 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - - in: path - name: entityTypesId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - in: query - name: timeout + name: readMask schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.featurestores.entityTypes.operations.list + operationId: aiplatform.projects.locations.models.evaluations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31371,19 +32555,15 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - in: query name: filter schema: @@ -31393,14 +32573,18 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}: + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.featurestores.entityTypes.operations.get + operationId: aiplatform.projects.locations.models.evaluations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31425,12 +32609,12 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId required: true schema: type: string @@ -31445,8 +32629,7 @@ paths: 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`. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.operations.delete + operationId: aiplatform.projects.locations.models.evaluations.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31471,12 +32654,12 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId required: true schema: type: string @@ -31485,7 +32668,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -31498,8 +32681,7 @@ paths: 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`. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.operations.cancel + operationId: aiplatform.projects.locations.models.evaluations.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31524,12 +32706,12 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId required: true schema: type: string @@ -31538,13 +32720,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy + 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. + operationId: aiplatform.projects.locations.models.evaluations.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31556,7 +32745,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -31569,30 +32758,36 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string - in: query - name: options.requestedPolicyVersion + name: timeout schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport: parameters: *ref_1 - patch: - description: Updates the parameters of a single EntityType. - operationId: aiplatform.projects.locations.featurestores.entityTypes.patch + post: + description: Imports a list of externally generated EvaluatedAnnotations. + operationId: aiplatform.projects.locations.models.evaluations.slices.batchImport requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31604,7 +32799,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse parameters: - in: path name: projectsId @@ -31617,23 +32813,25 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: slicesId + required: true schema: type: string - format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}: + parameters: *ref_1 get: - description: Gets details of a single EntityType. - operationId: aiplatform.projects.locations.featurestores.entityTypes.get + description: Gets a ModelEvaluationSlice. + operationId: aiplatform.projects.locations.models.evaluations.slices.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31645,7 +32843,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelEvaluationSlice parameters: - in: path name: projectsId @@ -31658,68 +32857,25 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId - required: true - schema: - type: string - delete: - description: >- - Deletes a single EntityType. The EntityType must not have any Features - or `force` must be set to true for the request to succeed. - operationId: aiplatform.projects.locations.featurestores.entityTypes.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId + name: modelsId required: true schema: type: string - in: path - name: featurestoresId + name: evaluationsId required: true schema: type: string - in: path - name: entityTypesId + name: slicesId required: true schema: type: string - - in: query - name: force - schema: - type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices: parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions + get: + description: Lists ModelEvaluationSlices in a ModelEvaluation. + operationId: aiplatform.projects.locations.models.evaluations.slices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31731,7 +32887,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse parameters: - in: path name: projectsId @@ -31744,90 +32901,46 @@ paths: schema: type: string - in: path - name: featurestoresId + name: modelsId required: true schema: type: string - in: path - name: entityTypesId + name: evaluationsId required: true schema: type: string - in: query - name: permissions - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues: - parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ImportFeatureValuesRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true + name: filter schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: featurestoresId - required: true + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - - in: path - name: entityTypesId - required: true + - in: query + name: readMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy: parameters: *ref_1 post: - description: Exports Feature values from all the entities of a target EntityType. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportFeatureValuesRequest + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31839,7 +32952,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -31852,29 +32965,17 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId + name: notebookRuntimeTemplatesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy: parameters: *ref_1 post: description: >- - Reads Feature values for multiple entities. Depending on their size, - data for different entities may be broken up across multiple responses. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31886,8 +32987,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponse + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -31900,20 +33000,26 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string - - in: path - name: entityTypesId - required: true + - in: query + name: options.requestedPolicyVersion schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions: parameters: *ref_1 - get: - description: Lists EntityTypes in a given Featurestore. - operationId: aiplatform.projects.locations.featurestores.entityTypes.list + post: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31925,8 +33031,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListEntityTypesResponse + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -31939,40 +33044,25 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy + name: permissions schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates: + parameters: *ref_1 post: - description: Creates a new EntityType in a given Featurestore. - operationId: aiplatform.projects.locations.featurestores.entityTypes.create + description: Creates a NotebookRuntimeTemplate. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1EntityType' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -31996,30 +33086,13 @@ paths: required: true schema: type: string - - in: path - name: featurestoresId - required: true - schema: - type: string - in: query - name: entityTypeId + name: notebookRuntimeTemplateId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues: - parameters: *ref_1 - post: - description: >- - Reads Feature values of a specific entity of an EntityType. For reading - feature values of multiple entities of an EntityType, please use - StreamingReadFeatureValues. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesRequest + get: + description: Lists NotebookRuntimeTemplates in a Location. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32032,7 +33105,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadFeatureValuesResponse + #/components/schemas/GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse parameters: - in: path name: projectsId @@ -32044,36 +33117,33 @@ paths: required: true schema: type: string - - in: path - name: featurestoresId - required: true + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask schema: type: string - - in: path - name: entityTypesId - required: true + format: google-fieldmask + - in: query + name: orderBy schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeleteFeatureValuesRequest + get: + description: Gets a NotebookRuntimeTemplate. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32085,7 +33155,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate parameters: - in: path name: projectsId @@ -32098,28 +33169,13 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId + name: notebookRuntimeTemplatesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy: - parameters: *ref_1 - post: - description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + delete: + description: Deletes a NotebookRuntimeTemplate. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32131,7 +33187,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -32144,31 +33200,19 @@ paths: schema: type: string - in: path - name: featurestoresId - required: true - schema: - type: string - - in: path - name: entityTypesId + name: notebookRuntimeTemplatesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues: - parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues + patch: + description: Updates a NotebookRuntimeTemplate. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteFeatureValuesRequest + #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32181,7 +33225,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteFeatureValuesResponse + #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate parameters: - in: path name: projectsId @@ -32194,29 +33238,22 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string - - in: path - name: entityTypesId - required: true + - in: query + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.featurestores.operations.wait + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32228,7 +33265,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -32241,28 +33278,31 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - in: query - name: timeout + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.featurestores.operations.get + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32287,7 +33327,7 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string @@ -32302,7 +33342,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.featurestores.operations.delete + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32327,7 +33367,7 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string @@ -32336,7 +33376,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -32349,7 +33389,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.featurestores.operations.cancel + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32374,7 +33414,7 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string @@ -32383,13 +33423,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.featurestores.operations.list + 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. + operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32401,7 +33448,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -32414,33 +33461,33 @@ paths: schema: type: string - in: path - name: featurestoresId + name: notebookRuntimeTemplatesId required: true schema: type: string - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:setIamPolicy: parameters: *ref_1 post: - description: Creates a new Featurestore in a given project and location. - operationId: aiplatform.projects.locations.featurestores.create + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: aiplatform.projects.locations.featureOnlineStores.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32452,7 +33499,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -32464,13 +33511,18 @@ paths: required: true schema: type: string - - in: query - name: featurestoreId + - in: path + name: featureOnlineStoresId + required: true schema: type: string - get: - description: Lists Featurestores in a given project and location. - operationId: aiplatform.projects.locations.featurestores.list + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: aiplatform.projects.locations.featureOnlineStores.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32482,8 +33534,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeaturestoresResponse + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -32495,33 +33546,26 @@ paths: required: true schema: type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter + - in: path + name: featureOnlineStoresId + required: true schema: type: string - in: query - name: pageSize + name: options.requestedPolicyVersion schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures: + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:testIamPermissions: parameters: *ref_1 - get: - description: Searches Features matching a query in a given project. - operationId: aiplatform.projects.locations.featurestores.searchFeatures + post: + description: >- + 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. + operationId: aiplatform.projects.locations.featureOnlineStores.testIamPermissions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32533,8 +33577,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchFeaturesResponse + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -32546,26 +33589,25 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: query + - in: path + name: featureOnlineStoresId + required: true schema: type: string - in: query - name: pageToken + name: permissions schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}: + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores: parameters: *ref_1 - delete: - description: >- - Deletes a single Featurestore. The Featurestore must not contain any - EntityTypes or `force` must be set to true for the request to succeed. - operationId: aiplatform.projects.locations.featurestores.delete + post: + description: Creates a new FeatureOnlineStore in a given project and location. + operationId: aiplatform.projects.locations.featureOnlineStores.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32589,23 +33631,13 @@ paths: required: true schema: type: string - - in: path - name: featurestoresId - required: true - schema: - type: string - in: query - name: force + name: featureOnlineStoreId schema: - type: boolean - patch: - description: Updates the parameters of a single Featurestore. - operationId: aiplatform.projects.locations.featurestores.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' + type: string + get: + description: Lists FeatureOnlineStores in a given project and location. + operationId: aiplatform.projects.locations.featureOnlineStores.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32617,7 +33649,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse parameters: - in: path name: projectsId @@ -32629,19 +33662,28 @@ paths: required: true schema: type: string - - in: path - name: featurestoresId - required: true + - in: query + name: filter schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}: + parameters: *ref_1 get: - description: Gets details of a single Featurestore. - operationId: aiplatform.projects.locations.featurestores.get + description: Gets details of a single FeatureOnlineStore. + operationId: aiplatform.projects.locations.featureOnlineStores.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32653,7 +33695,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Featurestore' + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' parameters: - in: path name: projectsId @@ -32666,26 +33708,18 @@ paths: schema: type: string - in: path - name: featurestoresId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.featurestores.batchReadFeatureValues + patch: + description: Updates the parameters of a single FeatureOnlineStore. + operationId: aiplatform.projects.locations.featureOnlineStores.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchReadFeatureValuesRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32710,18 +33744,61 @@ paths: schema: type: string - in: path - name: featurestoresId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy: + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: >- + Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not + contain any FeatureViews. + operationId: aiplatform.projects.locations.featureOnlineStores.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featureOnlineStoresId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:setIamPolicy: parameters: *ref_1 post: description: >- Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - operationId: aiplatform.projects.locations.featurestores.setIamPolicy + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy requestBody: content: application/json: @@ -32751,17 +33828,23 @@ paths: schema: type: string - in: path - name: featurestoresId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy: + - in: path + name: featureViewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:getIamPolicy: parameters: *ref_1 post: description: >- Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. - operationId: aiplatform.projects.locations.featurestores.getIamPolicy + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32786,7 +33869,12 @@ paths: schema: type: string - in: path - name: featurestoresId + name: featureOnlineStoresId + required: true + schema: + type: string + - in: path + name: featureViewsId required: true schema: type: string @@ -32795,7 +33883,7 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:testIamPermissions: parameters: *ref_1 post: description: >- @@ -32804,7 +33892,8 @@ paths: 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. - operationId: aiplatform.projects.locations.featurestores.testIamPermissions + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32829,7 +33918,12 @@ paths: schema: type: string - in: path - name: featurestoresId + name: featureOnlineStoresId + required: true + schema: + type: string + - in: path + name: featureViewsId required: true schema: type: string @@ -32837,34 +33931,118 @@ paths: name: permissions schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamGenerateContent: + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews: parameters: *ref_1 post: - description: Generate content with multimodal inputs with streaming support. - operationId: aiplatform.projects.locations.endpoints.streamGenerateContent + description: Creates a new FeatureView in a given FeatureOnlineStore. + operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featureOnlineStoresId + required: true + schema: + type: string + - in: query + name: featureViewId + schema: + type: string + - in: query + name: runSyncImmediately + schema: + type: boolean + get: + description: Lists FeatureViews in a given FeatureOnlineStore. + operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeatureViewsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: featureOnlineStoresId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}: + parameters: *ref_1 + get: + description: Gets details of a single FeatureView. + operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' parameters: - in: path name: projectsId @@ -32877,15 +34055,23 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints: - parameters: *ref_1 - get: - description: Lists Endpoints in a Location. - operationId: aiplatform.projects.locations.endpoints.list + - in: path + name: featureViewsId + required: true + schema: + type: string + patch: + description: Updates the parameters of a single FeatureView. + operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32897,8 +34083,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListEndpointsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -32910,36 +34095,24 @@ paths: required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter + - in: path + name: featureOnlineStoresId + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: featureViewsId + required: true schema: type: string - in: query - name: readMask + name: updateMask schema: type: string format: google-fieldmask - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates an Endpoint. - operationId: aiplatform.projects.locations.endpoints.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' + delete: + description: Deletes a single FeatureView. + operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -32963,32 +34136,32 @@ paths: required: true schema: type: string - - in: query - name: endpointId + - in: path + name: featureOnlineStoresId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict: + - in: path + name: featureViewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:sync: parameters: *ref_1 post: - description: >- - Perform a server-side streaming online prediction request for Vertex LLM - streaming. - operationId: aiplatform.projects.locations.endpoints.serverStreamingPredict + description: Triggers on-demand sync for the FeatureView. + operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.sync requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamingPredictRequest + #/components/schemas/GoogleCloudAiplatformV1SyncFeatureViewRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -32996,7 +34169,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamingPredictResponse + #/components/schemas/GoogleCloudAiplatformV1SyncFeatureViewResponse parameters: - in: path name: projectsId @@ -33009,20 +34182,27 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:computeTokens: + - in: path + name: featureViewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues: parameters: *ref_1 post: - description: Return a list of tokens based on the input text. - operationId: aiplatform.projects.locations.endpoints.computeTokens + description: Fetch feature values under a FeatureView. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33035,7 +34215,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse + #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponse parameters: - in: path name: projectsId @@ -33048,32 +34228,35 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directRawPredict: + - in: path + name: featureViewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:searchNearestEntities: parameters: *ref_1 post: description: >- - Perform an unary online prediction request to a gRPC model server for - custom containers. - operationId: aiplatform.projects.locations.endpoints.directRawPredict + 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. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DirectRawPredictRequest + #/components/schemas/GoogleCloudAiplatformV1SearchNearestEntitiesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -33081,7 +34264,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DirectRawPredictResponse + #/components/schemas/GoogleCloudAiplatformV1SearchNearestEntitiesResponse parameters: - in: path name: projectsId @@ -33094,20 +34277,23 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:countTokens: + - in: path + name: featureViewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait: parameters: *ref_1 - post: - description: Perform a token counting. - operationId: aiplatform.projects.locations.endpoints.countTokens - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33119,8 +34305,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -33133,64 +34318,46 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent: - parameters: *ref_1 - post: - description: Generate content with multimodal inputs. - operationId: aiplatform.projects.locations.endpoints.generateContent - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse - parameters: - in: path - name: projectsId + name: featureViewsId required: true schema: type: string - in: path - name: locationsId + name: operationsId required: true schema: type: string - - in: path - name: endpointsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}: - parameters: *ref_1 - patch: - description: Updates an Endpoint. - operationId: aiplatform.projects.locations.endpoints.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33202,7 +34369,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -33215,18 +34382,34 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId + required: true + schema: + type: string + - in: path + name: featureViewsId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string - in: query - name: updateMask + name: timeout schema: type: string - format: google-fieldmask - delete: - description: Deletes an Endpoint. - operationId: aiplatform.projects.locations.endpoints.delete + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33251,13 +34434,28 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - get: - description: Gets an Endpoint. - operationId: aiplatform.projects.locations.endpoints.get + - in: path + name: featureViewsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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`. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33269,7 +34467,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -33282,37 +34480,38 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamRawPredict: + - in: path + name: featureViewsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs/{featureViewSyncsId}: parameters: *ref_1 - post: - description: Perform a streaming online prediction with an arbitrary HTTP payload. - operationId: aiplatform.projects.locations.endpoints.streamRawPredict - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamRawPredictRequest + get: + description: Gets details of a single FeatureViewSync. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewSync' parameters: - in: path name: projectsId @@ -33325,41 +34524,39 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict: + - in: path + name: featureViewsId + required: true + schema: + type: string + - in: path + name: featureViewSyncsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs: parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.endpoints.rawPredict - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RawPredictRequest' + get: + description: Lists FeatureViewSyncs in a given FeatureView. + operationId: >- + aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeatureViewSyncsResponse parameters: - in: path name: projectsId @@ -33372,40 +34569,51 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain: + - in: path + name: featureViewsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.endpoints.explain - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplainRequest' + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.featureOnlineStores.operations.listWait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplainResponse' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -33418,36 +34626,52 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict: - parameters: *ref_1 + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string post: - description: Perform an online prediction. - operationId: aiplatform.projects.locations.endpoints.predict - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictRequest' + description: >- + 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. + operationId: aiplatform.projects.locations.featureOnlineStores.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -33460,20 +34684,28 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel: + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}: parameters: *ref_1 - post: - description: Deploys a Model into this Endpoint, creating a DeployedModel within it. - operationId: aiplatform.projects.locations.endpoints.deployModel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployModelRequest' + get: + description: >- + 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. + operationId: aiplatform.projects.locations.featureOnlineStores.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33498,39 +34730,34 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directPredict: - parameters: *ref_1 - post: + - in: path + name: operationsId + required: true + schema: + type: string + delete: description: >- - Perform an unary online prediction request to a gRPC model server for - Vertex first-party products and frameworks. - operationId: aiplatform.projects.locations.endpoints.directPredict - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DirectPredictRequest' + 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`. + operationId: aiplatform.projects.locations.featureOnlineStores.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DirectPredictResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -33543,25 +34770,22 @@ paths: schema: type: string - in: path - name: endpointsId + name: featureOnlineStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations: parameters: *ref_1 - post: + get: description: >- - 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). - operationId: aiplatform.projects.locations.endpoints.mutateDeployedModel - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1MutateDeployedModelRequest + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33573,7 +34797,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -33585,23 +34809,27 @@ paths: required: true schema: type: string - - in: path - name: endpointsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - Undeploys a Model from an Endpoint, removing a DeployedModel from it, - and freeing all resources it's using. - operationId: aiplatform.projects.locations.endpoints.undeployModel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1UndeployModelRequest' + 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. + operationId: aiplatform.projects.locations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33626,19 +34854,17 @@ paths: schema: type: string - in: path - name: endpointsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}: - parameters: *ref_1 delete: description: >- 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`. - operationId: aiplatform.projects.locations.endpoints.operations.delete + operationId: aiplatform.projects.locations.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33662,22 +34888,25 @@ paths: required: true schema: type: string - - in: path - name: endpointsId - required: true - schema: - type: string - in: path name: operationsId required: true schema: type: string - get: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: description: >- - 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. - operationId: aiplatform.projects.locations.endpoints.operations.get + 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`. + operationId: aiplatform.projects.locations.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33689,7 +34918,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -33701,17 +34930,12 @@ paths: required: true schema: type: string - - in: path - name: endpointsId - required: true - schema: - type: string - in: path name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -33724,7 +34948,7 @@ paths: 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. - operationId: aiplatform.projects.locations.endpoints.operations.wait + operationId: aiplatform.projects.locations.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33748,11 +34972,6 @@ paths: required: true schema: type: string - - in: path - name: endpointsId - required: true - schema: - type: string - in: path name: operationsId required: true @@ -33763,20 +34982,16 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/datasets: parameters: *ref_1 post: - description: >- - 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`. - operationId: aiplatform.projects.locations.endpoints.operations.cancel + description: Creates a Dataset. + operationId: aiplatform.projects.locations.datasets.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33788,7 +35003,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -33800,23 +35015,9 @@ paths: required: true schema: type: string - - in: path - name: endpointsId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations: - parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.endpoints.operations.list + description: Lists Datasets in a Location. + operationId: aiplatform.projects.locations.datasets.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33828,7 +35029,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListDatasetsResponse parameters: - in: path name: projectsId @@ -33840,29 +35042,33 @@ paths: required: true schema: type: string - - in: path - name: endpointsId - required: true - schema: - type: string - in: query name: filter schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: readMask schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems: + type: string + format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}: parameters: *ref_1 get: - description: Searches DataItems in a Dataset. - operationId: aiplatform.projects.locations.datasets.searchDataItems + description: Gets a Dataset. + operationId: aiplatform.projects.locations.datasets.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33874,8 +35080,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchDataItemsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' parameters: - in: path name: projectsId @@ -33893,65 +35098,18 @@ paths: schema: type: string - in: query - name: fieldMask + name: readMask schema: type: string format: google-fieldmask - - in: query - name: savedQuery - schema: - type: string - - in: query - name: dataItemFilter - schema: - type: string - - in: query - name: dataLabelingJob - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderByAnnotation.savedQuery - schema: - type: string - - in: query - name: annotationsLimit - schema: - type: integer - format: int32 - - in: query - name: orderByDataItem - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderByAnnotation.orderBy - schema: - type: string - - in: query - name: annotationFilters - schema: - type: string - - in: query - name: annotationsFilter - schema: - type: string - - in: query - name: orderBy - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}: - parameters: *ref_1 - get: - description: Gets a Dataset. - operationId: aiplatform.projects.locations.datasets.get + patch: + description: Updates a Dataset. + operationId: aiplatform.projects.locations.datasets.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -33981,7 +35139,7 @@ paths: schema: type: string - in: query - name: readMask + name: updateMask schema: type: string format: google-fieldmask @@ -34016,14 +35174,16 @@ paths: required: true schema: type: string - patch: - description: Updates a Dataset. - operationId: aiplatform.projects.locations.datasets.patch + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import: + parameters: *ref_1 + post: + description: Imports data into a Dataset. + operationId: aiplatform.projects.locations.datasets.import requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ImportDataRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34035,7 +35195,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -34052,21 +35212,16 @@ paths: required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/datasets: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export: parameters: *ref_1 post: - description: Creates a Dataset. - operationId: aiplatform.projects.locations.datasets.create + description: Exports data from a Dataset. + operationId: aiplatform.projects.locations.datasets.export requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Dataset' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportDataRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34090,9 +35245,16 @@ paths: required: true schema: type: string + - in: path + name: datasetsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems: + parameters: *ref_1 get: - description: Lists Datasets in a Location. - operationId: aiplatform.projects.locations.datasets.list + description: Searches DataItems in a Dataset. + operationId: aiplatform.projects.locations.datasets.searchDataItems security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34105,7 +35267,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListDatasetsResponse + #/components/schemas/GoogleCloudAiplatformV1SearchDataItemsResponse parameters: - in: path name: projectsId @@ -34117,38 +35279,122 @@ paths: required: true schema: type: string + - in: path + name: datasetsId + required: true + schema: + type: string - in: query - name: orderBy + name: orderByDataItem schema: type: string - in: query - name: readMask + name: orderByAnnotation.savedQuery + schema: + type: string + - in: query + name: orderByAnnotation.orderBy + schema: + type: string + - in: query + name: savedQuery + schema: + type: string + - in: query + name: dataLabelingJob + schema: + type: string + - in: query + name: dataItemFilter + schema: + type: string + - in: query + name: annotationsFilter + schema: + type: string + - in: query + name: annotationFilters + schema: + type: string + - in: query + name: fieldMask schema: type: string format: google-fieldmask + - in: query + name: annotationsLimit + schema: + type: integer + format: int32 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string - in: query name: pageToken schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.datasets.operations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: datasetsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - in: query - name: filter + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}: parameters: *ref_1 - post: - description: Imports data into a Dataset. - operationId: aiplatform.projects.locations.datasets.import - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ImportDataRequest' + get: + description: >- + 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. + operationId: aiplatform.projects.locations.datasets.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34177,16 +35423,65 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export: + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.datasets.operations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: datasetsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: - description: Exports data from a Dataset. - operationId: aiplatform.projects.locations.datasets.export - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ExportDataRequest' + description: >- + 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`. + operationId: aiplatform.projects.locations.datasets.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34198,7 +35493,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -34215,7 +35510,12 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -34228,7 +35528,55 @@ paths: 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. - operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.wait + operationId: aiplatform.projects.locations.datasets.operations.wait + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: datasetsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions: + parameters: *ref_1 + post: + description: Create a version from a Dataset. + operationId: aiplatform.projects.locations.datasets.datasetVersions.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34257,35 +35605,9 @@ paths: required: true schema: type: string - - in: path - name: annotationSpecsId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel: - parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel + get: + description: Lists DatasetVersions in a Dataset. + operationId: aiplatform.projects.locations.datasets.datasetVersions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34297,7 +35619,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListDatasetVersionsResponse parameters: - in: path name: projectsId @@ -34314,23 +35637,38 @@ paths: required: true schema: type: string - - in: path - name: annotationSpecsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations: + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.list + patch: + description: Updates a DatasetVersion. + operationId: aiplatform.projects.locations.datasets.datasetVersions.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34342,7 +35680,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' parameters: - in: path name: projectsId @@ -34360,32 +35698,18 @@ paths: schema: type: string - in: path - name: annotationSpecsId + name: datasetVersionsId required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}: - parameters: *ref_1 + format: google-fieldmask delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.delete + description: Deletes a Dataset version. + operationId: aiplatform.projects.locations.datasets.datasetVersions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34397,7 +35721,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -34415,21 +35739,13 @@ paths: schema: type: string - in: path - name: annotationSpecsId - required: true - schema: - type: string - - in: path - name: operationsId + name: datasetVersionsId required: true schema: type: string get: - description: >- - 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. - operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.get + description: Gets a Dataset version. + operationId: aiplatform.projects.locations.datasets.datasetVersions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34441,7 +35757,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' parameters: - in: path name: projectsId @@ -34459,20 +35775,20 @@ paths: schema: type: string - in: path - name: annotationSpecsId + name: datasetVersionsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: readMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore: parameters: *ref_1 get: - description: Gets an AnnotationSpec. - operationId: aiplatform.projects.locations.datasets.annotationSpecs.get + description: Restores a dataset version. + operationId: aiplatform.projects.locations.datasets.datasetVersions.restore security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34484,7 +35800,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1AnnotationSpec' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -34502,15 +35818,10 @@ paths: schema: type: string - in: path - name: annotationSpecsId + name: datasetVersionsId required: true schema: type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems: parameters: *ref_1 get: @@ -34546,11 +35857,16 @@ paths: schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query - name: filter + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - in: query @@ -34558,23 +35874,17 @@ paths: schema: type: string format: google-fieldmask - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: orderBy schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations: parameters: *ref_1 get: description: >- - 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. - operationId: aiplatform.projects.locations.datasets.dataItems.operations.get + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.datasets.dataItems.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34586,7 +35896,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -34608,18 +35918,27 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - delete: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}: + parameters: *ref_1 + get: description: >- - 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`. - operationId: aiplatform.projects.locations.datasets.dataItems.operations.delete + 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. + operationId: aiplatform.projects.locations.datasets.dataItems.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34631,7 +35950,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -34658,13 +35977,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations: - parameters: *ref_1 - get: + delete: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.datasets.dataItems.operations.list + 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`. + operationId: aiplatform.projects.locations.datasets.dataItems.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34676,7 +35995,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -34698,19 +36017,11 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: operationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: @@ -34820,14 +36131,14 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations: parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - aiplatform.projects.locations.datasets.dataItems.annotations.operations.list + Lists Annotations belongs to a dataitem This RPC is only available in + InternalDatasetService. It is only used for exporting conversation data + to CCAI Insights. + operationId: aiplatform.projects.locations.datasets.dataItems.annotations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34839,7 +36150,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListAnnotationsResponse parameters: - in: path name: projectsId @@ -34861,11 +36173,6 @@ paths: required: true schema: type: string - - in: path - name: annotationsId - required: true - schema: - type: string - in: query name: filter schema: @@ -34879,21 +36186,23 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait: + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations: parameters: *ref_1 - post: + get: description: >- - 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. + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. operationId: >- - aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait + aiplatform.projects.locations.datasets.dataItems.annotations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -34905,7 +36214,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -34932,16 +36241,19 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - in: query - name: timeout + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-duration /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}: parameters: *ref_1 get: @@ -35103,14 +36415,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait: parameters: *ref_1 - get: + post: description: >- - Lists Annotations belongs to a dataitem This RPC is only available in - InternalDatasetService. It is only used for exporting conversation data - to CCAI Insights. - operationId: aiplatform.projects.locations.datasets.dataItems.annotations.list + 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. + operationId: >- + aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35122,8 +36441,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListAnnotationsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -35145,28 +36463,21 @@ paths: required: true schema: type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: annotationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - in: query - name: orderBy + name: timeout schema: type: string + format: google-duration /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries: parameters: *ref_1 get: @@ -35205,22 +36516,22 @@ paths: name: filter schema: type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - in: query name: pageSize schema: type: integer format: int32 - in: query - name: orderBy + name: pageToken schema: type: string - in: query - name: pageToken + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy schema: type: string /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}: @@ -35405,6 +36716,58 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.datasets.savedQueries.operations.cancel + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: datasetsId + required: true + schema: + type: string + - in: path + name: savedQueriesId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait: parameters: *ref_1 post: @@ -35462,20 +36825,11 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}: parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.datasets.savedQueries.operations.cancel + get: + description: Gets an AnnotationSpec. + operationId: aiplatform.projects.locations.datasets.annotationSpecs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35487,7 +36841,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1AnnotationSpec' parameters: - in: path name: projectsId @@ -35505,29 +36859,22 @@ paths: schema: type: string - in: path - name: savedQueriesId + name: annotationSpecsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: readMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.datasets.operations.cancel + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35539,7 +36886,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -35557,24 +36904,31 @@ paths: schema: type: string - in: path - name: operationsId + name: annotationSpecsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.datasets.operations.wait + 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. + operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35604,22 +36958,22 @@ paths: schema: type: string - in: path - name: operationsId + name: annotationSpecsId required: true schema: type: string - - in: query - name: timeout + - in: path + name: operationsId + required: true schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations: - parameters: *ref_1 - get: + delete: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.datasets.operations.list + 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`. + operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35631,7 +36985,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -35648,27 +37002,30 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: annotationSpecsId + required: true schema: type: string - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: aiplatform.projects.locations.datasets.operations.get + 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`. + operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35680,7 +37037,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -35697,18 +37054,30 @@ paths: required: true schema: type: string + - in: path + name: annotationSpecsId + required: true + schema: + type: string - in: path name: operationsId required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait: + parameters: *ref_1 + post: description: >- - 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`. - operationId: aiplatform.projects.locations.datasets.operations.delete + 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. + operationId: aiplatform.projects.locations.datasets.annotationSpecs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35720,7 +37089,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -35737,21 +37106,32 @@ paths: required: true schema: type: string + - in: path + name: annotationSpecsId + required: true + schema: + type: string - in: path name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools: parameters: *ref_1 post: - description: Create a version from a Dataset. - operationId: aiplatform.projects.locations.datasets.datasetVersions.create + description: Create a DeploymentResourcePool. + operationId: aiplatform.projects.locations.deploymentResourcePools.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35775,14 +37155,9 @@ paths: required: true schema: type: string - - in: path - name: datasetsId - required: true - schema: - type: string get: - description: Lists DatasetVersions in a Dataset. - operationId: aiplatform.projects.locations.datasets.datasetVersions.list + description: List DeploymentResourcePools in a location. + operationId: aiplatform.projects.locations.deploymentResourcePools.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35795,7 +37170,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListDatasetVersionsResponse + #/components/schemas/GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse parameters: - in: path name: projectsId @@ -35807,38 +37182,20 @@ paths: required: true schema: type: string - - in: path - name: datasetsId - required: true - schema: - type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - in: query - name: filter + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: pageToken schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}: + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}: parameters: *ref_1 get: - description: Gets a Dataset version. - operationId: aiplatform.projects.locations.datasets.datasetVersions.get + description: Get a DeploymentResourcePool. + operationId: aiplatform.projects.locations.deploymentResourcePools.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35850,7 +37207,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool parameters: - in: path name: projectsId @@ -35863,23 +37221,55 @@ paths: schema: type: string - in: path - name: datasetsId + name: deploymentResourcePoolsId + required: true + schema: + type: string + patch: + description: Update a DeploymentResourcePool. + operationId: aiplatform.projects.locations.deploymentResourcePools.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId required: true schema: type: string - in: path - name: datasetVersionsId + name: locationsId + required: true + schema: + type: string + - in: path + name: deploymentResourcePoolsId required: true schema: type: string - in: query - name: readMask + name: updateMask schema: type: string format: google-fieldmask delete: - description: Deletes a Dataset version. - operationId: aiplatform.projects.locations.datasets.datasetVersions.delete + description: Delete a DeploymentResourcePool. + operationId: aiplatform.projects.locations.deploymentResourcePools.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35904,23 +37294,63 @@ paths: schema: type: string - in: path - name: datasetsId + name: deploymentResourcePoolsId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}:queryDeployedModels: + parameters: *ref_1 + get: + description: >- + List DeployedModels that have been deployed on this + DeploymentResourcePool. + operationId: >- + aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1QueryDeployedModelsResponse + parameters: - in: path - name: datasetVersionsId + name: projectsId required: true schema: type: string - patch: - description: Updates a DatasetVersion. - operationId: aiplatform.projects.locations.datasets.datasetVersions.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: deploymentResourcePoolsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.deploymentResourcePools.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35932,7 +37362,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DatasetVersion' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -35945,25 +37375,31 @@ paths: schema: type: string - in: path - name: datasetsId + name: deploymentResourcePoolsId required: true schema: type: string - - in: path - name: datasetVersionsId - required: true + - in: query + name: filter schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore: + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}: parameters: *ref_1 - get: - description: Restores a dataset version. - operationId: aiplatform.projects.locations.datasets.datasetVersions.restore + get: + description: >- + 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. + operationId: aiplatform.projects.locations.deploymentResourcePools.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -35988,22 +37424,22 @@ paths: schema: type: string - in: path - name: datasetsId + name: deploymentResourcePoolsId required: true schema: type: string - in: path - name: datasetVersionsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations: - parameters: *ref_1 - get: + delete: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.tuningJobs.operations.list + 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`. + operationId: aiplatform.projects.locations.deploymentResourcePools.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36015,7 +37451,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -36028,31 +37464,29 @@ paths: schema: type: string - in: path - name: tuningJobsId + name: deploymentResourcePoolsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: aiplatform.projects.locations.tuningJobs.operations.get + 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`. + operationId: aiplatform.projects.locations.deploymentResourcePools.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36064,7 +37498,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -36077,7 +37511,7 @@ paths: schema: type: string - in: path - name: tuningJobsId + name: deploymentResourcePoolsId required: true schema: type: string @@ -36086,20 +37520,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.tuningJobs.operations.cancel + 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. + operationId: aiplatform.projects.locations.deploymentResourcePools.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36111,7 +37545,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -36124,7 +37558,7 @@ paths: schema: type: string - in: path - name: tuningJobsId + name: deploymentResourcePoolsId required: true schema: type: string @@ -36133,11 +37567,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/endpoints: parameters: *ref_1 - get: - description: Gets a TuningJob. - operationId: aiplatform.projects.locations.tuningJobs.get + post: + description: Creates an Endpoint. + operationId: aiplatform.projects.locations.endpoints.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36149,7 +37593,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -36161,16 +37605,13 @@ paths: required: true schema: type: string - - in: path - name: tuningJobsId - required: true + - in: query + name: endpointId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs: - parameters: *ref_1 get: - description: Lists TuningJobs in a Location. - operationId: aiplatform.projects.locations.tuningJobs.list + description: Lists Endpoints in a Location. + operationId: aiplatform.projects.locations.endpoints.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36183,7 +37624,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListTuningJobsResponse + #/components/schemas/GoogleCloudAiplatformV1ListEndpointsResponse parameters: - in: path name: projectsId @@ -36208,16 +37649,20 @@ paths: name: pageToken schema: type: string - post: - description: >- - Creates a TuningJob. A created TuningJob right away will be attempted to - be run. - operationId: aiplatform.projects.locations.tuningJobs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}: + parameters: *ref_1 + get: + description: Gets an Endpoint. + operationId: aiplatform.projects.locations.endpoints.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36229,7 +37674,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' parameters: - in: path name: projectsId @@ -36241,25 +37686,19 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}:cancel: - parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.tuningJobs.cancel + - in: path + name: endpointsId + required: true + schema: + type: string + patch: + description: Updates an Endpoint. + operationId: aiplatform.projects.locations.endpoints.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelTuningJobRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36271,7 +37710,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Endpoint' parameters: - in: path name: projectsId @@ -36284,16 +37723,18 @@ paths: schema: type: string - in: path - name: tuningJobsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs/{featureViewSyncsId}: - parameters: *ref_1 - get: - description: Gets details of a single FeatureViewSync. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes an Endpoint. + operationId: aiplatform.projects.locations.endpoints.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36305,7 +37746,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureViewSync' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -36318,26 +37759,20 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId - required: true - schema: - type: string - - in: path - name: featureViewSyncsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel: parameters: *ref_1 - get: - description: Lists FeatureViewSyncs in a given FeatureView. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list + post: + description: Deploys a Model into this Endpoint, creating a DeployedModel within it. + operationId: aiplatform.projects.locations.endpoints.deployModel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployModelRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36349,8 +37784,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeatureViewSyncsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -36363,41 +37797,22 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get + Undeploys a Model from an Endpoint, removing a DeployedModel from it, + and freeing all resources it's using. + operationId: aiplatform.projects.locations.endpoints.undeployModel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1UndeployModelRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36422,28 +37837,25 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId - required: true - schema: - type: string - - in: path - name: operationsId + name: endpointsId required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel: + parameters: *ref_1 + post: description: >- - 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`. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete + 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). + operationId: aiplatform.projects.locations.endpoints.mutateDeployedModel + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1MutateDeployedModelRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -36455,7 +37867,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -36468,40 +37880,36 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId - required: true - schema: - type: string - - in: path - name: operationsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait + post: + description: Perform an online prediction. + operationId: aiplatform.projects.locations.endpoints.predict + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictResponse' parameters: - in: path name: projectsId @@ -36514,58 +37922,41 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId - required: true - schema: - type: string - - in: path - name: operationsId + name: endpointsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict: + parameters: *ref_1 post: description: >- - 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. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait + 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. + operationId: aiplatform.projects.locations.endpoints.rawPredict + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1RawPredictRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: projectsId @@ -36578,45 +37969,37 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId - required: true - schema: - type: string - - in: path - name: operationsId + name: endpointsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamRawPredict: parameters: *ref_1 post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy + description: Perform a streaming online prediction with an arbitrary HTTP payload. + operationId: aiplatform.projects.locations.endpoints.streamRawPredict + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StreamRawPredictRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: projectsId @@ -36629,46 +38012,39 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - - in: query - name: options.requestedPolicyVersion - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:setIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directPredict: parameters: *ref_1 post: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy + Perform an unary online prediction request to a gRPC model server for + Vertex first-party products and frameworks. + operationId: aiplatform.projects.locations.endpoints.directPredict requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DirectPredictRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DirectPredictResponse parameters: - in: path name: projectsId @@ -36681,38 +38057,40 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directRawPredict: parameters: *ref_1 post: description: >- - 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. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions + Perform an unary online prediction request to a gRPC model server for + custom containers. + operationId: aiplatform.projects.locations.endpoints.directRawPredict + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DirectRawPredictRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1DirectRawPredictResponse parameters: - in: path name: projectsId @@ -36725,36 +38103,40 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - - in: query - name: permissions - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict: parameters: *ref_1 - delete: - description: Deletes a single FeatureView. - operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.delete + post: + description: >- + Perform a server-side streaming online prediction request for Vertex LLM + streaming. + operationId: aiplatform.projects.locations.endpoints.serverStreamingPredict + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StreamingPredictRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StreamingPredictResponse parameters: - in: path name: projectsId @@ -36767,30 +38149,37 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - get: - description: Gets details of a single FeatureView. - operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.get + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning: + parameters: *ref_1 + post: + description: '' + operationId: aiplatform.projects.locations.endpoints.predictLongRunning + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PredictLongRunningRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -36803,28 +38192,30 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - patch: - description: Updates the parameters of a single FeatureView. - operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.patch + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation: + parameters: *ref_1 + post: + description: Fetch an asynchronous online prediction operation. + operationId: aiplatform.projects.locations.endpoints.fetchPredictOperation requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FetchPredictOperationRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -36844,38 +38235,40 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain: parameters: *ref_1 - get: - description: Lists FeatureViews in a given FeatureOnlineStore. - operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.list + post: + description: >- + 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. + operationId: aiplatform.projects.locations.endpoints.explain + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplainRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeatureViewsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1ExplainResponse' parameters: - in: path name: projectsId @@ -36888,47 +38281,38 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: endpointsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent: + parameters: *ref_1 post: - description: Creates a new FeatureView in a given FeatureOnlineStore. - operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.create + description: Generate content with multimodal inputs. + operationId: aiplatform.projects.locations.endpoints.generateContent requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureView' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path name: projectsId @@ -36941,38 +38325,30 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: endpointsId required: true schema: type: string - - in: query - name: runSyncImmediately - schema: - type: boolean - - in: query - name: featureViewId - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:searchNearestEntities: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamGenerateContent: parameters: *ref_1 post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities + description: Generate content with multimodal inputs with streaming support. + operationId: aiplatform.projects.locations.endpoints.streamGenerateContent requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchNearestEntitiesRequest + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -36980,7 +38356,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchNearestEntitiesResponse + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path name: projectsId @@ -36993,27 +38369,20 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:countTokens: parameters: *ref_1 post: - description: Fetch feature values under a FeatureView. - operationId: >- - aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues + description: Perform a token counting. + operationId: aiplatform.projects.locations.endpoints.countTokens requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37026,7 +38395,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FetchFeatureValuesResponse + #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse parameters: - in: path name: projectsId @@ -37039,26 +38408,20 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:sync: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:computeTokens: parameters: *ref_1 post: - description: Triggers on-demand sync for the FeatureView. - operationId: aiplatform.projects.locations.featureOnlineStores.featureViews.sync + description: Return a list of tokens based on the input text. + operationId: aiplatform.projects.locations.endpoints.computeTokens requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SyncFeatureViewRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37071,7 +38434,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SyncFeatureViewResponse + #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse parameters: - in: path name: projectsId @@ -37084,29 +38447,17 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - - in: path - name: featureViewsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.featureOnlineStores.operations.wait + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.endpoints.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37118,7 +38469,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -37131,25 +38482,31 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: endpointsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - in: query - name: timeout + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}: + parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.featureOnlineStores.operations.listWait + 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. + operationId: aiplatform.projects.locations.endpoints.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37161,7 +38518,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37174,7 +38531,7 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: endpointsId required: true schema: type: string @@ -37183,28 +38540,13 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}: - parameters: *ref_1 delete: description: >- 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`. - operationId: aiplatform.projects.locations.featureOnlineStores.operations.delete + operationId: aiplatform.projects.locations.endpoints.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37229,7 +38571,7 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: endpointsId required: true schema: type: string @@ -37238,12 +38580,20 @@ paths: required: true schema: type: string - get: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: description: >- - 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. - operationId: aiplatform.projects.locations.featureOnlineStores.operations.get + 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`. + operationId: aiplatform.projects.locations.endpoints.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37255,7 +38605,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -37268,7 +38618,7 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: endpointsId required: true schema: type: string @@ -37277,11 +38627,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores: + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait: parameters: *ref_1 - get: - description: Lists FeatureOnlineStores in a given project and location. - operationId: aiplatform.projects.locations.featureOnlineStores.list + post: + description: >- + 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. + operationId: aiplatform.projects.locations.endpoints.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37293,8 +38652,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37306,43 +38664,47 @@ paths: required: true schema: type: string - - in: query - name: orderBy + - in: path + name: endpointsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: operationsId + required: true schema: type: string - in: query - name: filter + name: timeout schema: type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions: + parameters: *ref_1 post: - description: Creates a new FeatureOnlineStore in a given project and location. - operationId: aiplatform.projects.locations.featureOnlineStores.create + description: Exposes an OpenAI-compatible endpoint for chat completions. + operationId: aiplatform.projects.locations.endpoints.chat.completions requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: projectsId @@ -37354,20 +38716,21 @@ paths: required: true schema: type: string - - in: query - name: featureOnlineStoreId + - in: path + name: endpointsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}: + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups: parameters: *ref_1 - patch: - description: Updates the parameters of a single FeatureOnlineStore. - operationId: aiplatform.projects.locations.featureOnlineStores.patch + post: + description: Creates a new FeatureGroup in a given project and location. + operationId: aiplatform.projects.locations.featureGroups.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37391,19 +38754,13 @@ paths: required: true schema: type: string - - in: path - name: featureOnlineStoresId - required: true - schema: - type: string - in: query - name: updateMask + name: featureGroupId schema: type: string - format: google-fieldmask get: - description: Gets details of a single FeatureOnlineStore. - operationId: aiplatform.projects.locations.featureOnlineStores.get + description: Lists FeatureGroups in a given project and location. + operationId: aiplatform.projects.locations.featureGroups.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37415,7 +38772,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureOnlineStore' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeatureGroupsResponse parameters: - in: path name: projectsId @@ -37427,16 +38785,28 @@ paths: required: true schema: type: string - - in: path - name: featureOnlineStoresId - required: true + - in: query + name: filter schema: type: string - delete: - description: >- - Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not - contain any FeatureViews. - operationId: aiplatform.projects.locations.featureOnlineStores.delete + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}: + parameters: *ref_1 + get: + description: Gets details of a single FeatureGroup. + operationId: aiplatform.projects.locations.featureGroups.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37448,7 +38818,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' parameters: - in: path name: projectsId @@ -37461,24 +38831,18 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: featureGroupsId required: true schema: type: string - - in: query - name: force - schema: - type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:testIamPermissions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.featureOnlineStores.testIamPermissions + patch: + description: Updates the parameters of a single FeatureGroup. + operationId: aiplatform.projects.locations.featureGroups.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37490,7 +38854,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37503,21 +38867,18 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: featureGroupsId required: true schema: type: string - in: query - name: permissions + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:getIamPolicy: - parameters: *ref_1 - post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: aiplatform.projects.locations.featureOnlineStores.getIamPolicy + format: google-fieldmask + delete: + description: Deletes a single FeatureGroup. + operationId: aiplatform.projects.locations.featureGroups.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37529,7 +38890,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37542,28 +38903,21 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: featureGroupsId required: true schema: type: string - in: query - name: options.requestedPolicyVersion + name: force schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:setIamPolicy: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait: parameters: *ref_1 - post: + get: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: aiplatform.projects.locations.featureOnlineStores.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.featureGroups.operations.listWait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37575,7 +38929,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -37588,60 +38942,40 @@ paths: schema: type: string - in: path - name: featureOnlineStoresId + name: featureGroupsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate: - parameters: *ref_1 - post: - description: >- - Batch migrates resources from ml.googleapis.com, automl.googleapis.com, - and datalabeling.googleapis.com to Vertex AI. - operationId: aiplatform.projects.locations.migratableResources.batchMigrate - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchMigrateResourcesRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - in: path - name: projectsId + name: operationsId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/migratableResources:search: - parameters: *ref_1 post: description: >- - Searches all of the resources in automl.googleapis.com, - datalabeling.googleapis.com and ml.googleapis.com that can be migrated - to Vertex AI's given location. - operationId: aiplatform.projects.locations.migratableResources.search - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchMigratableResourcesRequest + 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. + operationId: aiplatform.projects.locations.featureGroups.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37653,8 +38987,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchMigratableResourcesResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37666,14 +38999,29 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}: + - in: path + name: featureGroupsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.migratableResources.operations.get + operationId: aiplatform.projects.locations.featureGroups.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37698,7 +39046,7 @@ paths: schema: type: string - in: path - name: migratableResourcesId + name: featureGroupsId required: true schema: type: string @@ -37713,7 +39061,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.migratableResources.operations.delete + operationId: aiplatform.projects.locations.featureGroups.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37738,7 +39086,7 @@ paths: schema: type: string - in: path - name: migratableResourcesId + name: featureGroupsId required: true schema: type: string @@ -37747,20 +39095,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features: parameters: *ref_1 post: - description: >- - 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`. - operationId: aiplatform.projects.locations.migratableResources.operations.cancel + description: Creates a new Feature in a given FeatureGroup. + operationId: aiplatform.projects.locations.featureGroups.features.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37772,7 +39116,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37785,29 +39129,17 @@ paths: schema: type: string - in: path - name: migratableResourcesId + name: featureGroupsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: featureId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.migratableResources.operations.wait + get: + description: Lists Features in a given FeatureGroup. + operationId: aiplatform.projects.locations.featureGroups.features.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37819,7 +39151,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListFeaturesResponse parameters: - in: path name: projectsId @@ -37832,27 +39165,48 @@ paths: schema: type: string - in: path - name: migratableResourcesId + name: featureGroupsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - in: query - name: timeout + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations: + - in: query + name: orderBy + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: latestStatsCount + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.migratableResources.operations.list + post: + description: Creates a batch of Features in a given FeatureGroup. + operationId: aiplatform.projects.locations.featureGroups.features.batchCreate + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchCreateFeaturesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37864,7 +39218,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -37877,37 +39231,15 @@ paths: schema: type: string - in: path - name: migratableResourcesId + name: featureGroupsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.pipelineJobs.operations.wait + get: + description: Gets details of a single Feature. + operationId: aiplatform.projects.locations.featureGroups.features.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37919,7 +39251,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' parameters: - in: path name: projectsId @@ -37932,28 +39264,23 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId required: true schema: type: string - in: path - name: operationsId + name: featuresId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}: - parameters: *ref_1 - get: - description: >- - 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. - operationId: aiplatform.projects.locations.pipelineJobs.operations.get + patch: + description: Updates the parameters of a single Feature. + operationId: aiplatform.projects.locations.featureGroups.features.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -37978,22 +39305,23 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId required: true schema: type: string - in: path - name: operationsId + name: featuresId required: true schema: type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.pipelineJobs.operations.delete + description: Deletes a single Feature. + operationId: aiplatform.projects.locations.featureGroups.features.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38005,7 +39333,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38018,22 +39346,22 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId required: true schema: type: string - in: path - name: operationsId + name: featuresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.pipelineJobs.operations.list + operationId: aiplatform.projects.locations.featureGroups.features.operations.listWait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38058,7 +39386,17 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string @@ -38075,20 +39413,18 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel: - parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.pipelineJobs.operations.cancel + 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. + operationId: aiplatform.projects.locations.featureGroups.features.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38100,7 +39436,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38113,7 +39449,12 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId + required: true + schema: + type: string + - in: path + name: featuresId required: true schema: type: string @@ -38122,11 +39463,19 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}: parameters: *ref_1 get: - description: Gets a PipelineJob. - operationId: aiplatform.projects.locations.pipelineJobs.get + description: >- + 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. + operationId: aiplatform.projects.locations.featureGroups.features.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38138,7 +39487,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38151,13 +39500,27 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string delete: - description: Deletes a PipelineJob. - operationId: aiplatform.projects.locations.pipelineJobs.delete + description: >- + 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`. + operationId: aiplatform.projects.locations.featureGroups.features.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38169,7 +39532,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -38182,20 +39545,32 @@ paths: schema: type: string - in: path - name: pipelineJobsId + name: featureGroupsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs: + - in: path + name: featuresId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs: parameters: *ref_1 post: - description: Creates a PipelineJob. A PipelineJob will run immediately when created. - operationId: aiplatform.projects.locations.pipelineJobs.create + description: >- + Creates a TuningJob. A created TuningJob right away will be attempted to + be run. + operationId: aiplatform.projects.locations.tuningJobs.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38207,7 +39582,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' parameters: - in: path name: projectsId @@ -38219,13 +39594,9 @@ paths: required: true schema: type: string - - in: query - name: pipelineJobId - schema: - type: string get: - description: Lists PipelineJobs in a Location. - operationId: aiplatform.projects.locations.pipelineJobs.list + description: Lists TuningJobs in a Location. + operationId: aiplatform.projects.locations.tuningJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38238,7 +39609,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListPipelineJobsResponse + #/components/schemas/GoogleCloudAiplatformV1ListTuningJobsResponse parameters: - in: path name: projectsId @@ -38251,12 +39622,7 @@ paths: schema: type: string - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -38265,30 +39631,14 @@ paths: type: integer format: int32 - in: query - name: filter - schema: - type: string - - in: query - name: orderBy + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchCancel: + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.pipelineJobs.batchCancel - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest + get: + description: Gets a TuningJob. + operationId: aiplatform.projects.locations.tuningJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38300,7 +39650,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TuningJob' parameters: - in: path name: projectsId @@ -38312,20 +39662,30 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchDelete: + - in: path + name: tuningJobsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}:cancel: parameters: *ref_1 post: description: >- - 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. - operationId: aiplatform.projects.locations.pipelineJobs.batchDelete + 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`. + operationId: aiplatform.projects.locations.tuningJobs.cancel requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest + #/components/schemas/GoogleCloudAiplatformV1CancelTuningJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38337,7 +39697,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -38349,26 +39709,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel: + - in: path + name: tuningJobsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel: parameters: *ref_1 post: - description: >- - 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`. - operationId: aiplatform.projects.locations.pipelineJobs.cancel + description: Rebase a TunedModel. + operationId: aiplatform.projects.locations.tuningJobs.rebaseTunedModel requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelPipelineJobRequest + #/components/schemas/GoogleCloudAiplatformV1RebaseTunedModelRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38380,7 +39736,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38392,16 +39748,13 @@ paths: required: true schema: type: string - - in: path - name: pipelineJobsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}: + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations: parameters: *ref_1 get: - description: Gets a ModelDeploymentMonitoringJob. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.get + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.tuningJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38413,8 +39766,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -38427,55 +39779,31 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId - required: true - schema: - type: string - patch: - description: Updates a ModelDeploymentMonitoringJob. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId + name: tuningJobsId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: modelDeploymentMonitoringJobsId - required: true + - in: query + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: updateMask + name: pageToken schema: type: string - format: google-fieldmask - delete: - description: Deletes a ModelDeploymentMonitoringJob. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: aiplatform.projects.locations.tuningJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38500,24 +39828,22 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: tuningJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause: - parameters: *ref_1 - post: + - in: path + name: operationsId + required: true + schema: + type: string + delete: description: >- - Pauses a ModelDeploymentMonitoringJob. If the job is running, the server - makes a best effort to cancel the job. Will mark - ModelDeploymentMonitoringJob.state to 'PAUSED'. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest + 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`. + operationId: aiplatform.projects.locations.tuningJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38537,29 +39863,34 @@ paths: schema: type: string - in: path - name: locationsId + name: locationsId + required: true + schema: + type: string + - in: path + name: tuningJobsId required: true schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume: + /v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - Resumes a paused ModelDeploymentMonitoringJob. It will start to run from - next scheduled time. A deleted ModelDeploymentMonitoringJob can't be - resumed. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest + 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`. + operationId: aiplatform.projects.locations.tuningJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38584,23 +39915,25 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: tuningJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexes: parameters: *ref_1 post: - description: >- - Creates a ModelDeploymentMonitoringJob. It will run periodically on a - configured interval. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.create + description: Creates an Index. + operationId: aiplatform.projects.locations.indexes.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob + $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38612,8 +39945,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38626,8 +39958,8 @@ paths: schema: type: string get: - description: Lists ModelDeploymentMonitoringJobs in a Location. - operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.list + description: Lists Indexes in a Location. + operationId: aiplatform.projects.locations.indexes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38640,7 +39972,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse + #/components/schemas/GoogleCloudAiplatformV1ListIndexesResponse parameters: - in: path name: projectsId @@ -38653,7 +39985,7 @@ paths: schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -38662,7 +39994,7 @@ paths: type: integer format: int32 - in: query - name: filter + name: pageToken schema: type: string - in: query @@ -38670,20 +40002,11 @@ paths: schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies: + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}: parameters: *ref_1 - post: - description: >- - Searches Model Monitoring Statistics generated within a given time - window. - operationId: >- - aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest + get: + description: Gets an Index. + operationId: aiplatform.projects.locations.indexes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38695,8 +40018,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' parameters: - in: path name: projectsId @@ -38709,19 +40031,18 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: indexesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}: - parameters: *ref_1 - get: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get + patch: + description: Updates an Index. + operationId: aiplatform.projects.locations.indexes.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38746,23 +40067,20 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: indexesId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: updateMask schema: type: string + format: google-fieldmask delete: description: >- - 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`. - operationId: >- - aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete + Deletes an Index. An Index can only be deleted when all its + DeployedIndexes had been undeployed. + operationId: aiplatform.projects.locations.indexes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38774,7 +40092,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38787,23 +40105,21 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId - required: true - schema: - type: string - - in: path - name: operationsId + name: indexesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list + post: + description: Add/update Datapoints into an Index. + operationId: aiplatform.projects.locations.indexes.upsertDatapoints + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1UpsertDatapointsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38815,7 +40131,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1UpsertDatapointsResponse parameters: - in: path name: projectsId @@ -38828,38 +40145,21 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: indexesId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints: parameters: *ref_1 post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait + description: Remove Datapoints from an Index. + operationId: aiplatform.projects.locations.indexes.removeDatapoints + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1RemoveDatapointsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38871,7 +40171,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1RemoveDatapointsResponse parameters: - in: path name: projectsId @@ -38884,35 +40185,17 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId - required: true - schema: - type: string - - in: path - name: operationsId + name: indexesId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: >- - aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.indexes.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38924,7 +40207,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -38937,20 +40220,31 @@ paths: schema: type: string - in: path - name: modelDeploymentMonitoringJobsId + name: indexesId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/nasJobs: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}: parameters: *ref_1 get: - description: Lists NasJobs in a Location. - operationId: aiplatform.projects.locations.nasJobs.list + description: >- + 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. + operationId: aiplatform.projects.locations.indexes.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -38962,8 +40256,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListNasJobsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -38975,32 +40268,23 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: indexesId + required: true schema: type: string - - in: query - name: readMask + - in: path + name: operationsId + required: true schema: type: string - format: google-fieldmask - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates a NasJob - operationId: aiplatform.projects.locations.nasJobs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.indexes.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39012,7 +40296,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -39024,24 +40308,30 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel: + - in: path + name: indexesId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.nasJobs.cancel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CancelNasJobRequest' + 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`. + operationId: aiplatform.projects.locations.indexes.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39066,15 +40356,29 @@ paths: schema: type: string - in: path - name: nasJobsId + name: indexesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait: parameters: *ref_1 - delete: - description: Deletes a NasJob. - operationId: aiplatform.projects.locations.nasJobs.delete + post: + description: >- + 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. + operationId: aiplatform.projects.locations.indexes.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39099,29 +40403,42 @@ paths: schema: type: string - in: path - name: nasJobsId + name: indexesId required: true schema: type: string - get: - description: Gets a NasJob - operationId: aiplatform.projects.locations.nasJobs.get + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints: + parameters: *ref_1 + post: + description: Creates an IndexEndpoint. + operationId: aiplatform.projects.locations.indexEndpoints.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -39133,16 +40450,9 @@ paths: required: true schema: type: string - - in: path - name: nasJobsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails: - parameters: *ref_1 get: - description: List top NasTrialDetails of a NasJob. - operationId: aiplatform.projects.locations.nasJobs.nasTrialDetails.list + description: Lists IndexEndpoints in a Location. + operationId: aiplatform.projects.locations.indexEndpoints.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39155,7 +40465,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListNasTrialDetailsResponse + #/components/schemas/GoogleCloudAiplatformV1ListIndexEndpointsResponse parameters: - in: path name: projectsId @@ -39167,9 +40477,8 @@ paths: required: true schema: type: string - - in: path - name: nasJobsId - required: true + - in: query + name: filter schema: type: string - in: query @@ -39181,11 +40490,16 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}: + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}: parameters: *ref_1 get: - description: Gets a NasTrialDetail. - operationId: aiplatform.projects.locations.nasJobs.nasTrialDetails.get + description: Gets an IndexEndpoint. + operationId: aiplatform.projects.locations.indexEndpoints.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39197,7 +40511,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrialDetail' + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' parameters: - in: path name: projectsId @@ -39210,22 +40524,18 @@ paths: schema: type: string - in: path - name: nasJobsId - required: true - schema: - type: string - - in: path - name: nasTrialDetailsId + name: indexEndpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations: - parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.operations.list + patch: + description: Updates an IndexEndpoint. + operationId: aiplatform.projects.locations.indexEndpoints.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39237,7 +40547,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' parameters: - in: path name: projectsId @@ -39249,33 +40559,59 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: indexEndpointsId + required: true schema: type: string - in: query - name: filter + name: updateMask schema: type: string - - in: query - name: pageSize + format: google-fieldmask + delete: + description: Deletes an IndexEndpoint. + operationId: aiplatform.projects.locations.indexEndpoints.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: indexEndpointsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.operations.cancel + Deploys an Index into this IndexEndpoint, creating a DeployedIndex + within it. Only non-empty Indexes can be deployed. + operationId: aiplatform.projects.locations.indexEndpoints.deployIndex + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployIndexRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39287,7 +40623,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -39300,24 +40636,22 @@ paths: schema: type: string - in: path - name: operationsId + name: indexEndpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex: parameters: *ref_1 post: description: >- - 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. - operationId: aiplatform.projects.locations.operations.wait + Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from + it, and freeing all resources it's using. + operationId: aiplatform.projects.locations.indexEndpoints.undeployIndex + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1UndeployIndexRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39342,23 +40676,20 @@ paths: schema: type: string - in: path - name: operationsId + name: indexEndpointsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex: parameters: *ref_1 - get: - description: >- - 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. - operationId: aiplatform.projects.locations.operations.get + post: + description: Update an existing DeployedIndex under an IndexEndpoint. + operationId: aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39383,17 +40714,20 @@ paths: schema: type: string - in: path - name: operationsId + name: indexEndpointsId required: true schema: type: string - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.operations.delete + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors: + parameters: *ref_1 + post: + description: Finds the nearest neighbors of each vector within the request. + operationId: aiplatform.projects.locations.indexEndpoints.findNeighbors + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1FindNeighborsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39405,7 +40739,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FindNeighborsResponse parameters: - in: path name: projectsId @@ -39418,24 +40753,23 @@ paths: schema: type: string - in: path - name: operationsId + name: indexEndpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.customJobs.operations.cancel + Reads the datapoints/vectors of the given IDs. A maximum of 1000 + datapoints can be retrieved in a batch. + operationId: aiplatform.projects.locations.indexEndpoints.readIndexDatapoints + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadIndexDatapointsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39447,7 +40781,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadIndexDatapointsResponse parameters: - in: path name: projectsId @@ -39460,22 +40795,17 @@ paths: schema: type: string - in: path - name: customJobsId - required: true - schema: - type: string - - in: path - name: operationsId + name: indexEndpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.customJobs.operations.list + operationId: aiplatform.projects.locations.indexEndpoints.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39500,14 +40830,10 @@ paths: schema: type: string - in: path - name: customJobsId + name: indexEndpointsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - in: query name: filter schema: @@ -39517,14 +40843,18 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}: + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.customJobs.operations.get + operationId: aiplatform.projects.locations.indexEndpoints.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39549,7 +40879,7 @@ paths: schema: type: string - in: path - name: customJobsId + name: indexEndpointsId required: true schema: type: string @@ -39564,7 +40894,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.customJobs.operations.delete + operationId: aiplatform.projects.locations.indexEndpoints.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39589,7 +40919,7 @@ paths: schema: type: string - in: path - name: customJobsId + name: indexEndpointsId required: true schema: type: string @@ -39598,7 +40928,54 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.indexEndpoints.operations.cancel + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: indexEndpointsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -39611,7 +40988,7 @@ paths: 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. - operationId: aiplatform.projects.locations.customJobs.operations.wait + operationId: aiplatform.projects.locations.indexEndpoints.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39636,7 +41013,7 @@ paths: schema: type: string - in: path - name: customJobsId + name: indexEndpointsId required: true schema: type: string @@ -39717,38 +41094,24 @@ paths: schema: type: string - in: query - name: readMask + name: pageSize schema: - type: string - format: google-fieldmask + type: integer + format: int32 - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: readMask schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}: parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.customJobs.cancel - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelCustomJobRequest + get: + description: Gets a CustomJob. + operationId: aiplatform.projects.locations.customJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39760,7 +41123,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJob' parameters: - in: path name: projectsId @@ -39777,11 +41140,9 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}: - parameters: *ref_1 - get: - description: Gets a CustomJob. - operationId: aiplatform.projects.locations.customJobs.get + delete: + description: Deletes a CustomJob. + operationId: aiplatform.projects.locations.customJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39793,7 +41154,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CustomJob' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -39810,9 +41171,25 @@ paths: required: true schema: type: string - delete: - description: Deletes a CustomJob. - operationId: aiplatform.projects.locations.customJobs.delete + /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.customJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CancelCustomJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39824,7 +41201,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -39841,11 +41218,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}: + /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations: parameters: *ref_1 - delete: - description: Deletes a Schedule. - operationId: aiplatform.projects.locations.schedules.delete + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.customJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39857,7 +41236,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -39870,23 +41249,31 @@ paths: schema: type: string - in: path - name: schedulesId + name: customJobsId required: true schema: type: string - patch: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}: + parameters: *ref_1 + get: description: >- - 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. - operationId: aiplatform.projects.locations.schedules.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + 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. + operationId: aiplatform.projects.locations.customJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39898,7 +41285,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -39911,18 +41298,22 @@ paths: schema: type: string - in: path - name: schedulesId + name: customJobsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: operationsId + required: true schema: type: string - format: google-fieldmask - get: - description: Gets a Schedule. - operationId: aiplatform.projects.locations.schedules.get + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.customJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39934,7 +41325,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -39947,20 +41338,29 @@ paths: schema: type: string - in: path - name: schedulesId + name: customJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: - description: Creates a Schedule. - operationId: aiplatform.projects.locations.schedules.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + description: >- + 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`. + operationId: aiplatform.projects.locations.customJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39972,7 +41372,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -39984,9 +41384,30 @@ paths: required: true schema: type: string - get: - description: Lists Schedules in a Location. - operationId: aiplatform.projects.locations.schedules.list + - in: path + name: customJobsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait: + parameters: *ref_1 + post: + description: >- + 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. + operationId: aiplatform.projects.locations.customJobs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -39998,8 +41419,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListSchedulesResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -40011,40 +41431,31 @@ paths: required: true schema: type: string - - in: query - name: filter + - in: path + name: customJobsId + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: operationsId + required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs: parameters: *ref_1 post: - description: >- - 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. - operationId: aiplatform.projects.locations.schedules.resume + description: Creates a DataLabelingJob. + operationId: aiplatform.projects.locations.dataLabelingJobs.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ResumeScheduleRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40056,7 +41467,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' parameters: - in: path name: projectsId @@ -40068,24 +41479,9 @@ paths: required: true schema: type: string - - in: path - name: schedulesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.schedules.pause - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PauseScheduleRequest' + get: + description: Lists DataLabelingJobs in a Location. + operationId: aiplatform.projects.locations.dataLabelingJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40097,7 +41493,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListDataLabelingJobsResponse parameters: - in: path name: projectsId @@ -40109,19 +41506,33 @@ paths: required: true schema: type: string - - in: path - name: schedulesId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}: parameters: *ref_1 get: - description: >- - 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. - operationId: aiplatform.projects.locations.schedules.operations.get + description: Gets a DataLabelingJob. + operationId: aiplatform.projects.locations.dataLabelingJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40133,7 +41544,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' parameters: - in: path name: projectsId @@ -40146,22 +41557,13 @@ paths: schema: type: string - in: path - name: schedulesId - required: true - schema: - type: string - - in: path - name: operationsId + name: dataLabelingJobsId required: true schema: type: string delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.schedules.operations.delete + description: Deletes a DataLabelingJob. + operationId: aiplatform.projects.locations.dataLabelingJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40173,7 +41575,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -40186,29 +41588,21 @@ paths: schema: type: string - in: path - name: schedulesId - required: true - schema: - type: string - - in: path - name: operationsId + name: dataLabelingJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel: parameters: *ref_1 post: - description: >- - 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. - operationId: aiplatform.projects.locations.schedules.operations.wait + description: Cancels a DataLabelingJob. Success of cancellation is not guaranteed. + operationId: aiplatform.projects.locations.dataLabelingJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CancelDataLabelingJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40220,7 +41614,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -40233,27 +41627,17 @@ paths: schema: type: string - in: path - name: schedulesId - required: true - schema: - type: string - - in: path - name: operationsId + name: dataLabelingJobsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.schedules.operations.list + operationId: aiplatform.projects.locations.dataLabelingJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40278,12 +41662,12 @@ paths: schema: type: string - in: path - name: schedulesId + name: dataLabelingJobsId required: true schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -40292,64 +41676,17 @@ paths: type: integer format: int32 - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel: - parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.schedules.operations.cancel - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: schedulesId - required: true - schema: - type: string - - in: path - name: operationsId - required: true + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.specialistPools.operations.get + operationId: aiplatform.projects.locations.dataLabelingJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40374,7 +41711,7 @@ paths: schema: type: string - in: path - name: specialistPoolsId + name: dataLabelingJobsId required: true schema: type: string @@ -40389,7 +41726,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.specialistPools.operations.delete + operationId: aiplatform.projects.locations.dataLabelingJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40414,7 +41751,7 @@ paths: schema: type: string - in: path - name: specialistPoolsId + name: dataLabelingJobsId required: true schema: type: string @@ -40423,13 +41760,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.specialistPools.operations.list + 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`. + operationId: aiplatform.projects.locations.dataLabelingJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40441,7 +41785,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -40454,24 +41798,16 @@ paths: schema: type: string - in: path - name: specialistPoolsId + name: dataLabelingJobsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -40484,7 +41820,7 @@ paths: 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. - operationId: aiplatform.projects.locations.specialistPools.operations.wait + operationId: aiplatform.projects.locations.dataLabelingJobs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40509,7 +41845,7 @@ paths: schema: type: string - in: path - name: specialistPoolsId + name: dataLabelingJobsId required: true schema: type: string @@ -40523,20 +41859,17 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs: parameters: *ref_1 post: - description: >- - 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`. - operationId: aiplatform.projects.locations.specialistPools.operations.cancel + description: Creates a HyperparameterTuningJob + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40548,7 +41881,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob parameters: - in: path name: projectsId @@ -40560,21 +41894,9 @@ paths: required: true schema: type: string - - in: path - name: specialistPoolsId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}: - parameters: *ref_1 - delete: - description: Deletes a SpecialistPool as well as all Specialists in the pool. - operationId: aiplatform.projects.locations.specialistPools.delete + get: + description: Lists HyperparameterTuningJobs in a Location. + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40586,7 +41908,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse parameters: - in: path name: projectsId @@ -40598,18 +41921,29 @@ paths: required: true schema: type: string - - in: path - name: specialistPoolsId - required: true + - in: query + name: filter schema: type: string - in: query - name: force + name: pageSize schema: - type: boolean + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}: + parameters: *ref_1 get: - description: Gets a SpecialistPool. - operationId: aiplatform.projects.locations.specialistPools.get + description: Gets a HyperparameterTuningJob + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40621,7 +41955,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob parameters: - in: path name: projectsId @@ -40634,18 +41969,13 @@ paths: schema: type: string - in: path - name: specialistPoolsId + name: hyperparameterTuningJobsId required: true schema: type: string - patch: - description: Updates a SpecialistPool. - operationId: aiplatform.projects.locations.specialistPools.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' + delete: + description: Deletes a HyperparameterTuningJob. + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40670,20 +42000,31 @@ paths: schema: type: string - in: path - name: specialistPoolsId + name: hyperparameterTuningJobsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/specialistPools: + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel: parameters: *ref_1 - get: - description: Lists SpecialistPools in a Location. - operationId: aiplatform.projects.locations.specialistPools.list + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40695,8 +42036,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListSpecialistPoolsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -40708,28 +42048,18 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: readMask + - in: path + name: hyperparameterTuningJobsId + required: true schema: type: string - format: google-fieldmask - post: - description: Creates a SpecialistPool. - operationId: aiplatform.projects.locations.specialistPools.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40741,7 +42071,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -40753,15 +42083,32 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}: + - in: path + name: hyperparameterTuningJobsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}: parameters: *ref_1 - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.deploymentResourcePools.operations.delete + get: + description: >- + 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. + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40773,7 +42120,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -40786,7 +42133,7 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: hyperparameterTuningJobsId required: true schema: type: string @@ -40795,12 +42142,13 @@ paths: required: true schema: type: string - get: + delete: description: >- - 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. - operationId: aiplatform.projects.locations.deploymentResourcePools.operations.get + 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`. + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40812,7 +42160,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -40825,7 +42173,7 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: hyperparameterTuningJobsId required: true schema: type: string @@ -40834,7 +42182,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -40847,7 +42195,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.deploymentResourcePools.operations.cancel + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40872,7 +42220,7 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: hyperparameterTuningJobsId required: true schema: type: string @@ -40881,7 +42229,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -40894,7 +42242,7 @@ paths: 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. - operationId: aiplatform.projects.locations.deploymentResourcePools.operations.wait + operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40919,7 +42267,7 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: hyperparameterTuningJobsId required: true schema: type: string @@ -40933,13 +42281,16 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/nasJobs: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.deploymentResourcePools.operations.list + post: + description: Creates a NasJob + operationId: aiplatform.projects.locations.nasJobs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -40951,7 +42302,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' parameters: - in: path name: projectsId @@ -40963,13 +42314,31 @@ paths: required: true schema: type: string + get: + description: Lists NasJobs in a Location. + operationId: aiplatform.projects.locations.nasJobs.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListNasJobsResponse + parameters: - in: path - name: deploymentResourcePoolsId + name: projectsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: locationsId + required: true schema: type: string - in: query @@ -40981,23 +42350,36 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}: + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}: parameters: *ref_1 - delete: - description: Delete a DeploymentResourcePool. - operationId: aiplatform.projects.locations.deploymentResourcePools.delete + get: + description: Gets a NasJob + operationId: aiplatform.projects.locations.nasJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasJob' parameters: - in: path name: projectsId @@ -41010,19 +42392,13 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: nasJobsId required: true schema: type: string - patch: - description: Update a DeploymentResourcePool. - operationId: aiplatform.projects.locations.deploymentResourcePools.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool + delete: + description: Deletes a NasJob. + operationId: aiplatform.projects.locations.nasJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41047,18 +42423,28 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: nasJobsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Get a DeploymentResourcePool. - operationId: aiplatform.projects.locations.deploymentResourcePools.get + /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.nasJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CancelNasJobRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41070,8 +42456,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1DeploymentResourcePool + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -41084,21 +42469,15 @@ paths: schema: type: string - in: path - name: deploymentResourcePoolsId + name: nasJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools: + /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}: parameters: *ref_1 - post: - description: Create a DeploymentResourcePool. - operationId: aiplatform.projects.locations.deploymentResourcePools.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest + get: + description: Gets a NasTrialDetail. + operationId: aiplatform.projects.locations.nasJobs.nasTrialDetails.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41110,7 +42489,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1NasTrialDetail' parameters: - in: path name: projectsId @@ -41122,9 +42501,21 @@ paths: required: true schema: type: string + - in: path + name: nasJobsId + required: true + schema: + type: string + - in: path + name: nasTrialDetailsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails: + parameters: *ref_1 get: - description: List DeploymentResourcePools in a location. - operationId: aiplatform.projects.locations.deploymentResourcePools.list + description: List top NasTrialDetails of a NasJob. + operationId: aiplatform.projects.locations.nasJobs.nasTrialDetails.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41137,7 +42528,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse + #/components/schemas/GoogleCloudAiplatformV1ListNasTrialDetailsResponse parameters: - in: path name: projectsId @@ -41149,6 +42540,11 @@ paths: required: true schema: type: string + - in: path + name: nasJobsId + required: true + schema: + type: string - in: query name: pageSize schema: @@ -41158,14 +42554,18 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}:queryDeployedModels: + /v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs: parameters: *ref_1 - get: + post: description: >- - List DeployedModels that have been deployed on this - DeploymentResourcePool. - operationId: >- - aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels + Creates a BatchPredictionJob. A BatchPredictionJob once created will + right away be attempted to start. + operationId: aiplatform.projects.locations.batchPredictionJobs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41177,8 +42577,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1QueryDeployedModelsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' parameters: - in: path name: projectsId @@ -41190,29 +42589,9 @@ paths: required: true schema: type: string - - in: path - name: deploymentResourcePoolsId - required: true - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}: - parameters: *ref_1 - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.dataLabelingJobs.operations.delete + get: + description: Lists BatchPredictionJobs in a Location. + operationId: aiplatform.projects.locations.batchPredictionJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41224,7 +42603,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListBatchPredictionJobsResponse parameters: - in: path name: projectsId @@ -41236,22 +42616,29 @@ paths: required: true schema: type: string - - in: path - name: dataLabelingJobsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask schema: type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}: + parameters: *ref_1 get: - description: >- - 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. - operationId: aiplatform.projects.locations.dataLabelingJobs.operations.get + description: Gets a BatchPredictionJob + operationId: aiplatform.projects.locations.batchPredictionJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41263,7 +42650,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' parameters: - in: path name: projectsId @@ -41276,22 +42663,15 @@ paths: schema: type: string - in: path - name: dataLabelingJobsId - required: true - schema: - type: string - - in: path - name: operationsId + name: batchPredictionJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations: - parameters: *ref_1 - get: + delete: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.dataLabelingJobs.operations.list + Deletes a BatchPredictionJob. Can only be called on jobs that already + finished. + operationId: aiplatform.projects.locations.batchPredictionJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41303,7 +42683,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -41316,37 +42696,29 @@ paths: schema: type: string - in: path - name: dataLabelingJobsId + name: batchPredictionJobsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel: parameters: *ref_1 post: description: >- - 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. - operationId: aiplatform.projects.locations.dataLabelingJobs.operations.wait + 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. + operationId: aiplatform.projects.locations.batchPredictionJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CancelBatchPredictionJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41358,7 +42730,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -41371,34 +42743,23 @@ paths: schema: type: string - in: path - name: dataLabelingJobsId - required: true - schema: - type: string - - in: path - name: operationsId + name: batchPredictionJobsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.dataLabelingJobs.operations.cancel + Creates a ModelDeploymentMonitoringJob. It will run periodically on a + configured interval. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41410,7 +42771,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob parameters: - in: path name: projectsId @@ -41422,21 +42784,9 @@ paths: required: true schema: type: string - - in: path - name: dataLabelingJobsId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs: - parameters: *ref_1 get: - description: Lists DataLabelingJobs in a Location. - operationId: aiplatform.projects.locations.dataLabelingJobs.list + description: Lists ModelDeploymentMonitoringJobs in a Location. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41449,7 +42799,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListDataLabelingJobsResponse + #/components/schemas/GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse parameters: - in: path name: projectsId @@ -41462,7 +42812,7 @@ paths: schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -41471,54 +42821,28 @@ paths: type: integer format: int32 - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: orderBy + name: pageToken schema: type: string - in: query - name: filter + name: readMask schema: type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies: + parameters: *ref_1 post: - description: Creates a DataLabelingJob. - operationId: aiplatform.projects.locations.dataLabelingJobs.create + description: >- + Searches Model Monitoring Statistics generated within a given time + window. + operationId: >- + aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}: - parameters: *ref_1 - get: - description: Gets a DataLabelingJob. - operationId: aiplatform.projects.locations.dataLabelingJobs.get + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41530,7 +42854,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DataLabelingJob' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse parameters: - in: path name: projectsId @@ -41543,13 +42868,15 @@ paths: schema: type: string - in: path - name: dataLabelingJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - delete: - description: Deletes a DataLabelingJob. - operationId: aiplatform.projects.locations.dataLabelingJobs.delete + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}: + parameters: *ref_1 + get: + description: Gets a ModelDeploymentMonitoringJob. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41561,7 +42888,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob parameters: - in: path name: projectsId @@ -41574,21 +42902,19 @@ paths: schema: type: string - in: path - name: dataLabelingJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel: - parameters: *ref_1 - post: - description: Cancels a DataLabelingJob. Success of cancellation is not guaranteed. - operationId: aiplatform.projects.locations.dataLabelingJobs.cancel + patch: + description: Updates a ModelDeploymentMonitoringJob. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelDataLabelingJobRequest + #/components/schemas/GoogleCloudAiplatformV1ModelDeploymentMonitoringJob security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41600,7 +42926,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -41613,15 +42939,18 @@ paths: schema: type: string - in: path - name: dataLabelingJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}: - parameters: *ref_1 - get: - description: Gets a BatchPredictionJob - operationId: aiplatform.projects.locations.batchPredictionJobs.get + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a ModelDeploymentMonitoringJob. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41633,7 +42962,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -41646,15 +42975,24 @@ paths: schema: type: string - in: path - name: batchPredictionJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause: + parameters: *ref_1 + post: description: >- - Deletes a BatchPredictionJob. Can only be called on jobs that already - finished. - operationId: aiplatform.projects.locations.batchPredictionJobs.delete + Pauses a ModelDeploymentMonitoringJob. If the job is running, the server + makes a best effort to cancel the job. Will mark + ModelDeploymentMonitoringJob.state to 'PAUSED'. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41666,7 +43004,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -41679,22 +43017,24 @@ paths: schema: type: string - in: path - name: batchPredictionJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs: + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume: parameters: *ref_1 - post: - description: >- - Creates a BatchPredictionJob. A BatchPredictionJob once created will - right away be attempted to start. - operationId: aiplatform.projects.locations.batchPredictionJobs.create + post: + description: >- + Resumes a paused ModelDeploymentMonitoringJob. It will start to run from + next scheduled time. A deleted ModelDeploymentMonitoringJob can't be + resumed. + operationId: aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41706,7 +43046,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1BatchPredictionJob' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -41718,9 +43058,19 @@ paths: required: true schema: type: string + - in: path + name: modelDeploymentMonitoringJobsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations: + parameters: *ref_1 get: - description: Lists BatchPredictionJobs in a Location. - operationId: aiplatform.projects.locations.batchPredictionJobs.list + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: >- + aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41732,8 +43082,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListBatchPredictionJobsResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -41745,8 +43094,13 @@ paths: required: true schema: type: string + - in: path + name: modelDeploymentMonitoringJobsId + required: true + schema: + type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -41755,33 +43109,18 @@ paths: type: integer format: int32 - in: query - name: filter - schema: - type: string - - in: query - name: readMask + name: pageToken schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.batchPredictionJobs.cancel - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelBatchPredictionJobRequest + 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. + operationId: >- + aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41793,7 +43132,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -41806,15 +43145,23 @@ paths: schema: type: string - in: path - name: batchPredictionJobsId + name: modelDeploymentMonitoringJobsId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}: - parameters: *ref_1 delete: - description: Deletes a NotebookExecutionJob. - operationId: aiplatform.projects.locations.notebookExecutionJobs.delete + description: >- + 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`. + operationId: >- + aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41826,7 +43173,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -41839,13 +43186,30 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - get: - description: Gets a NotebookExecutionJob. - operationId: aiplatform.projects.locations.notebookExecutionJobs.get + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: >- + aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41857,8 +43221,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -41871,24 +43234,30 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: modelDeploymentMonitoringJobsId required: true schema: type: string - - in: query - name: view + - in: path + name: operationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs: + /v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait: parameters: *ref_1 post: - description: Creates a NotebookExecutionJob. - operationId: aiplatform.projects.locations.notebookExecutionJobs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob' + description: >- + 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. + operationId: >- + aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -41912,26 +43281,47 @@ paths: required: true schema: type: string + - in: path + name: modelDeploymentMonitoringJobsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string - in: query - name: notebookExecutionJobId + name: timeout schema: type: string - get: - description: Lists NotebookExecutionJobs in a Location. - operationId: aiplatform.projects.locations.notebookExecutionJobs.list + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict: + parameters: *ref_1 + post: + description: Perform an online prediction. + operationId: aiplatform.projects.locations.publishers.models.predict + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictResponse' parameters: - in: path name: projectsId @@ -41943,53 +43333,47 @@ paths: required: true schema: type: string - - in: query - name: view - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: publishersId + required: true schema: type: string - - in: query - name: filter + - in: path + name: modelsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.cancel + 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. + operationId: aiplatform.projects.locations.publishers.models.rawPredict + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1RawPredictRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: projectsId @@ -42002,34 +43386,42 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamRawPredict: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.list + post: + description: Perform a streaming online prediction with an arbitrary HTTP payload. + operationId: aiplatform.projects.locations.publishers.models.streamRawPredict + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StreamRawPredictRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: projectsId @@ -42042,43 +43434,45 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: publishersId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: modelsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.get + Perform a server-side streaming online prediction request for Vertex LLM + streaming. + operationId: aiplatform.projects.locations.publishers.models.serverStreamingPredict + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StreamingPredictRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StreamingPredictResponse parameters: - in: path name: projectsId @@ -42091,34 +43485,42 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.delete + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning: + parameters: *ref_1 + post: + description: '' + operationId: aiplatform.projects.locations.publishers.models.predictLongRunning + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1PredictLongRunningRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -42131,34 +43533,35 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation: parameters: *ref_1 post: - description: >- - 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. - operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.wait + description: Fetch an asynchronous online prediction operation. + operationId: aiplatform.projects.locations.publishers.models.fetchPredictOperation + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1FetchPredictOperationRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -42178,46 +43581,43 @@ paths: schema: type: string - in: path - name: notebookExecutionJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent: parameters: *ref_1 post: - description: >- - 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`. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel + description: Generate content with multimodal inputs. + operationId: aiplatform.projects.locations.publishers.models.generateContent + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path name: projectsId @@ -42230,35 +43630,43 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamGenerateContent: parameters: *ref_1 - get: - description: >- - 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. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.get + post: + description: Generate content with multimodal inputs with streaming support. + operationId: aiplatform.projects.locations.publishers.models.streamGenerateContent + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path name: projectsId @@ -42271,22 +43679,25 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:countTokens: + parameters: *ref_1 + post: + description: Perform a token counting. + operationId: aiplatform.projects.locations.publishers.models.countTokens + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42298,7 +43709,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse parameters: - in: path name: projectsId @@ -42311,29 +43723,25 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:computeTokens: parameters: *ref_1 post: - description: >- - 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. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait + description: Return a list of tokens based on the input text. + operationId: aiplatform.projects.locations.publishers.models.computeTokens + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42345,7 +43753,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse parameters: - in: path name: projectsId @@ -42358,27 +43767,25 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: publishersId required: true schema: type: string - in: path - name: operationsId + name: modelsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.operations.list + post: + description: Initializes a MetadataStore, including allocation of resources. + operationId: aiplatform.projects.locations.metadataStores.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataStore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42390,7 +43797,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -42402,13 +43809,35 @@ paths: required: true schema: type: string + - in: query + name: metadataStoreId + schema: + type: string + get: + description: Lists MetadataStores for a Location. + operationId: aiplatform.projects.locations.metadataStores.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListMetadataStoresResponse + parameters: - in: path - name: hyperparameterTuningJobsId + name: projectsId required: true schema: type: string - - in: query - name: filter + - in: path + name: locationsId + required: true schema: type: string - in: query @@ -42420,11 +43849,11 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}: parameters: *ref_1 - delete: - description: Deletes a HyperparameterTuningJob. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.delete + get: + description: Retrieves a specific MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42436,7 +43865,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataStore' parameters: - in: path name: projectsId @@ -42449,13 +43878,15 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: metadataStoresId required: true schema: type: string - get: - description: Gets a HyperparameterTuningJob - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.get + delete: + description: >- + Deletes a single MetadataStore and all its child resources (Artifacts, + Executions, and Contexts). + operationId: aiplatform.projects.locations.metadataStores.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42467,8 +43898,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -42481,15 +43911,21 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs: + - in: query + name: force + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations: parameters: *ref_1 get: - description: Lists HyperparameterTuningJobs in a Location. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.list + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.metadataStores.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42501,8 +43937,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -42514,8 +43949,13 @@ paths: required: true schema: type: string + - in: path + name: metadataStoresId + required: true + schema: + type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -42524,23 +43964,17 @@ paths: type: integer format: int32 - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: filter + name: pageToken schema: type: string - post: - description: Creates a HyperparameterTuningJob - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: aiplatform.projects.locations.metadataStores.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42552,8 +43986,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1HyperparameterTuningJob + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -42565,27 +43998,23 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel: - parameters: *ref_1 - post: + - in: path + name: metadataStoresId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + delete: description: >- - 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`. - operationId: aiplatform.projects.locations.hyperparameterTuningJobs.cancel - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest + 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`. + operationId: aiplatform.projects.locations.metadataStores.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42610,23 +44039,29 @@ paths: schema: type: string - in: path - name: hyperparameterTuningJobsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + 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`. + operationId: aiplatform.projects.locations.metadataStores.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42638,7 +44073,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -42651,15 +44086,29 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:wait: parameters: *ref_1 - get: - description: Gets a NotebookRuntimeTemplate. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.get + post: + description: >- + 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. + operationId: aiplatform.projects.locations.metadataStores.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42671,8 +44120,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -42685,13 +44133,30 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - delete: - description: Deletes a NotebookRuntimeTemplate. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.delete + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts: + parameters: *ref_1 + post: + description: Creates an Artifact associated with a MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.artifacts.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42703,7 +44168,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' parameters: - in: path name: projectsId @@ -42716,19 +44181,17 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - patch: - description: Updates a NotebookRuntimeTemplate. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate + - in: query + name: artifactId + schema: + type: string + get: + description: Lists Artifacts in the MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.artifacts.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42741,7 +44204,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate + #/components/schemas/GoogleCloudAiplatformV1ListArtifactsResponse parameters: - in: path name: projectsId @@ -42754,22 +44217,32 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy: + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}: parameters: *ref_1 - post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy + get: + description: Retrieves a specific Artifact. + operationId: aiplatform.projects.locations.metadataStores.artifacts.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42781,7 +44254,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' parameters: - in: path name: projectsId @@ -42794,26 +44267,23 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - - in: query - name: options.requestedPolicyVersion + - in: path + name: artifactsId + required: true schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions + type: string + patch: + description: Updates a stored Artifact. + operationId: aiplatform.projects.locations.metadataStores.artifacts.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42825,7 +44295,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' parameters: - in: path name: projectsId @@ -42838,19 +44308,27 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId + required: true + schema: + type: string + - in: path + name: artifactsId required: true schema: type: string - in: query - name: permissions + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates: - parameters: *ref_1 - get: - description: Lists NotebookRuntimeTemplates in a Location. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.list + format: google-fieldmask + - in: query + name: allowMissing + schema: + type: boolean + delete: + description: Deletes an Artifact. + operationId: aiplatform.projects.locations.metadataStores.artifacts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42862,8 +44340,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -42875,37 +44352,31 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: readMask + - in: path + name: metadataStoresId + required: true schema: type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: artifactsId + required: true schema: type: string - in: query - name: orderBy + name: etag schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge: + parameters: *ref_1 post: - description: Creates a NotebookRuntimeTemplate. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.create + description: Purges Artifacts. + operationId: aiplatform.projects.locations.metadataStores.artifacts.purge requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1NotebookRuntimeTemplate + #/components/schemas/GoogleCloudAiplatformV1PurgeArtifactsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42929,18 +44400,19 @@ paths: required: true schema: type: string - - in: query - name: notebookRuntimeTemplateId + - in: path + name: metadataStoresId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph: parameters: *ref_1 get: description: >- - 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. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.get + Retrieves lineage of an Artifact represented through Artifacts and + Executions connected by Event edges and returned as a LineageSubgraph. + operationId: >- + aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42952,7 +44424,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1LineageSubgraph' parameters: - in: path name: projectsId @@ -42965,22 +44437,31 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: artifactsId required: true schema: type: string - delete: + - in: query + name: maxHops + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations: + parameters: *ref_1 + get: description: >- - 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`. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -42992,7 +44473,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -43005,22 +44486,36 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: artifactsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.list + 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. + operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43032,7 +44527,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -43045,37 +44540,27 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: artifactsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait: - parameters: *ref_1 - post: + delete: description: >- - 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. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait + 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`. + operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43087,7 +44572,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -43100,21 +44585,21 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: artifactsId required: true schema: type: string - - in: query - name: timeout + - in: path + name: operationsId + required: true schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -43127,7 +44612,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel + operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43152,68 +44637,46 @@ paths: schema: type: string - in: path - name: notebookRuntimeTemplatesId - required: true - schema: - type: string - - in: path - name: operationsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards: - parameters: *ref_1 - post: - description: Creates a Tensorboard. - operationId: aiplatform.projects.locations.tensorboards.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - in: path - name: projectsId + name: artifactsId required: true schema: type: string - in: path - name: locationsId + name: operationsId required: true schema: type: string - get: - description: Lists Tensorboards in a Location. - operationId: aiplatform.projects.locations.tensorboards.list + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait: + parameters: *ref_1 + post: + description: >- + 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. + operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.wait security: - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/cloud-platform Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/cloud-platform responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListTensorboardsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -43225,38 +44688,36 @@ paths: required: true schema: type: string - - in: query - name: readMask + - in: path + name: metadataStoresId + required: true schema: type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: artifactsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy + - in: path + name: operationsId + required: true schema: type: string - in: query - name: filter + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts: parameters: *ref_1 - patch: - description: Updates a Tensorboard. - operationId: aiplatform.projects.locations.tensorboards.patch + post: + description: Creates a Context associated with a MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.contexts.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43268,7 +44729,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' parameters: - in: path name: projectsId @@ -43281,18 +44742,17 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: query - name: updateMask + name: contextId schema: type: string - format: google-fieldmask - delete: - description: Deletes a Tensorboard. - operationId: aiplatform.projects.locations.tensorboards.delete + get: + description: Lists Contexts on the MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.contexts.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43304,7 +44764,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListContextsResponse parameters: - in: path name: projectsId @@ -43317,29 +44778,44 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}: + parameters: *ref_1 get: - description: Gets a Tensorboard. - operationId: aiplatform.projects.locations.tensorboards.get + description: Retrieves a specific Context. + operationId: aiplatform.projects.locations.metadataStores.contexts.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' parameters: - in: path name: projectsId @@ -43352,15 +44828,23 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage: - parameters: *ref_1 - get: - description: Returns a list of monthly active users for a given TensorBoard instance. - operationId: aiplatform.projects.locations.tensorboards.readUsage + - in: path + name: contextsId + required: true + schema: + type: string + patch: + description: Updates a stored Context. + operationId: aiplatform.projects.locations.metadataStores.contexts.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43372,8 +44856,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardUsageResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' parameters: - in: path name: projectsId @@ -43386,15 +44869,27 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize: - parameters: *ref_1 - get: - description: Returns the storage size for a given TensorBoard instance. - operationId: aiplatform.projects.locations.tensorboards.readSize + - in: path + name: contextsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: allowMissing + schema: + type: boolean + delete: + description: Deletes a stored Context. + operationId: aiplatform.projects.locations.metadataStores.contexts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43406,8 +44901,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardSizeResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -43420,20 +44914,33 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:batchRead: + - in: path + name: contextsId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + - in: query + name: etag + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge: parameters: *ref_1 - get: - description: >- - 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. - operationId: aiplatform.projects.locations.tensorboards.batchRead + post: + description: Purges Contexts. + operationId: aiplatform.projects.locations.metadataStores.contexts.purge + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PurgeContextsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43445,8 +44952,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -43459,22 +44965,25 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - - in: query - name: timeSeries - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: aiplatform.projects.locations.tensorboards.operations.get + 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. + operationId: >- + aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43486,7 +44995,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse parameters: - in: path name: projectsId @@ -43499,22 +45009,31 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: contextsId required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren: + parameters: *ref_1 + post: description: >- - 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`. - operationId: aiplatform.projects.locations.tensorboards.operations.delete + 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. + operationId: aiplatform.projects.locations.metadataStores.contexts.addContextChildren + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddContextChildrenRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43526,7 +45045,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddContextChildrenResponse parameters: - in: path name: projectsId @@ -43539,29 +45059,30 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: contextsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.tensorboards.operations.cancel + 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. + operationId: >- + aiplatform.projects.locations.metadataStores.contexts.removeContextChildren + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1RemoveContextChildrenRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43573,7 +45094,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1RemoveContextChildrenResponse parameters: - in: path name: projectsId @@ -43586,29 +45108,23 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: contextsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: aiplatform.projects.locations.tensorboards.operations.wait + Retrieves Artifacts and Executions within the specified Context, + connected by Event edges and returned as a LineageSubgraph. + operationId: >- + aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43620,7 +45136,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1LineageSubgraph' parameters: - in: path name: projectsId @@ -43633,27 +45149,22 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: operationsId + name: contextsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.tensorboards.operations.list + operationId: aiplatform.projects.locations.metadataStores.contexts.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43678,10 +45189,19 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId + required: true + schema: + type: string + - in: path + name: contextsId required: true schema: type: string + - in: query + name: filter + schema: + type: string - in: query name: pageSize schema: @@ -43691,18 +45211,14 @@ paths: name: pageToken schema: type: string - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.tensorboards.experiments.operations.get + operationId: aiplatform.projects.locations.metadataStores.contexts.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43727,12 +45243,12 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: contextsId required: true schema: type: string @@ -43747,7 +45263,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.tensorboards.experiments.operations.delete + operationId: aiplatform.projects.locations.metadataStores.contexts.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43772,12 +45288,12 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: contextsId required: true schema: type: string @@ -43786,13 +45302,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.tensorboards.experiments.operations.list + 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`. + operationId: aiplatform.projects.locations.metadataStores.contexts.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43804,7 +45327,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -43817,42 +45340,34 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: contextsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: operationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.tensorboards.experiments.operations.cancel + 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. + operationId: aiplatform.projects.locations.metadataStores.contexts.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43864,7 +45379,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -43877,12 +45392,12 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: contextsId required: true schema: type: string @@ -43891,20 +45406,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions: parameters: *ref_1 post: - description: >- - 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. - operationId: aiplatform.projects.locations.tensorboards.experiments.operations.wait + description: Creates an Execution associated with a MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.executions.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -43916,7 +45432,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' parameters: - in: path name: projectsId @@ -43929,47 +45445,121 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId + required: true + schema: + type: string + - in: query + name: executionId + schema: + type: string + get: + description: Lists Executions in the MetadataStore. + operationId: aiplatform.projects.locations.metadataStores.executions.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListExecutionsResponse + parameters: + - in: path + name: projectsId required: true schema: type: string - in: path - name: experimentsId + name: locationsId required: true schema: type: string - in: path - name: operationsId + name: metadataStoresId required: true schema: type: string - in: query - name: timeout + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs: + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}: parameters: *ref_1 get: - description: Lists TensorboardRuns in a Location. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.list + description: Retrieves a specific Execution. + operationId: aiplatform.projects.locations.metadataStores.executions.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: metadataStoresId + required: true + schema: + type: string + - in: path + name: executionsId + required: true + schema: + type: string + patch: + description: Updates a stored Execution. + operationId: aiplatform.projects.locations.metadataStores.executions.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListTensorboardRunsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' parameters: - in: path name: projectsId @@ -43982,45 +45572,27 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: executionsId required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: readMask + name: updateMask schema: type: string format: google-fieldmask - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter + name: allowMissing schema: - type: string - post: - description: Creates a TensorboardRun. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + type: boolean + delete: + description: Deletes an Execution. + operationId: aiplatform.projects.locations.metadataStores.executions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44032,7 +45604,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44045,30 +45617,30 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: executionsId required: true schema: type: string - in: query - name: tensorboardRunId + name: etag schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge: parameters: *ref_1 post: - description: Batch create TensorboardRuns. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate + description: Purges Executions. + operationId: aiplatform.projects.locations.metadataStores.executions.purge requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest + #/components/schemas/GoogleCloudAiplatformV1PurgeExecutionsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44080,8 +45652,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44094,36 +45665,39 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: metadataStoresId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents: parameters: *ref_1 - get: - description: Gets a TensorboardRun. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.get + post: + description: >- + 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. + operationId: >- + aiplatform.projects.locations.metadataStores.executions.addExecutionEvents + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddExecutionEventsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddExecutionEventsResponse parameters: - in: path name: projectsId @@ -44136,28 +45710,24 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: metadataStoresId required: true schema: type: string - in: path - name: runsId + name: executionsId required: true schema: type: string - patch: - description: Updates a TensorboardRun. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs: + parameters: *ref_1 + get: + description: >- + Obtains the set of input and output Artifacts for this Execution, in the + form of LineageSubgraph that also contains the Execution and connecting + Events. + operationId: >- + aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44169,7 +45739,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' + $ref: '#/components/schemas/GoogleCloudAiplatformV1LineageSubgraph' parameters: - in: path name: projectsId @@ -44182,28 +45752,22 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: metadataStoresId required: true schema: type: string - in: path - name: runsId + name: executionsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a TensorboardRun. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.delete + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.metadataStores.executions.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44215,7 +45779,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -44228,33 +45792,36 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: executionsId required: true schema: type: string - - in: path - name: runsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - Write time series data points into multiple TensorboardTimeSeries under - a TensorboardRun. If any data fail to be ingested, an error is returned. - operationId: aiplatform.projects.locations.tensorboards.experiments.runs.write - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardRunDataRequest + 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. + operationId: aiplatform.projects.locations.metadataStores.executions.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44266,8 +45833,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardRunDataResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44280,22 +45846,20 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string - in: path - name: experimentsId + name: executionsId required: true schema: type: string - in: path - name: runsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}: - parameters: *ref_1 delete: description: >- Deletes a long-running operation. This method indicates that the client @@ -44303,7 +45867,7 @@ paths: operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete + aiplatform.projects.locations.metadataStores.executions.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44328,22 +45892,12 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: metadataStoresId required: true schema: type: string - in: path - name: timeSeriesId + name: executionsId required: true schema: type: string @@ -44352,13 +45906,21 @@ paths: required: true schema: type: string - get: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: description: >- - 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. + 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`. operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get + aiplatform.projects.locations.metadataStores.executions.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44370,7 +45932,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -44383,22 +45945,12 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: metadataStoresId required: true schema: type: string - in: path - name: timeSeriesId + name: executionsId required: true schema: type: string @@ -44407,7 +45959,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -44420,8 +45972,7 @@ paths: 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. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait + operationId: aiplatform.projects.locations.metadataStores.executions.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44446,22 +45997,12 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: metadataStoresId required: true schema: type: string - in: path - name: timeSeriesId + name: executionsId required: true schema: type: string @@ -44475,14 +46016,16 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list + post: + description: Creates a MetadataSchema. + operationId: aiplatform.projects.locations.metadataStores.metadataSchemas.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44494,7 +46037,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' parameters: - in: path name: projectsId @@ -44507,25 +46050,51 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: metadataStoresId required: true schema: type: string + - in: query + name: metadataSchemaId + schema: + type: string + get: + description: Lists MetadataSchemas. + operationId: aiplatform.projects.locations.metadataStores.metadataSchemas.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListMetadataSchemasResponse + parameters: - in: path - name: experimentsId + name: projectsId required: true schema: type: string - in: path - name: runsId + name: locationsId required: true schema: type: string - in: path - name: timeSeriesId + name: metadataStoresId required: true schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: pageToken schema: @@ -44534,26 +46103,11 @@ paths: name: filter schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}: parameters: *ref_1 - post: - description: >- - 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`. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel + get: + description: Retrieves a specific MetadataSchema. + operationId: aiplatform.projects.locations.metadataStores.metadataSchemas.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44565,7 +46119,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' parameters: - in: path name: projectsId @@ -44578,42 +46132,66 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: metadataStoresId required: true schema: type: string - in: path - name: runsId + name: metadataSchemasId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/migratableResources:search: + parameters: *ref_1 + post: + description: >- + Searches all of the resources in automl.googleapis.com, + datalabeling.googleapis.com and ml.googleapis.com that can be migrated + to Vertex AI's given location. + operationId: aiplatform.projects.locations.migratableResources.search + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SearchMigratableResourcesRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1SearchMigratableResourcesResponse + parameters: - in: path - name: timeSeriesId + name: projectsId required: true schema: type: string - in: path - name: operationsId + name: locationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}: + /v1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate: parameters: *ref_1 - patch: - description: Updates a TensorboardTimeSeries. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch + post: + description: >- + Batch migrates resources from ml.googleapis.com, automl.googleapis.com, + and datalabeling.googleapis.com to Vertex AI. + operationId: aiplatform.projects.locations.migratableResources.batchMigrate requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries + #/components/schemas/GoogleCloudAiplatformV1BatchMigrateResourcesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44625,8 +46203,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44638,35 +46215,62 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.migratableResources.operations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + parameters: - in: path - name: tensorboardsId + name: projectsId required: true schema: type: string - in: path - name: experimentsId + name: locationsId required: true schema: type: string - in: path - name: runsId + name: migratableResourcesId required: true schema: type: string - - in: path - name: timeSeriesId - required: true + - in: query + name: filter schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask - delete: - description: Deletes a TensorboardTimeSeries. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete + /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: aiplatform.projects.locations.migratableResources.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44691,46 +46295,34 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: migratableResourcesId required: true schema: type: string - in: path - name: timeSeriesId + name: operationsId required: true schema: type: string - get: - description: Gets a TensorboardTimeSeries. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.migratableResources.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -44743,51 +46335,41 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: migratableResourcesId required: true schema: type: string - in: path - name: timeSeriesId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData: + /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData + 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`. + operationId: aiplatform.projects.locations.migratableResources.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -44800,43 +46382,29 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: migratableResourcesId required: true schema: type: string - in: path - name: timeSeriesId + name: operationsId required: true schema: type: string - - in: query - name: blobIds - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries: + /v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- - Exports a TensorboardTimeSeries' data. Data is returned in paginated - responses. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest + 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. + operationId: aiplatform.projects.locations.migratableResources.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44848,8 +46416,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44862,37 +46429,34 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: migratableResourcesId required: true schema: type: string - in: path - name: runsId + name: operationsId required: true schema: type: string - - in: path - name: timeSeriesId - required: true + - in: query + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign: parameters: *ref_1 post: - description: Creates a TensorboardTimeSeries. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create + description: >- + Assigns a NotebookRuntime to a user for a particular Notebook file. This + method will either returns an existing assignment or generates a new + one. + operationId: aiplatform.projects.locations.notebookRuntimes.assign requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries + #/components/schemas/GoogleCloudAiplatformV1AssignNotebookRuntimeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -44904,8 +46468,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44917,46 +46480,54 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}: + parameters: *ref_1 + get: + description: Gets a NotebookRuntime. + operationId: aiplatform.projects.locations.notebookRuntimes.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookRuntime' + parameters: - in: path - name: tensorboardsId + name: projectsId required: true schema: type: string - in: path - name: experimentsId + name: locationsId required: true schema: type: string - in: path - name: runsId + name: notebookRuntimesId required: true schema: type: string - - in: query - name: tensorboardTimeSeriesId - schema: - type: string - get: - description: Lists TensorboardTimeSeries in a Location. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list + delete: + description: Deletes a NotebookRuntime. + operationId: aiplatform.projects.locations.notebookRuntimes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -44969,70 +46540,84 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: notebookRuntimesId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes: + parameters: *ref_1 + get: + description: Lists NotebookRuntimes in a Location. + operationId: aiplatform.projects.locations.notebookRuntimes.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListNotebookRuntimesResponse + parameters: - in: path - name: experimentsId + name: projectsId required: true schema: type: string - in: path - name: runsId + name: locationsId required: true schema: type: string - in: query - name: readMask + name: filter schema: type: string - format: google-fieldmask - in: query name: pageSize schema: type: integer format: int32 - in: query - name: orderBy + name: pageToken schema: type: string - in: query - name: pageToken + name: readMask schema: type: string + format: google-fieldmask - in: query - name: filter + name: orderBy schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade: parameters: *ref_1 - get: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read + post: + description: Upgrades a NotebookRuntime. + operationId: aiplatform.projects.locations.notebookRuntimes.upgrade + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45045,49 +46630,21 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId - required: true - schema: - type: string - - in: path - name: timeSeriesId + name: notebookRuntimesId required: true schema: type: string - - in: query - name: maxDataPoints - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start: parameters: *ref_1 post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait + description: Starts a NotebookRuntime. + operationId: aiplatform.projects.locations.notebookRuntimes.start + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StartNotebookRuntimeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45112,45 +46669,21 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId - required: true - schema: - type: string - - in: path - name: operationsId + name: notebookRuntimesId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop: parameters: *ref_1 post: - description: >- - 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`. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel + description: Stops a NotebookRuntime. + operationId: aiplatform.projects.locations.notebookRuntimes.stop + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1StopNotebookRuntimeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45162,7 +46695,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45175,33 +46708,17 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId - required: true - schema: - type: string - - in: path - name: operationsId + name: notebookRuntimesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.operations.list + operationId: aiplatform.projects.locations.notebookRuntimes.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45226,18 +46743,12 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: notebookRuntimesId required: true schema: type: string - - in: path - name: runsId - required: true + - in: query + name: filter schema: type: string - in: query @@ -45249,20 +46760,14 @@ paths: name: pageToken schema: type: string - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}: parameters: *ref_1 - delete: + get: description: >- - 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`. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete + 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. + operationId: aiplatform.projects.locations.notebookRuntimes.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45274,7 +46779,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45287,17 +46792,7 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: notebookRuntimesId required: true schema: type: string @@ -45306,13 +46801,13 @@ paths: required: true schema: type: string - get: + delete: description: >- - 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. - operationId: >- - aiplatform.projects.locations.tensorboards.experiments.runs.operations.get + 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`. + operationId: aiplatform.projects.locations.notebookRuntimes.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45324,7 +46819,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -45337,17 +46832,7 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true - schema: - type: string - - in: path - name: runsId + name: notebookRuntimesId required: true schema: type: string @@ -45356,28 +46841,32 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments: + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: - description: Lists TensorboardExperiments in a Location. - operationId: aiplatform.projects.locations.tensorboards.experiments.list + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.notebookRuntimes.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListTensorboardExperimentsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -45390,41 +46879,29 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: notebookRuntimesId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy + - in: path + name: operationsId + required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait: + parameters: *ref_1 post: - description: Creates a TensorboardExperiment. - operationId: aiplatform.projects.locations.tensorboards.experiments.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment + description: >- + 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. + operationId: aiplatform.projects.locations.notebookRuntimes.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45436,8 +46913,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45450,19 +46926,30 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: notebookRuntimesId + required: true + schema: + type: string + - in: path + name: operationsId required: true schema: type: string - in: query - name: tensorboardExperimentId + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs: parameters: *ref_1 - delete: - description: Deletes a TensorboardExperiment. - operationId: aiplatform.projects.locations.tensorboards.experiments.delete + post: + description: Creates a NotebookExecutionJob. + operationId: aiplatform.projects.locations.notebookExecutionJobs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45486,25 +46973,13 @@ paths: required: true schema: type: string - - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId - required: true + - in: query + name: notebookExecutionJobId schema: type: string - patch: - description: Updates a TensorboardExperiment. - operationId: aiplatform.projects.locations.tensorboards.experiments.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment + get: + description: Lists NotebookExecutionJobs in a Location. + operationId: aiplatform.projects.locations.notebookExecutionJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45517,7 +46992,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment + #/components/schemas/GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse parameters: - in: path name: projectsId @@ -45529,33 +47004,37 @@ paths: required: true schema: type: string - - in: path - name: tensorboardsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: experimentsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - in: query - name: updateMask + name: orderBy schema: type: string - format: google-fieldmask + - in: query + name: view + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}: + parameters: *ref_1 get: - description: Gets a TensorboardExperiment. - operationId: aiplatform.projects.locations.tensorboards.experiments.get + description: Gets a NotebookExecutionJob. + operationId: aiplatform.projects.locations.notebookExecutionJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -45563,7 +47042,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment + #/components/schemas/GoogleCloudAiplatformV1NotebookExecutionJob parameters: - in: path name: projectsId @@ -45576,28 +47055,17 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: notebookExecutionJobsId required: true schema: type: string - - in: path - name: experimentsId - required: true + - in: query + name: view schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:batchCreate: - parameters: *ref_1 - post: - description: >- - Batch create TensorboardTimeSeries that belong to a - TensorboardExperiment. - operationId: aiplatform.projects.locations.tensorboards.experiments.batchCreate - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest + delete: + description: Deletes a NotebookExecutionJob. + operationId: aiplatform.projects.locations.notebookExecutionJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45609,8 +47077,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45623,29 +47090,17 @@ paths: schema: type: string - in: path - name: tensorboardsId - required: true - schema: - type: string - - in: path - name: experimentsId + name: notebookExecutionJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write: + /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations: parameters: *ref_1 - post: + get: description: >- - Write time series data points of multiple TensorboardTimeSeries in - multiple TensorboardRun's. If any data fail to be ingested, an error is - returned. - operationId: aiplatform.projects.locations.tensorboards.experiments.write - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45657,8 +47112,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -45671,25 +47125,31 @@ paths: schema: type: string - in: path - name: tensorboardsId + name: notebookExecutionJobsId required: true schema: type: string - - in: path - name: experimentsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}: parameters: *ref_1 - post: - description: Marks a Trial as complete. - operationId: aiplatform.projects.locations.studies.trials.complete - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CompleteTrialRequest' + get: + description: >- + 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. + operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45701,7 +47161,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45714,30 +47174,22 @@ paths: schema: type: string - in: path - name: studiesId + name: notebookExecutionJobsId required: true schema: type: string - in: path - name: trialsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState: - parameters: *ref_1 - post: + delete: description: >- - Checks whether a Trial should stop or not. Returns a long-running - operation. When the operation is successful, it will contain a - CheckTrialEarlyStoppingStateResponse. - operationId: >- - aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest + 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`. + operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45749,7 +47201,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -45762,29 +47214,29 @@ paths: schema: type: string - in: path - name: studiesId + name: notebookExecutionJobsId required: true schema: type: string - in: path - name: trialsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials: + /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - 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 - operationId: aiplatform.projects.locations.studies.trials.listOptimalTrials - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListOptimalTrialsRequest + 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`. + operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45796,8 +47248,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListOptimalTrialsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -45810,20 +47261,29 @@ paths: schema: type: string - in: path - name: studiesId + name: notebookExecutionJobsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait: parameters: *ref_1 post: - description: Adds a user provided Trial to a Study. - operationId: aiplatform.projects.locations.studies.trials.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + description: >- + 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. + operationId: aiplatform.projects.locations.notebookExecutionJobs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45835,7 +47295,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45848,13 +47308,30 @@ paths: schema: type: string - in: path - name: studiesId + name: notebookExecutionJobsId required: true schema: type: string - get: - description: Lists the Trials associated with a Study. - operationId: aiplatform.projects.locations.studies.trials.list + - in: path + name: operationsId + required: true + schema: + type: string + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources: + parameters: *ref_1 + post: + description: Creates a PersistentResource. + operationId: aiplatform.projects.locations.persistentResources.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45866,7 +47343,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ListTrialsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -45878,25 +47355,13 @@ paths: required: true schema: type: string - - in: path - name: studiesId - required: true - schema: - type: string - in: query - name: pageToken + name: persistentResourceId schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}: - parameters: *ref_1 get: - description: Gets a Trial. - operationId: aiplatform.projects.locations.studies.trials.get + description: Lists PersistentResources in a Location. + operationId: aiplatform.projects.locations.persistentResources.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45908,7 +47373,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListPersistentResourcesResponse parameters: - in: path name: projectsId @@ -45920,19 +47386,20 @@ paths: required: true schema: type: string - - in: path - name: studiesId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: trialsId - required: true + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - delete: - description: Deletes a Trial. - operationId: aiplatform.projects.locations.studies.trials.delete + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}: + parameters: *ref_1 + get: + description: Gets a PersistentResource. + operationId: aiplatform.projects.locations.persistentResources.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -45944,7 +47411,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' parameters: - in: path name: projectsId @@ -45957,29 +47424,13 @@ paths: schema: type: string - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: trialsId + name: persistentResourcesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.studies.trials.suggest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1SuggestTrialsRequest' + delete: + description: Deletes a PersistentResource. + operationId: aiplatform.projects.locations.persistentResources.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46004,20 +47455,18 @@ paths: schema: type: string - in: path - name: studiesId + name: persistentResourcesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop: - parameters: *ref_1 - post: - description: Stops a Trial. - operationId: aiplatform.projects.locations.studies.trials.stop + patch: + description: Updates a PersistentResource. + operationId: aiplatform.projects.locations.persistentResources.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1StopTrialRequest' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PersistentResource' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46029,7 +47478,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -46042,28 +47491,26 @@ paths: schema: type: string - in: path - name: studiesId + name: persistentResourcesId required: true schema: type: string - - in: path - name: trialsId - required: true + - in: query + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}:reboot: parameters: *ref_1 post: - description: >- - Adds a measurement of the objective metrics to a Trial. This measurement - is assumed to have been taken before the Trial is complete. - operationId: aiplatform.projects.locations.studies.trials.addTrialMeasurement + description: Reboots a PersistentResource. + operationId: aiplatform.projects.locations.persistentResources.reboot requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddTrialMeasurementRequest + #/components/schemas/GoogleCloudAiplatformV1RebootPersistentResourceRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46075,7 +47522,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -46088,29 +47535,17 @@ paths: schema: type: string - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: trialsId + name: persistentResourcesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.studies.trials.operations.cancel + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.persistentResources.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46122,7 +47557,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -46135,28 +47570,31 @@ paths: schema: type: string - in: path - name: studiesId + name: persistentResourcesId required: true schema: type: string - - in: path - name: trialsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.studies.trials.operations.get + operationId: aiplatform.projects.locations.persistentResources.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46181,12 +47619,7 @@ paths: schema: type: string - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: trialsId + name: persistentResourcesId required: true schema: type: string @@ -46201,7 +47634,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.studies.trials.operations.delete + operationId: aiplatform.projects.locations.persistentResources.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46226,12 +47659,7 @@ paths: schema: type: string - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: trialsId + name: persistentResourcesId required: true schema: type: string @@ -46240,13 +47668,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.studies.trials.operations.list + 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`. + operationId: aiplatform.projects.locations.persistentResources.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46258,7 +47693,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -46271,29 +47706,16 @@ paths: schema: type: string - in: path - name: studiesId + name: persistentResourcesId required: true schema: type: string - in: path - name: trialsId + name: operationsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -46306,7 +47728,7 @@ paths: 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. - operationId: aiplatform.projects.locations.studies.trials.operations.wait + operationId: aiplatform.projects.locations.persistentResources.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46331,12 +47753,7 @@ paths: schema: type: string - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: trialsId + name: persistentResourcesId required: true schema: type: string @@ -46350,101 +47767,18 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}: - parameters: *ref_1 - get: - description: >- - 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. - operationId: aiplatform.projects.locations.studies.operations.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.studies.operations.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines: parameters: *ref_1 post: description: >- - 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`. - operationId: aiplatform.projects.locations.studies.operations.cancel + Creates a TrainingPipeline. A created TrainingPipeline right away will + be attempted to be run. + operationId: aiplatform.projects.locations.trainingPipelines.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46456,7 +47790,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' parameters: - in: path name: projectsId @@ -46468,30 +47802,9 @@ paths: required: true schema: type: string - - in: path - name: studiesId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.studies.operations.wait + get: + description: Lists TrainingPipelines in a Location. + operationId: aiplatform.projects.locations.trainingPipelines.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46503,7 +47816,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListTrainingPipelinesResponse parameters: - in: path name: projectsId @@ -46515,28 +47829,29 @@ paths: required: true schema: type: string - - in: path - name: studiesId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - in: query - name: timeout + name: readMask schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}: parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.studies.operations.list + description: Gets a TrainingPipeline. + operationId: aiplatform.projects.locations.trainingPipelines.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46548,7 +47863,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' parameters: - in: path name: projectsId @@ -46561,35 +47876,13 @@ paths: schema: type: string - in: path - name: studiesId + name: trainingPipelinesId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/studies:lookup: - parameters: *ref_1 - post: - description: >- - Looks a study up using the user-defined display_name field instead of - the fully qualified resource name. - operationId: aiplatform.projects.locations.studies.lookup - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1LookupStudyRequest' + delete: + description: Deletes a TrainingPipeline. + operationId: aiplatform.projects.locations.trainingPipelines.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46601,7 +47894,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -46613,18 +47906,31 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies: + - in: path + name: trainingPipelinesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel: parameters: *ref_1 post: description: >- - Creates a Study. A resource name will be generated after creation of the - Study. - operationId: aiplatform.projects.locations.studies.create + 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`. + operationId: aiplatform.projects.locations.trainingPipelines.cancel requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CancelTrainingPipelineRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46636,7 +47942,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -46648,9 +47954,18 @@ paths: required: true schema: type: string + - in: path + name: trainingPipelinesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations: + parameters: *ref_1 get: - description: Lists all the studies in a region for an associated project. - operationId: aiplatform.projects.locations.studies.list + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.trainingPipelines.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46662,8 +47977,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListStudiesResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -46675,6 +47989,15 @@ paths: required: true schema: type: string + - in: path + name: trainingPipelinesId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string - in: query name: pageSize schema: @@ -46684,11 +48007,14 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}: + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}: parameters: *ref_1 - delete: - description: Deletes a Study. - operationId: aiplatform.projects.locations.studies.delete + get: + description: >- + 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. + operationId: aiplatform.projects.locations.trainingPipelines.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46700,7 +48026,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -46713,13 +48039,22 @@ paths: schema: type: string - in: path - name: studiesId + name: trainingPipelinesId required: true schema: type: string - get: - description: Gets a Study by name. - operationId: aiplatform.projects.locations.studies.get + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.trainingPipelines.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46731,7 +48066,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -46744,17 +48079,29 @@ paths: schema: type: string - in: path - name: studiesId + name: trainingPipelinesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.featureGroups.operations.listWait + 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`. + operationId: aiplatform.projects.locations.trainingPipelines.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46766,7 +48113,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -46779,7 +48126,7 @@ paths: schema: type: string - in: path - name: featureGroupsId + name: trainingPipelinesId required: true schema: type: string @@ -46788,19 +48135,8 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait: + parameters: *ref_1 post: description: >- Waits until the specified long-running operation is done or reaches at @@ -46812,7 +48148,7 @@ paths: 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. - operationId: aiplatform.projects.locations.featureGroups.operations.wait + operationId: aiplatform.projects.locations.trainingPipelines.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46837,7 +48173,7 @@ paths: schema: type: string - in: path - name: featureGroupsId + name: trainingPipelinesId required: true schema: type: string @@ -46851,15 +48187,16 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs: parameters: *ref_1 - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.featureGroups.operations.delete + post: + description: Creates a PipelineJob. A PipelineJob will run immediately when created. + operationId: aiplatform.projects.locations.pipelineJobs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46871,7 +48208,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' parameters: - in: path name: projectsId @@ -46883,22 +48220,13 @@ paths: required: true schema: type: string - - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: operationsId - required: true + - in: query + name: pipelineJobId schema: type: string get: - description: >- - 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. - operationId: aiplatform.projects.locations.featureGroups.operations.get + description: Lists PipelineJobs in a Location. + operationId: aiplatform.projects.locations.pipelineJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46910,7 +48238,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListPipelineJobsResponse parameters: - in: path name: projectsId @@ -46922,21 +48251,33 @@ paths: required: true schema: type: string - - in: path - name: featureGroupsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features: + - in: query + name: orderBy + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}: parameters: *ref_1 get: - description: Lists Features in a given FeatureGroup. - operationId: aiplatform.projects.locations.featureGroups.features.list + description: Gets a PipelineJob. + operationId: aiplatform.projects.locations.pipelineJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -46948,8 +48289,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeaturesResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1PipelineJob' parameters: - in: path name: projectsId @@ -46962,45 +48302,55 @@ paths: schema: type: string - in: path - name: featureGroupsId + name: pipelineJobsId required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken + delete: + description: Deletes a PipelineJob. + operationId: aiplatform.projects.locations.pipelineJobs.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: readMask + - in: path + name: locationsId + required: true schema: type: string - format: google-fieldmask - - in: query - name: filter + - in: path + name: pipelineJobsId + required: true schema: type: string - - in: query - name: latestStatsCount - schema: - type: integer - format: int32 - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchDelete: + parameters: *ref_1 post: - description: Creates a new Feature in a given FeatureGroup. - operationId: aiplatform.projects.locations.featureGroups.features.create + description: >- + 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. + operationId: aiplatform.projects.locations.pipelineJobs.batchDelete requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47024,20 +48374,26 @@ paths: required: true schema: type: string - - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: query - name: featureId - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}: + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel: parameters: *ref_1 - delete: - description: Deletes a single Feature. - operationId: aiplatform.projects.locations.featureGroups.features.delete + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.pipelineJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CancelPipelineJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47049,7 +48405,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47062,23 +48418,27 @@ paths: schema: type: string - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: featuresId + name: pipelineJobsId required: true schema: type: string - patch: - description: Updates the parameters of a single Feature. - operationId: aiplatform.projects.locations.featureGroups.features.patch + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchCancel: + parameters: *ref_1 + post: + description: >- + 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. + operationId: aiplatform.projects.locations.pipelineJobs.batchCancel requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47102,24 +48462,13 @@ paths: required: true schema: type: string - - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: featuresId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations: + parameters: *ref_1 get: - description: Gets details of a single Feature. - operationId: aiplatform.projects.locations.featureGroups.features.get + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.pipelineJobs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47131,7 +48480,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Feature' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -47144,24 +48493,31 @@ paths: schema: type: string - in: path - name: featureGroupsId + name: pipelineJobsId required: true schema: type: string - - in: path - name: featuresId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}: parameters: *ref_1 - delete: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.featureGroups.features.operations.delete + 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. + operationId: aiplatform.projects.locations.pipelineJobs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47173,7 +48529,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -47186,12 +48542,7 @@ paths: schema: type: string - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: featuresId + name: pipelineJobsId required: true schema: type: string @@ -47200,12 +48551,13 @@ paths: required: true schema: type: string - get: + delete: description: >- - 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. - operationId: aiplatform.projects.locations.featureGroups.features.operations.get + 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`. + operationId: aiplatform.projects.locations.pipelineJobs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47217,7 +48569,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47230,12 +48582,7 @@ paths: schema: type: string - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: featuresId + name: pipelineJobsId required: true schema: type: string @@ -47244,13 +48591,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.featureGroups.features.operations.listWait + 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`. + operationId: aiplatform.projects.locations.pipelineJobs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47262,7 +48616,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47275,12 +48629,7 @@ paths: schema: type: string - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: featuresId + name: pipelineJobsId required: true schema: type: string @@ -47289,19 +48638,8 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string + /v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait: + parameters: *ref_1 post: description: >- Waits until the specified long-running operation is done or reaches at @@ -47313,7 +48651,7 @@ paths: 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. - operationId: aiplatform.projects.locations.featureGroups.features.operations.wait + operationId: aiplatform.projects.locations.pipelineJobs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47338,12 +48676,7 @@ paths: schema: type: string - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: path - name: featuresId + name: pipelineJobsId required: true schema: type: string @@ -47357,16 +48690,16 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}: + /v1/projects/{projectsId}/locations/{locationsId}/schedules: parameters: *ref_1 - patch: - description: Updates the parameters of a single FeatureGroup. - operationId: aiplatform.projects.locations.featureGroups.patch + post: + description: Creates a Schedule. + operationId: aiplatform.projects.locations.schedules.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47378,7 +48711,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' parameters: - in: path name: projectsId @@ -47390,19 +48723,9 @@ paths: required: true schema: type: string - - in: path - name: featureGroupsId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a single FeatureGroup. - operationId: aiplatform.projects.locations.featureGroups.delete + get: + description: Lists Schedules in a Location. + operationId: aiplatform.projects.locations.schedules.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47414,7 +48737,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListSchedulesResponse parameters: - in: path name: projectsId @@ -47426,18 +48750,28 @@ paths: required: true schema: type: string - - in: path - name: featureGroupsId - required: true + - in: query + name: filter schema: type: string - in: query - name: force + name: pageSize schema: - type: boolean - get: - description: Gets details of a single FeatureGroup. - operationId: aiplatform.projects.locations.featureGroups.get + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}: + parameters: *ref_1 + delete: + description: Deletes a Schedule. + operationId: aiplatform.projects.locations.schedules.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47449,7 +48783,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -47462,15 +48796,13 @@ paths: schema: type: string - in: path - name: featureGroupsId + name: schedulesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/featureGroups: - parameters: *ref_1 get: - description: Lists FeatureGroups in a given project and location. - operationId: aiplatform.projects.locations.featureGroups.list + description: Gets a Schedule. + operationId: aiplatform.projects.locations.schedules.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47482,8 +48814,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListFeatureGroupsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' parameters: - in: path name: projectsId @@ -47495,31 +48826,24 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: schedulesId + required: true schema: type: string - post: - description: Creates a new FeatureGroup in a given project and location. - operationId: aiplatform.projects.locations.featureGroups.create + patch: + description: >- + 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. + operationId: aiplatform.projects.locations.schedules.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FeatureGroup' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47531,7 +48855,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Schedule' parameters: - in: path name: projectsId @@ -47543,20 +48867,29 @@ paths: required: true schema: type: string + - in: path + name: schedulesId + required: true + schema: + type: string - in: query - name: featureGroupId + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:countTokens: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause: parameters: *ref_1 post: - description: Perform a token counting. - operationId: aiplatform.projects.locations.publishers.models.countTokens + description: >- + 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. + operationId: aiplatform.projects.locations.schedules.pause requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PauseScheduleRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47568,8 +48901,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47582,42 +48914,39 @@ paths: schema: type: string - in: path - name: publishersId - required: true - schema: - type: string - - in: path - name: modelsId + name: schedulesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamRawPredict: + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume: parameters: *ref_1 post: - description: Perform a streaming online prediction with an arbitrary HTTP payload. - operationId: aiplatform.projects.locations.publishers.models.streamRawPredict + description: >- + 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. + operationId: aiplatform.projects.locations.schedules.resume requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamRawPredictRequest + #/components/schemas/GoogleCloudAiplatformV1ResumeScheduleRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47630,41 +48959,29 @@ paths: schema: type: string - in: path - name: publishersId - required: true - schema: - type: string - - in: path - name: modelsId + name: schedulesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict: + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations: parameters: *ref_1 - post: - description: Perform an online prediction. - operationId: aiplatform.projects.locations.publishers.models.predict - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictRequest' + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.schedules.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PredictResponse' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -47677,45 +48994,43 @@ paths: schema: type: string - in: path - name: publishersId + name: schedulesId required: true schema: type: string - - in: path - name: modelsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - Perform a server-side streaming online prediction request for Vertex LLM - streaming. - operationId: aiplatform.projects.locations.publishers.models.serverStreamingPredict - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamingPredictRequest + 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. + operationId: aiplatform.projects.locations.schedules.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StreamingPredictResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -47728,43 +49043,34 @@ paths: schema: type: string - in: path - name: publishersId + name: schedulesId required: true schema: type: string - in: path - name: modelsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent: - parameters: *ref_1 - post: - description: Generate content with multimodal inputs. - operationId: aiplatform.projects.locations.publishers.models.generateContent - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.schedules.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47777,25 +49083,29 @@ paths: schema: type: string - in: path - name: publishersId + name: schedulesId required: true schema: type: string - in: path - name: modelsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:computeTokens: + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel: parameters: *ref_1 post: - description: Return a list of tokens based on the input text. - operationId: aiplatform.projects.locations.publishers.models.computeTokens - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' + description: >- + 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`. + operationId: aiplatform.projects.locations.schedules.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47807,8 +49117,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -47821,46 +49130,41 @@ paths: schema: type: string - in: path - name: publishersId + name: schedulesId required: true schema: type: string - in: path - name: modelsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict: + /v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- - 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. - operationId: aiplatform.projects.locations.publishers.models.rawPredict - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1RawPredictRequest' + 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. + operationId: aiplatform.projects.locations.schedules.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -47873,43 +49177,42 @@ paths: schema: type: string - in: path - name: publishersId + name: schedulesId required: true schema: type: string - in: path - name: modelsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamGenerateContent: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/specialistPools: parameters: *ref_1 post: - description: Generate content with multimodal inputs with streaming support. - operationId: aiplatform.projects.locations.publishers.models.streamGenerateContent + description: Creates a SpecialistPool. + operationId: aiplatform.projects.locations.specialistPools.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -47921,21 +49224,9 @@ paths: required: true schema: type: string - - in: path - name: publishersId - required: true - schema: - type: string - - in: path - name: modelsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores: - parameters: *ref_1 get: - description: Lists MetadataStores for a Location. - operationId: aiplatform.projects.locations.metadataStores.list + description: Lists SpecialistPools in a Location. + operationId: aiplatform.projects.locations.specialistPools.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -47948,7 +49239,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListMetadataStoresResponse + #/components/schemas/GoogleCloudAiplatformV1ListSpecialistPoolsResponse parameters: - in: path name: projectsId @@ -47969,46 +49260,16 @@ paths: name: pageToken schema: type: string - post: - description: Initializes a MetadataStore, including allocation of resources. - operationId: aiplatform.projects.locations.metadataStores.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataStore' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - in: query - name: metadataStoreId + name: readMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}: parameters: *ref_1 get: - description: Retrieves a specific MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.get + description: Gets a SpecialistPool. + operationId: aiplatform.projects.locations.specialistPools.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48020,7 +49281,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataStore' + $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' parameters: - in: path name: projectsId @@ -48033,15 +49294,13 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string delete: - description: >- - Deletes a single MetadataStore and all its child resources (Artifacts, - Executions, and Contexts). - operationId: aiplatform.projects.locations.metadataStores.delete + description: Deletes a SpecialistPool as well as all Specialists in the pool. + operationId: aiplatform.projects.locations.specialistPools.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48066,7 +49325,7 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string @@ -48074,11 +49333,14 @@ paths: name: force schema: type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas: - parameters: *ref_1 - get: - description: Lists MetadataSchemas. - operationId: aiplatform.projects.locations.metadataStores.metadataSchemas.list + patch: + description: Updates a SpecialistPool. + operationId: aiplatform.projects.locations.specialistPools.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SpecialistPool' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48090,8 +49352,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListMetadataSchemasResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48104,31 +49365,22 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + name: updateMask schema: type: string - post: - description: Creates a MetadataSchema. - operationId: aiplatform.projects.locations.metadataStores.metadataSchemas.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.specialistPools.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48140,7 +49392,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -48153,19 +49405,31 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string - in: query - name: metadataSchemaId + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}: parameters: *ref_1 get: - description: Retrieves a specific MetadataSchema. - operationId: aiplatform.projects.locations.metadataStores.metadataSchemas.get + description: >- + 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. + operationId: aiplatform.projects.locations.specialistPools.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48177,7 +49441,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1MetadataSchema' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48190,20 +49454,22 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string - in: path - name: metadataSchemasId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}: - parameters: *ref_1 delete: - description: Deletes a stored Context. - operationId: aiplatform.projects.locations.metadataStores.contexts.delete + description: >- + 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`. + operationId: aiplatform.projects.locations.specialistPools.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48215,7 +49481,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -48228,31 +49494,29 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string - in: path - name: contextsId + name: operationsId required: true schema: type: string - - in: query - name: etag - schema: - type: string - - in: query - name: force - schema: - type: boolean - patch: - description: Updates a stored Context. - operationId: aiplatform.projects.locations.metadataStores.contexts.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.specialistPools.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48264,7 +49528,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -48277,27 +49541,29 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string - in: path - name: contextsId + name: operationsId required: true schema: type: string - - in: query - name: allowMissing - schema: - type: boolean - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Retrieves a specific Context. - operationId: aiplatform.projects.locations.metadataStores.contexts.get + /v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait: + parameters: *ref_1 + post: + description: >- + 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. + operationId: aiplatform.projects.locations.specialistPools.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48309,7 +49575,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48322,23 +49588,30 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: specialistPoolsId required: true schema: type: string - in: path - name: contextsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph: + - in: query + name: timeout + schema: + type: string + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards: parameters: *ref_1 - get: - description: >- - Retrieves Artifacts and Executions within the specified Context, - connected by Event edges and returned as a LineageSubgraph. - operationId: >- - aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph + post: + description: Creates a Tensorboard. + operationId: aiplatform.projects.locations.tensorboards.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48350,7 +49623,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1LineageSubgraph' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48362,26 +49635,18 @@ paths: required: true schema: type: string - - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: contextsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts: - parameters: *ref_1 get: - description: Lists Contexts on the MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.contexts.list + description: Lists Tensorboards in a Location. + operationId: aiplatform.projects.locations.tensorboards.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -48389,7 +49654,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListContextsResponse + #/components/schemas/GoogleCloudAiplatformV1ListTensorboardsResponse parameters: - in: path name: projectsId @@ -48401,19 +49666,10 @@ paths: required: true schema: type: string - - in: path - name: metadataStoresId - required: true - schema: - type: string - in: query name: filter schema: type: string - - in: query - name: orderBy - schema: - type: string - in: query name: pageSize schema: @@ -48423,68 +49679,36 @@ paths: name: pageToken schema: type: string - post: - description: Creates a Context associated with a MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.contexts.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Context' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: metadataStoresId - required: true + - in: query + name: orderBy schema: type: string - in: query - name: contextId + name: readMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}: parameters: *ref_1 - post: - description: Purges Contexts. - operationId: aiplatform.projects.locations.metadataStores.contexts.purge - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1PurgeContextsRequest' + get: + description: Gets a Tensorboard. + operationId: aiplatform.projects.locations.tensorboards.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' parameters: - in: path name: projectsId @@ -48497,25 +49721,18 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions + patch: + description: Updates a Tensorboard. + operationId: aiplatform.projects.locations.tensorboards.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1Tensorboard' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48527,8 +49744,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48541,31 +49757,18 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - - in: path - name: contextsId - required: true + - in: query + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.contexts.addContextChildren - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddContextChildrenRequest + format: google-fieldmask + delete: + description: Deletes a Tensorboard. + operationId: aiplatform.projects.locations.tensorboards.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48577,8 +49780,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddContextChildrenResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48591,30 +49793,15 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: contextsId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage: parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.metadataStores.contexts.removeContextChildren - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1RemoveContextChildrenRequest + get: + description: Returns a list of monthly active users for a given TensorBoard instance. + operationId: aiplatform.projects.locations.tensorboards.readUsage security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48627,7 +49814,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1RemoveContextChildrenResponse + #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardUsageResponse parameters: - in: path name: projectsId @@ -48640,29 +49827,15 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: contextsId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize: parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.contexts.operations.wait + get: + description: Returns the storage size for a given TensorBoard instance. + operationId: aiplatform.projects.locations.tensorboards.readSize security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48674,7 +49847,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardSizeResponse parameters: - in: path name: projectsId @@ -48687,33 +49861,20 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: contextsId - required: true - schema: - type: string - - in: path - name: operationsId + name: tensorboardsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:batchRead: parameters: *ref_1 get: description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.contexts.operations.get + 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. + operationId: aiplatform.projects.locations.tensorboards.batchRead security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48725,7 +49886,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse parameters: - in: path name: projectsId @@ -48738,27 +49900,21 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: contextsId + name: tensorboardsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: timeSeries schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations: + parameters: *ref_1 + get: description: >- - 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`. - operationId: aiplatform.projects.locations.metadataStores.contexts.operations.delete + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.tensorboards.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48770,7 +49926,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -48783,27 +49939,31 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - - in: path - name: contextsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.metadataStores.contexts.operations.list + 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. + operationId: aiplatform.projects.locations.tensorboards.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48815,7 +49975,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48828,42 +49988,22 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: contextsId + name: operationsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel: - parameters: *ref_1 - post: + delete: description: >- - 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`. - operationId: aiplatform.projects.locations.metadataStores.contexts.operations.cancel + 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`. + operationId: aiplatform.projects.locations.tensorboards.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48888,12 +50028,7 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: contextsId + name: tensorboardsId required: true schema: type: string @@ -48902,7 +50037,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -48915,8 +50050,7 @@ paths: 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`. - operationId: >- - aiplatform.projects.locations.metadataStores.executions.operations.cancel + operationId: aiplatform.projects.locations.tensorboards.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48941,12 +50075,7 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: executionsId + name: tensorboardsId required: true schema: type: string @@ -48955,16 +50084,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait: parameters: *ref_1 - delete: + post: description: >- - 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`. - operationId: >- - aiplatform.projects.locations.metadataStores.executions.operations.delete + 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. + operationId: aiplatform.projects.locations.tensorboards.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -48976,7 +50109,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -48989,26 +50122,31 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: executionsId + name: operationsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: timeout schema: type: string - get: - description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.executions.operations.get + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments: + parameters: *ref_1 + post: + description: Creates a TensorboardExperiment. + operationId: aiplatform.projects.locations.tensorboards.experiments.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49020,7 +50158,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment parameters: - in: path name: projectsId @@ -49033,39 +50172,34 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: executionsId + name: tensorboardsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: tensorboardExperimentId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations: - parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.metadataStores.executions.operations.list + description: Lists TensorboardExperiments in a Location. + operationId: aiplatform.projects.locations.tensorboards.experiments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListTensorboardExperimentsResponse parameters: - in: path name: projectsId @@ -49078,12 +50212,7 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: executionsId + name: tensorboardsId required: true schema: type: string @@ -49091,41 +50220,46 @@ paths: name: filter schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: orderBy schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.executions.operations.wait + get: + description: Gets a TensorboardExperiment. + operationId: aiplatform.projects.locations.tensorboards.experiments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment parameters: - in: path name: projectsId @@ -49138,41 +50272,24 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: executionsId + name: tensorboardsId required: true schema: type: string - in: path - name: operationsId + name: experimentsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents: - parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - aiplatform.projects.locations.metadataStores.executions.addExecutionEvents + patch: + description: Updates a TensorboardExperiment. + operationId: aiplatform.projects.locations.tensorboards.experiments.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddExecutionEventsRequest + #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49185,7 +50302,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AddExecutionEventsResponse + #/components/schemas/GoogleCloudAiplatformV1TensorboardExperiment parameters: - in: path name: projectsId @@ -49198,20 +50315,23 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: executionsId + name: experimentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions: - parameters: *ref_1 - get: - description: Lists Executions in the MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.executions.list + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a TensorboardExperiment. + operationId: aiplatform.projects.locations.tensorboards.experiments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49223,8 +50343,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListExecutionsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -49237,35 +50356,28 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter + - in: path + name: experimentsId + required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:batchCreate: + parameters: *ref_1 post: - description: Creates an Execution associated with a MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.executions.create + description: >- + Batch create TensorboardTimeSeries that belong to a + TensorboardExperiment. + operationId: aiplatform.projects.locations.tensorboards.experiments.batchCreate requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49277,7 +50389,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse parameters: - in: path name: projectsId @@ -49290,19 +50403,29 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - - in: query - name: executionId + - in: path + name: experimentsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write: parameters: *ref_1 - get: - description: Retrieves a specific Execution. - operationId: aiplatform.projects.locations.metadataStores.executions.get + post: + description: >- + Write time series data points of multiple TensorboardTimeSeries in + multiple TensorboardRun's. If any data fail to be ingested, an error is + returned. + operationId: aiplatform.projects.locations.tensorboards.experiments.write + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49314,7 +50437,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse parameters: - in: path name: projectsId @@ -49327,23 +50451,22 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: executionsId + name: experimentsId required: true schema: type: string - patch: - description: Updates a stored Execution. - operationId: aiplatform.projects.locations.metadataStores.executions.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.tensorboards.experiments.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49355,7 +50478,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Execution' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -49368,27 +50491,36 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: executionsId + name: experimentsId required: true schema: type: string - in: query - name: updateMask + name: filter schema: type: string - format: google-fieldmask - in: query - name: allowMissing + name: pageSize schema: - type: boolean - delete: - description: Deletes an Execution. - operationId: aiplatform.projects.locations.metadataStores.executions.delete + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: aiplatform.projects.locations.tensorboards.experiments.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49413,30 +50545,27 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: executionsId + name: experimentsId required: true schema: type: string - - in: query - name: etag + - in: path + name: operationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge: - parameters: *ref_1 - post: - description: Purges Executions. - operationId: aiplatform.projects.locations.metadataStores.executions.purge - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PurgeExecutionsRequest + delete: + description: >- + 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`. + operationId: aiplatform.projects.locations.tensorboards.experiments.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49448,7 +50577,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -49461,19 +50590,34 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs: + - in: path + name: experimentsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: + post: description: >- - Obtains the set of input and output Artifacts for this Execution, in the - form of LineageSubgraph that also contains the Execution and connecting - Events. - operationId: >- - aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs + 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`. + operationId: aiplatform.projects.locations.tensorboards.experiments.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49485,7 +50629,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1LineageSubgraph' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -49498,25 +50642,34 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: executionsId + name: experimentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait: parameters: *ref_1 - patch: - description: Updates a stored Artifact. - operationId: aiplatform.projects.locations.metadataStores.artifacts.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + post: + description: >- + 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. + operationId: aiplatform.projects.locations.tensorboards.experiments.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49528,7 +50681,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -49541,27 +50694,35 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId required: true schema: type: string - - in: query - name: allowMissing + - in: path + name: operationsId + required: true schema: - type: boolean + type: string - in: query - name: updateMask + name: timeout schema: type: string - format: google-fieldmask - get: - description: Retrieves a specific Artifact. - operationId: aiplatform.projects.locations.metadataStores.artifacts.get + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs: + parameters: *ref_1 + post: + description: Creates a TensorboardRun. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49573,7 +50734,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' parameters: - in: path name: projectsId @@ -49586,30 +50747,39 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId required: true schema: type: string - delete: - description: Deletes an Artifact. - operationId: aiplatform.projects.locations.metadataStores.artifacts.delete + - in: query + name: tensorboardRunId + schema: + type: string + get: + description: Lists TensorboardRuns in a Location. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListTensorboardRunsResponse parameters: - in: path name: projectsId @@ -49622,30 +50792,48 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId required: true schema: type: string - in: query - name: etag + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate: parameters: *ref_1 post: - description: Purges Artifacts. - operationId: aiplatform.projects.locations.metadataStores.artifacts.purge + description: Batch create TensorboardRuns. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1PurgeArtifactsRequest + #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49657,7 +50845,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse parameters: - in: path name: projectsId @@ -49670,30 +50859,36 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph: + - in: path + name: experimentsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}: parameters: *ref_1 get: - description: >- - Retrieves lineage of an Artifact represented through Artifacts and - Executions connected by Event edges and returned as a LineageSubgraph. - operationId: >- - aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph + description: Gets a TensorboardRun. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1LineageSubgraph' + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' parameters: - in: path name: projectsId @@ -49706,29 +50901,28 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId required: true schema: type: string - - in: query - name: maxHops - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: runsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts: - parameters: *ref_1 - get: - description: Lists Artifacts in the MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.artifacts.list + patch: + description: Updates a TensorboardRun. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49740,8 +50934,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListArtifactsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1TensorboardRun' parameters: - in: path name: projectsId @@ -49754,35 +50947,28 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - - in: query - name: filter + - in: path + name: experimentsId + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: runsId + required: true schema: type: string - in: query - name: orderBy + name: updateMask schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates an Artifact associated with a MetadataStore. - operationId: aiplatform.projects.locations.metadataStores.artifacts.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + format: google-fieldmask + delete: + description: Deletes a TensorboardRun. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49794,7 +50980,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Artifact' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -49807,28 +50993,33 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - - in: query - name: artifactId + - in: path + name: experimentsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait: + - in: path + name: runsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write: parameters: *ref_1 post: - description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.wait + description: >- + Write time series data points into multiple TensorboardTimeSeries under + a TensorboardRun. If any data fail to be ingested, an error is returned. + operationId: aiplatform.projects.locations.tensorboards.experiments.runs.write + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardRunDataRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49840,7 +51031,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1WriteTensorboardRunDataResponse parameters: - in: path name: projectsId @@ -49853,32 +51045,28 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId required: true schema: type: string - in: path - name: operationsId + name: runsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.list + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49903,12 +51091,17 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId required: true schema: type: string @@ -49925,15 +51118,15 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}: parameters: *ref_1 - delete: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.delete + 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. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49945,7 +51138,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -49958,12 +51151,17 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId required: true schema: type: string @@ -49972,12 +51170,14 @@ paths: required: true schema: type: string - get: + delete: description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.get + 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`. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -49989,7 +51189,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -50002,12 +51202,17 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId required: true schema: type: string @@ -50016,7 +51221,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -50029,7 +51234,8 @@ paths: 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`. - operationId: aiplatform.projects.locations.metadataStores.artifacts.operations.cancel + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50054,12 +51260,17 @@ paths: schema: type: string - in: path - name: metadataStoresId + name: tensorboardsId required: true schema: type: string - in: path - name: artifactsId + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId required: true schema: type: string @@ -50068,7 +51279,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -50081,7 +51292,8 @@ paths: 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. - operationId: aiplatform.projects.locations.metadataStores.operations.wait + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50106,68 +51318,42 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: operationsId + name: tensorboardsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}: - parameters: *ref_1 - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.metadataStores.operations.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - in: path - name: projectsId + name: experimentsId required: true schema: type: string - in: path - name: locationsId + name: runsId required: true schema: type: string - in: path - name: metadataStoresId + name: operationsId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: timeout schema: type: string - get: - description: >- - 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. - operationId: aiplatform.projects.locations.metadataStores.operations.get + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries: + parameters: *ref_1 + post: + description: Creates a TensorboardTimeSeries. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50179,7 +51365,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries parameters: - in: path name: projectsId @@ -50192,89 +51379,45 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations: - parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.metadataStores.operations.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' - parameters: - - in: path - name: projectsId + name: tensorboardsId required: true schema: type: string - in: path - name: locationsId + name: experimentsId required: true schema: type: string - in: path - name: metadataStoresId + name: runsId required: true schema: type: string - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + name: tensorboardTimeSeriesId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel: - parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.metadataStores.operations.cancel + get: + description: Lists TensorboardTimeSeries in a Location. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse parameters: - in: path name: projectsId @@ -50287,41 +51430,17 @@ paths: schema: type: string - in: path - name: metadataStoresId - required: true - schema: - type: string - - in: path - name: operationsId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes: - parameters: *ref_1 - get: - description: Lists NotebookRuntimes in a Location. - operationId: aiplatform.projects.locations.notebookRuntimes.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListNotebookRuntimesResponse - parameters: - in: path - name: projectsId + name: experimentsId required: true schema: type: string - in: path - name: locationsId + name: runsId required: true schema: type: string @@ -50329,6 +51448,11 @@ paths: name: filter schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: pageToken schema: @@ -50342,28 +51466,29 @@ paths: schema: type: string format: google-fieldmask - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}: parameters: *ref_1 get: - description: Gets a NotebookRuntime. - operationId: aiplatform.projects.locations.notebookRuntimes.get + description: Gets a TensorboardTimeSeries. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1NotebookRuntime' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries parameters: - in: path name: projectsId @@ -50376,55 +51501,35 @@ paths: schema: type: string - in: path - name: notebookRuntimesId + name: tensorboardsId required: true schema: type: string - delete: - description: Deletes a NotebookRuntime. - operationId: aiplatform.projects.locations.notebookRuntimes.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - in: path - name: projectsId + name: experimentsId required: true schema: type: string - in: path - name: locationsId + name: runsId required: true schema: type: string - in: path - name: notebookRuntimesId + name: timeSeriesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign: - parameters: *ref_1 - post: - description: >- - Assigns a NotebookRuntime to a user for a particular Notebook file. This - method will either returns an existing assignment or generates a new - one. - operationId: aiplatform.projects.locations.notebookRuntimes.assign + patch: + description: Updates a TensorboardTimeSeries. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1AssignNotebookRuntimeRequest + #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50436,7 +51541,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1TensorboardTimeSeries parameters: - in: path name: projectsId @@ -50448,56 +51554,35 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade: - parameters: *ref_1 - post: - description: Upgrades a NotebookRuntime. - operationId: aiplatform.projects.locations.notebookRuntimes.upgrade - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - in: path - name: projectsId + name: tensorboardsId required: true schema: type: string - in: path - name: locationsId + name: experimentsId required: true schema: type: string - in: path - name: notebookRuntimesId + name: runsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start: - parameters: *ref_1 - post: - description: Starts a NotebookRuntime. - operationId: aiplatform.projects.locations.notebookRuntimes.start - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1StartNotebookRuntimeRequest + - in: path + name: timeSeriesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a TensorboardTimeSeries. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50522,29 +51607,53 @@ paths: schema: type: string - in: path - name: notebookRuntimesId + name: tensorboardsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations: + - in: path + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read: parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.notebookRuntimes.operations.list + 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. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse parameters: - in: path name: projectsId @@ -50557,49 +51666,60 @@ paths: schema: type: string - in: path - name: notebookRuntimesId + name: tensorboardsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: experimentsId + required: true schema: type: string - - in: query - name: filter + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId + required: true schema: type: string - in: query - name: pageSize + name: maxDataPoints schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel: + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.notebookRuntimes.operations.cancel + 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. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse parameters: - in: path name: projectsId @@ -50612,23 +51732,43 @@ paths: schema: type: string - in: path - name: notebookRuntimesId + name: tensorboardsId required: true schema: type: string - in: path - name: operationsId + name: experimentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}: + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId + required: true + schema: + type: string + - in: query + name: blobIds + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: aiplatform.projects.locations.notebookRuntimes.operations.get + Exports a TensorboardTimeSeries' data. Data is returned in paginated + responses. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50640,7 +51780,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse parameters: - in: path name: projectsId @@ -50653,22 +51794,33 @@ paths: schema: type: string - in: path - name: notebookRuntimesId + name: tensorboardsId required: true schema: type: string - in: path - name: operationsId + name: experimentsId required: true schema: type: string - delete: + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations: + parameters: *ref_1 + get: description: >- - 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`. - operationId: aiplatform.projects.locations.notebookRuntimes.operations.delete + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50680,7 +51832,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -50693,75 +51845,47 @@ paths: schema: type: string - in: path - name: notebookRuntimesId + name: tensorboardsId required: true schema: type: string - in: path - name: operationsId + name: experimentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.notebookRuntimes.operations.wait - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - in: path - name: projectsId + name: runsId required: true schema: type: string - in: path - name: locationsId + name: timeSeriesId required: true schema: type: string - - in: path - name: notebookRuntimesId - required: true + - in: query + name: filter schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: timeout + name: pageToken schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.trainingPipelines.operations.get + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50786,7 +51910,22 @@ paths: schema: type: string - in: path - name: trainingPipelinesId + name: tensorboardsId + required: true + schema: + type: string + - in: path + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId required: true schema: type: string @@ -50801,7 +51940,8 @@ paths: 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`. - operationId: aiplatform.projects.locations.trainingPipelines.operations.delete + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50826,7 +51966,22 @@ paths: schema: type: string - in: path - name: trainingPipelinesId + name: tensorboardsId + required: true + schema: + type: string + - in: path + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId required: true schema: type: string @@ -50835,7 +51990,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -50848,7 +52003,8 @@ paths: 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`. - operationId: aiplatform.projects.locations.trainingPipelines.operations.cancel + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50873,7 +52029,22 @@ paths: schema: type: string - in: path - name: trainingPipelinesId + name: tensorboardsId + required: true + schema: + type: string + - in: path + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId required: true schema: type: string @@ -50882,7 +52053,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait: + /v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait: parameters: *ref_1 post: description: >- @@ -50895,7 +52066,8 @@ paths: 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. - operationId: aiplatform.projects.locations.trainingPipelines.operations.wait + operationId: >- + aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50920,7 +52092,22 @@ paths: schema: type: string - in: path - name: trainingPipelinesId + name: tensorboardsId + required: true + schema: + type: string + - in: path + name: experimentsId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string + - in: path + name: timeSeriesId required: true schema: type: string @@ -50934,13 +52121,18 @@ paths: schema: type: string format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/studies: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.trainingPipelines.operations.list + Creates a Study. A resource name will be generated after creation of the + Study. + operationId: aiplatform.projects.locations.studies.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -50952,7 +52144,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' parameters: - in: path name: projectsId @@ -50964,44 +52156,9 @@ paths: required: true schema: type: string - - in: path - name: trainingPipelinesId - required: true - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel: - parameters: *ref_1 - post: - description: >- - 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`. - operationId: aiplatform.projects.locations.trainingPipelines.cancel - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1CancelTrainingPipelineRequest + get: + description: Lists all the studies in a region for an associated project. + operationId: aiplatform.projects.locations.studies.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51013,7 +52170,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListStudiesResponse parameters: - in: path name: projectsId @@ -51025,16 +52183,20 @@ paths: required: true schema: type: string - - in: path - name: trainingPipelinesId - required: true + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}: parameters: *ref_1 get: - description: Gets a TrainingPipeline. - operationId: aiplatform.projects.locations.trainingPipelines.get + description: Gets a Study by name. + operationId: aiplatform.projects.locations.studies.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51046,7 +52208,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' parameters: - in: path name: projectsId @@ -51059,13 +52221,13 @@ paths: schema: type: string - in: path - name: trainingPipelinesId + name: studiesId required: true schema: type: string delete: - description: Deletes a TrainingPipeline. - operationId: aiplatform.projects.locations.trainingPipelines.delete + description: Deletes a Study. + operationId: aiplatform.projects.locations.studies.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51077,7 +52239,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -51090,22 +52252,22 @@ paths: schema: type: string - in: path - name: trainingPipelinesId + name: studiesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines: + /v1/projects/{projectsId}/locations/{locationsId}/studies:lookup: parameters: *ref_1 post: description: >- - Creates a TrainingPipeline. A created TrainingPipeline right away will - be attempted to be run. - operationId: aiplatform.projects.locations.trainingPipelines.create + Looks a study up using the user-defined display_name field instead of + the fully qualified resource name. + operationId: aiplatform.projects.locations.studies.lookup requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' + $ref: '#/components/schemas/GoogleCloudAiplatformV1LookupStudyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51117,7 +52279,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1TrainingPipeline' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Study' parameters: - in: path name: projectsId @@ -51129,9 +52291,13 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations: + parameters: *ref_1 get: - description: Lists TrainingPipelines in a Location. - operationId: aiplatform.projects.locations.trainingPipelines.list + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: aiplatform.projects.locations.studies.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51143,8 +52309,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListTrainingPipelinesResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -51156,84 +52321,32 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: studiesId + required: true schema: type: string - in: query - name: readMask + name: filter schema: type: string - format: google-fieldmask - in: query name: pageSize schema: type: integer format: int32 - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait: - parameters: *ref_1 - post: - description: >- - 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. - operationId: aiplatform.projects.locations.indexes.operations.wait - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: indexesId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - - in: query - name: timeout + name: pageToken schema: type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: aiplatform.projects.locations.indexes.operations.get + operationId: aiplatform.projects.locations.studies.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51258,7 +52371,7 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string @@ -51273,7 +52386,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.indexes.operations.delete + operationId: aiplatform.projects.locations.studies.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51298,7 +52411,7 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string @@ -51307,7 +52420,7 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- @@ -51320,7 +52433,7 @@ paths: 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`. - operationId: aiplatform.projects.locations.indexes.operations.cancel + operationId: aiplatform.projects.locations.studies.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51345,7 +52458,7 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string @@ -51354,13 +52467,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.indexes.operations.list + 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. + operationId: aiplatform.projects.locations.studies.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51372,7 +52492,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -51385,28 +52505,34 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: operationsId + required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + name: timeout schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}: + format: google-duration + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest: parameters: *ref_1 - get: - description: Gets an Index. - operationId: aiplatform.projects.locations.indexes.get + post: + description: >- + 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. + operationId: aiplatform.projects.locations.studies.trials.suggest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1SuggestTrialsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51418,7 +52544,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -51431,18 +52557,20 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string - patch: - description: Updates an Index. - operationId: aiplatform.projects.locations.indexes.patch + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials: + parameters: *ref_1 + post: + description: Adds a user provided Trial to a Study. + operationId: aiplatform.projects.locations.studies.trials.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51454,7 +52582,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' parameters: - in: path name: projectsId @@ -51467,20 +52595,13 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: >- - Deletes an Index. An Index can only be deleted when all its - DeployedIndexes had been undeployed. - operationId: aiplatform.projects.locations.indexes.delete + get: + description: Lists the Trials associated with a Study. + operationId: aiplatform.projects.locations.studies.trials.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51492,7 +52613,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ListTrialsResponse' parameters: - in: path name: projectsId @@ -51505,21 +52626,24 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints: + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}: parameters: *ref_1 - post: - description: Add/update Datapoints into an Index. - operationId: aiplatform.projects.locations.indexes.upsertDatapoints - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1UpsertDatapointsRequest + get: + description: Gets a Trial. + operationId: aiplatform.projects.locations.studies.trials.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51531,8 +52655,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1UpsertDatapointsResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' parameters: - in: path name: projectsId @@ -51545,21 +52668,18 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints: - parameters: *ref_1 - post: - description: Remove Datapoints from an Index. - operationId: aiplatform.projects.locations.indexes.removeDatapoints - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1RemoveDatapointsRequest + - in: path + name: trialsId + required: true + schema: + type: string + delete: + description: Deletes a Trial. + operationId: aiplatform.projects.locations.studies.trials.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51571,8 +52691,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1RemoveDatapointsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -51585,15 +52704,28 @@ paths: schema: type: string - in: path - name: indexesId + name: studiesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexes: + - in: path + name: trialsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement: parameters: *ref_1 - get: - description: Lists Indexes in a Location. - operationId: aiplatform.projects.locations.indexes.list + post: + description: >- + Adds a measurement of the objective metrics to a Trial. This measurement + is assumed to have been taken before the Trial is complete. + operationId: aiplatform.projects.locations.studies.trials.addTrialMeasurement + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1AddTrialMeasurementRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51605,8 +52737,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListIndexesResponse + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' parameters: - in: path name: projectsId @@ -51618,32 +52749,26 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: readMask + - in: path + name: studiesId + required: true schema: type: string - format: google-fieldmask - - in: query - name: filter + - in: path + name: trialsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete: + parameters: *ref_1 post: - description: Creates an Index. - operationId: aiplatform.projects.locations.indexes.create + description: Marks a Trial as complete. + operationId: aiplatform.projects.locations.studies.trials.complete requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1Index' + $ref: '#/components/schemas/GoogleCloudAiplatformV1CompleteTrialRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51655,7 +52780,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' parameters: - in: path name: projectsId @@ -51667,20 +52792,31 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait: + - in: path + name: studiesId + required: true + schema: + type: string + - in: path + name: trialsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState: parameters: *ref_1 post: description: >- - 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. - operationId: aiplatform.projects.locations.indexEndpoints.operations.wait + Checks whether a Trial should stop or not. Returns a long-running + operation. When the operation is successful, it will contain a + CheckTrialEarlyStoppingStateResponse. + operationId: >- + aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51705,29 +52841,25 @@ paths: schema: type: string - in: path - name: indexEndpointsId + name: studiesId required: true schema: type: string - in: path - name: operationsId + name: trialsId required: true schema: type: string - - in: query - name: timeout - schema: - type: string - format: google-duration - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop: parameters: *ref_1 - delete: - description: >- - 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`. - operationId: aiplatform.projects.locations.indexEndpoints.operations.delete + post: + description: Stops a Trial. + operationId: aiplatform.projects.locations.studies.trials.stop + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1StopTrialRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51739,7 +52871,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudAiplatformV1Trial' parameters: - in: path name: projectsId @@ -51752,21 +52884,29 @@ paths: schema: type: string - in: path - name: indexEndpointsId + name: studiesId required: true schema: type: string - in: path - name: operationsId + name: trialsId required: true schema: type: string - get: + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials: + parameters: *ref_1 + post: description: >- - 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. - operationId: aiplatform.projects.locations.indexEndpoints.operations.get + 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 + operationId: aiplatform.projects.locations.studies.trials.listOptimalTrials + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListOptimalTrialsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51778,7 +52918,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ListOptimalTrialsResponse parameters: - in: path name: projectsId @@ -51791,22 +52932,17 @@ paths: schema: type: string - in: path - name: indexEndpointsId - required: true - schema: - type: string - - in: path - name: operationsId + name: studiesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: aiplatform.projects.locations.indexEndpoints.operations.list + operationId: aiplatform.projects.locations.studies.trials.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51831,16 +52967,17 @@ paths: schema: type: string - in: path - name: indexEndpointsId + name: studiesId required: true schema: type: string - - in: query - name: filter + - in: path + name: trialsId + required: true schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -51848,20 +52985,18 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel: + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: aiplatform.projects.locations.indexEndpoints.operations.cancel + 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. + operationId: aiplatform.projects.locations.studies.trials.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51873,7 +53008,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -51886,7 +53021,12 @@ paths: schema: type: string - in: path - name: indexEndpointsId + name: studiesId + required: true + schema: + type: string + - in: path + name: trialsId required: true schema: type: string @@ -51895,11 +53035,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}: - parameters: *ref_1 delete: - description: Deletes an IndexEndpoint. - operationId: aiplatform.projects.locations.indexEndpoints.delete + description: >- + 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`. + operationId: aiplatform.projects.locations.studies.trials.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51911,7 +53053,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -51924,49 +53066,34 @@ paths: schema: type: string - in: path - name: indexEndpointsId - required: true - schema: - type: string - get: - description: Gets an IndexEndpoint. - operationId: aiplatform.projects.locations.indexEndpoints.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' - parameters: - - in: path - name: projectsId + name: studiesId required: true schema: type: string - in: path - name: locationsId + name: trialsId required: true schema: type: string - in: path - name: indexEndpointsId + name: operationsId required: true schema: type: string - patch: - description: Updates an IndexEndpoint. - operationId: aiplatform.projects.locations.indexEndpoints.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: aiplatform.projects.locations.studies.trials.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -51978,7 +53105,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -51991,20 +53118,34 @@ paths: schema: type: string - in: path - name: indexEndpointsId + name: studiesId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: trialsId + required: true schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait: parameters: *ref_1 - get: - description: Lists IndexEndpoints in a Location. - operationId: aiplatform.projects.locations.indexEndpoints.list + post: + description: >- + 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. + operationId: aiplatform.projects.locations.studies.trials.operations.wait security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -52016,8 +53157,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ListIndexEndpointsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -52029,70 +53169,80 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: studiesId + required: true schema: type: string - - in: query - name: filter + - in: path + name: trialsId + required: true schema: type: string - - in: query - name: pageSize + - in: path + name: operationsId + required: true schema: - type: integer - format: int32 + type: string - in: query - name: readMask + name: timeout schema: type: string - format: google-fieldmask + format: google-duration + /v1/endpoints/{endpointsId}:generateContent: + parameters: *ref_1 post: - description: Creates an IndexEndpoint. - operationId: aiplatform.projects.locations.indexEndpoints.create + description: Generate content with multimodal inputs. + operationId: aiplatform.endpoints.generateContent requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1IndexEndpoint' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors: + /v1/endpoints/{endpointsId}:streamGenerateContent: parameters: *ref_1 post: - description: Finds the nearest neighbors of each vector within the request. - operationId: aiplatform.projects.locations.indexEndpoints.findNeighbors + description: Generate content with multimodal inputs with streaming support. + operationId: aiplatform.endpoints.streamGenerateContent requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1FindNeighborsRequest' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response @@ -52100,36 +53250,23 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1FindNeighborsResponse + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: indexEndpointsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints: + /v1/endpoints/{endpointsId}:countTokens: parameters: *ref_1 post: - description: >- - Reads the datapoints/vectors of the given IDs. A maximum of 1000 - datapoints can be retrieved in a batch. - operationId: aiplatform.projects.locations.indexEndpoints.readIndexDatapoints + description: Perform a token counting. + operationId: aiplatform.endpoints.countTokens requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadIndexDatapointsRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -52142,35 +53279,23 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1ReadIndexDatapointsResponse + #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: indexEndpointsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex: + /v1/endpoints/{endpointsId}:computeTokens: parameters: *ref_1 post: - description: >- - Deploys an Index into this IndexEndpoint, creating a DeployedIndex - within it. Only non-empty Indexes can be deployed. - operationId: aiplatform.projects.locations.indexEndpoints.deployIndex + description: Return a list of tokens based on the input text. + operationId: aiplatform.endpoints.computeTokens requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployIndexRequest' + $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -52182,106 +53307,102 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: indexEndpointsId + name: endpointsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex: + /v1/publishers/{publishersId}/models/{modelsId}:generateContent: parameters: *ref_1 post: - description: >- - Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from - it, and freeing all resources it's using. - operationId: aiplatform.projects.locations.indexEndpoints.undeployIndex + description: Generate content with multimodal inputs. + operationId: aiplatform.publishers.models.generateContent requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1UndeployIndexRequest' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId + name: publishersId required: true schema: type: string - in: path - name: indexEndpointsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex: + /v1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent: parameters: *ref_1 post: - description: Update an existing DeployedIndex under an IndexEndpoint. - operationId: aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex + description: Generate content with multimodal inputs with streaming support. + operationId: aiplatform.publishers.models.streamGenerateContent requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAiplatformV1DeployedIndex' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1GenerateContentResponse parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId + name: publishersId required: true schema: type: string - in: path - name: indexEndpointsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}: + /v1/publishers/{publishersId}/models/{modelsId}:countTokens: parameters: *ref_1 - get: - description: Gets information about a location. - operationId: aiplatform.projects.locations.get + post: + description: Perform a token counting. + operationId: aiplatform.publishers.models.countTokens + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAiplatformV1CountTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -52293,29 +53414,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudLocationLocation' + $ref: >- + #/components/schemas/GoogleCloudAiplatformV1CountTokensResponse parameters: - in: path - name: projectsId + name: publishersId required: true schema: type: string - in: path - name: locationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:evaluateInstances: + /v1/publishers/{publishersId}/models/{modelsId}:computeTokens: parameters: *ref_1 post: - description: Evaluates instances based on a given metric. - operationId: aiplatform.projects.locations.evaluateInstances + description: Return a list of tokens based on the input text. + operationId: aiplatform.publishers.models.computeTokens requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAiplatformV1EvaluateInstancesRequest + $ref: '#/components/schemas/GoogleCloudAiplatformV1ComputeTokensRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -52328,23 +53449,23 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAiplatformV1EvaluateInstancesResponse + #/components/schemas/GoogleCloudAiplatformV1ComputeTokensResponse parameters: - in: path - name: projectsId + name: publishersId required: true schema: type: string - in: path - name: locationsId + name: modelsId required: true schema: type: string - /v1/projects/{projectsId}/locations: + /v1/publishers/{publishersId}/models/{modelsId}: parameters: *ref_1 get: - description: Lists information about the supported locations for this service. - operationId: aiplatform.projects.locations.list + description: Gets a Model Garden publisher model. + operationId: aiplatform.publishers.models.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -52356,23 +53477,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudLocationListLocationsResponse' + $ref: '#/components/schemas/GoogleCloudAiplatformV1PublisherModel' parameters: - in: path - name: projectsId + name: publishersId + required: true + schema: + type: string + - in: path + name: modelsId required: true schema: type: string - in: query - name: pageToken + name: languageCode schema: type: string - in: query - name: filter + name: view schema: type: string - in: query - name: pageSize + name: isHuggingFaceModel schema: - type: integer - format: int32 + type: boolean + - in: query + name: huggingFaceToken + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/airquality.yaml b/providers/src/googleapis.com/v00.00.00000/services/airquality.yaml index a536e6e9..5b953d57 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/airquality.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/airquality.yaml @@ -7,8 +7,8 @@ info: title: Air Quality API description: The Air Quality API. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/maps/documentation/air-quality servers: @@ -34,349 +34,120 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - AirQualityIndex: - description: >- - The basic object for representing different air quality metrics. When - brought together, these metrics provide a snapshot about the current air - quality conditions. There are multiple indexes in the world serving - different purposes and groups interested in measuring different aspects - of air quality. - id: AirQualityIndex - type: object - properties: - displayName: - description: >- - A human readable representation of the index name. Example: "AQI - (US)" - type: string - color: - description: The color used to represent the AQI numeric score. - $ref: '#/components/schemas/Color' - dominantPollutant: - type: string - description: 'The chemical symbol of the dominant pollutant. For example: "CO".' - code: - type: string - description: >- - The index's code. This field represents the index for programming - purposes by using snake case instead of spaces. Examples: "uaqi", - "fra_atmo". - aqi: - format: int32 - description: ' The index''s numeric score. Examples: 10, 100. The value is not normalized and should only be interpreted in the context of its related air-quality index. For non-numeric indexes, this field will not be returned. Note: This field should be used for calculations, graph display, etc. For displaying the index score, you should use the AQI display field.' - type: integer - aqiDisplay: - description: >- - Textual representation of the index numeric score, that may include - prefix or suffix symbols, which usually represents the worst index - score. Example: >100 or 10+. Note: This field should be used when - you want to display the index score. For non-numeric indexes, this - field is empty. - type: string - category: - description: >- - Textual classification of the index numeric score interpretation. - For example: "Excellent air quality". - type: string - AdditionalInfo: - id: AdditionalInfo - properties: - effects: - type: string - description: Text representing the pollutant's main health effects. - sources: - description: Text representing the pollutant's main emission sources. - type: string - description: The emission sources and health effects of a given pollutant. - type: object - Color: - description: >- - Represents a color in the RGBA color space. This representation is - designed for simplicity of conversion to and from color representations - in various languages over compactness. For example, the fields of this - representation can be trivially provided to the constructor of - `java.awt.Color` in Java; it can also be trivially provided to UIColor's - `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little - work, it can be easily formatted into a CSS `rgba()` string in - JavaScript. This reference page doesn't have information about the - absolute color space that should be used to interpret the RGB value—for - example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications - should assume the sRGB color space. When color equality needs to be - decided, implementations, unless documented otherwise, treat two colors - as equal if all their red, green, blue, and alpha values each differ by - at most `1e-5`. Example (Java): import com.google.type.Color; // ... - public static java.awt.Color fromProto(Color protocolor) { float alpha = - protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return - new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), - protocolor.getBlue(), alpha); } public static Color - toProto(java.awt.Color color) { float red = (float) color.getRed(); - float green = (float) color.getGreen(); float blue = (float) - color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder - = Color .newBuilder() .setRed(red / denominator) .setGreen(green / - denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); - if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() - .setValue(((float) alpha) / denominator) .build()); } return - resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static - UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; - float green = [protocolor green]; float blue = [protocolor blue]; - FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if - (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return - [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static - Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if - (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return - nil; } Color* result = [[Color alloc] init]; [result setRed:red]; - [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { - [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; - return result; } // ... Example (JavaScript): // ... var protoToCssColor - = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var - greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || - 0.0; var red = Math.floor(redFrac * 255); var green = - Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if - (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } - var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, - green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, - ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var - rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString - = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var - resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { - resultBuilder.push('0'); } resultBuilder.push(hexString); return - resultBuilder.join(''); }; // ... - id: Color - type: object - properties: - alpha: - description: >- - The fraction of this color that should be applied to the pixel. That - is, the final pixel color is defined by the equation: `pixel color = - alpha * (this color) + (1.0 - alpha) * (background color)` This - means that a value of 1.0 corresponds to a solid color, whereas a - value of 0.0 corresponds to a completely transparent color. This - uses a wrapper message rather than a simple float scalar so that it - is possible to distinguish between a default value and the value - being unset. If omitted, this color object is rendered as a solid - color (as if the alpha value had been explicitly given a value of - 1.0). - type: number - format: float - red: - type: number - description: The amount of red in the color as a value in the interval [0, 1]. - format: float - blue: - description: The amount of blue in the color as a value in the interval [0, 1]. - format: float - type: number - green: - description: The amount of green in the color as a value in the interval [0, 1]. - type: number - format: float - Interval: - type: object - properties: - endTime: - format: google-datetime - description: >- - Optional. Exclusive end of the interval. If specified, a Timestamp - matching this interval will have to be before the end. - type: string - startTime: - type: string - description: >- - Optional. Inclusive start of the interval. If specified, a Timestamp - matching this interval will have to be the same or after the start. - format: google-datetime - id: Interval - description: >- - 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. - HealthRecommendations: - description: >- - Health recommendations for different population groups in a free text - format. The recommendations are derived from their associated air - quality conditions. - id: HealthRecommendations - properties: - children: - description: Younger populations including children, toddlers, and babies. - type: string - elderly: - description: Retirees and people older than the general population. - type: string - athletes: - type: string - description: Sports and other strenuous outdoor activities. - pregnantWomen: - type: string - description: Women at all stages of pregnancy. - heartDiseasePopulation: - description: Heart and circulatory system diseases. - type: string - generalPopulation: - description: No specific sensitivities. - type: string - lungDiseasePopulation: - type: string - description: Respiratory related problems and asthma suffers. - type: object Concentration: properties: - value: - format: float - type: number - description: Value of the pollutant concentration. units: - description: Units for measuring this pollutant concentration. - type: string enum: - UNIT_UNSPECIFIED - PARTS_PER_BILLION - MICROGRAMS_PER_CUBIC_METER + description: Units for measuring this pollutant concentration. + type: string enumDescriptions: - Unspecified concentration unit. - The ppb (parts per billion) concentration unit. - The "µg/m^3" (micrograms per cubic meter) concentration unit. - id: Concentration + value: + type: number + format: float + description: Value of the pollutant concentration. description: The concentration of a given pollutant in the air. + id: Concentration type: object - CustomLocalAqi: - type: object - description: >- - Expresses a 'country/region to AQI' relationship. Pairs a country/region - with a desired AQI so that air quality data that is required for that - country/region will be displayed according to the chosen AQI. - id: CustomLocalAqi - properties: - aqi: - type: string - description: >- - The AQI to associate the country/region with. Value should be a - [valid index](/maps/documentation/air-quality/laqis) code. - regionCode: - type: string - description: >- - The country/region requiring the custom AQI. Value should be - provided using [ISO 3166-1 - alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code. - HttpBody: - properties: - contentType: - type: string - description: >- - The HTTP Content-Type header value specifying the content type of - the body. - extensions: - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - description: >- - Application specific response metadata. Must be set in the first - response for streaming APIs. - type: array - data: - format: byte - type: string - description: The HTTP request/response body as raw binary. - type: object - description: >- - Message that represents an arbitrary HTTP body. It should only be used - for payload formats that can't be represented as JSON, such as raw - binary or an HTML page. This message can be used both in streaming and - non-streaming API methods in the request as well as the response. It can - be used as a top-level request field, which is convenient if one wants - to extract parameters from either the URL or HTTP template into the - request fields and also want access to the raw HTTP body. Example: - message GetResourceRequest { // A unique request id. string request_id = - 1; // The raw HTTP body is bound to this field. google.api.HttpBody - http_body = 2; } service ResourceService { rpc - GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } - Example with streaming methods: service CaldavService { rpc - GetCalendar(stream google.api.HttpBody) returns (stream - google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) - returns (stream google.api.HttpBody); } Use of this type only changes - how the request and response bodies are handled, all other features will - continue to work unchanged. - id: HttpBody - LookupForecastResponse: - id: LookupForecastResponse - description: The response object of the air quality forecast API. + LookupCurrentConditionsResponse: properties: regionCode: description: >- - Optional. The ISO_3166-1 alpha-2 code of the country/region - corresponding to the location provided in the request. This field - might be omitted from the response if the location provided in the - request resides in a disputed territory. - type: string - nextPageToken: - description: Optional. The token to retrieve the next page. + The ISO_3166-1 alpha-2 code of the country/region corresponding to + the location provided in the request. This field might be omitted + from the response if the location provided in the request resides in + a disputed territory. type: string - hourlyForecasts: + indexes: description: >- - Optional. Contains the air quality information for each hour in the - requested range. For example, if the request is for 48 hours of - forecast there will be 48 elements of hourly forecasts. + Based on the request parameters, this list will include (up to) two + air quality indexes: - Universal AQI. Will be returned if the + universalAqi boolean is set to true. - Local AQI. Will be returned + if the LOCAL_AQI extra computation is specified. type: array items: - $ref: '#/components/schemas/HourlyForecast' - type: object - HourInfo: - type: object - id: HourInfo - description: >- - Contains the air quality information for each hour in the requested - range. For example, if the request is for 48 hours of history there will - be 48 elements of hourly info. - properties: - dateTime: - format: google-datetime - type: string - description: >- - A rounded down timestamp indicating the time the data refers to in - RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine - fractional digits. For example: "2014-10-02T15:00:00Z". + $ref: '#/components/schemas/AirQualityIndex' healthRecommendations: - $ref: '#/components/schemas/HealthRecommendations' description: >- Health advice and recommended actions related to the reported air quality conditions. Recommendations are tailored differently for populations at risk, groups with greater sensitivities to pollutants, and the general population. + $ref: '#/components/schemas/HealthRecommendations' + dateTime: + format: google-datetime + type: string + description: >- + A rounded down timestamp in RFC3339 UTC "Zulu" format, with + nanosecond resolution and up to nine fractional digits. For example: + "2014-10-02T15:00:00Z". pollutants: + type: array items: $ref: '#/components/schemas/Pollutant' - type: array description: >- A list of pollutants affecting the location specified in the request. Note: This field will be returned only for requests that specified one or more of the following extra computations: POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, POLLUTANT_CONCENTRATION. - indexes: - type: array + id: LookupCurrentConditionsResponse + type: object + LookupHistoryResponse: + type: object + properties: + regionCode: + type: string description: >- - Based on the request parameters, this list will include (up to) two - air quality indexes: - Universal AQI. Will be returned if the - universalAqi boolean is set to true. - Local AQI. Will be returned - if the LOCAL_AQI extra computation is specified. + Optional. The ISO_3166-1 alpha-2 code of the country/region + corresponding to the location provided in the request. This field + might be omitted from the response if the location provided in the + request resides in a disputed territory. + hoursInfo: + type: array items: - $ref: '#/components/schemas/AirQualityIndex' - LookupCurrentConditionsRequest: - id: LookupCurrentConditionsRequest + $ref: '#/components/schemas/HourInfo' + description: >- + Optional. Contains the air quality information for each hour in the + requested range. For example, if the request is for 48 hours of + history there will be 48 elements of hourly info. + nextPageToken: + type: string + description: Optional. The token to retrieve the next page. + id: LookupHistoryResponse + LookupForecastRequest: + description: The request object of the air quality forecast API. + id: LookupForecastRequest type: object - description: The request definition of the air quality current conditions. properties: - location: - $ref: '#/components/schemas/LatLng' + period: + $ref: '#/components/schemas/Interval' description: >- - Required. The longitude and latitude from which the API looks for - air quality current conditions data. + Indicates the start and end period for which to get the forecast + data. The timestamp is rounded to the previous exact hour. + dateTime: + description: >- + A timestamp for which to return the data for a specific point in + time. The timestamp is rounded to the previous exact hour. Note: + this will return hourly data for the requested timestamp only (i.e. + a single hourly info element). For example, a request sent where the + date_time parameter is set to 2023-01-03T11:05:49Z will be rounded + down to 2023-01-03T11:00:00Z. + format: google-datetime + type: string + universalAqi: + type: boolean + description: >- + Optional. If set to true, the Universal AQI will be included in the + 'indexes' field of the response (default = true). customLocalAqis: + items: + $ref: '#/components/schemas/CustomLocalAqi' description: >- Optional. Expresses a 'country/region to AQI' relationship. Pairs a country/region with a desired AQI so that air quality data that is @@ -385,37 +156,6 @@ components: for a given country, for example, to get the US EPA index for Canada rather than the default index for Canada. type: array - items: - $ref: '#/components/schemas/CustomLocalAqi' - uaqiColorPalette: - enumDescriptions: - - The default value. Ignored if passed as a parameter. - - Determines whether to use a red/green palette. - - Determines whether to use a indigo/persian palette (dark theme). - - Determines whether to use a indigo/persian palette (light theme). - description: >- - Optional. Determines the color palette used for data provided by the - 'Universal Air Quality Index' (UAQI). This color palette is relevant - just for UAQI, other AQIs have a predetermined color palette that - can't be controlled. - enum: - - COLOR_PALETTE_UNSPECIFIED - - RED_GREEN - - INDIGO_PERSIAN_DARK - - INDIGO_PERSIAN_LIGHT - type: string - languageCode: - type: string - description: >- - Optional. Allows the client to choose the language for the response. - If data cannot be provided for that language the API uses the - closest match. Allowed values rely on the IETF standard. Default - value is en. - universalAqi: - type: boolean - description: >- - Optional. If set to true, the Universal AQI will be included in the - 'indexes' field of the response. Default value is true. extraComputations: type: array description: >- @@ -423,7 +163,6 @@ components: Specifying extra computations will result in the relevant elements and fields to be returned in the response. items: - type: string enum: - EXTRA_COMPUTATION_UNSPECIFIED - LOCAL_AQI @@ -431,6 +170,7 @@ components: - POLLUTANT_ADDITIONAL_INFO - DOMINANT_POLLUTANT_CONCENTRATION - POLLUTANT_CONCENTRATION + type: string enumDescriptions: - >- The default value. The server ignores it if it is passed as a @@ -467,97 +207,137 @@ components: global and/or local indexes. If specified, each pollutant object contained in the 'pollutants' field in the response will include a `concentration` field when the data is available. - LookupCurrentConditionsResponse: - type: object - properties: - healthRecommendations: - $ref: '#/components/schemas/HealthRecommendations' - description: >- - Health advice and recommended actions related to the reported air - quality conditions. Recommendations are tailored differently for - populations at risk, groups with greater sensitivities to - pollutants, and the general population. - regionCode: + pageSize: description: >- - The ISO_3166-1 alpha-2 code of the country/region corresponding to - the location provided in the request. This field might be omitted - from the response if the location provided in the request resides in - a disputed territory. + Optional. The maximum number of hourly info records to return per + page (default = 24). + type: integer + format: int32 + pageToken: type: string - pollutants: description: >- - A list of pollutants affecting the location specified in the - request. Note: This field will be returned only for requests that - specified one or more of the following extra computations: - POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, - POLLUTANT_CONCENTRATION. - items: - $ref: '#/components/schemas/Pollutant' - type: array - dateTime: + Optional. A page token received from a previous forecast call. It is + used to retrieve the subsequent page. + location: + description: >- + Required. The latitude and longitude for which the API looks for air + quality data. + $ref: '#/components/schemas/LatLng' + languageCode: type: string - format: google-datetime description: >- - A rounded down timestamp in RFC3339 UTC "Zulu" format, with - nanosecond resolution and up to nine fractional digits. For example: - "2014-10-02T15:00:00Z". - indexes: - type: array - items: - $ref: '#/components/schemas/AirQualityIndex' + Optional. Allows the client to choose the language for the response. + If data cannot be provided for that language the API uses the + closest match. Allowed values rely on the IETF standard (default = + 'en'). + uaqiColorPalette: description: >- - Based on the request parameters, this list will include (up to) two - air quality indexes: - Universal AQI. Will be returned if the - universalAqi boolean is set to true. - Local AQI. Will be returned - if the LOCAL_AQI extra computation is specified. - id: LookupCurrentConditionsResponse - Pollutant: + Optional. Determines the color palette used for data provided by the + 'Universal Air Quality Index' (UAQI). This color palette is relevant + just for UAQI, other AQIs have a predetermined color palette that + can't be controlled. + enumDescriptions: + - The default value. Ignored if passed as a parameter. + - Determines whether to use a red/green palette. + - Determines whether to use a indigo/persian palette (dark theme). + - Determines whether to use a indigo/persian palette (light theme). + type: string + enum: + - COLOR_PALETTE_UNSPECIFIED + - RED_GREEN + - INDIGO_PERSIAN_DARK + - INDIGO_PERSIAN_LIGHT + CustomLocalAqi: + description: >- + Expresses a 'country/region to AQI' relationship. Pairs a country/region + with a desired AQI so that air quality data that is required for that + country/region will be displayed according to the chosen AQI. type: object - description: Data regarding an air quality pollutant. + id: CustomLocalAqi properties: - code: - type: string - description: >- - The pollutant's code name (for example, "so2"). For a list of - supported pollutant codes, see [Reported - pollutants](/maps/documentation/air-quality/pollutants#reported_pollutants). - additionalInfo: - $ref: '#/components/schemas/AdditionalInfo' - description: Additional information about the pollutant. - displayName: - type: string - description: 'The pollutant''s display name. For example: "NOx".' - fullName: + aqi: type: string description: >- - The pollutant's full name. For chemical compounds, this is the IUPAC - name. Example: "Sulfur Dioxide". For more information about the - IUPAC names table, see - https://iupac.org/what-we-do/periodic-table-of-elements/. - concentration: + The AQI to associate the country/region with. Value should be a + [valid index](/maps/documentation/air-quality/laqis) code. + regionCode: description: >- - The pollutant's concentration level measured by one of the standard - air pollutation measure units. - $ref: '#/components/schemas/Concentration' - id: Pollutant - HourlyForecast: - id: HourlyForecast + The country/region requiring the custom AQI. Value should be + provided using [ISO 3166-1 + alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code. + type: string + LookupForecastResponse: + description: The response object of the air quality forecast API. + type: object + id: LookupForecastResponse properties: - dateTime: - format: google-datetime + hourlyForecasts: + type: array description: >- - A rounded down timestamp indicating the time (hour) the data refers - to in RFC3339 UTC "Zulu" format. For example: - "2014-10-02T15:00:00Z". + Optional. Contains the air quality information for each hour in the + requested range. For example, if the request is for 48 hours of + forecast there will be 48 elements of hourly forecasts. + items: + $ref: '#/components/schemas/HourlyForecast' + regionCode: + type: string + description: >- + Optional. The ISO_3166-1 alpha-2 code of the country/region + corresponding to the location provided in the request. This field + might be omitted from the response if the location provided in the + request resides in a disputed territory. + nextPageToken: + description: Optional. The token to retrieve the next page. type: string + LatLng: + description: >- + An object that represents a latitude/longitude pair. This is expressed + as a pair of doubles to represent degrees latitude and degrees + longitude. Unless specified otherwise, this object must conform to the + WGS84 standard. Values must be within normalized ranges. + properties: + latitude: + type: number + format: double + description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + longitude: + type: number + format: double + description: The longitude in degrees. It must be in the range [-180.0, +180.0]. + id: LatLng + type: object + HourInfo: + description: >- + Contains the air quality information for each hour in the requested + range. For example, if the request is for 48 hours of history there will + be 48 elements of hourly info. + properties: healthRecommendations: - $ref: '#/components/schemas/HealthRecommendations' description: >- Health advice and recommended actions related to the reported air quality conditions. Recommendations are tailored differently for populations at risk, groups with greater sensitivities to pollutants, and the general population. + $ref: '#/components/schemas/HealthRecommendations' + indexes: + type: array + description: >- + Based on the request parameters, this list will include (up to) two + air quality indexes: - Universal AQI. Will be returned if the + universalAqi boolean is set to true. - Local AQI. Will be returned + if the LOCAL_AQI extra computation is specified. + items: + $ref: '#/components/schemas/AirQualityIndex' + dateTime: + description: >- + A rounded down timestamp indicating the time the data refers to in + RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine + fractional digits. For example: "2014-10-02T15:00:00Z". + format: google-datetime + type: string pollutants: + items: + $ref: '#/components/schemas/Pollutant' description: >- A list of pollutants affecting the location specified in the request. Note: This field will be returned only for requests that @@ -565,78 +345,63 @@ components: POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, POLLUTANT_CONCENTRATION. type: array + id: HourInfo + type: object + LookupCurrentConditionsRequest: + description: The request definition of the air quality current conditions. + type: object + properties: + customLocalAqis: items: - $ref: '#/components/schemas/Pollutant' - indexes: + $ref: '#/components/schemas/CustomLocalAqi' + description: >- + Optional. Expresses a 'country/region to AQI' relationship. Pairs a + country/region with a desired AQI so that air quality data that is + required for that country/region will be displayed according to the + chosen AQI. This parameter can be used to specify a non-default AQI + for a given country, for example, to get the US EPA index for Canada + rather than the default index for Canada. type: array - items: - $ref: '#/components/schemas/AirQualityIndex' + location: + $ref: '#/components/schemas/LatLng' description: >- - Based on the request parameters, this list will include (up to) two - air quality indexes: - Universal AQI. Will be returned if the - `universal_aqi` boolean is set to true. - Local AQI. Will be - returned if the LOCAL_AQI extra computation is specified. - description: >- - Contains the air quality information for each hour in the requested - range. For example, if the request is for 48 hours of forecast there - will be 48 elements of hourly forecasts. - type: object - LookupForecastRequest: - description: The request object of the air quality forecast API. - id: LookupForecastRequest - properties: - period: - $ref: '#/components/schemas/Interval' + Required. The longitude and latitude from which the API looks for + air quality current conditions data. + universalAqi: + type: boolean description: >- - Indicates the start and end period for which to get the forecast - data. The timestamp is rounded to the previous exact hour. + Optional. If set to true, the Universal AQI will be included in the + 'indexes' field of the response. Default value is true. + languageCode: + type: string + description: >- + Optional. Allows the client to choose the language for the response. + If data cannot be provided for that language the API uses the + closest match. Allowed values rely on the IETF standard. Default + value is en. uaqiColorPalette: enumDescriptions: - The default value. Ignored if passed as a parameter. - Determines whether to use a red/green palette. - Determines whether to use a indigo/persian palette (dark theme). - Determines whether to use a indigo/persian palette (light theme). - type: string - description: >- - Optional. Determines the color palette used for data provided by the - 'Universal Air Quality Index' (UAQI). This color palette is relevant - just for UAQI, other AQIs have a predetermined color palette that - can't be controlled. enum: - COLOR_PALETTE_UNSPECIFIED - RED_GREEN - INDIGO_PERSIAN_DARK - INDIGO_PERSIAN_LIGHT - languageCode: type: string description: >- - Optional. Allows the client to choose the language for the response. - If data cannot be provided for that language the API uses the - closest match. Allowed values rely on the IETF standard (default = - 'en'). - pageToken: - description: >- - Optional. A page token received from a previous forecast call. It is - used to retrieve the subsequent page. - type: string - location: - $ref: '#/components/schemas/LatLng' - description: >- - Required. The latitude and longitude for which the API looks for air - quality data. - customLocalAqis: - description: >- - Optional. Expresses a 'country/region to AQI' relationship. Pairs a - country/region with a desired AQI so that air quality data that is - required for that country/region will be displayed according to the - chosen AQI. This parameter can be used to specify a non-default AQI - for a given country, for example, to get the US EPA index for Canada - rather than the default index for Canada. - items: - $ref: '#/components/schemas/CustomLocalAqi' - type: array + Optional. Determines the color palette used for data provided by the + 'Universal Air Quality Index' (UAQI). This color palette is relevant + just for UAQI, other AQIs have a predetermined color palette that + can't be controlled. extraComputations: type: array + description: >- + Optional. Additional features that can be optionally enabled. + Specifying extra computations will result in the relevant elements + and fields to be returned in the response. items: enum: - EXTRA_COMPUTATION_UNSPECIFIED @@ -682,82 +447,122 @@ components: contained in the 'pollutants' field in the response will include a `concentration` field when the data is available. type: string + id: LookupCurrentConditionsRequest + AirQualityIndex: + properties: + displayName: description: >- - Optional. Additional features that can be optionally enabled. - Specifying extra computations will result in the relevant elements - and fields to be returned in the response. - dateTime: + A human readable representation of the index name. Example: "AQI + (US)" + type: string + category: + type: string description: >- - A timestamp for which to return the data for a specific point in - time. The timestamp is rounded to the previous exact hour. Note: - this will return hourly data for the requested timestamp only (i.e. - a single hourly info element). For example, a request sent where the - date_time parameter is set to 2023-01-03T11:05:49Z will be rounded - down to 2023-01-03T11:00:00Z. - format: google-datetime + Textual classification of the index numeric score interpretation. + For example: "Excellent air quality". + color: + description: The color used to represent the AQI numeric score. + $ref: '#/components/schemas/Color' + code: + description: >- + The index's code. This field represents the index for programming + purposes by using snake case instead of spaces. Examples: "uaqi", + "fra_atmo". + type: string + aqiDisplay: type: string - pageSize: - type: integer description: >- - Optional. The maximum number of hourly info records to return per - page (default = 24). + Textual representation of the index numeric score, that may include + prefix or suffix symbols, which usually represents the worst index + score. Example: >100 or 10+. Note: This field should be used when + you want to display the index score. For non-numeric indexes, this + field is empty. + dominantPollutant: + type: string + description: 'The chemical symbol of the dominant pollutant. For example: "CO".' + aqi: + description: ' The index''s numeric score. Examples: 10, 100. The value is not normalized and should only be interpreted in the context of its related air-quality index. For non-numeric indexes, this field will not be returned. Note: This field should be used for calculations, graph display, etc. For displaying the index score, you should use the AQI display field.' format: int32 - universalAqi: - type: boolean - description: >- - Optional. If set to true, the Universal AQI will be included in the - 'indexes' field of the response (default = true). + type: integer type: object - LatLng: - properties: - longitude: - type: number - description: The longitude in degrees. It must be in the range [-180.0, +180.0]. - format: double - latitude: - format: double - type: number - description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + id: AirQualityIndex description: >- - An object that represents a latitude/longitude pair. This is expressed - as a pair of doubles to represent degrees latitude and degrees - longitude. Unless specified otherwise, this object must conform to the - WGS84 standard. Values must be within normalized ranges. - id: LatLng - type: object - LookupHistoryResponse: + The basic object for representing different air quality metrics. When + brought together, these metrics provide a snapshot about the current air + quality conditions. There are multiple indexes in the world serving + different purposes and groups interested in measuring different aspects + of air quality. + Interval: properties: - nextPageToken: - description: Optional. The token to retrieve the next page. + startTime: type: string - regionCode: description: >- - Optional. The ISO_3166-1 alpha-2 code of the country/region - corresponding to the location provided in the request. This field - might be omitted from the response if the location provided in the - request resides in a disputed territory. - type: string - hoursInfo: - type: array - items: - $ref: '#/components/schemas/HourInfo' + Optional. Inclusive start of the interval. If specified, a Timestamp + matching this interval will have to be the same or after the start. + format: google-datetime + endTime: description: >- - Optional. Contains the air quality information for each hour in the - requested range. For example, if the request is for 48 hours of - history there will be 48 elements of hourly info. + Optional. Exclusive end of the interval. If specified, a Timestamp + matching this interval will have to be before the end. + type: string + format: google-datetime type: object - id: LookupHistoryResponse + description: >- + 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. + id: Interval LookupHistoryRequest: - id: LookupHistoryRequest + type: object properties: - pageToken: + period: description: >- - Optional. A page token received from a previous history call. It is - used to retrieve the subsequent page. Note that when providing a - value for this parameter all other parameters provided must match - the call that provided the page token (the previous call). + Indicates the start and end period for which to get the historical + data. The timestamp is rounded to the previous exact hour. + $ref: '#/components/schemas/Interval' + hours: + format: int32 + type: integer + description: >- + Number from 1 to 720 that indicates the hours range for the request. + For example: A value of 48 will yield data from the last 48 hours. + customLocalAqis: + type: array + items: + $ref: '#/components/schemas/CustomLocalAqi' + description: >- + Optional. Expresses a 'country/region to AQI' relationship. Pairs a + country/region with a desired AQI so that air quality data that is + required for that country/region will be displayed according to the + chosen AQI. This parameter can be used to specify a non-default AQI + for a given country, for example, to get the US EPA index for Canada + rather than the default index for Canada. + location: + description: >- + Required. The latitude and longitude for which the API looks for air + quality history data. + $ref: '#/components/schemas/LatLng' + uaqiColorPalette: + enumDescriptions: + - The default value. Ignored if passed as a parameter. + - Determines whether to use a red/green palette. + - Determines whether to use a indigo/persian palette (dark theme). + - Determines whether to use a indigo/persian palette (light theme). + enum: + - COLOR_PALETTE_UNSPECIFIED + - RED_GREEN + - INDIGO_PERSIAN_DARK + - INDIGO_PERSIAN_LIGHT type: string + description: >- + Optional. Determines the color palette used for data provided by the + 'Universal Air Quality Index' (UAQI). This color palette is relevant + just for UAQI, other AQIs have a predetermined color palette that + can't be controlled. dateTime: + type: string format: google-datetime description: >- A timestamp for which to return historical data. The timestamp is @@ -768,55 +573,16 @@ components: 2023-01-03T11:00:00Z. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + pageToken: type: string - hours: - type: integer - format: int32 - description: >- - Number from 1 to 720 that indicates the hours range for the request. - For example: A value of 48 will yield data from the last 48 hours. - languageCode: - type: string - description: >- - Optional. Allows the client to choose the language for the response. - If data cannot be provided for that language the API uses the - closest match. Allowed values rely on the IETF standard. Default - value is en. - customLocalAqis: - description: >- - Optional. Expresses a 'country/region to AQI' relationship. Pairs a - country/region with a desired AQI so that air quality data that is - required for that country/region will be displayed according to the - chosen AQI. This parameter can be used to specify a non-default AQI - for a given country, for example, to get the US EPA index for Canada - rather than the default index for Canada. - type: array - items: - $ref: '#/components/schemas/CustomLocalAqi' - pageSize: - description: >- - Optional. The maximum number of hourly info records to return per - page. The default is 72 and the max value is 168 (7 days of data). - format: int32 - type: integer - location: - $ref: '#/components/schemas/LatLng' description: >- - Required. The latitude and longitude for which the API looks for air - quality history data. + Optional. A page token received from a previous history call. It is + used to retrieve the subsequent page. Note that when providing a + value for this parameter all other parameters provided must match + the call that provided the page token (the previous call). extraComputations: - description: >- - Optional. Additional features that can be optionally enabled. - Specifying extra computations will result in the relevant elements - and fields to be returned in the response. items: - enum: - - EXTRA_COMPUTATION_UNSPECIFIED - - LOCAL_AQI - - HEALTH_RECOMMENDATIONS - - POLLUTANT_ADDITIONAL_INFO - - DOMINANT_POLLUTANT_CONCENTRATION - - POLLUTANT_CONCENTRATION + type: string enumDescriptions: - >- The default value. The server ignores it if it is passed as a @@ -853,42 +619,298 @@ components: global and/or local indexes. If specified, each pollutant object contained in the 'pollutants' field in the response will include a `concentration` field when the data is available. - type: string + enum: + - EXTRA_COMPUTATION_UNSPECIFIED + - LOCAL_AQI + - HEALTH_RECOMMENDATIONS + - POLLUTANT_ADDITIONAL_INFO + - DOMINANT_POLLUTANT_CONCENTRATION + - POLLUTANT_CONCENTRATION + type: array + description: >- + Optional. Additional features that can be optionally enabled. + Specifying extra computations will result in the relevant elements + and fields to be returned in the response. + languageCode: + type: string + description: >- + Optional. Allows the client to choose the language for the response. + If data cannot be provided for that language the API uses the + closest match. Allowed values rely on the IETF standard. Default + value is en. + universalAqi: + type: boolean + description: >- + Optional. If set to true, the Universal AQI will be included in the + 'indexes' field of the response. Default value is true. + pageSize: + type: integer + format: int32 + description: >- + Optional. The maximum number of hourly info records to return per + page. The default is 72 and the max value is 168 (7 days of data). + id: LookupHistoryRequest + description: The request object of the air quality history API. + HealthRecommendations: + type: object + description: >- + Health recommendations for different population groups in a free text + format. The recommendations are derived from their associated air + quality conditions. + properties: + athletes: + description: Sports and other strenuous outdoor activities. + type: string + generalPopulation: + description: No specific sensitivities. + type: string + heartDiseasePopulation: + type: string + description: Heart and circulatory system diseases. + pregnantWomen: + description: Women at all stages of pregnancy. + type: string + lungDiseasePopulation: + type: string + description: Respiratory related problems and asthma suffers. + children: + type: string + description: Younger populations including children, toddlers, and babies. + elderly: + type: string + description: Retirees and people older than the general population. + id: HealthRecommendations + HourlyForecast: + type: object + properties: + dateTime: + description: >- + A rounded down timestamp indicating the time (hour) the data refers + to in RFC3339 UTC "Zulu" format. For example: + "2014-10-02T15:00:00Z". + type: string + format: google-datetime + pollutants: + type: array + description: >- + A list of pollutants affecting the location specified in the + request. Note: This field will be returned only for requests that + specified one or more of the following extra computations: + POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, + POLLUTANT_CONCENTRATION. + items: + $ref: '#/components/schemas/Pollutant' + healthRecommendations: + $ref: '#/components/schemas/HealthRecommendations' + description: >- + Health advice and recommended actions related to the reported air + quality conditions. Recommendations are tailored differently for + populations at risk, groups with greater sensitivities to + pollutants, and the general population. + indexes: + items: + $ref: '#/components/schemas/AirQualityIndex' + description: >- + Based on the request parameters, this list will include (up to) two + air quality indexes: - Universal AQI. Will be returned if the + `universal_aqi` boolean is set to true. - Local AQI. Will be + returned if the LOCAL_AQI extra computation is specified. + type: array + description: >- + Contains the air quality information for each hour in the requested + range. For example, if the request is for 48 hours of forecast there + will be 48 elements of hourly forecasts. + id: HourlyForecast + Color: + properties: + alpha: + format: float + description: >- + The fraction of this color that should be applied to the pixel. That + is, the final pixel color is defined by the equation: `pixel color = + alpha * (this color) + (1.0 - alpha) * (background color)` This + means that a value of 1.0 corresponds to a solid color, whereas a + value of 0.0 corresponds to a completely transparent color. This + uses a wrapper message rather than a simple float scalar so that it + is possible to distinguish between a default value and the value + being unset. If omitted, this color object is rendered as a solid + color (as if the alpha value had been explicitly given a value of + 1.0). + type: number + red: + format: float + description: The amount of red in the color as a value in the interval [0, 1]. + type: number + blue: + description: The amount of blue in the color as a value in the interval [0, 1]. + type: number + format: float + green: + format: float + type: number + description: The amount of green in the color as a value in the interval [0, 1]. + type: object + id: Color + description: >- + Represents a color in the RGBA color space. This representation is + designed for simplicity of conversion to and from color representations + in various languages over compactness. For example, the fields of this + representation can be trivially provided to the constructor of + `java.awt.Color` in Java; it can also be trivially provided to UIColor's + `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little + work, it can be easily formatted into a CSS `rgba()` string in + JavaScript. This reference page doesn't have information about the + absolute color space that should be used to interpret the RGB value—for + example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications + should assume the sRGB color space. When color equality needs to be + decided, implementations, unless documented otherwise, treat two colors + as equal if all their red, green, blue, and alpha values each differ by + at most `1e-5`. Example (Java): import com.google.type.Color; // ... + public static java.awt.Color fromProto(Color protocolor) { float alpha = + protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return + new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), + protocolor.getBlue(), alpha); } public static Color + toProto(java.awt.Color color) { float red = (float) color.getRed(); + float green = (float) color.getGreen(); float blue = (float) + color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder + = Color .newBuilder() .setRed(red / denominator) .setGreen(green / + denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); + if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() + .setValue(((float) alpha) / denominator) .build()); } return + resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static + UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; + float green = [protocolor green]; float blue = [protocolor blue]; + FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if + (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return + [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static + Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if + (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return + nil; } Color* result = [[Color alloc] init]; [result setRed:red]; + [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { + [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; + return result; } // ... Example (JavaScript): // ... var protoToCssColor + = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var + greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || + 0.0; var red = Math.floor(redFrac * 255); var green = + Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if + (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } + var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, + ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var + rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString + = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var + resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { + resultBuilder.push('0'); } resultBuilder.push(hexString); return + resultBuilder.join(''); }; // ... + HttpBody: + description: >- + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. + properties: + data: + description: The HTTP request/response body as raw binary. + format: byte + type: string + extensions: + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + Application specific response metadata. Must be set in the first + response for streaming APIs. type: array - universalAqi: - type: boolean + contentType: description: >- - Optional. If set to true, the Universal AQI will be included in the - 'indexes' field of the response. Default value is true. - period: - $ref: '#/components/schemas/Interval' + The HTTP Content-Type header value specifying the content type of + the body. + type: string + id: HttpBody + type: object + AdditionalInfo: + properties: + effects: + description: Text representing the pollutant's main health effects. + type: string + sources: + type: string + description: Text representing the pollutant's main emission sources. + type: object + description: The emission sources and health effects of a given pollutant. + id: AdditionalInfo + Pollutant: + id: Pollutant + description: Data regarding an air quality pollutant. + type: object + properties: + additionalInfo: + description: Additional information about the pollutant. + $ref: '#/components/schemas/AdditionalInfo' + concentration: + $ref: '#/components/schemas/Concentration' description: >- - Indicates the start and end period for which to get the historical - data. The timestamp is rounded to the previous exact hour. - uaqiColorPalette: - enum: - - COLOR_PALETTE_UNSPECIFIED - - RED_GREEN - - INDIGO_PERSIAN_DARK - - INDIGO_PERSIAN_LIGHT - enumDescriptions: - - The default value. Ignored if passed as a parameter. - - Determines whether to use a red/green palette. - - Determines whether to use a indigo/persian palette (dark theme). - - Determines whether to use a indigo/persian palette (light theme). + The pollutant's concentration level measured by one of the standard + air pollutation measure units. + fullName: + type: string description: >- - Optional. Determines the color palette used for data provided by the - 'Universal Air Quality Index' (UAQI). This color palette is relevant - just for UAQI, other AQIs have a predetermined color palette that - can't be controlled. + The pollutant's full name. For chemical compounds, this is the IUPAC + name. Example: "Sulfur Dioxide". For more information about the + IUPAC names table, see + https://iupac.org/what-we-do/periodic-table-of-elements/. + code: + description: >- + The pollutant's code name (for example, "so2"). For a list of + supported pollutant codes, see [Reported + pollutants](/maps/documentation/air-quality/pollutants#reported_pollutants). type: string - type: object - description: The request object of the air quality history API. + displayName: + type: string + description: 'The pollutant''s display name. For example: "NOx".' parameters: - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + alt: + description: Data format for response. in: query - name: uploadType + name: alt + schema: + type: string + enum: + - json + - media + - proto + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields schema: type: string access_token: @@ -897,16 +919,21 @@ components: name: access_token schema: type: string - alt: - description: Data format for response. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: alt + name: uploadType + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv schema: type: string enum: - - json - - media - - proto + - '1' + - '2' callback: description: JSONP in: query @@ -922,10 +949,10 @@ components: name: key schema: type: string - fields: - description: Selector specifying which fields to include in a partial response. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: fields + name: oauth_token schema: type: string quotaUser: @@ -937,42 +964,15 @@ components: name: quotaUser schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' x-stackQL-resources: - history: - id: google.airquality.history - name: history - title: History + current_conditions: + id: google.airquality.current_conditions + name: current_conditions + title: Current_conditions methods: lookup: operation: - $ref: '#/paths/~1v1~1history:lookup/post' + $ref: '#/paths/~1v1~1currentConditions:lookup/post' response: mediaType: application/json openAPIDocKey: '200' @@ -982,14 +982,14 @@ components: update: [] replace: [] delete: [] - current_conditions: - id: google.airquality.current_conditions - name: current_conditions - title: Current_conditions + forecast: + id: google.airquality.forecast + name: forecast + title: Forecast methods: lookup: operation: - $ref: '#/paths/~1v1~1currentConditions:lookup/post' + $ref: '#/paths/~1v1~1forecast:lookup/post' response: mediaType: application/json openAPIDocKey: '200' @@ -1017,14 +1017,14 @@ components: update: [] replace: [] delete: [] - forecast: - id: google.airquality.forecast - name: forecast - title: Forecast + history: + id: google.airquality.history + name: history + title: History methods: lookup: operation: - $ref: '#/paths/~1v1~1forecast:lookup/post' + $ref: '#/paths/~1v1~1history:lookup/post' response: mediaType: application/json openAPIDocKey: '200' @@ -1035,29 +1035,31 @@ components: replace: [] delete: [] paths: - /v1/history:lookup: + /v1/currentConditions:lookup: parameters: &ref_1 - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/quotaUser' post: description: >- - Returns air quality history for a specific location for a given time - range. - operationId: airquality.history.lookup + 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. + operationId: airquality.currentConditions.lookup requestBody: content: application/json: schema: - $ref: '#/components/schemas/LookupHistoryRequest' + $ref: '#/components/schemas/LookupCurrentConditionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1069,22 +1071,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LookupHistoryResponse' + $ref: '#/components/schemas/LookupCurrentConditionsResponse' parameters: [] - /v1/currentConditions:lookup: + /v1/forecast:lookup: parameters: *ref_1 post: description: >- - 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. - operationId: airquality.currentConditions.lookup + Returns air quality forecast for a specific location for a given time + range. + operationId: airquality.forecast.lookup requestBody: content: application/json: schema: - $ref: '#/components/schemas/LookupCurrentConditionsRequest' + $ref: '#/components/schemas/LookupForecastRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1096,7 +1096,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LookupCurrentConditionsResponse' + $ref: '#/components/schemas/LookupForecastResponse' parameters: [] /v1/mapTypes/{mapType}/heatmapTiles/{zoom}/{x}/{y}: parameters: *ref_1 @@ -1136,18 +1136,18 @@ paths: required: true schema: type: string - /v1/forecast:lookup: + /v1/history:lookup: parameters: *ref_1 post: description: >- - Returns air quality forecast for a specific location for a given time + Returns air quality history for a specific location for a given time range. - operationId: airquality.forecast.lookup + operationId: airquality.history.lookup requestBody: content: application/json: schema: - $ref: '#/components/schemas/LookupForecastRequest' + $ref: '#/components/schemas/LookupHistoryRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1159,5 +1159,5 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LookupForecastResponse' + $ref: '#/components/schemas/LookupHistoryResponse' parameters: [] diff --git a/providers/src/googleapis.com/v00.00.00000/services/alloydb.yaml b/providers/src/googleapis.com/v00.00.00000/services/alloydb.yaml index 84d1c162..a74572ca 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/alloydb.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/alloydb.yaml @@ -18,8 +18,8 @@ info: resources; scale existing PostgreSQL workloads with no application changes; and modernize legacy proprietary databases. version: v1 - x-discovery-doc-revision: '20240828' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/alloydb/ servers: @@ -300,16 +300,19 @@ components: - DEPRECATED - The database version is Postgres 13. - The database version is Postgres 14. - The database version is Postgres 15. + - The database version is Postgres 16. enumDeprecated: - false - true - false - false + - false enum: - DATABASE_VERSION_UNSPECIFIED - POSTGRES_13 - POSTGRES_14 - POSTGRES_15 + - POSTGRES_16 networkConfig: $ref: '#/components/schemas/NetworkConfig' network: @@ -413,8 +416,8 @@ components: type: string enumDescriptions: - >- - This is an unknown Subscription type (By default, Subscription - Type is STANDARD) + This is an unknown subscription type. By default, the subscription + type is STANDARD. - Standard subscription. - Trial subscription. enum: @@ -425,6 +428,14 @@ components: description: Output only. Metadata for free trial clusters readOnly: true $ref: '#/components/schemas/TrialMetadata' + tags: + description: >- + Optional. Input only. Immutable. Tag keys/values directly bound to + this resource. For example: ``` "123/environment": "production", + "123/costCenter": "marketing" ``` + type: object + additionalProperties: + type: string BackupSource: id: BackupSource description: Message describing a BackupSource. @@ -613,23 +624,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 TimeBasedRetention: @@ -678,7 +694,7 @@ components: behavior. type: string enumDescriptions: - - SSL mode not specified. Defaults to ENCRYPTED_ONLY. + - SSL mode is not specified. Defaults to ENCRYPTED_ONLY. - SSL connections are optional. CA verification not enforced. - >- SSL connections are required. CA verification not enforced. @@ -686,7 +702,7 @@ components: client behavior). - >- SSL connections are required. CA verification enforced. Clients - must have certificates signed by a Cluster CA, e.g. via + must have certificates signed by a Cluster CA, for example, using GenerateClientCertificate. - SSL connections are optional. CA verification not enforced. - SSL connections are required. CA verification not enforced. @@ -959,36 +975,39 @@ components: - DEPRECATED - The database version is Postgres 13. - The database version is Postgres 14. - The database version is Postgres 15. + - The database version is Postgres 16. enumDeprecated: - false - true - false - false + - false enum: - DATABASE_VERSION_UNSPECIFIED - POSTGRES_13 - POSTGRES_14 - POSTGRES_15 + - POSTGRES_16 requestId: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes after the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if the original operation with the + same request ID was received, and if so, ignores the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but does not actually - execute the upgrade. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean etag: description: >- @@ -1005,15 +1024,15 @@ components: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes after the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if original operation with the same + request ID was received, and if so, will ignore the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string etag: @@ -1024,9 +1043,9 @@ components: type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but do not actually - execute the delete. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean SwitchoverClusterRequest: id: SwitchoverClusterRequest @@ -1037,22 +1056,22 @@ components: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes after the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if the original operation with the + same request ID was received, and if so, ignores the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but do not actually - execute the delete. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean RestoreClusterRequest: id: RestoreClusterRequest @@ -1079,22 +1098,22 @@ components: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes since the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if the original operation with the + same request ID was received, and if so, ignores the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but do not actually - execute the import request. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean ContinuousBackupSource: id: ContinuousBackupSource @@ -1264,17 +1283,19 @@ components: type: string databaseFlags: description: >- - Database flags. Set at instance level. * They are copied from - primary instance on read instance creation. * Read instances can set - new or override existing flags that are relevant for reads, e.g. for - enabling columnar cache on a read instance. Flags set on read - instance may or may not be present on primary. This is a list of - "key": "value" pairs. "key": The name of the flag. These flags are - passed at instance setup time, so include both server options and - system variables for Postgres. Flags are specified with underscores, - not hyphens. "value": The value of the flag. Booleans are set to - **on** for true and **off** for false. This field must be omitted if - the flag doesn't take a value. + Database flags. Set at the instance level. They are copied from the + primary instance on secondary instance creation. Flags that have + restrictions default to the value at primary instance on read + instances during creation. Read instances can set new flags or + override existing flags that are relevant for reads, for example, + for enabling columnar cache on a read instance. Flags set on read + instance might or might not be present on the primary instance. This + is a list of "key": "value" pairs. "key": The name of the flag. + These flags are passed at instance setup time, so include both + server options and system variables for Postgres. Flags are + specified with underscores, not hyphens. "value": The value of the + flag. Booleans are set to **on** for true and **off** for false. + This field must be omitted if the flag doesn't take a value. type: object additionalProperties: type: string @@ -1346,7 +1367,7 @@ components: the instance. $ref: '#/components/schemas/PscInstanceConfig' networkConfig: - description: Optional. Instance level network configuration. + description: Optional. Instance-level network configuration. $ref: '#/components/schemas/InstanceNetworkConfig' outboundPublicIpAddresses: description: >- @@ -1437,7 +1458,7 @@ components: connections to the database. type: boolean sslConfig: - description: Optional. SSL config option for this instance. + description: Optional. SSL configuration option for this instance. $ref: '#/components/schemas/SslConfig' PscInstanceConfig: id: PscInstanceConfig @@ -1468,7 +1489,7 @@ components: type: string InstanceNetworkConfig: id: InstanceNetworkConfig - description: Metadata related to instance level network configuration. + description: Metadata related to instance-level network configuration. type: object properties: authorizedExternalNetworks: @@ -1503,22 +1524,22 @@ components: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes after the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if the original operation with the + same request ID was received, and if so, ignores the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but do not actually - execute the failover. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean InjectFaultRequest: id: InjectFaultRequest @@ -1538,22 +1559,22 @@ components: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes after the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if the original operation with the + same request ID was received, and if so, ignores the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but do not actually - execute the fault injection. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean RestartInstanceRequest: id: RestartInstanceRequest @@ -1563,27 +1584,27 @@ components: description: >- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server - will know to ignore the request if it has already been completed. - The server will guarantee that for at least 60 minutes after the - first request. For example, consider a situation where you make an - initial request and the request times out. If you make the request - again with the same request ID, the server can check if original - operation with the same request ID was received, and if so, will - ignore the second request. This prevents clients from accidentally - creating duplicate commitments. The request ID must be a valid UUID - with the exception that zero UUID is not supported + ignores the request if it has already been completed. The server + guarantees that for at least 60 minutes since the first request. For + example, consider a situation where you make an initial request and + the request times out. If you make the request again with the same + request ID, the server can check if the original operation with the + same request ID was received, and if so, ignores the second request. + This prevents clients from accidentally creating duplicate + commitments. The request ID must be a valid UUID with the exception + that zero UUID is not supported (00000000-0000-0000-0000-000000000000). type: string validateOnly: description: >- - Optional. If set, performs request validation (e.g. permission - checks and any other type of validation), but do not actually - execute the restart. + Optional. If set, performs request validation, for example, + permission checks and any other type of validation, but does not + actually execute the create request. type: boolean nodeIds: description: >- Optional. Full name of the nodes as obtained from INSTANCE_VIEW_FULL - to restart upon. Only applicable for read instances. + to restart upon. Applicable only to read instances. type: array items: type: string @@ -1768,16 +1789,27 @@ components: - DEPRECATED - The database version is Postgres 13. - The database version is Postgres 14. - The database version is Postgres 15. + - The database version is Postgres 16. enumDeprecated: - false - true - false - false + - false enum: - DATABASE_VERSION_UNSPECIFIED - POSTGRES_13 - POSTGRES_14 - POSTGRES_15 + - POSTGRES_16 + tags: + description: >- + Optional. Input only. Immutable. Tag keys/values directly bound to + this resource. For example: ``` "123/environment": "production", + "123/costCenter": "marketing" ``` + type: object + additionalProperties: + type: string QuantityBasedExpiry: id: QuantityBasedExpiry description: >- @@ -1875,16 +1907,19 @@ components: - DEPRECATED - The database version is Postgres 13. - The database version is Postgres 14. - The database version is Postgres 15. + - The database version is Postgres 16. enumDeprecated: - false - true - false - false + - false enum: - DATABASE_VERSION_UNSPECIFIED - POSTGRES_13 - POSTGRES_14 - POSTGRES_15 + - POSTGRES_16 requiresDbRestart: description: >- Whether setting or updating this flag on an Instance requires a @@ -2111,6 +2146,8 @@ components: - Operation succeeded. - Operation failed. - Operation partially succeeded. + - Cancel is in progress. + - Cancellation complete. enum: - STATUS_UNSPECIFIED - NOT_STARTED @@ -2118,6 +2155,8 @@ components: - SUCCESS - FAILED - PARTIAL_SUCCESS + - CANCEL_IN_PROGRESS + - CANCELLED message: description: >- A user friendly message summarising the upgrade operation details @@ -2148,6 +2187,8 @@ components: - Operation succeeded. - Operation failed. - Operation partially succeeded. + - Cancel is in progress. + - Cancellation complete. enum: - STATUS_UNSPECIFIED - NOT_STARTED @@ -2155,6 +2196,8 @@ components: - SUCCESS - FAILED - PARTIAL_SUCCESS + - CANCEL_IN_PROGRESS + - CANCELLED clusterType: description: Cluster type which can either be primary or secondary. type: string @@ -2179,16 +2222,19 @@ components: - DEPRECATED - The database version is Postgres 13. - The database version is Postgres 14. - The database version is Postgres 15. + - The database version is Postgres 16. enumDeprecated: - false - true - false - false + - false enum: - DATABASE_VERSION_UNSPECIFIED - POSTGRES_13 - POSTGRES_14 - POSTGRES_15 + - POSTGRES_16 stageInfo: description: Array containing stage info associated with this cluster. type: array @@ -2237,6 +2283,8 @@ components: - Operation succeeded. - Operation failed. - Operation partially succeeded. + - Cancel is in progress. + - Cancellation complete. enum: - STATUS_UNSPECIFIED - NOT_STARTED @@ -2244,6 +2292,8 @@ components: - SUCCESS - FAILED - PARTIAL_SUCCESS + - CANCEL_IN_PROGRESS + - CANCELLED logsUrl: description: >- logs_url is the URL for the logs associated with a stage if that @@ -2268,6 +2318,8 @@ components: - Operation succeeded. - Operation failed. - Operation partially succeeded. + - Cancel is in progress. + - Cancellation complete. enum: - STATUS_UNSPECIFIED - NOT_STARTED @@ -2275,6 +2327,8 @@ components: - SUCCESS - FAILED - PARTIAL_SUCCESS + - CANCEL_IN_PROGRESS + - CANCELLED instanceType: description: Instance type. type: string @@ -2394,7 +2448,7 @@ components: type: string StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata: id: StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata - description: Common model for database resource instance metadata. + description: 'Common model for database resource instance metadata. Next ID: 23' type: object properties: id: @@ -2418,6 +2472,11 @@ components: otherwise optional. $ref: >- #/components/schemas/StorageDatabasecenterPartnerapiV1mainDatabaseResourceId + primaryResourceLocation: + description: >- + Primary resource location. REQUIRED if the immediate parent exists + when first time resource is getting ingested, otherwise optional. + type: string resourceContainer: description: >- Closest parent Cloud Resource Manager container of this resource. It @@ -2544,6 +2603,23 @@ components: description: Machine configuration for this resource. $ref: >- #/components/schemas/StorageDatabasecenterPartnerapiV1mainMachineConfiguration + tagsSet: + description: Optional. Tags associated with this resources. + $ref: '#/components/schemas/StorageDatabasecenterPartnerapiV1mainTags' + edition: + description: >- + Optional. Edition represents whether the instance is ENTERPRISE or + ENTERPRISE_PLUS. This information is core to Cloud SQL only and is + used to identify the edition of the instance. + type: string + enumDescriptions: + - Default, to make it consistent with instance edition enum. + - Represents the enterprise edition. + - Represents the enterprise plus edition. + enum: + - EDITION_UNSPECIFIED + - EDITION_ENTERPRISE + - EDITION_ENTERPRISE_PLUS StorageDatabasecenterProtoCommonProduct: id: StorageDatabasecenterProtoCommonProduct description: Product specification for Condor resources. @@ -2722,18 +2798,25 @@ components: properties: retentionUnit: description: The unit that 'retained_backups' represents. + deprecated: true type: string enumDescriptions: - Backup retention unit is unspecified, will be treated as COUNT. - >- Retention will be by count, eg. "retain the most recent 7 backups". - - Retention will be by Time, eg. "retain the last 7 days backups". + - >- + Retention will be by Time, eg. "retain backups till a specific + time" i.e. till 2024-05-01T00:00:00Z. + - >- + Retention will be by duration, eg. "retain the backups for 172800 + seconds (2 days)". - For rest of the other category enum: - RETENTION_UNIT_UNSPECIFIED - COUNT - TIME + - DURATION - RETENTION_UNIT_OTHER timeBasedRetention: type: string @@ -2741,6 +2824,14 @@ components: quantityBasedRetention: type: integer format: int32 + durationBasedRetention: + description: Duration based retention period i.e. 172800 seconds (2 days) + type: string + format: google-duration + timestampBasedRetentionTime: + description: Timestamp based retention period i.e. 2024-05-01T00:00:00Z + type: string + format: google-datetime StorageDatabasecenterPartnerapiV1mainBackupRun: id: StorageDatabasecenterPartnerapiV1mainBackupRun description: A backup run. @@ -2912,6 +3003,23 @@ components: validations again after bug fix. type: string format: int64 + shardCount: + description: Optional. Number of shards (if applicable). + type: integer + format: int32 + StorageDatabasecenterPartnerapiV1mainTags: + id: StorageDatabasecenterPartnerapiV1mainTags + description: >- + Message type for storing tags. Tags provide a way to create annotations + for resources, and in some cases conditionally allow or deny policies + based on whether a resource has a specific tag. + type: object + properties: + tags: + description: The Tag key/value mappings. + type: object + additionalProperties: + type: string StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData: id: StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData description: Common model for database resource health signal data. @@ -4963,8 +5071,8 @@ paths: parameters: *ref_1 post: description: >- - Switches the role of PRIMARY and SECONDARY cluster without any data - loss. This promotes the SECONDARY cluster to PRIMARY and sets up + Switches the roles of PRIMARY and SECONDARY clusters without any data + loss. This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster. operationId: alloydb.projects.locations.clusters.switchover requestBody: diff --git a/providers/src/googleapis.com/v00.00.00000/services/analyticshub.yaml b/providers/src/googleapis.com/v00.00.00000/services/analyticshub.yaml index b0114d5c..0ad72022 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/analyticshub.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/analyticshub.yaml @@ -7,8 +7,8 @@ info: title: Analytics Hub API description: Exchange data and analytics assets securely and efficiently. version: v1 - x-discovery-doc-revision: '20240826' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery/docs/analytics-hub-introduction servers: @@ -624,7 +624,7 @@ components: `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more - than 7 days or less than 10 minutes. + than 31 days or less than 10 minutes. type: string format: google-duration labels: @@ -1267,6 +1267,9 @@ components: Required. The parent resource path of the Subscription. e.g. `projects/subscriberproject/locations/US` type: string + destinationDataset: + description: Optional. BigQuery destination dataset to create for the subscriber. + $ref: '#/components/schemas/DestinationDataset' subscription: description: Required. Name of the subscription to create. e.g. `subscription1` type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/apigateway.yaml b/providers/src/googleapis.com/v00.00.00000/services/apigateway.yaml index 257ad9c2..51df18a6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/apigateway.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/apigateway.yaml @@ -7,8 +7,8 @@ info: title: API Gateway API description: '' version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241022' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/api-gateway/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/apigee.yaml b/providers/src/googleapis.com/v00.00.00000/services/apigee.yaml index 8f1c2ce8..d27d68a6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/apigee.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/apigee.yaml @@ -12,8 +12,8 @@ info: more. Note: This product is available as a free trial for a time period of 60 days. version: v1 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/apigee-api-management/ servers: @@ -39,3676 +39,3405 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudApigeeV1ProfileConfigThreat: - properties: {} - id: GoogleCloudApigeeV1ProfileConfigThreat + GoogleCloudApigeeV1QueryTabularStatsRequest: + id: GoogleCloudApigeeV1QueryTabularStatsRequest type: object description: >- - By default, following policies will be included: - XMLThreatProtection - - JSONThreatProtection - GoogleCloudApigeeV1ListAsyncQueriesResponse: - id: GoogleCloudApigeeV1ListAsyncQueriesResponse - description: The response for ListAsyncQueries. + Request payload representing the query to be run for fetching security + statistics as rows. properties: - queries: + pageSize: + description: Page size represents the number of rows. + type: integer + format: int32 + metrics: + description: Required. List of metrics and their aggregations. type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' - description: The asynchronous queries belong to requested resource name. - type: object - GoogleCloudApigeeV1AccessSet: - description: >- - Set action. For example, "Set" : { "name" : "target.name", "success" : - true, "value" : "default" } - type: object - id: GoogleCloudApigeeV1AccessSet - properties: - value: + $ref: '#/components/schemas/GoogleCloudApigeeV1MetricAggregation' + timeRange: + $ref: '#/components/schemas/GoogleTypeInterval' + description: Time range for the stats. + filter: type: string - name: + description: >- + Filter further on specific dimension values. Follows the same + grammar as custom report's filter expressions. Example, apiproxy eq + 'foobar'. + https://cloud.google.com/apigee/docs/api-platform/analytics/analytics-reference#filters + pageToken: type: string - success: - type: boolean - GoogleCloudApigeeV1RuntimeConfig: + description: Identifies a sequence of rows. + dimensions: + description: Required. List of dimension names to group the aggregations by. + items: + type: string + type: array + GoogleCloudApigeeV1DatastoreConfig: properties: - traceBucket: - type: string - description: Cloud Storage bucket used for uploading Trace records. - analyticsBucket: - type: string - description: Cloud Storage bucket used for uploading Analytics records. - tenantProjectId: - readOnly: true - description: >- - 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. + tablePrefix: type: string - name: + description: Prefix of BigQuery table Required for `bigquery` target_type. + bucketName: + description: Name of the Cloud Storage bucket. Required for `gcs` target_type. type: string - description: >- - Name of the resource in the following format: - `organizations/{org}/runtimeConfig`. - description: >- - Runtime configuration for the organization. Response for - GetRuntimeConfig. - type: object - id: GoogleCloudApigeeV1RuntimeConfig - GoogleCloudApigeeV1GraphQLOperationGroup: - properties: - operationConfigType: + datasetName: type: string - description: >- - Flag that specifies whether the configuration is for Apigee API - proxy or a remote service. Valid values include `proxy` or - `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API - proxies are associated with the API product. Set to `remoteservice` - when non-Apigee proxies like Istio-Envoy are associated with the API - product. - operationConfigs: - description: >- - Required. List of operation configurations for either Apigee API - proxies or other remote services that are associated with this API - product. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1GraphQLOperationConfig' - description: >- - List of graphQL operation configuration details associated with Apigee - API proxies or remote services. Remote services are non-Apigee proxies, - such as Istio-Envoy. - type: object - id: GoogleCloudApigeeV1GraphQLOperationGroup - GoogleCloudApigeeV1SharedFlow: - id: GoogleCloudApigeeV1SharedFlow - properties: - latestRevisionId: - description: The id of the most recently created revision for this shared flow. + description: BigQuery dataset name Required for `bigquery` target_type. + path: type: string - name: - description: The ID of the shared flow. + description: Path of Cloud Storage bucket Required for `gcs` target_type. + projectId: type: string - metaData: - description: Metadata describing the shared flow. - $ref: '#/components/schemas/GoogleCloudApigeeV1EntityMetadata' - revision: - description: A list of revisions of this shared flow. - type: array - items: - type: string + description: Required. Google Cloud project in which the datastore exists + id: GoogleCloudApigeeV1DatastoreConfig + description: Configuration detail for datastore type: object - description: The metadata describing a shared flow - GoogleCloudApigeeV1ProfileConfig: + GoogleCloudApigeeV1DebugSession: + id: GoogleCloudApigeeV1DebugSession type: object properties: - categories: - description: List of categories of profile config. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigCategory' - description: >- - ProfileConfig defines a set of categories and policies which will be - used to compute security score. - id: GoogleCloudApigeeV1ProfileConfig - GoogleLongrunningOperation: - properties: - response: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - description: >- - 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`. - done: - type: boolean - description: >- - 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. - error: + filter: + type: string description: >- - The error result of the operation in case of failure or - cancellation. - $ref: '#/components/schemas/GoogleRpcStatus' - metadata: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object + Optional. A conditional statement which is evaluated against the + request message to determine if it should be traced. Syntax matches + that of on API Proxy bundle flow Condition. + timeout: + type: string description: >- - 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. + Optional. The time in seconds after which this DebugSession should + end. This value will override the value in query param, if both are + provided. + format: int64 name: + description: A unique ID for this DebugSession. + type: string + createTime: description: >- - 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}`. + Output only. The first transaction creation timestamp, recorded by + UAP. + format: google-datetime + readOnly: true type: string - description: >- - This resource represents a long-running operation that is the result of - a network API call. - type: object - id: GoogleLongrunningOperation - GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest: - id: GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest - type: object - description: Request for UpdateAppGroupAppKey - properties: - apiProducts: - items: - type: string - type: array + validity: + format: int32 + type: integer description: >- - The list of API products that will be associated with the - credential. This list will be appended to the existing list of - associated API Products for this App Key. Duplicates will be - ignored. - appGroupAppKey: + 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. + tracesize: description: >- - The new AppGroupKey to be amended. Note that the status can be - updated only via action. - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' - action: - type: string + Optional. The maximum number of bytes captured from the response + payload. Min = 0, Max = 5120, Default = 5120. + format: int32 + type: integer + count: description: >- - Approve or revoke the consumer key by setting this value to - `approve` or `revoke` respectively. The `Content-Type` header, if - set, must be set to `application/octet-stream`, with empty body. - GoogleCloudApigeeV1ScoreComponentRecommendationAction: - description: Action to improve security score. + Optional. The number of request to be traced. Min = 1, Max = 15, + Default = 10. + type: integer + format: int32 + GoogleCloudApigeeV1Export: type: object properties: - actionContext: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext - description: Action context for the action. description: - description: Description of the action. type: string - id: GoogleCloudApigeeV1ScoreComponentRecommendationAction - GoogleIamV1SetIamPolicyRequest: - properties: - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' + description: Description of the export job. + self: description: >- - REQUIRED: The complete policy to be applied to the `resource`. The - size of the policy is limited to a few 10s of KB. An empty policy is - a valid policy but certain Google Cloud services (such as Projects) - might reject them. - updateMask: - description: >- - OPTIONAL: A FieldMask specifying which fields of the policy to - modify. Only the fields in the mask will be modified. If no mask is - provided, the following default mask is used: `paths: "bindings, - etag"` - format: google-fieldmask + 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` type: string - id: GoogleIamV1SetIamPolicyRequest - description: Request message for `SetIamPolicy` method. - type: object - GoogleCloudApigeeV1RevenueShareRange: - type: object - id: GoogleCloudApigeeV1RevenueShareRange - properties: - end: - description: >- - Ending value of the range. Set to 0 or `null` for the last range of - values. - format: int64 + readOnly: true + updated: type: string - start: - format: int64 - description: >- - Starting value of the range. Set to 0 or `null` for the initial - range of values. + readOnly: true + description: Output only. Time the export job was last updated. + state: + readOnly: true type: string - sharePercentage: - format: double description: >- - Percentage of the revenue to be shared with the developer. For - example, to share 21 percent of the total revenue with the - developer, set this value to 21. Specify a decimal number with a - maximum of two digits following the decimal point. - type: number - description: >- - API call volume range and the percentage of revenue to share with the - developer when the total number of API calls is within the range. - GoogleCloudApigeeV1ApiDoc: - type: object - properties: - apiProductName: + Output only. Status of the export job. Valid values include + `enqueued`, `running`, `completed`, and `failed`. + created: + readOnly: true + description: Output only. Time the export job was created. type: string - description: >- - Required. Immutable. The `name` field of the associated [API - product](/apigee/docs/reference/apis/apigee/rest/v1/organizations.apiproducts). - A portal may have only one catalog item associated with a given API - product. - graphqlSchema: + datastoreName: type: string description: >- - Optional. DEPRECATED: manage documentation through the - `getDocumentation` and `updateDocumentation` methods - deprecated: true - modified: - format: int64 - readOnly: true - description: >- - Output only. Time the catalog item was last modified in milliseconds - since epoch. + Name of the datastore that is the destination of the export job + [datastore] + executionTime: type: string - anonAllowed: - type: boolean description: >- - Optional. Boolean flag that manages user access to the catalog item. - When true, the catalog item has public visibility and can be viewed - anonymously; otherwise, only registered users may view it. Note: - when the parent portal is enrolled in the [audience management - feature](https://cloud.google.com/apigee/docs/api-platform/publish/portal/portal-audience#enrolling_in_the_beta_release_of_the_audience_management_feature), - and this flag is set to false, visibility is set to an indeterminate - state and must be explicitly specified in the management UI (see - [Manage the visibility of an API in your - portal](https://cloud.google.com/apigee/docs/api-platform/publish/portal/publish-apis#visibility)). - Additionally, when enrolled in the audience management feature, - updates to this flag will be ignored as visibility permissions must - be updated in the management UI. - id: + Output only. Execution time for this export job. If the job is still + in progress, it will be set to the amount of time that has elapsed + since`created`, in seconds. Else, it will set to (`updated` - + `created`), in seconds. + readOnly: true + error: type: string - description: Output only. The ID of the catalog item. - format: int64 readOnly: true - description: - description: >- - Optional. Description of the catalog item. Max length is 10,000 - characters. + description: Output only. Error is set when export fails + name: type: string - edgeAPIProductName: - description: >- - Optional. Immutable. DEPRECATED: use the `apiProductName` field - instead + description: Display name of the export job. + description: Details of an export job. + id: GoogleCloudApigeeV1Export + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest: + properties: + profile: + description: Required. Name of the profile that is used for computation. type: string - published: - description: >- - Optional. Denotes whether the catalog item is published to the - portal or is in a draft state. When the parent portal is enrolled in - the [audience management - feature](https://cloud.google.com/apigee/docs/api-platform/publish/portal/portal-audience#enrolling_in_the_beta_release_of_the_audience_management_feature), - the visibility can be set to public on creation by setting the - anonAllowed flag to true or further managed in the management UI - (see [Manage the visibility of an API in your - portal](https://cloud.google.com/apigee/docs/api-platform/publish/portal/publish-apis#visibility)) - before it can be visible to any users. If not enrolled in the - audience management feature, the visibility is managed by the - `anonAllowed` flag. - type: boolean - visibility: - description: 'Optional. DEPRECATED: use the `published` field instead' - type: boolean - title: + include: + description: Include only these resources. + $ref: >- + #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray + pageToken: type: string description: >- - Required. The user-facing name of the catalog item. `title` must be - a non-empty string with a max length of 255 characters. - requireCallbackUrl: - type: boolean - description: >- - Optional. Whether a callback URL is required when this catalog - item's API product is enabled in a developer app. When true, a - portal user will be required to input a URL when managing the app - (this is typically used for the app's OAuth flow). - categoryIds: + Optional. A page token, received from a previous + `BatchComputeSecurityAssessmentResults` call. Provide this to + retrieve the subsequent page. + includeAllResources: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll + description: Include all resources under the scope. + scope: description: >- - Optional. The IDs of the API categories to which this catalog item - belongs. - items: - type: string - type: array - imageUrl: + Required. Scope of the resources for the computation. For Apigee, + the environment is the scope of the resources. type: string + pageSize: + type: integer description: >- - Optional. Location of the image used for the catalog item in the - catalog. This can be either an image with an external URL or a file - path for [image files stored in the - portal](/apigee/docs/api-platform/publish/portal/portal-files"), for - example, `/files/book-tree.jpg`. When specifying the URL of an - external image, the image won't be uploaded to your assets; - additionally, loading the image in the integrated portal will be - subject to its availability, which may be blocked or restricted by - [content security - policies](/apigee/docs/api-platform/publish/portal/csp). Max length - of file path is 2,083 characters. - siteId: - readOnly: true - type: string - description: Output only. The ID of the parent portal. - specId: + Optional. The maximum number of results to return. The service may + return fewer than this value. If unspecified, at most 50 results + will be returned. + format: int32 + id: GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest + type: object + description: Request for BatchComputeSecurityAssessmentResults. + GoogleCloudApigeeV1NatAddress: + type: object + id: GoogleCloudApigeeV1NatAddress + properties: + ipAddress: type: string - description: 'Optional. DEPRECATED: DO NOT USE' - deprecated: true - graphqlSchemaDisplayName: + readOnly: true + description: Output only. The static IPV4 address. + state: + enum: + - STATE_UNSPECIFIED + - CREATING + - RESERVED + - ACTIVE + - DELETING + enumDescriptions: + - The resource is in an unspecified state. + - The NAT address is being created. + - The NAT address is reserved but not yet used for Internet egress. + - The NAT address is active and used for Internet egress. + - The NAT address is being deleted. type: string - deprecated: true - description: >- - Optional. DEPRECATED: manage documentation through the - `getDocumentation` and `updateDocumentation` methods - graphqlEndpointUrl: - deprecated: true - description: >- - Optional. DEPRECATED: manage documentation through the - `getDocumentation` and `updateDocumentation` methods + description: Output only. State of the nat address. + readOnly: true + name: + description: Required. Resource ID of the NAT address. type: string - id: GoogleCloudApigeeV1ApiDoc description: >- - `ApiDoc` represents an API catalog item. Catalog items are used in two - ways in a portal: - Users can browse and interact with a visual - representation of the API documentation - The `api_product_name` field - provides a link to a backing [API product] - (/apigee/docs/reference/apis/apigee/rest/v1/organizations.apiproducts). - Through this link, portal users can create and manage developer apps - linked to one or more API products. - GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse: + Apigee NAT(network address translation) address. A NAT address is a + static external IP address used for Internet egress traffic. + GoogleCloudApigeeV1AsyncQueryResultView: properties: - environmentGroupAttachments: - description: EnvironmentGroupAttachments for the specified environment group. - type: array + rows: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroupAttachment' - nextPageToken: + type: any description: >- - Page token that you can include in a ListEnvironmentGroupAttachments - request to retrieve the next page. If omitted, no subsequent pages - exist. - type: string - description: Response for ListEnvironmentGroupAttachments. - id: GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse - type: object - GoogleCloudApigeeV1SetAddonsRequest: - type: object - id: GoogleCloudApigeeV1SetAddonsRequest - properties: - addonsConfig: - description: Required. Add-on configurations. - $ref: '#/components/schemas/GoogleCloudApigeeV1AddonsConfig' - description: Request for SetAddons. - GoogleIamV1TestIamPermissionsResponse: - properties: - permissions: + Rows of query result. Each row is a JSON object. Example: + {sum(message_count): 1, developer_app: "(not set)",…} type: array - items: - type: string + metadata: description: >- - A subset of `TestPermissionsRequest.permissions` that the caller is - allowed. - type: object - id: GoogleIamV1TestIamPermissionsResponse - description: Response message for `TestIamPermissions` method. - GoogleCloudApigeeV1GrpcOperationGroup: + Metadata contains information like metrics, dimenstions etc of the + AsyncQuery. + $ref: '#/components/schemas/GoogleCloudApigeeV1QueryMetadata' + code: + description: Error code when there is a failure. + format: int32 + type: integer + state: + description: State of retrieving ResultView. + type: string + error: + type: string + description: Error message when there is a failure. + id: GoogleCloudApigeeV1AsyncQueryResultView type: object - id: GoogleCloudApigeeV1GrpcOperationGroup + GoogleRpcStatus: description: >- - List of gRPC operation configuration details associated with Apigee API - proxies. + 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). + id: GoogleRpcStatus properties: - operationConfigs: + code: + format: int32 + type: integer + description: The status code, which should be an enum value of google.rpc.Code. + details: description: >- - Required. List of operation configurations for either Apigee API - proxies that are associated with this API product. + A list of messages that carry the error details. There is a common + set of message types for APIs to use. type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1GrpcOperationConfig' - GoogleCloudApigeeV1GetSyncAuthorizationRequest: - description: Request for GetSyncAuthorization. - id: GoogleCloudApigeeV1GetSyncAuthorizationRequest + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + message: + type: string + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: object + GoogleCloudApigeeV1EnvironmentGroup: type: object - properties: {} - GoogleCloudApigeeV1OperationMetadataProgress: properties: - description: - description: Description of the operation's progress. + name: + description: ID of the environment group. type: string - details: - additionalProperties: - type: any - description: Properties of the object. - description: The additional details of the progress. - type: object + hostnames: + description: Required. Host names for this environment group. + type: array + items: + type: string + createdAt: + type: string + format: int64 + readOnly: true + description: >- + Output only. The time at which the environment group was created as + milliseconds since epoch. state: - description: State of the operation. + readOnly: true + description: >- + Output only. State of the environment group. Values other than + ACTIVE means the resource is not ready to use. + enumDescriptions: + - Resource is in an unspecified state. + - Resource is being created. + - Resource is provisioned and ready to use. + - The resource is being deleted. + - The resource is being updated. enum: - STATE_UNSPECIFIED - - NOT_STARTED - - IN_PROGRESS - - FINISHED + - CREATING + - ACTIVE + - DELETING + - UPDATING type: string - enumDescriptions: - - '' - - '' - - '' - - '' - percentDone: - description: The percentage of the operation progress. - type: integer - format: int32 - id: GoogleCloudApigeeV1OperationMetadataProgress - type: object - description: Information about operation progress. - GoogleCloudApigeeV1Point: + lastModifiedAt: + readOnly: true + description: >- + Output only. The time at which the environment group was last + updated as milliseconds since epoch. + type: string + format: int64 + description: >- + EnvironmentGroup configuration. An environment group is used to group + one or more Apigee environments under a single host name. + id: GoogleCloudApigeeV1EnvironmentGroup + GoogleCloudApigeeV1GrpcOperationGroup: type: object + description: >- + List of gRPC operation configuration details associated with Apigee API + proxies. properties: - results: + operationConfigs: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Result' + $ref: '#/components/schemas/GoogleCloudApigeeV1GrpcOperationConfig' type: array - description: List of results extracted from a given debug point. - id: - type: string - description: Name of a step in the transaction. - description: >- - Point is a group of information collected by runtime plane at critical - points of the message flow of the processed API request. This is a list - of supported point IDs, categorized to three major buckets. For each - category, debug points that we are currently supporting are listed - below: - Flow status debug points: StateChange FlowInfo Condition - Execution DebugMask Error - Flow control debug points: FlowCallout - Paused Resumed FlowReturn BreakFlow Error - Runtime debug points: - ScriptExecutor FlowCalloutStepDefinition CustomTarget StepDefinition - Oauth2ServicePoint RaiseFault NodeJS The detail information of the given - debug point is stored in a list of results. - id: GoogleCloudApigeeV1Point - GoogleCloudApigeeV1DeveloperBalanceWallet: + description: >- + Required. List of operation configurations for either Apigee API + proxies that are associated with this API product. + id: GoogleCloudApigeeV1GrpcOperationGroup + GoogleCloudApigeeV1SecurityProfileV2: type: object - description: Wallet used to manage an account balance for a particular currency. properties: - balance: - description: >- - Current remaining balance of the developer for a particular - currency. - $ref: '#/components/schemas/GoogleTypeMoney' - lastCreditTime: - format: int64 + name: description: >- - Output only. Time at which the developer last added credit to the - account in milliseconds since epoch. - readOnly: true + Identifier. Name of the security profile v2 resource. Format: + organizations/{org}/securityProfilesV2/{profile} type: string - id: GoogleCloudApigeeV1DeveloperBalanceWallet - GoogleCloudApigeeV1OptimizedStatsNode: - properties: - data: - type: array - items: - type: any - id: GoogleCloudApigeeV1OptimizedStatsNode - type: object - description: >- - Encapsulates a data node as represented below: ``` { "identifier": { - "names": [ "apiproxy" ], "values": [ "sirjee" ] }, "metric": [ { "env": - "prod", "name": "sum(message_count)", "values": [ 36.0 ] } ] }``` or ``` - { "env": "prod", "name": "sum(message_count)", "values": [ 36.0 ] }``` - Depending on whether a dimension is present in the query or not the data - node type can be a simple metric value or dimension identifier with list - of metrics. - GoogleCloudApigeeV1MonetizationConfig: - id: GoogleCloudApigeeV1MonetizationConfig - description: Configuration for the Monetization add-on. - type: object - properties: - enabled: + googleDefined: type: boolean - description: Flag that specifies whether the Monetization add-on is enabled. - GoogleCloudApigeeV1MetricAggregation: - properties: - order: - enum: - - ORDER_UNSPECIFIED - - ASCENDING - - DESCENDING + description: Output only. Whether the security profile is google defined. + readOnly: true + createTime: + readOnly: true + description: Output only. The time of the security profile creation. + format: google-datetime + type: string + description: + type: string + description: Optional. The description of the security profile. + profileAssessmentConfigs: description: >- - Ordering for this aggregation in the result. For time series this is - ignored since the ordering of points depends only on the timestamp, - not the values. + Required. The configuration for each assessment in this profile. Key + is the name/id of the assessment. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityProfileV2ProfileAssessmentConfig + updateTime: + description: Output only. The time of the security profile update. + format: google-datetime type: string - enumDescriptions: - - Unspecified order. Default is Descending. - - Ascending sort order. - - Descending sort order. + readOnly: true + id: GoogleCloudApigeeV1SecurityProfileV2 + description: Security profile for risk assessment version 2. + GoogleCloudApigeeV1ApiProxy: + type: object + description: Metadata describing the API proxy + id: GoogleCloudApigeeV1ApiProxy + properties: name: + description: Output only. Name of the API proxy. type: string - description: Name of the metric - aggregation: + readOnly: true + latestRevisionId: + readOnly: true type: string + description: >- + Output only. The id of the most recently created revision for this + api proxy. + revision: + type: array + readOnly: true + description: Output only. List of revisions defined for the API proxy. + items: + type: string + labels: + description: User labels applied to this API Proxy. + type: object + additionalProperties: + type: string + apiProxyType: + readOnly: true enum: - - AGGREGATION_FUNCTION_UNSPECIFIED - - AVG - - SUM - - MIN - - MAX - - COUNT_DISTINCT + - API_PROXY_TYPE_UNSPECIFIED + - PROGRAMMABLE + - CONFIGURABLE + description: Output only. The type of the API proxy. enumDescriptions: - - Unspecified Aggregation function. - - Average. - - Summation. - - Min. - - Max. - - Count distinct - description: Aggregation function associated with the metric. - type: object - id: GoogleCloudApigeeV1MetricAggregation - description: The optionally aggregated metric to query with its ordering. - GoogleCloudApigeeV1ReportInstanceStatusRequest: - id: GoogleCloudApigeeV1ReportInstanceStatusRequest - description: Request for ReportInstanceStatus. + - API proxy type not specified. + - >- + Programmable API Proxies enable you to develop APIs with highly + flexible behavior using bundled policy configuration and one or + more programming languages to describe complex sequential and/or + conditional flows of logic. + - >- + Configurable API Proxies enable you to develop efficient APIs + using simple configuration while complex execution control flow + logic is handled by Apigee. This type only works with the ARCHIVE + deployment type and cannot be combined with the PROXY deployment + type. + type: string + readOnly: + readOnly: true + type: boolean + description: >- + 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. + metaData: + $ref: '#/components/schemas/GoogleCloudApigeeV1EntityMetadata' + description: Output only. Metadata describing the API proxy. + readOnly: true + GoogleCloudApigeeV1EnvironmentConfig: type: object properties: - instanceUid: + featureFlags: + additionalProperties: + type: string + description: Feature flags inherited from the organization and environment. + type: object + gatewayConfigLocation: type: string description: >- - A unique ID for the instance which is guaranteed to be unique in - case the user installs multiple hybrid runtimes with the same - instance ID. - reportTime: + The location for the gateway config blob as a URI, e.g. a Cloud + Storage URI. This is only used by Envoy-based gateways. + arcConfigLocation: description: >- - The time the report was generated in the runtime. Used to prevent an - old status from overwriting a newer one. An instance should space - out it's status reports so that clock skew does not play a factor. - format: google-datetime + 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. type: string - resources: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceStatus' - type: array - description: Status for config resources - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray: - type: object - properties: - resources: + targets: type: array description: >- - Required. The array of resources. For Apigee, the proxies are - resources. + List of target servers in the environment. Disabled target servers + are not displayed. items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource - id: >- - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray - description: An array of resource messages. - GoogleCloudApigeeV1AppGroupAppKey: - id: GoogleCloudApigeeV1AppGroupAppKey - description: >- - AppGroupAppKey contains all the information associated with the - credentials. - properties: - scopes: + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServerConfig' + name: + type: string + description: >- + Name of the environment configuration in the following format: + `organizations/{org}/environments/{env}/configs/{config}` + deploymentGroups: + description: List of deployment groups in the environment. type: array items: - type: string + $ref: '#/components/schemas/GoogleCloudApigeeV1DeploymentGroupConfig' + traceConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceConfig' description: >- - Scopes to apply to the app. The specified scope names must already - be defined for the API product that you associate with the app. - expiresInSeconds: + Trace configurations. Contains config for the environment and config + overrides for specific API proxies. + addonsConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeAddonsConfig' + description: The latest runtime configurations for add-ons. + createTime: type: string + format: google-datetime + description: Time that the environment configuration was created. + revisionId: description: >- - 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. + Revision ID of the environment configuration. The higher the value, + the more recently the configuration was deployed. format: int64 - expiresAt: type: string - readOnly: true - format: int64 + resourceReferences: + description: List of resource references in the environment. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ReferenceConfig' + keystores: + description: List of keystores in the environment. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1KeystoreConfig' + type: array + provider: description: >- - Output only. Time the AppGroup app expires in milliseconds since - epoch. - consumerSecret: + Used by the Control plane to add context information to help detect + the source of the document during diagnostics and debugging. type: string - description: Secret key. - consumerKey: - description: Immutable. Consumer key. + pubsubTopic: type: string - attributes: + description: Name of the PubSub topic for the environment. + resources: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - description: List of attributes associated with the credential. - status: + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceConfig' + description: List of resource versions in the environment. + dataCollectors: + description: List of data collectors used by the deployments in the environment. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollectorConfig' + type: array + debugMask: + description: Debug mask that applies to all deployments in the environment. + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' + deployments: + description: List of deployments in the environment. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeploymentConfig' + type: array + flowhooks: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHookConfig' + type: array + description: List of flow hooks in the environment. + sequenceNumber: + type: string + format: int64 + description: 'DEPRECATED: Use revision_id.' + uid: description: >- - Status of the credential. Valid values include `approved` or - `revoked`. + Unique ID for the environment configuration. The ID will only change + if the environment is deleted and recreated. type: string - apiProducts: + forwardProxyUri: + type: string + description: >- + The forward proxy's url to be used by the runtime. When set, runtime + will send requests to the target via the given forward proxy. This + is only used by programmable gateways. + envScopedRevisionId: + description: >- + Revision ID for environment-scoped resources (e.g. target servers, + keystores) in this config. This ID will increment any time a + resource not scoped to a deployment group changes. + format: int64 + type: string + id: GoogleCloudApigeeV1EnvironmentConfig + GoogleCloudApigeeV1DeveloperSubscription: + properties: + apiproduct: + type: string + description: >- + Name of the API product for which the developer is purchasing a + subscription. + endTime: + type: string + format: int64 + description: >- + Time when the API product subscription ends in milliseconds since + epoch. + createdAt: readOnly: true - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1APIProductAssociation' + format: int64 description: >- - 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. - type: array - issuedAt: + Output only. Time when the API product subscription was created in + milliseconds since epoch. + type: string + startTime: + type: string description: >- - Output only. Time the AppGroup app was created in milliseconds since + Time when the API product subscription starts in milliseconds since epoch. + format: int64 + lastModifiedAt: type: string + description: >- + Output only. Time when the API product subscription was last + modified in milliseconds since epoch. + readOnly: true format: int64 + name: + description: Output only. Name of the API product subscription. readOnly: true + type: string + id: GoogleCloudApigeeV1DeveloperSubscription type: object - GoogleCloudApigeeV1ConfigVersion: - description: >- - Version of the API proxy configuration schema. Currently, only 4.0 is - supported. - id: GoogleCloudApigeeV1ConfigVersion - type: object - properties: - majorVersion: - description: Major version of the API proxy configuration schema. - type: integer - format: int32 - minorVersion: - format: int32 - type: integer - description: Minor version of the API proxy configuration schema. - GoogleCloudApigeeV1ApiDocResponse: - description: The catalog item resource wrapped with response status, error_code, etc. + description: Structure of a DeveloperSubscription. + GoogleCloudApigeeV1Point: properties: - requestId: - type: string - description: Unique ID of the request. - data: - description: The catalog item resource. - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' - status: - description: Status of the operation. + results: + description: List of results extracted from a given debug point. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Result' + id: + description: Name of a step in the transaction. type: string + description: >- + Point is a group of information collected by runtime plane at critical + points of the message flow of the processed API request. This is a list + of supported point IDs, categorized to three major buckets. For each + category, debug points that we are currently supporting are listed + below: - Flow status debug points: StateChange FlowInfo Condition + Execution DebugMask Error - Flow control debug points: FlowCallout + Paused Resumed FlowReturn BreakFlow Error - Runtime debug points: + ScriptExecutor FlowCalloutStepDefinition CustomTarget StepDefinition + Oauth2ServicePoint RaiseFault NodeJS The detail information of the given + debug point is stored in a list of results. + type: object + id: GoogleCloudApigeeV1Point + GoogleCloudApigeeV1ListExportsResponse: + type: object + description: The response for ListExports + properties: + exports: + type: array + description: Details of the export jobs. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Export' + id: GoogleCloudApigeeV1ListExportsResponse + GoogleCloudApigeeV1ApiCategoryResponse: + description: The API category resource wrapped with response status, error_code, etc. + properties: message: - description: Description of the operation. type: string + description: Description of the operation. errorCode: type: string description: Unique error code for the request, if any. - type: object - id: GoogleCloudApigeeV1ApiDocResponse - GoogleCloudApigeeV1KeystoreConfig: - properties: - aliases: - description: Aliases in the keystore. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1AliasRevisionConfig' - type: array - name: - type: string - description: >- - Resource name in the following format: - `organizations/{org}/environments/{env}/keystores/{keystore}` - id: GoogleCloudApigeeV1KeystoreConfig - type: object - GoogleCloudApigeeV1KeyValueEntry: - properties: - name: + requestId: + description: Unique ID of the request. type: string - description: >- - Resource URI that can be used to identify the scope of the key value - map entries. - value: + status: type: string - description: >- - Required. Data or payload that is being retrieved and associated - with the unique key. + description: Status of the operation. + data: + description: The API category resource. + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' type: object - id: GoogleCloudApigeeV1KeyValueEntry - description: >- - Key value map pair where the value represents the data associated with - the corresponding key. **Note**: Supported for Apigee hybrid 1.8.x and - higher. - GoogleRpcPreconditionFailure: - properties: - violations: - description: Describes all precondition violations. - items: - $ref: '#/components/schemas/GoogleRpcPreconditionFailureViolation' - type: array - description: >- - Describes what preconditions have failed. For example, if an RPC failed - because it required the Terms of Service to be acknowledged, it could - list the terms of service violation in the PreconditionFailure message. - id: GoogleRpcPreconditionFailure + id: GoogleCloudApigeeV1ApiCategoryResponse + GoogleCloudApigeeV1Organization: + id: GoogleCloudApigeeV1Organization type: object - GoogleCloudApigeeV1Datastore: properties: - datastoreConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1DatastoreConfig' - description: Datastore Configurations. - displayName: - description: Required. Display name in UI - type: string - org: + description: type: string + description: Description of the Apigee organization. + subscriptionType: + enumDescriptions: + - Subscription type not specified. + - Full subscription to Apigee has been purchased. + - >- + Subscription to Apigee is free, limited, and used for evaluation + purposes only. readOnly: true - description: Output only. Organization that the datastore belongs to - lastUpdateTime: + enum: + - SUBSCRIPTION_TYPE_UNSPECIFIED + - PAID + - TRIAL type: string + description: >- + 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/). + deprecated: true + state: + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - DELETING + - UPDATING readOnly: true + enumDescriptions: + - Resource is in an unspecified state. + - Resource is being created. + - Resource is provisioned and ready to use. + - The resource is being deleted. + - The resource is being updated. description: >- - Output only. Datastore last update time, in milliseconds since the - epoch of 1970-01-01T00:00:00Z - format: int64 - self: + Output only. State of the organization. Values other than ACTIVE + means the resource is not ready to use. type: string + lastModifiedAt: description: >- - Output only. Resource link of Datastore. Example: - `/organizations/{org}/analytics/datastores/{uuid}` + Output only. Time that the Apigee organization was last modified in + milliseconds since epoch. + type: string + format: int64 readOnly: true - createTime: + projectId: readOnly: true + type: string + description: Output only. Project ID associated with the Apigee organization. + displayName: description: >- - Output only. Datastore create time, in milliseconds since the epoch - of 1970-01-01T00:00:00Z - format: int64 + Display name for the Apigee organization. Unused, but reserved for + future use. type: string - targetType: - description: Destination storage type. Supported types `gcs` or `bigquery`. + customerName: type: string - type: object - description: >- - The data store defines the connection to export data repository (Cloud - Storage, BigQuery), including the credentials used to access the data - repository. - id: GoogleCloudApigeeV1Datastore - GoogleCloudApigeeV1SecurityAction: - properties: - state: - enum: - - STATE_UNSPECIFIED - - ENABLED - - DISABLED + description: Not used by Apigee. + subscriptionPlan: + readOnly: true + description: >- + Output only. Subscription plan that the customer has purchased. + Output only. type: string enumDescriptions: + - Subscription plan not specified. + - Traditional subscription plan. - >- - The default value. This only exists for forward compatibility. A - create request with this value will be rejected. - - >- - An ENABLED SecurityAction is actively enforced if the - `expiration_time` is in the future. - - A disabled SecurityAction is never enforced. - description: >- - Required. Only an ENABLED SecurityAction is enforced. An ENABLED - SecurityAction past its expiration time will not be enforced. - conditionConfig: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityActionConditionConfig - description: >- - Required. A valid SecurityAction must contain at least one - condition. - allow: - description: Allow a request through if it matches this SecurityAction. - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionAllow' + New subscription plan that provides standard proxy and scaled + proxy implementation. + enum: + - SUBSCRIPTION_PLAN_UNSPECIFIED + - SUBSCRIPTION_2021 + - SUBSCRIPTION_2024 name: - description: >- - 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} - type: string - description: type: string - description: >- - Optional. An optional user provided description of the - SecurityAction. - deny: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionDeny' - description: Deny a request through if it matches this SecurityAction. - createTime: - description: Output only. The create time for this SecurityAction. + description: Output only. Name of the Apigee organization. readOnly: true - format: google-datetime - type: string - ttl: + caCertificate: type: string - description: Input only. The TTL for this SecurityAction. - format: google-duration - updateTime: + format: byte readOnly: true - type: string description: >- - Output only. The update time for this SecurityAction. This reflects - when this SecurityAction changed states. - format: google-datetime - flag: - description: Flag a request through if it matches this SecurityAction. - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionFlag' - expireTime: - description: The expiration for this SecurityAction. - format: google-datetime - type: string - apiProxies: + Output only. Base64-encoded public certificate for the root CA of + the Apigee organization. Valid only when [RuntimeType](#RuntimeType) + is `CLOUD`. + portalDisabled: + description: Configuration for the Portals settings. + type: boolean + apigeeProjectId: description: >- - 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. - items: - type: string - type: array - description: >- - A SecurityAction is rule that can be enforced at an environment level. - The result is one of: - A denied API call - An explicitly allowed API - call - A flagged API call (HTTP headers added before the target receives - it) At least one condition is required to create a SecurityAction. - id: GoogleCloudApigeeV1SecurityAction - type: object - GoogleCloudApigeeV1DebugMask: - type: object - properties: - name: + 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. type: string - description: Name of the debug mask. - variables: - type: array - items: - type: string - description: List of variables that should be masked from the debug output. - requestJSONPaths: + readOnly: true + properties: + $ref: '#/components/schemas/GoogleCloudApigeeV1Properties' + description: Properties defined in the Apigee organization profile. + attributes: items: type: string - description: >- - List of JSON paths that specify the JSON elements to be filtered - from JSON request message payloads. - type: array - requestXPaths: + description: Not used by Apigee. type: array + type: + enumDescriptions: + - Subscription type not specified. + - >- + Subscription to Apigee is free, limited, and used for evaluation + purposes only. + - >- + Full subscription to Apigee has been purchased. See [Apigee + pricing](https://cloud.google.com/apigee/pricing/). + - For internal users only. + type: string + enum: + - TYPE_UNSPECIFIED + - TYPE_TRIAL + - TYPE_PAID + - TYPE_INTERNAL + description: Not used by Apigee. + authorizedNetwork: description: >- - List of XPaths that specify the XML elements to be filtered from XML - request message payloads. - items: - type: string - faultXPaths: + 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. + type: string + addonsConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1AddonsConfig' + description: Addon configurations of the Apigee organization. + controlPlaneEncryptionKeyName: + type: string description: >- - List of XPaths that specify the XML elements to be filtered from XML - payloads in error flows. - items: - type: string - type: array - namespaces: - description: Map of namespaces to URIs. - type: object - additionalProperties: - type: string - responseXPaths: + 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/*` + runtimeDatabaseEncryptionKeyName: description: >- - List of XPaths that specify the XML elements to be filtered from XML - response message payloads. - items: - type: string - type: array - responseJSONPaths: + Cloud KMS key name used for encrypting the data that is stored and + replicated across runtime instances. Update is not allowed after the + organization is created. If not specified or + [RuntimeType](#RuntimeType) is `TRIAL`, a Google-Managed encryption + key will be used. For example: + "projects/foo/locations/us/keyRings/bar/cryptoKeys/baz". **Note:** + Not supported for Apigee hybrid. + type: string + environments: + readOnly: true items: type: string + description: Output only. List of environments in the Apigee organization. type: array + disableVpcPeering: + type: boolean description: >- - List of JSON paths that specify the JSON elements to be filtered - from JSON response message payloads. - faultJSONPaths: - description: >- - List of JSON paths that specify the JSON elements to be filtered - from JSON payloads in error flows. - type: array - items: - type: string - id: GoogleCloudApigeeV1DebugMask - GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation: - properties: - scoreImpact: - format: int32 - type: integer + Optional. Flag that specifies whether the VPC Peering through + Private Google Access should be disabled between the consumer + network and Apigee. Valid only when RuntimeType is set to CLOUD. + Required if an authorizedNetwork on the consumer project is not + provided, in which case the flag should be set to true. The value + must be set before the creation of any Apigee runtime instance and + can be updated only when there are no runtime instances. **Note:** + Apigee will be deprecating the vpc peering model that requires you + to provide 'authorizedNetwork', by making the non-peering model as + the default way of provisioning Apigee organization in future. So, + this will be a temporary flag to enable the transition. Not + supported for Apigee hybrid. + expiresAt: + format: int64 description: >- - Score impact indicates the impact on the overall score if the - assessment were to pass. - displayName: + Output only. Time that the Apigee organization is scheduled for + deletion. + readOnly: true type: string - description: The display name of the assessment. - recommendations: - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation - description: The recommended steps of the assessment. - type: array - weight: - description: The weight of the assessment which was set in the profile. - enumDescriptions: - - The weight is unspecified. - - The weight is minor. - - The weight is moderate. - - The weight is major. + runtimeType: + description: >- + Required. Runtime type of the Apigee organization based on the + Apigee subscription purchased. type: string enum: - - WEIGHT_UNSPECIFIED - - MINOR - - MODERATE - - MAJOR - verdict: - enum: - - VERDICT_UNSPECIFIED - - PASS - - FAIL - description: Verdict indicates the assessment result. - type: string + - RUNTIME_TYPE_UNSPECIFIED + - CLOUD + - HYBRID enumDescriptions: - - The verdict is unspecified. - - The assessment has passed. - - The assessment has failed. - id: >- - GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation - type: object - description: The message format of a recommendation from the assessment. - GoogleCloudApigeeV1TraceConfigOverride: - properties: - apiProxy: + - Runtime type not specified. + - Google-managed Apigee runtime. + - User-managed Apigee hybrid runtime. + analyticsRegion: + description: >- + Required. DEPRECATED: This field will eventually be deprecated and + replaced with a differently-named field. Primary Google Cloud region + for analytics data storage. For valid values, see [Create an Apigee + organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). + type: string + deprecated: true + apiConsumerDataEncryptionKeyName: type: string description: >- - ID of the API proxy that will have its trace configuration - overridden. - samplingConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceSamplingConfig' - description: Trace configuration to override. - name: + Cloud KMS key name used for encrypting API consumer data. If not + specified or [BillingType](#BillingType) is `EVALUATION`, a + Google-Managed encryption key will be used. Format: + `projects/*/locations/*/keyRings/*/cryptoKeys/*` + createdAt: type: string + readOnly: true description: >- - ID of the trace configuration override specified as a - system-generated UUID. - description: A representation of a configuration override. - id: GoogleCloudApigeeV1TraceConfigOverride - type: object - GoogleCloudApigeeV1SecurityActionFlag: - properties: - headers: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionHttpHeader' + Output only. Time that the Apigee organization was created in + milliseconds since epoch. + format: int64 + apiConsumerDataLocation: description: >- - Optional. A list of HTTP headers to be sent to the target in case of - a FLAG SecurityAction. Limit 5 headers per SecurityAction. At least - one is mandatory. - type: array - description: The message that should be set in the case of a Flag action. - type: object - id: GoogleCloudApigeeV1SecurityActionFlag - GoogleCloudApigeeV1ListApiDocsResponse: - properties: - status: + 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. type: string - description: Status of the operation. - nextPageToken: - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. + billingType: type: string - requestId: - type: string - description: Unique ID of the request. + description: >- + Billing type of the Apigee organization. See [Apigee + pricing](https://cloud.google.com/apigee/pricing). + enum: + - BILLING_TYPE_UNSPECIFIED + - SUBSCRIPTION + - EVALUATION + - PAYG + enumDescriptions: + - Billing type not specified. + - A pre-paid subscription to Apigee. + - Free and limited access to Apigee for evaluation purposes only. + - Access to Apigee using a Pay-As-You-Go plan. + GoogleCloudApigeeV1OptimizedStatsNode: + type: object + description: >- + Encapsulates a data node as represented below: ``` { "identifier": { + "names": [ "apiproxy" ], "values": [ "sirjee" ] }, "metric": [ { "env": + "prod", "name": "sum(message_count)", "values": [ 36.0 ] } ] }``` or ``` + { "env": "prod", "name": "sum(message_count)", "values": [ 36.0 ] }``` + Depending on whether a dimension is present in the query or not the data + node type can be a simple metric value or dimension identifier with list + of metrics. + id: GoogleCloudApigeeV1OptimizedStatsNode + properties: data: + items: + type: any + type: array + GoogleCloudApigeeV1Certificate: + id: GoogleCloudApigeeV1Certificate + properties: + certInfo: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' - description: The catalog item resources. - errorCode: - description: Unique error code for the request, if any. - type: string - message: - description: Description of the operation. - type: string - id: GoogleCloudApigeeV1ListApiDocsResponse - type: object - GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation: - id: GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation + $ref: '#/components/schemas/GoogleCloudApigeeV1CertInfo' + description: Chain of certificates under this name. type: object + GoogleCloudApigeeV1KeyAliasReference: properties: - name: + aliasId: type: string - description: Immutable. Name of the environment that the profile is attached to. - securityProfileRevisionId: - format: int64 - deprecated: true + description: Alias ID. Must exist in the keystore referred to by the reference. + reference: type: string - description: 'DEPRECATED: DO NOT USE Revision ID of the security profile.' - attachTime: - format: google-datetime description: >- - Output only. The time when environment was attached to the security - profile. - type: string - readOnly: true - description: Represents a SecurityProfileEnvironmentAssociation resource. - GoogleCloudApigeeV1AccessLoggingConfig: + Reference name in the following format: + `organizations/{org}/environments/{env}/references/{reference}` + id: GoogleCloudApigeeV1KeyAliasReference type: object - description: >- - 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. + GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment: properties: - filter: - description: >- - Optional. Ship the access log entries that match the status_code - defined in the filter. The status_code is the only - expected/supported filter field. (Ex: status_code) The filter will - parse it to the Common Expression Language semantics for expression - evaluation to build the filter condition. (Ex: "filter": status_code - >= 200 && status_code < 300 ) + revision: type: string - enabled: - type: boolean - description: >- - Optional. Boolean flag that specifies whether the customer access - log feature is enabled. - id: GoogleCloudApigeeV1AccessLoggingConfig - GoogleCloudApigeeV1DeploymentGroupConfig: - description: >- - DeploymentGroupConfig represents a deployment group that should be - present in a particular environment. + description: Name of the deployed API proxy revision containing the base path. + environment: + description: Name of the environment in which the proxy is deployed. + type: string + basepath: + description: Base path receiving traffic. + type: string + apiProxy: + type: string + description: Name of the deployed API proxy revision containing the base path. + id: GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment + type: object + description: Tuple representing a base path and the deployment containing it. + GoogleCloudApigeeV1ProfileConfigCORS: + id: GoogleCloudApigeeV1ProfileConfigCORS + type: object + properties: {} + description: Checks to see if you have CORS policy in place. + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource: + type: object + description: Resource for which we are computing security assessment. + id: >- + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource properties: - uid: + name: type: string - description: >- - Unique ID. The ID will only change if the deployment group is - deleted and recreated. - deploymentGroupType: + description: Required. Name of this resource. + type: type: string enum: - - DEPLOYMENT_GROUP_TYPE_UNSPECIFIED - - STANDARD - - EXTENSIBLE + - RESOURCE_TYPE_UNSPECIFIED + - API_PROXY enumDescriptions: - - Unspecified type - - Standard type - - Extensible Type - description: >- - Type of the deployment group, which will be either Standard or - Extensible. - revisionId: - format: int64 - type: string + - ResourceType not specified. + - Resource is an Apigee Proxy. + description: Required. Type of this resource. + GoogleCloudApigeeV1ControlPlaneAccess: + description: >- + ControlPlaneAccess is the request body and response body of + UpdateControlPlaneAccess. and the response body of + GetControlPlaneAccess. The input identities contains an array of service + accounts to grant access to the respective control plane resource, with + each service account specified using the following format: + `serviceAccount:`***service-account-name***. The + ***service-account-name*** is formatted like an email address. For + example: + `my-control-plane-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. + id: GoogleCloudApigeeV1ControlPlaneAccess + properties: + analyticsPublisherIdentities: + items: + type: string + type: array description: >- - Revision number which can be used by the runtime to detect if the - deployment group has changed between two versions. + Optional. Array of service accounts authorized to publish analytics + data to the control plane (for the Message Processor component). name: + description: >- + Identifier. The resource name of the ControlPlaneAccess. Format: + "organizations/{org}/controlPlaneAccess" type: string + synchronizerIdentities: + type: array + items: + type: string description: >- - Name of the deployment group in the following format: - `organizations/{org}/environments/{env}/deploymentGroups/{group}`. - id: GoogleCloudApigeeV1DeploymentGroupConfig + Optional. Array of service accounts to grant access to control plane + resources (for the Synchronizer component). 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). type: object - GoogleCloudApigeeV1SecurityActionDeny: - description: Message that should be set in case of a Deny Action. - id: GoogleCloudApigeeV1SecurityActionDeny - properties: - responseCode: - type: integer - description: Optional. The HTTP response code if the Action = DENY. - format: int32 + GoogleIamV1AuditConfig: type: object - GoogleCloudApigeeV1DeveloperBalance: - id: GoogleCloudApigeeV1DeveloperBalance properties: - wallets: + service: + type: string description: >- - Output only. List of all wallets. Each individual wallet stores the - account balance for a particular currency. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalanceWallet' - readOnly: true - type: object - description: Account balance for the developer. - GoogleCloudApigeeV1ListEnvironmentResourcesResponse: - id: GoogleCloudApigeeV1ListEnvironmentResourcesResponse - properties: - resourceFile: + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + auditLogConfigs: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' - description: List of resources files. + $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' type: array + description: The configuration for logging of each type of permission. + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + id: GoogleIamV1AuditConfig + GoogleCloudApigeeV1DeveloperAppKey: type: object - description: Response for ListEnvironmentResources - GoogleCloudApigeeV1UpdateError: - id: GoogleCloudApigeeV1UpdateError + id: GoogleCloudApigeeV1DeveloperAppKey properties: - type: + consumerSecret: + description: Secret key. + type: string + scopes: + type: array description: >- - A string that uniquely identifies the type of error. This provides a - more reliable means to deduplicate errors across revisions and - instances. + Scopes to apply to the app. The specified scope names must already + be defined for the API product that you associate with the app. + items: + type: string + status: type: string - code: + description: >- + Status of the credential. Valid values include `approved` or + `revoked`. + apiProducts: + description: >- + 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. + items: + type: any + type: array + attributes: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + description: List of attributes associated with the credential. + issuedAt: + format: int64 type: string - description: Status code. - enumDescriptions: - - 'Not an error; returned on success. HTTP Mapping: 200 OK' - - >- - The operation was cancelled, typically by the caller. HTTP - Mapping: 499 Client Closed Request - - >- - Unknown error. For example, this error may be returned when a - `Status` value received from another address space belongs to an - error space that is not known in this address space. Also errors - raised by APIs that do not return enough error information may be - converted to this error. HTTP Mapping: 500 Internal Server Error - - >- - The client specified an invalid argument. Note that this differs - from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments - that are problematic regardless of the state of the system (e.g., - a malformed file name). HTTP Mapping: 400 Bad Request - - >- - The deadline expired before the operation could complete. For - operations that change the state of the system, this error may be - returned even if the operation has completed successfully. For - example, a successful response from a server could have been - delayed long enough for the deadline to expire. HTTP Mapping: 504 - Gateway Timeout - - >- - Some requested entity (e.g., file or directory) was not found. - Note to server developers: if a request is denied for an entire - class of users, such as gradual feature rollout or undocumented - allowlist, `NOT_FOUND` may be used. If a request is denied for - some users within a class of users, such as user-based access - control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not - Found - - >- - The entity that a client attempted to create (e.g., file or - directory) already exists. HTTP Mapping: 409 Conflict - - >- - The caller does not have permission to execute the specified - operation. `PERMISSION_DENIED` must not be used for rejections - caused by exhausting some resource (use `RESOURCE_EXHAUSTED` - instead for those errors). `PERMISSION_DENIED` must not be used if - the caller can not be identified (use `UNAUTHENTICATED` instead - for those errors). This error code does not imply the request is - valid or the requested entity exists or satisfies other - pre-conditions. HTTP Mapping: 403 Forbidden - - >- - The request does not have valid authentication credentials for the - operation. HTTP Mapping: 401 Unauthorized - - >- - Some resource has been exhausted, perhaps a per-user quota, or - perhaps the entire file system is out of space. HTTP Mapping: 429 - Too Many Requests - - >- - The operation was rejected because the system is not in a state - required for the operation's execution. For example, the directory - to be deleted is non-empty, an rmdir operation is applied to a - non-directory, etc. Service implementors can use the following - guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and - `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just - the failing call. (b) Use `ABORTED` if the client should retry at - a higher level. For example, when a client-specified test-and-set - fails, indicating the client should restart a read-modify-write - sequence. (c) Use `FAILED_PRECONDITION` if the client should not - retry until the system state has been explicitly fixed. For - example, if an "rmdir" fails because the directory is non-empty, - `FAILED_PRECONDITION` should be returned since the client should - not retry unless the files are deleted from the directory. HTTP - Mapping: 400 Bad Request - - >- - The operation was aborted, typically due to a concurrency issue - such as a sequencer check failure or transaction abort. See the - guidelines above for deciding between `FAILED_PRECONDITION`, - `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict - - >- - The operation was attempted past the valid range. E.g., seeking or - reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error - indicates a problem that may be fixed if the system state changes. - For example, a 32-bit file system will generate `INVALID_ARGUMENT` - if asked to read at an offset that is not in the range [0,2^32-1], - but it will generate `OUT_OF_RANGE` if asked to read from an - offset past the current file size. There is a fair bit of overlap - between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend - using `OUT_OF_RANGE` (the more specific error) when it applies so - that callers who are iterating through a space can easily look for - an `OUT_OF_RANGE` error to detect when they are done. HTTP - Mapping: 400 Bad Request - - >- - The operation is not implemented or is not supported/enabled in - this service. HTTP Mapping: 501 Not Implemented - - >- - Internal errors. This means that some invariants expected by the - underlying system have been broken. This error code is reserved - for serious errors. HTTP Mapping: 500 Internal Server Error - - >- - The service is currently unavailable. This is most likely a - transient condition, which can be corrected by retrying with a - backoff. Note that it is not always safe to retry non-idempotent - operations. See the guidelines above for deciding between - `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: - 503 Service Unavailable - - >- - Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal - Server Error - enum: - - OK - - CANCELLED - - UNKNOWN - - INVALID_ARGUMENT - - DEADLINE_EXCEEDED - - NOT_FOUND - - ALREADY_EXISTS - - PERMISSION_DENIED - - UNAUTHENTICATED - - RESOURCE_EXHAUSTED - - FAILED_PRECONDITION - - ABORTED - - OUT_OF_RANGE - - UNIMPLEMENTED - - INTERNAL - - UNAVAILABLE - - DATA_LOSS - message: - description: User-friendly error message. + description: Time the developer app was created in milliseconds since epoch. + consumerKey: type: string - resource: - description: >- - The sub resource specific to this error (e.g. a proxy deployed - within the EnvironmentConfig). If empty the error refers to the top - level resource. + description: Consumer key. + expiresAt: + format: int64 + description: Time the developer app expires in milliseconds since epoch. + type: string + expiresInSeconds: type: string - description: Details on why a resource update failed in the runtime. - type: object - GoogleCloudApigeeV1ProfileConfigCategory: - id: GoogleCloudApigeeV1ProfileConfigCategory - properties: - abuse: description: >- - Checks for abuse, which includes any requests sent to the API for - purposes other than what it is intended for, such as high volumes of - requests, data scraping, and abuse related to authorization. - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigAbuse' - threat: - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigThreat' - description: Checks to see if you have a threat protection policy in place. - mediation: - description: Checks to see if you have a mediation policy in place. - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigMediation' - mtls: - description: Checks to see if you have configured mTLS for the target server. - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigMTLS' - cors: - description: Checks to see if you have CORS policy in place. - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigCORS' - authorization: - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigAuthorization' - description: Checks to see if you have an authorization policy in place. - type: object + 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. + format: int64 + GoogleCloudApigeeV1SecurityReport: description: >- - Advanced API Security provides security profile that scores the - following categories. - GoogleCloudApigeeV1DatastoreConfig: - type: object + SecurityReport saves all the information about the created security + report. properties: - path: - description: Path of Cloud Storage bucket Required for `gcs` target_type. + self: type: string - projectId: + description: >- + 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` + reportDefinitionId: type: string - description: Required. GCP project in which the datastore exists - bucketName: + description: Report Definition ID. + updated: + description: Output only. Last updated timestamp for the query. + readOnly: true type: string - description: Name of the Cloud Storage bucket. Required for `gcs` target_type. - datasetName: - description: BigQuery dataset name Required for `bigquery` target_type. + displayName: type: string - tablePrefix: + description: Display Name specified by the user. + executionTime: type: string - description: Prefix of BigQuery table Required for `bigquery` target_type. - id: GoogleCloudApigeeV1DatastoreConfig - description: Configuration detail for datastore - GoogleCloudApigeeV1OrganizationProjectMapping: - type: object - properties: - location: - readOnly: true - description: >- - Output only. The Google Cloud region where control plane data is - located. For more information, see - https://cloud.google.com/about/locations/. + description: ExecutionTime is available only after the query is completed. + error: type: string - organization: + description: Error is set when query fails. + resultFileSize: + description: ResultFileSize is available only after the query is completed. type: string - description: Name of the Apigee organization. - projectId: + result: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportResultMetadata' + description: Result is available only after the query is completed. + state: + description: >- + Query state could be "enqueued", "running", "completed", "expired" + and "failed". type: string - description: Google Cloud project associated with the Apigee organization - projectIds: - items: - type: string - type: array - deprecated: true + resultRows: + format: int64 + type: string + description: ResultRows is available only after the query is completed. + queryParams: description: >- - DEPRECATED: Use `project_id`. An Apigee Organization is mapped to a - single project. - id: GoogleCloudApigeeV1OrganizationProjectMapping - GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink: - type: object - description: The format for a link in the recommendation. - id: >- - GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink - properties: - text: - description: 'The text of the url. (ie: "Learn more")' + Contains information like metrics, dimenstions etc of the Security + Report. + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportMetadata' + created: + description: Creation time of the query. type: string - uri: + envgroupHostname: type: string - description: The link itself. - GoogleCloudApigeeV1Subscription: - id: GoogleCloudApigeeV1Subscription + description: Hostname is available only when query is executed at host level. + id: GoogleCloudApigeeV1SecurityReport + type: object + GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest: properties: - name: - type: string + appGroupAppKey: + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' description: >- - Full name of the Pub/Sub subcription. Use the following structure in - your request: `subscription "projects/foo/subscription/bar"` - description: Pub/Sub subscription of an environment. + The new AppGroupKey to be amended. Note that the status can be + updated only via action. + action: + description: >- + Approve or revoke the consumer key by setting this value to + `approve` or `revoke` respectively. The `Content-Type` header, if + set, must be set to `application/octet-stream`, with empty body. + type: string + apiProducts: + type: array + items: + type: string + description: >- + The list of API products that will be associated with the + credential. This list will be appended to the existing list of + associated API Products for this App Key. Duplicates will be + ignored. + id: GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest type: object - GoogleCloudApigeeV1Score: - id: GoogleCloudApigeeV1Score + description: Request for UpdateAppGroupAppKey + EdgeConfigstoreBundleBadBundle: + description: Describes why a bundle is invalid. Intended for use in error details. type: object - description: Represents Security Score. + id: EdgeConfigstoreBundleBadBundle properties: - component: - description: Component containing score, recommendations and actions. - $ref: '#/components/schemas/GoogleCloudApigeeV1ScoreComponent' - timeRange: - $ref: '#/components/schemas/GoogleTypeInterval' - description: Start and end time for the score. - subcomponents: - description: List of all the drilldown score components. + violations: type: array + description: Describes all precondition violations. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ScoreComponent' - GoogleCloudApigeeV1Credential: + $ref: '#/components/schemas/EdgeConfigstoreBundleBadBundleViolation' + GoogleCloudApigeeV1AsyncQueryResult: + id: GoogleCloudApigeeV1AsyncQueryResult properties: - expiresAt: - format: int64 - description: Time the credential will expire in milliseconds since epoch. + expires: + description: Query result will be unaccessable after this time. type: string - consumerSecret: - description: Secret key. + self: type: string - apiProducts: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProductRef' - description: List of API products this credential can be used for. - scopes: - items: - type: string - type: array description: >- - List of scopes to apply to the app. Specified scopes must already - exist on the API product that you associate with the app. - issuedAt: - description: Time the credential was issued in milliseconds since epoch. + Self link of the query results. Example: + `/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` + or following format if query is running at host level: + `/organizations/myorg/hostQueries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` + type: object + GoogleCloudApigeeV1AsyncQuery: + id: GoogleCloudApigeeV1AsyncQuery + type: object + properties: + reportDefinitionId: + type: string + description: Asynchronous Report ID. + state: + type: string + description: Query state could be "enqueued", "running", "completed", "failed". + resultFileSize: + description: ResultFileSize is available only after the query is completed. + type: string + error: type: string + description: Error is set when query fails. + result: + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQueryResult' + description: Result is available only after the query is completed. + updated: + description: Last updated timestamp for the query. + type: string + executionTime: + description: ExecutionTime is available only after the query is completed. + type: string + envgroupHostname: + type: string + description: Hostname is available only when query is executed at host level. + resultRows: + description: ResultRows is available only after the query is completed. format: int64 - consumerKey: - description: Consumer key. type: string - attributes: - description: List of attributes associated with this credential. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - status: + self: description: >- - Status of the credential. Valid values include `approved` or - `revoked`. + 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` type: string - id: GoogleCloudApigeeV1Credential - type: object - GoogleCloudApigeeV1ResourceConfig: - id: GoogleCloudApigeeV1ResourceConfig - type: object - properties: - location: - description: Location of the resource as a URI. + created: + description: Creation time of the query. type: string name: + description: Asynchronous Query Name. type: string + queryParams: + $ref: '#/components/schemas/GoogleCloudApigeeV1QueryMetadata' description: >- - Resource name in the following format: - `organizations/{org}/environments/{env}/resourcefiles/{type}/{file}/revisions/{rev}` - Only environment-scoped resource files are supported. - GoogleCloudApigeeV1IngressConfig: - id: GoogleCloudApigeeV1IngressConfig + Contains information like metrics, dimenstions etc of the + AsyncQuery. + GoogleCloudApigeeV1OrganizationProjectMapping: + type: object + id: GoogleCloudApigeeV1OrganizationProjectMapping properties: - environmentGroups: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroupConfig' - description: List of environment groups in the organization. - name: - type: string - description: >- - Name of the resource in the following format: - `organizations/{org}/deployedIngressConfig`. - uid: + location: type: string description: >- - A unique id for the ingress config that will only change if the - organization is deleted and recreated. - revisionCreateTime: - description: Time at which the IngressConfig revision was created. + Output only. The Google Cloud region where control plane data is + located. For more information, see + https://cloud.google.com/about/locations/. + readOnly: true + organization: type: string - format: google-datetime - revisionId: + description: Name of the Apigee organization. + projectId: type: string + description: Google Cloud project associated with the Apigee organization + projectIds: + deprecated: true description: >- - Revision id that defines the ordering on IngressConfig resources. - The higher the revision, the more recently the configuration was - deployed. - format: int64 - type: object - GoogleCloudApigeeV1RuntimeApiSecurityConfig: - properties: - enabled: - type: boolean - description: If the API Security is enabled or not. - id: GoogleCloudApigeeV1RuntimeApiSecurityConfig - type: object - description: Runtime configuration for the API Security add-on. - GoogleCloudApigeeV1Quota: - id: GoogleCloudApigeeV1Quota + DEPRECATED: Use `project_id`. An Apigee Organization is mapped to a + single project. + items: + type: string + type: array + GoogleCloudApigeeV1TraceConfig: description: >- - Quota contains the essential parameters needed that can be applied on - the resources, methods, API source combination associated with this API - product. While Quota is optional, setting it prevents requests from - exceeding the provisioned parameters. + TraceConfig defines the configurations in an environment of distributed + trace. + id: GoogleCloudApigeeV1TraceConfig type: object properties: - timeUnit: - description: >- - Time unit defined for the `interval`. Valid values include `minute`, - `hour`, `day`, or `month`. If `limit` and `interval` are valid, the - default value is `hour`; otherwise, the default is null. + endpoint: + description: Required. Endpoint of the exporter. type: string - interval: + exporter: + enumDescriptions: + - Exporter unspecified + - Jaeger exporter + - Cloudtrace exporter + enum: + - EXPORTER_UNSPECIFIED + - JAEGER + - CLOUD_TRACE type: string description: >- - Required. Time interval over which the number of request messages is - calculated. - limit: - type: 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. + samplingConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceSamplingConfig' description: >- - Required. Upper limit allowed for the time interval and time unit - specified. Requests exceeding this limit will be rejected. - GoogleCloudApigeeV1DisableSecurityActionRequest: - id: GoogleCloudApigeeV1DisableSecurityActionRequest - properties: {} - description: Message to disable an enabled SecurityAction. - type: object - GoogleCloudApigeeV1ListInstanceAttachmentsResponse: + Distributed trace configuration for all API proxies in an + environment. You can also override the configuration for a specific + API proxy using the distributed trace configuration overrides API. + GoogleCloudApigeeV1CanaryEvaluationMetricLabels: + description: Labels that can be used to filter Apigee metrics. + id: GoogleCloudApigeeV1CanaryEvaluationMetricLabels type: object - id: GoogleCloudApigeeV1ListInstanceAttachmentsResponse properties: - attachments: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceAttachment' - description: Attachments for the instance. - nextPageToken: + env: + description: The environment ID associated with the metrics. + type: string + instance_id: description: >- - Page token that you can include in a ListInstanceAttachments request - to retrieve the next page of content. If omitted, no subsequent - pages exist. + Required. The instance ID associated with the metrics. In Apigee + Hybrid, the value is configured during installation. type: string - description: Response for ListInstanceAttachments. - GoogleCloudApigeeV1ApiSecurityRuntimeConfig: - id: GoogleCloudApigeeV1ApiSecurityRuntimeConfig + location: + description: Required. The location associated with the metrics. + type: string + GoogleCloudApigeeV1ListOfDevelopersResponse: type: object + id: GoogleCloudApigeeV1ListOfDevelopersResponse properties: - name: - description: >- - Name of the environment API Security Runtime configuration resource. - Format: - `organizations/{org}/environments/{env}/apiSecurityRuntimeConfig` - type: string - updateTime: - format: google-datetime - type: string - description: Time that the API Security Runtime configuration was updated. - location: - type: array - description: A list of up to 5 Cloud Storage Blobs that contain SecurityActions. + developer: items: - type: string - uid: - description: >- - Unique ID for the API Security Runtime configuration. The ID will - only change if the environment is deleted and recreated. - type: string - revisionId: - description: >- - Revision ID of the API Security Runtime configuration. The higher - the value, the more recently the configuration was deployed. - type: string - format: int64 - description: >- - Response for - GetApiSecurityRuntimeConfig[EnvironmentService.GetApiSecurityRuntimeConfig]. - GoogleCloudApigeeV1PodStatus: - id: GoogleCloudApigeeV1PodStatus - type: object + $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' + type: array + description: List of developers. + GoogleCloudApigeeV1DataCollector: properties: - deploymentStatus: + lastModifiedAt: + readOnly: true type: string description: >- - Status of the deployment. Valid values include: - `deployed`: - Successful. - `error` : Failed. - `pending` : Pod has not yet - reported on the deployment. - deploymentTime: + Output only. The time at which the Data Collector was last updated + in milliseconds since the epoch. format: int64 + description: + description: A description of the data collector. type: string - description: Time the proxy was deployed in milliseconds since epoch. - statusCodeDetails: - type: string - description: Human-readable message associated with the status code. - appVersion: + name: type: string - description: Version of the application running in the pod. - podStatus: + description: ID of the data collector. Must begin with `dc_`. + createdAt: + readOnly: true description: >- - Overall status of the pod (not this specific deployment). Valid - values include: - `active`: Up to date. - `stale` : Recently out of - date. Pods that have not reported status in a long time are excluded - from the output. - type: string - podStatusTime: - format: int64 - description: Time the pod status was reported in milliseconds since epoch. - type: string - statusCode: - description: Code associated with the deployment status. - type: string - deploymentStatusTime: - description: Time the deployment status was reported in milliseconds since epoch. + Output only. The time at which the data collector was created in + milliseconds since the epoch. format: int64 type: string - podName: - description: Name of the pod which is reporting the status. + type: + enum: + - TYPE_UNSPECIFIED + - INTEGER + - FLOAT + - STRING + - BOOLEAN + - DATETIME + enumDescriptions: + - For future compatibility. + - For integer values. + - For float values. + - For string values. + - For boolean values. + - For datetime values. type: string - GoogleCloudApigeeV1OptimizedStats: + description: Immutable. The type of data this data collector will collect. + type: object + id: GoogleCloudApigeeV1DataCollector + description: Data collector configuration. + GoogleCloudApigeeV1GenerateUploadUrlRequest: + description: Request for GenerateUploadUrl method. + id: GoogleCloudApigeeV1GenerateUploadUrlRequest + type: object + properties: {} + GoogleCloudApigeeV1ListEnvironmentResourcesResponse: properties: - Response: - $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStatsResponse' - description: >- - Wraps the `stats` response for JavaScript Optimized Scenario with a - response key. For example: ```{ "Response": { "TimeUnit": [], - "metaData": { "errors": [], "notices": [ "Source:Postgres", "Table - used: edge.api.aaxgroup001.agg_api", "PG - Host:ruappg08-ro.production.apigeeks.net", "query served - by:80c4ebca-6a10-4a2e-8faf-c60c1ee306ca" ] }, "resultTruncated": - false, "stats": { "data": [ { "identifier": { "names": [ "apiproxy" - ], "values": [ "sirjee" ] }, "metric": [ { "env": "prod", "name": - "sum(message_count)", "values": [ 36.0 ] }, { "env": "prod", "name": - "sum(is_error)", "values": [ 36.0 ] } ] } ] } } }``` + resourceFile: + description: List of resources files. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' + description: Response for ListEnvironmentResources type: object - id: GoogleCloudApigeeV1OptimizedStats - GoogleCloudApigeeV1ListAppGroupAppsResponse: - description: Response for ListAppGroupApps + id: GoogleCloudApigeeV1ListEnvironmentResourcesResponse + GoogleCloudApigeeV1ListAppsResponse: properties: nextPageToken: + type: string description: >- Token that can be sent as `next_page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - type: string - appGroupApps: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + totalSize: + format: int32 + description: Total count of Apps. + type: integer + app: type: array - description: List of AppGroup apps and their credentials. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1App' + id: GoogleCloudApigeeV1ListAppsResponse type: object - id: GoogleCloudApigeeV1ListAppGroupAppsResponse - GoogleCloudApigeeV1DeveloperSubscription: - description: Structure of a DeveloperSubscription. + GoogleCloudApigeeV1SecurityProfileScoringConfig: + type: object + id: GoogleCloudApigeeV1SecurityProfileScoringConfig + description: Security configurations to manage scoring. properties: - createdAt: - format: int64 + scorePath: type: string - description: >- - Output only. Time when the API product subscription was created in - milliseconds since epoch. - readOnly: true - lastModifiedAt: - readOnly: true - format: int64 - description: >- - Output only. Time when the API product subscription was last - modified in milliseconds since epoch. + description: Path of the component config used for scoring. + description: type: string - endTime: - description: >- - Time when the API product subscription ends in milliseconds since - epoch. - format: int64 + description: Description of the config. + title: + description: Title of the config. type: string - startTime: - description: >- - Time when the API product subscription starts in milliseconds since - epoch. - format: int64 + GoogleCloudApigeeV1ApiDocDocumentationResponse: + properties: + message: + description: Output only. Description of the operation. type: string - name: readOnly: true + requestId: type: string - description: Output only. Name of the API product subscription. - apiproduct: + description: Output only. Unique ID of the request. + readOnly: true + errorCode: + readOnly: true type: string - description: >- - Name of the API product for which the developer is purchasing a - subscription. + description: Output only. Unique error code for the request, if any. + status: + type: string + description: Output only. Status of the operation. + readOnly: true + data: + readOnly: true + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocDocumentation' + description: Output only. The documentation resource. + description: >- + The catalog item documentation wrapped with response status, error_code, + etc. type: object - id: GoogleCloudApigeeV1DeveloperSubscription - GoogleCloudApigeeV1RoutingRule: + id: GoogleCloudApigeeV1ApiDocDocumentationResponse + GoogleCloudApigeeV1TraceSamplingConfig: type: object - id: GoogleCloudApigeeV1RoutingRule properties: - receiver: + sampler: type: string + description: Sampler of distributed tracing. OFF is the default value. + enum: + - SAMPLER_UNSPECIFIED + - 'OFF' + - PROBABILITY + enumDescriptions: + - Sampler unspecified. + - >- + OFF means distributed trace is disabled, or the sampling + probability is 0. + - >- + PROBABILITY means traces are captured on a probability that + defined by sampling_rate. The sampling rate is limited to 0 to 0.5 + when this is set. + samplingRate: description: >- - The resource name of the proxy revision that is receiving this - basepath in the following format: - `organizations/{org}/apis/{api}/revisions/{rev}`. This field is - omitted from the IngressConfig unless the GetDeployedIngressConfig - API is called with view=FULL. - basepath: + Field sampling rate. This value is only applicable when using the + PROBABILITY sampler. The supported values are > 0 and <= 0.5. + type: number + format: float + id: GoogleCloudApigeeV1TraceSamplingConfig + description: >- + 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. + GoogleCloudApigeeV1ListEnvironmentGroupsResponse: + description: Response for ListEnvironmentGroups. + type: object + id: GoogleCloudApigeeV1ListEnvironmentGroupsResponse + properties: + environmentGroups: + type: array + description: EnvironmentGroups in the specified organization. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' + nextPageToken: + description: >- + Page token that you can include in a ListEnvironmentGroups request + to retrieve the next page. If omitted, no subsequent pages exist. type: string + GoogleCloudApigeeV1ApiDoc: + properties: + requireCallbackUrl: + type: boolean description: >- - URI path prefix used to route to the specified environment. May - contain one or more wildcards. For example, path segments consisting - of a single `*` character will match any string. - deploymentGroup: - description: >- - Name of a deployment group in an environment bound to the - environment group in the following format: - `organizations/{org}/environment/{env}/deploymentGroups/{group}` - Only one of environment or deployment_group will be set. + Optional. Whether a callback URL is required when this catalog + item's API product is enabled in a developer app. When true, a + portal user will be required to input a URL when managing the app + (this is typically used for the app's OAuth flow). + imageUrl: type: string - otherTargets: - type: array - items: - type: string description: >- - Conflicting targets, which will be resource names specifying either - deployment groups or environments. - envGroupRevision: - format: int64 + Optional. Location of the image used for the catalog item in the + catalog. This can be either an image with an external URL or a file + path for [image files stored in the + portal](/apigee/docs/api-platform/publish/portal/portal-files"), for + example, `/files/book-tree.jpg`. When specifying the URL of an + external image, the image won't be uploaded to your assets; + additionally, loading the image in the integrated portal will be + subject to its availability, which may be blocked or restricted by + [content security + policies](/apigee/docs/api-platform/publish/portal/csp). Max length + of file path is 2,083 characters. + siteId: + readOnly: true + description: Output only. The ID of the parent portal. type: string + visibility: + type: boolean + description: 'Optional. DEPRECATED: use the `published` field instead' + graphqlEndpointUrl: description: >- - The env group config revision_id when this rule was added or last - updated. This value is set when the rule is created and will only - update if the the environment_id changes. It is used to determine if - the runtime is up to date with respect to this rule. This field is - omitted from the IngressConfig unless the GetDeployedIngressConfig - API is called with view=FULL. - environment: - description: >- - Name of an environment bound to the environment group in the - following format: `organizations/{org}/environments/{env}`. Only one - of environment or deployment_group will be set. + Optional. DEPRECATED: manage documentation through the + `getDocumentation` and `updateDocumentation` methods type: string - updateTime: + deprecated: true + graphqlSchemaDisplayName: type: string - format: google-datetime + deprecated: true description: >- - The unix timestamp when this rule was updated. This is updated - whenever env_group_revision is updated. This field is omitted from - the IngressConfig unless the GetDeployedIngressConfig API is called - with view=FULL. - GoogleCloudApigeeV1EndpointAttachment: - type: object - description: >- - Apigee endpoint attachment. For more information, see [Southbound - networking patterns] - (https://cloud.google.com/apigee/docs/api-platform/architecture/southbound-networking-patterns-endpoints). - id: GoogleCloudApigeeV1EndpointAttachment - properties: - state: - readOnly: true - enumDescriptions: - - Resource is in an unspecified state. - - Resource is being created. - - Resource is provisioned and ready to use. - - The resource is being deleted. - - The resource is being updated. - enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - DELETING - - UPDATING - type: string + Optional. DEPRECATED: manage documentation through the + `getDocumentation` and `updateDocumentation` methods + categoryIds: + items: + type: string + type: array description: >- - Output only. State of the endpoint attachment. Values other than - `ACTIVE` mean the resource is not ready to use. - connectionState: + Optional. The IDs of the API categories to which this catalog item + belongs. + anonAllowed: + type: boolean + description: >- + Optional. Boolean flag that manages user access to the catalog item. + When true, the catalog item has public visibility and can be viewed + anonymously; otherwise, only registered users may view it. Note: + when the parent portal is enrolled in the [audience management + feature](https://cloud.google.com/apigee/docs/api-platform/publish/portal/portal-audience#enrolling_in_the_beta_release_of_the_audience_management_feature), + and this flag is set to false, visibility is set to an indeterminate + state and must be explicitly specified in the management UI (see + [Manage the visibility of an API in your + portal](https://cloud.google.com/apigee/docs/api-platform/publish/portal/publish-apis#visibility)). + Additionally, when enrolled in the audience management feature, + updates to this flag will be ignored as visibility permissions must + be updated in the management UI. + modified: + type: string readOnly: true description: >- - Output only. State of the endpoint attachment connection to the - service attachment. - enum: - - CONNECTION_STATE_UNSPECIFIED - - UNAVAILABLE - - PENDING - - ACCEPTED - - REJECTED - - CLOSED - - FROZEN - - NEEDS_ATTENTION + Output only. Time the catalog item was last modified in milliseconds + since epoch. + format: int64 + description: type: string - enumDescriptions: - - The connection state has not been set. - - >- - The connection state is unavailable at this time, possibly because - the endpoint attachment is currently being provisioned. - - The connection is pending acceptance by the PSC producer. - - The connection has been accepted by the PSC producer. - - The connection has been rejected by the PSC producer. - - >- - The connection has been closed by the PSC producer and will not - serve traffic going forward. - - >- - The connection has been frozen by the PSC producer and will not - serve traffic. - - >- - The connection has been accepted by the PSC producer, but it is - not ready to serve the traffic due to producer side issues. - name: description: >- - Name of the endpoint attachment. Use the following structure in your - request: - `organizations/{org}/endpointAttachments/{endpoint_attachment}` + Optional. Description of the catalog item. Max length is 10,000 + characters. + edgeAPIProductName: + description: >- + Optional. Immutable. DEPRECATED: use the `apiProductName` field + instead type: string - host: + id: + description: Output only. The ID of the catalog item. readOnly: true - description: >- - Output only. Host that can be used in either the HTTP target - endpoint directly or as the host in target server. type: string - location: - description: Required. Location of the endpoint attachment. + format: int64 + specId: type: string - serviceAttachment: + description: 'Optional. DEPRECATED: DO NOT USE' + deprecated: true + graphqlSchema: type: string - description: 'Format: projects/*/regions/*/serviceAttachments/*' - GoogleCloudApigeeV1GraphQLOperationConfig: - properties: - quota: + deprecated: true description: >- - Quota parameters to be enforced for the resources, methods, and API - source combination. If none are specified, quota enforcement will - not be done. - $ref: '#/components/schemas/GoogleCloudApigeeV1Quota' - attributes: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - description: Custom attributes associated with the operation. - type: array - apiSource: + Optional. DEPRECATED: manage documentation through the + `getDocumentation` and `updateDocumentation` methods + published: + type: boolean description: >- - Required. Name of the API proxy endpoint or remote service with - which the GraphQL operation and quota are associated. + Optional. Denotes whether the catalog item is published to the + portal or is in a draft state. When the parent portal is enrolled in + the [audience management + feature](https://cloud.google.com/apigee/docs/api-platform/publish/portal/portal-audience#enrolling_in_the_beta_release_of_the_audience_management_feature), + the visibility can be set to public on creation by setting the + anonAllowed flag to true or further managed in the management UI + (see [Manage the visibility of an API in your + portal](https://cloud.google.com/apigee/docs/api-platform/publish/portal/publish-apis#visibility)) + before it can be visible to any users. If not enrolled in the + audience management feature, the visibility is managed by the + `anonAllowed` flag. + title: + description: >- + Required. The user-facing name of the catalog item. `title` must be + a non-empty string with a max length of 255 characters. type: string - operations: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1GraphQLOperation' - type: array + apiProductName: description: >- - Required. List of GraphQL name/operation type pairs for the proxy or - remote service to which quota will be applied. If only operation - types are specified, the quota will be applied to all GraphQL - requests irrespective of the GraphQL name. **Note**: Currently, you - can specify only a single GraphQLOperation. Specifying more than one - will cause the operation to fail. + Required. Immutable. The `name` field of the associated [API + product](/apigee/docs/reference/apis/apigee/rest/v1/organizations.apiproducts). + A portal may have only one catalog item associated with a given API + product. + type: string description: >- - Binds the resources in a proxy or remote service with the GraphQL - operation and its associated quota enforcement. - id: GoogleCloudApigeeV1GraphQLOperationConfig - type: object - GoogleCloudApigeeV1GenerateUploadUrlResponse: + `ApiDoc` represents an API catalog item. Catalog items are used in two + ways in a portal: - Users can browse and interact with a visual + representation of the API documentation - The `api_product_name` field + provides a link to a backing [API product] + (/apigee/docs/reference/apis/apigee/rest/v1/organizations.apiproducts). + Through this link, portal users can create and manage developer apps + linked to one or more API products. + id: GoogleCloudApigeeV1ApiDoc type: object - id: GoogleCloudApigeeV1GenerateUploadUrlResponse - description: Response for GenerateUploadUrl method. + GoogleCloudApigeeV1GraphqlDocumentation: + id: GoogleCloudApigeeV1GraphqlDocumentation properties: - uploadUri: + endpointUri: description: >- - The Google Cloud Storage signed URL that can be used to upload a new - Archive zip file. + Required. The GraphQL endpoint URI to be queried by API consumers. + Max length is 2,083 characters. type: string - GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DocumentationFile' + description: Required. The documentation file contents for the GraphQL schema. + type: object + description: GraphQL documentation for a catalog item. + GoogleCloudApigeeV1ListNatAddressesResponse: + id: GoogleCloudApigeeV1ListNatAddressesResponse type: object - description: Route deployed in the ingress routing table. - id: GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute properties: - envgroup: - description: Environment group where this route is installed. + nextPageToken: + description: >- + Page token that you can include in a ListNatAddresses request to + retrieve the next page of content. If omitted, no subsequent pages + exist. type: string - percentage: - type: integer - description: Percentage of ingress replicas reporting this route. - format: int32 - environment: + natAddresses: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1NatAddress' + description: List of NAT Addresses for the instance. + type: array + description: Response for ListNatAddresses. + GoogleCloudApigeeV1DeveloperBalance: + properties: + wallets: + description: >- + Output only. List of all wallets. Each individual wallet stores the + account balance for a particular currency. + type: array + readOnly: true + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalanceWallet' + description: Account balance for the developer. + type: object + id: GoogleCloudApigeeV1DeveloperBalance + GoogleCloudApigeeV1Instance: + description: Apigee runtime instance. + properties: + displayName: + type: string + description: Optional. Display name for the instance. + state: + readOnly: true + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - DELETING + - UPDATING + enumDescriptions: + - Resource is in an unspecified state. + - Resource is being created. + - Resource is provisioned and ready to use. + - The resource is being deleted. + - The resource is being updated. type: string description: >- - Destination environment. This will be empty if the route is not yet - reported. - basepath: - description: Base path in the routing table. + Output only. State of the instance. Values other than `ACTIVE` means + the resource is not ready to use. + location: type: string - GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment: - description: Tuple representing a base path and the deployment containing it. - properties: - apiProxy: + description: Required. Compute Engine location where the instance resides. + ipRange: + description: >- + Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 + used to create the Apigee instance. Providing CIDR ranges is + optional. You can provide just /22 or /28 or both (or neither). + Ranges you provide should be freely available as part of a larger + named range you have allocated to the Service Networking peering. If + this parameter is not provided, Apigee automatically requests an + available /22 and /28 CIDR block from Service Networking. Use the + /22 CIDR block for configuring your firewall needs to allow traffic + from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or + `a.b.c.d/22,e.f.g.h/28` type: string - description: Name of the deployed API proxy revision containing the base path. - environment: + name: type: string - description: Name of the environment in which the proxy is deployed. - revision: - description: Name of the deployed API proxy revision containing the base path. + description: >- + Required. Resource ID of the instance. Values must match the regular + expression `^a-z{0,30}[a-z\d]$`. + accessLoggingConfig: + description: >- + Optional. Access logging configuration enables the access logging + feature at the instance. Apigee customers can enable access logging + to ship the access logs to their own project's cloud logging. + $ref: '#/components/schemas/GoogleCloudApigeeV1AccessLoggingConfig' + createdAt: type: string - basepath: + format: int64 + description: >- + Output only. Time the instance was created in milliseconds since + epoch. + readOnly: true + lastModifiedAt: + format: int64 + readOnly: true type: string - description: Base path receiving traffic. - type: object - id: GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment - GoogleCloudApigeeV1AnalyticsConfig: - id: GoogleCloudApigeeV1AnalyticsConfig - properties: - updateTime: - description: Output only. The latest update time. + description: >- + Output only. Time the instance was last modified in milliseconds + since epoch. + port: + description: Output only. Port number of the exposed Apigee endpoint. type: string readOnly: true - format: google-datetime - enabled: - description: Whether the Analytics add-on is enabled. - type: boolean - expireTimeMillis: + runtimeVersion: description: >- - Output only. Time at which the Analytics add-on expires in - milliseconds since epoch. If unspecified, the add-on will never - expire. + 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. + readOnly: true type: string - format: int64 + host: readOnly: true - state: + type: string + description: >- + Output only. Internal hostname or IP address of the Apigee endpoint + used by clients to connect to the service. + description: + description: Optional. Description of the instance. + type: string + peeringCidrRange: + type: string enumDescriptions: - - Default value. - - Add-on is in progress of enabling. - - Add-on is fully enabled and ready to use. - - Add-on is in progress of disabling. - - Add-on is fully disabled. - description: Output only. The state of the Analytics add-on. + - Range not specified. + - '`/16` CIDR range.' + - '`/17` CIDR range.' + - '`/18` CIDR range.' + - '`/19` CIDR range.' + - '`/20` CIDR range.' + - '`/22` CIDR range. Supported for evaluation only.' + - '`/23` CIDR range. Supported for evaluation only.' + deprecated: true + description: >- + Optional. Size of the CIDR block range that will be reserved by the + instance. PAID organizations support `SLASH_16` to `SLASH_20` and + defaults to `SLASH_16`. Evaluation organizations support only + `SLASH_23`. enum: - - ADDON_STATE_UNSPECIFIED - - ENABLING - - ENABLED - - DISABLING - - DISABLED + - CIDR_RANGE_UNSPECIFIED + - SLASH_16 + - SLASH_17 + - SLASH_18 + - SLASH_19 + - SLASH_20 + - SLASH_22 + - SLASH_23 + serviceAttachment: readOnly: true + description: >- + 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. type: string - description: Configuration for the Analytics add-on. - type: object - GoogleProtobufEmpty: - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: GoogleProtobufEmpty - properties: {} - type: object - GoogleCloudApigeeV1ListTraceConfigOverridesResponse: - properties: - traceConfigOverrides: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' - description: List all trace configuration overrides in an environment. - type: array - nextPageToken: + diskEncryptionKeyName: description: >- - Token value that can be passed as `page_token` to retrieve the next - page of content. + Customer Managed Encryption Key (CMEK) used for disk and volume + encryption. If not specified, a Google-Managed encryption key will + be used. Use the following format: + `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)` type: string - type: object - description: Response for ListTraceConfigOverrides. - id: GoogleCloudApigeeV1ListTraceConfigOverridesResponse - GoogleCloudApigeeV1ListExportsResponse: - id: GoogleCloudApigeeV1ListExportsResponse - properties: - exports: + consumerAcceptList: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Export' - description: Details of the export jobs. + type: string + description: >- + 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. type: array + id: GoogleCloudApigeeV1Instance type: object - description: The response for ListExports - GoogleCloudApigeeV1Session: - id: GoogleCloudApigeeV1Session + GoogleCloudApigeeV1IngressConfig: + id: GoogleCloudApigeeV1IngressConfig properties: - id: + name: type: string - description: The debug session ID. - timestampMs: description: >- - The first transaction creation timestamp in millisecond, recorded by - UAP. + Name of the resource in the following format: + `organizations/{org}/deployedIngressConfig`. + revisionCreateTime: + format: google-datetime type: string + description: Time at which the IngressConfig revision was created. + revisionId: + description: >- + Revision id that defines the ordering on IngressConfig resources. + The higher the revision, the more recently the configuration was + deployed. format: int64 - type: object - description: Session carries the debug session id and its creation time. - GoogleCloudApigeeV1SecurityReport: - id: GoogleCloudApigeeV1SecurityReport - type: object - description: >- - SecurityReport saves all the information about the created security - report. - properties: - updated: - description: Output only. Last updated timestamp for the query. - readOnly: true - type: string - state: type: string + uid: description: >- - Query state could be "enqueued", "running", "completed", "expired" - and "failed". - resultRows: - format: int64 - description: ResultRows is available only after the query is completed. + A unique id for the ingress config that will only change if the + organization is deleted and recreated. type: string - queryParams: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportMetadata' + environmentGroups: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroupConfig' + type: array + description: List of environment groups in the organization. + type: object + GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse: + id: GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse + description: Response for ListEnvironmentGroupAttachments. + properties: + environmentGroupAttachments: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroupAttachment' + description: EnvironmentGroupAttachments for the specified environment group. + nextPageToken: description: >- - Contains information like metrics, dimenstions etc of the Security - Report. - envgroupHostname: + Page token that you can include in a ListEnvironmentGroupAttachments + request to retrieve the next page. If omitted, no subsequent pages + exist. type: string - description: Hostname is available only when query is executed at host level. - self: + type: object + GoogleCloudApigeeV1KeystoreConfig: + id: GoogleCloudApigeeV1KeystoreConfig + type: object + properties: + name: type: string description: >- - 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` - displayName: - description: Display Name specified by the user. - type: string - reportDefinitionId: - type: string - description: Report Definition ID. - error: - description: Error is set when query fails. - type: string - resultFileSize: - type: string - description: ResultFileSize is available only after the query is completed. - executionTime: - type: string - description: ExecutionTime is available only after the query is completed. - created: - description: Creation time of the query. - type: string - result: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportResultMetadata' - description: Result is available only after the query is completed. - GoogleCloudApigeeV1GraphQLOperation: - id: GoogleCloudApigeeV1GraphQLOperation + Resource name in the following format: + `organizations/{org}/environments/{env}/keystores/{keystore}` + aliases: + type: array + description: Aliases in the keystore. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1AliasRevisionConfig' + GoogleCloudApigeeV1Properties: + properties: + property: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Property' + description: List of all properties in the object + type: array + id: GoogleCloudApigeeV1Properties + type: object description: >- - Represents the pairing of GraphQL operation types and the GraphQL - operation name. + Message for compatibility with legacy Edge specification for Java + Properties object in JSON. + GoogleCloudApigeeV1UpdateSecurityIncidentRequest: properties: - operation: + securityIncident: + description: >- + Required. The security incident to update. Must contain all existing + populated fields of the current incident. + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + updateMask: type: string + format: google-fieldmask description: >- - GraphQL operation name. The name and operation type will be used to - apply quotas. If no name is specified, the quota will be applied to - all GraphQL operations irrespective of their operation names in the - payload. - operationTypes: + Required. The list of fields to update. Allowed fields are: + LINT.IfChange(allowed_update_fields_comment) - observability + LINT.ThenChange() + type: object + description: Request for UpdateSecurityIncident. + id: GoogleCloudApigeeV1UpdateSecurityIncidentRequest + GoogleCloudApigeeV1SharedFlow: + id: GoogleCloudApigeeV1SharedFlow + type: object + description: The metadata describing a shared flow + properties: + metaData: + $ref: '#/components/schemas/GoogleCloudApigeeV1EntityMetadata' + description: Metadata describing the shared flow. + latestRevisionId: + type: string + description: The id of the most recently created revision for this shared flow. + name: + type: string + description: The ID of the shared flow. + revision: + description: A list of revisions of this shared flow. type: array items: type: string + GoogleCloudApigeeV1DeveloperBalanceWallet: + description: Wallet used to manage an account balance for a particular currency. + id: GoogleCloudApigeeV1DeveloperBalanceWallet + properties: + balance: + $ref: '#/components/schemas/GoogleTypeMoney' description: >- - Required. GraphQL operation types. Valid values include `query` or - `mutation`. **Note**: Apigee does not currently support - `subscription` types. + Current remaining balance of the developer for a particular + currency. + lastCreditTime: + type: string + description: >- + Output only. Time at which the developer last added credit to the + account in milliseconds since epoch. + format: int64 + readOnly: true type: object - GoogleCloudApigeeV1GenerateUploadUrlRequest: - description: Request for GenerateUploadUrl method. + GoogleRpcPreconditionFailure: + id: GoogleRpcPreconditionFailure + properties: + violations: + description: Describes all precondition violations. + type: array + items: + $ref: '#/components/schemas/GoogleRpcPreconditionFailureViolation' type: object - id: GoogleCloudApigeeV1GenerateUploadUrlRequest - properties: {} - GoogleCloudApigeeV1Access: + description: >- + Describes what preconditions have failed. For example, if an RPC failed + because it required the Terms of Service to be acknowledged, it could + list the terms of service violation in the PreconditionFailure message. + GoogleCloudApigeeV1EndpointChainingRule: type: object + id: GoogleCloudApigeeV1EndpointChainingRule properties: - Remove: - $ref: '#/components/schemas/GoogleCloudApigeeV1AccessRemove' - Get: - $ref: '#/components/schemas/GoogleCloudApigeeV1AccessGet' - Set: - $ref: '#/components/schemas/GoogleCloudApigeeV1AccessSet' - id: GoogleCloudApigeeV1Access - GoogleCloudApigeeV1ReportInstanceStatusResponse: - id: GoogleCloudApigeeV1ReportInstanceStatusResponse - type: object - description: Placeholder for future enhancements to status reporting protocol - properties: {} - GoogleCloudApigeeV1StatsEnvironmentStats: - id: GoogleCloudApigeeV1StatsEnvironmentStats + proxyIds: + type: array + items: + type: string + description: List of proxy ids which may be found in the given deployment group. + deploymentGroup: + description: >- + The deployment group to target for cross-shard chaining calls to + these proxies. + type: string description: >- - Encapsulates the environment wrapper: ``` "environments": [ { "metrics": - [ { "name": "sum(message_count)", "values": [ "2.52056245E8" ] } ], - "name": "prod" } ]``` + EndpointChainingRule specifies the proxies contained in a particular + deployment group, so that other deployment groups can find them in + chaining calls. + GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence: type: object + description: A sequence of time series. + id: GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence properties: dimensions: - description: List of metrics grouped under dimensions. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DimensionMetric' - type: array - metrics: + additionalProperties: + type: string description: >- - In the final response, only one of the following fields will be - present based on the dimensions provided. If no dimensions are - provided, then only top-level metrics is provided. If dimensions are - included, then there will be a top-level dimensions field under - environments which will contain metrics values and the dimension - name. Example: ``` "environments": [ { "dimensions": [ { "metrics": - [ { "name": "sum(message_count)", "values": [ "2.14049521E8" ] } ], - "name": "nit_proxy" } ], "name": "prod" } ]``` or ```"environments": - [ { "metrics": [ { "name": "sum(message_count)", "values": [ - "2.19026331E8" ] } ], "name": "prod" } ]``` List of metric values. + Map of dimensions and their values that uniquely identifies a time + series sequence. + type: object + points: + description: List of points. First value of each inner list is a timestamp. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Metric' + type: array + items: + type: any type: array - name: - type: string - description: Name of the environment. - GoogleCloudApigeeV1AccessGet: + GoogleCloudApigeeV1RevisionStatus: + id: GoogleCloudApigeeV1RevisionStatus + description: The status of a specific resource revision. properties: - value: + jsonSpec: type: string - name: + description: >- + The json content of the resource revision. Large specs should be + sent individually via the spec field to avoid hitting request size + limits. + errors: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1UpdateError' + description: Errors reported when attempting to load this revision. + revisionId: type: string - id: GoogleCloudApigeeV1AccessGet - description: >- - Get action. For example, "Get" : { "name" : "target.name", "value" : - "default" } + description: The revision of the resource. + replicas: + type: integer + description: The number of replicas that have successfully loaded this revision. + format: int32 type: object - GoogleCloudApigeeV1Deployment: - id: GoogleCloudApigeeV1Deployment + GoogleCloudApigeeV1EndpointAttachment: + id: GoogleCloudApigeeV1EndpointAttachment properties: - revision: + serviceAttachment: + description: 'Format: projects/*/regions/*/serviceAttachments/*' type: string - description: API proxy revision. state: enum: - - RUNTIME_STATE_UNSPECIFIED - - READY - - PROGRESSING - - ERROR - type: string + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - DELETING + - UPDATING enumDescriptions: - - This value should never be returned. - - Runtime has loaded the deployment. - - Deployment is not fully ready in the runtime. - - >- - Encountered an error with the deployment that requires - intervention. - description: >- - Current state of the deployment. **Note**: This field is displayed - only when viewing deployment status. - routeConflicts: - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict - description: >- - 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. - type: array - proxyDeploymentType: + - Resource is in an unspecified state. + - Resource is being created. + - Resource is provisioned and ready to use. + - The resource is being deleted. + - The resource is being updated. readOnly: true - enum: - - PROXY_DEPLOYMENT_TYPE_UNSPECIFIED - - STANDARD - - EXTENSIBLE description: >- - 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. + Output only. State of the endpoint attachment. Values other than + `ACTIVE` mean the resource is not ready to use. + type: string + host: type: string + readOnly: true + description: >- + Output only. Host that can be used in either the HTTP target + endpoint directly or as the host in target server. + connectionState: + enum: + - CONNECTION_STATE_UNSPECIFIED + - UNAVAILABLE + - PENDING + - ACCEPTED + - REJECTED + - CLOSED + - FROZEN + - NEEDS_ATTENTION enumDescriptions: + - The connection state has not been set. - >- - Default value till public preview. After public preview this value - should not be returned. + The connection state is unavailable at this time, possibly because + the endpoint attachment is currently being provisioned. + - The connection is pending acceptance by the PSC producer. + - The connection has been accepted by the PSC producer. + - The connection has been rejected by the PSC producer. - >- - Deployment will be of type Standard if only Standard proxies are - used + The connection has been closed by the PSC producer and will not + serve traffic going forward. - >- - Proxy will be of type Extensible if deployments uses one or more - Extensible proxies - environment: - description: Environment. + The connection has been frozen by the PSC producer and will not + serve traffic. + - >- + The connection has been accepted by the PSC producer, but it is + not ready to serve the traffic due to producer side issues. + readOnly: true type: string - deployStartTime: description: >- - Time the API proxy was marked `deployed` in the control plane in - millisconds since epoch. - format: int64 + Output only. State of the endpoint attachment connection to the + service attachment. + name: type: string - instances: description: >- - Status reported by each runtime instance. **Note**: This field is - displayed only when viewing deployment status. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceDeploymentStatus' - type: array - serviceAccount: + Name of the endpoint attachment. Use the following structure in your + request: + `organizations/{org}/endpointAttachments/{endpoint_attachment}` + location: type: string + description: Required. Location of the endpoint attachment. + type: object + description: >- + Apigee endpoint attachment. For more information, see [Southbound + networking patterns] + (https://cloud.google.com/apigee/docs/api-platform/architecture/southbound-networking-patterns-endpoints). + GoogleCloudApigeeV1RevenueShareRange: + id: GoogleCloudApigeeV1RevenueShareRange + properties: + sharePercentage: + format: double description: >- - The full resource name of Cloud IAM Service Account that this - deployment is using, eg, `projects/-/serviceAccounts/{email}`. - pods: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1PodStatus' - type: array - description: >- - Status reported by runtime pods. **Note**: **This field is - deprecated**. Runtime versions 1.3 and above report instance level - status rather than pod status. - apiProxy: + Percentage of the revenue to be shared with the developer. For + example, to share 21 percent of the total revenue with the + developer, set this value to 21. Specify a decimal number with a + maximum of two digits following the decimal point. + type: number + start: + format: int64 type: string - description: API proxy. - errors: description: >- - Errors reported for this deployment. Populated only when state == - ERROR. **Note**: This field is displayed only when viewing - deployment status. - type: array + Starting value of the range. Set to 0 or `null` for the initial + range of values. + end: + description: >- + Ending value of the range. Set to 0 or `null` for the last range of + values. + format: int64 + type: string + type: object + description: >- + API call volume range and the percentage of revenue to share with the + developer when the total number of API calls is within the range. + GoogleCloudApigeeV1ListDeploymentsResponse: + id: GoogleCloudApigeeV1ListDeploymentsResponse + properties: + deployments: items: - $ref: '#/components/schemas/GoogleRpcStatus' + $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' + type: array + description: List of deployments. type: object - GoogleCloudApigeeV1SecurityProfileEnvironment: + GoogleCloudApigeeV1AccessGet: type: object properties: - environment: - description: Output only. Name of the environment. + value: type: string - readOnly: true - attachTime: + name: type: string - description: >- - Output only. Time at which environment was attached to the security - profile. - format: google-datetime - readOnly: true description: >- - Environment information of attached environments. Scoring an environment - is enabled only if it is attached to a security profile. - id: GoogleCloudApigeeV1SecurityProfileEnvironment - GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter: - properties: - scorePath: - type: string - description: >- - Optional. Return scores for this component. Example: - "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" + Get action. For example, "Get" : { "name" : "target.name", "value" : + "default" } + id: GoogleCloudApigeeV1AccessGet + GoogleCloudApigeeV1ListAppGroupsResponse: + id: GoogleCloudApigeeV1ListAppGroupsResponse description: >- - Filter scores by component path. Used custom filter instead of AIP-160 - as the use cases are highly constrained and predictable. - id: GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter - type: object - GoogleCloudApigeeV1DeploymentChangeReportRoutingChange: - id: GoogleCloudApigeeV1DeploymentChangeReportRoutingChange + ListAppGroupsResponse contains the 0 or more AppGroups, along with the + optional page token and the total count of apps. type: object - description: >- - Describes a potential routing change that may occur as a result of some - deployment operation. properties: - shouldSequenceRollout: - type: boolean + totalSize: + description: Total count of AppGroups. + type: integer + format: int32 + nextPageToken: description: >- - Set to `true` if using sequenced rollout would make this routing - change safer. **Note**: This does not necessarily imply that - automated sequenced rollout mode is supported for the operation. - environmentGroup: - description: Name of the environment group affected by this routing change. - type: string - fromDeployment: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment - description: Base path/deployment that may stop receiving some traffic. - description: - description: Human-readable description of this routing change. + Token that can be sent as `next_page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - toDeployment: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment - description: >- - Base path/deployment that may start receiving that traffic. May be - null if no deployment is able to receive the traffic. - GoogleCloudApigeeV1ListDatastoresResponse: - type: object - id: GoogleCloudApigeeV1ListDatastoresResponse - description: The response for ListDatastores - properties: - datastores: + appGroups: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + description: List of AppGroups. type: array - description: A list of datastores - GoogleCloudApigeeV1AppGroup: - description: >- - AppGroup contains the request/response fields representing the logical - grouping of apps. Note that appgroup_id, create_time and update_time - cannot be changed by the user, and gets updated by the system. The name - and the organization once provided cannot be edited subsequently. + GoogleCloudApigeeV1Quota: properties: - name: - description: >- - Immutable. Name of the AppGroup. Characters you can use in the name - are restricted to: A-Z0-9._\-$ %. - type: string - displayName: - description: app group name displayed in the UI - type: string - status: + timeUnit: type: string description: >- - 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`. - appGroupId: - type: string - description: Output only. Internal identifier that cannot be edited - readOnly: true - createdAt: - readOnly: true - type: string - format: int64 - description: Output only. Created time as milliseconds since epoch. - lastModifiedAt: - type: string - format: int64 - description: Output only. Modified time as milliseconds since epoch. - readOnly: true - channelUri: - description: A reference to the associated storefront/marketplace. - type: string - channelId: - description: channel identifier identifies the owner maintaing this grouping. + Time unit defined for the `interval`. Valid values include `minute`, + `hour`, `day`, or `month`. If `limit` and `interval` are valid, the + default value is `hour`; otherwise, the default is null. + interval: + description: >- + Required. Time interval over which the number of request messages is + calculated. type: string - organization: + limit: + description: >- + Required. Upper limit allowed for the time interval and time unit + specified. Requests exceeding this limit will be rejected. type: string - description: Immutable. the org the app group is created - attributes: + type: object + description: >- + Quota contains the essential parameters needed that can be applied on + the resources, methods, API source combination associated with this API + product. While Quota is optional, setting it prevents requests from + exceeding the provisioned parameters. + id: GoogleCloudApigeeV1Quota + GoogleCloudApigeeV1Stats: + properties: + hosts: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - description: A list of attributes - id: GoogleCloudApigeeV1AppGroup + $ref: '#/components/schemas/GoogleCloudApigeeV1StatsHostStats' + description: List of query results grouped by host. + metaData: + description: Metadata information. + $ref: '#/components/schemas/GoogleCloudApigeeV1Metadata' + environments: + description: List of query results on the environment level. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1StatsEnvironmentStats' type: object - GoogleCloudApigeeV1SchemaSchemaProperty: + description: Encapsulates a `stats` response. + id: GoogleCloudApigeeV1Stats + GoogleCloudApigeeV1SetAddonsRequest: + id: GoogleCloudApigeeV1SetAddonsRequest type: object - id: GoogleCloudApigeeV1SchemaSchemaProperty properties: - type: - description: Data type of the field. - type: string - createTime: + addonsConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1AddonsConfig' + description: Required. Add-on configurations. + description: Request for SetAddons. + GoogleCloudApigeeV1StatsEnvironmentStats: + id: GoogleCloudApigeeV1StatsEnvironmentStats + type: object + description: >- + Encapsulates the environment wrapper: ``` "environments": [ { "metrics": + [ { "name": "sum(message_count)", "values": [ "2.52056245E8" ] } ], + "name": "prod" } ]``` + properties: + name: + description: Name of the environment. type: string + dimensions: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DimensionMetric' + type: array + description: List of metrics grouped under dimensions. + metrics: description: >- - Time the field was created in RFC3339 string form. For example: - `2016-02-26T10:23:09.592Z`. - custom: - description: >- - Flag that specifies whether the field is standard in the dataset or - a custom field created by the customer. `true` indicates that it is - a custom field. - type: string - description: Properties for the schema field. - GoogleCloudApigeeV1DateRange: - id: GoogleCloudApigeeV1DateRange + In the final response, only one of the following fields will be + present based on the dimensions provided. If no dimensions are + provided, then only top-level metrics is provided. If dimensions are + included, then there will be a top-level dimensions field under + environments which will contain metrics values and the dimension + name. Example: ``` "environments": [ { "dimensions": [ { "metrics": + [ { "name": "sum(message_count)", "values": [ "2.14049521E8" ] } ], + "name": "nit_proxy" } ], "name": "prod" } ]``` or ```"environments": + [ { "metrics": [ { "name": "sum(message_count)", "values": [ + "2.19026331E8" ] } ], "name": "prod" } ]``` List of metric values. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Metric' + GoogleCloudApigeeV1ListEndpointAttachmentsResponse: + description: Response for ListEndpointAttachments method. + id: GoogleCloudApigeeV1ListEndpointAttachmentsResponse + type: object properties: - end: + nextPageToken: description: >- - Required. End date (exclusive) of the data to export in the format - `yyyy-mm-dd`. The date range ends at 00:00:00 UTC on the end date- - which will not be in the output. - type: string - start: + Page token that you can include in an `ListEndpointAttachments` + request to retrieve the next page. If omitted, no subsequent pages + exist. type: string - description: >- - Required. Start date of the data to export in the format - `yyyy-mm-dd`. The date range begins at 00:00:00 UTC on the start - date. - description: Date range of the data to export. + endpointAttachments: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointAttachment' + type: array + description: Endpoint attachments in the specified organization. + GoogleCloudApigeeV1ProfileConfig: + properties: + categories: + type: array + description: List of categories of profile config. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigCategory' + description: >- + ProfileConfig defines a set of categories and policies which will be + used to compute security score. + id: GoogleCloudApigeeV1ProfileConfig type: object - GoogleCloudApigeeV1TraceConfig: + GoogleCloudApigeeV1Alias: + id: GoogleCloudApigeeV1Alias type: object - id: GoogleCloudApigeeV1TraceConfig + description: Reference to a certificate or key/certificate pair. properties: - exporter: - enum: - - EXPORTER_UNSPECIFIED - - JAEGER - - CLOUD_TRACE + alias: + type: string description: >- - 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. + Resource ID for this alias. Values must match the regular expression + `[^/]{1,255}`. + certsInfo: + $ref: '#/components/schemas/GoogleCloudApigeeV1Certificate' + description: Chain of certificates under this alias. + type: + description: Type of alias. enumDescriptions: - - Exporter unspecified - - Jaeger exporter - - Cloudtrace exporter - type: string - endpoint: + - Alias type is not specified. + - Certificate. + - Key/certificate pair. type: string - description: Required. Endpoint of the exporter. - samplingConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceSamplingConfig' - description: >- - Distributed trace configuration for all API proxies in an - environment. You can also override the configuration for a specific - API proxy using the distributed trace configuration overrides API. - description: >- - TraceConfig defines the configurations in an environment of distributed - trace. - GoogleCloudApigeeV1ListKeyValueEntriesResponse: + enum: + - ALIAS_TYPE_UNSPECIFIED + - CERT + - KEY_CERT + GoogleProtobufEmpty: + id: GoogleProtobufEmpty + type: object + properties: {} description: >- - The request structure for listing key value map keys and its - corresponding values. + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + GoogleCloudApigeeV1SecurityAssessmentResult: + description: The security assessment result for one resource. + type: object + id: GoogleCloudApigeeV1SecurityAssessmentResult properties: - keyValueEntries: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' - description: One or more key value map keys and values. - type: array - nextPageToken: + createTime: description: >- - Token that can be sent as `next_page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. + The time of the assessment of this resource. This could lag behind + `assessment_time` due to caching within the backend. + format: google-datetime type: string + scoringResult: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResult + description: The result of the assessment. + resource: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultResource + description: The assessed resource. + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The error status if scoring fails. + GoogleCloudApigeeV1BatchUpdateSecurityIncidentsResponse: + description: Response for BatchUpdateSecurityIncident. + properties: + securityIncidents: + description: Output only. Updated security incidents + readOnly: true + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + type: array type: object - id: GoogleCloudApigeeV1ListKeyValueEntriesResponse - GoogleCloudApigeeV1CertInfo: + id: GoogleCloudApigeeV1BatchUpdateSecurityIncidentsResponse + GoogleIamV1TestIamPermissionsRequest: + id: GoogleIamV1TestIamPermissionsRequest + properties: + permissions: + type: array + description: >- + The set of permissions to check for the `resource`. Permissions with + wildcards (such as `*` or `storage.*`) are not allowed. For more + information see [IAM + Overview](https://cloud.google.com/iam/docs/overview#permissions). + items: + type: string type: object + description: Request message for `TestIamPermissions` method. + GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation: + description: The format of the assessment recommendation. properties: - version: - description: X.509 version. - type: integer - format: int32 - validFrom: + link: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink + description: The link for the recommendation. + description: + description: The description of the recommendation. type: string + id: >- + GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation + type: object + GoogleCloudApigeeV1Score: + id: GoogleCloudApigeeV1Score + type: object + properties: + timeRange: + description: Start and end time for the score. + $ref: '#/components/schemas/GoogleTypeInterval' + component: + description: Component containing score, recommendations and actions. + $ref: '#/components/schemas/GoogleCloudApigeeV1ScoreComponent' + subcomponents: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ScoreComponent' + type: array + description: List of all the drilldown score components. + description: Represents Security Score. + GoogleCloudApigeeV1RateRange: + properties: + fee: + description: >- + Fee to charge when total number of API calls falls within this + range. + $ref: '#/components/schemas/GoogleTypeMoney' + end: + description: >- + Ending value of the range. Set to 0 or `null` for the last range of + values. format: int64 - description: X.509 `notBefore` validity period in milliseconds since epoch. - issuer: - description: X.509 issuer. - type: string - isValid: type: string + start: description: >- - Flag that specifies whether the certificate is valid. Flag is set to - `Yes` if the certificate is valid, `No` if expired, or `Not yet` if - not yet valid. - publicKey: - description: Public key component of the X.509 subject public key info. - type: string - subjectAlternativeNames: - type: array - description: X.509 subject alternative names (SANs) extension. - items: - type: string - sigAlgName: - type: string - description: X.509 signatureAlgorithm. - serialNumber: - type: string - description: X.509 serial number. - expiryDate: + Starting value of the range. Set to 0 or `null` for the initial + range of values. type: string format: int64 - description: X.509 `notAfter` validity period in milliseconds since epoch. - subject: - description: X.509 subject. - type: string - basicConstraints: - description: X.509 basic constraints extension. - type: string - description: X.509 certificate as defined in RFC 5280. - id: GoogleCloudApigeeV1CertInfo - GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse: - description: Response for ListSecurityProfileRevisions. + description: >- + API call volume range and the fees charged when the total number of API + calls is within the range. + id: GoogleCloudApigeeV1RateRange type: object - id: GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse + GoogleCloudApigeeV1RuntimeTraceConfig: + description: >- + NEXT ID: 8 RuntimeTraceConfig defines the configurations for distributed + trace in an environment. + id: GoogleCloudApigeeV1RuntimeTraceConfig properties: - securityProfiles: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' - description: >- - List of security profile revisions. The revisions may be attached or - unattached to any environment. - nextPageToken: + revisionId: type: string description: >- - A token that can be sent as `page_token` to retrieve the next page. - If this field is omitted, there are no subsequent pages. - GoogleCloudApigeeV1QueryTabularStatsRequest: - properties: - timeRange: - $ref: '#/components/schemas/GoogleTypeInterval' - description: Time range for the stats. - pageToken: - description: Identifies a sequence of rows. + Revision number which can be used by the runtime to detect if the + trace config has changed between two versions. + endpoint: + description: Endpoint of the exporter. type: string - filter: + samplingConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceSamplingConfig' + description: Trace configuration for all API proxies in an environment. + exporter: + description: >- + 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. type: string + enumDescriptions: + - Exporter unspecified + - Jaeger exporter + - Cloudtrace exporter + enum: + - EXPORTER_UNSPECIFIED + - JAEGER + - CLOUD_TRACE + name: description: >- - Filter further on specific dimension values. Follows the same - grammar as custom report's filter expressions. Example, apiproxy eq - 'foobar'. - https://cloud.google.com/apigee/docs/api-platform/analytics/analytics-reference#filters - metrics: - type: array - description: Required. List of metrics and their aggregations. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1MetricAggregation' - dimensions: + Name of the trace config in the following format: + `organizations/{org}/environment/{env}/traceConfig` + type: string + revisionCreateTime: + format: google-datetime + description: The timestamp that the revision was created or updated. + type: string + overrides: items: - type: string - description: Required. List of dimension names to group the aggregations by. + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceConfigOverride' type: array - pageSize: - format: int32 - description: Page size represents the number of rows. - type: integer - id: GoogleCloudApigeeV1QueryTabularStatsRequest + description: List of trace configuration overrides for spicific API proxies. type: object - description: >- - Request payload representing the query to be run for fetching security - statistics as rows. - GoogleCloudApigeeV1InstanceAttachment: - id: GoogleCloudApigeeV1InstanceAttachment - description: >- - InstanceAttachment represents the installation of an environment onto an - instance. + GoogleCloudApigeeV1CanaryEvaluation: type: object + id: GoogleCloudApigeeV1CanaryEvaluation + description: >- + CanaryEvaluation represents the canary analysis between two versions of + the runtime that is serving requests. properties: name: type: string - description: Output only. ID of the attachment. + description: Output only. Name of the canary evalution. readOnly: true - environment: - description: ID of the attached environment. + state: type: string - createdAt: + enumDescriptions: + - No state has been specified. + - The canary evaluation is still in progress. + - The canary evaluation has finished. + enum: + - STATE_UNSPECIFIED + - RUNNING + - SUCCEEDED + description: Output only. The current state of the canary evaluation. + readOnly: true + verdict: + type: string + enumDescriptions: + - Verdict is not available yet. + - No verdict reached. + - Evaluation is not good. + - Evaluation is good. + enum: + - VERDICT_UNSPECIFIED + - NONE + - FAIL + - PASS readOnly: true + description: >- + Output only. The resulting verdict of the canary evaluations: NONE, + PASS, or FAIL. + endTime: + description: Required. End time for the evaluation's analysis. + format: google-datetime + type: string + control: type: string + description: Required. The stable version that is serving requests. + metricLabels: + $ref: '#/components/schemas/GoogleCloudApigeeV1CanaryEvaluationMetricLabels' description: >- - Output only. Time the attachment was created in milliseconds since - epoch. - format: int64 - GoogleCloudApigeeV1SetAddonEnablementRequest: - id: GoogleCloudApigeeV1SetAddonEnablementRequest + Required. Labels used to filter the metrics used for a canary + evaluation. + createTime: + format: google-datetime + description: Output only. Create time of the canary evaluation. + readOnly: true + type: string + startTime: + format: google-datetime + description: Required. Start time for the canary evaluation's analysis. + type: string + treatment: + type: string + description: Required. The newer version that is serving requests. + GoogleCloudApigeeV1ReportInstanceStatusRequest: type: object - description: Request for SetAddonEnablement. - properties: - apiSecurityEnabled: - type: boolean - description: If the API Security should be enabled in the environment. - analyticsEnabled: - description: If the Analytics should be enabled in the environment. - type: boolean - GoogleCloudApigeeV1StatsHostStats: - id: GoogleCloudApigeeV1StatsHostStats properties: - dimensions: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DimensionMetric' + resources: type: array - description: List of metrics grouped under dimensions. - name: - type: string - description: Hostname used in query. - metrics: + description: Status for config resources items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Metric' - type: array + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceStatus' + reportTime: + format: google-datetime description: >- - In the final response, only one of the following fields will be - present based on the dimensions provided. If no dimensions are - provided, then only the top-level metrics are provided. If - dimensions are included, then there will be a top-level dimensions - field under hostnames which will contain metrics values and the - dimension name. Example: ``` "hosts": [ { "dimensions": [ { - "metrics": [ { "name": "sum(message_count)", "values": [ - "2.14049521E8" ] } ], "name": "nit_proxy" } ], "name": "example.com" - } ]``` OR ```"hosts": [ { "metrics": [ { "name": - "sum(message_count)", "values": [ "2.19026331E8" ] } ], "name": - "example.com" } ]``` List of metric values. + The time the report was generated in the runtime. Used to prevent an + old status from overwriting a newer one. An instance should space + out it's status reports so that clock skew does not play a factor. + type: string + instanceUid: + type: string + description: >- + A unique ID for the instance which is guaranteed to be unique in + case the user installs multiple hybrid runtimes with the same + instance ID. + id: GoogleCloudApigeeV1ReportInstanceStatusRequest + description: Request for ReportInstanceStatus. + GoogleCloudApigeeV1RuntimeAddonsConfig: description: >- - Encapsulates the hostname wrapper: ``` "hosts": [ { "metrics": [ { - "name": "sum(message_count)", "values": [ "2.52056245E8" ] } ], "name": - "example.com" } ]``` - type: object - GoogleCloudApigeeV1ListAppsResponse: - type: object - id: GoogleCloudApigeeV1ListAppsResponse + RuntimeAddonsConfig defines the runtime configurations for add-ons in an + environment. properties: - nextPageToken: + analyticsConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeAnalyticsConfig' + description: Runtime configuration for Analytics add-on. + name: description: >- - Token that can be sent as `next_page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. + Name of the addons config in the format: + `organizations/{org}/environments/{env}/addonsConfig` type: string - app: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1App' - type: array - totalSize: - description: Total count of Apps. - format: int32 - type: integer - GoogleCloudApigeeV1ScoreComponent: - properties: - dataCaptureTime: - format: google-datetime - description: >- - Time in the requested time period when data was last captured to - compute the score. + apiSecurityConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeApiSecurityConfig' + description: Runtime configuration for API Security add-on. + uid: type: string - scorePath: description: >- - Path of the component. Example: - /org@myorg/envgroup@myenvgroup/proxies/proxy@myproxy - type: string - recommendations: - description: List of recommendations to improve API security. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ScoreComponentRecommendation - score: - type: integer - format: int32 - description: Score for the component. - drilldownPaths: - items: - type: string - type: array - description: List of paths for next components. - calculateTime: - description: Time when score was calculated. - format: google-datetime + UID is to detect if config is recreated after deletion. The add-on + config will only be deleted when the environment itself gets + deleted, thus it will always be the same as the UID of + EnvironmentConfig. + revisionId: type: string + description: Revision number used by the runtime to detect config changes. type: object - description: Component is an individual security element that is scored. - id: GoogleCloudApigeeV1ScoreComponent - GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence: - id: GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence + id: GoogleCloudApigeeV1RuntimeAddonsConfig + GoogleCloudApigeeV1ListAsyncQueriesResponse: + description: The response for ListAsyncQueries. + type: object + id: GoogleCloudApigeeV1ListAsyncQueriesResponse properties: - points: + queries: + description: The asynchronous queries belong to requested resource name. items: - type: array - items: - type: any - description: List of points. First value of each inner list is a timestamp. + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' type: array - dimensions: - type: object - additionalProperties: - type: string - description: >- - Map of dimensions and their values that uniquely identifies a time - series sequence. - type: object - description: A sequence of time series. - GoogleApiHttpBody: - id: GoogleApiHttpBody + GoogleCloudApigeeV1AliasRevisionConfig: properties: - contentType: - description: >- - The HTTP Content-Type header value specifying the content type of - the body. + type: + enum: + - ALIAS_TYPE_UNSPECIFIED + - CERT + - KEY_CERT type: string - data: - description: The HTTP request/response body as raw binary. + enumDescriptions: + - Alias type is not specified. + - Certificate. + - Key/certificate pair. + location: + description: Location of the alias file. For example, a Google Cloud Storage URI. + type: string + name: type: string - format: byte - extensions: - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object description: >- - Application specific response metadata. Must be set in the first - response for streaming APIs. - type: array + Name of the alias revision included in the keystore in the following + format: + `organizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}/revisions/{rev}` type: object - description: >- - Message that represents an arbitrary HTTP body. It should only be used - for payload formats that can't be represented as JSON, such as raw - binary or an HTML page. This message can be used both in streaming and - non-streaming API methods in the request as well as the response. It can - be used as a top-level request field, which is convenient if one wants - to extract parameters from either the URL or HTTP template into the - request fields and also want access to the raw HTTP body. Example: - message GetResourceRequest { // A unique request id. string request_id = - 1; // The raw HTTP body is bound to this field. google.api.HttpBody - http_body = 2; } service ResourceService { rpc - GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } - Example with streaming methods: service CaldavService { rpc - GetCalendar(stream google.api.HttpBody) returns (stream - google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) - returns (stream google.api.HttpBody); } Use of this type only changes - how the request and response bodies are handled, all other features will - continue to work unchanged. - GoogleCloudApigeeV1ProfileConfigCORS: + id: GoogleCloudApigeeV1AliasRevisionConfig + GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest: + type: object + id: GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest properties: {} + description: Request for ExpireDeveloperSubscription. + GoogleCloudApigeeV1ResourceFiles: type: object - description: Checks to see if you have CORS policy in place. - id: GoogleCloudApigeeV1ProfileConfigCORS - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest: - id: GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest + id: GoogleCloudApigeeV1ResourceFiles + description: List of resource files. properties: - pageSize: - format: int32 - type: integer + resourceFile: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' + type: array + description: List of resource files. + GoogleCloudApigeeV1DataCollectorConfig: + description: Data collector and its configuration. + id: GoogleCloudApigeeV1DataCollectorConfig + properties: + name: description: >- - Optional. The maximum number of results to return. The service may - return fewer than this value. If unspecified, at most 50 results - will be returned. - profile: - type: string - description: Required. Name of the profile that is used for computation. - include: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray - description: Include only these resources. - pageToken: + Name of the data collector in the following format: + `organizations/{org}/datacollectors/{datacollector}` type: string - description: >- - Optional. A page token, received from a previous - `BatchComputeSecurityAssessmentResults` call. Provide this to - retrieve the subsequent page. - includeAllResources: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll - description: Include all resources under the scope. - scope: - description: >- - Required. Scope of the resources for the computation. For Apigee, - the environment is the scope of the resources. + type: + enum: + - TYPE_UNSPECIFIED + - INTEGER + - FLOAT + - STRING + - BOOLEAN + - DATETIME type: string + enumDescriptions: + - For future compatibility. + - For integer values. + - For float values. + - For string values. + - For boolean values. + - For datetime values. + description: Data type accepted by the data collector. type: object - description: Request for BatchComputeSecurityAssessmentResults. - GoogleIamV1AuditLogConfig: + GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext: + id: GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext properties: - logType: - enumDescriptions: - - Default case. Should never be this. - - 'Admin reads. Example: CloudIAM getIamPolicy' - - 'Data writes. Example: CloudSQL Users create' - - 'Data reads. Example: CloudSQL Users list' + documentationLink: + description: Documentation link for the action. type: string - enum: - - LOG_TYPE_UNSPECIFIED - - ADMIN_READ - - DATA_WRITE - - DATA_READ - description: The log type that this config enables. - exemptedMembers: - items: - type: string - type: array - description: >- - Specifies the identities that do not cause logging for this type of - permission. Follows the same format of Binding.members. type: object - id: GoogleIamV1AuditLogConfig - description: >- - Provides the configuration for logging a type of permissions. Example: { - "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ - "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This - enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - jose@example.com from DATA_READ logging. - GoogleCloudApigeeV1EndpointChainingRule: + description: Action context are all the relevant details for the action. + GoogleCloudApigeeV1ComputeEnvironmentScoresResponse: type: object properties: - proxyIds: - type: array - items: - type: string - description: List of proxy ids which may be found in the given deployment group. - deploymentGroup: + nextPageToken: type: string description: >- - The deployment group to target for cross-shard chaining calls to - these proxies. - id: GoogleCloudApigeeV1EndpointChainingRule - description: >- - EndpointChainingRule specifies the proxies contained in a particular - deployment group, so that other deployment groups can find them in - chaining calls. - GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation: - id: >- - GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation + A page token, received from a previous `ComputeScore` call. Provide + this to retrieve the subsequent page. + scores: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Score' + type: array + description: List of scores. One score per day. + description: Response for ComputeEnvironmentScores. + id: GoogleCloudApigeeV1ComputeEnvironmentScoresResponse + GoogleCloudApigeeV1ListKeyValueEntriesResponse: properties: - link: - description: The link for the recommendation. - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink - description: - description: The description of the recommendation. + keyValueEntries: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + type: array + description: One or more key value map keys and values. + nextPageToken: + description: >- + Token that can be sent as `next_page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string + id: GoogleCloudApigeeV1ListKeyValueEntriesResponse + description: >- + The request structure for listing key value map keys and its + corresponding values. type: object - description: The format of the assessment recommendation. - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource: - description: Resource for which we are computing security assessment. + GoogleCloudApigeeV1AddonsConfig: properties: - name: - type: string - description: Required. Name of this resource. - type: - enumDescriptions: - - ResourceType not specified. - - Resource is an Apigee Proxy. - type: string - enum: - - RESOURCE_TYPE_UNSPECIFIED - - API_PROXY - description: Required. Type of this resource. - id: >- - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource + advancedApiOpsConfig: + description: Configuration for the Advanced API Ops add-on. + $ref: '#/components/schemas/GoogleCloudApigeeV1AdvancedApiOpsConfig' + connectorsPlatformConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1ConnectorsPlatformConfig' + description: Configuration for the Connectors Platform add-on. + monetizationConfig: + description: Configuration for the Monetization add-on. + $ref: '#/components/schemas/GoogleCloudApigeeV1MonetizationConfig' + analyticsConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1AnalyticsConfig' + description: >- + Configuration for the Analytics add-on. Only used in + organizations.environments.addonsConfig. + integrationConfig: + description: Configuration for the Integration add-on. + $ref: '#/components/schemas/GoogleCloudApigeeV1IntegrationConfig' + apiSecurityConfig: + description: Configuration for the API Security add-on. + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiSecurityConfig' + description: Add-on configurations for the Apigee organization. type: object - EdgeConfigstoreBundleBadBundle: - description: Describes why a bundle is invalid. Intended for use in error details. + id: GoogleCloudApigeeV1AddonsConfig + GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation: type: object - id: EdgeConfigstoreBundleBadBundle - properties: - violations: - type: array - items: - $ref: '#/components/schemas/EdgeConfigstoreBundleBadBundleViolation' - description: Describes all precondition violations. - GoogleCloudApigeeV1SecurityReportResultMetadata: properties: - self: + securityProfileRevisionId: + type: string + format: int64 + description: 'DEPRECATED: DO NOT USE Revision ID of the security profile.' + deprecated: true + attachTime: type: string + readOnly: true description: >- - Self link of the query results. Example: - `/organizations/myorg/environments/myenv/securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` - or following format if query is running at host level: - `/organizations/myorg/hostSecurityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` + Output only. The time when environment was attached to the security + profile. + format: google-datetime + name: + description: Immutable. Name of the environment that the profile is attached to. + type: string + description: Represents a SecurityProfileEnvironmentAssociation resource. + id: GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation + GoogleCloudApigeeV1SecurityReportResultMetadata: + type: object + properties: expires: + type: string description: >- Output only. Expire_time is set to 7 days after report creation. Query result will be unaccessable after this time. Example: "2021-05-04T13:38:52-07:00" readOnly: true + self: type: string - description: Contains informations about the security report results. + description: >- + Self link of the query results. Example: + `/organizations/myorg/environments/myenv/securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` + or following format if query is running at host level: + `/organizations/myorg/hostSecurityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` id: GoogleCloudApigeeV1SecurityReportResultMetadata - type: object - GoogleCloudApigeeV1ServiceIssuersMapping: + description: Contains informations about the security report results. + GoogleCloudApigeeV1ConnectorsPlatformConfig: properties: - service: - description: String indicating the Apigee service name. + expiresAt: + readOnly: true type: string - emailIds: - items: - type: string - type: array - description: List of trusted issuer email ids. + format: int64 + description: >- + Output only. Time at which the Connectors Platform add-on expires in + milliseconds since epoch. If unspecified, the add-on will never + expire. + enabled: + description: >- + Flag that specifies whether the Connectors Platform add-on is + enabled. + type: boolean + id: GoogleCloudApigeeV1ConnectorsPlatformConfig + description: Configuration for the Connectors Platform add-on. type: object - id: GoogleCloudApigeeV1ServiceIssuersMapping - GoogleCloudApigeeV1ApiProduct: + GoogleCloudApigeeV1ApiProxyRevision: type: object properties: - quota: - type: string - description: >- - Number of request messages permitted per app by this API product for - the specified `quotaInterval` and `quotaTimeUnit`. For example, a - `quota` of 50, for a `quotaInterval` of 12 and a `quotaTimeUnit` of - hours means 50 requests are allowed every 12 hours. - lastModifiedAt: - format: int64 + integrationEndpoints: description: >- - Response only. Modified time of this environment as milliseconds - since epoch. - type: string - environments: + List of IntegrationEndpoints in the '/integration-endpoints' + directory of the API proxy. This is a 'manifest' setting designed to + provide visibility into the contents of the API proxy. type: array items: type: string + type: description: >- - Comma-separated list of environment names to which the API product - is bound. Requests to environments that are not listed are rejected. - By specifying one or more environments, you can bind the resources - listed in the API product to a specific environment, preventing - developers from accessing those resources through API proxies - deployed in another environment. This setting is used, for example, - to prevent resources associated with API proxies in `prod` from - being accessed by API proxies deployed in `test`. - scopes: + Type. Set to `Application`. Maintained for compatibility with the + Apigee Edge API. + type: string + policies: + description: List of policy names included in the API proxy revision.. items: type: string - description: >- - 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. type: array - attributes: + resources: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + type: string description: >- - Array of attributes that may be used to extend the default API - product profile with customer-specific metadata. You can specify a - maximum of 18 attributes. Use this property to specify the access - level of the API product as either `public`, `private`, or - `internal`. Only products marked `public` are available to - developers in the Apigee developer portal. For example, you can set - a product to `internal` while it is in development and then change - access to `public` when it is ready to release on the portal. API - products marked as `private` do not appear on the portal, but can be - accessed by external developers. + List of the resources included in the API proxy revision formatted + as "{type}://{name}". type: array - quotaTimeUnit: - description: >- - Time unit defined for the `quotaInterval`. Valid values include - `minute`, `hour`, `day`, or `month`. - type: string - quotaInterval: + lastModifiedAt: + format: int64 type: string description: >- - Time interval over which the number of request messages is - calculated. - description: - description: >- - Description of the API product. Include key information about the - API product that is not captured by other fields. + Time that the API proxy revision was last modified in milliseconds + since epoch. + revision: type: string - grpcOperationGroup: + description: API proxy revision. + proxyEndpoints: description: >- - Optional. Configuration used to group Apigee proxies with gRPC - services and method names. This grouping allows us to set quota for - a particular proxy with the gRPC service name and method. If a - method name is not set, this implies quota and authorization are - applied to all gRPC methods implemented by that proxy for that - particular gRPC service. - $ref: '#/components/schemas/GoogleCloudApigeeV1GrpcOperationGroup' - operationGroup: + List of ProxyEndpoints in the `/proxies` directory of the API proxy. + Typically, this element is included only when the API proxy was + created using the Edge UI. This is a 'manifest' setting designed to + provide visibility into the contents of the API proxy. + type: array + items: + type: string + createdAt: description: >- - Configuration used to group Apigee proxies or remote services with - resources, method types, and quotas. The resource refers to the - resource URI (excluding the base path). With this grouping, the API - product creator is able to fine-tune and give precise control over - which REST methods have access to specific resources and how many - calls can be made (using the `quota` setting). **Note:** The - `api_resources` setting cannot be specified for both the API product - and operation group; otherwise the call will fail. - $ref: '#/components/schemas/GoogleCloudApigeeV1OperationGroup' - createdAt: - description: >- - Response only. Creation time of this environment as milliseconds - since epoch. + Time that the API proxy revision was created in milliseconds since + epoch. format: int64 type: string - graphqlOperationGroup: - description: >- - Configuration used to group Apigee proxies or remote services with - graphQL operation name, graphQL operation type and quotas. This - grouping allows us to precisely set quota for a particular - combination of graphQL name and operation type for a particular - proxy request. If graphQL name is not set, this would imply quota - will be applied on all graphQL requests matching the operation type. - $ref: '#/components/schemas/GoogleCloudApigeeV1GraphQLOperationGroup' + resourceFiles: + description: List of resource files included in the API proxy revision. + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFiles' name: type: string + description: Name of the API proxy. + teams: + type: array + items: + type: string + description: List of the teams included in the API proxy revision. + hasExtensiblePolicy: description: >- - Internal name of the API product. Characters you can use in the name - are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name - cannot be edited when updating the API product. - approvalType: + Output only. This field will be marked as true if revision contains + any policies marked as extensible. + type: boolean + readOnly: true + configurationVersion: + $ref: '#/components/schemas/GoogleCloudApigeeV1ConfigVersion' + description: >- + Version of the API proxy configuration schema to which the API proxy + conforms. Currently, the only supported value is 4.0 + (`majorVersion.minorVersion`). This setting may be used in the + future to track the evolution of the API proxy format. + spec: type: string description: >- - Flag that specifies how API keys are approved to access the APIs - defined by the API product. If set to `manual`, the consumer key is - generated and returned in "pending" state. In this case, the API - keys won't work until they have been explicitly approved. If set to - `auto`, the consumer key is generated and returned in "approved" - state and can be used immediately. **Note:** Typically, `auto` is - used to provide access to free or trial API products that provide - limited quota or capabilities. - apiResources: - type: array + OpenAPI Specification that is associated with the API proxy. The + value is set to a URL or to a path in the specification store. + description: + description: Description of the API proxy revision. + type: string + entityMetaDataAsProperties: + type: object + additionalProperties: + type: string + description: Metadata describing the API proxy revision as a key-value map. + targetEndpoints: items: type: string description: >- - Comma-separated list of API resources to be bundled in the API - product. By default, the resource paths are mapped from the - `proxy.pathsuffix` variable. The proxy path suffix is defined as the - URI fragment following the ProxyEndpoint base path. For example, if - the `apiResources` element is defined to be `/forecastrss` and the - base path defined for the API proxy is `/weather`, then only - requests to `/weather/forecastrss` are permitted by the API product. - You can select a specific path, or you can select all subpaths with - the following wildcard: - `/**`: Indicates that all sub-URIs are - included. - `/*` : Indicates that only URIs one level down are - included. By default, / supports the same resources as /** as well - as the base path defined by the API proxy. For example, if the base - path of the API proxy is `/v1/weatherapikey`, then the API product - supports requests to `/v1/weatherapikey` and to any sub-URIs, such - as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, - and so on. For more information, see Managing API products. + List of TargetEndpoints in the `/targets` directory of the API + proxy. Typically, this element is included only when the API proxy + was created using the Edge UI. This is a 'manifest' setting designed + to provide visibility into the contents of the API proxy. + type: array proxies: - description: >- - Comma-separated list of API proxy names to which this API product is - bound. By specifying API proxies, you can associate resources in the - API product with specific API proxies, preventing developers from - accessing those resources through other API proxies. Apigee rejects - requests to API proxies that are not listed. **Note:** The API proxy - names must already exist in the specified environment as they will - be validated upon creation. items: type: string + description: List of proxy names included in the API proxy revision. type: array - quotaCounterScope: - enumDescriptions: - - >- - When quota is not explicitly defined for each - operation(REST/GraphQL), the limits set at product level will be - used as a local counter for quota evaluation by all the - operations, independent of proxy association. - - >- - When quota is not explicitly defined for each - operation(REST/GraphQL), set at product level will be used as a - global counter for quota evaluation by all the operations - associated with a particular proxy. - - >- - When quota is not explicitly defined for each - operation(REST/GraphQL), the limits set at product level will be - used as a local counter for quota evaluation by all the - operations, independent of proxy association. This behavior mimics - the same as QUOTA_COUNTER_SCOPE_UNSPECIFIED. - enum: - - QUOTA_COUNTER_SCOPE_UNSPECIFIED - - PROXY - - OPERATION + targets: + type: array + description: List of the targets included in the API proxy revision. + items: + type: string + contextInfo: + description: Revision number, app name, and organization for the API proxy. type: string + targetServers: description: >- - Scope of the quota decides how the quota counter gets applied and - evaluate for quota violation. If the Scope is set as PROXY, then all - the operations defined for the APIproduct that are associated with - the same proxy will share the same quota counter set at the - APIproduct level, making it a global counter at a proxy level. If - the Scope is set as OPERATION, then each operations get the counter - set at the API product dedicated, making it a local counter. Note - that, the QuotaCounterScope applies only when an operation does not - have dedicated quota set for itself. + List of TargetServers referenced in any TargetEndpoint in the API + proxy. Typically, you will see this element only when the API proxy + was created using the Edge UI. This is a 'manifest' setting designed + to provide visibility into the contents of the API proxy. + items: + type: string + type: array displayName: type: string - description: >- - Name displayed in the UI or developer portal to developers - registering for API access. - id: GoogleCloudApigeeV1ApiProduct - GoogleCloudApigeeV1EnvironmentGroup: - description: >- - EnvironmentGroup configuration. An environment group is used to group - one or more Apigee environments under a single host name. - id: GoogleCloudApigeeV1EnvironmentGroup - type: object - properties: - lastModifiedAt: - type: string - description: >- - Output only. The time at which the environment group was last - updated as milliseconds since epoch. - readOnly: true - format: int64 - name: - description: ID of the environment group. - type: string - hostnames: + description: Human-readable name of the API proxy. + sharedFlows: type: array + description: List of the shared flows included in the API proxy revision. items: type: string - description: Required. Host names for this environment group. - createdAt: - format: int64 - description: >- - Output only. The time at which the environment group was created as - milliseconds since epoch. - type: string + archive: readOnly: true - state: description: >- - Output only. State of the environment group. Values other than - ACTIVE means the resource is not ready to use. + Output only. The archive that generated this proxy revision. This + field is only present on proxy revisions that were generated by an + archive. Proxies generated by archives cannot be updated, deleted, + or deployed to other environments. Format: + `organizations/*/environments/*/archiveDeployments/*` type: string - enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - DELETING - - UPDATING - readOnly: true - enumDescriptions: - - Resource is in an unspecified state. - - Resource is being created. - - Resource is provisioned and ready to use. - - The resource is being deleted. - - The resource is being updated. - GoogleCloudApigeeV1Organization: + basepaths: + items: + type: string + type: array + description: Base URL of the API proxy. + description: API proxy revision. + id: GoogleCloudApigeeV1ApiProxyRevision + GoogleCloudApigeeV1GenerateDownloadUrlRequest: + id: GoogleCloudApigeeV1GenerateDownloadUrlRequest + description: Request for GenerateDownloadUrl method. + type: object + properties: {} + GoogleCloudApigeeV1IntegrationConfig: type: object + id: GoogleCloudApigeeV1IntegrationConfig + description: Configuration for the Integration add-on. properties: - subscriptionType: + enabled: + type: boolean + description: Flag that specifies whether the Integration add-on is enabled. + GoogleCloudApigeeV1ProvisionOrganizationRequest: + properties: + analyticsRegion: type: string - readOnly: true description: >- - 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/). - enumDescriptions: - - Subscription type not specified. - - Full subscription to Apigee has been purchased. - - >- - Subscription to Apigee is free, limited, and used for evaluation - purposes only. - deprecated: true - enum: - - SUBSCRIPTION_TYPE_UNSPECIFIED - - PAID - - TRIAL - name: - readOnly: true - type: string - description: Output only. Name of the Apigee organization. - customerName: - description: Not used by Apigee. - type: string - type: + Primary Cloud Platform region for analytics data storage. For valid + values, see [Create an + organization](https://cloud.google.com/apigee/docs/hybrid/latest/precog-provision). + Defaults to `us-west1`. + authorizedNetwork: type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_TRIAL - - TYPE_PAID - - TYPE_INTERNAL - description: Not used by Apigee. - enumDescriptions: - - Subscription type not specified. - - >- - Subscription to Apigee is free, limited, and used for evaluation - purposes only. - - >- - Full subscription to Apigee has been purchased. See [Apigee - pricing](https://cloud.google.com/apigee/pricing/). - - For internal users only. - lastModifiedAt: description: >- - Output only. Time that the Apigee organization was last modified in - milliseconds since epoch. - type: string - readOnly: true - format: int64 - apiConsumerDataLocation: + 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). + 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` + runtimeLocation: description: >- - 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. + Cloud Platform location for the runtime instance. Defaults to zone + `us-west1-a`. If a region is provided, `EVAL` organizations will use + the region for automatically selecting a zone for the runtime + instance. type: string disableVpcPeering: type: boolean description: >- Optional. Flag that specifies whether the VPC Peering through Private Google Access should be disabled between the consumer - network and Apigee. Valid only when RuntimeType is set to CLOUD. - Required if an authorizedNetwork on the consumer project is not - provided, in which case the flag should be set to true. The value - must be set before the creation of any Apigee runtime instance and - can be updated only when there are no runtime instances. **Note:** - Apigee will be deprecating the vpc peering model that requires you - to provide 'authorizedNetwork', by making the non-peering model as - the default way of provisioning Apigee organization in future. So, - this will be a temporary flag to enable the transition. Not - supported for Apigee hybrid. - description: + network and Apigee. Required if an authorizedNetwork on the consumer + project is not provided, in which case the flag should be set to + true. The value must be set before the creation of any Apigee + runtime instance and can be updated only when there are no runtime + instances. **Note:** Apigee will be deprecating the vpc peering + model that requires you to provide 'authorizedNetwork', by making + the non-peering model as the default way of provisioning Apigee + organization in future. So, this will be a temporary flag to enable + the transition. Not supported for Apigee hybrid. + type: object + id: GoogleCloudApigeeV1ProvisionOrganizationRequest + description: Request for ProvisionOrganization. + GoogleCloudApigeeV1Attributes: + id: GoogleCloudApigeeV1Attributes + type: object + properties: + attribute: + description: List of attributes. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + type: array + GoogleCloudApigeeV1Datastore: + properties: + createTime: type: string - description: Description of the Apigee organization. - displayName: + format: int64 + readOnly: true description: >- - Display name for the Apigee organization. Unused, but reserved for - future use. - type: string - analyticsRegion: + Output only. Datastore create time, in milliseconds since the epoch + of 1970-01-01T00:00:00Z + targetType: type: string - description: >- - Required. DEPRECATED: This field will eventually be deprecated and - replaced with a differently-named field. Primary Google Cloud region - for analytics data storage. For valid values, see [Create an Apigee - organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). - deprecated: true - properties: - description: Properties defined in the Apigee organization profile. - $ref: '#/components/schemas/GoogleCloudApigeeV1Properties' - attributes: - description: Not used by Apigee. - type: array - items: - type: string - runtimeType: - enumDescriptions: - - Runtime type not specified. - - Google-managed Apigee runtime. - - User-managed Apigee hybrid runtime. - enum: - - RUNTIME_TYPE_UNSPECIFIED - - CLOUD - - HYBRID - description: >- - Required. Runtime type of the Apigee organization based on the - Apigee subscription purchased. + description: Destination storage type. Supported types `gcs` or `bigquery`. + org: + readOnly: true + description: Output only. Organization that the datastore belongs to type: string - apigeeProjectId: + datastoreConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1DatastoreConfig' + description: Datastore Configurations. + displayName: + description: Required. Display name in UI type: string + lastUpdateTime: + format: int64 readOnly: true description: >- - 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. - apiConsumerDataEncryptionKeyName: - description: >- - Cloud KMS key name used for encrypting API consumer data. If not - specified or [BillingType](#BillingType) is `EVALUATION`, a - Google-Managed encryption key will be used. Format: - `projects/*/locations/*/keyRings/*/cryptoKeys/*` + Output only. Datastore last update time, in milliseconds since the + epoch of 1970-01-01T00:00:00Z type: string - subscriptionPlan: - enumDescriptions: - - Subscription plan not specified. - - Traditional subscription plan. - - >- - New subscription plan that provides standard proxy and scaled - proxy implementation. - readOnly: true - enum: - - SUBSCRIPTION_PLAN_UNSPECIFIED - - SUBSCRIPTION_2021 - - SUBSCRIPTION_2024 + self: type: string + readOnly: true description: >- - Output only. Subscription plan that the customer has purchased. - Output only. - projectId: + Output only. Resource link of Datastore. Example: + `/organizations/{org}/analytics/datastores/{uuid}` + type: object + id: GoogleCloudApigeeV1Datastore + description: >- + The data store defines the connection to export data repository (Cloud + Storage, BigQuery), including the credentials used to access the data + repository. + GoogleCloudApigeeV1ApiSecurityConfig: + type: object + description: Configurations of the API Security add-on. + properties: + expiresAt: type: string + format: int64 readOnly: true - description: Output only. Project ID associated with the Apigee organization. - authorizedNetwork: - type: string description: >- - 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. - addonsConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1AddonsConfig' - description: Addon configurations of the Apigee organization. - controlPlaneEncryptionKeyName: + Output only. Time at which the API Security add-on expires in in + milliseconds since epoch. If unspecified, the add-on will never + expire. + enabled: + description: Flag that specifies whether the API security add-on is enabled. + type: boolean + id: GoogleCloudApigeeV1ApiSecurityConfig + GoogleCloudApigeeV1ActivateNatAddressRequest: + properties: {} + type: object + id: GoogleCloudApigeeV1ActivateNatAddressRequest + description: Request for ActivateNatAddressRequest. Activate the nat address request. + GoogleCloudApigeeV1ReferenceConfig: + id: GoogleCloudApigeeV1ReferenceConfig + type: object + properties: + resourceName: type: string description: >- - 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/*` - caCertificate: + Name of the referenced resource in the following format: + `organizations/{org}/environments/{env}/keystores/{keystore}` Only + references to keystore resources are supported. + name: type: string description: >- - Output only. Base64-encoded public certificate for the root CA of - the Apigee organization. Valid only when [RuntimeType](#RuntimeType) - is `CLOUD`. - readOnly: true - format: byte - environments: - description: Output only. List of environments in the Apigee organization. - readOnly: true + Name of the reference in the following format: + `organizations/{org}/environments/{env}/references/{reference}` + GoogleCloudApigeeV1ListHybridIssuersResponse: + id: GoogleCloudApigeeV1ListHybridIssuersResponse + type: object + properties: + issuers: type: array + description: Lists of hybrid services and its trusted issuer email ids. items: - type: string - portalDisabled: - type: boolean - description: Configuration for the Portals settings. - billingType: + $ref: '#/components/schemas/GoogleCloudApigeeV1ServiceIssuersMapping' + GoogleCloudApigeeV1ListRatePlansResponse: + type: object + properties: + nextStartKey: type: string - enum: - - BILLING_TYPE_UNSPECIFIED - - SUBSCRIPTION - - EVALUATION - - PAYG description: >- - Billing type of the Apigee organization. See [Apigee - pricing](https://cloud.google.com/apigee/pricing). - enumDescriptions: - - Billing type not specified. - - A pre-paid subscription to Apigee. - - Free and limited access to Apigee for evaluation purposes only. - - Access to Apigee using a Pay-As-You-Go plan. - state: - enumDescriptions: - - Resource is in an unspecified state. - - Resource is being created. - - Resource is provisioned and ready to use. - - The resource is being deleted. - - The resource is being updated. + Value that can be sent as `startKey` to retrieve the next page of + content. If this field is omitted, there are no subsequent pages. + ratePlans: + description: List of rate plans in an organization. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + type: array + id: GoogleCloudApigeeV1ListRatePlansResponse + description: Response for ListRatePlans. + GoogleCloudApigeeV1DocumentationFile: + properties: + contents: + description: Required. The file contents. The max size is 4 MB. + format: byte + type: string + displayName: type: string - enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - DELETING - - UPDATING description: >- - Output only. State of the organization. Values other than ACTIVE - means the resource is not ready to use. - readOnly: true - expiresAt: - readOnly: true + Required. A display name for the file, shown in the management UI. + Max length is 255 characters. + id: GoogleCloudApigeeV1DocumentationFile + type: object + description: Documentation file contents for a catalog item. + GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest: + properties: + requests: description: >- - Output only. Time that the Apigee organization is scheduled for - deletion. - format: int64 + Optional. Required. The request message specifying the resources to + update. A maximum of 1000 can be modified in a batch. + items: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1UpdateSecurityIncidentRequest + type: array + id: GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest + type: object + description: Request for BatchUpdateSecurityIncident. + GoogleCloudApigeeV1GenerateUploadUrlResponse: + id: GoogleCloudApigeeV1GenerateUploadUrlResponse + properties: + uploadUri: + description: >- + The Google Cloud Storage signed URL that can be used to upload a new + Archive zip file. type: string - createdAt: - format: int64 + description: Response for GenerateUploadUrl method. + type: object + GoogleCloudApigeeV1TargetServerConfig: + type: object + properties: + protocol: + description: The protocol used by this target server. + enum: + - PROTOCOL_UNSPECIFIED + - HTTP + - HTTP2 + - GRPC_TARGET + - GRPC + - EXTERNAL_CALLOUT + enumDescriptions: + - UNSPECIFIED defaults to HTTP for backwards compatibility. + - The TargetServer uses HTTP. + - The TargetSever uses HTTP2. + - The TargetServer uses GRPC. + - >- + GRPC TargetServer to be used in ExternalCallout Policy. Prefer to + use EXTERNAL_CALLOUT instead. TODO(b/266125112) deprecate once + EXTERNAL _CALLOUT generally available. + - The TargetServer is to be used in the ExternalCallout Policy type: string - readOnly: true + enabled: + type: boolean description: >- - Output only. Time that the Apigee organization was created in - milliseconds since epoch. - runtimeDatabaseEncryptionKeyName: + Whether the target server is enabled. An empty/omitted value for + this field should be interpreted as true. + tlsInfo: + $ref: '#/components/schemas/GoogleCloudApigeeV1TlsInfoConfig' + description: TLS settings for the target server. + host: + type: string + description: Host name of the target server. + port: + format: int32 + type: integer + description: Port number for the target server. + name: type: string description: >- - Cloud KMS key name used for encrypting the data that is stored and - replicated across runtime instances. Update is not allowed after the - organization is created. If not specified or - [RuntimeType](#RuntimeType) is `TRIAL`, a Google-Managed encryption - key will be used. For example: - "projects/foo/locations/us/keyRings/bar/cryptoKeys/baz". **Note:** - Not supported for Apigee hybrid. - id: GoogleCloudApigeeV1Organization - GoogleCloudApigeeV1DataCollectorConfig: + Target server revision name in the following format: + `organizations/{org}/environments/{env}/targetservers/{targetserver}/revisions/{rev}` + id: GoogleCloudApigeeV1TargetServerConfig + GoogleCloudApigeeV1ApiCategory: + description: >- + `ApiCategory` represents an API category. [Catalog + items](/apigee/docs/reference/apis/apigee/rest/v1/organizations.sites.apidocs) + can be tagged with API categories; users viewing the API catalog in the + portal will have the option to browse the catalog by category. + type: object + id: GoogleCloudApigeeV1ApiCategory properties: - type: + updateTime: + format: int64 + type: string + description: Time the category was last modified in milliseconds since epoch. + id: + description: ID of the category (a UUID). type: string - description: Data type accepted by the data collector. - enumDescriptions: - - For future compatibility. - - For integer values. - - For float values. - - For string values. - - For boolean values. - - For datetime values. - enum: - - TYPE_UNSPECIFIED - - INTEGER - - FLOAT - - STRING - - BOOLEAN - - DATETIME name: - description: >- - Name of the data collector in the following format: - `organizations/{org}/datacollectors/{datacollector}` + description: Name of the category. type: string + siteId: + description: Name of the portal. + type: string + GoogleCloudApigeeV1ListInstanceAttachmentsResponse: + description: Response for ListInstanceAttachments. + id: GoogleCloudApigeeV1ListInstanceAttachmentsResponse type: object - id: GoogleCloudApigeeV1DataCollectorConfig - description: Data collector and its configuration. - GoogleCloudApigeeV1SecurityActionConditionConfig: properties: - apiKeys: - items: - type: string - description: Optional. A list of API keys. Limit 1000 per action. - type: array - httpMethods: - type: array + nextPageToken: + type: string description: >- - Optional. Act only on particular HTTP methods. E.g. A read-only API - can block POST/PUT/DELETE methods. Accepted values are: GET, HEAD, - POST, PUT, DELETE, CONNECT, OPTIONS, TRACE and PATCH. - items: - type: string - developers: - description: Optional. A list of developers. Limit 1000 per action. - items: - type: string - type: array - apiProducts: - description: Optional. A list of API Products. Limit 1000 per action. - type: array + Page token that you can include in a ListInstanceAttachments request + to retrieve the next page of content. If omitted, no subsequent + pages exist. + attachments: items: - type: string - ipAddressRanges: + $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceAttachment' type: array + description: Attachments for the instance. + GoogleCloudApigeeV1GraphQLOperation: + type: object + properties: + operation: description: >- - Optional. A list of IP addresses. This could be either IPv4 or IPv6. - Limited to 100 per action. + GraphQL operation name. The name and operation type will be used to + apply quotas. If no name is specified, the quota will be applied to + all GraphQL operations irrespective of their operation names in the + payload. + type: string + operationTypes: items: type: string - botReasons: + description: >- + Required. GraphQL operation types. Valid values include `query` or + `mutation`. **Note**: Apigee does not currently support + `subscription` types. type: array + description: >- + Represents the pairing of GraphQL operation types and the GraphQL + operation name. + id: GoogleCloudApigeeV1GraphQLOperation + GoogleCloudApigeeV1APIProductAssociation: + id: GoogleCloudApigeeV1APIProductAssociation + properties: + status: description: >- - Optional. A list of Bot Reasons. Current options: Flooder, Brute - Guessor, Static Content Scraper, OAuth Abuser, Robot Abuser, - TorListRule, Advanced Anomaly Detection, Advanced API Scraper, - Search Engine Crawlers, Public Clouds, Public Cloud AWS, Public - Cloud Azure, and Public Cloud Google. + The API product credential associated status. Valid values are + `approved` or `revoked`. + type: string + apiproduct: + type: string + description: API product to be associated with the credential. + type: object + description: >- + APIProductAssociation has the API product and its administrative state + association. + GoogleCloudApigeeV1Access: + id: GoogleCloudApigeeV1Access + properties: + Get: + $ref: '#/components/schemas/GoogleCloudApigeeV1AccessGet' + Remove: + $ref: '#/components/schemas/GoogleCloudApigeeV1AccessRemove' + Set: + $ref: '#/components/schemas/GoogleCloudApigeeV1AccessSet' + type: object + GoogleCloudApigeeV1QueryTabularStatsResponse: + id: GoogleCloudApigeeV1QueryTabularStatsResponse + properties: + values: + type: array + description: Resultant rows from the executed query. items: - type: string - asns: + type: array + items: + type: any + columns: + type: array items: - format: int64 type: string description: >- - Optional. A list of ASN numbers to act on, e.g. 23. - https://en.wikipedia.org/wiki/Autonomous_system_(Internet) This uses - int64 instead of uint32 because of - https://linter.aip.dev/141/forbidden-types. - type: array - developerApps: - items: - type: string - type: array - description: Optional. A list of developer apps. Limit 1000 per action. - regionCodes: - type: array - description: >- - Optional. A list of countries/region codes to act on, e.g. US. This - follows https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. - items: - type: string - accessTokens: - type: array - description: Optional. A list of access_tokens. Limit 1000 per action. - items: - type: string - userAgents: - description: >- - Optional. A list of user agents to deny. We look for exact matches. - Limit 50 per action. - items: - type: string - type: array - id: GoogleCloudApigeeV1SecurityActionConditionConfig + Column names corresponding to the same order as the inner values in + the stats field. + nextPageToken: + description: Next page token. + type: string description: >- - 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. + Encapsulates two kinds of stats that are results of the dimensions and + aggregations requested. - Tabular rows. - Time series data. Example of + tabular rows, Represents security stats results as a row of flat values. type: object - GoogleCloudApigeeV1Operation: + GoogleTypeExpr: properties: - resource: + location: type: string description: >- - Required. REST resource path associated with the API proxy or remote - service. - methods: + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + expression: description: >- - methods refers to the REST verbs as in - https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none - specified, all verb types are allowed. - items: - type: string - type: array - id: GoogleCloudApigeeV1Operation - type: object - description: >- - Represents the pairing of REST resource path and the actions (verbs) - allowed on the resource path. - GoogleCloudApigeeV1Result: - properties: - properties: - description: Name value pairs used for DebugInfo ActionResult. - $ref: '#/components/schemas/GoogleCloudApigeeV1Properties' - reasonPhrase: - description: HTTP response phrase - type: string - verb: - description: HTTP method verb - type: string - content: + Textual representation of an expression in Common Expression + Language syntax. type: string + title: description: >- - Error message content. for example, "content" : - "{\"fault\":{\"faultstring\":\"API timed - out\",\"detail\":{\"errorcode\":\"flow.APITimedOut\"}}}" - headers: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Property' - description: >- - A list of HTTP headers. for example, '"headers" : [ { "name" : - "Content-Length", "value" : "83" }, { "name" : "Content-Type", - "value" : "application/json" } ]' - type: array - ActionResult: - description: >- - Type of the action result. Can be one of the five: DebugInfo, - RequestMessage, ResponseMessage, ErrorMessage, VariableAccess + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. type: string - timestamp: - description: >- - Timestamp of when the result is recorded. Its format is dd-mm-yy - hh:mm:ss:xxx. For example, `"timestamp" : "12-08-19 00:31:59:960"` + description: type: string - accessList: - description: >- - A list of variable access actions agaist the api proxy. Supported - values: Get, Set, Remove. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Access' - uRI: description: >- - The relative path of the api proxy. for example, `"uRI" : - "/iloveapis"` - type: string - statusCode: - type: string - description: HTTP response code + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. description: >- - Result is short for "action result", could be different types identified - by "action_result" field. Supported types: 1. DebugInfo : generic debug - info collected by runtime recorded as a list of properties. For example, - the contents could be virtual host info, state change result, or - execution metadata. Required fields : properties, timestamp 2. - RequestMessage: information of a http request. Contains headers, request - URI and http methods type.Required fields : headers, uri, verb 3. - ResponseMessage: information of a http response. Contains headers, - reason phrase and http status code. Required fields : headers, - reasonPhrase, statusCode 4. ErrorMessage: information of a http error - message. Contains detail error message, reason phrase and status code. - Required fields : content, headers, reasonPhrase, statusCode 5. - VariableAccess: a list of variable access actions, can be Get, Set and - Remove. Required fields : accessList + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. type: object - id: GoogleCloudApigeeV1Result - GoogleCloudApigeeV1ListNatAddressesResponse: + id: GoogleTypeExpr + GoogleCloudApigeeV1Environment: type: object - description: Response for ListNatAddresses. properties: - natAddresses: - type: array - description: List of NAT Addresses for the instance. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1NatAddress' - nextPageToken: + deploymentType: + enum: + - DEPLOYMENT_TYPE_UNSPECIFIED + - PROXY + - ARCHIVE description: >- - Page token that you can include in a ListNatAddresses request to - retrieve the next page of content. If omitted, no subsequent pages - exist. - type: string - id: GoogleCloudApigeeV1ListNatAddressesResponse - GoogleCloudApigeeV1ApiProductRef: - type: object - properties: - status: - description: Status of the API product. Valid values are `approved` or `revoked`. - type: string - apiproduct: + 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 + enumDescriptions: + - Deployment type not specified. + - >- + Proxy deployment enables you to develop and deploy API proxies + using Apigee on Google Cloud. This cannot currently be combined + with the CONFIGURABLE API proxy type. + - >- + Archive deployment enables you to develop API proxies locally then + deploy an archive of your API proxy configuration to an + environment in Apigee on Google Cloud. You will be prevented from + performing a [subset of + actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) + within the environment. type: string - description: Name of the API product. - id: GoogleCloudApigeeV1ApiProductRef - GoogleCloudApigeeV1Reference: - properties: - description: + hasAttachedFlowHooks: + type: boolean + displayName: + description: Optional. Display name for this environment. type: string - description: Optional. A human-readable description of this reference. - name: + nodeConfig: + description: Optional. NodeConfig of the environment. + $ref: '#/components/schemas/GoogleCloudApigeeV1NodeConfig' + state: type: string + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - DELETING + - UPDATING + enumDescriptions: + - Resource is in an unspecified state. + - Resource is being created. + - Resource is provisioned and ready to use. + - The resource is being deleted. + - The resource is being updated. + readOnly: true description: >- - Required. The resource id of this reference. Values must match the - regular expression [\w\s\-.]+. - resourceType: + Output only. State of the environment. Values other than ACTIVE + means the resource is not ready to use. + createdAt: + readOnly: true description: >- - The type of resource referred to by this reference. Valid values are - 'KeyStore' or 'TrustStore'. + Output only. Creation time of this environment as milliseconds since + epoch. type: string - refers: + format: int64 + name: type: string description: >- - 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. - type: object - id: GoogleCloudApigeeV1Reference - description: >- - A Reference configuration. References must refer to a keystore that also - exists in the parent environment. - GoogleCloudApigeeV1CreditDeveloperBalanceRequest: - type: object - id: GoogleCloudApigeeV1CreditDeveloperBalanceRequest - description: Request for CreditDeveloperBalance. - properties: - transactionAmount: - $ref: '#/components/schemas/GoogleTypeMoney' + Required. Name of the environment. Values must match the regular + expression `^[.\\p{Alnum}-_]{1,255}$` + properties: description: >- - The amount of money to be credited. The wallet corresponding to the - currency specified within `transaction_amount` will be updated. For - example, if you specified `currency_code` within - `transaction_amount` as "USD", then the amount would be added to the - wallet which has the "USD" currency or if no such wallet exists, a - new wallet will be created with the "USD" currency. - transactionId: - type: string - description: >- - Each transaction_id uniquely identifies a credit balance request. If - multiple requests are received with the same transaction_id, only - one of them will be considered. - GoogleCloudApigeeV1Environment: - id: GoogleCloudApigeeV1Environment - properties: - createdAt: - description: >- - Output only. Creation time of this environment as milliseconds since - epoch. - format: int64 - type: string - readOnly: true - state: + Optional. Key-value pairs that may be used for customizing the + environment. + $ref: '#/components/schemas/GoogleCloudApigeeV1Properties' + type: enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - DELETING - - UPDATING + - ENVIRONMENT_TYPE_UNSPECIFIED + - BASE + - INTERMEDIATE + - COMPREHENSIVE + description: Optional. EnvironmentType selected for the environment. enumDescriptions: - - Resource is in an unspecified state. - - Resource is being created. - - Resource is provisioned and ready to use. - - The resource is being deleted. - - The resource is being updated. - readOnly: true - type: string - description: >- - Output only. State of the environment. Values other than ACTIVE - means the resource is not ready to use. - nodeConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1NodeConfig' - description: Optional. NodeConfig of the environment. - displayName: - description: Optional. Display name for this environment. + - Environment type not specified. + - >- + This is the default type. Base environment has limited capacity + and capabilities and are usually used when you are getting started + with Apigee or while experimenting. Refer to Apigee's public + documentation for more details. + - >- + Intermediate environment supports API management features and + higher capacity than Base environment. Refer to Apigee's public + documentation for more details. + - >- + Comprehensive environment supports advanced capabilites and even + higher capacity than Intermediate environment. Refer to Apigee's + public documentation for more details. type: string - description: - description: Optional. Description of the environment. + lastModifiedAt: type: string - properties: description: >- - Optional. Key-value pairs that may be used for customizing the - environment. - $ref: '#/components/schemas/GoogleCloudApigeeV1Properties' - hasAttachedFlowHooks: - type: boolean + Output only. Last modification time of this environment as + milliseconds since epoch. + format: int64 + readOnly: true apiProxyType: - description: >- - Optional. API Proxy type supported by the environment. The type can - be set when creating the Environment and cannot be changed. + enum: + - API_PROXY_TYPE_UNSPECIFIED + - PROGRAMMABLE + - CONFIGURABLE + type: string enumDescriptions: - API proxy type not specified. - >- @@ -3722,44 +3451,9 @@ components: logic is handled by Apigee. This type only works with the ARCHIVE deployment type and cannot be combined with the PROXY deployment type. - type: string - enum: - - API_PROXY_TYPE_UNSPECIFIED - - PROGRAMMABLE - - CONFIGURABLE - name: - type: string - description: >- - Required. Name of the environment. Values must match the regular - expression `^[.\\p{Alnum}-_]{1,255}$` - deploymentType: - enumDescriptions: - - Deployment type not specified. - - >- - Proxy deployment enables you to develop and deploy API proxies - using Apigee on Google Cloud. This cannot currently be combined - with the CONFIGURABLE API proxy type. - - >- - Archive deployment enables you to develop API proxies locally then - deploy an archive of your API proxy configuration to an - environment in Apigee on Google Cloud. You will be prevented from - performing a [subset of - actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) - within the environment. - type: string - enum: - - DEPLOYMENT_TYPE_UNSPECIFIED - - PROXY - - ARCHIVE description: >- - 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 + Optional. API Proxy type supported by the environment. The type can + be set when creating the Environment and cannot be changed. forwardProxyUri: description: >- Optional. URI of the forward proxy to be applied to the runtime @@ -3772,2671 +3466,2197 @@ components: successfully add the forwardProxyUri setting in this case, include the NodeConfig details with the request. type: string - lastModifiedAt: - format: int64 - readOnly: true - description: >- - Output only. Last modification time of this environment as - milliseconds since epoch. - type: string - type: - enumDescriptions: - - Environment type not specified. - - >- - This is the default type. Base environment has limited capacity - and capabilities and are usually used when you are getting started - with Apigee or while experimenting. Refer to Apigee's public - documentation for more details. - - >- - Intermediate environment supports API management features and - higher capacity than Base environment. Refer to Apigee's public - documentation for more details. - - >- - Comprehensive environment supports advanced capabilites and even - higher capacity than Intermediate environment. Refer to Apigee's - public documentation for more details. + description: + description: Optional. Description of the environment. type: string - enum: - - ENVIRONMENT_TYPE_UNSPECIFIED - - BASE - - INTERMEDIATE - - COMPREHENSIVE - description: Optional. EnvironmentType selected for the environment. + id: GoogleCloudApigeeV1Environment + GoogleCloudApigeeV1ProfileConfigAuthorization: + properties: {} + description: >- + By default, following policies will be included: - JWS - JWT - OAuth - + BasicAuth - APIKey + id: GoogleCloudApigeeV1ProfileConfigAuthorization + type: object + GoogleCloudApigeeV1GrpcOperationConfig: + description: >- + Binds the resources in a proxy or remote service with the gRPC operation + and its associated quota enforcement. + id: GoogleCloudApigeeV1GrpcOperationConfig type: object - GoogleCloudApigeeV1DeveloperAppKey: - id: GoogleCloudApigeeV1DeveloperAppKey properties: - consumerKey: - description: Consumer key. - type: string - apiProducts: - description: >- - 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. - items: - type: any - type: array - consumerSecret: - description: Secret key. - type: string - issuedAt: - type: string - format: int64 - description: Time the developer app was created in milliseconds since epoch. - scopes: + quota: description: >- - Scopes to apply to the app. The specified scope names must already - be defined for the API product that you associate with the app. - type: array - items: - type: string - status: - type: string + Quota parameters to be enforced for the methods and API source + combination. If none are specified, quota enforcement will not be + done. + $ref: '#/components/schemas/GoogleCloudApigeeV1Quota' + apiSource: description: >- - Status of the credential. Valid values include `approved` or - `revoked`. - expiresAt: + Required. Name of the API proxy with which the gRPC operation and + quota are associated. type: string - description: Time the developer app expires in milliseconds since epoch. - format: int64 attributes: type: array - description: List of attributes associated with the credential. + description: Custom attributes associated with the operation. items: $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - expiresInSeconds: - format: int64 - description: >- - 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. + service: type: string - type: object - GoogleCloudApigeeV1ListDataCollectorsResponse: - properties: - nextPageToken: description: >- - Page token that you can include in a ListDataCollectors request to - retrieve the next page. If omitted, no subsequent pages exist. - type: string - dataCollectors: + Required. gRPC Service name associated to be associated with the API + proxy, on which quota rules can be applied upon. + methods: + description: >- + List of unqualified gRPC method names for the proxy to which quota + will be applied. If this field is empty, the Quota will apply to all + operations on the gRPC service defined on the proxy. Example: Given + a proxy that is configured to serve com.petstore.PetService, the + methods com.petstore.PetService.ListPets and + com.petstore.PetService.GetPet would be specified here as simply + ["ListPets", "GetPet"]. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + type: string type: array - description: Data collectors in the specified organization. - description: Response for ListDataCollectors. - type: object - id: GoogleCloudApigeeV1ListDataCollectorsResponse - GoogleCloudApigeeV1CommonNameConfig: - id: GoogleCloudApigeeV1CommonNameConfig + GoogleIamV1Policy: + id: GoogleIamV1Policy type: object properties: - matchWildCards: - type: boolean - name: + etag: type: string - GoogleIamV1Binding: - description: Associates `members`, or principals, with a `role`. - type: object - properties: - condition: + format: byte description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + version: + description: >- + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/GoogleTypeExpr' - members: + type: integer + format: int32 + bindings: + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + items: + $ref: '#/components/schemas/GoogleIamV1Binding' + type: array + auditConfigs: type: array items: - type: string - description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - role: - type: string - description: >- - 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). - id: GoogleIamV1Binding - GoogleCloudApigeeV1GraphqlDocumentation: + $ref: '#/components/schemas/GoogleIamV1AuditConfig' + description: Specifies cloud audit logging configuration for this policy. + description: >- + 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/). + GoogleCloudApigeeV1EnvironmentGroupConfig: + id: GoogleCloudApigeeV1EnvironmentGroupConfig type: object - description: GraphQL documentation for a catalog item. + description: >- + EnvironmentGroupConfig is a revisioned snapshot of an EnvironmentGroup + and its associated routing rules. properties: - endpointUri: - description: >- - Required. The GraphQL endpoint URI to be queried by API consumers. - Max length is 2,083 characters. + endpointChainingRules: + type: array + description: A list of proxies in each deployment group for proxy chaining calls. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointChainingRule' + uid: type: string - schema: - description: Required. The documentation file contents for the GraphQL schema. - $ref: '#/components/schemas/GoogleCloudApigeeV1DocumentationFile' - id: GoogleCloudApigeeV1GraphqlDocumentation - GoogleCloudApigeeV1SyncAuthorization: - id: GoogleCloudApigeeV1SyncAuthorization - type: object - properties: - etag: description: >- - 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. + A unique id for the environment group config that will only change + if the environment group is deleted and recreated. + revisionId: + format: int64 type: string - format: byte - identities: - items: - type: string - type: array description: >- - 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). - GoogleCloudApigeeV1ListSecurityProfilesResponse: - properties: - nextPageToken: + Revision id that defines the ordering of the EnvironmentGroupConfig + resource. The higher the revision, the more recently the + configuration was deployed. + name: description: >- - A token that can be sent as `page_token` to retrieve the next page. - If this field is omitted, there are no subsequent pages. + Name of the environment group in the following format: + `organizations/{org}/envgroups/{envgroup}`. + type: string + location: type: string - securityProfiles: - type: array description: >- - List of security profiles in the organization. The profiles may be - attached or unattached to any environment. This will return latest - revision of each profile. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' - type: object - id: GoogleCloudApigeeV1ListSecurityProfilesResponse - description: Response for ListSecurityProfiles. - GoogleCloudApigeeV1ListDebugSessionsResponse: - properties: - sessions: + 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. + routingRules: + type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Session' + $ref: '#/components/schemas/GoogleCloudApigeeV1RoutingRule' description: >- - Session info that includes debug session ID and the first - transaction creation timestamp. + Ordered list of routing rules defining how traffic to this + environment group's hostnames should be routed to different + environments. + hostnames: type: array - nextPageToken: + description: Host names for the environment group. + items: + type: string + GoogleApiHttpBody: + properties: + contentType: + description: >- + The HTTP Content-Type header value specifying the content type of + the body. type: string + extensions: description: >- - Page token that you can include in a ListDebugSessionsRequest to - retrieve the next page. If omitted, no subsequent pages exist. + Application specific response metadata. Must be set in the first + response for streaming APIs. + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: array + data: + format: byte + type: string + description: The HTTP request/response body as raw binary. + description: >- + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. type: object - id: GoogleCloudApigeeV1ListDebugSessionsResponse - GoogleLongrunningListOperationsResponse: - id: GoogleLongrunningListOperationsResponse - description: The response message for Operations.ListOperations. + id: GoogleApiHttpBody + GoogleCloudApigeeV1ListDeveloperAppsResponse: type: object properties: - nextPageToken: - type: string - description: The standard List next-page token. - operations: - description: >- - A list of operations that matches the specified filter in the - request. + app: items: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' type: array - GoogleCloudApigeeV1ComputeEnvironmentScoresResponse: - type: object + description: List of developer apps and their credentials. + id: GoogleCloudApigeeV1ListDeveloperAppsResponse + GoogleCloudApigeeV1SharedFlowRevision: properties: - nextPageToken: + policies: + items: + type: string + description: A list of policy names included in this shared flow revision. + type: array + contextInfo: + description: A textual description of the shared flow revision. + type: string + sharedFlows: description: >- - A page token, received from a previous `ComputeScore` call. Provide - this to retrieve the subsequent page. + A list of the shared flow names included in this shared flow + revision. + type: array + items: + type: string + revision: type: string - scores: - description: List of scores. One score per day. + description: The resource ID of this revision. + resources: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Score' - id: GoogleCloudApigeeV1ComputeEnvironmentScoresResponse - description: Response for ComputeEnvironmentScores. - GoogleCloudApigeeV1AliasRevisionConfig: - id: GoogleCloudApigeeV1AliasRevisionConfig - type: object - properties: - name: + type: string description: >- - Name of the alias revision included in the keystore in the following - format: - `organizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}/revisions/{rev}` + A list of the resources included in this shared flow revision + formatted as "{type}://{name}". + description: type: string - location: + description: Description of the shared flow revision. + lastModifiedAt: type: string - description: Location of the alias file. For example, a Google Cloud Storage URI. - type: - enumDescriptions: - - Alias type is not specified. - - Certificate. - - Key/certificate pair. + description: >- + Time at which this shared flow revision was most recently modified, + in milliseconds since epoch. + format: int64 + displayName: + description: The human readable name of this shared flow. type: string - enum: - - ALIAS_TYPE_UNSPECIFIED - - CERT - - KEY_CERT - GoogleCloudApigeeV1QueryTimeSeriesStatsRequest: - properties: - pageToken: + entityMetaDataAsProperties: + description: A Key-Value map of metadata about this shared flow revision. + additionalProperties: + type: string + type: object + name: + description: The resource ID of the parent shared flow. type: string - description: >- - Page token stands for a specific collection of time series - sequences. - timestampOrder: + type: + description: The string "Application" type: string - enum: - - ORDER_UNSPECIFIED - - ASCENDING - - DESCENDING + resourceFiles: + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFiles' + description: The resource files included in this shared flow revision. + createdAt: description: >- - Order the sequences in increasing or decreasing order of timestamps. - Default is descending order of timestamps (latest first). - enumDescriptions: - - Unspecified order. Default is Descending. - - Ascending sort order. - - Descending sort order. - windowSize: - enumDescriptions: - - Unspecified window size. Default is 1 hour. - - 1 Minute window - - 1 Hour window - - 1 Day window - - 1 Month window - description: Time buckets to group the stats by. - enum: - - WINDOW_SIZE_UNSPECIFIED - - MINUTE - - HOUR - - DAY - - MONTH - type: string - filter: + Time at which this shared flow revision was created, in milliseconds + since epoch. + format: int64 type: string + configurationVersion: + $ref: '#/components/schemas/GoogleCloudApigeeV1ConfigVersion' description: >- - Filter further on specific dimension values. Follows the same - grammar as custom report's filter expressions. Example, apiproxy eq - 'foobar'. - https://cloud.google.com/apigee/docs/api-platform/analytics/analytics-reference#filters - timeRange: - $ref: '#/components/schemas/GoogleTypeInterval' - description: Required. Time range for the stats. - dimensions: + The version of the configuration schema to which this shared flow + conforms. The only supported value currently is majorVersion 4 and + minorVersion 0. This setting may be used in the future to enable + evolution of the shared flow format. + id: GoogleCloudApigeeV1SharedFlowRevision + description: The metadata describing a shared flow revision. + type: object + GoogleCloudApigeeV1Keystore: + id: GoogleCloudApigeeV1Keystore + properties: + aliases: + type: array + description: Output only. Aliases in this keystore. + readOnly: true items: type: string + name: description: >- - List of dimension names to group the aggregations by. If no - dimensions are passed, a single trend line representing the - requested metric aggregations grouped by environment is returned. + Required. Resource ID for this keystore. Values must match the + regular expression `[\w[:space:].-]{1,255}`. + type: string + type: object + description: Datastore for Certificates and Aliases. + GoogleCloudApigeeV1InstanceDeploymentStatus: + type: object + description: The status of a deployment as reported by a single instance. + id: GoogleCloudApigeeV1InstanceDeploymentStatus + properties: + deployedRoutes: type: array - pageSize: - type: integer - format: int32 + items: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute description: >- - Page size represents the number of time series sequences, one per - unique set of dimensions and their values. - metrics: + Current routes deployed in the ingress routing table. A route which + is missing will appear in `missing_routes`. + instance: + description: ID of the instance reporting the status. + type: string + deployedRevisions: + description: Revisions currently deployed in MPs. type: array - description: Required. List of metrics and their aggregations. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1MetricAggregation' - description: >- - QueryTimeSeriesStatsRequest represents a query that returns a collection - of time series sequences grouped by their values. - id: GoogleCloudApigeeV1QueryTimeSeriesStatsRequest + $ref: >- + #/components/schemas/GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision + GoogleCloudApigeeV1Schema: type: object - GoogleCloudApigeeV1AsyncQuery: + description: Response for Schema call properties: - queryParams: - $ref: '#/components/schemas/GoogleCloudApigeeV1QueryMetadata' - description: >- - Contains information like metrics, dimenstions etc of the - AsyncQuery. - state: - type: string - description: Query state could be "enqueued", "running", "completed", "failed". - self: - type: string + metrics: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SchemaSchemaElement' + type: array description: >- - 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` - name: - type: string - description: Asynchronous Query Name. - executionTime: - type: string - description: ExecutionTime is available only after the query is completed. - result: - description: Result is available only after the query is completed. - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQueryResult' - reportDefinitionId: - description: Asynchronous Report ID. - type: string - envgroupHostname: - description: Hostname is available only when query is executed at host level. - type: string - error: - type: string - description: Error is set when query fails. - updated: - type: string - description: Last updated timestamp for the query. - resultRows: - format: int64 - type: string - description: ResultRows is available only after the query is completed. - resultFileSize: - type: string - description: ResultFileSize is available only after the query is completed. - created: - type: string - description: Creation time of the query. - type: object - id: GoogleCloudApigeeV1AsyncQuery - GoogleCloudApigeeV1TestDatastoreResponse: - properties: - state: - description: Output only. It could be `completed` or `failed` - readOnly: true - type: string - error: - description: Output only. Error message of test connection failure - readOnly: true - type: string - description: The response for TestDatastore - type: object - id: GoogleCloudApigeeV1TestDatastoreResponse - GoogleCloudApigeeV1Attribute: - description: Key-value pair to store extra metadata. + List of schema fields grouped as dimensions that can be used with an + aggregate function such as `sum`, `avg`, `min`, and `max`. + dimensions: + description: List of schema fields grouped as dimensions. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SchemaSchemaElement' + type: array + meta: + type: array + description: >- + Additional metadata associated with schema. This is a legacy field + and usually consists of an empty array of strings. + items: + type: string + id: GoogleCloudApigeeV1Schema + GoogleCloudApigeeV1ApiProduct: + id: GoogleCloudApigeeV1ApiProduct type: object - id: GoogleCloudApigeeV1Attribute properties: - name: - type: string - description: API key of the attribute. - value: - description: Value of the attribute. + displayName: type: string - GoogleCloudApigeeV1ApiSecurityConfig: - properties: - enabled: - description: Flag that specifies whether the API security add-on is enabled. - type: boolean - expiresAt: - readOnly: true description: >- - Output only. Time at which the API Security add-on expires in in - milliseconds since epoch. If unspecified, the add-on will never - expire. - format: int64 - type: string - description: Configurations of the API Security add-on. - id: GoogleCloudApigeeV1ApiSecurityConfig - type: object - GoogleCloudApigeeV1ComputeEnvironmentScoresRequest: - properties: - filters: + Name displayed in the UI or developer portal to developers + registering for API access. + graphqlOperationGroup: + $ref: '#/components/schemas/GoogleCloudApigeeV1GraphQLOperationGroup' description: >- - Optional. Filters are used to filter scored components. Return all - the components if no filter is mentioned. Example: [{ "scorePath": - "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" - }, { "scorePath": - "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/target", - }] This will return components with path: - "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" - OR - "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/target" + Configuration used to group Apigee proxies or remote services with + graphQL operation name, graphQL operation type and quotas. This + grouping allows us to precisely set quota for a particular + combination of graphQL name and operation type for a particular + proxy request. If graphQL name is not set, this would imply quota + will be applied on all graphQL requests matching the operation type. + proxies: type: array - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter - pageToken: - description: >- - Optional. A token that can be sent as `page_token` to retrieve the - next page. If this field is omitted, there are no subsequent pages. - type: string - pageSize: - type: integer - format: int32 - description: >- - Optional. The maximum number of subcomponents to be returned in a - single page. The service may return fewer than this value. If - unspecified, at most 100 subcomponents will be returned in a single - page. - timeRange: - $ref: '#/components/schemas/GoogleTypeInterval' description: >- - Required. Time range for score calculation. At most 14 days of - scores will be returned, and both the start and end dates must be - within the last 90 days. - description: Request for ComputeEnvironmentScores. - type: object - id: GoogleCloudApigeeV1ComputeEnvironmentScoresRequest - GoogleCloudApigeeV1SharedFlowRevision: - properties: - sharedFlows: + Comma-separated list of API proxy names to which this API product is + bound. By specifying API proxies, you can associate resources in the + API product with specific API proxies, preventing developers from + accessing those resources through other API proxies. Apigee rejects + requests to API proxies that are not listed. **Note:** The API proxy + names must already exist in the specified environment as they will + be validated upon creation. items: type: string + approvalType: description: >- - A list of the shared flow names included in this shared flow - revision. - type: array - name: + Flag that specifies how API keys are approved to access the APIs + defined by the API product. If set to `manual`, the consumer key is + generated and returned in "pending" state. In this case, the API + keys won't work until they have been explicitly approved. If set to + `auto`, the consumer key is generated and returned in "approved" + state and can be used immediately. **Note:** Typically, `auto` is + used to provide access to free or trial API products that provide + limited quota or capabilities. type: string - description: The resource ID of the parent shared flow. - createdAt: - format: int64 + quotaTimeUnit: description: >- - Time at which this shared flow revision was created, in milliseconds - since epoch. - type: string - revision: + Time unit defined for the `quotaInterval`. Valid values include + `minute`, `hour`, `day`, or `month`. type: string - description: The resource ID of this revision. - resourceFiles: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFiles' - description: The resource files included in this shared flow revision. - resources: - type: array - description: >- - A list of the resources included in this shared flow revision - formatted as "{type}://{name}". + environments: items: type: string - configurationVersion: + type: array description: >- - The version of the configuration schema to which this shared flow - conforms. The only supported value currently is majorVersion 4 and - minorVersion 0. This setting may be used in the future to enable - evolution of the shared flow format. - $ref: '#/components/schemas/GoogleCloudApigeeV1ConfigVersion' - contextInfo: - type: string - description: A textual description of the shared flow revision. + Comma-separated list of environment names to which the API product + is bound. Requests to environments that are not listed are rejected. + By specifying one or more environments, you can bind the resources + listed in the API product to a specific environment, preventing + developers from accessing those resources through API proxies + deployed in another environment. This setting is used, for example, + to prevent resources associated with API proxies in `prod` from + being accessed by API proxies deployed in `test`. lastModifiedAt: type: string - format: int64 description: >- - Time at which this shared flow revision was most recently modified, - in milliseconds since epoch. - policies: - type: array - description: A list of policy names included in this shared flow revision. - items: - type: string - type: + Response only. Modified time of this environment as milliseconds + since epoch. + format: int64 + createdAt: type: string - description: The string "Application" - description: + description: >- + Response only. Creation time of this environment as milliseconds + since epoch. + format: int64 + quota: type: string - description: Description of the shared flow revision. - entityMetaDataAsProperties: - description: A Key-Value map of metadata about this shared flow revision. - type: object - additionalProperties: - type: string - displayName: - description: The human readable name of this shared flow. + description: >- + Number of request messages permitted per app by this API product for + the specified `quotaInterval` and `quotaTimeUnit`. For example, a + `quota` of 50, for a `quotaInterval` of 12 and a `quotaTimeUnit` of + hours means 50 requests are allowed every 12 hours. + quotaCounterScope: + enum: + - QUOTA_COUNTER_SCOPE_UNSPECIFIED + - PROXY + - OPERATION type: string - description: The metadata describing a shared flow revision. - id: GoogleCloudApigeeV1SharedFlowRevision - type: object - GoogleCloudApigeeV1TraceSamplingConfig: - description: >- - 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. - properties: - sampler: enumDescriptions: - - Sampler unspecified. - >- - OFF means distributed trace is disabled, or the sampling - probability is 0. + When quota is not explicitly defined for each + operation(REST/GraphQL), the limits set at product level will be + used as a local counter for quota evaluation by all the + operations, independent of proxy association. - >- - PROBABILITY means traces are captured on a probability that - defined by sampling_rate. The sampling rate is limited to 0 to 0.5 - when this is set. - description: Sampler of distributed tracing. OFF is the default value. - enum: - - SAMPLER_UNSPECIFIED - - 'OFF' - - PROBABILITY - type: string - samplingRate: - format: float - type: number + When quota is not explicitly defined for each + operation(REST/GraphQL), set at product level will be used as a + global counter for quota evaluation by all the operations + associated with a particular proxy. + - >- + When quota is not explicitly defined for each + operation(REST/GraphQL), the limits set at product level will be + used as a local counter for quota evaluation by all the + operations, independent of proxy association. This behavior mimics + the same as QUOTA_COUNTER_SCOPE_UNSPECIFIED. description: >- - Field sampling rate. This value is only applicable when using the - PROBABILITY sampler. The supported values are > 0 and <= 0.5. - id: GoogleCloudApigeeV1TraceSamplingConfig - type: object - GoogleCloudApigeeV1ApiDocDocumentationResponse: - type: object - properties: - message: - readOnly: true - type: string - description: Output only. Description of the operation. - requestId: - type: string - readOnly: true - description: Output only. Unique ID of the request. - status: + Scope of the quota decides how the quota counter gets applied and + evaluate for quota violation. If the Scope is set as PROXY, then all + the operations defined for the APIproduct that are associated with + the same proxy will share the same quota counter set at the + APIproduct level, making it a global counter at a proxy level. If + the Scope is set as OPERATION, then each operations get the counter + set at the API product dedicated, making it a local counter. Note + that, the QuotaCounterScope applies only when an operation does not + have dedicated quota set for itself. + operationGroup: + $ref: '#/components/schemas/GoogleCloudApigeeV1OperationGroup' + description: >- + Configuration used to group Apigee proxies or remote services with + resources, method types, and quotas. The resource refers to the + resource URI (excluding the base path). With this grouping, the API + product creator is able to fine-tune and give precise control over + which REST methods have access to specific resources and how many + calls can be made (using the `quota` setting). **Note:** The + `api_resources` setting cannot be specified for both the API product + and operation group; otherwise the call will fail. + grpcOperationGroup: + $ref: '#/components/schemas/GoogleCloudApigeeV1GrpcOperationGroup' + description: >- + Optional. Configuration used to group Apigee proxies with gRPC + services and method names. This grouping allows us to set quota for + a particular proxy with the gRPC service name and method. If a + method name is not set, this implies quota and authorization are + applied to all gRPC methods implemented by that proxy for that + particular gRPC service. + name: type: string - readOnly: true - description: Output only. Status of the operation. - errorCode: + description: >- + Internal name of the API product. Characters you can use in the name + are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name + cannot be edited when updating the API product. + quotaInterval: + description: >- + Time interval over which the number of request messages is + calculated. type: string - description: Output only. Unique error code for the request, if any. - readOnly: true - data: - description: Output only. The documentation resource. - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocDocumentation' - readOnly: true - description: >- - The catalog item documentation wrapped with response status, error_code, - etc. - id: GoogleCloudApigeeV1ApiDocDocumentationResponse - GoogleIamV1TestIamPermissionsRequest: - description: Request message for `TestIamPermissions` method. - id: GoogleIamV1TestIamPermissionsRequest - type: object - properties: - permissions: + attributes: + description: >- + Array of attributes that may be used to extend the default API + product profile with customer-specific metadata. You can specify a + maximum of 18 attributes. Use this property to specify the access + level of the API product as either `public`, `private`, or + `internal`. Only products marked `public` are available to + developers in the Apigee developer portal. For example, you can set + a product to `internal` while it is in development and then change + access to `public` when it is ready to release on the portal. API + products marked as `private` do not appear on the portal, but can be + accessed by external developers. type: array items: - type: string - description: >- - The set of permissions to check for the `resource`. Permissions with - wildcards (such as `*` or `storage.*`) are not allowed. For more - information see [IAM - Overview](https://cloud.google.com/iam/docs/overview#permissions). - GoogleCloudApigeeV1AccessRemove: - description: >- - Remove action. For example, "Remove" : { "name" : "target.name", - "success" : true } - id: GoogleCloudApigeeV1AccessRemove - properties: - success: - type: boolean - name: - type: string - type: object - GoogleCloudApigeeV1ListCustomReportsResponse: - properties: - qualifier: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + apiResources: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' - type: object - description: This message encapsulates a list of custom report definitions - id: GoogleCloudApigeeV1ListCustomReportsResponse - GoogleCloudApigeeV1ConnectorsPlatformConfig: - description: Configuration for the Connectors Platform add-on. - id: GoogleCloudApigeeV1ConnectorsPlatformConfig - properties: - enabled: - type: boolean + type: string description: >- - Flag that specifies whether the Connectors Platform add-on is - enabled. - expiresAt: - readOnly: true - format: int64 + Comma-separated list of API resources to be bundled in the API + product. By default, the resource paths are mapped from the + `proxy.pathsuffix` variable. The proxy path suffix is defined as the + URI fragment following the ProxyEndpoint base path. For example, if + the `apiResources` element is defined to be `/forecastrss` and the + base path defined for the API proxy is `/weather`, then only + requests to `/weather/forecastrss` are permitted by the API product. + You can select a specific path, or you can select all subpaths with + the following wildcard: - `/**`: Indicates that all sub-URIs are + included. - `/*` : Indicates that only URIs one level down are + included. By default, / supports the same resources as /** as well + as the base path defined by the API proxy. For example, if the base + path of the API proxy is `/v1/weatherapikey`, then the API product + supports requests to `/v1/weatherapikey` and to any sub-URIs, such + as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, + and so on. For more information, see Managing API products. + scopes: + type: array description: >- - Output only. Time at which the Connectors Platform add-on expires in - milliseconds since epoch. If unspecified, the add-on will never - expire. + 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. + items: + type: string + description: type: string + description: >- + Description of the API product. Include key information about the + API product that is not captured by other fields. + GoogleCloudApigeeV1QueryTimeSeriesStatsRequest: + id: GoogleCloudApigeeV1QueryTimeSeriesStatsRequest + description: >- + QueryTimeSeriesStatsRequest represents a query that returns a collection + of time series sequences grouped by their values. type: object - GoogleCloudApigeeV1Instance: - description: Apigee runtime instance. - type: object - id: GoogleCloudApigeeV1Instance properties: - location: + filter: type: string - description: Required. Compute Engine location where the instance resides. - createdAt: - format: int64 description: >- - Output only. Time the instance was created in milliseconds since - epoch. + Filter further on specific dimension values. Follows the same + grammar as custom report's filter expressions. Example, apiproxy eq + 'foobar'. + https://cloud.google.com/apigee/docs/api-platform/analytics/analytics-reference#filters + windowSize: + enum: + - WINDOW_SIZE_UNSPECIFIED + - MINUTE + - HOUR + - DAY + - MONTH + enumDescriptions: + - Unspecified window size. Default is 1 hour. + - 1 Minute window + - 1 Hour window + - 1 Day window + - 1 Month window type: string - readOnly: true - consumerAcceptList: + description: Time buckets to group the stats by. + pageToken: + description: >- + Page token stands for a specific collection of time series + sequences. + type: string + pageSize: + description: >- + Page size represents the number of time series sequences, one per + unique set of dimensions and their values. + type: integer + format: int32 + metrics: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1MetricAggregation' + description: Required. List of metrics and their aggregations. + dimensions: type: array items: type: string description: >- - 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. - ipRange: - description: >- - Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 - used to create the Apigee instance. Providing CIDR ranges is - optional. You can provide just /22 or /28 or both (or neither). - Ranges you provide should be freely available as part of a larger - named range you have allocated to the Service Networking peering. If - this parameter is not provided, Apigee automatically requests an - available /22 and /28 CIDR block from Service Networking. Use the - /22 CIDR block for configuring your firewall needs to allow traffic - from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or - `a.b.c.d/22,e.f.g.h/28` - type: string - name: - description: >- - Required. Resource ID of the instance. Values must match the regular - expression `^a-z{0,30}[a-z\d]$`. + List of dimension names to group the aggregations by. If no + dimensions are passed, a single trend line representing the + requested metric aggregations grouped by environment is returned. + timestampOrder: type: string - serviceAttachment: - type: string - description: >- - 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. - readOnly: true - accessLoggingConfig: - description: >- - Optional. Access logging configuration enables the access logging - feature at the instance. Apigee customers can enable access logging - to ship the access logs to their own project's cloud logging. - $ref: '#/components/schemas/GoogleCloudApigeeV1AccessLoggingConfig' - state: enumDescriptions: - - Resource is in an unspecified state. - - Resource is being created. - - Resource is provisioned and ready to use. - - The resource is being deleted. - - The resource is being updated. + - Unspecified order. Default is Descending. + - Ascending sort order. + - Descending sort order. enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - DELETING - - UPDATING - type: string - readOnly: true - description: >- - Output only. State of the instance. Values other than `ACTIVE` means - the resource is not ready to use. - runtimeVersion: - description: >- - 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. - readOnly: true - type: string - host: - type: string + - ORDER_UNSPECIFIED + - ASCENDING + - DESCENDING description: >- - Output only. Internal hostname or IP address of the Apigee endpoint - used by clients to connect to the service. - readOnly: true - diskEncryptionKeyName: + Order the sequences in increasing or decreasing order of timestamps. + Default is descending order of timestamps (latest first). + timeRange: + description: Required. Time range for the stats. + $ref: '#/components/schemas/GoogleTypeInterval' + GoogleLongrunningListOperationsResponse: + id: GoogleLongrunningListOperationsResponse + type: object + properties: + nextPageToken: type: string + description: The standard List next-page token. + operations: + type: array + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' description: >- - Customer Managed Encryption Key (CMEK) used for disk and volume - encryption. If not specified, a Google-Managed encryption key will - be used. Use the following format: - `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)` + A list of operations that matches the specified filter in the + request. + description: The response message for Operations.ListOperations. + GoogleCloudApigeeV1OperationMetadataProgress: + properties: + details: + additionalProperties: + type: any + description: Properties of the object. + type: object + description: The additional details of the progress. description: - description: Optional. Description of the instance. - type: string - port: - readOnly: true - type: string - description: Output only. Port number of the exposed Apigee endpoint. - lastModifiedAt: - format: int64 - description: >- - Output only. Time the instance was last modified in milliseconds - since epoch. - readOnly: true type: string - peeringCidrRange: - deprecated: true + description: Description of the operation's progress. + percentDone: + description: The percentage of the operation progress. + type: integer + format: int32 + state: enumDescriptions: - - Range not specified. - - '`/16` CIDR range.' - - '`/17` CIDR range.' - - '`/18` CIDR range.' - - '`/19` CIDR range.' - - '`/20` CIDR range.' - - '`/22` CIDR range. Supported for evaluation only.' - - '`/23` CIDR range. Supported for evaluation only.' + - '' + - '' + - '' + - '' + description: State of the operation. enum: - - CIDR_RANGE_UNSPECIFIED - - SLASH_16 - - SLASH_17 - - SLASH_18 - - SLASH_19 - - SLASH_20 - - SLASH_22 - - SLASH_23 + - STATE_UNSPECIFIED + - NOT_STARTED + - IN_PROGRESS + - FINISHED + type: string + id: GoogleCloudApigeeV1OperationMetadataProgress + description: Information about operation progress. + type: object + GoogleCloudApigeeV1SecurityProfileEnvironment: + description: >- + Environment information of attached environments. Scoring an environment + is enabled only if it is attached to a security profile. + type: object + properties: + attachTime: type: string + format: google-datetime + readOnly: true description: >- - Optional. Size of the CIDR block range that will be reserved by the - instance. PAID organizations support `SLASH_16` to `SLASH_20` and - defaults to `SLASH_16`. Evaluation organizations support only - `SLASH_23`. - displayName: - description: Optional. Display name for the instance. + Output only. Time at which environment was attached to the security + profile. + environment: + readOnly: true type: string - GoogleCloudApigeeV1ListOfDevelopersResponse: + description: Output only. Name of the environment. + id: GoogleCloudApigeeV1SecurityProfileEnvironment + GoogleCloudApigeeV1Metadata: properties: - developer: - description: List of developers. + notices: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' + type: string type: array - id: GoogleCloudApigeeV1ListOfDevelopersResponse - type: object - GoogleCloudApigeeV1TargetServerConfig: + description: >- + List of additional information such as data source, if result was + truncated. For example: ``` "notices": [ "Source:Postgres", "PG + Host:uappg0rw.e2e.apigeeks.net", "query served + by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed", "Table used: + edge.api.uapgroup2.agg_api" ]``` + errors: + items: + type: string + type: array + description: List of error messages as strings. + id: GoogleCloudApigeeV1Metadata + description: Encapsulates additional information about query execution. type: object + GoogleCloudApigeeV1SecurityActionsConfig: + id: GoogleCloudApigeeV1SecurityActionsConfig + description: >- + SecurityActionsConfig reflects the current state of the SecurityActions + feature. This is a singleton resource: https://google.aip.dev/156 properties: - protocol: - enum: - - PROTOCOL_UNSPECIFIED - - HTTP - - HTTP2 - - GRPC_TARGET - - GRPC - - EXTERNAL_CALLOUT - type: string - description: The protocol used by this target server. - enumDescriptions: - - UNSPECIFIED defaults to HTTP for backwards compatibility. - - The TargetServer uses HTTP. - - The TargetSever uses HTTP2. - - The TargetServer uses GRPC. - - >- - GRPC TargetServer to be used in ExternalCallout Policy. Prefer to - use EXTERNAL_CALLOUT instead. TODO(b/266125112) deprecate once - EXTERNAL _CALLOUT generally available. - - The TargetServer is to be used in the ExternalCallout Policy - tlsInfo: - $ref: '#/components/schemas/GoogleCloudApigeeV1TlsInfoConfig' - description: TLS settings for the target server. name: type: string description: >- - Target server revision name in the following format: - `organizations/{org}/environments/{env}/targetservers/{targetserver}/revisions/{rev}` - host: - description: Host name of the target server. + 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` + updateTime: + readOnly: true type: string + format: google-datetime + description: Output only. The update time for configuration. enabled: type: boolean description: >- - Whether the target server is enabled. An empty/omitted value for - this field should be interpreted as true. - port: - description: Port number for the target server. - format: int32 - type: integer - id: GoogleCloudApigeeV1TargetServerConfig - GoogleCloudApigeeV1KeyAliasReference: - properties: - aliasId: - type: string - description: Alias ID. Must exist in the keystore referred to by the reference. - reference: - description: >- - Reference name in the following format: - `organizations/{org}/environments/{env}/references/{reference}` - type: string - id: GoogleCloudApigeeV1KeyAliasReference + 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. type: object - GoogleCloudApigeeV1DimensionMetric: + GoogleCloudApigeeV1AppGroupAppKey: + id: GoogleCloudApigeeV1AppGroupAppKey properties: - name: + consumerKey: + description: Immutable. Consumer key. type: string + issuedAt: description: >- - Comma joined dimension names. E.g. "dim1_name,dim2_name". - Deprecated. If name already has comma before join, we may get wrong - splits. Please use individual_names. - deprecated: true - metrics: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Metric' - description: List of metrics. + Output only. Time the AppGroup app was created in milliseconds since + epoch. + format: int64 + readOnly: true + type: string + attributes: type: array - individualNames: items: - type: string - description: Individual dimension names. E.g. ["dim1_name", "dim2_name"]. + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + description: List of attributes associated with the credential. + apiProducts: type: array - type: object - description: Encapsulates a metric grouped by dimension. - id: GoogleCloudApigeeV1DimensionMetric - GoogleCloudApigeeV1CanaryEvaluationMetricLabels: - properties: - env: - description: The environment ID associated with the metrics. - type: string - location: - type: string - description: Required. The location associated with the metrics. - instance_id: + readOnly: true + description: >- + 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. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1APIProductAssociation' + expiresInSeconds: + description: >- + 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. + format: int64 type: string + scopes: + items: + type: string description: >- - Required. The instance ID associated with the metrics. In Apigee - Hybrid, the value is configured during installation. - id: GoogleCloudApigeeV1CanaryEvaluationMetricLabels - description: Labels that can be used to filter Apigee metrics. - type: object - GoogleCloudApigeeV1UpdateSecurityIncidentRequest: - properties: - securityIncident: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + Scopes to apply to the app. The specified scope names must already + be defined for the API product that you associate with the app. + type: array + status: description: >- - Required. The security incident to update. Must contain all existing - populated fields of the current incident. - updateMask: + Status of the credential. Valid values include `approved` or + `revoked`. + type: string + consumerSecret: + type: string + description: Secret key. + expiresAt: + readOnly: true type: string + format: int64 description: >- - Required. The list of fields to update. Allowed fields are: - LINT.IfChange(allowed_update_fields_comment) - observability - LINT.ThenChange() - format: google-fieldmask - description: Request for UpdateSecurityIncident. + Output only. Time the AppGroup app expires in milliseconds since + epoch. type: object - id: GoogleCloudApigeeV1UpdateSecurityIncidentRequest - GoogleCloudApigeeV1ListSecurityReportsResponse: + description: >- + AppGroupAppKey contains all the information associated with the + credentials. + GoogleCloudApigeeV1DeploymentChangeReportRoutingChange: properties: - nextPageToken: + fromDeployment: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment + description: Base path/deployment that may stop receiving some traffic. + description: + description: Human-readable description of this routing change. type: string + toDeployment: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment description: >- - If the number of security reports exceeded the page size requested, - the token can be used to fetch the next page in a subsequent call. - If the response is the last page and there are no more reports to - return this field is left empty. - securityReports: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' - description: The security reports belong to requested resource name. - id: GoogleCloudApigeeV1ListSecurityReportsResponse - description: The response for SecurityReports. + Base path/deployment that may start receiving that traffic. May be + null if no deployment is able to receive the traffic. + shouldSequenceRollout: + type: boolean + description: >- + Set to `true` if using sequenced rollout would make this routing + change safer. **Note**: This does not necessarily imply that + automated sequenced rollout mode is supported for the operation. + environmentGroup: + description: Name of the environment group affected by this routing change. + type: string type: object + description: >- + Describes a potential routing change that may occur as a result of some + deployment operation. + id: GoogleCloudApigeeV1DeploymentChangeReportRoutingChange GoogleCloudApigeeV1ProfileConfigMediation: - properties: {} id: GoogleCloudApigeeV1ProfileConfigMediation type: object description: >- By default, following policies will be included: - OASValidation - SOAPMessageValidation - GoogleCloudApigeeV1EnvironmentGroupAttachment: + properties: {} + GoogleCloudApigeeV1ResourceFile: + description: Metadata about a resource file. + id: GoogleCloudApigeeV1ResourceFile properties: - environment: - description: Required. ID of the attached environment. - type: string name: type: string - description: ID of the environment group attachment. - environmentGroupId: - description: Output only. ID of the environment group. - readOnly: true - type: string - createdAt: - description: >- - Output only. The time at which the environment group attachment was - created as milliseconds since epoch. + description: ID of the resource file. + type: type: string - format: int64 - readOnly: true + description: Resource file type. {{ resource_file_type }} + type: object + GoogleCloudApigeeV1GraphQLOperationGroup: description: >- - EnvironmentGroupAttachment is a resource which defines an attachment of - an environment to an environment group. + List of graphQL operation configuration details associated with Apigee + API proxies or remote services. Remote services are non-Apigee proxies, + such as Istio-Envoy. + id: GoogleCloudApigeeV1GraphQLOperationGroup type: object - id: GoogleCloudApigeeV1EnvironmentGroupAttachment - GoogleCloudApigeeV1ListArchiveDeploymentsResponse: - id: GoogleCloudApigeeV1ListArchiveDeploymentsResponse - description: Response for ListArchiveDeployments method. properties: - archiveDeployments: - description: Archive Deployments in the specified environment. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' - type: array - nextPageToken: + operationConfigType: description: >- - Page token that you can include in a ListArchiveDeployments request - to retrieve the next page. If omitted, no subsequent pages exist. + Flag that specifies whether the configuration is for Apigee API + proxy or a remote service. Valid values include `proxy` or + `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API + proxies are associated with the API product. Set to `remoteservice` + when non-Apigee proxies like Istio-Envoy are associated with the API + product. type: string - type: object - GoogleCloudApigeeV1RuntimeTraceSamplingConfig: - type: object - description: >- - NEXT ID: 3 RuntimeTraceSamplingConfig 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. + operationConfigs: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1GraphQLOperationConfig' + description: >- + Required. List of operation configurations for either Apigee API + proxies or other remote services that are associated with this API + product. + GoogleCloudApigeeV1SecurityIncident: + id: GoogleCloudApigeeV1SecurityIncident properties: - samplingRate: - type: number + name: + type: string description: >- - Field sampling rate. This value is only applicable when using the - PROBABILITY sampler. The supported values are > 0 and <= 0.5. - format: float - sampler: + 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 + displayName: + type: string + description: Optional. Display name of the security incident. + riskLevel: enum: - - SAMPLER_UNSPECIFIED - - 'OFF' - - PROBABILITY - description: Sampler of distributed tracing. OFF is the default value. + - RISK_LEVEL_UNSPECIFIED + - LOW + - MODERATE + - SEVERE + type: string enumDescriptions: - - Sampler unspecified. + - Risk Level Unspecified. + - Risk level of the incident is low. + - Risk level of the incident is moderate. + - Risk level of the incident is severe. + description: Output only. Risk level of the incident. + readOnly: true + trafficCount: + format: int64 + description: Total traffic detected as part of the incident. + type: string + observability: + enum: + - OBSERVABILITY_UNSPECIFIED + - ACTIVE + - ARCHIVED + enumDescriptions: + - The incident observability is unspecified. - >- - OFF means distributed trace is disabled, or the sampling - probability is 0. + The incident is currently active. Can change to this status from + archived. - >- - PROBABILITY means traces are captured on a probability that - defined by sampling_rate. The sampling rate is limited to 0 to 0.5 - when this is set. + The incident is currently archived and was archived by the + customer. type: string - id: GoogleCloudApigeeV1RuntimeTraceSamplingConfig - GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse: - id: GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse - type: object - properties: - developerSubscriptions: - description: List of all subscriptions. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' - type: array - nextStartKey: + description: Optional. Indicates if the user archived this incident. + firstDetectedTime: type: string + format: google-datetime + readOnly: true description: >- - Value that can be sent as `startKey` to retrieve the next page of - content. If this field is omitted, there are no subsequent pages. - description: Response for ListDeveloperSubscriptions. - GoogleCloudApigeeV1RuntimeAnalyticsConfig: - id: GoogleCloudApigeeV1RuntimeAnalyticsConfig - description: Runtime configuration for the Analytics add-on. - type: object - properties: - billingPipelineEnabled: - description: If Runtime should send billing data to AX or not. - type: boolean - enabled: - description: If the Analytics is enabled or not. - type: boolean - GoogleCloudApigeeV1FlowHookConfig: - id: GoogleCloudApigeeV1FlowHookConfig + Output only. The time when events associated with the incident were + first detected. + lastObservabilityChangeTime: + description: >- + Output only. The time when the incident observability was last + changed. + type: string + readOnly: true + format: google-datetime + detectionTypes: + description: >- + Output only. Detection types which are part of the incident. + Examples: Flooder, OAuth Abuser, Static Content Scraper, Anomaly + Detection. + items: + type: string + type: array + readOnly: true + lastDetectedTime: + format: google-datetime + readOnly: true + type: string + description: >- + Output only. The time when events associated with the incident were + last detected. type: object + description: Represents an SecurityIncident resource. + GoogleCloudApigeeV1Reference: properties: + description: + description: Optional. A human-readable description of this reference. + type: string name: type: string description: >- - Name of the flow hook in the following format: - `organizations/{org}/environments/{env}/flowhooks/{point}`. Valid - `point` values include: `PreProxyFlowHook`, `PostProxyFlowHook`, - `PreTargetFlowHook`, and `PostTargetFlowHook` - sharedFlowName: + Required. The resource id of this reference. Values must match the + regular expression [\w\s\-.]+. + refers: + type: string description: >- - Name of the shared flow to invoke in the following format: - `organizations/{org}/sharedflows/{sharedflow}` + 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. + resourceType: type: string - continueOnError: description: >- - Flag that specifies whether the flow should abort after an error in - the flow hook. Defaults to `true` (continue on error). - type: boolean - GoogleCloudApigeeV1ListApiProxiesResponse: + The type of resource referred to by this reference. Valid values are + 'KeyStore' or 'TrustStore'. + description: >- + A Reference configuration. References must refer to a keystore that also + exists in the parent environment. + id: GoogleCloudApigeeV1Reference + type: object + GoogleCloudApigeeV1ListSecurityActionsResponse: + description: >- + Contains a list of SecurityActions in response to a + ListSecurityActionRequest. + type: object properties: - proxies: + securityActions: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' type: array - type: object - id: GoogleCloudApigeeV1ListApiProxiesResponse - GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext: - id: GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext - description: Action context are all the relevant details for the action. - properties: - documentationLink: + description: The SecurityActions for the specified environment. + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - description: Documentation link for the action. + id: GoogleCloudApigeeV1ListSecurityActionsResponse + GoogleCloudApigeeV1TlsInfoConfig: + id: GoogleCloudApigeeV1TlsInfoConfig type: object - GoogleCloudApigeeV1ProvisionOrganizationRequest: properties: - runtimeLocation: - type: string + commonName: + description: Common name to validate the target server against. + $ref: '#/components/schemas/GoogleCloudApigeeV1CommonNameConfig' + ciphers: + items: + type: string + description: List of ciphers that are granted access. + type: array + clientAuthEnabled: + type: boolean description: >- - Cloud Platform location for the runtime instance. Defaults to zone - `us-west1-a`. If a region is provided, `EVAL` organizations will use - the region for automatically selecting a zone for the runtime - instance. - authorizedNetwork: + Flag that specifies whether client-side authentication is enabled + for the target server. Enables two-way TLS. + keyAlias: type: string description: >- - 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). - 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` - analyticsRegion: + Name of the alias used for client-side authentication in the + following format: + `organizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}` + enabled: + type: boolean description: >- - Primary Cloud Platform region for analytics data storage. For valid - values, see [Create an - organization](https://cloud.google.com/apigee/docs/hybrid/latest/precog-provision). - Defaults to `us-west1`. - type: string - disableVpcPeering: + Flag that specifies whether one-way TLS is enabled. Set to `true` to + enable one-way TLS. + protocols: + type: array + description: List of TLS protocols that are granted access. + items: + type: string + keyAliasReference: + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyAliasReference' + description: Reference name and alias pair to use for client-side authentication. + ignoreValidationErrors: + type: boolean description: >- - Optional. Flag that specifies whether the VPC Peering through - Private Google Access should be disabled between the consumer - network and Apigee. Required if an authorizedNetwork on the consumer - project is not provided, in which case the flag should be set to - true. The value must be set before the creation of any Apigee - runtime instance and can be updated only when there are no runtime - instances. **Note:** Apigee will be deprecating the vpc peering - model that requires you to provide 'authorizedNetwork', by making - the non-peering model as the default way of provisioning Apigee - organization in future. So, this will be a temporary flag to enable - the transition. Not supported for Apigee hybrid. + Flag that specifies whether to ignore TLS certificate validation + errors. Set to `true` to ignore errors. + enforce: type: boolean - description: Request for ProvisionOrganization. - id: GoogleCloudApigeeV1ProvisionOrganizationRequest - type: object - GoogleCloudApigeeV1OperationMetadata: + description: Flag that enforces TLS settings + trustStore: + type: string + description: >- + Name of the keystore or keystore reference containing trusted + certificates for the server in the following format: + `organizations/{org}/environments/{env}/keystores/{keystore}` or + `organizations/{org}/environments/{env}/references/{reference}` + GoogleCloudApigeeV1RuntimeAnalyticsConfig: type: object - description: Metadata describing an Operation. + description: Runtime configuration for the Analytics add-on. properties: - state: - enumDescriptions: - - '' - - '' - - '' - - '' + billingPipelineEnabled: + type: boolean + description: If Runtime should send billing data to AX or not. + enabled: + description: If the Analytics is enabled or not. + type: boolean + id: GoogleCloudApigeeV1RuntimeAnalyticsConfig + GoogleCloudApigeeV1Result: + id: GoogleCloudApigeeV1Result + properties: + headers: + type: array + description: >- + A list of HTTP headers. for example, '"headers" : [ { "name" : + "Content-Length", "value" : "83" }, { "name" : "Content-Type", + "value" : "application/json" } ]' + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Property' + ActionResult: + description: >- + Type of the action result. Can be one of the five: DebugInfo, + RequestMessage, ResponseMessage, ErrorMessage, VariableAccess type: string - enum: - - STATE_UNSPECIFIED - - NOT_STARTED - - IN_PROGRESS - - FINISHED - targetResourceName: + content: + description: >- + Error message content. for example, "content" : + "{\"fault\":{\"faultstring\":\"API timed + out\",\"detail\":{\"errorcode\":\"flow.APITimedOut\"}}}" type: string - description: Name of the resource for which the operation is operating on. - operationType: - enumDescriptions: - - '' - - '' - - '' - - '' - enum: - - OPERATION_TYPE_UNSPECIFIED - - INSERT - - DELETE - - UPDATE + reasonPhrase: type: string - warnings: - items: - type: string - description: Warnings encountered while executing the operation. + description: HTTP response phrase + statusCode: + type: string + description: HTTP response code + accessList: type: array - progress: - $ref: '#/components/schemas/GoogleCloudApigeeV1OperationMetadataProgress' - description: Progress of the operation. - id: GoogleCloudApigeeV1OperationMetadata - GoogleCloudApigeeV1ListSharedFlowsResponse: - properties: - sharedFlows: + description: >- + A list of variable access actions agaist the api proxy. Supported + values: Get, Set, Remove. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlow' - type: array - type: object - id: GoogleCloudApigeeV1ListSharedFlowsResponse - GoogleCloudApigeeV1CanaryEvaluation: - properties: - createTime: + $ref: '#/components/schemas/GoogleCloudApigeeV1Access' + timestamp: type: string - readOnly: true - description: Output only. Create time of the canary evaluation. - format: google-datetime - control: + description: >- + Timestamp of when the result is recorded. Its format is dd-mm-yy + hh:mm:ss:xxx. For example, `"timestamp" : "12-08-19 00:31:59:960"` + verb: type: string - description: Required. The stable version that is serving requests. - endTime: - format: google-datetime - description: Required. End time for the evaluation's analysis. - type: string - metricLabels: - $ref: '#/components/schemas/GoogleCloudApigeeV1CanaryEvaluationMetricLabels' - description: >- - Required. Labels used to filter the metrics used for a canary - evaluation. - startTime: - format: google-datetime - description: Required. Start time for the canary evaluation's analysis. - type: string - verdict: + description: HTTP method verb + uRI: type: string description: >- - Output only. The resulting verdict of the canary evaluations: NONE, - PASS, or FAIL. - readOnly: true - enumDescriptions: - - Verdict is not available yet. - - No verdict reached. - - Evaluation is not good. - - Evaluation is good. - enum: - - VERDICT_UNSPECIFIED - - NONE - - FAIL - - PASS - treatment: - description: Required. The newer version that is serving requests. - type: string - name: - readOnly: true - description: Output only. Name of the canary evalution. - type: string - state: - readOnly: true - description: Output only. The current state of the canary evaluation. - type: string - enumDescriptions: - - No state has been specified. - - The canary evaluation is still in progress. - - The canary evaluation has finished. - enum: - - STATE_UNSPECIFIED - - RUNNING - - SUCCEEDED + The relative path of the api proxy. for example, `"uRI" : + "/iloveapis"` + properties: + $ref: '#/components/schemas/GoogleCloudApigeeV1Properties' + description: Name value pairs used for DebugInfo ActionResult. + type: object description: >- - CanaryEvaluation represents the canary analysis between two versions of - the runtime that is serving requests. - id: GoogleCloudApigeeV1CanaryEvaluation + Result is short for "action result", could be different types identified + by "action_result" field. Supported types: 1. DebugInfo : generic debug + info collected by runtime recorded as a list of properties. For example, + the contents could be virtual host info, state change result, or + execution metadata. Required fields : properties, timestamp 2. + RequestMessage: information of a http request. Contains headers, request + URI and http methods type.Required fields : headers, uri, verb 3. + ResponseMessage: information of a http response. Contains headers, + reason phrase and http status code. Required fields : headers, + reasonPhrase, statusCode 4. ErrorMessage: information of a http error + message. Contains detail error message, reason phrase and status code. + Required fields : content, headers, reasonPhrase, statusCode 5. + VariableAccess: a list of variable access actions, can be Get, Set and + Remove. Required fields : accessList + GoogleCloudApigeeV1SecurityProfileV2ProfileAssessmentConfig: + description: The configuration definition for a specific assessment. type: object - GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision: - description: Revisions deployed in the MPs. + id: GoogleCloudApigeeV1SecurityProfileV2ProfileAssessmentConfig properties: - revision: + weight: type: string - description: API proxy revision reported as deployed. - percentage: - description: Percentage of MP replicas reporting this revision. - type: integer - format: int32 - type: object - id: GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision - GoogleCloudApigeeV1SecurityAssessmentResultScoringResult: + description: The weight of the assessment. + enum: + - WEIGHT_UNSPECIFIED + - MINOR + - MODERATE + - MAJOR + enumDescriptions: + - The weight is unspecified. + - The weight is minor. + - The weight is moderate. + - The weight is major. + GoogleCloudApigeeV1AccessLoggingConfig: type: object + id: GoogleCloudApigeeV1AccessLoggingConfig properties: - dataUpdateTime: - type: string - description: >- - The time when resource data was last fetched for this resource. This - time may be different than when the resource was actually updated - due to lag in data collection. - format: google-datetime - assessmentRecommendations: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation - type: object - description: >- - The recommendations of the assessment. The key is the "name" of the - assessment (not display_name), and the value are the - recommendations. - failedAssessmentPerWeight: - additionalProperties: - type: integer - format: int32 + enabled: + type: boolean description: >- - The number of failed assessments grouped by its weight. Keys are one - of the following: "MAJOR", "MODERATE", "MINOR". - type: object - severity: - enumDescriptions: - - Severity is not defined. - - Severity is low. - - Severity is medium. - - Severity is high. - - Severity is minimal - enum: - - SEVERITY_UNSPECIFIED - - LOW - - MEDIUM - - HIGH - - MINIMAL - description: The severity of the assessment. + Optional. Boolean flag that specifies whether the customer access + log feature is enabled. + filter: type: string - score: - format: int32 - description: The security score of the assessment. - type: integer - id: GoogleCloudApigeeV1SecurityAssessmentResultScoringResult - description: The result of the assessment. - GoogleCloudApigeeV1BatchUpdateSecurityIncidentsResponse: - description: Response for BatchUpdateSecurityIncident. + description: >- + Optional. Ship the access log entries that match the status_code + defined in the filter. The status_code is the only + expected/supported filter field. (Ex: status_code) The filter will + parse it to the Common Expression Language semantics for expression + evaluation to build the filter condition. (Ex: "filter": status_code + >= 200 && status_code < 300 ) + description: >- + 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. + GoogleCloudApigeeV1DebugSessionTransaction: + type: object + id: GoogleCloudApigeeV1DebugSessionTransaction properties: - securityIncidents: - type: array - description: Output only. Updated security incidents - readOnly: true + point: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + $ref: '#/components/schemas/GoogleCloudApigeeV1Point' + type: array + description: >- + List of debug data collected by runtime plane at various defined + points in the flow. + completed: + type: boolean + description: Flag indicating whether a transaction is completed or not + description: >- + A transaction contains all of the debug information of the entire + message flow of an API call processed by the runtime plane. The + information is collected and recorded at critical points of the message + flow in the runtime apiproxy. + GoogleCloudApigeeV1ListSharedFlowsResponse: type: object - id: GoogleCloudApigeeV1BatchUpdateSecurityIncidentsResponse - GoogleCloudApigeeV1Developer: - id: GoogleCloudApigeeV1Developer properties: - companies: + sharedFlows: type: array items: - type: string - description: List of companies associated with the developer. - status: + $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlow' + id: GoogleCloudApigeeV1ListSharedFlowsResponse + GoogleCloudApigeeV1ScoreComponentRecommendationAction: + id: GoogleCloudApigeeV1ScoreComponentRecommendationAction + description: Action to improve security score. + properties: + actionContext: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext + description: Action context for the action. + description: + description: Description of the action. type: string + type: object + GoogleCloudApigeeV1CertInfo: + type: object + id: GoogleCloudApigeeV1CertInfo + properties: + serialNumber: + description: X.509 serial number. + type: string + sigAlgName: + description: X.509 signatureAlgorithm. + type: string + expiryDate: + format: int64 + type: string + description: X.509 `notAfter` validity period in milliseconds since epoch. + version: + format: int32 + description: X.509 version. + type: integer + isValid: description: >- - Output only. Status of the developer. Valid values are `active` and - `inactive`. - readOnly: true - developerId: - description: >- - ID of the developer. **Note**: IDs are generated internally by - Apigee and are not guaranteed to stay the same over time. + Flag that specifies whether the certificate is valid. Flag is set to + `Yes` if the certificate is valid, `No` if expired, or `Not yet` if + not yet valid. type: string - apps: + subjectAlternativeNames: items: type: string type: array - description: List of apps associated with the developer. - createdAt: - description: >- - Output only. Time at which the developer was created in milliseconds - since epoch. - readOnly: true + description: X.509 subject alternative names (SANs) extension. + validFrom: + description: X.509 `notBefore` validity period in milliseconds since epoch. format: int64 type: string - email: + subject: + description: X.509 subject. type: string - description: >- - Required. Email address of the developer. This value is used to - uniquely identify the developer in Apigee hybrid. Note that the - email address has to be in lowercase only. - appFamily: + issuer: type: string - description: Developer app family. - firstName: - description: Required. First name of the developer. + description: X.509 issuer. + basicConstraints: + description: X.509 basic constraints extension. type: string - userName: - description: Required. User name of the developer. Not used by Apigee hybrid. + publicKey: type: string - organizationName: + description: Public key component of the X.509 subject public key info. + description: X.509 certificate as defined in RFC 5280. + GoogleCloudApigeeV1SecurityActionAllow: + description: >- + Message that should be set in case of an Allow Action. This does not + have any fields. + properties: {} + id: GoogleCloudApigeeV1SecurityActionAllow + type: object + GoogleCloudApigeeV1SecurityReportMetadata: + id: GoogleCloudApigeeV1SecurityReportMetadata + properties: + startTimestamp: + format: google-datetime type: string - description: >- - Output only. Name of the Apigee organization in which the developer - resides. - readOnly: true - attributes: - description: >- - Optional. Developer attributes (name/value pairs). The custom - attribute limit is 18. - type: array + description: Start timestamp of the query range. + dimensions: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - lastModifiedAt: + type: string + description: Dimensions of the SecurityReport. + type: array + metrics: + type: array description: >- - Output only. Time at which the developer was last modified in - milliseconds since epoch. + Metrics of the SecurityReport. Example: + ["name:bot_count,func:sum,alias:sum_bot_count"] + items: + type: string + timeUnit: + description: 'Query GroupBy time unit. Example: "seconds", "minute", "hour"' type: string - format: int64 - readOnly: true - accessType: + mimeType: + description: MIME type / Output format. type: string - description: Access type. - lastName: - description: Required. Last name of the developer. + endTimestamp: + format: google-datetime + description: End timestamp of the query range. type: string + description: Metadata for the security report. type: object - GoogleCloudApigeeV1SecurityReportQuery: + GoogleCloudApigeeV1Credential: + type: object + id: GoogleCloudApigeeV1Credential properties: - envgroupHostname: - type: string - description: >- - Hostname needs to be specified if query intends to run at host - level. This field is only allowed when query is submitted by - CreateHostSecurityReport where analytics data will be grouped by - organization and hostname. - displayName: - type: string - description: Security Report display name which users can specify. - groupByTimeUnit: + expiresAt: + format: int64 + description: Time the credential will expire in milliseconds since epoch. type: string - description: >- - Time unit used to group the result set. Valid values include: - second, minute, hour, day, week, or month. If a query includes - groupByTimeUnit, then the result is an aggregation based on the - specified time unit and the resultant timestamp does not include - milliseconds precision. If a query omits groupByTimeUnit, then the - resultant timestamp includes milliseconds precision. - limit: - description: Maximum number of rows that can be returned in the result. - type: integer - format: int32 - timeRange: - type: any - description: >- - Required. Time range for the query. Can use the following predefined - strings to specify the time range: `last60minutes` `last24hours` - `last7days` Or, specify the timeRange as a structure describing - start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. - Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": - "2018-08-01T00:18:00Z" } - reportDefinitionId: - description: Report Definition ID. + apiProducts: + type: array + description: List of API products this credential can be used for. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProductRef' + issuedAt: + format: int64 + description: Time the credential was issued in milliseconds since epoch. type: string - filter: - description: >- - Boolean expression that can be used to filter data. Filter - expressions can be combined using AND/OR terms and should be fully - parenthesized to avoid ambiguity. See Analytics metrics, dimensions, - and filters reference - https://docs.apigee.com/api-platform/analytics/analytics-reference - for more information on the fields available to filter on. For more - information on the tokens that you use to build filter expressions, - see Filter expression syntax. - https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax + attributes: + description: List of attributes associated with this credential. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + consumerSecret: type: string - csvDelimiter: + description: Secret key. + status: description: >- - Delimiter used in the CSV file, if `outputFormat` is set to `csv`. - Defaults to the `,` (comma) character. Supported delimiter - characters include comma (`,`), pipe (`|`), and tab (`\t`). + Status of the credential. Valid values include `approved` or + `revoked`. type: string - metrics: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportQueryMetric' - type: array - description: A list of Metrics. - dimensions: - type: array + scopes: items: type: string + type: array description: >- - A list of dimensions. - https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions - mimeType: + List of scopes to apply to the app. Specified scopes must already + exist on the API product that you associate with the app. + consumerKey: + description: Consumer key. type: string - description: >- - Valid values include: `csv` or `json`. Defaults to `json`. Note: - Configure the delimiter for CSV output using the csvDelimiter - property. - description: Body structure when user makes a request to create a security report. - id: GoogleCloudApigeeV1SecurityReportQuery + GoogleCloudApigeeV1SecuritySettings: + description: >- + SecuritySettings reflects the current state of the SecuritySettings + feature. type: object - GoogleCloudApigeeV1CustomReportMetric: + id: GoogleCloudApigeeV1SecuritySettings properties: name: type: string - description: name of the metric - function: - type: string - description: aggregate function - description: >- - This encapsulates a metric property of the form sum(message_count) where - name is message_count and function is sum - id: GoogleCloudApigeeV1CustomReportMetric - type: object - GoogleCloudApigeeV1AsyncQueryResult: + description: >- + Identifier. Full resource name is always + `organizations/{org}/securitySettings`. + mlRetrainingFeedbackEnabled: + description: >- + Optional. If true the user consents to the use of ML models for + Abuse detection. + type: boolean + GoogleCloudApigeeV1ScoreComponentRecommendation: + description: Recommendation based on security concerns and score. type: object + id: GoogleCloudApigeeV1ScoreComponentRecommendation properties: - expires: - description: Query result will be unaccessable after this time. + title: type: string - self: + description: Title represents recommendation title. + description: + description: Description of the recommendation. type: string + impact: + format: int32 + type: integer description: >- - Self link of the query results. Example: - `/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` - or following format if query is running at host level: - `/organizations/myorg/hostQueries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` - id: GoogleCloudApigeeV1AsyncQueryResult - GoogleCloudApigeeV1NodeConfig: + Potential impact of this recommendation on the overall score. This + denotes how important this recommendation is to improve the score. + actions: + items: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ScoreComponentRecommendationAction + description: Actions for the recommendation to improve the security score. + type: array + GoogleCloudApigeeV1DeploymentGroupConfig: + description: >- + DeploymentGroupConfig represents a deployment group that should be + present in a particular environment. + id: GoogleCloudApigeeV1DeploymentGroupConfig properties: - minNodeCount: - description: >- - Optional. The minimum total number of gateway nodes that the is - reserved for all instances that has the specified environment. If - not specified, the default is determined by the recommended minimum - number of nodes for that gateway. + uid: type: string - format: int64 - currentAggregateNodeCount: - format: int64 description: >- - Output only. The current total number of gateway nodes that each - environment currently has across all instances. - readOnly: true + Unique ID. The ID will only change if the deployment group is + deleted and recreated. + revisionId: + description: >- + Revision number which can be used by the runtime to detect if the + deployment group has changed between two versions. + format: int64 type: string - maxNodeCount: + deploymentGroupType: + type: string + enumDescriptions: + - Unspecified type + - Standard type + - Extensible Type + enum: + - DEPLOYMENT_GROUP_TYPE_UNSPECIFIED + - STANDARD + - EXTENSIBLE description: >- - Optional. The maximum total number of gateway nodes that the is - reserved for all instances that has the specified environment. If - not specified, the default is determined by the recommended maximum - number of nodes for that gateway. + Type of the deployment group, which will be either Standard or + Extensible. + name: type: string - format: int64 - type: object - description: >- - NodeConfig for setting the min/max number of nodes associated with the - environment. - id: GoogleCloudApigeeV1NodeConfig - GoogleCloudApigeeV1KeyValueMap: - description: Collection of key/value string pairs. + description: >- + Name of the deployment group in the following format: + `organizations/{org}/environments/{env}/deploymentGroups/{group}`. type: object - id: GoogleCloudApigeeV1KeyValueMap + GoogleIamV1SetIamPolicyRequest: + id: GoogleIamV1SetIamPolicyRequest + type: object + description: Request message for `SetIamPolicy` method. properties: - encrypted: - type: boolean - description: >- - Required. Flag that specifies whether entry values will be - encrypted. This field is retained for backward compatibility and the - value of encrypted will always be `true`. Apigee X and hybrid do not - support unencrypted key value maps. - name: + updateMask: type: string - description: Required. ID of the key value map. - GoogleCloudApigeeV1Properties: - id: GoogleCloudApigeeV1Properties - properties: - property: - description: List of all properties in the object - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Property' + format: google-fieldmask + description: >- + OPTIONAL: A FieldMask specifying which fields of the policy to + modify. Only the fields in the mask will be modified. If no mask is + provided, the following default mask is used: `paths: "bindings, + etag"` + policy: + description: >- + REQUIRED: The complete policy to be applied to the `resource`. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + $ref: '#/components/schemas/GoogleIamV1Policy' + GoogleCloudApigeeV1AppGroupApp: description: >- - Message for compatibility with legacy Edge specification for Java - Properties object in JSON. + Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], + [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and + [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp] + id: GoogleCloudApigeeV1AppGroupApp type: object - GoogleCloudApigeeV1SecurityActionHttpHeader: properties: - value: - type: string - description: The header value to be sent to the target. - name: + appGroup: type: string - description: The header name to be sent to the target. - id: GoogleCloudApigeeV1SecurityActionHttpHeader - type: object - description: An HTTP header. - GoogleCloudApigeeV1SecurityProfile: - type: object - id: GoogleCloudApigeeV1SecurityProfile - description: Represents a SecurityProfile resource. - properties: - scoringConfigs: - description: List of profile scoring configs in this revision. - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityProfileScoringConfig - type: array - profileConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfig' description: >- - Required. Customized profile configuration that computes the - security score. - displayName: - type: string - description: 'DEPRECATED: DO NOT USE Display name of the security profile.' - deprecated: true - revisionPublishTime: - readOnly: true + Immutable. Name of the parent AppGroup whose resource name format is + of syntax (organizations/*/appgroups/*). + createdAt: type: string description: >- - 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. - deprecated: true - format: google-datetime - minScore: - format: int32 - description: >- - Output only. Minimum security score that can be generated by this - profile. - readOnly: true - type: integer - revisionId: + Output only. Time the AppGroup app was created in milliseconds since + epoch. + format: int64 readOnly: true + lastModifiedAt: format: int64 + description: >- + Output only. Time the AppGroup app was modified in milliseconds + since epoch. + readOnly: true type: string - description: Output only. Revision ID of the security profile. - name: + appId: + description: Immutable. ID of the AppGroup app. type: string - description: >- - Immutable. Name of the security profile resource. Format: - organizations/{org}/securityProfiles/{profile} - description: + callbackUrl: type: string - description: Description of the security profile. - maxScore: - format: int32 description: >- - Output only. Maximum security score that can be generated by this - profile. - readOnly: true - type: integer - environments: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileEnvironment' - description: List of environments attached to security profile. - type: array - revisionCreateTime: - description: Output only. The time when revision was created. - readOnly: true - type: string - format: google-datetime - revisionUpdateTime: - readOnly: true - format: google-datetime + Callback URL used by OAuth 2.0 authorization servers to communicate + authorization codes back to AppGroup apps. + name: type: string - description: Output only. The time when revision was updated. - GoogleCloudApigeeV1DeveloperMonetizationConfig: - properties: - billingType: - description: Billing type. + description: >- + Immutable. Name of the AppGroup app whose resource name format is of + syntax (organizations/*/appgroups/*/apps/*). + status: type: string - enumDescriptions: - - The default/unset value. - - >- - Developer pays in advance for the use of APIs and the charged - amount is deducted from their account balance. - - >- - Developer does not maintain an account balance. The API provider - bills the developer for API usage. - enum: - - BILLING_TYPE_UNSPECIFIED - - PREPAID - - POSTPAID - type: object - description: Monetization configuration for the developer. - id: GoogleCloudApigeeV1DeveloperMonetizationConfig - GoogleCloudApigeeV1ResourceFiles: - id: GoogleCloudApigeeV1ResourceFiles - description: List of resource files. - type: object - properties: - resourceFile: - type: array - description: List of resource files. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' - GoogleCloudApigeeV1App: - type: object - id: GoogleCloudApigeeV1App - properties: - credentials: + description: Status of the App. Valid values include `approved` or `revoked`. + scopes: type: array - readOnly: true description: >- - Output only. Set of credentials for the app. Credentials are API - key/secret pairs associated with API products. + Scopes to apply to the AppGroup app. The specified scopes must + already exist for the API product that you associate with the + AppGroup app. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Credential' + type: string apiProducts: - type: array - description: List of API products associated with the app. + description: List of API products associated with the AppGroup app. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProductRef' - name: - description: Name of the app. - type: string - appId: - type: string - description: ID of the app. + type: string + type: array keyExpiresIn: - format: int64 description: >- - Duration, in milliseconds, of the consumer key that will be - generated for the app. The default value, -1, indicates an infinite - validity period. Once set, the expiration can't be updated. json - key: keyExpiresIn - type: string - developerEmail: - type: string - description: Email of the developer. - appGroup: - description: Name of the AppGroup - type: string - companyName: - type: string - description: Name of the company that owns the app. - status: + 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. + format: int64 type: string - description: Status of the credential. attributes: - description: List of attributes. type: array items: $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - lastModifiedAt: - description: Output only. Last modified time as milliseconds since epoch. + description: List of attributes for the AppGroup app. + credentials: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Credential' readOnly: true - type: string - format: int64 - developerId: - type: string - description: ID of the developer. - scopes: + description: >- + Output only. Set of credentials for the AppGroup app consisting of + the consumer key/secret pairs associated with the API products. type: array + GoogleCloudApigeeV1RuntimeTraceConfigOverride: + type: object + description: >- + NEXT ID: 7 Trace configuration override for a specific API proxy in an + environment. + properties: + revisionId: + type: string description: >- - Scopes to apply to the app. The specified scope names must already - exist on the API product that you associate with the app. - items: - type: string - createdAt: + Revision number which can be used by the runtime to detect if the + trace config override has changed between two versions. + name: + description: >- + Name of the trace config override in the following format: + `organizations/{org}/environment/{env}/traceConfig/overrides/{override}` type: string - format: int64 - readOnly: true - description: Output only. Unix time when the app was created. - callbackUrl: + apiProxy: type: string description: >- - Callback URL used by OAuth 2.0 authorization servers to communicate - authorization codes back to apps. - GoogleCloudApigeeV1DeploymentChangeReport: - properties: - validationErrors: - $ref: '#/components/schemas/GoogleRpcPreconditionFailure' + Name of the API proxy that will have its trace configuration + overridden following format: `organizations/{org}/apis/{api}` + uid: + type: string description: >- - Validation errors that would cause the deployment change request to - be rejected. - routingChanges: - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingChange - type: array - description: All routing changes that may result from a deployment request. - routingConflicts: - description: All base path conflicts detected for a deployment request. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict - type: object - id: GoogleCloudApigeeV1DeploymentChangeReport - description: >- - Response for GenerateDeployChangeReport and - GenerateUndeployChangeReport. This report contains any validation - failures that would cause the deployment to be rejected, as well changes - and conflicts in routing that may occur due to the new deployment. The - existence of a routing warning does not necessarily imply that the - deployment request is bad, if the desired state of the deployment - request is to effect a routing change. The primary purposes of the - routing messages are: 1) To inform users of routing changes that may - have an effect on traffic currently being routed to other existing - deployments. 2) To warn users if some base path in the proxy will not - receive traffic due to an existing deployment having already claimed - that base path. The presence of routing conflicts/changes will not cause - non-dry-run DeployApiProxy/UndeployApiProxy requests to be rejected. - GoogleCloudApigeeV1SchemaSchemaElement: - id: GoogleCloudApigeeV1SchemaSchemaElement + Unique ID for the configuration override. The ID will only change if + the override is deleted and recreated. Corresponds to name's + "override" field. + samplingConfig: + description: >- + Trace configuration override for a specific API proxy in an + environment. + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceSamplingConfig' + revisionCreateTime: + description: The timestamp that the revision was created or updated. + type: string + format: google-datetime + id: GoogleCloudApigeeV1RuntimeTraceConfigOverride + GoogleCloudApigeeV1KeyValueMap: + description: Collection of key/value string pairs. type: object properties: + encrypted: + description: >- + Required. Flag that specifies whether entry values will be + encrypted. This field is retained for backward compatibility and the + value of encrypted will always be `true`. Apigee X and hybrid do not + support unencrypted key value maps. + type: boolean name: - description: Name of the field. type: string - properties: - description: >- - Properties for the schema field. For example: { "createTime": - "2016-02-26T10:23:09.592Z", "custom": "false", "type": "string" } - $ref: '#/components/schemas/GoogleCloudApigeeV1SchemaSchemaProperty' - description: Message type for the schema element - GoogleCloudApigeeV1DeleteCustomReportResponse: + description: Required. ID of the key value map. + id: GoogleCloudApigeeV1KeyValueMap + GoogleCloudApigeeV1ListSecurityReportsResponse: + description: The response for SecurityReports. type: object + id: GoogleCloudApigeeV1ListSecurityReportsResponse properties: - message: + securityReports: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' + type: array + description: The security reports belong to requested resource name. + nextPageToken: type: string - description: The response contains only a message field. - id: GoogleCloudApigeeV1DeleteCustomReportResponse - GoogleCloudApigeeV1RuntimeAddonsConfig: + description: >- + If the number of security reports exceeded the page size requested, + the token can be used to fetch the next page in a subsequent call. + If the response is the last page and there are no more reports to + return this field is left empty. + GoogleCloudApigeeV1AdjustDeveloperBalanceRequest: + properties: + adjustment: + description: >- + * A positive value of `adjustment` means that that the API provider + wants to adjust the balance for an under-charged developer i.e. the + balance of the developer will decrease. * A negative value of + `adjustment` means that that the API provider wants to adjust the + balance for an over-charged developer i.e. the balance of the + developer will increase. + $ref: '#/components/schemas/GoogleTypeMoney' type: object - id: GoogleCloudApigeeV1RuntimeAddonsConfig + description: Request for AdjustDeveloperBalance. + id: GoogleCloudApigeeV1AdjustDeveloperBalanceRequest + GoogleCloudApigeeV1Developer: properties: - revisionId: - type: string - description: Revision number used by the runtime to detect config changes. - analyticsConfig: - description: Runtime configuration for Analytics add-on. - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeAnalyticsConfig' - name: + attributes: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' description: >- - Name of the addons config in the format: - `organizations/{org}/environments/{env}/addonsConfig` - type: string - uid: + Optional. Developer attributes (name/value pairs). The custom + attribute limit is 18. + developerId: type: string description: >- - UID is to detect if config is recreated after deletion. The add-on - config will only be deleted when the environment itself gets - deleted, thus it will always be the same as the UID of - EnvironmentConfig. - apiSecurityConfig: - description: Runtime configuration for API Security add-on. - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeApiSecurityConfig' - description: >- - RuntimeAddonsConfig defines the runtime configurations for add-ons in an - environment. - GoogleCloudApigeeV1RateRange: - id: GoogleCloudApigeeV1RateRange - properties: - fee: - $ref: '#/components/schemas/GoogleTypeMoney' + ID of the developer. **Note**: IDs are generated internally by + Apigee and are not guaranteed to stay the same over time. + companies: + description: List of companies associated with the developer. + items: + type: string + type: array + status: + readOnly: true + type: string description: >- - Fee to charge when total number of API calls falls within this - range. - end: + Output only. Status of the developer. Valid values are `active` and + `inactive`. + organizationName: + readOnly: true description: >- - Ending value of the range. Set to 0 or `null` for the last range of - values. + Output only. Name of the Apigee organization in which the developer + resides. + type: string + apps: + description: List of apps associated with the developer. + type: array + items: + type: string + lastModifiedAt: type: string format: int64 - start: - format: int64 + readOnly: true + description: >- + Output only. Time at which the developer was last modified in + milliseconds since epoch. + firstName: + type: string + description: Required. First name of the developer. + appFamily: + description: Developer app family. type: string + userName: + type: string + description: Required. User name of the developer. Not used by Apigee hybrid. + email: description: >- - Starting value of the range. Set to 0 or `null` for the initial - range of values. - description: >- - API call volume range and the fees charged when the total number of API - calls is within the range. - type: object - GoogleCloudApigeeV1DebugSessionTransaction: - description: >- - A transaction contains all of the debug information of the entire - message flow of an API call processed by the runtime plane. The - information is collected and recorded at critical points of the message - flow in the runtime apiproxy. - properties: - point: + Required. Email address of the developer. This value is used to + uniquely identify the developer in Apigee hybrid. Note that the + email address has to be in lowercase only. + type: string + accessType: + type: string + description: Access type. + createdAt: description: >- - List of debug data collected by runtime plane at various defined - points in the flow. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Point' - completed: - type: boolean - description: Flag indicating whether a transaction is completed or not - id: GoogleCloudApigeeV1DebugSessionTransaction + Output only. Time at which the developer was created in milliseconds + since epoch. + format: int64 + readOnly: true + type: string + lastName: + description: Required. Last name of the developer. + type: string + id: GoogleCloudApigeeV1Developer type: object - GoogleCloudApigeeV1TargetServer: - description: >- - TargetServer configuration. TargetServers are used to decouple a proxy - TargetEndpoint HTTPTargetConnections from concrete URLs for backend - services. + GoogleCloudApigeeV1GetAsyncQueryResultUrlResponseURLInfo: + description: A Signed URL and the relevant metadata associated with it. type: object properties: - isEnabled: - type: boolean - description: >- - Optional. Enabling/disabling a TargetServer is useful when - TargetServers are used in load balancing configurations, and one or - more TargetServers need to taken out of rotation periodically. - Defaults to true. - port: - format: int32 + uri: description: >- - Required. The port number this target connects to on the given host. - Value must be between 1 and 65535, inclusive. - type: integer - description: + The signed URL of the JSON data. Will be of the form + `https://storage.googleapis.com/example-bucket/cat.jpeg?X-Goog-Algorithm= + GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount + .com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T18 + 1309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f16 + 9edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa849 + 6def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dc + c1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c2058 + 0e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a + 66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823 + a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b13344703 + 2ea7abedc098d2eb14a7` type: string - description: Optional. A human-readable description of this TargetServer. - sSLInfo: - description: >- - Optional. Specifies TLS configuration info for this TargetServer. - The JSON name is `sSLInfo` for legacy/backwards compatibility - reasons -- Edge originally supported SSL, and the name is still used - for TLS configuration. - $ref: '#/components/schemas/GoogleCloudApigeeV1TlsInfo' - host: - description: >- - Required. The host name this target connects to. Value must be a - valid hostname as described by RFC-1123. - type: string - protocol: + sizeBytes: type: string - enum: - - PROTOCOL_UNSPECIFIED - - HTTP - - HTTP2 - - GRPC_TARGET - - GRPC - - EXTERNAL_CALLOUT - description: Immutable. The protocol used by this TargetServer. - enumDescriptions: - - UNSPECIFIED defaults to HTTP for backwards compatibility. - - The TargetServer uses HTTP. - - The TargetSever uses HTTP2. - - The TargetServer uses GRPC. - - >- - GRPC TargetServer to be used in ExternalCallout Policy. Prefer to - use EXTERNAL_CALLOUT instead. TODO(b/266125112) deprecate once - EXTERNAL _CALLOUT generally available. - - The TargetServer is to be used in the ExternalCallout Policy - name: + format: int64 + description: The size of the returned file in bytes + md5: type: string - description: >- - Required. The resource id of this target server. Values must match - the regular expression - id: GoogleCloudApigeeV1TargetServer - GoogleCloudApigeeV1InstanceDeploymentStatus: - description: The status of a deployment as reported by a single instance. - id: GoogleCloudApigeeV1InstanceDeploymentStatus + description: The MD5 Hash of the JSON data + id: GoogleCloudApigeeV1GetAsyncQueryResultUrlResponseURLInfo + GoogleCloudApigeeV1RatePlan: type: object + id: GoogleCloudApigeeV1RatePlan properties: - deployedRevisions: - description: Revisions currently deployed in MPs. - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision - type: array - deployedRoutes: - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute - description: >- - Current routes deployed in the ingress routing table. A route which - is missing will appear in `missing_routes`. - type: array - instance: + createdAt: type: string - description: ID of the instance reporting the status. - GoogleCloudApigeeV1ApiDocDocumentation: - type: object - description: The documentation for a catalog item. - id: GoogleCloudApigeeV1ApiDocDocumentation - properties: - graphqlDocumentation: - description: Optional. GraphQL documentation. - $ref: '#/components/schemas/GoogleCloudApigeeV1GraphqlDocumentation' - oasDocumentation: - description: Optional. OpenAPI Specification documentation. - $ref: '#/components/schemas/GoogleCloudApigeeV1OASDocumentation' - GoogleCloudApigeeV1GrpcOperationConfig: - id: GoogleCloudApigeeV1GrpcOperationConfig - type: object - properties: - apiSource: + readOnly: true description: >- - Required. Name of the API proxy with which the gRPC operation and - quota are associated. + Output only. Time that the rate plan was created in milliseconds + since epoch. + format: int64 + displayName: + description: Display name of the rate plan. type: string - methods: - description: >- - List of unqualified gRPC method names for the proxy to which quota - will be applied. If this field is empty, the Quota will apply to all - operations on the gRPC service defined on the proxy. Example: Given - a proxy that is configured to serve com.petstore.PetService, the - methods com.petstore.PetService.ListPets and - com.petstore.PetService.GetPet would be specified here as simply - ["ListPets", "GetPet"]. - type: array + revenueShareRates: items: - type: string - service: - type: string + $ref: '#/components/schemas/GoogleCloudApigeeV1RevenueShareRange' + description: Details of the revenue sharing model. + type: array + endTime: description: >- - Required. gRPC Service name associated to be associated with the API - proxy, on which quota rules can be applied upon. - quota: - $ref: '#/components/schemas/GoogleCloudApigeeV1Quota' + Time when the rate plan will expire in milliseconds since epoch. Set + to 0 or `null` to indicate that the rate plan should never expire. + type: string + format: int64 + paymentFundingModel: + deprecated: true description: >- - Quota parameters to be enforced for the methods and API source - combination. If none are specified, quota enforcement will not be - done. - attributes: - description: Custom attributes associated with the operation. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - type: array - description: >- - Binds the resources in a proxy or remote service with the gRPC operation - and its associated quota enforcement. - GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest: - properties: {} - type: object - id: GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest - description: Request for ExpireDeveloperSubscription. - GoogleCloudApigeeV1Property: - properties: - name: - description: The property key + DEPRECATED: This field is no longer supported and will eventually be + removed when Apigee Hybrid 1.5/1.6 is no longer supported. Instead, + use the `billingType` field inside `DeveloperMonetizationConfig` + resource. Flag that specifies the billing account type, prepaid or + postpaid. + enumDescriptions: + - Billing account type not specified. + - >- + Prepaid billing account type. Developer pays in advance for the + use of your API products. Funds are deducted from their prepaid + account balance. **Note**: Not supported by Apigee at this time. + - >- + Postpaid billing account type. Developer is billed through an + invoice after using your API products. + enum: + - PAYMENT_FUNDING_MODEL_UNSPECIFIED + - PREPAID + - POSTPAID type: string - value: + billingPeriod: type: string - description: The property value - id: GoogleCloudApigeeV1Property - type: object - description: A single property entry in the Properties message. - GoogleCloudApigeeV1AdjustDeveloperBalanceRequest: - description: Request for AdjustDeveloperBalance. - type: object - id: GoogleCloudApigeeV1AdjustDeveloperBalanceRequest - properties: - adjustment: - description: >- - * A positive value of `adjustment` means that that the API provider - wants to adjust the balance for an under-charged developer i.e. the - balance of the developer will decrease. * A negative value of - `adjustment` means that that the API provider wants to adjust the - balance for an over-charged developer i.e. the balance of the - developer will increase. - $ref: '#/components/schemas/GoogleTypeMoney' - GoogleCloudApigeeV1Schema: - type: object - properties: - dimensions: - type: array - description: List of schema fields grouped as dimensions. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SchemaSchemaElement' - meta: - description: >- - Additional metadata associated with schema. This is a legacy field - and usually consists of an empty array of strings. - type: array - items: - type: string - metrics: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SchemaSchemaElement' - description: >- - List of schema fields grouped as dimensions that can be used with an - aggregate function such as `sum`, `avg`, `min`, and `max`. - type: array - id: GoogleCloudApigeeV1Schema - description: Response for Schema call - GoogleCloudApigeeV1SecurityIncident: - id: GoogleCloudApigeeV1SecurityIncident - properties: - riskLevel: + enumDescriptions: + - Billing period not specified. + - >- + Weekly billing period. **Note**: Not supported by Apigee at this + time. + - Monthly billing period. + description: Frequency at which the customer will be billed. enum: - - RISK_LEVEL_UNSPECIFIED - - LOW - - MODERATE - - SEVERE + - BILLING_PERIOD_UNSPECIFIED + - WEEKLY + - MONTHLY + fixedFeeFrequency: + type: integer + format: int32 + description: Frequency at which the fixed fee is charged. + name: + type: string + description: Output only. Name of the rate plan. readOnly: true - enumDescriptions: - - Risk Level Unspecified. - - Risk level of the incident is low. - - Risk level of the incident is moderate. - - Risk level of the incident is severe. + startTime: type: string - description: Output only. Risk level of the incident. - trafficCount: format: int64 + description: Time when the rate plan becomes active in milliseconds since epoch. + lastModifiedAt: type: string - description: Total traffic detected as part of the incident. - displayName: - description: Optional. Display name of the security incident. - type: string - lastDetectedTime: - description: >- - Output only. The time when events associated with the incident were - last detected. - format: google-datetime readOnly: true - type: string - detectionTypes: - type: array + format: int64 + description: >- + Output only. Time the rate plan was last modified in milliseconds + since epoch. + consumptionPricingRates: items: - type: string + $ref: '#/components/schemas/GoogleCloudApigeeV1RateRange' description: >- - Output only. Detection types which are part of the incident. - Examples: Flooder, OAuth Abuser, Static Content Scraper, Anomaly - Detection. - readOnly: true - name: - type: string - description: >- - 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 - lastObservabilityChangeTime: + 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. + type: array + setupFee: + $ref: '#/components/schemas/GoogleTypeMoney' + description: Initial, one-time fee paid when purchasing the API product. + apiproduct: + description: Name of the API product that the rate plan is associated with. type: string - description: >- - Output only. The time when the incident observability was last - changed. - format: google-datetime - readOnly: true - firstDetectedTime: - format: google-datetime + description: + description: Description of the rate plan. type: string - description: >- - Output only. The time when events associated with the incident were - first detected. - readOnly: true - observability: - enum: - - OBSERVABILITY_UNSPECIFIED - - ACTIVE - - ARCHIVED - description: Optional. Indicates if the user archived this incident. + state: enumDescriptions: - - The incident observability is unspecified. - - >- - The incident is currently active. Can change to this status from - archived. + - State of the rate plan is not specified. + - Rate plan is in draft mode and only visible to API providers. - >- - The incident is currently archived and was archived by the - customer. - type: string - type: object - description: Represents an SecurityIncident resource. - GoogleCloudApigeeV1DeleteResponse: - type: object - properties: - message: - type: string - description: Description of the operation. - status: - description: Status of the operation. - type: string - errorCode: - description: Unique error code for the request, if any. + Rate plan is published and will become visible to developers for + the configured duration (between `startTime` and `endTime`). + description: Current state of the rate plan (draft or published). type: string - requestId: + enum: + - STATE_UNSPECIFIED + - DRAFT + - PUBLISHED + consumptionPricingType: type: string - description: Unique ID of the request. - gcpResource: + description: Pricing model used for consumption-based charges. + enum: + - CONSUMPTION_PRICING_TYPE_UNSPECIFIED + - FIXED_PER_UNIT + - BANDED + - TIERED + - STAIRSTEP + enumDescriptions: + - Pricing model not specified. This is the default. + - Fixed rate charged for each API call. + - >- + Variable rate charged for each API call based on price tiers. + Example: * 1-100 calls cost $2 per call * 101-200 calls cost $1.50 + per call * 201-300 calls cost $1 per call * Total price for 50 + calls: 50 x $2 = $100 * Total price for 150 calls: 100 x $2 + 50 x + $1.5 = $275 * Total price for 250 calls: 100 x $2 + 100 x $1.5 + + 50 x $1 = $400. **Note**: Not supported by Apigee at this time. + - '**Note**: Not supported by Apigee at this time.' + - '**Note**: Not supported by Apigee at this time.' + revenueShareType: type: string - description: Google Cloud name of deleted resource. - id: GoogleCloudApigeeV1DeleteResponse - description: Response for certain delete operations. - GoogleCloudApigeeV1TlsInfoConfig: - properties: - clientAuthEnabled: + description: Method used to calculate the revenue that is shared with developers. + enumDescriptions: + - Revenue share type is not specified. + - >- + Fixed percentage of the total revenue will be shared. The + percentage to be shared can be configured by the API provider. + - >- + Amount of revenue shared depends on the number of API calls. The + API call volume ranges and the revenue share percentage for each + volume can be configured by the API provider. **Note**: Not + supported by Apigee at this time. + enum: + - REVENUE_SHARE_TYPE_UNSPECIFIED + - FIXED + - VOLUME_BANDED + fixedRecurringFee: + $ref: '#/components/schemas/GoogleTypeMoney' description: >- - Flag that specifies whether client-side authentication is enabled - for the target server. Enables two-way TLS. - type: boolean - ignoreValidationErrors: + Fixed amount that is charged at a defined interval and billed in + advance of use of the API product. The fee will be prorated for the + first billing period. + currencyCode: description: >- - Flag that specifies whether to ignore TLS certificate validation - errors. Set to `true` to ignore errors. - type: boolean - ciphers: + 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. + type: string + description: Rate plan details. + GoogleCloudApigeeV1ScoreComponent: + description: Component is an individual security element that is scored. + id: GoogleCloudApigeeV1ScoreComponent + properties: + drilldownPaths: + description: List of paths for next components. items: type: string type: array - description: List of ciphers that are granted access. - trustStore: + score: + description: Score for the component. + type: integer + format: int32 + calculateTime: + format: google-datetime + description: Time when score was calculated. + type: string + scorePath: type: string description: >- - Name of the keystore or keystore reference containing trusted - certificates for the server in the following format: - `organizations/{org}/environments/{env}/keystores/{keystore}` or - `organizations/{org}/environments/{env}/references/{reference}` - keyAlias: - description: >- - Name of the alias used for client-side authentication in the - following format: - `organizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}` + Path of the component. Example: + /org@myorg/envgroup@myenvgroup/proxies/proxy@myproxy + dataCaptureTime: type: string - protocols: - description: List of TLS protocols that are granted access. + format: google-datetime + description: >- + Time in the requested time period when data was last captured to + compute the score. + recommendations: type: array + description: List of recommendations to improve API security. items: - type: string - enabled: - type: boolean - description: >- - Flag that specifies whether one-way TLS is enabled. Set to `true` to - enable one-way TLS. - keyAliasReference: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyAliasReference' - description: Reference name and alias pair to use for client-side authentication. - enforce: - type: boolean - description: Flag that enforces TLS settings - commonName: - description: Common name to validate the target server against. - $ref: '#/components/schemas/GoogleCloudApigeeV1CommonNameConfig' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ScoreComponentRecommendation type: object - id: GoogleCloudApigeeV1TlsInfoConfig - GoogleRpcStatus: + GoogleCloudApigeeV1SecurityActionConditionConfig: description: >- - 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). - type: object - id: GoogleRpcStatus + 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. properties: - code: - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - type: integer - details: + asns: items: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. + type: string + format: int64 type: array - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - type: string - GoogleTypeExpr: - properties: - location: description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - type: string - title: - type: string + Optional. A list of ASN numbers to act on, e.g. 23. + https://en.wikipedia.org/wiki/Autonomous_system_(Internet) This uses + int64 instead of uint32 because of + https://linter.aip.dev/141/forbidden-types. + accessTokens: + type: array + items: + type: string + description: Optional. A list of access_tokens. Limit 1000 per action. + developers: + items: + type: string + type: array + description: Optional. A list of developers. Limit 1000 per action. + userAgents: + items: + type: string description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - expression: - type: string - description: >- - Textual representation of an expression in Common Expression - Language syntax. - description: - type: string - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - id: GoogleTypeExpr - type: object - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. - GoogleCloudApigeeV1AdvancedApiOpsConfig: - properties: - enabled: - description: Flag that specifies whether the Advanced API Ops add-on is enabled. - type: boolean - type: object - description: Configuration for the Advanced API Ops add-on. - id: GoogleCloudApigeeV1AdvancedApiOpsConfig - GoogleCloudApigeeV1GenerateDownloadUrlResponse: - description: Response for GenerateDownloadUrl method. - id: GoogleCloudApigeeV1GenerateDownloadUrlResponse - properties: - downloadUri: - type: string - description: >- - The Google Cloud Storage signed URL that can be used to download the - Archive zip file. - type: object - GoogleCloudApigeeV1ResourceStatus: - properties: - resource: - description: >- - The resource name. Currently only two resources are supported: - EnvironmentGroup - organizations/{org}/envgroups/{envgroup} - EnvironmentConfig - - organizations/{org}/environments/{environment}/deployedConfig - type: string - revisions: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1RevisionStatus' - description: Revisions of the resource currently deployed in the instance. + Optional. A list of user agents to deny. We look for exact matches. + Limit 50 per action. + type: array + apiProducts: type: array - uid: - type: string - description: >- - The uid of the resource. In the unexpected case that the instance - has multiple uids for the same name, they should be reported under - separate ResourceStatuses. - totalReplicas: - format: int32 - type: integer - description: The total number of replicas that should have this resource. - description: The status of a resource loaded in the runtime. - id: GoogleCloudApigeeV1ResourceStatus - type: object - GoogleCloudApigeeV1OperationGroup: - properties: - operationConfigs: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1OperationConfig' + type: string + description: Optional. A list of API Products. Limit 1000 per action. + ipAddressRanges: description: >- - Required. List of operation configurations for either Apigee API - proxies or other remote services that are associated with this API - product. + Optional. A list of IP addresses. This could be either IPv4 or IPv6. + Limited to 100 per action. + items: + type: string + type: array + regionCodes: type: array - operationConfigType: - type: string description: >- - Flag that specifes whether the configuration is for Apigee API proxy - or a remote service. Valid values include `proxy` or - `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API - proxies are associated with the API product. Set to `remoteservice` - when non-Apigee proxies like Istio-Envoy are associated with the API - product. - type: object - id: GoogleCloudApigeeV1OperationGroup - description: >- - List of operation configuration details associated with Apigee API - proxies or remote services. Remote services are non-Apigee proxies, such - as Istio-Envoy. - GoogleCloudApigeeV1EnvironmentConfig: - id: GoogleCloudApigeeV1EnvironmentConfig - properties: - deploymentGroups: - description: List of deployment groups in the environment. + Optional. A list of countries/region codes to act on, e.g. US. This + follows https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. + items: + type: string + developerApps: type: array + description: Optional. A list of developer apps. Limit 1000 per action. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeploymentGroupConfig' - uid: - description: >- - Unique ID for the environment configuration. The ID will only change - if the environment is deleted and recreated. - type: string - provider: - type: string - description: >- - Used by the Control plane to add context information to help detect - the source of the document during diagnostics and debugging. - addonsConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeAddonsConfig' - description: The latest runtime configurations for add-ons. - deployments: + type: string + apiKeys: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeploymentConfig' - description: List of deployments in the environment. - resources: + type: string + description: Optional. A list of API keys. Limit 1000 per action. + botReasons: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceConfig' - description: List of resource versions in the environment. - targets: + type: string description: >- - List of target servers in the environment. Disabled target servers - are not displayed. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServerConfig' + Optional. A list of Bot Reasons. Current options: Flooder, Brute + Guessor, Static Content Scraper, OAuth Abuser, Robot Abuser, + TorListRule, Advanced Anomaly Detection, Advanced API Scraper, + Search Engine Crawlers, Public Clouds, Public Cloud AWS, Public + Cloud Azure, and Public Cloud Google. + httpMethods: type: array - resourceReferences: + description: >- + Optional. Act only on particular HTTP methods. E.g. A read-only API + can block POST/PUT/DELETE methods. Accepted values are: GET, HEAD, + POST, PUT, DELETE, CONNECT, OPTIONS, TRACE and PATCH. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ReferenceConfig' - description: List of resource references in the environment. + type: string + type: object + id: GoogleCloudApigeeV1SecurityActionConditionConfig + GoogleCloudApigeeV1ListAppGroupAppsResponse: + id: GoogleCloudApigeeV1ListAppGroupAppsResponse + description: Response for ListAppGroupApps + properties: + nextPageToken: + type: string + description: >- + Token that can be sent as `next_page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + appGroupApps: + description: List of AppGroup apps and their credentials. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' type: array - revisionId: - format: int64 + type: object + GoogleCloudApigeeV1NodeConfig: + type: object + id: GoogleCloudApigeeV1NodeConfig + description: >- + NodeConfig for setting the min/max number of nodes associated with the + environment. + properties: + currentAggregateNodeCount: + readOnly: true description: >- - Revision ID of the environment configuration. The higher the value, - the more recently the configuration was deployed. + Output only. The current total number of gateway nodes that each + environment currently has across all instances. + format: int64 type: string - envScopedRevisionId: - description: >- - Revision ID for environment-scoped resources (e.g. target servers, - keystores) in this config. This ID will increment any time a - resource not scoped to a deployment group changes. + maxNodeCount: format: int64 + description: >- + Optional. The maximum total number of gateway nodes that the is + reserved for all instances that has the specified environment. If + not specified, the default is determined by the recommended maximum + number of nodes for that gateway. type: string - dataCollectors: - description: List of data collectors used by the deployments in the environment. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollectorConfig' - gatewayConfigLocation: + minNodeCount: + format: int64 description: >- - The location for the gateway config blob as a URI, e.g. a Cloud - Storage URI. This is only used by Envoy-based gateways. + Optional. The minimum total number of gateway nodes that the is + reserved for all instances that has the specified environment. If + not specified, the default is determined by the recommended minimum + number of nodes for that gateway. type: string - debugMask: - description: Debug mask that applies to all deployments in the environment. - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' - keystores: - description: List of keystores in the environment. - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeystoreConfig' - pubsubTopic: + GoogleCloudApigeeV1SchemaSchemaProperty: + properties: + type: type: string - description: Name of the PubSub topic for the environment. - arcConfigLocation: + description: Data type of the field. + custom: type: string description: >- - 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. + Flag that specifies whether the field is standard in the dataset or + a custom field created by the customer. `true` indicates that it is + a custom field. + createTime: + type: string + description: >- + Time the field was created in RFC3339 string form. For example: + `2016-02-26T10:23:09.592Z`. + description: Properties for the schema field. + id: GoogleCloudApigeeV1SchemaSchemaProperty + type: object + GoogleCloudApigeeV1KeyValueEntry: + properties: name: + type: string description: >- - Name of the environment configuration in the following format: - `organizations/{org}/environments/{env}/configs/{config}` - type: string - sequenceNumber: - description: 'DEPRECATED: Use revision_id.' - format: int64 - type: string - featureFlags: - additionalProperties: - type: string - description: Feature flags inherited from the organization and environment. - type: object - flowhooks: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHookConfig' - description: List of flow hooks in the environment. - traceConfig: - description: >- - Trace configurations. Contains config for the environment and config - overrides for specific API proxies. - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceConfig' - forwardProxyUri: - type: string + Resource URI that can be used to identify the scope of the key value + map entries. + value: description: >- - The forward proxy's url to be used by the runtime. When set, runtime - will send requests to the target via the given forward proxy. This - is only used by programmable gateways. - createTime: - format: google-datetime - type: string - description: Time that the environment configuration was created. - type: object - GoogleCloudApigeeV1ResourceFile: - type: object - properties: - name: - type: string - description: ID of the resource file. - type: + Required. Data or payload that is being retrieved and associated + with the unique key. type: string - description: Resource file type. {{ resource_file_type }} - description: Metadata about a resource file. - id: GoogleCloudApigeeV1ResourceFile - GoogleCloudApigeeV1ApiCategoryResponse: - id: GoogleCloudApigeeV1ApiCategoryResponse type: object - description: The API category resource wrapped with response status, error_code, etc. + description: >- + Key value map pair where the value represents the data associated with + the corresponding key. **Note**: Supported for Apigee hybrid 1.8.x and + higher. + id: GoogleCloudApigeeV1KeyValueEntry + GoogleCloudApigeeV1DeleteResponse: + id: GoogleCloudApigeeV1DeleteResponse + description: Response for certain delete operations. properties: - errorCode: - description: Unique error code for the request, if any. + requestId: type: string - data: - description: The API category resource. - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' + description: Unique ID of the request. status: description: Status of the operation. type: string - requestId: + errorCode: type: string - description: Unique ID of the request. + description: Unique error code for the request, if any. message: - type: string description: Description of the operation. - GoogleCloudApigeeV1DeveloperApp: + type: string + gcpResource: + type: string + description: Google Cloud name of deleted resource. type: object - id: GoogleCloudApigeeV1DeveloperApp + GoogleCloudApigeeV1AnalyticsConfig: + type: object + id: GoogleCloudApigeeV1AnalyticsConfig properties: - appId: + updateTime: + description: Output only. The latest update time. + format: google-datetime type: string - description: ID of the developer app. - lastModifiedAt: readOnly: true - description: >- - Output only. Time the developer app was modified in milliseconds - since epoch. + state: + enum: + - ADDON_STATE_UNSPECIFIED + - ENABLING + - ENABLED + - DISABLING + - DISABLED type: string - format: int64 - credentials: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Credential' - type: array - description: >- - Output only. Set of credentials for the developer app consisting of - the consumer key/secret pairs associated with the API products. + enumDescriptions: + - Default value. + - Add-on is in progress of enabling. + - Add-on is fully enabled and ready to use. + - Add-on is in progress of disabling. + - Add-on is fully disabled. + readOnly: true + description: Output only. The state of the Analytics add-on. + expireTimeMillis: readOnly: true - developerId: - description: ID of the developer. - type: string - attributes: - description: List of attributes for the developer app. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - type: array - name: - type: string - description: Name of the developer app. - status: - type: string - description: >- - Status of the credential. Valid values include `approved` or - `revoked`. - apiProducts: - items: - type: string - type: array - description: List of API products associated with the developer app. - appFamily: - type: string - description: Developer app family. - callbackUrl: - type: string - description: >- - Callback URL used by OAuth 2.0 authorization servers to communicate - authorization codes back to developer apps. - keyExpiresIn: - description: >- - 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. - format: int64 type: string - createdAt: format: int64 description: >- - Output only. Time the developer app was created in milliseconds - since epoch. - readOnly: true - type: string - scopes: + Output only. Time at which the Analytics add-on expires in + milliseconds since epoch. If unspecified, the add-on will never + expire. + enabled: + description: Whether the Analytics add-on is enabled. + type: boolean + description: Configuration for the Analytics add-on. + GoogleCloudApigeeV1ListTraceConfigOverridesResponse: + type: object + description: Response for ListTraceConfigOverrides. + id: GoogleCloudApigeeV1ListTraceConfigOverridesResponse + properties: + traceConfigOverrides: items: - type: string + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' + description: List all trace configuration overrides in an environment. type: array + nextPageToken: description: >- - Scopes to apply to the developer app. The specified scopes must - already exist for the API product that you associate with the - developer app. - GoogleCloudApigeeV1ListRatePlansResponse: - description: Response for ListRatePlans. - properties: - nextStartKey: + Token value that can be passed as `page_token` to retrieve the next + page of content. type: string - description: >- - Value that can be sent as `startKey` to retrieve the next page of - content. If this field is omitted, there are no subsequent pages. - ratePlans: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' - description: List of rate plans in an organization. - type: object - id: GoogleCloudApigeeV1ListRatePlansResponse - GoogleCloudApigeeV1ExportRequest: - description: Request body for [CreateExportRequest] + GoogleCloudApigeeV1SecurityActionDeny: + properties: + responseCode: + format: int32 + type: integer + description: Optional. The HTTP response code if the Action = DENY. + description: Message that should be set in case of a Deny Action. type: object + id: GoogleCloudApigeeV1SecurityActionDeny + GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict: properties: description: - description: Optional. Description of the export job. - type: string - csvDelimiter: - type: string - description: >- - Optional. Delimiter used in the CSV file, if `outputFormat` is set - to `csv`. Defaults to the `,` (comma) character. Supported delimiter - characters include comma (`,`), pipe (`|`), and tab (`\t`). - outputFormat: - description: >- - Optional. Output format of the export. Valid values include: `csv` - or `json`. Defaults to `json`. Note: Configure the delimiter for CSV - output using the `csvDelimiter` property. - type: string - datastoreName: - description: Required. Name of the preconfigured datastore. + description: Human-readable description of this conflict. type: string - name: + environmentGroup: type: string - description: Required. Display name of the export job. - dateRange: - $ref: '#/components/schemas/GoogleCloudApigeeV1DateRange' - description: Required. Date range of the data to export. - id: GoogleCloudApigeeV1ExportRequest - GoogleCloudApigeeV1ReferenceConfig: + description: Name of the environment group in which this conflict exists. + conflictingDeployment: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment + description: Existing base path/deployment causing the conflict. + id: GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict type: object - id: GoogleCloudApigeeV1ReferenceConfig + description: >- + Describes a routing conflict that may cause a deployment not to receive + traffic at some base path. + GoogleCloudApigeeV1MonetizationConfig: properties: - name: - description: >- - Name of the reference in the following format: - `organizations/{org}/environments/{env}/references/{reference}` - type: string - resourceName: - description: >- - Name of the referenced resource in the following format: - `organizations/{org}/environments/{env}/keystores/{keystore}` Only - references to keystore resources are supported. - type: string - GoogleCloudApigeeV1OperationConfig: + enabled: + type: boolean + description: Flag that specifies whether the Monetization add-on is enabled. + description: Configuration for the Monetization add-on. type: object - id: GoogleCloudApigeeV1OperationConfig - properties: - apiSource: - description: >- - Required. Name of the API proxy or remote service with which the - resources, methods, and quota are associated. + id: GoogleCloudApigeeV1MonetizationConfig + GoogleCloudApigeeV1DeveloperMonetizationConfig: + type: object + description: Monetization configuration for the developer. + properties: + billingType: type: string + description: Billing type. + enumDescriptions: + - The default/unset value. + - >- + Developer pays in advance for the use of APIs and the charged + amount is deducted from their account balance. + - >- + Developer does not maintain an account balance. The API provider + bills the developer for API usage. + enum: + - BILLING_TYPE_UNSPECIFIED + - PREPAID + - POSTPAID + id: GoogleCloudApigeeV1DeveloperMonetizationConfig + GoogleCloudApigeeV1OperationConfig: + description: >- + Binds the resources in an API proxy or remote service with the allowed + REST methods and associated quota enforcement. + type: object + properties: quota: $ref: '#/components/schemas/GoogleCloudApigeeV1Quota' description: >- @@ -6444,3206 +5664,4390 @@ components: source combination. If none are specified, quota enforcement will not be done. operations: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Operation' description: >- List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Operation' - type: array attributes: - type: array + description: Custom attributes associated with the operation. items: $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - description: Custom attributes associated with the operation. - description: >- - Binds the resources in an API proxy or remote service with the allowed - REST methods and associated quota enforcement. - GoogleCloudApigeeV1Alias: - type: object - description: Reference to a certificate or key/certificate pair. - properties: - alias: - type: string + type: array + apiSource: description: >- - Resource ID for this alias. Values must match the regular expression - `[^/]{1,255}`. - certsInfo: - description: Chain of certificates under this alias. - $ref: '#/components/schemas/GoogleCloudApigeeV1Certificate' - type: - enum: - - ALIAS_TYPE_UNSPECIFIED - - CERT - - KEY_CERT - description: Type of alias. - enumDescriptions: - - Alias type is not specified. - - Certificate. - - Key/certificate pair. + Required. Name of the API proxy or remote service with which the + resources, methods, and quota are associated. type: string - id: GoogleCloudApigeeV1Alias - GoogleCloudApigeeV1ActivateNatAddressRequest: - type: object - id: GoogleCloudApigeeV1ActivateNatAddressRequest - description: Request for ActivateNatAddressRequest. Activate the nat address request. - properties: {} - GoogleCloudApigeeV1IntegrationConfig: - properties: - enabled: - description: Flag that specifies whether the Integration add-on is enabled. - type: boolean - description: Configuration for the Integration add-on. - id: GoogleCloudApigeeV1IntegrationConfig - type: object - GoogleCloudApigeeV1TlsInfo: - id: GoogleCloudApigeeV1TlsInfo - description: TLS configuration information for virtual hosts and TargetServers. + id: GoogleCloudApigeeV1OperationConfig + GoogleCloudApigeeV1TargetServer: type: object properties: - trustStore: - type: string - description: The resource ID of the truststore. - commonName: - $ref: '#/components/schemas/GoogleCloudApigeeV1TlsInfoCommonName' - description: The TLS Common Name of the certificate. - keyAlias: + protocol: + description: Immutable. The protocol used by this TargetServer. type: string + enumDescriptions: + - UNSPECIFIED defaults to HTTP for backwards compatibility. + - The TargetServer uses HTTP. + - The TargetSever uses HTTP2. + - The TargetServer uses GRPC. + - >- + GRPC TargetServer to be used in ExternalCallout Policy. Prefer to + use EXTERNAL_CALLOUT instead. TODO(b/266125112) deprecate once + EXTERNAL _CALLOUT generally available. + - The TargetServer is to be used in the ExternalCallout Policy + enum: + - PROTOCOL_UNSPECIFIED + - HTTP + - HTTP2 + - GRPC_TARGET + - GRPC + - EXTERNAL_CALLOUT + name: description: >- - Required if `client_auth_enabled` is true. The resource ID for the - alias containing the private key and cert. - ignoreValidationErrors: + Required. The resource id of this target server. Values must match + the regular expression + type: string + sSLInfo: description: >- - If true, Edge ignores TLS certificate errors. Valid when configuring - TLS for target servers and target endpoints, and when configuring - virtual hosts that use 2-way TLS. When used with a target - endpoint/target server, if the backend system uses SNI and returns a - cert with a subject Distinguished Name (DN) that does not match the - hostname, there is no way to ignore the error and the connection - fails. - type: boolean - ciphers: - type: array + Optional. Specifies TLS configuration info for this TargetServer. + The JSON name is `sSLInfo` for legacy/backwards compatibility + reasons -- Edge originally supported SSL, and the name is still used + for TLS configuration. + $ref: '#/components/schemas/GoogleCloudApigeeV1TlsInfo' + host: + type: string description: >- - The SSL/TLS cipher suites to be used. For programmable proxies, it - must be one of the cipher suite names listed in: - http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. - For configurable proxies, it must follow the configuration specified - in: - https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. - This setting has no effect for configurable proxies when negotiating - TLS 1.3. - items: - type: string - protocols: - items: - type: string - description: The TLS versioins to be used. - type: array - enforce: - description: TLS is strictly enforced. - type: boolean - clientAuthEnabled: - description: Optional. Enables two-way TLS. - type: boolean - enabled: + Required. The host name this target connects to. Value must be a + valid hostname as described by RFC-1123. + isEnabled: description: >- - Required. Enables TLS. If false, neither one-way nor two-way TLS - will be enabled. + Optional. Enabling/disabling a TargetServer is useful when + TargetServers are used in load balancing configurations, and one or + more TargetServers need to taken out of rotation periodically. + Defaults to true. type: boolean - keyStore: + description: type: string + description: Optional. A human-readable description of this TargetServer. + port: + format: int32 description: >- - Required if `client_auth_enabled` is true. The resource ID of the - keystore. - GoogleCloudApigeeV1ReportProperty: - type: object - properties: - value: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - type: array - description: property values - property: - description: name of the property - type: string - id: GoogleCloudApigeeV1ReportProperty - GoogleCloudApigeeV1Certificate: - type: object - properties: - certInfo: - type: array - description: Chain of certificates under this name. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1CertInfo' - id: GoogleCloudApigeeV1Certificate - GoogleCloudApigeeV1QueryMetadata: - type: object + Required. The port number this target connects to on the given host. + Value must be between 1 and 65535, inclusive. + type: integer + id: GoogleCloudApigeeV1TargetServer + description: >- + TargetServer configuration. TargetServers are used to decouple a proxy + TargetEndpoint HTTPTargetConnections from concrete URLs for backend + services. + GoogleCloudApigeeV1CustomReport: + id: GoogleCloudApigeeV1CustomReport properties: - outputFormat: + organization: + description: Output only. Organization name + readOnly: true type: string - description: Output format. - endTimestamp: + limit: type: string - description: End timestamp of the query range. - startTimestamp: + description: >- + Legacy field: not used This field contains the limit for the result + retrieved + fromTime: type: string - description: Start timestamp of the query range. - metrics: + description: 'Legacy field: not used. Contains the from time for the report' + properties: + description: This field contains report properties such as ui metadata etc. type: array items: - type: string - description: >- - Metrics of the AsyncQuery. Example: - ["name:message_count,func:sum,alias:sum_message_count"] - dimensions: + $ref: '#/components/schemas/GoogleCloudApigeeV1ReportProperty' + comments: type: array - description: Dimensions of the AsyncQuery. items: type: string - timeUnit: - description: Query GroupBy time unit. + description: >- + Legacy field: not used. This field contains a list of comments + associated with custom report + filter: + description: This field contains the filter expression type: string - id: GoogleCloudApigeeV1QueryMetadata - GoogleCloudApigeeV1ListDeveloperAppsResponse: - type: object - properties: - app: - description: List of developer apps and their credentials. + dimensions: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + type: string + description: This contains the list of dimensions for the report type: array - id: GoogleCloudApigeeV1ListDeveloperAppsResponse - GoogleCloudApigeeV1SecurityReportQueryMetric: - id: GoogleCloudApigeeV1SecurityReportQueryMetric - type: object - properties: - alias: + createdAt: type: string + format: int64 + description: 'Output only. Unix time when the app was created json key: createdAt' + readOnly: true + topk: description: >- - Alias for the metric. Alias will be used to replace metric name in - query results. - name: - description: Required. Metric name. + Legacy field: not used. This field contains the top k parameter + value for restricting the result type: string - aggregationFunction: - description: 'Aggregation function: avg, min, max, or sum.' + displayName: type: string - value: + description: This is the display name for the report + sortOrder: + description: >- + Legacy field: not used much. Contains the sort order for the sort + columns type: string - description: Operand value should be provided when operator is set. - operator: - description: One of `+`, `-`, `/`, `%`, `*`. + lastModifiedAt: + format: int64 + description: >- + Output only. Modified time of this entity as milliseconds since + epoch. json key: lastModifiedAt + readOnly: true type: string - description: Metric of the Query - GoogleTypeInterval: - id: GoogleTypeInterval - properties: - endTime: - format: google-datetime + environment: type: string - description: >- - Optional. Exclusive end of the interval. If specified, a Timestamp - matching this interval will have to be before the end. - startTime: - description: >- - Optional. Inclusive start of the interval. If specified, a Timestamp - matching this interval will have to be the same or after the start. - format: google-datetime + description: Output only. Environment name + readOnly: true + toTime: + type: string + description: 'Legacy field: not used. Contains the end time for the report' + timeUnit: + type: string + description: This field contains the time unit of aggregation for the report + name: type: string - description: >- - 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. - type: object - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll: - properties: {} - description: Message for include_all option. - id: >- - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll - type: object - GoogleIamV1AuditConfig: - properties: - auditLogConfigs: - type: array - items: - $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' - description: The configuration for logging of each type of permission. - service: description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. + Required. Unique identifier for the report T his is a legacy field + used to encode custom report unique id + chartType: type: string - type: object - description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - `jose@example.com` from DATA_READ logging, and `aliya@example.com` from - DATA_WRITE logging. - id: GoogleIamV1AuditConfig - GoogleCloudApigeeV1Stats: - id: GoogleCloudApigeeV1Stats - properties: - hosts: - description: List of query results grouped by host. + description: This field contains the chart type for the report + metrics: type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1StatsHostStats' - metaData: - $ref: '#/components/schemas/GoogleCloudApigeeV1Metadata' - description: Metadata information. - environments: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1StatsEnvironmentStats' - type: array - description: List of query results on the environment level. - description: Encapsulates a `stats` response. - type: object - GoogleCloudApigeeV1GetAsyncQueryResultUrlResponse: - description: The response for GetAsyncQueryResultUrl - type: object - id: GoogleCloudApigeeV1GetAsyncQueryResultUrlResponse - properties: - urls: + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReportMetric' + description: Required. This contains the list of metrics + sortByCols: + description: 'Legacy field: not used much. Contains the list of sort by columns' items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1GetAsyncQueryResultUrlResponseURLInfo - description: The list of Signed URLs generated by the CreateAsyncQuery request + type: string type: array - GoogleCloudApigeeV1Keystore: - id: GoogleCloudApigeeV1Keystore - description: Datastore for Certificates and Aliases. - type: object - properties: - name: + lastViewedAt: type: string description: >- - Required. Resource ID for this keystore. Values must match the - regular expression `[\w[:space:].-]{1,255}`. - aliases: - description: Output only. Aliases in this keystore. + Output only. Last viewed time of this entity as milliseconds since + epoch readOnly: true + format: int64 + offset: + description: 'Legacy field: not used. This field contains the offset for the data' + type: string + tags: + type: array items: type: string - type: array - GoogleCloudApigeeV1GetAsyncQueryResultUrlResponseURLInfo: - description: A Signed URL and the relevant metadata associated with it. + description: >- + Legacy field: not used. This field contains a list of tags + associated with custom report + type: object + GoogleCloudApigeeV1Query: properties: - md5: - description: The MD5 Hash of the JSON data + metrics: + description: A list of Metrics. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1QueryMetric' + filter: type: string - sizeBytes: + description: >- + Boolean expression that can be used to filter data. Filter + expressions can be combined using AND/OR terms and should be fully + parenthesized to avoid ambiguity. See Analytics metrics, dimensions, + and filters reference + https://docs.apigee.com/api-platform/analytics/analytics-reference + for more information on the fields available to filter on. For more + information on the tokens that you use to build filter expressions, + see Filter expression syntax. + https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax + timeRange: + description: >- + Required. Time range for the query. Can use the following predefined + strings to specify the time range: `last60minutes` `last24hours` + `last7days` Or, specify the timeRange as a structure describing + start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. + Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": + "2018-08-01T00:18:00Z" } + type: any + reportDefinitionId: type: string - description: The size of the returned file in bytes - format: int64 - uri: + description: Asynchronous Report ID. + name: + description: Asynchronous Query Name. type: string + dimensions: + items: + type: string description: >- - The signed URL of the JSON data. Will be of the form - `https://storage.googleapis.com/example-bucket/cat.jpeg?X-Goog-Algorithm= - GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount - .com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T18 - 1309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f16 - 9edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa849 - 6def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dc - c1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c2058 - 0e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a - 66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823 - a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b13344703 - 2ea7abedc098d2eb14a7` - type: object - id: GoogleCloudApigeeV1GetAsyncQueryResultUrlResponseURLInfo - GoogleCloudApigeeV1AddonsConfig: - properties: - advancedApiOpsConfig: - description: Configuration for the Advanced API Ops add-on. - $ref: '#/components/schemas/GoogleCloudApigeeV1AdvancedApiOpsConfig' - connectorsPlatformConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1ConnectorsPlatformConfig' - description: Configuration for the Connectors Platform add-on. - apiSecurityConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiSecurityConfig' - description: Configuration for the API Security add-on. - monetizationConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1MonetizationConfig' - description: Configuration for the Monetization add-on. - integrationConfig: - description: Configuration for the Integration add-on. - $ref: '#/components/schemas/GoogleCloudApigeeV1IntegrationConfig' - analyticsConfig: - description: >- - Configuration for the Analytics add-on. Only used in - organizations.environments.addonsConfig. - $ref: '#/components/schemas/GoogleCloudApigeeV1AnalyticsConfig' - id: GoogleCloudApigeeV1AddonsConfig - description: Add-on configurations for the Apigee organization. - type: object - GoogleCloudApigeeV1RevisionStatus: - properties: - errors: + A list of dimensions. + https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1UpdateError' - description: Errors reported when attempting to load this revision. - replicas: - description: The number of replicas that have successfully loaded this revision. + limit: + description: Maximum number of rows that can be returned in the result. type: integer format: int32 - jsonSpec: + groupByTimeUnit: type: string description: >- - The json content of the resource revision. Large specs should be - sent individually via the spec field to avoid hitting request size - limits. - revisionId: - type: string - description: The revision of the resource. - description: The status of a specific resource revision. - id: GoogleCloudApigeeV1RevisionStatus - type: object - GoogleCloudApigeeV1RuntimeTraceConfig: - description: >- - NEXT ID: 8 RuntimeTraceConfig defines the configurations for distributed - trace in an environment. - type: object - id: GoogleCloudApigeeV1RuntimeTraceConfig - properties: - revisionId: + Time unit used to group the result set. Valid values include: + second, minute, hour, day, week, or month. If a query includes + groupByTimeUnit, then the result is an aggregation based on the + specified time unit and the resultant timestamp does not include + milliseconds precision. If a query omits groupByTimeUnit, then the + resultant timestamp includes milliseconds precision. + outputFormat: type: string description: >- - Revision number which can be used by the runtime to detect if the - trace config has changed between two versions. - exporter: - type: string + Valid values include: `csv` or `json`. Defaults to `json`. Note: + Configure the delimiter for CSV output using the csvDelimiter + property. + envgroupHostname: description: >- - 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. - enumDescriptions: - - Exporter unspecified - - Jaeger exporter - - Cloudtrace exporter - enum: - - EXPORTER_UNSPECIFIED - - JAEGER - - CLOUD_TRACE - name: + Hostname needs to be specified if query intends to run at host + level. This field is only allowed when query is submitted by + CreateHostAsyncQuery where analytics data will be grouped by + organization and hostname. type: string + csvDelimiter: description: >- - Name of the trace config in the following format: - `organizations/{org}/environment/{env}/traceConfig` - endpoint: - description: Endpoint of the exporter. - type: string - samplingConfig: - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceSamplingConfig' - description: Trace configuration for all API proxies in an environment. - overrides: - type: array - description: List of trace configuration overrides for spicific API proxies. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceConfigOverride' - revisionCreateTime: - description: The timestamp that the revision was created or updated. - format: google-datetime + Delimiter used in the CSV file, if `outputFormat` is set to `csv`. + Defaults to the `,` (comma) character. Supported delimiter + characters include comma (`,`), pipe (`|`), and tab (`\t`). type: string - GoogleCloudApigeeV1RuntimeTraceConfigOverride: - id: GoogleCloudApigeeV1RuntimeTraceConfigOverride + id: GoogleCloudApigeeV1Query + type: object + GoogleCloudApigeeV1ProfileConfigAbuse: + properties: {} + description: >- + Checks for abuse, which includes any requests sent to the API for + purposes other than what it is intended for, such as high volumes of + requests, data scraping, and abuse related to authorization. + id: GoogleCloudApigeeV1ProfileConfigAbuse + type: object + GoogleCloudApigeeV1ProfileConfigMTLS: + type: object + description: Checks to see if you have configured mTLS for the target server. + properties: {} + id: GoogleCloudApigeeV1ProfileConfigMTLS + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll: + properties: {} + id: >- + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll + type: object + description: Message for include_all option. + GoogleCloudApigeeV1AdvancedApiOpsConfig: type: object properties: - apiProxy: - description: >- - Name of the API proxy that will have its trace configuration - overridden following format: `organizations/{org}/apis/{api}` - type: string - revisionId: - type: string + enabled: + type: boolean + description: Flag that specifies whether the Advanced API Ops add-on is enabled. + id: GoogleCloudApigeeV1AdvancedApiOpsConfig + description: Configuration for the Advanced API Ops add-on. + GoogleCloudApigeeV1SecurityReportResultView: + type: object + properties: + code: + type: integer + format: int32 + description: Error code when there is a failure. + rows: description: >- - Revision number which can be used by the runtime to detect if the - trace config override has changed between two versions. - uid: - type: string + Rows of security report result. Each row is a JSON object. Example: + {sum(message_count): 1, developer_app: "(not set)",…} + items: + type: any + type: array + metadata: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportMetadata' description: >- - Unique ID for the configuration override. The ID will only change if - the override is deleted and recreated. Corresponds to name's - "override" field. - revisionCreateTime: + Metadata contains information like metrics, dimenstions etc of the + security report. + state: + description: State of retrieving ResultView. type: string - description: The timestamp that the revision was created or updated. - format: google-datetime - samplingConfig: - description: >- - Trace configuration override for a specific API proxy in an - environment. - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeTraceSamplingConfig' - name: - description: >- - Name of the trace config override in the following format: - `organizations/{org}/environment/{env}/traceConfig/overrides/{override}` + error: + description: Error message when there is a failure. type: string - description: >- - NEXT ID: 7 Trace configuration override for a specific API proxy in an - environment. - GoogleCloudApigeeV1ListInstancesResponse: - description: Response for ListInstances. + description: The response for security report result view APIs. + id: GoogleCloudApigeeV1SecurityReportResultView + GoogleCloudApigeeV1DeploymentChangeReport: type: object properties: - nextPageToken: - description: >- - Page token that you can include in a ListInstance request to - retrieve the next page of content. If omitted, no subsequent pages - exist. - type: string - instances: - description: Instances in the specified organization. + routingConflicts: + description: All base path conflicts detected for a deployment request. type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' - id: GoogleCloudApigeeV1ListInstancesResponse - GoogleCloudApigeeV1ListOrganizationsResponse: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict + validationErrors: + $ref: '#/components/schemas/GoogleRpcPreconditionFailure' + description: >- + Validation errors that would cause the deployment change request to + be rejected. + routingChanges: + items: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingChange + description: All routing changes that may result from a deployment request. + type: array + id: GoogleCloudApigeeV1DeploymentChangeReport + description: >- + Response for GenerateDeployChangeReport and + GenerateUndeployChangeReport. This report contains any validation + failures that would cause the deployment to be rejected, as well changes + and conflicts in routing that may occur due to the new deployment. The + existence of a routing warning does not necessarily imply that the + deployment request is bad, if the desired state of the deployment + request is to effect a routing change. The primary purposes of the + routing messages are: 1) To inform users of routing changes that may + have an effect on traffic currently being routed to other existing + deployments. 2) To warn users if some base path in the proxy will not + receive traffic due to an existing deployment having already claimed + that base path. The presence of routing conflicts/changes will not cause + non-dry-run DeployApiProxy/UndeployApiProxy requests to be rejected. + GoogleCloudApigeeV1ListApiCategoriesResponse: + description: 'The response for `ListApiCategoriesRequest`. Next ID: 6' properties: - organizations: + data: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1OrganizationProjectMapping' - description: List of Apigee organizations and associated Google Cloud projects. + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' type: array - id: GoogleCloudApigeeV1ListOrganizationsResponse + description: The API category resources. + requestId: + type: string + description: Unique ID of the request. + status: + type: string + description: Status of the operation. + message: + type: string + description: Description of the operation. + errorCode: + description: Unique error code for the request, if any. + type: string + id: GoogleCloudApigeeV1ListApiCategoriesResponse type: object - GoogleCloudApigeeV1EnvironmentGroupConfig: - description: >- - EnvironmentGroupConfig is a revisioned snapshot of an EnvironmentGroup - and its associated routing rules. + GoogleCloudApigeeV1Metric: + id: GoogleCloudApigeeV1Metric type: object properties: - uid: - description: >- - A unique id for the environment group config that will only change - if the environment group is deleted and recreated. - type: string - revisionId: - format: int64 - description: >- - Revision id that defines the ordering of the EnvironmentGroupConfig - resource. The higher the revision, the more recently the - configuration was deployed. + name: type: string - hostnames: - description: Host names for the environment group. - type: array - items: - type: string - routingRules: + description: Metric name. + values: description: >- - Ordered list of routing rules defining how traffic to this - environment group's hostnames should be routed to different - environments. + List of metric values. Possible value formats include: + `"values":["39.0"]` or `"values":[ { "value": "39.0", "timestamp": + 1232434354} ]` items: - $ref: '#/components/schemas/GoogleCloudApigeeV1RoutingRule' - type: array - endpointChainingRules: + type: any type: array + description: >- + Encapsulates the metric data point. For example: ```{ "name": + "sum(message_count)", "values" : [ { "timestamp": 1549004400000, + "value": "39.0" }, { "timestamp" : 1548997200000, "value" : "0.0" } ] + }``` or ```{ "name": "sum(message_count)", "values" : ["39.0"] }``` + GoogleCloudApigeeV1Deployment: + id: GoogleCloudApigeeV1Deployment + properties: + pods: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointChainingRule' - description: A list of proxies in each deployment group for proxy chaining calls. - name: - type: string - description: >- - Name of the environment group in the following format: - `organizations/{org}/envgroups/{envgroup}`. - location: - type: string - description: >- - 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. - id: GoogleCloudApigeeV1EnvironmentGroupConfig - GoogleCloudApigeeV1CustomReport: - id: GoogleCloudApigeeV1CustomReport - properties: - dimensions: - description: This contains the list of dimensions for the report + $ref: '#/components/schemas/GoogleCloudApigeeV1PodStatus' type: array - items: - type: string + description: >- + Status reported by runtime pods. **Note**: **This field is + deprecated**. Runtime versions 1.3 and above report instance level + status rather than pod status. environment: - readOnly: true - description: Output only. Environment name - type: string - displayName: - type: string - description: This is the display name for the report - organization: - readOnly: true type: string - description: Output only. Organization name - sortOrder: + description: Environment. + revision: + description: API proxy revision. type: string + state: description: >- - Legacy field: not used much. Contains the sort order for the sort - columns - filter: - description: This field contains the filter expression - type: string - chartType: - type: string - description: This field contains the chart type for the report - metrics: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReportMetric' - type: array - description: Required. This contains the list of metrics - timeUnit: + Current state of the deployment. **Note**: This field is displayed + only when viewing deployment status. + enum: + - RUNTIME_STATE_UNSPECIFIED + - READY + - PROGRESSING + - ERROR + enumDescriptions: + - This value should never be returned. + - Runtime has loaded the deployment. + - Deployment is not fully ready in the runtime. + - >- + Encountered an error with the deployment that requires + intervention. type: string - description: This field contains the time unit of aggregation for the report - name: + instances: description: >- - Required. Unique identifier for the report T his is a legacy field - used to encode custom report unique id - type: string - toTime: - type: string - description: 'Legacy field: not used. Contains the end time for the report' - sortByCols: - description: 'Legacy field: not used much. Contains the list of sort by columns' - items: - type: string - type: array - properties: - type: array + Status reported by each runtime instance. **Note**: This field is + displayed only when viewing deployment status. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ReportProperty' - description: This field contains report properties such as ui metadata etc. - offset: - type: string - description: 'Legacy field: not used. This field contains the offset for the data' - createdAt: - description: 'Output only. Unix time when the app was created json key: createdAt' - type: string - format: int64 - readOnly: true - tags: + $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceDeploymentStatus' type: array + routeConflicts: items: - type: string - description: >- - Legacy field: not used. This field contains a list of tags - associated with custom report - topk: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict description: >- - Legacy field: not used. This field contains the top k parameter - value for restricting the result - type: string - lastModifiedAt: + 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. + type: array + apiProxy: + description: API proxy. type: string + serviceAccount: description: >- - Output only. Modified time of this entity as milliseconds since - epoch. json key: lastModifiedAt - format: int64 - readOnly: true - fromTime: - description: 'Legacy field: not used. Contains the from time for the report' + The full resource name of Cloud IAM Service Account that this + deployment is using, eg, `projects/-/serviceAccounts/{email}`. type: string - comments: + errors: description: >- - Legacy field: not used. This field contains a list of comments - associated with custom report - items: - type: string + Errors reported for this deployment. Populated only when state == + ERROR. **Note**: This field is displayed only when viewing + deployment status. type: array - limit: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + deployStartTime: type: string - description: >- - Legacy field: not used This field contains the limit for the result - retrieved - lastViewedAt: format: int64 description: >- - Output only. Last viewed time of this entity as milliseconds since - epoch + Time the API proxy was marked `deployed` in the control plane in + millisconds since epoch. + proxyDeploymentType: + enum: + - PROXY_DEPLOYMENT_TYPE_UNSPECIFIED + - STANDARD + - EXTENSIBLE + enumDescriptions: + - >- + Default value till public preview. After public preview this value + should not be returned. + - >- + Deployment will be of type Standard if only Standard proxies are + used + - >- + Proxy will be of type Extensible if deployments uses one or more + Extensible proxies readOnly: true + description: >- + 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. type: string type: object - GoogleCloudApigeeV1Metric: + EdgeConfigstoreBundleBadBundleViolation: properties: - values: - description: >- - List of metric values. Possible value formats include: - `"values":["39.0"]` or `"values":[ { "value": "39.0", "timestamp": - 1232434354} ]` - items: - type: any - type: array - name: - description: Metric name. + description: type: string - description: >- - Encapsulates the metric data point. For example: ```{ "name": - "sum(message_count)", "values" : [ { "timestamp": 1549004400000, - "value": "39.0" }, { "timestamp" : 1548997200000, "value" : "0.0" } ] - }``` or ```{ "name": "sum(message_count)", "values" : ["39.0"] }``` + description: A description of why the bundle is invalid and how to fix it. + filename: + type: string + description: >- + The filename (including relative path from the bundle root) in which + the error occurred. + id: EdgeConfigstoreBundleBadBundleViolation + description: A message type used to describe a single bundle validation error. type: object - id: GoogleCloudApigeeV1Metric - GoogleCloudApigeeV1ArchiveDeployment: - description: Archive Deployment information. - id: GoogleCloudApigeeV1ArchiveDeployment + GoogleCloudApigeeV1OASDocumentation: type: object + id: GoogleCloudApigeeV1OASDocumentation properties: - createdAt: - type: string - readOnly: true - format: int64 + spec: description: >- - Output only. The time at which the Archive Deployment was created in - milliseconds since the epoch. - name: + Required. The documentation file contents for the OpenAPI + Specification. JSON and YAML file formats are supported. + $ref: '#/components/schemas/GoogleCloudApigeeV1DocumentationFile' + format: + enumDescriptions: + - The format is not available. + - YAML format. + - JSON format. type: string - description: >- - Name of the Archive Deployment in the following format: - `organizations/{org}/environments/{env}/archiveDeployments/{id}`. - operation: - description: >- - Output only. A reference to the LRO that created this Archive - Deployment in the following format: - `organizations/{org}/operations/{id}` readOnly: true - type: string - gcsUri: + enum: + - FORMAT_UNSPECIFIED + - YAML + - JSON + description: Output only. The format of the input specification file contents. + description: OpenAPI Specification documentation for a catalog item. + GoogleCloudApigeeV1GraphQLOperationConfig: + description: >- + Binds the resources in a proxy or remote service with the GraphQL + operation and its associated quota enforcement. + properties: + apiSource: description: >- - Input only. The Google Cloud Storage signed URL returned from - GenerateUploadUrl and used to upload the Archive zip file. - type: string - updatedAt: - readOnly: true + Required. Name of the API proxy endpoint or remote service with + which the GraphQL operation and quota are associated. type: string - format: int64 - description: >- - Output only. The time at which the Archive Deployment was updated in - milliseconds since the epoch. - labels: - additionalProperties: - type: string + quota: + $ref: '#/components/schemas/GoogleCloudApigeeV1Quota' description: >- - 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. - type: object - GoogleCloudApigeeV1OptimizedStatsResponse: - description: Encapsulates a response format for JavaScript Optimized Scenario. - type: object - id: GoogleCloudApigeeV1OptimizedStatsResponse - properties: - TimeUnit: + Quota parameters to be enforced for the resources, methods, and API + source combination. If none are specified, quota enforcement will + not be done. + attributes: items: - type: string - format: int64 + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' type: array + description: Custom attributes associated with the operation. + operations: description: >- - List of time unit values. Time unit refers to an epoch timestamp - value. - resultTruncated: - description: >- - Boolean flag that indicates whether the results were truncated based - on the limit parameter. - type: boolean - metaData: - $ref: '#/components/schemas/GoogleCloudApigeeV1Metadata' - description: Metadata information about the query executed. - stats: - description: '`stats` results.' - $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStatsNode' - GoogleCloudApigeeV1NatAddress: + Required. List of GraphQL name/operation type pairs for the proxy or + remote service to which quota will be applied. If only operation + types are specified, the quota will be applied to all GraphQL + requests irrespective of the GraphQL name. **Note**: Currently, you + can specify only a single GraphQLOperation. Specifying more than one + will cause the operation to fail. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1GraphQLOperation' + type: array type: object + id: GoogleCloudApigeeV1GraphQLOperationConfig + GoogleCloudApigeeV1EntityMetadata: properties: - state: - enum: - - STATE_UNSPECIFIED - - CREATING - - RESERVED - - ACTIVE - - DELETING + lastModifiedAt: type: string - description: Output only. State of the nat address. - readOnly: true - enumDescriptions: - - The resource is in an unspecified state. - - The NAT address is being created. - - The NAT address is reserved but not yet used for Internet egress. - - The NAT address is active and used for Internet egress. - - The NAT address is being deleted. - name: + format: int64 + description: >- + Time at which the API proxy was most recently modified, in + milliseconds since epoch. + subType: + description: The type of entity described type: string - description: Required. Resource ID of the NAT address. - ipAddress: - description: Output only. The static IPV4 address. - readOnly: true + createdAt: type: string - id: GoogleCloudApigeeV1NatAddress - description: >- - Apigee NAT(network address translation) address. A NAT address is a - static external IP address used for Internet egress traffic. - GoogleCloudApigeeV1GenerateDownloadUrlRequest: - properties: {} - type: object - id: GoogleCloudApigeeV1GenerateDownloadUrlRequest - description: Request for GenerateDownloadUrl method. - GoogleCloudApigeeV1FlowHook: - id: GoogleCloudApigeeV1FlowHook + format: int64 + description: >- + Time at which the API proxy was created, in milliseconds since + epoch. type: object + description: Metadata common to many entities in this API. + id: GoogleCloudApigeeV1EntityMetadata + GoogleCloudApigeeV1SecurityAssessmentResultScoringResult: properties: - description: - description: Description of the flow hook. + dataUpdateTime: + format: google-datetime + description: >- + The time when resource data was last fetched for this resource. This + time may be different than when the resource was actually updated + due to lag in data collection. type: string - flowHookPoint: + severity: type: string - readOnly: true - description: >- - Output only. Where in the API call flow the flow hook is invoked. - Must be one of `PreProxyFlowHook`, `PostProxyFlowHook`, - `PreTargetFlowHook`, or `PostTargetFlowHook`. - continueOnError: + description: The severity of the assessment. + enum: + - SEVERITY_UNSPECIFIED + - LOW + - MEDIUM + - HIGH + - MINIMAL + enumDescriptions: + - Severity is not defined. + - Severity is low. + - Severity is medium. + - Severity is high. + - Severity is minimal + failedAssessmentPerWeight: + type: object + additionalProperties: + type: integer + format: int32 description: >- - 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`. - type: boolean - sharedFlow: - type: string + The number of failed assessments grouped by its weight. Keys are one + of the following: "MAJOR", "MODERATE", "MINOR". + score: + description: The security score of the assessment. + format: int32 + type: integer + assessmentRecommendations: + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation description: >- - Shared flow attached to this flow hook, or empty if there is none - attached. - EdgeConfigstoreBundleBadBundleViolation: + The recommendations of the assessment. The key is the "name" of the + assessment (not display_name), and the value are the + recommendations. + id: GoogleCloudApigeeV1SecurityAssessmentResultScoringResult + description: The result of the assessment. type: object + GoogleCloudApigeeV1RuntimeConfig: properties: - description: - description: A description of why the bundle is invalid and how to fix it. - type: string - filename: + name: description: >- - The filename (including relative path from the bundle root) in which - the error occurred. - type: string - id: EdgeConfigstoreBundleBadBundleViolation - description: A message type used to describe a single bundle validation error. - GoogleCloudApigeeV1SecurityReportMetadata: - properties: - startTimestamp: - description: Start timestamp of the query range. - format: google-datetime + Name of the resource in the following format: + `organizations/{org}/runtimeConfig`. type: string - endTimestamp: - description: End timestamp of the query range. - format: google-datetime + tenantProjectId: type: string - dimensions: - items: - type: string - type: array - description: Dimensions of the SecurityReport. - timeUnit: + readOnly: true + description: >- + 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. + analyticsBucket: type: string - description: 'Query GroupBy time unit. Example: "seconds", "minute", "hour"' - mimeType: + description: Cloud Storage bucket used for uploading Analytics records. + traceBucket: + description: Cloud Storage bucket used for uploading Trace records. type: string - description: MIME type / Output format. - metrics: - type: array - description: >- - Metrics of the SecurityReport. Example: - ["name:bot_count,func:sum,alias:sum_bot_count"] - items: - type: string + description: >- + Runtime configuration for the organization. Response for + GetRuntimeConfig. type: object - id: GoogleCloudApigeeV1SecurityReportMetadata - description: Metadata for the security report. - GoogleCloudApigeeV1EntityMetadata: - id: GoogleCloudApigeeV1EntityMetadata - description: Metadata common to many entities in this API. + id: GoogleCloudApigeeV1RuntimeConfig + GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse: + type: object + description: Response for ListSecurityProfileRevisions. properties: - createdAt: + securityProfiles: + type: array description: >- - Time at which the API proxy was created, in milliseconds since - epoch. - format: int64 - type: string - lastModifiedAt: - type: string + List of security profile revisions. The revisions may be attached or + unattached to any environment. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + nextPageToken: description: >- - Time at which the API proxy was most recently modified, in - milliseconds since epoch. - format: int64 - subType: + A token that can be sent as `page_token` to retrieve the next page. + If this field is omitted, there are no subsequent pages. type: string - description: The type of entity described - type: object - GoogleCloudApigeeV1SecuritySettings: - id: GoogleCloudApigeeV1SecuritySettings + id: GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse + GoogleRpcPreconditionFailureViolation: + description: A message type used to describe a single precondition failure. type: object + id: GoogleRpcPreconditionFailureViolation properties: - name: + subject: + type: string description: >- - Identifier. Full resource name is always - `organizations/{org}/securitySettings`. + The subject, relative to the type, that failed. For example, + "google.com/cloud" relative to the "TOS" type would indicate which + terms of service is being referenced. + type: type: string - mlRetrainingFeedbackEnabled: description: >- - Optional. If true the user consents to the use of ML models for - Abuse detection. - type: boolean + The type of PreconditionFailure. We recommend using a + service-specific enum type to define the supported precondition + violation subjects. For example, "TOS" for "Terms of Service + violation". + description: + type: string + description: >- + A description of how the precondition failed. Developers can use + this description to understand how to fix the failure. For example: + "Terms of service not accepted". + GoogleCloudApigeeV1ConfigVersion: description: >- - SecuritySettings reflects the current state of the SecuritySettings - feature. - GoogleCloudApigeeV1TlsInfoCommonName: + Version of the API proxy configuration schema. Currently, only 4.0 is + supported. properties: - value: + majorVersion: + type: integer + description: Major version of the API proxy configuration schema. + format: int32 + minorVersion: + format: int32 + description: Minor version of the API proxy configuration schema. + type: integer + id: GoogleCloudApigeeV1ConfigVersion + type: object + GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision: + properties: + percentage: + format: int32 + type: integer + description: Percentage of MP replicas reporting this revision. + revision: type: string - description: The TLS Common Name string of the certificate. - wildcardMatch: - description: >- - Indicates whether the cert should be matched against as a wildcard - cert. - type: boolean - id: GoogleCloudApigeeV1TlsInfoCommonName + description: API proxy revision reported as deployed. + id: GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision + description: Revisions deployed in the MPs. type: object - GoogleCloudApigeeV1QueryTabularStatsResponse: - id: GoogleCloudApigeeV1QueryTabularStatsResponse + GoogleCloudApigeeV1ListSecurityIncidentsResponse: + type: object + properties: + securityIncidents: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + type: array + description: List of security incidents in the organization + nextPageToken: + description: >- + A token that can be sent as `page_token` to retrieve the next page. + If this field is omitted, there are no subsequent pages. + type: string + id: GoogleCloudApigeeV1ListSecurityIncidentsResponse + description: Response for ListSecurityIncidents. + GoogleCloudApigeeV1QueryTimeSeriesStatsResponse: description: >- - Encapsulates two kinds of stats that are results of the dimensions and - aggregations requested. - Tabular rows. - Time series data. Example of - tabular rows, Represents security stats results as a row of flat values. + Represents security stats result as a collection of time series + sequences. + id: GoogleCloudApigeeV1QueryTimeSeriesStatsResponse properties: values: type: array - description: Resultant rows from the executed query. + description: Results of the query returned as a JSON array. items: - type: array - items: - type: any + $ref: >- + #/components/schemas/GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence + nextPageToken: + type: string + description: Next page token. columns: - items: - type: string type: array description: >- Column names corresponding to the same order as the inner values in the stats field. - nextPageToken: - type: string - description: Next page token. - type: object - GoogleCloudApigeeV1ListDeploymentsResponse: - type: object - properties: - deployments: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' - type: array - description: List of deployments. - id: GoogleCloudApigeeV1ListDeploymentsResponse - GoogleCloudApigeeV1ProfileConfigAuthorization: - properties: {} - description: >- - By default, following policies will be included: - JWS - JWT - OAuth - - BasicAuth - APIKey - id: GoogleCloudApigeeV1ProfileConfigAuthorization - type: object - GoogleCloudApigeeV1Attributes: - properties: - attribute: - description: List of attributes. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - type: array - id: GoogleCloudApigeeV1Attributes + type: string type: object - GoogleCloudApigeeV1ProfileConfigMTLS: - id: GoogleCloudApigeeV1ProfileConfigMTLS - description: Checks to see if you have configured mTLS for the target server. + GoogleCloudApigeeV1SecurityAction: + id: GoogleCloudApigeeV1SecurityAction + description: >- + A SecurityAction is rule that can be enforced at an environment level. + The result is one of: - A denied API call - An explicitly allowed API + call - A flagged API call (HTTP headers added before the target receives + it) At least one condition is required to create a SecurityAction. type: object - properties: {} - GoogleRpcPreconditionFailureViolation: - id: GoogleRpcPreconditionFailureViolation - description: A message type used to describe a single precondition failure. properties: - subject: + description: type: string description: >- - The subject, relative to the type, that failed. For example, - "google.com/cloud" relative to the "TOS" type would indicate which - terms of service is being referenced. - description: + Optional. An optional user provided description of the + SecurityAction. + name: + type: string description: >- - A description of how the precondition failed. Developers can use - this description to understand how to fix the failure. For example: - "Terms of service not accepted". + 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} + conditionConfig: + description: >- + Required. A valid SecurityAction must contain at least one + condition. + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityActionConditionConfig + updateTime: type: string - type: + description: >- + Output only. The update time for this SecurityAction. This reflects + when this SecurityAction changed states. + readOnly: true + format: google-datetime + expireTime: + format: google-datetime + description: The expiration for this SecurityAction. + type: string + ttl: + description: Input only. The TTL for this SecurityAction. + format: google-duration + type: string + createTime: + type: string + format: google-datetime + description: Output only. The create time for this SecurityAction. + readOnly: true + state: type: string + enum: + - STATE_UNSPECIFIED + - ENABLED + - DISABLED + enumDescriptions: + - >- + The default value. This only exists for forward compatibility. A + create request with this value will be rejected. + - >- + An ENABLED SecurityAction is actively enforced if the + `expiration_time` is in the future. + - A disabled SecurityAction is never enforced. description: >- - The type of PreconditionFailure. We recommend using a - service-specific enum type to define the supported precondition - violation subjects. For example, "TOS" for "Terms of Service - violation". - type: object - GoogleIamV1Policy: - id: GoogleIamV1Policy - properties: - auditConfigs: + Required. Only an ENABLED SecurityAction is enforced. An ENABLED + SecurityAction past its expiration time will not be enforced. + flag: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionFlag' + description: Flag a request through if it matches this SecurityAction. + deny: + description: Deny a request through if it matches this SecurityAction. + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionDeny' + allow: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionAllow' + description: Allow a request through if it matches this SecurityAction. + apiProxies: type: array items: - $ref: '#/components/schemas/GoogleIamV1AuditConfig' - description: Specifies cloud audit logging configuration for this policy. - etag: - type: string + type: string description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. - format: byte - version: - format: int32 - type: integer + 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. + GoogleCloudApigeeV1ApiDocResponse: + id: GoogleCloudApigeeV1ApiDocResponse + properties: + data: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' + description: The catalog item resource. + status: + type: string + description: Status of the operation. + requestId: + type: string + description: Unique ID of the request. + message: + description: Description of the operation. + type: string + errorCode: + type: string + description: Unique error code for the request, if any. + description: The catalog item resource wrapped with response status, error_code, etc. + type: object + GoogleCloudApigeeV1TlsInfoCommonName: + properties: + wildcardMatch: + type: boolean description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - bindings: - type: array - description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. - items: - $ref: '#/components/schemas/GoogleIamV1Binding' - description: >- - 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/). - type: object - GoogleCloudApigeeV1ListSecurityIncidentsResponse: - properties: - nextPageToken: - description: >- - A token that can be sent as `page_token` to retrieve the next page. - If this field is omitted, there are no subsequent pages. + Indicates whether the cert should be matched against as a wildcard + cert. + value: + description: The TLS Common Name string of the certificate. type: string - securityIncidents: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' - description: List of security incidents in the organization - type: array type: object - description: Response for ListSecurityIncidents. - id: GoogleCloudApigeeV1ListSecurityIncidentsResponse - GoogleCloudApigeeV1ListApiCategoriesResponse: + id: GoogleCloudApigeeV1TlsInfoCommonName + GoogleCloudApigeeV1OperationMetadata: + description: Metadata describing an Operation. + id: GoogleCloudApigeeV1OperationMetadata type: object - id: GoogleCloudApigeeV1ListApiCategoriesResponse properties: - data: - type: array + progress: + $ref: '#/components/schemas/GoogleCloudApigeeV1OperationMetadataProgress' + description: Progress of the operation. + warnings: + description: Warnings encountered while executing the operation. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' - description: The API category resources. - requestId: - type: string - description: Unique ID of the request. - message: + type: string + type: array + operationType: + enum: + - OPERATION_TYPE_UNSPECIFIED + - INSERT + - DELETE + - UPDATE + enumDescriptions: + - '' + - '' + - '' + - '' type: string - description: Description of the operation. - errorCode: + state: type: string - description: Unique error code for the request, if any. - status: + enumDescriptions: + - '' + - '' + - '' + - '' + enum: + - STATE_UNSPECIFIED + - NOT_STARTED + - IN_PROGRESS + - FINISHED + targetResourceName: type: string - description: Status of the operation. - description: 'The response for `ListApiCategoriesRequest`. Next ID: 6' - GoogleCloudApigeeV1DebugSession: - id: GoogleCloudApigeeV1DebugSession - type: object + description: Name of the resource for which the operation is operating on. + GoogleCloudApigeeV1Session: + description: Session carries the debug session id and its creation time. properties: - timeout: - description: >- - Optional. The time in seconds after which this DebugSession should - end. This value will override the value in query param, if both are - provided. + timestampMs: format: int64 - type: string - validity: - description: >- - 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. - format: int32 - type: integer - name: - type: string - description: A unique ID for this DebugSession. - count: - format: int32 - type: integer - description: >- - Optional. The number of request to be traced. Min = 1, Max = 15, - Default = 10. - filter: description: >- - Optional. A conditional statement which is evaluated against the - request message to determine if it should be traced. Syntax matches - that of on API Proxy bundle flow Condition. - type: string - tracesize: - format: int32 - type: integer - description: >- - Optional. The maximum number of bytes captured from the response - payload. Min = 0, Max = 5120, Default = 5120. - createTime: - description: >- - Output only. The first transaction creation timestamp, recorded by + The first transaction creation timestamp in millisecond, recorded by UAP. type: string - readOnly: true - format: google-datetime - GoogleCloudApigeeV1DocumentationFile: - properties: - displayName: - description: >- - Required. A display name for the file, shown in the management UI. - Max length is 255 characters. - type: string - contents: + id: + description: The debug session ID. type: string - description: Required. The file contents. The max size is 4 MB. - format: byte - description: Documentation file contents for a catalog item. - id: GoogleCloudApigeeV1DocumentationFile - type: object - GoogleCloudApigeeV1ProfileConfigAbuse: - id: GoogleCloudApigeeV1ProfileConfigAbuse type: object - description: >- - Checks for abuse, which includes any requests sent to the API for - purposes other than what it is intended for, such as high volumes of - requests, data scraping, and abuse related to authorization. - properties: {} - GoogleCloudApigeeV1ListHybridIssuersResponse: + id: GoogleCloudApigeeV1Session + GoogleCloudApigeeV1ListCustomReportsResponse: properties: - issuers: + qualifier: type: array - description: Lists of hybrid services and its trusted issuer email ids. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ServiceIssuersMapping' + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' type: object - id: GoogleCloudApigeeV1ListHybridIssuersResponse - GoogleCloudApigeeV1SecurityAssessmentResultResource: + id: GoogleCloudApigeeV1ListCustomReportsResponse + description: This message encapsulates a list of custom report definitions + GoogleCloudApigeeV1Attribute: + description: Key-value pair to store extra metadata. + id: GoogleCloudApigeeV1Attribute type: object properties: - resourceRevisionId: - description: >- - The revision id for the resource. In case of Apigee, this is proxy - revision id. - type: string name: - description: Required. Name of this resource. + description: API key of the attribute. type: string - type: - enum: - - RESOURCE_TYPE_UNSPECIFIED - - API_PROXY - enumDescriptions: - - ResourceType not specified. - - Resource is an Apigee Proxy. + value: type: string - description: Required. Type of this resource. - id: GoogleCloudApigeeV1SecurityAssessmentResultResource - description: Resource for which we are computing security assessment. - GoogleCloudApigeeV1DeploymentConfig: - description: 'NEXT ID: 11' + description: Value of the attribute. + GoogleCloudApigeeV1SecurityProfile: + type: object properties: - deploymentGroups: + revisionCreateTime: + type: string + description: Output only. The time when revision was created. + format: google-datetime + readOnly: true + profileConfig: description: >- - The list of deployment groups in which this proxy should be - deployed. Not currently populated for shared flows. + Required. Customized profile configuration that computes the + security score. + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfig' + scoringConfigs: type: array items: - type: string - serviceAccount: - type: string - description: >- - The service account identity associated with this deployment. If - non-empty, will be in the following format: - `projects/-/serviceAccounts/{account_email}` - proxyUid: - description: Unique ID of the API proxy revision. + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityProfileScoringConfig + description: List of profile scoring configs in this revision. + environments: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileEnvironment' + type: array + description: List of environments attached to security profile. + maxScore: + description: >- + Output only. Maximum security score that can be generated by this + profile. + readOnly: true + format: int32 + type: integer + revisionId: + format: int64 + description: Output only. Revision ID of the security profile. + readOnly: true type: string - endpoints: - additionalProperties: - type: string - type: object + minScore: + format: int32 + type: integer description: >- - A mapping from basepaths to proxy endpoint names in this proxy. Not - populated for shared flows. - basePath: + Output only. Minimum security score that can be generated by this + profile. + readOnly: true + revisionPublishTime: + format: google-datetime + readOnly: true + deprecated: true + description: >- + 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. type: string - description: Base path where the application will be hosted. Defaults to "/". + revisionUpdateTime: + type: string + format: google-datetime + description: Output only. The time when revision was updated. + readOnly: true + displayName: + description: 'DEPRECATED: DO NOT USE Display name of the security profile.' + type: string + deprecated: true + description: + type: string + description: Description of the security profile. name: + type: string description: >- - Name of the API or shared flow revision to be deployed in the - following format: `organizations/{org}/apis/{api}/revisions/{rev}` - or `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}` + Immutable. Name of the security profile resource. Format: + organizations/{org}/securityProfiles/{profile} + description: Represents a SecurityProfile resource. + id: GoogleCloudApigeeV1SecurityProfile + GoogleCloudApigeeV1OptimizedStats: + properties: + Response: + $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStatsResponse' + description: >- + Wraps the `stats` response for JavaScript Optimized Scenario with a + response key. For example: ```{ "Response": { "TimeUnit": [], + "metaData": { "errors": [], "notices": [ "Source:Postgres", "Table + used: edge.api.aaxgroup001.agg_api", "PG + Host:ruappg08-ro.production.apigeeks.net", "query served + by:80c4ebca-6a10-4a2e-8faf-c60c1ee306ca" ] }, "resultTruncated": + false, "stats": { "data": [ { "identifier": { "names": [ "apiproxy" + ], "values": [ "sirjee" ] }, "metric": [ { "env": "prod", "name": + "sum(message_count)", "values": [ 36.0 ] }, { "env": "prod", "name": + "sum(is_error)", "values": [ 36.0 ] } ] } ] } } }``` + type: object + id: GoogleCloudApigeeV1OptimizedStats + GoogleCloudApigeeV1SecurityReportQueryMetric: + description: Metric of the Query + properties: + name: + description: Required. Metric name. + type: string + alias: type: string - uid: description: >- - Unique ID. The ID will only change if the deployment is deleted and - recreated. + Alias for the metric. Alias will be used to replace metric name in + query results. + value: type: string - location: - description: Location of the API proxy bundle as a URI. + description: Operand value should be provided when operator is set. + aggregationFunction: type: string - attributes: - additionalProperties: - type: string - description: Additional key-value metadata for the deployment. - type: object - id: GoogleCloudApigeeV1DeploymentConfig + description: 'Aggregation function: avg, min, max, or sum.' + operator: + type: string + description: One of `+`, `-`, `/`, `%`, `*`. + id: GoogleCloudApigeeV1SecurityReportQueryMetric type: object - GoogleCloudApigeeV1OASDocumentation: - id: GoogleCloudApigeeV1OASDocumentation + GoogleTypeInterval: + description: >- + 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. type: object properties: - format: - enum: - - FORMAT_UNSPECIFIED - - YAML - - JSON - enumDescriptions: - - The format is not available. - - YAML format. - - JSON format. - type: string - description: Output only. The format of the input specification file contents. - readOnly: true - spec: + endTime: description: >- - Required. The documentation file contents for the OpenAPI - Specification. JSON and YAML file formats are supported. - $ref: '#/components/schemas/GoogleCloudApigeeV1DocumentationFile' - description: OpenAPI Specification documentation for a catalog item. - GoogleCloudApigeeV1SecurityAssessmentResult: - description: The security assessment result for one resource. - id: GoogleCloudApigeeV1SecurityAssessmentResult - properties: - scoringResult: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResult - description: The result of the assessment. - error: - description: The error status if scoring fails. - $ref: '#/components/schemas/GoogleRpcStatus' - createTime: + Optional. Exclusive end of the interval. If specified, a Timestamp + matching this interval will have to be before the end. + type: string format: google-datetime + startTime: type: string description: >- - The time of the assessment of this resource. This could lag behind - `assessment_time` due to caching within the backend. - resource: - description: The assessed resource. - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultResource - type: object - GoogleCloudApigeeV1SecurityActionsConfig: - id: GoogleCloudApigeeV1SecurityActionsConfig - type: object - description: >- - SecurityActionsConfig reflects the current state of the SecurityActions - feature. This is a singleton resource: https://google.aip.dev/156 + Optional. Inclusive start of the interval. If specified, a Timestamp + matching this interval will have to be the same or after the start. + format: google-datetime + id: GoogleTypeInterval + GoogleCloudApigeeV1ArchiveDeployment: + id: GoogleCloudApigeeV1ArchiveDeployment properties: - enabled: - type: boolean + operation: description: >- - 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. - updateTime: - format: google-datetime - type: string - description: Output only. The update time for configuration. + Output only. A reference to the LRO that created this Archive + Deployment in the following format: + `organizations/{org}/operations/{id}` readOnly: true - name: type: string + createdAt: description: >- - 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` - GoogleCloudApigeeV1SecurityProfileScoringConfig: - type: object - description: Security configurations to manage scoring. - id: GoogleCloudApigeeV1SecurityProfileScoringConfig - properties: - description: - type: string - description: Description of the config. - title: + Output only. The time at which the Archive Deployment was created in + milliseconds since the epoch. + readOnly: true + format: int64 type: string - description: Title of the config. - scorePath: + gcsUri: type: string - description: Path of the component config used for scoring. - GoogleCloudApigeeV1ApiCategory: - description: >- - `ApiCategory` represents an API category. [Catalog - items](/apigee/docs/reference/apis/apigee/rest/v1/organizations.sites.apidocs) - can be tagged with API categories; users viewing the API catalog in the - portal will have the option to browse the catalog by category. - properties: - updateTime: - description: Time the category was last modified in milliseconds since epoch. + description: >- + Input only. The Google Cloud Storage signed URL returned from + GenerateUploadUrl and used to upload the Archive zip file. + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + updatedAt: + description: >- + Output only. The time at which the Archive Deployment was updated in + milliseconds since the epoch. + readOnly: true format: int64 type: string name: type: string - description: Name of the category. - siteId: - type: string - description: Name of the portal. - id: - description: ID of the category (a UUID). - type: string - id: GoogleCloudApigeeV1ApiCategory + description: >- + Name of the Archive Deployment in the following format: + `organizations/{org}/environments/{env}/archiveDeployments/{id}`. type: object - GoogleCloudApigeeV1AsyncQueryResultView: + description: Archive Deployment information. + GoogleCloudApigeeV1ListOrganizationsResponse: type: object properties: - state: - description: State of retrieving ResultView. - type: string - metadata: - $ref: '#/components/schemas/GoogleCloudApigeeV1QueryMetadata' - description: >- - Metadata contains information like metrics, dimenstions etc of the - AsyncQuery. - error: - description: Error message when there is a failure. - type: string - rows: - type: array - description: >- - Rows of query result. Each row is a JSON object. Example: - {sum(message_count): 1, developer_app: "(not set)",…} + organizations: + description: List of Apigee organizations and associated Google Cloud projects. items: - type: any - code: - format: int32 - type: integer - description: Error code when there is a failure. - id: GoogleCloudApigeeV1AsyncQueryResultView - GoogleCloudApigeeV1APIProductAssociation: - type: object - id: GoogleCloudApigeeV1APIProductAssociation - properties: - status: - type: string - description: >- - The API product credential associated status. Valid values are - `approved` or `revoked`. - apiproduct: - type: string - description: API product to be associated with the credential. - description: >- - APIProductAssociation has the API product and its administrative state - association. - GoogleCloudApigeeV1SecurityActionAllow: - properties: {} - id: GoogleCloudApigeeV1SecurityActionAllow - type: object - description: >- - Message that should be set in case of an Allow Action. This does not - have any fields. - GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict: + $ref: '#/components/schemas/GoogleCloudApigeeV1OrganizationProjectMapping' + type: array + id: GoogleCloudApigeeV1ListOrganizationsResponse + GoogleCloudApigeeV1StatsHostStats: description: >- - Describes a routing conflict that may cause a deployment not to receive - traffic at some base path. - id: GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict - properties: - description: - description: Human-readable description of this conflict. - type: string - environmentGroup: - description: Name of the environment group in which this conflict exists. - type: string - conflictingDeployment: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment - description: Existing base path/deployment causing the conflict. - type: object - GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse: - type: object + Encapsulates the hostname wrapper: ``` "hosts": [ { "metrics": [ { + "name": "sum(message_count)", "values": [ "2.52056245E8" ] } ], "name": + "example.com" } ]``` properties: - nextPageToken: - type: string - description: >- - A token that can be sent as `page_token` to retrieve the next page. - If this field is blank, there are no subsequent pages. - securityAssessmentResults: + dimensions: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DimensionMetric' type: array - description: Default sort order is by resource name in alphabetic order. + description: List of metrics grouped under dimensions. + metrics: + description: >- + In the final response, only one of the following fields will be + present based on the dimensions provided. If no dimensions are + provided, then only the top-level metrics are provided. If + dimensions are included, then there will be a top-level dimensions + field under hostnames which will contain metrics values and the + dimension name. Example: ``` "hosts": [ { "dimensions": [ { + "metrics": [ { "name": "sum(message_count)", "values": [ + "2.14049521E8" ] } ], "name": "nit_proxy" } ], "name": "example.com" + } ]``` OR ```"hosts": [ { "metrics": [ { "name": + "sum(message_count)", "values": [ "2.19026331E8" ] } ], "name": + "example.com" } ]``` List of metric values. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResult' - assessmentTime: + $ref: '#/components/schemas/GoogleCloudApigeeV1Metric' + type: array + name: + description: Hostname used in query. type: string - format: google-datetime - description: The time of the assessment api call. - description: Response for BatchComputeSecurityAssessmentResults. - id: GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse - GoogleCloudApigeeV1ScoreComponentRecommendation: - id: GoogleCloudApigeeV1ScoreComponentRecommendation type: object + id: GoogleCloudApigeeV1StatsHostStats + GoogleTypeMoney: properties: - impact: - format: int32 + currencyCode: + type: string + description: The three-letter currency code defined in ISO 4217. + nanos: description: >- - Potential impact of this recommendation on the overall score. This - denotes how important this recommendation is to improve the score. + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. type: integer - title: - type: string - description: Title represents recommendation title. - description: - description: Description of the recommendation. - type: string - actions: - description: Actions for the recommendation to improve the security score. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ScoreComponentRecommendationAction - description: Recommendation based on security concerns and score. - GoogleCloudApigeeV1ListEnvironmentGroupsResponse: - id: GoogleCloudApigeeV1ListEnvironmentGroupsResponse - description: Response for ListEnvironmentGroups. - properties: - nextPageToken: + format: int32 + units: description: >- - Page token that you can include in a ListEnvironmentGroups request - to retrieve the next page. If omitted, no subsequent pages exist. + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. + format: int64 type: string - environmentGroups: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' - type: array - description: EnvironmentGroups in the specified organization. + description: Represents an amount of money with its currency type. type: object - GoogleCloudApigeeV1ApiProxy: + id: GoogleTypeMoney + GoogleCloudApigeeV1RuntimeTraceSamplingConfig: type: object - description: Metadata describing the API proxy + description: >- + NEXT ID: 3 RuntimeTraceSamplingConfig 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. + id: GoogleCloudApigeeV1RuntimeTraceSamplingConfig properties: - readOnly: - readOnly: true - type: boolean - description: >- - 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. - metaData: - description: Output only. Metadata describing the API proxy. - $ref: '#/components/schemas/GoogleCloudApigeeV1EntityMetadata' - readOnly: true - labels: - type: object - additionalProperties: - type: string - description: User labels applied to this API Proxy. - latestRevisionId: + samplingRate: + format: float description: >- - Output only. The id of the most recently created revision for this - api proxy. - type: string - readOnly: true - apiProxyType: + Field sampling rate. This value is only applicable when using the + PROBABILITY sampler. The supported values are > 0 and <= 0.5. + type: number + sampler: + description: Sampler of distributed tracing. OFF is the default value. enumDescriptions: - - API proxy type not specified. + - Sampler unspecified. - >- - Programmable API Proxies enable you to develop APIs with highly - flexible behavior using bundled policy configuration and one or - more programming languages to describe complex sequential and/or - conditional flows of logic. + OFF means distributed trace is disabled, or the sampling + probability is 0. - >- - Configurable API Proxies enable you to develop efficient APIs - using simple configuration while complex execution control flow - logic is handled by Apigee. This type only works with the ARCHIVE - deployment type and cannot be combined with the PROXY deployment - type. - readOnly: true - type: string - description: Output only. The type of the API proxy. + PROBABILITY means traces are captured on a probability that + defined by sampling_rate. The sampling rate is limited to 0 to 0.5 + when this is set. enum: - - API_PROXY_TYPE_UNSPECIFIED - - PROGRAMMABLE - - CONFIGURABLE - revision: - readOnly: true + - SAMPLER_UNSPECIFIED + - 'OFF' + - PROBABILITY + type: string + GoogleCloudApigeeV1DimensionMetric: + properties: + metrics: items: - type: string + $ref: '#/components/schemas/GoogleCloudApigeeV1Metric' type: array - description: Output only. List of revisions defined for the API proxy. + description: List of metrics. name: - readOnly: true type: string - description: Output only. Name of the API proxy. - id: GoogleCloudApigeeV1ApiProxy - GoogleCloudApigeeV1Metadata: - description: Encapsulates additional information about query execution. - type: object - id: GoogleCloudApigeeV1Metadata - properties: - notices: - type: array - items: - type: string description: >- - List of additional information such as data source, if result was - truncated. For example: ``` "notices": [ "Source:Postgres", "PG - Host:uappg0rw.e2e.apigeeks.net", "query served - by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed", "Table used: - edge.api.uapgroup2.agg_api" ]``` - errors: - description: List of error messages as strings. + Comma joined dimension names. E.g. "dim1_name,dim2_name". + Deprecated. If name already has comma before join, we may get wrong + splits. Please use individual_names. + deprecated: true + individualNames: + description: Individual dimension names. E.g. ["dim1_name", "dim2_name"]. items: type: string type: array - GoogleCloudApigeeV1SecurityReportResultView: + description: Encapsulates a metric grouped by dimension. type: object - description: The response for security report result view APIs. + id: GoogleCloudApigeeV1DimensionMetric + GoogleCloudApigeeV1ServiceIssuersMapping: + id: GoogleCloudApigeeV1ServiceIssuersMapping properties: - code: - type: integer - format: int32 - description: Error code when there is a failure. - error: - description: Error message when there is a failure. - type: string - metadata: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportMetadata' - description: >- - Metadata contains information like metrics, dimenstions etc of the - security report. - state: + service: + description: String indicating the Apigee service name. type: string - description: State of retrieving ResultView. - rows: - type: array + emailIds: items: - type: any - description: >- - Rows of security report result. Each row is a JSON object. Example: - {sum(message_count): 1, developer_app: "(not set)",…} - id: GoogleCloudApigeeV1SecurityReportResultView - GoogleCloudApigeeV1EnableSecurityActionRequest: - type: object - id: GoogleCloudApigeeV1EnableSecurityActionRequest - properties: {} - description: Message to enable a disabled SecurityAction. - GoogleCloudApigeeV1ListAppGroupsResponse: - description: >- - ListAppGroupsResponse contains the 0 or more AppGroups, along with the - optional page token and the total count of apps. - id: GoogleCloudApigeeV1ListAppGroupsResponse - type: object - properties: - appGroups: + type: string type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' - description: List of AppGroups. - nextPageToken: - description: >- - Token that can be sent as `next_page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - type: string - totalSize: - description: Total count of AppGroups. - type: integer - format: int32 - GoogleTypeMoney: - id: GoogleTypeMoney - properties: - units: - type: string - description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. - format: int64 - currencyCode: - type: string - description: The three-letter currency code defined in ISO 4217. - nanos: - format: int32 - type: integer - description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - type: object - description: Represents an amount of money with its currency type. - GoogleCloudApigeeV1ListEndpointAttachmentsResponse: - description: Response for ListEndpointAttachments method. - id: GoogleCloudApigeeV1ListEndpointAttachmentsResponse + description: List of trusted issuer email ids. type: object + GoogleCloudApigeeV1AppGroup: properties: - nextPageToken: + name: + type: string description: >- - Page token that you can include in an `ListEndpointAttachments` - request to retrieve the next page. If omitted, no subsequent pages - exist. + Immutable. Name of the AppGroup. Characters you can use in the name + are restricted to: A-Z0-9._\-$ %. + channelId: + description: channel identifier identifies the owner maintaing this grouping. type: string - endpointAttachments: - description: Endpoint attachments in the specified organization. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointAttachment' - type: array - GoogleCloudApigeeV1AppGroupApp: - id: GoogleCloudApigeeV1AppGroupApp - properties: - callbackUrl: + organization: type: string - description: >- - Callback URL used by OAuth 2.0 authorization servers to communicate - authorization codes back to AppGroup apps. - appId: + description: Immutable. the org the app group is created + appGroupId: + description: Output only. Internal identifier that cannot be edited type: string - description: Immutable. ID of the AppGroup app. - apiProducts: + readOnly: true + attributes: + description: A list of attributes type: array items: - type: string - description: List of API products associated with the AppGroup app. - scopes: - items: - type: string - description: >- - Scopes to apply to the AppGroup app. The specified scopes must - already exist for the API product that you associate with the - AppGroup app. - type: array - keyExpiresIn: - format: int64 - type: string - description: >- - 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. - status: - description: Status of the App. Valid values include `approved` or `revoked`. - type: string - appGroup: - description: >- - Immutable. Name of the parent AppGroup whose resource name format is - of syntax (organizations/*/appgroups/*). - type: string + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' lastModifiedAt: readOnly: true format: int64 + description: Output only. Modified time as milliseconds since epoch. + type: string + channelUri: + description: A reference to the associated storefront/marketplace. type: string + status: description: >- - Output only. Time the AppGroup app was modified in milliseconds - since epoch. + 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`. + type: string createdAt: - format: int64 - description: >- - Output only. Time the AppGroup app was created in milliseconds since - epoch. type: string + format: int64 readOnly: true - name: + description: Output only. Created time as milliseconds since epoch. + displayName: type: string - description: >- - Immutable. Name of the AppGroup app whose resource name format is of - syntax (organizations/*/appgroups/*/apps/*). - attributes: - description: List of attributes for the AppGroup app. - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - type: array - credentials: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1Credential' - type: array - readOnly: true - description: >- - Output only. Set of credentials for the AppGroup app consisting of - the consumer key/secret pairs associated with the API products. + description: app group name displayed in the UI description: >- - Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], - [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and - [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp] + AppGroup contains the request/response fields representing the logical + grouping of apps. Note that appgroup_id, create_time and update_time + cannot be changed by the user, and gets updated by the system. The name + and the organization once provided cannot be edited subsequently. type: object - GoogleCloudApigeeV1ListSecurityActionsResponse: - id: GoogleCloudApigeeV1ListSecurityActionsResponse + id: GoogleCloudApigeeV1AppGroup + GoogleIamV1Binding: + description: Associates `members`, or principals, with a `role`. type: object properties: - securityActions: - type: array - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' - description: The SecurityActions for the specified environment. - nextPageToken: - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - type: string - description: >- - Contains a list of SecurityActions in response to a - ListSecurityActionRequest. - GoogleCloudApigeeV1Export: - id: GoogleCloudApigeeV1Export - properties: - description: - type: string - description: Description of the export job. - state: - description: >- - Output only. Status of the export job. Valid values include - `enqueued`, `running`, `completed`, and `failed`. - readOnly: true - type: string - created: - readOnly: true - type: string - description: Output only. Time the export job was created. - name: + role: type: string - description: Display name of the export job. - datastoreName: description: >- - Name of the datastore that is the destination of the export job - [datastore] - type: string - executionTime: + 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). + condition: description: >- - Output only. Execution time for this export job. If the job is still - in progress, it will be set to the amount of time that has elapsed - since`created`, in seconds. Else, it will set to (`updated` - - `created`), in seconds. - readOnly: true - type: string - error: - readOnly: true - type: string - description: Output only. Error is set when export fails - updated: - description: Output only. Time the export job was last updated. - readOnly: true - type: string - self: - type: string - readOnly: true + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/GoogleTypeExpr' + members: description: >- - 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` - type: object - description: Details of an export job. - GoogleCloudApigeeV1ListApiProductsResponse: - properties: - apiProduct: - description: Lists all API product names defined for an organization. + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. type: array items: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' - id: GoogleCloudApigeeV1ListApiProductsResponse + type: string + id: GoogleIamV1Binding + GoogleCloudApigeeV1EnableSecurityActionRequest: type: object - GoogleCloudApigeeV1RatePlan: - description: Rate plan details. - id: GoogleCloudApigeeV1RatePlan + description: Message to enable a disabled SecurityAction. + id: GoogleCloudApigeeV1EnableSecurityActionRequest + properties: {} + GoogleCloudApigeeV1AccessSet: properties: - fixedFeeFrequency: - type: integer - description: Frequency at which the fixed fee is charged. - format: int32 + success: + type: boolean name: - description: Output only. Name of the rate plan. - readOnly: true type: string - description: - description: Description of the rate plan. + value: type: string - consumptionPricingRates: + type: object + description: >- + Set action. For example, "Set" : { "name" : "target.name", "success" : + true, "value" : "default" } + id: GoogleCloudApigeeV1AccessSet + GoogleCloudApigeeV1ListApiProxiesResponse: + properties: + proxies: items: - $ref: '#/components/schemas/GoogleCloudApigeeV1RateRange' - description: >- - 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. + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' type: array - revenueShareType: - description: Method used to calculate the revenue that is shared with developers. + id: GoogleCloudApigeeV1ListApiProxiesResponse + type: object + GoogleCloudApigeeV1RuntimeApiSecurityConfig: + properties: + enabled: + description: If the API Security is enabled or not. + type: boolean + id: GoogleCloudApigeeV1RuntimeApiSecurityConfig + description: Runtime configuration for the API Security add-on. + type: object + GoogleCloudApigeeV1PodStatus: + id: GoogleCloudApigeeV1PodStatus + properties: + statusCode: type: string - enumDescriptions: - - Revenue share type is not specified. - - >- - Fixed percentage of the total revenue will be shared. The - percentage to be shared can be configured by the API provider. - - >- - Amount of revenue shared depends on the number of API calls. The - API call volume ranges and the revenue share percentage for each - volume can be configured by the API provider. **Note**: Not - supported by Apigee at this time. - enum: - - REVENUE_SHARE_TYPE_UNSPECIFIED - - FIXED - - VOLUME_BANDED - apiproduct: + description: Code associated with the deployment status. + deploymentStatusTime: + format: int64 type: string - description: Name of the API product that the rate plan is associated with. - state: - description: Current state of the rate plan (draft or published). + description: Time the deployment status was reported in milliseconds since epoch. + statusCodeDetails: type: string - enumDescriptions: - - State of the rate plan is not specified. - - Rate plan is in draft mode and only visible to API providers. - - >- - Rate plan is published and will become visible to developers for - the configured duration (between `startTime` and `endTime`). - enum: - - STATE_UNSPECIFIED - - DRAFT - - PUBLISHED - consumptionPricingType: - enum: - - CONSUMPTION_PRICING_TYPE_UNSPECIFIED - - FIXED_PER_UNIT - - BANDED - - TIERED - - STAIRSTEP - enumDescriptions: - - Pricing model not specified. This is the default. - - Fixed rate charged for each API call. - - >- - Variable rate charged for each API call based on price tiers. - Example: * 1-100 calls cost $2 per call * 101-200 calls cost $1.50 - per call * 201-300 calls cost $1 per call * Total price for 50 - calls: 50 x $2 = $100 * Total price for 150 calls: 100 x $2 + 50 x - $1.5 = $275 * Total price for 250 calls: 100 x $2 + 100 x $1.5 + - 50 x $1 = $400. **Note**: Not supported by Apigee at this time. - - '**Note**: Not supported by Apigee at this time.' - - '**Note**: Not supported by Apigee at this time.' + description: Human-readable message associated with the status code. + deploymentStatus: type: string - description: Pricing model used for consumption-based charges. - billingPeriod: - enumDescriptions: - - Billing period not specified. - - >- - Weekly billing period. **Note**: Not supported by Apigee at this - time. - - Monthly billing period. + description: >- + Status of the deployment. Valid values include: - `deployed`: + Successful. - `error` : Failed. - `pending` : Pod has not yet + reported on the deployment. + deploymentTime: + description: Time the proxy was deployed in milliseconds since epoch. type: string - description: Frequency at which the customer will be billed. - enum: - - BILLING_PERIOD_UNSPECIFIED - - WEEKLY - - MONTHLY - revenueShareRates: - items: - $ref: '#/components/schemas/GoogleCloudApigeeV1RevenueShareRange' - type: array - description: Details of the revenue sharing model. - startTime: format: int64 + podStatusTime: + format: int64 + description: Time the pod status was reported in milliseconds since epoch. type: string - description: Time when the rate plan becomes active in milliseconds since epoch. - currencyCode: - description: >- - 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. + podStatus: type: string - paymentFundingModel: - deprecated: true description: >- - DEPRECATED: This field is no longer supported and will eventually be - removed when Apigee Hybrid 1.5/1.6 is no longer supported. Instead, - use the `billingType` field inside `DeveloperMonetizationConfig` - resource. Flag that specifies the billing account type, prepaid or - postpaid. + Overall status of the pod (not this specific deployment). Valid + values include: - `active`: Up to date. - `stale` : Recently out of + date. Pods that have not reported status in a long time are excluded + from the output. + appVersion: type: string - enumDescriptions: - - Billing account type not specified. - - >- - Prepaid billing account type. Developer pays in advance for the - use of your API products. Funds are deducted from their prepaid - account balance. **Note**: Not supported by Apigee at this time. - - >- - Postpaid billing account type. Developer is billed through an - invoice after using your API products. - enum: - - PAYMENT_FUNDING_MODEL_UNSPECIFIED - - PREPAID - - POSTPAID - endTime: - format: int64 + description: Version of the application running in the pod. + podName: + type: string + description: Name of the pod which is reporting the status. + type: object + GoogleCloudApigeeV1UpdateError: + type: object + properties: + message: + type: string + description: User-friendly error message. + type: type: string description: >- - Time when the rate plan will expire in milliseconds since epoch. Set - to 0 or `null` to indicate that the rate plan should never expire. - setupFee: - $ref: '#/components/schemas/GoogleTypeMoney' - description: Initial, one-time fee paid when purchasing the API product. - lastModifiedAt: - description: >- - Output only. Time the rate plan was last modified in milliseconds - since epoch. - format: int64 - readOnly: true + A string that uniquely identifies the type of error. This provides a + more reliable means to deduplicate errors across revisions and + instances. + resource: type: string - fixedRecurringFee: - $ref: '#/components/schemas/GoogleTypeMoney' - description: >- - Fixed amount that is charged at a defined interval and billed in - advance of use of the API product. The fee will be prorated for the - first billing period. - createdAt: description: >- - Output only. Time that the rate plan was created in milliseconds - since epoch. - type: string - readOnly: true - format: int64 - displayName: + The sub resource specific to this error (e.g. a proxy deployed + within the EnvironmentConfig). If empty the error refers to the top + level resource. + code: + enum: + - OK + - CANCELLED + - UNKNOWN + - INVALID_ARGUMENT + - DEADLINE_EXCEEDED + - NOT_FOUND + - ALREADY_EXISTS + - PERMISSION_DENIED + - UNAUTHENTICATED + - RESOURCE_EXHAUSTED + - FAILED_PRECONDITION + - ABORTED + - OUT_OF_RANGE + - UNIMPLEMENTED + - INTERNAL + - UNAVAILABLE + - DATA_LOSS type: string - description: Display name of the rate plan. + description: Status code. + enumDescriptions: + - 'Not an error; returned on success. HTTP Mapping: 200 OK' + - >- + The operation was cancelled, typically by the caller. HTTP + Mapping: 499 Client Closed Request + - >- + Unknown error. For example, this error may be returned when a + `Status` value received from another address space belongs to an + error space that is not known in this address space. Also errors + raised by APIs that do not return enough error information may be + converted to this error. HTTP Mapping: 500 Internal Server Error + - >- + The client specified an invalid argument. Note that this differs + from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments + that are problematic regardless of the state of the system (e.g., + a malformed file name). HTTP Mapping: 400 Bad Request + - >- + The deadline expired before the operation could complete. For + operations that change the state of the system, this error may be + returned even if the operation has completed successfully. For + example, a successful response from a server could have been + delayed long enough for the deadline to expire. HTTP Mapping: 504 + Gateway Timeout + - >- + Some requested entity (e.g., file or directory) was not found. + Note to server developers: if a request is denied for an entire + class of users, such as gradual feature rollout or undocumented + allowlist, `NOT_FOUND` may be used. If a request is denied for + some users within a class of users, such as user-based access + control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not + Found + - >- + The entity that a client attempted to create (e.g., file or + directory) already exists. HTTP Mapping: 409 Conflict + - >- + The caller does not have permission to execute the specified + operation. `PERMISSION_DENIED` must not be used for rejections + caused by exhausting some resource (use `RESOURCE_EXHAUSTED` + instead for those errors). `PERMISSION_DENIED` must not be used if + the caller can not be identified (use `UNAUTHENTICATED` instead + for those errors). This error code does not imply the request is + valid or the requested entity exists or satisfies other + pre-conditions. HTTP Mapping: 403 Forbidden + - >- + The request does not have valid authentication credentials for the + operation. HTTP Mapping: 401 Unauthorized + - >- + Some resource has been exhausted, perhaps a per-user quota, or + perhaps the entire file system is out of space. HTTP Mapping: 429 + Too Many Requests + - >- + The operation was rejected because the system is not in a state + required for the operation's execution. For example, the directory + to be deleted is non-empty, an rmdir operation is applied to a + non-directory, etc. Service implementors can use the following + guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and + `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just + the failing call. (b) Use `ABORTED` if the client should retry at + a higher level. For example, when a client-specified test-and-set + fails, indicating the client should restart a read-modify-write + sequence. (c) Use `FAILED_PRECONDITION` if the client should not + retry until the system state has been explicitly fixed. For + example, if an "rmdir" fails because the directory is non-empty, + `FAILED_PRECONDITION` should be returned since the client should + not retry unless the files are deleted from the directory. HTTP + Mapping: 400 Bad Request + - >- + The operation was aborted, typically due to a concurrency issue + such as a sequencer check failure or transaction abort. See the + guidelines above for deciding between `FAILED_PRECONDITION`, + `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict + - >- + The operation was attempted past the valid range. E.g., seeking or + reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error + indicates a problem that may be fixed if the system state changes. + For example, a 32-bit file system will generate `INVALID_ARGUMENT` + if asked to read at an offset that is not in the range [0,2^32-1], + but it will generate `OUT_OF_RANGE` if asked to read from an + offset past the current file size. There is a fair bit of overlap + between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend + using `OUT_OF_RANGE` (the more specific error) when it applies so + that callers who are iterating through a space can easily look for + an `OUT_OF_RANGE` error to detect when they are done. HTTP + Mapping: 400 Bad Request + - >- + The operation is not implemented or is not supported/enabled in + this service. HTTP Mapping: 501 Not Implemented + - >- + Internal errors. This means that some invariants expected by the + underlying system have been broken. This error code is reserved + for serious errors. HTTP Mapping: 500 Internal Server Error + - >- + The service is currently unavailable. This is most likely a + transient condition, which can be corrected by retrying with a + backoff. Note that it is not always safe to retry non-idempotent + operations. See the guidelines above for deciding between + `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: + 503 Service Unavailable + - >- + Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal + Server Error + id: GoogleCloudApigeeV1UpdateError + description: Details on why a resource update failed in the runtime. + GoogleCloudApigeeV1GetAsyncQueryResultUrlResponse: + properties: + urls: + description: The list of Signed URLs generated by the CreateAsyncQuery request + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1GetAsyncQueryResultUrlResponseURLInfo type: object - GoogleCloudApigeeV1Query: - id: GoogleCloudApigeeV1Query + id: GoogleCloudApigeeV1GetAsyncQueryResultUrlResponse + description: The response for GetAsyncQueryResultUrl + GoogleCloudApigeeV1ApiSecurityRuntimeConfig: + description: >- + Response for + GetApiSecurityRuntimeConfig[EnvironmentService.GetApiSecurityRuntimeConfig]. type: object properties: + uid: + type: string + description: >- + Unique ID for the API Security Runtime configuration. The ID will + only change if the environment is deleted and recreated. name: type: string - description: Asynchronous Query Name. - metrics: - description: A list of Metrics. + description: >- + Name of the environment API Security Runtime configuration resource. + Format: + `organizations/{org}/environments/{env}/apiSecurityRuntimeConfig` + location: + description: A list of up to 5 Cloud Storage Blobs that contain SecurityActions. items: - $ref: '#/components/schemas/GoogleCloudApigeeV1QueryMetric' + type: string type: array - filter: - description: >- - Boolean expression that can be used to filter data. Filter - expressions can be combined using AND/OR terms and should be fully - parenthesized to avoid ambiguity. See Analytics metrics, dimensions, - and filters reference - https://docs.apigee.com/api-platform/analytics/analytics-reference - for more information on the fields available to filter on. For more - information on the tokens that you use to build filter expressions, - see Filter expression syntax. - https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax + updateTime: + format: google-datetime type: string - envgroupHostname: + description: Time that the API Security Runtime configuration was updated. + revisionId: + format: int64 type: string description: >- - Hostname needs to be specified if query intends to run at host - level. This field is only allowed when query is submitted by - CreateHostAsyncQuery where analytics data will be grouped by - organization and hostname. - timeRange: - type: any - description: >- - Required. Time range for the query. Can use the following predefined - strings to specify the time range: `last60minutes` `last24hours` - `last7days` Or, specify the timeRange as a structure describing - start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. - Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": - "2018-08-01T00:18:00Z" } - limit: - description: Maximum number of rows that can be returned in the result. - type: integer - format: int32 - csvDelimiter: - type: string + Revision ID of the API Security Runtime configuration. The higher + the value, the more recently the configuration was deployed. + id: GoogleCloudApigeeV1ApiSecurityRuntimeConfig + GoogleCloudApigeeV1ListDebugSessionsResponse: + type: object + id: GoogleCloudApigeeV1ListDebugSessionsResponse + properties: + nextPageToken: description: >- - Delimiter used in the CSV file, if `outputFormat` is set to `csv`. - Defaults to the `,` (comma) character. Supported delimiter - characters include comma (`,`), pipe (`|`), and tab (`\t`). - reportDefinitionId: - description: Asynchronous Report ID. + Page token that you can include in a ListDebugSessionsRequest to + retrieve the next page. If omitted, no subsequent pages exist. type: string - dimensions: + sessions: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Session' description: >- - A list of dimensions. - https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions + Session info that includes debug session ID and the first + transaction creation timestamp. + GoogleCloudApigeeV1ReportProperty: + properties: + value: type: array + description: property values items: - type: string - outputFormat: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + property: type: string - description: >- - Valid values include: `csv` or `json`. Defaults to `json`. Note: - Configure the delimiter for CSV output using the csvDelimiter - property. - groupByTimeUnit: + description: name of the property + id: GoogleCloudApigeeV1ReportProperty + type: object + GoogleCloudApigeeV1TestDatastoreResponse: + type: object + description: The response for TestDatastore + properties: + error: + description: Output only. Error message of test connection failure type: string - description: >- - Time unit used to group the result set. Valid values include: - second, minute, hour, day, week, or month. If a query includes - groupByTimeUnit, then the result is an aggregation based on the - specified time unit and the resultant timestamp does not include - milliseconds precision. If a query omits groupByTimeUnit, then the - resultant timestamp includes milliseconds precision. - GoogleCloudApigeeV1ApiProxyRevision: - description: API proxy revision. + readOnly: true + state: + description: Output only. It could be `completed` or `failed` + readOnly: true + type: string + id: GoogleCloudApigeeV1TestDatastoreResponse + GoogleCloudApigeeV1DeleteCustomReportResponse: + id: GoogleCloudApigeeV1DeleteCustomReportResponse + type: object properties: - type: + message: + description: The response contains only a message field. + type: string + GoogleCloudApigeeV1SecurityAssessmentResultResource: + properties: + name: + type: string + description: Required. Name of this resource. + resourceRevisionId: type: string description: >- - Type. Set to `Application`. Maintained for compatibility with the - Apigee Edge API. - integrationEndpoints: - description: >- - List of IntegrationEndpoints in the '/integration-endpoints' - directory of the API proxy. This is a 'manifest' setting designed to - provide visibility into the contents of the API proxy. - type: array + The revision id for the resource. In case of Apigee, this is proxy + revision id. + type: + enumDescriptions: + - ResourceType not specified. + - Resource is an Apigee Proxy. + type: string + enum: + - RESOURCE_TYPE_UNSPECIFIED + - API_PROXY + description: Required. Type of this resource. + type: object + id: GoogleCloudApigeeV1SecurityAssessmentResultResource + description: Resource for which we are computing security assessment. + GoogleCloudApigeeV1SyncAuthorization: + properties: + identities: items: type: string - hasExtensiblePolicy: - readOnly: true description: >- - Output only. This field will be marked as true if revision contains - any policies marked as extensible. - type: boolean - revision: - type: string - description: API proxy revision. - sharedFlows: - description: List of the shared flows included in the API proxy revision. + 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). type: array - items: - type: string - displayName: - type: string - description: Human-readable name of the API proxy. - createdAt: + etag: description: >- - Time that the API proxy revision was created in milliseconds since - epoch. + 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. type: string - format: int64 - description: + format: byte + type: object + id: GoogleCloudApigeeV1SyncAuthorization + GoogleCloudApigeeV1OperationGroup: + id: GoogleCloudApigeeV1OperationGroup + properties: + operationConfigType: + description: >- + Flag that specifes whether the configuration is for Apigee API proxy + or a remote service. Valid values include `proxy` or + `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API + proxies are associated with the API product. Set to `remoteservice` + when non-Apigee proxies like Istio-Envoy are associated with the API + product. type: string - description: Description of the API proxy revision. - targetEndpoints: + operationConfigs: items: - type: string - type: array + $ref: '#/components/schemas/GoogleCloudApigeeV1OperationConfig' description: >- - List of TargetEndpoints in the `/targets` directory of the API - proxy. Typically, this element is included only when the API proxy - was created using the Edge UI. This is a 'manifest' setting designed - to provide visibility into the contents of the API proxy. - policies: - items: - type: string - description: List of policy names included in the API proxy revision.. - type: array - resources: + Required. List of operation configurations for either Apigee API + proxies or other remote services that are associated with this API + product. type: array + type: object + description: >- + List of operation configuration details associated with Apigee API + proxies or remote services. Remote services are non-Apigee proxies, such + as Istio-Envoy. + GoogleCloudApigeeV1RoutingRule: + id: GoogleCloudApigeeV1RoutingRule + properties: + basepath: + type: string description: >- - List of the resources included in the API proxy revision formatted - as "{type}://{name}". + URI path prefix used to route to the specified environment. May + contain one or more wildcards. For example, path segments consisting + of a single `*` character will match any string. + deploymentGroup: + description: >- + Name of a deployment group in an environment bound to the + environment group in the following format: + `organizations/{org}/environment/{env}/deploymentGroups/{group}` + Only one of environment or deployment_group will be set. + type: string + otherTargets: + type: array items: type: string - resourceFiles: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFiles' - description: List of resource files included in the API proxy revision. - spec: description: >- - OpenAPI Specification that is associated with the API proxy. The - value is set to a URL or to a path in the specification store. - type: string - lastModifiedAt: + Conflicting targets, which will be resource names specifying either + deployment groups or environments. + updateTime: description: >- - Time that the API proxy revision was last modified in milliseconds - since epoch. + The unix timestamp when this rule was updated. This is updated + whenever env_group_revision is updated. This field is omitted from + the IngressConfig unless the GetDeployedIngressConfig API is called + with view=FULL. type: string + format: google-datetime + envGroupRevision: + type: string + description: >- + The env group config revision_id when this rule was added or last + updated. This value is set when the rule is created and will only + update if the the environment_id changes. It is used to determine if + the runtime is up to date with respect to this rule. This field is + omitted from the IngressConfig unless the GetDeployedIngressConfig + API is called with view=FULL. format: int64 - entityMetaDataAsProperties: - description: Metadata describing the API proxy revision as a key-value map. - type: object - additionalProperties: - type: string - name: + environment: type: string - description: Name of the API proxy. - targets: - type: array - items: - type: string - description: List of the targets included in the API proxy revision. - targetServers: description: >- - List of TargetServers referenced in any TargetEndpoint in the API - proxy. Typically, you will see this element only when the API proxy - was created using the Edge UI. This is a 'manifest' setting designed - to provide visibility into the contents of the API proxy. - type: array - items: - type: string - contextInfo: + Name of an environment bound to the environment group in the + following format: `organizations/{org}/environments/{env}`. Only one + of environment or deployment_group will be set. + receiver: type: string - description: Revision number, app name, and organization for the API proxy. - configurationVersion: - $ref: '#/components/schemas/GoogleCloudApigeeV1ConfigVersion' description: >- - Version of the API proxy configuration schema to which the API proxy - conforms. Currently, the only supported value is 4.0 - (`majorVersion.minorVersion`). This setting may be used in the - future to track the evolution of the API proxy format. - proxyEndpoints: + The resource name of the proxy revision that is receiving this + basepath in the following format: + `organizations/{org}/apis/{api}/revisions/{rev}`. This field is + omitted from the IngressConfig unless the GetDeployedIngressConfig + API is called with view=FULL. + type: object + GoogleCloudApigeeV1QueryMetadata: + type: object + id: GoogleCloudApigeeV1QueryMetadata + properties: + startTimestamp: + type: string + description: Start timestamp of the query range. + dimensions: + description: Dimensions of the AsyncQuery. items: type: string - description: >- - List of ProxyEndpoints in the `/proxies` directory of the API proxy. - Typically, this element is included only when the API proxy was - created using the Edge UI. This is a 'manifest' setting designed to - provide visibility into the contents of the API proxy. type: array - basepaths: - description: Base URL of the API proxy. - type: array - items: - type: string - proxies: + metrics: + description: >- + Metrics of the AsyncQuery. Example: + ["name:message_count,func:sum,alias:sum_message_count"] type: array items: type: string - description: List of proxy names included in the API proxy revision. - teams: - type: array + outputFormat: + description: Output format. + type: string + timeUnit: + description: Query GroupBy time unit. + type: string + endTimestamp: + description: End timestamp of the query range. + type: string + GoogleCloudApigeeV1GenerateDownloadUrlResponse: + type: object + properties: + downloadUri: + type: string + description: >- + The Google Cloud Storage signed URL that can be used to download the + Archive zip file. + description: Response for GenerateDownloadUrl method. + id: GoogleCloudApigeeV1GenerateDownloadUrlResponse + GoogleCloudApigeeV1DeploymentConfig: + description: 'NEXT ID: 11' + id: GoogleCloudApigeeV1DeploymentConfig + properties: + endpoints: + type: object + additionalProperties: + type: string + description: >- + A mapping from basepaths to proxy endpoint names in this proxy. Not + populated for shared flows. + location: + type: string + description: Location of the API proxy bundle as a URI. + name: + description: >- + Name of the API or shared flow revision to be deployed in the + following format: `organizations/{org}/apis/{api}/revisions/{rev}` + or `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}` + type: string + basePath: + type: string + description: Base path where the application will be hosted. Defaults to "/". + proxyUid: + description: Unique ID of the API proxy revision. + type: string + deploymentGroups: items: type: string - description: List of the teams included in the API proxy revision. - archive: + description: >- + The list of deployment groups in which this proxy should be + deployed. Not currently populated for shared flows. + type: array + serviceAccount: type: string description: >- - Output only. The archive that generated this proxy revision. This - field is only present on proxy revisions that were generated by an - archive. Proxies generated by archives cannot be updated, deleted, - or deployed to other environments. Format: - `organizations/*/environments/*/archiveDeployments/*` - readOnly: true - id: GoogleCloudApigeeV1ApiProxyRevision - type: object - GoogleCloudApigeeV1DataCollector: - description: Data collector configuration. + The service account identity associated with this deployment. If + non-empty, will be in the following format: + `projects/-/serviceAccounts/{account_email}` + uid: + type: string + description: >- + Unique ID. The ID will only change if the deployment is deleted and + recreated. + attributes: + additionalProperties: + type: string + type: object + description: Additional key-value metadata for the deployment. type: object + GoogleIamV1AuditLogConfig: properties: - createdAt: + exemptedMembers: + type: array description: >- - Output only. The time at which the data collector was created in - milliseconds since the epoch. - readOnly: true - type: string - format: int64 - type: - description: Immutable. The type of data this data collector will collect. + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. + items: + type: string + logType: type: string enumDescriptions: - - For future compatibility. - - For integer values. - - For float values. - - For string values. - - For boolean values. - - For datetime values. + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' enum: - - TYPE_UNSPECIFIED - - INTEGER - - FLOAT - - STRING - - BOOLEAN - - DATETIME - description: + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ + description: The log type that this config enables. + id: GoogleIamV1AuditLogConfig + type: object + description: >- + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. + GoogleCloudApigeeV1EnvironmentGroupAttachment: + description: >- + EnvironmentGroupAttachment is a resource which defines an attachment of + an environment to an environment group. + type: object + properties: + environment: type: string - description: A description of the data collector. - lastModifiedAt: + description: Required. ID of the attached environment. + environmentGroupId: + description: Output only. ID of the environment group. readOnly: true + type: string + createdAt: + type: string format: int64 description: >- - Output only. The time at which the Data Collector was last updated - in milliseconds since the epoch. - type: string + Output only. The time at which the environment group attachment was + created as milliseconds since epoch. + readOnly: true name: type: string - description: ID of the data collector. Must begin with `dc_`. - id: GoogleCloudApigeeV1DataCollector - GoogleCloudApigeeV1QueryTimeSeriesStatsResponse: + description: ID of the environment group attachment. + id: GoogleCloudApigeeV1EnvironmentGroupAttachment + GoogleCloudApigeeV1TlsInfo: properties: - nextPageToken: - type: string - description: Next page token. - values: - description: Results of the query returned as a JSON array. - items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence + enforce: + description: TLS is strictly enforced. + type: boolean + clientAuthEnabled: + type: boolean + description: Optional. Enables two-way TLS. + protocols: type: array - columns: + description: The TLS versioins to be used. + items: + type: string + keyAlias: + type: string description: >- - Column names corresponding to the same order as the inner values in - the stats field. + Required if `client_auth_enabled` is true. The resource ID for the + alias containing the private key and cert. + commonName: + $ref: '#/components/schemas/GoogleCloudApigeeV1TlsInfoCommonName' + description: The TLS Common Name of the certificate. + enabled: + description: >- + Required. Enables TLS. If false, neither one-way nor two-way TLS + will be enabled. + type: boolean + ignoreValidationErrors: + description: >- + If true, Edge ignores TLS certificate errors. Valid when configuring + TLS for target servers and target endpoints, and when configuring + virtual hosts that use 2-way TLS. When used with a target + endpoint/target server, if the backend system uses SNI and returns a + cert with a subject Distinguished Name (DN) that does not match the + hostname, there is no way to ignore the error and the connection + fails. + type: boolean + trustStore: + description: The resource ID of the truststore. + type: string + ciphers: items: type: string type: array - id: GoogleCloudApigeeV1QueryTimeSeriesStatsResponse - description: >- - Represents security stats result as a collection of time series - sequences. + description: >- + The SSL/TLS cipher suites to be used. For programmable proxies, it + must be one of the cipher suite names listed in: + http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. + For configurable proxies, it must follow the configuration specified + in: + https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. + This setting has no effect for configurable proxies when negotiating + TLS 1.3. + keyStore: + description: >- + Required if `client_auth_enabled` is true. The resource ID of the + keystore. + type: string + id: GoogleCloudApigeeV1TlsInfo type: object - GoogleCloudApigeeV1QueryMetric: + description: TLS configuration information for virtual hosts and TargetServers. + GoogleCloudApigeeV1DisableSecurityActionRequest: + description: Message to disable an enabled SecurityAction. + type: object + properties: {} + id: GoogleCloudApigeeV1DisableSecurityActionRequest + GoogleCloudApigeeV1FlowHookConfig: type: object - description: >- - More info about Metric: - https://docs.apigee.com/api-platform/analytics/analytics-reference#metrics - id: GoogleCloudApigeeV1QueryMetric properties: - function: - description: 'Aggregation function: avg, min, max, or sum.' + sharedFlowName: type: string + description: >- + Name of the shared flow to invoke in the following format: + `organizations/{org}/sharedflows/{sharedflow}` name: - description: Required. Metric name. - type: string - value: - description: Operand value should be provided when operator is set. - type: string - operator: - type: string - description: One of `+`, `-`, `/`, `%`, `*`. - alias: + description: >- + Name of the flow hook in the following format: + `organizations/{org}/environments/{env}/flowhooks/{point}`. Valid + `point` values include: `PreProxyFlowHook`, `PostProxyFlowHook`, + `PreTargetFlowHook`, and `PostTargetFlowHook` type: string + continueOnError: description: >- - Alias for the metric. Alias will be used to replace metric name in - query results. - GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest: + Flag that specifies whether the flow should abort after an error in + the flow hook. Defaults to `true` (continue on error). + type: boolean + id: GoogleCloudApigeeV1FlowHookConfig + GoogleCloudApigeeV1ListSecurityProfilesV2Response: + id: GoogleCloudApigeeV1ListSecurityProfilesV2Response + description: Response for ListSecurityProfilesV2. type: object - id: GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest properties: - requests: + securityProfilesV2: type: array + description: List of security profiles in the organization. items: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1UpdateSecurityIncidentRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileV2' + nextPageToken: description: >- - Optional. Required. The request message specifying the resources to - update. A maximum of 1000 can be modified in a batch. - description: Request for BatchUpdateSecurityIncident. - parameters: - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - key: + A token that can be sent as `page_token` to retrieve the next page. + If this field is omitted, there are no subsequent pages. + type: string + GoogleCloudApigeeV1ListSecurityProfilesResponse: + properties: + nextPageToken: + description: >- + A token that can be sent as `page_token` to retrieve the next page. + If this field is omitted, there are no subsequent pages. + type: string + securityProfiles: + type: array + description: >- + List of security profiles in the organization. The profiles may be + attached or unattached to any environment. This will return latest + revision of each profile. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + description: Response for ListSecurityProfiles. + type: object + id: GoogleCloudApigeeV1ListSecurityProfilesResponse + GoogleCloudApigeeV1CommonNameConfig: + properties: + matchWildCards: + type: boolean + name: + type: string + id: GoogleCloudApigeeV1CommonNameConfig + type: object + GoogleCloudApigeeV1Property: + type: object + description: A single property entry in the Properties message. + properties: + value: + description: The property value + type: string + name: + description: The property key + type: string + id: GoogleCloudApigeeV1Property + GoogleCloudApigeeV1Operation: + id: GoogleCloudApigeeV1Operation description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - callback: - description: JSONP - in: query - name: callback - schema: - type: string - x-stackQL-resources: - projects: - id: google.apigee.projects - name: projects - title: Projects - methods: - projects_provision_organization: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}:provisionOrganization/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - apiproducts: - id: google.apigee.apiproducts - name: apiproducts - title: Apiproducts - methods: - organizations_appgroups_apps_keys_apiproducts_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_keys_apiproducts_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apiproducts_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apiproducts_update: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}/put - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apiproducts_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apiproducts_create: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apiproducts/post' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apiproducts_list: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apiproducts/get' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apiproducts_attributes: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_get - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_list - insert: - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_create - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_update - delete: - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_appgroups_apps_keys_apiproducts_delete - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_developers_apps_keys_apiproducts_delete - - $ref: >- - #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_delete - apiproducts_app_group_app_key_api_product: - id: google.apigee.apiproducts_app_group_app_key_api_product - name: apiproducts_app_group_app_key_api_product - title: Apiproducts_app_group_app_key_api_product - methods: - organizations_appgroups_apps_keys_apiproducts_update_app_group_app_key_api_product: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/apiproducts_app_group_app_key_api_product/methods/organizations_appgroups_apps_keys_apiproducts_update_app_group_app_key_api_product - replace: [] - delete: [] - keys: - id: google.apigee.keys - name: keys - title: Keys - methods: - organizations_appgroups_apps_keys_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_appgroups_apps_keys_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_appgroups_apps_keys_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_keys_replace_developer_app_key: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/put - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_keys_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_keys_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_keys_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_appgroups_apps_keys_get - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_get - insert: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_appgroups_apps_keys_create - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_create - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_replace_developer_app_key - delete: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_appgroups_apps_keys_delete - - $ref: >- - #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_delete - keys_app_group_app_key: - id: google.apigee.keys_app_group_app_key - name: keys_app_group_app_key - title: Keys_app_group_app_key - methods: - organizations_appgroups_apps_keys_update_app_group_app_key: - operation: + Represents the pairing of REST resource path and the actions (verbs) + allowed on the resource path. + properties: + methods: + description: >- + methods refers to the REST verbs as in + https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none + specified, all verb types are allowed. + items: + type: string + type: array + resource: + type: string + description: >- + Required. REST resource path associated with the API proxy or remote + service. + type: object + GoogleCloudApigeeV1CreditDeveloperBalanceRequest: + properties: + transactionId: + type: string + description: >- + Each transaction_id uniquely identifies a credit balance request. If + multiple requests are received with the same transaction_id, only + one of them will be considered. + transactionAmount: + description: >- + The amount of money to be credited. The wallet corresponding to the + currency specified within `transaction_amount` will be updated. For + example, if you specified `currency_code` within + `transaction_amount` as "USD", then the amount would be added to the + wallet which has the "USD" currency or if no such wallet exists, a + new wallet will be created with the "USD" currency. + $ref: '#/components/schemas/GoogleTypeMoney' + type: object + description: Request for CreditDeveloperBalance. + id: GoogleCloudApigeeV1CreditDeveloperBalanceRequest + GoogleCloudApigeeV1DeveloperApp: + id: GoogleCloudApigeeV1DeveloperApp + properties: + apiProducts: + items: + type: string + type: array + description: List of API products associated with the developer app. + name: + type: string + description: Name of the developer app. + scopes: + items: + type: string + description: >- + Scopes to apply to the developer app. The specified scopes must + already exist for the API product that you associate with the + developer app. + type: array + createdAt: + readOnly: true + description: >- + Output only. Time the developer app was created in milliseconds + since epoch. + format: int64 + type: string + appFamily: + type: string + description: Developer app family. + keyExpiresIn: + description: >- + 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. + format: int64 + type: string + callbackUrl: + type: string + description: >- + Callback URL used by OAuth 2.0 authorization servers to communicate + authorization codes back to developer apps. + credentials: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Credential' + readOnly: true + type: array + description: >- + Output only. Set of credentials for the developer app consisting of + the consumer key/secret pairs associated with the API products. + attributes: + description: List of attributes for the developer app. + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + appId: + type: string + description: ID of the developer app. + developerId: + description: ID of the developer. + type: string + lastModifiedAt: + type: string + readOnly: true + format: int64 + description: >- + Output only. Time the developer app was modified in milliseconds + since epoch. + status: + type: string + description: >- + Status of the credential. Valid values include `approved` or + `revoked`. + type: object + GoogleCloudApigeeV1ResourceStatus: + properties: + resource: + description: >- + The resource name. Currently only two resources are supported: + EnvironmentGroup - organizations/{org}/envgroups/{envgroup} + EnvironmentConfig - + organizations/{org}/environments/{environment}/deployedConfig + type: string + totalReplicas: + description: The total number of replicas that should have this resource. + format: int32 + type: integer + uid: + type: string + description: >- + The uid of the resource. In the unexpected case that the instance + has multiple uids for the same name, they should be reported under + separate ResourceStatuses. + revisions: + type: array + description: Revisions of the resource currently deployed in the instance. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1RevisionStatus' + type: object + id: GoogleCloudApigeeV1ResourceStatus + description: The status of a resource loaded in the runtime. + GoogleCloudApigeeV1OptimizedStatsResponse: + id: GoogleCloudApigeeV1OptimizedStatsResponse + type: object + description: Encapsulates a response format for JavaScript Optimized Scenario. + properties: + metaData: + $ref: '#/components/schemas/GoogleCloudApigeeV1Metadata' + description: Metadata information about the query executed. + resultTruncated: + description: >- + Boolean flag that indicates whether the results were truncated based + on the limit parameter. + type: boolean + stats: + $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStatsNode' + description: '`stats` results.' + TimeUnit: + type: array + description: >- + List of time unit values. Time unit refers to an epoch timestamp + value. + items: + format: int64 + type: string + GoogleCloudApigeeV1ReportInstanceStatusResponse: + type: object + properties: {} + description: Placeholder for future enhancements to status reporting protocol + id: GoogleCloudApigeeV1ReportInstanceStatusResponse + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray: + type: object + description: An array of resource messages. + id: >- + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray + properties: + resources: + type: array + items: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/keys_app_group_app_key/methods/organizations_appgroups_apps_keys_update_app_group_app_key - replace: [] - delete: [] - apps: - id: google.apigee.apps - name: apps - title: Apps - methods: - organizations_appgroups_apps_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_appgroups_apps_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_appgroups_apps_update: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}/put - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_appgroups_apps_list: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.appGroupApps - organizations_appgroups_apps_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_list: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_generate_key_pair_or_update_developer_app_status: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_developers_apps_get: - operation: + #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource + description: >- + Required. The array of resources. For Apigee, the proxies are + resources. + GoogleCloudApigeeV1ListDatastoresResponse: + type: object + id: GoogleCloudApigeeV1ListDatastoresResponse + description: The response for ListDatastores + properties: + datastores: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' + type: array + description: A list of datastores + GoogleCloudApigeeV1CustomReportMetric: + description: >- + This encapsulates a metric property of the form sum(message_count) where + name is message_count and function is sum + type: object + id: GoogleCloudApigeeV1CustomReportMetric + properties: + function: + type: string + description: aggregate function + name: + description: name of the metric + type: string + GoogleCloudApigeeV1SecurityActionFlag: + type: object + properties: + headers: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionHttpHeader' + description: >- + Optional. A list of HTTP headers to be sent to the target in case of + a FLAG SecurityAction. Limit 5 headers per SecurityAction. At least + one is mandatory. + description: The message that should be set in the case of a Flag action. + id: GoogleCloudApigeeV1SecurityActionFlag + GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse: + description: Response for ListDeveloperSubscriptions. + id: GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse + properties: + nextStartKey: + type: string + description: >- + Value that can be sent as `startKey` to retrieve the next page of + content. If this field is omitted, there are no subsequent pages. + developerSubscriptions: + description: List of all subscriptions. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' + type: array + type: object + GoogleCloudApigeeV1ListDataCollectorsResponse: + properties: + nextPageToken: + type: string + description: >- + Page token that you can include in a ListDataCollectors request to + retrieve the next page. If omitted, no subsequent pages exist. + dataCollectors: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + type: array + description: Data collectors in the specified organization. + type: object + id: GoogleCloudApigeeV1ListDataCollectorsResponse + description: Response for ListDataCollectors. + GoogleCloudApigeeV1InstanceAttachment: + description: >- + InstanceAttachment represents the installation of an environment onto an + instance. + properties: + createdAt: + readOnly: true + description: >- + Output only. Time the attachment was created in milliseconds since + epoch. + format: int64 + type: string + name: + type: string + description: Output only. ID of the attachment. + readOnly: true + environment: + type: string + description: ID of the attached environment. + id: GoogleCloudApigeeV1InstanceAttachment + type: object + GoogleIamV1TestIamPermissionsResponse: + id: GoogleIamV1TestIamPermissionsResponse + type: object + description: Response message for `TestIamPermissions` method. + properties: + permissions: + description: >- + A subset of `TestPermissionsRequest.permissions` that the caller is + allowed. + items: + type: string + type: array + GoogleCloudApigeeV1ResourceConfig: + properties: + location: + description: Location of the resource as a URI. + type: string + name: + description: >- + Resource name in the following format: + `organizations/{org}/environments/{env}/resourcefiles/{type}/{file}/revisions/{rev}` + Only environment-scoped resource files are supported. + type: string + type: object + id: GoogleCloudApigeeV1ResourceConfig + GoogleCloudApigeeV1FlowHook: + properties: + description: + type: string + description: Description of the flow hook. + continueOnError: + type: boolean + description: >- + 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`. + flowHookPoint: + description: >- + Output only. Where in the API call flow the flow hook is invoked. + Must be one of `PreProxyFlowHook`, `PostProxyFlowHook`, + `PreTargetFlowHook`, or `PostTargetFlowHook`. + type: string + readOnly: true + sharedFlow: + description: >- + Shared flow attached to this flow hook, or empty if there is none + attached. + type: string + type: object + id: GoogleCloudApigeeV1FlowHook + GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute: + id: GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute + properties: + percentage: + description: Percentage of ingress replicas reporting this route. + type: integer + format: int32 + basepath: + description: Base path in the routing table. + type: string + envgroup: + type: string + description: Environment group where this route is installed. + environment: + type: string + description: >- + Destination environment. This will be empty if the route is not yet + reported. + type: object + description: Route deployed in the ingress routing table. + GoogleCloudApigeeV1ComputeEnvironmentScoresRequest: + id: GoogleCloudApigeeV1ComputeEnvironmentScoresRequest + description: Request for ComputeEnvironmentScores. + type: object + properties: + pageSize: + description: >- + Optional. The maximum number of subcomponents to be returned in a + single page. The service may return fewer than this value. If + unspecified, at most 100 subcomponents will be returned in a single + page. + format: int32 + type: integer + timeRange: + $ref: '#/components/schemas/GoogleTypeInterval' + description: >- + Required. Time range for score calculation. At most 14 days of + scores will be returned, and both the start and end dates must be + within the last 90 days. + pageToken: + description: >- + Optional. A token that can be sent as `page_token` to retrieve the + next page. If this field is omitted, there are no subsequent pages. + type: string + filters: + items: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/get + #/components/schemas/GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter + description: >- + Optional. Filters are used to filter scored components. Return all + the components if no filter is mentioned. Example: [{ "scorePath": + "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" + }, { "scorePath": + "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/target", + }] This will return components with path: + "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" + OR + "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/target" + type: array + GoogleCloudApigeeV1ProfileConfigCategory: + type: object + description: >- + Advanced API Security provides security profile that scores the + following categories. + properties: + mtls: + description: Checks to see if you have configured mTLS for the target server. + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigMTLS' + cors: + description: Checks to see if you have CORS policy in place. + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigCORS' + threat: + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigThreat' + description: Checks to see if you have a threat protection policy in place. + abuse: + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigAbuse' + description: >- + Checks for abuse, which includes any requests sent to the API for + purposes other than what it is intended for, such as high volumes of + requests, data scraping, and abuse related to authorization. + mediation: + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigMediation' + description: Checks to see if you have a mediation policy in place. + authorization: + $ref: '#/components/schemas/GoogleCloudApigeeV1ProfileConfigAuthorization' + description: Checks to see if you have an authorization policy in place. + id: GoogleCloudApigeeV1ProfileConfigCategory + GoogleCloudApigeeV1DateRange: + properties: + start: + description: >- + Required. Start date of the data to export in the format + `yyyy-mm-dd`. The date range begins at 00:00:00 UTC on the start + date. + type: string + end: + description: >- + Required. End date (exclusive) of the data to export in the format + `yyyy-mm-dd`. The date range ends at 00:00:00 UTC on the end date- + which will not be in the output. + type: string + id: GoogleCloudApigeeV1DateRange + type: object + description: Date range of the data to export. + GoogleCloudApigeeV1App: + type: object + id: GoogleCloudApigeeV1App + properties: + developerEmail: + type: string + description: Email of the developer. + companyName: + description: Name of the company that owns the app. + type: string + appGroup: + type: string + description: Name of the AppGroup + lastModifiedAt: + description: Output only. Last modified time as milliseconds since epoch. + type: string + format: int64 + readOnly: true + name: + description: Name of the app. + type: string + developerId: + description: ID of the developer. + type: string + callbackUrl: + type: string + description: >- + Callback URL used by OAuth 2.0 authorization servers to communicate + authorization codes back to apps. + appId: + type: string + description: ID of the app. + status: + type: string + description: Status of the credential. + keyExpiresIn: + description: >- + Duration, in milliseconds, of the consumer key that will be + generated for the app. The default value, -1, indicates an infinite + validity period. Once set, the expiration can't be updated. json + key: keyExpiresIn + type: string + format: int64 + apiProducts: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProductRef' + description: List of API products associated with the app. + type: array + attributes: + description: List of attributes. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + type: array + createdAt: + readOnly: true + type: string + format: int64 + description: Output only. Unix time when the app was created. + scopes: + type: array + items: + type: string + description: >- + Scopes to apply to the app. The specified scope names must already + exist on the API product that you associate with the app. + credentials: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Credential' + type: array + readOnly: true + description: >- + Output only. Set of credentials for the app. Credentials are API + key/secret pairs associated with API products. + GoogleCloudApigeeV1QueryMetric: + id: GoogleCloudApigeeV1QueryMetric + type: object + properties: + function: + type: string + description: 'Aggregation function: avg, min, max, or sum.' + name: + description: Required. Metric name. + type: string + value: + description: Operand value should be provided when operator is set. + type: string + alias: + type: string + description: >- + Alias for the metric. Alias will be used to replace metric name in + query results. + operator: + type: string + description: One of `+`, `-`, `/`, `%`, `*`. + description: >- + More info about Metric: + https://docs.apigee.com/api-platform/analytics/analytics-reference#metrics + GoogleCloudApigeeV1ProfileConfigThreat: + id: GoogleCloudApigeeV1ProfileConfigThreat + description: >- + By default, following policies will be included: - XMLThreatProtection - + JSONThreatProtection + properties: {} + type: object + GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse: + id: GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse + properties: + securityAssessmentResults: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResult' + description: Default sort order is by resource name in alphabetic order. + type: array + assessmentTime: + format: google-datetime + description: The time of the assessment api call. + type: string + nextPageToken: + type: string + description: >- + A token that can be sent as `page_token` to retrieve the next page. + If this field is blank, there are no subsequent pages. + type: object + description: Response for BatchComputeSecurityAssessmentResults. + GoogleCloudApigeeV1GetSyncAuthorizationRequest: + properties: {} + description: Request for GetSyncAuthorization. + id: GoogleCloudApigeeV1GetSyncAuthorizationRequest + type: object + GoogleCloudApigeeV1MetricAggregation: + properties: + aggregation: + enumDescriptions: + - Unspecified Aggregation function. + - Average. + - Summation. + - Min. + - Max. + - Count distinct + description: Aggregation function associated with the metric. + enum: + - AGGREGATION_FUNCTION_UNSPECIFIED + - AVG + - SUM + - MIN + - MAX + - COUNT_DISTINCT + type: string + order: + enumDescriptions: + - Unspecified order. Default is Descending. + - Ascending sort order. + - Descending sort order. + type: string + enum: + - ORDER_UNSPECIFIED + - ASCENDING + - DESCENDING + description: >- + Ordering for this aggregation in the result. For time series this is + ignored since the ordering of points depends only on the timestamp, + not the values. + name: + description: Name of the metric + type: string + description: The optionally aggregated metric to query with its ordering. + type: object + id: GoogleCloudApigeeV1MetricAggregation + GoogleCloudApigeeV1Subscription: + description: Pub/Sub subscription of an environment. + id: GoogleCloudApigeeV1Subscription + properties: + name: + description: >- + Full name of the Pub/Sub subcription. Use the following structure in + your request: `subscription "projects/foo/subscription/bar"` + type: string + type: object + GoogleLongrunningOperation: + properties: + done: + type: boolean + description: >- + 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. + metadata: + description: >- + 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. + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + error: + description: >- + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/GoogleRpcStatus' + name: + type: string + description: >- + 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}`. + response: + description: >- + 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`. + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + This resource represents a long-running operation that is the result of + a network API call. + id: GoogleLongrunningOperation + type: object + GoogleCloudApigeeV1ListInstancesResponse: + id: GoogleCloudApigeeV1ListInstancesResponse + type: object + properties: + nextPageToken: + description: >- + Page token that you can include in a ListInstance request to + retrieve the next page of content. If omitted, no subsequent pages + exist. + type: string + instances: + type: array + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' + description: Instances in the specified organization. + description: Response for ListInstances. + GoogleCloudApigeeV1AccessRemove: + type: object + id: GoogleCloudApigeeV1AccessRemove + properties: + name: + type: string + success: + type: boolean + description: >- + Remove action. For example, "Remove" : { "name" : "target.name", + "success" : true } + GoogleCloudApigeeV1SchemaSchemaElement: + description: Message type for the schema element + type: object + properties: + properties: + description: >- + Properties for the schema field. For example: { "createTime": + "2016-02-26T10:23:09.592Z", "custom": "false", "type": "string" } + $ref: '#/components/schemas/GoogleCloudApigeeV1SchemaSchemaProperty' + name: + type: string + description: Name of the field. + id: GoogleCloudApigeeV1SchemaSchemaElement + GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation: + type: object + properties: + displayName: + description: The display name of the assessment. + type: string + recommendations: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation + description: The recommended steps of the assessment. + scoreImpact: + format: int32 + description: >- + Score impact indicates the impact on the overall score if the + assessment were to pass. + type: integer + weight: + description: The weight of the assessment which was set in the profile. + enum: + - WEIGHT_UNSPECIFIED + - MINOR + - MODERATE + - MAJOR + type: string + enumDescriptions: + - The weight is unspecified. + - The weight is minor. + - The weight is moderate. + - The weight is major. + verdict: + description: Verdict indicates the assessment result. + enum: + - VERDICT_UNSPECIFIED + - PASS + - FAIL + enumDescriptions: + - The verdict is unspecified. + - The assessment has passed. + - The assessment has failed. + type: string + id: >- + GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation + description: The message format of a recommendation from the assessment. + GoogleCloudApigeeV1ListArchiveDeploymentsResponse: + id: GoogleCloudApigeeV1ListArchiveDeploymentsResponse + description: Response for ListArchiveDeployments method. + properties: + archiveDeployments: + description: Archive Deployments in the specified environment. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' + type: array + nextPageToken: + type: string + description: >- + Page token that you can include in a ListArchiveDeployments request + to retrieve the next page. If omitted, no subsequent pages exist. + type: object + GoogleCloudApigeeV1DebugMask: + id: GoogleCloudApigeeV1DebugMask + properties: + requestJSONPaths: + type: array + items: + type: string + description: >- + List of JSON paths that specify the JSON elements to be filtered + from JSON request message payloads. + requestXPaths: + type: array + description: >- + List of XPaths that specify the XML elements to be filtered from XML + request message payloads. + items: + type: string + responseJSONPaths: + items: + type: string + description: >- + List of JSON paths that specify the JSON elements to be filtered + from JSON response message payloads. + type: array + variables: + items: + type: string + type: array + description: List of variables that should be masked from the debug output. + namespaces: + type: object + additionalProperties: + type: string + description: Map of namespaces to URIs. + faultXPaths: + type: array + items: + type: string + description: >- + List of XPaths that specify the XML elements to be filtered from XML + payloads in error flows. + responseXPaths: + items: + type: string + description: >- + List of XPaths that specify the XML elements to be filtered from XML + response message payloads. + type: array + name: + type: string + description: Name of the debug mask. + faultJSONPaths: + items: + type: string + description: >- + List of JSON paths that specify the JSON elements to be filtered + from JSON payloads in error flows. + type: array + type: object + GoogleCloudApigeeV1ApiDocDocumentation: + properties: + oasDocumentation: + $ref: '#/components/schemas/GoogleCloudApigeeV1OASDocumentation' + description: Optional. OpenAPI Specification documentation. + graphqlDocumentation: + description: Optional. GraphQL documentation. + $ref: '#/components/schemas/GoogleCloudApigeeV1GraphqlDocumentation' + type: object + description: The documentation for a catalog item. + id: GoogleCloudApigeeV1ApiDocDocumentation + GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink: + type: object + id: >- + GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink + description: The format for a link in the recommendation. + properties: + text: + type: string + description: 'The text of the url. (ie: "Learn more")' + uri: + type: string + description: The link itself. + GoogleCloudApigeeV1SecurityReportQuery: + properties: + metrics: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportQueryMetric' + type: array + description: A list of Metrics. + dimensions: + items: + type: string + type: array + description: >- + A list of dimensions. + https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions + reportDefinitionId: + description: Report Definition ID. + type: string + csvDelimiter: + type: string + description: >- + Delimiter used in the CSV file, if `outputFormat` is set to `csv`. + Defaults to the `,` (comma) character. Supported delimiter + characters include comma (`,`), pipe (`|`), and tab (`\t`). + timeRange: + description: >- + Required. Time range for the query. Can use the following predefined + strings to specify the time range: `last60minutes` `last24hours` + `last7days` Or, specify the timeRange as a structure describing + start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. + Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": + "2018-08-01T00:18:00Z" } + type: any + filter: + description: >- + Boolean expression that can be used to filter data. Filter + expressions can be combined using AND/OR terms and should be fully + parenthesized to avoid ambiguity. See Analytics metrics, dimensions, + and filters reference + https://docs.apigee.com/api-platform/analytics/analytics-reference + for more information on the fields available to filter on. For more + information on the tokens that you use to build filter expressions, + see Filter expression syntax. + https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax + type: string + groupByTimeUnit: + description: >- + Time unit used to group the result set. Valid values include: + second, minute, hour, day, week, or month. If a query includes + groupByTimeUnit, then the result is an aggregation based on the + specified time unit and the resultant timestamp does not include + milliseconds precision. If a query omits groupByTimeUnit, then the + resultant timestamp includes milliseconds precision. + type: string + envgroupHostname: + type: string + description: >- + Hostname needs to be specified if query intends to run at host + level. This field is only allowed when query is submitted by + CreateHostSecurityReport where analytics data will be grouped by + organization and hostname. + mimeType: + description: >- + Valid values include: `csv` or `json`. Defaults to `json`. Note: + Configure the delimiter for CSV output using the csvDelimiter + property. + type: string + limit: + description: Maximum number of rows that can be returned in the result. + format: int32 + type: integer + displayName: + description: Security Report display name which users can specify. + type: string + description: Body structure when user makes a request to create a security report. + type: object + id: GoogleCloudApigeeV1SecurityReportQuery + GoogleCloudApigeeV1ListApiDocsResponse: + type: object + properties: + data: + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' + description: The catalog item resources. + type: array + errorCode: + type: string + description: Unique error code for the request, if any. + requestId: + description: Unique ID of the request. + type: string + message: + type: string + description: Description of the operation. + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + status: + type: string + description: Status of the operation. + id: GoogleCloudApigeeV1ListApiDocsResponse + GoogleCloudApigeeV1SecurityActionHttpHeader: + type: object + properties: + value: + type: string + description: The header value to be sent to the target. + name: + description: The header name to be sent to the target. + type: string + description: An HTTP header. + id: GoogleCloudApigeeV1SecurityActionHttpHeader + GoogleCloudApigeeV1ListApiProductsResponse: + type: object + id: GoogleCloudApigeeV1ListApiProductsResponse + properties: + apiProduct: + description: Lists all API product names defined for an organization. + items: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' + type: array + GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter: + type: object + id: GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter + description: >- + Filter scores by component path. Used custom filter instead of AIP-160 + as the use cases are highly constrained and predictable. + properties: + scorePath: + type: string + description: >- + Optional. Return scores for this component. Example: + "/org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" + GoogleCloudApigeeV1ApiProductRef: + properties: + status: + description: Status of the API product. Valid values are `approved` or `revoked`. + type: string + apiproduct: + description: Name of the API product. + type: string + id: GoogleCloudApigeeV1ApiProductRef + type: object + GoogleCloudApigeeV1SetAddonEnablementRequest: + description: Request for SetAddonEnablement. + properties: + apiSecurityEnabled: + type: boolean + description: If the API Security should be enabled in the environment. + analyticsEnabled: + description: If the Analytics should be enabled in the environment. + type: boolean + id: GoogleCloudApigeeV1SetAddonEnablementRequest + type: object + GoogleCloudApigeeV1ExportRequest: + properties: + datastoreName: + description: Required. Name of the preconfigured datastore. + type: string + name: + type: string + description: Required. Display name of the export job. + csvDelimiter: + type: string + description: >- + Optional. Delimiter used in the CSV file, if `outputFormat` is set + to `csv`. Defaults to the `,` (comma) character. Supported delimiter + characters include comma (`,`), pipe (`|`), and tab (`\t`). + outputFormat: + type: string + description: >- + Optional. Output format of the export. Valid values include: `csv` + or `json`. Defaults to `json`. Note: Configure the delimiter for CSV + output using the `csvDelimiter` property. + dateRange: + $ref: '#/components/schemas/GoogleCloudApigeeV1DateRange' + description: Required. Date range of the data to export. + description: + type: string + description: Optional. Description of the export job. + id: GoogleCloudApigeeV1ExportRequest + description: Request body for [CreateExportRequest] + type: object + GoogleCloudApigeeV1TraceConfigOverride: + type: object + properties: + apiProxy: + type: string + description: >- + ID of the API proxy that will have its trace configuration + overridden. + name: + type: string + description: >- + ID of the trace configuration override specified as a + system-generated UUID. + samplingConfig: + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceSamplingConfig' + description: Trace configuration to override. + id: GoogleCloudApigeeV1TraceConfigOverride + description: A representation of a configuration override. + parameters: + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + callback: + description: JSONP + in: query + name: callback + schema: + type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + x-stackQL-resources: + projects: + id: google.apigee.projects + name: projects + title: Projects + methods: + projects_provision_organization: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}:provisionOrganization/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + deployed_ingress_config: + id: google.apigee.deployed_ingress_config + name: deployed_ingress_config + title: Deployed_ingress_config + methods: + organizations_get_deployed_ingress_config: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1deployedIngressConfig/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/deployed_ingress_config/methods/organizations_get_deployed_ingress_config + insert: [] + update: [] + replace: [] + delete: [] + organizations: + id: google.apigee.organizations + name: organizations + title: Organizations + methods: + organizations_delete: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_get: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_update: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_create: + operation: + $ref: '#/paths/~1v1~1organizations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_list: + operation: + $ref: '#/paths/~1v1~1organizations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_set_addons: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}:setAddons/post' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_set_sync_authorization: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}:setSyncAuthorization/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/organizations_get + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/organizations_list + insert: + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/organizations_create + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/organizations_update + delete: + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/organizations_delete + runtime_config: + id: google.apigee.runtime_config + name: runtime_config + title: Runtime_config + methods: + organizations_get_runtime_config: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1runtimeConfig/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/runtime_config/methods/organizations_get_runtime_config + insert: [] + update: [] + replace: [] + delete: [] + security_settings: + id: google.apigee.security_settings + name: security_settings + title: Security_settings + methods: + organizations_update_security_settings: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1securitySettings/patch + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_get_security_settings: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1securitySettings/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/security_settings/methods/organizations_get_security_settings + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/security_settings/methods/organizations_update_security_settings + replace: [] + delete: [] + control_plane_access: + id: google.apigee.control_plane_access + name: control_plane_access + title: Control_plane_access + methods: + organizations_update_control_plane_access: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1controlPlaneAccess/patch + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_get_control_plane_access: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1controlPlaneAccess/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/control_plane_access/methods/organizations_get_control_plane_access + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/control_plane_access/methods/organizations_update_control_plane_access + replace: [] + delete: [] + project_mapping: + id: google.apigee.project_mapping + name: project_mapping + title: Project_mapping + methods: + organizations_get_project_mapping: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}:getProjectMapping/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/project_mapping/methods/organizations_get_project_mapping + insert: [] + update: [] + replace: [] + delete: [] + sync_authorization: + id: google.apigee.sync_authorization + name: sync_authorization + title: Sync_authorization + methods: + organizations_get_sync_authorization: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}:getSyncAuthorization/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/sync_authorization/methods/organizations_get_sync_authorization + insert: [] + update: [] + replace: [] + delete: [] + sharedflows: + id: google.apigee.sharedflows + name: sharedflows + title: Sharedflows + methods: + organizations_sharedflows_get: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_sharedflows_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_sharedflows_create: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1sharedflows/post' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_sharedflows_list: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1sharedflows/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_get + - $ref: >- + #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_list + insert: + - $ref: >- + #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_create + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_delete + revisions_shared_flow_revision: + id: google.apigee.revisions_shared_flow_revision + name: revisions_shared_flow_revision + title: Revisions_shared_flow_revision + methods: + organizations_sharedflows_revisions_update_shared_flow_revision: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/revisions_shared_flow_revision/methods/organizations_sharedflows_revisions_update_shared_flow_revision + replace: [] + delete: [] + revisions: + id: google.apigee.revisions + name: revisions + title: Revisions + methods: + organizations_sharedflows_revisions_get: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_sharedflows_revisions_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_sharedflows_revisions_undeploy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_sharedflows_revisions_deploy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_apis_revisions_undeploy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_apis_revisions_deploy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apis_revisions_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_apps_update: + organizations_apis_revisions_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_apps_delete: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/revisions/methods/organizations_sharedflows_revisions_get + - $ref: >- + #/components/x-stackQL-resources/revisions/methods/organizations_apis_revisions_get + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/revisions/methods/organizations_sharedflows_revisions_delete + - $ref: >- + #/components/x-stackQL-resources/revisions/methods/organizations_apis_revisions_delete + deployments: + id: google.apigee.deployments + name: deployments + title: Deployments + methods: + organizations_sharedflows_revisions_deployments_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_apps_attributes: + organizations_sharedflows_deployments_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes/post + #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apps_get: + organizations_environments_deployments_get: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apps~1{appsId}/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apps_list: + organizations_environments_deployments_list: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apps/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_sharedflows_deployments_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1deployments/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_apis_deployments_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1deployments/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_apis_revisions_deployments_generate_undeploy_change_report: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments:generateUndeployChangeReport/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_apis_revisions_deployments_generate_deploy_change_report: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments:generateDeployChangeReport/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apis_revisions_deployments_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apis_deployments_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1deployments/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_deployments_list: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1deployments/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.app sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_get + #/components/x-stackQL-resources/deployments/methods/organizations_sharedflows_revisions_deployments_list - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_get + #/components/x-stackQL-resources/deployments/methods/organizations_environments_deployments_get - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_list + #/components/x-stackQL-resources/deployments/methods/organizations_environments_sharedflows_deployments_list - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_list + #/components/x-stackQL-resources/deployments/methods/organizations_environments_apis_deployments_list - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_apps_get + #/components/x-stackQL-resources/deployments/methods/organizations_apis_revisions_deployments_list - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_apps_list - insert: + #/components/x-stackQL-resources/deployments/methods/organizations_sharedflows_deployments_list - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_create + #/components/x-stackQL-resources/deployments/methods/organizations_environments_deployments_list - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_create + #/components/x-stackQL-resources/deployments/methods/organizations_apis_deployments_list + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/organizations_deployments_list + insert: [] update: [] - replace: + replace: [] + delete: [] + datacollectors: + id: google.apigee.datacollectors + name: datacollectors + title: Datacollectors + methods: + organizations_datacollectors_list: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1datacollectors/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.dataCollectors + organizations_datacollectors_create: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_datacollectors_get: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors~1{datacollectorsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_datacollectors_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors~1{datacollectorsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_datacollectors_patch: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors~1{datacollectorsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_update + #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_get - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_update - delete: + #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_list + insert: - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_delete + #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_create + update: - $ref: >- - #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_delete - appgroups: - id: google.apigee.appgroups - name: appgroups - title: Appgroups + #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_delete + balance: + id: google.apigee.balance + name: balance + title: Balance methods: - organizations_appgroups_list: + organizations_developers_balance_credit: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1appgroups/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1balance:credit/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.appGroups - organizations_appgroups_create: + organizations_developers_balance_adjust: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1appgroups/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1balance:adjust/post response: mediaType: application/json openAPIDocKey: '200' - organizations_appgroups_update: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + attributes: + id: google.apigee.attributes + name: attributes + title: Attributes + methods: + organizations_developers_attributes_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes~1{attributesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_appgroups_get: + organizations_developers_attributes_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes~1{attributesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_developers_attributes_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_developers_apps_attributes_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes~1{attributesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_developers_apps_attributes_get: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes~1{attributesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_developers_apps_attributes_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apiproducts_attributes_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apiproducts_attributes_get: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes~1{attributesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_appgroups_delete: + organizations_apiproducts_attributes_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes~1{attributesId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_get + #/components/x-stackQL-resources/attributes/methods/organizations_developers_apps_attributes_get - $ref: >- - #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_list - insert: + #/components/x-stackQL-resources/attributes/methods/organizations_developers_attributes_get - $ref: >- - #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_create - update: [] - replace: + #/components/x-stackQL-resources/attributes/methods/organizations_developers_apps_attributes_list - $ref: >- - #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_update - delete: + #/components/x-stackQL-resources/attributes/methods/organizations_apiproducts_attributes_get - $ref: >- - #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_delete - host_stats: - id: google.apigee.host_stats - name: host_stats - title: Host_stats - methods: - organizations_host_stats_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostStats~1{hostStatsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: + #/components/x-stackQL-resources/attributes/methods/organizations_developers_attributes_list - $ref: >- - #/components/x-stackQL-resources/host_stats/methods/organizations_host_stats_get + #/components/x-stackQL-resources/attributes/methods/organizations_apiproducts_attributes_list insert: [] update: [] replace: [] - delete: [] - canaryevaluations: - id: google.apigee.canaryevaluations - name: canaryevaluations - title: Canaryevaluations + delete: + - $ref: >- + #/components/x-stackQL-resources/attributes/methods/organizations_developers_apps_attributes_delete + - $ref: >- + #/components/x-stackQL-resources/attributes/methods/organizations_developers_attributes_delete + - $ref: >- + #/components/x-stackQL-resources/attributes/methods/organizations_apiproducts_attributes_delete + attributes_developer_attribute: + id: google.apigee.attributes_developer_attribute + name: attributes_developer_attribute + title: Attributes_developer_attribute methods: - organizations_instances_canaryevaluations_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1canaryevaluations~1{canaryevaluationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_instances_canaryevaluations_create: + organizations_developers_attributes_update_developer_attribute: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1canaryevaluations/post + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes~1{attributesId}/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/canaryevaluations/methods/organizations_instances_canaryevaluations_get - insert: + select: [] + insert: [] + update: - $ref: >- - #/components/x-stackQL-resources/canaryevaluations/methods/organizations_instances_canaryevaluations_create - update: [] + #/components/x-stackQL-resources/attributes_developer_attribute/methods/organizations_developers_attributes_update_developer_attribute replace: [] delete: [] - attachments: - id: google.apigee.attachments - name: attachments - title: Attachments + developers: + id: google.apigee.developers + name: developers + title: Developers methods: - organizations_instances_attachments_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_instances_attachments_list: + organizations_developers_attributes: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.attachments - organizations_instances_attachments_delete: + organizations_developers_list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments~1{attachmentsId}/delete + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1developers/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_attachments_get: + organizations_developers_create: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments~1{attachmentsId}/get + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1developers/post' response: mediaType: application/json openAPIDocKey: '200' - organizations_envgroups_attachments_delete: + organizations_developers_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments~1{attachmentsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_envgroups_attachments_get: + organizations_developers_set_developer_status: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments~1{attachmentsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/post response: mediaType: application/json openAPIDocKey: '200' - organizations_envgroups_attachments_list: + organizations_developers_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.environmentGroupAttachments - organizations_envgroups_attachments_create: + organizations_developers_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments/post + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/put response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_get - - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_get - - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_list + #/components/x-stackQL-resources/developers/methods/organizations_developers_get - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_list + #/components/x-stackQL-resources/developers/methods/organizations_developers_list insert: - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_create - - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_create + #/components/x-stackQL-resources/developers/methods/organizations_developers_create update: [] - replace: [] - delete: + replace: - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_delete + #/components/x-stackQL-resources/developers/methods/organizations_developers_update + delete: - $ref: >- - #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_delete - nat_addresses: - id: google.apigee.nat_addresses - name: nat_addresses - title: Nat_addresses + #/components/x-stackQL-resources/developers/methods/organizations_developers_delete + subscriptions: + id: google.apigee.subscriptions + name: subscriptions + title: Subscriptions methods: - organizations_instances_nat_addresses_get: + organizations_developers_subscriptions_expire: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses~1{natAddressesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions~1{subscriptionsId}:expire/post response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_nat_addresses_delete: + organizations_developers_subscriptions_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses~1{natAddressesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions~1{subscriptionsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_nat_addresses_create: + organizations_developers_subscriptions_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses/post + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions/post response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_nat_addresses_list: + organizations_developers_subscriptions_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.natAddresses - organizations_instances_nat_addresses_activate: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/organizations_developers_subscriptions_get + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/organizations_developers_subscriptions_list + insert: + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/organizations_developers_subscriptions_create + update: [] + replace: [] + delete: [] + create: + id: google.apigee.create + name: create + title: Create + methods: + organizations_developers_apps_keys_create_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses~1{natAddressesId}:activate/post + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1create/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_get - - $ref: >- - #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_list + select: [] insert: - $ref: >- - #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_create + #/components/x-stackQL-resources/create/methods/organizations_developers_apps_keys_create_create update: [] replace: [] - delete: + delete: [] + apiproducts_developer_app_key_api_product: + id: google.apigee.apiproducts_developer_app_key_api_product + name: apiproducts_developer_app_key_api_product + title: Apiproducts_developer_app_key_api_product + methods: + organizations_developers_apps_keys_apiproducts_update_developer_app_key_api_product: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: - $ref: >- - #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_delete - instances: - id: google.apigee.instances - name: instances - title: Instances + #/components/x-stackQL-resources/apiproducts_developer_app_key_api_product/methods/organizations_developers_apps_keys_apiproducts_update_developer_app_key_api_product + replace: [] + delete: [] + apiproducts: + id: google.apigee.apiproducts + name: apiproducts + title: Apiproducts methods: - organizations_instances_create: + organizations_developers_apps_keys_apiproducts_delete: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1instances/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_list: + organizations_appgroups_apps_keys_apiproducts_delete: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1instances/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.instances - organizations_instances_report_status: + organizations_apiproducts_attributes: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}:reportStatus/post + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes/post response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_patch: + organizations_apiproducts_list: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apiproducts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apiproducts_create: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apiproducts/post' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apiproducts_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_delete: + organizations_apiproducts_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_instances_get: + organizations_apiproducts_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/instances/methods/organizations_instances_get + #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_get - $ref: >- - #/components/x-stackQL-resources/instances/methods/organizations_instances_list + #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_list insert: - $ref: >- - #/components/x-stackQL-resources/instances/methods/organizations_instances_create - update: + #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_create + update: [] + replace: - $ref: >- - #/components/x-stackQL-resources/instances/methods/organizations_instances_patch - replace: [] + #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_update delete: - $ref: >- - #/components/x-stackQL-resources/instances/methods/organizations_instances_delete - developers: - id: google.apigee.developers - name: developers - title: Developers + #/components/x-stackQL-resources/apiproducts/methods/organizations_developers_apps_keys_apiproducts_delete + - $ref: >- + #/components/x-stackQL-resources/apiproducts/methods/organizations_appgroups_apps_keys_apiproducts_delete + - $ref: >- + #/components/x-stackQL-resources/apiproducts/methods/organizations_apiproducts_delete + keys: + id: google.apigee.keys + name: keys + title: Keys methods: - organizations_developers_set_developer_status: + organizations_developers_apps_keys_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys/post response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_delete: + organizations_developers_apps_keys_replace_developer_app_key: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_get: + organizations_developers_apps_keys_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_update: + organizations_developers_apps_keys_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_list: + organizations_appgroups_apps_keys_get: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1developers/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_create: + organizations_appgroups_apps_keys_delete: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1developers/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_attributes: + organizations_appgroups_apps_keys_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes/post + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/developers/methods/organizations_developers_get + #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_get - $ref: >- - #/components/x-stackQL-resources/developers/methods/organizations_developers_list + #/components/x-stackQL-resources/keys/methods/organizations_appgroups_apps_keys_get insert: - $ref: >- - #/components/x-stackQL-resources/developers/methods/organizations_developers_create + #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_create + - $ref: >- + #/components/x-stackQL-resources/keys/methods/organizations_appgroups_apps_keys_create update: [] replace: - $ref: >- - #/components/x-stackQL-resources/developers/methods/organizations_developers_update + #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_replace_developer_app_key delete: - $ref: >- - #/components/x-stackQL-resources/developers/methods/organizations_developers_delete - developers_monetization_config: - id: google.apigee.developers_monetization_config - name: developers_monetization_config - title: Developers_monetization_config + #/components/x-stackQL-resources/keys/methods/organizations_developers_apps_keys_delete + - $ref: >- + #/components/x-stackQL-resources/keys/methods/organizations_appgroups_apps_keys_delete + keys_developer_app_key: + id: google.apigee.keys_developer_app_key + name: keys_developer_app_key + title: Keys_developer_app_key methods: - organizations_developers_update_monetization_config: + organizations_developers_apps_keys_update_developer_app_key: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1monetizationConfig/put + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/post response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_get_monetization_config: + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/keys_developer_app_key/methods/organizations_developers_apps_keys_update_developer_app_key + replace: [] + delete: [] + attributes_developer_app_attribute: + id: google.apigee.attributes_developer_app_attribute + name: attributes_developer_app_attribute + title: Attributes_developer_app_attribute + methods: + organizations_developers_apps_attributes_update_developer_app_attribute: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1monetizationConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes~1{attributesId}/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/developers_monetization_config/methods/organizations_developers_get_monetization_config + select: [] insert: [] - update: [] - replace: + update: - $ref: >- - #/components/x-stackQL-resources/developers_monetization_config/methods/organizations_developers_update_monetization_config + #/components/x-stackQL-resources/attributes_developer_app_attribute/methods/organizations_developers_apps_attributes_update_developer_app_attribute + replace: [] delete: [] - attributes: - id: google.apigee.attributes - name: attributes - title: Attributes + apps: + id: google.apigee.apps + name: apps + title: Apps methods: - organizations_developers_attributes_list: + organizations_developers_apps_attributes: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes/post response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_attributes_get: + organizations_developers_apps_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes~1{attributesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_attributes_delete: + organizations_developers_apps_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes~1{attributesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_apps_attributes_list: + organizations_developers_apps_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_apps_attributes_get: + organizations_developers_apps_generate_key_pair_or_update_developer_app_status: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes~1{attributesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}/post response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_apps_attributes_delete: + organizations_developers_apps_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes~1{attributesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps/post response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_attributes_list: + organizations_developers_apps_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes/get + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_attributes_get: + organizations_appgroups_apps_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes~1{attributesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_attributes_delete: + organizations_appgroups_apps_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes~1{attributesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_appgroups_apps_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_appgroups_apps_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.appGroupApps + organizations_appgroups_apps_create: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_apps_list: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apps/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.app + organizations_apps_get: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apps~1{appsId}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_developers_apps_attributes_get + #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_get - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_developers_attributes_get + #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_get - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_developers_apps_attributes_list + #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_list - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_apiproducts_attributes_get + #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_list - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_developers_attributes_list + #/components/x-stackQL-resources/apps/methods/organizations_apps_get - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_apiproducts_attributes_list - insert: [] + #/components/x-stackQL-resources/apps/methods/organizations_apps_list + insert: + - $ref: >- + #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_create + - $ref: >- + #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_create update: [] - replace: [] - delete: + replace: - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_developers_apps_attributes_delete + #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_update - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_developers_attributes_delete + #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_update + delete: - $ref: >- - #/components/x-stackQL-resources/attributes/methods/organizations_apiproducts_attributes_delete + #/components/x-stackQL-resources/apps/methods/organizations_developers_apps_delete + - $ref: >- + #/components/x-stackQL-resources/apps/methods/organizations_appgroups_apps_delete developers_balance: id: google.apigee.developers_balance name: developers_balance @@ -9664,145 +10068,217 @@ components: update: [] replace: [] delete: [] - attributes_developer_attribute: - id: google.apigee.attributes_developer_attribute - name: attributes_developer_attribute - title: Attributes_developer_attribute + developers_monetization_config: + id: google.apigee.developers_monetization_config + name: developers_monetization_config + title: Developers_monetization_config methods: - organizations_developers_attributes_update_developer_attribute: + organizations_developers_update_monetization_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1attributes~1{attributesId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1monetizationConfig/put + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_developers_get_monetization_config: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1monetizationConfig/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: >- + #/components/x-stackQL-resources/developers_monetization_config/methods/organizations_developers_get_monetization_config insert: [] - update: + update: [] + replace: - $ref: >- - #/components/x-stackQL-resources/attributes_developer_attribute/methods/organizations_developers_attributes_update_developer_attribute - replace: [] + #/components/x-stackQL-resources/developers_monetization_config/methods/organizations_developers_update_monetization_config delete: [] - subscriptions: - id: google.apigee.subscriptions - name: subscriptions - title: Subscriptions + host_security_reports_result: + id: google.apigee.host_security_reports_result + name: host_security_reports_result + title: Host_security_reports_result methods: - organizations_developers_subscriptions_expire: + organizations_host_security_reports_get_result: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions~1{subscriptionsId}:expire/post + #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports~1{hostSecurityReportsId}~1result/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_subscriptions_list: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/host_security_reports_result/methods/organizations_host_security_reports_get_result + insert: [] + update: [] + replace: [] + delete: [] + host_security_reports: + id: google.apigee.host_security_reports + name: host_security_reports + title: Host_security_reports + methods: + organizations_host_security_reports_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions/get + #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports~1{hostSecurityReportsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_subscriptions_create: + organizations_host_security_reports_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions/post + #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports/post response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_subscriptions_get: + organizations_host_security_reports_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1subscriptions~1{subscriptionsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.securityReports sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/subscriptions/methods/organizations_developers_subscriptions_get + #/components/x-stackQL-resources/host_security_reports/methods/organizations_host_security_reports_get - $ref: >- - #/components/x-stackQL-resources/subscriptions/methods/organizations_developers_subscriptions_list + #/components/x-stackQL-resources/host_security_reports/methods/organizations_host_security_reports_list insert: - $ref: >- - #/components/x-stackQL-resources/subscriptions/methods/organizations_developers_subscriptions_create + #/components/x-stackQL-resources/host_security_reports/methods/organizations_host_security_reports_create update: [] replace: [] delete: [] - balance: - id: google.apigee.balance - name: balance - title: Balance + host_security_reports_result_view: + id: google.apigee.host_security_reports_result_view + name: host_security_reports_result_view + title: Host_security_reports_result_view methods: - organizations_developers_balance_adjust: + organizations_host_security_reports_get_result_view: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1balance:adjust/post + #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports~1{hostSecurityReportsId}~1resultView/get response: mediaType: application/json openAPIDocKey: '200' - organizations_developers_balance_credit: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/host_security_reports_result_view/methods/organizations_host_security_reports_get_result_view + insert: [] + update: [] + replace: [] + delete: [] + optimized_host_stats: + id: google.apigee.optimized_host_stats + name: optimized_host_stats + title: Optimized_host_stats + methods: + organizations_optimized_host_stats_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1balance:credit/post + #/paths/~1v1~1organizations~1{organizationsId}~1optimizedHostStats~1{optimizedHostStatsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: >- + #/components/x-stackQL-resources/optimized_host_stats/methods/organizations_optimized_host_stats_get insert: [] update: [] replace: [] delete: [] - keys_developer_app_key: - id: google.apigee.keys_developer_app_key - name: keys_developer_app_key - title: Keys_developer_app_key + host_stats: + id: google.apigee.host_stats + name: host_stats + title: Host_stats methods: - organizations_developers_apps_keys_update_developer_app_key: + organizations_host_stats_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1hostStats~1{hostStatsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: [] - update: + select: - $ref: >- - #/components/x-stackQL-resources/keys_developer_app_key/methods/organizations_developers_apps_keys_update_developer_app_key + #/components/x-stackQL-resources/host_stats/methods/organizations_host_stats_get + insert: [] + update: [] replace: [] delete: [] - create: - id: google.apigee.create - name: create - title: Create + reports: + id: google.apigee.reports + name: reports + title: Reports methods: - organizations_developers_apps_keys_create_create: + organizations_reports_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1create/post + #/paths/~1v1~1organizations~1{organizationsId}~1reports~1{reportsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_reports_update: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1reports~1{reportsId}/put + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_reports_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1reports~1{reportsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_reports_list: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1reports/get' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_reports_create: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1reports/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: >- + #/components/x-stackQL-resources/reports/methods/organizations_reports_get + - $ref: >- + #/components/x-stackQL-resources/reports/methods/organizations_reports_list insert: - $ref: >- - #/components/x-stackQL-resources/create/methods/organizations_developers_apps_keys_create_create + #/components/x-stackQL-resources/reports/methods/organizations_reports_create update: [] - replace: [] - delete: [] - apiproducts_developer_app_key_api_product: - id: google.apigee.apiproducts_developer_app_key_api_product - name: apiproducts_developer_app_key_api_product - title: Apiproducts_developer_app_key_api_product + replace: + - $ref: >- + #/components/x-stackQL-resources/reports/methods/organizations_reports_update + delete: + - $ref: >- + #/components/x-stackQL-resources/reports/methods/organizations_reports_delete + apiproducts_app_group_app_key_api_product: + id: google.apigee.apiproducts_app_group_app_key_api_product + name: apiproducts_app_group_app_key_api_product + title: Apiproducts_app_group_app_key_api_product methods: - organizations_developers_apps_keys_apiproducts_update_developer_app_key_api_product: + organizations_appgroups_apps_keys_apiproducts_update_app_group_app_key_api_product: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}~1apiproducts~1{apiproductsId}/post response: mediaType: application/json openAPIDocKey: '200' @@ -9811,18 +10287,18 @@ components: insert: [] update: - $ref: >- - #/components/x-stackQL-resources/apiproducts_developer_app_key_api_product/methods/organizations_developers_apps_keys_apiproducts_update_developer_app_key_api_product + #/components/x-stackQL-resources/apiproducts_app_group_app_key_api_product/methods/organizations_appgroups_apps_keys_apiproducts_update_app_group_app_key_api_product replace: [] delete: [] - attributes_developer_app_attribute: - id: google.apigee.attributes_developer_app_attribute - name: attributes_developer_app_attribute - title: Attributes_developer_app_attribute + keys_app_group_app_key: + id: google.apigee.keys_app_group_app_key + name: keys_app_group_app_key + title: Keys_app_group_app_key methods: - organizations_developers_apps_attributes_update_developer_app_attribute: + organizations_appgroups_apps_keys_update_app_group_app_key: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1developers~1{developersId}~1apps~1{appsId}~1attributes~1{attributesId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}~1apps~1{appsId}~1keys~1{keysId}/post response: mediaType: application/json openAPIDocKey: '200' @@ -9831,1046 +10307,931 @@ components: insert: [] update: - $ref: >- - #/components/x-stackQL-resources/attributes_developer_app_attribute/methods/organizations_developers_apps_attributes_update_developer_app_attribute + #/components/x-stackQL-resources/keys_app_group_app_key/methods/organizations_appgroups_apps_keys_update_app_group_app_key replace: [] delete: [] - host_security_reports: - id: google.apigee.host_security_reports - name: host_security_reports - title: Host_security_reports + appgroups: + id: google.apigee.appgroups + name: appgroups + title: Appgroups methods: - organizations_host_security_reports_list: + organizations_appgroups_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports/get + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.securityReports - organizations_host_security_reports_create: + organizations_appgroups_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports/post + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_host_security_reports_get: + organizations_appgroups_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports~1{hostSecurityReportsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1appgroups~1{appgroupsId}/put response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/host_security_reports/methods/organizations_host_security_reports_get - - $ref: >- - #/components/x-stackQL-resources/host_security_reports/methods/organizations_host_security_reports_list - insert: - - $ref: >- - #/components/x-stackQL-resources/host_security_reports/methods/organizations_host_security_reports_create - update: [] - replace: [] - delete: [] - host_security_reports_result_view: - id: google.apigee.host_security_reports_result_view - name: host_security_reports_result_view - title: Host_security_reports_result_view - methods: - organizations_host_security_reports_get_result_view: + organizations_appgroups_create: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports~1{hostSecurityReportsId}~1resultView/get + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1appgroups/post' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/host_security_reports_result_view/methods/organizations_host_security_reports_get_result_view - insert: [] - update: [] - replace: [] - delete: [] - host_security_reports_result: - id: google.apigee.host_security_reports_result - name: host_security_reports_result - title: Host_security_reports_result - methods: - organizations_host_security_reports_get_result: + organizations_appgroups_list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostSecurityReports~1{hostSecurityReportsId}~1result/get + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1appgroups/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.appGroups sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/host_security_reports_result/methods/organizations_host_security_reports_get_result - insert: [] + #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_get + - $ref: >- + #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_list + insert: + - $ref: >- + #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_create update: [] - replace: [] - delete: [] - endpoint_attachments: - id: google.apigee.endpoint_attachments - name: endpoint_attachments - title: Endpoint_attachments + replace: + - $ref: >- + #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_update + delete: + - $ref: >- + #/components/x-stackQL-resources/appgroups/methods/organizations_appgroups_delete + apicategories: + id: google.apigee.apicategories + name: apicategories + title: Apicategories methods: - organizations_endpoint_attachments_create: + organizations_sites_apicategories_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments/post + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories/get response: mediaType: application/json openAPIDocKey: '200' - organizations_endpoint_attachments_list: + organizations_sites_apicategories_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments/get + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.endpointAttachments - organizations_endpoint_attachments_get: + organizations_sites_apicategories_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments~1{endpointAttachmentsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories~1{apicategoriesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_endpoint_attachments_delete: + organizations_sites_apicategories_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments~1{endpointAttachmentsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories~1{apicategoriesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_sites_apicategories_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories~1{apicategoriesId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_get + #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_get - $ref: >- - #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_list + #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_list insert: - $ref: >- - #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_create - update: [] + #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_create + update: + - $ref: >- + #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_delete - security_profiles: - id: google.apigee.security_profiles - name: security_profiles - title: Security_profiles + #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_delete + apidocs: + id: google.apigee.apidocs + name: apidocs + title: Apidocs methods: - organizations_security_profiles_create: + organizations_sites_apidocs_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles/post + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_security_profiles_list: + organizations_sites_apidocs_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles/get + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.securityProfiles - organizations_security_profiles_get: + organizations_sites_apidocs_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_security_profiles_delete: + organizations_sites_apidocs_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs/get response: mediaType: application/json openAPIDocKey: '200' - organizations_security_profiles_patch: + objectKey: $.data + organizations_sites_apidocs_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_get + #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_get - $ref: >- - #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_list + #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_list insert: - $ref: >- - #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_create - update: + #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_create + update: [] + replace: - $ref: >- - #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_patch - replace: [] + #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_update delete: - $ref: >- - #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_delete - security_profiles_revisions: - id: google.apigee.security_profiles_revisions - name: security_profiles_revisions - title: Security_profiles_revisions + #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_delete + apidocs_documentation: + id: google.apigee.apidocs_documentation + name: apidocs_documentation + title: Apidocs_documentation methods: - organizations_security_profiles_list_revisions: + organizations_sites_apidocs_update_documentation: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}:listRevisions/get + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}~1documentation/patch + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_sites_apidocs_get_documentation: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}~1documentation/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.securityProfiles sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/security_profiles_revisions/methods/organizations_security_profiles_list_revisions + #/components/x-stackQL-resources/apidocs_documentation/methods/organizations_sites_apidocs_get_documentation insert: [] - update: [] + update: + - $ref: >- + #/components/x-stackQL-resources/apidocs_documentation/methods/organizations_sites_apidocs_update_documentation replace: [] delete: [] - environments: - id: google.apigee.environments - name: environments - title: Environments + attributes_api_product_attribute: + id: google.apigee.attributes_api_product_attribute + name: attributes_api_product_attribute + title: Attributes_api_product_attribute methods: - organizations_security_profiles_environments_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}~1environments/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_security_profiles_environments_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}~1environments~1{environmentsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_security_profiles_environments_compute_environment_scores: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}~1environments~1{environmentsId}:computeEnvironmentScores/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_environments_subscribe: + organizations_apiproducts_attributes_update_api_product_attribute: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:subscribe/post + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes~1{attributesId}/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_modify_environment: + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/attributes_api_product_attribute/methods/organizations_apiproducts_attributes_update_api_product_attribute + replace: [] + delete: [] + rateplans: + id: google.apigee.rateplans + name: rateplans + title: Rateplans + methods: + organizations_apiproducts_rateplans_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_delete: + organizations_apiproducts_rateplans_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_update: + organizations_apiproducts_rateplans_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans~1{rateplansId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_get: + organizations_apiproducts_rateplans_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans~1{rateplansId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_unsubscribe: + organizations_apiproducts_rateplans_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:unsubscribe/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_environments_create: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1environments/post' + #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans~1{rateplansId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/environments/methods/organizations_environments_get - insert: + #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_get - $ref: >- - #/components/x-stackQL-resources/environments/methods/organizations_security_profiles_environments_create + #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_list + insert: - $ref: >- - #/components/x-stackQL-resources/environments/methods/organizations_environments_create + #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_create update: [] replace: - $ref: >- - #/components/x-stackQL-resources/environments/methods/organizations_environments_update + #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_update delete: - $ref: >- - #/components/x-stackQL-resources/environments/methods/organizations_security_profiles_environments_delete - - $ref: >- - #/components/x-stackQL-resources/environments/methods/organizations_environments_delete - reports: - id: google.apigee.reports - name: reports - title: Reports + #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_delete + operations: + id: google.apigee.operations + name: operations + title: Operations methods: - organizations_reports_list: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1reports/get' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_reports_create: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1reports/post' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_reports_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1reports~1{reportsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_reports_delete: + organizations_operations_list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1reports~1{reportsId}/delete + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1operations/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_reports_update: + objectKey: $.operations + organizations_operations_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1reports~1{reportsId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/reports/methods/organizations_reports_get - - $ref: >- - #/components/x-stackQL-resources/reports/methods/organizations_reports_list - insert: + #/components/x-stackQL-resources/operations/methods/organizations_operations_get - $ref: >- - #/components/x-stackQL-resources/reports/methods/organizations_reports_create + #/components/x-stackQL-resources/operations/methods/organizations_operations_list + insert: [] update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/reports/methods/organizations_reports_update - delete: - - $ref: >- - #/components/x-stackQL-resources/reports/methods/organizations_reports_delete - deployments: - id: google.apigee.deployments - name: deployments - title: Deployments + replace: [] + delete: [] + security_actions: + id: google.apigee.security_actions + name: security_actions + title: Security_actions methods: - organizations_sharedflows_revisions_deployments_list: + organizations_environments_security_actions_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions~1{securityActionsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_sharedflows_deployments_list: + organizations_environments_security_actions_disable: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions~1{securityActionsId}:disable/post response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_deployments_list: + organizations_environments_security_actions_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_revisions_deployments_list: + objectKey: $.securityActions + organizations_environments_security_actions_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_deployments_get: + organizations_environments_security_actions_enable: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions~1{securityActionsId}:enable/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_deployments_list: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/security_actions/methods/organizations_environments_security_actions_get + - $ref: >- + #/components/x-stackQL-resources/security_actions/methods/organizations_environments_security_actions_list + insert: + - $ref: >- + #/components/x-stackQL-resources/security_actions/methods/organizations_environments_security_actions_create + update: [] + replace: [] + delete: [] + resourcefiles: + id: google.apigee.resourcefiles + name: resourcefiles + title: Resourcefiles + methods: + organizations_environments_resourcefiles_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_apis_deployments_list: + organizations_environments_resourcefiles_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_apis_revisions_deployments_generate_deploy_change_report: + organizations_environments_resourcefiles_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments:generateDeployChangeReport/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}~1{name}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_apis_revisions_deployments_generate_undeploy_change_report: + organizations_environments_resourcefiles_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments:generateUndeployChangeReport/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}~1{name}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_sharedflows_deployments_list: + organizations_environments_resourcefiles_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1deployments/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_deployments_list: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1deployments/get' + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}~1{name}/put response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_sharedflows_revisions_deployments_list - - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_apis_revisions_deployments_list - - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_environments_deployments_get - - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_environments_apis_deployments_list - - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_environments_sharedflows_deployments_list + #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_get - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_sharedflows_deployments_list + #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_list + insert: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_apis_deployments_list + #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_create + update: [] + replace: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_environments_deployments_list + #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_update + delete: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/organizations_deployments_list - insert: [] - update: [] - replace: [] - delete: [] - revisions_shared_flow_revision: - id: google.apigee.revisions_shared_flow_revision - name: revisions_shared_flow_revision - title: Revisions_shared_flow_revision + #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_delete + resourcefiles_environment_resources: + id: google.apigee.resourcefiles_environment_resources + name: resourcefiles_environment_resources + title: Resourcefiles_environment_resources methods: - organizations_sharedflows_revisions_update_shared_flow_revision: + organizations_environments_resourcefiles_list_environment_resources: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: [] - update: + select: - $ref: >- - #/components/x-stackQL-resources/revisions_shared_flow_revision/methods/organizations_sharedflows_revisions_update_shared_flow_revision + #/components/x-stackQL-resources/resourcefiles_environment_resources/methods/organizations_environments_resourcefiles_list_environment_resources + insert: [] + update: [] replace: [] delete: [] - revisions: - id: google.apigee.revisions - name: revisions - title: Revisions + caches: + id: google.apigee.caches + name: caches + title: Caches methods: - organizations_sharedflows_revisions_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_sharedflows_revisions_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apis_revisions_delete: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apis_revisions_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_environments_apis_revisions_undeploy: + organizations_environments_caches_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1caches~1{cachesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_apis_revisions_deploy: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/caches/methods/organizations_environments_caches_delete + deployments_iam_policies: + id: google.apigee.deployments_iam_policies + name: deployments_iam_policies + title: Deployments_iam_policies + methods: + organizations_environments_deployments_test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_sharedflows_revisions_deploy: + organizations_environments_deployments_get_iam_policy: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_sharedflows_revisions_undeploy: + objectKey: $.bindings + organizations_environments_deployments_set_iam_policy: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/revisions/methods/organizations_sharedflows_revisions_get - - $ref: >- - #/components/x-stackQL-resources/revisions/methods/organizations_apis_revisions_get + #/components/x-stackQL-resources/deployments_iam_policies/methods/organizations_environments_deployments_get_iam_policy insert: [] update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/revisions/methods/organizations_sharedflows_revisions_delete + replace: - $ref: >- - #/components/x-stackQL-resources/revisions/methods/organizations_apis_revisions_delete - sharedflows: - id: google.apigee.sharedflows - name: sharedflows - title: Sharedflows + #/components/x-stackQL-resources/deployments_iam_policies/methods/organizations_environments_deployments_set_iam_policy + delete: [] + references: + id: google.apigee.references + name: references + title: References methods: - organizations_sharedflows_create: + organizations_environments_references_get: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1sharedflows/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references~1{referencesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_sharedflows_list: + organizations_environments_references_update: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1sharedflows/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references~1{referencesId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_sharedflows_delete: + organizations_environments_references_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references~1{referencesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_sharedflows_get: + organizations_environments_references_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sharedflows~1{sharedflowsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_get - - $ref: >- - #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_list + #/components/x-stackQL-resources/references/methods/organizations_environments_references_get insert: - $ref: >- - #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_create + #/components/x-stackQL-resources/references/methods/organizations_environments_references_create update: [] - replace: [] - delete: + replace: - $ref: >- - #/components/x-stackQL-resources/sharedflows/methods/organizations_sharedflows_delete - optimized_host_stats: - id: google.apigee.optimized_host_stats - name: optimized_host_stats - title: Optimized_host_stats - methods: - organizations_optimized_host_stats_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1optimizedHostStats~1{optimizedHostStatsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: + #/components/x-stackQL-resources/references/methods/organizations_environments_references_update + delete: - $ref: >- - #/components/x-stackQL-resources/optimized_host_stats/methods/organizations_optimized_host_stats_get - insert: [] - update: [] - replace: [] - delete: [] - datacollectors: - id: google.apigee.datacollectors - name: datacollectors - title: Datacollectors + #/components/x-stackQL-resources/references/methods/organizations_environments_references_delete + security_incidents: + id: google.apigee.security_incidents + name: security_incidents + title: Security_incidents methods: - organizations_datacollectors_patch: + organizations_environments_security_incidents_batch_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors~1{datacollectorsId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents:batchUpdate/post response: mediaType: application/json openAPIDocKey: '200' - organizations_datacollectors_get: + organizations_environments_security_incidents_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors~1{datacollectorsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents~1{securityIncidentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_datacollectors_delete: + organizations_environments_security_incidents_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors~1{datacollectorsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_datacollectors_list: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1datacollectors/get' + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents~1{securityIncidentsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.dataCollectors - organizations_datacollectors_create: + organizations_environments_security_incidents_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1datacollectors/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.securityIncidents sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_get - - $ref: >- - #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_list - insert: + #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_get - $ref: >- - #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_create + #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_list + insert: [] update: - $ref: >- - #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/datacollectors/methods/organizations_datacollectors_delete - host_queries_result: - id: google.apigee.host_queries_result - name: host_queries_result - title: Host_queries_result - methods: - organizations_host_queries_get_result: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostQueries~1{hostQueriesId}~1result/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: + #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_patch - $ref: >- - #/components/x-stackQL-resources/host_queries_result/methods/organizations_host_queries_get_result - insert: [] - update: [] + #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_batch_update replace: [] delete: [] - host_queries: - id: google.apigee.host_queries - name: host_queries - title: Host_queries + revisions_deployments: + id: google.apigee.revisions_deployments + name: revisions_deployments + title: Revisions_deployments methods: - organizations_host_queries_list: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1hostQueries/get' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_host_queries_create: + organizations_environments_sharedflows_revisions_get_deployments: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1hostQueries/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' - organizations_host_queries_get: + organizations_environments_apis_revisions_get_deployments: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostQueries~1{hostQueriesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/host_queries/methods/organizations_host_queries_get - - $ref: >- - #/components/x-stackQL-resources/host_queries/methods/organizations_host_queries_list - insert: + #/components/x-stackQL-resources/revisions_deployments/methods/organizations_environments_sharedflows_revisions_get_deployments - $ref: >- - #/components/x-stackQL-resources/host_queries/methods/organizations_host_queries_create + #/components/x-stackQL-resources/revisions_deployments/methods/organizations_environments_apis_revisions_get_deployments + insert: [] update: [] replace: [] delete: [] - host_queries_result_view: - id: google.apigee.host_queries_result_view - name: host_queries_result_view - title: Host_queries_result_view + queries_resulturl: + id: google.apigee.queries_resulturl + name: queries_resulturl + title: Queries_resulturl methods: - organizations_host_queries_get_result_view: + organizations_environments_queries_get_resulturl: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1hostQueries~1{hostQueriesId}~1resultView/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries~1{queriesId}~1resulturl/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/host_queries_result_view/methods/organizations_host_queries_get_result_view + #/components/x-stackQL-resources/queries_resulturl/methods/organizations_environments_queries_get_resulturl insert: [] update: [] replace: [] delete: [] - apidocs_documentation: - id: google.apigee.apidocs_documentation - name: apidocs_documentation - title: Apidocs_documentation + queries: + id: google.apigee.queries + name: queries + title: Queries methods: - organizations_sites_apidocs_get_documentation: + organizations_environments_queries_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}~1documentation/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries~1{queriesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_sites_apidocs_update_documentation: + organizations_environments_queries_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}~1documentation/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_queries_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/apidocs_documentation/methods/organizations_sites_apidocs_get_documentation - insert: [] - update: + #/components/x-stackQL-resources/queries/methods/organizations_environments_queries_get - $ref: >- - #/components/x-stackQL-resources/apidocs_documentation/methods/organizations_sites_apidocs_update_documentation + #/components/x-stackQL-resources/queries/methods/organizations_environments_queries_list + insert: + - $ref: >- + #/components/x-stackQL-resources/queries/methods/organizations_environments_queries_create + update: [] replace: [] delete: [] - apidocs: - id: google.apigee.apidocs - name: apidocs - title: Apidocs + queries_result: + id: google.apigee.queries_result + name: queries_result + title: Queries_result methods: - organizations_sites_apidocs_list: + organizations_environments_queries_get_result: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries~1{queriesId}~1result/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - organizations_sites_apidocs_create: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/queries_result/methods/organizations_environments_queries_get_result + insert: [] + update: [] + replace: [] + delete: [] + targetservers: + id: google.apigee.targetservers + name: targetservers + title: Targetservers + methods: + organizations_environments_targetservers_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers~1{targetserversId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_sites_apidocs_update: + organizations_environments_targetservers_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers~1{targetserversId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_sites_apidocs_delete: + organizations_environments_targetservers_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers~1{targetserversId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_sites_apidocs_get: + organizations_environments_targetservers_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apidocs~1{apidocsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_get - - $ref: >- - #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_list + #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_get insert: - $ref: >- - #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_create + #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_create update: [] replace: - $ref: >- - #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_update + #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_update delete: - $ref: >- - #/components/x-stackQL-resources/apidocs/methods/organizations_sites_apidocs_delete - apicategories: - id: google.apigee.apicategories - name: apicategories - title: Apicategories + #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_delete + optimized_stats: + id: google.apigee.optimized_stats + name: optimized_stats + title: Optimized_stats methods: - organizations_sites_apicategories_list: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_sites_apicategories_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_sites_apicategories_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories~1{apicategoriesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_sites_apicategories_delete: + organizations_environments_optimized_stats_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories~1{apicategoriesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1optimizedStats~1{optimizedStatsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_sites_apicategories_patch: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/optimized_stats/methods/organizations_environments_optimized_stats_get + insert: [] + update: [] + replace: [] + delete: [] + addons_config: + id: google.apigee.addons_config + name: addons_config + title: Addons_config + methods: + organizations_environments_addons_config_set_addon_enablement: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1sites~1{sitesId}~1apicategories~1{apicategoriesId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1addonsConfig:setAddonEnablement/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_get - - $ref: >- - #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_list - insert: - - $ref: >- - #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_create - update: - - $ref: >- - #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_patch + select: [] + insert: [] + update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/apicategories/methods/organizations_sites_apicategories_delete + delete: [] entries: id: google.apigee.entries name: entries title: Entries methods: - organizations_keyvaluemaps_entries_get: + organizations_environments_keyvaluemaps_entries_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/post response: mediaType: application/json openAPIDocKey: '200' - organizations_keyvaluemaps_entries_delete: + organizations_environments_keyvaluemaps_entries_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/get response: mediaType: application/json openAPIDocKey: '200' - organizations_keyvaluemaps_entries_update: + objectKey: $.keyValueEntries + organizations_environments_keyvaluemaps_entries_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_keyvaluemaps_entries_list: + organizations_environments_keyvaluemaps_entries_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/put response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.keyValueEntries - organizations_keyvaluemaps_entries_create: + organizations_environments_keyvaluemaps_entries_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_keyvaluemaps_entries_list: + organizations_apis_keyvaluemaps_entries_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/get + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.keyValueEntries - organizations_apis_keyvaluemaps_entries_create: + organizations_apis_keyvaluemaps_entries_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/post + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_keyvaluemaps_entries_delete: + organizations_apis_keyvaluemaps_entries_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_keyvaluemaps_entries_update: + organizations_apis_keyvaluemaps_entries_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_keyvaluemaps_entries_get: + objectKey: $.keyValueEntries + organizations_apis_keyvaluemaps_entries_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_entries_update: + organizations_keyvaluemaps_entries_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_entries_delete: + organizations_keyvaluemaps_entries_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_entries_get: + objectKey: $.keyValueEntries + organizations_keyvaluemaps_entries_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_entries_create: + organizations_keyvaluemaps_entries_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/post + #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_entries_list: + organizations_keyvaluemaps_entries_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries/get + #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}~1entries~1{entriesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.keyValueEntries sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_get - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_environments_keyvaluemaps_entries_get - $ref: >- - #/components/x-stackQL-resources/entries/methods/organizations_keyvaluemaps_entries_get + #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_get + - $ref: >- + #/components/x-stackQL-resources/entries/methods/organizations_environments_keyvaluemaps_entries_list - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_list - $ref: >- - #/components/x-stackQL-resources/entries/methods/organizations_environments_keyvaluemaps_entries_list + #/components/x-stackQL-resources/entries/methods/organizations_keyvaluemaps_entries_get - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_keyvaluemaps_entries_list insert: - - $ref: >- - #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_create - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_environments_keyvaluemaps_entries_create + - $ref: >- + #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_create - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_keyvaluemaps_entries_create update: [] replace: - - $ref: >- - #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_update - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_environments_keyvaluemaps_entries_update + - $ref: >- + #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_update - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_keyvaluemaps_entries_update delete: - - $ref: >- - #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_delete - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_environments_keyvaluemaps_entries_delete + - $ref: >- + #/components/x-stackQL-resources/entries/methods/organizations_apis_keyvaluemaps_entries_delete - $ref: >- #/components/x-stackQL-resources/entries/methods/organizations_keyvaluemaps_entries_delete keyvaluemaps: @@ -10878,519 +11239,443 @@ components: name: keyvaluemaps title: Keyvaluemaps methods: - organizations_keyvaluemaps_delete: + organizations_environments_keyvaluemaps_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps/post response: mediaType: application/json openAPIDocKey: '200' - organizations_keyvaluemaps_create: + organizations_environments_keyvaluemaps_delete: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_keyvaluemaps_create: + organizations_apis_keyvaluemaps_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps/post + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_keyvaluemaps_delete: + organizations_apis_keyvaluemaps_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps~1{keyvaluemapsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1keyvaluemaps/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_create: + organizations_keyvaluemaps_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps/post + #/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps~1{keyvaluemapsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keyvaluemaps_delete: + organizations_keyvaluemaps_create: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keyvaluemaps~1{keyvaluemapsId}/delete + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1keyvaluemaps/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_apis_keyvaluemaps_create - $ref: >- #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_environments_keyvaluemaps_create + - $ref: >- + #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_apis_keyvaluemaps_create - $ref: >- #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_keyvaluemaps_create update: [] replace: [] delete: - - $ref: >- - #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_apis_keyvaluemaps_delete - $ref: >- #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_environments_keyvaluemaps_delete + - $ref: >- + #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_apis_keyvaluemaps_delete - $ref: >- #/components/x-stackQL-resources/keyvaluemaps/methods/organizations_keyvaluemaps_delete - security_assessment_results: - id: google.apigee.security_assessment_results - name: security_assessment_results - title: Security_assessment_results + security_reports_result: + id: google.apigee.security_reports_result + name: security_reports_result + title: Security_reports_result methods: - organizations_security_assessment_results_batch_compute: + organizations_environments_security_reports_get_result: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securityAssessmentResults:batchCompute/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports~1{securityReportsId}~1result/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: >- + #/components/x-stackQL-resources/security_reports_result/methods/organizations_environments_security_reports_get_result insert: [] update: [] replace: [] delete: [] - revisions_api_proxy_revision: - id: google.apigee.revisions_api_proxy_revision - name: revisions_api_proxy_revision - title: Revisions_api_proxy_revision + security_reports_result_view: + id: google.apigee.security_reports_result_view + name: security_reports_result_view + title: Security_reports_result_view methods: - organizations_apis_revisions_update_api_proxy_revision: + organizations_environments_security_reports_get_result_view: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports~1{securityReportsId}~1resultView/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: [] - update: + select: - $ref: >- - #/components/x-stackQL-resources/revisions_api_proxy_revision/methods/organizations_apis_revisions_update_api_proxy_revision + #/components/x-stackQL-resources/security_reports_result_view/methods/organizations_environments_security_reports_get_result_view + insert: [] + update: [] replace: [] delete: [] - apis: - id: google.apigee.apis - name: apis - title: Apis + security_reports: + id: google.apigee.security_reports + name: security_reports + title: Security_reports methods: - organizations_apis_create: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apis/post' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apis_list: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apis/get' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_apis_patch: + organizations_environments_security_reports_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports/post response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_delete: + organizations_environments_security_reports_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apis_get: + objectKey: $.securityReports + organizations_environments_security_reports_get: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports~1{securityReportsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/apis/methods/organizations_apis_get + #/components/x-stackQL-resources/security_reports/methods/organizations_environments_security_reports_get - $ref: >- - #/components/x-stackQL-resources/apis/methods/organizations_apis_list + #/components/x-stackQL-resources/security_reports/methods/organizations_environments_security_reports_list insert: - $ref: >- - #/components/x-stackQL-resources/apis/methods/organizations_apis_create - update: - - $ref: >- - #/components/x-stackQL-resources/apis/methods/organizations_apis_patch + #/components/x-stackQL-resources/security_reports/methods/organizations_environments_security_reports_create + update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/apis/methods/organizations_apis_delete - operations: - id: google.apigee.operations - name: operations - title: Operations + delete: [] + flowhooks: + id: google.apigee.flowhooks + name: flowhooks + title: Flowhooks methods: - organizations_operations_list: + organizations_environments_flowhooks_detach_shared_flow_from_flow_hook: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1operations/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1flowhooks~1{flowhooksId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - organizations_operations_get: + organizations_environments_flowhooks_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1operations~1{operationsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1flowhooks~1{flowhooksId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/operations/methods/organizations_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/organizations_operations_list - insert: [] - update: [] - replace: [] - delete: [] - attributes_api_product_attribute: - id: google.apigee.attributes_api_product_attribute - name: attributes_api_product_attribute - title: Attributes_api_product_attribute - methods: - organizations_apiproducts_attributes_update_api_product_attribute: + organizations_environments_flowhooks_attach_shared_flow_to_flow_hook: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1attributes~1{attributesId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1flowhooks~1{flowhooksId}/put response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: [] - update: + select: - $ref: >- - #/components/x-stackQL-resources/attributes_api_product_attribute/methods/organizations_apiproducts_attributes_update_api_product_attribute + #/components/x-stackQL-resources/flowhooks/methods/organizations_environments_flowhooks_get + insert: [] + update: [] replace: [] delete: [] - rateplans: - id: google.apigee.rateplans - name: rateplans - title: Rateplans + overrides: + id: google.apigee.overrides + name: overrides + title: Overrides methods: - organizations_apiproducts_rateplans_delete: + organizations_environments_trace_config_overrides_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans~1{rateplansId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides~1{overridesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_rateplans_get: + organizations_environments_trace_config_overrides_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans~1{rateplansId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides~1{overridesId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_rateplans_update: + organizations_environments_trace_config_overrides_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans~1{rateplansId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides~1{overridesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_rateplans_list: + organizations_environments_trace_config_overrides_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides/post response: mediaType: application/json openAPIDocKey: '200' - organizations_apiproducts_rateplans_create: + organizations_environments_trace_config_overrides_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1apiproducts~1{apiproductsId}~1rateplans/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.traceConfigOverrides sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_get + #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_get - $ref: >- - #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_list + #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_list insert: - $ref: >- - #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_create - update: [] - replace: + #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_create + update: - $ref: >- - #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_update + #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_patch + replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/rateplans/methods/organizations_apiproducts_rateplans_delete - environments_iam_policies: - id: google.apigee.environments_iam_policies - name: environments_iam_policies - title: Environments_iam_policies + #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_delete + security_stats: + id: google.apigee.security_stats + name: security_stats + title: Security_stats methods: - organizations_environments_test_iam_permissions: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:testIamPermissions/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_environments_set_iam_policy: + organizations_environments_security_stats_query_tabular_stats: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:setIamPolicy/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityStats:queryTabularStats/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_get_iam_policy: + organizations_environments_security_stats_query_time_series_stats: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:getIamPolicy/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityStats:queryTimeSeriesStats/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/environments_iam_policies/methods/organizations_environments_get_iam_policy + select: [] insert: [] update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/environments_iam_policies/methods/organizations_environments_set_iam_policy + replace: [] delete: [] - environments_trace_config: - id: google.apigee.environments_trace_config - name: environments_trace_config - title: Environments_trace_config + keystores: + id: google.apigee.keystores + name: keystores + title: Keystores methods: - organizations_environments_update_trace_config: + organizations_environments_keystores_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_get_trace_config: + organizations_environments_keystores_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/environments_trace_config/methods/organizations_environments_get_trace_config - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/environments_trace_config/methods/organizations_environments_update_trace_config - replace: [] - delete: [] - environments_deployed_config: - id: google.apigee.environments_deployed_config - name: environments_deployed_config - title: Environments_deployed_config - methods: - organizations_environments_get_deployed_config: + organizations_environments_keystores_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployedConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/environments_deployed_config/methods/organizations_environments_get_deployed_config - insert: [] + #/components/x-stackQL-resources/keystores/methods/organizations_environments_keystores_get + insert: + - $ref: >- + #/components/x-stackQL-resources/keystores/methods/organizations_environments_keystores_create update: [] replace: [] - delete: [] - environments_debugmask: - id: google.apigee.environments_debugmask - name: environments_debugmask - title: Environments_debugmask + delete: + - $ref: >- + #/components/x-stackQL-resources/keystores/methods/organizations_environments_keystores_delete + aliases: + id: google.apigee.aliases + name: aliases + title: Aliases methods: - organizations_environments_update_debugmask: + organizations_environments_keystores_aliases_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1debugmask/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_get_debugmask: + organizations_environments_keystores_aliases_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1debugmask/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/environments_debugmask/methods/organizations_environments_get_debugmask - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/environments_debugmask/methods/organizations_environments_update_debugmask - replace: [] - delete: [] - environments_environment: - id: google.apigee.environments_environment - name: environments_environment - title: Environments_environment - methods: - organizations_environments_update_environment: + organizations_environments_keystores_aliases_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}/put response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/environments_environment/methods/organizations_environments_update_environment - replace: [] - delete: [] - environments_security_actions_config: - id: google.apigee.environments_security_actions_config - name: environments_security_actions_config - title: Environments_security_actions_config - methods: - organizations_environments_get_security_actions_config: + organizations_environments_keystores_aliases_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActionsConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_update_security_actions_config: + organizations_environments_keystores_aliases_csr: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActionsConfig/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}~1csr/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/environments_security_actions_config/methods/organizations_environments_get_security_actions_config - insert: [] - update: + #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_get + insert: - $ref: >- - #/components/x-stackQL-resources/environments_security_actions_config/methods/organizations_environments_update_security_actions_config - replace: [] - delete: [] - environments_api_security_runtime_config: - id: google.apigee.environments_api_security_runtime_config - name: environments_api_security_runtime_config - title: Environments_api_security_runtime_config + #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_create + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_update + delete: + - $ref: >- + #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_delete + aliases_certificate: + id: google.apigee.aliases_certificate + name: aliases_certificate + title: Aliases_certificate methods: - organizations_environments_get_api_security_runtime_config: + organizations_environments_keystores_aliases_get_certificate: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apiSecurityRuntimeConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}~1certificate/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/environments_api_security_runtime_config/methods/organizations_environments_get_api_security_runtime_config + #/components/x-stackQL-resources/aliases_certificate/methods/organizations_environments_keystores_aliases_get_certificate insert: [] update: [] replace: [] delete: [] - environments_addons_config: - id: google.apigee.environments_addons_config - name: environments_addons_config - title: Environments_addons_config + archive_deployments: + id: google.apigee.archive_deployments + name: archive_deployments + title: Archive_deployments methods: - organizations_environments_get_addons_config: + organizations_environments_archive_deployments_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1addonsConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/environments_addons_config/methods/organizations_environments_get_addons_config - insert: [] - update: [] - replace: [] - delete: [] - caches: - id: google.apigee.caches - name: caches - title: Caches - methods: - organizations_environments_caches_delete: + organizations_environments_archive_deployments_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1caches~1{cachesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/caches/methods/organizations_environments_caches_delete - flowhooks: - id: google.apigee.flowhooks - name: flowhooks - title: Flowhooks - methods: - organizations_environments_flowhooks_detach_shared_flow_from_flow_hook: + organizations_environments_archive_deployments_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1flowhooks~1{flowhooksId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_archive_deployments_create: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_environments_archive_deployments_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_flowhooks_attach_shared_flow_to_flow_hook: + objectKey: $.archiveDeployments + organizations_environments_archive_deployments_generate_download_url: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1flowhooks~1{flowhooksId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}:generateDownloadUrl/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_flowhooks_get: + organizations_environments_archive_deployments_generate_upload_url: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1flowhooks~1{flowhooksId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments:generateUploadUrl/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/flowhooks/methods/organizations_environments_flowhooks_get - insert: [] - update: [] + #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_get + - $ref: >- + #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_list + insert: + - $ref: >- + #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_create + update: + - $ref: >- + #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_patch replace: [] - delete: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_delete stats: id: google.apigee.stats name: stats @@ -11411,96 +11696,76 @@ components: update: [] replace: [] delete: [] - deployments_iam_policies: - id: google.apigee.deployments_iam_policies - name: deployments_iam_policies - title: Deployments_iam_policies + admin_schemav2: + id: google.apigee.admin_schemav2 + name: admin_schemav2 + title: Admin_schemav2 methods: - organizations_environments_deployments_set_iam_policy: + organizations_environments_analytics_admin_get_schemav2: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}:setIamPolicy/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1admin~1schemav2/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_deployments_test_iam_permissions: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/admin_schemav2/methods/organizations_environments_analytics_admin_get_schemav2 + insert: [] + update: [] + replace: [] + delete: [] + exports: + id: google.apigee.exports + name: exports + title: Exports + methods: + organizations_environments_analytics_exports_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}:testIamPermissions/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1exports/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_deployments_get_iam_policy: + organizations_environments_analytics_exports_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployments~1{deploymentsId}:getIamPolicy/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1exports/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/deployments_iam_policies/methods/organizations_environments_deployments_get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/deployments_iam_policies/methods/organizations_environments_deployments_set_iam_policy - delete: [] - data: - id: google.apigee.data - name: data - title: Data - methods: - organizations_environments_apis_revisions_debugsessions_data_get: + organizations_environments_analytics_exports_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions~1{debugsessionsId}~1data~1{dataId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1exports~1{exportsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/data/methods/organizations_environments_apis_revisions_debugsessions_data_get - insert: [] + #/components/x-stackQL-resources/exports/methods/organizations_environments_analytics_exports_get + - $ref: >- + #/components/x-stackQL-resources/exports/methods/organizations_environments_analytics_exports_list + insert: + - $ref: >- + #/components/x-stackQL-resources/exports/methods/organizations_environments_analytics_exports_create update: [] replace: [] delete: [] - debugsessions_data: - id: google.apigee.debugsessions_data - name: debugsessions_data - title: Debugsessions_data - methods: - organizations_environments_apis_revisions_debugsessions_delete_data: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions~1{debugsessionsId}~1data/delete - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/debugsessions_data/methods/organizations_environments_apis_revisions_debugsessions_delete_data debugsessions: id: google.apigee.debugsessions name: debugsessions title: Debugsessions methods: - organizations_environments_apis_revisions_debugsessions_list: + organizations_environments_apis_revisions_debugsessions_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions~1{debugsessionsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.sessions organizations_environments_apis_revisions_debugsessions_create: operation: $ref: >- @@ -11508,13 +11773,14 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_apis_revisions_debugsessions_get: + organizations_environments_apis_revisions_debugsessions_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions~1{debugsessionsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.sessions sqlVerbs: select: - $ref: >- @@ -11527,824 +11793,831 @@ components: update: [] replace: [] delete: [] - revisions_deployments: - id: google.apigee.revisions_deployments - name: revisions_deployments - title: Revisions_deployments + debugsessions_data: + id: google.apigee.debugsessions_data + name: debugsessions_data + title: Debugsessions_data methods: - organizations_environments_apis_revisions_get_deployments: + organizations_environments_apis_revisions_debugsessions_delete_data: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions~1{debugsessionsId}~1data/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_sharedflows_revisions_get_deployments: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/debugsessions_data/methods/organizations_environments_apis_revisions_debugsessions_delete_data + data: + id: google.apigee.data + name: data + title: Data + methods: + organizations_environments_apis_revisions_debugsessions_data_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1sharedflows~1{sharedflowsId}~1revisions~1{revisionsId}~1deployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apis~1{apisId}~1revisions~1{revisionsId}~1debugsessions~1{debugsessionsId}~1data~1{dataId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/revisions_deployments/methods/organizations_environments_apis_revisions_get_deployments - - $ref: >- - #/components/x-stackQL-resources/revisions_deployments/methods/organizations_environments_sharedflows_revisions_get_deployments + #/components/x-stackQL-resources/data/methods/organizations_environments_apis_revisions_debugsessions_data_get insert: [] update: [] replace: [] delete: [] - archive_deployments: - id: google.apigee.archive_deployments - name: archive_deployments - title: Archive_deployments + environments: + id: google.apigee.environments + name: environments + title: Environments methods: - organizations_environments_archive_deployments_get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_environments_archive_deployments_delete: + organizations_environments_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_archive_deployments_patch: + organizations_environments_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_archive_deployments_generate_download_url: + organizations_environments_update: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments~1{archiveDeploymentsId}:generateDownloadUrl/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/put response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_archive_deployments_list: + organizations_environments_modify_environment: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.archiveDeployments - organizations_environments_archive_deployments_create: + organizations_environments_subscribe: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:subscribe/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_archive_deployments_generate_upload_url: + organizations_environments_create: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1archiveDeployments:generateUploadUrl/post + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1environments/post' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_get - - $ref: >- - #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_list - insert: - - $ref: >- - #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_create - update: - - $ref: >- - #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/archive_deployments/methods/organizations_environments_archive_deployments_delete - references: - id: google.apigee.references - name: references - title: References - methods: - organizations_environments_references_create: + organizations_environments_unsubscribe: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:unsubscribe/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_references_update: + organizations_security_profiles_environments_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references~1{referencesId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}~1environments/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_references_delete: + organizations_security_profiles_environments_compute_environment_scores: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references~1{referencesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}~1environments~1{environmentsId}:computeEnvironmentScores/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_references_get: + organizations_security_profiles_environments_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1references~1{referencesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}~1environments~1{environmentsId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/references/methods/organizations_environments_references_get + #/components/x-stackQL-resources/environments/methods/organizations_environments_get insert: - $ref: >- - #/components/x-stackQL-resources/references/methods/organizations_environments_references_create + #/components/x-stackQL-resources/environments/methods/organizations_security_profiles_environments_create + - $ref: >- + #/components/x-stackQL-resources/environments/methods/organizations_environments_create update: [] replace: - $ref: >- - #/components/x-stackQL-resources/references/methods/organizations_environments_references_update + #/components/x-stackQL-resources/environments/methods/organizations_environments_update delete: - $ref: >- - #/components/x-stackQL-resources/references/methods/organizations_environments_references_delete - security_reports: - id: google.apigee.security_reports - name: security_reports - title: Security_reports + #/components/x-stackQL-resources/environments/methods/organizations_security_profiles_environments_delete + - $ref: >- + #/components/x-stackQL-resources/environments/methods/organizations_environments_delete + environments_environment: + id: google.apigee.environments_environment + name: environments_environment + title: Environments_environment + methods: + organizations_environments_update_environment: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/environments_environment/methods/organizations_environments_update_environment + replace: [] + delete: [] + environments_iam_policies: + id: google.apigee.environments_iam_policies + name: environments_iam_policies + title: Environments_iam_policies methods: - organizations_environments_security_reports_list: + organizations_environments_set_iam_policy: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.securityReports - organizations_environments_security_reports_create: + organizations_environments_test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_reports_get: + organizations_environments_get_iam_policy: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports~1{securityReportsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.bindings sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/security_reports/methods/organizations_environments_security_reports_get - - $ref: >- - #/components/x-stackQL-resources/security_reports/methods/organizations_environments_security_reports_list - insert: - - $ref: >- - #/components/x-stackQL-resources/security_reports/methods/organizations_environments_security_reports_create + #/components/x-stackQL-resources/environments_iam_policies/methods/organizations_environments_get_iam_policy + insert: [] update: [] - replace: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/environments_iam_policies/methods/organizations_environments_set_iam_policy delete: [] - security_reports_result_view: - id: google.apigee.security_reports_result_view - name: security_reports_result_view - title: Security_reports_result_view + environments_debugmask: + id: google.apigee.environments_debugmask + name: environments_debugmask + title: Environments_debugmask methods: - organizations_environments_security_reports_get_result_view: + organizations_environments_update_debugmask: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports~1{securityReportsId}~1resultView/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1debugmask/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/security_reports_result_view/methods/organizations_environments_security_reports_get_result_view - insert: [] - update: [] - replace: [] - delete: [] - security_reports_result: - id: google.apigee.security_reports_result - name: security_reports_result - title: Security_reports_result - methods: - organizations_environments_security_reports_get_result: + organizations_environments_get_debugmask: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityReports~1{securityReportsId}~1result/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1debugmask/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/security_reports_result/methods/organizations_environments_security_reports_get_result + #/components/x-stackQL-resources/environments_debugmask/methods/organizations_environments_get_debugmask insert: [] - update: [] + update: + - $ref: >- + #/components/x-stackQL-resources/environments_debugmask/methods/organizations_environments_update_debugmask replace: [] delete: [] - security_incidents: - id: google.apigee.security_incidents - name: security_incidents - title: Security_incidents + environments_trace_config: + id: google.apigee.environments_trace_config + name: environments_trace_config + title: Environments_trace_config methods: - organizations_environments_security_incidents_patch: + organizations_environments_update_trace_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents~1{securityIncidentsId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_incidents_get: + organizations_environments_get_trace_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents~1{securityIncidentsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_incidents_batch_update: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/environments_trace_config/methods/organizations_environments_get_trace_config + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/environments_trace_config/methods/organizations_environments_update_trace_config + replace: [] + delete: [] + environments_security_actions_config: + id: google.apigee.environments_security_actions_config + name: environments_security_actions_config + title: Environments_security_actions_config + methods: + organizations_environments_get_security_actions_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents:batchUpdate/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActionsConfig/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_incidents_list: + organizations_environments_update_security_actions_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityIncidents/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActionsConfig/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.securityIncidents sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_get - - $ref: >- - #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_list + #/components/x-stackQL-resources/environments_security_actions_config/methods/organizations_environments_get_security_actions_config insert: [] update: - $ref: >- - #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_patch - - $ref: >- - #/components/x-stackQL-resources/security_incidents/methods/organizations_environments_security_incidents_batch_update + #/components/x-stackQL-resources/environments_security_actions_config/methods/organizations_environments_update_security_actions_config replace: [] delete: [] - keystores: - id: google.apigee.keystores - name: keystores - title: Keystores + environments_deployed_config: + id: google.apigee.environments_deployed_config + name: environments_deployed_config + title: Environments_deployed_config methods: - organizations_environments_keystores_create: + organizations_environments_get_deployed_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores/post + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1deployedConfig/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keystores_delete: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/environments_deployed_config/methods/organizations_environments_get_deployed_config + insert: [] + update: [] + replace: [] + delete: [] + environments_addons_config: + id: google.apigee.environments_addons_config + name: environments_addons_config + title: Environments_addons_config + methods: + organizations_environments_get_addons_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1addonsConfig/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keystores_get: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/environments_addons_config/methods/organizations_environments_get_addons_config + insert: [] + update: [] + replace: [] + delete: [] + environments_api_security_runtime_config: + id: google.apigee.environments_api_security_runtime_config + name: environments_api_security_runtime_config + title: Environments_api_security_runtime_config + methods: + organizations_environments_get_api_security_runtime_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1apiSecurityRuntimeConfig/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/keystores/methods/organizations_environments_keystores_get - insert: - - $ref: >- - #/components/x-stackQL-resources/keystores/methods/organizations_environments_keystores_create + #/components/x-stackQL-resources/environments_api_security_runtime_config/methods/organizations_environments_get_api_security_runtime_config + insert: [] update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/keystores/methods/organizations_environments_keystores_delete - aliases: - id: google.apigee.aliases - name: aliases - title: Aliases + delete: [] + attachments: + id: google.apigee.attachments + name: attachments + title: Attachments methods: - organizations_environments_keystores_aliases_csr: + organizations_instances_attachments_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}~1csr/get + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments~1{attachmentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keystores_aliases_create: + organizations_instances_attachments_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases/post + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments~1{attachmentsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keystores_aliases_update: + organizations_instances_attachments_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keystores_aliases_delete: + organizations_instances_attachments_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1attachments/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_keystores_aliases_get: + objectKey: $.attachments + organizations_envgroups_attachments_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments~1{attachmentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_get - insert: - - $ref: >- - #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_create - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_update - delete: - - $ref: >- - #/components/x-stackQL-resources/aliases/methods/organizations_environments_keystores_aliases_delete - aliases_certificate: - id: google.apigee.aliases_certificate - name: aliases_certificate - title: Aliases_certificate - methods: - organizations_environments_keystores_aliases_get_certificate: + organizations_envgroups_attachments_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1keystores~1{keystoresId}~1aliases~1{aliasesId}~1certificate/get + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments~1{attachmentsId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/aliases_certificate/methods/organizations_environments_keystores_aliases_get_certificate - insert: [] - update: [] - replace: [] - delete: [] - addons_config: - id: google.apigee.addons_config - name: addons_config - title: Addons_config - methods: - organizations_environments_addons_config_set_addon_enablement: + organizations_envgroups_attachments_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1addonsConfig:setAddonEnablement/post + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_envgroups_attachments_list: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1attachments/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.environmentGroupAttachments sqlVerbs: - select: [] - insert: [] + select: + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_get + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_get + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_list + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_list + insert: + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_create + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_create update: [] replace: [] - delete: [] - resourcefiles: - id: google.apigee.resourcefiles - name: resourcefiles - title: Resourcefiles + delete: + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_instances_attachments_delete + - $ref: >- + #/components/x-stackQL-resources/attachments/methods/organizations_envgroups_attachments_delete + nat_addresses: + id: google.apigee.nat_addresses + name: nat_addresses + title: Nat_addresses methods: - organizations_environments_resourcefiles_get: + organizations_instances_nat_addresses_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}~1{name}/get + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_resourcefiles_update: + objectKey: $.natAddresses + organizations_instances_nat_addresses_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}~1{name}/put + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_resourcefiles_delete: + organizations_instances_nat_addresses_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}~1{name}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses~1{natAddressesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_resourcefiles_list: + organizations_instances_nat_addresses_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles/get + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses~1{natAddressesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_resourcefiles_create: + organizations_instances_nat_addresses_activate: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles/post + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1natAddresses~1{natAddressesId}:activate/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_get + #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_get - $ref: >- - #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_list + #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_list insert: - $ref: >- - #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_create + #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_create update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_update + replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/resourcefiles/methods/organizations_environments_resourcefiles_delete - resourcefiles_environment_resources: - id: google.apigee.resourcefiles_environment_resources - name: resourcefiles_environment_resources - title: Resourcefiles_environment_resources + #/components/x-stackQL-resources/nat_addresses/methods/organizations_instances_nat_addresses_delete + canaryevaluations: + id: google.apigee.canaryevaluations + name: canaryevaluations + title: Canaryevaluations methods: - organizations_environments_resourcefiles_list_environment_resources: + organizations_instances_canaryevaluations_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1resourcefiles~1{type}/get + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1canaryevaluations~1{canaryevaluationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_instances_canaryevaluations_create: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}~1canaryevaluations/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/resourcefiles_environment_resources/methods/organizations_environments_resourcefiles_list_environment_resources - insert: [] + #/components/x-stackQL-resources/canaryevaluations/methods/organizations_instances_canaryevaluations_get + insert: + - $ref: >- + #/components/x-stackQL-resources/canaryevaluations/methods/organizations_instances_canaryevaluations_create update: [] replace: [] delete: [] - security_actions: - id: google.apigee.security_actions - name: security_actions - title: Security_actions + instances: + id: google.apigee.instances + name: instances + title: Instances methods: - organizations_environments_security_actions_enable: + organizations_instances_list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions~1{securityActionsId}:enable/post + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1instances/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_actions_disable: + objectKey: $.instances + organizations_instances_create: + operation: + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1instances/post' + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_instances_report_status: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions~1{securityActionsId}:disable/post + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}:reportStatus/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_actions_create: + organizations_instances_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions/post + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_security_actions_list: + organizations_instances_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions/get + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.securityActions - organizations_environments_security_actions_get: + organizations_instances_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityActions~1{securityActionsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1instances~1{instancesId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/security_actions/methods/organizations_environments_security_actions_get + #/components/x-stackQL-resources/instances/methods/organizations_instances_get - $ref: >- - #/components/x-stackQL-resources/security_actions/methods/organizations_environments_security_actions_list + #/components/x-stackQL-resources/instances/methods/organizations_instances_list insert: - $ref: >- - #/components/x-stackQL-resources/security_actions/methods/organizations_environments_security_actions_create - update: [] + #/components/x-stackQL-resources/instances/methods/organizations_instances_create + update: + - $ref: >- + #/components/x-stackQL-resources/instances/methods/organizations_instances_patch replace: [] - delete: [] - security_stats: - id: google.apigee.security_stats - name: security_stats - title: Security_stats + delete: + - $ref: >- + #/components/x-stackQL-resources/instances/methods/organizations_instances_delete + envgroups: + id: google.apigee.envgroups + name: envgroups + title: Envgroups methods: - organizations_environments_security_stats_query_tabular_stats: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityStats:queryTabularStats/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_environments_security_stats_query_time_series_stats: + organizations_envgroups_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1securityStats:queryTimeSeriesStats/post + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - targetservers: - id: google.apigee.targetservers - name: targetservers - title: Targetservers - methods: - organizations_environments_targetservers_get: + organizations_envgroups_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers~1{targetserversId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_targetservers_update: + organizations_envgroups_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers~1{targetserversId}/put + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_targetservers_delete: + organizations_envgroups_create: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers~1{targetserversId}/delete + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1envgroups/post' response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_targetservers_create: + organizations_envgroups_list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1targetservers/post + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1envgroups/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.environmentGroups sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_get + #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_get + - $ref: >- + #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_list insert: - $ref: >- - #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_create - update: [] - replace: + #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_create + update: - $ref: >- - #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_update + #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_patch + replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/targetservers/methods/organizations_environments_targetservers_delete - queries_resulturl: - id: google.apigee.queries_resulturl - name: queries_resulturl - title: Queries_resulturl + #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_delete + envgroups_deployed_ingress_config: + id: google.apigee.envgroups_deployed_ingress_config + name: envgroups_deployed_ingress_config + title: Envgroups_deployed_ingress_config methods: - organizations_environments_queries_get_resulturl: + organizations_envgroups_get_deployed_ingress_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries~1{queriesId}~1resulturl/get + #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1deployedIngressConfig/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/queries_resulturl/methods/organizations_environments_queries_get_resulturl + #/components/x-stackQL-resources/envgroups_deployed_ingress_config/methods/organizations_envgroups_get_deployed_ingress_config insert: [] update: [] replace: [] delete: [] - queries: - id: google.apigee.queries - name: queries - title: Queries + endpoint_attachments: + id: google.apigee.endpoint_attachments + name: endpoint_attachments + title: Endpoint_attachments methods: - organizations_environments_queries_create: + organizations_endpoint_attachments_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries/post + #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments~1{endpointAttachmentsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_queries_list: + organizations_endpoint_attachments_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries/get + #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments~1{endpointAttachmentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_queries_get: + organizations_endpoint_attachments_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries~1{queriesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.endpointAttachments + organizations_endpoint_attachments_create: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1endpointAttachments/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/queries/methods/organizations_environments_queries_get + #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_get - $ref: >- - #/components/x-stackQL-resources/queries/methods/organizations_environments_queries_list + #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_list insert: - $ref: >- - #/components/x-stackQL-resources/queries/methods/organizations_environments_queries_create + #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_create update: [] replace: [] - delete: [] - queries_result: - id: google.apigee.queries_result - name: queries_result - title: Queries_result + delete: + - $ref: >- + #/components/x-stackQL-resources/endpoint_attachments/methods/organizations_endpoint_attachments_delete + security_profiles: + id: google.apigee.security_profiles + name: security_profiles + title: Security_profiles methods: - organizations_environments_queries_get_result: + organizations_security_profiles_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1queries~1{queriesId}~1result/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/queries_result/methods/organizations_environments_queries_get_result - insert: [] - update: [] - replace: [] - delete: [] - exports: - id: google.apigee.exports - name: exports - title: Exports - methods: - organizations_environments_analytics_exports_get: + organizations_security_profiles_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1exports~1{exportsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_analytics_exports_create: + organizations_security_profiles_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1exports/post + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_analytics_exports_list: + organizations_security_profiles_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1exports/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/exports/methods/organizations_environments_analytics_exports_get - - $ref: >- - #/components/x-stackQL-resources/exports/methods/organizations_environments_analytics_exports_list - insert: - - $ref: >- - #/components/x-stackQL-resources/exports/methods/organizations_environments_analytics_exports_create - update: [] - replace: [] - delete: [] - admin_schemav2: - id: google.apigee.admin_schemav2 - name: admin_schemav2 - title: Admin_schemav2 - methods: - organizations_environments_analytics_admin_get_schemav2: + objectKey: $.securityProfiles + organizations_security_profiles_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1analytics~1admin~1schemav2/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/admin_schemav2/methods/organizations_environments_analytics_admin_get_schemav2 - insert: [] - update: [] + #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_get + - $ref: >- + #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_list + insert: + - $ref: >- + #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_create + update: + - $ref: >- + #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_patch replace: [] - delete: [] - optimized_stats: - id: google.apigee.optimized_stats - name: optimized_stats - title: Optimized_stats + delete: + - $ref: >- + #/components/x-stackQL-resources/security_profiles/methods/organizations_security_profiles_delete + security_profiles_revisions: + id: google.apigee.security_profiles_revisions + name: security_profiles_revisions + title: Security_profiles_revisions methods: - organizations_environments_optimized_stats_get: + organizations_security_profiles_list_revisions: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1optimizedStats~1{optimizedStatsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfiles~1{securityProfilesId}:listRevisions/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.securityProfiles sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/optimized_stats/methods/organizations_environments_optimized_stats_get + #/components/x-stackQL-resources/security_profiles_revisions/methods/organizations_security_profiles_list_revisions insert: [] update: [] replace: [] delete: [] - overrides: - id: google.apigee.overrides - name: overrides - title: Overrides + security_profiles_v2: + id: google.apigee.security_profiles_v2 + name: security_profiles_v2 + title: Security_profiles_v2 methods: - organizations_environments_trace_config_overrides_get: + organizations_security_profiles_v2_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides~1{overridesId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfilesV2/post response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_trace_config_overrides_delete: + organizations_security_profiles_v2_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides~1{overridesId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfilesV2/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_trace_config_overrides_patch: + objectKey: $.securityProfilesV2 + organizations_security_profiles_v2_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides~1{overridesId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfilesV2~1{securityProfilesV2Id}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_environments_trace_config_overrides_list: + organizations_security_profiles_v2_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides/get + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfilesV2~1{securityProfilesV2Id}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.traceConfigOverrides - organizations_environments_trace_config_overrides_create: + organizations_security_profiles_v2_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1environments~1{environmentsId}~1traceConfig~1overrides/post + #/paths/~1v1~1organizations~1{organizationsId}~1securityProfilesV2~1{securityProfilesV2Id}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_get + #/components/x-stackQL-resources/security_profiles_v2/methods/organizations_security_profiles_v2_get - $ref: >- - #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_list + #/components/x-stackQL-resources/security_profiles_v2/methods/organizations_security_profiles_v2_list insert: - $ref: >- - #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_create + #/components/x-stackQL-resources/security_profiles_v2/methods/organizations_security_profiles_v2_create update: - $ref: >- - #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_patch + #/components/x-stackQL-resources/security_profiles_v2/methods/organizations_security_profiles_v2_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/overrides/methods/organizations_environments_trace_config_overrides_delete + #/components/x-stackQL-resources/security_profiles_v2/methods/organizations_security_profiles_v2_delete datastores: id: google.apigee.datastores name: datastores @@ -12357,6 +12630,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + organizations_analytics_datastores_delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1analytics~1datastores~1{datastoresId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' organizations_analytics_datastores_update: operation: $ref: >- @@ -12364,10 +12644,10 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_analytics_datastores_delete: + organizations_analytics_datastores_test: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1analytics~1datastores~1{datastoresId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1analytics~1datastores:test/post response: mediaType: application/json openAPIDocKey: '200' @@ -12385,13 +12665,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_analytics_datastores_test: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1analytics~1datastores:test/post - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - $ref: >- @@ -12408,249 +12681,169 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/datastores/methods/organizations_analytics_datastores_delete - envgroups: - id: google.apigee.envgroups - name: envgroups - title: Envgroups + apis: + id: google.apigee.apis + name: apis + title: Apis methods: - organizations_envgroups_list: + organizations_apis_delete: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1envgroups/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.environmentGroups - organizations_envgroups_create: + organizations_apis_get: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1envgroups/post' + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_envgroups_delete: + organizations_apis_patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_envgroups_patch: + organizations_apis_list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}/patch + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apis/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_envgroups_get: + organizations_apis_create: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}/get + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1apis/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_get + #/components/x-stackQL-resources/apis/methods/organizations_apis_get - $ref: >- - #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_list + #/components/x-stackQL-resources/apis/methods/organizations_apis_list insert: - $ref: >- - #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_create + #/components/x-stackQL-resources/apis/methods/organizations_apis_create update: - $ref: >- - #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_patch + #/components/x-stackQL-resources/apis/methods/organizations_apis_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/envgroups/methods/organizations_envgroups_delete - envgroups_deployed_ingress_config: - id: google.apigee.envgroups_deployed_ingress_config - name: envgroups_deployed_ingress_config - title: Envgroups_deployed_ingress_config - methods: - organizations_envgroups_get_deployed_ingress_config: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1envgroups~1{envgroupsId}~1deployedIngressConfig/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/envgroups_deployed_ingress_config/methods/organizations_envgroups_get_deployed_ingress_config - insert: [] - update: [] - replace: [] - delete: [] - project_mapping: - id: google.apigee.project_mapping - name: project_mapping - title: Project_mapping - methods: - organizations_get_project_mapping: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}:getProjectMapping/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/project_mapping/methods/organizations_get_project_mapping - insert: [] - update: [] - replace: [] - delete: [] - security_settings: - id: google.apigee.security_settings - name: security_settings - title: Security_settings + #/components/x-stackQL-resources/apis/methods/organizations_apis_delete + revisions_api_proxy_revision: + id: google.apigee.revisions_api_proxy_revision + name: revisions_api_proxy_revision + title: Revisions_api_proxy_revision methods: - organizations_update_security_settings: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securitySettings/patch - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_get_security_settings: + organizations_apis_revisions_update_api_proxy_revision: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1securitySettings/get + #/paths/~1v1~1organizations~1{organizationsId}~1apis~1{apisId}~1revisions~1{revisionsId}/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/security_settings/methods/organizations_get_security_settings + select: [] insert: [] update: - $ref: >- - #/components/x-stackQL-resources/security_settings/methods/organizations_update_security_settings + #/components/x-stackQL-resources/revisions_api_proxy_revision/methods/organizations_apis_revisions_update_api_proxy_revision replace: [] delete: [] - organizations: - id: google.apigee.organizations - name: organizations - title: Organizations - methods: - organizations_get: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_delete: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_update: - operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_create: + security_assessment_results: + id: google.apigee.security_assessment_results + name: security_assessment_results + title: Security_assessment_results + methods: + organizations_security_assessment_results_batch_compute: operation: - $ref: '#/paths/~1v1~1organizations/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1securityAssessmentResults:batchCompute/post response: mediaType: application/json openAPIDocKey: '200' - organizations_list: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + host_queries: + id: google.apigee.host_queries + name: host_queries + title: Host_queries + methods: + organizations_host_queries_create: operation: - $ref: '#/paths/~1v1~1organizations/get' + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1hostQueries/post' response: mediaType: application/json openAPIDocKey: '200' - organizations_set_addons: + organizations_host_queries_list: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}:setAddons/post' + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1hostQueries/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_set_sync_authorization: + organizations_host_queries_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}:setSyncAuthorization/post + #/paths/~1v1~1organizations~1{organizationsId}~1hostQueries~1{hostQueriesId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/organizations/methods/organizations_get + #/components/x-stackQL-resources/host_queries/methods/organizations_host_queries_get - $ref: >- - #/components/x-stackQL-resources/organizations/methods/organizations_list + #/components/x-stackQL-resources/host_queries/methods/organizations_host_queries_list insert: - $ref: >- - #/components/x-stackQL-resources/organizations/methods/organizations_create - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/organizations/methods/organizations_update - delete: - - $ref: >- - #/components/x-stackQL-resources/organizations/methods/organizations_delete - sync_authorization: - id: google.apigee.sync_authorization - name: sync_authorization - title: Sync_authorization - methods: - organizations_get_sync_authorization: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}:getSyncAuthorization/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/sync_authorization/methods/organizations_get_sync_authorization - insert: [] + #/components/x-stackQL-resources/host_queries/methods/organizations_host_queries_create update: [] replace: [] delete: [] - deployed_ingress_config: - id: google.apigee.deployed_ingress_config - name: deployed_ingress_config - title: Deployed_ingress_config + host_queries_result_view: + id: google.apigee.host_queries_result_view + name: host_queries_result_view + title: Host_queries_result_view methods: - organizations_get_deployed_ingress_config: + organizations_host_queries_get_result_view: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1deployedIngressConfig/get + #/paths/~1v1~1organizations~1{organizationsId}~1hostQueries~1{hostQueriesId}~1resultView/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/deployed_ingress_config/methods/organizations_get_deployed_ingress_config + #/components/x-stackQL-resources/host_queries_result_view/methods/organizations_host_queries_get_result_view insert: [] update: [] replace: [] delete: [] - runtime_config: - id: google.apigee.runtime_config - name: runtime_config - title: Runtime_config + host_queries_result: + id: google.apigee.host_queries_result + name: host_queries_result + title: Host_queries_result methods: - organizations_get_runtime_config: + organizations_host_queries_get_result: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1runtimeConfig/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1hostQueries~1{hostQueriesId}~1result/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/runtime_config/methods/organizations_get_runtime_config + #/components/x-stackQL-resources/host_queries_result/methods/organizations_host_queries_get_result insert: [] update: [] replace: [] @@ -12677,28 +12870,463 @@ components: paths: /v1/projects/{projectsId}:provisionOrganization: parameters: &ref_1 - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/upload_protocol' + post: + description: >- + Provisions a new Apigee organization with a functioning runtime. This is + the standard way to create trial organizations for a free Apigee trial. + operationId: apigee.projects.provisionOrganization + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ProvisionOrganizationRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/deployedIngressConfig: + parameters: *ref_1 + get: + description: Gets the deployed ingress configuration for an organization. + operationId: apigee.organizations.getDeployedIngressConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1IngressConfig' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: query + name: view + schema: + type: string + /v1/organizations/{organizationsId}: + parameters: *ref_1 + delete: + description: >- + 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`.** + operationId: apigee.organizations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: query + name: retention + schema: + type: string + get: + description: >- + Gets the profile for an Apigee organization. See [Understanding + organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure). + operationId: apigee.organizations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + put: + description: >- + Updates the properties for an Apigee organization. No other fields in + the organization profile will be updated. + operationId: apigee.organizations.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/runtimeConfig: + parameters: *ref_1 + get: + description: Get runtime config for an organization. + operationId: apigee.organizations.getRuntimeConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeConfig' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/securitySettings: + parameters: *ref_1 + patch: + description: >- + UpdateSecuritySettings updates the current security settings for API + Security. + operationId: apigee.organizations.updateSecuritySettings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecuritySettings' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecuritySettings' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: GetSecuritySettings gets the security settings for API Security. + operationId: apigee.organizations.getSecuritySettings + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecuritySettings' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/controlPlaneAccess: + parameters: *ref_1 + patch: + description: >- + Updates the permissions required to allow Apigee runtime-plane + components access to the control plane. Currently, the permissions + required are to: 1. Allow runtime components to publish analytics data + to the control plane. **Note**: Available to Apigee hybrid only. + operationId: apigee.organizations.updateControlPlaneAccess + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ControlPlaneAccess' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: >- + Lists the service accounts allowed to access Apigee control plane + directly for limited functionality. **Note**: Available to Apigee hybrid + only. + operationId: apigee.organizations.getControlPlaneAccess + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ControlPlaneAccess' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations: + parameters: *ref_1 + post: + description: >- + Creates an Apigee organization. See [Create an Apigee + organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). + operationId: apigee.organizations.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: query + name: parent + schema: + type: string + get: + description: >- + 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). + operationId: apigee.organizations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListOrganizationsResponse + parameters: [] + /v1/organizations/{organizationsId}:setAddons: + parameters: *ref_1 + post: + description: >- + Configures the add-ons for the Apigee organization. The existing add-on + configuration will be fully replaced. + operationId: apigee.organizations.setAddons + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SetAddonsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}:getProjectMapping: + parameters: *ref_1 + get: + description: Gets the project ID and region for an Apigee organization. + operationId: apigee.organizations.getProjectMapping + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1OrganizationProjectMapping + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}:getSyncAuthorization: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.getSyncAuthorization + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1GetSyncAuthorizationRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SyncAuthorization' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}:setSyncAuthorization: + parameters: *ref_1 post: description: >- - Provisions a new Apigee organization with a functioning runtime. This is - the standard way to create trial organizations for a free Apigee trial. - operationId: apigee.projects.provisionOrganization + 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. + operationId: apigee.organizations.setSyncAuthorization requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ProvisionOrganizationRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1SyncAuthorization' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12710,22 +13338,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1SyncAuthorization' parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}: + /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}: parameters: *ref_1 - delete: - description: >- - 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. - operationId: apigee.organizations.appgroups.apps.keys.apiproducts.delete + get: + description: Gets a shared flow by name, including a list of its revisions. + operationId: apigee.organizations.sharedflows.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12737,7 +13361,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlow' parameters: - in: path name: organizationsId @@ -12745,35 +13369,124 @@ paths: schema: type: string - in: path - name: appgroupsId + name: sharedflowsId required: true schema: type: string + delete: + description: >- + Deletes a shared flow and all it's revisions. The shared flow must be + undeployed before you can delete it. + operationId: apigee.organizations.sharedflows.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlow' + parameters: - in: path - name: appsId + name: organizationsId required: true schema: type: string - in: path - name: keysId + name: sharedflowsId required: true schema: type: string + /v1/organizations/{organizationsId}/sharedflows: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.sharedflows.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleApiHttpBody' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlowRevision' + parameters: - in: path - name: apiproductsId + name: organizationsId + required: true + schema: + type: string + - in: query + name: name + schema: + type: string + - in: query + name: action + schema: + type: string + get: + description: Lists all shared flows in the organization. + operationId: apigee.organizations.sharedflows.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListSharedFlowsResponse + parameters: + - in: path + name: organizationsId required: true schema: type: string + - in: query + name: includeMetaData + schema: + type: boolean + - in: query + name: includeRevisions + schema: + type: boolean + /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}: + parameters: *ref_1 post: description: >- - 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. - operationId: >- - apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct + 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. + operationId: apigee.organizations.sharedflows.revisions.updateSharedFlowRevision + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12785,7 +13498,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlowRevision' parameters: - in: path name: organizationsId @@ -12793,37 +13506,66 @@ paths: schema: type: string - in: path - name: appgroupsId + name: sharedflowsId required: true schema: type: string - in: path - name: appsId + name: revisionsId required: true schema: type: string + - in: query + name: validate + schema: + type: boolean + get: + description: >- + 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). + operationId: apigee.organizations.sharedflows.revisions.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleApiHttpBody' + parameters: - in: path - name: keysId + name: organizationsId required: true schema: type: string - in: path - name: apiproductsId + name: sharedflowsId + required: true + schema: + type: string + - in: path + name: revisionsId required: true schema: type: string - in: query - name: action + name: format schema: type: string - /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}: - parameters: *ref_1 delete: description: >- - 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. - operationId: apigee.organizations.appgroups.apps.keys.delete + Deletes a shared flow and all associated policies, resources, and + revisions. You must undeploy the shared flow before deleting it. + operationId: apigee.organizations.sharedflows.revisions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12835,7 +13577,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlowRevision' parameters: - in: path name: organizationsId @@ -12843,25 +13585,54 @@ paths: schema: type: string - in: path - name: appgroupsId + name: sharedflowsId required: true schema: type: string - in: path - name: appsId + name: revisionsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments: + parameters: *ref_1 + get: + description: Lists all deployments of a shared flow revision. + operationId: apigee.organizations.sharedflows.revisions.deployments.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse + parameters: + - in: path + name: organizationsId required: true schema: type: string - in: path - name: keysId + name: sharedflowsId + required: true + schema: + type: string + - in: path + name: revisionsId required: true schema: type: string + /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/deployments: + parameters: *ref_1 get: - description: >- - Gets details for a consumer key for a AppGroup app, including the key - and secret value, associated API products, and other information. - operationId: apigee.organizations.appgroups.apps.keys.get + description: Lists all deployments of a shared flow. + operationId: apigee.organizations.sharedflows.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12873,7 +13644,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse parameters: - in: path name: organizationsId @@ -12881,36 +13653,15 @@ paths: schema: type: string - in: path - name: appgroupsId - required: true - schema: - type: string - - in: path - name: appsId - required: true - schema: - type: string - - in: path - name: keysId + name: sharedflowsId required: true schema: type: string - post: - description: >- - 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. - operationId: apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest + /v1/organizations/{organizationsId}/datacollectors: + parameters: *ref_1 + get: + description: Lists all data collectors. + operationId: apigee.organizations.datacollectors.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12922,50 +13673,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDataCollectorsResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: appgroupsId - required: true - schema: - type: string - - in: path - name: appsId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: keysId - required: true + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys: - parameters: *ref_1 post: - description: >- - Creates a custom consumer key and secret for a AppGroup 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 ProductizeAppGroupAppKey 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 - DeleteAppGroupAppKey API. - operationId: apigee.organizations.appgroups.apps.keys.create + description: Creates a new data collector. + operationId: apigee.organizations.datacollectors.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12977,32 +13709,22 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: appgroupsId - required: true - schema: - type: string - - in: path - name: appsId - required: true + - in: query + name: dataCollectorId schema: type: string - /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}: + /v1/organizations/{organizationsId}/datacollectors/{datacollectorsId}: parameters: *ref_1 - delete: - description: >- - 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. - operationId: apigee.organizations.appgroups.apps.delete + get: + description: Gets a data collector. + operationId: apigee.organizations.datacollectors.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13014,7 +13736,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' parameters: - in: path name: organizationsId @@ -13022,18 +13744,13 @@ paths: schema: type: string - in: path - name: appgroupsId - required: true - schema: - type: string - - in: path - name: appsId + name: datacollectorsId required: true schema: type: string - get: - description: Returns the details for an AppGroup app. - operationId: apigee.organizations.appgroups.apps.get + delete: + description: Deletes a data collector. + operationId: apigee.organizations.datacollectors.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13045,7 +13762,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -13053,32 +13770,18 @@ paths: schema: type: string - in: path - name: appgroupsId - required: true - schema: - type: string - - in: path - name: appsId + name: datacollectorsId required: true schema: type: string - put: - description: >- - 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. - operationId: apigee.organizations.appgroups.apps.update + patch: + description: Updates a data collector. + operationId: apigee.organizations.datacollectors.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13090,7 +13793,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' parameters: - in: path name: organizationsId @@ -13098,29 +13801,26 @@ paths: schema: type: string - in: path - name: appgroupsId - required: true - schema: - type: string - - in: path - name: appsId + name: datacollectorsId required: true schema: type: string - in: query - name: action + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps: + format: google-fieldmask + /v1/organizations/{organizationsId}/developers/{developersId}/balance:credit: parameters: *ref_1 - get: - description: >- - 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. - operationId: apigee.organizations.appgroups.apps.list + post: + description: Credits the account balance for the developer. + operationId: apigee.organizations.developers.balance.credit + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1CreditDeveloperBalanceRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13132,8 +13832,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListAppGroupAppsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalance' parameters: - in: path name: organizationsId @@ -13141,32 +13840,23 @@ paths: schema: type: string - in: path - name: appgroupsId + name: developersId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/organizations/{organizationsId}/developers/{developersId}/balance:adjust: + parameters: *ref_1 post: description: >- - Creates an app and associates it with an AppGroup. This API associates - the AppGroup 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. - operationId: apigee.organizations.appgroups.apps.create + Adjust the prepaid balance for the developer. This API will be used in + scenarios where the developer has been under-charged or over-charged. + operationId: apigee.organizations.developers.balance.adjust requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1AdjustDeveloperBalanceRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13178,7 +13868,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalance' parameters: - in: path name: organizationsId @@ -13186,18 +13876,15 @@ paths: schema: type: string - in: path - name: appgroupsId + name: developersId required: true schema: type: string - /v1/organizations/{organizationsId}/appgroups: + /v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}: parameters: *ref_1 - get: - description: >- - 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. - operationId: apigee.organizations.appgroups.list + delete: + description: Deletes a developer attribute. + operationId: apigee.organizations.developers.attributes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13209,37 +13896,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListAppGroupsResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: developersId + required: true schema: type: string - - in: query - name: filter + - in: path + name: attributesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 post: description: >- - 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`. - operationId: apigee.organizations.appgroups.create + 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. + operationId: apigee.organizations.developers.attributes.updateDeveloperAttribute requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13251,28 +13938,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path - name: organizationsId + name: organizationsId + required: true + schema: + type: string + - in: path + name: developersId + required: true + schema: + type: string + - in: path + name: attributesId required: true schema: type: string - /v1/organizations/{organizationsId}/appgroups/{appgroupsId}: - parameters: *ref_1 - put: - description: >- - 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. - operationId: apigee.organizations.appgroups.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + get: + description: Returns the value of the specified developer attribute. + operationId: apigee.organizations.developers.attributes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13284,7 +13969,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId @@ -13292,19 +13977,20 @@ paths: schema: type: string - in: path - name: appgroupsId + name: developersId required: true schema: type: string - - in: query - name: action + - in: path + name: attributesId + required: true schema: type: string + /v1/organizations/{organizationsId}/developers/{developersId}/attributes: + parameters: *ref_1 get: - description: >- - Returns the AppGroup details for the provided AppGroup name in the - request URI. - operationId: apigee.organizations.appgroups.get + description: Returns a list of all developer attributes. + operationId: apigee.organizations.developers.attributes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13316,7 +14002,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' parameters: - in: path name: organizationsId @@ -13324,19 +14010,28 @@ paths: schema: type: string - in: path - name: appgroupsId + name: developersId required: true schema: type: string - delete: + post: description: >- - 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. - operationId: apigee.organizations.appgroups.delete + 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. + operationId: apigee.organizations.developers.attributes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13348,7 +14043,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' parameters: - in: path name: organizationsId @@ -13356,21 +14051,21 @@ paths: schema: type: string - in: path - name: appgroupsId + name: developersId required: true schema: type: string - /v1/organizations/{organizationsId}/hostStats/{hostStatsId}: + /v1/organizations/{organizationsId}/developers/{developersId}/subscriptions/{subscriptionsId}:expire: parameters: *ref_1 - get: - description: >- - 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. - operationId: apigee.organizations.hostStats.get + post: + description: Expires an API product subscription immediately. + operationId: apigee.organizations.developers.subscriptions.expire + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13382,7 +14077,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Stats' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' parameters: - in: path name: organizationsId @@ -13390,71 +14085,20 @@ paths: schema: type: string - in: path - name: hostStatsId + name: developersId required: true schema: type: string - - in: query - name: timeRange - schema: - type: string - - in: query - name: tzo - schema: - type: string - - in: query - name: select - schema: - type: string - - in: query - name: topk - schema: - type: string - - in: query - name: tsAscending - schema: - type: boolean - - in: query - name: offset - schema: - type: string - - in: query - name: limit - schema: - type: string - - in: query - name: sortby - schema: - type: string - - in: query - name: accuracy - schema: - type: string - - in: query - name: envgroupHostname - schema: - type: string - - in: query - name: sort - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: timeUnit + - in: path + name: subscriptionsId + required: true schema: type: string - - in: query - name: realtime - schema: - type: boolean - /v1/organizations/{organizationsId}/instances/{instancesId}/canaryevaluations/{canaryevaluationsId}: + /v1/organizations/{organizationsId}/developers/{developersId}/subscriptions/{subscriptionsId}: parameters: *ref_1 get: - description: Gets a CanaryEvaluation for an organization. - operationId: apigee.organizations.instances.canaryevaluations.get + description: Gets details for an API product subscription. + operationId: apigee.organizations.developers.subscriptions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13466,7 +14110,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CanaryEvaluation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' parameters: - in: path name: organizationsId @@ -13474,25 +14118,25 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - in: path - name: canaryevaluationsId + name: subscriptionsId required: true schema: type: string - /v1/organizations/{organizationsId}/instances/{instancesId}/canaryevaluations: + /v1/organizations/{organizationsId}/developers/{developersId}/subscriptions: parameters: *ref_1 post: - description: Creates a new canary evaluation for an organization. - operationId: apigee.organizations.instances.canaryevaluations.create + description: 'Creates a subscription to an API product. ' + operationId: apigee.organizations.developers.subscriptions.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CanaryEvaluation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13504,7 +14148,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' parameters: - in: path name: organizationsId @@ -13512,22 +14156,70 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - /v1/organizations/{organizationsId}/instances/{instancesId}/attachments: + get: + description: Lists all API product subscriptions for a developer. + operationId: apigee.organizations.developers.subscriptions.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: developersId + required: true + schema: + type: string + - in: query + name: startKey + schema: + type: string + - in: query + name: count + schema: + type: integer + format: int32 + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create: parameters: *ref_1 post: description: >- - Creates a new attachment of an environment to an instance. **Note:** Not - supported for Apigee hybrid. - operationId: apigee.organizations.instances.attachments.create + 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. + operationId: apigee.organizations.developers.apps.keys.create.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceAttachment' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13539,7 +14231,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13547,15 +14239,27 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - get: + - in: path + name: appsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}: + parameters: *ref_1 + post: description: >- - Lists all attachments to an instance. **Note:** Not supported for Apigee - hybrid. - operationId: apigee.organizations.instances.attachments.list + 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. + operationId: >- + apigee.organizations.developers.apps.keys.apiproducts.updateDeveloperAppKeyApiProduct security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13567,8 +14271,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListInstanceAttachmentsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -13576,24 +14279,36 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: appsId + required: true + schema: + type: string + - in: path + name: keysId + required: true + schema: + type: string + - in: path + name: apiproductsId + required: true schema: type: string - in: query - name: pageSize + name: action schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/instances/{instancesId}/attachments/{attachmentsId}: - parameters: *ref_1 + type: string delete: - description: Deletes an attachment. **Note:** Not supported for Apigee hybrid. - operationId: apigee.organizations.instances.attachments.delete + description: >- + 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. + operationId: apigee.organizations.developers.apps.keys.apiproducts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13605,7 +14320,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13613,53 +14328,49 @@ paths: schema: type: string - in: path - name: instancesId - required: true - schema: - type: string - - in: path - name: attachmentsId + name: developersId required: true schema: type: string - get: - description: Gets an attachment. **Note:** Not supported for Apigee hybrid. - operationId: apigee.organizations.instances.attachments.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceAttachment' - parameters: - in: path - name: organizationsId + name: appsId required: true schema: type: string - in: path - name: instancesId + name: keysId required: true schema: type: string - in: path - name: attachmentsId + name: apiproductsId required: true schema: type: string - /v1/organizations/{organizationsId}/instances/{instancesId}/natAddresses/{natAddressesId}: + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys: parameters: *ref_1 - get: + post: description: >- - Gets the details of a NAT address. **Note:** Not supported for Apigee - hybrid. - operationId: apigee.organizations.instances.natAddresses.get + 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. + operationId: apigee.organizations.developers.apps.keys.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13671,7 +14382,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1NatAddress' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13679,21 +14390,31 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - in: path - name: natAddressesId + name: appsId required: true schema: type: string - delete: + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}: + parameters: *ref_1 + put: description: >- - Deletes the NAT address. Connections that are actively using the address - are drained before it is removed. **Note:** Not supported for Apigee - hybrid. - operationId: apigee.organizations.instances.natAddresses.delete + 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. + operationId: apigee.organizations.developers.apps.keys.replaceDeveloperAppKey + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13705,7 +14426,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13713,31 +14434,25 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - in: path - name: natAddressesId + name: appsId required: true schema: type: string - /v1/organizations/{organizationsId}/instances/{instancesId}/natAddresses: - parameters: *ref_1 - post: + - in: path + name: keysId + required: true + schema: + type: string + get: description: >- - 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. - operationId: apigee.organizations.instances.natAddresses.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1NatAddress' + Gets details for a consumer key for a developer app, including the key + and secret value, associated API products, and other information. + operationId: apigee.organizations.developers.apps.keys.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13749,7 +14464,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13757,15 +14472,30 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - get: + - in: path + name: appsId + required: true + schema: + type: string + - in: path + name: keysId + required: true + schema: + type: string + delete: description: >- - Lists the NAT addresses for an Apigee instance. **Note:** Not supported - for Apigee hybrid. - operationId: apigee.organizations.instances.natAddresses.list + 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. + operationId: apigee.organizations.developers.apps.keys.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13777,8 +14507,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListNatAddressesResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13786,32 +14515,35 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - - in: query - name: pageSize + - in: path + name: appsId + required: true schema: - type: integer - format: int32 - - in: query - name: pageToken + type: string + - in: path + name: keysId + required: true schema: type: string - /v1/organizations/{organizationsId}/instances/{instancesId}/natAddresses/{natAddressesId}:activate: - parameters: *ref_1 post: description: >- - Activates the NAT address. The Apigee instance can now use this for - Internet egress traffic. **Note:** Not supported for Apigee hybrid. - operationId: apigee.organizations.instances.natAddresses.activate + 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. + operationId: apigee.organizations.developers.apps.keys.updateDeveloperAppKey requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ActivateNatAddressRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13823,7 +14555,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' parameters: - in: path name: organizationsId @@ -13831,28 +14563,29 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - in: path - name: natAddressesId + name: appsId required: true schema: type: string - /v1/organizations/{organizationsId}/instances: + - in: path + name: keysId + required: true + schema: + type: string + - in: query + name: action + schema: + type: string + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}: parameters: *ref_1 - post: - description: >- - Creates an Apigee runtime instance. The instance is accessible from the - authorized network configured on the organization. **Note:** Not - supported for Apigee hybrid. - operationId: apigee.organizations.instances.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' + delete: + description: Deletes a developer app attribute. + operationId: apigee.organizations.developers.apps.attributes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13864,18 +14597,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path - name: organizationsId + name: organizationsId + required: true + schema: + type: string + - in: path + name: developersId + required: true + schema: + type: string + - in: path + name: appsId + required: true + schema: + type: string + - in: path + name: attributesId required: true schema: type: string get: - description: >- - Lists all Apigee runtime instances for the organization. **Note:** Not - supported for Apigee hybrid. - operationId: apigee.organizations.instances.list + description: Returns a developer app attribute. + operationId: apigee.organizations.developers.apps.attributes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13887,33 +14633,44 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListInstancesResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: developersId + required: true schema: type: string - - in: query - name: pageSize + - in: path + name: appsId + required: true schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/instances/{instancesId}:reportStatus: - parameters: *ref_1 + type: string + - in: path + name: attributesId + required: true + schema: + type: string post: - description: Reports the latest status for a runtime instance. - operationId: apigee.organizations.instances.reportStatus + description: >- + 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. + operationId: >- + apigee.organizations.developers.apps.attributes.updateDeveloperAppAttribute requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ReportInstanceStatusRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13925,8 +14682,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ReportInstanceStatusResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId @@ -13934,23 +14690,25 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - /v1/organizations/{organizationsId}/instances/{instancesId}: + - in: path + name: appsId + required: true + schema: + type: string + - in: path + name: attributesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes: parameters: *ref_1 - patch: - description: >- - 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. - operationId: apigee.organizations.instances.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' + get: + description: Returns a list of all developer app attributes. + operationId: apigee.organizations.developers.apps.attributes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13962,7 +14720,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' parameters: - in: path name: organizationsId @@ -13970,21 +14728,25 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: appsId + required: true schema: type: string - format: google-fieldmask - delete: + post: description: >- - Deletes an Apigee runtime instance. The instance stops serving requests - and the runtime data is deleted. **Note:** Not supported for Apigee - hybrid. - operationId: apigee.organizations.instances.delete + Updates attributes for a developer app. This API replaces the current + attributes with those specified in the request. + operationId: apigee.organizations.developers.apps.attributes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13996,7 +14758,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' parameters: - in: path name: organizationsId @@ -14004,15 +14766,24 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - get: + - in: path + name: appsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}: + parameters: *ref_1 + delete: description: >- - Gets the details for an Apigee runtime instance. **Note:** Not supported - for Apigee hybrid. - operationId: apigee.organizations.instances.get + 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. + operationId: apigee.organizations.developers.apps.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14024,7 +14795,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' parameters: - in: path name: organizationsId @@ -14032,24 +14803,33 @@ paths: schema: type: string - in: path - name: instancesId + name: developersId required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}: - parameters: *ref_1 - post: + - in: path + name: appsId + required: true + schema: + type: string + put: description: >- - 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` - operationId: apigee.organizations.developers.setDeveloperStatus + 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. + operationId: apigee.organizations.developers.apps.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14061,7 +14841,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' parameters: - in: path name: organizationsId @@ -14073,21 +14853,14 @@ paths: required: true schema: type: string - - in: query - name: action + - in: path + name: appsId + required: true schema: type: string - delete: - description: >- - 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. - operationId: apigee.organizations.developers.delete + get: + description: Returns the details for a developer app. + operationId: apigee.organizations.developers.apps.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14099,7 +14872,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' parameters: - in: path name: organizationsId @@ -14111,12 +14884,53 @@ paths: required: true schema: type: string - get: + - in: path + name: appsId + required: true + schema: + type: string + - in: query + name: entity + schema: + type: string + - in: query + name: query + schema: + type: string + post: description: >- - Returns the developer details, including the developer's name, email - address, apps, and other information. **Note**: The response includes - only the first 100 developer apps. - operationId: apigee.organizations.developers.get + 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. + operationId: >- + apigee.organizations.developers.apps.generateKeyPairOrUpdateDeveloperAppStatus + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14128,7 +14942,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' parameters: - in: path name: organizationsId @@ -14140,27 +14954,31 @@ paths: required: true schema: type: string - - in: query - name: action + - in: path + name: appsId + required: true schema: type: string - put: - description: >- - 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. - operationId: apigee.organizations.developers.update + - in: query + name: action + schema: + type: string + /v1/organizations/{organizationsId}/developers/{developersId}/apps: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.developers.apps.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14172,7 +14990,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' parameters: - in: path name: organizationsId @@ -14184,17 +15002,14 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/monetizationConfig: - parameters: *ref_1 - put: - description: Updates the monetization configuration for the developer. - operationId: apigee.organizations.developers.updateMonetizationConfig - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeveloperMonetizationConfig + get: + description: >- + Lists all apps created by a developer in an Apigee organization. + Optionally, you can request an expanded view of the developer apps. A + maximum of 100 developer apps are returned per API call. You can + paginate the list of deveoper apps returned using the `startKey` and + `count` query parameters. + operationId: apigee.organizations.developers.apps.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14207,7 +15022,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeveloperMonetizationConfig + #/components/schemas/GoogleCloudApigeeV1ListDeveloperAppsResponse parameters: - in: path name: organizationsId @@ -14219,9 +15034,28 @@ paths: required: true schema: type: string + - in: query + name: startKey + schema: + type: string + - in: query + name: count + schema: + type: string + format: int64 + - in: query + name: expand + schema: + type: boolean + - in: query + name: shallowExpand + schema: + type: boolean + /v1/organizations/{organizationsId}/developers/{developersId}/balance: + parameters: *ref_1 get: - description: Gets the monetization configuration for the developer. - operationId: apigee.organizations.developers.getMonetizationConfig + description: Gets the account balance for the developer. + operationId: apigee.organizations.developers.getBalance security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14233,8 +15067,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeveloperMonetizationConfig + $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalance' parameters: - in: path name: organizationsId @@ -14277,30 +15110,30 @@ paths: schema: type: string - in: query - name: app + name: expand schema: - type: string + type: boolean - in: query - name: startKey + name: ids schema: type: string - - in: query - name: includeCompany - schema: - type: boolean - in: query name: count schema: type: string format: int64 - in: query - name: ids + name: app schema: type: string - in: query - name: expand + name: includeCompany schema: type: boolean + - in: query + name: startKey + schema: + type: string post: description: >- Creates a developer. Once created, the developer can register an app and @@ -14330,52 +15163,14 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/attributes: + /v1/organizations/{organizationsId}/developers/{developersId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.developers.attributes - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: developersId - required: true - schema: - type: string get: - description: Returns a list of all developer attributes. - operationId: apigee.organizations.developers.attributes.list + description: >- + Returns the developer details, including the developer's name, email + address, apps, and other information. **Note**: The response includes + only the first 100 developer apps. + operationId: apigee.organizations.developers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14387,7 +15182,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' parameters: - in: path name: organizationsId @@ -14399,81 +15194,22 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/balance: - parameters: *ref_1 - get: - description: Gets the account balance for the developer. - operationId: apigee.organizations.developers.getBalance - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalance' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: developersId - required: true + - in: query + name: action schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}: - parameters: *ref_1 post: description: >- - 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. - operationId: apigee.organizations.developers.attributes.updateDeveloperAttribute - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: attributesId - required: true - schema: - type: string - get: - description: Returns the value of the specified developer attribute. - operationId: apigee.organizations.developers.attributes.get + 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` + operationId: apigee.organizations.developers.setDeveloperStatus security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14485,7 +15221,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -14497,14 +15233,21 @@ paths: required: true schema: type: string - - in: path - name: attributesId - required: true + - in: query + name: action schema: type: string delete: - description: Deletes a developer attribute. - operationId: apigee.organizations.developers.attributes.delete + description: >- + 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. + operationId: apigee.organizations.developers.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14516,7 +15259,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' parameters: - in: path name: organizationsId @@ -14528,22 +15271,23 @@ paths: required: true schema: type: string - - in: path - name: attributesId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/developers/{developersId}/subscriptions/{subscriptionsId}:expire: - parameters: *ref_1 - post: - description: Expires an API product subscription immediately. - operationId: apigee.organizations.developers.subscriptions.expire + put: + description: >- + 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. + operationId: apigee.organizations.developers.update requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14555,7 +15299,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' + $ref: '#/components/schemas/GoogleCloudApigeeV1Developer' parameters: - in: path name: organizationsId @@ -14567,16 +15311,17 @@ paths: required: true schema: type: string - - in: path - name: subscriptionsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/developers/{developersId}/subscriptions: + /v1/organizations/{organizationsId}/developers/{developersId}/monetizationConfig: parameters: *ref_1 - get: - description: Lists all API product subscriptions for a developer. - operationId: apigee.organizations.developers.subscriptions.list + put: + description: Updates the monetization configuration for the developer. + operationId: apigee.organizations.developers.updateMonetizationConfig + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeveloperMonetizationConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14589,7 +15334,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse + #/components/schemas/GoogleCloudApigeeV1DeveloperMonetizationConfig parameters: - in: path name: organizationsId @@ -14601,23 +15346,9 @@ paths: required: true schema: type: string - - in: query - name: startKey - schema: - type: string - - in: query - name: count - schema: - type: integer - format: int32 - post: - description: 'Creates a subscription to an API product. ' - operationId: apigee.organizations.developers.subscriptions.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' + get: + description: Gets the monetization configuration for the developer. + operationId: apigee.organizations.developers.getMonetizationConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14629,7 +15360,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeveloperMonetizationConfig parameters: - in: path name: organizationsId @@ -14641,11 +15373,16 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/subscriptions/{subscriptionsId}: + /v1/organizations/{organizationsId}/hostSecurityReports/{hostSecurityReportsId}/result: parameters: *ref_1 get: - description: Gets details for an API product subscription. - operationId: apigee.organizations.developers.subscriptions.get + description: >- + 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` + operationId: apigee.organizations.hostSecurityReports.getResult security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14657,7 +15394,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperSubscription' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -14665,28 +15402,18 @@ paths: schema: type: string - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: subscriptionsId + name: hostSecurityReportsId required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/balance:adjust: + /v1/organizations/{organizationsId}/hostSecurityReports/{hostSecurityReportsId}: parameters: *ref_1 - post: + get: description: >- - Adjust the prepaid balance for the developer. This API will be used in - scenarios where the developer has been under-charged or over-charged. - operationId: apigee.organizations.developers.balance.adjust - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1AdjustDeveloperBalanceRequest + 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" + operationId: apigee.organizations.hostSecurityReports.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14698,7 +15425,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalance' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' parameters: - in: path name: organizationsId @@ -14706,21 +15433,24 @@ paths: schema: type: string - in: path - name: developersId + name: hostSecurityReportsId required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/balance:credit: + /v1/organizations/{organizationsId}/hostSecurityReports: parameters: *ref_1 post: - description: Credits the account balance for the developer. - operationId: apigee.organizations.developers.balance.credit + description: >- + 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. + operationId: apigee.organizations.hostSecurityReports.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1CreditDeveloperBalanceRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportQuery' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14732,28 +15462,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperBalance' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: developersId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps: - parameters: *ref_1 get: - description: >- - Lists all apps created by a developer in an Apigee organization. - Optionally, you can request an expanded view of the developer apps. A - maximum of 100 developer apps are returned per API call. You can - paginate the list of deveoper apps returned using the `startKey` and - `count` query parameters. - operationId: apigee.organizations.developers.apps.list + description: Return a list of Security Reports at host level. + operationId: apigee.organizations.hostSecurityReports.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14766,49 +15484,53 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeveloperAppsResponse + #/components/schemas/GoogleCloudApigeeV1ListSecurityReportsResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: developersId - required: true + - in: query + name: status schema: type: string - in: query - name: startKey + name: envgroupHostname schema: type: string - in: query - name: expand + name: submittedBy schema: - type: boolean + type: string - in: query - name: count + name: dataset schema: type: string - format: int64 - in: query - name: shallowExpand + name: pageToken schema: - type: boolean - post: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: from + schema: + type: string + - in: query + name: to + schema: + type: string + /v1/organizations/{organizationsId}/hostSecurityReports/{hostSecurityReportsId}/resultView: + parameters: *ref_1 + get: description: >- - 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. - operationId: apigee.organizations.developers.apps.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + After the query is completed, use this API to view the query result when + result size is small. + operationId: apigee.organizations.hostSecurityReports.getResultView security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14820,7 +15542,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityReportResultView parameters: - in: path name: organizationsId @@ -14828,46 +15551,15 @@ paths: schema: type: string - in: path - name: developersId + name: hostSecurityReportsId required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}: + /v1/organizations/{organizationsId}/optimizedHostStats/{optimizedHostStatsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - apigee.organizations.developers.apps.generateKeyPairOrUpdateDeveloperAppStatus - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + get: + description: Similar to GetHostStats except that the response is less verbose. + operationId: apigee.organizations.optimizedHostStats.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14879,30 +15571,85 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStats' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: developersId - required: true + - in: path + name: optimizedHostStatsId + required: true + schema: + type: string + - in: query + name: topk + schema: + type: string + - in: query + name: envgroupHostname + schema: + type: string + - in: query + name: tsAscending + schema: + type: boolean + - in: query + name: offset + schema: + type: string + - in: query + name: accuracy + schema: + type: string + - in: query + name: limit + schema: + type: string + - in: query + name: sortby + schema: + type: string + - in: query + name: tzo schema: type: string - - in: path - name: appsId - required: true + - in: query + name: realtime + schema: + type: boolean + - in: query + name: filter schema: type: string - in: query - name: action + name: select + schema: + type: string + - in: query + name: timeUnit + schema: + type: string + - in: query + name: sort + schema: + type: string + - in: query + name: timeRange schema: type: string + /v1/organizations/{organizationsId}/hostStats/{hostStatsId}: + parameters: *ref_1 get: - description: Returns the details for a developer app. - operationId: apigee.organizations.developers.apps.get + description: >- + 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. + operationId: apigee.organizations.hostStats.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14914,7 +15661,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1Stats' parameters: - in: path name: organizationsId @@ -14922,41 +15669,71 @@ paths: schema: type: string - in: path - name: developersId + name: hostStatsId required: true schema: type: string - - in: path - name: appsId - required: true + - in: query + name: timeUnit schema: type: string - in: query - name: entity + name: offset schema: type: string - in: query - name: query + name: tzo schema: type: string - put: - description: >- - 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. - operationId: apigee.organizations.developers.apps.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + - in: query + name: tsAscending + schema: + type: boolean + - in: query + name: envgroupHostname + schema: + type: string + - in: query + name: select + schema: + type: string + - in: query + name: timeRange + schema: + type: string + - in: query + name: limit + schema: + type: string + - in: query + name: realtime + schema: + type: boolean + - in: query + name: accuracy + schema: + type: string + - in: query + name: topk + schema: + type: string + - in: query + name: sort + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: sortby + schema: + type: string + /v1/organizations/{organizationsId}/reports/{reportsId}: + parameters: *ref_1 + get: + description: Retrieve a custom report definition. + operationId: apigee.organizations.reports.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14968,7 +15745,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' parameters: - in: path name: organizationsId @@ -14976,22 +15753,18 @@ paths: schema: type: string - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: appsId + name: reportsId required: true schema: type: string - delete: - description: >- - 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. - operationId: apigee.organizations.developers.apps.delete + put: + description: Update an existing custom report definition + operationId: apigee.organizations.reports.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15003,7 +15776,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperApp' + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' parameters: - in: path name: organizationsId @@ -15011,27 +15784,13 @@ paths: schema: type: string - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: appsId + name: reportsId required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes: - parameters: *ref_1 - post: - description: >- - Updates attributes for a developer app. This API replaces the current - attributes with those specified in the request. - operationId: apigee.organizations.developers.apps.attributes - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + delete: + description: Deletes an existing custom report definition + operationId: apigee.organizations.reports.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15043,7 +15802,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DeleteCustomReportResponse parameters: - in: path name: organizationsId @@ -15051,18 +15811,15 @@ paths: schema: type: string - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: appsId + name: reportsId required: true schema: type: string + /v1/organizations/{organizationsId}/reports: + parameters: *ref_1 get: - description: Returns a list of all developer app attributes. - operationId: apigee.organizations.developers.apps.attributes.list + description: Return a list of Custom Reports + operationId: apigee.organizations.reports.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15074,39 +15831,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListCustomReportsResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: appsId - required: true + - in: query + name: expand schema: - type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}: - parameters: *ref_1 - put: + type: boolean + post: description: >- - 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. - operationId: apigee.organizations.developers.apps.keys.replaceDeveloperAppKey + 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. + operationId: apigee.organizations.reports.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15118,38 +15869,22 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: developersId - required: true - schema: - type: string - - in: path - name: appsId - required: true - schema: - type: string - - in: path - name: keysId - required: true - schema: - type: string + /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}: + parameters: *ref_1 delete: description: >- - 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. - operationId: apigee.organizations.developers.apps.keys.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. + operationId: apigee.organizations.appgroups.apps.keys.apiproducts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15161,7 +15896,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' parameters: - in: path name: organizationsId @@ -15169,7 +15904,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15183,21 +15918,21 @@ paths: required: true schema: type: string + - in: path + name: apiproductsId + required: true + schema: + type: string post: description: >- - 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. - operationId: apigee.organizations.developers.apps.keys.updateDeveloperAppKey - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + 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. + operationId: >- + apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15209,7 +15944,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -15217,7 +15952,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15231,15 +15966,22 @@ paths: required: true schema: type: string + - in: path + name: apiproductsId + required: true + schema: + type: string - in: query name: action schema: type: string + /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys/{keysId}: + parameters: *ref_1 get: description: >- - Gets details for a consumer key for a developer app, including the key + Gets details for a consumer key for a AppGroup app, including the key and secret value, associated API products, and other information. - operationId: apigee.organizations.developers.apps.keys.get + operationId: apigee.organizations.appgroups.apps.keys.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15251,7 +15993,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' parameters: - in: path name: organizationsId @@ -15259,7 +16001,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15273,30 +16015,12 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys: - parameters: *ref_1 - post: + delete: description: >- - 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. - operationId: apigee.organizations.developers.apps.keys.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + 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. + operationId: apigee.organizations.appgroups.apps.keys.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15308,7 +16032,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' parameters: - in: path name: organizationsId @@ -15316,7 +16040,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15325,70 +16049,27 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create: - parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.developers.apps.keys.create.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: developersId - required: true - schema: - type: string - in: path - name: appsId + name: keysId required: true schema: type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}: - parameters: *ref_1 post: description: >- - 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. - operationId: >- - apigee.organizations.developers.apps.keys.apiproducts.updateDeveloperAppKeyApiProduct + 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. + operationId: apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15400,7 +16081,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' parameters: - in: path name: organizationsId @@ -15408,7 +16089,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15422,22 +16103,28 @@ paths: required: true schema: type: string - - in: path - name: apiproductsId - required: true - schema: - type: string - - in: query - name: action - schema: - type: string - delete: + /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}/keys: + parameters: *ref_1 + post: description: >- - 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. - operationId: apigee.organizations.developers.apps.keys.apiproducts.delete + Creates a custom consumer key and secret for a AppGroup 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 ProductizeAppGroupAppKey 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 + DeleteAppGroupAppKey API. + operationId: apigee.organizations.appgroups.apps.keys.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15449,7 +16136,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeveloperAppKey' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupAppKey' parameters: - in: path name: organizationsId @@ -15457,7 +16144,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15466,34 +16153,25 @@ paths: required: true schema: type: string - - in: path - name: keysId - required: true - schema: - type: string - - in: path - name: apiproductsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}: + /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps/{appsId}: parameters: *ref_1 - post: + put: description: >- - 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. - operationId: >- - apigee.organizations.developers.apps.attributes.updateDeveloperAppAttribute + 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. + operationId: apigee.organizations.appgroups.apps.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15505,7 +16183,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' parameters: - in: path name: organizationsId @@ -15513,7 +16191,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15522,14 +16200,13 @@ paths: required: true schema: type: string - - in: path - name: attributesId - required: true + - in: query + name: action schema: type: string get: - description: Returns a developer app attribute. - operationId: apigee.organizations.developers.apps.attributes.get + description: Returns the details for an AppGroup app. + operationId: apigee.organizations.appgroups.apps.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15541,7 +16218,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' parameters: - in: path name: organizationsId @@ -15549,7 +16226,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15558,14 +16235,13 @@ paths: required: true schema: type: string - - in: path - name: attributesId - required: true - schema: - type: string - delete: - description: Deletes a developer app attribute. - operationId: apigee.organizations.developers.apps.attributes.delete + delete: + description: >- + 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. + operationId: apigee.organizations.appgroups.apps.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15577,7 +16253,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' parameters: - in: path name: organizationsId @@ -15585,7 +16261,7 @@ paths: schema: type: string - in: path - name: developersId + name: appgroupsId required: true schema: type: string @@ -15594,16 +16270,16 @@ paths: required: true schema: type: string - - in: path - name: attributesId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/hostSecurityReports: + /v1/organizations/{organizationsId}/appgroups/{appgroupsId}/apps: parameters: *ref_1 get: - description: Return a list of Security Reports at host level. - operationId: apigee.organizations.hostSecurityReports.list + description: >- + 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. + operationId: apigee.organizations.appgroups.apps.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15616,19 +16292,20 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSecurityReportsResponse + #/components/schemas/GoogleCloudApigeeV1ListAppGroupAppsResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: to + - in: path + name: appgroupsId + required: true schema: type: string - in: query - name: status + name: pageToken schema: type: string - in: query @@ -15636,38 +16313,19 @@ paths: schema: type: integer format: int32 - - in: query - name: dataset - schema: - type: string - - in: query - name: envgroupHostname - schema: - type: string - - in: query - name: submittedBy - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: from - schema: - type: string post: description: >- - 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. - operationId: apigee.organizations.hostSecurityReports.create + Creates an app and associates it with an AppGroup. This API associates + the AppGroup 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. + operationId: apigee.organizations.appgroups.apps.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportQuery' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15679,21 +16337,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroupApp' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/hostSecurityReports/{hostSecurityReportsId}: + - in: path + name: appgroupsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/appgroups/{appgroupsId}: parameters: *ref_1 - get: + delete: description: >- - 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" - operationId: apigee.organizations.hostSecurityReports.get + 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. + operationId: apigee.organizations.appgroups.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15705,7 +16371,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' parameters: - in: path name: organizationsId @@ -15713,17 +16379,15 @@ paths: schema: type: string - in: path - name: hostSecurityReportsId + name: appgroupsId required: true schema: type: string - /v1/organizations/{organizationsId}/hostSecurityReports/{hostSecurityReportsId}/resultView: - parameters: *ref_1 get: description: >- - After the query is completed, use this API to view the query result when - result size is small. - operationId: apigee.organizations.hostSecurityReports.getResultView + Returns the AppGroup details for the provided AppGroup name in the + request URI. + operationId: apigee.organizations.appgroups.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15735,8 +16399,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityReportResultView + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' parameters: - in: path name: organizationsId @@ -15744,20 +16407,23 @@ paths: schema: type: string - in: path - name: hostSecurityReportsId + name: appgroupsId required: true schema: type: string - /v1/organizations/{organizationsId}/hostSecurityReports/{hostSecurityReportsId}/result: - parameters: *ref_1 - get: + put: description: >- - 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` - operationId: apigee.organizations.hostSecurityReports.getResult + 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. + operationId: apigee.organizations.appgroups.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15769,7 +16435,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' parameters: - in: path name: organizationsId @@ -15777,22 +16443,27 @@ paths: schema: type: string - in: path - name: hostSecurityReportsId + name: appgroupsId required: true schema: type: string - /v1/organizations/{organizationsId}/endpointAttachments: + - in: query + name: action + schema: + type: string + /v1/organizations/{organizationsId}/appgroups: parameters: *ref_1 post: description: >- - Creates an endpoint attachment. **Note:** Not supported for Apigee - hybrid. - operationId: apigee.organizations.endpointAttachments.create + 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`. + operationId: apigee.organizations.appgroups.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointAttachment' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15804,20 +16475,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1AppGroup' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: endpointAttachmentId - schema: - type: string get: - description: Lists the endpoint attachments in an organization. - operationId: apigee.organizations.endpointAttachments.list + description: >- + 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. + operationId: apigee.organizations.appgroups.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15829,8 +16499,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListEndpointAttachmentsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1ListAppGroupsResponse' parameters: - in: path name: organizationsId @@ -15846,37 +16515,15 @@ paths: name: pageToken schema: type: string - /v1/organizations/{organizationsId}/endpointAttachments/{endpointAttachmentsId}: - parameters: *ref_1 - get: - description: Gets the endpoint attachment. - operationId: apigee.organizations.endpointAttachments.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointAttachment' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: endpointAttachmentsId - required: true + - in: query + name: filter schema: type: string - delete: - description: Deletes an endpoint attachment. - operationId: apigee.organizations.endpointAttachments.delete + /v1/organizations/{organizationsId}/sites/{sitesId}/apicategories: + parameters: *ref_1 + get: + description: Returns the API categories associated with a portal. + operationId: apigee.organizations.sites.apicategories.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15888,7 +16535,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListApiCategoriesResponse parameters: - in: path name: organizationsId @@ -15896,20 +16544,18 @@ paths: schema: type: string - in: path - name: endpointAttachmentsId + name: sitesId required: true schema: type: string - /v1/organizations/{organizationsId}/securityProfiles: - parameters: *ref_1 post: - description: CreateSecurityProfile create a new custom security profile. - operationId: apigee.organizations.securityProfiles.create + description: Creates a new API category. + operationId: apigee.organizations.sites.apicategories.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15921,57 +16567,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategoryResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: securityProfileId - schema: - type: string - get: - description: >- - ListSecurityProfiles lists all the security profiles associated with the - org including attached and unattached profiles. - operationId: apigee.organizations.securityProfiles.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSecurityProfilesResponse - parameters: - in: path - name: organizationsId + name: sitesId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}:listRevisions: + /v1/organizations/{organizationsId}/sites/{sitesId}/apicategories/{apicategoriesId}: parameters: *ref_1 get: - description: >- - ListSecurityProfileRevisions lists all the revisions of the security - profile. - operationId: apigee.organizations.securityProfiles.listRevisions + description: Gets an API category. + operationId: apigee.organizations.sites.apicategories.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15983,8 +16595,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategoryResponse' parameters: - in: path name: organizationsId @@ -15992,27 +16603,23 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: apicategoriesId + required: true schema: type: string - /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}: - parameters: *ref_1 - get: - description: >- - GetSecurityProfile gets the specified security profile. Returns - NOT_FOUND if security profile is not present for the specified - organization. - operationId: apigee.organizations.securityProfiles.get + patch: + description: Updates an API category. + operationId: apigee.organizations.sites.apicategories.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16024,7 +16631,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategoryResponse' parameters: - in: path name: organizationsId @@ -16032,13 +16639,18 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId + required: true + schema: + type: string + - in: path + name: apicategoriesId required: true schema: type: string delete: - description: DeleteSecurityProfile delete a profile with all its revisions. - operationId: apigee.organizations.securityProfiles.delete + description: Deletes an API category. + operationId: apigee.organizations.sites.apicategories.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16050,7 +16662,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeleteResponse' parameters: - in: path name: organizationsId @@ -16058,18 +16670,25 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId required: true schema: type: string - patch: - description: UpdateSecurityProfile update the metadata of security profile. - operationId: apigee.organizations.securityProfiles.patch + - in: path + name: apicategoriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/sites/{sitesId}/apidocs/{apidocsId}: + parameters: *ref_1 + put: + description: Updates a catalog item. + operationId: apigee.organizations.sites.apidocs.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16081,7 +16700,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocResponse' parameters: - in: path name: organizationsId @@ -16089,28 +16708,18 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: apidocsId + required: true schema: type: string - format: google-fieldmask - /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}/environments: - parameters: *ref_1 - post: - description: >- - CreateSecurityProfileEnvironmentAssociation creates profile environment - association i.e. attaches environment to security profile. - operationId: apigee.organizations.securityProfiles.environments.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation + get: + description: Gets a catalog item. + operationId: apigee.organizations.sites.apidocs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16122,8 +16731,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocResponse' parameters: - in: path name: organizationsId @@ -16131,17 +16739,18 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId + required: true + schema: + type: string + - in: path + name: apidocsId required: true schema: type: string - /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}/environments/{environmentsId}: - parameters: *ref_1 delete: - description: >- - DeleteSecurityProfileEnvironmentAssociation removes profile environment - association i.e. detaches environment from security profile. - operationId: apigee.organizations.securityProfiles.environments.delete + description: Deletes a catalog item. + operationId: apigee.organizations.sites.apidocs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16153,7 +16762,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeleteResponse' parameters: - in: path name: organizationsId @@ -16161,29 +16770,20 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId required: true schema: type: string - in: path - name: environmentsId + name: apidocsId required: true schema: type: string - /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}/environments/{environmentsId}:computeEnvironmentScores: + /v1/organizations/{organizationsId}/sites/{sitesId}/apidocs: parameters: *ref_1 - post: - description: >- - ComputeEnvironmentScores calculates scores for requested time range for - the specified security profile and environment. - operationId: >- - apigee.organizations.securityProfiles.environments.computeEnvironmentScores - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ComputeEnvironmentScoresRequest + get: + description: Returns the catalog items associated with a portal. + operationId: apigee.organizations.sites.apidocs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16195,8 +16795,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ComputeEnvironmentScoresResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1ListApiDocsResponse' parameters: - in: path name: organizationsId @@ -16204,20 +16803,27 @@ paths: schema: type: string - in: path - name: securityProfilesId + name: sitesId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/organizations/{organizationsId}/reports: - parameters: *ref_1 - get: - description: Return a list of Custom Reports - operationId: apigee.organizations.reports.list + post: + description: Creates a new catalog item. + operationId: apigee.organizations.sites.apidocs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16229,33 +16835,30 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListCustomReportsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: expand + - in: path + name: sitesId + required: true schema: - type: boolean - post: + type: string + /v1/organizations/{organizationsId}/sites/{sitesId}/apidocs/{apidocsId}/documentation: + parameters: *ref_1 + patch: description: >- - 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. - operationId: apigee.organizations.reports.create + Updates the documentation for the specified catalog item. Note that the + documentation file contents will not be populated in the return message. + operationId: apigee.organizations.sites.apidocs.updateDocumentation requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocDocumentation' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16267,18 +16870,27 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ApiDocDocumentationResponse parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/reports/{reportsId}: - parameters: *ref_1 + - in: path + name: sitesId + required: true + schema: + type: string + - in: path + name: apidocsId + required: true + schema: + type: string get: - description: Retrieve a custom report definition. - operationId: apigee.organizations.reports.get + description: Gets the documentation for the specified catalog item. + operationId: apigee.organizations.sites.apidocs.getDocumentation security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16290,7 +16902,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ApiDocDocumentationResponse parameters: - in: path name: organizationsId @@ -16298,13 +16911,20 @@ paths: schema: type: string - in: path - name: reportsId + name: sitesId required: true schema: type: string - delete: - description: Deletes an existing custom report definition - operationId: apigee.organizations.reports.delete + - in: path + name: apidocsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes: + parameters: *ref_1 + get: + description: Lists all API product attributes. + operationId: apigee.organizations.apiproducts.attributes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16316,8 +16936,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DeleteCustomReportResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' parameters: - in: path name: organizationsId @@ -16325,18 +16944,29 @@ paths: schema: type: string - in: path - name: reportsId + name: apiproductsId required: true schema: type: string - put: - description: Update an existing custom report definition - operationId: apigee.organizations.reports.update + post: + description: >- + 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. + operationId: apigee.organizations.apiproducts.attributes requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16348,7 +16978,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1CustomReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' parameters: - in: path name: organizationsId @@ -16356,15 +16986,15 @@ paths: schema: type: string - in: path - name: reportsId + name: apiproductsId required: true schema: type: string - /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments: + /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}: parameters: *ref_1 - get: - description: Lists all deployments of a shared flow revision. - operationId: apigee.organizations.sharedflows.revisions.deployments.list + get: + description: Gets the value of an API product attribute. + operationId: apigee.organizations.apiproducts.attributes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16376,8 +17006,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId @@ -16385,30 +17014,30 @@ paths: schema: type: string - in: path - name: sharedflowsId + name: apiproductsId required: true schema: type: string - in: path - name: revisionsId + name: attributesId required: true schema: type: string - /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}: - parameters: *ref_1 post: description: >- - 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. - operationId: apigee.organizations.sharedflows.revisions.updateSharedFlowRevision + 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. + operationId: apigee.organizations.apiproducts.attributes.updateApiProductAttribute requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16420,7 +17049,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlowRevision' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId @@ -16428,24 +17057,18 @@ paths: schema: type: string - in: path - name: sharedflowsId + name: apiproductsId required: true schema: type: string - in: path - name: revisionsId + name: attributesId required: true schema: type: string - - in: query - name: validate - schema: - type: boolean delete: - description: >- - Deletes a shared flow and all associated policies, resources, and - revisions. You must undeploy the shared flow before deleting it. - operationId: apigee.organizations.sharedflows.revisions.delete + description: Deletes an API product attribute. + operationId: apigee.organizations.apiproducts.attributes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16457,7 +17080,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlowRevision' + $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' parameters: - in: path name: organizationsId @@ -16465,25 +17088,20 @@ paths: schema: type: string - in: path - name: sharedflowsId + name: apiproductsId required: true schema: type: string - in: path - name: revisionsId + name: attributesId required: true schema: type: string + /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans: + parameters: *ref_1 get: - description: >- - 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). - operationId: apigee.organizations.sharedflows.revisions.get + description: Lists all the rate plans for an API product. + operationId: apigee.organizations.apiproducts.rateplans.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16495,7 +17113,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1ListRatePlansResponse' parameters: - in: path name: organizationsId @@ -16503,63 +17121,49 @@ paths: schema: type: string - in: path - name: sharedflowsId + name: apiproductsId required: true schema: type: string - - in: path - name: revisionsId - required: true + - in: query + name: orderBy schema: type: string - in: query - name: format + name: expand schema: - type: string - /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/deployments: - parameters: *ref_1 - get: - description: Lists all deployments of a shared flow. - operationId: apigee.organizations.sharedflows.deployments.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse - parameters: - - in: path - name: organizationsId - required: true + type: boolean + - in: query + name: startKey schema: type: string - - in: path - name: sharedflowsId - required: true + - in: query + name: state schema: type: string - /v1/organizations/{organizationsId}/sharedflows: - parameters: *ref_1 + - in: query + name: count + schema: + type: integer + format: int32 post: description: >- - 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. - operationId: apigee.organizations.sharedflows.create + 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. + operationId: apigee.organizations.apiproducts.rateplans.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16571,24 +17175,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlowRevision' + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: action - schema: - type: string - - in: query - name: name + - in: path + name: apiproductsId + required: true schema: type: string - get: - description: Lists all shared flows in the organization. - operationId: apigee.organizations.sharedflows.list + /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans/{rateplansId}: + parameters: *ref_1 + delete: + description: Deletes a rate plan. + operationId: apigee.organizations.apiproducts.rateplans.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16600,29 +17203,31 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSharedFlowsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: includeRevisions + - in: path + name: apiproductsId + required: true schema: - type: boolean - - in: query - name: includeMetaData + type: string + - in: path + name: rateplansId + required: true schema: - type: boolean - /v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}: - parameters: *ref_1 - delete: - description: >- - Deletes a shared flow and all it's revisions. The shared flow must be - undeployed before you can delete it. - operationId: apigee.organizations.sharedflows.delete + type: string + put: + description: Updates an existing rate plan. + operationId: apigee.organizations.apiproducts.rateplans.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16634,7 +17239,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlow' + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' parameters: - in: path name: organizationsId @@ -16642,13 +17247,18 @@ paths: schema: type: string - in: path - name: sharedflowsId + name: apiproductsId + required: true + schema: + type: string + - in: path + name: rateplansId required: true schema: type: string get: - description: Gets a shared flow by name, including a list of its revisions. - operationId: apigee.organizations.sharedflows.get + description: Gets the details of a rate plan. + operationId: apigee.organizations.apiproducts.rateplans.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16660,7 +17270,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SharedFlow' + $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' parameters: - in: path name: organizationsId @@ -16668,15 +17278,24 @@ paths: schema: type: string - in: path - name: sharedflowsId + name: apiproductsId required: true schema: type: string - /v1/organizations/{organizationsId}/optimizedHostStats/{optimizedHostStatsId}: + - in: path + name: rateplansId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/apiproducts: parameters: *ref_1 get: - description: Similar to GetHostStats except that the response is less verbose. - operationId: apigee.organizations.optimizedHostStats.get + description: >- + 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. + operationId: apigee.organizations.apiproducts.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16684,88 +17303,65 @@ paths: - https://www.googleapis.com/auth/cloud-platform responses: '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStats' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: optimizedHostStatsId - required: true - schema: - type: string - - in: query - name: tsAscending - schema: - type: boolean - - in: query - name: accuracy - schema: - type: string - - in: query - name: offset - schema: - type: string - - in: query - name: topk - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: timeUnit - schema: - type: string - - in: query - name: tzo + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListApiProductsResponse + parameters: + - in: path + name: organizationsId + required: true schema: type: string - in: query - name: envgroupHostname + name: attributename schema: type: string - in: query - name: timeRange + name: startKey schema: type: string - in: query - name: realtime + name: expand schema: type: boolean - in: query - name: sortby - schema: - type: string - - in: query - name: sort - schema: - type: string - - in: query - name: limit + name: attributevalue schema: type: string - in: query - name: select + name: count schema: type: string - /v1/organizations/{organizationsId}/datacollectors/{datacollectorsId}: - parameters: *ref_1 - patch: - description: Updates a data collector. - operationId: apigee.organizations.datacollectors.patch + format: int64 + post: + description: >- + Creates an API product in an organization. You create API products after + you have proxied backend services using API proxies. An API product is a + collection of API resources combined with quota settings and metadata + that you can use to deliver customized and productized API bundles to + your developer community. This metadata can include: - Scope - + Environments - API proxies - Extensible profile API products enable you + repackage APIs on the fly, without having to do any additional coding or + configuration. Apigee recommends that you start with a simple API + product including only required elements. You then provision credentials + to apps to enable them to start testing your APIs. After you have + authentication and authorization working against a simple API product, + you can iterate to create finer-grained API products, defining different + sets of API resources for each API product. **WARNING:** - If you don't + specify an API proxy in the request body, *any* app associated with the + product can make calls to *any* API in your entire organization. - If + you don't specify an environment in the request body, the product allows + access to all environments. For more information, see What is an API + product? + operationId: apigee.organizations.apiproducts.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16777,26 +17373,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: datacollectorsId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Gets a data collector. - operationId: apigee.organizations.datacollectors.get + /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}: + parameters: *ref_1 + put: + description: >- + 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. + operationId: apigee.organizations.apiproducts.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16808,7 +17408,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' parameters: - in: path name: organizationsId @@ -16816,13 +17416,18 @@ paths: schema: type: string - in: path - name: datacollectorsId + name: apiproductsId required: true schema: type: string - delete: - description: Deletes a data collector. - operationId: apigee.organizations.datacollectors.delete + get: + description: >- + Gets configuration details for an 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. + operationId: apigee.organizations.apiproducts.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16834,7 +17439,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' parameters: - in: path name: organizationsId @@ -16842,15 +17447,21 @@ paths: schema: type: string - in: path - name: datacollectorsId + name: apiproductsId required: true schema: type: string - /v1/organizations/{organizationsId}/datacollectors: - parameters: *ref_1 - get: - description: Lists all data collectors. - operationId: apigee.organizations.datacollectors.list + delete: + description: >- + 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. + operationId: apigee.organizations.apiproducts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16862,31 +17473,25 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDataCollectorsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: apiproductsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates a new data collector. - operationId: apigee.organizations.datacollectors.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + /v1/organizations/{organizationsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: apigee.organizations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16898,7 +17503,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DataCollector' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: organizationsId @@ -16906,19 +17511,26 @@ paths: schema: type: string - in: query - name: dataCollectorId + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/organizations/{organizationsId}/hostQueries/{hostQueriesId}/result: + - in: query + name: filter + schema: + type: string + /v1/organizations/{organizationsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- - 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` - operationId: apigee.organizations.hostQueries.getResult + 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. + operationId: apigee.organizations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16930,7 +17542,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -16938,15 +17550,15 @@ paths: schema: type: string - in: path - name: hostQueriesId + name: operationsId required: true schema: type: string - /v1/organizations/{organizationsId}/hostQueries: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions/{securityActionsId}: parameters: *ref_1 get: - description: Return a list of Asynchronous Queries at host level. - operationId: apigee.organizations.hostQueries.list + description: Get a SecurityAction by name. + operationId: apigee.organizations.environments.securityActions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16958,77 +17570,38 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListAsyncQueriesResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: dataset - schema: - type: string - - in: query - name: submittedBy - schema: - type: string - - in: query - name: from - schema: - type: string - - in: query - name: to - schema: - type: string - - in: query - name: status - schema: - type: string - - in: query - name: envgroupHostname - schema: - type: string - - in: query - name: inclQueriesWithoutReport + - in: path + name: environmentsId + required: true schema: type: string - post: - description: >- - 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. - operationId: apigee.organizations.hostQueries.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Query' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' - parameters: - in: path - name: organizationsId + name: securityActionsId required: true schema: type: string - /v1/organizations/{organizationsId}/hostQueries/{hostQueriesId}/resultView: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions/{securityActionsId}:disable: parameters: *ref_1 - get: - description: '' - operationId: apigee.organizations.hostQueries.getResultView + post: + description: >- + 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. + operationId: apigee.organizations.environments.securityActions.disable + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DisableSecurityActionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17040,7 +17613,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQueryResultView' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' parameters: - in: path name: organizationsId @@ -17048,18 +17621,22 @@ paths: schema: type: string - in: path - name: hostQueriesId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/hostQueries/{hostQueriesId}: + - in: path + name: securityActionsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions: parameters: *ref_1 get: description: >- - 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" - operationId: apigee.organizations.hostQueries.get + Returns a list of SecurityActions. This returns both enabled and + disabled actions. + operationId: apigee.organizations.environments.securityActions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17071,7 +17648,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListSecurityActionsResponse parameters: - in: path name: organizationsId @@ -17079,15 +17657,31 @@ paths: schema: type: string - in: path - name: hostQueriesId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/sites/{sitesId}/apidocs/{apidocsId}/documentation: - parameters: *ref_1 - get: - description: Gets the documentation for the specified catalog item. - operationId: apigee.organizations.sites.apidocs.getDocumentation + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: + description: CreateSecurityAction creates a SecurityAction. + operationId: apigee.organizations.environments.securityActions.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17099,8 +17693,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ApiDocDocumentationResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' parameters: - in: path name: organizationsId @@ -17108,25 +17701,29 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - - in: path - name: apidocsId - required: true + - in: query + name: securityActionId schema: type: string - patch: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions/{securityActionsId}:enable: + parameters: *ref_1 + post: description: >- - Updates the documentation for the specified catalog item. Note that the - documentation file contents will not be populated in the return message. - operationId: apigee.organizations.sites.apidocs.updateDocumentation + 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. + operationId: apigee.organizations.environments.securityActions.enable requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocDocumentation' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1EnableSecurityActionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17138,8 +17735,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ApiDocDocumentationResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' parameters: - in: path name: organizationsId @@ -17147,20 +17743,23 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apidocsId + name: securityActionsId required: true schema: type: string - /v1/organizations/{organizationsId}/sites/{sitesId}/apidocs: + /v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles: parameters: *ref_1 get: - description: Returns the catalog items associated with a portal. - operationId: apigee.organizations.sites.apidocs.list + description: >- + 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). + operationId: apigee.organizations.environments.resourcefiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17172,7 +17771,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListApiDocsResponse' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListEnvironmentResourcesResponse parameters: - in: path name: organizationsId @@ -17180,27 +17780,26 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: query - name: pageToken + name: type schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 post: - description: Creates a new catalog item. - operationId: apigee.organizations.sites.apidocs.create + description: >- + 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). + operationId: apigee.organizations.environments.resourcefiles.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17212,7 +17811,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' parameters: - in: path name: organizationsId @@ -17220,20 +17819,26 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/sites/{sitesId}/apidocs/{apidocsId}: + - in: query + name: name + schema: + type: string + - in: query + name: type + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}: parameters: *ref_1 - put: - description: Updates a catalog item. - operationId: apigee.organizations.sites.apidocs.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDoc' + get: + description: >- + Gets the contents of a resource file. For more information about + resource files, see [Resource + files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). + operationId: apigee.organizations.environments.resourcefiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17245,7 +17850,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocResponse' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -17253,18 +17858,26 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apidocsId + name: type + required: true + schema: + type: string + - in: path + name: name required: true schema: type: string delete: - description: Deletes a catalog item. - operationId: apigee.organizations.sites.apidocs.delete + description: >- + Deletes a resource file. For more information about resource files, see + [Resource + files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). + operationId: apigee.organizations.environments.resourcefiles.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17276,7 +17889,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeleteResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' parameters: - in: path name: organizationsId @@ -17284,18 +17897,32 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apidocsId + name: type required: true schema: type: string - get: - description: Gets a catalog item. - operationId: apigee.organizations.sites.apidocs.get + - in: path + name: name + required: true + schema: + type: string + put: + description: >- + 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). + operationId: apigee.organizations.environments.resourcefiles.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17307,7 +17934,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiDocResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' parameters: - in: path name: organizationsId @@ -17315,20 +17942,28 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apidocsId + name: type required: true schema: type: string - /v1/organizations/{organizationsId}/sites/{sitesId}/apicategories: + - in: path + name: name + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}: parameters: *ref_1 get: - description: Returns the API categories associated with a portal. - operationId: apigee.organizations.sites.apicategories.list + description: >- + 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). + operationId: apigee.organizations.environments.resourcefiles.listEnvironmentResources security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17341,7 +17976,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListApiCategoriesResponse + #/components/schemas/GoogleCloudApigeeV1ListEnvironmentResourcesResponse parameters: - in: path name: organizationsId @@ -17349,46 +17984,20 @@ paths: schema: type: string - in: path - name: sitesId - required: true - schema: - type: string - post: - description: Creates a new API category. - operationId: apigee.organizations.sites.apicategories.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategoryResponse' - parameters: - - in: path - name: organizationsId + name: environmentsId required: true schema: type: string - in: path - name: sitesId + name: type required: true schema: type: string - /v1/organizations/{organizationsId}/sites/{sitesId}/apicategories/{apicategoriesId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/caches/{cachesId}: parameters: *ref_1 - get: - description: Gets an API category. - operationId: apigee.organizations.sites.apicategories.get + delete: + description: Deletes a cache. + operationId: apigee.organizations.environments.caches.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17400,7 +18009,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategoryResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -17408,18 +18017,22 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apicategoriesId + name: cachesId required: true schema: type: string - delete: - description: Deletes an API category. - operationId: apigee.organizations.sites.apicategories.delete + /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}: + parameters: *ref_1 + get: + description: >- + Gets a particular deployment of Api proxy or a shared flow in an + environment + operationId: apigee.organizations.environments.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17431,7 +18044,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeleteResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' parameters: - in: path name: organizationsId @@ -17439,23 +18052,29 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apicategoriesId + name: deploymentsId required: true schema: type: string - patch: - description: Updates an API category. - operationId: apigee.organizations.sites.apicategories.patch + /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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). + operationId: apigee.organizations.environments.deployments.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategory' + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17467,7 +18086,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiCategoryResponse' + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: organizationsId @@ -17475,20 +18094,25 @@ paths: schema: type: string - in: path - name: sitesId + name: environmentsId required: true schema: type: string - in: path - name: apicategoriesId + name: deploymentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apps/{appsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}:getIamPolicy: parameters: *ref_1 get: - description: Gets the app profile for the specified app ID. - operationId: apigee.organizations.apps.get + description: >- + 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. + operationId: apigee.organizations.environments.deployments.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17500,7 +18124,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1App' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: organizationsId @@ -17508,18 +18132,36 @@ paths: schema: type: string - in: path - name: appsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apps: + - in: path + name: deploymentsId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}:setIamPolicy: parameters: *ref_1 - get: + post: description: >- - 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). - operationId: apigee.organizations.apps.list + 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. + operationId: apigee.organizations.environments.deployments.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17531,71 +18173,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListAppsResponse' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: ids - schema: - type: string - - in: query - name: includeCred - schema: - type: boolean - - in: query - name: apiProduct - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: rows - schema: - type: string - format: int64 - - in: query - name: keyStatus - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: status - schema: - type: string - - in: query - name: apptype - schema: - type: string - - in: query - name: startKey + - in: path + name: environmentsId + required: true schema: type: string - - in: query - name: expand - schema: - type: boolean - - in: query - name: pageToken + - in: path + name: deploymentsId + required: true schema: type: string - /v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}/entries/{entriesId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments: parameters: *ref_1 get: - description: >- - Get the key value entry value for a key value map scoped to an - organization, environment, or API proxy. **Note**: Supported for Apigee - hybrid 1.8.x and higher. - operationId: apigee.organizations.keyvaluemaps.entries.get + description: Lists all deployments of API proxies or shared flows in an environment. + operationId: apigee.organizations.environments.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17607,7 +18206,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse parameters: - in: path name: organizationsId @@ -17615,23 +18215,19 @@ paths: schema: type: string - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - - in: path - name: entriesId - required: true + - in: query + name: sharedFlows schema: - type: string - delete: - description: >- - 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. - operationId: apigee.organizations.keyvaluemaps.entries.delete + type: boolean + /v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}: + parameters: *ref_1 + get: + description: Gets a Reference resource. + operationId: apigee.organizations.environments.references.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17643,7 +18239,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' parameters: - in: path name: organizationsId @@ -17651,25 +18247,26 @@ paths: schema: type: string - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - in: path - name: entriesId + name: referencesId required: true schema: type: string put: description: >- - Update key value entry scoped to an organization, environment, or API - proxy for an existing key. - operationId: apigee.organizations.keyvaluemaps.entries.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. + operationId: apigee.organizations.environments.references.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17681,7 +18278,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' parameters: - in: path name: organizationsId @@ -17689,23 +18286,20 @@ paths: schema: type: string - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - in: path - name: entriesId + name: referencesId required: true schema: type: string - /v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}/entries: - parameters: *ref_1 - get: + delete: description: >- - 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. - operationId: apigee.organizations.keyvaluemaps.entries.list + Deletes a Reference from an environment. Returns the deleted Reference + resource. + operationId: apigee.organizations.environments.references.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17717,8 +18311,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListKeyValueEntriesResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' parameters: - in: path name: organizationsId @@ -17726,30 +18319,25 @@ paths: schema: type: string - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: referencesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/organizations/{organizationsId}/environments/{environmentsId}/references: + parameters: *ref_1 post: - description: >- - Creates key value entries in a key value map scoped to an organization, - environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x - and higher. - operationId: apigee.organizations.keyvaluemaps.entries.create + description: Creates a Reference in the specified environment. + operationId: apigee.organizations.environments.references.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17761,7 +18349,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' parameters: - in: path name: organizationsId @@ -17769,15 +18357,23 @@ paths: schema: type: string - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityIncidents:batchUpdate: parameters: *ref_1 - delete: - description: Deletes a key value map from an organization. - operationId: apigee.organizations.keyvaluemaps.delete + post: + description: >- + BatchUpdateSecurityIncident updates multiple existing security + incidents. + operationId: apigee.organizations.environments.securityIncidents.batchUpdate + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17789,7 +18385,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1BatchUpdateSecurityIncidentsResponse parameters: - in: path name: organizationsId @@ -17797,20 +18394,20 @@ paths: schema: type: string - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/keyvaluemaps: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityIncidents/{securityIncidentsId}: parameters: *ref_1 - post: - description: Creates a key value map in an organization. - operationId: apigee.organizations.keyvaluemaps.create + patch: + description: UpdateSecurityIncidents updates an existing security incident. + operationId: apigee.organizations.environments.securityIncidents.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17822,24 +18419,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/securityAssessmentResults:batchCompute: - parameters: *ref_1 - post: - description: Compute RAV2 security scores for a set of resources. - operationId: apigee.organizations.securityAssessmentResults.batchCompute - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest + - in: path + name: environmentsId + required: true + schema: + type: string + - in: path + name: securityIncidentsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: >- + GetSecurityIncident gets the specified security incident. Returns + NOT_FOUND if security incident is not present for the specified + organization and environment. + operationId: apigee.organizations.environments.securityIncidents.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17851,19 +18458,30 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/deployments: + - in: path + name: environmentsId + required: true + schema: + type: string + - in: path + name: securityIncidentsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityIncidents: parameters: *ref_1 get: - description: Lists all deployments of an API proxy. - operationId: apigee.organizations.apis.deployments.list + description: >- + ListSecurityIncidents lists all the security incident associated with + the environment. + operationId: apigee.organizations.environments.securityIncidents.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17876,7 +18494,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse + #/components/schemas/GoogleCloudApigeeV1ListSecurityIncidentsResponse parameters: - in: path name: organizationsId @@ -17884,26 +18502,30 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: apigee.organizations.apis.revisions.updateApiProxyRevision - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + Gets the deployment of a shared flow revision and actual state reported + by runtime pods. + operationId: apigee.organizations.environments.sharedflows.revisions.getDeployments security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17915,7 +18537,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxyRevision' + $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' parameters: - in: path name: organizationsId @@ -17923,25 +18545,29 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - in: path - name: revisionsId + name: sharedflowsId required: true schema: type: string - - in: query - name: validate + - in: path + name: revisionsId + required: true schema: - type: boolean + type: string delete: description: >- - 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. - operationId: apigee.organizations.apis.revisions.delete + 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}` + operationId: apigee.organizations.environments.sharedflows.revisions.undeploy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17953,7 +18579,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxyRevision' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -17961,7 +18587,12 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId + required: true + schema: + type: string + - in: path + name: sharedflowsId required: true schema: type: string @@ -17970,16 +18601,19 @@ paths: required: true schema: type: string - get: + post: description: >- - 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). - operationId: apigee.organizations.apis.revisions.get + 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}` + operationId: apigee.organizations.environments.sharedflows.revisions.deploy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -17991,7 +18625,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' parameters: - in: path name: organizationsId @@ -17999,7 +18633,12 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId + required: true + schema: + type: string + - in: path + name: sharedflowsId required: true schema: type: string @@ -18009,14 +18648,18 @@ paths: schema: type: string - in: query - name: format + name: serviceAccount schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}/deployments: + - in: query + name: override + schema: + type: boolean + /v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/deployments: parameters: *ref_1 get: - description: Lists all deployments of an API proxy revision. - operationId: apigee.organizations.apis.revisions.deployments.list + description: Lists all deployments of a shared flow in an environment. + operationId: apigee.organizations.environments.sharedflows.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18037,25 +18680,23 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - in: path - name: revisionsId + name: sharedflowsId required: true schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps: + /v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}/resulturl: parameters: *ref_1 - post: - description: Creates a key value map in an API proxy. - operationId: apigee.organizations.apis.keyvaluemaps.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + get: + description: >- + 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. + operationId: apigee.organizations.environments.queries.getResulturl security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18067,7 +18708,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1GetAsyncQueryResultUrlResponse parameters: - in: path name: organizationsId @@ -18075,15 +18717,23 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}: + - in: path + name: queriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}: parameters: *ref_1 - delete: - description: Deletes a key value map from an API proxy. - operationId: apigee.organizations.apis.keyvaluemaps.delete + get: + description: >- + 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" + operationId: apigee.organizations.environments.queries.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18095,7 +18745,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' parameters: - in: path name: organizationsId @@ -18103,23 +18753,25 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - in: path - name: keyvaluemapsId + name: queriesId required: true schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}/entries: + /v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}/result: parameters: *ref_1 get: description: >- - 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. - operationId: apigee.organizations.apis.keyvaluemaps.entries.list + 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` + operationId: apigee.organizations.environments.queries.getResult security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18131,8 +18783,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListKeyValueEntriesResponse + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -18140,35 +18791,29 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - in: path - name: keyvaluemapsId + name: queriesId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/queries: + parameters: *ref_1 post: - description: >- - Creates key value entries in a key value map scoped to an organization, - environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x - and higher. - operationId: apigee.organizations.apis.keyvaluemaps.entries.create + description: >- + 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. + operationId: apigee.organizations.environments.queries.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1Query' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18180,7 +18825,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' parameters: - in: path name: organizationsId @@ -18188,25 +18833,13 @@ paths: schema: type: string - in: path - name: apisId - required: true - schema: - type: string - - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}/entries/{entriesId}: - parameters: *ref_1 - delete: - description: >- - 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. - operationId: apigee.organizations.apis.keyvaluemaps.entries.delete + get: + description: Return a list of Asynchronous Queries + operationId: apigee.organizations.environments.queries.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18218,7 +18851,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListAsyncQueriesResponse parameters: - in: path name: organizationsId @@ -18226,30 +18860,47 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - - in: path - name: keyvaluemapsId - required: true + - in: query + name: to schema: type: string - - in: path - name: entriesId - required: true + - in: query + name: dataset + schema: + type: string + - in: query + name: submittedBy + schema: + type: string + - in: query + name: from + schema: + type: string + - in: query + name: inclQueriesWithoutReport + schema: + type: string + - in: query + name: status schema: type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}: + parameters: *ref_1 put: description: >- - Update key value entry scoped to an organization, environment, or API - proxy for an existing key. - operationId: apigee.organizations.apis.keyvaluemaps.entries.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. + operationId: apigee.organizations.environments.targetservers.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18261,7 +18912,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' parameters: - in: path name: organizationsId @@ -18269,26 +18920,18 @@ paths: schema: type: string - in: path - name: apisId - required: true - schema: - type: string - - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - in: path - name: entriesId + name: targetserversId required: true schema: type: string get: - description: >- - Get the key value entry value for a key value map scoped to an - organization, environment, or API proxy. **Note**: Supported for Apigee - hybrid 1.8.x and higher. - operationId: apigee.organizations.apis.keyvaluemaps.entries.get + description: Gets a TargetServer resource. + operationId: apigee.organizations.environments.targetservers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18300,7 +18943,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' parameters: - in: path name: organizationsId @@ -18308,45 +18951,20 @@ paths: schema: type: string - in: path - name: apisId - required: true - schema: - type: string - - in: path - name: keyvaluemapsId + name: environmentsId required: true schema: type: string - in: path - name: entriesId + name: targetserversId required: true schema: type: string - /v1/organizations/{organizationsId}/apis: - parameters: *ref_1 - post: + delete: description: >- - 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. - operationId: apigee.organizations.apis.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + Deletes a TargetServer from an environment. Returns the deleted + TargetServer resource. + operationId: apigee.organizations.environments.targetservers.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18358,31 +18976,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxyRevision' + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: name + - in: path + name: environmentsId + required: true schema: type: string - - in: query - name: validate - schema: - type: boolean - - in: query - name: action + - in: path + name: targetserversId + required: true schema: type: string - get: - description: >- - 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. - operationId: apigee.organizations.apis.list + /v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers: + parameters: *ref_1 + post: + description: Creates a TargetServer in the specified environment. + operationId: apigee.organizations.environments.targetservers.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18394,31 +19014,27 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListApiProxiesResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: includeMetaData + - in: path + name: environmentsId + required: true schema: - type: boolean + type: string - in: query - name: includeRevisions + name: name schema: - type: boolean - /v1/organizations/{organizationsId}/apis/{apisId}: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/optimizedStats/{optimizedStatsId}: parameters: *ref_1 - patch: - description: Updates an existing API proxy. - operationId: apigee.organizations.apis.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' + get: + description: Similar to GetStats except that the response is less verbose. + operationId: apigee.organizations.environments.optimizedStats.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18430,7 +19046,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' + $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStats' parameters: - in: path name: organizationsId @@ -18438,21 +19054,86 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId + required: true + schema: + type: string + - in: path + name: optimizedStatsId required: true schema: type: string - in: query - name: updateMask + name: tsAscending + schema: + type: boolean + - in: query + name: filter schema: type: string - format: google-fieldmask - delete: - description: >- - Deletes an API proxy and all associated endpoints, policies, resources, - and revisions. The API proxy must be undeployed before you can delete - it. - operationId: apigee.organizations.apis.delete + - in: query + name: aggTable + schema: + type: string + - in: query + name: select + schema: + type: string + - in: query + name: sortby + schema: + type: string + - in: query + name: timeUnit + schema: + type: string + - in: query + name: timeRange + schema: + type: string + - in: query + name: accuracy + schema: + type: string + - in: query + name: limit + schema: + type: string + - in: query + name: tzo + schema: + type: string + - in: query + name: sort + schema: + type: string + - in: query + name: topk + schema: + type: string + - in: query + name: offset + schema: + type: string + - in: query + name: sonar + schema: + type: boolean + - in: query + name: realtime + schema: + type: boolean + /v1/organizations/{organizationsId}/environments/{environmentsId}/addonsConfig:setAddonEnablement: + parameters: *ref_1 + post: + description: Updates an add-on enablement status of an environment. + operationId: apigee.organizations.environments.addonsConfig.setAddonEnablement + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SetAddonEnablementRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18464,7 +19145,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -18472,13 +19153,23 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId required: true schema: type: string - get: - description: Gets an API proxy including a list of existing revisions. - operationId: apigee.organizations.apis.get + /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}/entries: + parameters: *ref_1 + post: + description: >- + Creates key value entries in a key value map scoped to an organization, + environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x + and higher. + operationId: apigee.organizations.environments.keyvaluemaps.entries.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18490,7 +19181,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId @@ -18498,17 +19189,21 @@ paths: schema: type: string - in: path - name: apisId + name: environmentsId + required: true + schema: + type: string + - in: path + name: keyvaluemapsId required: true schema: type: string - /v1/organizations/{organizationsId}/operations: - parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: apigee.organizations.operations.list + 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. + operationId: apigee.organizations.environments.keyvaluemaps.entries.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18520,15 +19215,22 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListKeyValueEntriesResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: environmentsId + required: true + schema: + type: string + - in: path + name: keyvaluemapsId + required: true schema: type: string - in: query @@ -18537,17 +19239,19 @@ paths: type: integer format: int32 - in: query - name: filter + name: pageToken schema: type: string - /v1/organizations/{organizationsId}/operations/{operationsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}/entries/{entriesId}: parameters: *ref_1 - get: + delete: description: >- - 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. - operationId: apigee.organizations.operations.get + 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. + operationId: apigee.organizations.environments.keyvaluemaps.entries.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18559,7 +19263,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId @@ -18567,58 +19271,30 @@ paths: schema: type: string - in: path - name: operationsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}: - parameters: *ref_1 - get: - description: >- - Gets configuration details for an 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. - operationId: apigee.organizations.apiproducts.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' - parameters: - in: path - name: organizationsId + name: keyvaluemapsId required: true schema: type: string - in: path - name: apiproductsId + name: entriesId required: true schema: type: string put: description: >- - 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. - operationId: apigee.organizations.apiproducts.update + Update key value entry scoped to an organization, environment, or API + proxy for an existing key. + operationId: apigee.organizations.environments.keyvaluemaps.entries.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18630,7 +19306,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId @@ -18638,72 +19314,26 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - delete: - description: >- - 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. - operationId: apigee.organizations.apiproducts.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' - parameters: - in: path - name: organizationsId + name: keyvaluemapsId required: true schema: type: string - in: path - name: apiproductsId + name: entriesId required: true schema: type: string - /v1/organizations/{organizationsId}/apiproducts: - parameters: *ref_1 - post: + get: description: >- - Creates an API product in an organization. You create API products after - you have proxied backend services using API proxies. An API product is a - collection of API resources combined with quota settings and metadata - that you can use to deliver customized and productized API bundles to - your developer community. This metadata can include: - Scope - - Environments - API proxies - Extensible profile API products enable you - repackage APIs on the fly, without having to do any additional coding or - configuration. Apigee recommends that you start with a simple API - product including only required elements. You then provision credentials - to apps to enable them to start testing your APIs. After you have - authentication and authorization working against a simple API product, - you can iterate to create finer-grained API products, defining different - sets of API resources for each API product. **WARNING:** - If you don't - specify an API proxy in the request body, *any* app associated with the - product can make calls to *any* API in your entire organization. - If - you don't specify an environment in the request body, the product allows - access to all environments. For more information, see What is an API - product? - operationId: apigee.organizations.apiproducts.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' + Get the key value entry value for a key value map scoped to an + organization, environment, or API proxy. **Note**: Supported for Apigee + hybrid 1.8.x and higher. + operationId: apigee.organizations.environments.keyvaluemaps.entries.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18715,81 +19345,38 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProduct' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId required: true schema: type: string - get: - description: >- - 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. - operationId: apigee.organizations.apiproducts.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListApiProductsResponse - parameters: - in: path - name: organizationsId + name: environmentsId required: true schema: type: string - - in: query - name: expand - schema: - type: boolean - - in: query - name: attributename - schema: - type: string - - in: query - name: startKey - schema: - type: string - - in: query - name: attributevalue - schema: - type: string - - in: query - name: count + - in: path + name: keyvaluemapsId + required: true schema: type: string - format: int64 - /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes: - parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.apiproducts.attributes + - in: path + name: entriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps: + parameters: *ref_1 + post: + description: Creates a key value map in an environment. + operationId: apigee.organizations.environments.keyvaluemaps.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18801,7 +19388,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' parameters: - in: path name: organizationsId @@ -18809,13 +19396,15 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - get: - description: Lists all API product attributes. - operationId: apigee.organizations.apiproducts.attributes.list + /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}: + parameters: *ref_1 + delete: + description: Deletes a key value map from an environment. + operationId: apigee.organizations.environments.keyvaluemaps.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18827,7 +19416,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attributes' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' parameters: - in: path name: organizationsId @@ -18835,27 +19424,25 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}: + - in: path + name: keyvaluemapsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports/{securityReportsId}/result: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: apigee.organizations.apiproducts.attributes.updateApiProductAttribute - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + 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` + operationId: apigee.organizations.environments.securityReports.getResult security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18867,7 +19454,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -18875,18 +19462,22 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - in: path - name: attributesId + name: securityReportsId required: true schema: type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports/{securityReportsId}/resultView: + parameters: *ref_1 get: - description: Gets the value of an API product attribute. - operationId: apigee.organizations.apiproducts.attributes.get + description: >- + After the query is completed, use this API to view the query result when + result size is small. + operationId: apigee.organizations.environments.securityReports.getResultView security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18898,7 +19489,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityReportResultView parameters: - in: path name: organizationsId @@ -18906,18 +19498,29 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - in: path - name: attributesId + name: securityReportsId required: true schema: type: string - delete: - description: Deletes an API product attribute. - operationId: apigee.organizations.apiproducts.attributes.delete + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.environments.securityReports.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportQuery' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18929,7 +19532,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Attribute' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' parameters: - in: path name: organizationsId @@ -18937,20 +19540,13 @@ paths: schema: type: string - in: path - name: apiproductsId - required: true - schema: - type: string - - in: path - name: attributesId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans/{rateplansId}: - parameters: *ref_1 - delete: - description: Deletes a rate plan. - operationId: apigee.organizations.apiproducts.rateplans.delete + get: + description: Return a list of Security Reports + operationId: apigee.organizations.environments.securityReports.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18962,7 +19558,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListSecurityReportsResponse parameters: - in: path name: organizationsId @@ -18970,18 +19567,47 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - - in: path - name: rateplansId - required: true + - in: query + name: to + schema: + type: string + - in: query + name: submittedBy + schema: + type: string + - in: query + name: status + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: dataset + schema: + type: string + - in: query + name: from schema: type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports/{securityReportsId}: + parameters: *ref_1 get: - description: Gets the details of a rate plan. - operationId: apigee.organizations.apiproducts.rateplans.get + description: >- + 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" + operationId: apigee.organizations.environments.securityReports.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -18993,7 +19619,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' parameters: - in: path name: organizationsId @@ -19001,23 +19627,20 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - in: path - name: rateplansId + name: securityReportsId required: true schema: type: string - put: - description: Updates an existing rate plan. - operationId: apigee.organizations.apiproducts.rateplans.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + /v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}: + parameters: *ref_1 + delete: + description: Detaches a shared flow from a flow hook. + operationId: apigee.organizations.environments.flowhooks.detachSharedFlowFromFlowHook security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19029,7 +19652,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' parameters: - in: path name: organizationsId @@ -19037,20 +19660,21 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - in: path - name: rateplansId + name: flowhooksId required: true schema: type: string - /v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans: - parameters: *ref_1 get: - description: Lists all the rate plans for an API product. - operationId: apigee.organizations.apiproducts.rateplans.list + description: >- + 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. + operationId: apigee.organizations.environments.flowhooks.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19062,7 +19686,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListRatePlansResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' parameters: - in: path name: organizationsId @@ -19070,49 +19694,23 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - - in: query - name: startKey - schema: - type: string - - in: query - name: count - schema: - type: integer - format: int32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: expand - schema: - type: boolean - - in: query - name: state + - in: path + name: flowhooksId + required: true schema: type: string - post: - description: >- - 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. - operationId: apigee.organizations.apiproducts.rateplans.create + put: + description: Attaches a shared flow to a flow hook. + operationId: apigee.organizations.environments.flowhooks.attachSharedFlowToFlowHook requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19124,7 +19722,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RatePlan' + $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' parameters: - in: path name: organizationsId @@ -19132,24 +19730,20 @@ paths: schema: type: string - in: path - name: apiproductsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}:testIamPermissions: + - in: path + name: flowhooksId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/traceConfig/overrides/{overridesId}: parameters: *ref_1 - post: - description: >- - 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). - operationId: apigee.organizations.environments.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' + delete: + description: Deletes a distributed trace configuration override. + operationId: apigee.organizations.environments.traceConfig.overrides.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19161,7 +19755,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -19173,20 +19767,23 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/traceConfig: - parameters: *ref_1 + - in: path + name: overridesId + required: true + schema: + type: string patch: description: >- - Updates the trace configurations in an environment. Note that the + 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. - operationId: apigee.organizations.environments.updateTraceConfig + operationId: apigee.organizations.environments.traceConfig.overrides.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19198,7 +19795,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' parameters: - in: path name: organizationsId @@ -19210,14 +19807,19 @@ paths: required: true schema: type: string + - in: path + name: overridesId + required: true + schema: + type: string - in: query name: updateMask schema: type: string format: google-fieldmask get: - description: Get distributed trace configuration in an environment. - operationId: apigee.organizations.environments.getTraceConfig + description: Gets a trace configuration override. + operationId: apigee.organizations.environments.traceConfig.overrides.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19229,7 +19831,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' parameters: - in: path name: organizationsId @@ -19241,44 +19843,25 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/deployedConfig: - parameters: *ref_1 - get: - description: Gets the deployed configuration for an environment. - operationId: apigee.organizations.environments.getDeployedConfig - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentConfig' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - in: path - name: environmentsId + name: overridesId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/debugmask: + /v1/organizations/{organizationsId}/environments/{environmentsId}/traceConfig/overrides: parameters: *ref_1 - patch: - description: Updates the debug mask singleton resource for an environment. - operationId: apigee.organizations.environments.updateDebugmask + post: + description: >- + 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. + operationId: apigee.organizations.environments.traceConfig.overrides.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19290,7 +19873,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' parameters: - in: path name: organizationsId @@ -19302,18 +19885,11 @@ paths: required: true schema: type: string - - in: query - name: replaceRepeatedFields - schema: - type: boolean - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask get: - description: Gets the debug mask singleton resource for an environment. - operationId: apigee.organizations.environments.getDebugmask + description: >- + Lists all of the distributed trace configuration overrides in an + environment. + operationId: apigee.organizations.environments.traceConfig.overrides.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19325,7 +19901,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListTraceConfigOverridesResponse parameters: - in: path name: organizationsId @@ -19337,14 +19914,25 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}:subscribe: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityStats:queryTabularStats: parameters: *ref_1 post: - description: >- - 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. - operationId: apigee.organizations.environments.subscribe + description: Retrieve security statistics as tabular rows. + operationId: apigee.organizations.environments.securityStats.queryTabularStats + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1QueryTabularStatsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19356,7 +19944,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Subscription' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1QueryTabularStatsResponse parameters: - in: path name: organizationsId @@ -19368,22 +19957,17 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityStats:queryTimeSeriesStats: parameters: *ref_1 post: - description: >- - 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. - operationId: apigee.organizations.environments.updateEnvironment + description: Retrieve security statistics as a collection of time series. + operationId: apigee.organizations.environments.securityStats.queryTimeSeriesStats requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1QueryTimeSeriesStatsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19395,7 +19979,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1QueryTimeSeriesStatsResponse parameters: - in: path name: organizationsId @@ -19407,16 +19992,11 @@ paths: required: true schema: type: string - patch: - description: >- - Updates properties for an Apigee environment with patch semantics using - a field mask. **Note:** Not supported for Apigee hybrid. - operationId: apigee.organizations.environments.modifyEnvironment - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}: + parameters: *ref_1 + delete: + description: Deletes a keystore or truststore. + operationId: apigee.organizations.environments.keystores.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19428,7 +20008,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' parameters: - in: path name: organizationsId @@ -19440,18 +20020,14 @@ paths: required: true schema: type: string - - in: query - name: updateMask + - in: path + name: keystoresId + required: true schema: type: string - format: google-fieldmask - delete: - description: >- - 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. - operationId: apigee.organizations.environments.delete + get: + description: Gets a keystore or truststore. + operationId: apigee.organizations.environments.keystores.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19463,7 +20039,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' parameters: - in: path name: organizationsId @@ -19475,20 +20051,26 @@ paths: required: true schema: type: string - put: + - in: path + name: keystoresId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores: + parameters: *ref_1 + post: description: >- - 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. - operationId: apigee.organizations.environments.update + 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. + operationId: apigee.organizations.environments.keystores.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19500,7 +20082,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' parameters: - in: path name: organizationsId @@ -19512,9 +20094,15 @@ paths: required: true schema: type: string - get: - description: Gets environment details. - operationId: apigee.organizations.environments.get + - in: query + name: name + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}: + parameters: *ref_1 + delete: + description: Deletes an alias. + operationId: apigee.organizations.environments.keystores.aliases.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19526,7 +20114,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' parameters: - in: path name: organizationsId @@ -19538,13 +20126,19 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActionsConfig: - parameters: *ref_1 + - in: path + name: keystoresId + required: true + schema: + type: string + - in: path + name: aliasesId + required: true + schema: + type: string get: - description: >- - GetSecurityActionConfig returns the current SecurityActions - configuration. - operationId: apigee.organizations.environments.getSecurityActionsConfig + description: Gets an alias. + operationId: apigee.organizations.environments.keystores.aliases.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19556,7 +20150,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionsConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' parameters: - in: path name: organizationsId @@ -19568,17 +20162,24 @@ paths: required: true schema: type: string - patch: - description: >- - UpdateSecurityActionConfig updates the current SecurityActions - configuration. This method is used to enable/disable the feature at the - environment level. - operationId: apigee.organizations.environments.updateSecurityActionsConfig + - in: path + name: keystoresId + required: true + schema: + type: string + - in: path + name: aliasesId + required: true + schema: + type: string + put: + description: Updates the certificate in an alias. + operationId: apigee.organizations.environments.keystores.aliases.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionsConfig' + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19590,33 +20191,41 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionsConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' parameters: - in: path - name: organizationsId + name: organizationsId + required: true + schema: + type: string + - in: path + name: environmentsId + required: true + schema: + type: string + - in: path + name: keystoresId required: true schema: type: string - in: path - name: environmentsId + name: aliasesId required: true schema: type: string - in: query - name: updateMask + name: ignoreExpiryValidation schema: - type: string - format: google-fieldmask - /v1/organizations/{organizationsId}/environments/{environmentsId}:unsubscribe: + type: boolean + - in: query + name: ignoreNewlineValidation + schema: + type: boolean + /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/certificate: parameters: *ref_1 - post: - description: Deletes a subscription for the environment's Pub/Sub topic. - operationId: apigee.organizations.environments.unsubscribe - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Subscription' + get: + description: Gets the certificate from an alias in PEM-encoded form. + operationId: apigee.organizations.environments.keystores.aliases.getCertificate security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19628,7 +20237,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -19640,22 +20249,38 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}:setIamPolicy: + - in: path + name: keystoresId + required: true + schema: + type: string + - in: path + name: aliasesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases: parameters: *ref_1 post: description: >- - 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. - operationId: apigee.organizations.environments.setIamPolicy + 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. + operationId: apigee.organizations.environments.keystores.aliases.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19667,7 +20292,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' parameters: - in: path name: organizationsId @@ -19679,14 +20304,38 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/apiSecurityRuntimeConfig: + - in: path + name: keystoresId + required: true + schema: + type: string + - in: query + name: format + schema: + type: string + - in: query + name: _password + schema: + type: string + - in: query + name: ignoreExpiryValidation + schema: + type: boolean + - in: query + name: alias + schema: + type: string + - in: query + name: ignoreNewlineValidation + schema: + type: boolean + /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/csr: parameters: *ref_1 get: description: >- - Gets the API Security runtime configuration for an environment. This - named ApiSecurityRuntimeConfig to prevent conflicts with - ApiSecurityConfig from addon config. - operationId: apigee.organizations.environments.getApiSecurityRuntimeConfig + Generates a PKCS #10 Certificate Signing Request for the private key in + an alias. + operationId: apigee.organizations.environments.keystores.aliases.csr security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19698,8 +20347,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ApiSecurityRuntimeConfig + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -19711,16 +20359,21 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}:getIamPolicy: + - in: path + name: keystoresId + required: true + schema: + type: string + - in: path + name: aliasesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}: parameters: *ref_1 get: - description: >- - 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. - operationId: apigee.organizations.environments.getIamPolicy + description: Gets the specified ArchiveDeployment. + operationId: apigee.organizations.environments.archiveDeployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19732,7 +20385,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' parameters: - in: path name: organizationsId @@ -19744,21 +20397,21 @@ paths: required: true schema: type: string - - in: query - name: options.requestedPolicyVersion + - in: path + name: archiveDeploymentsId + required: true schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/environments: - parameters: *ref_1 - post: - description: Creates an environment in an organization. - operationId: apigee.organizations.environments.create + type: string + patch: + description: >- + Updates an existing ArchiveDeployment. Labels can modified but most of + the other fields are not modifiable. + operationId: apigee.organizations.environments.archiveDeployments.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' + $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19770,22 +20423,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' parameters: - in: path name: organizationsId required: true schema: type: string + - in: path + name: environmentsId + required: true + schema: + type: string + - in: path + name: archiveDeploymentsId + required: true + schema: + type: string - in: query - name: name + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/addonsConfig: - parameters: *ref_1 - get: - description: Gets the add-ons config of an environment. - operationId: apigee.organizations.environments.getAddonsConfig + format: google-fieldmask + delete: + description: Deletes an archive deployment. + operationId: apigee.organizations.environments.archiveDeployments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19797,7 +20459,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AddonsConfig' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -19809,11 +20471,21 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/caches/{cachesId}: + - in: path + name: archiveDeploymentsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments: parameters: *ref_1 - delete: - description: Deletes a cache. - operationId: apigee.organizations.environments.caches.delete + post: + description: Creates a new ArchiveDeployment. + operationId: apigee.organizations.environments.archiveDeployments.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19825,7 +20497,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -19837,16 +20509,9 @@ paths: required: true schema: type: string - - in: path - name: cachesId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}: - parameters: *ref_1 - delete: - description: Detaches a shared flow from a flow hook. - operationId: apigee.organizations.environments.flowhooks.detachSharedFlowFromFlowHook + get: + description: Lists the ArchiveDeployments in the specified Environment. + operationId: apigee.organizations.environments.archiveDeployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19858,7 +20523,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListArchiveDeploymentsResponse parameters: - in: path name: organizationsId @@ -19870,19 +20536,34 @@ paths: required: true schema: type: string - - in: path - name: flowhooksId - required: true + - in: query + name: filter schema: type: string - put: - description: Attaches a shared flow to a flow hook. - operationId: apigee.organizations.environments.flowhooks.attachSharedFlowToFlowHook + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}:generateDownloadUrl: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.environments.archiveDeployments.generateDownloadUrl requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1GenerateDownloadUrlRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19894,7 +20575,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1GenerateDownloadUrlResponse parameters: - in: path name: organizationsId @@ -19907,16 +20589,32 @@ paths: schema: type: string - in: path - name: flowhooksId + name: archiveDeploymentsId required: true schema: type: string - get: + /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments:generateUploadUrl: + parameters: *ref_1 + post: description: >- - 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. - operationId: apigee.organizations.environments.flowhooks.get + 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` + operationId: apigee.organizations.environments.archiveDeployments.generateUploadUrl + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1GenerateUploadUrlRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -19928,7 +20626,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1FlowHook' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1GenerateUploadUrlResponse parameters: - in: path name: organizationsId @@ -19940,11 +20639,6 @@ paths: required: true schema: type: string - - in: path - name: flowhooksId - required: true - schema: - type: string /v1/organizations/{organizationsId}/environments/{environmentsId}/stats/{statsId}: parameters: *ref_1 get: @@ -19985,31 +20679,27 @@ paths: schema: type: string - in: query - name: sonar + name: tsAscending schema: type: boolean - in: query - name: aggTable + name: timeRange schema: type: string - in: query - name: sort + name: tzo schema: type: string - in: query - name: accuracy + name: offset schema: type: string - in: query - name: realtime - schema: - type: boolean - - in: query - name: sortby + name: accuracy schema: type: string - in: query - name: select + name: aggTable schema: type: string - in: query @@ -20017,23 +20707,27 @@ paths: schema: type: string - in: query - name: tsAscending + name: sort schema: - type: boolean + type: string - in: query - name: tzo + name: sortby schema: type: string - in: query - name: offset + name: realtime schema: - type: string + type: boolean - in: query - name: timeUnit + name: topk schema: type: string - in: query - name: timeRange + name: sonar + schema: + type: boolean + - in: query + name: select schema: type: string - in: query @@ -20041,16 +20735,18 @@ paths: schema: type: string - in: query - name: topk + name: timeUnit schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/admin/schemav2: parameters: *ref_1 get: description: >- - Gets a particular deployment of Api proxy or a shared flow in an - environment - operationId: apigee.organizations.environments.deployments.get + 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. + operationId: apigee.organizations.environments.analytics.admin.getSchemav2 security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20062,7 +20758,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' + $ref: '#/components/schemas/GoogleCloudApigeeV1Schema' parameters: - in: path name: organizationsId @@ -20074,60 +20770,28 @@ paths: required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments: - parameters: *ref_1 - get: - description: Lists all deployments of API proxies or shared flows in an environment. - operationId: apigee.organizations.environments.deployments.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: environmentsId - required: true + - in: query + name: type schema: type: string - in: query - name: sharedFlows + name: disableCache schema: type: boolean - /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}:setIamPolicy: + /v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/exports: parameters: *ref_1 post: description: >- - 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. - operationId: apigee.organizations.environments.deployments.setIamPolicy + 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". + operationId: apigee.organizations.environments.analytics.exports.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + $ref: '#/components/schemas/GoogleCloudApigeeV1ExportRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20139,7 +20803,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleCloudApigeeV1Export' parameters: - in: path name: organizationsId @@ -20151,25 +20815,11 @@ paths: required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}:testIamPermissions: - parameters: *ref_1 - post: + get: description: >- - 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). - operationId: apigee.organizations.environments.deployments.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' + Lists the details and status of all analytics export jobs belonging to + the parent organization and environment. + operationId: apigee.organizations.environments.analytics.exports.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20181,7 +20831,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1ListExportsResponse' parameters: - in: path name: organizationsId @@ -20193,21 +20843,15 @@ paths: required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/deployments/{deploymentsId}:getIamPolicy: + /v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/exports/{exportsId}: parameters: *ref_1 get: description: >- - 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. - operationId: apigee.organizations.environments.deployments.getIamPolicy + 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`. + operationId: apigee.organizations.environments.analytics.exports.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20219,7 +20863,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleIamV1Policy' + $ref: '#/components/schemas/GoogleCloudApigeeV1Export' parameters: - in: path name: organizationsId @@ -20232,15 +20876,10 @@ paths: schema: type: string - in: path - name: deploymentsId + name: exportsId required: true schema: type: string - - in: query - name: options.requestedPolicyVersion - schema: - type: integer - format: int32 /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/deployments: parameters: *ref_1 get: @@ -20275,64 +20914,11 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data/{dataId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}: parameters: *ref_1 get: - description: Gets the debug data from a transaction. - operationId: apigee.organizations.environments.apis.revisions.debugsessions.data.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DebugSessionTransaction - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: apisId - required: true - schema: - type: string - - in: path - name: revisionsId - required: true - schema: - type: string - - in: path - name: debugsessionsId - required: true - schema: - type: string - - in: path - name: dataId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data: - parameters: *ref_1 - delete: - description: >- - 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. - operationId: >- - apigee.organizations.environments.apis.revisions.debugsessions.deleteData + description: Retrieves a debug session. + operationId: apigee.organizations.environments.apis.revisions.debugsessions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20344,7 +20930,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugSession' parameters: - in: path name: organizationsId @@ -20373,11 +20959,14 @@ paths: type: string /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions: parameters: *ref_1 - get: - description: >- - Lists debug sessions that are currently active in the given API Proxy - revision. - operationId: apigee.organizations.environments.apis.revisions.debugsessions.list + post: + description: Creates a debug session for a deployed API Proxy revision. + operationId: apigee.organizations.environments.apis.revisions.debugsessions.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugSession' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20389,8 +20978,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDebugSessionsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugSession' parameters: - in: path name: organizationsId @@ -20409,26 +20997,19 @@ paths: type: string - in: path name: revisionsId - required: true - schema: - type: string - - in: query - name: pageSize + required: true schema: - type: integer - format: int32 + type: string - in: query - name: pageToken + name: timeout schema: type: string - post: - description: Creates a debug session for a deployed API Proxy revision. - operationId: apigee.organizations.environments.apis.revisions.debugsessions.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugSession' + format: int64 + get: + description: >- + Lists debug sessions that are currently active in the given API Proxy + revision. + operationId: apigee.organizations.environments.apis.revisions.debugsessions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20440,7 +21021,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugSession' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDebugSessionsResponse parameters: - in: path name: organizationsId @@ -20463,15 +21045,23 @@ paths: schema: type: string - in: query - name: timeout + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: int64 - /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data: parameters: *ref_1 - get: - description: Retrieves a debug session. - operationId: apigee.organizations.environments.apis.revisions.debugsessions.get + delete: + description: >- + 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. + operationId: >- + apigee.organizations.environments.apis.revisions.debugsessions.deleteData security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20483,7 +21073,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DebugSession' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -20510,25 +21100,11 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments:generateDeployChangeReport: + /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data/{dataId}: parameters: *ref_1 - post: - description: >- - 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}` - operationId: >- - apigee.organizations.environments.apis.revisions.deployments.generateDeployChangeReport + get: + description: Gets the debug data from a transaction. + operationId: apigee.organizations.environments.apis.revisions.debugsessions.data.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20540,7 +21116,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1DeploymentChangeReport' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1DebugSessionTransaction parameters: - in: path name: organizationsId @@ -20562,10 +21139,16 @@ paths: required: true schema: type: string - - in: query - name: override + - in: path + name: debugsessionsId + required: true schema: - type: boolean + type: string + - in: path + name: dataId + required: true + schema: + type: string /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments:generateUndeployChangeReport: parameters: *ref_1 post: @@ -20617,17 +21200,25 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments: + /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments:generateDeployChangeReport: parameters: *ref_1 - delete: + post: description: >- - 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 + 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.undeploy` on the resource + `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` - operationId: apigee.organizations.environments.apis.revisions.undeploy + operationId: >- + apigee.organizations.environments.apis.revisions.deployments.generateDeployChangeReport security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20639,7 +21230,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1DeploymentChangeReport' parameters: - in: path name: organizationsId @@ -20662,14 +21253,20 @@ paths: schema: type: string - in: query - name: sequencedRollout + name: override schema: type: boolean - get: + /v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments: + parameters: *ref_1 + delete: description: >- - Gets the deployment of an API proxy revision and actual state reported - by runtime pods. - operationId: apigee.organizations.environments.apis.revisions.getDeployments + 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}` + operationId: apigee.organizations.environments.apis.revisions.undeploy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20681,7 +21278,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -20703,6 +21300,10 @@ paths: required: true schema: type: string + - in: query + name: sequencedRollout + schema: + type: boolean post: description: >- Deploys a revision of an API proxy. If another revision of the same API @@ -20752,53 +21353,22 @@ paths: schema: type: string - in: query - name: override + name: sequencedRollout schema: type: boolean - in: query - name: sequencedRollout + name: override schema: type: boolean - in: query name: serviceAccount schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}: - parameters: *ref_1 get: - description: Gets the specified ArchiveDeployment. - operationId: apigee.organizations.environments.archiveDeployments.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: archiveDeploymentsId - required: true - schema: - type: string - delete: - description: Deletes an archive deployment. - operationId: apigee.organizations.environments.archiveDeployments.delete + description: >- + Gets the deployment of an API proxy revision and actual state reported + by runtime pods. + operationId: apigee.organizations.environments.apis.revisions.getDeployments security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20810,7 +21380,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' parameters: - in: path name: organizationsId @@ -20823,68 +21393,20 @@ paths: schema: type: string - in: path - name: archiveDeploymentsId - required: true - schema: - type: string - patch: - description: >- - Updates an existing ArchiveDeployment. Labels can modified but most of - the other fields are not modifiable. - operationId: apigee.organizations.environments.archiveDeployments.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: environmentsId + name: apisId required: true schema: type: string - in: path - name: archiveDeploymentsId + name: revisionsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}:generateDownloadUrl: + /v1/organizations/{organizationsId}/environments/{environmentsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.environments.archiveDeployments.generateDownloadUrl - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1GenerateDownloadUrlRequest + get: + description: Gets environment details. + operationId: apigee.organizations.environments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20896,8 +21418,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1GenerateDownloadUrlResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' parameters: - in: path name: organizationsId @@ -20909,16 +21430,13 @@ paths: required: true schema: type: string - - in: path - name: archiveDeploymentsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments: - parameters: *ref_1 - get: - description: Lists the ArchiveDeployments in the specified Environment. - operationId: apigee.organizations.environments.archiveDeployments.list + delete: + description: >- + 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. + operationId: apigee.organizations.environments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20929,9 +21447,8 @@ paths: description: Successful response content: application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListArchiveDeploymentsResponse + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -20943,27 +21460,20 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates a new ArchiveDeployment. - operationId: apigee.organizations.environments.archiveDeployments.create + put: + description: >- + 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. + operationId: apigee.organizations.environments.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ArchiveDeployment' + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20975,7 +21485,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' parameters: - in: path name: organizationsId @@ -20987,28 +21497,20 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments:generateUploadUrl: - parameters: *ref_1 post: description: >- - 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` - operationId: apigee.organizations.environments.archiveDeployments.generateUploadUrl + 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. + operationId: apigee.organizations.environments.updateEnvironment requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1GenerateUploadUrlRequest' + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21020,8 +21522,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1GenerateUploadUrlResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' parameters: - in: path name: organizationsId @@ -21033,16 +21534,16 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/references: - parameters: *ref_1 - post: - description: Creates a Reference in the specified environment. - operationId: apigee.organizations.environments.references.create + patch: + description: >- + Updates properties for an Apigee environment with patch semantics using + a field mask. **Note:** Not supported for Apigee hybrid. + operationId: apigee.organizations.environments.modifyEnvironment requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21054,7 +21555,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -21066,19 +21567,27 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}: + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/organizations/{organizationsId}/environments/{environmentsId}:setIamPolicy: parameters: *ref_1 - put: + post: description: >- - 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. - operationId: apigee.organizations.environments.references.update + 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. + operationId: apigee.organizations.environments.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21090,7 +21599,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: organizationsId @@ -21102,16 +21611,20 @@ paths: required: true schema: type: string - - in: path - name: referencesId - required: true - schema: - type: string - delete: + /v1/organizations/{organizationsId}/environments/{environmentsId}:testIamPermissions: + parameters: *ref_1 + post: description: >- - Deletes a Reference from an environment. Returns the deleted Reference - resource. - operationId: apigee.organizations.environments.references.delete + 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). + operationId: apigee.organizations.environments.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21123,7 +21636,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: organizationsId @@ -21135,14 +21648,14 @@ paths: required: true schema: type: string - - in: path - name: referencesId - required: true - schema: - type: string - get: - description: Gets a Reference resource. - operationId: apigee.organizations.environments.references.get + /v1/organizations/{organizationsId}/environments/{environmentsId}:subscribe: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.environments.subscribe security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21154,7 +21667,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Reference' + $ref: '#/components/schemas/GoogleCloudApigeeV1Subscription' parameters: - in: path name: organizationsId @@ -21166,16 +21679,16 @@ paths: required: true schema: type: string - - in: path - name: referencesId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports: + /v1/organizations/{organizationsId}/environments/{environmentsId}/debugmask: parameters: *ref_1 - get: - description: Return a list of Security Reports - operationId: apigee.organizations.environments.securityReports.list + patch: + description: Updates the debug mask singleton resource for an environment. + operationId: apigee.organizations.environments.updateDebugmask + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21187,8 +21700,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSecurityReportsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' parameters: - in: path name: organizationsId @@ -21201,46 +21713,17 @@ paths: schema: type: string - in: query - name: from - schema: - type: string - - in: query - name: status - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: dataset - schema: - type: string - - in: query - name: to + name: replaceRepeatedFields schema: - type: string + type: boolean - in: query - name: submittedBy + name: updateMask schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: >- - 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. - operationId: apigee.organizations.environments.securityReports.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReportQuery' + format: google-fieldmask + get: + description: Gets the debug mask singleton resource for an environment. + operationId: apigee.organizations.environments.getDebugmask security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21252,7 +21735,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1DebugMask' parameters: - in: path name: organizationsId @@ -21264,14 +21747,20 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports/{securityReportsId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/traceConfig: parameters: *ref_1 - get: + patch: description: >- - 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" - operationId: apigee.organizations.environments.securityReports.get + 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. + operationId: apigee.organizations.environments.updateTraceConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21283,7 +21772,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityReport' + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfig' parameters: - in: path name: organizationsId @@ -21295,18 +21784,14 @@ paths: required: true schema: type: string - - in: path - name: securityReportsId - required: true + - in: query + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports/{securityReportsId}/resultView: - parameters: *ref_1 + format: google-fieldmask get: - description: >- - After the query is completed, use this API to view the query result when - result size is small. - operationId: apigee.organizations.environments.securityReports.getResultView + description: Get distributed trace configuration in an environment. + operationId: apigee.organizations.environments.getTraceConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21318,8 +21803,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1SecurityReportResultView + $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfig' parameters: - in: path name: organizationsId @@ -21331,21 +21815,13 @@ paths: required: true schema: type: string - - in: path - name: securityReportsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityReports/{securityReportsId}/result: + /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActionsConfig: parameters: *ref_1 - get: - description: >- - 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` - operationId: apigee.organizations.environments.securityReports.getResult + get: + description: >- + GetSecurityActionConfig returns the current SecurityActions + configuration. + operationId: apigee.organizations.environments.getSecurityActionsConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21357,7 +21833,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionsConfig' parameters: - in: path name: organizationsId @@ -21369,21 +21845,17 @@ paths: required: true schema: type: string - - in: path - name: securityReportsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityIncidents/{securityIncidentsId}: - parameters: *ref_1 patch: - description: UpdateSecurityIncidents updates an existing security incident. - operationId: apigee.organizations.environments.securityIncidents.patch + description: >- + UpdateSecurityActionConfig updates the current SecurityActions + configuration. This method is used to enable/disable the feature at the + environment level. + operationId: apigee.organizations.environments.updateSecurityActionsConfig requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionsConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21395,7 +21867,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityActionsConfig' parameters: - in: path name: organizationsId @@ -21407,22 +21879,21 @@ paths: required: true schema: type: string - - in: path - name: securityIncidentsId - required: true - schema: - type: string - in: query name: updateMask schema: type: string format: google-fieldmask + /v1/organizations/{organizationsId}/environments/{environmentsId}:getIamPolicy: + parameters: *ref_1 get: description: >- - GetSecurityIncident gets the specified security incident. Returns - NOT_FOUND if security incident is not present for the specified - organization and environment. - operationId: apigee.organizations.environments.securityIncidents.get + 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. + operationId: apigee.organizations.environments.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21434,7 +21905,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityIncident' + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: organizationsId @@ -21446,24 +21917,16 @@ paths: required: true schema: type: string - - in: path - name: securityIncidentsId - required: true + - in: query + name: options.requestedPolicyVersion schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityIncidents:batchUpdate: + type: integer + format: int32 + /v1/organizations/{organizationsId}/environments/{environmentsId}/deployedConfig: parameters: *ref_1 - post: - description: >- - BatchUpdateSecurityIncident updates multiple existing security - incidents. - operationId: apigee.organizations.environments.securityIncidents.batchUpdate - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest + get: + description: Gets the deployed configuration for an environment. + operationId: apigee.organizations.environments.getDeployedConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21475,8 +21938,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1BatchUpdateSecurityIncidentsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentConfig' parameters: - in: path name: organizationsId @@ -21488,13 +21950,16 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityIncidents: + /v1/organizations/{organizationsId}/environments: parameters: *ref_1 - get: - description: >- - ListSecurityIncidents lists all the security incident associated with - the environment. - operationId: apigee.organizations.environments.securityIncidents.list + post: + description: Creates an environment in an organization. + operationId: apigee.organizations.environments.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Environment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21506,47 +21971,27 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSecurityIncidentsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query - name: pageToken + name: name schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores: + /v1/organizations/{organizationsId}/environments/{environmentsId}:unsubscribe: parameters: *ref_1 post: - description: >- - 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. - operationId: apigee.organizations.environments.keystores.create + description: Deletes a subscription for the environment's Pub/Sub topic. + operationId: apigee.organizations.environments.unsubscribe requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' + $ref: '#/components/schemas/GoogleCloudApigeeV1Subscription' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21558,7 +22003,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -21570,15 +22015,11 @@ paths: required: true schema: type: string - - in: query - name: name - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}: + /v1/organizations/{organizationsId}/environments/{environmentsId}/addonsConfig: parameters: *ref_1 - delete: - description: Deletes a keystore or truststore. - operationId: apigee.organizations.environments.keystores.delete + get: + description: Gets the add-ons config of an environment. + operationId: apigee.organizations.environments.getAddonsConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21590,7 +22031,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' + $ref: '#/components/schemas/GoogleCloudApigeeV1AddonsConfig' parameters: - in: path name: organizationsId @@ -21602,14 +22043,43 @@ paths: required: true schema: type: string + /v1/organizations/{organizationsId}/environments/{environmentsId}/apiSecurityRuntimeConfig: + parameters: *ref_1 + get: + description: >- + Gets the API Security runtime configuration for an environment. This + named ApiSecurityRuntimeConfig to prevent conflicts with + ApiSecurityConfig from addon config. + operationId: apigee.organizations.environments.getApiSecurityRuntimeConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ApiSecurityRuntimeConfig + parameters: - in: path - name: keystoresId + name: organizationsId required: true schema: type: string - get: - description: Gets a keystore or truststore. - operationId: apigee.organizations.environments.keystores.get + - in: path + name: environmentsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/instances/{instancesId}/attachments/{attachmentsId}: + parameters: *ref_1 + delete: + description: Deletes an attachment. **Note:** Not supported for Apigee hybrid. + operationId: apigee.organizations.instances.attachments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21621,7 +22091,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Keystore' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -21629,22 +22099,18 @@ paths: schema: type: string - in: path - name: environmentsId + name: instancesId required: true schema: type: string - in: path - name: keystoresId + name: attachmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/csr: - parameters: *ref_1 get: - description: >- - Generates a PKCS #10 Certificate Signing Request for the private key in - an alias. - operationId: apigee.organizations.environments.keystores.aliases.csr + description: Gets an attachment. **Note:** Not supported for Apigee hybrid. + operationId: apigee.organizations.instances.attachments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21656,7 +22122,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceAttachment' parameters: - in: path name: organizationsId @@ -21664,42 +22130,27 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keystoresId + name: instancesId required: true schema: type: string - in: path - name: aliasesId + name: attachmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases: + /v1/organizations/{organizationsId}/instances/{instancesId}/attachments: parameters: *ref_1 post: description: >- - 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. - operationId: apigee.organizations.environments.keystores.aliases.create + Creates a new attachment of an environment to an instance. **Note:** Not + supported for Apigee hybrid. + operationId: apigee.organizations.instances.attachments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1InstanceAttachment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21711,7 +22162,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -21719,45 +22170,15 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keystoresId + name: instancesId required: true schema: type: string - - in: query - name: _password - schema: - type: string - - in: query - name: ignoreExpiryValidation - schema: - type: boolean - - in: query - name: alias - schema: - type: string - - in: query - name: ignoreNewlineValidation - schema: - type: boolean - - in: query - name: format - schema: - type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}: - parameters: *ref_1 - put: - description: Updates the certificate in an alias. - operationId: apigee.organizations.environments.keystores.aliases.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + get: + description: >- + Lists all attachments to an instance. **Note:** Not supported for Apigee + hybrid. + operationId: apigee.organizations.instances.attachments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21769,7 +22190,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListInstanceAttachmentsResponse parameters: - in: path name: organizationsId @@ -21777,31 +22199,26 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keystoresId - required: true - schema: - type: string - - in: path - name: aliasesId + name: instancesId required: true schema: type: string - in: query - name: ignoreNewlineValidation + name: pageToken schema: - type: boolean + type: string - in: query - name: ignoreExpiryValidation + name: pageSize schema: - type: boolean - delete: - description: Deletes an alias. - operationId: apigee.organizations.environments.keystores.aliases.delete + type: integer + format: int32 + /v1/organizations/{organizationsId}/instances/{instancesId}/natAddresses: + parameters: *ref_1 + get: + description: >- + Lists the NAT addresses for an Apigee instance. **Note:** Not supported + for Apigee hybrid. + operationId: apigee.organizations.instances.natAddresses.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21813,7 +22230,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListNatAddressesResponse parameters: - in: path name: organizationsId @@ -21821,23 +22239,64 @@ paths: schema: type: string - in: path - name: environmentsId + name: instancesId required: true schema: type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: + description: >- + 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. + operationId: apigee.organizations.instances.natAddresses.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1NatAddress' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: - in: path - name: keystoresId + name: organizationsId required: true schema: type: string - in: path - name: aliasesId + name: instancesId required: true schema: type: string - get: - description: Gets an alias. - operationId: apigee.organizations.environments.keystores.aliases.get + /v1/organizations/{organizationsId}/instances/{instancesId}/natAddresses/{natAddressesId}: + parameters: *ref_1 + delete: + description: >- + Deletes the NAT address. Connections that are actively using the address + are drained before it is removed. **Note:** Not supported for Apigee + hybrid. + operationId: apigee.organizations.instances.natAddresses.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21849,7 +22308,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Alias' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -21857,25 +22316,20 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keystoresId + name: instancesId required: true schema: type: string - in: path - name: aliasesId + name: natAddressesId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/certificate: - parameters: *ref_1 get: - description: Gets the certificate from an alias in PEM-encoded form. - operationId: apigee.organizations.environments.keystores.aliases.getCertificate + description: >- + Gets the details of a NAT address. **Note:** Not supported for Apigee + hybrid. + operationId: apigee.organizations.instances.natAddresses.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21887,7 +22341,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1NatAddress' parameters: - in: path name: organizationsId @@ -21895,31 +22349,28 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keystoresId + name: instancesId required: true schema: type: string - in: path - name: aliasesId + name: natAddressesId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/addonsConfig:setAddonEnablement: + /v1/organizations/{organizationsId}/instances/{instancesId}/natAddresses/{natAddressesId}:activate: parameters: *ref_1 post: - description: Updates an add-on enablement status of an environment. - operationId: apigee.organizations.environments.addonsConfig.setAddonEnablement + description: >- + Activates the NAT address. The Apigee instance can now use this for + Internet egress traffic. **Note:** Not supported for Apigee hybrid. + operationId: apigee.organizations.instances.natAddresses.activate requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1SetAddonEnablementRequest + #/components/schemas/GoogleCloudApigeeV1ActivateNatAddressRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21939,18 +22390,20 @@ paths: schema: type: string - in: path - name: environmentsId + name: instancesId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}: + - in: path + name: natAddressesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/instances/{instancesId}/canaryevaluations/{canaryevaluationsId}: parameters: *ref_1 get: - description: >- - Gets the contents of a resource file. For more information about - resource files, see [Resource - files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). - operationId: apigee.organizations.environments.resourcefiles.get + description: Gets a CanaryEvaluation for an organization. + operationId: apigee.organizations.instances.canaryevaluations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -21962,7 +22415,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1CanaryEvaluation' parameters: - in: path name: organizationsId @@ -21970,32 +22423,25 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: type + name: instancesId required: true schema: type: string - in: path - name: name + name: canaryevaluationsId required: true schema: type: string - put: - description: >- - 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). - operationId: apigee.organizations.environments.resourcefiles.update + /v1/organizations/{organizationsId}/instances/{instancesId}/canaryevaluations: + parameters: *ref_1 + post: + description: Creates a new canary evaluation for an organization. + operationId: apigee.organizations.instances.canaryevaluations.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1CanaryEvaluation' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22007,7 +22453,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22015,26 +22461,17 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: type - required: true - schema: - type: string - - in: path - name: name + name: instancesId required: true schema: type: string - delete: + /v1/organizations/{organizationsId}/instances: + parameters: *ref_1 + get: description: >- - Deletes a resource file. For more information about resource files, see - [Resource - files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). - operationId: apigee.organizations.environments.resourcefiles.delete + Lists all Apigee runtime instances for the organization. **Note:** Not + supported for Apigee hybrid. + operationId: apigee.organizations.instances.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22046,36 +22483,62 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' + $ref: '#/components/schemas/GoogleCloudApigeeV1ListInstancesResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: type - required: true + type: integer + format: int32 + - in: query + name: pageToken schema: type: string + post: + description: >- + Creates an Apigee runtime instance. The instance is accessible from the + authorized network configured on the organization. **Note:** Not + supported for Apigee hybrid. + operationId: apigee.organizations.instances.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: - in: path - name: name + name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles: + /v1/organizations/{organizationsId}/instances/{instancesId}:reportStatus: parameters: *ref_1 - get: - description: >- - 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). - operationId: apigee.organizations.environments.resourcefiles.list + post: + description: Reports the latest status for a runtime instance. + operationId: apigee.organizations.instances.reportStatus + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ReportInstanceStatusRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22088,7 +22551,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListEnvironmentResourcesResponse + #/components/schemas/GoogleCloudApigeeV1ReportInstanceStatusResponse parameters: - in: path name: organizationsId @@ -22096,26 +22559,23 @@ paths: schema: type: string - in: path - name: environmentsId + name: instancesId required: true schema: type: string - - in: query - name: type - schema: - type: string - post: + /v1/organizations/{organizationsId}/instances/{instancesId}: + parameters: *ref_1 + patch: description: >- - 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). - operationId: apigee.organizations.environments.resourcefiles.create + 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. + operationId: apigee.organizations.instances.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22127,7 +22587,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ResourceFile' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22135,26 +22595,20 @@ paths: schema: type: string - in: path - name: environmentsId + name: instancesId required: true schema: type: string - in: query - name: name - schema: - type: string - - in: query - name: type + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}: - parameters: *ref_1 + format: google-fieldmask get: description: >- - 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). - operationId: apigee.organizations.environments.resourcefiles.listEnvironmentResources + Gets the details for an Apigee runtime instance. **Note:** Not supported + for Apigee hybrid. + operationId: apigee.organizations.instances.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22166,8 +22620,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListEnvironmentResourcesResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1Instance' parameters: - in: path name: organizationsId @@ -22175,30 +22628,44 @@ paths: schema: type: string - in: path - name: environmentsId + name: instancesId + required: true + schema: + type: string + delete: + description: >- + Deletes an Apigee runtime instance. The instance stops serving requests + and the runtime data is deleted. **Note:** Not supported for Apigee + hybrid. + operationId: apigee.organizations.instances.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: organizationsId required: true schema: type: string - in: path - name: type + name: instancesId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions/{securityActionsId}:enable: + /v1/organizations/{organizationsId}/envgroups/{envgroupsId}/attachments/{attachmentsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.environments.securityActions.enable - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1EnableSecurityActionRequest + delete: + description: Deletes an environment group attachment. + operationId: apigee.organizations.envgroups.attachments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22210,7 +22677,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22218,30 +22685,18 @@ paths: schema: type: string - in: path - name: environmentsId + name: envgroupsId required: true schema: type: string - in: path - name: securityActionsId + name: attachmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions/{securityActionsId}:disable: - parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.environments.securityActions.disable - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1DisableSecurityActionRequest + get: + description: Gets an environment group attachment. + operationId: apigee.organizations.envgroups.attachments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22253,7 +22708,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1EnvironmentGroupAttachment parameters: - in: path name: organizationsId @@ -22261,25 +22717,26 @@ paths: schema: type: string - in: path - name: environmentsId + name: envgroupsId required: true schema: type: string - in: path - name: securityActionsId + name: attachmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions: + /v1/organizations/{organizationsId}/envgroups/{envgroupsId}/attachments: parameters: *ref_1 post: - description: CreateSecurityAction creates a SecurityAction. - operationId: apigee.organizations.environments.securityActions.create + description: Creates a new attachment of an environment to an environment group. + operationId: apigee.organizations.envgroups.attachments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1EnvironmentGroupAttachment security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22291,7 +22748,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22299,19 +22756,13 @@ paths: schema: type: string - in: path - name: environmentsId + name: envgroupsId required: true schema: type: string - - in: query - name: securityActionId - schema: - type: string get: - description: >- - Returns a list of SecurityActions. This returns both enabled and - disabled actions. - operationId: apigee.organizations.environments.securityActions.list + description: Lists all attachments of an environment group. + operationId: apigee.organizations.envgroups.attachments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22324,7 +22775,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListSecurityActionsResponse + #/components/schemas/GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse parameters: - in: path name: organizationsId @@ -22332,7 +22783,7 @@ paths: schema: type: string - in: path - name: environmentsId + name: envgroupsId required: true schema: type: string @@ -22340,20 +22791,16 @@ paths: name: pageToken schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityActions/{securityActionsId}: + /v1/organizations/{organizationsId}/envgroups/{envgroupsId}: parameters: *ref_1 get: - description: Get a SecurityAction by name. - operationId: apigee.organizations.environments.securityActions.get + description: Gets an environment group. + operationId: apigee.organizations.envgroups.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22365,7 +22812,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityAction' + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' parameters: - in: path name: organizationsId @@ -22373,25 +22820,13 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: securityActionsId + name: envgroupsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps: - parameters: *ref_1 - post: - description: Creates a key value map in an environment. - operationId: apigee.organizations.environments.keyvaluemaps.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + delete: + description: Deletes an environment group. + operationId: apigee.organizations.envgroups.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22403,7 +22838,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22411,15 +22846,18 @@ paths: schema: type: string - in: path - name: environmentsId + name: envgroupsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}: - parameters: *ref_1 - delete: - description: Deletes a key value map from an environment. - operationId: apigee.organizations.environments.keyvaluemaps.delete + patch: + description: Updates an environment group. + operationId: apigee.organizations.envgroups.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22431,7 +22869,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22439,27 +22877,25 @@ paths: schema: type: string - in: path - name: environmentsId + name: envgroupsId required: true schema: type: string - - in: path - name: keyvaluemapsId - required: true + - in: query + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}/entries/{entriesId}: + format: google-fieldmask + /v1/organizations/{organizationsId}/envgroups: parameters: *ref_1 - put: - description: >- - Update key value entry scoped to an organization, environment, or API - proxy for an existing key. - operationId: apigee.organizations.environments.keyvaluemaps.entries.update + post: + description: Creates a new environment group. + operationId: apigee.organizations.envgroups.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22471,36 +22907,53 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: name schema: type: string + get: + description: Lists all environment groups. + operationId: apigee.organizations.envgroups.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListEnvironmentGroupsResponse + parameters: - in: path - name: keyvaluemapsId + name: organizationsId required: true schema: type: string - - in: path - name: entriesId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - delete: - description: >- - 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. - operationId: apigee.organizations.environments.keyvaluemaps.entries.delete + /v1/organizations/{organizationsId}/envgroups/{envgroupsId}/deployedIngressConfig: + parameters: *ref_1 + get: + description: Gets the deployed ingress configuration for an environment group. + operationId: apigee.organizations.envgroups.getDeployedIngressConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22512,7 +22965,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroupConfig' parameters: - in: path name: organizationsId @@ -22520,26 +22973,22 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keyvaluemapsId + name: envgroupsId required: true schema: type: string - - in: path - name: entriesId - required: true + - in: query + name: view schema: type: string + /v1/organizations/{organizationsId}/apps: + parameters: *ref_1 get: description: >- - Get the key value entry value for a key value map scoped to an - organization, environment, or API proxy. **Note**: Supported for Apigee - hybrid 1.8.x and higher. - operationId: apigee.organizations.environments.keyvaluemaps.entries.get + 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). + operationId: apigee.organizations.apps.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22551,41 +23000,68 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1ListAppsResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: expand + schema: + type: boolean + - in: query + name: rows schema: type: string - - in: path - name: keyvaluemapsId - required: true + format: int64 + - in: query + name: ids schema: type: string - - in: path - name: entriesId - required: true + - in: query + name: includeCred + schema: + type: boolean + - in: query + name: filter schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}/entries: + - in: query + name: apiProduct + schema: + type: string + - in: query + name: apptype + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: status + schema: + type: string + - in: query + name: startKey + schema: + type: string + - in: query + name: keyStatus + schema: + type: string + - in: query + name: pageToken + schema: + type: string + /v1/organizations/{organizationsId}/apps/{appsId}: parameters: *ref_1 - post: - description: >- - Creates key value entries in a key value map scoped to an organization, - environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x - and higher. - operationId: apigee.organizations.environments.keyvaluemaps.entries.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + get: + description: Gets the app profile for the specified app ID. + operationId: apigee.organizations.apps.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22597,7 +23073,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' + $ref: '#/components/schemas/GoogleCloudApigeeV1App' parameters: - in: path name: organizationsId @@ -22605,21 +23081,15 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keyvaluemapsId + name: appsId required: true schema: type: string + /v1/organizations/{organizationsId}/endpointAttachments/{endpointAttachmentsId}: + parameters: *ref_1 get: - description: >- - 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. - operationId: apigee.organizations.environments.keyvaluemaps.entries.list + description: Gets the endpoint attachment. + operationId: apigee.organizations.endpointAttachments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22631,8 +23101,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListKeyValueEntriesResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointAttachment' parameters: - in: path name: organizationsId @@ -22640,34 +23109,13 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: keyvaluemapsId + name: endpointAttachmentsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityStats:queryTabularStats: - parameters: *ref_1 - post: - description: Retrieve security statistics as tabular rows. - operationId: apigee.organizations.environments.securityStats.queryTabularStats - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1QueryTabularStatsRequest' + delete: + description: Deletes an endpoint attachment. + operationId: apigee.organizations.endpointAttachments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22679,8 +23127,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1QueryTabularStatsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -22688,21 +23135,15 @@ paths: schema: type: string - in: path - name: environmentsId + name: endpointAttachmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/securityStats:queryTimeSeriesStats: + /v1/organizations/{organizationsId}/endpointAttachments: parameters: *ref_1 - post: - description: Retrieve security statistics as a collection of time series. - operationId: apigee.organizations.environments.securityStats.queryTimeSeriesStats - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1QueryTimeSeriesStatsRequest + get: + description: Lists the endpoint attachments in an organization. + operationId: apigee.organizations.endpointAttachments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22715,33 +23156,32 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1QueryTimeSeriesStatsResponse + #/components/schemas/GoogleCloudApigeeV1ListEndpointAttachmentsResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments: - parameters: *ref_1 post: description: >- - 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}` - operationId: apigee.organizations.environments.sharedflows.revisions.deploy + Creates an endpoint attachment. **Note:** Not supported for Apigee + hybrid. + operationId: apigee.organizations.endpointAttachments.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1EndpointAttachment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22753,45 +23193,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: sharedflowsId - required: true - schema: - type: string - - in: path - name: revisionsId - required: true - schema: - type: string - in: query - name: serviceAccount + name: endpointAttachmentId schema: type: string - - in: query - name: override - schema: - type: boolean - delete: + /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}/environments: + parameters: *ref_1 + post: description: >- - 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}` - operationId: apigee.organizations.environments.sharedflows.revisions.undeploy + CreateSecurityProfileEnvironmentAssociation creates profile environment + association i.e. attaches environment to security profile. + operationId: apigee.organizations.securityProfiles.environments.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22803,7 +23228,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation parameters: - in: path name: organizationsId @@ -22811,25 +23237,24 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: sharedflowsId - required: true - schema: - type: string - - in: path - name: revisionsId + name: securityProfilesId required: true schema: type: string - get: + /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}/environments/{environmentsId}:computeEnvironmentScores: + parameters: *ref_1 + post: description: >- - Gets the deployment of a shared flow revision and actual state reported - by runtime pods. - operationId: apigee.organizations.environments.sharedflows.revisions.getDeployments + ComputeEnvironmentScores calculates scores for requested time range for + the specified security profile and environment. + operationId: >- + apigee.organizations.securityProfiles.environments.computeEnvironmentScores + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ComputeEnvironmentScoresRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22841,7 +23266,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Deployment' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ComputeEnvironmentScoresResponse parameters: - in: path name: organizationsId @@ -22849,25 +23275,22 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: sharedflowsId + name: securityProfilesId required: true schema: type: string - in: path - name: revisionsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/deployments: + /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}/environments/{environmentsId}: parameters: *ref_1 - get: - description: Lists all deployments of a shared flow in an environment. - operationId: apigee.organizations.environments.sharedflows.deployments.list + delete: + description: >- + DeleteSecurityProfileEnvironmentAssociation removes profile environment + association i.e. detaches environment from security profile. + operationId: apigee.organizations.securityProfiles.environments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22879,8 +23302,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -22888,20 +23310,25 @@ paths: schema: type: string - in: path - name: environmentsId + name: securityProfilesId required: true schema: type: string - in: path - name: sharedflowsId + name: environmentsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}: + /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}: parameters: *ref_1 - get: - description: Gets a TargetServer resource. - operationId: apigee.organizations.environments.targetservers.get + patch: + description: UpdateSecurityProfile update the metadata of security profile. + operationId: apigee.organizations.securityProfiles.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22913,7 +23340,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' parameters: - in: path name: organizationsId @@ -22921,26 +23348,21 @@ paths: schema: type: string - in: path - name: environmentsId + name: securityProfilesId required: true schema: type: string - - in: path - name: targetserversId - required: true + - in: query + name: updateMask schema: type: string - put: + format: google-fieldmask + get: description: >- - 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. - operationId: apigee.organizations.environments.targetservers.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' + GetSecurityProfile gets the specified security profile. Returns + NOT_FOUND if security profile is not present for the specified + organization. + operationId: apigee.organizations.securityProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22952,7 +23374,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' parameters: - in: path name: organizationsId @@ -22960,20 +23382,13 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: targetserversId + name: securityProfilesId required: true schema: type: string delete: - description: >- - Deletes a TargetServer from an environment. Returns the deleted - TargetServer resource. - operationId: apigee.organizations.environments.targetservers.delete + description: DeleteSecurityProfile delete a profile with all its revisions. + operationId: apigee.organizations.securityProfiles.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -22985,7 +23400,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -22993,25 +23408,17 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: targetserversId + name: securityProfilesId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers: + /v1/organizations/{organizationsId}/securityProfiles/{securityProfilesId}:listRevisions: parameters: *ref_1 - post: - description: Creates a TargetServer in the specified environment. - operationId: apigee.organizations.environments.targetservers.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' + get: + description: >- + ListSecurityProfileRevisions lists all the revisions of the security + profile. + operationId: apigee.organizations.securityProfiles.listRevisions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23023,7 +23430,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TargetServer' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse parameters: - in: path name: organizationsId @@ -23031,22 +23439,26 @@ paths: schema: type: string - in: path - name: environmentsId + name: securityProfilesId required: true schema: type: string - in: query - name: name + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}/resulturl: + /v1/organizations/{organizationsId}/securityProfiles: parameters: *ref_1 get: description: >- - 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. - operationId: apigee.organizations.environments.queries.getResulturl + ListSecurityProfiles lists all the security profiles associated with the + org including attached and unattached profiles. + operationId: apigee.organizations.securityProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23059,37 +23471,62 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1GetAsyncQueryResultUrlResponse + #/components/schemas/GoogleCloudApigeeV1ListSecurityProfilesResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: pageToken schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: + description: CreateSecurityProfile create a new custom security profile. + operationId: apigee.organizations.securityProfiles.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfile' + parameters: - in: path - name: queriesId + name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/queries: + - in: query + name: securityProfileId + schema: + type: string + /v1/organizations/{organizationsId}/securityProfilesV2: parameters: *ref_1 post: - description: >- - 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. - operationId: apigee.organizations.environments.queries.create + description: Create a security profile v2. + operationId: apigee.organizations.securityProfilesV2.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Query' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileV2' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23101,21 +23538,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileV2' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: securityProfileV2Id schema: type: string get: - description: Return a list of Asynchronous Queries - operationId: apigee.organizations.environments.queries.list + description: List security profiles v2. + operationId: apigee.organizations.securityProfilesV2.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23128,50 +23564,58 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListAsyncQueriesResponse + #/components/schemas/GoogleCloudApigeeV1ListSecurityProfilesV2Response parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: query - name: dataset - schema: - type: string - - in: query - name: to - schema: - type: string - in: query - name: inclQueriesWithoutReport + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: from + name: pageToken schema: type: string - - in: query - name: submittedBy + /v1/organizations/{organizationsId}/securityProfilesV2/{securityProfilesV2Id}: + parameters: *ref_1 + get: + description: Get a security profile v2. + operationId: apigee.organizations.securityProfilesV2.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileV2' + parameters: + - in: path + name: organizationsId + required: true schema: - type: string - - in: query - name: status + type: string + - in: path + name: securityProfilesV2Id + required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}: - parameters: *ref_1 - get: - description: >- - 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" - operationId: apigee.organizations.environments.queries.get + patch: + description: Update a security profile V2. + operationId: apigee.organizations.securityProfilesV2.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileV2' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23183,7 +23627,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' + $ref: '#/components/schemas/GoogleCloudApigeeV1SecurityProfileV2' parameters: - in: path name: organizationsId @@ -23191,25 +23635,18 @@ paths: schema: type: string - in: path - name: environmentsId + name: securityProfilesV2Id required: true schema: type: string - - in: path - name: queriesId - required: true + - in: query + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}/result: - parameters: *ref_1 - get: - description: >- - 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` - operationId: apigee.organizations.environments.queries.getResult + format: google-fieldmask + delete: + description: Delete a security profile v2. + operationId: apigee.organizations.securityProfilesV2.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23221,7 +23658,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleApiHttpBody' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -23229,24 +23666,15 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: queriesId + name: securityProfilesV2Id required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/exports/{exportsId}: + /v1/organizations/{organizationsId}/analytics/datastores/{datastoresId}: parameters: *ref_1 get: - description: >- - 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`. - operationId: apigee.organizations.environments.analytics.exports.get + description: Get a Datastore + operationId: apigee.organizations.analytics.datastores.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23258,7 +23686,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Export' + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' parameters: - in: path name: organizationsId @@ -23266,29 +23694,13 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: exportsId + name: datastoresId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/exports: - parameters: *ref_1 - post: - description: >- - 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". - operationId: apigee.organizations.environments.analytics.exports.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ExportRequest' + delete: + description: Delete a Datastore from an org. + operationId: apigee.organizations.analytics.datastores.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23300,7 +23712,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Export' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -23308,15 +23720,18 @@ paths: schema: type: string - in: path - name: environmentsId + name: datastoresId required: true schema: type: string - get: - description: >- - Lists the details and status of all analytics export jobs belonging to - the parent organization and environment. - operationId: apigee.organizations.environments.analytics.exports.list + put: + description: Update a Datastore + operationId: apigee.organizations.analytics.datastores.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23328,7 +23743,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListExportsResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' parameters: - in: path name: organizationsId @@ -23336,19 +23751,23 @@ paths: schema: type: string - in: path - name: environmentsId + name: datastoresId required: true schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/admin/schemav2: + /v1/organizations/{organizationsId}/analytics/datastores:test: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: apigee.organizations.environments.analytics.admin.getSchemav2 + Test if Datastore configuration is correct. This includes checking if + credentials provided by customer have required permissions in target + destination storage + operationId: apigee.organizations.analytics.datastores.test + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23360,31 +23779,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Schema' + $ref: '#/components/schemas/GoogleCloudApigeeV1TestDatastoreResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: query - name: type - schema: - type: string - - in: query - name: disableCache - schema: - type: boolean - /v1/organizations/{organizationsId}/environments/{environmentsId}/optimizedStats/{optimizedStatsId}: + /v1/organizations/{organizationsId}/analytics/datastores: parameters: *ref_1 get: - description: Similar to GetStats except that the response is less verbose. - operationId: apigee.organizations.environments.optimizedStats.get + description: List Datastores + operationId: apigee.organizations.analytics.datastores.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23396,88 +23802,25 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1OptimizedStats' + $ref: '#/components/schemas/GoogleCloudApigeeV1ListDatastoresResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: optimizedStatsId - required: true - schema: - type: string - - in: query - name: select - schema: - type: string - - in: query - name: limit - schema: - type: string - - in: query - name: topk - schema: - type: string - - in: query - name: offset - schema: - type: string - - in: query - name: tsAscending - schema: - type: boolean - - in: query - name: timeUnit - schema: - type: string - - in: query - name: realtime - schema: - type: boolean - - in: query - name: sortby - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: sonar - schema: - type: boolean - - in: query - name: tzo - schema: - type: string - - in: query - name: accuracy - schema: - type: string - - in: query - name: aggTable - schema: - type: string - - in: query - name: sort - schema: - type: string - in: query - name: timeRange + name: targetType schema: type: string - /v1/organizations/{organizationsId}/environments/{environmentsId}/traceConfig/overrides/{overridesId}: - parameters: *ref_1 - get: - description: Gets a trace configuration override. - operationId: apigee.organizations.environments.traceConfig.overrides.get + post: + description: Create a Datastore for an org + operationId: apigee.organizations.analytics.datastores.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23489,26 +23832,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' + $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' parameters: - in: path name: organizationsId required: true schema: type: string + /v1/organizations/{organizationsId}/apis/{apisId}: + parameters: *ref_1 + delete: + description: >- + Deletes an API proxy and all associated endpoints, policies, resources, + and revisions. The API proxy must be undeployed before you can delete + it. + operationId: apigee.organizations.apis.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' + parameters: - in: path - name: environmentsId + name: organizationsId required: true schema: type: string - in: path - name: overridesId + name: apisId required: true schema: type: string - delete: - description: Deletes a distributed trace configuration override. - operationId: apigee.organizations.environments.traceConfig.overrides.delete + get: + description: Gets an API proxy including a list of existing revisions. + operationId: apigee.organizations.apis.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23520,7 +23884,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' parameters: - in: path name: organizationsId @@ -23528,27 +23892,18 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: overridesId + name: apisId required: true schema: type: string patch: - description: >- - 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. - operationId: apigee.organizations.environments.traceConfig.overrides.patch + description: Updates an existing API proxy. + operationId: apigee.organizations.apis.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23560,7 +23915,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxy' parameters: - in: path name: organizationsId @@ -23568,12 +23923,7 @@ paths: schema: type: string - in: path - name: environmentsId - required: true - schema: - type: string - - in: path - name: overridesId + name: apisId required: true schema: type: string @@ -23582,13 +23932,14 @@ paths: schema: type: string format: google-fieldmask - /v1/organizations/{organizationsId}/environments/{environmentsId}/traceConfig/overrides: + /v1/organizations/{organizationsId}/apis: parameters: *ref_1 get: description: >- - Lists all of the distributed trace configuration overrides in an - environment. - operationId: apigee.organizations.environments.traceConfig.overrides.list + 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. + operationId: apigee.organizations.apis.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23600,40 +23951,44 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListTraceConfigOverridesResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1ListApiProxiesResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true - schema: - type: string - in: query - name: pageToken + name: includeRevisions schema: - type: string + type: boolean - in: query - name: pageSize + name: includeMetaData schema: - type: integer - format: int32 + type: boolean post: description: >- - 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. - operationId: apigee.organizations.environments.traceConfig.overrides.create + 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. + operationId: apigee.organizations.apis.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23645,23 +24000,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TraceConfigOverride' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxyRevision' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: environmentsId - required: true + - in: query + name: name schema: type: string - /v1/organizations/{organizationsId}/deployments: + - in: query + name: validate + schema: + type: boolean + - in: query + name: action + schema: + type: string + /v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}/deployments: parameters: *ref_1 get: - description: Lists all deployments of API proxies or shared flows. - operationId: apigee.organizations.deployments.list + description: Lists all deployments of an API proxy revision. + operationId: apigee.organizations.apis.revisions.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23681,15 +24043,24 @@ paths: required: true schema: type: string - - in: query - name: sharedFlows + - in: path + name: apisId + required: true schema: - type: boolean - /v1/organizations/{organizationsId}/analytics/datastores/{datastoresId}: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}: parameters: *ref_1 - get: - description: Get a Datastore - operationId: apigee.organizations.analytics.datastores.get + delete: + description: >- + 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. + operationId: apigee.organizations.apis.revisions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23701,7 +24072,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxyRevision' parameters: - in: path name: organizationsId @@ -23709,18 +24080,29 @@ paths: schema: type: string - in: path - name: datastoresId + name: apisId required: true schema: type: string - put: - description: Update a Datastore - operationId: apigee.organizations.analytics.datastores.update + - in: path + name: revisionsId + required: true + schema: + type: string + post: + description: >- + 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`. + operationId: apigee.organizations.apis.revisions.updateApiProxyRevision requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' + $ref: '#/components/schemas/GoogleApiHttpBody' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23732,7 +24114,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' + $ref: '#/components/schemas/GoogleCloudApigeeV1ApiProxyRevision' parameters: - in: path name: organizationsId @@ -23740,13 +24122,29 @@ paths: schema: type: string - in: path - name: datastoresId + name: apisId required: true schema: type: string - delete: - description: Delete a Datastore from an org. - operationId: apigee.organizations.analytics.datastores.delete + - in: path + name: revisionsId + required: true + schema: + type: string + - in: query + name: validate + schema: + type: boolean + get: + description: >- + 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). + operationId: apigee.organizations.apis.revisions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23758,7 +24156,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId @@ -23766,15 +24164,27 @@ paths: schema: type: string - in: path - name: datastoresId + name: apisId required: true schema: type: string - /v1/organizations/{organizationsId}/analytics/datastores: + - in: path + name: revisionsId + required: true + schema: + type: string + - in: query + name: format + schema: + type: string + /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}/entries/{entriesId}: parameters: *ref_1 get: - description: List Datastores - operationId: apigee.organizations.analytics.datastores.list + description: >- + Get the key value entry value for a key value map scoped to an + organization, environment, or API proxy. **Note**: Supported for Apigee + hybrid 1.8.x and higher. + operationId: apigee.organizations.apis.keyvaluemaps.entries.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23786,79 +24196,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1ListDatastoresResponse' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: targetType + - in: path + name: apisId + required: true schema: type: string - post: - description: Create a Datastore for an org - operationId: apigee.organizations.analytics.datastores.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' - parameters: - in: path - name: organizationsId + name: keyvaluemapsId required: true schema: type: string - /v1/organizations/{organizationsId}/analytics/datastores:test: - parameters: *ref_1 - post: - description: >- - Test if Datastore configuration is correct. This includes checking if - credentials provided by customer have required permissions in target - destination storage - operationId: apigee.organizations.analytics.datastores.test - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Datastore' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1TestDatastoreResponse' - parameters: - in: path - name: organizationsId + name: entriesId required: true schema: type: string - /v1/organizations/{organizationsId}/envgroups/{envgroupsId}/attachments/{attachmentsId}: - parameters: *ref_1 delete: - description: Deletes an environment group attachment. - operationId: apigee.organizations.envgroups.attachments.delete + description: >- + 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. + operationId: apigee.organizations.apis.keyvaluemaps.entries.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23870,7 +24237,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId @@ -23878,18 +24245,30 @@ paths: schema: type: string - in: path - name: envgroupsId + name: apisId required: true schema: type: string - in: path - name: attachmentsId + name: keyvaluemapsId required: true schema: type: string - get: - description: Gets an environment group attachment. - operationId: apigee.organizations.envgroups.attachments.get + - in: path + name: entriesId + required: true + schema: + type: string + put: + description: >- + Update key value entry scoped to an organization, environment, or API + proxy for an existing key. + operationId: apigee.organizations.apis.keyvaluemaps.entries.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23901,8 +24280,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1EnvironmentGroupAttachment + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId @@ -23910,20 +24288,28 @@ paths: schema: type: string - in: path - name: envgroupsId + name: apisId required: true schema: type: string - in: path - name: attachmentsId + name: keyvaluemapsId required: true schema: type: string - /v1/organizations/{organizationsId}/envgroups/{envgroupsId}/attachments: + - in: path + name: entriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}/entries: parameters: *ref_1 get: - description: Lists all attachments of an environment group. - operationId: apigee.organizations.envgroups.attachments.list + description: >- + 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. + operationId: apigee.organizations.apis.keyvaluemaps.entries.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23936,7 +24322,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse + #/components/schemas/GoogleCloudApigeeV1ListKeyValueEntriesResponse parameters: - in: path name: organizationsId @@ -23944,12 +24330,13 @@ paths: schema: type: string - in: path - name: envgroupsId + name: apisId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: keyvaluemapsId + required: true schema: type: string - in: query @@ -23957,15 +24344,21 @@ paths: schema: type: integer format: int32 + - in: query + name: pageToken + schema: + type: string post: - description: Creates a new attachment of an environment to an environment group. - operationId: apigee.organizations.envgroups.attachments.create + description: >- + Creates key value entries in a key value map scoped to an organization, + environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x + and higher. + operationId: apigee.organizations.apis.keyvaluemaps.entries.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1EnvironmentGroupAttachment + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -23977,7 +24370,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId @@ -23985,15 +24378,20 @@ paths: schema: type: string - in: path - name: envgroupsId + name: apisId required: true schema: type: string - /v1/organizations/{organizationsId}/envgroups: + - in: path + name: keyvaluemapsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}: parameters: *ref_1 - get: - description: Lists all environment groups. - operationId: apigee.organizations.envgroups.list + delete: + description: Deletes a key value map from an API proxy. + operationId: apigee.organizations.apis.keyvaluemaps.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24005,31 +24403,33 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListEnvironmentGroupsResponse + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: pageSize + - in: path + name: apisId + required: true schema: - type: integer - format: int32 - - in: query - name: pageToken + type: string + - in: path + name: keyvaluemapsId + required: true schema: type: string + /v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps: + parameters: *ref_1 post: - description: Creates a new environment group. - operationId: apigee.organizations.envgroups.create + description: Creates a key value map in an API proxy. + operationId: apigee.organizations.apis.keyvaluemaps.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24041,22 +24441,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: name + - in: path + name: apisId + required: true schema: type: string - /v1/organizations/{organizationsId}/envgroups/{envgroupsId}: + /v1/organizations/{organizationsId}/apis/{apisId}/deployments: parameters: *ref_1 - delete: - description: Deletes an environment group. - operationId: apigee.organizations.envgroups.delete + get: + description: Lists all deployments of an API proxy. + operationId: apigee.organizations.apis.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24068,7 +24469,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse parameters: - in: path name: organizationsId @@ -24076,18 +24478,21 @@ paths: schema: type: string - in: path - name: envgroupsId + name: apisId required: true schema: type: string - patch: - description: Updates an environment group. - operationId: apigee.organizations.envgroups.patch + /v1/organizations/{organizationsId}/securityAssessmentResults:batchCompute: + parameters: *ref_1 + post: + description: Compute RAV2 security scores for a set of resources. + operationId: apigee.organizations.securityAssessmentResults.batchCompute requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24099,26 +24504,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: envgroupsId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Gets an environment group. - operationId: apigee.organizations.envgroups.get + /v1/organizations/{organizationsId}/hostQueries: + parameters: *ref_1 + post: + description: >- + 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. + operationId: apigee.organizations.hostQueries.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudApigeeV1Query' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24130,23 +24537,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroup' + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: envgroupsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/envgroups/{envgroupsId}/deployedIngressConfig: - parameters: *ref_1 get: - description: Gets the deployed ingress configuration for an environment group. - operationId: apigee.organizations.envgroups.getDeployedIngressConfig + description: Return a list of Asynchronous Queries at host level. + operationId: apigee.organizations.hostQueries.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24158,58 +24558,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1EnvironmentGroupConfig' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListAsyncQueriesResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: envgroupsId - required: true + - in: query + name: submittedBy schema: type: string - in: query - name: view + name: status schema: type: string - /v1/organizations/{organizationsId}:getProjectMapping: - parameters: *ref_1 - get: - description: Gets the project ID and region for an Apigee organization. - operationId: apigee.organizations.getProjectMapping - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1OrganizationProjectMapping - parameters: - - in: path - name: organizationsId - required: true + - in: query + name: envgroupHostname schema: type: string - /v1/organizations/{organizationsId}/securitySettings: + - in: query + name: from + schema: + type: string + - in: query + name: dataset + schema: + type: string + - in: query + name: inclQueriesWithoutReport + schema: + type: string + - in: query + name: to + schema: + type: string + /v1/organizations/{organizationsId}/hostQueries/{hostQueriesId}/resultView: parameters: *ref_1 - patch: - description: >- - UpdateSecuritySettings updates the current security settings for API - Security. - operationId: apigee.organizations.updateSecuritySettings - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecuritySettings' + get: + description: '' + operationId: apigee.organizations.hostQueries.getResultView security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24221,21 +24610,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecuritySettings' + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQueryResultView' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: hostQueriesId + required: true schema: type: string - format: google-fieldmask + /v1/organizations/{organizationsId}/hostQueries/{hostQueriesId}: + parameters: *ref_1 get: - description: GetSecuritySettings gets the security settings for API Security. - operationId: apigee.organizations.getSecuritySettings + description: >- + 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" + operationId: apigee.organizations.hostQueries.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24247,20 +24641,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SecuritySettings' + $ref: '#/components/schemas/GoogleCloudApigeeV1AsyncQuery' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}: + - in: path + name: hostQueriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/hostQueries/{hostQueriesId}/result: parameters: *ref_1 get: description: >- - Gets the profile for an Apigee organization. See [Understanding - organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure). - operationId: apigee.organizations.get + 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` + operationId: apigee.organizations.hostQueries.getResult security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24272,26 +24674,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + $ref: '#/components/schemas/GoogleApiHttpBody' parameters: - in: path name: organizationsId required: true schema: type: string + - in: path + name: hostQueriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}: + parameters: *ref_1 delete: - description: >- - 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`.** - operationId: apigee.organizations.delete + description: Deletes a key value map from an organization. + operationId: apigee.organizations.keyvaluemaps.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24303,27 +24702,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: retention + - in: path + name: keyvaluemapsId + required: true schema: type: string - put: - description: >- - Updates the properties for an Apigee organization. No other fields in - the organization profile will be updated. - operationId: apigee.organizations.update + /v1/organizations/{organizationsId}/keyvaluemaps: + parameters: *ref_1 + post: + description: Creates a key value map in an organization. + operationId: apigee.organizations.keyvaluemaps.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24335,25 +24735,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueMap' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations: + /v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}/entries: parameters: *ref_1 post: description: >- - Creates an Apigee organization. See [Create an Apigee - organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). - operationId: apigee.organizations.create + Creates key value entries in a key value map scoped to an organization, + environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x + and higher. + operationId: apigee.organizations.keyvaluemaps.entries.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1Organization' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24365,18 +24766,24 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - - in: query - name: parent + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: keyvaluemapsId + required: true schema: type: string get: description: >- - 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). - operationId: apigee.organizations.list + 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. + operationId: apigee.organizations.keyvaluemaps.entries.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24389,58 +24796,39 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudApigeeV1ListOrganizationsResponse - parameters: [] - /v1/organizations/{organizationsId}:setAddons: - parameters: *ref_1 - post: - description: >- - Configures the add-ons for the Apigee organization. The existing add-on - configuration will be fully replaced. - operationId: apigee.organizations.setAddons - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SetAddonsRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + #/components/schemas/GoogleCloudApigeeV1ListKeyValueEntriesResponse parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}:getSyncAuthorization: + - in: path + name: keyvaluemapsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}/entries/{entriesId}: parameters: *ref_1 - post: + put: description: >- - 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. - operationId: apigee.organizations.getSyncAuthorization + Update key value entry scoped to an organization, environment, or API + proxy for an existing key. + operationId: apigee.organizations.keyvaluemaps.entries.update requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudApigeeV1GetSyncAuthorizationRequest + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24452,18 +24840,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SyncAuthorization' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}/deployedIngressConfig: - parameters: *ref_1 - get: - description: Gets the deployed ingress configuration for an organization. - operationId: apigee.organizations.getDeployedIngressConfig + - in: path + name: keyvaluemapsId + required: true + schema: + type: string + - in: path + name: entriesId + required: true + schema: + type: string + delete: + description: >- + 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. + operationId: apigee.organizations.keyvaluemaps.entries.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24475,22 +24876,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1IngressConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: view + - in: path + name: keyvaluemapsId + required: true + schema: + type: string + - in: path + name: entriesId + required: true schema: type: string - /v1/organizations/{organizationsId}/runtimeConfig: - parameters: *ref_1 get: - description: Get runtime config for an organization. - operationId: apigee.organizations.getRuntimeConfig + description: >- + Get the key value entry value for a key value map scoped to an + organization, environment, or API proxy. **Note**: Supported for Apigee + hybrid 1.8.x and higher. + operationId: apigee.organizations.keyvaluemaps.entries.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24502,34 +24910,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1RuntimeConfig' + $ref: '#/components/schemas/GoogleCloudApigeeV1KeyValueEntry' parameters: - in: path name: organizationsId required: true schema: type: string - /v1/organizations/{organizationsId}:setSyncAuthorization: + - in: path + name: keyvaluemapsId + required: true + schema: + type: string + - in: path + name: entriesId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/deployments: parameters: *ref_1 - post: - description: >- - 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. - operationId: apigee.organizations.setSyncAuthorization - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SyncAuthorization' + get: + description: Lists all deployments of API proxies or shared flows. + operationId: apigee.organizations.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -24541,13 +24943,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudApigeeV1SyncAuthorization' + $ref: >- + #/components/schemas/GoogleCloudApigeeV1ListDeploymentsResponse parameters: - in: path name: organizationsId required: true schema: type: string + - in: query + name: sharedFlows + schema: + type: boolean /v1/hybrid/issuers: parameters: *ref_1 get: diff --git a/providers/src/googleapis.com/v00.00.00000/services/apigeeregistry.yaml b/providers/src/googleapis.com/v00.00.00000/services/apigeeregistry.yaml index 3804e66f..907fc5d7 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/apigeeregistry.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/apigeeregistry.yaml @@ -8,7 +8,7 @@ info: description: '' version: v1 x-discovery-doc-revision: '20231204' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/apigee/docs/api-hub/what-is-api-hub servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/apikeys.yaml b/providers/src/googleapis.com/v00.00.00000/services/apikeys.yaml index 3d5007ba..1445d052 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/apikeys.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/apikeys.yaml @@ -7,8 +7,8 @@ info: title: API Keys API description: Manages the API keys associated with developer projects. version: v2 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/api-keys/docs servers: @@ -22,12 +22,12 @@ components: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: &ref_0 - 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. https://www.googleapis.com/auth/cloud-platform.read-only: >- View your data across Google Cloud services and see the email address of your Google Account + 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. Oauth2c: type: oauth2 description: Oauth 2.0 authorization code authentication @@ -37,33 +37,171 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: + V2BrowserKeyRestrictions: + id: V2BrowserKeyRestrictions + properties: + allowedReferrers: + items: + type: string + description: >- + A list of regular expressions for the referrer URLs that are allowed + to make API calls with this key. + type: array + type: object + description: The HTTP referrers (websites) that are allowed to use the key. + V2GetKeyStringResponse: + id: V2GetKeyStringResponse + description: Response message for `GetKeyString` method. + type: object + properties: + keyString: + description: An encrypted and signed value of the key. + type: string + V2ListKeysResponse: + description: Response message for `ListKeys` method. + type: object + properties: + nextPageToken: + description: The pagination token for the next page of results. + type: string + keys: + type: array + items: + $ref: '#/components/schemas/V2Key' + description: A list of API keys. + id: V2ListKeysResponse + V2Restrictions: + properties: + serverKeyRestrictions: + description: The IP addresses of callers that are allowed to use the key. + $ref: '#/components/schemas/V2ServerKeyRestrictions' + browserKeyRestrictions: + $ref: '#/components/schemas/V2BrowserKeyRestrictions' + description: The HTTP referrers (websites) that are allowed to use the key. + androidKeyRestrictions: + $ref: '#/components/schemas/V2AndroidKeyRestrictions' + description: The Android apps that are allowed to use the key. + apiTargets: + type: array + description: >- + A restriction for a specific service and optionally one or more + specific methods. Requests are allowed if they match any of these + restrictions. If no restrictions are specified, all targets are + allowed. + items: + $ref: '#/components/schemas/V2ApiTarget' + iosKeyRestrictions: + $ref: '#/components/schemas/V2IosKeyRestrictions' + description: The iOS apps that are allowed to use the key. + type: object + id: V2Restrictions + description: Describes the restrictions on the key. + V2IosKeyRestrictions: + properties: + allowedBundleIds: + description: >- + A list of bundle IDs that are allowed when making API calls with + this key. + type: array + items: + type: string + id: V2IosKeyRestrictions + type: object + description: The iOS apps that are allowed to use the key. + Operation: + id: Operation + properties: + name: + type: string + description: >- + 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}`. + metadata: + type: object + description: >- + 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. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + error: + description: >- + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/Status' + response: + type: object + description: >- + 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`. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + done: + description: >- + 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. + type: boolean + type: object + description: >- + This resource represents a long-running operation that is the result of + a network API call. V2UndeleteKeyRequest: - properties: {} - description: Request message for `UndeleteKey` method. type: object id: V2UndeleteKeyRequest + description: Request message for `UndeleteKey` method. + properties: {} + V2ApiTarget: + properties: + service: + description: >- + The service for this restriction. It should be the canonical service + name, for example: `translate.googleapis.com`. You can use [`gcloud + services + list`](https://cloud.google.com/sdk/gcloud/reference/services/list) + to get a list of services that are enabled in the project. + type: string + methods: + items: + type: string + description: >- + Optional. List of one or more methods that can be called. If empty, + all methods for the service are allowed. A wildcard (*) can be used + as the last symbol. Valid examples: + `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` + `TranslateText` `Get*` `translate.googleapis.com.Get*` + type: array + type: object + description: >- + A restriction for a specific service and optionally one or multiple + specific methods. Both fields are case insensitive. + id: V2ApiTarget Status: id: Status - description: >- - 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). type: object properties: details: type: array - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object description: >- A list of messages that carry the error details. There is a common set of message types for APIs to use. + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. code: description: The status code, which should be an enum value of google.rpc.Code. format: int32 @@ -74,322 +212,177 @@ components: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. - V2GetKeyStringResponse: - type: object - id: V2GetKeyStringResponse - description: Response message for `GetKeyString` method. + description: >- + 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). + V2AndroidKeyRestrictions: + description: The Android apps that are allowed to use the key. + id: V2AndroidKeyRestrictions properties: - keyString: - type: string - description: An encrypted and signed value of the key. + allowedApplications: + description: >- + A list of Android applications that are allowed to make API calls + with this key. + type: array + items: + $ref: '#/components/schemas/V2AndroidApplication' + type: object V2Key: + description: The representation of a key managed by the API Keys API. + type: object properties: - restrictions: - description: Key restrictions. - $ref: '#/components/schemas/V2Restrictions' - deleteTime: - type: string + etag: readOnly: true - format: google-datetime + type: string description: >- - Output only. A timestamp when this key was deleted. If the resource - is not deleted, this must be empty. - createTime: + Output only. A checksum computed by the server based on the current + value of the Key resource. This may be sent on update and delete + requests to ensure the client has an up-to-date value before + proceeding. See https://google.aip.dev/154. + keyString: type: string readOnly: true description: >- - Output only. A timestamp identifying the time this key was - originally created. - format: google-datetime + Output only. An encrypted and signed value held by this key. This + field can be accessed only through the `GetKeyString` method. displayName: - type: string description: >- Human-readable display name of this key that you can modify. The maximum length is 63 characters. - updateTime: - description: >- - Output only. A timestamp identifying the time this key was last - updated. - format: google-datetime type: string - readOnly: true annotations: + type: object + additionalProperties: + type: string description: >- Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - type: object - additionalProperties: - type: string - name: - description: >- - Output only. The resource name of the key. The `name` has the form: - `projects//locations/global/keys/`. For example: - `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` - NOTE: Key is a global resource; hence the only supported value for - location is `global`. - readOnly: true - type: string - uid: - type: string - readOnly: true - description: Output only. Unique id in UUID4 format. - keyString: + createTime: + format: google-datetime type: string readOnly: true description: >- - Output only. An encrypted and signed value held by this key. This - field can be accessed only through the `GetKeyString` method. - etag: + Output only. A timestamp identifying the time this key was + originally created. + restrictions: + $ref: '#/components/schemas/V2Restrictions' + description: Key restrictions. + serviceAccountEmail: description: >- - Output only. A checksum computed by the server based on the current - value of the Key resource. This may be sent on update and delete - requests to ensure the client has an up-to-date value before - proceeding. See https://google.aip.dev/154. - readOnly: true - type: string - type: object - id: V2Key - description: The representation of a key managed by the API Keys API. - V2ListKeysResponse: - properties: - nextPageToken: + Optional. The email address of [the service + account](https://cloud.google.com/iam/docs/service-accounts) the key + is bound to. type: string - description: The pagination token for the next page of results. - keys: - items: - $ref: '#/components/schemas/V2Key' - description: A list of API keys. - type: array - id: V2ListKeysResponse - type: object - description: Response message for `ListKeys` method. - V2AndroidKeyRestrictions: - type: object - properties: - allowedApplications: - description: >- - A list of Android applications that are allowed to make API calls - with this key. - type: array - items: - $ref: '#/components/schemas/V2AndroidApplication' - description: The Android apps that are allowed to use the key. - id: V2AndroidKeyRestrictions - V2LookupKeyResponse: - description: Response message for `LookupKey` method. - properties: - parent: - description: >- - The project that owns the key with the value specified in the - request. + uid: + description: Output only. Unique id in UUID4 format. + readOnly: true type: string name: - type: string - description: >- - The resource name of the API key. If the API key has been purged, - resource name is empty. - id: V2LookupKeyResponse - type: object - V2AndroidApplication: - properties: - sha1Fingerprint: + readOnly: true description: >- - The SHA1 fingerprint of the application. For example, both sha1 - formats are acceptable : - DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or - DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the - latter. + Output only. The resource name of the key. The `name` has the form: + `projects//locations/global/keys/`. For example: + `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` + NOTE: Key is a global resource; hence the only supported value for + location is `global`. type: string - packageName: + deleteTime: type: string - description: The package name of the application. - type: object - description: Identifier of an Android application for key use. - id: V2AndroidApplication - V2ServerKeyRestrictions: - description: The IP addresses of callers that are allowed to use the key. - id: V2ServerKeyRestrictions - type: object - properties: - allowedIps: - type: array - items: - type: string description: >- - A list of the caller IP addresses that are allowed to make API calls - with this key. - V2BrowserKeyRestrictions: - id: V2BrowserKeyRestrictions - description: The HTTP referrers (websites) that are allowed to use the key. - properties: - allowedReferrers: - description: >- - A list of regular expressions for the referrer URLs that are allowed - to make API calls with this key. - items: - type: string - type: array - type: object - V2Restrictions: - id: V2Restrictions - description: Describes the restrictions on the key. - properties: - serverKeyRestrictions: - $ref: '#/components/schemas/V2ServerKeyRestrictions' - description: The IP addresses of callers that are allowed to use the key. - browserKeyRestrictions: - description: The HTTP referrers (websites) that are allowed to use the key. - $ref: '#/components/schemas/V2BrowserKeyRestrictions' - androidKeyRestrictions: - $ref: '#/components/schemas/V2AndroidKeyRestrictions' - description: The Android apps that are allowed to use the key. - iosKeyRestrictions: - $ref: '#/components/schemas/V2IosKeyRestrictions' - description: The iOS apps that are allowed to use the key. - apiTargets: - type: array + Output only. A timestamp when this key was deleted. If the resource + is not deleted, this must be empty. + readOnly: true + format: google-datetime + updateTime: + readOnly: true description: >- - A restriction for a specific service and optionally one or more - specific methods. Requests are allowed if they match any of these - restrictions. If no restrictions are specified, all targets are - allowed. - items: - $ref: '#/components/schemas/V2ApiTarget' - type: object - V2IosKeyRestrictions: - id: V2IosKeyRestrictions - type: object + Output only. A timestamp identifying the time this key was last + updated. + type: string + format: google-datetime + id: V2Key + V2ServerKeyRestrictions: + id: V2ServerKeyRestrictions properties: - allowedBundleIds: + allowedIps: + description: >- + A list of the caller IP addresses that are allowed to make API calls + with this key. type: array items: type: string - description: >- - A list of bundle IDs that are allowed when making API calls with - this key. - description: The iOS apps that are allowed to use the key. - Operation: - id: Operation + type: object + description: The IP addresses of callers that are allowed to use the key. + V2LookupKeyResponse: + id: V2LookupKeyResponse + type: object + description: Response message for `LookupKey` method. properties: name: - description: >- - 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}`. type: string - response: - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any description: >- - 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`. - done: - description: >- - 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. - type: boolean - error: - $ref: '#/components/schemas/Status' - description: >- - The error result of the operation in case of failure or - cancellation. - metadata: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object + The resource name of the API key. If the API key has been purged, + resource name is empty. + parent: + type: string description: >- - 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. - description: >- - This resource represents a long-running operation that is the result of - a network API call. - type: object - V2ApiTarget: + The project that owns the key with the value specified in the + request. + V2AndroidApplication: + id: V2AndroidApplication properties: - methods: - items: - type: string - description: >- - Optional. List of one or more methods that can be called. If empty, - all methods for the service are allowed. A wildcard (*) can be used - as the last symbol. Valid examples: - `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` - `TranslateText` `Get*` `translate.googleapis.com.Get*` - type: array - service: + packageName: + description: The package name of the application. + type: string + sha1Fingerprint: description: >- - The service for this restriction. It should be the canonical service - name, for example: `translate.googleapis.com`. You can use [`gcloud - services - list`](https://cloud.google.com/sdk/gcloud/reference/services/list) - to get a list of services that are enabled in the project. + The SHA1 fingerprint of the application. For example, both sha1 + formats are acceptable : + DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or + DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the + latter. type: string - description: >- - A restriction for a specific service and optionally one or multiple - specific methods. Both fields are case insensitive. - id: V2ApiTarget type: object + description: Identifier of an Android application for key use. parameters: - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + _.xgafv: + description: V1 error format. in: query - name: quotaUser + name: $.xgafv schema: type: string - alt: - description: Data format for response. + enum: + - '1' + - '2' + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: alt + name: uploadType schema: type: string - enum: - - json - - media - - proto - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: key + name: oauth_token schema: type: string - callback: - description: JSONP + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: callback + name: upload_protocol schema: type: string access_token: @@ -398,60 +391,93 @@ components: name: access_token schema: type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - _.xgafv: - description: V1 error format. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: $.xgafv + name: quotaUser schema: type: string - enum: - - '1' - - '2' - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: upload_protocol + name: key schema: type: string x-stackQL-resources: + keys_key_string: + id: google.apikeys.keys_key_string + name: keys_key_string + title: Keys_key_string + methods: + get_key_string: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}~1keyString/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/keys_key_string/methods/get_key_string + insert: [] + update: [] + replace: [] + delete: [] keys: id: google.apikeys.keys name: keys title: Keys methods: - lookup_key: + get: operation: - $ref: '#/paths/~1v2~1keys:lookupKey/get' + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}/get response: mediaType: application/json openAPIDocKey: '200' - create: + patch: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}/patch response: mediaType: application/json openAPIDocKey: '200' - list: + delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.keys undelete: operation: $ref: >- @@ -459,24 +485,24 @@ components: response: mediaType: application/json openAPIDocKey: '200' - get: + create: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys/post response: mediaType: application/json openAPIDocKey: '200' - delete: + list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys/get response: mediaType: application/json openAPIDocKey: '200' - patch: + objectKey: $.keys + lookup_key: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}/patch + $ref: '#/paths/~1v2~1keys:lookupKey/get' response: mediaType: application/json openAPIDocKey: '200' @@ -496,60 +522,38 @@ components: name: operations title: Operations methods: - get: - operation: - $ref: '#/paths/~1v2~1operations~1{operationsId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - insert: [] - update: [] - replace: [] - delete: [] - keys_key_string: - id: google.apikeys.keys_key_string - name: keys_key_string - title: Keys_key_string - methods: - get_key_string: + get: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1keys~1{keysId}~1keyString/get + $ref: '#/paths/~1v2~1operations~1{operationsId}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/keys_key_string/methods/get_key_string + - $ref: '#/components/x-stackQL-resources/operations/methods/get' insert: [] update: [] replace: [] delete: [] paths: - /v2/keys:lookupKey: + /v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}/keyString: parameters: &ref_1 - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/key' get: description: >- - 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. - operationId: apikeys.keys.lookupKey + Get the key string for an API key. NOTE: Key is a global resource; hence + the only supported value for location is `global`. + operationId: apikeys.projects.locations.keys.getKeyString security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -565,49 +569,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/V2LookupKeyResponse' + $ref: '#/components/schemas/V2GetKeyStringResponse' parameters: - - in: query - name: keyString + - in: path + name: projectsId + required: true schema: type: string - /v2/operations/{operationsId}: - parameters: *ref_1 - get: - description: >- - 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. - operationId: apikeys.operations.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - in: path - name: operationsId + name: locationsId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}/keyString: + - in: path + name: keysId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}: parameters: *ref_1 get: description: >- - Get the key string for an API key. NOTE: Key is a global resource; hence - the only supported value for location is `global`. - operationId: apikeys.projects.locations.keys.getKeyString + Gets the metadata for 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`. + operationId: apikeys.projects.locations.keys.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -623,7 +609,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/V2GetKeyStringResponse' + $ref: '#/components/schemas/V2Key' parameters: - in: path name: projectsId @@ -640,13 +626,12 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/keys: - parameters: *ref_1 - post: + patch: description: >- - Creates a new API key. NOTE: Key is a global resource; hence the only - supported value for location is `global`. - operationId: apikeys.projects.locations.keys.create + 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`. + operationId: apikeys.projects.locations.keys.patch requestBody: content: application/json: @@ -675,32 +660,35 @@ paths: required: true schema: type: string + - in: path + name: keysId + required: true + schema: + type: string - in: query - name: keyId + name: updateMask schema: type: string - get: + format: google-fieldmask + delete: description: >- - 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`. - operationId: apikeys.projects.locations.keys.list + 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`. + operationId: apikeys.projects.locations.keys.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/V2ListKeysResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -712,19 +700,15 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: keysId + required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: showDeleted + name: etag schema: - type: boolean + type: string /v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}:undelete: parameters: *ref_1 post: @@ -766,30 +750,30 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}: + /v2/projects/{projectsId}/locations/{locationsId}/keys: parameters: *ref_1 - get: + post: description: >- - Gets the metadata for 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 + Creates a new API key. NOTE: Key is a global resource; hence the only supported value for location is `global`. - operationId: apikeys.projects.locations.keys.get + operationId: apikeys.projects.locations.keys.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/V2Key' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/V2Key' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -801,30 +785,32 @@ paths: required: true schema: type: string - - in: path - name: keysId - required: true + - in: query + name: keyId schema: type: string - delete: + get: description: >- - 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`. - operationId: apikeys.projects.locations.keys.delete + 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`. + operationId: apikeys.projects.locations.keys.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/V2ListKeysResponse' parameters: - in: path name: projectsId @@ -836,56 +822,76 @@ paths: required: true schema: type: string - - in: path - name: keysId - required: true + - in: query + name: showDeleted schema: - type: string + type: boolean - in: query - name: etag + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - patch: + /v2/keys:lookupKey: + parameters: *ref_1 + get: description: >- - 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`. - operationId: apikeys.projects.locations.keys.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/V2Key' + 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. + operationId: apikeys.keys.lookupKey security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/V2LookupKeyResponse' parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true + - in: query + name: keyString schema: type: string + /v2/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: apikeys.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: - in: path - name: keysId + name: operationsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask diff --git a/providers/src/googleapis.com/v00.00.00000/services/apim.yaml b/providers/src/googleapis.com/v00.00.00000/services/apim.yaml index 1d613533..239eb48a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/apim.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/apim.yaml @@ -10,7 +10,7 @@ info: infrastructure. version: v1alpha x-discovery-doc-revision: '20240731' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/apigee/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/appengine.yaml b/providers/src/googleapis.com/v00.00.00000/services/appengine.yaml index bd2d4cab..639e4927 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/appengine.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/appengine.yaml @@ -7,8 +7,8 @@ info: title: App Engine Admin API description: Provisions and manages developers' App Engine applications. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/appengine/docs/admin-api/ servers: @@ -3193,7 +3193,7 @@ components: delete: operation: $ref: >- - #/paths/~1v1~1apps~1{appsId}~1services~1{servicesId}~1versions~1{versionsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1applications~1{applicationsId}~1services~1{servicesId}~1versions~1{versionsId}/delete response: mediaType: application/json openAPIDocKey: '200' @@ -4979,6 +4979,49 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}: + parameters: *ref_1 + delete: + description: Deletes an existing Version resource. + operationId: appengine.projects.locations.applications.services.versions.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string + - in: path + name: servicesId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains: parameters: *ref_1 get: diff --git a/providers/src/googleapis.com/v00.00.00000/services/apphub.yaml b/providers/src/googleapis.com/v00.00.00000/services/apphub.yaml index ddbbdf73..65487d92 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/apphub.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/apphub.yaml @@ -7,8 +7,8 @@ info: title: App Hub API description: '' version: v1 - x-discovery-doc-revision: '20240814' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241008' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/app-hub/docs/ servers: @@ -167,13 +167,13 @@ components: name: description: >- Identifier. The resource name of a ServiceProjectAttachment. Format: - "projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}." + `"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}."` type: string serviceProject: description: >- 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 + `"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. type: string createTime: @@ -253,7 +253,7 @@ components: DiscoveredService: id: DiscoveredService description: >- - DiscoveredService is a network/api interface that exposes some + DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service. type: object @@ -261,7 +261,7 @@ components: name: description: >- Identifier. The resource name of the discovered service. Format: - "projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"" + `"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"` type: string serviceReference: description: >- @@ -284,8 +284,8 @@ components: properties: uri: description: >- - Output only. The underlying resource URI (For example, URI of - Forwarding Rule, URL Map, and Backend Service). + Output only. The underlying resource URI. For example, URI of + Forwarding Rule, URL Map, and Backend Service. readOnly: true type: string ServiceProperties: @@ -341,14 +341,14 @@ components: id: Service description: >- Service is an App Hub data model that contains a discovered service, - which represents a network/api interface that exposes some functionality - to clients for consumption over the network. + which represents a network or API interface that exposes some + functionality to clients for consumption over the network. type: object properties: name: description: >- Identifier. The resource name of a Service. Format: - "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` type: string displayName: description: >- @@ -523,7 +523,7 @@ components: name: description: >- Identifier. The resource name of the discovered workload. Format: - "projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}" + `"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}"` type: string workloadReference: description: >- @@ -556,19 +556,19 @@ components: gcpProject: description: >- Output only. The service project identifier that the underlying - cloud resource resides in. Empty for non cloud resources. + cloud resource resides in. Empty for non-cloud resources. readOnly: true type: string location: description: >- Output only. The location that the underlying compute resource - resides in (e.g us-west1). + resides in (for example, us-west1). readOnly: true type: string zone: description: >- Output only. The location that the underlying compute resource - resides in if it is zonal (e.g us-west1-a). + resides in if it is zonal (for example, us-west1-a). readOnly: true type: string LookupDiscoveredWorkloadResponse: @@ -609,7 +609,7 @@ components: name: description: >- Identifier. The resource name of the Workload. Format: - "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` type: string displayName: description: >- @@ -694,7 +694,7 @@ components: Application: id: Application description: >- - Application defines the governance boundary for App Hub Entities that + Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements. type: object @@ -702,7 +702,7 @@ components: name: description: >- Identifier. The resource name of an Application. Format: - "projects/{host-project-id}/locations/{location}/applications/{application-id}" + `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` type: string displayName: description: >- @@ -763,9 +763,11 @@ components: enumDescriptions: - Unspecified type. - Regional type. + - Global type. enum: - TYPE_UNSPECIFIED - REGIONAL + - GLOBAL ListLocationsResponse: id: ListLocationsResponse description: The response message for Locations.ListLocations. @@ -1221,6 +1223,327 @@ components: description: Output only. API version used to start the operation. readOnly: true type: string + AssetLocation: + id: AssetLocation + description: >- + Provides the mapping of a cloud asset to a direct physical location or + to a proxy that defines the location on its behalf. + type: object + properties: + expected: + description: >- + Defines the customer expectation around ZI/ZS for this asset and + ZI/ZS state of the region at the time of asset creation. + $ref: '#/components/schemas/IsolationExpectations' + locationData: + description: Contains all kinds of physical location definitions for this asset. + type: array + items: + $ref: '#/components/schemas/LocationData' + parentAsset: + description: >- + Defines parents assets if any in order to allow later generation of + child_asset_location data via child assets. + type: array + items: + $ref: '#/components/schemas/CloudAsset' + extraParameters: + description: Defines extra parameters required for specific asset types. + type: array + items: + $ref: '#/components/schemas/ExtraParameter' + ccfeRmsPath: + description: >- + Spanner path of the CCFE RMS database. It is only applicable for + CCFE tenants that use CCFE RMS for storing resource metadata. + type: string + IsolationExpectations: + id: IsolationExpectations + type: object + properties: + zoneIsolation: + description: >- + Deprecated: use zi_org_policy, zi_region_policy and zi_region_state + instead for setting ZI expectations as per + go/zicy-publish-physical-location. + deprecated: true + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_UNSPECIFIED + - ZI_UNKNOWN + - ZI_NOT_REQUIRED + - ZI_PREFERRED + - ZI_REQUIRED + zoneSeparation: + description: >- + Deprecated: use zs_org_policy, and zs_region_stateinstead for + setting Zs expectations as per go/zicy-publish-physical-location. + deprecated: true + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZS_UNSPECIFIED + - ZS_UNKNOWN + - ZS_NOT_REQUIRED + - ZS_REQUIRED + zsOrgPolicy: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZS_UNSPECIFIED + - ZS_UNKNOWN + - ZS_NOT_REQUIRED + - ZS_REQUIRED + zsRegionState: + type: string + enumDescriptions: + - '' + - To be used if tracking of the asset ZS-bit is not available + - '' + - '' + enum: + - ZS_REGION_UNSPECIFIED + - ZS_REGION_UNKNOWN + - ZS_REGION_NOT_ENABLED + - ZS_REGION_ENABLED + ziOrgPolicy: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_UNSPECIFIED + - ZI_UNKNOWN + - ZI_NOT_REQUIRED + - ZI_PREFERRED + - ZI_REQUIRED + ziRegionPolicy: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_REGION_POLICY_UNSPECIFIED + - ZI_REGION_POLICY_UNKNOWN + - ZI_REGION_POLICY_NOT_SET + - ZI_REGION_POLICY_FAIL_OPEN + - ZI_REGION_POLICY_FAIL_CLOSED + ziRegionState: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZI_REGION_UNSPECIFIED + - ZI_REGION_UNKNOWN + - ZI_REGION_NOT_ENABLED + - ZI_REGION_ENABLED + requirementOverride: + description: >- + Explicit overrides for ZI and ZS requirements to be used for + resources that should be excluded from ZI/ZS verification logic. + $ref: '#/components/schemas/RequirementOverride' + RequirementOverride: + id: RequirementOverride + type: object + properties: + ziOverride: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_UNSPECIFIED + - ZI_UNKNOWN + - ZI_NOT_REQUIRED + - ZI_PREFERRED + - ZI_REQUIRED + zsOverride: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZS_UNSPECIFIED + - ZS_UNKNOWN + - ZS_NOT_REQUIRED + - ZS_REQUIRED + LocationData: + id: LocationData + type: object + properties: + directLocation: + $ref: '#/components/schemas/DirectLocationAssignment' + spannerLocation: + $ref: '#/components/schemas/SpannerLocation' + childAssetLocation: + $ref: '#/components/schemas/CloudAssetComposition' + gcpProjectProxy: + $ref: '#/components/schemas/TenantProjectProxy' + blobstoreLocation: + $ref: '#/components/schemas/BlobstoreLocation' + placerLocation: + $ref: '#/components/schemas/PlacerLocation' + DirectLocationAssignment: + id: DirectLocationAssignment + type: object + properties: + location: + type: array + items: + $ref: '#/components/schemas/LocationAssignment' + LocationAssignment: + id: LocationAssignment + type: object + properties: + location: + type: string + locationType: + type: string + enumDescriptions: + - '' + - '1-10: Physical failure domains.' + - '' + - '11-20: Logical failure domains.' + - '' + - '' + - '' + - '' + - '' + enum: + - UNSPECIFIED + - CLUSTER + - POP + - CLOUD_ZONE + - CLOUD_REGION + - MULTI_REGION_GEO + - MULTI_REGION_JURISDICTION + - GLOBAL + - OTHER + SpannerLocation: + id: SpannerLocation + type: object + properties: + dbName: + description: Set of databases used by the resource in format /span// + type: array + items: + type: string + backupName: + description: >- + Set of backups used by the resource with name in the same format as + what is available at http://table/spanner_automon.backup_metadata + type: array + items: + type: string + CloudAssetComposition: + id: CloudAssetComposition + type: object + properties: + childAsset: + type: array + items: + $ref: '#/components/schemas/CloudAsset' + CloudAsset: + id: CloudAsset + type: object + properties: + assetType: + type: string + assetName: + type: string + TenantProjectProxy: + id: TenantProjectProxy + type: object + properties: + projectNumbers: + type: array + items: + type: string + BlobstoreLocation: + id: BlobstoreLocation + description: >- + Policy ID that identified data placement in Blobstore as per + go/blobstore-user-guide#data-metadata-placement-and-failure-domains + type: object + properties: + policyId: + type: array + items: + type: string + PlacerLocation: + id: PlacerLocation + description: >- + Message describing that the location of the customer resource is tied to + placer allocations + type: object + properties: + placerConfig: + description: >- + Directory with a config related to it in placer (e.g. + "/placer/prod/home/my-root/my-dir") + type: string + ExtraParameter: + id: ExtraParameter + description: Defines parameters that should only be used for specific asset types. + type: object + properties: + regionalMigDistributionPolicy: + description: >- + Details about zones used by regional + compute.googleapis.com/InstanceGroupManager to create instances. + $ref: '#/components/schemas/RegionalMigDistributionPolicy' + RegionalMigDistributionPolicy: + id: RegionalMigDistributionPolicy + description: >- + To be used for specifying the intended distribution of regional + compute.googleapis.com/InstanceGroupManager instances + type: object + properties: + zones: + description: Cloud zones used by regional MIG to create instances. + type: array + items: + $ref: '#/components/schemas/ZoneConfiguration' + targetShape: + description: >- + The shape in which the group converges around distribution of + resources. Instance of proto2 enum + type: integer + format: int32 + ZoneConfiguration: + id: ZoneConfiguration + type: object + properties: + zone: + type: string parameters: access_token: description: OAuth access token. diff --git a/providers/src/googleapis.com/v00.00.00000/services/artifactregistry.yaml b/providers/src/googleapis.com/v00.00.00000/services/artifactregistry.yaml index 16cc5d94..b5f49727 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/artifactregistry.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/artifactregistry.yaml @@ -9,8 +9,8 @@ info: Store and manage build artifacts in a scalable and integrated service built on Google infrastructure. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/artifacts/docs/ servers: @@ -679,6 +679,11 @@ components: Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. type: boolean + vulnerabilityScanningConfig: + description: >- + Optional. Config and state for vulnerability scanning of resources + within this Repository. + $ref: '#/components/schemas/VulnerabilityScanningConfig' disallowUnspecifiedMode: description: >- Optional. If this is true, an unspecified repo type will be treated @@ -788,9 +793,8 @@ components: $ref: '#/components/schemas/YumRepository' commonRepository: description: >- - Common remote repository settings. Used as the RR upstream URL - instead of Predefined and Custom remote repositories. UI and Gcloud - will map all the new remote repositories to this field. + Common remote repository settings. Used as the remote repository + upstream URL. $ref: '#/components/schemas/CommonRemoteRepository' description: description: The description of the remote source. @@ -1044,7 +1048,7 @@ components: type: object properties: uri: - description: Required. A common public repository base for Remote Repository. + description: Required. A common public repository base for remote repository. type: string UpstreamCredentials: id: UpstreamCredentials @@ -1155,6 +1159,53 @@ components: description: Minimum number of versions to keep. type: integer format: int32 + VulnerabilityScanningConfig: + id: VulnerabilityScanningConfig + description: >- + Config on whether to perform vulnerability scanning for resources in + this repository, as well as output fields describing current state. + type: object + properties: + enablementConfig: + description: >- + Optional. Config for whether this repository has vulnerability + scanning disabled. + type: string + enumDescriptions: + - Not set. This will be treated as INHERITED. + - Scanning is Enabled, but dependent on API enablement. + - >- + No automatic vulnerability scanning will be performed for this + repository. + enum: + - ENABLEMENT_CONFIG_UNSPECIFIED + - INHERITED + - DISABLED + lastEnableTime: + description: Output only. The last time this repository config was enabled. + readOnly: true + type: string + format: google-datetime + enablementState: + description: >- + Output only. State of feature enablement, combining repository + enablement config and API enablement state. + readOnly: true + type: string + enumDescriptions: + - Enablement state is unclear. + - Repository does not support vulnerability scanning. + - Vulnerability scanning is disabled for this repository. + - Vulnerability scanning is active for this repository. + enum: + - ENABLEMENT_STATE_UNSPECIFIED + - SCANNING_UNSUPPORTED + - SCANNING_DISABLED + - SCANNING_ACTIVE + enablementStateReason: + description: Output only. Reason for the repository state. + readOnly: true + type: string ListPackagesResponse: id: ListPackagesResponse description: The response from listing packages. @@ -1225,7 +1276,7 @@ components: name: description: >- The name of the version, for example: - "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1". + `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1`. If the package or version ID parts contain slashes, the slashes are escaped. type: string @@ -1258,6 +1309,11 @@ components: additionalProperties: type: any description: Properties of the object. + annotations: + description: Optional. Client specified annotations. + type: object + additionalProperties: + type: string Tag: id: Tag description: >- @@ -1276,7 +1332,7 @@ components: version: description: >- The name of the version the tag refers to, for example: - "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" + `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. type: string @@ -1354,6 +1410,11 @@ components: readOnly: true type: string format: google-datetime + annotations: + description: Optional. Client specified annotations. + type: object + additionalProperties: + type: string Hash: id: Hash description: A hash of file content. @@ -1379,6 +1440,24 @@ components: description: The response to download a file. type: object properties: {} + UploadFileRequest: + id: UploadFileRequest + description: The request to upload a file. + type: object + properties: + fileId: + description: >- + Optional. The ID of the file. If left empty will default to sha256 + digest of the content uploaded. + type: string + UploadFileMediaResponse: + id: UploadFileMediaResponse + description: The response to upload a generic artifact. + type: object + properties: + operation: + description: Operation that will be returned to the user. + $ref: '#/components/schemas/Operation' ListTagsResponse: id: ListTagsResponse description: The response from listing tags. @@ -1403,6 +1482,106 @@ components: { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type: object properties: {} + GoogleDevtoolsArtifactregistryV1Rule: + id: GoogleDevtoolsArtifactregistryV1Rule + description: >- + A rule defines the deny or allow action of the operation it applies to + and the conditions required for the rule to apply. You can set one rule + for an entire repository and one rule for each package within. + type: object + properties: + name: + description: >- + The name of the rule, for example: + `projects/p1/locations/us-central1/repositories/repo1/rules/rule1`. + type: string + action: + description: The action this rule takes. + type: string + enumDescriptions: + - Action not specified. + - Allow the operation. + - Deny the operation. + enum: + - ACTION_UNSPECIFIED + - ALLOW + - DENY + operation: + type: string + enumDescriptions: + - Operation not specified. + - Download operation. + enum: + - OPERATION_UNSPECIFIED + - DOWNLOAD + condition: + description: >- + Optional. A CEL expression for conditions that must be met in order + for the rule to apply. If not provided, the rule matches all + objects. + $ref: '#/components/schemas/Expr' + packageId: + description: >- + The package ID the rule applies to. If empty, this rule applies to + all packages inside the repository. + type: string + Expr: + id: Expr + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + type: object + properties: + expression: + description: >- + Textual representation of an expression in Common Expression + Language syntax. + type: string + title: + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + type: string + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. + type: string + location: + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + type: string + ListRulesResponse: + id: ListRulesResponse + description: The response from listing rules. + type: object + properties: + rules: + description: The rules returned. + type: array + items: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1Rule' + nextPageToken: + description: >- + The token to retrieve the next page of rules, or empty if there are + no more rules to return. + type: string SetIamPolicyRequest: id: SetIamPolicyRequest description: Request message for `SetIamPolicy` method. @@ -1591,48 +1770,6 @@ components: their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). $ref: '#/components/schemas/Expr' - Expr: - id: Expr - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. - type: object - properties: - expression: - description: >- - Textual representation of an expression in Common Expression - Language syntax. - type: string - title: - description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - type: string - description: - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - type: string - location: - description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - type: string TestIamPermissionsRequest: id: TestIamPermissionsRequest description: Request message for `TestIamPermissions` method. @@ -1735,6 +1872,83 @@ components: - VPCSC_POLICY_UNSPECIFIED - DENY - ALLOW + ListAttachmentsResponse: + id: ListAttachmentsResponse + description: The response from listing attachments. + type: object + properties: + attachments: + description: The attachments returned. + type: array + items: + $ref: '#/components/schemas/Attachment' + nextPageToken: + description: >- + The token to retrieve the next page of attachments, or empty if + there are no more attachments to return. + type: string + Attachment: + id: Attachment + description: >- + An Attachment refers to additional metadata that can be attached to + artifacts in Artifact Registry. An attachment consists of one or more + files. + type: object + properties: + name: + description: >- + The name of the attachment. E.g. + `projects/p1/locations/us/repositories/repo/attachments/sbom`. + type: string + target: + description: >- + Required. The target the attachment is for, can be a Version, + Package or Repository. E.g. + `projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1`. + type: string + type: + description: Type of attachment. E.g. `application/vnd.spdx+json` + type: string + attachmentNamespace: + description: >- + The namespace this attachment belongs to. E.g. If an attachment is + created by artifact analysis, namespace is set to + `artifactanalysis.googleapis.com`. + type: string + annotations: + description: >- + Optional. User annotations. These attributes can only be set and + used by the user, and not by Artifact Registry. See + https://google.aip.dev/128#annotations for more details such as + format and size limitations. + type: object + additionalProperties: + type: string + createTime: + description: Output only. The time when the attachment was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The time when the attachment was last updated. + readOnly: true + type: string + format: google-datetime + files: + description: >- + Required. The files that belong to this attachment. If the file ID + part contains slashes, they are escaped. E.g. + `projects/p1/locations/us-central1/repositories/repo1/files/sha:`. + type: array + items: + type: string + ociVersionName: + description: >- + Output only. The name of the OCI version that this attachment + created. Only populated for Docker attachments. E.g. + `projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1`. + readOnly: true + type: string ListLocationsResponse: id: ListLocationsResponse description: The response message for Locations.ListLocations. @@ -2113,11 +2327,6 @@ components: type: array items: type: string - PromoteArtifactMetadata: - id: PromoteArtifactMetadata - description: The metadata for promote artifact long running operation. - type: object - properties: {} parameters: access_token: description: OAuth access token. @@ -2701,6 +2910,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1packages~1{packagesId}~1versions~1{versionsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' batch_delete: operation: $ref: >- @@ -2713,7 +2929,8 @@ components: - $ref: '#/components/x-stackQL-resources/versions/methods/get' - $ref: '#/components/x-stackQL-resources/versions/methods/list' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/versions/methods/patch' replace: [] delete: - $ref: '#/components/x-stackQL-resources/versions/methods/delete' @@ -2797,6 +3014,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1files~1{filesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' download: operation: $ref: >- @@ -2804,53 +3028,157 @@ components: response: mediaType: application/json openAPIDocKey: '200' + upload: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1files:upload/post + response: + mediaType: application/json + openAPIDocKey: '200' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/files/methods/get' - $ref: '#/components/x-stackQL-resources/files/methods/list' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/files/methods/patch' replace: [] delete: - $ref: '#/components/x-stackQL-resources/files/methods/delete' -paths: - /v1/projects/{projectsId}/projectSettings: - parameters: &ref_1 - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/_.xgafv' - get: - description: Retrieves the Settings for the Project. - operationId: artifactregistry.projects.getProjectSettings - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectSettings' - parameters: - - in: path - name: projectsId - required: true - schema: + rules: + id: google.artifactregistry.rules + name: rules + title: Rules + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1rules/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1rules/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.rules + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1rules~1{rulesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1rules~1{rulesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1rules~1{rulesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rules/methods/get' + - $ref: '#/components/x-stackQL-resources/rules/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/rules/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/rules/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/rules/methods/delete' + attachments: + id: google.artifactregistry.attachments + name: attachments + title: Attachments + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1attachments/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.attachments + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1attachments/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1attachments~1{attachmentsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1repositories~1{repositoriesId}~1attachments~1{attachmentsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/attachments/methods/get' + - $ref: '#/components/x-stackQL-resources/attachments/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/attachments/methods/create' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/attachments/methods/delete' +paths: + /v1/projects/{projectsId}/projectSettings: + parameters: &ref_1 + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' + get: + description: Retrieves the Settings for the Project. + operationId: artifactregistry.projects.getProjectSettings + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectSettings' + parameters: + - in: path + name: projectsId + required: true + schema: type: string patch: description: Updates the Settings for the Project. @@ -4460,6 +4788,57 @@ paths: name: force schema: type: boolean + patch: + description: Updates a version. + operationId: artifactregistry.projects.locations.repositories.packages.versions.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Version' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Version' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: packagesId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions:batchDelete: parameters: *ref_1 post: @@ -4880,6 +5259,52 @@ paths: required: true schema: type: string + patch: + description: Updates a file. + operationId: artifactregistry.projects.locations.repositories.files.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1File' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1File' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: filesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files/{filesId}:download: parameters: *ref_1 get: @@ -4922,3 +5347,427 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files:upload: + parameters: *ref_1 + post: + description: >- + Directly uploads a file to a repository. The returned Operation will + complete once the resources are uploaded. + operationId: artifactregistry.projects.locations.repositories.files.upload + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadFileRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/UploadFileMediaResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/rules: + parameters: *ref_1 + post: + description: Creates a rule. + operationId: artifactregistry.projects.locations.repositories.rules.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1Rule' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1Rule' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: query + name: ruleId + schema: + type: string + get: + description: Lists rules. + operationId: artifactregistry.projects.locations.repositories.rules.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListRulesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/rules/{rulesId}: + parameters: *ref_1 + get: + description: Gets a rule. + operationId: artifactregistry.projects.locations.repositories.rules.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1Rule' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: rulesId + required: true + schema: + type: string + patch: + description: Updates a rule. + operationId: artifactregistry.projects.locations.repositories.rules.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1Rule' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleDevtoolsArtifactregistryV1Rule' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: rulesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a rule. + operationId: artifactregistry.projects.locations.repositories.rules.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: rulesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/attachments: + parameters: *ref_1 + get: + description: Lists attachments. + operationId: artifactregistry.projects.locations.repositories.attachments.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListAttachmentsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: >- + Creates an attachment. The returned Operation will finish once the + attachment has been created. Its response will be the created + attachment. + operationId: artifactregistry.projects.locations.repositories.attachments.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Attachment' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: query + name: attachmentId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/attachments/{attachmentsId}: + parameters: *ref_1 + get: + description: Gets an attachment. + operationId: artifactregistry.projects.locations.repositories.attachments.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform.read-only + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform.read-only + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Attachment' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: attachmentsId + required: true + schema: + type: string + delete: + description: >- + Deletes an attachment. The returned Operation will finish once the + attachments has been deleted. It will not have any Operation metadata + and will return a `google.protobuf.Empty` response. + operationId: artifactregistry.projects.locations.repositories.attachments.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: path + name: attachmentsId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/assuredworkloads.yaml b/providers/src/googleapis.com/v00.00.00000/services/assuredworkloads.yaml index 45316bff..1c3dff25 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/assuredworkloads.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/assuredworkloads.yaml @@ -7,8 +7,8 @@ info: title: Assured Workloads API description: '' version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/learnmoreurl servers: @@ -34,53 +34,252 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudAssuredworkloadsV1AssetMoveAnalysis: - description: Represents move analysis results for an asset. - id: GoogleCloudAssuredworkloadsV1AssetMoveAnalysis + GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions: properties: - analysisGroups: - description: List of eligible analyses performed for the asset. - type: array + dataLogsViewer: + description: >- + Allow the partner to view inspectability logs and monitoring + violations. + type: boolean + serviceAccessApprover: + type: boolean + description: Optional. Allow partner to view access approval logs. + accessTransparencyLogsSupportCaseViewer: + type: boolean + description: Optional. Allow partner to view support case details for an AXT log + assuredWorkloadsMonitoring: + type: boolean + description: Optional. Allow partner to view violation alerts. + description: >- + Permissions granted to the AW Partner SA account for the customer + workload + type: object + id: GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions + GoogleCloudAssuredworkloadsV1EnableResourceMonitoringResponse: + properties: {} + id: GoogleCloudAssuredworkloadsV1EnableResourceMonitoringResponse + description: Response for EnableResourceMonitoring endpoint. + type: object + GoogleCloudAssuredworkloadsV1ListWorkloadsResponse: + id: GoogleCloudAssuredworkloadsV1ListWorkloadsResponse + type: object + description: Response of ListWorkloads endpoint. + properties: + nextPageToken: + type: string + description: The next page token. Return empty if reached the last page. + workloads: + description: List of Workloads under a given parent. items: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1MoveAnalysisGroup - asset: + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' + type: array + GoogleCloudAssuredworkloadsV1ViolationExceptionContext: + type: object + properties: + userName: type: string description: >- - The full resource name of the asset being analyzed. Example: - //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1 - assetType: + Name of the user (or service account) who acknowledged the + violation. + acknowledgementTime: + description: Timestamp when the violation was acknowledged. + format: google-datetime + type: string + comment: type: string description: >- - Type of the asset being analyzed. Possible values will be among the - ones listed - [here](https://cloud.google.com/asset-inventory/docs/supported-asset-types). + Business justification provided towards the acknowledgement of the + violation. + id: GoogleCloudAssuredworkloadsV1ViolationExceptionContext + description: Violation exception detail. + GoogleProtobufEmpty: type: object + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + properties: {} + id: GoogleProtobufEmpty GoogleCloudAssuredworkloadsV1MoveImpact: properties: detail: type: string description: Explanation of the impact. - description: Represents the impact of moving the asset to the target. type: object id: GoogleCloudAssuredworkloadsV1MoveImpact - GoogleCloudAssuredworkloadsV1ListWorkloadsResponse: - description: Response of ListWorkloads endpoint. - id: GoogleCloudAssuredworkloadsV1ListWorkloadsResponse + description: Represents the impact of moving the asset to the target. + GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse: + description: Signed Access Approvals (SAA) enrollment response. + properties: + setupErrors: + items: + enumDescriptions: + - Unspecified. + - >- + Invalid states for all customers, to be redirected to AA UI for + additional details. + - Returned when there is not an EKM key configured. + - >- + Returned when there are no enrolled services or the customer is + enrolled in CAA only for a subset of services. + - >- + Returned when exception was encountered during evaluation of + other criteria. + enum: + - SETUP_ERROR_UNSPECIFIED + - ERROR_INVALID_BASE_SETUP + - ERROR_MISSING_EXTERNAL_SIGNING_KEY + - ERROR_NOT_ALL_SERVICES_ENROLLED + - ERROR_SETUP_CHECK_FAILED + type: string + type: array + description: Indicates SAA enrollment setup error if any. + setupStatus: + enumDescriptions: + - Unspecified. + - SAA enrollment pending. + - SAA enrollment comopleted. + enum: + - SETUP_STATE_UNSPECIFIED + - STATUS_PENDING + - STATUS_COMPLETE + description: Indicates SAA enrollment status of a given workload. + type: string + type: object + id: GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse + GoogleCloudAssuredworkloadsV1MutatePartnerPermissionsRequest: + type: object + description: Request for updating permission settings for a partner workload. + properties: + etag: + type: string + description: >- + Optional. The etag of the workload. If this is provided, it must + match the server's etag. + updateMask: + format: google-fieldmask + description: >- + Required. The list of fields to be updated. E.g. update_mask { + paths: "partner_permissions.data_logs_viewer"} + type: string + partnerPermissions: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions + description: Required. The partner permissions to be updated. + id: GoogleCloudAssuredworkloadsV1MutatePartnerPermissionsRequest + GoogleCloudAssuredworkloadsV1AnalyzeWorkloadMoveResponse: + id: GoogleCloudAssuredworkloadsV1AnalyzeWorkloadMoveResponse + description: >- + Response containing the analysis results for the hypothetical resource + move. + type: object properties: nextPageToken: type: string - description: The next page token. Return empty if reached the last page. - workloads: - description: List of Workloads under a given parent. + description: The next page token. Is empty if the last page is reached. + assetMoveAnalyses: + type: array items: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1AssetMoveAnalysis + description: List of analysis results for each asset in scope. + GoogleRpcStatus: + id: GoogleRpcStatus + properties: + details: + items: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array + code: + description: The status code, which should be an enum value of google.rpc.Code. + type: integer + format: int32 + message: + type: string + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + description: >- + 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). + type: object + GoogleCloudAssuredworkloadsV1ViolationRemediation: + properties: + instructions: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediationInstructions + description: Required. Remediation instructions to resolve violations + remediationType: + type: string + description: >- + Output only. Reemediation type based on the type of org policy + values violated + enum: + - REMEDIATION_TYPE_UNSPECIFIED + - REMEDIATION_BOOLEAN_ORG_POLICY_VIOLATION + - REMEDIATION_LIST_ALLOWED_VALUES_ORG_POLICY_VIOLATION + - REMEDIATION_LIST_DENIED_VALUES_ORG_POLICY_VIOLATION + - REMEDIATION_RESTRICT_CMEK_CRYPTO_KEY_PROJECTS_ORG_POLICY_VIOLATION + - REMEDIATION_RESOURCE_VIOLATION + - REMEDIATION_RESOURCE_VIOLATION_NON_CMEK_SERVICES + readOnly: true + enumDescriptions: + - Unspecified remediation type + - Remediation type for boolean org policy + - >- + Remediation type for list org policy which have allowed values in + the monitoring rule + - >- + Remediation type for list org policy which have denied values in + the monitoring rule + - Remediation type for gcp.restrictCmekCryptoKeyProjects + - Remediation type for resource violation. + - >- + Remediation type for resource violation due to + gcp.restrictNonCmekServices + compliantValues: + items: + type: string type: array + description: >- + Values that can resolve the violation For example: for list org + policy violations, this will either be the list of allowed or denied + values type: object + id: GoogleCloudAssuredworkloadsV1ViolationRemediation + description: >- + Represents remediation guidance to resolve compliance violation for + AssuredWorkload GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponse: + type: object properties: + ekmProvisioningErrorMapping: + enum: + - EKM_PROVISIONING_ERROR_MAPPING_UNSPECIFIED + - INVALID_SERVICE_ACCOUNT + - MISSING_METRICS_SCOPE_ADMIN_PERMISSION + - MISSING_EKM_CONNECTION_ADMIN_PERMISSION + enumDescriptions: + - Error is unspecified. + - Service account is used is invalid. + - Iam permission monitoring.MetricsScopeAdmin wasn't applied. + - Iam permission cloudkms.ekmConnectionsAdmin wasn't applied. + type: string + description: Detailed error message if Ekm provisioning fails ekmProvisioningErrorDomain: - description: Indicates Ekm provisioning error if any. enum: - EKM_PROVISIONING_ERROR_DOMAIN_UNSPECIFIED - UNSPECIFIED_ERROR @@ -88,7 +287,7 @@ components: - EXTERNAL_USER_ERROR - EXTERNAL_PARTNER_ERROR - TIMEOUT_ERROR - type: string + description: Indicates Ekm provisioning error if any. enumDescriptions: - No error domain - Error but domain is unspecified. @@ -98,349 +297,435 @@ components: resource. - Error occurred within the partner's provisioning cluster. - Resource wasn't provisioned in the required 7 day time period + type: string ekmProvisioningState: + type: string enum: - EKM_PROVISIONING_STATE_UNSPECIFIED - EKM_PROVISIONING_STATE_PENDING - EKM_PROVISIONING_STATE_FAILED - EKM_PROVISIONING_STATE_COMPLETED description: Indicates Ekm enrollment Provisioning of a given workload. - type: string enumDescriptions: - Default State for Ekm Provisioning - Pending State for Ekm Provisioning - Failed State for Ekm Provisioning - Completed State for Ekm Provisioning - ekmProvisioningErrorMapping: - description: Detailed error message if Ekm provisioning fails - enumDescriptions: - - Error is unspecified. - - Service account is used is invalid. - - Iam permission monitoring.MetricsScopeAdmin wasn't applied. - - Iam permission cloudkms.ekmConnectionsAdmin wasn't applied. - enum: - - EKM_PROVISIONING_ERROR_MAPPING_UNSPECIFIED - - INVALID_SERVICE_ACCOUNT - - MISSING_METRICS_SCOPE_ADMIN_PERMISSION - - MISSING_EKM_CONNECTION_ADMIN_PERMISSION - type: string - id: GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponse description: External key management systems(EKM) Provisioning response + id: GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponse + GoogleCloudAssuredworkloadsV1WorkloadResourceSettings: + description: Represent the custom settings for the resources to be created. type: object - GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata: - description: Operation metadata to give request details of CreateWorkload. + id: GoogleCloudAssuredworkloadsV1WorkloadResourceSettings properties: displayName: - type: string - description: Optional. The display name of the workload. - createTime: - description: Optional. Time when the operation was created. - format: google-datetime - type: string - complianceRegime: - description: >- - Optional. Compliance controls that should be applied to the - resources managed by the workload. - type: string - enum: - - COMPLIANCE_REGIME_UNSPECIFIED - - IL4 - - CJIS - - FEDRAMP_HIGH - - FEDRAMP_MODERATE - - US_REGIONAL_ACCESS - - HIPAA - - HITRUST - - EU_REGIONS_AND_SUPPORT - - CA_REGIONS_AND_SUPPORT - - ITAR - - AU_REGIONS_AND_US_SUPPORT - - ASSURED_WORKLOADS_FOR_PARTNERS - - ISR_REGIONS - - ISR_REGIONS_AND_SUPPORT - - CA_PROTECTED_B - - IL5 - - IL2 - - JP_REGIONS_AND_SUPPORT - - KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS - - REGIONAL_CONTROLS - - HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS - - HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT - enumDescriptions: - - Unknown compliance regime. - - Information protection as per DoD IL4 requirements. - - Criminal Justice Information Services (CJIS) Security policies. - - FedRAMP High data protection controls - - FedRAMP Moderate data protection controls - - Assured Workloads For US Regions data protection controls - - Health Insurance Portability and Accountability Act controls - - Health Information Trust Alliance controls - - Assured Workloads For EU Regions and Support controls - - Assured Workloads For Canada Regions and Support controls - - International Traffic in Arms Regulations - - Assured Workloads for Australia Regions and Support controls - - Assured Workloads for Partners; - - Assured Workloads for Israel Regions - - Assured Workloads for Israel Regions - - Assured Workloads for Canada Protected B regime - - Information protection as per DoD IL5 requirements. - - Information protection as per DoD IL2 requirements. - - Assured Workloads for Japan Regions - - Assured Workloads Sovereign Controls KSA - - Assured Workloads for Regional Controls - - Healthcare and Life Science Controls - - Healthcare and Life Science Controls with US Support - parent: - type: string - description: Optional. The parent of the workload. - id: GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata - type: object - GoogleCloudAssuredworkloadsV1Violation: - id: GoogleCloudAssuredworkloadsV1Violation - type: object - description: Workload monitoring Violation. - properties: - remediation: - description: Output only. Compliance violation remediation - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediation - parentProjectNumber: description: >- - Optional. Output only. Parent project number where resource is - present. Empty for org-policy violations. - readOnly: true - type: string - resourceName: + User-assigned resource display name. If not empty it will be used to + create a resource with the specified name. type: string - description: >- - Optional. Output only. Name of the resource like - //storage.googleapis.com/myprojectxyz-testbucket. Empty for - org-policy violations. - readOnly: true resourceType: type: string - readOnly: true - description: >- - Optional. Output only. Type of the resource like - compute.googleapis.com/Disk, etc. Empty for org-policy violations. - associatedOrgPolicyViolationId: - readOnly: true - type: string - description: >- - Optional. Output only. Violation Id of the org-policy violation due - to which the resource violation is caused. Empty for org-policy - violations. - description: - description: >- - Output only. Description for the Violation. e.g. OrgPolicy - gcp.resourceLocations has non compliant value. - readOnly: true - type: string - name: - description: >- - Output only. Immutable. Name of the Violation. Format: - organizations/{organization}/locations/{location}/workloads/{workload_id}/violations/{violations_id} - type: string - readOnly: true - beginTime: - type: string - format: google-datetime - description: Output only. Time of the event which triggered the Violation. - readOnly: true - acknowledgementTime: + enumDeprecated: + - false + - true + - false + - false + - false + enum: + - RESOURCE_TYPE_UNSPECIFIED + - CONSUMER_PROJECT + - CONSUMER_FOLDER + - ENCRYPTION_KEYS_PROJECT + - KEYRING description: >- - 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. - format: google-datetime + Indicates the type of resource. This field should be specified to + correspond the id to the right project type (CONSUMER_PROJECT or + ENCRYPTION_KEYS_PROJECT) + enumDescriptions: + - Unknown resource type. + - >- + Deprecated. Existing workloads will continue to support this, but + new CreateWorkloadRequests should not specify this as an input + value. + - Consumer Folder. + - Consumer project containing encryption keys. + - Keyring resource that hosts encryption keys. + resourceId: type: string - auditLogLink: description: >- - Output only. Immutable. Audit Log Link for violated resource Format: - https://console.cloud.google.com/logs/query;query={logName}{protoPayload.resourceName}{timeRange}{folder} - readOnly: true - type: string - acknowledged: - description: A boolean that indicates if the violation is acknowledged - type: boolean + Resource identifier. For a project this represents project_id. If + the project is already taken, the workload creation will fail. For + KeyRing, this represents the keyring_id. For a folder, don't set + this value as folder_id is assigned by Google. + GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest: + properties: nonCompliantOrgPolicy: - readOnly: true description: >- - Output only. Immutable. Name of the OrgPolicy which was modified - with non-compliant change and resulted this violation. Format: + Optional. This field is deprecated and will be removed in future + version of the API. Name of the OrgPolicy which was modified with + non-compliant change and resulted in this violation. Format: projects/{project_number}/policies/{constraint_name} folders/{folder_id}/policies/{constraint_name} organizations/{organization_id}/policies/{constraint_name} type: string - state: + deprecated: true + acknowledgeType: type: string - readOnly: true - enumDescriptions: - - Unspecified state. - - Violation is resolved. - - Violation is Unresolved - - Violation is Exception - description: Output only. State of the violation enum: - - STATE_UNSPECIFIED - - RESOLVED - - UNRESOLVED - - EXCEPTION - resolveTime: + - ACKNOWLEDGE_TYPE_UNSPECIFIED + - SINGLE_VIOLATION + - EXISTING_CHILD_RESOURCE_VIOLATIONS + description: Optional. Acknowledge type of specified violation. + enumDescriptions: + - Acknowledge type unspecified. + - Acknowledge only the specific violation. + - >- + Acknowledge specified orgPolicy violation and also associated + resource violations. + comment: description: >- - Output only. Time of the event which fixed the Violation. If the - violation is ACTIVE this will be empty. - readOnly: true - format: google-datetime + Required. Business justification explaining the need for violation + acknowledgement type: string - orgPolicyConstraint: + type: object + description: Request for acknowledging the violation + id: GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest + GoogleLongrunningOperation: + type: object + description: >- + This resource represents a long-running operation that is the result of + a network API call. + id: GoogleLongrunningOperation + properties: + name: + description: >- + 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}`. type: string - readOnly: true + metadata: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object description: >- - Output only. Immutable. The org-policy-constraint that was - incorrectly changed, which resulted in this violation. - deprecated: true - exceptionContexts: - type: array - readOnly: true + 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. + done: description: >- - Output only. List of all the exception detail added for the - violation. - items: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationExceptionContext - updateTime: - type: string - description: Output only. The last time when the Violation record was updated. - format: google-datetime - readOnly: true - violationType: - readOnly: true - description: Output only. Type of the violation - type: string - enumDescriptions: - - Unspecified type. - - Org Policy Violation. - - Resource Violation. - enum: - - VIOLATION_TYPE_UNSPECIFIED - - ORG_POLICY - - RESOURCE - category: - readOnly: true - type: string + 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. + type: boolean + error: + $ref: '#/components/schemas/GoogleRpcStatus' description: >- - Output only. Category under which this violation is mapped. e.g. - Location, Service Usage, Access, Encryption, etc. - exceptionAuditLogLink: - type: string - readOnly: true + The error result of the operation in case of failure or + cancellation. + response: description: >- - 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} + 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`. + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + GoogleCloudAssuredworkloadsV1AcknowledgeViolationResponse: + description: Response for violation acknowledgement + id: GoogleCloudAssuredworkloadsV1AcknowledgeViolationResponse + properties: {} + type: object + GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsConsole: + description: Remediation instructions to resolve violation via cloud console + id: GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsConsole + properties: + steps: + description: Steps to resolve violation via cloud console + items: + type: string + type: array + additionalLinks: + description: Additional urls for more information about steps + items: + type: string + type: array + consoleUris: + items: + type: string + type: array + description: Link to console page where violations can be resolved + type: object GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsGcloud: + type: object + id: GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsGcloud description: Remediation instructions to resolve violation via gcloud cli properties: additionalLinks: - type: array items: type: string description: Additional urls for more information about steps + type: array steps: + type: array items: type: string description: Steps to resolve violation via gcloud cli - type: array gcloudCommands: - items: - type: string description: Gcloud command to resolve violation type: array + items: + type: string + GoogleCloudAssuredworkloadsV1MoveAnalysisGroup: + properties: + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: Error details for a failed analysis. + displayName: + description: Name of the analysis group. + type: string + analysisResult: + description: Result of a successful analysis. + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1MoveAnalysisResult' + type: object + description: >- + Represents a logical group of checks performed for an asset. If + successful, the group contains the analysis result, otherwise it + contains an error with the failure reason. + id: GoogleCloudAssuredworkloadsV1MoveAnalysisGroup + GoogleCloudAssuredworkloadsV1WorkloadResourceInfo: type: object - id: GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsGcloud - GoogleLongrunningListOperationsResponse: - id: GoogleLongrunningListOperationsResponse properties: - operations: + resourceId: + format: int64 + description: Resource identifier. For a project this represents project_number. + type: string + resourceType: + description: Indicates the type of resource. + enumDeprecated: + - false + - true + - false + - false + - false + enumDescriptions: + - Unknown resource type. + - >- + Deprecated. Existing workloads will continue to support this, but + new CreateWorkloadRequests should not specify this as an input + value. + - Consumer Folder. + - Consumer project containing encryption keys. + - Keyring resource that hosts encryption keys. + type: string + enum: + - RESOURCE_TYPE_UNSPECIFIED + - CONSUMER_PROJECT + - CONSUMER_FOLDER + - ENCRYPTION_KEYS_PROJECT + - KEYRING + id: GoogleCloudAssuredworkloadsV1WorkloadResourceInfo + description: Represent the resources that are children of this Workload. + GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesRequest: + properties: + restrictionType: + enumDescriptions: + - Unknown restriction type. + - >- + Allow the use all of all gcp products, irrespective of the + compliance posture. This effectively removes + gcp.restrictServiceUsage OrgPolicy on the AssuredWorkloads Folder. + - >- + Based on Workload's compliance regime, allowed list changes. See - + https://cloud.google.com/assured-workloads/docs/supported-products + for the list of supported resources. + - >- + Similar to ALLOW_COMPLIANT_RESOURCES but adds the list of + compliant resources to the existing list of compliant resources. + Effective org-policy of the Folder is considered to ensure there + is no disruption to the existing customer workflows. + enum: + - RESTRICTION_TYPE_UNSPECIFIED + - ALLOW_ALL_GCP_RESOURCES + - ALLOW_COMPLIANT_RESOURCES + - APPEND_COMPLIANT_RESOURCES + type: string + description: >- + Required. The type of restriction for using gcp products in the + Workload environment. + description: >- + Request for restricting list of available resources in Workload + environment. + id: GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesRequest + type: object + GoogleCloudAssuredworkloadsV1WorkloadComplianceStatus: + properties: + acknowledgedResourceViolationCount: + type: integer + description: Number of current resource violations which are not acknowledged. + format: int32 + activeViolationCount: + format: int32 + description: Number of current orgPolicy violations which are not acknowledged. + type: integer + acknowledgedViolationCount: + type: integer + description: Number of current orgPolicy violations which are acknowledged. + format: int32 + activeResourceViolationCount: + format: int32 + type: integer + description: Number of current resource violations which are acknowledged. + id: GoogleCloudAssuredworkloadsV1WorkloadComplianceStatus + description: Represents the Compliance Status of this workload + type: object + GoogleCloudAssuredworkloadsV1MoveAnalysisResult: + id: GoogleCloudAssuredworkloadsV1MoveAnalysisResult + type: object + properties: + blockers: type: array + description: >- + List of blockers. If not resolved, these will result in compliance + violations in the target. items: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1MoveImpact' + warnings: description: >- - A list of operations that matches the specified filter in the - request. - nextPageToken: - description: The standard List next-page token. - type: string - description: The response message for Operations.ListOperations. + List of warnings. These are risks that may or may not result in + compliance violations. + type: array + items: + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1MoveImpact' + description: Represents the successful move analysis results for a group. + GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesResponse: + id: GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesResponse + description: Response for restricting the list of allowed resources. + properties: {} type: object - GoogleCloudAssuredworkloadsV1ListViolationsResponse: + GoogleLongrunningListOperationsResponse: properties: nextPageToken: - description: The next page token. Returns empty if reached the last page. type: string - violations: - description: List of Violations under a Workload. + description: The standard List next-page token. + operations: + description: >- + A list of operations that matches the specified filter in the + request. items: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Violation' + $ref: '#/components/schemas/GoogleLongrunningOperation' type: array - description: Response of ListViolations endpoint. - id: GoogleCloudAssuredworkloadsV1ListViolationsResponse type: object - GoogleCloudAssuredworkloadsV1ViolationRemediationInstructions: - id: GoogleCloudAssuredworkloadsV1ViolationRemediationInstructions + id: GoogleLongrunningListOperationsResponse + description: The response message for Operations.ListOperations. + GoogleCloudAssuredworkloadsV1WorkloadKMSSettings: + deprecated: true type: object properties: - consoleInstructions: - description: Remediation instructions to resolve violation via cloud console - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsConsole - gcloudInstructions: - description: Remediation instructions to resolve violation via gcloud cli - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsGcloud - description: Instructions to remediate violation - GoogleCloudAssuredworkloadsV1Workload: - properties: - resources: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadResourceInfo + rotationPeriod: + format: google-duration description: >- - 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. - readOnly: true - billingAccount: + Required. Input only. Immutable. [next_rotation_time] will be + advanced by this period when the Key Management Service + automatically rotates a key. Must be at least 24 hours and at most + 876,000 hours. + type: string + nextRotationTime: + format: google-datetime type: string description: >- - 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`. - partnerPermissions: + Required. Input only. Immutable. The time at which the Key + Management Service will automatically create a new version of the + crypto key and mark it as the primary. + description: Settings specific to the Key Management Service. + id: GoogleCloudAssuredworkloadsV1WorkloadKMSSettings + GoogleCloudAssuredworkloadsV1Workload: + type: object + properties: + resourceSettings: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadResourceSettings description: >- - Optional. Permissions granted to the AW Partner SA account for the - customer workload + 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. + provisionedResourcesParent: + description: >- + 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} + type: string + kmsSettings: + description: >- + Input only. Settings used to create a CMEK crypto key. When set, a + project with a KMS CMEK key is provisioned. This field is deprecated + as of Feb 28, 2022. In order to create a Keyring, callers should + specify, ENCRYPTION_KEYS_PROJECT or KEYRING in + ResourceSettings.resource_type field. $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions - violationNotificationsEnabled: + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadKMSSettings + deprecated: true + partner: + type: string + enumDescriptions: + - '' + - Enum representing S3NS (Thales) partner. + - Enum representing T_SYSTEM (TSI) partner. + - Enum representing SIA_MINSAIT (Indra) partner. + - Enum representing PSN (TIM) partner. + - Enum representing CNTXT (Kingdom of Saudi Arabia) partner. + - >- + Enum representing CNTXT (Kingdom of Saudi Arabia) partner offering + without EKM. + enum: + - PARTNER_UNSPECIFIED + - LOCAL_CONTROLS_BY_S3NS + - SOVEREIGN_CONTROLS_BY_T_SYSTEMS + - SOVEREIGN_CONTROLS_BY_SIA_MINSAIT + - SOVEREIGN_CONTROLS_BY_PSN + - SOVEREIGN_CONTROLS_BY_CNTXT + - SOVEREIGN_CONTROLS_BY_CNTXT_NO_EKM + description: Optional. Partner regime associated with this workload. + resources: description: >- - 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. + 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. + items: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadResourceInfo + readOnly: true + type: array + enableSovereignControls: type: boolean + description: >- + Optional. Indicates the sovereignty status of the given workload. + Currently meant to be used by Europe/Canada customers. + createTime: + readOnly: true + type: string + description: Output only. Immutable. The Workload creation timestamp. + format: google-datetime + labels: + description: Optional. Labels applied to the workload. + type: object + additionalProperties: + type: string partnerServicesBillingAccount: + type: string description: >- Optional. Billing account necessary for purchasing services from Sovereign Partners. This field is required for creating @@ -448,45 +733,112 @@ components: 'billing.resourceAssociations.create' IAM permission on this billing-account. The format of this string is billingAccounts/AAAAAA-BBBBBB-CCCCCC + etag: type: string + description: >- + Optional. ETag of the workload, it is calculated on the basis of the + Workload contents. It will be used in Update & Delete operations. kajEnrollmentState: enum: - KAJ_ENROLLMENT_STATE_UNSPECIFIED - KAJ_ENROLLMENT_STATE_PENDING - KAJ_ENROLLMENT_STATE_COMPLETE type: string - readOnly: true - description: >- - Output only. Represents the KAJ enrollment state of the given - workload. enumDescriptions: - Default State for KAJ Enrollment. - Pending State for KAJ Enrollment. - Complete State for KAJ Enrollment. + description: >- + Output only. Represents the KAJ enrollment state of the given + workload. + readOnly: true + billingAccount: + description: >- + 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`. + type: string + violationNotificationsEnabled: + description: >- + 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. + type: boolean + resourceMonitoringEnabled: + readOnly: true + type: boolean + description: >- + 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. + partnerPermissions: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions + description: >- + Optional. Permissions granted to the AW Partner SA account for the + customer workload saaEnrollmentResponse: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse + readOnly: true description: >- Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page. - readOnly: true + workloadOptions: $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse - kmsSettings: - deprecated: true + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions + description: Optional. Options to be set for the given created workload. + compliantButDisallowedServices: + readOnly: true + items: + type: string + type: array description: >- - Input only. Settings used to create a CMEK crypto key. When set, a - project with a KMS CMEK key is provisioned. This field is deprecated - as of Feb 28, 2022. In order to create a Keyring, callers should - specify, ENCRYPTION_KEYS_PROJECT or KEYRING in - ResourceSettings.resource_type field. - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadKMSSettings + 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. complianceRegime: - type: string description: >- Required. Immutable. Compliance Regime associated with this workload. + type: string + enumDescriptions: + - Unknown compliance regime. + - Information protection as per DoD IL4 requirements. + - Criminal Justice Information Services (CJIS) Security policies. + - FedRAMP High data protection controls + - FedRAMP Moderate data protection controls + - Assured Workloads For US Regions data protection controls + - Health Insurance Portability and Accountability Act controls + - Health Information Trust Alliance controls + - Assured Workloads For EU Regions and Support controls + - Assured Workloads For Canada Regions and Support controls + - International Traffic in Arms Regulations + - Assured Workloads for Australia Regions and Support controls + - Assured Workloads for Partners; + - Assured Workloads for Israel Regions + - Assured Workloads for Israel Regions + - Assured Workloads for Canada Protected B regime + - Information protection as per DoD IL5 requirements. + - Information protection as per DoD IL2 requirements. + - Assured Workloads for Japan Regions + - Assured Workloads Sovereign Controls KSA + - Assured Workloads for Regional Controls + - Healthcare and Life Science Controls + - Healthcare and Life Science Controls with US Support + - Internal Revenue Service 1075 controls enum: - COMPLIANCE_REGIME_UNSPECIFIED - IL4 @@ -511,6 +863,47 @@ components: - REGIONAL_CONTROLS - HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS - HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT + - IRS_1075 + displayName: + description: >- + Required. The user-assigned display name of the Workload. When + present it must be between 4 to 30 characters. Allowed characters + are: lowercase and uppercase letters, numbers, hyphen, and spaces. + Example: My Workload + type: string + complianceStatus: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadComplianceStatus + description: Output only. Count of active Violations in the Workload. + readOnly: true + name: + type: string + description: >- + Optional. The resource name of the workload. Format: + organizations/{organization}/locations/{location}/workloads/{workload} + Read-only. + ekmProvisioningResponse: + description: >- + Output only. Represents the Ekm Provisioning State of the given + workload. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponse + id: GoogleCloudAssuredworkloadsV1Workload + description: >- + A Workload object for managing highly regulated workloads of cloud + customers. + GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata: + properties: + displayName: + type: string + description: Optional. The display name of the workload. + createTime: + description: Optional. Time when the operation was created. + format: google-datetime + type: string + complianceRegime: + type: string enumDescriptions: - Unknown compliance regime. - Information protection as per DoD IL4 requirements. @@ -535,658 +928,274 @@ components: - Assured Workloads for Regional Controls - Healthcare and Life Science Controls - Healthcare and Life Science Controls with US Support - etag: - type: string - description: >- - Optional. ETag of the workload, it is calculated on the basis of the - Workload contents. It will be used in Update & Delete operations. - ekmProvisioningResponse: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponse - readOnly: true - description: >- - Output only. Represents the Ekm Provisioning State of the given - workload. - provisionedResourcesParent: - type: string + - Internal Revenue Service 1075 controls description: >- - 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} - displayName: - type: string - description: >- - Required. The user-assigned display name of the Workload. When - present it must be between 4 to 30 characters. Allowed characters - are: lowercase and uppercase letters, numbers, hyphen, and spaces. - Example: My Workload - enableSovereignControls: - type: boolean - description: >- - Optional. Indicates the sovereignty status of the given workload. - Currently meant to be used by Europe/Canada customers. - labels: - description: Optional. Labels applied to the workload. - type: object - additionalProperties: - type: string - complianceStatus: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadComplianceStatus - readOnly: true - description: Output only. Count of active Violations in the Workload. - resourceMonitoringEnabled: - readOnly: true - description: >- - 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. - type: boolean - partner: - type: string - enumDescriptions: - - '' - - Enum representing S3NS (Thales) partner. - - Enum representing T_SYSTEM (TSI) partner. - - Enum representing SIA_MINSAIT (Indra) partner. - - Enum representing PSN (TIM) partner. - - Enum representing CNTXT (Kingdom of Saudi Arabia) partner. - - >- - Enum representing CNTXT (Kingdom of Saudi Arabia) partner offering - without EKM. - enum: - - PARTNER_UNSPECIFIED - - LOCAL_CONTROLS_BY_S3NS - - SOVEREIGN_CONTROLS_BY_T_SYSTEMS - - SOVEREIGN_CONTROLS_BY_SIA_MINSAIT - - SOVEREIGN_CONTROLS_BY_PSN - - SOVEREIGN_CONTROLS_BY_CNTXT - - SOVEREIGN_CONTROLS_BY_CNTXT_NO_EKM - description: Optional. Partner regime associated with this workload. - name: - description: >- - Optional. The resource name of the workload. Format: - organizations/{organization}/locations/{location}/workloads/{workload} - Read-only. - type: string - resourceSettings: - items: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadResourceSettings - type: array - description: >- - 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. - compliantButDisallowedServices: - description: >- - 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. - items: - type: string - type: array - readOnly: true - createTime: - description: Output only. Immutable. The Workload creation timestamp. - type: string - readOnly: true - format: google-datetime - id: GoogleCloudAssuredworkloadsV1Workload - description: >- - A Workload object for managing highly regulated workloads of cloud - customers. - type: object - GoogleCloudAssuredworkloadsV1ViolationRemediation: - description: >- - Represents remediation guidance to resolve compliance violation for - AssuredWorkload - properties: - compliantValues: - description: >- - Values that can resolve the violation For example: for list org - policy violations, this will either be the list of allowed or denied - values - type: array - items: - type: string - remediationType: + Optional. Compliance controls that should be applied to the + resources managed by the workload. enum: - - REMEDIATION_TYPE_UNSPECIFIED - - REMEDIATION_BOOLEAN_ORG_POLICY_VIOLATION - - REMEDIATION_LIST_ALLOWED_VALUES_ORG_POLICY_VIOLATION - - REMEDIATION_LIST_DENIED_VALUES_ORG_POLICY_VIOLATION - - REMEDIATION_RESTRICT_CMEK_CRYPTO_KEY_PROJECTS_ORG_POLICY_VIOLATION - - REMEDIATION_RESOURCE_VIOLATION - - REMEDIATION_RESOURCE_VIOLATION_NON_CMEK_SERVICES - description: >- - Output only. Reemediation type based on the type of org policy - values violated - type: string - enumDescriptions: - - Unspecified remediation type - - Remediation type for boolean org policy - - >- - Remediation type for list org policy which have allowed values in - the monitoring rule - - >- - Remediation type for list org policy which have denied values in - the monitoring rule - - Remediation type for gcp.restrictCmekCryptoKeyProjects - - Remediation type for resource violation. - - >- - Remediation type for resource violation due to - gcp.restrictNonCmekServices - readOnly: true - instructions: - description: Required. Remediation instructions to resolve violations - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediationInstructions - type: object - id: GoogleCloudAssuredworkloadsV1ViolationRemediation - GoogleCloudAssuredworkloadsV1WorkloadResourceSettings: - id: GoogleCloudAssuredworkloadsV1WorkloadResourceSettings - type: object - description: Represent the custom settings for the resources to be created. - properties: - displayName: - description: >- - User-assigned resource display name. If not empty it will be used to - create a resource with the specified name. - type: string - resourceId: - description: >- - Resource identifier. For a project this represents project_id. If - the project is already taken, the workload creation will fail. For - KeyRing, this represents the keyring_id. For a folder, don't set - this value as folder_id is assigned by Google. - type: string - resourceType: - description: >- - Indicates the type of resource. This field should be specified to - correspond the id to the right project type (CONSUMER_PROJECT or - ENCRYPTION_KEYS_PROJECT) + - COMPLIANCE_REGIME_UNSPECIFIED + - IL4 + - CJIS + - FEDRAMP_HIGH + - FEDRAMP_MODERATE + - US_REGIONAL_ACCESS + - HIPAA + - HITRUST + - EU_REGIONS_AND_SUPPORT + - CA_REGIONS_AND_SUPPORT + - ITAR + - AU_REGIONS_AND_US_SUPPORT + - ASSURED_WORKLOADS_FOR_PARTNERS + - ISR_REGIONS + - ISR_REGIONS_AND_SUPPORT + - CA_PROTECTED_B + - IL5 + - IL2 + - JP_REGIONS_AND_SUPPORT + - KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS + - REGIONAL_CONTROLS + - HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS + - HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT + - IRS_1075 + parent: type: string - enumDescriptions: - - Unknown resource type. - - >- - Deprecated. Existing workloads will continue to support this, but - new CreateWorkloadRequests should not specify this as an input - value. - - Consumer Folder. - - Consumer project containing encryption keys. - - Keyring resource that hosts encryption keys. - enum: - - RESOURCE_TYPE_UNSPECIFIED - - CONSUMER_PROJECT - - CONSUMER_FOLDER - - ENCRYPTION_KEYS_PROJECT - - KEYRING - enumDeprecated: - - false - - true - - false - - false - - false - GoogleCloudAssuredworkloadsV1MoveAnalysisResult: - id: GoogleCloudAssuredworkloadsV1MoveAnalysisResult - type: object - description: Represents the successful move analysis results for a group. - properties: - blockers: - description: >- - List of blockers. If not resolved, these will result in compliance - violations in the target. - items: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1MoveImpact' - type: array - warnings: - items: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1MoveImpact' - description: >- - List of warnings. These are risks that may or may not result in - compliance violations. - type: array - GoogleCloudAssuredworkloadsV1WorkloadResourceInfo: + description: Optional. The parent of the workload. + id: GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata + description: Operation metadata to give request details of CreateWorkload. type: object - description: Represent the resources that are children of this Workload. - id: GoogleCloudAssuredworkloadsV1WorkloadResourceInfo - properties: - resourceId: - description: Resource identifier. For a project this represents project_number. - type: string - format: int64 - resourceType: - enum: - - RESOURCE_TYPE_UNSPECIFIED - - CONSUMER_PROJECT - - CONSUMER_FOLDER - - ENCRYPTION_KEYS_PROJECT - - KEYRING - enumDeprecated: - - false - - true - - false - - false - - false - enumDescriptions: - - Unknown resource type. - - >- - Deprecated. Existing workloads will continue to support this, but - new CreateWorkloadRequests should not specify this as an input - value. - - Consumer Folder. - - Consumer project containing encryption keys. - - Keyring resource that hosts encryption keys. - type: string - description: Indicates the type of resource. - GoogleCloudAssuredworkloadsV1WorkloadKMSSettings: + GoogleCloudAssuredworkloadsV1Violation: properties: - rotationPeriod: - description: >- - Required. Input only. Immutable. [next_rotation_time] will be - advanced by this period when the Key Management Service - automatically rotates a key. Must be at least 24 hours and at most - 876,000 hours. - format: google-duration - type: string - nextRotationTime: - type: string + updateTime: format: google-datetime - description: >- - Required. Input only. Immutable. The time at which the Key - Management Service will automatically create a new version of the - crypto key and mark it as the primary. - id: GoogleCloudAssuredworkloadsV1WorkloadKMSSettings - description: Settings specific to the Key Management Service. - deprecated: true - type: object - GoogleRpcStatus: - type: object - description: >- - 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). - properties: - code: - type: integer - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + readOnly: true + description: Output only. The last time when the Violation record was updated. type: string - details: - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - type: array - id: GoogleRpcStatus - GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsConsole: - properties: - additionalLinks: - type: array - items: - type: string - description: Additional urls for more information about steps - consoleUris: - items: - type: string - description: Link to console page where violations can be resolved - type: array - steps: - items: - type: string - type: array - description: Steps to resolve violation via cloud console - description: Remediation instructions to resolve violation via cloud console - type: object - id: GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsConsole - GoogleCloudAssuredworkloadsV1EnableResourceMonitoringResponse: - description: Response for EnableResourceMonitoring endpoint. - properties: {} - id: GoogleCloudAssuredworkloadsV1EnableResourceMonitoringResponse - type: object - GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse: - description: Signed Access Approvals (SAA) enrollment response. - properties: - setupStatus: + state: enum: - - SETUP_STATE_UNSPECIFIED - - STATUS_PENDING - - STATUS_COMPLETE - description: Indicates SAA enrollment status of a given workload. + - STATE_UNSPECIFIED + - RESOLVED + - UNRESOLVED + - EXCEPTION type: string + readOnly: true enumDescriptions: - - Unspecified. - - SAA enrollment pending. - - SAA enrollment comopleted. - setupErrors: - items: - type: string - enumDescriptions: - - Unspecified. - - >- - Invalid states for all customers, to be redirected to AA UI for - additional details. - - Returned when there is not an EKM key configured. - - >- - Returned when there are no enrolled services or the customer is - enrolled in CAA only for a subset of services. - - >- - Returned when exception was encountered during evaluation of - other criteria. - enum: - - SETUP_ERROR_UNSPECIFIED - - ERROR_INVALID_BASE_SETUP - - ERROR_MISSING_EXTERNAL_SIGNING_KEY - - ERROR_NOT_ALL_SERVICES_ENROLLED - - ERROR_SETUP_CHECK_FAILED - type: array - description: Indicates SAA enrollment setup error if any. - type: object - id: GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse - GoogleCloudAssuredworkloadsV1ViolationExceptionContext: - description: Violation exception detail. - type: object - id: GoogleCloudAssuredworkloadsV1ViolationExceptionContext - properties: - comment: - type: string - description: >- - Business justification provided towards the acknowledgement of the - violation. - acknowledgementTime: - type: string - description: Timestamp when the violation was acknowledged. - format: google-datetime - userName: - description: >- - Name of the user (or service account) who acknowledged the - violation. + - Unspecified state. + - Violation is resolved. + - Violation is Unresolved + - Violation is Exception + description: Output only. State of the violation + remediation: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediation + description: Output only. Compliance violation remediation + readOnly: true + associatedOrgPolicyViolationId: type: string - GoogleLongrunningOperation: - description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: GoogleLongrunningOperation - type: object - properties: - name: description: >- - 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}`. + Optional. Output only. Violation Id of the org-policy violation due + to which the resource violation is caused. Empty for org-policy + violations. + readOnly: true + description: type: string - metadata: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - description: >- - 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. - done: - type: boolean - description: >- - 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. - response: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any description: >- - 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`. - type: object - error: + Output only. Description for the Violation. e.g. OrgPolicy + gcp.resourceLocations has non compliant value. + readOnly: true + resolveTime: + format: google-datetime + readOnly: true description: >- - The error result of the operation in case of failure or - cancellation. - $ref: '#/components/schemas/GoogleRpcStatus' - GoogleCloudAssuredworkloadsV1WorkloadComplianceStatus: - description: Represents the Compliance Status of this workload - type: object - properties: - acknowledgedResourceViolationCount: - type: integer - format: int32 - description: Number of current resource violations which are not acknowledged. - acknowledgedViolationCount: - format: int32 - type: integer - description: Number of current orgPolicy violations which are acknowledged. - activeViolationCount: - format: int32 - type: integer - description: Number of current orgPolicy violations which are not acknowledged. - activeResourceViolationCount: - format: int32 - description: Number of current resource violations which are acknowledged. - type: integer - id: GoogleCloudAssuredworkloadsV1WorkloadComplianceStatus - GoogleCloudAssuredworkloadsV1MoveAnalysisGroup: - type: object - id: GoogleCloudAssuredworkloadsV1MoveAnalysisGroup - properties: - analysisResult: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1MoveAnalysisResult' - description: Result of a successful analysis. - displayName: + Output only. Time of the event which fixed the Violation. If the + violation is ACTIVE this will be empty. type: string - description: Name of the analysis group. - error: - description: Error details for a failed analysis. - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Represents a logical group of checks performed for an asset. If - successful, the group contains the analysis result, otherwise it - contains an error with the failure reason. - GoogleCloudAssuredworkloadsV1MutatePartnerPermissionsRequest: - description: Request for updating permission settings for a partner workload. - properties: - etag: + auditLogLink: description: >- - Optional. The etag of the workload. If this is provided, it must - match the server's etag. + Output only. Immutable. Audit Log Link for violated resource Format: + https://console.cloud.google.com/logs/query;query={logName}{protoPayload.resourceName}{timeRange}{folder} type: string - updateMask: + readOnly: true + exceptionAuditLogLink: + description: >- + 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} + readOnly: true + type: string + name: type: string description: >- - Required. The list of fields to be updated. E.g. update_mask { - paths: "partner_permissions.data_logs_viewer"} - format: google-fieldmask - partnerPermissions: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions - description: Required. The partner permissions to be updated. - type: object - id: GoogleCloudAssuredworkloadsV1MutatePartnerPermissionsRequest - GoogleCloudAssuredworkloadsV1AcknowledgeViolationResponse: - type: object - id: GoogleCloudAssuredworkloadsV1AcknowledgeViolationResponse - description: Response for violation acknowledgement - properties: {} - GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest: - id: GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest - description: Request for acknowledging the violation - type: object - properties: - comment: + Output only. Immutable. Name of the Violation. Format: + organizations/{organization}/locations/{location}/workloads/{workload_id}/violations/{violations_id} + readOnly: true + acknowledgementTime: + type: string description: >- - Required. Business justification explaining the need for violation - acknowledgement + 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. + format: google-datetime + violationType: + readOnly: true + description: Output only. Type of the violation type: string - acknowledgeType: - description: Optional. Acknowledge type of specified violation. enumDescriptions: - - Acknowledge type unspecified. - - Acknowledge only the specific violation. - - >- - Acknowledge specified orgPolicy violation and also associated - resource violations. + - Unspecified type. + - Org Policy Violation. + - Resource Violation. enum: - - ACKNOWLEDGE_TYPE_UNSPECIFIED - - SINGLE_VIOLATION - - EXISTING_CHILD_RESOURCE_VIOLATIONS + - VIOLATION_TYPE_UNSPECIFIED + - ORG_POLICY + - RESOURCE + resourceName: + type: string + description: >- + Optional. Output only. Name of the resource like + //storage.googleapis.com/myprojectxyz-testbucket. Empty for + org-policy violations. + readOnly: true + parentProjectNumber: + description: >- + Optional. Output only. Parent project number where resource is + present. Empty for org-policy violations. + readOnly: true + type: string + resourceType: + description: >- + Optional. Output only. Type of the resource like + compute.googleapis.com/Disk, etc. Empty for org-policy violations. + type: string + readOnly: true + category: + description: >- + Output only. Category under which this violation is mapped. e.g. + Location, Service Usage, Access, Encryption, etc. + readOnly: true + type: string + exceptionContexts: + readOnly: true + items: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationExceptionContext + type: array + description: >- + Output only. List of all the exception detail added for the + violation. + orgPolicyConstraint: + description: >- + Output only. Immutable. The org-policy-constraint that was + incorrectly changed, which resulted in this violation. type: string - nonCompliantOrgPolicy: deprecated: true + readOnly: true + beginTime: + readOnly: true + format: google-datetime + description: Output only. Time of the event which triggered the Violation. + type: string + nonCompliantOrgPolicy: description: >- - Optional. This field is deprecated and will be removed in future - version of the API. Name of the OrgPolicy which was modified with - non-compliant change and resulted in this violation. Format: + 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} + readOnly: true type: string - GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesRequest: + acknowledged: + type: boolean + description: A boolean that indicates if the violation is acknowledged + description: Workload monitoring Violation. + id: GoogleCloudAssuredworkloadsV1Violation + type: object + GoogleCloudAssuredworkloadsV1ListViolationsResponse: + id: GoogleCloudAssuredworkloadsV1ListViolationsResponse + description: Response of ListViolations endpoint. + properties: + nextPageToken: + type: string + description: The next page token. Returns empty if reached the last page. + violations: + items: + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Violation' + type: array + description: List of Violations under a Workload. + type: object + GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions: + id: GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions + description: Options to be set for the given created workload. type: object properties: - restrictionType: + kajEnrollmentType: enum: - - RESTRICTION_TYPE_UNSPECIFIED - - ALLOW_ALL_GCP_RESOURCES - - ALLOW_COMPLIANT_RESOURCES - - APPEND_COMPLIANT_RESOURCES + - KAJ_ENROLLMENT_TYPE_UNSPECIFIED + - KEY_ACCESS_TRANSPARENCY_OFF type: string - description: >- - Required. The type of restriction for using gcp products in the - Workload environment. + description: Optional. Specifies type of KAJ Enrollment if provided. enumDescriptions: - - Unknown restriction type. - - >- - Allow the use all of all gcp products, irrespective of the - compliance posture. This effectively removes - gcp.restrictServiceUsage OrgPolicy on the AssuredWorkloads Folder. - - >- - Based on Workload's compliance regime, allowed list changes. See - - https://cloud.google.com/assured-workloads/docs/supported-products - for the list of supported resources. + - KAJ Enrollment type is unspecified - >- - Similar to ALLOW_COMPLIANT_RESOURCES but adds the list of - compliant resources to the existing list of compliant resources. - Effective org-policy of the Folder is considered to ensure there - is no disruption to the existing customer workflows. - id: GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesRequest - description: >- - Request for restricting list of available resources in Workload - environment. - GoogleProtobufEmpty: - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: GoogleProtobufEmpty - type: object - properties: {} - GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesResponse: - properties: {} - type: object - id: GoogleCloudAssuredworkloadsV1RestrictAllowedResourcesResponse - description: Response for restricting the list of allowed resources. - GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions: - id: GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissions - description: >- - Permissions granted to the AW Partner SA account for the customer - workload + KAT sets External, Hardware, and Software key feature logging only + to TRUE. (no enforcement) + GoogleCloudAssuredworkloadsV1ViolationRemediationInstructions: + id: GoogleCloudAssuredworkloadsV1ViolationRemediationInstructions type: object properties: - accessTransparencyLogsSupportCaseViewer: - type: boolean - description: Optional. Allow partner to view support case details for an AXT log - dataLogsViewer: - type: boolean - description: >- - Allow the partner to view inspectability logs and monitoring - violations. - serviceAccessApprover: - description: Optional. Allow partner to view access approval logs. - type: boolean - assuredWorkloadsMonitoring: - type: boolean - description: Optional. Allow partner to view violation alerts. - GoogleCloudAssuredworkloadsV1AnalyzeWorkloadMoveResponse: - id: GoogleCloudAssuredworkloadsV1AnalyzeWorkloadMoveResponse + consoleInstructions: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsConsole + description: Remediation instructions to resolve violation via cloud console + gcloudInstructions: + description: Remediation instructions to resolve violation via gcloud cli + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1ViolationRemediationInstructionsGcloud + description: Instructions to remediate violation + GoogleCloudAssuredworkloadsV1AssetMoveAnalysis: properties: - assetMoveAnalyses: + asset: + type: string + description: >- + The full resource name of the asset being analyzed. Example: + //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1 + assetType: + type: string + description: >- + Type of the asset being analyzed. Possible values will be among the + ones listed + [here](https://cloud.google.com/asset-inventory/docs/supported-asset-types). + analysisGroups: + description: List of eligible analyses performed for the asset. items: $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1AssetMoveAnalysis - description: List of analysis results for each asset in scope. + #/components/schemas/GoogleCloudAssuredworkloadsV1MoveAnalysisGroup type: array - nextPageToken: - type: string - description: The next page token. Is empty if the last page is reached. - description: >- - Response containing the analysis results for the hypothetical resource - move. + id: GoogleCloudAssuredworkloadsV1AssetMoveAnalysis + description: Represents move analysis results for an asset. type: object parameters: - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - oauth_token: - description: OAuth 2.0 token for the current user. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: oauth_token + name: prettyPrint schema: - type: string + type: boolean upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - callback: - description: JSONP + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: callback + name: uploadType schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - access_token: - description: OAuth access token. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: access_token + name: oauth_token schema: type: string fields: @@ -1195,6 +1204,12 @@ components: name: fields schema: type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string alt: description: Data format for response. in: query @@ -1205,6 +1220,15 @@ components: - json - media - proto + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' key: description: >- API key. Your API key identifies your project and provides you with API @@ -1223,57 +1247,36 @@ components: name: quotaUser schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + access_token: + description: OAuth access token. in: query - name: uploadType + name: access_token schema: type: string x-stackQL-resources: - violations: - id: google.assuredworkloads.violations - name: violations - title: Violations + workloads: + id: google.assuredworkloads.workloads + name: workloads + title: Workloads methods: - get: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}~1violations~1{violationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - acknowledge: + delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}~1violations~1{violationsId}:acknowledge/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}/delete response: mediaType: application/json openAPIDocKey: '200' - list: + patch: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}~1violations/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.violations - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/violations/methods/get' - - $ref: '#/components/x-stackQL-resources/violations/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - workloads: - id: google.assuredworkloads.workloads - name: workloads - title: Workloads - methods: - create: + get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -1285,24 +1288,24 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.workloads - delete: + create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}/delete + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads/post response: mediaType: application/json openAPIDocKey: '200' - patch: + analyze_workload_move: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}/patch + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}:analyzeWorkloadMove/get response: mediaType: application/json openAPIDocKey: '200' - get: + enable_resource_monitoring: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}:enableResourceMonitoring/post response: mediaType: application/json openAPIDocKey: '200' @@ -1320,31 +1323,52 @@ components: response: mediaType: application/json openAPIDocKey: '200' - analyze_workload_move: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/workloads/methods/get' + - $ref: '#/components/x-stackQL-resources/workloads/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/workloads/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/workloads/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/workloads/methods/delete' + violations: + id: google.assuredworkloads.violations + name: violations + title: Violations + methods: + list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}:analyzeWorkloadMove/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}~1violations/get response: mediaType: application/json openAPIDocKey: '200' - enable_resource_monitoring: + objectKey: $.violations + acknowledge: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}:enableResourceMonitoring/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}~1violations~1{violationsId}:acknowledge/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1workloads~1{workloadsId}~1violations~1{violationsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/workloads/methods/get' - - $ref: '#/components/x-stackQL-resources/workloads/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/workloads/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/workloads/methods/patch' + - $ref: '#/components/x-stackQL-resources/violations/methods/get' + - $ref: '#/components/x-stackQL-resources/violations/methods/list' + insert: [] + update: [] replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/workloads/methods/delete' + delete: [] operations: id: google.assuredworkloads.operations name: operations @@ -1374,71 +1398,28 @@ components: replace: [] delete: [] paths: - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations/{violationsId}: + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}: parameters: &ref_1 - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/uploadType' - get: - description: Retrieves Assured Workload Violation based on ID. - operationId: assuredworkloads.organizations.locations.workloads.violations.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Violation' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: workloadsId - required: true - schema: - type: string - - in: path - name: violationsId - required: true - schema: - type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations/{violationsId}:acknowledge: - parameters: *ref_1 - post: + - $ref: '#/components/parameters/access_token' + delete: description: >- - 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. - operationId: >- - assuredworkloads.organizations.locations.workloads.violations.acknowledge - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest + 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. + operationId: assuredworkloads.organizations.locations.workloads.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1450,8 +1431,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1AcknowledgeViolationResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -1468,21 +1448,21 @@ paths: required: true schema: type: string - - in: path - name: violationsId - required: true + - in: query + name: etag schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations: - parameters: *ref_1 - get: + patch: description: >- - 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/-` - operationId: assuredworkloads.organizations.locations.workloads.violations.list + 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. + operationId: assuredworkloads.organizations.locations.workloads.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1494,8 +1474,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1ListViolationsResponse + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' parameters: - in: path name: organizationsId @@ -1513,38 +1492,13 @@ paths: schema: type: string - in: query - name: interval.endTime - schema: - type: string - format: google-datetime - - in: query - name: interval.startTime - schema: - type: string - format: google-datetime - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads: - parameters: *ref_1 - post: - description: Creates Assured Workload. - operationId: assuredworkloads.organizations.locations.workloads.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' + format: google-fieldmask + get: + description: Gets Assured Workload associated with a CRM Node + operationId: assuredworkloads.organizations.locations.workloads.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1556,7 +1510,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' parameters: - in: path name: organizationsId @@ -1568,10 +1522,13 @@ paths: required: true schema: type: string - - in: query - name: externalId + - in: path + name: workloadsId + required: true schema: type: string + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads: + parameters: *ref_1 get: description: Lists Assured Workloads under a CRM Node. operationId: assuredworkloads.organizations.locations.workloads.list @@ -1600,29 +1557,26 @@ paths: schema: type: string - in: query - name: filter + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: filter schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}: - parameters: *ref_1 - delete: - description: >- - 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. - operationId: assuredworkloads.organizations.locations.workloads.delete + type: string + post: + description: Creates Assured Workload. + operationId: assuredworkloads.organizations.locations.workloads.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1634,7 +1588,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: organizationsId @@ -1646,26 +1600,18 @@ paths: required: true schema: type: string - - in: path - name: workloadsId - required: true - schema: - type: string - in: query - name: etag + name: externalId schema: type: string - patch: + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}:analyzeWorkloadMove: + parameters: *ref_1 + get: description: >- - 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. - operationId: assuredworkloads.organizations.locations.workloads.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' + 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. + operationId: assuredworkloads.organizations.locations.workloads.analyzeWorkloadMove security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1677,7 +1623,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1AnalyzeWorkloadMoveResponse parameters: - in: path name: organizationsId @@ -1695,13 +1642,28 @@ paths: schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask - get: - description: Gets Assured Workload associated with a CRM Node - operationId: assuredworkloads.organizations.locations.workloads.get + - in: query + name: project + schema: + type: string + - in: query + name: assetTypes + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}:enableResourceMonitoring: + parameters: *ref_1 + post: + description: Enable resource violation monitoring for a workload. + operationId: >- + assuredworkloads.organizations.locations.workloads.enableResourceMonitoring security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1713,7 +1675,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Workload' + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1EnableResourceMonitoringResponse parameters: - in: path name: organizationsId @@ -1820,14 +1783,16 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}:analyzeWorkloadMove: + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations: parameters: *ref_1 get: description: >- - 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. - operationId: assuredworkloads.organizations.locations.workloads.analyzeWorkloadMove + 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/-` + operationId: assuredworkloads.organizations.locations.workloads.violations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1840,7 +1805,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1AnalyzeWorkloadMoveResponse + #/components/schemas/GoogleCloudAssuredworkloadsV1ListViolationsResponse parameters: - in: path name: organizationsId @@ -1858,7 +1823,12 @@ paths: schema: type: string - in: query - name: assetTypes + name: interval.endTime + schema: + type: string + format: google-datetime + - in: query + name: filter schema: type: string - in: query @@ -1871,15 +1841,26 @@ paths: schema: type: string - in: query - name: project + name: interval.startTime schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}:enableResourceMonitoring: + format: google-datetime + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations/{violationsId}:acknowledge: parameters: *ref_1 post: - description: Enable resource violation monitoring for a workload. + description: >- + 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. operationId: >- - assuredworkloads.organizations.locations.workloads.enableResourceMonitoring + assuredworkloads.organizations.locations.workloads.violations.acknowledge + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1892,7 +1873,45 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudAssuredworkloadsV1EnableResourceMonitoringResponse + #/components/schemas/GoogleCloudAssuredworkloadsV1AcknowledgeViolationResponse + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: workloadsId + required: true + schema: + type: string + - in: path + name: violationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations/{violationsId}: + parameters: *ref_1 + get: + description: Retrieves Assured Workload Violation based on ID. + operationId: assuredworkloads.organizations.locations.workloads.violations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudAssuredworkloadsV1Violation' parameters: - in: path name: organizationsId @@ -1909,6 +1928,11 @@ paths: required: true schema: type: string + - in: path + name: violationsId + required: true + schema: + type: string /v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}: parameters: *ref_1 get: @@ -1976,15 +2000,15 @@ paths: schema: type: string - in: query - name: filter + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: filter schema: - type: integer - format: int32 + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/backupdr.yaml b/providers/src/googleapis.com/v00.00.00000/services/backupdr.yaml index 351705f8..6a31d08f 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/backupdr.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/backupdr.yaml @@ -7,8 +7,8 @@ info: title: Backup and DR Service API description: '' version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/backup-disaster-recovery servers: @@ -585,8 +585,9 @@ components: - ERROR networks: description: >- - Required. VPC networks to which the ManagementServer instance is + Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. + This field is optional if MS is created without PSA type: array items: $ref: '#/components/schemas/NetworkConfig' @@ -701,7 +702,13 @@ components: type: object properties: name: - description: Output only. Identifier. The resource name. + description: >- + Output only. Identifier. Name of the backup vault to create. It must + have the + format`"projects/{project}/locations/{location}/backupVaults/{backupvault}"`. + `{backupvault}` cannot be changed after creation. It must be between + 3-63 characters long and must be unique within the project and + location. readOnly: true type: string description: @@ -796,6 +803,33 @@ components: type: object additionalProperties: type: string + accessRestriction: + description: >- + Optional. Note: This field is added for future use case and will not + be supported in the current release. Optional. Access restriction + for the backup vault. Default value is WITHIN_ORGANIZATION if not + provided during creation. + type: string + enumDescriptions: + - >- + Access restriction not set. If user does not provide any value or + pass this value, it will be changed to WITHIN_ORGANIZATION. + - >- + Access to or from resources outside your current project will be + denied. + - >- + Access to or from resources outside your current organization will + be denied. + - No access restriction. + - >- + Access to or from resources outside your current organization will + be denied except for backup appliance. + enum: + - ACCESS_RESTRICTION_UNSPECIFIED + - WITHIN_PROJECT + - WITHIN_ORGANIZATION + - UNRESTRICTED + - WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA ListBackupVaultsResponse: id: ListBackupVaultsResponse description: Response message for listing BackupVaults. @@ -876,7 +910,12 @@ components: type: object properties: name: - description: Output only. Identifier. The resource name. + description: >- + Output only. Identifier. Name of the datasource to create. It must + have the + format`"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}"`. + `{datasource}` cannot be changed after creation. It must be between + 3-63 characters long and must be unique within the backup vault. readOnly: true type: string state: @@ -1372,7 +1411,12 @@ components: type: object properties: name: - description: Output only. Identifier. Name of the resource. + description: >- + Output only. Identifier. Name of the backup to create. It must have + the + format`"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}"`. + `{backup}` cannot be changed after creation. It must be between 3-63 + characters long and must be unique within the datasource. readOnly: true type: string description: @@ -2675,7 +2719,8 @@ components: resourceType: description: >- Required. The resource type to which the `BackupPlan` will be - applied. Examples include, "compute.googleapis.com/Instance" and + applied. Examples include, "compute.googleapis.com/Instance", + "sqladmin.googleapis.com/Instance" and "storage.googleapis.com/Bucket". type: string etag: @@ -2971,10 +3016,7 @@ components: readOnly: true type: string resourceType: - description: >- - Output only. Output Only. Resource type of workload on which - backupplan is applied - readOnly: true + description: Optional. Resource type of workload on which backupplan is applied type: string resource: description: >- @@ -3007,12 +3049,14 @@ components: - The resource has been created and is fully usable. - The resource is being deleted. - The resource has been created but is not usable. + - The resource is being updated. enum: - STATE_UNSPECIFIED - CREATING - ACTIVE - DELETING - INACTIVE + - UPDATING rulesConfigInfo: description: Output only. The config info related to backup rules. readOnly: true @@ -3212,326 +3256,44 @@ components: type: object additionalProperties: type: string - AssetLocation: - id: AssetLocation - description: >- - Provides the mapping of a cloud asset to a direct physical location or - to a proxy that defines the location on its behalf. - type: object - properties: - expected: - description: >- - Defines the customer expectation around ZI/ZS for this asset and - ZI/ZS state of the region at the time of asset creation. - $ref: '#/components/schemas/IsolationExpectations' - locationData: - description: Contains all kinds of physical location definitions for this asset. - type: array - items: - $ref: '#/components/schemas/LocationData' - parentAsset: - description: >- - Defines parents assets if any in order to allow later generation of - child_asset_location data via child assets. - type: array - items: - $ref: '#/components/schemas/CloudAsset' - extraParameters: - description: Defines extra parameters required for specific asset types. - type: array - items: - $ref: '#/components/schemas/ExtraParameter' - ccfeRmsPath: - description: >- - Spanner path of the CCFE RMS database. It is only applicable for - CCFE tenants that use CCFE RMS for storing resource metadata. - type: string - IsolationExpectations: - id: IsolationExpectations - type: object - properties: - zoneIsolation: - description: >- - Deprecated: use zi_org_policy, zi_region_policy and zi_region_state - instead for setting ZI expectations as per - go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zoneSeparation: - description: >- - Deprecated: use zs_org_policy, and zs_region_stateinstead for - setting Zs expectations as per go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking of the asset ZS-bit is not available - - '' - - '' - enum: - - ZS_REGION_UNSPECIFIED - - ZS_REGION_UNKNOWN - - ZS_REGION_NOT_ENABLED - - ZS_REGION_ENABLED - ziOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - ziRegionPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_REGION_POLICY_UNSPECIFIED - - ZI_REGION_POLICY_UNKNOWN - - ZI_REGION_POLICY_NOT_SET - - ZI_REGION_POLICY_FAIL_OPEN - - ZI_REGION_POLICY_FAIL_CLOSED - ziRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZI_REGION_UNSPECIFIED - - ZI_REGION_UNKNOWN - - ZI_REGION_NOT_ENABLED - - ZI_REGION_ENABLED - requirementOverride: - description: >- - Explicit overrides for ZI and ZS requirements to be used for - resources that should be excluded from ZI/ZS verification logic. - $ref: '#/components/schemas/RequirementOverride' - RequirementOverride: - id: RequirementOverride - type: object - properties: - ziOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zsOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - LocationData: - id: LocationData - type: object - properties: - directLocation: - $ref: '#/components/schemas/DirectLocationAssignment' - spannerLocation: - $ref: '#/components/schemas/SpannerLocation' - childAssetLocation: - $ref: '#/components/schemas/CloudAssetComposition' - gcpProjectProxy: - $ref: '#/components/schemas/TenantProjectProxy' - blobstoreLocation: - $ref: '#/components/schemas/BlobstoreLocation' - placerLocation: - $ref: '#/components/schemas/PlacerLocation' - DirectLocationAssignment: - id: DirectLocationAssignment - type: object - properties: - location: - type: array - items: - $ref: '#/components/schemas/LocationAssignment' - LocationAssignment: - id: LocationAssignment + SetInternalStatusResponse: + id: SetInternalStatusResponse + description: Response message from SetStatusInternal method. type: object - properties: - location: - type: string - locationType: - type: string - enumDescriptions: - - '' - - '1-10: Physical failure domains.' - - '' - - '11-20: Logical failure domains.' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - CLUSTER - - POP - - CLOUD_ZONE - - CLOUD_REGION - - MULTI_REGION_GEO - - MULTI_REGION_JURISDICTION - - GLOBAL - - OTHER - SpannerLocation: - id: SpannerLocation + properties: {} + RestoreBackupResponse: + id: RestoreBackupResponse + description: Response message for restoring from a Backup. type: object properties: - dbName: - description: Set of databases used by the resource in format /span// - type: array - items: - type: string - backupName: - description: >- - Set of backups used by the resource with name in the same format as - what is available at http://table/spanner_automon.backup_metadata - type: array - items: - type: string - CloudAssetComposition: - id: CloudAssetComposition + targetResource: + description: Details of the target resource created/modified as part of restore. + $ref: '#/components/schemas/TargetResource' + TargetResource: + id: TargetResource + description: Details of the target resource created/modified as part of restore. type: object properties: - childAsset: - type: array - items: - $ref: '#/components/schemas/CloudAsset' - CloudAsset: - id: CloudAsset + gcpResource: + description: >- + Details of the native Google Cloud resource created as part of + restore. + $ref: '#/components/schemas/GcpResource' + GcpResource: + id: GcpResource + description: Minimum details to identify a Google Cloud resource type: object properties: - assetType: - type: string - assetName: + gcpResourcename: + description: Name of the Google Cloud resource. type: string - TenantProjectProxy: - id: TenantProjectProxy - type: object - properties: - projectNumbers: - type: array - items: - type: string - BlobstoreLocation: - id: BlobstoreLocation - description: >- - Policy ID that identified data placement in Blobstore as per - go/blobstore-user-guide#data-metadata-placement-and-failure-domains - type: object - properties: - policyId: - type: array - items: - type: string - PlacerLocation: - id: PlacerLocation - description: >- - Message describing that the location of the customer resource is tied to - placer allocations - type: object - properties: - placerConfig: - description: >- - Directory with a config related to it in placer (e.g. - "/placer/prod/home/my-root/my-dir") + location: + description: 'Location of the resource: //"global"/"unspecified".' type: string - ExtraParameter: - id: ExtraParameter - description: Defines parameters that should only be used for specific asset types. - type: object - properties: - regionalMigDistributionPolicy: - description: >- - Details about zones used by regional - compute.googleapis.com/InstanceGroupManager to create instances. - $ref: '#/components/schemas/RegionalMigDistributionPolicy' - RegionalMigDistributionPolicy: - id: RegionalMigDistributionPolicy - description: >- - To be used for specifying the intended distribution of regional - compute.googleapis.com/InstanceGroupManager instances - type: object - properties: - zones: - description: Cloud zones used by regional MIG to create instances. - type: array - items: - $ref: '#/components/schemas/ZoneConfiguration' - targetShape: + type: description: >- - The shape in which the group converges around distribution of - resources. Instance of proto2 enum - type: integer - format: int32 - ZoneConfiguration: - id: ZoneConfiguration - type: object - properties: - zone: + Type of the resource. Use the Unified Resource Type, eg. + compute.googleapis.com/Instance. type: string parameters: access_token: @@ -4612,7 +4374,7 @@ paths: /v1/projects/{projectsId}/locations/{locationsId}/backupVaults: parameters: *ref_1 post: - description: '' + description: Creates a new BackupVault in a given project and location. operationId: backupdr.projects.locations.backupVaults.create requestBody: content: @@ -4697,6 +4459,10 @@ paths: name: orderBy schema: type: string + - in: query + name: view + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/backupVaults:fetchUsable: parameters: *ref_1 get: @@ -4778,6 +4544,10 @@ paths: required: true schema: type: string + - in: query + name: view + schema: + type: string patch: description: Updates the settings of a BackupVault. operationId: backupdr.projects.locations.backupVaults.patch @@ -4882,6 +4652,10 @@ paths: name: allowMissing schema: type: boolean + - in: query + name: ignoreBackupPlanReferences + schema: + type: boolean /v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}:testIamPermissions: parameters: *ref_1 post: @@ -5382,6 +5156,10 @@ paths: name: orderBy schema: type: string + - in: query + name: view + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}: parameters: *ref_1 get: @@ -5425,6 +5203,10 @@ paths: required: true schema: type: string + - in: query + name: view + schema: + type: string patch: description: Updates the settings of a Backup. operationId: backupdr.projects.locations.backupVaults.dataSources.backups.patch diff --git a/providers/src/googleapis.com/v00.00.00000/services/baremetalsolution.yaml b/providers/src/googleapis.com/v00.00.00000/services/baremetalsolution.yaml index 7275029b..911a2043 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/baremetalsolution.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/baremetalsolution.yaml @@ -9,8 +9,8 @@ info: Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center. version: v2 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bare-metal servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/batch.yaml b/providers/src/googleapis.com/v00.00.00000/services/batch.yaml index e9dd6089..569fe010 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/batch.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/batch.yaml @@ -7,8 +7,8 @@ info: title: Batch API description: An API to manage the running of Batch resources on Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240828' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241021' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/batch/ servers: @@ -180,13 +180,16 @@ components: $ref: '#/components/schemas/AllocationPolicy' labels: description: >- - 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. + Custom labels to apply to the job and any Cloud Logging + [LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) + that it generates. Use labels to group and describe the resources + they are applied to. Batch automatically applies predefined labels + and supports multiple `labels` fields for each job, which each let + you apply custom labels to various resources. Label names that start + with "goog-" or "google-" are reserved for predefined labels. For + more information about labels with Batch, see [Organize resources + using + labels](https://cloud.google.com/batch/docs/organize-resources-using-labels). type: object additionalProperties: type: string @@ -788,12 +791,16 @@ components: $ref: '#/components/schemas/ServiceAccount' labels: description: >- - Labels applied to all VM instances and other resources created by - AllocationPolicy. Labels could be user provided or system generated. - 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. + Custom labels to apply to the job and all the Compute Engine + resources that both are created by this allocation policy and + support labels. Use labels to group and describe the resources they + are applied to. Batch automatically applies predefined labels and + supports multiple `labels` fields for each job, which each let you + apply custom labels to various resources. Label names that start + with "goog-" or "google-" are reserved for predefined labels. For + more information about labels with Batch, see [Organize resources + using + labels](https://cloud.google.com/batch/docs/organize-resources-using-labels). type: object additionalProperties: type: string @@ -850,8 +857,9 @@ components: instanceTemplate: description: >- Name of an instance template used to create VMs. Named the field as - 'instance_template' instead of 'template' to avoid c++ keyword - conflict. + 'instance_template' instead of 'template' to avoid C++ keyword + conflict. Batch only supports global instance templates. You can + specify the global instance template as a full or partial URL. type: string installGpuDrivers: description: >- @@ -941,9 +949,10 @@ components: $ref: '#/components/schemas/AttachedDisk' reservation: description: >- - Optional. If specified, VMs will consume only the specified - reservation. If not specified (default), VMs will consume any - applicable reservation. + Optional. If not specified (default), VMs will consume any + applicable reservation. If "NO_RESERVATION" is specified, VMs will + not consume any reservation. Otherwise, if specified, VMs will + consume only the specified reservation. type: string Accelerator: id: Accelerator diff --git a/providers/src/googleapis.com/v00.00.00000/services/beyondcorp.yaml b/providers/src/googleapis.com/v00.00.00000/services/beyondcorp.yaml index cacbb1c5..e89429ae 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/beyondcorp.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/beyondcorp.yaml @@ -11,8 +11,8 @@ info: Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity solutions. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/ servers: @@ -755,6 +755,235 @@ components: shouldThrottle: description: Whether the port should be throttled type: boolean + GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse: + id: GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse + description: Message for response to listing SecurityGateways. + type: object + properties: + securityGateways: + description: A list of BeyondCorp SecurityGateway in the project. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway + nextPageToken: + description: >- + A token to retrieve the next page of results, or empty if there are + no more results in the list. + type: string + unreachable: + description: A list of locations that could not be reached. + type: array + items: + type: string + GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway: + id: GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway + description: Information about a BeyoncCorp SecurityGateway resource. + type: object + properties: + name: + description: Identifier. Name of the resource. + type: string + createTime: + description: Output only. Timestamp when the resource was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when the resource was last modified. + readOnly: true + type: string + format: google-datetime + displayName: + description: >- + Optional. An arbitrary user-provided name for the SecurityGateway. + Cannot exceed 64 characters. + type: string + externalIps: + description: >- + Output only. IP addresses that will be used for establishing + connection to the endpoints. + readOnly: true + type: array + items: + type: string + state: + description: Output only. The operational state of the SecurityGateway. + readOnly: true + type: string + enumDescriptions: + - Default value. This value is unused. + - SecurityGateway is being created. + - SecurityGateway is being updated. + - SecurityGateway is being deleted. + - SecurityGateway is running. + - >- + SecurityGateway is down and may be restored in the future. This + happens when CCFE sends ProjectState = OFF. + - >- + SecurityGateway encountered an error and is in an indeterministic + state. + enum: + - STATE_UNSPECIFIED + - CREATING + - UPDATING + - DELETING + - RUNNING + - DOWN + - ERROR + hubs: + description: >- + Optional. Map of Hubs that represents regional data path deployment + with GCP region as a key. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1Hub' + GoogleCloudBeyondcorpSecuritygatewaysV1Hub: + id: GoogleCloudBeyondcorpSecuritygatewaysV1Hub + description: >- + The Hub message contains information pertaining to the regional data + path deployments. + type: object + properties: + internetGateway: + description: Optional. Internet Gateway configuration. + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway + GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway: + id: GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway + description: Represents the Internet Gateway configuration. + type: object + properties: + assignedIps: + description: Output only. List of IP addresses assigned to the Cloud NAT. + readOnly: true + type: array + items: + type: string + GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest: + id: GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest + description: >- + Set Peering request for creating a VPC peering between Google network + and customer networks. + type: object + properties: + peerings: + description: Required. List of Peering connection information. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1Peering + requestId: + description: >- + Optional. An optional request ID to identify requests. Specify a + unique request ID so that if you must retry your request, the server + will know to ignore the request if it has already been completed. + The server will guarantee that for at least 60 minutes since the + first request. For example, consider a situation where you make an + initial request and the request times out. If you make the request + again with the same request ID, the server can check if original + operation with the same request ID was received, and if so, will + ignore the second request. This prevents clients from accidentally + creating duplicate commitments. The request ID must be a valid UUID + with the exception that zero UUID is not supported + (00000000-0000-0000-0000-000000000000). + type: string + validateOnly: + description: >- + Optional. If set, validates request by executing a dry-run which + would not alter the resource in any way. + type: boolean + GoogleCloudBeyondcorpSecuritygatewaysV1Peering: + id: GoogleCloudBeyondcorpSecuritygatewaysV1Peering + description: VPC Peering details. + type: object + properties: + targetNetwork: + description: >- + Required. The name of the Target VPC network name in the format: + `projects/{project}/global/networks/{network} + type: string + dnsZones: + description: >- + Optional. List of DNS zones for DNS peering with the customer VPC + network. + type: array + items: + type: string + GoogleCloudBeyondcorpSecuritygatewaysV1ListApplicationsResponse: + id: GoogleCloudBeyondcorpSecuritygatewaysV1ListApplicationsResponse + description: Message for response to listing Applications. + type: object + properties: + applications: + description: A list of BeyondCorp Application in the project. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1Application + nextPageToken: + description: >- + A token to retrieve the next page of results, or empty if there are + no more results in the list. + type: string + unreachable: + description: A list of locations that could not be reached. + type: array + items: + type: string + GoogleCloudBeyondcorpSecuritygatewaysV1Application: + id: GoogleCloudBeyondcorpSecuritygatewaysV1Application + description: A Beyondcorp Application resource information. + type: object + properties: + name: + description: Identifier. Name of the resource. + type: string + endpointMatchers: + description: >- + Required. Endpoint matchers associated with an application. A + combination of hostname and ports as endpoint matcher is used to + match the application. Match conditions for OR logic. An array of + match conditions to allow for multiple matching criteria. The rule + is considered a match if one the conditions are met. The conditions + can be one of the following combination (Hostname), (Hostname & + Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname + and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher + createTime: + description: Output only. Timestamp when the resource was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. Timestamp when the resource was last modified. + readOnly: true + type: string + format: google-datetime + displayName: + description: >- + Optional. An arbitrary user-provided name for the Application + resource. Cannot exceed 64 characters. + type: string + GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher: + id: GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher + description: >- + EndpointMatcher contains the information of the endpoint that will match + the application. + type: object + properties: + hostname: + description: Required. Hostname of the application. + type: string + ports: + description: Optional. Ports of the application. + type: array + items: + type: integer + format: int32 GoogleCloudLocationListLocationsResponse: id: GoogleCloudLocationListLocationsResponse description: The response message for Locations.ListLocations. @@ -1810,6 +2039,47 @@ components: description: Output only. API version used to start the operation. readOnly: true type: string + GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGatewayOperationMetadata: + id: GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGatewayOperationMetadata + description: Represents the metadata of the long-running operation. + type: object + properties: + createTime: + description: Output only. The time the operation was created. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + readOnly: true + type: string + format: google-datetime + target: + description: >- + Output only. Server-defined resource path for the target of the + operation. + readOnly: true + type: string + verb: + description: Output only. Name of the verb executed by the operation. + readOnly: true + type: string + statusMessage: + description: Output only. Human-readable status of the operation, if any. + readOnly: true + type: string + requestedCancellation: + description: >- + Output only. Identifies whether the user has requested cancellation + of the operation. Operations that have been cancelled successfully + have Operation.error value with a google.rpc.Status.code of 1, + corresponding to `Code.CANCELLED`. + readOnly: true + type: boolean + apiVersion: + description: Output only. API version used to start the operation. + readOnly: true + type: string parameters: access_token: description: OAuth access token. @@ -2301,149 +2571,344 @@ components: - $ref: >- #/components/x-stackQL-resources/app_gateways_iam_policies/methods/projects_locations_app_gateways_set_iam_policy delete: [] - client_connector_services_iam_policies: - id: google.beyondcorp.client_connector_services_iam_policies - name: client_connector_services_iam_policies - title: Client_connector_services_iam_policies + security_gateways: + id: google.beyondcorp.security_gateways + name: security_gateways + title: Security_gateways methods: - projects_locations_client_connector_services_set_iam_policy: + projects_locations_security_gateways_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientConnectorServices~1{clientConnectorServicesId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_client_connector_services_get_iam_policy: + objectKey: $.securityGateways + projects_locations_security_gateways_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientConnectorServices~1{clientConnectorServicesId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - projects_locations_client_connector_services_test_iam_permissions: + projects_locations_security_gateways_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientConnectorServices~1{clientConnectorServicesId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/client_connector_services_iam_policies/methods/projects_locations_client_connector_services_get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/client_connector_services_iam_policies/methods/projects_locations_client_connector_services_set_iam_policy - delete: [] - client_gateways_iam_policies: - id: google.beyondcorp.client_gateways_iam_policies - name: client_gateways_iam_policies - title: Client_gateways_iam_policies - methods: - projects_locations_client_gateways_set_iam_policy: + projects_locations_security_gateways_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientGateways~1{clientGatewaysId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_client_gateways_get_iam_policy: + projects_locations_security_gateways_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientGateways~1{clientGatewaysId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - projects_locations_client_gateways_test_iam_permissions: + projects_locations_security_gateways_set_peering: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientGateways~1{clientGatewaysId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}:setPeering/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/client_gateways_iam_policies/methods/projects_locations_client_gateways_get_iam_policy - insert: [] - update: [] - replace: + #/components/x-stackQL-resources/security_gateways/methods/projects_locations_security_gateways_get - $ref: >- - #/components/x-stackQL-resources/client_gateways_iam_policies/methods/projects_locations_client_gateways_set_iam_policy - delete: [] - partner_tenants_iam_policies: - id: google.beyondcorp.partner_tenants_iam_policies - name: partner_tenants_iam_policies - title: Partner_tenants_iam_policies + #/components/x-stackQL-resources/security_gateways/methods/projects_locations_security_gateways_list + insert: + - $ref: >- + #/components/x-stackQL-resources/security_gateways/methods/projects_locations_security_gateways_create + update: + - $ref: >- + #/components/x-stackQL-resources/security_gateways/methods/projects_locations_security_gateways_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/security_gateways/methods/projects_locations_security_gateways_delete + security_gateways_iam_policies: + id: google.beyondcorp.security_gateways_iam_policies + name: security_gateways_iam_policies + title: Security_gateways_iam_policies methods: - organizations_locations_global_partner_tenants_set_iam_policy: + projects_locations_security_gateways_set_iam_policy: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_global_partner_tenants_get_iam_policy: + projects_locations_security_gateways_get_iam_policy: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' objectKey: $.bindings - organizations_locations_global_partner_tenants_test_iam_permissions: + projects_locations_security_gateways_test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/partner_tenants_iam_policies/methods/organizations_locations_global_partner_tenants_get_iam_policy + #/components/x-stackQL-resources/security_gateways_iam_policies/methods/projects_locations_security_gateways_get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/partner_tenants_iam_policies/methods/organizations_locations_global_partner_tenants_set_iam_policy + #/components/x-stackQL-resources/security_gateways_iam_policies/methods/projects_locations_security_gateways_set_iam_policy delete: [] - proxy_configs_iam_policies: - id: google.beyondcorp.proxy_configs_iam_policies - name: proxy_configs_iam_policies - title: Proxy_configs_iam_policies + applications: + id: google.beyondcorp.applications + name: applications + title: Applications methods: - organizations_locations_global_partner_tenants_proxy_configs_set_iam_policy: + projects_locations_security_gateways_applications_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}~1proxyConfigs~1{proxyConfigsId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}~1applications/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_global_partner_tenants_proxy_configs_get_iam_policy: + objectKey: $.applications + projects_locations_security_gateways_applications_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}~1proxyConfigs~1{proxyConfigsId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}~1applications~1{applicationsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - organizations_locations_global_partner_tenants_proxy_configs_test_iam_permissions: + projects_locations_security_gateways_applications_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}~1proxyConfigs~1{proxyConfigsId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}~1applications~1{applicationsId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/proxy_configs_iam_policies/methods/organizations_locations_global_partner_tenants_proxy_configs_get_iam_policy - insert: [] + projects_locations_global_security_gateways_applications_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1global~1securityGateways~1{securityGatewaysId}~1applications/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_global_security_gateways_applications_patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1global~1securityGateways~1{securityGatewaysId}~1applications~1{applicationsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/applications/methods/projects_locations_security_gateways_applications_get + - $ref: >- + #/components/x-stackQL-resources/applications/methods/projects_locations_security_gateways_applications_list + insert: + - $ref: >- + #/components/x-stackQL-resources/applications/methods/projects_locations_global_security_gateways_applications_create + update: + - $ref: >- + #/components/x-stackQL-resources/applications/methods/projects_locations_global_security_gateways_applications_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/applications/methods/projects_locations_security_gateways_applications_delete + applications_iam_policies: + id: google.beyondcorp.applications_iam_policies + name: applications_iam_policies + title: Applications_iam_policies + methods: + projects_locations_security_gateways_applications_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}~1applications~1{applicationsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_security_gateways_applications_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1securityGateways~1{securityGatewaysId}~1applications~1{applicationsId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + projects_locations_global_security_gateways_applications_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1global~1securityGateways~1{securityGatewaysId}~1applications~1{applicationsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/applications_iam_policies/methods/projects_locations_security_gateways_applications_get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/applications_iam_policies/methods/projects_locations_security_gateways_applications_set_iam_policy + delete: [] + client_connector_services_iam_policies: + id: google.beyondcorp.client_connector_services_iam_policies + name: client_connector_services_iam_policies + title: Client_connector_services_iam_policies + methods: + projects_locations_client_connector_services_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientConnectorServices~1{clientConnectorServicesId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_client_connector_services_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientConnectorServices~1{clientConnectorServicesId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + projects_locations_client_connector_services_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientConnectorServices~1{clientConnectorServicesId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/client_connector_services_iam_policies/methods/projects_locations_client_connector_services_get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/client_connector_services_iam_policies/methods/projects_locations_client_connector_services_set_iam_policy + delete: [] + client_gateways_iam_policies: + id: google.beyondcorp.client_gateways_iam_policies + name: client_gateways_iam_policies + title: Client_gateways_iam_policies + methods: + projects_locations_client_gateways_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientGateways~1{clientGatewaysId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_client_gateways_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientGateways~1{clientGatewaysId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + projects_locations_client_gateways_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clientGateways~1{clientGatewaysId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/client_gateways_iam_policies/methods/projects_locations_client_gateways_get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/client_gateways_iam_policies/methods/projects_locations_client_gateways_set_iam_policy + delete: [] + partner_tenants_iam_policies: + id: google.beyondcorp.partner_tenants_iam_policies + name: partner_tenants_iam_policies + title: Partner_tenants_iam_policies + methods: + organizations_locations_global_partner_tenants_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_global_partner_tenants_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + organizations_locations_global_partner_tenants_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/partner_tenants_iam_policies/methods/organizations_locations_global_partner_tenants_get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/partner_tenants_iam_policies/methods/organizations_locations_global_partner_tenants_set_iam_policy + delete: [] + proxy_configs_iam_policies: + id: google.beyondcorp.proxy_configs_iam_policies + name: proxy_configs_iam_policies + title: Proxy_configs_iam_policies + methods: + organizations_locations_global_partner_tenants_proxy_configs_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}~1proxyConfigs~1{proxyConfigsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_global_partner_tenants_proxy_configs_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}~1proxyConfigs~1{proxyConfigsId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + organizations_locations_global_partner_tenants_proxy_configs_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1global~1partnerTenants~1{partnerTenantsId}~1proxyConfigs~1{proxyConfigsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/proxy_configs_iam_policies/methods/organizations_locations_global_partner_tenants_proxy_configs_get_iam_policy + insert: [] update: [] replace: - $ref: >- @@ -3849,6 +4314,737 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways: + parameters: *ref_1 + get: + description: Lists SecurityGateways in a given project and location. + operationId: beyondcorp.projects.locations.securityGateways.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + post: + description: Creates a new SecurityGateway in a given project and location. + operationId: beyondcorp.projects.locations.securityGateways.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: securityGatewayId + schema: + type: string + - in: query + name: requestId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}: + parameters: *ref_1 + get: + description: Gets details of a single SecurityGateway. + operationId: beyondcorp.projects.locations.securityGateways.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + patch: + description: Updates the parameters of a single SecurityGateway. + operationId: beyondcorp.projects.locations.securityGateways.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: requestId + schema: + type: string + delete: + description: Deletes a single SecurityGateway. + operationId: beyondcorp.projects.locations.securityGateways.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:setPeering: + parameters: *ref_1 + post: + description: >- + This is a custom method to allow customers to create a peering + connections between Google network and customer networks. This is + enabled only for the allowlisted customers. + operationId: beyondcorp.projects.locations.securityGateways.setPeering + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: beyondcorp.projects.locations.securityGateways.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:getIamPolicy: + parameters: *ref_1 + get: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: beyondcorp.projects.locations.securityGateways.getIamPolicy + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: beyondcorp.projects.locations.securityGateways.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications: + parameters: *ref_1 + get: + description: Lists Applications in a given project and location. + operationId: beyondcorp.projects.locations.securityGateways.applications.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1ListApplicationsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}: + parameters: *ref_1 + get: + description: Gets details of a single Application. + operationId: beyondcorp.projects.locations.securityGateways.applications.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1Application + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string + delete: + description: Deletes a single Application. + operationId: beyondcorp.projects.locations.securityGateways.applications.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: beyondcorp.projects.locations.securityGateways.applications.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}:getIamPolicy: + parameters: *ref_1 + get: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: beyondcorp.projects.locations.securityGateways.applications.getIamPolicy + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications: + parameters: *ref_1 + post: + description: Creates a new Application in a given project and location. + operationId: >- + beyondcorp.projects.locations.global.securityGateways.applications.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1Application + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: query + name: applicationId + schema: + type: string + - in: query + name: requestId + schema: + type: string + /v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications/{applicationsId}: + parameters: *ref_1 + patch: + description: Updates the parameters of a single Application. + operationId: beyondcorp.projects.locations.global.securityGateways.applications.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudBeyondcorpSecuritygatewaysV1Application + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: requestId + schema: + type: string + /v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications/{applicationsId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: >- + beyondcorp.projects.locations.global.securityGateways.applications.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: securityGatewaysId + required: true + schema: + type: string + - in: path + name: applicationsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/clientConnectorServices/{clientConnectorServicesId}:setIamPolicy: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/biglake.yaml b/providers/src/googleapis.com/v00.00.00000/services/biglake.yaml index 6b5364b8..24449112 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/biglake.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/biglake.yaml @@ -10,8 +10,8 @@ info: managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery. version: v1 - x-discovery-doc-revision: '20240902' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241014' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/bigquery.yaml b/providers/src/googleapis.com/v00.00.00000/services/bigquery.yaml index 881dc5a9..c8806936 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/bigquery.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/bigquery.yaml @@ -7,8 +7,8 @@ info: title: BigQuery API description: A data platform for customers to create, manage, share and query data. version: v2 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241013' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery/ servers: @@ -1365,6 +1365,11 @@ components: items: description: An object that defines dataset access for an entity. properties: + condition: + $ref: '#/components/schemas/Expr' + description: >- + Optional. condition for the binding. If CEL expression in this + field is true, this access binding will be considered dataset: $ref: '#/components/schemas/DatasetAccessEntry' description: >- @@ -5328,6 +5333,7 @@ components: - TENSORFLOW_LITE - ONNX - TRANSFORM_ONLY + - CONTRIBUTION_ANALYSIS enumDescriptions: - Default value. - Linear regression model. @@ -5356,6 +5362,7 @@ components: - >- Model to capture the columns and logic in the TRANSFORM clause along with statistics useful for ML analytic functions. + - The contribution analysis model. readOnly: true type: string trainingType: @@ -5513,6 +5520,7 @@ components: - TENSORFLOW_LITE - ONNX - TRANSFORM_ONLY + - CONTRIBUTION_ANALYSIS enumDescriptions: - Default value. - Linear regression model. @@ -5541,6 +5549,7 @@ components: - >- Model to capture the columns and logic in the TRANSFORM clause along with statistics useful for ML analytic functions. + - The contribution analysis model. readOnly: true type: string optimalTrialIds: @@ -8478,6 +8487,13 @@ components: tree models. format: double type: number + contributionMetric: + description: >- + The contribution metric. Applies to contribution analysis models. + Allowed formats supported are for summable and summable ratio + contribution metrics. These include expressions such as "SUM(x)" or + "SUM(x)/SUM(y)", where x and y are column names from the base table. + type: string dartNormalizeType: description: >- Type of normalization algorithm for boosted tree models using dart @@ -8555,6 +8571,13 @@ components: decomposeTimeSeries: description: If true, perform decompose time series and save the results. type: boolean + dimensionIdColumns: + description: >- + Optional. Names of the columns to slice on. Applies to contribution + analysis models. + items: + type: string + type: array distanceType: description: Distance type for clustering models. enum: @@ -8995,6 +9018,11 @@ components: method. format: int64 type: string + isTestColumn: + description: >- + Name of the column used to determine the rows corresponding to + control and test. Applies to contribution analysis models. + type: string itemColumn: description: Item column specified for matrix factorization models. type: string @@ -9088,6 +9116,12 @@ components: description: Maximum depth of a tree for boosted tree models. format: int64 type: string + minAprioriSupport: + description: >- + The apriori support minimum. Applies to contribution analysis + models. + format: double + type: number minRelativeProgress: description: >- When early_stop is true, stops training when accuracy improvement is @@ -10046,6 +10080,11 @@ paths: required: true schema: type: string + - in: query + name: accessPolicyVersion + schema: + type: integer + format: int32 - in: query name: datasetView schema: @@ -10089,6 +10128,11 @@ paths: required: true schema: type: string + - in: query + name: accessPolicyVersion + schema: + type: integer + format: int32 post: description: >- Undeletes a dataset which is within time travel window based on @@ -10165,6 +10209,11 @@ paths: required: true schema: type: string + - in: query + name: accessPolicyVersion + schema: + type: integer + format: int32 /projects/{projectId}/datasets: parameters: *ref_1 post: @@ -10197,6 +10246,11 @@ paths: required: true schema: type: string + - in: query + name: accessPolicyVersion + schema: + type: integer + format: int32 get: description: >- Lists all datasets in the specified project to which the user has been diff --git a/providers/src/googleapis.com/v00.00.00000/services/bigqueryconnection.yaml b/providers/src/googleapis.com/v00.00.00000/services/bigqueryconnection.yaml index 12028395..27d6e155 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/bigqueryconnection.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/bigqueryconnection.yaml @@ -7,8 +7,8 @@ info: title: BigQuery Connection API description: Allows users to manage BigQuery connections to external data sources. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241013' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery/docs/connections-api-intro servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/bigquerydatapolicy.yaml b/providers/src/googleapis.com/v00.00.00000/services/bigquerydatapolicy.yaml index e34843fd..15a5d219 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/bigquerydatapolicy.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/bigquerydatapolicy.yaml @@ -7,8 +7,8 @@ info: title: BigQuery Data Policy API description: Allows users to manage BigQuery data policies. version: v1 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241021' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery/docs/column-data-masking servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/bigquerydatatransfer.yaml b/providers/src/googleapis.com/v00.00.00000/services/bigquerydatatransfer.yaml index e74dbd52..aa804f6d 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/bigquerydatatransfer.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/bigquerydatatransfer.yaml @@ -9,8 +9,8 @@ info: Schedule queries or transfer external data from SaaS applications to Google BigQuery on a regular basis. version: v1 - x-discovery-doc-revision: '20240831' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241022' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery-transfer/ servers: @@ -326,6 +326,13 @@ components: scheduleOptions: description: Options customizing the data transfer schedule. $ref: '#/components/schemas/ScheduleOptions' + scheduleOptionsV2: + description: >- + Options customizing different types of data transfer schedule. This + field replaces "schedule" and "schedule_options" fields. + ScheduleOptionsV2 cannot be used together with + ScheduleOptions/Schedule. + $ref: '#/components/schemas/ScheduleOptionsV2' dataRefreshWindowDays: description: >- The number of days to look back to automatically refresh the data. @@ -409,6 +416,12 @@ components: the key if it is present, or otherwise try to apply project default keys if it is absent. $ref: '#/components/schemas/EncryptionConfiguration' + error: + description: >- + Output only. Error code with detailed information about reason of + the latest config failure. + readOnly: true + $ref: '#/components/schemas/Status' ScheduleOptions: id: ScheduleOptions description: Options customizing the data transfer schedule. @@ -438,6 +451,82 @@ components: manually is not limited by this option. type: string format: google-datetime + ScheduleOptionsV2: + id: ScheduleOptionsV2 + description: >- + V2 options customizing different types of data transfer schedule. This + field supports existing time-based and manual transfer schedule. Also + supports Event-Driven transfer schedule. ScheduleOptionsV2 cannot be + used together with ScheduleOptions/Schedule. + type: object + properties: + timeBasedSchedule: + description: >- + Time based transfer schedule options. This is the default schedule + option. + $ref: '#/components/schemas/TimeBasedSchedule' + manualSchedule: + description: >- + Manual transfer schedule. If set, the transfer run will not be + auto-scheduled by the system, unless the client invokes + StartManualTransferRuns. This is equivalent to + disable_auto_scheduling = true. + $ref: '#/components/schemas/ManualSchedule' + eventDrivenSchedule: + description: >- + Event driven transfer schedule options. If set, the transfer will be + scheduled upon events arrial. + $ref: '#/components/schemas/EventDrivenSchedule' + TimeBasedSchedule: + id: TimeBasedSchedule + description: >- + Options customizing the time based transfer schedule. Options are + migrated from the original ScheduleOptions message. + type: object + properties: + schedule: + description: >- + 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. + type: string + startTime: + description: >- + Specifies time to start scheduling transfer runs. The first run will + be scheduled at or after the start time according to a recurrence + pattern defined in the schedule string. The start time can be + changed at any moment. + type: string + format: google-datetime + endTime: + description: >- + Defines time to stop scheduling transfer runs. A transfer run cannot + be scheduled at or after the end time. The end time can be changed + at any moment. + type: string + format: google-datetime + ManualSchedule: + id: ManualSchedule + description: Options customizing manual transfers schedule. + type: object + properties: {} + EventDrivenSchedule: + id: EventDrivenSchedule + description: Options customizing EventDriven transfers schedule. + type: object + properties: + pubsubSubscription: + description: >- + Pub/Sub subscription name used to receive events. Only Google Cloud + Storage data source support this option. Format: + projects/{project}/subscriptions/{subscription} + type: string EmailPreferences: id: EmailPreferences description: >- @@ -464,6 +553,38 @@ components: kmsKeyName: description: The name of the KMS key used for encrypting BigQuery data. type: string + Status: + id: Status + description: >- + 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). + type: object + properties: + code: + description: The status code, which should be an enum value of google.rpc.Code. + type: integer + format: int32 + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + details: + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. Empty: id: Empty description: >- @@ -629,38 +750,6 @@ components: config this run was derived from. readOnly: true $ref: '#/components/schemas/EmailPreferences' - Status: - id: Status - description: >- - 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). - type: object - properties: - code: - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - format: int32 - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - type: string - details: - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - type: array - items: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. StartManualTransferRunsRequest: id: StartManualTransferRunsRequest description: A request to start manual transfer runs. diff --git a/providers/src/googleapis.com/v00.00.00000/services/bigqueryreservation.yaml b/providers/src/googleapis.com/v00.00.00000/services/bigqueryreservation.yaml index f6d462fb..dc39145c 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/bigqueryreservation.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/bigqueryreservation.yaml @@ -7,8 +7,8 @@ info: title: BigQuery Reservation API description: A service to modify your BigQuery flat-rate reservations. version: v1 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigquery/ servers: @@ -149,6 +149,14 @@ components: to OUTPUT_ONLY since these fields are set in rerouted requests sent across regions. type: string + labels: + description: >- + Optional. The labels associated with this reservation. You can use + these to organize and group your reservations. You can set this + property when inserting or updating a reservation. + type: object + additionalProperties: + type: string Autoscale: id: Autoscale description: Auto scaling settings. @@ -157,7 +165,10 @@ components: currentSlots: description: >- Output only. The slot capacity added to this reservation when - autoscale happens. Will be between [0, max_slots]. + autoscale happens. Will be between [0, max_slots]. Note: after users + reduce max_slots, it may take a while before it can be propagated, + so current_slots may stay in the original value and could be larger + than max_slots for that brief period (less than one minute) readOnly: true type: string format: int64 @@ -307,14 +318,19 @@ components: commitmentStartTime: description: >- Output only. The start of the current commitment period. It is - applicable only for ACTIVE capacity commitments. + applicable only for ACTIVE capacity commitments. Note after the + commitment is renewed, commitment_start_time won't be changed. It + refers to the start time of the original commitment. readOnly: true type: string format: google-datetime commitmentEndTime: description: >- Output only. The end of the current commitment period. It is - applicable only for ACTIVE capacity commitments. + applicable only for ACTIVE capacity commitments. Note after renewal, + commitment_end_time is the time the renewed commitment expires. So + itwould be at a time after commitment_start_time + committed period, + because we don't change commitment_start_time , readOnly: true type: string format: google-datetime @@ -568,6 +584,17 @@ components: - STATE_UNSPECIFIED - PENDING - ACTIVE + enableGeminiInBigquery: + description: >- + Optional. This field controls if "Gemini in BigQuery" + (https://cloud.google.com/gemini/docs/bigquery/overview) features + should be enabled for this reservation assignment, which is not on + by default. "Gemini in BigQuery" has a distinct compliance posture + from BigQuery. If this field is set to true, the assignment job type + is QUERY, and the parent reservation edition is ENTERPRISE_PLUS, + then the assignment will give the grantee project/organization + access to "Gemini in BigQuery" features. + type: boolean ListAssignmentsResponse: id: ListAssignmentsResponse description: The response for ReservationService.ListAssignments. diff --git a/providers/src/googleapis.com/v00.00.00000/services/bigtableadmin.yaml b/providers/src/googleapis.com/v00.00.00000/services/bigtableadmin.yaml index 72897465..d297dd98 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/bigtableadmin.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/bigtableadmin.yaml @@ -7,8 +7,8 @@ info: title: Cloud Bigtable Admin API description: Administer your Cloud Bigtable tables and instances. version: v2 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/bigtable/ servers: @@ -308,6 +308,20 @@ components: and optimized for 50% storage utilization. type: integer format: int32 + nodeScalingFactor: + description: Immutable. The node scaling factor of this cluster. + type: string + enumDescriptions: + - No node scaling specified. Defaults to NODE_SCALING_FACTOR_1X. + - The cluster is running with a scaling factor of 1. + - >- + The cluster is running with a scaling factor of 2. All node count + values must be in increments of 2 with this scaling factor + enabled, otherwise an INVALID_ARGUMENT error will be returned. + enum: + - NODE_SCALING_FACTOR_UNSPECIFIED + - NODE_SCALING_FACTOR_1X + - NODE_SCALING_FACTOR_2X clusterConfig: description: Configuration for this cluster. $ref: '#/components/schemas/ClusterConfig' @@ -545,11 +559,15 @@ components: RowAffinity: id: RowAffinity description: >- - If enabled, the AFE will route the request based on the row key of the + If enabled, Bigtable will route the request based on the row key of the request, rather than randomly. Instead, each row key will be assigned to a cluster, and will stick to that cluster. If clusters are added or removed, then this may affect which row keys stick to which clusters. To - avoid this, users can specify a group cluster. + avoid this, users can use a cluster group to specify which clusters are + to be used. In this case, new clusters that are not a part of the + cluster group will not be routed to, and routing will be unaffected by + the new cluster. Moreover, clusters specified in the cluster group + cannot be deleted unless removed from the cluster group. type: object properties: {} SingleClusterRouting: @@ -1392,23 +1410,20 @@ components: stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` - includes an `Encoding` which describes how to convert to/from the - underlying data. Each encoding also defines the following properties: * - Order-preserving: Does the encoded value sort consistently with the - original typed value? Note that Bigtable will always sort data based on - the raw encoded value, *not* the decoded type. - Example: BYTES values - sort in the same order as their raw encodings. - Counterexample: - Encoding INT64 as a fixed-width decimal string does *not* preserve sort - order when dealing with negative numbers. `INT64(1) > INT64(-1)`, but - `STRING("-00001") > STRING("00001)`. * Self-delimiting: If we - concatenate two encoded values, can we always tell where the first one - ends and the second one begins? - Example: If we encode INT64s to - fixed-width STRINGs, the first value will always contain exactly N - digits, possibly preceded by a sign. - Counterexample: If we concatenate - two UTF-8 encoded STRINGs, we have no way to tell where the first one - ends. * Compatibility: Which other systems have matching encoding - schemes? For example, does this encoding have a GoogleSQL equivalent? - HBase? Java? + includes an `Encoding` which describes how to convert to or from the + underlying data. Each encoding can operate in one of two modes: - + Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` + if and only if `X <= Y`. This is useful anywhere sort order is + important, for example when encoding keys. - Distinct: In this mode, + Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. + However, the converse is not guaranteed. For example, both "{'foo': '1', + 'bar': '2'}" and "{'bar': '2', 'foo': '1'}" are valid encodings of the + same JSON value. The API clearly documents which mode is used wherever + an encoding can be configured. Each encoding also documents which values + are supported in which modes. For example, when encoding INT64 as a + numeric STRING, negative numbers cannot be encoded in sorted mode. This + is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > + STRING("00001")`. type: object properties: bytesType: @@ -1453,11 +1468,11 @@ components: type: object properties: encoding: - description: The encoding to use when converting to/from lower level types. + description: The encoding to use when converting to or from lower level types. $ref: '#/components/schemas/GoogleBigtableAdminV2TypeBytesEncoding' GoogleBigtableAdminV2TypeBytesEncoding: id: GoogleBigtableAdminV2TypeBytesEncoding - description: Rules used to convert to/from lower level types. + description: Rules used to convert to or from lower level types. type: object properties: raw: @@ -1466,8 +1481,8 @@ components: GoogleBigtableAdminV2TypeBytesEncodingRaw: id: GoogleBigtableAdminV2TypeBytesEncodingRaw description: >- - Leaves the value "as-is" * Order-preserving? Yes * Self-delimiting? No * - Compatibility? N/A + Leaves the value as-is. Sorted mode: all values are supported. Distinct + mode: all values are supported. type: object properties: {} GoogleBigtableAdminV2TypeString: @@ -1476,15 +1491,16 @@ components: type: object properties: encoding: - description: The encoding to use when converting to/from lower level types. + description: The encoding to use when converting to or from lower level types. $ref: '#/components/schemas/GoogleBigtableAdminV2TypeStringEncoding' GoogleBigtableAdminV2TypeStringEncoding: id: GoogleBigtableAdminV2TypeStringEncoding - description: Rules used to convert to/from lower level types. + description: Rules used to convert to or from lower level types. type: object properties: utf8Raw: description: 'Deprecated: if set, converts to an empty `utf8_bytes`.' + deprecated: true $ref: '#/components/schemas/GoogleBigtableAdminV2TypeStringEncodingUtf8Raw' utf8Bytes: description: Use `Utf8Bytes` encoding. @@ -1492,15 +1508,16 @@ components: #/components/schemas/GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes GoogleBigtableAdminV2TypeStringEncodingUtf8Raw: id: GoogleBigtableAdminV2TypeStringEncodingUtf8Raw + deprecated: true description: 'Deprecated: prefer the equivalent `Utf8Bytes`.' type: object properties: {} GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes: id: GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes description: >- - UTF-8 encoding * Order-preserving? Yes (code point order) * - Self-delimiting? No * Compatibility? - BigQuery Federation `TEXT` - encoding - HBase `Bytes.toBytes` - Java + UTF-8 encoding. Sorted mode: - All values are supported. - Code point + order is preserved. Distinct mode: all values are supported. Compatible + with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)` type: object properties: {} @@ -1510,11 +1527,11 @@ components: type: object properties: encoding: - description: The encoding to use when converting to/from lower level types. + description: The encoding to use when converting to or from lower level types. $ref: '#/components/schemas/GoogleBigtableAdminV2TypeInt64Encoding' GoogleBigtableAdminV2TypeInt64Encoding: id: GoogleBigtableAdminV2TypeInt64Encoding - description: Rules used to convert to/from lower level types. + description: Rules used to convert to or from lower level types. type: object properties: bigEndianBytes: @@ -1524,15 +1541,16 @@ components: GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes: id: GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes description: >- - Encodes the value as an 8-byte big endian twos complement `Bytes` value. - * Order-preserving? No (positive values only) * Self-delimiting? Yes * - Compatibility? - BigQuery Federation `BINARY` encoding - HBase + Encodes the value as an 8-byte big-endian two's complement value. Sorted + mode: non-negative values are supported. Distinct mode: all values are + supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN` type: object properties: bytesType: description: 'Deprecated: ignored if set.' + deprecated: true $ref: '#/components/schemas/GoogleBigtableAdminV2TypeBytes' GoogleBigtableAdminV2TypeFloat32: id: GoogleBigtableAdminV2TypeFloat32 @@ -1565,22 +1583,21 @@ components: id: GoogleBigtableAdminV2TypeAggregate description: >- A value that combines incremental updates into a summarized value. Data - is never directly written or read using type `Aggregate`. Writes will - provide either the `input_type` or `state_type`, and reads will always - return the `state_type` . + is never directly written or read using type `Aggregate`. Writes provide + either the `input_type` or `state_type`, and reads always return the + `state_type` . type: object properties: inputType: description: >- - Type of the inputs that are accumulated by this `Aggregate`, which - must specify a full encoding. Use `AddInput` mutations to accumulate - new inputs. + Type of the inputs that are accumulated by this `Aggregate`. Use + `AddInput` mutations to accumulate new inputs. $ref: '#/components/schemas/Type' stateType: description: >- Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` - chosen, and will always specify a full encoding. + chosen. readOnly: true $ref: '#/components/schemas/Type' sum: @@ -1805,8 +1822,9 @@ components: format: google-duration frequency: description: >- - Required. How frequently automated backups should occur. The only - supported value at this time is 24 hours. + How frequently automated backups should occur. The only supported + value at this time is 24 hours. An undefined frequency is treated as + 24 hours. type: string format: google-duration Split: diff --git a/providers/src/googleapis.com/v00.00.00000/services/billingbudgets.yaml b/providers/src/googleapis.com/v00.00.00000/services/billingbudgets.yaml index 54ca64ac..218bdbc9 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/billingbudgets.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/billingbudgets.yaml @@ -9,8 +9,8 @@ info: 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. version: v1 - x-discovery-doc-revision: '20240914' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241102' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/billing/docs/how-to/budget-api-overview servers: @@ -37,40 +37,171 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudBillingBudgetsV1LastPeriodAmount: - properties: {} - id: GoogleCloudBillingBudgetsV1LastPeriodAmount + GoogleCloudBillingBudgetsV1Budget: + id: GoogleCloudBillingBudgetsV1Budget description: >- - Describes a budget amount targeted to the last Filter.calendar_period - spend. At this time, the amount is automatically 100% of the last - calendar period's spend; that is, there are no other options yet. - LastPeriodAmount cannot be set for a budget configured with a - Filter.custom_period. + A budget is a plan that describes what you expect to spend on Cloud + projects, plus the rules to execute as spend is tracked against that + plan, (for example, send an alert when 90% of the target spend is met). + The budget time period is configurable, with options such as month + (default), quarter, year, or custom time period. type: object - GoogleCloudBillingBudgetsV1CustomPeriod: - id: GoogleCloudBillingBudgetsV1CustomPeriod + properties: + etag: + type: string + description: >- + Optional. Etag to validate that the object is unchanged for a + read-modify-write operation. An empty etag causes an update to + overwrite other changes. + amount: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1BudgetAmount' + description: Required. Budgeted amount. + ownershipScope: + type: string + enum: + - OWNERSHIP_SCOPE_UNSPECIFIED + - ALL_USERS + - BILLING_ACCOUNT + enumDescriptions: + - Unspecified ownership scope, same as ALL_USERS. + - >- + Both billing account-level users and project-level users have full + access to the budget, if the users have the required IAM + permissions. + - >- + Only billing account-level users have full access to the budget. + Project-level users have read-only access, even if they have the + required IAM permissions. + notificationsRule: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1NotificationsRule' + description: >- + Optional. Rules to apply to notifications sent based on budget spend + and thresholds. + displayName: + type: string + description: >- + User data for display name in UI. The name must be less than or + equal to 60 characters. + name: + description: >- + 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}`. + readOnly: true + type: string + thresholdRules: + type: array + items: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1ThresholdRule' + description: >- + 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. + budgetFilter: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Filter' + description: >- + Optional. Filters that define which resources are used to compute + the actual spend against the budget amount, such as projects, + services, and the budget's time period, as well as other filters. + GoogleCloudBillingBudgetsV1BudgetAmount: + properties: + lastPeriodAmount: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1LastPeriodAmount' + description: >- + Use the last period's actual spend as the budget for the present + period. LastPeriodAmount can only be set when the budget's time + period is a Filter.calendar_period. It cannot be set in combination + with Filter.custom_period. + specifiedAmount: + $ref: '#/components/schemas/GoogleTypeMoney' + description: >- + A specified amount to use as the budget. `currency_code` is + optional. If specified when creating a budget, it must match the + currency of the billing account. If specified when updating a + budget, it must match the currency_code of the existing budget. The + `currency_code` is provided on output. + description: The budgeted amount for each usage period. + id: GoogleCloudBillingBudgetsV1BudgetAmount type: object - description: All date times begin at 12 AM US and Canadian Pacific Time (UTC-8). + GoogleProtobufEmpty: + properties: {} + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + type: object + id: GoogleProtobufEmpty + GoogleTypeMoney: properties: - endDate: + units: description: >- - Optional. The end date of the time period. Budgets with elapsed end - date won't be processed. If unset, specifies to track all usage - incurred since the start_date. - $ref: '#/components/schemas/GoogleTypeDate' - startDate: - $ref: '#/components/schemas/GoogleTypeDate' - description: Required. The start date must be after January 1, 2017. + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. + type: string + format: int64 + currencyCode: + type: string + description: The three-letter currency code defined in ISO 4217. + nanos: + type: integer + format: int32 + description: >- + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. + type: object + description: Represents an amount of money with its currency type. + id: GoogleTypeMoney GoogleCloudBillingBudgetsV1NotificationsRule: + description: >- + NotificationsRule defines notifications that are sent based on budget + spend and thresholds. + type: object properties: schemaVersion: + type: string description: >- Optional. Required when NotificationsRule.pubsub_topic is set. The schema version of the notification sent to NotificationsRule.pubsub_topic. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format. - type: string + disableDefaultIamRecipients: + description: >- + Optional. When set to true, disables default notifications sent when + a threshold is exceeded. Default notifications are sent to those + with Billing Account Administrator and Billing Account User IAM + roles for the target account. + type: boolean + monitoringNotificationChannels: + description: >- + Optional. Email targets to send notifications to when a threshold is + exceeded. This is in addition to the `DefaultIamRecipients` who + receive alert emails based on their billing account IAM role. The + value is the full REST resource name of a Cloud Monitoring email + notification channel with the form + `projects/{project_id}/notificationChannels/{channel_id}`. A maximum + of 5 email notifications are allowed. To customize budget alert + email recipients with monitoring notification channels, you _must + create the monitoring notification channels before you link them to + a budget_. For guidance on setting up notification channels to use + with budgets, see [Customize budget alert email + recipients](https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients). + For Cloud Billing budget alerts, you _must use email notification + channels_. The other types of notification channels are _not_ + supported, such as Slack, SMS, or PagerDuty. If you want to [send + budget notifications to + Slack](https://cloud.google.com/billing/docs/how-to/notify#send_notifications_to_slack), + use a pubsubTopic and configure [programmatic + notifications](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications). + type: array + items: + type: string enableProjectLevelRecipients: description: >- Optional. When set to true, and when the budget has a single project @@ -80,7 +211,6 @@ components: recipients are the users with `Owner` role on a cloud project. type: boolean pubsubTopic: - type: string description: >- Optional. The name of the Pub/Sub topic where budget-related messages are published, in the form @@ -103,218 +233,135 @@ components: PERMISSION_DENIED. For additional details on Pub/Sub roles and permissions, see [Permissions required for this task](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task). - disableDefaultIamRecipients: - type: boolean + type: string + id: GoogleCloudBillingBudgetsV1NotificationsRule + GoogleCloudBillingBudgetsV1ListBudgetsResponse: + description: Response for ListBudgets + id: GoogleCloudBillingBudgetsV1ListBudgetsResponse + properties: + nextPageToken: description: >- - Optional. When set to true, disables default notifications sent when - a threshold is exceeded. Default notifications are sent to those - with Billing Account Administrator and Billing Account User IAM - roles for the target account. - monitoringNotificationChannels: + If not empty, indicates that there may be more budgets that match + the request; this value should be passed in a new + `ListBudgetsRequest`. + type: string + budgets: + description: List of the budgets owned by the requested billing account. items: - type: string + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Budget' type: array - description: >- - Optional. Email targets to send notifications to when a threshold is - exceeded. This is in addition to the `DefaultIamRecipients` who - receive alert emails based on their billing account IAM role. The - value is the full REST resource name of a Cloud Monitoring email - notification channel with the form - `projects/{project_id}/notificationChannels/{channel_id}`. A maximum - of 5 email notifications are allowed. To customize budget alert - email recipients with monitoring notification channels, you _must - create the monitoring notification channels before you link them to - a budget_. For guidance on setting up notification channels to use - with budgets, see [Customize budget alert email - recipients](https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients). - For Cloud Billing budget alerts, you _must use email notification - channels_. The other types of notification channels are _not_ - supported, such as Slack, SMS, or PagerDuty. If you want to [send - budget notifications to - Slack](https://cloud.google.com/billing/docs/how-to/notify#send_notifications_to_slack), - use a pubsubTopic and configure [programmatic - notifications](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications). - description: >- - NotificationsRule defines notifications that are sent based on budget - spend and thresholds. - id: GoogleCloudBillingBudgetsV1NotificationsRule type: object - GoogleCloudBillingBudgetsV1Budget: - id: GoogleCloudBillingBudgetsV1Budget - description: >- - A budget is a plan that describes what you expect to spend on Cloud - projects, plus the rules to execute as spend is tracked against that - plan, (for example, send an alert when 90% of the target spend is met). - The budget time period is configurable, with options such as month - (default), quarter, year, or custom time period. + GoogleTypeDate: + type: object + id: GoogleTypeDate properties: - amount: - description: Required. Budgeted amount. - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1BudgetAmount' - etag: - description: >- - Optional. Etag to validate that the object is unchanged for a - read-modify-write operation. An empty etag causes an update to - overwrite other changes. - type: string - budgetFilter: + month: description: >- - Optional. Filters that define which resources are used to compute - the actual spend against the budget amount, such as projects, - services, and the budget's time period, as well as other filters. - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Filter' - notificationsRule: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1NotificationsRule' + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + format: int32 + type: integer + day: description: >- - Optional. Rules to apply to notifications sent based on budget spend - and thresholds. - thresholdRules: - items: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1ThresholdRule' - description: >- - 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. - type: array - displayName: - description: >- - User data for display name in UI. The name must be less than or - equal to 60 characters. - type: string - ownershipScope: - type: string - enum: - - OWNERSHIP_SCOPE_UNSPECIFIED - - ALL_USERS - - BILLING_ACCOUNT - enumDescriptions: - - Unspecified ownership scope, same as ALL_USERS. - - >- - Both billing account-level users and project-level users have full - access to the budget, if the users have the required IAM - permissions. - - >- - Only billing account-level users have full access to the budget. - Project-level users have read-only access, even if they have the - required IAM permissions. - name: - readOnly: true + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + format: int32 + type: integer + year: + format: int32 + type: integer description: >- - 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}`. - type: string + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + description: >- + 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 + GoogleCloudBillingBudgetsV1CustomPeriod: type: object - GoogleCloudBillingBudgetsV1Filter: + description: All date times begin at 12 AM US and Canadian Pacific Time (UTC-8). + id: GoogleCloudBillingBudgetsV1CustomPeriod properties: - projects: - items: - type: string - description: >- - Optional. A set of projects of the form `projects/{project}`, - specifying that usage from only this set of projects should be - included in the budget. If omitted, the report includes all usage - for the billing account, regardless of which project the usage - occurred on. - type: array - services: - items: - type: string - description: >- - Optional. A set of services of the form `services/{service_id}`, - specifying that usage from only this set of services should be - included in the budget. If omitted, the report includes usage for - all the services. The service names are available through the - Catalog API: - https://cloud.google.com/billing/v1/how-tos/catalog-api. - type: array - resourceAncestors: - items: - type: string + endDate: + $ref: '#/components/schemas/GoogleTypeDate' description: >- - Optional. A set of folder and organization names of the form - `folders/{folderId}` or `organizations/{organizationId}`, specifying - that usage from only this set of folders and organizations should be - included in the budget. If omitted, the budget includes all usage - that the billing account pays for. If the folder or organization - contains projects that are paid for by a different Cloud Billing - account, the budget *doesn't* apply to those projects. - type: array - calendarPeriod: - enum: - - CALENDAR_PERIOD_UNSPECIFIED - - MONTH - - QUARTER - - YEAR - type: string + Optional. The end date of the time period. Budgets with elapsed end + date won't be processed. If unset, specifies to track all usage + incurred since the start_date. + startDate: + $ref: '#/components/schemas/GoogleTypeDate' + description: Required. The start date must be after January 1, 2017. + GoogleCloudBillingBudgetsV1ThresholdRule: + id: GoogleCloudBillingBudgetsV1ThresholdRule + description: >- + ThresholdRule contains the definition of a threshold. Threshold rules + define the triggering events used to generate a budget notification + email. When a threshold is crossed (spend exceeds the specified + percentages of the budget), budget alert emails are sent to the email + recipients you specify in the [NotificationsRule](#notificationsrule). + Threshold rules also affect the fields included in the [JSON data + object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format) + sent to a Pub/Sub topic. Threshold rules are _required_ if using email + notifications. Threshold rules are _optional_ if only setting a + [`pubsubTopic` NotificationsRule](#NotificationsRule), unless you want + your JSON data object to include data about the thresholds you set. For + more information, see [set budget threshold rules and + actions](https://cloud.google.com/billing/docs/how-to/budgets#budget-actions). + properties: + spendBasis: enumDescriptions: + - Unspecified threshold basis. - >- - Calendar period is unset. This is the default if the budget is for - a custom time period (CustomPeriod). - - >- - A month. Month starts on the first day of each month, such as - January 1, February 1, March 1, and so on. + Use current spend as the basis for comparison against the + threshold. - >- - A quarter. Quarters start on dates January 1, April 1, July 1, and - October 1 of each year. - - A year. Year starts on January 1. - description: >- - Optional. Specifies to track usage for recurring calendar period. - For example, assume that CalendarPeriod.QUARTER is set. The budget - tracks usage from April 1 to June 30, when the current calendar - month is April, May, June. After that, it tracks usage from July 1 - to September 30 when the current calendar month is July, August, - September, so on. - subaccounts: - type: array - description: >- - Optional. A set of subaccounts of the form - `billingAccounts/{account_id}`, specifying that usage from only this - set of subaccounts should be included in the budget. If a subaccount - is set to the name of the parent account, usage from the parent - account is included. If the field is omitted, the report includes - usage from the parent account and all subaccounts, if they exist. - items: - type: string - labels: - description: >- - Optional. A single label and value pair specifying that usage from - only this set of labeled resources should be included in the budget. - If omitted, the report includes all labeled and unlabeled usage. An - object containing a single `"key": value` pair. Example: `{ "name": - "wrench" }`. _Currently, multiple entries or multiple values per - entry are not allowed._ - type: object - additionalProperties: - items: - type: any - type: array - customPeriod: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1CustomPeriod' + Use forecasted spend for the period as the basis for comparison + against the threshold. FORECASTED_SPEND can only be set when the + budget's time period is a Filter.calendar_period. It cannot be set + in combination with Filter.custom_period. + type: string + enum: + - BASIS_UNSPECIFIED + - CURRENT_SPEND + - FORECASTED_SPEND description: >- - Optional. Specifies to track usage from any start date (required) to - any end date (optional). This time period is static, it does not - recur. - creditTypes: - type: array - items: - type: string + Optional. The type of basis used to determine if spend has passed + the threshold. Behavior defaults to CURRENT_SPEND if not set. + thresholdPercent: description: >- - Optional. If Filter.credit_types_treatment is - INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be - subtracted from gross cost to determine the spend for threshold - calculations. See [a list of acceptable credit type - values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). - If Filter.credit_types_treatment is **not** - INCLUDE_SPECIFIED_CREDITS, this field must be empty. + Required. Send an alert when this threshold is exceeded. This is a + 1.0-based percentage, so 0.5 = 50%. Validation: non-negative number. + type: number + format: double + type: object + GoogleCloudBillingBudgetsV1LastPeriodAmount: + properties: {} + description: >- + Describes a budget amount targeted to the last Filter.calendar_period + spend. At this time, the amount is automatically 100% of the last + calendar period's spend; that is, there are no other options yet. + LastPeriodAmount cannot be set for a budget configured with a + Filter.custom_period. + id: GoogleCloudBillingBudgetsV1LastPeriodAmount + type: object + GoogleCloudBillingBudgetsV1Filter: + id: GoogleCloudBillingBudgetsV1Filter + description: A filter for a budget, limiting the scope of the cost to calculate. + type: object + properties: creditTypesTreatment: enum: - CREDIT_TYPES_TREATMENT_UNSPECIFIED - INCLUDE_ALL_CREDITS - EXCLUDE_ALL_CREDITS - INCLUDE_SPECIFIED_CREDITS - description: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. type: string enumDescriptions: - '' @@ -329,161 +376,108 @@ components: types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type) specified in the credit_types field are subtracted from the gross cost to determine the spend for threshold calculations. - id: GoogleCloudBillingBudgetsV1Filter - type: object - description: A filter for a budget, limiting the scope of the cost to calculate. - GoogleCloudBillingBudgetsV1ListBudgetsResponse: - properties: - nextPageToken: + description: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. + subaccounts: + type: array + items: + type: string description: >- - If not empty, indicates that there may be more budgets that match - the request; this value should be passed in a new - `ListBudgetsRequest`. - type: string - budgets: - description: List of the budgets owned by the requested billing account. + Optional. A set of subaccounts of the form + `billingAccounts/{account_id}`, specifying that usage from only this + set of subaccounts should be included in the budget. If a subaccount + is set to the name of the parent account, usage from the parent + account is included. If the field is omitted, the report includes + usage from the parent account and all subaccounts, if they exist. + resourceAncestors: items: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Budget' + type: string type: array - description: Response for ListBudgets - type: object - id: GoogleCloudBillingBudgetsV1ListBudgetsResponse - GoogleTypeDate: - properties: - year: - type: integer description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - format: int32 - month: - description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - type: integer - format: int32 - day: - format: int32 - type: integer - description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. - description: >- - 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 - type: object - id: GoogleTypeDate - GoogleProtobufEmpty: - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: GoogleProtobufEmpty - type: object - properties: {} - GoogleTypeMoney: - type: object - properties: - nanos: - type: integer - description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - format: int32 - currencyCode: - type: string - description: The three-letter currency code defined in ISO 4217. - units: - description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. - format: int64 - type: string - description: Represents an amount of money with its currency type. - id: GoogleTypeMoney - GoogleCloudBillingBudgetsV1BudgetAmount: - type: object - properties: - specifiedAmount: + Optional. A set of folder and organization names of the form + `folders/{folderId}` or `organizations/{organizationId}`, specifying + that usage from only this set of folders and organizations should be + included in the budget. If omitted, the budget includes all usage + that the billing account pays for. If the folder or organization + contains projects that are paid for by a different Cloud Billing + account, the budget *doesn't* apply to those projects. + projects: + type: array + items: + type: string description: >- - A specified amount to use as the budget. `currency_code` is - optional. If specified when creating a budget, it must match the - currency of the billing account. If specified when updating a - budget, it must match the currency_code of the existing budget. The - `currency_code` is provided on output. - $ref: '#/components/schemas/GoogleTypeMoney' - lastPeriodAmount: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1LastPeriodAmount' + Optional. A set of projects of the form `projects/{project}`, + specifying that usage from only this set of projects should be + included in the budget. If omitted, the report includes all usage + for the billing account, regardless of which project the usage + occurred on. + services: + items: + type: string description: >- - Use the last period's actual spend as the budget for the present - period. LastPeriodAmount can only be set when the budget's time - period is a Filter.calendar_period. It cannot be set in combination - with Filter.custom_period. - id: GoogleCloudBillingBudgetsV1BudgetAmount - description: The budgeted amount for each usage period. - GoogleCloudBillingBudgetsV1ThresholdRule: - properties: - thresholdPercent: - type: number + Optional. A set of services of the form `services/{service_id}`, + specifying that usage from only this set of services should be + included in the budget. If omitted, the report includes usage for + all the services. The service names are available through the + Catalog API: + https://cloud.google.com/billing/v1/how-tos/catalog-api. + type: array + customPeriod: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1CustomPeriod' description: >- - Required. Send an alert when this threshold is exceeded. This is a - 1.0-based percentage, so 0.5 = 50%. Validation: non-negative number. - format: double - spendBasis: + Optional. Specifies to track usage from any start date (required) to + any end date (optional). This time period is static, it does not + recur. + calendarPeriod: enum: - - BASIS_UNSPECIFIED - - CURRENT_SPEND - - FORECASTED_SPEND + - CALENDAR_PERIOD_UNSPECIFIED + - MONTH + - QUARTER + - YEAR + type: string enumDescriptions: - - Unspecified threshold basis. - >- - Use current spend as the basis for comparison against the - threshold. + Calendar period is unset. This is the default if the budget is for + a custom time period (CustomPeriod). - >- - Use forecasted spend for the period as the basis for comparison - against the threshold. FORECASTED_SPEND can only be set when the - budget's time period is a Filter.calendar_period. It cannot be set - in combination with Filter.custom_period. - type: string + A month. Month starts on the first day of each month, such as + January 1, February 1, March 1, and so on. + - >- + A quarter. Quarters start on dates January 1, April 1, July 1, and + October 1 of each year. + - A year. Year starts on January 1. description: >- - Optional. The type of basis used to determine if spend has passed - the threshold. Behavior defaults to CURRENT_SPEND if not set. - description: >- - ThresholdRule contains the definition of a threshold. Threshold rules - define the triggering events used to generate a budget notification - email. When a threshold is crossed (spend exceeds the specified - percentages of the budget), budget alert emails are sent to the email - recipients you specify in the [NotificationsRule](#notificationsrule). - Threshold rules also affect the fields included in the [JSON data - object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format) - sent to a Pub/Sub topic. Threshold rules are _required_ if using email - notifications. Threshold rules are _optional_ if only setting a - [`pubsubTopic` NotificationsRule](#NotificationsRule), unless you want - your JSON data object to include data about the thresholds you set. For - more information, see [set budget threshold rules and - actions](https://cloud.google.com/billing/docs/how-to/budgets#budget-actions). - id: GoogleCloudBillingBudgetsV1ThresholdRule - type: object + Optional. Specifies to track usage for recurring calendar period. + For example, assume that CalendarPeriod.QUARTER is set. The budget + tracks usage from April 1 to June 30, when the current calendar + month is April, May, June. After that, it tracks usage from July 1 + to September 30 when the current calendar month is July, August, + September, so on. + labels: + additionalProperties: + items: + type: any + type: array + type: object + description: >- + Optional. A single label and value pair specifying that usage from + only this set of labeled resources should be included in the budget. + If omitted, the report includes all labeled and unlabeled usage. An + object containing a single `"key": value` pair. Example: `{ "name": + "wrench" }`. _Currently, multiple entries or multiple values per + entry are not allowed._ + creditTypes: + items: + type: string + type: array + description: >- + Optional. If Filter.credit_types_treatment is + INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be + subtracted from gross cost to determine the spend for threshold + calculations. See [a list of acceptable credit type + values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). + If Filter.credit_types_treatment is **not** + INCLUDE_SPECIFIED_CREDITS, this field must be empty. parameters: - callback: - description: JSONP - in: query - name: callback - schema: - type: string _.xgafv: description: V1 error format. in: query @@ -493,16 +487,19 @@ components: enum: - '1' - '2' - oauth_token: - description: OAuth 2.0 token for the current user. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: oauth_token + name: quotaUser schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: uploadType + name: oauth_token schema: type: string access_token: @@ -526,12 +523,6 @@ components: name: prettyPrint schema: type: boolean - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string alt: description: Data format for response. in: query @@ -542,19 +533,28 @@ components: - json - media - proto + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + callback: + description: JSONP in: query - name: quotaUser + name: callback + schema: + type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields schema: type: string x-stackQL-resources: @@ -563,16 +563,17 @@ components: name: budgets title: Budgets methods: - list: + delete: operation: - $ref: '#/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets/get' + $ref: >- + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets~1{budgetsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.budgets - create: + get: operation: - $ref: '#/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets/post' + $ref: >- + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets~1{budgetsId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -583,20 +584,19 @@ components: response: mediaType: application/json openAPIDocKey: '200' - delete: + create: operation: - $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets~1{budgetsId}/delete + $ref: '#/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets/post' response: mediaType: application/json openAPIDocKey: '200' - get: + list: operation: - $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets~1{budgetsId}/get + $ref: '#/paths/~1v1~1billingAccounts~1{billingAccountsId}~1budgets/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.budgets sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/budgets/methods/get' @@ -609,26 +609,22 @@ components: delete: - $ref: '#/components/x-stackQL-resources/budgets/methods/delete' paths: - /v1/billingAccounts/{billingAccountsId}/budgets: + /v1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}: parameters: &ref_1 - - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/quotaUser' - get: - description: >- - 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. - operationId: billingbudgets.billingAccounts.budgets.list + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/fields' + delete: + description: Deletes a budget. Returns successfully if already deleted. + operationId: billingbudgets.billingAccounts.budgets.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-billing @@ -644,38 +640,25 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudBillingBudgetsV1ListBudgetsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: billingAccountsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: scope + - in: path + name: budgetsId + required: true schema: type: string - post: + get: description: >- - 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. - operationId: billingbudgets.billingAccounts.budgets.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Budget' + Returns a budget. 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. + operationId: billingbudgets.billingAccounts.budgets.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-billing @@ -698,8 +681,11 @@ paths: required: true schema: type: string - /v1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}: - parameters: *ref_1 + - in: path + name: budgetsId + required: true + schema: + type: string patch: description: >- Updates a budget and returns the updated budget. WARNING: There are some @@ -744,9 +730,19 @@ paths: schema: type: string format: google-fieldmask - delete: - description: Deletes a budget. Returns successfully if already deleted. - operationId: billingbudgets.billingAccounts.budgets.delete + /v1/billingAccounts/{billingAccountsId}/budgets: + parameters: *ref_1 + post: + description: >- + 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. + operationId: billingbudgets.billingAccounts.budgets.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Budget' security: - Oauth2: - https://www.googleapis.com/auth/cloud-billing @@ -762,25 +758,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Budget' parameters: - in: path name: billingAccountsId required: true schema: type: string - - in: path - name: budgetsId - required: true - schema: - type: string get: description: >- - Returns a budget. 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. - operationId: billingbudgets.billingAccounts.budgets.get + 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. + operationId: billingbudgets.billingAccounts.budgets.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-billing @@ -796,15 +787,24 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudBillingBudgetsV1Budget' + $ref: >- + #/components/schemas/GoogleCloudBillingBudgetsV1ListBudgetsResponse parameters: - in: path name: billingAccountsId required: true schema: type: string - - in: path - name: budgetsId - required: true + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: scope schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/binaryauthorization.yaml b/providers/src/googleapis.com/v00.00.00000/services/binaryauthorization.yaml index 9e3c8101..81c13055 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/binaryauthorization.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/binaryauthorization.yaml @@ -11,8 +11,8 @@ info: Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/binary-authorization/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/blockchainnodeengine.yaml b/providers/src/googleapis.com/v00.00.00000/services/blockchainnodeengine.yaml index a84cc2b2..0d38a4f1 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/blockchainnodeengine.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/blockchainnodeengine.yaml @@ -7,8 +7,8 @@ info: title: Blockchain Node Engine API description: '' version: v1 - x-discovery-doc-revision: '20240911' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/blockchain-node-engine servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/certificatemanager.yaml b/providers/src/googleapis.com/v00.00.00000/services/certificatemanager.yaml index 1c5b2246..5e2fcc69 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/certificatemanager.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/certificatemanager.yaml @@ -7,8 +7,8 @@ info: title: Certificate Manager API description: '' version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241010' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/certificate-manager servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudasset.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudasset.yaml index d984f687..7e028801 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudasset.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudasset.yaml @@ -9,8 +9,8 @@ info: The Cloud Asset API manages the history and inventory of Google Cloud resources. version: v1 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/asset-inventory/docs/quickstart servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudbilling.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudbilling.yaml index 3d07215d..1f6cbe91 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudbilling.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudbilling.yaml @@ -9,8 +9,8 @@ info: Allows developers to manage billing for their Google Cloud Platform projects programmatically. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241018' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/billing/docs/apis servers: @@ -84,6 +84,17 @@ components: for example, `billingAccounts/012345-567890-ABCDEF` readOnly: true type: string + currencyCode: + description: >- + Optional. The currency in which the billing account is billed and + charged, represented as an ISO 4217 code such as `USD`. Billing + account currency is determined at the time of billing account + creation and cannot be updated subsequently, so this field should + not be set on update requests. In addition, a subaccount always + matches the currency of its parent billing account, so this field + should not be set on subaccount creation requests. Clients can read + this field to determine the currency of an existing billing account. + type: string ListBillingAccountsResponse: id: ListBillingAccountsResponse description: Response message for `ListBillingAccounts`. diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudbuild.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudbuild.yaml index a2e20f00..529728eb 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudbuild.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudbuild.yaml @@ -7,8 +7,8 @@ info: title: Cloud Build API description: Creates and manages builds on Google Cloud Platform. version: v2 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/cloud-build/docs/ servers: @@ -34,209 +34,118 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - OAuthCredential: - type: object - description: >- - Represents an OAuth token of the account that authorized the Connection, - and associated metadata. - id: OAuthCredential - properties: - oauthTokenSecretVersion: - description: >- - Optional. A SecretManager resource containing the OAuth token that - authorizes the Cloud Build connection. Format: - `projects/*/secrets/*/versions/*`. - type: string - username: - description: Output only. The username associated to this token. - type: string - readOnly: true - HttpBody: - id: HttpBody - properties: - contentType: - description: >- - The HTTP Content-Type header value specifying the content type of - the body. - type: string - extensions: - description: >- - Application specific response metadata. Must be set in the first - response for streaming APIs. - type: array - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - data: - type: string - description: The HTTP request/response body as raw binary. - format: byte - description: >- - Message that represents an arbitrary HTTP body. It should only be used - for payload formats that can't be represented as JSON, such as raw - binary or an HTML page. This message can be used both in streaming and - non-streaming API methods in the request as well as the response. It can - be used as a top-level request field, which is convenient if one wants - to extract parameters from either the URL or HTTP template into the - request fields and also want access to the raw HTTP body. Example: - message GetResourceRequest { // A unique request id. string request_id = - 1; // The raw HTTP body is bound to this field. google.api.HttpBody - http_body = 2; } service ResourceService { rpc - GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } - Example with streaming methods: service CaldavService { rpc - GetCalendar(stream google.api.HttpBody) returns (stream - google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) - returns (stream google.api.HttpBody); } Use of this type only changes - how the request and response bodies are handled, all other features will - continue to work unchanged. - type: object - TestIamPermissionsRequest: - id: TestIamPermissionsRequest - description: Request message for `TestIamPermissions` method. + TestIamPermissionsResponse: type: object + id: TestIamPermissionsResponse properties: permissions: - description: >- - The set of permissions to check for the `resource`. Permissions with - wildcards (such as `*` or `storage.*`) are not allowed. For more - information see [IAM - Overview](https://cloud.google.com/iam/docs/overview#permissions). - type: array items: type: string - FetchReadWriteTokenResponse: - description: Message for responding to get read/write token. + description: >- + A subset of `TestPermissionsRequest.permissions` that the caller is + allowed. + type: array + description: Response message for `TestIamPermissions` method. + PipelineResult: + description: A value produced by a Pipeline. type: object + id: PipelineResult properties: - expirationTime: - description: Expiration timestamp. Can be empty if unknown or non-expiring. - type: string - format: google-datetime - token: - description: The token content. - type: string - id: FetchReadWriteTokenResponse - ChildStatusReference: - properties: - whenExpressions: - type: array - description: >- - WhenExpressions is the list of checks guarding the execution of the - PipelineTask - items: - $ref: '#/components/schemas/WhenExpression' - pipelineTaskName: - description: >- - PipelineTaskName is the name of the PipelineTask this is - referencing. - type: string name: - description: Name is the name of the TaskRun or Run this is referencing. + readOnly: true + description: Output only. Name of the result. type: string + value: + readOnly: true + description: Output only. Value of the result. + $ref: '#/components/schemas/ResultValue' type: type: string enum: - TYPE_UNSPECIFIED - - TASK_RUN - readOnly: true - description: Output only. Type of the child reference. + - STRING + - ARRAY + - OBJECT enumDescriptions: - Default enum type; should not be used. - - TaskRun. - id: ChildStatusReference - type: object - description: >- - ChildStatusReference is used to point to the statuses of individual - TaskRuns and Runs within this PipelineRun. - WorkspaceBinding: - id: WorkspaceBinding - properties: - name: - type: string - description: Name of the workspace. - subPath: + - Default + - Array type + - Object type + description: Output only. The type of data that the result holds. + readOnly: true + description: + readOnly: true type: string - description: >- - Optional. SubPath is optionally a directory on the volume which - should be used for this binding (i.e. the volume will be mounted at - this sub directory). +optional - secret: - $ref: '#/components/schemas/SecretVolumeSource' - description: Secret Volume Source. + description: Output only. Description of the result. + CancelOperationRequest: + description: The request message for Operations.CancelOperation. + id: CancelOperationRequest type: object - description: >- - WorkspaceBinding maps a workspace to a Volume. PipelineRef can be used - to refer to a specific instance of a Pipeline. - FetchReadTokenRequest: - description: Message for fetching SCM read token. properties: {} + PipelineSpec: type: object - id: FetchReadTokenRequest - BitbucketDataCenterConfig: - type: object - id: BitbucketDataCenterConfig - description: Configuration for connections to Bitbucket Data Center. + description: PipelineSpec defines the desired state of Pipeline. properties: - serviceDirectoryConfig: - description: >- - Optional. Configuration for using Service Directory to privately - connect to a Bitbucket Data Center. This should only be set if the - Bitbucket Data Center is hosted on-premises and not reachable by - public internet. If this field is left empty, calls to the Bitbucket - Data Center will be made over the public internet. - $ref: >- - #/components/schemas/GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig - readAuthorizerCredential: - $ref: '#/components/schemas/UserCredential' - description: Required. A http access token with the `REPO_READ` access. - hostUri: + tasks: + items: + $ref: '#/components/schemas/PipelineTask' + description: List of Tasks that execute when this Pipeline is run. + type: array + workspaces: description: >- - Required. The URI of the Bitbucket Data Center instance or cluster - this connection is for. - type: string - webhookSecretSecretVersion: - type: string + Workspaces declares a set of named workspaces that are expected to + be provided by a PipelineRun. + items: + $ref: '#/components/schemas/PipelineWorkspaceDeclaration' + type: array + results: + items: + $ref: '#/components/schemas/PipelineResult' + readOnly: true + type: array description: >- - Required. Immutable. SecretManager resource containing the webhook - secret used to verify webhook events, formatted as - `projects/*/secrets/*/versions/*`. - authorizerCredential: - description: Required. A http access token with the `REPO_ADMIN` scope access. - $ref: '#/components/schemas/UserCredential' - serverVersion: + Optional. Output only. List of results written out by the pipeline's + containers + generatedYaml: readOnly: true type: string description: >- - Output only. Version of the Bitbucket Data Center running on the - `host_uri`. - sslCa: + Output only. auto-generated yaml that is output only for display + purpose for workflows using pipeline_spec, used by UI/gcloud cli for + Workflows. + params: + type: array + description: List of parameters. + items: + $ref: '#/components/schemas/ParamSpec' + finallyTasks: + items: + $ref: '#/components/schemas/PipelineTask' description: >- - Optional. SSL certificate to use for requests to the Bitbucket Data - Center. - type: string - ResultValue: - description: ResultValue holds different types of data for a single result. + List of Tasks that execute just before leaving the Pipeline i.e. + either after all Tasks are finished executing successfully or after + a failure which would result in ending the Pipeline. + type: array + id: PipelineSpec + ParamValue: + type: object properties: + objectVal: + description: Optional. Value of the parameter if type is object. + additionalProperties: + type: string + type: object arrayVal: items: type: string - description: Value of the result if type is array. + description: Value of the parameter if type is array. type: array stringVal: type: string - description: Value of the result if type is string. - objectVal: - type: object - description: Value of the result if type is object. - additionalProperties: - type: string + description: Value of the parameter if type is string. type: - description: Output only. The type of data that the result holds. + description: Type of parameter. type: string - readOnly: true enum: - TYPE_UNSPECIFIED - STRING @@ -247,47 +156,110 @@ components: - Default - Array type - Object type - id: ResultValue - type: object - ParamSpec: + description: Parameter value. + id: ParamValue + GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig: properties: - name: + apiKey: type: string - description: Name of the ParamSpec - default: - $ref: '#/components/schemas/ParamValue' - description: The default value a parameter takes if no input value is supplied - type: - enumDescriptions: - - Default enum type; should not be used. - - Default - - Array type. - - Object type. + description: Required. API Key used for authentication of webhook events. + appInstallationId: type: string - enum: - - TYPE_UNSPECIFIED - - STRING - - ARRAY - - OBJECT - description: Type of ParamSpec - description: - description: Description of the ParamSpec + format: int64 + description: Optional. ID of the installation of the GitHub App. + serviceDirectoryConfig: + description: >- + Optional. Configuration for using Service Directory to privately + connect to a GitHub Enterprise server. This should only be set if + the GitHub Enterprise server is hosted on-premises and not reachable + by public internet. If this field is left empty, calls to the GitHub + Enterprise server will be made over the public internet. + $ref: >- + #/components/schemas/GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig + appId: + type: string + format: int64 + description: Optional. Id of the GitHub App created from the manifest. + webhookSecretSecretVersion: + description: >- + Optional. SecretManager resource containing the webhook secret of + the GitHub App, formatted as `projects/*/secrets/*/versions/*`. + type: string + serverVersion: + readOnly: true + description: Output only. GitHub Enterprise version installed at the host_uri. + type: string + privateKeySecretVersion: + type: string + description: >- + Optional. SecretManager resource containing the private key of the + GitHub App, formatted as `projects/*/secrets/*/versions/*`. + appSlug: + type: string + description: Optional. The URL-friendly name of the GitHub App. + sslCa: + type: string + description: Optional. SSL certificate to use for requests to GitHub Enterprise. + hostUri: + description: >- + Required. The URI of the GitHub Enterprise host this connection is + for. type: string + description: Configuration for connections to an instance of GitHub Enterprise. + id: GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig + type: object + WorkspaceBinding: + id: WorkspaceBinding description: >- - ParamSpec defines parameters needed beyond typed inputs (such as - resources). Parameter values are provided by users as inputs on a - TaskRun or PipelineRun. + WorkspaceBinding maps a workspace to a Volume. PipelineRef can be used + to refer to a specific instance of a Pipeline. + properties: + secret: + $ref: '#/components/schemas/SecretVolumeSource' + description: Secret Volume Source. + subPath: + type: string + description: >- + Optional. SubPath is optionally a directory on the volume which + should be used for this binding (i.e. the volume will be mounted at + this sub directory). +optional + name: + type: string + description: Name of the workspace. type: object - id: ParamSpec - Worker: + BitbucketCloudConfig: + description: Configuration for connections to Bitbucket Cloud. type: object - id: Worker - description: Configuration for the worker. + id: BitbucketCloudConfig properties: - machineType: - description: Optional. Machine type of a worker, default is "e2-standard-2". + authorizerCredential: + description: >- + Required. An access token with the `webhook`, `repository`, + `repository:admin` and `pullrequest` scope access. It can be either + a workspace, project or repository access token. It's recommended to + use a system account to generate these credentials. + $ref: '#/components/schemas/UserCredential' + workspace: + type: string + description: >- + Required. The Bitbucket Cloud Workspace ID to be connected to Google + Cloud Platform. + readAuthorizerCredential: + $ref: '#/components/schemas/UserCredential' + description: >- + Required. An access token with the `repository` access. It can be + either a workspace, project or repository access token. It's + recommended to use a system account to generate the credentials. + webhookSecretSecretVersion: + description: >- + Required. SecretManager resource containing the webhook secret used + to verify webhook events, formatted as + `projects/*/secrets/*/versions/*`. type: string TaskRef: + description: >- + TaskRef can be used to refer to a specific instance of a task. + PipelineRef can be used to refer to a specific instance of a Pipeline. properties: params: type: array @@ -297,10 +269,14 @@ components: Params contains the parameters used to identify the referenced Tekton resource. Example entries might include "repo" or "path" but the set of params ultimately depends on the chosen resolver. - name: - description: Optional. Name of the task. - type: string resolver: + enum: + - RESOLVER_NAME_UNSPECIFIED + - BUNDLES + - GCB_REPO + - GIT + - DEVELOPER_CONNECT + - DEFAULT enumDescriptions: - Default enum type; should not be used. - >- @@ -315,1808 +291,1846 @@ components: description: >- Resolver is the name of the resolver that should perform resolution of the referenced Tekton resource. - enum: - - RESOLVER_NAME_UNSPECIFIED - - BUNDLES - - GCB_REPO - - GIT - - DEVELOPER_CONNECT - - DEFAULT type: string + name: + type: string + description: Optional. Name of the task. id: TaskRef type: object - description: >- - TaskRef can be used to refer to a specific instance of a task. - PipelineRef can be used to refer to a specific instance of a Pipeline. - StepTemplate: - description: >- - StepTemplate can be used as the basis for all step containers within the - Task, so that the steps inherit settings on the base container. - properties: - volumeMounts: - items: - $ref: '#/components/schemas/VolumeMount' - type: array - description: Optional. Pod volumes to mount into the container's filesystem. - env: - items: - $ref: '#/components/schemas/EnvVar' - description: >- - Optional. List of environment variables to set in the Step. Cannot - be updated. - type: array - id: StepTemplate + FetchReadWriteTokenRequest: + id: FetchReadWriteTokenRequest + description: Message for fetching SCM read/write token. + properties: {} type: object BatchCreateRepositoriesResponse: description: Message for response of creating repositories in batch. type: object - id: BatchCreateRepositoriesResponse properties: repositories: items: $ref: '#/components/schemas/Repository' - type: array description: Repository resources created. - PipelineTask: + type: array + id: BatchCreateRepositoriesResponse + TestIamPermissionsRequest: properties: - workspaces: + permissions: description: >- - Workspaces maps workspaces from the pipeline spec to the workspaces - declared in the Task. - items: - $ref: '#/components/schemas/WorkspacePipelineTaskBinding' + The set of permissions to check for the `resource`. Permissions with + wildcards (such as `*` or `storage.*`) are not allowed. For more + information see [IAM + Overview](https://cloud.google.com/iam/docs/overview#permissions). type: array - name: - type: string - description: Name of the task. - runAfter: - description: >- - RunAfter is the list of PipelineTask names that should be executed - before this Task executes. (Used to force a specific ordering in - graph execution.) items: type: string - type: array - whenExpressions: - items: - $ref: '#/components/schemas/WhenExpression' - description: Conditions that need to be true for the task to run. - type: array - taskRef: - description: Reference to a specific instance of a task. - $ref: '#/components/schemas/TaskRef' - timeout: - type: string - description: >- - Time after which the TaskRun times out. Defaults to 1 hour. - Specified TaskRun timeout should be less than 24h. - format: google-duration - params: - items: - $ref: '#/components/schemas/Param' - type: array - description: Params is a list of parameter names and values. - taskSpec: - description: Spec to instantiate this TaskRun. - $ref: '#/components/schemas/EmbeddedTask' - retries: - format: int32 - description: >- - Retries represents how many times this task should be retried in - case of task failure. - type: integer - description: PipelineTask defines a task in a Pipeline. - type: object - id: PipelineTask - BitbucketCloudConfig: - id: BitbucketCloudConfig + description: Request message for `TestIamPermissions` method. type: object - description: Configuration for connections to Bitbucket Cloud. + id: TestIamPermissionsRequest + Connection: + id: Connection properties: - webhookSecretSecretVersion: - type: string + reconciling: description: >- - Required. SecretManager resource containing the webhook secret used - to verify webhook events, formatted as - `projects/*/secrets/*/versions/*`. - workspace: + Output only. Set to true when the connection is being set up or + updated in the background. + readOnly: true + type: boolean + annotations: + type: object + additionalProperties: + type: string + description: Optional. Allows clients to store small amounts of arbitrary data. + bitbucketDataCenterConfig: + description: Configuration for connections to Bitbucket Data Center. + $ref: '#/components/schemas/BitbucketDataCenterConfig' + gitlabConfig: + $ref: '#/components/schemas/GoogleDevtoolsCloudbuildV2GitLabConfig' + description: >- + Configuration for connections to gitlab.com or an instance of GitLab + Enterprise. + bitbucketCloudConfig: + description: Configuration for connections to Bitbucket Cloud. + $ref: '#/components/schemas/BitbucketCloudConfig' + updateTime: + readOnly: true type: string + format: google-datetime description: >- - Required. The Bitbucket Cloud Workspace ID to be connected to Google - Cloud Platform. - readAuthorizerCredential: - $ref: '#/components/schemas/UserCredential' - description: >- - Required. An access token with the `repository` access. It can be - either a workspace, project or repository access token. It's - recommended to use a system account to generate the credentials. - authorizerCredential: - description: >- - Required. An access token with the `webhook`, `repository`, - `repository:admin` and `pullrequest` scope access. It can be either - a workspace, project or repository access token. It's recommended to - use a system account to generate these credentials. - $ref: '#/components/schemas/UserCredential' - Provenance: - description: Provenance configuration. - properties: - enabled: - type: string - enum: - - ENABLED_UNSPECIFIED - - REQUIRED - - OPTIMISTIC - - DISABLED - description: Optional. Provenance push mode. - enumDescriptions: - - Default to disabled (before AA regionalization), optimistic after - - Provenance failures would fail the run - - >- - GCB will attempt to push to artifact analaysis and build state - would not be impacted by the push failures. - - Disable the provenance push entirely. - storage: - type: string - description: Optional. Where provenance is stored. - enum: - - STORAGE_UNSPECIFIED - - PREFER_ARTIFACT_PROJECT - - ARTIFACT_PROJECT_ONLY - - BUILD_PROJECT_ONLY - enumDescriptions: - - Default PREFER_ARTIFACT_PROJECT. - - >- - GCB will attempt to push provenance to the artifact project. If it - is not available, fallback to build project. - - Only push to artifact project. - - Only push to build project. - region: - type: string - enum: - - REGION_UNSPECIFIED - - GLOBAL - enumDescriptions: - - >- - The PipelineRun/TaskRun/Workflow will be rejected. Update this - comment to push to the same region as the run in Artifact Analysis - when it's regionalized. - - Push provenance to Artifact Analysis in global region. - description: Optional. Provenance region. - type: object - id: Provenance - Connection: - type: object - properties: + Output only. Server assigned timestamp for when the connection was + updated. + githubConfig: + $ref: '#/components/schemas/GitHubConfig' + description: Configuration for connections to github.com. githubEnterpriseConfig: $ref: >- #/components/schemas/GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig description: Configuration for connections to an instance of GitHub Enterprise. - updateTime: + createTime: description: >- Output only. Server assigned timestamp for when the connection was - updated. - format: google-datetime + created. readOnly: true type: string - bitbucketDataCenterConfig: - $ref: '#/components/schemas/BitbucketDataCenterConfig' - description: Configuration for connections to Bitbucket Data Center. - bitbucketCloudConfig: - $ref: '#/components/schemas/BitbucketCloudConfig' - description: Configuration for connections to Bitbucket Cloud. - annotations: - type: object - description: Optional. Allows clients to store small amounts of arbitrary data. - additionalProperties: - type: string - etag: + format: google-datetime + name: description: >- - 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. + Immutable. The resource name of the connection, in the format + `projects/{project}/locations/{location}/connections/{connection_id}`. type: string - githubConfig: - description: Configuration for connections to github.com. - $ref: '#/components/schemas/GitHubConfig' disabled: + type: boolean description: >- Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled. - type: boolean + etag: + description: >- + 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. + type: string installationState: description: Output only. Installation state of the Connection. readOnly: true $ref: '#/components/schemas/InstallationState' - name: - description: >- - Immutable. The resource name of the connection, in the format - `projects/{project}/locations/{location}/connections/{connection_id}`. - type: string - reconciling: - type: boolean - description: >- - Output only. Set to true when the connection is being set up or - updated in the background. - readOnly: true - createTime: - type: string - description: >- - Output only. Server assigned timestamp for when the connection was - created. - readOnly: true - format: google-datetime - gitlabConfig: - $ref: '#/components/schemas/GoogleDevtoolsCloudbuildV2GitLabConfig' - description: >- - Configuration for connections to gitlab.com or an instance of GitLab - Enterprise. description: >- A connection to a SCM like GitHub, GitHub Enterprise, Bitbucket Data Center, Bitbucket Cloud or GitLab. - id: Connection - Operation: - description: >- - This resource represents a long-running operation that is the result of - a network API call. type: object - id: Operation + WorkspacePipelineTaskBinding: + description: >- + WorkspacePipelineTaskBinding maps workspaces from the PipelineSpec to + the workspaces declared in the Task. + id: WorkspacePipelineTaskBinding properties: name: + description: Name of the workspace as declared by the task. type: string - description: >- - 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}`. - done: - description: >- - 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. - type: boolean - response: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - description: >- - 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`. - metadata: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - description: >- - 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. - type: object - error: - $ref: '#/components/schemas/Status' - description: >- - The error result of the operation in case of failure or - cancellation. - GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig: - id: GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig - type: object - properties: - hostUri: + subPath: type: string description: >- - Required. The URI of the GitHub Enterprise host this connection is - for. - appId: - description: Optional. Id of the GitHub App created from the manifest. + Optional. SubPath is optionally a directory on the volume which + should be used for this binding (i.e. the volume will be mounted at + this sub directory). +optional + workspace: + description: Name of the workspace declared by the pipeline. type: string - format: int64 - privateKeySecretVersion: + type: object + TaskResult: + type: object + properties: + type: + enumDescriptions: + - Default enum type; should not be used. + - Default + - Array type + - Object type + enum: + - TYPE_UNSPECIFIED + - STRING + - ARRAY + - OBJECT + description: The type of data that the result holds. type: string + value: description: >- - Optional. SecretManager resource containing the private key of the - GitHub App, formatted as `projects/*/secrets/*/versions/*`. - webhookSecretSecretVersion: + Optional. Optionally used to initialize a Task's result with a + Step's result. + $ref: '#/components/schemas/ParamValue' + properties: + type: object + additionalProperties: + $ref: '#/components/schemas/PropertySpec' description: >- - Optional. SecretManager resource containing the webhook secret of - the GitHub App, formatted as `projects/*/secrets/*/versions/*`. - type: string - appInstallationId: - type: string - description: Optional. ID of the installation of the GitHub App. - format: int64 - appSlug: - description: Optional. The URL-friendly name of the GitHub App. - type: string - serverVersion: - readOnly: true + When type is OBJECT, this map holds the names of fields inside that + object along with the type of data each field holds. + name: + description: Name of the result. type: string - description: Output only. GitHub Enterprise version installed at the host_uri. - apiKey: - description: Required. API Key used for authentication of webhook events. + description: type: string - serviceDirectoryConfig: - $ref: >- - #/components/schemas/GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig + description: Description of the result. + description: TaskResult is used to describe the results of a task. + id: TaskResult + Binding: + properties: + members: + type: array + items: + type: string description: >- - Optional. Configuration for using Service Directory to privately - connect to a GitHub Enterprise server. This should only be set if - the GitHub Enterprise server is hosted on-premises and not reachable - by public internet. If this field is left empty, calls to the GitHub - Enterprise server will be made over the public internet. - sslCa: - type: string - description: Optional. SSL certificate to use for requests to GitHub Enterprise. - description: Configuration for connections to an instance of GitHub Enterprise. - SecretVolumeSource: - description: Secret Volume Source. - properties: - secretVersion: + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + role: description: >- - Optional. Resource name of the SecretVersion. In format: - projects/*/secrets/*/versions/* - type: string - secretName: + 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). type: string - description: Name of the secret referenced by the WorkspaceBinding. - id: SecretVolumeSource + condition: + description: >- + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/Expr' type: object - Capabilities: - id: Capabilities + description: Associates `members`, or principals, with a `role`. + id: Binding + EmbeddedTask: + id: EmbeddedTask + description: EmbeddedTask defines a Task that is embedded in a Pipeline. type: object - description: >- - Capabilities adds and removes POSIX capabilities from running - containers. properties: - add: - items: + taskSpec: + $ref: '#/components/schemas/TaskSpec' + description: Spec to instantiate this TaskRun. + annotations: + type: object + description: User annotations. See https://google.aip.dev/128#annotations + additionalProperties: type: string - description: Optional. Added capabilities +optional + StepTemplate: + id: StepTemplate + properties: + volumeMounts: + items: + $ref: '#/components/schemas/VolumeMount' type: array - drop: + description: Optional. Pod volumes to mount into the container's filesystem. + env: type: array - description: Optional. Removed capabilities +optional + description: >- + Optional. List of environment variables to set in the Step. Cannot + be updated. items: - type: string - PipelineRef: - description: PipelineRef can be used to refer to a specific instance of a Pipeline. - id: PipelineRef + $ref: '#/components/schemas/EnvVar' type: object + description: >- + StepTemplate can be used as the basis for all step containers within the + Task, so that the steps inherit settings on the base container. + Policy: + description: >- + 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/). properties: - name: - type: string - description: Optional. Name of the Pipeline. - resolver: + version: + format: int32 + type: integer description: >- - Resolver is the name of the resolver that should perform resolution - of the referenced Tekton resource. + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + etag: type: string - enumDescriptions: - - Default enum type; should not be used. - - >- - Bundles resolver. - https://tekton.dev/docs/pipelines/bundle-resolver/ - - GCB repo resolver. - - >- - Simple Git resolver. - https://tekton.dev/docs/pipelines/git-resolver/ - - Developer Connect resolver. - - Default resolver. - enum: - - RESOLVER_NAME_UNSPECIFIED - - BUNDLES - - GCB_REPO - - GIT - - DEVELOPER_CONNECT - - DEFAULT - params: + format: byte description: >- - Params contains the parameters used to identify the referenced - Tekton resource. Example entries might include "repo" or "path" but - the set of params ultimately depends on the chosen resolver. + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + auditConfigs: items: - $ref: '#/components/schemas/Param' + $ref: '#/components/schemas/AuditConfig' type: array - AuditConfig: - id: AuditConfig + description: Specifies cloud audit logging configuration for this policy. + bindings: + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + type: array + items: + $ref: '#/components/schemas/Binding' + id: Policy + type: object + Operation: + type: object + properties: + metadata: + description: >- + 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. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object + done: + description: >- + 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. + type: boolean + error: + $ref: '#/components/schemas/Status' + description: >- + The error result of the operation in case of failure or + cancellation. + name: + type: string + description: >- + 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}`. + response: + type: object + description: >- + 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`. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - `jose@example.com` from DATA_READ logging, and `aliya@example.com` from - DATA_WRITE logging. + This resource represents a long-running operation that is the result of + a network API call. + id: Operation + PipelineRun: type: object + id: PipelineRun + description: Message describing PipelineRun object properties: - auditLogConfigs: - description: The configuration for logging of each type of permission. - type: array + results: items: - $ref: '#/components/schemas/AuditLogConfig' - service: + $ref: '#/components/schemas/PipelineRunResult' + readOnly: true + type: array + description: >- + Optional. Output only. List of results written out by the pipeline's + containers + workflow: + type: string + description: Output only. The Workflow used to create this PipelineRun. + readOnly: true + etag: type: string - description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. - Location: - description: A resource that represents a Google Cloud location. - type: object - properties: - displayName: + description: Needed for declarative-friendly resources. + record: type: string description: >- - The friendly name for this location, typically a nearby city name. - For example, "Tokyo". + Output only. The `Record` of this `PipelineRun`. Format: + `projects/{project}/locations/{location}/results/{result_id}/records/{record_id}` + readOnly: true name: + readOnly: true type: string description: >- - Resource name for the location, which may vary between - implementations. For example: - `"projects/example-project/locations/us-east1"` - locationId: - description: 'The canonical id for this location. For example: `"us-east1"`.' + Output only. The `PipelineRun` name with format + `projects/{project}/locations/{location}/pipelineRuns/{pipeline_run}` + pipelineRunStatus: type: string - metadata: + enumDescriptions: + - Default enum type; should not be used. + - Cancelled status. + enum: + - PIPELINE_RUN_STATUS_UNSPECIFIED + - PIPELINE_RUN_CANCELLED + description: Pipelinerun status the user can provide. Used for cancellation. + pipelineSpec: + description: PipelineSpec defines the desired state of Pipeline. + $ref: '#/components/schemas/PipelineSpec' + workerPool: + description: Output only. The WorkerPool used to run this PipelineRun. + readOnly: true + type: string + pipelineSpecYaml: + type: string + readOnly: true description: >- - Service-specific metadata. For example the available capacity at the - given location. + Output only. Inline pipelineSpec yaml string, used by workflow run + requests. + pipelineRef: + description: PipelineRef refer to a specific instance of a Pipeline. + $ref: '#/components/schemas/PipelineRef' + createTime: + type: string + readOnly: true + format: google-datetime + description: >- + Output only. Time at which the request to create the `PipelineRun` + was received. + gcbParams: + description: Output only. GCB default params. additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. + type: string + readOnly: true type: object - labels: + uid: + readOnly: true + description: Output only. A unique identifier for the `PipelineRun`. + type: string + worker: + $ref: '#/components/schemas/Worker' + description: Optional. Worker configuration. + annotations: + description: User annotations. See https://google.aip.dev/128#annotations type: object - description: >- - Cross-service attributes for the location. For example - {"cloud.googleapis.com/region": "us-east1"} additionalProperties: type: string - id: Location - WorkspacePipelineTaskBinding: - id: WorkspacePipelineTaskBinding - description: >- - WorkspacePipelineTaskBinding maps workspaces from the PipelineSpec to - the workspaces declared in the Task. - type: object - properties: - workspace: + finallyStartTime: + description: >- + Output only. FinallyStartTime is when all non-finally tasks have + been completed and only finally tasks are being executed. +optional type: string - description: Name of the workspace declared by the pipeline. - subPath: + readOnly: true + format: google-datetime + workspaces: + items: + $ref: '#/components/schemas/WorkspaceBinding' + type: array + description: >- + Workspaces is a list of WorkspaceBindings from volumes to + workspaces. + timeouts: + $ref: '#/components/schemas/TimeoutFields' + description: >- + Time after which the Pipeline times out. Currently three keys are + accepted in the map pipeline, tasks and finally with + Timeouts.pipeline >= Timeouts.tasks + Timeouts.finally + skippedTasks: + items: + $ref: '#/components/schemas/SkippedTask' + type: array + description: >- + Output only. List of tasks that were skipped due to when expressions + evaluating to false. + readOnly: true + params: + type: array + description: Params is a list of parameter names and values. + items: + $ref: '#/components/schemas/Param' + serviceAccount: type: string description: >- - Optional. SubPath is optionally a directory on the volume which - should be used for this binding (i.e. the volume will be mounted at - this sub directory). +optional - name: + Service account used in the Pipeline. Deprecated; please use + security.service_account instead. + deprecated: true + conditions: + description: >- + Output only. Kubernetes Conditions convention for PipelineRun status + and error. + readOnly: true + type: array + items: + $ref: '#/components/schemas/GoogleDevtoolsCloudbuildV2Condition' + resolvedPipelineSpec: + readOnly: true + description: Output only. The exact PipelineSpec used to instantiate the run. + $ref: '#/components/schemas/PipelineSpec' + completionTime: + description: Output only. Time the pipeline completed. + readOnly: true type: string - description: Name of the workspace as declared by the task. - StepRef: - description: A reference to a remote Step, i.e. a StepAction. - properties: - name: - description: Optional. Name of the step. + format: google-datetime + updateTime: + readOnly: true + description: >- + Output only. Time at which the request to update the `PipelineRun` + was received. + format: google-datetime type: string - resolver: - description: Optional. Type of the resolver. - enumDescriptions: - - Default enum type; should not be used. - - >- - Bundles resolver. - https://tekton.dev/docs/pipelines/bundle-resolver/ - - GCB repo resolver. - - >- - Simple Git resolver. - https://tekton.dev/docs/pipelines/git-resolver/ - - Developer Connect resolver. - - Default resolver. + security: + $ref: '#/components/schemas/Security' + description: Optional. Security configuration. + provenance: + description: Optional. Provenance configuration. + $ref: '#/components/schemas/Provenance' + startTime: + description: Output only. Time the pipeline is actually started. + format: google-datetime type: string - enum: - - RESOLVER_NAME_UNSPECIFIED - - BUNDLES - - GCB_REPO - - GIT - - DEVELOPER_CONNECT - - DEFAULT - params: + readOnly: true + childReferences: + description: >- + Output only. List of TaskRun and Run names and PipelineTask names + for children of this PipelineRun. + readOnly: true items: - $ref: '#/components/schemas/Param' + $ref: '#/components/schemas/ChildStatusReference' type: array - description: Optional. Parameters used to control the resolution. - id: StepRef - type: object - ListRepositoriesResponse: + FetchReadTokenRequest: + properties: {} + id: FetchReadTokenRequest type: object + description: Message for fetching SCM read token. + GitHubConfig: + description: Configuration for connections to github.com. properties: - nextPageToken: + authorizerCredential: + description: >- + Optional. OAuth credential of the account that authorized the Cloud + Build GitHub App. It is recommended to use a robot account instead + of a human user account. The OAuth token must be tied to the Cloud + Build GitHub App. + $ref: '#/components/schemas/OAuthCredential' + appInstallationId: + format: int64 type: string - description: A token identifying a page of results the server should return. - repositories: - description: The list of Repositories. - items: - $ref: '#/components/schemas/Repository' - type: array - id: ListRepositoriesResponse - description: Message for response to listing Repositories. - EmbeddedTask: - description: EmbeddedTask defines a Task that is embedded in a Pipeline. - id: EmbeddedTask + description: Optional. GitHub App installation id. type: object + id: GitHubConfig + SkippedTask: + id: SkippedTask properties: - taskSpec: - $ref: '#/components/schemas/TaskSpec' - description: Spec to instantiate this TaskRun. - annotations: - description: User annotations. See https://google.aip.dev/128#annotations - type: object - additionalProperties: - type: string - Param: - id: Param - properties: - value: - description: Value of the parameter. - $ref: '#/components/schemas/ParamValue' + whenExpressions: + type: array + description: >- + WhenExpressions is the list of checks guarding the execution of the + PipelineTask + items: + $ref: '#/components/schemas/WhenExpression' + reason: + readOnly: true + description: Output only. Reason is the cause of the PipelineTask being skipped. + type: string name: + description: Name is the Pipeline Task name type: string - description: Name of the parameter. description: >- - Param defined with name and value. PipelineRef can be used to refer to a - specific instance of a Pipeline. + SkippedTask is used to describe the Tasks that were skipped due to their + When Expressions evaluating to False. type: object - PipelineRun: + RunWorkflowCustomOperationMetadata: type: object + description: >- + Represents the custom metadata of the RunWorkflow long-running + operation. + id: RunWorkflowCustomOperationMetadata properties: - pipelineRunStatus: - enum: - - PIPELINE_RUN_STATUS_UNSPECIFIED - - PIPELINE_RUN_CANCELLED - enumDescriptions: - - Default enum type; should not be used. - - Cancelled status. + createTime: + format: google-datetime type: string - description: Pipelinerun status the user can provide. Used for cancellation. - serviceAccount: - deprecated: true + description: Output only. The time the operation was created. + readOnly: true + apiVersion: + description: Output only. API version used to start the operation. type: string - description: >- - Service account used in the Pipeline. Deprecated; please use - security.service_account instead. - pipelineSpecYaml: - description: >- - Output only. Inline pipelineSpec yaml string, used by workflow run - requests. readOnly: true + pipelineRunId: + readOnly: true + description: Output only. ID of the pipeline run created by RunWorkflow. type: string - completionTime: - description: Output only. Time the pipeline completed. + verb: readOnly: true + description: Output only. Name of the verb executed by the operation. type: string - format: google-datetime - pipelineRef: - $ref: '#/components/schemas/PipelineRef' - description: PipelineRef refer to a specific instance of a Pipeline. - workflow: + target: type: string - description: Output only. The Workflow used to create this PipelineRun. - readOnly: true - conditions: readOnly: true - type: array description: >- - Output only. Kubernetes Conditions convention for PipelineRun status - and error. - items: - $ref: '#/components/schemas/GoogleDevtoolsCloudbuildV2Condition' - gcbParams: - additionalProperties: - type: string + Output only. Server-defined resource path for the target of the + operation. + endTime: readOnly: true - description: Output only. GCB default params. - type: object - provenance: - description: Optional. Provenance configuration. - $ref: '#/components/schemas/Provenance' - etag: - description: Needed for declarative-friendly resources. - type: string - createTime: - description: >- - Output only. Time at which the request to create the `PipelineRun` - was received. + description: Output only. The time the operation finished running. type: string - readOnly: true format: google-datetime - record: - readOnly: true - type: string - description: >- - Output only. The `Record` of this `PipelineRun`. Format: - `projects/{project}/locations/{location}/results/{result_id}/records/{record_id}` - name: - type: string + requestedCancellation: description: >- - Output only. The `PipelineRun` name with format - `projects/{project}/locations/{location}/pipelineRuns/{pipeline_run}` + Output only. 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`. + type: boolean readOnly: true - worker: - $ref: '#/components/schemas/Worker' - description: Optional. Worker configuration. - results: - type: array + ResultValue: + description: ResultValue holds different types of data for a single result. + id: ResultValue + properties: + arrayVal: items: - $ref: '#/components/schemas/PipelineRunResult' - readOnly: true - description: >- - Optional. Output only. List of results written out by the pipeline's - containers - timeouts: - description: >- - Time after which the Pipeline times out. Currently three keys are - accepted in the map pipeline, tasks and finally with - Timeouts.pipeline >= Timeouts.tasks + Timeouts.finally - $ref: '#/components/schemas/TimeoutFields' - resolvedPipelineSpec: - description: Output only. The exact PipelineSpec used to instantiate the run. - readOnly: true - $ref: '#/components/schemas/PipelineSpec' - params: - description: Params is a list of parameter names and values. + type: string + description: Value of the result if type is array. type: array - items: - $ref: '#/components/schemas/Param' - updateTime: - format: google-datetime - readOnly: true - description: >- - Output only. Time at which the request to update the `PipelineRun` - was received. + type: + enumDescriptions: + - Default enum type; should not be used. + - Default + - Array type + - Object type type: string - skippedTasks: readOnly: true - type: array - items: - $ref: '#/components/schemas/SkippedTask' - description: >- - Output only. List of tasks that were skipped due to when expressions - evaluating to false. - uid: + enum: + - TYPE_UNSPECIFIED + - STRING + - ARRAY + - OBJECT + description: Output only. The type of data that the result holds. + stringVal: type: string - readOnly: true - description: Output only. A unique identifier for the `PipelineRun`. - annotations: + description: Value of the result if type is string. + objectVal: + type: object additionalProperties: type: string - description: User annotations. See https://google.aip.dev/128#annotations - type: object - startTime: - type: string - format: google-datetime - description: Output only. Time the pipeline is actually started. + description: Value of the result if type is object. + type: object + PipelineRunResult: + id: PipelineRunResult + type: object + description: PipelineRunResult used to describe the results of a pipeline + properties: + name: readOnly: true - security: - $ref: '#/components/schemas/Security' - description: Optional. Security configuration. - workerPool: type: string - description: Output only. The WorkerPool used to run this PipelineRun. + description: Output only. Name of the TaskRun + value: + $ref: '#/components/schemas/ResultValue' + description: Output only. Value of the result. readOnly: true - workspaces: - items: - $ref: '#/components/schemas/WorkspaceBinding' - description: >- - Workspaces is a list of WorkspaceBindings from volumes to - workspaces. - type: array - childReferences: + FetchGitRefsResponse: + properties: + nextPageToken: + type: string + description: A token identifying a page of results the server should return. + refNames: items: - $ref: '#/components/schemas/ChildStatusReference' + type: string + description: Name of the refs fetched. type: array + id: FetchGitRefsResponse + description: Response for fetching git refs + type: object + CreateRepositoryRequest: + id: CreateRepositoryRequest + description: Message for creating a Repository. + type: object + properties: + repositoryId: description: >- - Output only. List of TaskRun and Run names and PipelineTask names - for children of this PipelineRun. - readOnly: true - finallyStartTime: + Required. The ID to use for the repository, which will become the + final component of the repository's resource name. This ID should be + unique in the connection. Allows alphanumeric characters and any of + -._~%!$&'()*+,;=@. type: string + repository: + $ref: '#/components/schemas/Repository' + description: Required. The repository to create. + parent: description: >- - Output only. FinallyStartTime is when all non-finally tasks have - been completed and only finally tasks are being executed. +optional - readOnly: true - format: google-datetime - pipelineSpec: - description: PipelineSpec defines the desired state of Pipeline. - $ref: '#/components/schemas/PipelineSpec' - id: PipelineRun - description: Message describing PipelineRun object - OperationMetadata: + Required. The connection to contain the repository. If the request + is part of a BatchCreateRepositoriesRequest, this field should be + empty or match the parent specified there. + type: string + EnvVar: + type: object + id: EnvVar + description: Environment variable. properties: - createTime: - description: Output only. The time the operation was created. - format: google-datetime + name: + description: Name of the environment variable. type: string - readOnly: true - cancelRequested: + value: + description: Value of the environment variable. + type: string + GoogleDevtoolsCloudbuildV2OperationMetadata: + properties: + requestedCancellation: description: >- Output only. Identifies whether the user has requested cancellation - of the operation. Operations that have been cancelled successfully + 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`. readOnly: true type: boolean verb: - readOnly: true description: Output only. Name of the verb executed by the operation. + readOnly: true type: string - statusDetail: - type: string + apiVersion: + description: Output only. API version used to start the operation. readOnly: true - description: Output only. Human-readable status of the operation, if any. + type: string target: readOnly: true description: >- Output only. Server-defined resource path for the target of the operation. type: string - apiVersion: - readOnly: true - type: string - description: Output only. API version used to start the operation. endTime: readOnly: true - format: google-datetime type: string + format: google-datetime description: Output only. The time the operation finished running. - id: OperationMetadata - description: Represents the metadata of the long-running operation. - type: object - PipelineRunResult: - id: PipelineRunResult - description: PipelineRunResult used to describe the results of a pipeline + createTime: + format: google-datetime + description: Output only. The time the operation was created. + readOnly: true + type: string + statusMessage: + type: string + readOnly: true + description: Output only. Human-readable status of the operation, if any. type: object + description: Represents the metadata of the long-running operation. + id: GoogleDevtoolsCloudbuildV2OperationMetadata + Location: + id: Location + description: A resource that represents a Google Cloud location. properties: - value: - description: Output only. Value of the result. - readOnly: true - $ref: '#/components/schemas/ResultValue' + metadata: + description: >- + Service-specific metadata. For example the available capacity at the + given location. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. name: - readOnly: true + description: >- + Resource name for the location, which may vary between + implementations. For example: + `"projects/example-project/locations/us-east1"` type: string - description: Output only. Name of the TaskRun - Security: - id: Security + locationId: + type: string + description: 'The canonical id for this location. For example: `"us-east1"`.' + labels: + additionalProperties: + type: string + type: object + description: >- + Cross-service attributes for the location. For example + {"cloud.googleapis.com/region": "us-east1"} + displayName: + type: string + description: >- + The friendly name for this location, typically a nearby city name. + For example, "Tokyo". + type: object + SetIamPolicyRequest: + properties: + policy: + $ref: '#/components/schemas/Policy' + description: >- + REQUIRED: The complete policy to be applied to the `resource`. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + updateMask: + type: string + format: google-fieldmask + description: >- + OPTIONAL: A FieldMask specifying which fields of the policy to + modify. Only the fields in the mask will be modified. If no mask is + provided, the following default mask is used: `paths: "bindings, + etag"` type: object + description: Request message for `SetIamPolicy` method. + id: SetIamPolicyRequest + PipelineRef: + id: PipelineRef properties: - privilegeMode: + resolver: + description: >- + Resolver is the name of the resolver that should perform resolution + of the referenced Tekton resource. type: string - description: Optional. Privilege mode. - deprecated: true enum: - - PRIVILEGE_MODE_UNSPECIFIED - - PRIVILEGED - - UNPRIVILEGED + - RESOLVER_NAME_UNSPECIFIED + - BUNDLES + - GCB_REPO + - GIT + - DEVELOPER_CONNECT + - DEFAULT enumDescriptions: - - Default to PRIVILEGED. - - Privileged mode. - - Unprivileged mode. - serviceAccount: - description: IAM service account whose credentials will be used at runtime. + - Default enum type; should not be used. + - >- + Bundles resolver. + https://tekton.dev/docs/pipelines/bundle-resolver/ + - GCB repo resolver. + - >- + Simple Git resolver. + https://tekton.dev/docs/pipelines/git-resolver/ + - Developer Connect resolver. + - Default resolver. + name: + description: Optional. Name of the Pipeline. type: string - description: Security configuration. - FetchLinkableRepositoriesResponse: + params: + type: array + items: + $ref: '#/components/schemas/Param' + description: >- + Params contains the parameters used to identify the referenced + Tekton resource. Example entries might include "repo" or "path" but + the set of params ultimately depends on the chosen resolver. type: object + description: PipelineRef can be used to refer to a specific instance of a Pipeline. + FetchLinkableRepositoriesResponse: description: Response message for FetchLinkableRepositories. + type: object id: FetchLinkableRepositoriesResponse properties: + repositories: + items: + $ref: '#/components/schemas/Repository' + type: array + description: repositories ready to be created. nextPageToken: description: A token identifying a page of results the server should return. type: string - repositories: + ChildStatusReference: + properties: + whenExpressions: + description: >- + WhenExpressions is the list of checks guarding the execution of the + PipelineTask type: array items: - $ref: '#/components/schemas/Repository' - description: repositories ready to be created. - Status: + $ref: '#/components/schemas/WhenExpression' + type: + type: string + enumDescriptions: + - Default enum type; should not be used. + - TaskRun. + description: Output only. Type of the child reference. + readOnly: true + enum: + - TYPE_UNSPECIFIED + - TASK_RUN + pipelineTaskName: + type: string + description: >- + PipelineTaskName is the name of the PipelineTask this is + referencing. + name: + type: string + description: Name is the name of the TaskRun or Run this is referencing. + type: object + id: ChildStatusReference + description: >- + ChildStatusReference is used to point to the statuses of individual + TaskRuns and Runs within this PipelineRun. + VolumeSource: + id: VolumeSource properties: - code: - format: int32 - type: integer - description: The status code, which should be an enum value of google.rpc.Code. - message: + emptyDir: + $ref: '#/components/schemas/EmptyDirVolumeSource' + description: A temporary directory that shares a pod's lifetime. + name: + description: >- + Name of the Volume. Must be a DNS_LABEL and unique within the pod. + More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + type: object + description: Volumes available to mount. + ListConnectionsResponse: + type: object + description: Message for response to listing Connections. + properties: + connections: + type: array + items: + $ref: '#/components/schemas/Connection' + description: The list of Connections. + nextPageToken: + type: string + description: A token identifying a page of results the server should return. + id: ListConnectionsResponse + Worker: + id: Worker + type: object + description: Configuration for the worker. + properties: + machineType: + description: Optional. Machine type of a worker, default is "e2-standard-2". + type: string + GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig: + id: GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig + description: >- + ServiceDirectoryConfig represents Service Directory configuration for a + connection. + type: object + properties: + service: + type: string + description: >- + Required. The Service Directory service name. Format: + projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. + VolumeMount: + type: object + id: VolumeMount + description: Pod volumes to mount into the container's filesystem. + properties: + subPath: + type: string + description: >- + Path within the volume from which the container's volume should be + mounted. Defaults to "" (volume's root). + name: + description: Name of the volume. + type: string + readOnly: + type: boolean + description: >- + Mounted read-only if true, read-write otherwise (false or + unspecified). + mountPath: + description: >- + Path within the container at which the volume should be mounted. + Must not contain ':'. + type: string + subPathExpr: + type: string + description: >- + Expanded path within the volume from which the container's volume + should be mounted. Behaves similarly to SubPath but environment + variable references $(VAR_NAME) are expanded using the container's + environment. Defaults to "" (volume's root). + FetchReadTokenResponse: + properties: + expirationTime: + format: google-datetime + description: Expiration timestamp. Can be empty if unknown or non-expiring. type: string - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - details: - type: array - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any + token: + type: string + description: The token content. + id: FetchReadTokenResponse type: object - id: Status - description: >- - 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). - SetIamPolicyRequest: - description: Request message for `SetIamPolicy` method. - id: SetIamPolicyRequest + description: Message for responding to get read token. + GoogleDevtoolsCloudbuildV2GitLabConfig: + id: GoogleDevtoolsCloudbuildV2GitLabConfig type: object + description: >- + Configuration for connections to gitlab.com or an instance of GitLab + Enterprise. properties: - updateMask: + serverVersion: + description: >- + Output only. Version of the GitLab Enterprise server running on the + `host_uri`. + type: string + readOnly: true + sslCa: type: string + description: Optional. SSL certificate to use for requests to GitLab Enterprise. + authorizerCredential: + $ref: '#/components/schemas/UserCredential' description: >- - OPTIONAL: A FieldMask specifying which fields of the policy to - modify. Only the fields in the mask will be modified. If no mask is - provided, the following default mask is used: `paths: "bindings, - etag"` - format: google-fieldmask - policy: - $ref: '#/components/schemas/Policy' + Required. A GitLab personal access token with the `api` scope + access. + serviceDirectoryConfig: description: >- - REQUIRED: The complete policy to be applied to the `resource`. The - size of the policy is limited to a few 10s of KB. An empty policy is - a valid policy but certain Google Cloud services (such as Projects) - might reject them. - Probe: - properties: - exec: - $ref: '#/components/schemas/ExecAction' - description: Optional. Exec specifies the action to take. +optional - periodSeconds: + Optional. Configuration for using Service Directory to privately + connect to a GitLab Enterprise server. This should only be set if + the GitLab Enterprise server is hosted on-premises and not reachable + by public internet. If this field is left empty, calls to the GitLab + Enterprise server will be made over the public internet. + $ref: >- + #/components/schemas/GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig + webhookSecretSecretVersion: description: >- - Optional. How often (in seconds) to perform the probe. Default to 10 - seconds. Minimum value is 1. +optional - type: integer - format: int32 - id: Probe - type: object - description: >- - Probe describes a health check to be performed against a container to - determine whether it is alive or ready to receive traffic. - TaskSpec: - properties: - steps: - items: - $ref: '#/components/schemas/Step' - description: Steps of the task. - type: array - description: - description: Description of the task. + Required. Immutable. SecretManager resource containing the webhook + secret of a GitLab Enterprise project, formatted as + `projects/*/secrets/*/versions/*`. type: string - workspaces: - description: The volumes that this Task requires. - type: array - items: - $ref: '#/components/schemas/WorkspaceDeclaration' - sidecars: - type: array - items: - $ref: '#/components/schemas/Sidecar' - description: Sidecars that run alongside the Task's step containers. - managedSidecars: + readAuthorizerCredential: + $ref: '#/components/schemas/UserCredential' description: >- - Sidecars that run alongside the Task’s step containers that should - be added to this Task. - type: array - items: - enum: - - MANAGED_SIDECAR_UNSPECIFIED - - PRIVILEGED_DOCKER_DAEMON - type: string - enumDescriptions: - - Default enum type; should not be used. - - Sidecar for a privileged docker daemon. - volumes: - type: array - items: - $ref: '#/components/schemas/VolumeSource' - description: A collection of volumes that are available to mount into steps. - params: - type: array - description: List of parameters. - items: - $ref: '#/components/schemas/ParamSpec' - stepTemplate: - $ref: '#/components/schemas/StepTemplate' + Required. A GitLab personal access token with the minimum `read_api` + scope access. + hostUri: description: >- - Optional. StepTemplate can be used as the basis for all step - containers within the Task, so that the steps inherit settings on - the base container. - results: - description: Values that this Task can output. - items: - $ref: '#/components/schemas/TaskResult' - type: array - type: object - description: TaskSpec contains the Spec to instantiate a TaskRun. - id: TaskSpec - InstallationState: + Optional. The URI of the GitLab Enterprise host this connection is + for. If not specified, the default value is https://gitlab.com. + type: string + ParamSpec: + id: ParamSpec description: >- - Describes stage and necessary actions to be taken by the user to - complete the installation. Used for GitHub and GitHub Enterprise based - connections. + ParamSpec defines parameters needed beyond typed inputs (such as + resources). Parameter values are provided by users as inputs on a + TaskRun or PipelineRun. properties: - stage: + type: enum: - - STAGE_UNSPECIFIED - - PENDING_CREATE_APP - - PENDING_USER_OAUTH - - PENDING_INSTALL_APP - - COMPLETE - description: Output only. Current step of the installation process. - readOnly: true - type: string + - TYPE_UNSPECIFIED + - STRING + - ARRAY + - OBJECT enumDescriptions: - - No stage specified. - - >- - Only for GitHub Enterprise. An App creation has been requested. - The user needs to confirm the creation in their GitHub enterprise - host. - - User needs to authorize the GitHub (or Enterprise) App via OAuth. - - >- - User needs to follow the link to install the GitHub (or - Enterprise) App. - - Installation process has been completed. - actionUri: - readOnly: true - description: >- - Output only. Link to follow for next action. Empty string if the - installation is already complete. + - Default enum type; should not be used. + - Default + - Array type. + - Object type. + description: Type of ParamSpec type: string - message: - description: >- - Output only. Message of what the user should do next to continue the - installation. Empty string if the installation is already complete. + description: type: string - readOnly: true - type: object - id: InstallationState - PipelineWorkspaceDeclaration: - id: PipelineWorkspaceDeclaration + description: Description of the ParamSpec + name: + type: string + description: Name of the ParamSpec + default: + description: The default value a parameter takes if no input value is supplied + $ref: '#/components/schemas/ParamValue' type: object + UserCredential: properties: - name: - description: Name is the name of a workspace to be provided by a PipelineRun. + username: + description: Output only. The username associated to this token. + readOnly: true type: string - description: - description: >- - Description is a human readable string describing how the workspace - will be used in the Pipeline. + userTokenSecretVersion: type: string - optional: description: >- - Optional marks a Workspace as not being required in PipelineRuns. By - default this field is false and so declared workspaces are required. - type: boolean + Required. A SecretManager resource containing the user token that + authorizes the Cloud Build connection. Format: + `projects/*/secrets/*/versions/*`. description: >- - Workspaces declares a set of named workspaces that are expected to be - provided by a PipelineRun. - AuditLogConfig: + Represents a personal access token that authorized the Connection, and + associated metadata. type: object - id: AuditLogConfig - properties: - exemptedMembers: - type: array - description: >- - Specifies the identities that do not cause logging for this type of - permission. Follows the same format of Binding.members. - items: - type: string - logType: - description: The log type that this config enables. - enum: - - LOG_TYPE_UNSPECIFIED - - ADMIN_READ - - DATA_WRITE - - DATA_READ - type: string - enumDescriptions: - - Default case. Should never be this. - - 'Admin reads. Example: CloudIAM getIamPolicy' - - 'Data writes. Example: CloudSQL Users create' - - 'Data reads. Example: CloudSQL Users list' + id: UserCredential + Capabilities: + type: object + id: Capabilities description: >- - Provides the configuration for logging a type of permissions. Example: { - "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ - "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This - enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - jose@example.com from DATA_READ logging. - ListConnectionsResponse: + Capabilities adds and removes POSIX capabilities from running + containers. properties: - connections: + drop: + description: Optional. Removed capabilities +optional + items: + type: string type: array + add: items: - $ref: '#/components/schemas/Connection' - description: The list of Connections. - nextPageToken: - type: string - description: A token identifying a page of results the server should return. - description: Message for response to listing Connections. + type: string + description: Optional. Added capabilities +optional + type: array + Provenance: type: object - id: ListConnectionsResponse - GitHubConfig: - description: Configuration for connections to github.com. properties: - appInstallationId: - description: Optional. GitHub App installation id. - format: int64 + storage: type: string - authorizerCredential: - description: >- - Optional. OAuth credential of the account that authorized the Cloud - Build GitHub App. It is recommended to use a robot account instead - of a human user account. The OAuth token must be tied to the Cloud - Build GitHub App. - $ref: '#/components/schemas/OAuthCredential' - type: object - id: GitHubConfig - GoogleDevtoolsCloudbuildV2Condition: - id: GoogleDevtoolsCloudbuildV2Condition - description: Conditions defines a readiness condition for a Knative resource. - type: object - properties: - status: - description: Status of the condition. - enum: - - UNKNOWN - - 'TRUE' - - 'FALSE' enumDescriptions: - - Default enum type indicating execution is still ongoing. - - Success - - Failure - type: string - type: - type: string - description: Type of condition. - severity: + - Default PREFER_ARTIFACT_PROJECT. + - >- + GCB will attempt to push provenance to the artifact project. If it + is not available, fallback to build project. + - Only push to artifact project. + - Only push to build project. + enum: + - STORAGE_UNSPECIFIED + - PREFER_ARTIFACT_PROJECT + - ARTIFACT_PROJECT_ONLY + - BUILD_PROJECT_ONLY + description: Optional. Where provenance is stored. + enabled: + description: Optional. Provenance push mode. enumDescriptions: - - Default enum type; should not be used. - - Severity is warning. - - Severity is informational only. + - Default to disabled (before AA regionalization), optimistic after + - Provenance failures would fail the run + - >- + GCB will attempt to push to artifact analaysis and build state + would not be impacted by the push failures. + - Disable the provenance push entirely. type: string enum: - - SEVERITY_UNSPECIFIED - - WARNING - - INFO - description: Severity with which to treat failures of this type of condition. - reason: - type: string - description: The reason for the condition's last transition. - message: - type: string - description: A human readable message indicating details about the transition. - lastTransitionTime: - description: >- - LastTransitionTime is the last time the condition transitioned from - one status to another. - format: google-datetime + - ENABLED_UNSPECIFIED + - REQUIRED + - OPTIMISTIC + - DISABLED + region: type: string - SkippedTask: - description: >- - SkippedTask is used to describe the Tasks that were skipped due to their - When Expressions evaluating to False. + enum: + - REGION_UNSPECIFIED + - GLOBAL + description: Optional. Provenance region. + enumDescriptions: + - >- + The PipelineRun/TaskRun/Workflow will be rejected. Update this + comment to push to the same region as the run in Artifact Analysis + when it's regionalized. + - Push provenance to Artifact Analysis in global region. + id: Provenance + description: Provenance configuration. + StepRef: type: object - id: SkippedTask + id: StepRef + description: A reference to a remote Step, i.e. a StepAction. properties: - reason: - description: Output only. Reason is the cause of the PipelineTask being skipped. - readOnly: true + resolver: + enum: + - RESOLVER_NAME_UNSPECIFIED + - BUNDLES + - GCB_REPO + - GIT + - DEVELOPER_CONNECT + - DEFAULT type: string + description: Optional. Type of the resolver. + enumDescriptions: + - Default enum type; should not be used. + - >- + Bundles resolver. + https://tekton.dev/docs/pipelines/bundle-resolver/ + - GCB repo resolver. + - >- + Simple Git resolver. + https://tekton.dev/docs/pipelines/git-resolver/ + - Developer Connect resolver. + - Default resolver. name: type: string - description: Name is the Pipeline Task name - whenExpressions: - type: array - description: >- - WhenExpressions is the list of checks guarding the execution of the - PipelineTask + description: Optional. Name of the step. + params: + description: Optional. Parameters used to control the resolution. items: - $ref: '#/components/schemas/WhenExpression' - SecurityContext: - description: Security options the container should be run with. - id: SecurityContext - properties: - runAsGroup: - type: string - description: >- - Optional. The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in - PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes - precedence. Note that this field cannot be set when spec.os.name is - windows. +optional - format: int64 - runAsUser: - type: string - format: int64 - description: >- - Optional. The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes - precedence. Note that this field cannot be set when spec.os.name is - windows. +optional - runAsNonRoot: - type: boolean - description: >- - Optional. Indicates that the container must run as a non-root user. - If true, the Kubelet will validate the image at runtime to ensure - that it does not run as UID 0 (root) and fail to start the container - if it does. If unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both - SecurityContext and PodSecurityContext, the value specified in - SecurityContext takes precedence. +optional - privileged: - type: boolean - description: Run container in privileged mode. - capabilities: - $ref: '#/components/schemas/Capabilities' - description: >- - Optional. Adds and removes POSIX capabilities from running - containers. - allowPrivilegeEscalation: - type: boolean - description: >- - Optional. AllowPrivilegeEscalation controls whether a process can - gain more privileges than its parent process. This bool directly - controls if the no_new_privs flag will be set on the container - process. AllowPrivilegeEscalation is true always when the container - is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field - cannot be set when spec.os.name is windows. +optional + $ref: '#/components/schemas/Param' + type: array + Step: type: object - GoogleDevtoolsCloudbuildV2GitLabConfig: + description: >- + Step embeds the Container type, which allows it to include fields not + provided by Container. properties: - authorizerCredential: - description: >- - Required. A GitLab personal access token with the `api` scope - access. - $ref: '#/components/schemas/UserCredential' - serverVersion: + params: + type: array + items: + $ref: '#/components/schemas/Param' + description: Optional. Optional parameters passed to the StepAction. + volumeMounts: + description: Pod volumes to mount into the container's filesystem. + type: array + items: + $ref: '#/components/schemas/VolumeMount' + onError: + enumDescriptions: + - Default enum type; should not be used. + - >- + StopAndFail indicates exit if the step/task exits with non-zero + exit code + - >- + Continue indicates continue executing the rest of the steps/tasks + irrespective of the exit code + enum: + - ON_ERROR_TYPE_UNSPECIFIED + - STOP_AND_FAIL + - CONTINUE description: >- - Output only. Version of the GitLab Enterprise server running on the - `host_uri`. + Optional. OnError defines the exiting behavior on error can be set + to [ continue | stopAndFail ] + type: string + env: + type: array + items: + $ref: '#/components/schemas/EnvVar' + description: List of environment variables to set in the container. + command: + type: array + items: + type: string + description: Entrypoint array. + workingDir: + description: Container's working directory. type: string - readOnly: true - webhookSecretSecretVersion: - description: >- - Required. Immutable. SecretManager resource containing the webhook - secret of a GitLab Enterprise project, formatted as - `projects/*/secrets/*/versions/*`. + name: + description: Name of the container specified as a DNS_LABEL. type: string - sslCa: + args: + description: Arguments to the entrypoint. + items: + type: string + type: array + ref: + $ref: '#/components/schemas/StepRef' + description: Optional. Optional reference to a remote StepAction. + timeout: + description: Time after which the Step times out. Defaults to never. type: string - description: Optional. SSL certificate to use for requests to GitLab Enterprise. - readAuthorizerCredential: - $ref: '#/components/schemas/UserCredential' - description: >- - Required. A GitLab personal access token with the minimum `read_api` - scope access. - hostUri: - description: >- - Optional. The URI of the GitLab Enterprise host this connection is - for. If not specified, the default value is https://gitlab.com. + format: google-duration + image: type: string - serviceDirectoryConfig: - $ref: >- - #/components/schemas/GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig + description: Docker image name. + script: + type: string + description: The contents of an executable file to execute. + securityContext: + $ref: '#/components/schemas/SecurityContext' description: >- - Optional. Configuration for using Service Directory to privately - connect to a GitLab Enterprise server. This should only be set if - the GitLab Enterprise server is hosted on-premises and not reachable - by public internet. If this field is left empty, calls to the GitLab - Enterprise server will be made over the public internet. - type: object - id: GoogleDevtoolsCloudbuildV2GitLabConfig - description: >- - Configuration for connections to gitlab.com or an instance of GitLab - Enterprise. - GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig: + Optional. SecurityContext defines the security options the Step + should be run with. If set, the fields of SecurityContext override + the equivalent fields of PodSecurityContext. More info: + https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + +optional + id: Step + BatchCreateRepositoriesRequest: + description: Message for creating repositoritories in batch. properties: - service: - type: string + requests: + type: array description: >- - Required. The Service Directory service name. Format: - projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. - description: >- - ServiceDirectoryConfig represents Service Directory configuration for a - connection. - type: object - id: GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig - UserCredential: - id: UserCredential + Required. The request messages specifying the repositories to + create. + items: + $ref: '#/components/schemas/CreateRepositoryRequest' + id: BatchCreateRepositoriesRequest type: object + Sidecar: + description: Sidecars run alongside the Task's step containers. + id: Sidecar properties: - userTokenSecretVersion: + command: + description: Entrypoint array. + type: array + items: + type: string + image: + description: Docker image name. type: string - description: >- - Required. A SecretManager resource containing the user token that - authorizes the Cloud Build connection. Format: - `projects/*/secrets/*/versions/*`. - username: - readOnly: true - description: Output only. The username associated to this token. + env: + items: + $ref: '#/components/schemas/EnvVar' + type: array + description: List of environment variables to set in the container. + name: + description: Name of the Sidecar. type: string - description: >- - Represents a personal access token that authorized the Connection, and - associated metadata. - CreateRepositoryRequest: - description: Message for creating a Repository. - properties: - repositoryId: + readinessProbe: + $ref: '#/components/schemas/Probe' description: >- - Required. The ID to use for the repository, which will become the - final component of the repository's resource name. This ID should be - unique in the connection. Allows alphanumeric characters and any of - -._~%!$&'()*+,;=@. + Optional. Periodic probe of Sidecar service readiness. Container + will be removed from service endpoints if the probe fails. Cannot be + updated. More info: + https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +optional + args: + type: array + description: Arguments to the entrypoint. + items: + type: string + securityContext: + $ref: '#/components/schemas/SecurityContext' + description: Optional. Security options the container should be run with. + script: + description: The contents of an executable file to execute. type: string - repository: - $ref: '#/components/schemas/Repository' - description: Required. The repository to create. - parent: - description: >- - Required. The connection to contain the repository. If the request - is part of a BatchCreateRepositoriesRequest, this field should be - empty or match the parent specified there. + workingDir: + description: Container's working directory. type: string + volumeMounts: + items: + $ref: '#/components/schemas/VolumeMount' + description: Pod volumes to mount into the container's filesystem. + type: array type: object - id: CreateRepositoryRequest - Binding: - type: object - description: Associates `members`, or principals, with a `role`. - id: Binding + PipelineTask: + description: PipelineTask defines a task in a Pipeline. properties: - role: - type: string - description: >- - 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). - condition: + timeout: description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/Expr' - members: + Time after which the TaskRun times out. Defaults to 1 hour. + Specified TaskRun timeout should be less than 24h. + type: string + format: google-duration + name: + type: string + description: Name of the task. + workspaces: type: array + items: + $ref: '#/components/schemas/WorkspacePipelineTaskBinding' description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + Workspaces maps workspaces from the pipeline spec to the workspaces + declared in the Task. + params: + items: + $ref: '#/components/schemas/Param' + description: Params is a list of parameter names and values. + type: array + taskRef: + $ref: '#/components/schemas/TaskRef' + description: Reference to a specific instance of a task. + runAfter: + description: >- + RunAfter is the list of PipelineTask names that should be executed + before this Task executes. (Used to force a specific ordering in + graph execution.) items: type: string - WorkspaceDeclaration: + type: array + taskSpec: + $ref: '#/components/schemas/EmbeddedTask' + description: Spec to instantiate this TaskRun. + retries: + type: integer + format: int32 + description: >- + Retries represents how many times this task should be retried in + case of task failure. + whenExpressions: + description: Conditions that need to be true for the task to run. + type: array + items: + $ref: '#/components/schemas/WhenExpression' type: object - id: WorkspaceDeclaration - description: WorkspaceDeclaration is a declaration of a volume that a Task requires. + id: PipelineTask + SecretVolumeSource: properties: - name: - description: Name is the name by which you can bind the volume at runtime. + secretName: type: string - optional: - type: boolean + description: Name of the secret referenced by the WorkspaceBinding. + secretVersion: description: >- - Optional. Optional marks a Workspace as not being required in - TaskRuns. By default this field is false and so declared workspaces - are required. - readOnly: - description: ReadOnly dictates whether a mounted volume is writable. - type: boolean - description: + Optional. Resource name of the SecretVersion. In format: + projects/*/secrets/*/versions/* type: string - description: Description is a human readable description of this volume. - mountPath: - description: >- - MountPath overrides the directory that the volume will be made - available at. + type: object + description: Secret Volume Source. + id: SecretVolumeSource + Param: + id: Param + properties: + value: + $ref: '#/components/schemas/ParamValue' + description: Value of the parameter. + name: + description: Name of the parameter. type: string - FetchReadWriteTokenRequest: type: object - description: Message for fetching SCM read/write token. - id: FetchReadWriteTokenRequest - properties: {} - WhenExpression: - id: WhenExpression + description: >- + Param defined with name and value. PipelineRef can be used to refer to a + specific instance of a Pipeline. + AuditLogConfig: type: object + description: >- + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. properties: - values: + exemptedMembers: type: array description: >- - Values is an array of strings, which is compared against the input, - for guard checking. + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. items: type: string - input: - description: >- - Input is the string for guard checking which can be a static input - or an output from a parent Task. - type: string - expressionOperator: + logType: enumDescriptions: - - Default enum type; should not be used. - - Input is in values. - - Input is not in values. - type: string - description: Operator that represents an Input's relationship to the values + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' + description: The log type that this config enables. enum: - - EXPRESSION_OPERATOR_UNSPECIFIED - - IN - - NOT_IN - description: Conditions that need to be true for the task to run. - VolumeSource: - properties: - emptyDir: - description: A temporary directory that shares a pod's lifetime. - $ref: '#/components/schemas/EmptyDirVolumeSource' - name: + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ type: string - description: >- - Name of the Volume. Must be a DNS_LABEL and unique within the pod. - More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: object - id: VolumeSource - description: Volumes available to mount. - EnvVar: - description: Environment variable. - type: object + id: AuditLogConfig + ListRepositoriesResponse: properties: - name: - description: Name of the environment variable. - type: string - value: - description: Value of the environment variable. + nextPageToken: type: string - id: EnvVar - EmptyDirVolumeSource: + description: A token identifying a page of results the server should return. + repositories: + type: array + description: The list of Repositories. + items: + $ref: '#/components/schemas/Repository' type: object - description: Represents an empty Volume source. - properties: {} - id: EmptyDirVolumeSource - GoogleDevtoolsCloudbuildV2OperationMetadata: - id: GoogleDevtoolsCloudbuildV2OperationMetadata - properties: - requestedCancellation: - readOnly: true - description: >- - Output only. 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`. - type: boolean - statusMessage: - description: Output only. Human-readable status of the operation, if any. - type: string - readOnly: true - target: - description: >- - Output only. Server-defined resource path for the target of the - operation. - readOnly: true - type: string - verb: - readOnly: true - description: Output only. Name of the verb executed by the operation. - type: string - createTime: - description: Output only. The time the operation was created. - type: string - readOnly: true - format: google-datetime - endTime: - readOnly: true - description: Output only. The time the operation finished running. - format: google-datetime - type: string - apiVersion: - description: Output only. API version used to start the operation. - type: string - readOnly: true + id: ListRepositoriesResponse + description: Message for response to listing Repositories. + Security: type: object - description: Represents the metadata of the long-running operation. - FetchReadTokenResponse: + id: Security properties: - expirationTime: - format: google-datetime + privilegeMode: type: string - description: Expiration timestamp. Can be empty if unknown or non-expiring. - token: + deprecated: true + description: Optional. Privilege mode. + enum: + - PRIVILEGE_MODE_UNSPECIFIED + - PRIVILEGED + - UNPRIVILEGED + enumDescriptions: + - Default to PRIVILEGED. + - Privileged mode. + - Unprivileged mode. + serviceAccount: type: string - description: The token content. - description: Message for responding to get read token. - type: object - id: FetchReadTokenResponse + description: IAM service account whose credentials will be used at runtime. + description: Security configuration. Empty: + id: Empty + properties: {} description: >- A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type: object - properties: {} - id: Empty - TestIamPermissionsResponse: - properties: - permissions: - description: >- - A subset of `TestPermissionsRequest.permissions` that the caller is - allowed. - items: - type: string - type: array - id: TestIamPermissionsResponse - type: object - description: Response message for `TestIamPermissions` method. - RunWorkflowCustomOperationMetadata: - id: RunWorkflowCustomOperationMetadata - type: object - description: >- - Represents the custom metadata of the RunWorkflow long-running - operation. + BitbucketDataCenterConfig: properties: - verb: - description: Output only. Name of the verb executed by the operation. - readOnly: true - type: string - requestedCancellation: - type: boolean - readOnly: true + readAuthorizerCredential: + description: Required. A http access token with the `REPO_READ` access. + $ref: '#/components/schemas/UserCredential' + authorizerCredential: + description: Required. A http access token with the `REPO_ADMIN` scope access. + $ref: '#/components/schemas/UserCredential' + serviceDirectoryConfig: + $ref: >- + #/components/schemas/GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig description: >- - Output only. 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`. - createTime: - readOnly: true - description: Output only. The time the operation was created. - type: string - format: google-datetime - target: + Optional. Configuration for using Service Directory to privately + connect to a Bitbucket Data Center. This should only be set if the + Bitbucket Data Center is hosted on-premises and not reachable by + public internet. If this field is left empty, calls to the Bitbucket + Data Center will be made over the public internet. + sslCa: type: string - readOnly: true description: >- - Output only. Server-defined resource path for the target of the - operation. - endTime: + Optional. SSL certificate to use for requests to the Bitbucket Data + Center. + webhookSecretSecretVersion: + description: >- + Required. Immutable. SecretManager resource containing the webhook + secret used to verify webhook events, formatted as + `projects/*/secrets/*/versions/*`. type: string - readOnly: true - description: Output only. The time the operation finished running. - format: google-datetime - pipelineRunId: - description: Output only. ID of the pipeline run created by RunWorkflow. + serverVersion: + description: >- + Output only. Version of the Bitbucket Data Center running on the + `host_uri`. readOnly: true type: string - apiVersion: - readOnly: true - description: Output only. API version used to start the operation. + hostUri: type: string - CancelOperationRequest: - id: CancelOperationRequest - type: object - description: The request message for Operations.CancelOperation. - properties: {} - Sidecar: - id: Sidecar + description: >- + Required. The URI of the Bitbucket Data Center instance or cluster + this connection is for. + id: BitbucketDataCenterConfig type: object + description: Configuration for connections to Bitbucket Data Center. + ListLocationsResponse: + id: ListLocationsResponse properties: - command: - description: Entrypoint array. - type: array + locations: items: - type: string - readinessProbe: - $ref: '#/components/schemas/Probe' + $ref: '#/components/schemas/Location' description: >- - Optional. Periodic probe of Sidecar service readiness. Container - will be removed from service endpoints if the probe fails. Cannot be - updated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - +optional - env: - description: List of environment variables to set in the container. - items: - $ref: '#/components/schemas/EnvVar' - type: array - args: - items: - type: string - description: Arguments to the entrypoint. + A list of locations that matches the specified filter in the + request. type: array - image: - description: Docker image name. + nextPageToken: type: string - workingDir: + description: The standard List next-page token. + type: object + description: The response message for Locations.ListLocations. + OAuthCredential: + description: >- + Represents an OAuth token of the account that authorized the Connection, + and associated metadata. + id: OAuthCredential + properties: + username: + readOnly: true + description: Output only. The username associated to this token. type: string - description: Container's working directory. - securityContext: - $ref: '#/components/schemas/SecurityContext' - description: Optional. Security options the container should be run with. - volumeMounts: - type: array - description: Pod volumes to mount into the container's filesystem. - items: - $ref: '#/components/schemas/VolumeMount' - script: - description: The contents of an executable file to execute. + oauthTokenSecretVersion: + type: string + description: >- + Optional. A SecretManager resource containing the OAuth token that + authorizes the Cloud Build connection. Format: + `projects/*/secrets/*/versions/*`. + type: object + WorkspaceDeclaration: + properties: + description: type: string + description: Description is a human readable description of this volume. name: type: string - description: Name of the Sidecar. - description: Sidecars run alongside the Task's step containers. + description: Name is the name by which you can bind the volume at runtime. + readOnly: + type: boolean + description: ReadOnly dictates whether a mounted volume is writable. + optional: + description: >- + Optional. Optional marks a Workspace as not being required in + TaskRuns. By default this field is false and so declared workspaces + are required. + type: boolean + mountPath: + type: string + description: >- + MountPath overrides the directory that the volume will be made + available at. + type: object + id: WorkspaceDeclaration + description: WorkspaceDeclaration is a declaration of a volume that a Task requires. Repository: - description: A repository associated to a parent connection. - id: Repository properties: + webhookId: + type: string + readOnly: true + description: Output only. External ID of the webhook created for the repository. + remoteUri: + type: string + description: Required. Git Clone HTTPS URI. updateTime: - format: google-datetime description: >- Output only. Server assigned timestamp for when the connection was updated. + format: google-datetime type: string readOnly: true - name: - description: >- - Immutable. Resource name of the repository, in the format - `projects/*/locations/*/connections/*/repositories/*`. - type: string annotations: + type: object + description: Optional. Allows clients to store small amounts of arbitrary data. additionalProperties: type: string - description: Optional. Allows clients to store small amounts of arbitrary data. - type: object - etag: - description: >- - 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. + name: type: string - webhookId: + description: >- + Immutable. Resource name of the repository, in the format + `projects/*/locations/*/connections/*/repositories/*`. + createTime: + format: google-datetime readOnly: true type: string - description: Output only. External ID of the webhook created for the repository. - createTime: description: >- Output only. Server assigned timestamp for when the connection was created. + etag: type: string - readOnly: true - format: google-datetime - remoteUri: - type: string - description: Required. Git Clone HTTPS URI. + description: >- + 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. type: object - TaskResult: + id: Repository + description: A repository associated to a parent connection. + PropertySpec: + id: PropertySpec type: object + description: PropertySpec holds information about a property in an object. properties: - name: - description: Name of the result. - type: string - properties: - additionalProperties: - $ref: '#/components/schemas/PropertySpec' - type: object - description: >- - When type is OBJECT, this map holds the names of fields inside that - object along with the type of data each field holds. type: - description: The type of data that the result holds. type: string enum: - TYPE_UNSPECIFIED - STRING - - ARRAY - - OBJECT enumDescriptions: - Default enum type; should not be used. - Default - - Array type - - Object type - value: - description: >- - Optional. Optionally used to initialize a Task's result with a - Step's result. - $ref: '#/components/schemas/ParamValue' - description: - description: Description of the result. + description: A type for the object. + FetchReadWriteTokenResponse: + type: object + properties: + expirationTime: + description: Expiration timestamp. Can be empty if unknown or non-expiring. + format: google-datetime type: string - id: TaskResult - description: TaskResult is used to describe the results of a task. - PipelineSpec: - id: PipelineSpec - description: PipelineSpec defines the desired state of Pipeline. + token: + type: string + description: The token content. + description: Message for responding to get read/write token. + id: FetchReadWriteTokenResponse + OperationMetadata: + id: OperationMetadata + description: Represents the metadata of the long-running operation. type: object properties: - params: - type: array - description: List of parameters. - items: - $ref: '#/components/schemas/ParamSpec' - tasks: - items: - $ref: '#/components/schemas/PipelineTask' - description: List of Tasks that execute when this Pipeline is run. - type: array - results: + endTime: + readOnly: true + format: google-datetime + description: Output only. The time the operation finished running. + type: string + createTime: + format: google-datetime + description: Output only. The time the operation was created. + type: string + readOnly: true + statusDetail: + type: string + description: Output only. Human-readable status of the operation, if any. + readOnly: true + target: + readOnly: true + type: string + description: >- + Output only. Server-defined resource path for the target of the + operation. + apiVersion: + type: string + readOnly: true + description: Output only. API version used to start the operation. + verb: + type: string + readOnly: true + description: Output only. Name of the verb executed by the operation. + cancelRequested: readOnly: true description: >- - Optional. Output only. List of results written out by the pipeline's - containers - type: array - items: - $ref: '#/components/schemas/PipelineResult' - workspaces: - type: array - items: - $ref: '#/components/schemas/PipelineWorkspaceDeclaration' + Output only. Identifies whether the user has requested cancellation + of the operation. Operations that have been cancelled successfully + have Operation.error value with a google.rpc.Status.code of 1, + corresponding to `Code.CANCELLED`. + type: boolean + Status: + description: >- + 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). + properties: + message: + type: string description: >- - Workspaces declares a set of named workspaces that are expected to - be provided by a PipelineRun. - finallyTasks: - items: - $ref: '#/components/schemas/PipelineTask' + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + code: + type: integer + description: The status code, which should be an enum value of google.rpc.Code. + format: int32 + details: description: >- - List of Tasks that execute just before leaving the Pipeline i.e. - either after all Tasks are finished executing successfully or after - a failure which would result in ending the Pipeline. + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + items: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object type: array - generatedYaml: + type: object + id: Status + HttpBody: + id: HttpBody + description: >- + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. + properties: + contentType: type: string description: >- - Output only. auto-generated yaml that is output only for display - purpose for workflows using pipeline_spec, used by UI/gcloud cli for - Workflows. - readOnly: true - ExecAction: - description: ExecAction describes a "run in container" action. - properties: - command: + The HTTP Content-Type header value specifying the content type of + the body. + data: + description: The HTTP request/response body as raw binary. + type: string + format: byte + extensions: items: - type: string - description: >- - Optional. Command is the command line to execute inside the - container, the working directory for the command is root ('/') in - the container's filesystem. The command is simply exec'd, it is not - run inside a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly call out to that - shell. Exit status of 0 is treated as live/healthy and non-zero is - unhealthy. +optional + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object type: array + description: >- + Application specific response metadata. Must be set in the first + response for streaming APIs. + type: object + InstallationState: type: object - id: ExecAction - ParamValue: properties: - objectVal: - additionalProperties: - type: string - type: object - description: Optional. Value of the parameter if type is object. - type: - enum: - - TYPE_UNSPECIFIED - - STRING - - ARRAY - - OBJECT + actionUri: type: string - description: Type of parameter. + readOnly: true + description: >- + Output only. Link to follow for next action. Empty string if the + installation is already complete. + stage: + enum: + - STAGE_UNSPECIFIED + - PENDING_CREATE_APP + - PENDING_USER_OAUTH + - PENDING_INSTALL_APP + - COMPLETE + readOnly: true enumDescriptions: - - Default enum type; should not be used. - - Default - - Array type - - Object type - stringVal: - description: Value of the parameter if type is string. + - No stage specified. + - >- + Only for GitHub Enterprise. An App creation has been requested. + The user needs to confirm the creation in their GitHub enterprise + host. + - User needs to authorize the GitHub (or Enterprise) App via OAuth. + - >- + User needs to follow the link to install the GitHub (or + Enterprise) App. + - Installation process has been completed. + description: Output only. Current step of the installation process. type: string - arrayVal: - type: array - items: - type: string - description: Value of the parameter if type is array. - type: object - id: ParamValue - description: Parameter value. + message: + readOnly: true + description: >- + Output only. Message of what the user should do next to continue the + installation. Empty string if the installation is already complete. + type: string + description: >- + Describes stage and necessary actions to be taken by the user to + complete the installation. Used for GitHub and GitHub Enterprise based + connections. + id: InstallationState TimeoutFields: properties: - finally: - type: string - format: google-duration - description: Finally sets the maximum allowed duration of this pipeline's finally tasks: - description: Tasks sets the maximum allowed duration of this pipeline's tasks format: google-duration type: string + description: Tasks sets the maximum allowed duration of this pipeline's tasks + finally: + description: Finally sets the maximum allowed duration of this pipeline's finally + type: string + format: google-duration pipeline: format: google-duration description: >- @@ -2124,165 +2138,112 @@ components: entire pipeline. The sum of individual timeouts for tasks and finally must not exceed this value. type: string - type: object - id: TimeoutFields description: >- TimeoutFields allows granular specification of pipeline, task, and finally timeouts - VolumeMount: - id: VolumeMount + id: TimeoutFields + type: object + TaskSpec: + description: TaskSpec contains the Spec to instantiate a TaskRun. + id: TaskSpec type: object properties: - name: - type: string - description: Name of the volume. - mountPath: - type: string - description: >- - Path within the container at which the volume should be mounted. - Must not contain ':'. - subPathExpr: + params: + items: + $ref: '#/components/schemas/ParamSpec' + type: array + description: List of parameters. + volumes: + type: array + description: A collection of volumes that are available to mount into steps. + items: + $ref: '#/components/schemas/VolumeSource' + steps: + description: Steps of the task. + items: + $ref: '#/components/schemas/Step' + type: array + workspaces: + description: The volumes that this Task requires. + type: array + items: + $ref: '#/components/schemas/WorkspaceDeclaration' + sidecars: + items: + $ref: '#/components/schemas/Sidecar' + description: Sidecars that run alongside the Task's step containers. + type: array + results: + type: array + items: + $ref: '#/components/schemas/TaskResult' + description: Values that this Task can output. + managedSidecars: + items: + type: string + enum: + - MANAGED_SIDECAR_UNSPECIFIED + - PRIVILEGED_DOCKER_DAEMON + enumDescriptions: + - Default enum type; should not be used. + - Sidecar for a privileged docker daemon. + type: array description: >- - Expanded path within the volume from which the container's volume - should be mounted. Behaves similarly to SubPath but environment - variable references $(VAR_NAME) are expanded using the container's - environment. Defaults to "" (volume's root). + Sidecars that run alongside the Task’s step containers that should + be added to this Task. + description: type: string - readOnly: - type: boolean - description: >- - Mounted read-only if true, read-write otherwise (false or - unspecified). - subPath: + description: Description of the task. + stepTemplate: + $ref: '#/components/schemas/StepTemplate' description: >- - Path within the volume from which the container's volume should be - mounted. Defaults to "" (volume's root). - type: string - description: Pod volumes to mount into the container's filesystem. - PipelineResult: - id: PipelineResult - description: A value produced by a Pipeline. + Optional. StepTemplate can be used as the basis for all step + containers within the Task, so that the steps inherit settings on + the base container. + GoogleDevtoolsCloudbuildV2Condition: + id: GoogleDevtoolsCloudbuildV2Condition + description: Conditions defines a readiness condition for a Knative resource. type: object properties: - name: - readOnly: true + type: type: string - description: Output only. Name of the result. - value: - readOnly: true - $ref: '#/components/schemas/ResultValue' - description: Output only. Value of the result. - description: + description: Type of condition. + reason: + description: The reason for the condition's last transition. type: string - readOnly: true - description: Output only. Description of the result. - type: - description: Output only. The type of data that the result holds. - readOnly: true + status: + description: Status of the condition. type: string enumDescriptions: - - Default enum type; should not be used. - - Default - - Array type - - Object type + - Default enum type indicating execution is still ongoing. + - Success + - Failure enum: - - TYPE_UNSPECIFIED - - STRING - - ARRAY - - OBJECT - ListLocationsResponse: - properties: - nextPageToken: - type: string - description: The standard List next-page token. - locations: - items: - $ref: '#/components/schemas/Location' + - UNKNOWN + - 'TRUE' + - 'FALSE' + lastTransitionTime: + format: google-datetime description: >- - A list of locations that matches the specified filter in the - request. - type: array - description: The response message for Locations.ListLocations. - type: object - id: ListLocationsResponse - Step: - description: >- - Step embeds the Container type, which allows it to include fields not - provided by Container. - properties: - name: - description: Name of the container specified as a DNS_LABEL. + LastTransitionTime is the last time the condition transitioned from + one status to another. + type: string + severity: type: string - command: - items: - type: string - type: array - description: Entrypoint array. - onError: - enum: - - ON_ERROR_TYPE_UNSPECIFIED - - STOP_AND_FAIL - - CONTINUE enumDescriptions: - Default enum type; should not be used. - - >- - StopAndFail indicates exit if the step/task exits with non-zero - exit code - - >- - Continue indicates continue executing the rest of the steps/tasks - irrespective of the exit code - type: string - description: >- - Optional. OnError defines the exiting behavior on error can be set - to [ continue | stopAndFail ] - script: - type: string - description: The contents of an executable file to execute. - workingDir: - description: Container's working directory. - type: string - volumeMounts: - type: array - description: Pod volumes to mount into the container's filesystem. - items: - $ref: '#/components/schemas/VolumeMount' - timeout: - format: google-duration - description: Time after which the Step times out. Defaults to never. - type: string - params: - description: Optional. Optional parameters passed to the StepAction. - type: array - items: - $ref: '#/components/schemas/Param' - securityContext: - $ref: '#/components/schemas/SecurityContext' - description: >- - Optional. SecurityContext defines the security options the Step - should be run with. If set, the fields of SecurityContext override - the equivalent fields of PodSecurityContext. More info: - https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ - +optional - ref: - description: Optional. Optional reference to a remote StepAction. - $ref: '#/components/schemas/StepRef' - args: - items: - type: string - description: Arguments to the entrypoint. - type: array - image: + - Severity is warning. + - Severity is informational only. + description: Severity with which to treat failures of this type of condition. + enum: + - SEVERITY_UNSPECIFIED + - WARNING + - INFO + message: + description: A human readable message indicating details about the transition. type: string - description: Docker image name. - env: - description: List of environment variables to set in the container. - items: - $ref: '#/components/schemas/EnvVar' - type: array - id: Step - type: object Expr: - type: object + id: Expr description: >- Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of @@ -2300,18 +2261,8 @@ components: string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. - id: Expr + type: object properties: - location: - type: string - description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - expression: - type: string - description: >- - Textual representation of an expression in Common Expression - Language syntax. title: type: string description: >- @@ -2323,152 +2274,201 @@ components: description: >- Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. - PropertySpec: + expression: + type: string + description: >- + Textual representation of an expression in Common Expression + Language syntax. + location: + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + type: string + EmptyDirVolumeSource: + id: EmptyDirVolumeSource type: object - id: PropertySpec - description: PropertySpec holds information about a property in an object. + properties: {} + description: Represents an empty Volume source. + AuditConfig: + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. properties: - type: + auditLogConfigs: + type: array + description: The configuration for logging of each type of permission. + items: + $ref: '#/components/schemas/AuditLogConfig' + service: type: string - enum: - - TYPE_UNSPECIFIED - - STRING - description: A type for the object. - enumDescriptions: - - Default enum type; should not be used. - - Default - BatchCreateRepositoriesRequest: - description: Message for creating repositoritories in batch. + description: >- + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + id: AuditConfig + type: object + SecurityContext: + type: object + description: Security options the container should be run with. + properties: + runAsGroup: + description: >- + Optional. The GID to run the entrypoint of the container process. + Uses runtime default if unset. May also be set in + PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes + precedence. Note that this field cannot be set when spec.os.name is + windows. +optional + type: string + format: int64 + allowPrivilegeEscalation: + description: >- + Optional. AllowPrivilegeEscalation controls whether a process can + gain more privileges than its parent process. This bool directly + controls if the no_new_privs flag will be set on the container + process. AllowPrivilegeEscalation is true always when the container + is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field + cannot be set when spec.os.name is windows. +optional + type: boolean + privileged: + description: Run container in privileged mode. + type: boolean + runAsNonRoot: + type: boolean + description: >- + Optional. Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure + that it does not run as UID 0 (root) and fail to start the container + if it does. If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both + SecurityContext and PodSecurityContext, the value specified in + SecurityContext takes precedence. +optional + runAsUser: + type: string + description: >- + Optional. The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. May + also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. Note that this field cannot be set when spec.os.name is + windows. +optional + format: int64 + capabilities: + $ref: '#/components/schemas/Capabilities' + description: >- + Optional. Adds and removes POSIX capabilities from running + containers. + id: SecurityContext + Probe: + id: Probe + description: >- + Probe describes a health check to be performed against a container to + determine whether it is alive or ready to receive traffic. type: object properties: - requests: - type: array + exec: + $ref: '#/components/schemas/ExecAction' + description: Optional. Exec specifies the action to take. +optional + periodSeconds: description: >- - Required. The request messages specifying the repositories to - create. - items: - $ref: '#/components/schemas/CreateRepositoryRequest' - id: BatchCreateRepositoriesRequest - Policy: + Optional. How often (in seconds) to perform the probe. Default to 10 + seconds. Minimum value is 1. +optional + format: int32 + type: integer + WhenExpression: + description: Conditions that need to be true for the task to run. + id: WhenExpression properties: - bindings: - description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. + values: items: - $ref: '#/components/schemas/Binding' - type: array - version: - type: integer + type: string description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - format: int32 - auditConfigs: + Values is an array of strings, which is compared against the input, + for guard checking. type: array - description: Specifies cloud audit logging configuration for this policy. - items: - $ref: '#/components/schemas/AuditConfig' - etag: + expressionOperator: + description: Operator that represents an Input's relationship to the values + enum: + - EXPRESSION_OPERATOR_UNSPECIFIED + - IN + - NOT_IN + enumDescriptions: + - Default enum type; should not be used. + - Input is in values. + - Input is not in values. + type: string + input: description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. + Input is the string for guard checking which can be a static input + or an output from a parent Task. type: string - format: byte type: object - id: Policy + PipelineWorkspaceDeclaration: description: >- - 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/). - FetchGitRefsResponse: - id: FetchGitRefsResponse + Workspaces declares a set of named workspaces that are expected to be + provided by a PipelineRun. + properties: + name: + description: Name is the name of a workspace to be provided by a PipelineRun. + type: string + optional: + type: boolean + description: >- + Optional marks a Workspace as not being required in PipelineRuns. By + default this field is false and so declared workspaces are required. + description: + type: string + description: >- + Description is a human readable string describing how the workspace + will be used in the Pipeline. type: object + id: PipelineWorkspaceDeclaration + ExecAction: properties: - refNames: + command: items: type: string type: array - description: Name of the refs fetched. - nextPageToken: - type: string - description: A token identifying a page of results the server should return. - description: Response for fetching git refs + description: >- + Optional. Command is the command line to execute inside the + container, the working directory for the command is root ('/') in + the container's filesystem. The command is simply exec'd, it is not + run inside a shell, so traditional shell instructions ('|', etc) + won't work. To use a shell, you need to explicitly call out to that + shell. Exit status of 0 is treated as live/healthy and non-zero is + unhealthy. +optional + description: ExecAction describes a "run in container" action. + type: object + id: ExecAction parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: quotaUser + name: uploadType schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: oauth_token + name: key schema: type: string fields: @@ -2477,53 +2477,47 @@ components: name: fields schema: type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: uploadType + name: oauth_token schema: type: string - callback: - description: JSONP + alt: + description: Data format for response. in: query - name: callback + name: alt schema: type: string + enum: + - json + - media + - proto prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - alt: - description: Data format for response. + access_token: + description: OAuth access token. in: query - name: alt + name: access_token schema: type: string - enum: - - json - - media - - proto upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - key: + quotaUser: description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: key + name: quotaUser schema: type: string _.xgafv: @@ -2535,91 +2529,151 @@ components: enum: - '1' - '2' + callback: + description: JSONP + in: query + name: callback + schema: + type: string x-stackQL-resources: - connections: - id: google.cloudbuild.connections - name: connections - title: Connections + operations: + id: google.cloudbuild.operations + name: operations + title: Operations + methods: + projects_locations_operations_cancel: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_operations_get: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_operations_get + insert: [] + update: [] + replace: [] + delete: [] + repositories: + id: google.cloudbuild.repositories + name: repositories + title: Repositories methods: - projects_locations_connections_patch: + projects_locations_connections_repositories_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_delete: + projects_locations_connections_repositories_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_get: + projects_locations_connections_repositories_batch_create: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories:batchCreate/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_process_webhook: + projects_locations_connections_repositories_create: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections:processWebhook/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_list: + projects_locations_connections_repositories_list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.connections - projects_locations_connections_create: + objectKey: $.repositories + projects_locations_connections_repositories_access_read_token: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}:accessReadToken/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_connections_repositories_access_read_write_token: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}:accessReadWriteToken/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_get + #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_get - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_list + #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_list insert: - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_create - update: + #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_batch_create - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_patch + #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_create + update: [] replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_delete + #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_delete + repositories_git_refs: + id: google.cloudbuild.repositories_git_refs + name: repositories_git_refs + title: Repositories_git_refs + methods: + projects_locations_connections_repositories_fetch_git_refs: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}:fetchGitRefs/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repositories_git_refs/methods/projects_locations_connections_repositories_fetch_git_refs + insert: [] + update: [] + replace: [] + delete: [] connections_iam_policies: id: google.cloudbuild.connections_iam_policies name: connections_iam_policies title: Connections_iam_policies methods: - projects_locations_connections_get_iam_policy: + projects_locations_connections_test_iam_permissions: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}:getIamPolicy/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - projects_locations_connections_test_iam_permissions: + projects_locations_connections_get_iam_policy: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}:testIamPermissions/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.bindings projects_locations_connections_set_iam_policy: operation: $ref: >- @@ -2637,140 +2691,86 @@ components: - $ref: >- #/components/x-stackQL-resources/connections_iam_policies/methods/projects_locations_connections_set_iam_policy delete: [] - connections_linkable_repositories: - id: google.cloudbuild.connections_linkable_repositories - name: connections_linkable_repositories - title: Connections_linkable_repositories - methods: - projects_locations_connections_fetch_linkable_repositories: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}:fetchLinkableRepositories/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/connections_linkable_repositories/methods/projects_locations_connections_fetch_linkable_repositories - insert: [] - update: [] - replace: [] - delete: [] - repositories: - id: google.cloudbuild.repositories - name: repositories - title: Repositories + connections: + id: google.cloudbuild.connections + name: connections + title: Connections methods: - projects_locations_connections_repositories_get: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_connections_repositories_delete: + projects_locations_connections_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_repositories_batch_create: + projects_locations_connections_patch: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories:batchCreate/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_repositories_list: + projects_locations_connections_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.repositories - projects_locations_connections_repositories_create: + projects_locations_connections_list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_repositories_access_read_token: + objectKey: $.connections + projects_locations_connections_create: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}:accessReadToken/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_repositories_access_read_write_token: + projects_locations_connections_process_webhook: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}:accessReadWriteToken/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections:processWebhook/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_get + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_get - $ref: >- - #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_list + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_list insert: - $ref: >- - #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_batch_create + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_create + update: - $ref: >- - #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_create - update: [] + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/repositories/methods/projects_locations_connections_repositories_delete - repositories_git_refs: - id: google.cloudbuild.repositories_git_refs - name: repositories_git_refs - title: Repositories_git_refs - methods: - projects_locations_connections_repositories_fetch_git_refs: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1repositories~1{repositoriesId}:fetchGitRefs/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/repositories_git_refs/methods/projects_locations_connections_repositories_fetch_git_refs - insert: [] - update: [] - replace: [] - delete: [] - operations: - id: google.cloudbuild.operations - name: operations - title: Operations + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_delete + connections_linkable_repositories: + id: google.cloudbuild.connections_linkable_repositories + name: connections_linkable_repositories + title: Connections_linkable_repositories methods: - projects_locations_operations_cancel: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_get: + projects_locations_connections_fetch_linkable_repositories: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}:fetchLinkableRepositories/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_operations_get + #/components/x-stackQL-resources/connections_linkable_repositories/methods/projects_locations_connections_fetch_linkable_repositories insert: [] update: [] replace: [] @@ -2780,19 +2780,19 @@ components: name: locations title: Locations methods: - projects_locations_list: + projects_locations_get: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1locations/get' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.locations - projects_locations_get: + projects_locations_list: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}/get' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1locations/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.locations sqlVerbs: select: - $ref: >- @@ -2804,27 +2804,36 @@ components: replace: [] delete: [] paths: - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}: + /v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/_.xgafv' - patch: - description: Updates a single connection. - operationId: cloudbuild.projects.locations.connections.patch + - $ref: '#/components/parameters/callback' + post: + description: >- + 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`. + operationId: cloudbuild.projects.locations.operations.cancel requestBody: content: application/json: schema: - $ref: '#/components/schemas/Connection' + $ref: '#/components/schemas/CancelOperationRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2836,7 +2845,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -2849,26 +2858,18 @@ paths: schema: type: string - in: path - name: connectionsId + name: operationsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - - in: query - name: etag - schema: - type: string - - in: query - name: allowMissing - schema: - type: boolean - delete: - description: Deletes a single connection. - operationId: cloudbuild.projects.locations.connections.delete + /v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: cloudbuild.projects.locations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2893,21 +2894,15 @@ paths: schema: type: string - in: path - name: connectionsId + name: operationsId required: true schema: type: string - - in: query - name: etag - schema: - type: string - - in: query - name: validateOnly - schema: - type: boolean + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}: + parameters: *ref_1 get: - description: Gets details of a single connection. - operationId: cloudbuild.projects.locations.connections.get + description: Gets details of a single repository. + operationId: cloudbuild.projects.locations.connections.repositories.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2919,7 +2914,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Connection' + $ref: '#/components/schemas/Repository' parameters: - in: path name: projectsId @@ -2936,13 +2931,14 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy: - parameters: *ref_1 - get: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: cloudbuild.projects.locations.connections.getIamPolicy + - in: path + name: repositoriesId + required: true + schema: + type: string + delete: + description: Deletes a single repository. + operationId: cloudbuild.projects.locations.connections.repositories.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2954,7 +2950,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -2971,26 +2967,29 @@ paths: required: true schema: type: string + - in: path + name: repositoriesId + required: true + schema: + type: string - in: query - name: options.requestedPolicyVersion + name: validateOnly schema: - type: integer - format: int32 - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions: + type: boolean + - in: query + name: etag + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories:batchCreate: parameters: *ref_1 post: - description: >- - 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. - operationId: cloudbuild.projects.locations.connections.testIamPermissions + description: Creates multiple repositories inside a connection. + operationId: cloudbuild.projects.locations.connections.repositories.batchCreate requestBody: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + $ref: '#/components/schemas/BatchCreateRepositoriesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3002,7 +3001,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -3019,24 +3018,79 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections:processWebhook: + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}:fetchGitRefs: + parameters: *ref_1 + get: + description: Fetch the list of branches or tags for a given repository. + operationId: cloudbuild.projects.locations.connections.repositories.fetchGitRefs + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/FetchGitRefsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: connectionsId + required: true + schema: + type: string + - in: path + name: repositoriesId + required: true + schema: + type: string + - in: query + name: refType + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories: parameters: *ref_1 post: - description: ProcessWebhook is called by the external SCM for notifying of events. - operationId: cloudbuild.projects.locations.connections.processWebhook + description: Creates a Repository. + operationId: cloudbuild.projects.locations.connections.repositories.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/HttpBody' - security: [] + $ref: '#/components/schemas/Repository' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -3048,15 +3102,18 @@ paths: required: true schema: type: string + - in: path + name: connectionsId + required: true + schema: + type: string - in: query - name: webhookKey + name: repositoryId schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections: - parameters: *ref_1 get: - description: Lists Connections in a given project and location. - operationId: cloudbuild.projects.locations.connections.list + description: Lists Repositories in a given connection. + operationId: cloudbuild.projects.locations.connections.repositories.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3068,7 +3125,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListConnectionsResponse' + $ref: '#/components/schemas/ListRepositoriesResponse' parameters: - in: path name: projectsId @@ -3080,6 +3137,11 @@ paths: required: true schema: type: string + - in: path + name: connectionsId + required: true + schema: + type: string - in: query name: pageSize schema: @@ -3089,14 +3151,20 @@ paths: name: pageToken schema: type: string + - in: query + name: filter + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}:accessReadToken: + parameters: *ref_1 post: - description: Creates a Connection. - operationId: cloudbuild.projects.locations.connections.create + description: Fetches read token of a given repository. + operationId: cloudbuild.projects.locations.connections.repositories.accessReadToken requestBody: content: application/json: schema: - $ref: '#/components/schemas/Connection' + $ref: '#/components/schemas/FetchReadTokenRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3108,7 +3176,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/FetchReadTokenResponse' parameters: - in: path name: projectsId @@ -3120,17 +3188,27 @@ paths: required: true schema: type: string - - in: query - name: connectionId + - in: path + name: connectionsId + required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:fetchLinkableRepositories: + - in: path + name: repositoriesId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}:accessReadWriteToken: parameters: *ref_1 - get: - description: >- - FetchLinkableRepositories get repositories from SCM that are accessible - and could be added to the connection. - operationId: cloudbuild.projects.locations.connections.fetchLinkableRepositories + post: + description: Fetches read/write token of a given repository. + operationId: >- + cloudbuild.projects.locations.connections.repositories.accessReadWriteToken + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FetchReadWriteTokenRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3142,7 +3220,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FetchLinkableRepositoriesResponse' + $ref: '#/components/schemas/FetchReadWriteTokenResponse' parameters: - in: path name: projectsId @@ -3159,28 +3237,26 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: repositoriesId + required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy: + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions: parameters: *ref_1 post: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: cloudbuild.projects.locations.connections.setIamPolicy + 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. + operationId: cloudbuild.projects.locations.connections.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3192,7 +3268,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -3209,11 +3285,11 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}: + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}: parameters: *ref_1 - get: - description: Gets details of a single repository. - operationId: cloudbuild.projects.locations.connections.repositories.get + delete: + description: Deletes a single connection. + operationId: cloudbuild.projects.locations.connections.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3225,7 +3301,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Repository' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -3242,14 +3318,22 @@ paths: required: true schema: type: string - - in: path - name: repositoriesId - required: true + - in: query + name: etag schema: type: string - delete: - description: Deletes a single repository. - operationId: cloudbuild.projects.locations.connections.repositories.delete + - in: query + name: validateOnly + schema: + type: boolean + patch: + description: Updates a single connection. + operationId: cloudbuild.projects.locations.connections.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Connection' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3278,29 +3362,22 @@ paths: required: true schema: type: string - - in: path - name: repositoriesId - required: true + - in: query + name: updateMask schema: type: string + format: google-fieldmask - in: query - name: validateOnly + name: allowMissing schema: type: boolean - in: query name: etag schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories:batchCreate: - parameters: *ref_1 - post: - description: Creates multiple repositories inside a connection. - operationId: cloudbuild.projects.locations.connections.repositories.batchCreate - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchCreateRepositoriesRequest' + get: + description: Gets details of a single connection. + operationId: cloudbuild.projects.locations.connections.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3312,7 +3389,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Connection' parameters: - in: path name: projectsId @@ -3329,11 +3406,13 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories: + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy: parameters: *ref_1 get: - description: Lists Repositories in a given connection. - operationId: cloudbuild.projects.locations.connections.repositories.list + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: cloudbuild.projects.locations.connections.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3345,7 +3424,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListRepositoriesResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -3363,26 +3442,15 @@ paths: schema: type: string - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize + name: options.requestedPolicyVersion schema: type: integer format: int32 - post: - description: Creates a Repository. - operationId: cloudbuild.projects.locations.connections.repositories.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' + /v2/projects/{projectsId}/locations/{locationsId}/connections: + parameters: *ref_1 + get: + description: Lists Connections in a given project and location. + operationId: cloudbuild.projects.locations.connections.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3394,7 +3462,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/ListConnectionsResponse' parameters: - in: path name: projectsId @@ -3406,25 +3474,23 @@ paths: required: true schema: type: string - - in: path - name: connectionsId - required: true + - in: query + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: repositoryId + name: pageToken schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}:accessReadToken: - parameters: *ref_1 post: - description: Fetches read token of a given repository. - operationId: cloudbuild.projects.locations.connections.repositories.accessReadToken + description: Creates a Connection. + operationId: cloudbuild.projects.locations.connections.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/FetchReadTokenRequest' + $ref: '#/components/schemas/Connection' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3436,7 +3502,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FetchReadTokenResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -3448,27 +3514,23 @@ paths: required: true schema: type: string - - in: path - name: connectionsId - required: true - schema: - type: string - - in: path - name: repositoriesId - required: true + - in: query + name: connectionId schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}:accessReadWriteToken: + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy: parameters: *ref_1 post: - description: Fetches read/write token of a given repository. - operationId: >- - cloudbuild.projects.locations.connections.repositories.accessReadWriteToken + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: cloudbuild.projects.locations.connections.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/FetchReadWriteTokenRequest' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3480,7 +3542,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FetchReadWriteTokenResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -3497,28 +3559,24 @@ paths: required: true schema: type: string - - in: path - name: repositoriesId - required: true - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/repositories/{repositoriesId}:fetchGitRefs: + /v2/projects/{projectsId}/locations/{locationsId}/connections:processWebhook: parameters: *ref_1 - get: - description: Fetch the list of branches or tags for a given repository. - operationId: cloudbuild.projects.locations.connections.repositories.fetchGitRefs - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform + post: + description: ProcessWebhook is called by the external SCM for notifying of events. + operationId: cloudbuild.projects.locations.connections.processWebhook + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HttpBody' + security: [] responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/FetchGitRefsResponse' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -3530,48 +3588,17 @@ paths: required: true schema: type: string - - in: path - name: connectionsId - required: true - schema: - type: string - - in: path - name: repositoriesId - required: true - schema: - type: string - in: query - name: refType - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + name: webhookKey schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:fetchLinkableRepositories: parameters: *ref_1 - post: + get: description: >- - 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`. - operationId: cloudbuild.projects.locations.operations.cancel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CancelOperationRequest' + FetchLinkableRepositories get repositories from SCM that are accessible + and could be added to the connection. + operationId: cloudbuild.projects.locations.connections.fetchLinkableRepositories security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3583,7 +3610,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/FetchLinkableRepositoriesResponse' parameters: - in: path name: projectsId @@ -3596,18 +3623,24 @@ paths: schema: type: string - in: path - name: operationsId + name: connectionsId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}: parameters: *ref_1 get: - description: >- - 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. - operationId: cloudbuild.projects.locations.operations.get + description: Gets information about a location. + operationId: cloudbuild.projects.locations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3619,7 +3652,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Location' parameters: - in: path name: projectsId @@ -3631,11 +3664,6 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true - schema: - type: string /v2/projects/{projectsId}/locations: parameters: *ref_1 get: @@ -3659,44 +3687,16 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 - in: query - name: pageToken - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}: - parameters: *ref_1 - get: - description: Gets information about a location. - operationId: cloudbuild.projects.locations.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Location' - parameters: - - in: path - name: projectsId - required: true + name: filter schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageToken schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudcommerceprocurement.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudcommerceprocurement.yaml index d3b6336a..f7bfb3b3 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudcommerceprocurement.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudcommerceprocurement.yaml @@ -7,8 +7,8 @@ info: title: Cloud Commerce Partner Procurement API description: Partner API for the Cloud Commerce Procurement Service. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/marketplace/docs/partners/ servers: @@ -34,82 +34,142 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - ListEntitlementsResponse: - description: Response message for PartnerProcurementService.ListEntitlements. - id: ListEntitlementsResponse + ApproveEntitlementRequest: + id: ApproveEntitlementRequest properties: - entitlements: - description: The list of entitlements in this response. - items: - $ref: '#/components/schemas/Entitlement' - type: array - nextPageToken: - description: The token for fetching the next page. + entitlementMigrated: type: string + description: >- + Optional. The resource name of the entitlement that was migrated, + with the format + `providers/{provider_id}/entitlements/{entitlement_id}`. Should only + be sent when resources have been migrated from entitlement_migrated + to the new entitlement. Optional. + properties: + additionalProperties: + type: string + description: >- + Set of properties that should be associated with the entitlement. + Optional. + deprecated: true + type: object type: object - SuspendEntitlementRequest: - type: object - id: SuspendEntitlementRequest + description: Request message for [PartnerProcurementService.ApproveEntitlement[]. + RejectEntitlementPlanChangeRequest: properties: reason: type: string description: >- - A free-form reason string, explaining the reason for suspension - request. + Free form text string explaining the rejection reason. Max allowed + length: 256 bytes. Longer strings will be truncated. + pendingPlanName: + description: Required. Name of the pending plan that is being rejected. + type: string + id: RejectEntitlementPlanChangeRequest + type: object + description: >- + Request message for + PartnerProcurementService.RejectEntitlementPlanChange. + Approval: + description: An approval for some action on an account. + properties: + updateTime: + description: Optional. The last update timestamp of the approval. + format: google-datetime + type: string + state: + enum: + - STATE_UNSPECIFIED + - PENDING + - APPROVED + - REJECTED + enumDescriptions: + - Sentinel value; do not use. + - >- + The approval is pending response from the provider. The approval + state can transition to Account.Approval.State.APPROVED or + Account.Approval.State.REJECTED. + - The approval has been granted by the provider. + - >- + The approval has been rejected by the provider. A provider may + choose to approve a previously rejected approval, so is it + possible to transition to Account.Approval.State.APPROVED. + description: Output only. The state of the approval. + type: string + name: + type: string + description: Output only. The name of the approval. + reason: + type: string + description: Output only. An explanation for the state of the approval. + type: object + id: Approval + SuspendEntitlementRequest: description: >- Request message for ParterProcurementService.SuspendEntitlement. This is not yet supported. - Account: - description: >- - Represents an account that was established by the customer on the - service provider's system. type: object + id: SuspendEntitlementRequest properties: - createTime: - type: string - description: Output only. The creation timestamp. - format: google-datetime - updateTime: - format: google-datetime + reason: type: string - description: Output only. The last update timestamp. - inputProperties: - type: object description: >- - Output only. The custom properties that were collected from the user - to create this account. - additionalProperties: - description: Properties of the object. - type: any - deprecated: true - approvals: + A free-form reason string, explaining the reason for suspension + request. + RejectEntitlementRequest: + properties: + reason: + type: string description: >- - 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. + Free form text string explaining the rejection reason. Max allowed + length: 256 bytes. Longer strings will be truncated. + type: object + id: RejectEntitlementRequest + description: Request message for PartnerProcurementService.RejectEntitlement. + ListEntitlementsResponse: + properties: + entitlements: items: - $ref: '#/components/schemas/Approval' + $ref: '#/components/schemas/Entitlement' type: array - provider: + description: The list of entitlements in this response. + nextPageToken: type: string - description: >- - 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. - state: + description: The token for fetching the next page. + id: ListEntitlementsResponse + description: Response message for PartnerProcurementService.ListEntitlements. + type: object + ListAccountsResponse: + id: ListAccountsResponse + type: object + description: Response message for [PartnerProcurementService.ListAccounts[]. + properties: + accounts: + description: The list of accounts in this response. + items: + $ref: '#/components/schemas/Account' + type: array + nextPageToken: type: string - enum: - - ACCOUNT_STATE_UNSPECIFIED - - ACCOUNT_ACTIVATION_REQUESTED - - ACCOUNT_ACTIVE + description: The token for fetching the next page. + Account: + type: object + id: Account + description: >- + Represents an account that was established by the customer on the + service provider's system. + properties: + state: description: >- 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. + type: string + enum: + - ACCOUNT_STATE_UNSPECIFIED + - ACCOUNT_ACTIVATION_REQUESTED + - ACCOUNT_ACTIVE enumDescriptions: - >- Default state of the account. It's only set to this value when the @@ -128,48 +188,68 @@ components: Output only. The resource name of the account. Account names have the form `accounts/{account_id}`. type: string - id: Account + provider: + description: >- + 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. + type: string + approvals: + type: array + items: + $ref: '#/components/schemas/Approval' + description: >- + 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. + updateTime: + format: google-datetime + type: string + description: Output only. The last update timestamp. + createTime: + type: string + format: google-datetime + description: Output only. The creation timestamp. + inputProperties: + description: >- + Output only. The custom properties that were collected from the user + to create this account. + deprecated: true + additionalProperties: + type: any + description: Properties of the object. + type: object + Consumer: + properties: + project: + type: string + description: A project name with format `projects/`. + type: object + id: Consumer + description: A resource using (consuming) this entitlement. ResetAccountRequest: - description: Request message for PartnerProcurementService.ResetAccount. id: ResetAccountRequest - type: object properties: {} - ApproveEntitlementRequest: + description: Request message for PartnerProcurementService.ResetAccount. type: object - description: Request message for [PartnerProcurementService.ApproveEntitlement[]. - id: ApproveEntitlementRequest + ApproveEntitlementPlanChangeRequest: + description: >- + Request message for + [PartnerProcurementService.ApproveEntitlementPlanChange[]. + id: ApproveEntitlementPlanChangeRequest properties: - properties: - description: >- - Set of properties that should be associated with the entitlement. - Optional. - type: object - additionalProperties: - type: string - deprecated: true - entitlementMigrated: + pendingPlanName: type: string - description: >- - Optional. The resource name of the entitlement that was migrated, - with the format - `providers/{provider_id}/entitlements/{entitlement_id}`. Should only - be sent when resources have been migrated from entitlement_migrated - to the new entitlement. Optional. + description: Required. Name of the pending plan that's being approved. + type: object ApproveAccountRequest: + id: ApproveAccountRequest description: Request message for PartnerProcurementService.ApproveAccount. + type: object properties: - approvalName: - description: >- - The name of the approval being approved. If absent and there is only - one approval possible, that approval will be granted. If absent and - there are many approvals possible, the request will fail with a 400 - Bad Request. Optional. - type: string - reason: - description: >- - Free form text string explaining the approval reason. Optional. Max - allowed length: 256 bytes. Longer strings will be truncated. - type: string properties: type: object additionalProperties: @@ -177,13 +257,40 @@ components: description: >- Set of properties that should be associated with the account. Optional. + reason: + description: >- + Free form text string explaining the approval reason. Optional. Max + allowed length: 256 bytes. Longer strings will be truncated. + type: string + approvalName: + type: string + description: >- + The name of the approval being approved. If absent and there is only + one approval possible, that approval will be granted. If absent and + there are many approvals possible, the request will fail with a 400 + Bad Request. Optional. + Empty: type: object - id: ApproveAccountRequest + properties: {} + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + id: Empty Entitlement: type: object id: Entitlement - description: Represents a procured product of a customer. properties: + newOfferEndTime: + description: >- + 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. + type: string + readOnly: true + format: google-datetime provider: type: string description: >- @@ -191,77 +298,111 @@ components: entitlement was created against. Each service provider is assigned a unique provider value when they onboard with Cloud Commerce platform. - productExternalName: - readOnly: true + inputProperties: + description: >- + Output only. The custom properties that were collected from the user + to create this entitlement. + additionalProperties: + description: Properties of the object. + type: any + deprecated: true + type: object + usageReportingId: type: string - description: Output only. The identifier of the product that was procured. - newPendingPlan: description: >- - Output only. The identifier of the pending new plan. Required if the - product has plans and the entitlement has a pending plan change. + 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. + product: + type: string + description: >- + Output only. The identifier of the entity that was purchased. This + may actually represent a product, quote, or offer. We strongly + recommend that you use the following more explicit fields: + productExternalName, quoteExternalName, or offer. + deprecated: true + newOfferStartTime: type: string - newPendingOfferDuration: readOnly: true + description: >- + 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. + format: google-datetime + account: type: string description: >- - 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. - offer: + Output only. The resource name of the account that this entitlement + is based on, if any. + messageToUser: type: string - readOnly: true description: >- - 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. - createTime: + 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. + cancellationReason: + description: >- + 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. + readOnly: true type: string + createTime: description: Output only. The creation timestamp. - format: google-datetime - quoteExternalName: type: string + format: google-datetime + productExternalName: + description: Output only. The identifier of the product that was procured. readOnly: true - description: >- - Output only. The identifier of the quote that was used to procure. - Empty if the order is not purchased using a quote. - consumers: - description: Output only. The resources using this entitlement, if applicable. - items: - $ref: '#/components/schemas/Consumer' - type: array - newOfferEndTime: type: string + updateTime: + type: string + description: Output only. The last update timestamp. format: google-datetime + name: + type: string description: >- - 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. + Output only. The resource name of the entitlement. Entitlement names + have the form + `providers/{provider_id}/entitlements/{entitlement_id}`. + orderId: + type: string readOnly: true - name: + description: >- + Output only. The order ID of this entitlement, without any `orders/` + resource name prefix. + newPendingOffer: + readOnly: true + description: >- + 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. type: string + plan: description: >- - Output only. The resource name of the entitlement. Entitlement names - have the form - `providers/{provider_id}/entitlements/{entitlement_id}`. - subscriptionEndTime: - description: >- - Output only. End time for the subscription corresponding to this - entitlement. - readOnly: true + Output only. The identifier of the plan that was procured. Required + if the product has plans. type: string - format: google-datetime state: - type: string - description: Output only. The state of the entitlement. enumDescriptions: - >- Default state of the entitlement. It's only set to this value when @@ -333,181 +474,82 @@ components: - ENTITLEMENT_PENDING_PLAN_CHANGE - ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL - ENTITLEMENT_SUSPENDED - usageReportingId: - description: >- - 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. type: string - updateTime: - description: Output only. The last update timestamp. - format: google-datetime - type: string - cancellationReason: + description: Output only. The state of the entitlement. + entitlementBenefitIds: + items: + type: string + readOnly: true + description: >- + Output only. The entitlement benefit IDs associated with the + purchase. + type: array + offer: + description: >- + 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. readOnly: true type: string + consumers: + type: array + description: Output only. The resources using this entitlement, if applicable. + items: + $ref: '#/components/schemas/Consumer' + newPendingPlan: + type: string description: >- - 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. + Output only. The identifier of the pending new plan. Required if the + product has plans and the entitlement has a pending plan change. offerDuration: - type: string - readOnly: true description: >- 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. - product: - description: >- - Output only. The identifier of the entity that was purchased. This - may actually represent a product, quote, or offer. We strongly - recommend that you use the following more explicit fields: - productExternalName, quoteExternalName, or offer. - deprecated: true - type: string - inputProperties: - deprecated: true - type: object - description: >- - Output only. The custom properties that were collected from the user - to create this entitlement. - additionalProperties: - type: any - description: Properties of the object. - account: - description: >- - Output only. The resource name of the account that this entitlement - is based on, if any. - type: string - entitlementBenefitIds: - description: >- - Output only. The entitlement benefit IDs associated with the - purchase. readOnly: true - items: - type: string - type: array - messageToUser: - description: >- - 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. - type: string - orderId: type: string + subscriptionEndTime: description: >- - Output only. The order ID of this entitlement, without any `orders/` - resource name prefix. - readOnly: true - newOfferStartTime: - description: >- - 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. - type: string - readOnly: true + Output only. End time for the subscription corresponding to this + entitlement. format: google-datetime - plan: - description: >- - Output only. The identifier of the plan that was procured. Required - if the product has plans. type: string - offerEndTime: readOnly: true - type: string - format: google-datetime + offerEndTime: description: >- 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. - newPendingOffer: - readOnly: true - type: string - description: >- - 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. - Approval: - id: Approval - description: An approval for some action on an account. - properties: - name: - description: Output only. The name of the approval. - type: string - state: - enumDescriptions: - - Sentinel value; do not use. - - >- - The approval is pending response from the provider. The approval - state can transition to Account.Approval.State.APPROVED or - Account.Approval.State.REJECTED. - - The approval has been granted by the provider. - - >- - The approval has been rejected by the provider. A provider may - choose to approve a previously rejected approval, so is it - possible to transition to Account.Approval.State.APPROVED. - enum: - - STATE_UNSPECIFIED - - PENDING - - APPROVED - - REJECTED type: string - description: Output only. The state of the approval. - reason: - description: Output only. An explanation for the state of the approval. - type: string - updateTime: - type: string - description: Optional. The last update timestamp of the approval. format: google-datetime - type: object - ApproveEntitlementPlanChangeRequest: - properties: - pendingPlanName: - type: string - description: Required. Name of the pending plan that's being approved. - type: object - id: ApproveEntitlementPlanChangeRequest - description: >- - Request message for - [PartnerProcurementService.ApproveEntitlementPlanChange[]. - RejectEntitlementPlanChangeRequest: - properties: - pendingPlanName: + readOnly: true + newPendingOfferDuration: type: string - description: Required. Name of the pending plan that is being rejected. - reason: + description: >- + 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. + readOnly: true + quoteExternalName: type: string description: >- - Free form text string explaining the rejection reason. Max allowed - length: 256 bytes. Longer strings will be truncated. - type: object - id: RejectEntitlementPlanChangeRequest - description: >- - Request message for - PartnerProcurementService.RejectEntitlementPlanChange. + Output only. The identifier of the quote that was used to procure. + Empty if the order is not purchased using a quote. + readOnly: true + description: Represents a procured product of a customer. RejectAccountRequest: + description: Request message for PartnerProcurementService.RejectAccount. id: RejectAccountRequest + type: object properties: approvalName: type: string @@ -518,65 +560,20 @@ components: Bad Request. Optional. reason: description: >- - Free form text string explaining the rejection reason. Max allowed - length: 256 bytes. Longer strings will be truncated. - type: string - description: Request message for PartnerProcurementService.RejectAccount. - type: object - Empty: - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - type: object - properties: {} - id: Empty - ListAccountsResponse: - id: ListAccountsResponse - properties: - nextPageToken: - description: The token for fetching the next page. - type: string - accounts: - description: The list of accounts in this response. - items: - $ref: '#/components/schemas/Account' - type: array - type: object - description: Response message for [PartnerProcurementService.ListAccounts[]. - RejectEntitlementRequest: - properties: - reason: - type: string - description: >- - Free form text string explaining the rejection reason. Max allowed - length: 256 bytes. Longer strings will be truncated. - description: Request message for PartnerProcurementService.RejectEntitlement. - id: RejectEntitlementRequest - type: object - Consumer: - type: object - properties: - project: - description: A project name with format `projects/`. + Free form text string explaining the rejection reason. Max allowed + length: 256 bytes. Longer strings will be truncated. type: string - id: Consumer - description: A resource using (consuming) this entitlement. parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: quotaUser + name: prettyPrint schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. + type: boolean + callback: + description: JSONP in: query - name: fields + name: callback schema: type: string _.xgafv: @@ -588,12 +585,6 @@ components: enum: - '1' - '2' - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string key: description: >- API key. Your API key identifies your project and provides you with API @@ -603,18 +594,18 @@ components: name: key schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: upload_protocol + name: oauth_token schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. + access_token: + description: OAuth access token. in: query - name: prettyPrint + name: access_token schema: - type: boolean + type: string alt: description: Data format for response. in: query @@ -631,16 +622,25 @@ components: name: uploadType schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: oauth_token + name: upload_protocol schema: type: string - callback: - description: JSONP + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: callback + name: fields + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser schema: type: string x-stackQL-resources: @@ -656,17 +656,17 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.accounts - reject: + approve: operation: $ref: >- - #/paths/~1v1~1providers~1{providersId}~1accounts~1{accountsId}:reject/post + #/paths/~1v1~1providers~1{providersId}~1accounts~1{accountsId}:approve/post response: mediaType: application/json openAPIDocKey: '200' - approve: + reject: operation: $ref: >- - #/paths/~1v1~1providers~1{providersId}~1accounts~1{accountsId}:approve/post + #/paths/~1v1~1providers~1{providersId}~1accounts~1{accountsId}:reject/post response: mediaType: application/json openAPIDocKey: '200' @@ -696,31 +696,31 @@ components: name: entitlements title: Entitlements methods: - patch: + list: operation: - $ref: >- - #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}/patch + $ref: '#/paths/~1v1~1providers~1{providersId}~1entitlements/get' response: mediaType: application/json openAPIDocKey: '200' - get: + objectKey: $.entitlements + reject_plan_change: operation: $ref: >- - #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}/get + #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}:rejectPlanChange/post response: mediaType: application/json openAPIDocKey: '200' - reject_plan_change: + patch: operation: $ref: >- - #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}:rejectPlanChange/post + #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}/patch response: mediaType: application/json openAPIDocKey: '200' - suspend: + get: operation: $ref: >- - #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}:suspend/post + #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -731,17 +731,17 @@ components: response: mediaType: application/json openAPIDocKey: '200' - list: + approve: operation: - $ref: '#/paths/~1v1~1providers~1{providersId}~1entitlements/get' + $ref: >- + #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}:approve/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.entitlements - approve: + suspend: operation: $ref: >- - #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}:approve/post + #/paths/~1v1~1providers~1{providersId}~1entitlements~1{entitlementsId}:suspend/post response: mediaType: application/json openAPIDocKey: '200' @@ -764,17 +764,17 @@ components: paths: /v1/providers/{providersId}/accounts: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/quotaUser' get: description: Lists Accounts that the provider has access to. operationId: cloudcommerceprocurement.providers.accounts.list @@ -805,16 +805,16 @@ paths: name: pageToken schema: type: string - /v1/providers/{providersId}/accounts/{accountsId}:reject: + /v1/providers/{providersId}/accounts/{accountsId}:approve: parameters: *ref_1 post: - description: Rejects an approval on an Account. - operationId: cloudcommerceprocurement.providers.accounts.reject + description: Grants an approval on an Account. + operationId: cloudcommerceprocurement.providers.accounts.approve requestBody: content: application/json: schema: - $ref: '#/components/schemas/RejectAccountRequest' + $ref: '#/components/schemas/ApproveAccountRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -838,16 +838,16 @@ paths: required: true schema: type: string - /v1/providers/{providersId}/accounts/{accountsId}:approve: + /v1/providers/{providersId}/accounts/{accountsId}:reject: parameters: *ref_1 post: - description: Grants an approval on an Account. - operationId: cloudcommerceprocurement.providers.accounts.approve + description: Rejects an approval on an Account. + operationId: cloudcommerceprocurement.providers.accounts.reject requestBody: content: application/json: schema: - $ref: '#/components/schemas/ApproveAccountRequest' + $ref: '#/components/schemas/RejectAccountRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -934,16 +934,11 @@ paths: required: true schema: type: string - /v1/providers/{providersId}/entitlements/{entitlementsId}: + /v1/providers/{providersId}/entitlements: parameters: *ref_1 - patch: - description: Updates an existing Entitlement. - operationId: cloudcommerceprocurement.providers.entitlements.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Entitlement' + get: + description: Lists Entitlements for which the provider has read access. + operationId: cloudcommerceprocurement.providers.entitlements.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -955,26 +950,40 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Entitlement' + $ref: '#/components/schemas/ListEntitlementsResponse' parameters: - in: path name: providersId required: true schema: type: string - - in: path - name: entitlementsId - required: true + - in: query + name: filter schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask - get: - description: Gets a requested Entitlement resource. - operationId: cloudcommerceprocurement.providers.entitlements.get + /v1/providers/{providersId}/entitlements/{entitlementsId}:rejectPlanChange: + parameters: *ref_1 + post: + description: >- + 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. + operationId: cloudcommerceprocurement.providers.entitlements.rejectPlanChange + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RejectEntitlementPlanChangeRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -986,7 +995,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Entitlement' + $ref: '#/components/schemas/Empty' parameters: - in: path name: providersId @@ -998,20 +1007,16 @@ paths: required: true schema: type: string - /v1/providers/{providersId}/entitlements/{entitlementsId}:rejectPlanChange: + /v1/providers/{providersId}/entitlements/{entitlementsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: cloudcommerceprocurement.providers.entitlements.rejectPlanChange + patch: + description: Updates an existing Entitlement. + operationId: cloudcommerceprocurement.providers.entitlements.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/RejectEntitlementPlanChangeRequest' + $ref: '#/components/schemas/Entitlement' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1023,7 +1028,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Entitlement' parameters: - in: path name: providersId @@ -1035,16 +1040,14 @@ paths: required: true schema: type: string - /v1/providers/{providersId}/entitlements/{entitlementsId}:suspend: - parameters: *ref_1 - post: - description: Requests suspension of an active Entitlement. This is not yet supported. - operationId: cloudcommerceprocurement.providers.entitlements.suspend - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SuspendEntitlementRequest' + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Gets a requested Entitlement resource. + operationId: cloudcommerceprocurement.providers.entitlements.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1056,7 +1059,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Entitlement' parameters: - in: path name: providersId @@ -1105,11 +1108,20 @@ paths: required: true schema: type: string - /v1/providers/{providersId}/entitlements: + /v1/providers/{providersId}/entitlements/{entitlementsId}:approve: parameters: *ref_1 - get: - description: Lists Entitlements for which the provider has read access. - operationId: cloudcommerceprocurement.providers.entitlements.list + post: + description: >- + 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. + operationId: cloudcommerceprocurement.providers.entitlements.approve + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApproveEntitlementRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1121,40 +1133,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListEntitlementsResponse' + $ref: '#/components/schemas/Empty' parameters: - in: path name: providersId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: entitlementsId + required: true schema: type: string - /v1/providers/{providersId}/entitlements/{entitlementsId}:approve: + /v1/providers/{providersId}/entitlements/{entitlementsId}:suspend: parameters: *ref_1 post: - description: >- - 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. - operationId: cloudcommerceprocurement.providers.entitlements.approve + description: Requests suspension of an active Entitlement. This is not yet supported. + operationId: cloudcommerceprocurement.providers.entitlements.suspend requestBody: content: application/json: schema: - $ref: '#/components/schemas/ApproveEntitlementRequest' + $ref: '#/components/schemas/SuspendEntitlementRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudcontrolspartner.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudcontrolspartner.yaml index b3a15e5e..646c9106 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudcontrolspartner.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudcontrolspartner.yaml @@ -9,8 +9,8 @@ info: Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering. version: v1 - x-discovery-doc-revision: '20240911' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest @@ -188,6 +188,12 @@ components: description: Output only. Indicates whether a customer is fully onboarded readOnly: true type: boolean + organizationDomain: + description: >- + Output only. The customer organization domain, extracted from CRM + Organization’s display_name field. e.g. "google.com" + readOnly: true + type: string CustomerOnboardingState: id: CustomerOnboardingState description: Container for customer onboarding steps @@ -528,6 +534,15 @@ components: Endpoint for sending requests to the EKM for key provisioning during Assured Workload creation. type: string + Empty: + id: Empty + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + type: object + properties: {} ListViolationsResponse: id: ListViolationsResponse description: Response message for list customer violation requests @@ -866,6 +881,20 @@ components: response: mediaType: application/json openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1customers~1{customersId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1customers~1{customersId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' list: operation: $ref: >- @@ -874,14 +903,24 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.customers + create: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1customers/post + response: + mediaType: application/json + openAPIDocKey: '200' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/customers/methods/get' - $ref: '#/components/x-stackQL-resources/customers/methods/list' - insert: [] - update: [] + insert: + - $ref: '#/components/x-stackQL-resources/customers/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/customers/methods/patch' replace: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/customers/methods/delete' workloads: id: google.cloudcontrolspartner.workloads name: workloads @@ -1072,6 +1111,78 @@ paths: required: true schema: type: string + patch: + description: Update details of a single customer + operationId: cloudcontrolspartner.organizations.locations.customers.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: customersId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Delete details of a single customer + operationId: cloudcontrolspartner.organizations.locations.customers.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: customersId + required: true + schema: + type: string /v1/organizations/{organizationsId}/locations/{locationsId}/customers: parameters: *ref_1 get: @@ -1119,6 +1230,41 @@ paths: name: orderBy schema: type: string + post: + description: Creates a new customer. + operationId: cloudcontrolspartner.organizations.locations.customers.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: customerId + schema: + type: string /v1/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}: parameters: *ref_1 get: diff --git a/providers/src/googleapis.com/v00.00.00000/services/clouddeploy.yaml b/providers/src/googleapis.com/v00.00.00000/services/clouddeploy.yaml index 4f6ec024..cd1060ad 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/clouddeploy.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/clouddeploy.yaml @@ -7,8 +7,8 @@ info: title: Cloud Deploy API description: '' version: v1 - x-discovery-doc-revision: '20240902' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/deploy/ servers: @@ -418,6 +418,37 @@ components: and Service resources. This label must already be present in both resources. type: string + routeDestinations: + description: >- + Optional. Route destinations allow configuring the Gateway API + HTTPRoute to be deployed to additional clusters. This option is + available for multi-cluster service mesh set ups that require the + route to exist in the clusters that call the service. If + unspecified, the HTTPRoute will only be deployed to the Target + cluster. + $ref: '#/components/schemas/RouteDestinations' + RouteDestinations: + id: RouteDestinations + description: Information about route destinations for the Gateway API service mesh. + type: object + properties: + destinationIds: + description: >- + Required. The clusters where the Gateway API HTTPRoute resource will + be deployed to. Valid entries include the associated entities IDs + configured in the Target resource and "@self" to include the Target + cluster. + type: array + items: + type: string + propagateService: + description: >- + Optional. Whether to propagate the Kubernetes Service to the route + destination clusters. The Service will always be deployed to the + Target cluster even if the HTTPRoute is not. This option may be used + to facilitiate successful DNS lookup in the route destination + clusters. Can only be set to true if destinations are specified. + type: boolean ServiceNetworking: id: ServiceNetworking description: Information about the Kubernetes Service networking configuration. @@ -746,6 +777,20 @@ components: customTarget: description: Optional. Information specifying a Custom Target. $ref: '#/components/schemas/CustomTarget' + associatedEntities: + description: >- + Optional. Map of entity IDs to their associated entities. Associated + entities allows specifying places other than the deployment target + for specific features. For example, the Gateway API canary can be + configured to deploy the HTTPRoute to a different cluster(s) than + the deployment cluster using associated entities. An entity ID must + consist of lower-case letters, numbers, and hyphens, start with a + letter and end with a letter or a number, and have a max length of + 63 characters. In other words, it must match the following regex: + `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + type: object + additionalProperties: + $ref: '#/components/schemas/AssociatedEntities' etag: description: >- Optional. This checksum is computed by the server based on the value @@ -836,6 +881,25 @@ components: Required. The name of the CustomTargetType. Format must be `projects/{project}/locations/{location}/customTargetTypes/{custom_target_type}`. type: string + AssociatedEntities: + id: AssociatedEntities + description: Information about entities associated with a `Target`. + type: object + properties: + gkeClusters: + description: >- + Optional. Information specifying GKE clusters as associated + entities. + type: array + items: + $ref: '#/components/schemas/GkeCluster' + anthosClusters: + description: >- + Optional. Information specifying Anthos clusters as associated + entities. + type: array + items: + $ref: '#/components/schemas/AnthosCluster' ExecutionConfig: id: ExecutionConfig description: Configuration of the environment to use when calling Skaffold. @@ -970,6 +1034,13 @@ components: Optional. If set to true, the request is validated and the user is provided with a `RollbackTargetResponse`. type: boolean + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`. + type: array + items: + type: string RollbackTargetConfig: id: RollbackTargetConfig description: Configs for the Rollback rollout. @@ -1185,6 +1256,10 @@ components: type: array items: type: string + activeRepairAutomationRun: + description: Output only. The AutomationRun actively repairing the rollout. + readOnly: true + type: string Phase: id: Phase description: >- @@ -2087,6 +2162,399 @@ components: description: The response object for `AbandonRelease`. type: object properties: {} + DeployPolicy: + id: DeployPolicy + description: >- + A `DeployPolicy` resource in the Cloud Deploy API. A `DeployPolicy` + inhibits manual or automation-driven actions within a Delivery Pipeline + or Target. + type: object + properties: + name: + description: >- + Output only. Name of the `DeployPolicy`. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + The `deployPolicy` component must match + `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` + readOnly: true + type: string + uid: + description: Output only. Unique identifier of the `DeployPolicy`. + readOnly: true + type: string + description: + description: Description of the `DeployPolicy`. Max length is 255 characters. + type: string + annotations: + description: >- + 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. + type: object + additionalProperties: + type: string + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + createTime: + description: Output only. Time at which the deploy policy was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: >- + Output only. Most recent time at which the deploy policy was + updated. + readOnly: true + type: string + format: google-datetime + suspended: + description: >- + When suspended, the policy will not prevent actions from occurring, + even if the action violates the policy. + type: boolean + selectors: + description: >- + Required. Selected resources to which the policy will be applied. At + least one selector is required. If one selector matches the resource + the policy applies. For example, if there are two selectors and the + action being attempted matches one of them, the policy will apply to + that action. + type: array + items: + $ref: '#/components/schemas/DeployPolicyResourceSelector' + rules: + description: Required. Rules to apply. At least one rule must be present. + type: array + items: + $ref: '#/components/schemas/PolicyRule' + etag: + description: >- + 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. + type: string + DeployPolicyResourceSelector: + id: DeployPolicyResourceSelector + description: >- + Contains information on the resources to select for a deploy policy. + Attributes provided must all match the resource in order for policy + restrictions to apply. For example, if delivery pipelines attributes + given are an id "prod" and labels "foo: bar", a delivery pipeline + resource must match both that id and have that label in order to be + subject to the policy. + type: object + properties: + deliveryPipeline: + description: Optional. Contains attributes about a delivery pipeline. + $ref: '#/components/schemas/DeliveryPipelineAttribute' + target: + description: Optional. Contains attributes about a target. + $ref: '#/components/schemas/TargetAttribute' + DeliveryPipelineAttribute: + id: DeliveryPipelineAttribute + description: Contains criteria for selecting DeliveryPipelines. + type: object + properties: + id: + description: >- + ID of the `DeliveryPipeline`. The value of this field could be one + of the following: * The last segment of a pipeline name * "*", all + delivery pipelines in a location + type: string + labels: + description: DeliveryPipeline labels. + type: object + additionalProperties: + type: string + TargetAttribute: + id: TargetAttribute + description: >- + Contains criteria for selecting Targets. This could be used to select + targets for a Deploy Policy or for an Automation. + type: object + properties: + id: + description: >- + ID of the `Target`. The value of this field could be one of the + following: * The last segment of a target name * "*", all targets in + a location + type: string + labels: + description: Target labels. + type: object + additionalProperties: + type: string + PolicyRule: + id: PolicyRule + description: Deploy Policy rule. + type: object + properties: + rolloutRestriction: + description: Rollout restrictions. + $ref: '#/components/schemas/RolloutRestriction' + RolloutRestriction: + id: RolloutRestriction + description: Rollout restrictions. + type: object + properties: + id: + description: >- + Required. Restriction rule ID. Required and must be unique within a + DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + type: string + invokers: + description: >- + Optional. What invoked the action. If left empty, all invoker types + will be restricted. + type: array + items: + type: string + enumDescriptions: + - Unspecified. + - >- + The action is user-driven. For example, creating a rollout + manually via a gcloud create command. + - Automated action by Cloud Deploy. + enum: + - INVOKER_UNSPECIFIED + - USER + - DEPLOY_AUTOMATION + actions: + description: >- + Optional. Rollout actions to be restricted as part of the policy. If + left empty, all actions will be restricted. + type: array + items: + type: string + enumDescriptions: + - Unspecified. + - Advance the rollout to the next phase. + - Approve the rollout. + - Cancel the rollout. + - Create a rollout. + - Ignore a job result on the rollout. + - Retry a job for a rollout. + - Rollback a rollout. + - Terminate a jobrun. + enum: + - ROLLOUT_ACTIONS_UNSPECIFIED + - ADVANCE + - APPROVE + - CANCEL + - CREATE + - IGNORE_JOB + - RETRY_JOB + - ROLLBACK + - TERMINATE_JOBRUN + timeWindows: + description: Required. Time window within which actions are restricted. + $ref: '#/components/schemas/TimeWindows' + TimeWindows: + id: TimeWindows + description: >- + Time windows within which actions are restricted. See the + [documentation](https://cloud.google.com/deploy/docs/deploy-policy#dates_times) + for more information on how to configure dates/times. + type: object + properties: + timeZone: + description: >- + Required. The time zone in IANA format [IANA Time Zone + Database](https://www.iana.org/time-zones) (e.g. America/New_York). + type: string + oneTimeWindows: + description: Optional. One-time windows within which actions are restricted. + type: array + items: + $ref: '#/components/schemas/OneTimeWindow' + weeklyWindows: + description: >- + Optional. Recurring weekly windows within which actions are + restricted. + type: array + items: + $ref: '#/components/schemas/WeeklyWindow' + OneTimeWindow: + id: OneTimeWindow + description: >- + One-time window within which actions are restricted. For example, + blocking actions over New Year's Eve from December 31st at 5pm to + January 1st at 9am. + type: object + properties: + startDate: + description: Required. Start date. + $ref: '#/components/schemas/Date' + startTime: + description: >- + Required. Start time (inclusive). Use 00:00 for the beginning of the + day. + $ref: '#/components/schemas/TimeOfDay' + endDate: + description: Required. End date. + $ref: '#/components/schemas/Date' + endTime: + description: >- + Required. End time (exclusive). You may use 24:00 for the end of the + day. + $ref: '#/components/schemas/TimeOfDay' + Date: + id: Date + description: >- + 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 + type: object + properties: + year: + description: >- + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + type: integer + format: int32 + month: + description: >- + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + type: integer + format: int32 + day: + description: >- + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + type: integer + format: int32 + TimeOfDay: + id: TimeOfDay + description: >- + Represents a time of day. The date and time zone are either not + significant or are specified elsewhere. An API may choose to allow leap + seconds. Related types are google.type.Date and + `google.protobuf.Timestamp`. + type: object + properties: + hours: + description: >- + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. + type: integer + format: int32 + minutes: + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. + type: integer + format: int32 + seconds: + description: >- + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. + type: integer + format: int32 + nanos: + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. + type: integer + format: int32 + WeeklyWindow: + id: WeeklyWindow + description: >- + Weekly windows. For example, blocking actions every Saturday and Sunday. + Another example would be blocking actions every weekday from 5pm to + midnight. + type: object + properties: + daysOfWeek: + description: >- + Optional. Days of week. If left empty, all days of the week will be + included. + type: array + items: + type: string + enumDescriptions: + - The day of the week is unspecified. + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday + enum: + - DAY_OF_WEEK_UNSPECIFIED + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY + startTime: + description: >- + Optional. Start time (inclusive). Use 00:00 for the beginning of the + day. If you specify start_time you must also specify end_time. If + left empty, this will block for the entire day for the days + specified in days_of_week. + $ref: '#/components/schemas/TimeOfDay' + endTime: + description: >- + Optional. End time (exclusive). Use 24:00 to indicate midnight. If + you specify end_time you must also specify start_time. If left + empty, this will block for the entire day for the days specified in + days_of_week. + $ref: '#/components/schemas/TimeOfDay' + ListDeployPoliciesResponse: + id: ListDeployPoliciesResponse + description: The response object from `ListDeployPolicies`. + type: object + properties: + deployPolicies: + description: The `DeployPolicy` objects. + type: array + items: + $ref: '#/components/schemas/DeployPolicy' + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string ApproveRolloutRequest: id: ApproveRolloutRequest description: The request object used by `ApproveRollout`. @@ -2095,6 +2563,13 @@ components: approved: description: Required. True = approve; false = reject type: boolean + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + type: array + items: + type: string ApproveRolloutResponse: id: ApproveRolloutResponse description: The response object from `ApproveRollout`. @@ -2108,6 +2583,13 @@ components: phaseId: description: Required. The phase ID to advance the `Rollout` to. type: string + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + type: array + items: + type: string AdvanceRolloutResponse: id: AdvanceRolloutResponse description: The response object from `AdvanceRollout`. @@ -2117,7 +2599,14 @@ components: id: CancelRolloutRequest description: The request object used by `CancelRollout`. type: object - properties: {} + properties: + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + type: array + items: + type: string CancelRolloutResponse: id: CancelRolloutResponse description: The response object from `CancelRollout`. @@ -2154,6 +2643,13 @@ components: jobId: description: Required. The job ID for the Job to ignore. type: string + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + type: array + items: + type: string IgnoreJobResponse: id: IgnoreJobResponse description: The response object from `IgnoreJob`. @@ -2170,6 +2666,13 @@ components: jobId: description: Required. The job ID for the Job to retry. type: string + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + type: array + items: + type: string RetryJobResponse: id: RetryJobResponse description: The response object from 'RetryJob'. @@ -2587,7 +3090,14 @@ components: id: TerminateJobRunRequest description: The request object used by `TerminateJobRun`. type: object - properties: {} + properties: + overrideDeployPolicy: + description: >- + Optional. Deploy policies to override. Format is + `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + type: array + items: + type: string TerminateJobRunResponse: id: TerminateJobRunResponse description: The response object from `TerminateJobRun`. @@ -2634,39 +3144,6 @@ components: supportEndDate: description: Date when this version is expected to no longer be supported. $ref: '#/components/schemas/Date' - Date: - id: Date - description: >- - 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 - type: object - properties: - year: - description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - type: integer - format: int32 - month: - description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - type: integer - format: int32 - day: - description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. - type: integer - format: int32 Automation: id: Automation description: >- @@ -2774,22 +3251,6 @@ components: type: array items: $ref: '#/components/schemas/TargetAttribute' - TargetAttribute: - id: TargetAttribute - description: Contains criteria for selecting Targets. - type: object - properties: - id: - description: >- - ID of the `Target`. The value of this field could be one of the - following: * The last segment of a target name * "*", all targets in - a location - type: string - labels: - description: Target labels. - type: object - additionalProperties: - type: string AutomationRule: id: AutomationRule description: '`AutomationRule` defines the automation activities.' @@ -2810,6 +3271,12 @@ components: Optional. The `RepairRolloutRule` will automatically repair a failed rollout. $ref: '#/components/schemas/RepairRolloutRule' + timedPromoteReleaseRule: + description: >- + Optional. The `TimedPromoteReleaseRule` will automatically promote a + release from the current target(s) to the specified target(s) on a + configured schedule. + $ref: '#/components/schemas/TimedPromoteReleaseRule' PromoteReleaseRule: id: PromoteReleaseRule description: >- @@ -2856,6 +3323,43 @@ components: targetsPresentCondition: description: Optional. Details around targets enumerated in the rule. $ref: '#/components/schemas/TargetsPresentCondition' + timedPromoteReleaseCondition: + description: >- + Optional. TimedPromoteReleaseCondition contains rule conditions + specific to a an Automation with a timed promote release rule + defined. + $ref: '#/components/schemas/TimedPromoteReleaseCondition' + TimedPromoteReleaseCondition: + id: TimedPromoteReleaseCondition + description: >- + `TimedPromoteReleaseCondition` contains conditions specific to an + Automation with a Timed Promote Release rule defined. + type: object + properties: + nextPromotionTime: + description: Output only. When the next scheduled promotion(s) will occur. + readOnly: true + type: string + format: google-datetime + targetsList: + description: >- + Output only. A list of targets involved in the upcoming timed + promotion(s). + readOnly: true + type: array + items: + $ref: '#/components/schemas/Targets' + Targets: + id: Targets + description: The targets involved in a single timed promotion. + type: object + properties: + sourceTargetId: + description: Optional. The source target ID. + type: string + destinationTargetId: + description: Optional. The destination target ID. + type: string AdvanceRolloutRule: id: AdvanceRolloutRule description: >- @@ -2900,6 +3404,18 @@ components: resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. type: string + phases: + description: >- + Optional. Phases within which jobs are subject to automatic repair + actions on failure. Proceeds only after phase name matched any one + in the list, or for all phases if unspecified. This value must + consist of lower-case letters, numbers, and hyphens, start with a + letter and end with a letter or a number, and have a max length of + 63 characters. In other words, it must match the following regex: + `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + type: array + items: + type: string jobs: description: >- Optional. Jobs to repair. Proceeds only after job name matched any @@ -2916,6 +3432,110 @@ components: description: Output only. Information around the state of the 'Automation' rule. readOnly: true $ref: '#/components/schemas/AutomationRuleCondition' + repairPhases: + description: >- + Required. Defines the types of automatic repair phases for failed + jobs. + type: array + items: + $ref: '#/components/schemas/RepairPhaseConfig' + RepairPhaseConfig: + id: RepairPhaseConfig + description: Configuration of the repair phase. + type: object + properties: + retry: + description: Optional. Retries a failed job. + $ref: '#/components/schemas/Retry' + rollback: + description: Optional. Rolls back a `Rollout`. + $ref: '#/components/schemas/Rollback' + Retry: + id: Retry + description: Retries the failed job. + type: object + properties: + attempts: + description: >- + Required. Total number of retries. Retry is skipped if set to 0; The + minimum value is 1, and the maximum value is 10. + type: string + format: int64 + wait: + description: >- + Optional. How long to wait for the first retry. Default is 0, and + the maximum value is 14d. + type: string + format: google-duration + backoffMode: + description: >- + Optional. The pattern of how wait time will be increased. Default is + linear. Backoff mode will be ignored if `wait` is 0. + type: string + enumDescriptions: + - No WaitMode is specified. + - Increases the wait time linearly. + - Increases the wait time exponentially. + enum: + - BACKOFF_MODE_UNSPECIFIED + - BACKOFF_MODE_LINEAR + - BACKOFF_MODE_EXPONENTIAL + Rollback: + id: Rollback + description: Rolls back a `Rollout`. + type: object + properties: + destinationPhase: + description: >- + Optional. The starting phase ID for the `Rollout`. If unspecified, + the `Rollout` will start in the stable phase. + type: string + disableRollbackIfRolloutPending: + description: >- + Optional. If pending rollout exists on the target, the rollback + operation will be aborted. + type: boolean + TimedPromoteReleaseRule: + id: TimedPromoteReleaseRule + description: >- + The `TimedPromoteReleaseRule` will automatically promote a release from + the current target(s) to the specified target(s) on a configured + schedule. + type: object + properties: + id: + description: >- + Required. ID of the rule. This ID must be unique in the `Automation` + resource to which this rule belongs. The format is + `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + type: string + destinationTargetId: + description: >- + Optional. The ID of the stage in the pipeline to which this + `Release` is deploying. If unspecified, default it to the next stage + in the promotion flow. The value of this field could be one of the + following: * The last segment of a target name * "@next", the next + target in the promotion sequence + type: string + schedule: + description: >- + Required. Schedule in crontab format. e.g. "0 9 * * 1" for every + Monday at 9am. + type: string + timeZone: + description: >- + Required. The time zone in IANA format [IANA Time Zone + Database](https://www.iana.org/time-zones) (e.g. America/New_York). + type: string + condition: + description: Output only. Information around the state of the Automation rule. + readOnly: true + $ref: '#/components/schemas/AutomationRuleCondition' + destinationPhase: + description: >- + Optional. The starting phase of the rollout created by this rule. + Default to the first phase. + type: string ListAutomationsResponse: id: ListAutomationsResponse description: The response object from `ListAutomations`. @@ -2981,9 +3601,9 @@ components: $ref: '#/components/schemas/Automation' targetId: description: >- - 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. + Output only. The ID of the source target that initiates the + `AutomationRun`. The value of this field is the last segment of a + target name. readOnly: true type: string state: @@ -3012,6 +3632,12 @@ components: Present only when an explanation is needed. readOnly: true type: string + policyViolation: + description: >- + Output only. Contains information about what policies prevented the + `AutomationRun` from proceeding. + readOnly: true + $ref: '#/components/schemas/PolicyViolation' expireTime: description: >- Output only. Time the `AutomationRun` expires. An `AutomationRun` @@ -3041,6 +3667,12 @@ components: description: Output only. Repairs a failed 'Rollout'. readOnly: true $ref: '#/components/schemas/RepairRolloutOperation' + timedPromoteReleaseOperation: + description: >- + Output only. Promotes a release to a specified 'Target' as defined + in a Timed Promote Release rule. + readOnly: true + $ref: '#/components/schemas/TimedPromoteReleaseOperation' waitUntilTime: description: >- Output only. Earliest time the `AutomationRun` will attempt to @@ -3048,6 +3680,38 @@ components: readOnly: true type: string format: google-datetime + PolicyViolation: + id: PolicyViolation + description: >- + Returned from an action if one or more policies were violated, and + therefore the action was prevented. Contains information about what + policies were violated and why. + type: object + properties: + policyViolationDetails: + description: Policy violation details. + type: array + items: + $ref: '#/components/schemas/PolicyViolationDetails' + PolicyViolationDetails: + id: PolicyViolationDetails + description: Policy violation details. + type: object + properties: + policy: + description: >- + Name of the policy that was violated. Policy resource will be in the + format of + `projects/{project}/locations/{location}/policies/{policy}`. + type: string + ruleId: + description: Id of the rule that triggered the policy violation. + type: string + failureMessage: + description: >- + User readable message about why the request violated a policy. This + is not intended for machine parsing. + type: string PromoteReleaseOperation: id: PromoteReleaseOperation description: Contains the information of an automated promote-release operation. @@ -3112,6 +3776,13 @@ components: `AutomationRun`. readOnly: true type: string + currentRepairPhaseIndex: + description: >- + Output only. The index of the current repair action in the repair + sequence. + readOnly: true + type: string + format: int64 repairPhases: description: >- Output only. Records of the repair attempts. Each repair phase may @@ -3257,6 +3928,36 @@ components: description: Output only. Description of the state of the Rollback. readOnly: true type: string + disableRollbackIfRolloutPending: + description: >- + Output only. If active rollout exists on the target, abort this + rollback. + readOnly: true + type: boolean + TimedPromoteReleaseOperation: + id: TimedPromoteReleaseOperation + description: >- + Contains the information of an automated timed promote-release + operation. + type: object + properties: + targetId: + description: >- + Output only. The ID of the target that represents the promotion + stage to which the release will be promoted. The value of this field + is the last segment of a target name. + readOnly: true + type: string + release: + description: Output only. The name of the release to be promoted. + readOnly: true + type: string + phase: + description: >- + Output only. The starting phase of the rollout created by this + operation. + readOnly: true + type: string ListAutomationRunsResponse: id: ListAutomationRunsResponse description: The response object from `ListAutomationRuns`. @@ -3738,6 +4439,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -3749,6 +4451,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -3758,6 +4461,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE DeliveryPipelineNotificationEvent: id: DeliveryPipelineNotificationEvent @@ -3788,6 +4492,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -3799,6 +4504,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -3808,6 +4514,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE DeployPolicyNotificationEvent: id: DeployPolicyNotificationEvent @@ -3840,6 +4547,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -3851,6 +4559,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -3860,7 +4569,95 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE + DeployPolicyEvaluationEvent: + id: DeployPolicyEvaluationEvent + description: >- + Payload proto for "clouddeploy.googleapis.com/deploypolicy_evaluation" + Platform Log event that describes the deploy policy evaluation event. + type: object + properties: + message: + description: Debug message for when a deploy policy event occurs. + type: string + ruleType: + description: Rule type (e.g. Restrict Rollouts). + type: string + rule: + description: Rule id. + type: string + pipelineUid: + description: Unique identifier of the `Delivery Pipeline`. + type: string + deliveryPipeline: + description: The name of the `Delivery Pipeline`. + type: string + targetUid: + description: >- + Unique identifier of the `Target`. This is an optional field, as a + `Target` may not always be applicable to a policy. + type: string + target: + description: >- + The name of the `Target`. This is an optional field, as a `Target` + may not always be applicable to a policy. + type: string + invoker: + description: What invoked the action (e.g. a user or automation). + type: string + enumDescriptions: + - Unspecified. + - >- + The action is user-driven. For example, creating a rollout + manually via a gcloud create command. + - Automated action by Cloud Deploy. + enum: + - INVOKER_UNSPECIFIED + - USER + - DEPLOY_AUTOMATION + deployPolicy: + description: The name of the `DeployPolicy`. + type: string + deployPolicyUid: + description: Unique identifier of the `DeployPolicy`. + type: string + allowed: + description: >- + Whether the request is allowed. Allowed is set as true if: (1) the + request complies with the policy; or (2) the request doesn't comply + with the policy but the policy was overridden; or (3) the request + doesn't comply with the policy but the policy was suspended + type: boolean + verdict: + description: The policy verdict of the request. + type: string + enumDescriptions: + - This should never happen. + - >- + Allowed by policy. This enum value is not currently used but may + be used in the future. Currently logs are only generated when a + request is denied by policy. + - Denied by policy. + enum: + - POLICY_VERDICT_UNSPECIFIED + - ALLOWED_BY_POLICY + - DENIED_BY_POLICY + overrides: + description: >- + Things that could have overridden the policy verdict. Overrides + together with verdict decide whether the request is allowed. + type: array + items: + type: string + enumDescriptions: + - This should never happen. + - The policy was overridden. + - The policy was suspended. + enum: + - POLICY_VERDICT_OVERRIDE_UNSPECIFIED + - POLICY_OVERRIDDEN + - POLICY_SUSPENDED ReleaseNotificationEvent: id: ReleaseNotificationEvent description: >- @@ -3892,6 +4689,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -3903,6 +4701,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -3912,6 +4711,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE ReleaseRenderEvent: id: ReleaseRenderEvent @@ -3947,6 +4747,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -3958,6 +4759,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -3967,6 +4769,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE releaseRenderState: description: The state of the release render. @@ -4023,6 +4826,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -4034,6 +4838,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -4043,6 +4848,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE RolloutUpdateEvent: id: RolloutUpdateEvent @@ -4083,6 +4889,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -4094,6 +4901,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -4103,6 +4911,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE rolloutUpdateType: description: The type of the rollout update. @@ -4162,6 +4971,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -4173,6 +4983,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -4182,6 +4993,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE JobRunNotificationEvent: id: JobRunNotificationEvent @@ -4226,6 +5038,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -4237,6 +5050,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -4246,6 +5060,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE AutomationEvent: id: AutomationEvent @@ -4277,6 +5092,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -4288,6 +5104,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -4297,6 +5114,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE AutomationRunEvent: id: AutomationRunEvent @@ -4337,6 +5155,7 @@ components: - Restriction check failed. - Resource deleted. - Rollout updated. + - Deploy Policy evaluation. - >- Deprecated: This field is never used. Use release_render log type instead. @@ -4348,6 +5167,7 @@ components: - false - false - false + - false - true enum: - TYPE_UNSPECIFIED @@ -4357,6 +5177,7 @@ components: - TYPE_RESTRICTION_VIOLATED - TYPE_RESOURCE_DELETED - TYPE_ROLLOUT_UPDATE + - TYPE_DEPLOY_POLICY_EVALUATION - TYPE_RENDER_STATUES_CHANGE parameters: access_token: @@ -5032,6 +5853,58 @@ components: - $ref: >- #/components/x-stackQL-resources/custom_target_types_iam_policies/methods/set_iam_policy delete: [] + deploy_policies: + id: google.clouddeploy.deploy_policies + name: deploy_policies + title: Deploy_policies + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deployPolicies/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deployPolicies/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.deployPolicies + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deployPolicies~1{deployPoliciesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deployPolicies~1{deployPoliciesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1deployPolicies~1{deployPoliciesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deploy_policies/methods/get' + - $ref: '#/components/x-stackQL-resources/deploy_policies/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/deploy_policies/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/deploy_policies/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/deploy_policies/methods/delete' paths: /v1/projects/{projectsId}/locations/{locationsId}/config: parameters: &ref_1 @@ -5782,6 +6655,10 @@ paths: name: validateOnly schema: type: boolean + - in: query + name: overrideDeployPolicy + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}: parameters: *ref_1 get: @@ -6119,6 +6996,10 @@ paths: name: validateOnly schema: type: boolean + - in: query + name: overrideDeployPolicy + schema: + type: string - in: query name: startingPhaseId schema: @@ -7456,3 +8337,224 @@ paths: schema: type: integer format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/deployPolicies: + parameters: *ref_1 + post: + description: Creates a new DeployPolicy in a given project and location. + operationId: clouddeploy.projects.locations.deployPolicies.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeployPolicy' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: deployPolicyId + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + get: + description: Lists DeployPolicies in a given project and location. + operationId: clouddeploy.projects.locations.deployPolicies.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListDeployPoliciesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}: + parameters: *ref_1 + patch: + description: Updates the parameters of a single DeployPolicy. + operationId: clouddeploy.projects.locations.deployPolicies.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeployPolicy' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: deployPoliciesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: requestId + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean + - in: query + name: validateOnly + schema: + type: boolean + delete: + description: Deletes a single DeployPolicy. + operationId: clouddeploy.projects.locations.deployPolicies.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: deployPoliciesId + required: true + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean + - in: query + name: validateOnly + schema: + type: boolean + - in: query + name: etag + schema: + type: string + get: + description: Gets details of a single DeployPolicy. + operationId: clouddeploy.projects.locations.deployPolicies.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/DeployPolicy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: deployPoliciesId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/clouderrorreporting.yaml b/providers/src/googleapis.com/v00.00.00000/services/clouderrorreporting.yaml index ccc4b441..636fe07f 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/clouderrorreporting.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/clouderrorreporting.yaml @@ -10,8 +10,8 @@ info: reports new errors, and provides access to error groups and their associated errors. version: v1beta1 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/error-reporting/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudfunctions.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudfunctions.yaml index f99d05ad..1d64f443 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudfunctions.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudfunctions.yaml @@ -7,8 +7,8 @@ info: title: Cloud Functions API description: Manages lightweight user-provided functions executed in response to events. version: v2 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/functions servers: @@ -1172,8 +1172,8 @@ components: id: UpgradeInfo description: >- Information related to: * A function's eligibility for 1st Gen to 2nd - Gen migration * Current state of migration for function undergoing - migration. + Gen migration and 2nd Gen to CRf detach. * Current state of migration + for function undergoing migration/detach. type: object properties: upgradeState: @@ -1196,6 +1196,7 @@ components: - RedirectFunctionUpgradeTraffic API was un-successful. - RollbackFunctionUpgradeTraffic API was un-successful. - CommitFunctionUpgrade API was un-successful. + - Function is requested to be detached from 2nd Gen to CRf. enum: - UPGRADE_STATE_UNSPECIFIED - ELIGIBLE_FOR_2ND_GEN_UPGRADE @@ -1207,6 +1208,7 @@ components: - REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR - ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR - COMMIT_FUNCTION_UPGRADE_ERROR + - DETACH_IN_PROGRESS serviceConfig: description: >- Describes the Cloud Run service which has been setup to prepare for diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudidentity.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudidentity.yaml index 94a81c93..1ea20f23 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudidentity.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudidentity.yaml @@ -7,8 +7,8 @@ info: title: Cloud Identity API description: API for provisioning and managing identity resources. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/identity/ servers: @@ -337,11 +337,12 @@ components: #/components/schemas/GoogleAppsCloudidentityDevicesV1BrowserAttributes additionalSignals: description: >- - Additional signals reported by Endpoint Verification. It includes - the following attributes: 1. Non-configurable attributes: hotfixes, - av_installed, av_enabled, windows_domain_name, - is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. - [Configurable + [Additional + signals](https://cloud.google.com/endpoint-verification/docs/device-information) + reported by Endpoint Verification. It includes the following + attributes: * Non-configurable attributes: hotfixes, av_installed, + av_enabled, windows_domain_name, is_os_native_firewall_enabled, and + is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist. @@ -421,8 +422,8 @@ components: properties: lastProfileSyncTime: description: >- - Timestamp in milliseconds since Epoch when the profile/gcm id was - last synced. + Timestamp in milliseconds since the Unix epoch when the profile/gcm + id was last synced. type: string format: google-datetime chromeBrowserInfo: @@ -442,11 +443,10 @@ components: description: >- Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). - LINT.IfChange type: object properties: browserVersion: - description: Version of the request initiating browser. + description: Version of the request initiating browser. E.g. `91.0.4442.4`. type: string browserManagementState: description: Output only. Browser's management state. diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudkms.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudkms.yaml index 12c87fbc..e5eedd6b 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudkms.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudkms.yaml @@ -9,8 +9,8 @@ info: Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications. version: v1 - x-discovery-doc-revision: '20240910' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/kms/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudprofiler.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudprofiler.yaml index 4b8dc515..e7d5c493 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudprofiler.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudprofiler.yaml @@ -7,8 +7,8 @@ info: title: Cloud Profiler API description: Manages continuous profiling information. version: v2 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/profiler/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudresourcemanager.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudresourcemanager.yaml index 99766970..81a686aa 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudresourcemanager.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudresourcemanager.yaml @@ -9,8 +9,8 @@ info: Creates, reads, and updates metadata for Google Cloud Platform resource containers. version: v3 - x-discovery-doc-revision: '20240829' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/resource-manager servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudscheduler.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudscheduler.yaml index e0a5f1df..4206a667 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudscheduler.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudscheduler.yaml @@ -7,8 +7,8 @@ info: title: Cloud Scheduler API description: Creates and manages jobs run on a regular recurring schedule. version: v1 - x-discovery-doc-revision: '20240827' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/scheduler/ servers: @@ -669,6 +669,76 @@ components: description: Request message for forcing a job to run now using RunJob. type: object properties: {} + ListOperationsResponse: + id: ListOperationsResponse + description: The response message for Operations.ListOperations. + type: object + properties: + operations: + description: >- + A list of operations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/Operation' + nextPageToken: + description: The standard List next-page token. + type: string + Operation: + id: Operation + description: >- + This resource represents a long-running operation that is the result of + a network API call. + type: object + properties: + name: + description: >- + 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}`. + type: string + metadata: + description: >- + 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. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + done: + description: >- + 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. + type: boolean + error: + description: >- + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/Status' + response: + description: >- + 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`. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + CancelOperationRequest: + id: CancelOperationRequest + description: The request message for Operations.CancelOperation. + type: object + properties: {} PubsubMessage: id: PubsubMessage description: >- @@ -722,6 +792,47 @@ components: the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering). type: string + OperationMetadata: + id: OperationMetadata + description: Represents the metadata of the long-running operation. + type: object + properties: + createTime: + description: Output only. The time the operation was created. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + readOnly: true + type: string + format: google-datetime + target: + description: >- + Output only. Server-defined resource path for the target of the + operation. + readOnly: true + type: string + verb: + description: Output only. Name of the verb executed by the operation. + readOnly: true + type: string + statusDetail: + description: Output only. Human-readable status of the operation, if any. + readOnly: true + type: string + cancelRequested: + description: >- + Output only. Identifies whether the user has requested cancellation + of the operation. Operations that have been cancelled successfully + have Operation.error value with a google.rpc.Status.code of 1, + corresponding to `Code.CANCELLED`. + readOnly: true + type: boolean + apiVersion: + description: Output only. API version used to start the operation. + readOnly: true + type: string parameters: access_token: description: OAuth access token. @@ -902,6 +1013,45 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/jobs/methods/delete' + operations: + id: google.cloudscheduler.operations + name: operations + title: Operations + methods: + list: + operation: + $ref: '#/paths/~1v1~1operations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + get: + operation: + $ref: '#/paths/~1v1~1operations~1{operationsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1v1~1operations~1{operationsId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + cancel: + operation: + $ref: '#/paths/~1v1~1operations~1{operationsId}:cancel/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/operations/methods/delete' paths: /v1/projects/{projectsId}/locations: parameters: &ref_1 @@ -1281,3 +1431,108 @@ paths: required: true schema: type: string + /v1/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: cloudscheduler.operations.list + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListOperationsResponse' + parameters: + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: cloudscheduler.operations.get + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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`. + operationId: cloudscheduler.operations.delete + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: cloudscheduler.operations.cancel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelOperationRequest' + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: operationsId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudshell.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudshell.yaml index 85c68969..05cbc2cc 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudshell.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudshell.yaml @@ -9,8 +9,8 @@ info: Allows users to start, configure, and connect to interactive shell sessions running in the cloud. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/shell/docs/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudsupport.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudsupport.yaml index 06cf921f..78b59050 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudsupport.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudsupport.yaml @@ -9,8 +9,8 @@ info: Manages Google Cloud technical support cases for Customer Care support offerings. version: v2 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241104' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/support/docs/apis servers: @@ -36,406 +36,599 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - ListAttachmentsResponse: - id: ListAttachmentsResponse - type: object - description: The response message for the ListAttachments endpoint. + DiffChecksumsResponse: properties: - attachments: - type: array - description: The list of attachments associated with a case. - items: - $ref: '#/components/schemas/Attachment' - nextPageToken: - description: >- - A token to retrieve the next page of results. Set this in the - `page_token` field of subsequent `cases.attachments.list` requests. - If unspecified, there are no more results to retrieve. + objectSizeBytes: type: string - Media: - id: Media - type: object - properties: - hashVerified: + format: int64 description: '# gdata.* are outside protos with mising documentation' - type: boolean - diffVersionResponse: - $ref: '#/components/schemas/DiffVersionResponse' + objectLocation: description: '# gdata.* are outside protos with mising documentation' - length: - format: int64 + $ref: '#/components/schemas/CompositeMedia' + chunkSizeBytes: description: '# gdata.* are outside protos with mising documentation' type: string - path: + format: int64 + checksumsLocation: + $ref: '#/components/schemas/CompositeMedia' + description: '# gdata.* are outside protos with mising documentation' + objectVersion: type: string description: '# gdata.* are outside protos with mising documentation' - bigstoreObjectRef: - format: byte + description: '# gdata.* are outside protos with mising documentation' + id: DiffChecksumsResponse + type: object + DiffVersionResponse: + id: DiffVersionResponse + description: '# gdata.* are outside protos with mising documentation' + properties: + objectSizeBytes: + format: int64 description: '# gdata.* are outside protos with mising documentation' type: string - deprecated: true - compositeMedia: - type: array + objectVersion: description: '# gdata.* are outside protos with mising documentation' + type: string + type: object + CreateAttachmentRequest: + id: CreateAttachmentRequest + type: object + properties: + attachment: + $ref: '#/components/schemas/Attachment' + description: Required. The attachment to be created. + description: The request message for the CreateAttachment endpoint. + SearchCaseClassificationsResponse: + id: SearchCaseClassificationsResponse + description: The response message for SearchCaseClassifications endpoint. + type: object + properties: + caseClassifications: + type: array + description: The classifications retrieved. items: - $ref: '#/components/schemas/CompositeMedia' - contentType: + $ref: '#/components/schemas/CaseClassification' + nextPageToken: + description: >- + A token to retrieve the next page of results. Set this in the + `page_token` field of subsequent `caseClassifications.list` + requests. If unspecified, there are no more results to retrieve. type: string - description: '# gdata.* are outside protos with mising documentation' - filename: + ObjectId: + properties: + generation: description: '# gdata.* are outside protos with mising documentation' type: string - token: + format: int64 + objectName: type: string description: '# gdata.* are outside protos with mising documentation' - diffUploadRequest: - $ref: '#/components/schemas/DiffUploadRequest' - description: '# gdata.* are outside protos with mising documentation' - algorithm: - description: '# gdata.* are outside protos with mising documentation' - deprecated: true - type: string - hash: + bucketName: type: string description: '# gdata.* are outside protos with mising documentation' - deprecated: true - referenceType: - enumDescriptions: - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' + type: object + id: ObjectId + description: '# gdata.* are outside protos with mising documentation' + Actor: + properties: + username: type: string - description: '# gdata.* are outside protos with mising documentation' - enum: - - PATH - - BLOB_REF - - INLINE - - GET_MEDIA - - COMPOSITE_MEDIA - - BIGSTORE_REF - - DIFF_VERSION_RESPONSE - - DIFF_CHECKSUMS_RESPONSE - - DIFF_DOWNLOAD_RESPONSE - - DIFF_UPLOAD_REQUEST - - DIFF_UPLOAD_RESPONSE - - COSMO_BINARY_REFERENCE - - ARBITRARY_BYTES - isPotentialRetry: + readOnly: true + description: >- + Output only. The username of the actor. It may look like an email or + other format provided by the identity provider. If not provided, it + is inferred from the credentials supplied. When a name is provided, + a username must also be provided. If the user is a Google Support + agent, this will not be set. + googleSupport: type: boolean - description: '# gdata.* are outside protos with mising documentation' - contentTypeInfo: - $ref: '#/components/schemas/ContentTypeInfo' - description: '# gdata.* are outside protos with mising documentation' - blobstore2Info: - $ref: '#/components/schemas/Blobstore2Info' - description: '# gdata.* are outside protos with mising documentation' - downloadParameters: - description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/DownloadParameters' - diffChecksumsResponse: - description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/DiffChecksumsResponse' - blobRef: + readOnly: true + description: Output only. Whether the actor is a Google support actor. + email: deprecated: true - description: '# gdata.* are outside protos with mising documentation' - format: byte + description: >- + The email address of the actor. If not provided, it is inferred from + the credentials supplied during case creation. When a name is + provided, an email must also be provided. If the user is a Google + Support agent, this is obfuscated. This field is deprecated. Use + **username** field instead. type: string - cosmoBinaryReference: - description: '# gdata.* are outside protos with mising documentation' - format: byte + displayName: type: string - crc32cHash: - format: uint32 - type: integer - description: '# gdata.* are outside protos with mising documentation' - objectId: + description: >- + The name to display for the actor. If not provided, it is inferred + from credentials supplied during case creation. When an email is + provided, a display name must also be provided. This will be + obfuscated if the user is a Google Support agent. + type: object + id: Actor + description: >- + 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. + DiffUploadRequest: + description: '# gdata.* are outside protos with mising documentation' + type: object + id: DiffUploadRequest + properties: + objectVersion: description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/ObjectId' - sha256Hash: type: string - format: byte + objectInfo: description: '# gdata.* are outside protos with mising documentation' - diffUploadResponse: + $ref: '#/components/schemas/CompositeMedia' + checksumsInfo: + description: '# gdata.* are outside protos with mising documentation' + $ref: '#/components/schemas/CompositeMedia' + Blobstore2Info: + id: Blobstore2Info + type: object + description: '# gdata.* are outside protos with mising documentation' + properties: + readToken: description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/DiffUploadResponse' - timestamp: - format: uint64 type: string + downloadReadHandle: description: '# gdata.* are outside protos with mising documentation' - sha1Hash: format: byte - description: '# gdata.* are outside protos with mising documentation' - type: string - mediaId: type: string + uploadMetadataContainer: format: byte + type: string description: '# gdata.* are outside protos with mising documentation' - diffDownloadResponse: - description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/DiffDownloadResponse' - md5Hash: - description: '# gdata.* are outside protos with mising documentation' + blobId: type: string - format: byte - inline: - format: byte + description: '# gdata.* are outside protos with mising documentation' + blobGeneration: description: '# gdata.* are outside protos with mising documentation' type: string - description: '# gdata.* are outside protos with mising documentation' + format: int64 Comment: + id: Comment properties: - name: - description: Output only. Identifier. The resource name of the comment. + createTime: readOnly: true type: string + format: google-datetime + description: Output only. The time when the comment was created. plainTextBody: + readOnly: true type: string deprecated: true - readOnly: true description: >- Output only. DEPRECATED. DO NOT USE. A duplicate of the `body` field. This field is only present for legacy reasons. body: - type: string description: The full comment body. Maximum of 12800 characters. - createTime: - format: google-datetime - readOnly: true type: string - description: Output only. The time when the comment was created. creator: readOnly: true description: >- Output only. The user or Google Support agent who created the comment. $ref: '#/components/schemas/Actor' + name: + type: string + description: Output only. Identifier. The resource name of the comment. + readOnly: true description: >- A comment associated with a support case. Case comments are the primary way for Google Support to communicate with a user who has opened a case. When a user responds to Google Support, the user's responses also appear as comments. - id: Comment type: object - CreateAttachmentRequest: + SearchCasesResponse: type: object - description: The request message for the CreateAttachment endpoint. - properties: - attachment: - $ref: '#/components/schemas/Attachment' - description: Required. The attachment to be created. - id: CreateAttachmentRequest - ListCasesResponse: + description: The response message for the SearchCases endpoint. properties: cases: + items: + $ref: '#/components/schemas/Case' type: array description: >- The list of cases associated with the parent after any filters have been applied. - items: - $ref: '#/components/schemas/Case' nextPageToken: description: >- A token to retrieve the next page of results. Set this in the - `page_token` field of subsequent `cases.list` requests. If + `page_token` field of subsequent `cases.search` requests. If unspecified, there are no more results to retrieve. type: string - description: The response message for the ListCases endpoint. - type: object - id: ListCasesResponse + id: SearchCasesResponse DiffDownloadResponse: - type: object id: DiffDownloadResponse - description: '# gdata.* are outside protos with mising documentation' + type: object properties: objectLocation: - $ref: '#/components/schemas/CompositeMedia' description: '# gdata.* are outside protos with mising documentation' - CompositeMedia: + $ref: '#/components/schemas/CompositeMedia' + description: '# gdata.* are outside protos with mising documentation' + WorkflowOperationMetadata: + id: WorkflowOperationMetadata + type: object + properties: + namespace: + description: >- + The namespace that the job was scheduled in. Must be included in the + workflow metadata so the workflow status can be retrieved. + type: string + workflowOperationType: + description: Which version of the workflow service this operation came from. + enumDescriptions: + - Unknown version. + - Version 1. + - Version 2. + type: string + enum: + - UNKNOWN_OPERATION_TYPE + - WORKFLOWS_V1 + - WORKFLOWS_V2 + operationAction: + enumDescriptions: + - Operation action is not specified. + - Operation pertains to the creation of a new support account. + - Operation pertains to the updating of an existing support account. + - >- + Operation pertains to the purchasing of a support plan that may + either create or update a support account. + enum: + - OPERATION_ACTION_UNSPECIFIED + - CREATE_SUPPORT_ACCOUNT + - UPDATE_SUPPORT_ACCOUNT + - PURCHASE_SUPPORT_ACCOUNT + description: The type of action the operation is classified as. + type: string + description: Metadata about the operation. Used to lookup the current status. + Media: + id: Media type: object - id: CompositeMedia description: '# gdata.* are outside protos with mising documentation' properties: + downloadParameters: + description: '# gdata.* are outside protos with mising documentation' + $ref: '#/components/schemas/DownloadParameters' + contentType: + description: '# gdata.* are outside protos with mising documentation' + type: string + hash: + type: string + deprecated: true + description: '# gdata.* are outside protos with mising documentation' + compositeMedia: + items: + $ref: '#/components/schemas/CompositeMedia' + type: array + description: '# gdata.* are outside protos with mising documentation' + filename: + type: string + description: '# gdata.* are outside protos with mising documentation' + algorithm: + description: '# gdata.* are outside protos with mising documentation' + deprecated: true + type: string + diffUploadRequest: + description: '# gdata.* are outside protos with mising documentation' + $ref: '#/components/schemas/DiffUploadRequest' + length: + type: string + format: int64 + description: '# gdata.* are outside protos with mising documentation' + diffChecksumsResponse: + description: '# gdata.* are outside protos with mising documentation' + $ref: '#/components/schemas/DiffChecksumsResponse' + token: + type: string + description: '# gdata.* are outside protos with mising documentation' + hashVerified: + description: '# gdata.* are outside protos with mising documentation' + type: boolean + path: + description: '# gdata.* are outside protos with mising documentation' + type: string + bigstoreObjectRef: + description: '# gdata.* are outside protos with mising documentation' + type: string + deprecated: true + format: byte + sha256Hash: + description: '# gdata.* are outside protos with mising documentation' + format: byte + type: string objectId: description: '# gdata.* are outside protos with mising documentation' $ref: '#/components/schemas/ObjectId' - md5Hash: + diffVersionResponse: + $ref: '#/components/schemas/DiffVersionResponse' + description: '# gdata.* are outside protos with mising documentation' + diffDownloadResponse: + description: '# gdata.* are outside protos with mising documentation' + $ref: '#/components/schemas/DiffDownloadResponse' + inline: + format: byte + type: string description: '# gdata.* are outside protos with mising documentation' + blobRef: type: string format: byte - path: + deprecated: true + description: '# gdata.* are outside protos with mising documentation' + cosmoBinaryReference: + format: byte + type: string + description: '# gdata.* are outside protos with mising documentation' + mediaId: + type: string + description: '# gdata.* are outside protos with mising documentation' + format: byte + sha1Hash: + description: '# gdata.* are outside protos with mising documentation' + format: byte + type: string + crc32cHash: + format: uint32 + description: '# gdata.* are outside protos with mising documentation' + type: integer + timestamp: type: string description: '# gdata.* are outside protos with mising documentation' + format: uint64 blobstore2Info: + description: '# gdata.* are outside protos with mising documentation' $ref: '#/components/schemas/Blobstore2Info' + md5Hash: description: '# gdata.* are outside protos with mising documentation' - referenceType: + format: byte type: string - enumDescriptions: - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' - - '# gdata.* are outside protos with mising documentation' + contentTypeInfo: + $ref: '#/components/schemas/ContentTypeInfo' description: '# gdata.* are outside protos with mising documentation' + isPotentialRetry: + description: '# gdata.* are outside protos with mising documentation' + type: boolean + referenceType: enum: - PATH - BLOB_REF - INLINE + - GET_MEDIA + - COMPOSITE_MEDIA - BIGSTORE_REF + - DIFF_VERSION_RESPONSE + - DIFF_CHECKSUMS_RESPONSE + - DIFF_DOWNLOAD_RESPONSE + - DIFF_UPLOAD_REQUEST + - DIFF_UPLOAD_RESPONSE - COSMO_BINARY_REFERENCE - sha1Hash: - format: byte - type: string + - ARBITRARY_BYTES + enumDescriptions: + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' description: '# gdata.* are outside protos with mising documentation' - cosmoBinaryReference: type: string - format: byte + diffUploadResponse: + $ref: '#/components/schemas/DiffUploadResponse' description: '# gdata.* are outside protos with mising documentation' - blobRef: - format: byte + CompositeMedia: + description: '# gdata.* are outside protos with mising documentation' + id: CompositeMedia + properties: + crc32cHash: + type: integer description: '# gdata.* are outside protos with mising documentation' + format: uint32 + blobRef: deprecated: true + description: '# gdata.* are outside protos with mising documentation' type: string - length: + format: byte + path: description: '# gdata.* are outside protos with mising documentation' type: string - format: int64 inline: + description: '# gdata.* are outside protos with mising documentation' type: string format: byte + blobstore2Info: + $ref: '#/components/schemas/Blobstore2Info' description: '# gdata.* are outside protos with mising documentation' - crc32cHash: - format: uint32 - type: integer + referenceType: description: '# gdata.* are outside protos with mising documentation' - DiffVersionResponse: - description: '# gdata.* are outside protos with mising documentation' - id: DiffVersionResponse - type: object - properties: - objectSizeBytes: + enumDescriptions: + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + - '# gdata.* are outside protos with mising documentation' + enum: + - PATH + - BLOB_REF + - INLINE + - BIGSTORE_REF + - COSMO_BINARY_REFERENCE type: string - description: '# gdata.* are outside protos with mising documentation' - format: int64 - objectVersion: + md5Hash: type: string description: '# gdata.* are outside protos with mising documentation' - EscalateCaseRequest: - properties: - escalation: - $ref: '#/components/schemas/Escalation' - description: The escalation information to be sent with the escalation request. - description: The request message for the EscalateCase endpoint. - id: EscalateCaseRequest - type: object - ContentTypeInfo: - description: '# gdata.* are outside protos with mising documentation' - type: object - id: ContentTypeInfo - properties: - fromUrlPath: + format: byte + length: type: string description: '# gdata.* are outside protos with mising documentation' - fromBytes: + format: int64 + sha1Hash: description: '# gdata.* are outside protos with mising documentation' + format: byte type: string - fromHeader: + cosmoBinaryReference: type: string description: '# gdata.* are outside protos with mising documentation' - fromFileName: - type: string + format: byte + objectId: description: '# gdata.* are outside protos with mising documentation' - bestGuess: + $ref: '#/components/schemas/ObjectId' + type: object + CaseClassification: + id: CaseClassification + properties: + id: type: string - description: '# gdata.* are outside protos with mising documentation' - CloseCaseRequest: + description: >- + The unique ID for a classification. Must be specified for case + creation. To retrieve valid classification IDs for case creation, + use `caseClassifications.search`. Classification IDs returned by + `caseClassifications.search` are guaranteed to be valid for at least + 6 months. If a given classification is deactiveated, it will + immediately stop being returned. After 6 months, `case.create` + requests using the classification ID will fail. + displayName: + type: string + description: >- + A display name for the classification. The display name is not + static and can change. To uniquely and consistently identify + classifications, use the `CaseClassification.id` field. + description: >- + A Case Classification represents the topic that a case is about. It's + very important to use accurate classifications, because they're used to + route your cases to specialists who can help you. A classification + always has an ID that is its unique identifier. A valid ID is required + when creating a case. + type: object + Escalation: + type: object + id: Escalation + description: An escalation of a support case. + properties: + justification: + type: string + description: >- + Required. A free text description to accompany the `reason` field + above. Provides additional context on why the case is being + escalated. + reason: + enumDescriptions: + - >- + The escalation reason is in an unknown state or has not been + specified. + - The case is taking too long to resolve. + - >- + The support agent does not have the expertise required to + successfully resolve the issue. + - The issue is having a significant business impact. + type: string + enum: + - REASON_UNSPECIFIED + - RESOLUTION_TIME + - TECHNICAL_EXPERTISE + - BUSINESS_IMPACT + description: Required. The reason why the Case is being escalated. + EscalateCaseRequest: + type: object + description: The request message for the EscalateCase endpoint. + properties: + escalation: + $ref: '#/components/schemas/Escalation' + description: The escalation information to be sent with the escalation request. + id: EscalateCaseRequest + ListAttachmentsResponse: + description: The response message for the ListAttachments endpoint. type: object - id: CloseCaseRequest - properties: {} - description: The request message for the CloseCase endpoint. - SearchCasesResponse: properties: + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + description: The list of attachments associated with a case. nextPageToken: type: string description: >- A token to retrieve the next page of results. Set this in the - `page_token` field of subsequent `cases.search` requests. If - unspecified, there are no more results to retrieve. + `page_token` field of subsequent `cases.attachments.list` requests. + If unspecified, there are no more results to retrieve. + id: ListAttachmentsResponse + ListCasesResponse: + properties: cases: - items: - $ref: '#/components/schemas/Case' - type: array description: >- The list of cases associated with the parent after any filters have been applied. - description: The response message for the SearchCases endpoint. + type: array + items: + $ref: '#/components/schemas/Case' + nextPageToken: + description: >- + A token to retrieve the next page of results. Set this in the + `page_token` field of subsequent `cases.list` requests. If + unspecified, there are no more results to retrieve. + type: string type: object - id: SearchCasesResponse - Attachment: - description: >- - An Attachment contains metadata about a file that was uploaded to a case - - it is NOT a file itself. That being said, the name of an Attachment - object can be used to download its accompanying file through the - `media.download` endpoint. While attachments can be uploaded in the - console at the same time as a comment, they're associated on a "case" - level, not a "comment" level. - id: Attachment + description: The response message for the ListCases endpoint. + id: ListCasesResponse + ContentTypeInfo: + type: object + id: ContentTypeInfo properties: - sizeBytes: - format: int64 - readOnly: true + fromUrlPath: + description: '# gdata.* are outside protos with mising documentation' type: string - description: Output only. The size of the attachment in bytes. - mimeType: + fromBytes: + description: '# gdata.* are outside protos with mising documentation' type: string - readOnly: true - description: Output only. The MIME type of the attachment (e.g. text/plain). - name: - readOnly: true + fromHeader: type: string - description: Output only. The resource name of the attachment. - filename: - description: The filename of the attachment (e.g. `"graph.jpg"`). + description: '# gdata.* are outside protos with mising documentation' + fromFileName: type: string - creator: - readOnly: true - $ref: '#/components/schemas/Actor' - description: >- - Output only. The user who uploaded the attachment. Note, the name - and email will be obfuscated if the attachment was uploaded by - Google support. - createTime: - readOnly: true + description: '# gdata.* are outside protos with mising documentation' + bestGuess: type: string - description: Output only. The time at which the attachment was created. - format: google-datetime - type: object - ObjectId: - type: object + description: '# gdata.* are outside protos with mising documentation' + description: '# gdata.* are outside protos with mising documentation' + DiffUploadResponse: description: '# gdata.* are outside protos with mising documentation' + type: object + id: DiffUploadResponse properties: - bucketName: - type: string + originalObject: + $ref: '#/components/schemas/CompositeMedia' description: '# gdata.* are outside protos with mising documentation' - generation: - type: string - format: int64 + objectVersion: description: '# gdata.* are outside protos with mising documentation' - objectName: type: string - description: '# gdata.* are outside protos with mising documentation' - id: ObjectId + ListCommentsResponse: + id: ListCommentsResponse + description: The response message for the ListComments endpoint. + type: object + properties: + nextPageToken: + type: string + description: >- + A token to retrieve the next page of results. Set this in the + `page_token` field of subsequent `cases.comments.list` requests. If + unspecified, there are no more results to retrieve. + comments: + items: + $ref: '#/components/schemas/Comment' + description: List of the comments associated with the case. + type: array + CloseCaseRequest: + properties: {} + description: The request message for the CloseCase endpoint. + id: CloseCaseRequest + type: object Case: + id: Case + type: object description: >- A Case is an object that contains the details of a support case. It contains fields for the time it was created, its priority, its @@ -448,8 +641,24 @@ components: ``` projects/123/cases/456 ``` You can use either of them when calling the API. To learn more about project identifiers, see [AIP-2510](https://google.aip.dev/cloud/2510). - id: Case properties: + updateTime: + readOnly: true + type: string + format: google-datetime + description: Output only. The time this case was last updated. + escalated: + type: boolean + description: Whether the case is currently escalated. + timeZone: + type: string + description: >- + 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. + name: + description: The resource name for the case. + type: string languageCode: description: >- The language the user has requested to receive support in. This @@ -461,27 +670,41 @@ components: hours, see: https://cloud.google.com/support/docs/language-working-hours type: string - classification: - description: The issue classification applicable to this case. - $ref: '#/components/schemas/CaseClassification' contactEmail: - type: string description: >- A user-supplied email address to send case update notifications for. This should only be used in BYOID flows, where we cannot infer the user's email address directly from their EUCs. - escalated: - description: Whether the case is currently escalated. + type: string + testCase: + description: >- + Whether this case was created for internal API testing and should + not be acted on by the support team. type: boolean + subscriberEmailAddresses: + type: array + items: + type: string + description: The email addresses to receive updates on this case. + displayName: + type: string + description: The short summary of the issue reported in this case. + creator: + $ref: '#/components/schemas/Actor' + description: >- + The user who created the case. Note: The name and email will be + obfuscated if the case was created by Google Support. description: description: A broad description of the issue. type: string - updateTime: - type: string - description: Output only. The time this case was last updated. - readOnly: true - format: google-datetime priority: + enum: + - PRIORITY_UNSPECIFIED + - P0 + - P1 + - P2 + - P3 + - P4 type: string enumDescriptions: - Priority is undefined or has not been set yet. @@ -498,41 +721,10 @@ components: - >- General questions or minor issues. Production service is fully available. - enum: - - PRIORITY_UNSPECIFIED - - P0 - - P1 - - P2 - - P3 - - P4 description: The priority of this case. - name: - description: The resource name for the case. - type: string - testCase: - description: >- - Whether this case was created for internal API testing and should - not be acted on by the support team. - type: boolean - timeZone: - type: string - description: >- - 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. state: - readOnly: true - type: string description: Output only. The current status of the support case. - enumDescriptions: - - Case is in an unknown state. - - >- - The case has been created but no one is assigned to work on it - yet. - - The case is currently being handled by Google support. - - Google is waiting for a response. - - A solution has been offered for the case, but it isn't yet closed. - - The case has been resolved. + readOnly: true enum: - STATE_UNSPECIFIED - NEW @@ -540,292 +732,91 @@ components: - ACTION_REQUIRED - SOLUTION_PROVIDED - CLOSED - createTime: - readOnly: true - description: Output only. The time this case was created. - type: string - format: google-datetime - creator: - description: >- - The user who created the case. Note: The name and email will be - obfuscated if the case was created by Google Support. - $ref: '#/components/schemas/Actor' - subscriberEmailAddresses: - description: The email addresses to receive updates on this case. - type: array - items: - type: string - displayName: - description: The short summary of the issue reported in this case. - type: string - type: object - DiffUploadResponse: - properties: - originalObject: - $ref: '#/components/schemas/CompositeMedia' - description: '# gdata.* are outside protos with mising documentation' - objectVersion: - description: '# gdata.* are outside protos with mising documentation' - type: string - type: object - id: DiffUploadResponse - description: '# gdata.* are outside protos with mising documentation' - DiffUploadRequest: - type: object - properties: - checksumsInfo: - description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/CompositeMedia' - objectVersion: - description: '# gdata.* are outside protos with mising documentation' - type: string - objectInfo: - $ref: '#/components/schemas/CompositeMedia' - description: '# gdata.* are outside protos with mising documentation' - description: '# gdata.* are outside protos with mising documentation' - id: DiffUploadRequest - SearchCaseClassificationsResponse: - description: The response message for SearchCaseClassifications endpoint. - type: object - id: SearchCaseClassificationsResponse - properties: - caseClassifications: - items: - $ref: '#/components/schemas/CaseClassification' - type: array - description: The classifications retrieved. - nextPageToken: - type: string - description: >- - A token to retrieve the next page of results. Set this in the - `page_token` field of subsequent `caseClassifications.list` - requests. If unspecified, there are no more results to retrieve. - DownloadParameters: - id: DownloadParameters - properties: - ignoreRange: - type: boolean - description: '# gdata.* are outside protos with mising documentation' - allowGzipCompression: - type: boolean - description: '# gdata.* are outside protos with mising documentation' - type: object - description: '# gdata.* are outside protos with mising documentation' - DiffChecksumsResponse: - description: '# gdata.* are outside protos with mising documentation' - properties: - objectVersion: - type: string - description: '# gdata.* are outside protos with mising documentation' - checksumsLocation: - description: '# gdata.* are outside protos with mising documentation' - $ref: '#/components/schemas/CompositeMedia' - chunkSizeBytes: - format: int64 - description: '# gdata.* are outside protos with mising documentation' - type: string - objectSizeBytes: - description: '# gdata.* are outside protos with mising documentation' - type: string - format: int64 - objectLocation: - $ref: '#/components/schemas/CompositeMedia' - description: '# gdata.* are outside protos with mising documentation' - type: object - id: DiffChecksumsResponse - WorkflowOperationMetadata: - properties: - workflowOperationType: - enum: - - UNKNOWN_OPERATION_TYPE - - WORKFLOWS_V1 - - WORKFLOWS_V2 - description: Which version of the workflow service this operation came from. - type: string - enumDescriptions: - - Unknown version. - - Version 1. - - Version 2. - namespace: - description: >- - The namespace that the job was scheduled in. Must be included in the - workflow metadata so the workflow status can be retrieved. - type: string - operationAction: type: string enumDescriptions: - - Operation action is not specified. - - Operation pertains to the creation of a new support account. - - Operation pertains to the updating of an existing support account. - - >- - Operation pertains to the purchasing of a support plan that may - either create or update a support account. - enum: - - OPERATION_ACTION_UNSPECIFIED - - CREATE_SUPPORT_ACCOUNT - - UPDATE_SUPPORT_ACCOUNT - - PURCHASE_SUPPORT_ACCOUNT - description: The type of action the operation is classified as. - id: WorkflowOperationMetadata - description: Metadata about the operation. Used to lookup the current status. - type: object - Actor: - type: object - properties: - displayName: - type: string - description: >- - The name to display for the actor. If not provided, it is inferred - from credentials supplied during case creation. When an email is - provided, a display name must also be provided. This will be - obfuscated if the user is a Google Support agent. - email: - description: >- - The email address of the actor. If not provided, it is inferred from - the credentials supplied during case creation. When a name is - provided, an email must also be provided. If the user is a Google - Support agent, this is obfuscated. This field is deprecated. Use - **username** field instead. - type: string - deprecated: true - googleSupport: - type: boolean - readOnly: true - description: Output only. Whether the actor is a Google support actor. - username: - readOnly: true - description: >- - Output only. The username of the actor. It may look like an email or - other format provided by the identity provider. If not provided, it - is inferred from the credentials supplied. When a name is provided, - a username must also be provided. If the user is a Google Support - agent, this will not be set. - type: string - description: >- - 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. - id: Actor - CaseClassification: - properties: - id: - description: >- - The unique ID for a classification. Must be specified for case - creation. To retrieve valid classification IDs for case creation, - use `caseClassifications.search`. Classification IDs returned by - `caseClassifications.search` are guaranteed to be valid for at least - 6 months. If a given classification is deactiveated, it will - immediately stop being returned. After 6 months, `case.create` - requests using the classification ID will fail. - type: string - displayName: - type: string - description: >- - A display name for the classification. The display name is not - static and can change. To uniquely and consistently identify - classifications, use the `CaseClassification.id` field. - type: object - description: >- - A Case Classification represents the topic that a case is about. It's - very important to use accurate classifications, because they're used to - route your cases to specialists who can help you. A classification - always has an ID that is its unique identifier. A valid ID is required - when creating a case. - id: CaseClassification - ListCommentsResponse: - type: object - properties: - comments: - description: List of the comments associated with the case. - items: - $ref: '#/components/schemas/Comment' - type: array - nextPageToken: - description: >- - A token to retrieve the next page of results. Set this in the - `page_token` field of subsequent `cases.comments.list` requests. If - unspecified, there are no more results to retrieve. - type: string - id: ListCommentsResponse - description: The response message for the ListComments endpoint. - Escalation: - description: An escalation of a support case. - type: object - properties: - justification: - type: string - description: >- - Required. A free text description to accompany the `reason` field - above. Provides additional context on why the case is being - escalated. - reason: - description: Required. The reason why the Case is being escalated. - enumDescriptions: - - >- - The escalation reason is in an unknown state or has not been - specified. - - The case is taking too long to resolve. + - Case is in an unknown state. - >- - The support agent does not have the expertise required to - successfully resolve the issue. - - The issue is having a significant business impact. - type: string - enum: - - REASON_UNSPECIFIED - - RESOLUTION_TIME - - TECHNICAL_EXPERTISE - - BUSINESS_IMPACT - id: Escalation - Blobstore2Info: - type: object - description: '# gdata.* are outside protos with mising documentation' + The case has been created but no one is assigned to work on it + yet. + - The case is currently being handled by Google support. + - Google is waiting for a response. + - A solution has been offered for the case, but it isn't yet closed. + - The case has been resolved. + createTime: + type: string + readOnly: true + format: google-datetime + description: Output only. The time this case was created. + classification: + $ref: '#/components/schemas/CaseClassification' + description: The issue classification applicable to this case. + Attachment: properties: - readToken: - description: '# gdata.* are outside protos with mising documentation' + sizeBytes: + description: Output only. The size of the attachment in bytes. type: string - downloadReadHandle: - format: byte - description: '# gdata.* are outside protos with mising documentation' + readOnly: true + format: int64 + createTime: + readOnly: true type: string - uploadMetadataContainer: - format: byte + description: Output only. The time at which the attachment was created. + format: google-datetime + mimeType: type: string - description: '# gdata.* are outside protos with mising documentation' - blobId: + description: Output only. The MIME type of the attachment (e.g. text/plain). + readOnly: true + name: + description: Output only. The resource name of the attachment. type: string - description: '# gdata.* are outside protos with mising documentation' - blobGeneration: + readOnly: true + filename: type: string - format: int64 + description: The filename of the attachment (e.g. `"graph.jpg"`). + creator: + $ref: '#/components/schemas/Actor' + readOnly: true + description: >- + Output only. The user who uploaded the attachment. Note, the name + and email will be obfuscated if the attachment was uploaded by + Google support. + type: object + description: >- + An Attachment contains metadata about a file that was uploaded to a case + - it is NOT a file itself. That being said, the name of an Attachment + object can be used to download its accompanying file through the + `media.download` endpoint. While attachments can be uploaded in the + console at the same time as a comment, they're associated on a "case" + level, not a "comment" level. + id: Attachment + DownloadParameters: + properties: + ignoreRange: + type: boolean description: '# gdata.* are outside protos with mising documentation' - id: Blobstore2Info + allowGzipCompression: + type: boolean + description: '# gdata.* are outside protos with mising documentation' + type: object + description: '# gdata.* are outside protos with mising documentation' + id: DownloadParameters parameters: - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: uploadType + name: prettyPrint schema: - type: string + type: boolean access_token: description: OAuth access token. in: query name: access_token schema: type: string - callback: - description: JSONP + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: callback + name: uploadType schema: type: string fields: @@ -834,22 +825,21 @@ components: name: fields schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + _.xgafv: + description: V1 error format. in: query - name: upload_protocol + name: $.xgafv schema: type: string - alt: - description: Data format for response. + enum: + - '1' + - '2' + callback: + description: JSONP in: query - name: alt + name: callback schema: type: string - enum: - - json - - media - - proto quotaUser: description: >- Available to use for quota purposes for server-side applications. Can be @@ -859,12 +849,28 @@ components: name: quotaUser schema: type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string oauth_token: description: OAuth 2.0 token for the current user. in: query name: oauth_token schema: type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto key: description: >- API key. Your API key identifies your project and provides you with API @@ -874,60 +880,12 @@ components: name: key schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean x-stackQL-resources: - media: - id: google.cloudsupport.media - name: media - title: Media - methods: - upload: - operation: - $ref: '#/paths/~1v2~1{parentType}~1{parent}~1attachments/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - attachments: - id: google.cloudsupport.attachments - name: attachments - title: Attachments - methods: - list: - operation: - $ref: '#/paths/~1v2~1{parentType}~1{parent}~1attachments/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.attachments - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/attachments/methods/list' - insert: [] - update: [] - replace: [] - delete: [] cases: id: google.cloudsupport.cases name: cases title: Cases methods: - get: - operation: - $ref: '#/paths/~1v2~1{name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' patch: operation: $ref: '#/paths/~1v2~1{name}/patch' @@ -940,29 +898,49 @@ components: response: mediaType: application/json openAPIDocKey: '200' - create: + search: operation: - $ref: '#/paths/~1v2~1{parentType}~1{parent}~1cases/post' + $ref: '#/paths/~1v2~1{parentType}~1{parent}~1cases/get' response: mediaType: application/json openAPIDocKey: '200' - list: + create: operation: - $ref: '#/paths/~1v2~1{parentType}~1{parent}~1cases/get' + $ref: '#/paths/~1v2~1{parentType}~1{parent}~1cases/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.cases sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/cases/methods/list' - - $ref: '#/components/x-stackQL-resources/cases/methods/get' + select: [] insert: - $ref: '#/components/x-stackQL-resources/cases/methods/create' update: - $ref: '#/components/x-stackQL-resources/cases/methods/patch' replace: [] delete: [] + media: + id: google.cloudsupport.media + name: media + title: Media + methods: + download: + operation: + $ref: '#/paths/~1v2~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + upload: + operation: + $ref: '#/paths/~1v2~1{parentType}~1{parent}~1attachments/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] comments: id: google.cloudsupport.comments name: comments @@ -989,6 +967,25 @@ components: update: [] replace: [] delete: [] + attachments: + id: google.cloudsupport.attachments + name: attachments + title: Attachments + methods: + list: + operation: + $ref: '#/paths/~1v2~1{parentType}~1{parent}~1attachments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.attachments + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/attachments/methods/list' + insert: [] + update: [] + replace: [] + delete: [] case_classifications: id: google.cloudsupport.case_classifications name: case_classifications @@ -1007,45 +1004,39 @@ components: replace: [] delete: [] paths: - /v2/{parentType}/{parent}/attachments: + /v2/{name}: parameters: &ref_1 - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/prettyPrint' - post: + patch: description: >- - 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 \ + 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)" \ - --data-binary @"./example_file.txt" \ - "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" + --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}", - ) 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()) - ``` - operationId: cloudsupport.media.upload + 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()) ``` + operationId: cloudsupport.cases.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateAttachmentRequest' + $ref: '#/components/schemas/Case' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1057,32 +1048,44 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Attachment' + $ref: '#/components/schemas/Case' parameters: - in: path - name: parentType + name: name required: true schema: type: string - - in: path - name: parent - required: true + - in: query + name: updateMask schema: type: string - get: + format: google-fieldmask + post: description: >- - 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: + 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() .attachments() - .list(parent="projects/some-project/cases/43595344") ) - print(request.execute()) ``` - operationId: cloudsupport.cases.attachments.list + ) request = supportApiService.cases().escalate( + name="projects/some-project/cases/43595344", body={ "escalation": { + "reason": "BUSINESS_IMPACT", "justification": "This is a test + escalation.", }, }, ) print(request.execute()) ``` + operationId: cloudsupport.cases.escalate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalateCaseRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1094,43 +1097,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListAttachmentsResponse' + $ref: '#/components/schemas/Case' parameters: - in: path - name: parentType - required: true - schema: - type: string - - in: path - name: parent + name: name required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v2/{name}: - parameters: *ref_1 get: description: >- - Retrieve a case. EXAMPLES: cURL: ```shell - case="projects/some-project/cases/16033687" curl \ --header - "Authorization: Bearer $(gcloud auth print-access-token)" \ - "https://cloudsupport.googleapis.com/v2/$case" ``` Python: ```python - import googleapiclient.discovery api_version = "v2" supportApiService = - googleapiclient.discovery.build( serviceName="cloudsupport", - version=api_version, + 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.cases().get( - name="projects/some-project/cases/43595344", ) print(request.execute()) - ``` - operationId: cloudsupport.cases.get + ) request = supportApiService.media().download( + name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" + ) request.uri = request.uri.split("?")[0] + "?alt=media" + print(request.execute()) ``` + operationId: cloudsupport.media.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1142,33 +1132,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Case' + $ref: '#/components/schemas/Media' parameters: - in: path name: name required: true schema: type: string - patch: + /v2/{parentType}/{parent}/cases: + parameters: *ref_1 + get: description: >- - 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( + Search for cases using a query. EXAMPLES: cURL: ```shell + parent="projects/some-project" curl \ --header "Authorization: Bearer + $(gcloud auth print-access-token)" \ + "https://cloudsupport.googleapis.com/v2/$parent/cases:search" ``` + 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()) ``` - operationId: cloudsupport.cases.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Case' + ) request = supportApiService.cases().search( + parent="projects/some-project", query="state=OPEN" ) + print(request.execute()) ``` + operationId: cloudsupport.cases.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1180,44 +1166,62 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Case' + $ref: '#/components/schemas/SearchCasesResponse' parameters: - in: path - name: name + name: parentType + required: true + schema: + type: string + - in: path + name: parent required: true schema: type: string - in: query - name: updateMask + name: pageToken schema: type: string - format: google-fieldmask + - in: query + name: query + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 post: description: >- - 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: + 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().escalate( - name="projects/some-project/cases/43595344", body={ "escalation": { - "reason": "BUSINESS_IMPACT", "justification": "This is a test - escalation.", }, }, ) print(request.execute()) ``` - operationId: cloudsupport.cases.escalate + ) 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()) ``` + operationId: cloudsupport.cases.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/EscalateCaseRequest' + $ref: '#/components/schemas/Case' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1232,7 +1236,12 @@ paths: $ref: '#/components/schemas/Case' parameters: - in: path - name: name + name: parentType + required: true + schema: + type: string + - in: path + name: parent required: true schema: type: string @@ -1329,39 +1338,22 @@ paths: required: true schema: type: string - /v2/{parentType}/{parent}/cases: + /v2/{parentType}/{parent}/attachments: parameters: *ref_1 - post: + get: description: >- - 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: + 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().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()) ``` - operationId: cloudsupport.cases.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Case' + ) request = ( supportApiService.cases() .attachments() + .list(parent="projects/some-project/cases/43595344") ) + print(request.execute()) ``` + operationId: cloudsupport.cases.attachments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1373,7 +1365,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Case' + $ref: '#/components/schemas/ListAttachmentsResponse' parameters: - in: path name: parentType @@ -1385,23 +1377,41 @@ paths: required: true schema: type: string - get: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: description: >- - 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( + 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}", - ) request = - supportApiService.cases().list(parent="projects/some-project") - print(request.execute()) ``` - operationId: cloudsupport.cases.list + ) 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()) + ``` + operationId: cloudsupport.media.upload + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAttachmentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1413,7 +1423,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListCasesResponse' + $ref: '#/components/schemas/Attachment' parameters: - in: path name: parentType @@ -1425,19 +1435,6 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 /v2/caseClassifications:search: parameters: *ref_1 get: @@ -1472,15 +1469,15 @@ paths: schema: $ref: '#/components/schemas/SearchCaseClassificationsResponse' parameters: + - in: query + name: query + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: query - schema: - type: string - in: query name: pageToken schema: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudtasks.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudtasks.yaml index c79fac29..b40c0d3a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudtasks.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudtasks.yaml @@ -7,8 +7,8 @@ info: title: Cloud Tasks API description: Manages the execution of large numbers of distributed requests. version: v2 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20240927' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/tasks/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/cloudtrace.yaml b/providers/src/googleapis.com/v00.00.00000/services/cloudtrace.yaml index cb8257d2..ad634533 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/cloudtrace.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/cloudtrace.yaml @@ -12,8 +12,8 @@ info: interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry. version: v2 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/trace servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/composer.yaml b/providers/src/googleapis.com/v00.00.00000/services/composer.yaml index 474aa905..67263a70 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/composer.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/composer.yaml @@ -7,8 +7,8 @@ info: title: Cloud Composer API description: Manages Apache Airflow environments on Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240831' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/composer/ servers: @@ -147,14 +147,14 @@ components: properties: name: description: >- - The resource name of the environment, in the form: + Identifier. 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. type: string config: - description: Configuration parameters for this environment. + description: Optional. Configuration parameters for this environment. $ref: '#/components/schemas/EnvironmentConfig' uuid: description: >- @@ -239,14 +239,16 @@ components: type: integer format: int32 softwareConfig: - description: The configuration settings for software inside the environment. + description: >- + Optional. The configuration settings for software inside the + environment. $ref: '#/components/schemas/SoftwareConfig' nodeConfig: - description: The configuration used for the Kubernetes Engine cluster. + description: Optional. The configuration used for the Kubernetes Engine cluster. $ref: '#/components/schemas/NodeConfig' privateEnvironmentConfig: description: >- - The configuration used for the Private IP Cloud Composer + Optional. The configuration used for the Private IP Cloud Composer environment. $ref: '#/components/schemas/PrivateEnvironmentConfig' webServerNetworkAccessControl: @@ -362,9 +364,10 @@ components: properties: imageVersion: description: >- - The version of the software running in the environment. This - encapsulates both the version of Cloud Composer functionality and - the version of Apache Airflow. It must match the regular expression + Optional. The version of the software running in the environment. + This encapsulates both the version of Cloud Composer functionality + and the version of Apache Airflow. It must match the regular + expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The @@ -1467,7 +1470,9 @@ components: 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/ + https://kubernetes.io/docs/concepts/configuration/secret/ Example: { + "example": "ZXhhbXBsZV92YWx1ZQ==", "another-example": + "YW5vdGhlcl9leGFtcGxlX3ZhbHVl" } type: object additionalProperties: type: string @@ -1501,6 +1506,8 @@ components: Optional. The "data" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ + Example: { "example_key": "example_value", "another_key": + "another_value" } type: object additionalProperties: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/compute.yaml b/providers/src/googleapis.com/v00.00.00000/services/compute.yaml index a2e449ac..5801fe93 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/compute.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/compute.yaml @@ -7,8 +7,8 @@ info: title: Compute Engine API description: 'Creates and runs virtual machines on Google Cloud Platform. ' version: v1 - x-discovery-doc-revision: '20240903' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241015' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/compute/ servers: @@ -977,7 +977,7 @@ components: description: >- [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the - persistent disk that the snapshot was created from. + disk that the snapshot was created from. type: string targetId: description: >- @@ -3497,11 +3497,6 @@ components: type: array items: $ref: '#/components/schemas/AuditConfig' - rules: - description: This is deprecated and has no effect. Do not use. - type: array - items: - $ref: '#/components/schemas/Rule' etag: description: >- `etag` is used for optimistic concurrency control as a way to help @@ -3606,9 +3601,6 @@ components: their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). $ref: '#/components/schemas/Expr' - bindingId: - description: This is deprecated and has no effect. Do not use. - type: string Expr: id: Expr description: >- @@ -3651,6 +3643,39 @@ components: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. type: string + AuditConfig: + id: AuditConfig + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + type: object + properties: + service: + description: >- + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + type: string + auditLogConfigs: + description: The configuration for logging of each type of permission. + type: array + items: + $ref: '#/components/schemas/AuditLogConfig' AuditLogConfig: id: AuditLogConfig description: >- @@ -3681,196 +3706,6 @@ components: type: array items: type: string - ignoreChildExemptions: - description: This is deprecated and has no effect. Do not use. - type: boolean - Rule: - id: Rule - description: This is deprecated and has no effect. Do not use. - type: object - properties: - description: - description: This is deprecated and has no effect. Do not use. - type: string - permissions: - description: This is deprecated and has no effect. Do not use. - type: array - items: - type: string - action: - description: This is deprecated and has no effect. Do not use. - type: string - enumDescriptions: - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - enum: - - ALLOW - - ALLOW_WITH_LOG - - DENY - - DENY_WITH_LOG - - LOG - - NO_ACTION - ins: - description: This is deprecated and has no effect. Do not use. - type: array - items: - type: string - notIns: - description: This is deprecated and has no effect. Do not use. - type: array - items: - type: string - conditions: - description: This is deprecated and has no effect. Do not use. - type: array - items: - $ref: '#/components/schemas/Condition' - logConfigs: - description: This is deprecated and has no effect. Do not use. - type: array - items: - $ref: '#/components/schemas/LogConfig' - Condition: - id: Condition - description: This is deprecated and has no effect. Do not use. - type: object - properties: - iam: - description: This is deprecated and has no effect. Do not use. - type: string - enumDescriptions: - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - enum: - - APPROVER - - ATTRIBUTION - - AUTHORITY - - CREDENTIALS_TYPE - - CREDS_ASSERTION - - JUSTIFICATION_TYPE - - NO_ATTR - - SECURITY_REALM - sys: - description: This is deprecated and has no effect. Do not use. - type: string - enumDescriptions: - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - enum: - - IP - - NAME - - NO_ATTR - - REGION - - SERVICE - svc: - description: This is deprecated and has no effect. Do not use. - type: string - op: - description: This is deprecated and has no effect. Do not use. - type: string - enumDescriptions: - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - enum: - - DISCHARGED - - EQUALS - - IN - - NOT_EQUALS - - NOT_IN - - NO_OP - values: - description: This is deprecated and has no effect. Do not use. - type: array - items: - type: string - LogConfig: - id: LogConfig - description: This is deprecated and has no effect. Do not use. - type: object - properties: - counter: - description: This is deprecated and has no effect. Do not use. - $ref: '#/components/schemas/LogConfigCounterOptions' - dataAccess: - description: This is deprecated and has no effect. Do not use. - $ref: '#/components/schemas/LogConfigDataAccessOptions' - cloudAudit: - description: This is deprecated and has no effect. Do not use. - $ref: '#/components/schemas/LogConfigCloudAuditOptions' - LogConfigCounterOptions: - id: LogConfigCounterOptions - description: This is deprecated and has no effect. Do not use. - type: object - properties: - metric: - description: This is deprecated and has no effect. Do not use. - type: string - field: - description: This is deprecated and has no effect. Do not use. - type: string - customFields: - description: This is deprecated and has no effect. Do not use. - type: array - items: - $ref: '#/components/schemas/LogConfigCounterOptionsCustomField' - LogConfigCounterOptionsCustomField: - id: LogConfigCounterOptionsCustomField - description: This is deprecated and has no effect. Do not use. - type: object - properties: - name: - description: This is deprecated and has no effect. Do not use. - type: string - value: - description: This is deprecated and has no effect. Do not use. - type: string - LogConfigDataAccessOptions: - id: LogConfigDataAccessOptions - description: This is deprecated and has no effect. Do not use. - type: object - properties: - logMode: - description: This is deprecated and has no effect. Do not use. - type: string - enumDescriptions: - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - enum: - - LOG_FAIL_CLOSED - - LOG_MODE_UNSPECIFIED - LogConfigCloudAuditOptions: - id: LogConfigCloudAuditOptions - description: This is deprecated and has no effect. Do not use. - type: object - properties: - logName: - description: This is deprecated and has no effect. Do not use. - type: string - enumDescriptions: - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - - This is deprecated and has no effect. Do not use. - enum: - - ADMIN_ACTIVITY - - DATA_ACCESS - - UNSPECIFIED_LOG_NAME GlobalSetPolicyRequest: id: GlobalSetPolicyRequest type: object @@ -6724,7 +6559,11 @@ components: items: $ref: '#/components/schemas/Firewall' firewallPolicys: - description: Effective firewalls from firewall policy. + description: >- + [Output only] Effective firewalls from firewall policy. It applies + to Regional Network Firewall Policies in the specified region, + Global Network Firewall Policies and Hierachial Firewall Policies + which are associated with the network. type: array items: $ref: >- @@ -6757,7 +6596,7 @@ components: description: '[Output Only] The display name of the firewall policy.' type: string rules: - description: The rules that apply to the network. + description: '[Output only] The rules that apply to the network.' type: array items: $ref: '#/components/schemas/FirewallPolicyRule' @@ -9009,10 +8848,12 @@ components: type: string enumDescriptions: - The network interface can have both IPv4 and IPv6 addresses. - - The network interface will be assigned IPv4 address. + - The network interface will only be assigned IPv4 addresses. + - The network interface will only be assigned IPv6 addresses. enum: - IPV4_IPV6 - IPV4_ONLY + - IPV6_ONLY ipv6AccessType: description: >- [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP @@ -9904,10 +9745,12 @@ components: - No type specified. Do not use this value. - AMD Secure Encrypted Virtualization. - AMD Secure Encrypted Virtualization - Secure Nested Paging. + - Intel Trust Domain eXtension. enum: - CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED - SEV - SEV_SNP + - TDX AdvancedMachineFeatures: id: AdvancedMachineFeatures description: >- @@ -10977,8 +10820,8 @@ components: $ref: '#/components/schemas/InstanceProperties' locationPolicy: description: >- - Policy for chosing target zone. For more information, see Create VMs - in bulk . + Policy for choosing target zone. For more information, see Create + VMs in bulk. $ref: '#/components/schemas/LocationPolicy' BulkInsertInstanceResourcePerInstanceProperties: id: BulkInsertInstanceResourcePerInstanceProperties @@ -11243,7 +11086,7 @@ components: items: $ref: '#/components/schemas/Firewall' firewallPolicys: - description: Effective firewalls from firewall policies. + description: '[Output Only] Effective firewalls from firewall policies.' type: array items: $ref: >- @@ -11285,7 +11128,10 @@ components: deprecated: true type: string rules: - description: The rules that apply to the network. + description: >- + [Output Only] The rules that apply to the instance. Only rules that + target the specific VM instance are returned if target service + accounts or target secure tags are specified in the rules. type: array items: $ref: '#/components/schemas/FirewallPolicyRule' @@ -11561,14 +11407,21 @@ components: reservation. type: boolean status: - description: '[Output Only] The status of the reservation.' + description: >- + [Output Only] The status of the reservation. - CREATING: Reservation + resources are being allocated. - READY: Reservation resources have + been allocated, and the reservation is ready for use. - DELETING: + Reservation deletion is in progress. - UPDATING: Reservation update + is in progress. type: string enumDescriptions: - - Resources are being allocated for the reservation. - - Reservation is currently being deleted. + - Reservation resources are being allocated. + - Reservation deletion is in progress. - '' - - Reservation has allocated all its resources. - - Reservation is currently being resized. + - >- + Reservation resources have been allocated, and the reservation is + ready for use. + - Reservation update is in progress. enum: - CREATING - DELETING @@ -13960,6 +13813,12 @@ components: - compute.regionInstanceGroupManagers.insert type: integer format: int32 + instanceFlexibilityPolicy: + description: >- + Instance flexibility allowing MIG to create VMs from multiple types + of machines. Instance flexibility configuration on MIG overrides + instance template configuration. + $ref: '#/components/schemas/InstanceGroupManagerInstanceFlexibilityPolicy' listManagedInstancesResults: description: >- Pagination behavior of the listManagedInstances API method for this @@ -13994,8 +13853,8 @@ components: $ref: '#/components/schemas/InstanceGroupManagerUpdatePolicy' namedPorts: description: >- - Named ports configured for the Instance Groups complementary to this - Instance Group Manager. + [Output Only] Named ports configured on the Instance Groups + complementary to this Instance Group Manager. type: array items: $ref: '#/components/schemas/NamedPort' @@ -14338,6 +14197,36 @@ components: (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs. type: boolean + InstanceGroupManagerInstanceFlexibilityPolicy: + id: InstanceGroupManagerInstanceFlexibilityPolicy + type: object + properties: + instanceSelections: + description: >- + Named instance selections configuring properties that the group will + use when creating new VMs. + type: object + additionalProperties: + $ref: >- + #/components/schemas/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection + InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection: + id: InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection + type: object + properties: + machineTypes: + description: Full machine-type names, e.g. "n1-standard-16". + type: array + items: + type: string + rank: + description: >- + Preference of this instance selection. Lower number means higher + preference. MIG will first try to create a VM based on the + machine-type with lowest rank and fallback to next rank based on + availability. Machine types and instance selections with the same + rank have the same preference. + type: integer + format: int32 InstanceGroupManagerAutoHealingPolicy: id: InstanceGroupManagerAutoHealingPolicy type: object @@ -15232,6 +15121,11 @@ components: [Output Only] Information about the last attempt to create or delete the instance. $ref: '#/components/schemas/ManagedInstanceLastAttempt' + propertiesFromFlexibilityPolicy: + description: >- + [Output Only] Instance properties selected for this instance + resulting from InstanceFlexibilityPolicy. + $ref: '#/components/schemas/ManagedInstancePropertiesFromFlexibilityPolicy' ManagedInstanceVersion: id: ManagedInstanceVersion type: object @@ -15432,6 +15326,13 @@ components: $ref: '#/components/schemas/Help' localizedMessage: $ref: '#/components/schemas/LocalizedMessage' + ManagedInstancePropertiesFromFlexibilityPolicy: + id: ManagedInstancePropertiesFromFlexibilityPolicy + type: object + properties: + machineType: + description: The machine type to be used for this instance. + type: string InstanceGroupManagersListErrorsResponse: id: InstanceGroupManagersListErrorsResponse type: object @@ -19166,6 +19067,10 @@ components: - >- No session affinity. Connections from the same client IP may go to any instance in the pool. + - >- + Strong cookie-based affinity. Connections bearing the same cookie + will be served by the same backend VM while that VM remains + healthy, as long as the cookie has not expired. enum: - CLIENT_IP - CLIENT_IP_NO_DESTINATION @@ -19175,6 +19080,7 @@ components: - HEADER_FIELD - HTTP_COOKIE - NONE + - STRONG_COOKIE_AFFINITY affinityCookieTtlSec: description: >- Lifetime of cookies in seconds. This setting is applicable to @@ -19481,6 +19387,50 @@ components: items: $ref: >- #/components/schemas/BackendServiceLocalityLoadBalancingPolicyConfig + ipAddressSelectionPolicy: + description: >- + Specifies a preference for traffic sent from the proxy to the + backend (or from the client to the backend for proxyless gRPC). The + possible values are: - IPV4_ONLY: Only send IPv4 traffic to the + backends of the backend service (Instance Group, Managed Instance + Group, Network Endpoint Group), regardless of traffic from the + client to the proxy. Only IPv4 health checks are used to check the + health of the backends. This is the default setting. - PREFER_IPV6: + Prioritize the connection to the endpoint's IPv6 address over its + IPv4 address (provided there is a healthy IPv6 address). - + IPV6_ONLY: Only send IPv6 traffic to the backends of the backend + service (Instance Group, Managed Instance Group, Network Endpoint + Group), regardless of traffic from the client to the proxy. Only + IPv6 health checks are used to check the health of the backends. + This field is applicable to either: - Advanced global external + Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), + - Regional external Application Load Balancer, - Internal proxy + Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - + Regional internal Application Load Balancer (load balancing scheme + INTERNAL_MANAGED), - Traffic Director with Envoy proxies and + proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). + type: string + enumDescriptions: + - >- + Only send IPv4 traffic to the backends of the Backend Service + (Instance Group, Managed Instance Group, Network Endpoint Group) + regardless of traffic from the client to the proxy. Only IPv4 + health-checks are used to check the health of the backends. This + is the default setting. + - >- + Only send IPv6 traffic to the backends of the Backend Service + (Instance Group, Managed Instance Group, Network Endpoint Group) + regardless of traffic from the client to the proxy. Only IPv6 + health-checks are used to check the health of the backends. + - Unspecified IP address selection policy. + - >- + Prioritize the connection to the endpoints IPv6 address over its + IPv4 address (provided there is a healthy IPv6 address). + enum: + - IPV4_ONLY + - IPV6_ONLY + - IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED + - PREFER_IPV6 metadatas: description: >- Deployment metadata associated with the resource to be set by a GKE @@ -19493,6 +19443,12 @@ components: type: array items: $ref: '#/components/schemas/BackendServiceUsedBy' + strongSessionAffinityCookie: + description: >- + Describes the HTTP cookie used for stateful session affinity. This + field is applicable and required if the sessionAffinity is set to + STRONG_COOKIE_AFFINITY. + $ref: '#/components/schemas/BackendServiceHttpCookie' Backend: id: Backend description: Message containing information of one individual backend. @@ -20475,6 +20431,20 @@ components: BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule. type: string + BackendServiceHttpCookie: + id: BackendServiceHttpCookie + description: The HTTP cookie used for stateful session affinity. + type: object + properties: + name: + description: Name of the cookie. + type: string + path: + description: Path to set for the cookie. + type: string + ttl: + description: Lifetime of the cookie. + $ref: '#/components/schemas/Duration' BackendServiceAggregatedList: id: BackendServiceAggregatedList description: Contains a list of BackendServicesScopedList. @@ -21093,6 +21063,8 @@ components: forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip. type: string + ipv6Address: + type: string port: description: >- The named port of the instance group, not necessarily the port that @@ -21111,6 +21083,15 @@ components: enum: - HEALTHY - UNHEALTHY + ipv6HealthState: + description: Health state of the IPv6 address of the instance. + type: string + enumDescriptions: + - '' + - '' + enum: + - HEALTHY + - UNHEALTHY annotations: description: Metadata defined as annotations for network endpoint. type: object @@ -21540,6 +21521,9 @@ components: splitSourceCommitment: description: Source commitment to be split into a new commitment. type: string + resourceStatus: + description: '[Output Only] Status information for Commitment resource.' + $ref: '#/components/schemas/CommitmentResourceStatus' existingReservations: description: >- Specifies the already existing reservations to attach to the @@ -21551,6 +21535,12 @@ components: type: array items: type: string + customEndTimestamp: + description: >- + [Input Only] Optional, specifies the CUD end time requested by the + customer in RFC3339 text format. Needed when the customer wants + CUD's end date is later than the start date + term duration. + type: string ResourceCommitment: id: ResourceCommitment description: >- @@ -21605,6 +21595,18 @@ components: Specifies the core range of the instance for which this license applies. type: string + CommitmentResourceStatus: + id: CommitmentResourceStatus + description: '[Output Only] Contains output only fields.' + type: object + properties: + customTermEligibilityEndTimestamp: + description: >- + [Output Only] Indicates the end time of customer's eligibility to + send custom term requests in RFC3339 text format. Term extension + requests that (not the end time in the request) after this time will + be rejected. + type: string CommitmentAggregatedList: id: CommitmentAggregatedList type: object @@ -24269,400 +24271,26 @@ components: [Output Only] A warning data value corresponding to the key. type: string - FutureReservation: - id: FutureReservation - type: object - properties: - kind: - description: >- - [Output Only] Type of the resource. Always compute#futureReservation - for future reservations. - default: compute#futureReservation - type: string - id: - description: >- - [Output Only] A unique identifier for this future reservation. The - server defines this identifier. - type: string - format: uint64 - creationTimestamp: - description: >- - [Output Only] The creation timestamp for this future reservation in - RFC3339 text format. - type: string - selfLink: - description: '[Output Only] Server-defined fully-qualified URL for this resource.' - type: string - selfLinkWithId: - description: >- - [Output Only] Server-defined URL for this resource with the resource - id. - type: string - zone: - description: '[Output Only] URL of the Zone where this future reservation resides.' - type: string - description: - description: >- - An optional description of this resource. Provide this property when - you create the future reservation. - type: string - name: - description: >- - 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. - pattern: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?' - annotations: - required: - - compute.instances.insert - type: string - specificSkuProperties: - description: >- - Future Reservation configuration to indicate instance properties and - total count. - $ref: '#/components/schemas/FutureReservationSpecificSKUProperties' - timeWindow: - description: Time window for this Future Reservation. - $ref: '#/components/schemas/FutureReservationTimeWindow' - shareSettings: - description: List of Projects/Folders to share with. - $ref: '#/components/schemas/ShareSettings' - namePrefix: - description: >- - 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-####. - type: string - status: - description: '[Output only] Status of the Future Reservation' - $ref: '#/components/schemas/FutureReservationStatus' - planningStatus: - description: Planning state before being submitted for evaluation - type: string - enumDescriptions: - - Future Reservation is being drafted. - - '' - - Future Reservation has been submitted for evaluation by GCP. - enum: - - DRAFT - - PLANNING_STATUS_UNSPECIFIED - - SUBMITTED - autoCreatedReservationsDeleteTime: - description: >- - 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. - type: string - autoCreatedReservationsDuration: - description: >- - Specifies the duration of auto-created reservations. It represents - relative time to future reservation start_time when auto-created - reservations will be automatically deleted by Compute Engine. - Duration time unit is represented as a count of seconds and - fractions of seconds at nanosecond resolution. - $ref: '#/components/schemas/Duration' - autoDeleteAutoCreatedReservations: - description: >- - 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. - type: boolean - FutureReservationSpecificSKUProperties: - id: FutureReservationSpecificSKUProperties - type: object - properties: - instanceProperties: - description: Properties of the SKU instances being reserved. - $ref: >- - #/components/schemas/AllocationSpecificSKUAllocationReservedInstanceProperties - totalCount: - description: >- - Total number of instances for which capacity assurance is requested - at a future time period. - type: string - format: int64 - sourceInstanceTemplate: - description: >- - The instance template that will be used to populate the - ReservedInstanceProperties of the future reservation - type: string - FutureReservationTimeWindow: - id: FutureReservationTimeWindow - type: object - properties: - startTime: - description: >- - Start time of the Future Reservation. The start_time is an RFC3339 - string. - type: string - endTime: - type: string - duration: - $ref: '#/components/schemas/Duration' - FutureReservationStatus: - id: FutureReservationStatus - description: '[Output only] Represents status related to the future reservation.' - type: object - properties: - procurementStatus: - description: Current state of this Future Reservation - type: string - enumDescriptions: - - Future reservation is approved by GCP. - - Future reservation is cancelled by the customer. - - Future reservation is committed by the customer. - - Future reservation is rejected by GCP. - - >- - Related status for PlanningStatus.Draft. Transitions to - PENDING_APPROVAL upon user submitting FR. - - >- - Future reservation failed. No additional reservations were - provided. - - >- - Future reservation is partially fulfilled. Additional reservations - were provided but did not reach total_count reserved instance - slots. - - Future reservation is fulfilled completely. - - >- - An Amendment to the Future Reservation has been requested. If the - Amendment is declined, the Future Reservation will be restored to - the last known good state. - - Future reservation is pending approval by GCP. - - '' - - >- - Future reservation is being procured by GCP. Beyond this point, - Future reservation is locked and no further modifications are - allowed. - - >- - Future reservation capacity is being provisioned. This state will - be entered after start_time, while reservations are being created - to provide total_count reserved instance slots. This state will - not persist past start_time + 24h. - enum: - - APPROVED - - CANCELLED - - COMMITTED - - DECLINED - - DRAFTING - - FAILED - - FAILED_PARTIALLY_FULFILLED - - FULFILLED - - PENDING_AMENDMENT_APPROVAL - - PENDING_APPROVAL - - PROCUREMENT_STATUS_UNSPECIFIED - - PROCURING - - PROVISIONING - lockTime: - description: >- - Time when Future Reservation would become LOCKED, after which no - modifications to Future Reservation will be allowed. Applicable only - after the Future Reservation is in the APPROVED state. The lock_time - is an RFC3339 string. The procurement_status will transition to - PROCURING state at this time. - type: string - autoCreatedReservations: - description: >- - Fully qualified urls of the automatically created reservations at - start_time. - type: array - items: - type: string - fulfilledCount: - description: >- - This count indicates the fulfilled capacity so far. This is set - during "PROVISIONING" state. This count also includes capacity - delivered as part of existing matching reservations. - type: string - format: int64 - specificSkuProperties: - $ref: '#/components/schemas/FutureReservationStatusSpecificSKUProperties' - amendmentStatus: - description: '[Output Only] The current status of the requested amendment.' - type: string - enumDescriptions: - - >- - The requested amendment to the Future Resevation has been approved - and applied by GCP. - - >- - The requested amendment to the Future Reservation has been - declined by GCP and the original state was restored. - - >- - The requested amendment to the Future Reservation is currently - being reviewd by GCP. - - '' - enum: - - AMENDMENT_APPROVED - - AMENDMENT_DECLINED - - AMENDMENT_IN_REVIEW - - AMENDMENT_STATUS_UNSPECIFIED - lastKnownGoodState: - description: >- - [Output Only] This field represents the future reservation before an - amendment was requested. If the amendment is declined, the Future - Reservation will be reverted to the last known good state. The last - known good state is not set when updating a future reservation whose - Procurement Status is DRAFTING. - $ref: '#/components/schemas/FutureReservationStatusLastKnownGoodState' - existingMatchingUsageInfo: - description: >- - [Output Only] Represents the existing matching usage for the future - reservation. - $ref: >- - #/components/schemas/FutureReservationStatusExistingMatchingUsageInfo - FutureReservationStatusSpecificSKUProperties: - id: FutureReservationStatusSpecificSKUProperties - description: Properties to be set for the Future Reservation. - type: object - properties: - sourceInstanceTemplateId: - description: >- - ID of the instance template used to populate the Future Reservation - properties. - type: string - FutureReservationStatusLastKnownGoodState: - id: FutureReservationStatusLastKnownGoodState - description: >- - The state that the future reservation will be reverted to should the - amendment be declined. - type: object - properties: - futureReservationSpecs: - $ref: >- - #/components/schemas/FutureReservationStatusLastKnownGoodStateFutureReservationSpecs - procurementStatus: - description: >- - [Output Only] The status of the last known good state for the Future - Reservation. - type: string - enumDescriptions: - - Future reservation is approved by GCP. - - Future reservation is cancelled by the customer. - - Future reservation is committed by the customer. - - Future reservation is rejected by GCP. - - >- - Related status for PlanningStatus.Draft. Transitions to - PENDING_APPROVAL upon user submitting FR. - - >- - Future reservation failed. No additional reservations were - provided. - - >- - Future reservation is partially fulfilled. Additional reservations - were provided but did not reach total_count reserved instance - slots. - - Future reservation is fulfilled completely. - - >- - An Amendment to the Future Reservation has been requested. If the - Amendment is declined, the Future Reservation will be restored to - the last known good state. - - Future reservation is pending approval by GCP. - - '' - - >- - Future reservation is being procured by GCP. Beyond this point, - Future reservation is locked and no further modifications are - allowed. - - >- - Future reservation capacity is being provisioned. This state will - be entered after start_time, while reservations are being created - to provide total_count reserved instance slots. This state will - not persist past start_time + 24h. - enum: - - APPROVED - - CANCELLED - - COMMITTED - - DECLINED - - DRAFTING - - FAILED - - FAILED_PARTIALLY_FULFILLED - - FULFILLED - - PENDING_AMENDMENT_APPROVAL - - PENDING_APPROVAL - - PROCUREMENT_STATUS_UNSPECIFIED - - PROCURING - - PROVISIONING - namePrefix: - description: >- - [Output Only] The name prefix of the Future Reservation before an - amendment was requested. - type: string - description: - description: >- - [Output Only] The description of the FutureReservation before an - amendment was requested. - type: string - lockTime: - description: >- - [Output Only] The lock time of the FutureReservation before an - amendment was requested. - type: string - existingMatchingUsageInfo: - description: >- - [Output Only] Represents the matching usage for the future - reservation before an amendment was requested. - $ref: >- - #/components/schemas/FutureReservationStatusExistingMatchingUsageInfo - FutureReservationStatusLastKnownGoodStateFutureReservationSpecs: - id: FutureReservationStatusLastKnownGoodStateFutureReservationSpecs - description: The properties of the last known good state for the Future Reservation. - type: object - properties: - specificSkuProperties: - description: >- - [Output Only] The previous instance related properties of the Future - Reservation. - $ref: '#/components/schemas/FutureReservationSpecificSKUProperties' - timeWindow: - description: '[Output Only] The previous time window of the Future Reservation.' - $ref: '#/components/schemas/FutureReservationTimeWindow' - shareSettings: - description: '[Output Only] The previous share settings of the Future Reservation.' - $ref: '#/components/schemas/ShareSettings' - FutureReservationStatusExistingMatchingUsageInfo: - id: FutureReservationStatusExistingMatchingUsageInfo - description: >- - [Output Only] Represents the existing matching usage for the future - reservation. - type: object - properties: - count: - description: >- - Count to represent min(FR total_count, - matching_reserved_capacity+matching_unreserved_instances) - type: string - format: int64 - timestamp: - description: Timestamp when the matching usage was calculated - type: string - FutureReservationsListResponse: - id: FutureReservationsListResponse + HealthCheckServicesList: + id: HealthCheckServicesList type: object properties: kind: description: >- - [Output Only] Type of resource.Always - compute#FutureReservationsListResponse for lists of reservations - default: compute#futureReservationsListResponse + [Output Only] Type of the resource. Always + compute#healthCheckServicesList for lists of HealthCheckServices. + default: compute#healthCheckServicesList type: string id: description: >- - [Output Only] The unique identifier for the resource. This - identifier is defined by the server. + [Output Only] Unique identifier for the resource; defined by the + server. type: string items: - description: '[Output Only] A list of future reservation resources.' + description: A list of HealthCheckService resources. type: array items: - $ref: '#/components/schemas/FutureReservation' + $ref: '#/components/schemas/HealthCheckService' nextPageToken: description: >- [Output Only] This token allows you to get the next page of results @@ -24670,594 +24298,9 @@ components: 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. - type: string - warning: - description: '[Output Only] Informational warning message.' - type: object - properties: - code: - description: >- - [Output Only] A warning code, if applicable. For example, - Compute Engine returns NO_RESULTS_ON_PAGE if there are no - results in the response. - type: string - enumDescriptions: - - >- - Warning about failed cleanup of transient changes made by a - failed operation. - - A link to a deprecated resource was created. - - >- - When deploying and at least one of the resources has a type - marked as deprecated - - The user created a boot disk that is larger than image size. - - >- - When deploying and at least one of the resources has a type - marked as experimental - - Warning that is present in an external api call - - >- - Warning that value of a field has been overridden. Deprecated - unused field. - - >- - The operation involved use of an injected kernel, which is - deprecated. - - >- - A WEIGHTED_MAGLEV backend service is associated with a health - check that is not of type HTTP/HTTPS/HTTP2. - - >- - When deploying a deployment with a exceedingly large number of - resources - - >- - Resource can't be retrieved due to list overhead quota exceed - which captures the amount of resources filtered out by - user-defined list filter. - - A resource depends on a missing type - - >- - The route's nextHopIp address is not assigned to an instance - on the network. - - The route's next hop instance cannot ip forward. - - >- - The route's nextHopInstance URL refers to an instance that - does not have an ipv6 interface on the same network as the - route. - - >- - The route's nextHopInstance URL refers to an instance that - does not exist. - - >- - The route's nextHopInstance URL refers to an instance that is - not on the same network as the route. - - >- - The route's next hop instance does not have a status of - RUNNING. - - >- - Error which is not critical. We decided to continue the - process despite the mentioned error. - - No results are present on a particular list page. - - >- - Success is reported, but some results may be missing due to - errors - - >- - The user attempted to use a resource that requires a TOS they - have not accepted. - - Warning that a resource is in use. - - >- - One or more of the resources set to auto-delete could not be - deleted because they were in use. - - When a resource schema validation is ignored. - - >- - Instance template used in instance group manager is valid as - such, but its application does not make a lot of sense, - because it allows only single instance in instance group. - - When undeclared properties in the schema are present - - A given scope cannot be reached. - enumDeprecated: - - false - - false - - false - - false - - false - - false - - true - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - enum: - - CLEANUP_FAILED - - DEPRECATED_RESOURCE_USED - - DEPRECATED_TYPE_USED - - DISK_SIZE_LARGER_THAN_IMAGE_SIZE - - EXPERIMENTAL_TYPE_USED - - EXTERNAL_API_WARNING - - FIELD_VALUE_OVERRIDEN - - INJECTED_KERNELS_DEPRECATED - - INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB - - LARGE_DEPLOYMENT_WARNING - - LIST_OVERHEAD_QUOTA_EXCEED - - MISSING_TYPE_DEPENDENCY - - NEXT_HOP_ADDRESS_NOT_ASSIGNED - - NEXT_HOP_CANNOT_IP_FORWARD - - NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE - - NEXT_HOP_INSTANCE_NOT_FOUND - - NEXT_HOP_INSTANCE_NOT_ON_NETWORK - - NEXT_HOP_NOT_RUNNING - - NOT_CRITICAL_ERROR - - NO_RESULTS_ON_PAGE - - PARTIAL_SUCCESS - - REQUIRED_TOS_AGREEMENT - - RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING - - RESOURCE_NOT_DELETED - - SCHEMA_VALIDATION_IGNORED - - SINGLE_INSTANCE_PROPERTY_TEMPLATE - - UNDECLARED_PROPERTIES - - UNREACHABLE - message: - description: '[Output Only] A human-readable description of the warning code.' - type: string - data: - description: >- - [Output Only] Metadata about this warning in key: value format. - For example: "data": [ { "key": "scope", "value": - "zones/us-east1-d" } - type: array - items: - type: object - properties: - key: - description: >- - [Output Only] A key that provides more detail on the - warning being returned. For example, for warnings where - there are no results in a list request for a particular - zone, this key might be scope and the key value might be - the zone name. Other examples might be a key indicating a - deprecated resource and a suggested replacement, or a - warning about invalid network settings (for example, if an - instance attempts to perform IP forwarding but is not - enabled for IP forwarding). - type: string - value: - description: >- - [Output Only] A warning data value corresponding to the - key. - type: string - selfLink: - description: '[Output Only] Server-defined URL for this resource.' - type: string - etag: - type: string - unreachables: - description: '[Output Only] Unreachable resources.' - type: array - items: - type: string - FutureReservationsAggregatedListResponse: - id: FutureReservationsAggregatedListResponse - description: Contains a list of future reservations. - type: object - properties: - kind: - description: >- - [Output Only] Type of resource. Always - compute#futureReservationsAggregatedListResponse for future - resevation aggregated list response. - default: compute#futureReservationsAggregatedListResponse - type: string - id: - description: >- - [Output Only] Unique identifier for the resource; defined by the - server. - type: string - items: - description: A list of Future reservation resources. - type: object - additionalProperties: - description: Name of the scope containing this set of future reservations. - $ref: '#/components/schemas/FutureReservationsScopedList' - nextPageToken: - description: >- - [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. - type: string - selfLink: - description: '[Output Only] Server-defined URL for this resource.' - type: string - warning: - description: '[Output Only] Informational warning message.' - type: object - properties: - code: - description: >- - [Output Only] A warning code, if applicable. For example, - Compute Engine returns NO_RESULTS_ON_PAGE if there are no - results in the response. - type: string - enumDescriptions: - - >- - Warning about failed cleanup of transient changes made by a - failed operation. - - A link to a deprecated resource was created. - - >- - When deploying and at least one of the resources has a type - marked as deprecated - - The user created a boot disk that is larger than image size. - - >- - When deploying and at least one of the resources has a type - marked as experimental - - Warning that is present in an external api call - - >- - Warning that value of a field has been overridden. Deprecated - unused field. - - >- - The operation involved use of an injected kernel, which is - deprecated. - - >- - A WEIGHTED_MAGLEV backend service is associated with a health - check that is not of type HTTP/HTTPS/HTTP2. - - >- - When deploying a deployment with a exceedingly large number of - resources - - >- - Resource can't be retrieved due to list overhead quota exceed - which captures the amount of resources filtered out by - user-defined list filter. - - A resource depends on a missing type - - >- - The route's nextHopIp address is not assigned to an instance - on the network. - - The route's next hop instance cannot ip forward. - - >- - The route's nextHopInstance URL refers to an instance that - does not have an ipv6 interface on the same network as the - route. - - >- - The route's nextHopInstance URL refers to an instance that - does not exist. - - >- - The route's nextHopInstance URL refers to an instance that is - not on the same network as the route. - - >- - The route's next hop instance does not have a status of - RUNNING. - - >- - Error which is not critical. We decided to continue the - process despite the mentioned error. - - No results are present on a particular list page. - - >- - Success is reported, but some results may be missing due to - errors - - >- - The user attempted to use a resource that requires a TOS they - have not accepted. - - Warning that a resource is in use. - - >- - One or more of the resources set to auto-delete could not be - deleted because they were in use. - - When a resource schema validation is ignored. - - >- - Instance template used in instance group manager is valid as - such, but its application does not make a lot of sense, - because it allows only single instance in instance group. - - When undeclared properties in the schema are present - - A given scope cannot be reached. - enumDeprecated: - - false - - false - - false - - false - - false - - false - - true - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - enum: - - CLEANUP_FAILED - - DEPRECATED_RESOURCE_USED - - DEPRECATED_TYPE_USED - - DISK_SIZE_LARGER_THAN_IMAGE_SIZE - - EXPERIMENTAL_TYPE_USED - - EXTERNAL_API_WARNING - - FIELD_VALUE_OVERRIDEN - - INJECTED_KERNELS_DEPRECATED - - INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB - - LARGE_DEPLOYMENT_WARNING - - LIST_OVERHEAD_QUOTA_EXCEED - - MISSING_TYPE_DEPENDENCY - - NEXT_HOP_ADDRESS_NOT_ASSIGNED - - NEXT_HOP_CANNOT_IP_FORWARD - - NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE - - NEXT_HOP_INSTANCE_NOT_FOUND - - NEXT_HOP_INSTANCE_NOT_ON_NETWORK - - NEXT_HOP_NOT_RUNNING - - NOT_CRITICAL_ERROR - - NO_RESULTS_ON_PAGE - - PARTIAL_SUCCESS - - REQUIRED_TOS_AGREEMENT - - RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING - - RESOURCE_NOT_DELETED - - SCHEMA_VALIDATION_IGNORED - - SINGLE_INSTANCE_PROPERTY_TEMPLATE - - UNDECLARED_PROPERTIES - - UNREACHABLE - message: - description: '[Output Only] A human-readable description of the warning code.' - type: string - data: - description: >- - [Output Only] Metadata about this warning in key: value format. - For example: "data": [ { "key": "scope", "value": - "zones/us-east1-d" } - type: array - items: - type: object - properties: - key: - description: >- - [Output Only] A key that provides more detail on the - warning being returned. For example, for warnings where - there are no results in a list request for a particular - zone, this key might be scope and the key value might be - the zone name. Other examples might be a key indicating a - deprecated resource and a suggested replacement, or a - warning about invalid network settings (for example, if an - instance attempts to perform IP forwarding but is not - enabled for IP forwarding). - type: string - value: - description: >- - [Output Only] A warning data value corresponding to the - key. - type: string - etag: - type: string - unreachables: - description: '[Output Only] Unreachable resources.' - type: array - items: - type: string - FutureReservationsScopedList: - id: FutureReservationsScopedList - type: object - properties: - futureReservations: - description: A list of future reservations contained in this scope. - type: array - items: - $ref: '#/components/schemas/FutureReservation' - warning: - description: >- - Informational warning which replaces the list of future reservations - when the list is empty. - type: object - properties: - code: - description: >- - [Output Only] A warning code, if applicable. For example, - Compute Engine returns NO_RESULTS_ON_PAGE if there are no - results in the response. - type: string - enumDescriptions: - - >- - Warning about failed cleanup of transient changes made by a - failed operation. - - A link to a deprecated resource was created. - - >- - When deploying and at least one of the resources has a type - marked as deprecated - - The user created a boot disk that is larger than image size. - - >- - When deploying and at least one of the resources has a type - marked as experimental - - Warning that is present in an external api call - - >- - Warning that value of a field has been overridden. Deprecated - unused field. - - >- - The operation involved use of an injected kernel, which is - deprecated. - - >- - A WEIGHTED_MAGLEV backend service is associated with a health - check that is not of type HTTP/HTTPS/HTTP2. - - >- - When deploying a deployment with a exceedingly large number of - resources - - >- - Resource can't be retrieved due to list overhead quota exceed - which captures the amount of resources filtered out by - user-defined list filter. - - A resource depends on a missing type - - >- - The route's nextHopIp address is not assigned to an instance - on the network. - - The route's next hop instance cannot ip forward. - - >- - The route's nextHopInstance URL refers to an instance that - does not have an ipv6 interface on the same network as the - route. - - >- - The route's nextHopInstance URL refers to an instance that - does not exist. - - >- - The route's nextHopInstance URL refers to an instance that is - not on the same network as the route. - - >- - The route's next hop instance does not have a status of - RUNNING. - - >- - Error which is not critical. We decided to continue the - process despite the mentioned error. - - No results are present on a particular list page. - - >- - Success is reported, but some results may be missing due to - errors - - >- - The user attempted to use a resource that requires a TOS they - have not accepted. - - Warning that a resource is in use. - - >- - One or more of the resources set to auto-delete could not be - deleted because they were in use. - - When a resource schema validation is ignored. - - >- - Instance template used in instance group manager is valid as - such, but its application does not make a lot of sense, - because it allows only single instance in instance group. - - When undeclared properties in the schema are present - - A given scope cannot be reached. - enumDeprecated: - - false - - false - - false - - false - - false - - false - - true - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - enum: - - CLEANUP_FAILED - - DEPRECATED_RESOURCE_USED - - DEPRECATED_TYPE_USED - - DISK_SIZE_LARGER_THAN_IMAGE_SIZE - - EXPERIMENTAL_TYPE_USED - - EXTERNAL_API_WARNING - - FIELD_VALUE_OVERRIDEN - - INJECTED_KERNELS_DEPRECATED - - INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB - - LARGE_DEPLOYMENT_WARNING - - LIST_OVERHEAD_QUOTA_EXCEED - - MISSING_TYPE_DEPENDENCY - - NEXT_HOP_ADDRESS_NOT_ASSIGNED - - NEXT_HOP_CANNOT_IP_FORWARD - - NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE - - NEXT_HOP_INSTANCE_NOT_FOUND - - NEXT_HOP_INSTANCE_NOT_ON_NETWORK - - NEXT_HOP_NOT_RUNNING - - NOT_CRITICAL_ERROR - - NO_RESULTS_ON_PAGE - - PARTIAL_SUCCESS - - REQUIRED_TOS_AGREEMENT - - RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING - - RESOURCE_NOT_DELETED - - SCHEMA_VALIDATION_IGNORED - - SINGLE_INSTANCE_PROPERTY_TEMPLATE - - UNDECLARED_PROPERTIES - - UNREACHABLE - message: - description: '[Output Only] A human-readable description of the warning code.' - type: string - data: - description: >- - [Output Only] Metadata about this warning in key: value format. - For example: "data": [ { "key": "scope", "value": - "zones/us-east1-d" } - type: array - items: - type: object - properties: - key: - description: >- - [Output Only] A key that provides more detail on the - warning being returned. For example, for warnings where - there are no results in a list request for a particular - zone, this key might be scope and the key value might be - the zone name. Other examples might be a key indicating a - deprecated resource and a suggested replacement, or a - warning about invalid network settings (for example, if an - instance attempts to perform IP forwarding but is not - enabled for IP forwarding). - type: string - value: - description: >- - [Output Only] A warning data value corresponding to the - key. - type: string - HealthCheckServicesList: - id: HealthCheckServicesList - type: object - properties: - kind: - description: >- - [Output Only] Type of the resource. Always - compute#healthCheckServicesList for lists of HealthCheckServices. - default: compute#healthCheckServicesList - type: string - id: - description: >- - [Output Only] Unique identifier for the resource; defined by the - server. - type: string - items: - description: A list of HealthCheckService resources. - type: array - items: - $ref: '#/components/schemas/HealthCheckService' - nextPageToken: - description: >- - [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. - type: string - selfLink: - description: '[Output Only] Server-defined URL for this resource.' + type: string + selfLink: + description: '[Output Only] Server-defined URL for this resource.' type: string warning: description: '[Output Only] Informational warning message.' @@ -30145,12 +29188,12 @@ components: requestedFeatures: description: >- Optional. List of features requested for this Interconnect - connection, which can take one of the following values: - MACSEC If - specified then the connection is created on MACsec capable hardware - ports. If not specified, the default value is false, which allocates - non-MACsec capable ports first if available. This parameter can be - provided only with Interconnect INSERT. It isn't valid for - Interconnect PATCH. + connection, which can take one of the following values: - IF_MACSEC + If specified then the connection is created on MACsec capable + hardware ports. If not specified, the default value is false, which + allocates non-MACsec capable ports first if available. This + parameter can be provided only with Interconnect INSERT. It isn't + valid for Interconnect PATCH. type: array items: type: string @@ -30161,8 +29204,8 @@ components: availableFeatures: description: >- [Output only] List of features available for this Interconnect - connection, which can take one of the following values: - MACSEC If - present then the Interconnect connection is provisioned on MACsec + connection, which can take one of the following values: - IF_MACSEC + If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails. @@ -35329,6 +34372,9 @@ components: instance can be added to a NEG as long as it matches the NEG subnetwork. type: string + ipv6Address: + description: Optional IPv6 address of network endpoint. + type: string fqdn: description: >- Optional fully qualified domain name of network endpoint. This can @@ -35638,6 +34684,21 @@ components: - HEALTHY - UNHEALTHY - UNKNOWN + ipv6HealthState: + description: >- + Health state of the ipv6 network endpoint determined based on the + health checks configured. + type: string + enumDescriptions: + - Endpoint is being drained. + - Endpoint is healthy. + - Endpoint is unhealthy. + - Health status of the endpoint is unknown. + enum: + - DRAINING + - HEALTHY + - UNHEALTHY + - UNKNOWN ForwardingRuleReference: id: ForwardingRuleReference type: object @@ -36224,7 +35285,11 @@ components: items: $ref: '#/components/schemas/Firewall' firewallPolicys: - description: Effective firewalls from firewall policy. + description: >- + [Output Only] Effective firewalls from firewall policy. It returns + Global Network Firewall Policies and Hierarchical Firewall Policies. + Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get + Regional Network Firewall Policies as well. type: array items: $ref: >- @@ -36259,7 +35324,7 @@ components: deprecated: true type: string rules: - description: The rules that apply to the network. + description: '[Output Only] The rules that apply to the network.' type: array items: $ref: '#/components/schemas/FirewallPolicyRule' @@ -46889,6 +45954,21 @@ components: reject list. For newly created service attachment, this boolean defaults to false. type: boolean + propagatedConnectionLimit: + description: >- + The number of consumer spokes that connected Private Service Connect + endpoints can be propagated to through Network Connectivity Center. + This limit lets the service producer limit how many propagated + Private Service Connect connections can be established to this + service attachment from a single consumer. If the connection + preference of the service attachment is ACCEPT_MANUAL, the limit + applies to each project or network that is listed in the consumer + accept list. If the connection preference of the service attachment + is ACCEPT_AUTOMATIC, the limit applies to each project that contains + a connected endpoint. If unspecified, the default propagated + connection limit is 250. + type: integer + format: uint32 ServiceAttachmentConnectedEndpoint: id: ServiceAttachmentConnectedEndpoint description: '[Output Only] A connection connected to this service attachment.' @@ -46924,6 +46004,12 @@ components: consumerNetwork: description: The url of the consumer network. type: string + propagatedConnectionCount: + description: >- + The number of consumer Network Connectivity Center spokes that the + connected Private Service Connect endpoint has propagated to. + type: integer + format: uint32 ServiceAttachmentConsumerProjectLimit: id: ServiceAttachmentConsumerProjectLimit type: object @@ -50966,9 +50052,11 @@ components: enumDescriptions: - New VMs in this subnet can have both IPv4 and IPv6 addresses. - New VMs in this subnet will only be assigned IPv4 addresses. + - New VMs in this subnet will only be assigned IPv6 addresses. enum: - IPV4_IPV6 - IPV4_ONLY + - IPV6_ONLY ipv6AccessType: description: >- The access type of IPv6 address this subnet holds. It's immutable @@ -51693,9 +50781,11 @@ components: enumDescriptions: - New VMs in this subnet can have both IPv4 and IPv6 addresses. - New VMs in this subnet will only be assigned IPv4 addresses. + - New VMs in this subnet will only be assigned IPv6 addresses. enum: - IPV4_IPV6 - IPV4_ONLY + - IPV6_ONLY ipv6AccessType: description: >- The access type of IPv6 address this subnet holds. It's immutable @@ -54391,6 +53481,10 @@ components: - >- No session affinity. Connections from the same client IP may go to any instance in the pool. + - >- + Strong cookie-based affinity. Connections bearing the same cookie + will be served by the same backend VM while that VM remains + healthy, as long as the cookie has not expired. enum: - CLIENT_IP - CLIENT_IP_NO_DESTINATION @@ -54400,6 +53494,7 @@ components: - HEADER_FIELD - HTTP_COOKIE - NONE + - STRONG_COOKIE_AFFINITY failoverRatio: description: >- This field is applicable only when the containing target pool is @@ -56777,10 +55872,10 @@ components: Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the - backend service must have a loadBalancingScheme of either EXTERNAL or - INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend - service must have a loadBalancingScheme of INTERNAL_MANAGED. For more - information, read URL Map Concepts. + backend service must have a loadBalancingScheme of either EXTERNAL, + EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps + resource, the backend service must have a loadBalancingScheme of + INTERNAL_MANAGED. For more information, read URL Map Concepts. type: object properties: kind: @@ -60446,44 +59541,6 @@ components: supportsPzs: description: '[Output Only] Reserved for future use.' type: boolean - AuditConfig: - id: AuditConfig - description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - jose@example.com from DATA_READ logging, and aliya@example.com from - DATA_WRITE logging. - type: object - properties: - exemptedMembers: - description: This is deprecated and has no effect. Do not use. - type: array - items: - type: string - auditLogConfigs: - description: The configuration for logging of each type of permission. - type: array - items: - $ref: '#/components/schemas/AuditLogConfig' - service: - description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. - type: string parameters: access_token: description: OAuth access token. @@ -64573,76 +63630,6 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/forwarding_rules/methods/delete' - future_reservations: - id: google.compute.future_reservations - name: future_reservations - title: Future_reservations - methods: - insert: - operation: - $ref: >- - #/paths/~1projects~1{project}~1zones~1{zone}~1futureReservations/post - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1projects~1{project}~1zones~1{zone}~1futureReservations/get - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1projects~1{project}~1zones~1{zone}~1futureReservations~1{futureReservation}/get - response: - mediaType: application/json - openAPIDocKey: '200' - delete: - operation: - $ref: >- - #/paths/~1projects~1{project}~1zones~1{zone}~1futureReservations~1{futureReservation}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - update: - operation: - $ref: >- - #/paths/~1projects~1{project}~1zones~1{zone}~1futureReservations~1{futureReservation}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - aggregated_list: - operation: - $ref: '#/paths/~1projects~1{project}~1aggregated~1futureReservations/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.items[*].futureReservations[*] - cancel: - operation: - $ref: >- - #/paths/~1projects~1{project}~1zones~1{zone}~1futureReservations~1{futureReservation}~1cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/future_reservations/methods/get' - - $ref: '#/components/x-stackQL-resources/future_reservations/methods/list' - - $ref: >- - #/components/x-stackQL-resources/future_reservations/methods/aggregated_list - insert: - - $ref: >- - #/components/x-stackQL-resources/future_reservations/methods/insert - update: - - $ref: >- - #/components/x-stackQL-resources/future_reservations/methods/update - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/future_reservations/methods/delete region_health_check_services: id: google.compute.region_health_check_services name: region_health_check_services @@ -85473,405 +84460,17 @@ paths: schema: type: string - in: path - name: resource - required: true - schema: - type: string - /projects/{project}/global/forwardingRules: - parameters: *ref_1 - get: - description: >- - Retrieves a list of GlobalForwardingRule resources available to the - specified project. - operationId: compute.globalForwardingRules.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - - Oauth2: - - https://www.googleapis.com/auth/compute.readonly - Oauth2c: - - https://www.googleapis.com/auth/compute.readonly - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ForwardingRuleList' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: maxResults - schema: - type: integer - format: uint32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: returnPartialSuccess - schema: - type: boolean - post: - description: >- - Creates a GlobalForwardingRule resource in the specified project using - the data included in the request. - operationId: compute.globalForwardingRules.insert - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ForwardingRule' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: query - name: requestId - schema: - type: string - /projects/{project}/global/forwardingRules/{forwardingRule}: - parameters: *ref_1 - get: - description: >- - Returns the specified GlobalForwardingRule resource. Gets a list of - available forwarding rules by making a list() request. - operationId: compute.globalForwardingRules.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - - Oauth2: - - https://www.googleapis.com/auth/compute.readonly - Oauth2c: - - https://www.googleapis.com/auth/compute.readonly - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ForwardingRule' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: forwardingRule - required: true - schema: - type: string - delete: - description: Deletes the specified GlobalForwardingRule resource. - operationId: compute.globalForwardingRules.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: forwardingRule - required: true - schema: - type: string - - in: query - name: requestId - schema: - type: string - patch: - description: >- - 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. - operationId: compute.globalForwardingRules.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ForwardingRule' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: forwardingRule - required: true - schema: - type: string - - in: query - name: requestId - schema: - type: string - /projects/{project}/global/forwardingRules/{forwardingRule}/setTarget: - parameters: *ref_1 - post: - description: >- - Changes target URL for the GlobalForwardingRule resource. The new target - should be of the same type as the old target. - operationId: compute.globalForwardingRules.setTarget - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TargetReference' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: forwardingRule - required: true - schema: - type: string - - in: query - name: requestId - schema: - type: string - /projects/{project}/global/forwardingRules/{resource}/setLabels: - parameters: *ref_1 - post: - description: >- - Sets the labels on the specified resource. To learn more about labels, - read the Labeling resources documentation. - operationId: compute.globalForwardingRules.setLabels - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GlobalSetLabelsRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: resource - required: true - schema: - type: string - /projects/{project}/regions/{region}/forwardingRules: - parameters: *ref_1 - get: - description: >- - Retrieves a list of ForwardingRule resources available to the specified - project and region. - operationId: compute.forwardingRules.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - - Oauth2: - - https://www.googleapis.com/auth/compute.readonly - Oauth2c: - - https://www.googleapis.com/auth/compute.readonly - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ForwardingRuleList' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: region - required: true - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: maxResults - schema: - type: integer - format: uint32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: returnPartialSuccess - schema: - type: boolean - post: - description: >- - Creates a ForwardingRule resource in the specified project and region - using the data included in the request. - operationId: compute.forwardingRules.insert - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ForwardingRule' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/compute - Oauth2c: - - https://www.googleapis.com/auth/compute - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: project - required: true - schema: - type: string - - in: path - name: region + name: resource required: true schema: type: string - - in: query - name: requestId - schema: - type: string - /projects/{project}/aggregated/forwardingRules: + /projects/{project}/global/forwardingRules: parameters: *ref_1 get: description: >- - Retrieves an aggregated list of forwarding rules. To prevent failure, - Google recommends that you set the `returnPartialSuccess` parameter to - `true`. - operationId: compute.forwardingRules.aggregatedList + Retrieves a list of GlobalForwardingRule resources available to the + specified project. + operationId: compute.globalForwardingRules.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -85891,7 +84490,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ForwardingRuleAggregatedList' + $ref: '#/components/schemas/ForwardingRuleList' parameters: - in: path name: project @@ -85902,10 +84501,6 @@ paths: name: filter schema: type: string - - in: query - name: includeAllScopes - schema: - type: boolean - in: query name: maxResults schema: @@ -85923,16 +84518,49 @@ paths: name: returnPartialSuccess schema: type: boolean + post: + description: >- + Creates a GlobalForwardingRule resource in the specified project using + the data included in the request. + operationId: compute.globalForwardingRules.insert + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ForwardingRule' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/compute + Oauth2c: + - https://www.googleapis.com/auth/compute + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: project + required: true + schema: + type: string - in: query - name: serviceProjectNumber + name: requestId schema: type: string - format: int64 - /projects/{project}/regions/{region}/forwardingRules/{forwardingRule}: + /projects/{project}/global/forwardingRules/{forwardingRule}: parameters: *ref_1 get: - description: Returns the specified ForwardingRule resource. - operationId: compute.forwardingRules.get + description: >- + Returns the specified GlobalForwardingRule resource. Gets a list of + available forwarding rules by making a list() request. + operationId: compute.globalForwardingRules.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -85959,19 +84587,14 @@ paths: required: true schema: type: string - - in: path - name: region - required: true - schema: - type: string - in: path name: forwardingRule required: true schema: type: string delete: - description: Deletes the specified ForwardingRule resource. - operationId: compute.forwardingRules.delete + description: Deletes the specified GlobalForwardingRule resource. + operationId: compute.globalForwardingRules.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -85994,11 +84617,6 @@ paths: required: true schema: type: string - - in: path - name: region - required: true - schema: - type: string - in: path name: forwardingRule required: true @@ -86014,7 +84632,7 @@ paths: 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. - operationId: compute.forwardingRules.patch + operationId: compute.globalForwardingRules.patch requestBody: content: application/json: @@ -86042,11 +84660,6 @@ paths: required: true schema: type: string - - in: path - name: region - required: true - schema: - type: string - in: path name: forwardingRule required: true @@ -86056,13 +84669,13 @@ paths: name: requestId schema: type: string - /projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget: + /projects/{project}/global/forwardingRules/{forwardingRule}/setTarget: parameters: *ref_1 post: description: >- - Changes target URL for forwarding rule. The new target should be of the - same type as the old target. - operationId: compute.forwardingRules.setTarget + Changes target URL for the GlobalForwardingRule resource. The new target + should be of the same type as the old target. + operationId: compute.globalForwardingRules.setTarget requestBody: content: application/json: @@ -86090,11 +84703,6 @@ paths: required: true schema: type: string - - in: path - name: region - required: true - schema: - type: string - in: path name: forwardingRule required: true @@ -86104,18 +84712,18 @@ paths: name: requestId schema: type: string - /projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels: + /projects/{project}/global/forwardingRules/{resource}/setLabels: parameters: *ref_1 post: description: >- Sets the labels on the specified resource. To learn more about labels, - read the Labeling Resources documentation. - operationId: compute.forwardingRules.setLabels + read the Labeling resources documentation. + operationId: compute.globalForwardingRules.setLabels requestBody: content: application/json: schema: - $ref: '#/components/schemas/RegionSetLabelsRequest' + $ref: '#/components/schemas/GlobalSetLabelsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86139,29 +84747,79 @@ paths: schema: type: string - in: path - name: region + name: resource required: true schema: type: string + /projects/{project}/regions/{region}/forwardingRules: + parameters: *ref_1 + get: + description: >- + Retrieves a list of ForwardingRule resources available to the specified + project and region. + operationId: compute.forwardingRules.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/compute + Oauth2c: + - https://www.googleapis.com/auth/compute + - Oauth2: + - https://www.googleapis.com/auth/compute.readonly + Oauth2c: + - https://www.googleapis.com/auth/compute.readonly + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ForwardingRuleList' + parameters: - in: path - name: resource + name: project + required: true + schema: + type: string + - in: path + name: region required: true schema: type: string - in: query - name: requestId + name: filter schema: type: string - /projects/{project}/zones/{zone}/futureReservations: - parameters: *ref_1 + - in: query + name: maxResults + schema: + type: integer + format: uint32 + - in: query + name: orderBy + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: returnPartialSuccess + schema: + type: boolean post: - description: Creates a new Future Reservation. - operationId: compute.futureReservations.insert + description: >- + Creates a ForwardingRule resource in the specified project and region + using the data included in the request. + operationId: compute.forwardingRules.insert requestBody: content: application/json: schema: - $ref: '#/components/schemas/FutureReservation' + $ref: '#/components/schemas/ForwardingRule' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86185,7 +84843,7 @@ paths: schema: type: string - in: path - name: zone + name: region required: true schema: type: string @@ -86193,11 +84851,14 @@ paths: name: requestId schema: type: string + /projects/{project}/aggregated/forwardingRules: + parameters: *ref_1 get: description: >- - A list of all the future reservations that have been configured for the - specified project in specified zone. - operationId: compute.futureReservations.list + Retrieves an aggregated list of forwarding rules. To prevent failure, + Google recommends that you set the `returnPartialSuccess` parameter to + `true`. + operationId: compute.forwardingRules.aggregatedList security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86217,22 +84878,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FutureReservationsListResponse' + $ref: '#/components/schemas/ForwardingRuleAggregatedList' parameters: - in: path name: project required: true schema: type: string - - in: path - name: zone - required: true - schema: - type: string - in: query name: filter schema: type: string + - in: query + name: includeAllScopes + schema: + type: boolean - in: query name: maxResults schema: @@ -86250,11 +84910,16 @@ paths: name: returnPartialSuccess schema: type: boolean - /projects/{project}/zones/{zone}/futureReservations/{futureReservation}: + - in: query + name: serviceProjectNumber + schema: + type: string + format: int64 + /projects/{project}/regions/{region}/forwardingRules/{forwardingRule}: parameters: *ref_1 get: - description: Retrieves information about the specified future reservation. - operationId: compute.futureReservations.get + description: Returns the specified ForwardingRule resource. + operationId: compute.forwardingRules.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86274,7 +84939,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FutureReservation' + $ref: '#/components/schemas/ForwardingRule' parameters: - in: path name: project @@ -86282,18 +84947,18 @@ paths: schema: type: string - in: path - name: zone + name: region required: true schema: type: string - in: path - name: futureReservation + name: forwardingRule required: true schema: type: string delete: - description: Deletes the specified future reservation. - operationId: compute.futureReservations.delete + description: Deletes the specified ForwardingRule resource. + operationId: compute.forwardingRules.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86317,12 +84982,12 @@ paths: schema: type: string - in: path - name: zone + name: region required: true schema: type: string - in: path - name: futureReservation + name: forwardingRule required: true schema: type: string @@ -86331,13 +84996,17 @@ paths: schema: type: string patch: - description: Updates the specified future reservation. - operationId: compute.futureReservations.update + description: >- + 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. + operationId: compute.forwardingRules.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/FutureReservation' + $ref: '#/components/schemas/ForwardingRule' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86361,12 +85030,12 @@ paths: schema: type: string - in: path - name: zone + name: region required: true schema: type: string - in: path - name: futureReservation + name: forwardingRule required: true schema: type: string @@ -86374,19 +85043,18 @@ paths: name: requestId schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /projects/{project}/aggregated/futureReservations: + /projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget: parameters: *ref_1 - get: + post: description: >- - Retrieves an aggregated list of future reservations. To prevent failure, - Google recommends that you set the `returnPartialSuccess` parameter to - `true`. - operationId: compute.futureReservations.aggregatedList + Changes target URL for forwarding rule. The new target should be of the + same type as the old target. + operationId: compute.forwardingRules.setTarget + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TargetReference' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86396,58 +85064,45 @@ paths: - https://www.googleapis.com/auth/compute Oauth2c: - https://www.googleapis.com/auth/compute - - Oauth2: - - https://www.googleapis.com/auth/compute.readonly - Oauth2c: - - https://www.googleapis.com/auth/compute.readonly responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/FutureReservationsAggregatedListResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: project required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: includeAllScopes - schema: - type: boolean - - in: query - name: maxResults - schema: - type: integer - format: uint32 - - in: query - name: orderBy + - in: path + name: region + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: forwardingRule + required: true schema: type: string - in: query - name: returnPartialSuccess - schema: - type: boolean - - in: query - name: serviceProjectNumber + name: requestId schema: type: string - format: int64 - /projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel: + /projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels: parameters: *ref_1 post: - description: Cancel the specified future reservation. - operationId: compute.futureReservations.cancel + description: >- + Sets the labels on the specified resource. To learn more about labels, + read the Labeling Resources documentation. + operationId: compute.forwardingRules.setLabels + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RegionSetLabelsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -86471,12 +85126,12 @@ paths: schema: type: string - in: path - name: zone + name: region required: true schema: type: string - in: path - name: futureReservation + name: resource required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/config.yaml b/providers/src/googleapis.com/v00.00.00000/services/config.yaml index 73e648fd..7d75d1ca 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/config.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/config.yaml @@ -7,8 +7,8 @@ info: title: Infrastructure Manager API description: Creates and manages Google Cloud Platform resources and infrastructure. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/infrastructure-manager/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/connectors.yaml b/providers/src/googleapis.com/v00.00.00000/services/connectors.yaml index 787e312c..bb4737ac 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/connectors.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/connectors.yaml @@ -9,8 +9,8 @@ info: Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface. version: v2 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241015' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/apigee/docs/api-platform/connectors/about-connectors @@ -1770,23 +1770,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 WeeklyCycle: diff --git a/providers/src/googleapis.com/v00.00.00000/services/contactcenteraiplatform.yaml b/providers/src/googleapis.com/v00.00.00000/services/contactcenteraiplatform.yaml index 55a8e78d..c7ef99b4 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/contactcenteraiplatform.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/contactcenteraiplatform.yaml @@ -7,8 +7,8 @@ info: title: Contact Center AI Platform API description: '' version: v1alpha1 - x-discovery-doc-revision: '20240911' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/solutions/contact-center-ai-platform servers: @@ -165,7 +165,7 @@ components: type: string ContactCenter: id: ContactCenter - description: 'Message describing ContactCenter object Next ID: 23' + description: 'Message describing ContactCenter object Next ID: 24' type: object properties: name: @@ -645,23 +645,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 ContactCenterQuota: diff --git a/providers/src/googleapis.com/v00.00.00000/services/contactcenterinsights.yaml b/providers/src/googleapis.com/v00.00.00000/services/contactcenterinsights.yaml index c498dec7..dc6fc880 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/contactcenterinsights.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/contactcenterinsights.yaml @@ -7,8 +7,8 @@ info: title: Contact Center AI Insights API description: '' version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/contact-center/insights/docs servers: @@ -34,1241 +34,1493 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudContactcenterinsightsV1alpha1AnalysisResult: - id: GoogleCloudContactcenterinsightsV1alpha1AnalysisResult + GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata: type: object - description: The result of an analysis. properties: - callAnalysisMetadata: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata - description: Call-specific metadata created by the analysis. - endTime: - description: The time at which the analysis ended. + issueModelId: type: string - format: google-datetime - GoogleCloudContactcenterinsightsV1PhraseMatchRule: + description: The parent issue model ID. + issueId: + type: string + description: The issue ID. + issueDisplayName: + type: string + description: The issue display name. + id: GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata + description: Metadata about the issue dimension. + GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse: + description: The response from a ListQaQuestions request. properties: - negated: - description: >- - Specifies whether the phrase must be missing from the transcript - segment or present in the transcript segment. - type: boolean - config: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig + nextPageToken: description: >- - Provides additional information about the rule that specifies how to - apply the rule. - query: + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - description: Required. The phrase to be matched. + qaQuestions: + description: The QaQuestions under the parent. + type: array + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestion' + id: GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse type: object - id: GoogleCloudContactcenterinsightsV1PhraseMatchRule - description: The data for a phrase match rule. - GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig: + GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec: + description: >- + A customer-managed encryption key specification that can be applied to + all created resources (e.g. `Conversation`). properties: - summarizationModel: - enumDescriptions: - - Unspecified summarization model. - - The CCAI baseline model. - - The CCAI baseline model, V2.0. + kmsKey: + description: >- + 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 our default 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}` type: string - enum: - - SUMMARIZATION_MODEL_UNSPECIFIED - - BASELINE_MODEL - - BASELINE_MODEL_V2_0 - description: Default summarization model to be used. - conversationProfile: + name: description: >- - Resource name of the Dialogflow conversation profile. Format: - projects/{project}/locations/{location}/conversationProfiles/{conversation_profile} + Immutable. The resource name of the encryption key specification + resource. Format: + projects/{project}/locations/{location}/encryptionSpec type: string - id: GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig - type: object - description: Configuration for summarization. - GoogleCloudContactcenterinsightsV1UploadConversationRequest: - description: Request to upload a conversation. + id: GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec type: object + GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest: properties: - speechConfig: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SpeechConfig' + force: description: >- - Optional. Speech-to-Text configuration. Will default to the config - specified in Settings. - parent: + If set to true, all of this conversation's analyses will also be + deleted. Otherwise, the request will only succeed if the + conversation has no analyses. + type: boolean + maxDeleteCount: + format: int32 + description: Maximum number of conversations to delete. + type: integer + filter: + description: Filter used to select the subset of conversations to delete. type: string - description: Required. The parent resource of the conversation. - redactionConfig: - description: >- - Optional. DLP settings for transcript redaction. Will default to the - config specified in Settings. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig - conversationId: + parent: description: >- - Optional. A unique ID for the new conversation. This ID will become - the final component of the conversation's resource name. If no ID is - specified, a server-generated ID will be used. This value should be - 4-64 characters and must match the regular expression - `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-` + Required. The parent resource to delete conversations from. Format: + projects/{project}/locations/{location} type: string - conversation: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Conversation' - description: Required. The conversation resource to create. - id: GoogleCloudContactcenterinsightsV1UploadConversationRequest - GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata: + id: GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest + type: object + description: The request to delete conversations in bulk. + GoogleIamV1SetIamPolicyRequest: + id: GoogleIamV1SetIamPolicyRequest properties: - createTime: + updateMask: + format: google-fieldmask type: string - readOnly: true - description: Output only. The time the operation was created. - format: google-datetime + description: >- + OPTIONAL: A FieldMask specifying which fields of the policy to + modify. Only the fields in the mask will be modified. If no mask is + provided, the following default mask is used: `paths: "bindings, + etag"` + policy: + $ref: '#/components/schemas/GoogleIamV1Policy' + description: >- + REQUIRED: The complete policy to be applied to the `resource`. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + type: object + description: Request message for `SetIamPolicy` method. + GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata: + id: GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata + type: object + description: Metadata for creating an issue model. + properties: endTime: format: google-datetime - type: string readOnly: true + type: string description: Output only. The time the operation finished running. + createTime: + readOnly: true + description: Output only. The time the operation was created. + type: string + format: google-datetime request: + description: The original request for creation. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest - description: The original request for deployment. - id: GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata - type: object - description: Metadata for deploying an issue model. - GoogleCloudContactcenterinsightsV1UploadConversationMetadata: - id: GoogleCloudContactcenterinsightsV1UploadConversationMetadata + #/components/schemas/GoogleCloudContactcenterinsightsV1CreateIssueModelRequest + GoogleCloudContactcenterinsightsV1CallAnnotation: + id: GoogleCloudContactcenterinsightsV1CallAnnotation + description: A piece of metadata that applies to a window of a call. type: object - description: The metadata for an `UploadConversation` operation. properties: - request: + entityMentionData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1UploadConversationRequest - readOnly: true - description: Output only. The original request. - appliedRedactionConfig: + #/components/schemas/GoogleCloudContactcenterinsightsV1EntityMentionData + description: Data specifying an entity mention. + holdData: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1HoldData' + description: Data specifying a hold. + silenceData: + description: Data specifying silence. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SilenceData' + channelTag: + type: integer + format: int32 + description: >- + The channel of the audio where the annotation occurs. For + single-channel audio, this field is not populated. + phraseMatchData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchData + description: Data specifying a phrase match. + issueMatchData: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueMatchData + description: Data specifying an issue match. + interruptionData: + description: Data specifying an interruption. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1InterruptionData + annotationStartBoundary: description: >- - Output only. The redaction config applied to the uploaded - conversation. + The boundary in the conversation where the annotation starts, + inclusive. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary + sentimentData: + description: Data specifying sentiment. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' + intentMatchData: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IntentMatchData + description: Data specifying an intent match. + annotationEndBoundary: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary + description: >- + The boundary in the conversation where the annotation ends, + inclusive. + GoogleCloudContactcenterinsightsV1Issue: + description: The issue resource. + type: object + properties: + updateTime: + description: Output only. The most recent time that this issue was updated. + format: google-datetime readOnly: true - endTime: - description: Output only. The time the operation finished running. type: string - format: google-datetime + sampleUtterances: + type: array + items: + type: string readOnly: true + description: >- + Output only. Resource names of the sample representative utterances + that match to this issue. + displayDescription: + description: Representative description of the issue. + type: string + displayName: + type: string + description: The representative name for the issue. + name: + description: >- + Immutable. The resource name of the issue. Format: + projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + type: string createTime: readOnly: true - type: string format: google-datetime - description: Output only. The time the operation was created. - analysisOperation: - readOnly: true type: string - description: >- - Output only. The operation name for a successfully created analysis - operation, if any. - GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest: - id: GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest - type: object + description: Output only. The time at which this issue was created. + id: GoogleCloudContactcenterinsightsV1Issue + GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse: + description: The response from a ListQaScorecards request. properties: - name: - description: Required. The issue model to export. + qaScorecards: + type: array + description: The QaScorecards under the parent. + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard' + nextPageToken: type: string - gcsDestination: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination - description: Google Cloud Storage URI to export the issue model to. - description: Request to export an issue model. - GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData: - properties: - textSections: - type: object - additionalProperties: - type: string - description: >- - The summarization content that is divided into sections. The key is - the section's name and the value is the section's content. There is - no specific format for the key or value. - metadata: - additionalProperties: - type: string description: >- - A map that contains metadata about the summarization and the - document from which it originates. - type: object - conversationModel: + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: object + id: GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment: + id: >- + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment + description: A segment of a full transcript. + type: object + properties: + words: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo description: >- - The name of the model that generates this summary. Format: - projects/{project}/locations/{location}/conversationModels/{conversation_model} - type: string - confidence: - type: number - description: The confidence score of the summarization. - format: float - answerRecord: + A list of the word-specific information for each word in the + segment. + channelTag: + type: integer description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} + For conversations derived from multi-channel audio, this is the + channel number corresponding to the audio from that channel. For + audioChannelCount = N, its output values can range from '1' to 'N'. + A channel tag of 0 indicates that the audio is mono. + format: int32 + segmentParticipant: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant + description: The participant of this segment. + messageTime: + description: The time that the message occurred, if provided. type: string + format: google-datetime + sentiment: + description: The sentiment for this transcript segment. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData text: + description: The text of this segment. type: string - description: The summarization content that is concatenated into one string. - id: >- - GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData - description: Conversation summarization suggestion data. - type: object - GoogleCloudContactcenterinsightsV1DialogflowInteractionData: - type: object - description: Dialogflow interaction data. - id: GoogleCloudContactcenterinsightsV1DialogflowInteractionData - properties: confidence: - format: float + description: >- + A confidence estimate between 0.0 and 1.0 of the fidelity of this + segment. A default value of 0.0 indicates that the value is unset. type: number + format: float + languageCode: description: >- - The confidence of the match ranging from 0.0 (completely uncertain) - to 1.0 (completely certain). - dialogflowIntentId: + The language code of this segment as a + [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + Example: "en-US". type: string - description: >- - The Dialogflow intent resource path. Format: - projects/{project}/agent/{agent}/intents/{intent} - GoogleCloudContactcenterinsightsV1alpha1DialogflowSource: + dialogflowSegmentMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata + description: CCAI metadata relating to the current transcript segment. + GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource: type: object - id: GoogleCloudContactcenterinsightsV1alpha1DialogflowSource - properties: - audioUri: - description: >- - Cloud Storage URI that points to a file that contains the - conversation audio. - type: string - dialogflowConversation: - readOnly: true - description: >- - Output only. The name of the Dialogflow conversation that this - conversation resource is derived from. Format: - projects/{project}/locations/{location}/conversations/{conversation} - type: string - description: A Dialogflow source of conversation data. - GoogleCloudContactcenterinsightsV1alpha1Conversation: - description: The conversation resource. + description: >- + A question may have multiple answers from varying sources, one of which + becomes the "main" answer above. AnswerSource represents each individual + answer. + id: GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource properties: - latestAnalysis: - readOnly: true + answerValue: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Analysis - description: Output only. The conversation's latest analysis, if one exists. - medium: - type: string - description: >- - Immutable. The conversation medium, if unspecified will default to - PHONE_CALL. + #/components/schemas/GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue + description: The answer value from this source. + sourceType: enumDescriptions: - - Default value, if unspecified will default to PHONE_CALL. - - The format for conversations that took place over the phone. - - The format for conversations that took place over chat. + - Source type is unspecified. + - Answer was system-generated; created during an Insights analysis. + - Answer was created by a human via manual edit. + description: What created the answer. enum: - - MEDIUM_UNSPECIFIED - - PHONE_CALL - - CHAT - qualityMetadata: - description: Conversation metadata related to quality management. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata - createTime: - description: Output only. The time at which the conversation was created. - readOnly: true - type: string - format: google-datetime - startTime: - description: The time at which the conversation started. - format: google-datetime - type: string - duration: - description: Output only. The duration of the conversation. - type: string - readOnly: true - format: google-duration - name: + - SOURCE_TYPE_UNSPECIFIED + - SYSTEM_GENERATED + - MANUAL_EDIT type: string + GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse: + type: object + properties: {} + id: GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse + description: The response to initialize a location-level encryption specification. + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice: + properties: + timeSeries: description: >- - Immutable. The resource name of the conversation. Format: - projects/{project}/locations/{location}/conversations/{conversation} - dataSource: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource - description: The source of the audio and transcription for the conversation. - transcript: - description: Output only. The conversation transcript. - readOnly: true + A time series of metric values. This is only populated if the + request specifies a time granularity other than NONE. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript - runtimeAnnotations: + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries + dimensions: type: array - description: >- - Output only. The annotations that were generated during the customer - and agent interaction. items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation - readOnly: true - agentId: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Dimension' + description: A unique combination of dimensions that this slice represents. + total: description: >- - An opaque, user-specified string representing the human agent who - handled the conversation. + The total metric value. The interval of this data point is [starting + create time, ending create time) from the request. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint + type: object + description: >- + A slice contains a total and (if the request specified a time + granularity) a time series of metric values. Each slice contains a + unique combination of the cardinality of dimensions from the request. + For example, if the request specifies a single ISSUE dimension and it + has a cardinality of 2 (i.e. the data used to compute the metrics has 2 + issues in total), the response will have 2 slices: * Slice 1 -> + dimensions=[Issue 1] * Slice 2 -> dimensions=[Issue 2] + id: GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice + GoogleCloudContactcenterinsightsV1ListViewsResponse: + id: GoogleCloudContactcenterinsightsV1ListViewsResponse + type: object + description: The response of listing views. + properties: + views: + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + description: The views that match the request. + type: array + nextPageToken: type: string - labels: description: >- - 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. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse: + type: object + id: GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse + description: Response for an export insights operation. + properties: {} + GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData: + description: Conversation summarization suggestion data. + type: object + id: >- + GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData + properties: + text: + description: The summarization content that is concatenated into one string. + type: string + metadata: additionalProperties: type: string + description: >- + A map that contains metadata about the summarization and the + document from which it originates. type: object - updateTime: + conversationModel: description: >- - Output only. The most recent time at which the conversation was - updated. - readOnly: true + The name of the model that generates this summary. Format: + projects/{project}/locations/{location}/conversationModels/{conversation_model} type: string - format: google-datetime - callMetadata: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata - description: Call-specific metadata. - metadataJson: + answerRecord: type: string description: >- - 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. - dialogflowIntents: + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + confidence: + type: number + format: float + description: The confidence score of the summarization. + textSections: + description: >- + The summarization content that is divided into sections. The key is + the section's name and the value is the section's content. There is + no specific format for the key or value. additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent + type: string type: object - description: >- - Output only. All the matched Dialogflow intents in the call. The key - corresponds to a Dialogflow intent, format: - projects/{project}/agent/{agent}/intents/{intent} - readOnly: true - expireTime: + GoogleCloudContactcenterinsightsV1QueryMetricsRequest: + type: object + description: The request for querying metrics. + id: GoogleCloudContactcenterinsightsV1QueryMetricsRequest + properties: + measureMask: type: string description: >- - The time at which this conversation should expire. After this time, - the conversation data and any associated analyses will be deleted. - format: google-datetime - ttl: - format: google-duration - type: string + Measures to return. Defaults to all measures if this field is + unspecified. A valid mask should traverse from the `measure` field + from the response. For example, a path from a measure mask to get + the conversation count is "conversation_measure.count". + format: google-fieldmask + timeGranularity: description: >- - Input only. The TTL for this resource. If specified, then this TTL - will be used to calculate the expire time. - obfuscatedUserId: - description: Obfuscated user ID which the customer sent to us. + The time granularity of each data point in the time series. Defaults + to NONE if this field is unspecified. + enumDescriptions: + - The time granularity is unspecified and will default to NONE. + - >- + No time granularity. The response won't contain a time series. + This is the default value if no time granularity is specified. + - >- + Data points in the time series will aggregate at a daily + granularity. 1 day means [midnight to midnight). + - >- + Data points in the time series will aggregate at a daily + granularity. 1 HOUR means [01:00 to 02:00). + - >- + Data points in the time series will aggregate at a daily + granularity. PER_MINUTE means [01:00 to 01:01). + - >- + Data points in the time series will aggregate at a 1 minute + granularity. PER_5_MINUTES means [01:00 to 01:05). + enum: + - TIME_GRANULARITY_UNSPECIFIED + - NONE + - DAILY + - HOURLY + - PER_MINUTE + - PER_5_MINUTES + type: string + dimensions: + type: array + description: >- + The dimensions that determine the grouping key for the query. + Defaults to no dimension if this field is unspecified. If a + dimension is specified, its key must also be specified. Each + dimension's key must be unique. If a time granularity is also + specified, metric values in the dimension will be bucketed by this + granularity. Up to one dimension is supported for now. + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Dimension' + filter: + description: >- + Required. Filter to select a subset of conversations to compute the + metrics. Must specify a window of the conversation create time to + compute the metrics. The returned metrics will be from the range + [DATE(starting create time), DATE(ending create time)). type: string - turnCount: - description: Output only. The number of turns in the conversation. - type: integer - readOnly: true - format: int32 - languageCode: - type: string - description: A user-specified language code for the conversation. - latestSummary: - readOnly: true - description: Output only. Latest summary of the conversation. + GoogleCloudContactcenterinsightsV1alpha1IssueMatchData: + type: object + properties: + issueAssignment: + description: Information about the issue's assignment. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData - id: GoogleCloudContactcenterinsightsV1alpha1Conversation + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueAssignment + id: GoogleCloudContactcenterinsightsV1alpha1IssueMatchData + description: The data for an issue match annotation. + GoogleCloudContactcenterinsightsV1QueryMetricsMetadata: type: object - GoogleCloudContactcenterinsightsV1ArticleSuggestionData: - id: GoogleCloudContactcenterinsightsV1ArticleSuggestionData + description: The metadata from querying metrics. + id: GoogleCloudContactcenterinsightsV1QueryMetricsMetadata + properties: {} + GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata: type: object + description: Conversation metadata related to quality management. + id: GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata properties: - source: + agentInfo: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo + description: Information about agents involved in the call. + customerSatisfactionRating: + type: integer + description: >- + An arbitrary integer value indicating the customer's satisfaction + rating. + format: int32 + menuPath: type: string description: >- - The knowledge document that this answer was extracted from. Format: - projects/{project}/knowledgeBases/{knowledge_base}/documents/{document} - metadata: - type: object - additionalProperties: - type: string + An arbitrary string value specifying the menu path the customer + took. + waitDuration: + format: google-duration + description: The amount of time the customer waited to connect with an agent. + type: string + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint: + description: A data point contains the metric values mapped to an interval. + properties: + interval: + $ref: '#/components/schemas/GoogleTypeInterval' description: >- - Map that contains metadata about the Article Suggestion and the - document that it originates from. - uri: - description: Article URI. + The interval that this data point represents. * If this is the total + data point, the interval is [starting create time, ending create + time) from the request. * If this a data point from the time series, + the interval is [time, time + time granularity from the request). + conversationMeasure: + description: The measure related to conversations. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure + type: object + id: GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint + GoogleCloudContactcenterinsightsV1HoldData: + description: The data for a hold annotation. + properties: {} + id: GoogleCloudContactcenterinsightsV1HoldData + type: object + GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata: + id: GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata + description: Metadata about the agent dimension. + properties: + agentTeam: + description: Optional. A user-specified string representing the agent's team. type: string - title: - description: Article title. + agentId: + description: Optional. A user-specified string representing the agent. type: string - queryRecord: + agentDisplayName: + description: Optional. The agent's name + type: string + type: object + GoogleCloudContactcenterinsightsV1IngestConversationsRequest: + description: The request to ingest conversations. + properties: + transcriptObjectConfig: + description: Configuration for when `source` contains conversation transcripts. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig + sampleSize: + type: integer description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} + Optional. If set, this fields indicates the number of objects to + ingest from the Cloud Storage bucket. If empty, the entire bucket + will be ingested. Unless they are first deleted, conversations + produced through sampling won't be ingested by subsequent ingest + requests. + format: int32 + redactionConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig + description: >- + Optional. DLP settings for transcript redaction. Optional, will + default to the config specified in Settings. + parent: type: string - confidenceScore: - format: float + description: Required. The parent resource for new conversations. + speechConfig: description: >- - The system's confidence score that this article is a good match for - this conversation, ranging from 0.0 (completely uncertain) to 1.0 - (completely certain). - type: number - description: Agent Assist Article Suggestion data. - GoogleCloudContactcenterinsightsV1ListIssueModelsResponse: - properties: - issueModels: - items: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel' - type: array - description: The issue models that match the request. + Optional. Default Speech-to-Text configuration. Optional, will + default to the config specified in Settings. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SpeechConfig' + gcsSource: + description: >- + A cloud storage bucket source. Note that any previously ingested + objects from the source will be skipped to avoid duplication. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource + conversationConfig: + description: Configuration that applies to all conversations. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig type: object - description: The response of listing issue models. - id: GoogleCloudContactcenterinsightsV1ListIssueModelsResponse - GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats: + id: GoogleCloudContactcenterinsightsV1IngestConversationsRequest + GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant: + description: The call participant speaking for a given utterance. + id: GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant properties: - displayName: + userId: type: string - description: Display name of the issue. - issue: + description: A user-specified ID representing the participant. + role: + enum: + - ROLE_UNSPECIFIED + - HUMAN_AGENT + - AUTOMATED_AGENT + - END_USER + - ANY_AGENT + description: The role of the participant. + enumDescriptions: + - Participant's role is not set. + - Participant is a human agent. + - Participant is an automated agent. + - Participant is an end user who conversed with the contact center. + - Participant is either a human or automated agent. type: string + dialogflowParticipant: description: >- - Issue resource. Format: - projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} - labeledConversationsCount: - format: int64 - description: Number of conversations attached to the issue at this point in time. + Deprecated. Use `dialogflow_participant_name` instead. The name of + the Dialogflow participant. Format: + projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} + deprecated: true type: string - id: GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats - description: Aggregated statistics about an issue. + dialogflowParticipantName: + description: >- + The name of the participant provided by Dialogflow. Format: + projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} + type: string + obfuscatedExternalUserId: + type: string + description: Obfuscated user ID from Dialogflow. + type: object + GoogleCloudContactcenterinsightsV1alpha1RedactionConfig: + id: GoogleCloudContactcenterinsightsV1alpha1RedactionConfig + description: >- + 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. type: object - GoogleCloudContactcenterinsightsV1ConversationCallMetadata: properties: - agentChannel: + inspectTemplate: + type: string + description: >- + The fully-qualified DLP inspect template resource name. Format: + `projects/{project}/locations/{location}/inspectTemplates/{template}` + deidentifyTemplate: + type: string + description: >- + The fully-qualified DLP deidentify template resource name. Format: + `projects/{project}/deidentifyTemplates/{template}` + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats: + description: Statistics for IngestConversations operation. + properties: + duplicatesSkippedCount: type: integer + description: >- + Output only. The number of objects skipped because another + conversation with the same transcript uri had already been ingested. format: int32 - description: The audio channel that contains the agent. - customerChannel: + readOnly: true + failedIngestCount: format: int32 type: integer - description: The audio channel that contains the customer. - id: GoogleCloudContactcenterinsightsV1ConversationCallMetadata - description: Call-specific metadata. - type: object - GoogleCloudContactcenterinsightsV1Intent: + readOnly: true + description: >- + Output only. The number of objects which were unable to be ingested + due to errors. The errors are populated in the partial_errors field. + successfulIngestCount: + description: >- + Output only. The number of new conversations added during this + ingest operation. + readOnly: true + format: int32 + type: integer + processedObjectCount: + type: integer + readOnly: true + format: int32 + description: >- + Output only. The number of objects processed during the ingest + operation. + id: >- + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats type: object + GoogleCloudContactcenterinsightsV1QueryMetricsResponse: properties: - id: + slices: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice + description: >- + A slice contains a total and (if the request specified a time + granularity) a time series of metric values. Each slice contains a + unique combination of the cardinality of dimensions from the + request. + macroAverageSlice: + description: >- + The macro average slice contains aggregated averages across the + selected dimension. i.e. if group_by agent is specified this field + will contain the average across all agents. This field is only + populated if the request specifies a Dimension. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice + updateTime: + description: The metrics last update time. + format: google-datetime type: string - description: The unique identifier of the intent. - displayName: - description: The human-readable name of the intent. + location: + description: >- + Required. The location of the data. + "projects/{project}/locations/{location}" type: string - id: GoogleCloudContactcenterinsightsV1Intent - description: >- - The data for an intent. Represents a detected intent in the - conversation, for example MAKES_PROMISE. - GoogleCloudContactcenterinsightsV1alpha1CallAnnotation: - id: GoogleCloudContactcenterinsightsV1alpha1CallAnnotation + type: object + description: The response for querying metrics. + id: GoogleCloudContactcenterinsightsV1QueryMetricsResponse + GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource: + description: Google Cloud Storage Object details to get the feedback label file from. type: object properties: - annotationEndBoundary: + format: + enum: + - FORMAT_UNSPECIFIED + - CSV + - JSON + type: string + description: Required. File format which will be ingested. + enumDescriptions: + - Unspecified format. + - CSV format. + - JSON format. + objectUri: description: >- - The boundary in the conversation where the annotation ends, - inclusive. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary - silenceData: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SilenceData - description: Data specifying silence. - annotationStartBoundary: - description: >- - The boundary in the conversation where the annotation starts, - inclusive. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary - holdData: - description: Data specifying a hold. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1HoldData - intentMatchData: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IntentMatchData - description: Data specifying an intent match. - sentimentData: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData - description: Data specifying sentiment. - interruptionData: - description: Data specifying an interruption. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1InterruptionData - issueMatchData: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueMatchData - description: Data specifying an issue match. - entityMentionData: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1EntityMentionData - description: Data specifying an entity mention. - phraseMatchData: - description: Data specifying a phrase match. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData - channelTag: - description: >- - The channel of the audio where the annotation occurs. For - single-channel audio, this field is not populated. - format: int32 - type: integer - description: A piece of metadata that applies to a window of a call. - GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData: - description: Agent Assist frequently-asked-question answer data. - properties: - answer: - description: The piece of text from the `source` knowledge base document. - type: string - queryRecord: - type: string - description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} - confidenceScore: - type: number - description: >- - The system's confidence score that this answer is a good match for - this conversation, ranging from 0.0 (completely uncertain) to 1.0 - (completely certain). - format: float - question: - type: string - description: The corresponding FAQ question. - metadata: - description: >- - Map that contains metadata about the FAQ answer and the document - that it originates from. - type: object - additionalProperties: - type: string - source: - description: >- - The knowledge document that this answer was extracted from. Format: - projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}. - type: string - type: object - id: GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData - GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination: - type: object - properties: - objectUri: - description: 'Required. Format: `gs:///`' + Required. The Google Cloud Storage URI of the file to import. + Format: `gs://bucket_name/object_name` type: string - description: Google Cloud Storage Object URI to save the issue model to. id: >- - GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination - GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsMetadata: - type: object - id: GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsMetadata - description: The metadata for a bulk delete conversations operation. + GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource + GoogleCloudContactcenterinsightsV1alpha1Dimension: properties: - request: + agentDimensionMetadata: + description: Output only. Metadata about the agent dimension. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest - description: The original request for bulk delete. - createTime: - description: The time the operation was created. - type: string - format: google-datetime - endTime: - format: google-datetime - description: The time the operation finished running. - type: string - partialErrors: - items: - $ref: '#/components/schemas/GoogleRpcStatus' - type: array - description: >- - Partial errors during bulk delete conversations operation that might - cause the operation output to be incomplete. - GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig: - properties: - trainingConversationsCount: - format: int64 - description: Output only. Number of conversations used in training. Output only. + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata readOnly: true - type: string - medium: + qaQuestionAnswerDimensionMetadata: + description: Output only. Metadata about the QA question-answer dimension. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata + readOnly: true + qaQuestionDimensionMetadata: + description: Output only. Metadata about the QA question dimension. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata + dimensionKey: enumDescriptions: - - Default value, if unspecified will default to PHONE_CALL. - - The format for conversations that took place over the phone. - - The format for conversations that took place over chat. + - The key of the dimension is unspecified. + - The dimension is keyed by issues. + - The dimension is keyed by agents. + - The dimension is keyed by agent teams. + - >- + The dimension is keyed by QaQuestionIds. Note that: We only group + by the QuestionId and not the revision-id of the scorecard this + question is a part of. This allows for showing stats for the same + question across different scorecard revisions. + - >- + The dimension is keyed by QaQuestionIds-Answer value pairs. Note + that: We only group by the QuestionId and not the revision-id of + the scorecard this question is a part of. This allows for showing + distribution of answers per question across different scorecard + revisions. + - The dimension is keyed by the conversation profile ID. type: string - deprecated: true enum: - - MEDIUM_UNSPECIFIED - - PHONE_CALL - - CHAT - description: >- - Medium of conversations used in training data. This field is being - deprecated. To specify the medium to be used in training a new issue - model, set the `medium` field on `filter`. - filter: - type: string - description: >- - A filter to reduce the conversations used for training the model to - a specific subset. - description: Configs for the input data used to create the issue model. + - DIMENSION_KEY_UNSPECIFIED + - ISSUE + - AGENT + - AGENT_TEAM + - QA_QUESTION_ID + - QA_QUESTION_ANSWER_VALUE + - CONVERSATION_PROFILE_ID + description: The key of the dimension. + issueDimensionMetadata: + readOnly: true + description: Output only. Metadata about the issue dimension. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata + id: GoogleCloudContactcenterinsightsV1alpha1Dimension type: object - id: GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig - GoogleCloudContactcenterinsightsV1FaqAnswerData: - id: GoogleCloudContactcenterinsightsV1FaqAnswerData + description: >- + A dimension determines the grouping key for the query. In SQL terms, + these would be part of both the "SELECT" and "GROUP BY" clauses. + GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsMetadata: + description: The metadata for a bulk analyze conversations operation. properties: - source: - type: string - description: >- - The knowledge document that this answer was extracted from. Format: - projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}. - confidenceScore: - format: float - type: number - description: >- - The system's confidence score that this answer is a good match for - this conversation, ranging from 0.0 (completely uncertain) to 1.0 - (completely certain). - metadata: - additionalProperties: - type: string - description: >- - Map that contains metadata about the FAQ answer and the document - that it originates from. - type: object - queryRecord: - type: string + totalRequestedAnalysesCount: description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} - question: - description: The corresponding FAQ question. - type: string - answer: - type: string - description: The piece of text from the `source` knowledge base document. - type: object - description: Agent Assist frequently-asked-question answer data. - GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest: - type: object - description: The request to analyze conversations in bulk. - properties: - annotatorSelector: + Total number of analyses requested. Computed by the number of + conversations returned by `filter` multiplied by + `analysis_percentage` in the request. + format: int32 + type: integer + request: + description: The original request for bulk analyze. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector - description: >- - To select the annotators to run and the phrase matchers to use (if - any). If not specified, all annotators will be run. - analysisPercentage: - description: >- - Required. Percentage of selected conversation to analyze, between - [0, 100]. - type: number - format: float - filter: - description: >- - Required. Filter used to select the subset of conversations to - analyze. - type: string - parent: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest + createTime: + description: The time the operation was created. type: string - description: Required. The parent resource to create analyses in. - id: GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest - GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse: - id: GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse - description: The response to initialize a location-level encryption specification. - properties: {} - type: object - GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata: - properties: + format: google-datetime completedAnalysesCount: format: int32 type: integer description: >- The number of requested analyses that have completed successfully so far. - totalRequestedAnalysesCount: - description: >- - Total number of analyses requested. Computed by the number of - conversations returned by `filter` multiplied by - `analysis_percentage` in the request. + failedAnalysesCount: + description: The number of requested analyses that have failed so far. format: int32 type: integer partialErrors: - readOnly: true + type: array items: $ref: '#/components/schemas/GoogleRpcStatus' + readOnly: true description: >- Output only. Partial errors during bulk analyze operation that might cause the operation output to be incomplete. - type: array - failedAnalysesCount: - description: The number of requested analyses that have failed so far. - format: int32 - type: integer - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest - description: The original request for bulk analyze. - createTime: - type: string - format: google-datetime - description: The time the operation was created. endTime: + description: The time the operation finished running. format: google-datetime type: string - description: The time the operation finished running. type: object - description: The metadata for a bulk analyze conversations operation. - id: GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata - GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant: - id: GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant + id: GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsMetadata + GoogleCloudContactcenterinsightsV1Dimension: + type: object + description: >- + A dimension determines the grouping key for the query. In SQL terms, + these would be part of both the "SELECT" and "GROUP BY" clauses. + id: GoogleCloudContactcenterinsightsV1Dimension properties: - dialogflowParticipantName: - description: >- - The name of the participant provided by Dialogflow. Format: - projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} + qaQuestionDimensionMetadata: + readOnly: true + description: Output only. Metadata about the QA question dimension. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata + issueDimensionMetadata: + readOnly: true + description: Output only. Metadata about the issue dimension. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata + dimensionKey: + description: The key of the dimension. type: string - role: enumDescriptions: - - Participant's role is not set. - - Participant is a human agent. - - Participant is an automated agent. - - Participant is an end user who conversed with the contact center. - - Participant is either a human or automated agent. + - The key of the dimension is unspecified. + - The dimension is keyed by issues. + - The dimension is keyed by agents. + - The dimension is keyed by agent teams. + - >- + The dimension is keyed by QaQuestionIds. Note that: We only group + by the QuestionId and not the revision-id of the scorecard this + question is a part of. This allows for showing stats for the same + question across different scorecard revisions. + - >- + The dimension is keyed by QaQuestionIds-Answer value pairs. Note + that: We only group by the QuestionId and not the revision-id of + the scorecard this question is a part of. This allows for showing + distribution of answers per question across different scorecard + revisions. + - The dimension is keyed by the conversation profile ID. enum: - - ROLE_UNSPECIFIED - - HUMAN_AGENT - - AUTOMATED_AGENT - - END_USER - - ANY_AGENT - description: The role of the participant. - type: string - obfuscatedExternalUserId: - description: Obfuscated user ID from Dialogflow. - type: string - userId: - type: string - description: A user-specified ID representing the participant. - dialogflowParticipant: - deprecated: true - type: string - description: >- - Deprecated. Use `dialogflow_participant_name` instead. The name of - the Dialogflow participant. Format: - projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} - description: The call participant speaking for a given utterance. - type: object - GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse: - id: GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse - description: The response for a bulk delete conversations operation. + - DIMENSION_KEY_UNSPECIFIED + - ISSUE + - AGENT + - AGENT_TEAM + - QA_QUESTION_ID + - QA_QUESTION_ANSWER_VALUE + - CONVERSATION_PROFILE_ID + qaQuestionAnswerDimensionMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata + description: Output only. Metadata about the QA question-answer dimension. + readOnly: true + agentDimensionMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata + readOnly: true + description: Output only. Metadata about the agent dimension. + GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment: + id: GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment + description: One channel of conversation-level sentiment data. type: object - properties: {} - GoogleCloudContactcenterinsightsV1alpha1SpeechConfig: - id: GoogleCloudContactcenterinsightsV1alpha1SpeechConfig + properties: + sentimentData: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData + description: Data specifying sentiment. + channelTag: + type: integer + description: The channel of the audio that the data applies to. + format: int32 + GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest: type: object + description: The request to export insights. + id: GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest properties: - speechRecognizer: + kmsKey: type: string description: >- - The fully-qualified Speech Recognizer resource name. Format: - `projects/{project_id}/locations/{location}/recognizer/{recognizer}` - description: >- - 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. - GoogleCloudContactcenterinsightsV1alpha1UploadConversationMetadata: - properties: - appliedRedactionConfig: - description: >- - Output only. The redaction config applied to the uploaded - conversation. - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RedactionConfig - request: + A fully qualified KMS key name for BigQuery tables protected by + CMEK. Format: + projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version} + bigQueryDestination: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest - readOnly: true - description: Output only. The original request. - createTime: + #/components/schemas/GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination + description: Specified if sink is a BigQuery table. + writeDisposition: type: string - description: Output only. The time the operation was created. - readOnly: true - format: google-datetime - analysisOperation: - readOnly: true + enumDescriptions: + - Write disposition is not specified. Defaults to WRITE_TRUNCATE. + - >- + If the table already exists, BigQuery will overwrite the table + data and use the schema from the load. + - >- + If the table already exists, BigQuery will append data to the + table. + description: Options for what to do if the destination table already exists. + enum: + - WRITE_DISPOSITION_UNSPECIFIED + - WRITE_TRUNCATE + - WRITE_APPEND + parent: + description: Required. The parent resource to export data from. + type: string + filter: description: >- - Output only. The operation name for a successfully created analysis - operation, if any. + A filter to reduce results to a specific subset. Useful for + exporting conversations with specific properties. type: string + GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata: + type: object + description: Metadata for creating an issue model. + id: GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata + properties: endTime: - readOnly: true + format: google-datetime description: Output only. The time the operation finished running. + readOnly: true type: string + createTime: + readOnly: true format: google-datetime - id: GoogleCloudContactcenterinsightsV1alpha1UploadConversationMetadata - description: The metadata for an `UploadConversation` operation. - type: object - GoogleCloudContactcenterinsightsV1DeployIssueModelResponse: - properties: {} - description: The response to deploy an issue model. - type: object - id: GoogleCloudContactcenterinsightsV1DeployIssueModelResponse - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource: - type: object + description: Output only. The time the operation was created. + type: string + request: + description: The original request for creation. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest + GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata: + description: Call-specific metadata created during analysis. properties: - customMetadataKeys: - description: >- - Optional. Custom keys to extract as conversation labels from - metadata files in `metadata_bucket_uri`. Keys not included in this - field will be ignored. Note that there is a limit of 20 labels per - conversation. + entities: + additionalProperties: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Entity' + description: All the entities in the call. + type: object + silence: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationLevelSilence + description: Overall conversation-level silence during the call. + phraseMatchers: + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchData + description: All the matched phrase matchers in the call. + annotations: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1CallAnnotation type: array + description: A list of call annotations that apply to this call. + qaScorecardResults: + description: Results of scoring QaScorecards. items: - type: string - metadataBucketUri: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardResult + type: array + issueModelResult: + description: Overall conversation-level issue modeling result. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelResult + sentiments: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationLevelSentiment + type: array + description: Overall conversation-level sentiment for each channel of the call. + intents: + description: All the matched intents in the call. + additionalProperties: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Intent' + type: object + type: object + id: GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata + GoogleCloudContactcenterinsightsV1alpha1IssueAssignment: + type: object + properties: + issue: + description: Resource name of the assigned issue. type: string + score: description: >- - Optional. The Cloud Storage path to the conversation metadata. Note - that: [1] Metadata files are expected to be in JSON format. [2] - Metadata and source files (transcripts or audio) must be in separate - buckets. [3] A source file and its corresponding metadata file must - share the same name to be properly ingested, E.g. - `gs://bucket/audio/conversation1.mp3` and - `gs://bucket/metadata/conversation1.json`. - bucketUri: - type: string - description: Required. The Cloud Storage bucket containing source objects. - bucketObjectType: + Score indicating the likelihood of the issue assignment. currently + bounded on [0,1]. + type: number + format: double + displayName: type: string - description: Optional. Specifies the type of the objects in `bucket_uri`. - enumDescriptions: - - The object type is unspecified and will default to `TRANSCRIPT`. - - The object is a transcript. - - The object is an audio file. - enum: - - BUCKET_OBJECT_TYPE_UNSPECIFIED - - TRANSCRIPT - - AUDIO - id: >- - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource - description: Configuration for Cloud Storage bucket sources. - GoogleCloudContactcenterinsightsV1alpha1HoldData: - type: object - properties: {} - id: GoogleCloudContactcenterinsightsV1alpha1HoldData - description: The data for a hold annotation. - GoogleCloudContactcenterinsightsV1PhraseMatcher: + description: >- + Immutable. Display name of the assigned issue. This field is set at + time of analyis and immutable since then. + description: Information about the issue. + id: GoogleCloudContactcenterinsightsV1alpha1IssueAssignment + GoogleCloudContactcenterinsightsV1alpha1QaAnswer: + id: GoogleCloudContactcenterinsightsV1alpha1QaAnswer type: object + description: An answer to a QaQuestion. properties: - phraseMatchRuleGroups: + answerValue: + description: The main answer value, incorporating any manual edits if they exist. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue + answerSources: type: array items: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup - description: A list of phase match rule groups that are included in this matcher. - name: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource + description: List of all individual answers given to the question. + questionBody: + description: Question text. E.g., "Did the agent greet the customer?" type: string - description: >- - The resource name of the phrase matcher. Format: - projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} - active: - description: Applies the phrase matcher only when it is active. - type: boolean - displayName: - description: The human-readable name of the phrase matcher. + qaQuestion: type: string - type: - description: Required. The type of this phrase matcher. - type: string - enum: - - PHRASE_MATCHER_TYPE_UNSPECIFIED - - ALL_OF - - ANY_OF - enumDescriptions: - - Unspecified. - - Must meet all phrase match rule groups or there is no match. - - If any of the phrase match rule groups are met, there is a match. - revisionCreateTime: - format: google-datetime - readOnly: true + description: The QaQuestion answered by this answer. + tags: + type: array + items: + type: string + description: >- + User-defined list of arbitrary tags. Matches the value from + QaScorecard.ScorecardQuestion.tags. Used for grouping/organization + and for weighting the score of each answer. + conversation: + description: The conversation the answer applies to. type: string + potentialScore: + format: double + deprecated: true + type: number description: >- - Output only. The timestamp of when the revision was created. It is - also the create time when a new matcher is added. - updateTime: - format: google-datetime - readOnly: true + The maximum potential score of the question. If the question was + answered using `na_value`, this field will be zero. Deprecated: Use + AnswerValue.potential_score instead. + GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata: + properties: + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest + description: The original request for undeployment. + createTime: type: string - description: >- - Output only. The most recent time at which the phrase matcher was - updated. - revisionId: + format: google-datetime + description: Output only. The time the operation was created. readOnly: true + endTime: + description: Output only. The time the operation finished running. + format: google-datetime type: string - description: >- - Output only. Immutable. The revision ID of the phrase matcher. A new - revision is committed whenever the matcher is changed, except when - it is activated or deactivated. A server generated random ID will be - used. Example: - locations/global/phraseMatchers/my-first-matcher@1234567 - versionTag: - description: >- - The customized version tag to use for the phrase matcher. If not - specified, it will default to `revision_id`. - type: string - activationUpdateTime: readOnly: true - format: google-datetime - description: >- - Output only. The most recent time at which the activation status was - updated. + type: object + description: Metadata for undeploying an issue model. + id: GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata + GoogleCloudContactcenterinsightsV1ExactMatchConfig: + type: object + description: Exact match configuration. + properties: + caseSensitive: + description: Whether to consider case sensitivity when performing an exact match. + type: boolean + id: GoogleCloudContactcenterinsightsV1ExactMatchConfig + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig: + type: object + properties: + medium: type: string - roleMatch: enum: - - ROLE_UNSPECIFIED - - HUMAN_AGENT - - AUTOMATED_AGENT - - END_USER - - ANY_AGENT + - MEDIUM_UNSPECIFIED + - PHONE_CALL + - CHAT enumDescriptions: - - Participant's role is not set. - - Participant is a human agent. - - Participant is an automated agent. - - Participant is an end user who conversed with the contact center. - - Participant is either a human or automated agent. - type: string - description: >- - The role whose utterances the phrase matcher should be matched - against. If the role is ROLE_UNSPECIFIED it will be matched against - any utterances in the transcript. - id: GoogleCloudContactcenterinsightsV1PhraseMatcher - description: The phrase matcher resource. - GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse: + - Default value, if unspecified will default to PHONE_CALL. + - The format for conversations that took place over the phone. + - The format for conversations that took place over chat. + description: Required. The medium transcript objects represent. + id: >- + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig + description: Configuration for processing transcript objects. + GoogleProtobufEmpty: + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type: object - id: GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse - description: The response to undeploy an issue model. - properties: {} - GoogleCloudContactcenterinsightsV1HoldData: + id: GoogleProtobufEmpty properties: {} + GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata: type: object - id: GoogleCloudContactcenterinsightsV1HoldData - description: The data for a hold annotation. - GoogleCloudContactcenterinsightsV1alpha1RedactionConfig: properties: - deidentifyTemplate: + questionBody: type: string - description: >- - The fully-qualified DLP deidentify template resource name. Format: - `projects/{project}/deidentifyTemplates/{template}` - inspectTemplate: - description: >- - The fully-qualified DLP inspect template resource name. Format: - `projects/{project}/locations/{location}/inspectTemplates/{template}` + description: Optional. The full body of the question. + answerValue: + description: Optional. The full body of the question. + type: string + qaScorecardId: + type: string + description: Optional. The QA scorecard ID. + qaQuestionId: + description: Optional. The QA question ID. type: string + id: >- + GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata description: >- - 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. - id: GoogleCloudContactcenterinsightsV1alpha1RedactionConfig + Metadata about the QA question-answer dimension. This is useful for + showing the answer distribution for questions for a given scorecard. + GoogleCloudContactcenterinsightsV1alpha1InterruptionData: type: object - GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment: - description: A segment of a full transcript. + description: The data for an interruption annotation. + id: GoogleCloudContactcenterinsightsV1alpha1InterruptionData + properties: {} + GoogleCloudContactcenterinsightsV1IssueModel: + id: GoogleCloudContactcenterinsightsV1IssueModel properties: - sentiment: - description: The sentiment for this transcript segment. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' - channelTag: - description: >- - For conversations derived from multi-channel audio, this is the - channel number corresponding to the audio from that channel. For - audioChannelCount = N, its output values can range from '1' to 'N'. - A channel tag of 0 indicates that the audio is mono. - type: integer - format: int32 - dialogflowSegmentMetadata: - description: CCAI metadata relating to the current transcript segment. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata - text: + state: + enum: + - STATE_UNSPECIFIED + - UNDEPLOYED + - DEPLOYING + - DEPLOYED + - UNDEPLOYING + - DELETING + readOnly: true + enumDescriptions: + - Unspecified. + - Model is not deployed but is ready to deploy. + - Model is being deployed. + - >- + Model is deployed and is ready to be used. A model can only be + used in analysis if it's in this state. + - Model is being undeployed. + - Model is being deleted. + description: Output only. State of the model. type: string - description: The text of this segment. - segmentParticipant: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationParticipant - description: The participant of this segment. + issueCount: + type: string + readOnly: true + description: Output only. Number of issues in this issue model. + format: int64 + modelType: + description: Type of the model. + enumDescriptions: + - Unspecified model type. + - Type V1. + - Type V2. + enum: + - MODEL_TYPE_UNSPECIFIED + - TYPE_V1 + - TYPE_V2 + type: string + displayName: + type: string + description: The representative name for the issue model. languageCode: - description: >- - The language code of this segment as a - [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. - Example: "en-US". + description: Language of the model. type: string - words: + inputDataConfig: + description: Configs for the input data that used to create the issue model. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig + updateTime: + format: google-datetime + type: string + readOnly: true description: >- - A list of the word-specific information for each word in the - segment. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo - confidence: - format: float - type: number + Output only. The most recent time at which the issue model was + updated. + trainingStats: description: >- - A confidence estimate between 0.0 and 1.0 of the fidelity of this - segment. A default value of 0.0 indicates that the value is unset. - messageTime: + Output only. Immutable. The issue model's label statistics on its + training data. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStats + readOnly: true + createTime: + readOnly: true format: google-datetime type: string - description: The time that the message occurred, if provided. - type: object - id: >- - GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment - GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata: - description: Metadata for deleting an issue model. - id: GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata + description: Output only. The time at which this issue model was created. + name: + type: string + description: >- + Immutable. The resource name of the issue model. Format: + projects/{project}/locations/{location}/issueModels/{issue_model} + description: The issue model resource. type: object + GoogleCloudContactcenterinsightsV1QaScorecardResult: + id: GoogleCloudContactcenterinsightsV1QaScorecardResult + description: >- + The results of scoring a single conversation against a QaScorecard. + Contains a collection of QaAnswers and aggregate score. properties: createTime: readOnly: true + description: Output only. The timestamp that the revision was created. type: string format: google-datetime - description: Output only. The time the operation was created. - request: - description: The original request for deletion. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest - endTime: - format: google-datetime - readOnly: true - description: Output only. The time the operation finished running. + scoreSources: + description: List of all individual score sets. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource + conversation: type: string - GoogleCloudContactcenterinsightsV1ImportIssueModelResponse: - description: Response from import issue model - properties: {} - id: GoogleCloudContactcenterinsightsV1ImportIssueModelResponse + description: The conversation scored by this result. + name: + description: >- + Identifier. The name of the scorecard result. Format: + projects/{project}/locations/{location}/qaScorecardResults/{qa_scorecard_result} + type: string + qaScorecardRevision: + description: The QaScorecardRevision scored by this result. + type: string + qaTagResults: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult + type: array + description: Collection of tags and their scores. + score: + type: number + description: >- + The overall numerical score of the result, incorporating any manual + edits if they exist. + format: double + agentId: + description: ID of the agent that handled the conversation. + type: string + normalizedScore: + format: double + type: number + description: >- + The normalized score, which is the score divided by the potential + score. Any manual edits are included if they exist. + potentialScore: + type: number + format: double + description: >- + The maximum potential overall score of the scorecard. Any questions + answered using `na_value` are excluded from this calculation. + qaAnswers: + type: array + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1QaAnswer' + description: Set of QaAnswers represented in the result. type: object - GoogleCloudContactcenterinsightsV1alpha1InterruptionData: + GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse: + id: GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse + type: object + description: The response for a bulk delete conversations operation. properties: {} - description: The data for an interruption annotation. - id: GoogleCloudContactcenterinsightsV1alpha1InterruptionData + GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse: + description: The response for listing all feedback labels. + properties: + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + feedbackLabels: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + description: The feedback labels that match the request. + type: array type: object - GoogleCloudContactcenterinsightsV1ExportIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse + GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig: properties: - name: - description: Required. The issue model to export. + filter: type: string - gcsDestination: - description: Google Cloud Storage URI to export the issue model to. + description: >- + A filter to reduce the conversations used for training the model to + a specific subset. + medium: + type: string + enum: + - MEDIUM_UNSPECIFIED + - PHONE_CALL + - CHAT + enumDescriptions: + - Default value, if unspecified will default to PHONE_CALL. + - The format for conversations that took place over the phone. + - The format for conversations that took place over chat. + deprecated: true + description: >- + Medium of conversations used in training data. This field is being + deprecated. To specify the medium to be used in training a new issue + model, set the `medium` field on `filter`. + trainingConversationsCount: + description: Output only. Number of conversations used in training. Output only. + readOnly: true + type: string + format: int64 + type: object + description: Configs for the input data used to create the issue model. + id: GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig + GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata: + properties: + request: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination - id: GoogleCloudContactcenterinsightsV1ExportIssueModelRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest + description: The original request for undeployment. + endTime: + format: google-datetime + description: Output only. The time the operation finished running. + readOnly: true + type: string + createTime: + type: string + description: Output only. The time the operation was created. + readOnly: true + format: google-datetime + id: GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata type: object + description: Metadata for undeploying an issue model. + GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest: description: Request to export an issue model. - GoogleCloudContactcenterinsightsV1IssueMatchData: - id: GoogleCloudContactcenterinsightsV1IssueMatchData type: object - description: The data for an issue match annotation. + id: GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest properties: - issueAssignment: - description: Information about the issue's assignment. + gcsDestination: + description: Google Cloud Storage URI to export the issue model to. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueAssignment - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest: - properties: - sampleSize: - type: integer - format: int32 + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination + name: + description: Required. The issue model to export. + type: string + GoogleIamV1AuditLogConfig: + type: object + description: >- + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. + id: GoogleIamV1AuditLogConfig + properties: + exemptedMembers: + type: array + items: + type: string description: >- - Optional. If set, this fields indicates the number of objects to - ingest from the Cloud Storage bucket. If empty, the entire bucket - will be ingested. Unless they are first deleted, conversations - produced through sampling won't be ingested by subsequent ingest - requests. - redactionConfig: + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. + logType: + description: The log type that this config enables. + type: string + enum: + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ + enumDescriptions: + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' + GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData: + description: Agent Assist frequently-asked-question answer data. + properties: + answer: + description: The piece of text from the `source` knowledge base document. + type: string + confidenceScore: + format: float description: >- - Optional. DLP settings for transcript redaction. Optional, will - default to the config specified in Settings. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RedactionConfig - speechConfig: + The system's confidence score that this answer is a good match for + this conversation, ranging from 0.0 (completely uncertain) to 1.0 + (completely certain). + type: number + source: + type: string description: >- - Optional. Default Speech-to-Text configuration. Optional, will - default to the config specified in Settings. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SpeechConfig - parent: + The knowledge document that this answer was extracted from. Format: + projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}. + queryRecord: type: string - description: Required. The parent resource for new conversations. - transcriptObjectConfig: - description: Configuration for when `source` contains conversation transcripts. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig - gcsSource: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource description: >- - A cloud storage bucket source. Note that any previously ingested - objects from the source will be skipped to avoid duplication. - conversationConfig: - description: Configuration that applies to all conversations. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig - description: The request to ingest conversations. + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + metadata: + type: object + description: >- + Map that contains metadata about the FAQ answer and the document + that it originates from. + additionalProperties: + type: string + question: + description: The corresponding FAQ question. + type: string + id: GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData type: object - id: GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest - GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource: + GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest + properties: + name: + type: string + description: Required. The issue model to undeploy. + type: object + description: The request to undeploy an issue model. + GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest type: object + description: The request to undeploy an issue model. properties: - objectUri: + name: type: string - description: 'Required. Format: `gs:///`' - id: GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource - description: Google Cloud Storage Object URI to get the issue model file from. - GoogleCloudContactcenterinsightsV1IssueAssignment: - id: GoogleCloudContactcenterinsightsV1IssueAssignment - description: Information about the issue. + description: Required. The issue model to undeploy. + GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData: + description: >- + The data for a matched phrase matcher. Represents information + identifying a phrase matcher for a given match. properties: - score: - description: >- - Score indicating the likelihood of the issue assignment. currently - bounded on [0,1]. - format: double - type: number - displayName: + phraseMatcher: + description: The unique identifier (the resource name) of the phrase matcher. type: string - description: >- - Immutable. Display name of the assigned issue. This field is set at - time of analyis and immutable since then. - issue: - description: Resource name of the assigned issue. + displayName: type: string + description: The human-readable name of the phrase matcher. + id: GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData type: object - GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo: - type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo + GoogleTypeExpr: properties: - team: - description: A user-specified string representing the agent's team. + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. type: string - agentId: - description: A user-specified string representing the agent. + expression: type: string - dispositionCode: description: >- - A user-provided string indicating the outcome of the agent's segment - of the call. + Textual representation of an expression in Common Expression + Language syntax. + title: type: string - displayName: - description: The agent's name. + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + location: type: string - description: Information about an agent involved in the conversation. - GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelResponse: + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + id: GoogleTypeExpr type: object - properties: {} - description: Response from export issue model - id: GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelResponse - GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse: - description: The response for a bulk analyze conversations operation. - id: GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata: + id: >- + GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata type: object properties: - failedAnalysisCount: - type: integer - format: int32 - description: Count of failed analyses. - successfulAnalysisCount: - description: Count of successful analyses. - format: int32 - type: integer - GoogleCloudContactcenterinsightsV1InterruptionData: - properties: {} - description: The data for an interruption annotation. - type: object - id: GoogleCloudContactcenterinsightsV1InterruptionData - GoogleCloudContactcenterinsightsV1alpha1Intent: - type: object - id: GoogleCloudContactcenterinsightsV1alpha1Intent - properties: - displayName: - description: The human-readable name of the intent. - type: string - id: - type: string - description: The unique identifier of the intent. - description: >- - The data for an intent. Represents a detected intent in the - conversation, for example MAKES_PROMISE. - GoogleCloudContactcenterinsightsV1alpha1IntentMatchData: - id: GoogleCloudContactcenterinsightsV1alpha1IntentMatchData - description: >- - The data for an intent match. Represents an intent match for a text - segment in the conversation. A text segment can be part of a sentence, a - complete sentence, or an utterance with multiple sentences. - type: object - properties: - intentUniqueId: - type: string - description: >- - The id of the matched intent. Can be used to retrieve the - corresponding intent information. - GoogleCloudContactcenterinsightsV1DeployIssueModelRequest: - type: object - description: The request to deploy an issue model. - properties: - name: - description: Required. The issue model to deploy. - type: string - id: GoogleCloudContactcenterinsightsV1DeployIssueModelRequest - GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats: - description: Aggregated statistics about an issue. - type: object - id: GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats - properties: - displayName: + qaScorecardId: + description: Optional. The QA scorecard ID. type: string - description: Display name of the issue. - labeledConversationsCount: + questionBody: type: string - description: Number of conversations attached to the issue at this point in time. - format: int64 - issue: + description: Optional. The full body of the question. + qaQuestionId: type: string - description: >- - Issue resource. Format: - projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + description: Optional. The QA question ID. + description: Metadata about the QA question dimension. GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup: - description: A message representing a rule in the phrase matcher. id: GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup properties: - phraseMatchRules: - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchRule - type: array - description: A list of phrase match rules that are included in this group. type: - description: Required. The type of this phrase match rule group. enumDescriptions: - Unspecified. - Must meet all phrase match rules or there is no match. @@ -1278,1512 +1530,1862 @@ components: - ALL_OF - ANY_OF type: string - type: object - GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata: - description: Call-specific metadata created during analysis. - type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata - properties: - annotations: - description: A list of call annotations that apply to this call. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1CallAnnotation - intents: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Intent - description: All the matched intents in the call. - type: object - entities: - description: All the entities in the call. - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Entity - type: object - sentiments: + description: Required. The type of this phrase match rule group. + phraseMatchRules: + description: A list of phrase match rules that are included in this group. type: array - description: Overall conversation-level sentiment for each channel of the call. items: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment - phraseMatchers: - description: All the matched phrase matchers in the call. - type: object - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData - silence: - description: Overall conversation-level silence during the call. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence - issueModelResult: + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchRule + description: A message representing a rule in the phrase matcher. + type: object + GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata: + id: GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata + type: object + description: Metadata for a create analysis operation. + properties: + endTime: + readOnly: true + format: google-datetime + type: string + description: Output only. The time the operation finished running. + createTime: + type: string + readOnly: true + format: google-datetime + description: Output only. The time the operation was created. + conversation: + type: string + readOnly: true + description: >- + Output only. The Conversation that this Analysis Operation belongs + to. + annotatorSelector: + readOnly: true + description: Output only. The annotator selector used for the analysis (if any). $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelResult - description: Overall conversation-level issue modeling result. - GoogleCloudContactcenterinsightsV1RedactionConfig: - description: >- - 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. - id: GoogleCloudContactcenterinsightsV1RedactionConfig + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest: type: object + id: GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest + description: Request for the BulkDownloadFeedbackLabel endpoint. properties: - deidentifyTemplate: + gcsDestination: + description: A cloud storage bucket destination. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination + parent: + type: string + description: Required. The parent resource for new feedback labels. + feedbackLabelType: + enum: + - FEEDBACK_LABEL_TYPE_UNSPECIFIED + - QUALITY_AI + - TOPIC_MODELING + description: Optional. The type of feedback labels that will be downloaded. + type: string + enumDescriptions: + - Unspecified format + - >- + Downloaded file will contain all Quality AI labels from the latest + scorecard revision. + - Downloaded file will contain only Topic Modeling labels. + templateQaScorecardId: + description: >- + Optional. If set, a template for labeling conversations and + scorecard questions will be created from the conversation_filter and + the questions under the scorecard(s). The feedback label `filter` + will be ignored. + items: + type: string + type: array + conversationFilter: description: >- - The fully-qualified DLP deidentify template resource name. Format: - `projects/{project}/deidentifyTemplates/{template}` + Optional. Filter parent conversations to download feedback labels + for. When specified, the feedback labels will be downloaded for the + conversations that match the filter. If `template_qa_scorecard_id` + is set, all the conversations that match the filter will be paired + with the questions under the scorecard for labeling. type: string - inspectTemplate: + filter: + description: >- + Optional. A filter to reduce results to a specific subset. Supports + disjunctions (OR) and conjunctions (AND). Supported fields: * + `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * + `min_create_time` * `max_create_time` * `min_update_time` * + `max_update_time` * `feedback_label_type`: QUALITY_AI, + TOPIC_MODELING type: string + maxDownloadCount: + format: int32 description: >- - The fully-qualified DLP inspect template resource name. Format: - `projects/{project}/locations/{location}/inspectTemplates/{template}` - GoogleCloudContactcenterinsightsV1alpha1IssueModel: + Optional. Limits the maximum number of feedback labels that will be + downloaded. The first `N` feedback labels will be downloaded. + type: integer + GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest: + description: The request to delete conversations in bulk. + id: GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest properties: - name: - type: string + force: description: >- - Immutable. The resource name of the issue model. Format: - projects/{project}/locations/{location}/issueModels/{issue_model} - updateTime: + If set to true, all of this conversation's analyses will also be + deleted. Otherwise, the request will only succeed if the + conversation has no analyses. + type: boolean + maxDeleteCount: + type: integer + description: Maximum number of conversations to delete. + format: int32 + parent: + description: >- + Required. The parent resource to delete conversations from. Format: + projects/{project}/locations/{location} + type: string + filter: type: string + description: Filter used to select the subset of conversations to delete. + type: object + GoogleCloudContactcenterinsightsV1InterruptionData: + id: GoogleCloudContactcenterinsightsV1InterruptionData + type: object + description: The data for an interruption annotation. + properties: {} + GoogleCloudContactcenterinsightsV1UploadConversationMetadata: + properties: + appliedRedactionConfig: readOnly: true description: >- - Output only. The most recent time at which the issue model was - updated. - format: google-datetime - trainingStats: + Output only. The redaction config applied to the uploaded + conversation. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats - readOnly: true + #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig + analysisOperation: + type: string description: >- - Output only. Immutable. The issue model's label statistics on its - training data. + Output only. The operation name for a successfully created analysis + operation, if any. + readOnly: true createTime: - format: google-datetime readOnly: true - description: Output only. The time at which this issue model was created. - type: string - languageCode: + description: Output only. The time the operation was created. + format: google-datetime type: string - description: Language of the model. - state: - enum: - - STATE_UNSPECIFIED - - UNDEPLOYED - - DEPLOYING - - DEPLOYED - - UNDEPLOYING - - DELETING - enumDescriptions: - - Unspecified. - - Model is not deployed but is ready to deploy. - - Model is being deployed. - - >- - Model is deployed and is ready to be used. A model can only be - used in analysis if it's in this state. - - Model is being undeployed. - - Model is being deleted. + request: readOnly: true + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1UploadConversationRequest + description: Output only. The original request. + endTime: type: string - description: Output only. State of the model. - issueCount: readOnly: true - type: string - description: Output only. Number of issues in this issue model. - format: int64 - inputDataConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig - description: Configs for the input data that used to create the issue model. - displayName: - type: string - description: The representative name for the issue model. - modelType: - enumDescriptions: - - Unspecified model type. - - Type V1. - - Type V2. - enum: - - MODEL_TYPE_UNSPECIFIED - - TYPE_V1 - - TYPE_V2 - description: Type of the model. - type: string - description: The issue model resource. + description: Output only. The time the operation finished running. + format: google-datetime + id: GoogleCloudContactcenterinsightsV1UploadConversationMetadata type: object - id: GoogleCloudContactcenterinsightsV1alpha1IssueModel - GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata: - description: Conversation metadata related to quality management. + description: The metadata for an `UploadConversation` operation. + GoogleCloudContactcenterinsightsV1AnnotationBoundary: + id: GoogleCloudContactcenterinsightsV1AnnotationBoundary + type: object + description: >- + A point in a conversation that marks the start or the end of an + annotation. properties: - waitDuration: - type: string - format: google-duration - description: The amount of time the customer waited to connect with an agent. - agentInfo: - type: array - description: Information about agents involved in the call. - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo - customerSatisfactionRating: + wordIndex: type: integer format: int32 description: >- - An arbitrary integer value indicating the customer's satisfaction - rating. - menuPath: - type: string + The word index of this boundary with respect to the first word in + the transcript piece. This index starts at zero. + transcriptIndex: + format: int32 description: >- - An arbitrary string value specifying the menu path the customer - took. - type: object - id: GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata - GoogleCloudContactcenterinsightsV1SmartReplyData: + The index in the sequence of transcribed pieces of the conversation + where the boundary is located. This index starts at zero. + type: integer + GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo: type: object - id: GoogleCloudContactcenterinsightsV1SmartReplyData properties: - metadata: - additionalProperties: - type: string - description: >- - Map that contains metadata about the Smart Reply and the document - from which it originates. - type: object - reply: - description: The content of the reply. - type: string - confidenceScore: - format: double - type: number - description: >- - The system's confidence score that this reply is a good match for - this conversation, ranging from 0.0 (completely uncertain) to 1.0 - (completely certain). - queryRecord: - description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} + displayName: type: string - description: Agent Assist Smart Reply data. - GoogleCloudContactcenterinsightsV1IngestConversationsRequest: - type: object - description: The request to ingest conversations. - properties: - redactionConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig - description: >- - Optional. DLP settings for transcript redaction. Optional, will - default to the config specified in Settings. - parent: - description: Required. The parent resource for new conversations. + description: The agent's name. + team: type: string - gcsSource: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource - description: >- - A cloud storage bucket source. Note that any previously ingested - objects from the source will be skipped to avoid duplication. - speechConfig: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SpeechConfig' - description: >- - Optional. Default Speech-to-Text configuration. Optional, will - default to the config specified in Settings. - sampleSize: - type: integer - description: >- - Optional. If set, this fields indicates the number of objects to - ingest from the Cloud Storage bucket. If empty, the entire bucket - will be ingested. Unless they are first deleted, conversations - produced through sampling won't be ingested by subsequent ingest - requests. - format: int32 - conversationConfig: - description: Configuration that applies to all conversations. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig - transcriptObjectConfig: - description: Configuration for when `source` contains conversation transcripts. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig - id: GoogleCloudContactcenterinsightsV1IngestConversationsRequest - GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData: - properties: - confidence: - description: The confidence score of the summarization. - format: float - type: number - metadata: - description: >- - A map that contains metadata about the summarization and the - document from which it originates. - type: object - additionalProperties: - type: string - textSections: - additionalProperties: - type: string - description: >- - The summarization content that is divided into sections. The key is - the section's name and the value is the section's content. There is - no specific format for the key or value. - type: object - conversationModel: + description: A user-specified string representing the agent's team. + agentId: type: string + description: A user-specified string representing the agent. + dispositionCode: description: >- - The name of the model that generates this summary. Format: - projects/{project}/locations/{location}/conversationModels/{conversation_model} - text: - description: The summarization content that is concatenated into one string. - type: string - answerRecord: + A user-provided string indicating the outcome of the agent's segment + of the call. type: string - description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} - type: object id: >- - GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData - description: Conversation summarization suggestion data. - GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource: + GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadataAgentInfo + description: Information about an agent involved in the conversation. + GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource: type: object + id: GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource properties: - customMetadataKeys: - items: - type: string - type: array - description: >- - Optional. Custom keys to extract as conversation labels from - metadata files in `metadata_bucket_uri`. Keys not included in this - field will be ignored. Note that there is a limit of 20 labels per - conversation. - metadataBucketUri: - description: >- - Optional. The Cloud Storage path to the conversation metadata. Note - that: [1] Metadata files are expected to be in JSON format. [2] - Metadata and source files (transcripts or audio) must be in separate - buckets. [3] A source file and its corresponding metadata file must - share the same name to be properly ingested, E.g. - `gs://bucket/audio/conversation1.mp3` and - `gs://bucket/metadata/conversation1.json`. - type: string - bucketObjectType: - enumDescriptions: - - The object type is unspecified and will default to `TRANSCRIPT`. - - The object is a transcript. - - The object is an audio file. + sourceType: type: string enum: - - BUCKET_OBJECT_TYPE_UNSPECIFIED - - TRANSCRIPT - - AUDIO - description: Optional. Specifies the type of the objects in `bucket_uri`. - bucketUri: - description: Required. The Cloud Storage bucket containing source objects. + - SOURCE_TYPE_UNSPECIFIED + - SYSTEM_GENERATED + - MANUAL_EDIT + enumDescriptions: + - Source type is unspecified. + - Answer was system-generated; created during an Insights analysis. + - Answer was created by a human via manual edit. + description: What created the answer. + answerValue: + description: The answer value from this source. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue + description: >- + A question may have multiple answers from varying sources, one of which + becomes the "main" answer above. AnswerSource represents each individual + answer. + GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest: + description: The request to delete an issue model. + properties: + name: + description: Required. The name of the issue model to delete. type: string - id: GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource - description: Configuration for Cloud Storage bucket sources. - GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse: - properties: {} - description: Response from import issue model - id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse type: object - GoogleCloudContactcenterinsightsV1DialogflowIntent: + id: GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest + GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse: + description: The response of listing phrase matchers. + id: GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse type: object properties: - displayName: + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - description: The human-readable name of the intent. - id: GoogleCloudContactcenterinsightsV1DialogflowIntent + phraseMatchers: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + type: array + description: The phrase matchers that match the request. + GoogleCloudContactcenterinsightsV1DeployIssueModelResponse: + properties: {} + id: GoogleCloudContactcenterinsightsV1DeployIssueModelResponse + description: The response to deploy an issue model. + type: object + GoogleCloudContactcenterinsightsV1AnswerFeedback: description: >- - The data for a Dialogflow intent. Represents a detected intent in the - conversation, e.g. MAKES_PROMISE. - GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo: + The feedback that the customer has about a certain answer in the + conversation. type: object properties: - endOffset: - description: >- - Time offset of the end of this word relative to the beginning of the - total conversation. - type: string - format: google-duration - startOffset: - type: string - format: google-duration - description: >- - Time offset of the start of this word relative to the beginning of - the total conversation. - confidence: - format: float + clicked: + description: Indicates whether an answer or item was clicked by the human agent. + type: boolean + correctnessLevel: + enumDescriptions: + - Correctness level unspecified. + - Answer is totally wrong. + - Answer is partially correct. + - Answer is fully correct. + description: The correctness level of an answer. + type: string + enum: + - CORRECTNESS_LEVEL_UNSPECIFIED + - NOT_CORRECT + - PARTIALLY_CORRECT + - FULLY_CORRECT + displayed: description: >- - A confidence estimate between 0.0 and 1.0 of the fidelity of this - word. A default value of 0.0 indicates that the value is unset. - type: number - word: + Indicates whether an answer or item was displayed to the human agent + in the agent desktop UI. + type: boolean + id: GoogleCloudContactcenterinsightsV1AnswerFeedback + GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse: + type: object + properties: + nextPageToken: type: string - description: The word itself. Includes punctuation marks that surround the word. - id: >- - GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo - description: Word-level info for words in a transcript. - GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata: - description: Metadata for an export insights operation. - id: GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata + description: The next page token. + feedbackLabels: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel + description: The feedback labels that match the request. + type: array + description: The response for listing feedback labels. + id: GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse + GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse: + properties: + qaScorecardRevisions: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardRevision + type: array + description: The QaScorecards under the parent. + nextPageToken: + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + type: object + description: The response from a ListQaScorecardRevisions request. + id: GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse + GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata: properties: createTime: + format: google-datetime readOnly: true type: string - format: google-datetime description: Output only. The time the operation was created. - partialErrors: - items: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Partial errors during export operation that might cause the - operation output to be incomplete. - type: array - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest - description: The original request for export. endTime: - type: string - format: google-datetime readOnly: true + format: google-datetime + type: string description: Output only. The time the operation finished running. + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest + description: The original request for deletion. + id: GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata + description: Metadata for deleting an issue model. type: object - GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence: - id: GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence + GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata: type: object + id: GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata properties: - silencePercentage: - type: number - format: float - description: Percentage of the total conversation spent in silence. - silenceDuration: - format: google-duration - description: Amount of time calculated to be in silence. - type: string - description: Conversation-level silence data. - GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput: - description: Explicit input used for generating the answer - properties: - querySource: - enum: - - QUERY_SOURCE_UNSPECIFIED - - AGENT_QUERY - - SUGGESTED_QUERY - enumDescriptions: - - Unknown query source. - - The query is from agents. - - >- - The query is a query from previous suggestions, e.g. from a - preceding SuggestKnowledgeAssist response. + createTime: type: string - description: Query source for the answer. - query: + description: The time the operation was created. + format: google-datetime + failedAnalysesCount: + type: integer + description: The number of requested analyses that have failed so far. + format: int32 + endTime: + format: google-datetime + description: The time the operation finished running. type: string + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest + description: The original request for bulk analyze. + totalRequestedAnalysesCount: description: >- - Query text. Article Search uses this to store the input query used - to generate the search results. - generatorName: + Total number of analyses requested. Computed by the number of + conversations returned by `filter` multiplied by + `analysis_percentage` in the request. + type: integer + format: int32 + partialErrors: + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' description: >- - The resource name of associated generator. Format: - `projects//locations//generators/` - type: string - type: object - id: GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput - GoogleCloudContactcenterinsightsV1EncryptionSpec: + Output only. Partial errors during bulk analyze operation that might + cause the operation output to be incomplete. + readOnly: true + completedAnalysesCount: + type: integer + format: int32 + description: >- + The number of requested analyses that have completed successfully so + far. + description: The metadata for a bulk analyze conversations operation. + GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource: + description: >- + A scorecard result may have multiple sets of scores from varying + sources, one of which becomes the "main" answer above. A ScoreSource + represents each individual set of scores. + id: GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource properties: - kmsKey: - type: string + normalizedScore: description: >- - 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}` - name: + The normalized score, which is the score divided by the potential + score. + format: double + type: number + score: + description: The overall numerical score of the result. + type: number + format: double + qaTagResults: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult + description: Collection of tags and their scores. + type: array + sourceType: + description: What created the score. type: string + enumDescriptions: + - Source type is unspecified. + - Score is derived only from system-generated answers. + - >- + Score is derived from both system-generated answers, and includes + any manual edits if they exist. + enum: + - SOURCE_TYPE_UNSPECIFIED + - SYSTEM_GENERATED_ONLY + - INCLUDES_MANUAL_EDITS + potentialScore: + type: number + format: double description: >- - Immutable. The resource name of the encryption key specification - resource. Format: - projects/{project}/locations/{location}/encryptionSpec - description: >- - A customer-managed encryption key specification that can be applied to - all created resources (e.g. Conversation). - id: GoogleCloudContactcenterinsightsV1EncryptionSpec - type: object - GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo: + The maximum potential overall score of the scorecard. Any questions + answered using `na_value` are excluded from this calculation. type: object - id: GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure: properties: - agentId: - type: string - description: A user-specified string representing the agent. - displayName: + averageClientSentimentScore: + format: float + type: number + description: The average client's sentiment score. + averageQaQuestionNormalizedScore: + format: double + description: >- + Average QA normalized score averaged for questions averaged across + all revisions of the parent scorecard. Will be only populated if the + request specifies a dimension of QA_QUESTION_ID. + type: number + averageCustomerSatisfactionRating: + format: double + description: The average customer satisfaction rating. + type: number + averageQaNormalizedScore: + format: double + description: >- + Average QA normalized score. Will exclude 0's in average + calculation. + type: number + averageDuration: + format: google-duration type: string - description: The agent's name. - team: + description: The average duration. + averageTurnCount: + description: The average turn count. + type: number + format: float + qaTagScores: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore + description: Average QA normalized score for all the tags. + type: array + conversationCount: + description: The conversation count. + format: int32 + type: integer + averageAgentSentimentScore: + type: number + description: The average agent's sentiment score. + format: float + averageSilencePercentage: + format: float + description: The average silence percentage. + type: number + id: >- + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure + type: object + description: The measure related to conversations. + GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata: + properties: + endTime: + description: Output only. The time the operation finished running. type: string - description: A user-specified string representing the agent's team. - dispositionCode: + readOnly: true + format: google-datetime + request: + description: The original request for deletion. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest + createTime: type: string - description: >- - A user-provided string indicating the outcome of the agent's segment - of the call. - description: Information about an agent involved in the conversation. - GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse: - properties: {} + readOnly: true + format: google-datetime + description: Output only. The time the operation was created. type: object - description: Response for an export insights operation. - id: GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse - GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation: - id: GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation - description: >- - An annotation that was generated during the customer and agent - interaction. + description: Metadata for deleting an issue model. + id: GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata + GoogleCloudContactcenterinsightsV1RuntimeAnnotation: + type: object + id: GoogleCloudContactcenterinsightsV1RuntimeAnnotation properties: - smartReply: + conversationSummarizationSuggestion: + description: Conversation summarization suggestion data. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SmartReplyData - description: Agent Assist Smart Reply data. - articleSuggestion: - description: Agent Assist Article Suggestion data. + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData + answerFeedback: + description: The feedback that the customer has about the answer in `data`. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData - createTime: - description: The time at which this annotation was created. + #/components/schemas/GoogleCloudContactcenterinsightsV1AnswerFeedback + dialogflowInteraction: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DialogflowInteractionData + description: Dialogflow interaction data. + createTime: format: google-datetime + description: The time at which this annotation was created. type: string + smartComposeSuggestion: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData + description: Agent Assist Smart Compose suggestion data. + faqAnswer: + description: Agent Assist FAQ answer data. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1FaqAnswerData' annotationId: description: >- The unique identifier of the annotation. Format: projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation} type: string endBoundary: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary description: >- The boundary in the conversation where the annotation ends, inclusive. + articleSuggestion: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary - dialogflowInteraction: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData - description: Dialogflow interaction data. - answerFeedback: - description: The feedback that the customer has about the answer in `data`. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback - userInput: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput - description: Explicit input used for generating the answer - smartComposeSuggestion: + #/components/schemas/GoogleCloudContactcenterinsightsV1ArticleSuggestionData + description: Agent Assist Article Suggestion data. + smartReply: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData - description: Agent Assist Smart Compose suggestion data. + #/components/schemas/GoogleCloudContactcenterinsightsV1SmartReplyData + description: Agent Assist Smart Reply data. startBoundary: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary description: >- The boundary in the conversation where the annotation starts, inclusive. - conversationSummarizationSuggestion: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData - description: Conversation summarization suggestion data. - faqAnswer: + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary + userInput: + description: Explicit input used for generating the answer $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData - description: Agent Assist FAQ answer data. + #/components/schemas/GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput + description: >- + An annotation that was generated during the customer and agent + interaction. + GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse: + id: GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse + description: The response for listing all feedback labels. type: object - GoogleCloudContactcenterinsightsV1alpha1IssueMatchData: - id: GoogleCloudContactcenterinsightsV1alpha1IssueMatchData properties: - issueAssignment: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueAssignment - description: Information about the issue's assignment. + nextPageToken: + type: string + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + feedbackLabels: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel + description: The feedback labels that match the request. + GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination: type: object - description: The data for an issue match annotation. - GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelMetadata: - id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelMetadata + id: >- + GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequestGcsDestination + properties: + objectUri: + type: string + description: 'Required. Format: `gs:///`' + description: Google Cloud Storage Object URI to save the issue model to. + GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo: + id: >- + GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo type: object + description: Word-level info for words in a transcript. properties: - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest - description: The original import request. - endTime: - format: google-datetime - description: The time the operation finished running. + word: type: string - createTime: - format: google-datetime - description: The time the operation was created. + description: The word itself. Includes punctuation marks that surround the word. + confidence: + description: >- + A confidence estimate between 0.0 and 1.0 of the fidelity of this + word. A default value of 0.0 indicates that the value is unset. + type: number + format: float + startOffset: + description: >- + Time offset of the start of this word relative to the beginning of + the total conversation. type: string - description: Metadata used for import issue model. - GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest: - id: GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest + format: google-duration + endOffset: + type: string + format: google-duration + description: >- + Time offset of the end of this word relative to the beginning of the + total conversation. + GoogleCloudContactcenterinsightsV1UploadConversationRequest: + id: GoogleCloudContactcenterinsightsV1UploadConversationRequest properties: - issueModel: + redactionConfig: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModel - description: Required. The issue model to create. + #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig + description: >- + Optional. DLP settings for transcript redaction. Will default to the + config specified in Settings. + speechConfig: + description: >- + Optional. Speech-to-Text configuration. Will default to the config + specified in Settings. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SpeechConfig' + conversationId: + type: string + description: >- + Optional. A unique ID for the new conversation. This ID will become + the final component of the conversation's resource name. If no ID is + specified, a server-generated ID will be used. This value should be + 4-64 characters and must match the regular expression + `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-` + conversation: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Conversation' + description: Required. The conversation resource to create. parent: - description: Required. The parent resource of the issue model. type: string + description: Required. The parent resource of the conversation. type: object - description: The request to create an issue model. - GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment: - id: GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment - type: object + description: Request to upload a conversation. + GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo: properties: - sentimentData: - description: Data specifying sentiment. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData - channelTag: - description: The channel of the audio that the data applies to. - type: integer - format: int32 - description: One channel of conversation-level sentiment data. - GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata: + agentId: + description: A user-specified string representing the agent. + type: string + dispositionCode: + type: string + description: >- + A user-provided string indicating the outcome of the agent's segment + of the call. + team: + description: A user-specified string representing the agent's team. + type: string + displayName: + description: The agent's name. + type: string type: object - description: Metadata for creating an issue model. - id: GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata + description: Information about an agent involved in the conversation. + id: GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo + GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult: properties: - endTime: - format: google-datetime - description: Output only. The time the operation finished running. - type: string - readOnly: true createTime: + description: Output only. The timestamp that the revision was created. readOnly: true - type: string format: google-datetime - description: Output only. The time the operation was created. - request: - description: The original request for creation. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1CreateIssueModelRequest - GoogleCloudContactcenterinsightsV1ImportIssueModelRequest: - properties: - gcsSource: - description: Google Cloud Storage source message. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource - createNewModel: - type: boolean + type: string + scoreSources: + description: List of all individual score sets. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource + potentialScore: + format: double + type: number description: >- - Optional. If set to true, will create an issue model from the - imported file with randomly generated IDs for the issue model and - corresponding issues. Otherwise, replaces an existing model with the - same ID as the file. - parent: - description: Required. The parent resource of the issue model. + The maximum potential overall score of the scorecard. Any questions + answered using `na_value` are excluded from this calculation. + name: + description: >- + Identifier. The name of the scorecard result. Format: + projects/{project}/locations/{location}/qaScorecardResults/{qa_scorecard_result} type: string - description: Request to import an issue model. - id: GoogleCloudContactcenterinsightsV1ImportIssueModelRequest + normalizedScore: + type: number + format: double + description: >- + The normalized score, which is the score divided by the potential + score. Any manual edits are included if they exist. + agentId: + description: ID of the agent that handled the conversation. + type: string + qaAnswers: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaAnswer + type: array + description: Set of QaAnswers represented in the result. + qaTagResults: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult + type: array + description: Collection of tags and their scores. + conversation: + type: string + description: The conversation scored by this result. + qaScorecardRevision: + description: The QaScorecardRevision scored by this result. + type: string + score: + type: number + format: double + description: >- + The overall numerical score of the result, incorporating any manual + edits if they exist. + description: >- + The results of scoring a single conversation against a QaScorecard. + Contains a collection of QaAnswers and aggregate score. + id: GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult type: object - GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary: - id: GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary + GoogleCloudContactcenterinsightsV1CalculateStatsResponse: + id: GoogleCloudContactcenterinsightsV1CalculateStatsResponse + description: The response for calculating conversation statistics. type: object - description: >- - A point in a conversation that marks the start or the end of an - annotation. properties: - wordIndex: + averageTurnCount: + type: integer format: int32 + description: The average number of turns per conversation. + averageDuration: + format: google-duration description: >- - The word index of this boundary with respect to the first word in - the transcript piece. This index starts at zero. - type: integer - transcriptIndex: + The average duration of all conversations. The average is calculated + using only conversations that have a time duration. + type: string + issueMatches: description: >- - The index in the sequence of transcribed pieces of the conversation - where the boundary is located. This index starts at zero. - type: integer - format: int32 - GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest: + A map associating each issue resource name with its respective + number of matches in the set of conversations. Key has the format: + `projects//locations//issueModels//issues/` Deprecated, use + `issue_matches_stats` field instead. + deprecated: true + type: object + additionalProperties: + format: int32 + type: integer + conversationCountTimeSeries: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries + description: >- + A time series representing the count of conversations created over + time that match that requested filter criteria. + issueMatchesStats: + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats + description: >- + A map associating each issue resource name with its respective + number of matches in the set of conversations. Key has the format: + `projects//locations//issueModels//issues/` + customHighlighterMatches: + type: object + description: >- + A map associating each custom highlighter resource name with its + respective number of matches in the set of conversations. + additionalProperties: + format: int32 + type: integer + conversationCount: + type: integer + format: int32 + description: The total number of conversations. + smartHighlighterMatches: + description: >- + A map associating each smart highlighter display name with its + respective number of matches in the set of conversations. + additionalProperties: + type: integer + format: int32 + type: object + GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata: + id: GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata + description: Metadata about the issue dimension. type: object - description: The request to initialize a location-level encryption specification. properties: - encryptionSpec: + issueDisplayName: + type: string + description: The issue display name. + issueId: + type: string + description: The issue ID. + issueModelId: + type: string + description: The parent issue model ID. + GoogleCloudContactcenterinsightsV1PhraseMatchRule: + description: The data for a phrase match rule. + properties: + negated: description: >- - Required. The encryption spec used for CMEK encryption. It is - required that the kms key is in the same region as the endpoint. The - same key will be used for all provisioned resources, if encryption - is available. If the kms_key_name is left empty, no encryption will - be enforced. + Specifies whether the phrase must be missing from the transcript + segment or present in the transcript segment. + type: boolean + config: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec - id: GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest - GoogleCloudContactcenterinsightsV1ConversationDataSource: - description: The conversation source, which is a combination of transcript and audio. - id: GoogleCloudContactcenterinsightsV1ConversationDataSource + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig + description: >- + Provides additional information about the rule that specifies how to + apply the rule. + query: + type: string + description: Required. The phrase to be matched. + id: GoogleCloudContactcenterinsightsV1PhraseMatchRule + type: object + GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData: + id: GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData type: object properties: - dialogflowSource: - description: The source when the conversation comes from Dialogflow. + dialogflowIntentId: + type: string + description: >- + The Dialogflow intent resource path. Format: + projects/{project}/agent/{agent}/intents/{intent} + confidence: + type: number + format: float + description: >- + The confidence of the match ranging from 0.0 (completely uncertain) + to 1.0 (completely certain). + description: Dialogflow interaction data. + GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata: + description: Metadata for deploying an issue model. + properties: + createTime: + readOnly: true + type: string + format: google-datetime + description: Output only. The time the operation was created. + request: + description: The original request for deployment. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1DialogflowSource - gcsSource: - description: A Cloud Storage location specification for the audio and transcript. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1GcsSource' - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest + endTime: + description: Output only. The time the operation finished running. + type: string + format: google-datetime + readOnly: true + id: GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment + GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice: + type: object + description: Message representing a possible answer to the question. + id: GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice properties: - text: + strValue: + description: String value. type: string - description: The text of this segment. - messageTime: - format: google-datetime + naValue: + type: boolean + description: >- + A value of "Not Applicable (N/A)". If provided, this field may only + be set to `true`. If a question receives this answer, it will be + excluded from any score calculations. + numValue: + format: double + type: number + description: Numerical value. + key: + description: A short string used as an identifier. type: string - description: The time that the message occurred, if provided. + score: + type: number + format: double + description: >- + Numerical score of the answer, used for generating the overall score + of a QaScorecardResult. If the answer uses na_value, this field is + unused. + boolValue: + type: boolean + description: Boolean value. + GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse: + type: object + description: Response from import issue model + id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse + properties: {} + GoogleCloudContactcenterinsightsV1EntityMentionData: + id: GoogleCloudContactcenterinsightsV1EntityMentionData + properties: sentiment: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData - description: The sentiment for this transcript segment. - languageCode: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' + description: Sentiment expressed for this mention of the entity. + type: type: string + enum: + - MENTION_TYPE_UNSPECIFIED + - PROPER + - COMMON + enumDescriptions: + - Unspecified. + - Proper noun. + - Common noun (or noun compound). + description: The type of the entity mention. + entityUniqueId: description: >- - The language code of this segment as a - [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. - Example: "en-US". + The key of this entity in conversation entities. Can be used to + retrieve the exact `Entity` this mention is attached to. + type: string + description: >- + The data for an entity mention annotation. This represents a mention of + an `Entity` in the conversation. + type: object + GoogleCloudContactcenterinsightsV1ConversationLevelSentiment: + description: One channel of conversation-level sentiment data. + properties: + sentimentData: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' + description: Data specifying sentiment. channelTag: - description: >- - For conversations derived from multi-channel audio, this is the - channel number corresponding to the audio from that channel. For - audioChannelCount = N, its output values can range from '1' to 'N'. - A channel tag of 0 indicates that the audio is mono. format: int32 + description: The channel of the audio that the data applies to. type: integer - words: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo - description: >- - A list of the word-specific information for each word in the - segment. - dialogflowSegmentMetadata: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata - description: CCAI metadata relating to the current transcript segment. - segmentParticipant: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationParticipant - description: The participant of this segment. - confidence: - format: float - type: number - description: >- - A confidence estimate between 0.0 and 1.0 of the fidelity of this - segment. A default value of 0.0 indicates that the value is unset. - description: A segment of a full transcript. - GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse: - id: GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse - properties: {} - description: Response for an export insights operation. + id: GoogleCloudContactcenterinsightsV1ConversationLevelSentiment type: object - GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest: + GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest: properties: - gcsSource: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource - description: Google Cloud Storage source message. parent: type: string - description: Required. The parent resource of the issue model. - createNewModel: + description: Required. The parent resource to create analyses in. + annotatorSelector: description: >- - Optional. If set to true, will create an issue model from the - imported file with randomly generated IDs for the issue model and - corresponding issues. Otherwise, replaces an existing model with the - same ID as the file. - type: boolean - description: Request to import an issue model. - type: object - id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest - GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest: - properties: - name: + To select the annotators to run and the phrase matchers to use (if + any). If not specified, all annotators will be run. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector + analysisPercentage: + type: number + format: float + description: >- + Required. Percentage of selected conversation to analyze, between + [0, 100]. + filter: + description: >- + Required. Filter used to select the subset of conversations to + analyze. type: string - description: Required. The issue model to undeploy. - type: object - description: The request to undeploy an issue model. - id: GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest - GoogleCloudContactcenterinsightsV1Settings: + id: GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest + description: The request to analyze conversations in bulk. type: object + GoogleCloudContactcenterinsightsV1QaScorecardRevision: properties: createTime: - description: Output only. The time at which the settings was created. - format: google-datetime readOnly: true type: string + description: Output only. The timestamp that the revision was created. + format: google-datetime + snapshot: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard' + description: >- + The snapshot of the scorecard at the time of this revision's + creation. + alternateIds: + description: >- + Output only. Alternative IDs for this revision of the scorecard, + e.g., `latest`. + type: array + readOnly: true + items: + type: string name: type: string description: >- - Immutable. The resource name of the settings resource. Format: - projects/{project}/locations/{location}/settings - analysisConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig - description: Default analysis settings. - languageCode: - type: string + Identifier. The name of the scorecard revision. Format: + projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision} + state: + readOnly: true description: >- - 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. - redactionConfig: + Output only. State of the scorecard revision, indicating whether + it's ready to be used in analysis. + enum: + - STATE_UNSPECIFIED + - EDITABLE + - TRAINING + - TRAINING_FAILED + - READY + - DELETING + - TRAINING_CANCELLED + enumDescriptions: + - Unspecified. + - The scorecard revision can be edited. + - Scorecard model training is in progress. + - Scorecard revision model training failed. + - The revision can be used in analysis. + - Scorecard is being deleted. + - Scorecard model training was explicitly cancelled by the user. + type: string + type: object + id: GoogleCloudContactcenterinsightsV1QaScorecardRevision + description: >- + A revision of a QaScorecard. Modifying published scorecard fields would + invalidate existing scorecard results — the questions may have changed, + or the score weighting will make existing scores impossible to + understand. So changes must create a new revision, rather than modifying + the existing resource. + GoogleIamV1Policy: + id: GoogleIamV1Policy + properties: + bindings: + items: + $ref: '#/components/schemas/GoogleIamV1Binding' + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + type: array + etag: + description: >- + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + format: byte + type: string + auditConfigs: + items: + $ref: '#/components/schemas/GoogleIamV1AuditConfig' + description: Specifies cloud audit logging configuration for this policy. + type: array + version: + format: int32 + type: integer description: >- - Default DLP redaction resources to be applied while ingesting - conversations. This applies to conversations ingested from the - `UploadConversation` and `IngestConversations` endpoints, including - conversations coming from CCAI Platform. + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + type: object + description: >- + 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/). + GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata: + properties: + sentiments: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSentiment + type: array + description: Overall conversation-level sentiment for each channel of the call. + issueModelResult: + description: Overall conversation-level issue modeling result. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig - speechConfig: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SpeechConfig' + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelResult + qaScorecardResults: + description: Results of scoring QaScorecards. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult + entities: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Entity + description: All the entities in the call. + type: object + silence: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence + description: Overall conversation-level silence during the call. + intents: + description: All the matched intents in the call. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Intent + phraseMatchers: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData + type: object + description: All the matched phrase matchers in the call. + annotations: + type: array + description: A list of call annotations that apply to this call. + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1CallAnnotation + id: >- + GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata + description: Call-specific metadata created during analysis. + type: object + GoogleCloudContactcenterinsightsV1ConversationTranscript: + type: object + id: GoogleCloudContactcenterinsightsV1ConversationTranscript + description: A message representing the transcript of a conversation. + properties: + transcriptSegments: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment description: >- - Optional. Default Speech-to-Text resources to use while ingesting - audio files. Optional, CCAI Insights will create a default if not - provided. This applies to conversations ingested from the - `UploadConversation` and `IngestConversations` endpoints, including - conversations coming from CCAI Platform. - updateTime: - description: Output only. The time at which the settings were last updated. + A list of sequential transcript segments that comprise the + conversation. + type: array + GoogleCloudContactcenterinsightsV1alpha1GcsSource: + properties: + audioUri: + description: >- + Cloud Storage URI that points to a file that contains the + conversation audio. type: string - format: google-datetime - readOnly: true - conversationTtl: + transcriptUri: type: string - format: google-duration - description: >- - 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. - pubsubNotificationSettings: - type: object - additionalProperties: - type: string description: >- - 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} - id: GoogleCloudContactcenterinsightsV1Settings + Immutable. Cloud Storage URI that points to a file that contains the + conversation transcript. + id: GoogleCloudContactcenterinsightsV1alpha1GcsSource + description: A Cloud Storage source of conversation data. + type: object + GoogleCloudContactcenterinsightsV1alpha1SpeechConfig: + id: GoogleCloudContactcenterinsightsV1alpha1SpeechConfig description: >- - The CCAI Insights project wide settings. Use these settings to configure - the behavior of Insights. View these settings with - [`getsettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/getSettings) - and change the settings with - [`updateSettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/updateSettings). - GoogleCloudContactcenterinsightsV1PhraseMatchData: + 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. type: object properties: - phraseMatcher: - description: The unique identifier (the resource name) of the phrase matcher. - type: string - displayName: - description: The human-readable name of the phrase matcher. + speechRecognizer: + description: >- + The fully-qualified Speech Recognizer resource name. Format: + `projects/{project_id}/locations/{location}/recognizer/{recognizer}` type: string - id: GoogleCloudContactcenterinsightsV1PhraseMatchData - description: >- - The data for a matched phrase matcher. Represents information - identifying a phrase matcher for a given match. - GoogleCloudContactcenterinsightsV1CallAnnotation: + GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig: + properties: + scorecardList: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList + description: A manual list of scorecards to score. + type: object + id: GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig + description: Configuration for the QA feature. + GoogleCloudContactcenterinsightsV1alpha1CallAnnotation: + id: GoogleCloudContactcenterinsightsV1alpha1CallAnnotation description: A piece of metadata that applies to a window of a call. properties: - silenceData: - description: Data specifying silence. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SilenceData' entityMentionData: - description: Data specifying an entity mention. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1EntityMentionData - channelTag: - description: >- - The channel of the audio where the annotation occurs. For - single-channel audio, this field is not populated. - type: integer - format: int32 - interruptionData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1InterruptionData - description: Data specifying an interruption. - phraseMatchData: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1EntityMentionData + description: Data specifying an entity mention. + holdData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchData - description: Data specifying a phrase match. + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1HoldData + description: Data specifying a hold. annotationEndBoundary: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary description: >- The boundary in the conversation where the annotation ends, inclusive. + intentMatchData: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IntentMatchData + description: Data specifying an intent match. annotationStartBoundary: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary description: >- The boundary in the conversation where the annotation starts, inclusive. + phraseMatchData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData + description: Data specifying a phrase match. issueMatchData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueMatchData + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueMatchData description: Data specifying an issue match. - holdData: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1HoldData' - description: Data specifying a hold. - intentMatchData: - description: Data specifying an intent match. + interruptionData: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IntentMatchData + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1InterruptionData + description: Data specifying an interruption. + channelTag: + description: >- + The channel of the audio where the annotation occurs. For + single-channel audio, this field is not populated. + type: integer + format: int32 sentimentData: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData description: Data specifying sentiment. + silenceData: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SilenceData + description: Data specifying silence. type: object - id: GoogleCloudContactcenterinsightsV1CallAnnotation - GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata: + GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse: + description: Response for an export insights operation. + type: object + id: GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse + properties: {} + GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData: + id: GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData type: object properties: - createTime: - description: The time the operation was created. - format: google-datetime - type: string - endTime: - format: google-datetime - description: The time the operation finished running. + suggestion: type: string - request: - description: The original import request. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ImportIssueModelRequest - description: Metadata used for import issue model. - id: GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats: - id: >- - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats - description: Statistics for IngestConversations operation. - type: object - properties: - processedObjectCount: - format: int32 - description: >- - Output only. The number of objects processed during the ingest - operation. - readOnly: true - type: integer - successfulIngestCount: + description: The content of the suggestion. + metadata: + additionalProperties: + type: string description: >- - Output only. The number of new conversations added during this - ingest operation. - readOnly: true - format: int32 - type: integer - failedIngestCount: - readOnly: true - format: int32 - type: integer + Map that contains metadata about the Smart Compose suggestion and + the document from which it originates. + type: object + queryRecord: + type: string description: >- - Output only. The number of objects which were unable to be ingested - due to errors. The errors are populated in the partial_errors field. - duplicatesSkippedCount: - type: integer - format: int32 - readOnly: true + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + confidenceScore: + type: number description: >- - Output only. The number of objects skipped because another - conversation with the same transcript uri had already been ingested. - GoogleCloudContactcenterinsightsV1GcsSource: - description: A Cloud Storage source of conversation data. - type: object - id: GoogleCloudContactcenterinsightsV1GcsSource + The system's confidence score that this suggestion is a good match + for this conversation, ranging from 0.0 (completely uncertain) to + 1.0 (completely certain). + format: double + description: Agent Assist Smart Compose suggestion data. + GoogleCloudContactcenterinsightsV1Settings: properties: - transcriptUri: + name: description: >- - Immutable. Cloud Storage URI that points to a file that contains the - conversation transcript. + Immutable. The resource name of the settings resource. Format: + projects/{project}/locations/{location}/settings type: string - audioUri: + createTime: + readOnly: true + description: Output only. The time at which the settings was created. + format: google-datetime type: string - description: >- - Cloud Storage URI that points to a file that contains the - conversation audio. - GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse: - properties: - nextPageToken: + analysisConfig: + description: Default analysis settings. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig + conversationTtl: type: string description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - phraseMatchers: - type: array - description: The phrase matchers that match the request. - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher - description: The response of listing phrase matchers. - id: GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse - type: object - GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination: - description: A BigQuery Table Reference. - type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination - properties: - projectId: + 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. + format: google-duration + speechConfig: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SpeechConfig' description: >- - A project ID or number. If specified, then export will attempt to - write data to this project instead of the resource project. - Otherwise, the resource project will be used. - type: string - dataset: + Optional. Default Speech-to-Text resources to use while ingesting + audio files. Optional, CCAI Insights will create a default if not + provided. This applies to conversations ingested from the + `UploadConversation` and `IngestConversations` endpoints, including + conversations coming from CCAI Platform. + pubsubNotificationSettings: + type: object + description: >- + 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} + additionalProperties: + type: string + updateTime: + format: google-datetime type: string + description: Output only. The time at which the settings were last updated. + readOnly: true + redactionConfig: description: >- - Required. The name of the BigQuery dataset that the snapshot result - should be exported to. If this dataset does not exist, the export - call returns an INVALID_ARGUMENT error. - table: + Default DLP redaction resources to be applied while ingesting + conversations. This applies to conversations ingested from the + `UploadConversation` and `IngestConversations` endpoints, including + conversations coming from CCAI Platform. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1RedactionConfig + languageCode: type: string description: >- - The BigQuery table name to which the insights data should be - written. If this table does not exist, the export call returns an - INVALID_ARGUMENT error. - GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig: - description: Default configuration when creating Analyses in Insights. + 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. type: object - id: GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig + id: GoogleCloudContactcenterinsightsV1Settings + description: >- + The CCAI Insights project wide settings. Use these settings to configure + the behavior of Insights. View these settings with + [`getsettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/getSettings) + and change the settings with + [`updateSettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/updateSettings). + GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData: + description: Agent Assist Article Suggestion data. properties: - annotatorSelector: - description: >- - To select the annotators to run and the phrase matchers to use (if - any). If not specified, all annotators will be run. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector - uploadConversationAnalysisPercentage: - description: >- - Percentage of conversations created using the UploadConversation - endpoint to analyze automatically, between [0, 100]. + confidenceScore: + format: float type: number - format: double - runtimeIntegrationAnalysisPercentage: description: >- - Percentage of conversations created using Dialogflow runtime - integration to analyze automatically, between [0, 100]. - type: number - format: double - GoogleLongrunningOperation: - description: >- - This resource represents a long-running operation that is the result of - a network API call. - properties: - name: + The system's confidence score that this article is a good match for + this conversation, ranging from 0.0 (completely uncertain) to 1.0 + (completely certain). + source: + description: >- + The knowledge document that this answer was extracted from. Format: + projects/{project}/knowledgeBases/{knowledge_base}/documents/{document} + type: string + queryRecord: type: string description: >- - 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}`. + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} metadata: - description: >- - 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. - type: object additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - done: - description: >- - 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. - type: boolean - response: + type: string type: object description: >- - 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`. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - error: - description: >- - The error result of the operation in case of failure or - cancellation. - $ref: '#/components/schemas/GoogleRpcStatus' - id: GoogleLongrunningOperation + Map that contains metadata about the Article Suggestion and the + document that it originates from. + title: + type: string + description: Article title. + uri: + type: string + description: Article URI. type: object - GoogleCloudContactcenterinsightsV1IssueModelResult: + id: GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData + GoogleCloudContactcenterinsightsV1alpha1Entity: properties: - issues: - description: All the matched issues. - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueAssignment - type: array - issueModel: - description: >- - Issue model that generates the result. Format: - projects/{project}/locations/{location}/issueModels/{issue_model} + metadata: + type: object + description: >- + Metadata associated with the entity. For most entity types, the + metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph + MID (`mid`), if they are available. For the metadata associated with + other entity types, see the Type table below. + additionalProperties: + type: string + type: + description: The entity type. + enumDescriptions: + - Unspecified. + - Person. + - Location. + - Organization. + - Event. + - Artwork. + - Consumer product. + - Other types of entities. + - >- + Phone number. The metadata lists the phone number (formatted + according to local convention), plus whichever additional elements + appear in the text: * `number` - The actual number, broken down + into sections according to local convention. * `national_prefix` - + Country code, if detected. * `area_code` - Region or area code, if + detected. * `extension` - Phone extension (to be dialed after + connection), if detected. + - >- + Address. The metadata identifies the street number and locality + plus whichever additional elements appear in the text: * + `street_number` - Street number. * `locality` - City or town. * + `street_name` - Street/route name, if detected. * `postal_code` - + Postal code, if detected. * `country` - Country, if detected. * + `broad_region` - Administrative area, such as the state, if + detected. * `narrow_region` - Smaller administrative area, such as + county, if detected. * `sublocality` - Used in Asian addresses to + demark a district within a city, if detected. + - >- + Date. The metadata identifies the components of the date: * `year` + - Four digit year, if detected. * `month` - Two digit month + number, if detected. * `day` - Two digit day number, if detected. + - Number. The metadata is the number itself. + - Price. The metadata identifies the `value` and `currency`. + type: string + enum: + - TYPE_UNSPECIFIED + - PERSON + - LOCATION + - ORGANIZATION + - EVENT + - WORK_OF_ART + - CONSUMER_GOOD + - OTHER + - PHONE_NUMBER + - ADDRESS + - DATE + - NUMBER + - PRICE + sentiment: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData + description: >- + The aggregate sentiment expressed for this entity in the + conversation. + salience: + description: >- + The salience score associated with the entity in the [0, 1.0] range. + The salience score for an entity provides information about the + importance or centrality of that entity to the entire document text. + Scores closer to 0 are less salient, while scores closer to 1.0 are + highly salient. + type: number + format: float + displayName: + description: The representative name for the entity. type: string + description: >- + The data for an entity annotation. Represents a phrase in the + conversation that is a known entity, such as a person, an organization, + or location. + id: GoogleCloudContactcenterinsightsV1alpha1Entity type: object - description: Issue Modeling result on a conversation. - id: GoogleCloudContactcenterinsightsV1IssueModelResult - GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest: + GoogleCloudContactcenterinsightsV1QaScorecard: properties: + createTime: + type: string + description: Output only. The time at which this scorecard was created. + readOnly: true + format: google-datetime + displayName: + type: string + description: The user-specified display name of the scorecard. + updateTime: + format: google-datetime + description: >- + Output only. The most recent time at which the scorecard was + updated. + readOnly: true + type: string name: - description: Required. The name of the issue model to delete. type: string - description: The request to delete an issue model. + description: >- + Identifier. The scorecard name. Format: + projects/{project}/locations/{location}/qaScorecards/{qa_scorecard} + description: + description: A text description explaining the intent of the scorecard. + type: string + id: GoogleCloudContactcenterinsightsV1QaScorecard + description: >- + A QaScorecard represents a collection of questions to be scored during + analysis. type: object - id: GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest - GoogleCloudContactcenterinsightsV1ListConversationsResponse: - id: GoogleCloudContactcenterinsightsV1ListConversationsResponse + GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource: + properties: + objectUri: + type: string + description: 'Required. Format: `gs:///`' type: object - description: The response of listing conversations. + description: Google Cloud Storage Object URI to get the issue model file from. + id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource + GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig: + id: GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig properties: - nextPageToken: + medium: type: string + enumDescriptions: + - Default value, if unspecified will default to PHONE_CALL. + - The format for conversations that took place over the phone. + - The format for conversations that took place over chat. description: >- - A token which can be sent as `page_token` to retrieve the next page. - If this field is set, it means there is another page available. If - it is not set, it means no other pages are available. - conversations: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation - description: The conversations that match the request. - GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource: - id: GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource - description: The conversation source, which is a combination of transcript and audio. + Medium of conversations used in training data. This field is being + deprecated. To specify the medium to be used in training a new issue + model, set the `medium` field on `filter`. + deprecated: true + enum: + - MEDIUM_UNSPECIFIED + - PHONE_CALL + - CHAT + filter: + description: >- + A filter to reduce the conversations used for training the model to + a specific subset. + type: string + trainingConversationsCount: + format: int64 + type: string + description: Output only. Number of conversations used in training. Output only. + readOnly: true type: object - properties: - dialogflowSource: - description: The source when the conversation comes from Dialogflow. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DialogflowSource - gcsSource: - description: A Cloud Storage location specification for the audio and transcript. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1GcsSource - GoogleCloudContactcenterinsightsV1AnalysisResult: - description: The result of an analysis. - id: GoogleCloudContactcenterinsightsV1AnalysisResult + description: Configs for the input data used to create the issue model. + GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsMetadata: + id: GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsMetadata + description: The metadata for a bulk delete conversations operation. type: object properties: endTime: + description: The time the operation finished running. format: google-datetime type: string - description: The time at which the analysis ended. - callAnalysisMetadata: - description: Call-specific metadata created by the analysis. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata - GoogleCloudContactcenterinsightsV1RuntimeAnnotation: - description: >- - An annotation that was generated during the customer and agent - interaction. - type: object - id: GoogleCloudContactcenterinsightsV1RuntimeAnnotation - properties: - smartComposeSuggestion: - description: Agent Assist Smart Compose suggestion data. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData - faqAnswer: - description: Agent Assist FAQ answer data. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1FaqAnswerData' - dialogflowInteraction: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1DialogflowInteractionData - description: Dialogflow interaction data. - conversationSummarizationSuggestion: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData - description: Conversation summarization suggestion data. - articleSuggestion: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ArticleSuggestionData - description: Agent Assist Article Suggestion data. - endBoundary: - description: >- - The boundary in the conversation where the annotation ends, - inclusive. + request: + description: The original request for bulk delete. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary - annotationId: - description: >- - The unique identifier of the annotation. Format: - projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation} - type: string + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest createTime: format: google-datetime type: string - description: The time at which this annotation was created. - smartReply: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1SmartReplyData - description: Agent Assist Smart Reply data. - startBoundary: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotationBoundary + description: The time the operation was created. + partialErrors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + type: array description: >- - The boundary in the conversation where the annotation starts, - inclusive. - answerFeedback: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnswerFeedback - description: The feedback that the customer has about the answer in `data`. - userInput: - description: Explicit input used for generating the answer - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput - GoogleCloudContactcenterinsightsV1SentimentData: + Partial errors during bulk delete conversations operation that might + cause the operation output to be incomplete. + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo: properties: - score: - format: float - description: The sentiment score between -1.0 (negative) and 1.0 (positive). - type: number - magnitude: + confidence: type: number format: float description: >- - A non-negative number from 0 to infinity which represents the - abolute magnitude of sentiment regardless of score. - description: The data for a sentiment annotation. - id: GoogleCloudContactcenterinsightsV1SentimentData - type: object - GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest: - id: GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest - properties: - name: - description: Required. The issue model to undeploy. + A confidence estimate between 0.0 and 1.0 of the fidelity of this + word. A default value of 0.0 indicates that the value is unset. + endOffset: + description: >- + Time offset of the end of this word relative to the beginning of the + total conversation. type: string - type: object - description: The request to undeploy an issue model. - GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData: - id: GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData - description: Agent Assist Article Suggestion data. - properties: - source: + format: google-duration + startOffset: type: string description: >- - The knowledge document that this answer was extracted from. Format: - projects/{project}/knowledgeBases/{knowledge_base}/documents/{document} - queryRecord: + Time offset of the start of this word relative to the beginning of + the total conversation. + format: google-duration + word: type: string + description: The word itself. Includes punctuation marks that surround the word. + id: >- + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo + description: Word-level info for words in a transcript. + type: object + GoogleCloudContactcenterinsightsV1IssueModelLabelStats: + type: object + description: Aggregated statistics about an issue model. + properties: + unclassifiedConversationsCount: description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} - title: - description: Article title. + Number of analyzed conversations for which no issue was applicable + at this point in time. type: string - uri: - description: Article URI. + format: int64 + analyzedConversationsCount: + format: int64 + description: >- + Number of conversations the issue model has analyzed at this point + in time. type: string - metadata: + issueStats: + description: Statistics on each issue. Key is the issue's resource name. type: object - description: >- - Map that contains metadata about the Article Suggestion and the - document that it originates from. additionalProperties: - type: string - confidenceScore: - format: float - type: number - description: >- - The system's confidence score that this article is a good match for - this conversation, ranging from 0.0 (completely uncertain) to 1.0 - (completely certain). - type: object - GoogleCloudContactcenterinsightsV1DialogflowSource: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats + id: GoogleCloudContactcenterinsightsV1IssueModelLabelStats + GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse: type: object - description: A Dialogflow source of conversation data. + id: GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse + properties: {} + description: The response to undeploy an issue model. + GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination: properties: - audioUri: + table: type: string description: >- - Cloud Storage URI that points to a file that contains the - conversation audio. - dialogflowConversation: + The BigQuery table name to which the insights data should be + written. If this table does not exist, the export call returns an + INVALID_ARGUMENT error. + dataset: + type: string description: >- - Output only. The name of the Dialogflow conversation that this - conversation resource is derived from. Format: - projects/{project}/locations/{location}/conversations/{conversation} - readOnly: true + Required. The name of the BigQuery dataset that the snapshot result + should be exported to. If this dataset does not exist, the export + call returns an INVALID_ARGUMENT error. + projectId: + description: >- + A project ID or number. If specified, then export will attempt to + write data to this project instead of the resource project. + Otherwise, the resource project will be used. type: string - id: GoogleCloudContactcenterinsightsV1DialogflowSource - GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec: + type: object + description: A BigQuery Table Reference. + id: >- + GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination + GoogleCloudContactcenterinsightsV1IssueAssignment: properties: - name: + score: description: >- - Immutable. The resource name of the encryption key specification - resource. Format: - projects/{project}/locations/{location}/encryptionSpec + Score indicating the likelihood of the issue assignment. currently + bounded on [0,1]. + type: number + format: double + displayName: type: string - kmsKey: description: >- - 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}` + Immutable. Display name of the assigned issue. This field is set at + time of analyis and immutable since then. + issue: + description: Resource name of the assigned issue. type: string + id: GoogleCloudContactcenterinsightsV1IssueAssignment + description: Information about the issue. type: object - description: >- - A customer-managed encryption key specification that can be applied to - all created resources (e.g. Conversation). - id: GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec - GoogleCloudContactcenterinsightsV1ConversationTranscript: - type: object - id: GoogleCloudContactcenterinsightsV1ConversationTranscript - properties: - transcriptSegments: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment - description: >- - A list of sequential transcript segments that comprise the - conversation. - description: A message representing the transcript of a conversation. - GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData: - description: >- - The data for a matched phrase matcher. Represents information - identifying a phrase matcher for a given match. - id: GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData + GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence: type: object properties: - displayName: - type: string - description: The human-readable name of the phrase matcher. - phraseMatcher: - description: The unique identifier (the resource name) of the phrase matcher. + silenceDuration: + format: google-duration type: string - GoogleCloudContactcenterinsightsV1alpha1SmartReplyData: + description: Amount of time calculated to be in silence. + silencePercentage: + type: number + description: Percentage of the total conversation spent in silence. + format: float + id: GoogleCloudContactcenterinsightsV1alpha1ConversationLevelSilence + description: Conversation-level silence data. + GoogleIamV1Binding: properties: - metadata: + role: + type: string description: >- - Map that contains metadata about the Smart Reply and the document - from which it originates. - additionalProperties: + 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). + members: + items: type: string - type: object - confidenceScore: - type: number - format: double + type: array description: >- - The system's confidence score that this reply is a good match for - this conversation, ranging from 0.0 (completely uncertain) to 1.0 - (completely certain). - queryRecord: - type: string + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + condition: + $ref: '#/components/schemas/GoogleTypeExpr' + description: >- + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + id: GoogleIamV1Binding + description: Associates `members`, or principals, with a `role`. + type: object + GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest: + properties: + encryptionSpec: description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} - reply: + Required. The encryption spec used for CMEK encryption. It is + required that the kms key is in the same region as the endpoint. The + same key will be used for all provisioned resources, if encryption + is available. If the `kms_key_name` field is left empty, no + encryption will be enforced. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec + type: object + id: GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest + description: The request to initialize a location-level encryption specification. + GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata: + properties: + customerChannel: + format: int32 + description: The audio channel that contains the customer. + type: integer + agentChannel: + description: The audio channel that contains the agent. + format: int32 + type: integer + description: Call-specific metadata. + id: GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata + type: object + GoogleCloudContactcenterinsightsV1SpeechConfig: + description: >- + 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. + properties: + speechRecognizer: + description: >- + The fully-qualified Speech Recognizer resource name. Format: + `projects/{project_id}/locations/{location}/recognizer/{recognizer}` type: string - description: The content of the reply. + id: GoogleCloudContactcenterinsightsV1SpeechConfig type: object - description: Agent Assist Smart Reply data. - id: GoogleCloudContactcenterinsightsV1alpha1SmartReplyData - GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata: - id: GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata + GoogleCloudContactcenterinsightsV1DeployIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1DeployIssueModelRequest type: object - description: Metadata for deploying an issue model. properties: - endTime: - readOnly: true + name: type: string - description: Output only. The time the operation finished running. - format: google-datetime + description: Required. The issue model to deploy. + description: The request to deploy an issue model. + GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata: + properties: request: - description: The original request for deployment. + description: Output only. The original request for initialization. + readOnly: true $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1DeployIssueModelRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest + partialErrors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + type: array + description: >- + Partial errors during initializing operation that might cause the + operation output to be incomplete. createTime: type: string readOnly: true + format: google-datetime description: Output only. The time the operation was created. + endTime: + description: Output only. The time the operation finished running. format: google-datetime - GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest: - properties: - conversationId: + readOnly: true type: string - description: >- - Optional. A unique ID for the new conversation. This ID will become - the final component of the conversation's resource name. If no ID is - specified, a server-generated ID will be used. This value should be - 4-64 characters and must match the regular expression - `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-` - parent: - type: string - description: Required. The parent resource of the conversation. - speechConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SpeechConfig - description: >- - Optional. Speech-to-Text configuration. Will default to the config - specified in Settings. - conversation: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Conversation - description: Required. The conversation resource to create. - redactionConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RedactionConfig - description: >- - Optional. DLP settings for transcript redaction. Will default to the - config specified in Settings. - id: GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest - type: object - description: Request to upload a conversation. - GoogleCloudContactcenterinsightsV1alpha1SentimentData: - properties: - magnitude: - format: float - type: number - description: >- - A non-negative number from 0 to infinity which represents the - abolute magnitude of sentiment regardless of score. - score: - format: float - type: number - description: The sentiment score between -1.0 (negative) and 1.0 (positive). - type: object - description: The data for a sentiment annotation. - id: GoogleCloudContactcenterinsightsV1alpha1SentimentData - GoogleCloudContactcenterinsightsV1IngestConversationsResponse: - type: object - description: The response to an IngestConversations operation. - properties: {} - id: GoogleCloudContactcenterinsightsV1IngestConversationsResponse - GoogleProtobufEmpty: - id: GoogleProtobufEmpty - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - properties: {} - type: object - GoogleCloudContactcenterinsightsV1IntentMatchData: - id: GoogleCloudContactcenterinsightsV1IntentMatchData - description: >- - The data for an intent match. Represents an intent match for a text - segment in the conversation. A text segment can be part of a sentence, a - complete sentence, or an utterance with multiple sentences. - properties: - intentUniqueId: - type: string - description: >- - The id of the matched intent. Can be used to retrieve the - corresponding intent information. - type: object - GoogleCloudContactcenterinsightsV1ListIssuesResponse: - description: The response of listing issues. - id: GoogleCloudContactcenterinsightsV1ListIssuesResponse - type: object - properties: - issues: - type: array - items: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' - description: The issues that match the request. - GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse: - type: object - properties: {} - description: The response to initialize a location-level encryption specification. - id: GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse - GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata: - properties: - conversation: - readOnly: true - description: >- - Output only. The Conversation that this Analysis Operation belongs - to. - type: string - endTime: - description: Output only. The time the operation finished running. - type: string - readOnly: true - format: google-datetime - createTime: - description: Output only. The time the operation was created. - readOnly: true - type: string - format: google-datetime - annotatorSelector: - description: Output only. The annotator selector used for the analysis (if any). - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector - description: Metadata for a create analysis operation. + description: Metadata for initializing a location-level encryption specification. + id: GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata type: object - id: GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata - GoogleCloudContactcenterinsightsV1alpha1GcsSource: + GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary: + id: GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary properties: - transcriptUri: + wordIndex: + type: integer description: >- - Immutable. Cloud Storage URI that points to a file that contains the - conversation transcript. - type: string - audioUri: + The word index of this boundary with respect to the first word in + the transcript piece. This index starts at zero. + format: int32 + transcriptIndex: + format: int32 + type: integer description: >- - Cloud Storage URI that points to a file that contains the - conversation audio. - type: string - description: A Cloud Storage source of conversation data. - id: GoogleCloudContactcenterinsightsV1alpha1GcsSource + The index in the sequence of transcribed pieces of the conversation + where the boundary is located. This index starts at zero. type: object + description: >- + A point in a conversation that marks the start or the end of an + annotation. GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput: id: GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput - description: Explicit input used for generating the answer type: object properties: - query: - type: string - description: >- - Query text. Article Search uses this to store the input query used - to generate the search results. querySource: + type: string description: Query source for the answer. enumDescriptions: - Unknown query source. @@ -2791,1708 +3393,1839 @@ components: - >- The query is a query from previous suggestions, e.g. from a preceding SuggestKnowledgeAssist response. - type: string enum: - QUERY_SOURCE_UNSPECIFIED - AGENT_QUERY - SUGGESTED_QUERY + query: + type: string + description: >- + Query text. Article Search uses this to store the input query used + to generate the search results. generatorName: + type: string description: >- The resource name of associated generator. Format: `projects//locations//generators/` - type: string - GoogleCloudContactcenterinsightsV1ExactMatchConfig: - description: Exact match configuration. - id: GoogleCloudContactcenterinsightsV1ExactMatchConfig - properties: - caseSensitive: - description: Whether to consider case sensitivity when performing an exact match. - type: boolean + description: Explicit input used for generating the answer + GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse: type: object - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig: + id: GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse + description: The response to initialize a location-level encryption specification. + properties: {} + GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats: properties: - agentChannel: - format: int32 - type: integer - description: >- - Optional. Indicates which of the channels, 1 or 2, contains the - agent. Note that this must be set for conversations to be properly - displayed and analyzed. - customerChannel: - type: integer - format: int32 - description: >- - Optional. Indicates which of the channels, 1 or 2, contains the - agent. Note that this must be set for conversations to be properly - displayed and analyzed. - agentId: + issue: description: >- - Optional. An opaque, user-specified string representing a human - agent who handled all conversations in the import. Note that this - will be overridden if per-conversation metadata is provided through - the `metadata_bucket_uri`. + Issue resource. Format: + projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} type: string - id: >- - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig + displayName: + description: Display name of the issue. + type: string + labeledConversationsCount: + type: string + description: Number of conversations attached to the issue at this point in time. + format: int64 type: object - description: Configuration that applies to all conversations. - GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats: + id: GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats + description: Aggregated statistics about an issue. + GoogleIamV1TestIamPermissionsResponse: + id: GoogleIamV1TestIamPermissionsResponse properties: - duplicatesSkippedCount: - type: integer - format: int32 - readOnly: true + permissions: + items: + type: string + type: array description: >- - Output only. The number of objects skipped because another - conversation with the same transcript uri had already been ingested. - processedObjectCount: - type: integer + A subset of `TestPermissionsRequest.permissions` that the caller is + allowed. + type: object + description: Response message for `TestIamPermissions` method. + GoogleCloudContactcenterinsightsV1alpha1Analysis: + description: The analysis resource. + properties: + name: + type: string description: >- - Output only. The number of objects processed during the ingest - operation. + Immutable. The resource name of the analysis. Format: + projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis} + requestTime: + format: google-datetime readOnly: true - format: int32 - failedIngestCount: + description: Output only. The time at which the analysis was requested. + type: string + analysisResult: description: >- - Output only. The number of objects which were unable to be ingested - due to errors. The errors are populated in the partial_errors field. - format: int32 - type: integer + Output only. The result of the analysis, which is populated when the + analysis finishes. readOnly: true - successfulIngestCount: - type: integer + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnalysisResult + createTime: + type: string + format: google-datetime description: >- - Output only. The number of new conversations added during this - ingest operation. + Output only. The time at which the analysis was created, which + occurs when the long-running operation completes. readOnly: true - format: int32 - id: >- - GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats - description: Statistics for IngestConversations operation. + annotatorSelector: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector + description: >- + To select the annotators to run and the phrase matchers to use (if + any). If not specified, all annotators will be run. type: object - GoogleCloudContactcenterinsightsV1IngestConversationsMetadata: + id: GoogleCloudContactcenterinsightsV1alpha1Analysis + GoogleCloudContactcenterinsightsV1FeedbackLabel: properties: - partialErrors: + name: description: >- - Output only. Partial errors during ingest operation that might cause - the operation output to be incomplete. - items: - $ref: '#/components/schemas/GoogleRpcStatus' - type: array - readOnly: true - endTime: - readOnly: true - format: google-datetime + Immutable. Resource name of the FeedbackLabel. Format: + projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label} type: string - description: Output only. The time the operation finished running. + qaAnswerLabel: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue + description: QaAnswer label. createTime: readOnly: true format: google-datetime - description: Output only. The time the operation was created. + description: Output only. Create time of the label. type: string - ingestConversationsStats: - description: Output only. Statistics for IngestConversations operation. - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequest + label: + description: String label. + type: string + updateTime: readOnly: true - description: Output only. The original request for ingest. - id: GoogleCloudContactcenterinsightsV1IngestConversationsMetadata + description: Output only. Update time of the label. + format: google-datetime + type: string + labeledResource: + description: Resource name of the resource to be labeled. + type: string type: object - description: The metadata for an IngestConversations operation. - GoogleCloudContactcenterinsightsV1View: - description: The View resource. - id: GoogleCloudContactcenterinsightsV1View + id: GoogleCloudContactcenterinsightsV1FeedbackLabel + description: Represents a conversation, resource, and label provided by the user. + GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata: + id: GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata + description: The metadata for a bulk delete conversations operation. type: object properties: - updateTime: - type: string - readOnly: true + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest + description: The original request for bulk delete. + endTime: format: google-datetime - description: Output only. The most recent time at which the view was updated. - name: - description: >- - Immutable. The resource name of the view. Format: - projects/{project}/locations/{location}/views/{view} - type: string - displayName: + description: The time the operation finished running. type: string - description: The human-readable display name of the view. createTime: + description: The time the operation was created. type: string - readOnly: true - description: Output only. The time at which this view was created. format: google-datetime - value: - type: string - description: String with specific view properties, must be non-empty. - GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsResponse: - description: The response for a bulk delete conversations operation. - properties: {} - id: GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsResponse + partialErrors: + description: >- + Partial errors during bulk delete conversations operation that might + cause the operation output to be incomplete. + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata: + id: GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata + description: The metadata for an IngestConversations operation. type: object - GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata: properties: - createTime: - description: Output only. The time the operation was created. - readOnly: true - format: google-datetime - type: string - endTime: - format: google-datetime - type: string - description: Output only. The time the operation finished running. + request: readOnly: true + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest + description: Output only. The original request for ingest. partialErrors: type: array items: $ref: '#/components/schemas/GoogleRpcStatus' + readOnly: true description: >- - Partial errors during initialising operation that might cause the - operation output to be incomplete. - request: - description: Output only. The original request for initialization. + Output only. Partial errors during ingest operation that might cause + the operation output to be incomplete. + endTime: + format: google-datetime + description: Output only. The time the operation finished running. + readOnly: true + type: string + createTime: + format: google-datetime + description: Output only. The time the operation was created. + type: string readOnly: true + ingestConversationsStats: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats + description: Output only. Statistics for IngestConversations operation. + readOnly: true + GoogleLongrunningOperation: type: object - id: GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata - description: Metadata for initializing a location-level encryption specification. - GoogleCloudContactcenterinsightsV1SpeechConfig: + id: GoogleLongrunningOperation description: >- - 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. - id: GoogleCloudContactcenterinsightsV1SpeechConfig - type: object - properties: - speechRecognizer: - description: >- - The fully-qualified Speech Recognizer resource name. Format: - `projects/{project_id}/locations/{location}/recognizer/{recognizer}` - type: string - GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig: + This resource represents a long-running operation that is the result of + a network API call. properties: - medium: - deprecated: true + response: description: >- - Medium of conversations used in training data. This field is being - deprecated. To specify the medium to be used in training a new issue - model, set the `medium` field on `filter`. - type: string - enumDescriptions: - - Default value, if unspecified will default to PHONE_CALL. - - The format for conversations that took place over the phone. - - The format for conversations that took place over chat. - enum: - - MEDIUM_UNSPECIFIED - - PHONE_CALL - - CHAT - trainingConversationsCount: - format: int64 - readOnly: true - description: Output only. Number of conversations used in training. Output only. - type: string - filter: - type: string + 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`. + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + done: description: >- - A filter to reduce the conversations used for training the model to - a specific subset. - description: Configs for the input data used to create the issue model. - id: GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig - type: object - GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest: - properties: + 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. + type: boolean name: - description: Required. The name of the issue model to delete. + description: >- + 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}`. type: string + metadata: + type: object + description: >- + 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. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + error: + description: >- + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest: type: object - id: GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest - description: The request to delete an issue model. - GoogleCloudContactcenterinsightsV1AnswerFeedback: - id: GoogleCloudContactcenterinsightsV1AnswerFeedback + id: GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest properties: - correctnessLevel: - type: string - enum: - - CORRECTNESS_LEVEL_UNSPECIFIED - - NOT_CORRECT - - PARTIALLY_CORRECT - - FULLY_CORRECT - enumDescriptions: - - Correctness level unspecified. - - Answer is totally wrong. - - Answer is partially correct. - - Answer is fully correct. - description: The correctness level of an answer. - clicked: - type: boolean - description: Indicates whether an answer or item was clicked by the human agent. - displayed: + validateOnly: description: >- - Indicates whether an answer or item was displayed to the human agent - in the agent desktop UI. + Optional. Run in validate only mode, no fine tuning will actually + run. Data quality validations like training data distributions will + run. Even when set to false, the data quality validations will still + run but once the validations complete we will proceed with the fine + tune, if applicable. type: boolean + filter: + description: >- + Required. Filter for selecting the feedback labels that needs to be + used for training. This filter can be used to limit the feedback + labels used for tuning to a feedback labels created or updated for a + specific time-window etc. + type: string + description: Request for TuneQaScorecardRevision endpoint. + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest: + description: The request to ingest conversations. type: object - description: >- - The feedback that the customer has about a certain answer in the - conversation. - GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsResponse: - description: The response for a bulk analyze conversations operation. - id: GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsResponse - type: object - properties: - failedAnalysisCount: - description: Count of failed analyses. - type: integer - format: int32 - successfulAnalysisCount: - type: integer - format: int32 - description: Count of successful analyses. - GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest: - id: GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest properties: - parent: - type: string - description: Required. The parent resource to create analyses in. - annotatorSelector: + redactionConfig: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RedactionConfig description: >- - To select the annotators to run and the phrase matchers to use (if - any). If not specified, all annotators will be run. - analysisPercentage: + Optional. DLP settings for transcript redaction. Optional, will + default to the config specified in Settings. + gcsSource: description: >- - Required. Percentage of selected conversation to analyze, between - [0, 100]. - format: float - type: number - filter: - type: string + A cloud storage bucket source. Note that any previously ingested + objects from the source will be skipped to avoid duplication. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource + conversationConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig + description: Configuration that applies to all conversations. + speechConfig: description: >- - Required. Filter used to select the subset of conversations to - analyze. - description: The request to analyze conversations in bulk. - type: object - GoogleCloudContactcenterinsightsV1ConversationLevelSilence: - description: Conversation-level silence data. - properties: - silenceDuration: + Optional. Default Speech-to-Text configuration. Optional, will + default to the config specified in Settings. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SpeechConfig + sampleSize: + format: int32 + type: integer + description: >- + Optional. If set, this fields indicates the number of objects to + ingest from the Cloud Storage bucket. If empty, the entire bucket + will be ingested. Unless they are first deleted, conversations + produced through sampling won't be ingested by subsequent ingest + requests. + parent: + description: Required. The parent resource for new conversations. type: string - description: Amount of time calculated to be in silence. - format: google-duration - silencePercentage: - type: number - format: float - description: Percentage of the total conversation spent in silence. - type: object - id: GoogleCloudContactcenterinsightsV1ConversationLevelSilence - GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest: - description: The request to delete conversations in bulk. - id: GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsRequest + transcriptObjectConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig + description: Configuration for when `source` contains conversation transcripts. + id: GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest + GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource: properties: - force: + metadataBucketUri: + type: string description: >- - If set to true, all of this conversation's analyses will also be - deleted. Otherwise, the request will only succeed if the - conversation has no analyses. - type: boolean - parent: + Optional. The Cloud Storage path to the conversation metadata. Note + that: [1] Metadata files are expected to be in JSON format. [2] + Metadata and source files (transcripts or audio) must be in separate + buckets. [3] A source file and its corresponding metadata file must + share the same name to be properly ingested, E.g. + `gs://bucket/audio/conversation1.mp3` and + `gs://bucket/metadata/conversation1.json`. + bucketUri: + description: Required. The Cloud Storage bucket containing source objects. type: string + customMetadataKeys: + type: array description: >- - Required. The parent resource to delete conversations from. Format: - projects/{project}/locations/{location} - filter: + Optional. Custom keys to extract as conversation labels from + metadata files in `metadata_bucket_uri`. Keys not included in this + field will be ignored. Note that there is a limit of 20 labels per + conversation. + items: + type: string + bucketObjectType: + enumDescriptions: + - The object type is unspecified and will default to `TRANSCRIPT`. + - The object is a transcript. + - The object is an audio file. type: string - description: Filter used to select the subset of conversations to delete. - maxDeleteCount: - format: int32 - description: Maximum number of conversations to delete. - type: integer + enum: + - BUCKET_OBJECT_TYPE_UNSPECIFIED + - TRANSCRIPT + - AUDIO + description: Optional. Specifies the type of the objects in `bucket_uri`. type: object - GoogleCloudContactcenterinsightsV1Entity: - id: GoogleCloudContactcenterinsightsV1Entity + description: Configuration for Cloud Storage bucket sources. + id: GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource + GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig: type: object + id: >- + GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig properties: - sentiment: - description: >- - The aggregate sentiment expressed for this entity in the - conversation. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' - type: + medium: + description: Required. The medium transcript objects represent. + type: string enumDescriptions: - - Unspecified. - - Person. - - Location. - - Organization. - - Event. - - Artwork. - - Consumer product. - - Other types of entities. - - >- - Phone number. The metadata lists the phone number (formatted - according to local convention), plus whichever additional elements - appear in the text: * `number` - The actual number, broken down - into sections according to local convention. * `national_prefix` - - Country code, if detected. * `area_code` - Region or area code, if - detected. * `extension` - Phone extension (to be dialed after - connection), if detected. - - >- - Address. The metadata identifies the street number and locality - plus whichever additional elements appear in the text: * - `street_number` - Street number. * `locality` - City or town. * - `street_name` - Street/route name, if detected. * `postal_code` - - Postal code, if detected. * `country` - Country, if detected. * - `broad_region` - Administrative area, such as the state, if - detected. * `narrow_region` - Smaller administrative area, such as - county, if detected. * `sublocality` - Used in Asian addresses to - demark a district within a city, if detected. - - >- - Date. The metadata identifies the components of the date: * `year` - - Four digit year, if detected. * `month` - Two digit month - number, if detected. * `day` - Two digit day number, if detected. - - Number. The metadata is the number itself. - - Price. The metadata identifies the `value` and `currency`. + - Default value, if unspecified will default to PHONE_CALL. + - The format for conversations that took place over the phone. + - The format for conversations that took place over chat. enum: - - TYPE_UNSPECIFIED - - PERSON - - LOCATION - - ORGANIZATION - - EVENT - - WORK_OF_ART - - CONSUMER_GOOD - - OTHER - - PHONE_NUMBER - - ADDRESS - - DATE - - NUMBER - - PRICE - description: The entity type. + - MEDIUM_UNSPECIFIED + - PHONE_CALL + - CHAT + description: Configuration for processing transcript objects. + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination: + description: Google Cloud Storage Object details to write the feedback labels to. + type: object + properties: + recordsPerFileCount: + description: >- + Optional. The number of records per file. Applicable for either + format. + format: int64 type: string - salience: - type: number + alwaysPrintEmptyFields: description: >- - The salience score associated with the entity in the [0, 1.0] range. - The salience score for an entity provides information about the - importance or centrality of that entity to the entire document text. - Scores closer to 0 are less salient, while scores closer to 1.0 are - highly salient. - format: float - metadata: - type: object + Optional. Always print fields with no presence. This is useful for + printing fields that are not set, like implicit 0 value or empty + lists/maps. Only applicable for JSON format. + type: boolean + addWhitespace: + type: boolean description: >- - Metadata associated with the entity. For most entity types, the - metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph - MID (`mid`), if they are available. For the metadata associated with - other entity types, see the Type table below. - additionalProperties: - type: string - displayName: + Optional. Add whitespace to the JSON file. Makes easier to read, but + increases file size. Only applicable for JSON format. + format: + description: Required. File format in which the labels will be exported. + enumDescriptions: + - Unspecified format. + - CSV format. 1,000 labels are stored per CSV file by default. + - JSON format. 1 label stored per JSON file by default. type: string - description: The representative name for the entity. + enum: + - FORMAT_UNSPECIFIED + - CSV + - JSON + objectUri: + type: string + description: >- + Required. The Google Cloud Storage URI to write the feedback labels + to. The file name will be used as a prefix for the files written to + the bucket if the output needs to be split across multiple files, + otherwise it will be used as is. The file extension will be appended + to the file name based on the format selected. E.g. + `gs://bucket_name/object_uri_prefix` + id: >- + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination + GoogleTypeInterval: + id: GoogleTypeInterval description: >- - The data for an entity annotation. Represents a phrase in the - conversation that is a known entity, such as a person, an organization, - or location. - GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata: + 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. type: object - id: GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata - description: Metadata for creating an issue model. properties: - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest - description: The original request for creation. endTime: - readOnly: true - format: google-datetime + description: >- + Optional. Exclusive end of the interval. If specified, a Timestamp + matching this interval will have to be before the end. type: string - description: Output only. The time the operation finished running. - createTime: format: google-datetime - readOnly: true + startTime: type: string - description: Output only. The time the operation was created. - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata: - description: Metadata from Dialogflow relating to the current transcript segment. + format: google-datetime + description: >- + Optional. Inclusive start of the interval. If specified, a Timestamp + matching this interval will have to be the same or after the start. + GoogleCloudContactcenterinsightsV1alpha1DialogflowSource: + id: GoogleCloudContactcenterinsightsV1alpha1DialogflowSource type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata + description: A Dialogflow source of conversation data. + properties: + audioUri: + description: >- + Cloud Storage URI that points to a file that contains the + conversation audio. + type: string + dialogflowConversation: + type: string + description: >- + Output only. The name of the Dialogflow conversation that this + conversation resource is derived from. Format: + projects/{project}/locations/{location}/conversations/{conversation} + readOnly: true + GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata: properties: smartReplyAllowlistCovered: - type: boolean description: >- Whether the transcript segment was covered under the configured smart reply allowlist in Agent Assist. - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo: + type: boolean + type: object + id: >- + GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata + description: Metadata from Dialogflow relating to the current transcript segment. + GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource: + id: GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource properties: - startOffset: - description: >- - Time offset of the start of this word relative to the beginning of - the total conversation. - type: string - format: google-duration - endOffset: - description: >- - Time offset of the end of this word relative to the beginning of the - total conversation. - type: string - format: google-duration - confidence: - type: number + dialogflowSource: + description: The source when the conversation comes from Dialogflow. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DialogflowSource + gcsSource: + description: A Cloud Storage location specification for the audio and transcript. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1GcsSource + type: object + description: The conversation source, which is a combination of transcript and audio. + GoogleCloudContactcenterinsightsV1alpha1SilenceData: + id: GoogleCloudContactcenterinsightsV1alpha1SilenceData + description: The data for a silence annotation. + type: object + properties: {} + GoogleCloudContactcenterinsightsV1ImportIssueModelResponse: + properties: {} + description: Response from import issue model + type: object + id: GoogleCloudContactcenterinsightsV1ImportIssueModelResponse + GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest: + properties: + validateOnly: + type: boolean description: >- - A confidence estimate between 0.0 and 1.0 of the fidelity of this - word. A default value of 0.0 indicates that the value is unset. - format: float - word: - description: The word itself. Includes punctuation marks that surround the word. + Optional. If set, upload will not happen and the labels will be + validated. If not set, then default behavior will be to upload the + labels after validation is complete. + gcsSource: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource + description: A cloud storage bucket source. + id: GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest + description: The request for bulk uploading feedback labels. + type: object + GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelMetadata: + properties: + endTime: type: string - description: Word-level info for words in a transcript. + format: google-datetime + description: The time the operation finished running. + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest + description: The original import request. + createTime: + type: string + description: The time the operation was created. + format: google-datetime type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentWordInfo - GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest: - id: GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest + id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelMetadata + description: Metadata used for import issue model. + GoogleCloudContactcenterinsightsV1ImportIssueModelRequest: type: object properties: - parent: - type: string - description: Required. The parent resource to export data from. - bigQueryDestination: - description: Specified if sink is a BigQuery table. + gcsSource: + description: Google Cloud Storage source message. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination - filter: + #/components/schemas/GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource + parent: type: string + description: Required. The parent resource of the issue model. + createNewModel: description: >- - A filter to reduce results to a specific subset. Useful for - exporting conversations with specific properties. - kmsKey: - type: string + Optional. If set to true, will create an issue model from the + imported file with randomly generated IDs for the issue model and + corresponding issues. Otherwise, replaces an existing model with the + same ID as the file. + type: boolean + description: Request to import an issue model. + id: GoogleCloudContactcenterinsightsV1ImportIssueModelRequest + GoogleCloudContactcenterinsightsV1ListIssuesResponse: + type: object + id: GoogleCloudContactcenterinsightsV1ListIssuesResponse + description: The response of listing issues. + properties: + issues: + description: The issues that match the request. + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' + type: array + GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig: + properties: + agentChannel: + format: int32 description: >- - A fully qualified KMS key name for BigQuery tables protected by - CMEK. Format: - projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version} - writeDisposition: - enumDescriptions: - - Write disposition is not specified. Defaults to WRITE_TRUNCATE. - - >- - If the table already exists, BigQuery will overwrite the table - data and use the schema from the load. - - >- - If the table already exists, BigQuery will append data to the - table. - description: Options for what to do if the destination table already exists. - enum: - - WRITE_DISPOSITION_UNSPECIFIED - - WRITE_TRUNCATE - - WRITE_APPEND + Optional. Indicates which of the channels, 1 or 2, contains the + agent. Note that this must be set for conversations to be properly + displayed and analyzed. + type: integer + customerChannel: + format: int32 + type: integer + description: >- + Optional. Indicates which of the channels, 1 or 2, contains the + agent. Note that this must be set for conversations to be properly + displayed and analyzed. + agentId: + description: >- + Optional. An opaque, user-specified string representing a human + agent who handled all conversations in the import. Note that this + will be overridden if per-conversation metadata is provided through + the `metadata_bucket_uri`. type: string - description: The request to export insights. - GoogleCloudContactcenterinsightsV1alpha1Analysis: + description: Configuration that applies to all conversations. type: object - description: The analysis resource. - id: GoogleCloudContactcenterinsightsV1alpha1Analysis + id: >- + GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig + GoogleCloudContactcenterinsightsV1AnalysisRule: + type: object + id: GoogleCloudContactcenterinsightsV1AnalysisRule properties: createTime: - type: string + description: Output only. The time at which this analysis rule was created. + readOnly: true format: google-datetime + type: string + updateTime: + type: string readOnly: true description: >- - Output only. The time at which the analysis was created, which - occurs when the long-running operation completes. + Output only. The most recent time at which this analysis rule was + updated. + format: google-datetime annotatorSelector: + description: >- + Selector of annotators to run and the phrase matchers to use for + conversations that matches the conversation_filter. If not + specified, NO annotators will be run. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector + analysisPercentage: + format: double description: >- - To select the annotators to run and the phrase matchers to use (if - any). If not specified, all annotators will be run. + Percentage of conversations that we should apply this analysis + setting automatically, between [0, 1]. For example, 0.1 means 10%. + Conversations are sampled in a determenestic way. The original + runtime_percentage & upload percentage will be replaced by defining + filters on the conversation. + type: number + active: + type: boolean + description: >- + If true, apply this rule to conversations. Otherwise, this rule is + inactive and saved as a draft. name: + type: string description: >- - Immutable. The resource name of the analysis. Format: - projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis} + Identifier. The resource name of the analysis rule. Format: + projects/{project}/locations/{location}/analysisRules/{analysis_rule} + displayName: type: string - analysisResult: + description: Display Name of the analysis rule. + conversationFilter: description: >- - Output only. The result of the analysis, which is populated when the - analysis finishes. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnalysisResult - readOnly: true - requestTime: - format: google-datetime + Filter for the conversations that should apply this analysis rule. + An empty filter means this analysis rule applies to all + conversations. type: string - description: Output only. The time at which the analysis was requested. - readOnly: true - GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData: + description: >- + The CCAI Insights project wide analysis rule. This rule will be applied + to all conversations that match the filter defined in the rule. For a + conversation matches the filter, the annotators specified in the rule + will be run. If a conversation matches multiple rules, a union of all + the annotators will be run. One project can have multiple analysis + rules. + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse: + properties: {} type: object - description: Agent Assist Smart Compose suggestion data. + id: GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse + description: Response for the BulkDownloadFeedbackLabel endpoint. + GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination: + type: object + id: >- + GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination properties: - queryRecord: + dataset: description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} + Required. The name of the BigQuery dataset that the snapshot result + should be exported to. If this dataset does not exist, the export + call returns an INVALID_ARGUMENT error. type: string - metadata: - type: object + table: description: >- - Map that contains metadata about the Smart Compose suggestion and - the document from which it originates. - additionalProperties: - type: string - suggestion: + The BigQuery table name to which the insights data should be + written. If this table does not exist, the export call returns an + INVALID_ARGUMENT error. type: string - description: The content of the suggestion. - confidenceScore: - format: double + projectId: description: >- - The system's confidence score that this suggestion is a good match - for this conversation, ranging from 0.0 (completely uncertain) to - 1.0 (completely certain). - type: number - id: GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData - GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData: + A project ID or number. If specified, then export will attempt to + write data to this project instead of the resource project. + Otherwise, the resource project will be used. + type: string + description: A BigQuery Table Reference. + GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig: + type: object properties: - suggestion: - description: The content of the suggestion. + summarizationModel: + enumDescriptions: + - Unspecified summarization model. + - The CCAI baseline model. + - The CCAI baseline model, V2.0. + description: Default summarization model to be used. + enum: + - SUMMARIZATION_MODEL_UNSPECIFIED + - BASELINE_MODEL + - BASELINE_MODEL_V2_0 type: string - queryRecord: + conversationProfile: type: string description: >- - The name of the answer record. Format: - projects/{project}/locations/{location}/answerRecords/{answer_record} - metadata: - type: object + Resource name of the Dialogflow conversation profile. Format: + projects/{project}/locations/{location}/conversationProfiles/{conversation_profile} + description: Configuration for summarization. + id: GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig + GoogleCloudContactcenterinsightsV1FaqAnswerData: + type: object + description: Agent Assist frequently-asked-question answer data. + id: GoogleCloudContactcenterinsightsV1FaqAnswerData + properties: + source: description: >- - Map that contains metadata about the Smart Compose suggestion and - the document from which it originates. + The knowledge document that this answer was extracted from. Format: + projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}. + type: string + metadata: additionalProperties: type: string + description: >- + Map that contains metadata about the FAQ answer and the document + that it originates from. + type: object + question: + description: The corresponding FAQ question. + type: string + answer: + type: string + description: The piece of text from the `source` knowledge base document. confidenceScore: - type: number - format: double description: >- - The system's confidence score that this suggestion is a good match - for this conversation, ranging from 0.0 (completely uncertain) to - 1.0 (completely certain). - description: Agent Assist Smart Compose suggestion data. + The system's confidence score that this answer is a good match for + this conversation, ranging from 0.0 (completely uncertain) to 1.0 + (completely certain). + format: float + type: number + queryRecord: + description: >- + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + type: string + GoogleCloudContactcenterinsightsV1ListConversationsResponse: + properties: + nextPageToken: + description: >- + A token which can be sent as `page_token` to retrieve the next page. + If this field is set, it means there is another page available. If + it is not set, it means no other pages are available. + type: string + conversations: + type: array + description: The conversations that match the request. + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + id: GoogleCloudContactcenterinsightsV1ListConversationsResponse type: object - id: GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData - GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest: + description: The response of listing conversations. + GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest: + type: object + id: GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest properties: - force: - type: boolean + encryptionSpec: description: >- - If set to true, all of this conversation's analyses will also be - deleted. Otherwise, the request will only succeed if the - conversation has no analyses. - maxDeleteCount: - description: Maximum number of conversations to delete. - format: int32 - type: integer - filter: - description: Filter used to select the subset of conversations to delete. + Required. The encryption spec used for CMEK encryption. It is + required that the kms key is in the same region as the endpoint. The + same key will be used for all provisioned resources, if encryption + is available. If the `kms_key_name` field is left empty, no + encryption will be enforced. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1EncryptionSpec + description: The request to initialize a location-level encryption specification. + GoogleCloudContactcenterinsightsV1alpha1IssueModelResult: + type: object + id: GoogleCloudContactcenterinsightsV1alpha1IssueModelResult + description: Issue Modeling result on a conversation. + properties: + issueModel: + description: >- + Issue model that generates the result. Format: + projects/{project}/locations/{location}/issueModels/{issue_model} type: string - parent: + issues: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueAssignment + description: All the matched issues. + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore: + type: object + id: >- + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore + description: Average QA normalized score for the tag. + properties: + averageTagNormalizedScore: + type: number + format: double + description: Average tag normalized score per tag. + tag: type: string + description: Tag name. + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse: + properties: + slices: description: >- - Required. The parent resource to delete conversations from. Format: - projects/{project}/locations/{location} + A slice contains a total and (if the request specified a time + granularity) a time series of metric values. Each slice contains a + unique combination of the cardinality of dimensions from the + request. + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice + type: array + updateTime: + type: string + format: google-datetime + description: The metrics last update time. + location: + type: string + description: >- + Required. The location of the data. + "projects/{project}/locations/{location}" + macroAverageSlice: + description: >- + The macro average slice contains aggregated averages across the + selected dimension. i.e. if group_by agent is specified this field + will contain the average across all agents. This field is only + populated if the request specifies a Dimension. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice + description: The response for querying metrics. + id: GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse type: object - id: GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest - description: The request to delete conversations in bulk. - GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback: - description: >- - The feedback that the customer has about a certain answer in the - conversation. + GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval: properties: - clicked: - type: boolean - description: Indicates whether an answer or item was clicked by the human agent. - correctnessLevel: - enum: - - CORRECTNESS_LEVEL_UNSPECIFIED - - NOT_CORRECT - - PARTIALLY_CORRECT - - FULLY_CORRECT + conversationCount: + type: integer + description: The number of conversations created in this interval. + format: int32 + startTime: + description: The start time of this interval. + format: google-datetime type: string - description: The correctness level of an answer. - enumDescriptions: - - Correctness level unspecified. - - Answer is totally wrong. - - Answer is partially correct. - - Answer is fully correct. - displayed: - type: boolean - description: >- - Indicates whether an answer or item was displayed to the human agent - in the agent desktop UI. type: object - id: GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback - GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination: - description: A BigQuery Table Reference. id: >- - GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination + GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval + description: A single interval in a time series. + GoogleCloudContactcenterinsightsV1ExportIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1ExportIssueModelRequest + description: Request to export an issue model. + properties: + gcsDestination: + description: Google Cloud Storage URI to export the issue model to. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination + name: + description: Required. The issue model to export. + type: string type: object + GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata: properties: - table: - description: >- - The BigQuery table name to which the insights data should be - written. If this table does not exist, the export call returns an - INVALID_ARGUMENT error. + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DeployIssueModelRequest + description: The original request for deployment. + createTime: type: string - projectId: + readOnly: true + description: Output only. The time the operation was created. + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + format: google-datetime type: string + readOnly: true + id: GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata + type: object + description: Metadata for deploying an issue model. + GoogleCloudContactcenterinsightsV1IntentMatchData: + type: object + id: GoogleCloudContactcenterinsightsV1IntentMatchData + description: >- + The data for an intent match. Represents an intent match for a text + segment in the conversation. A text segment can be part of a sentence, a + complete sentence, or an utterance with multiple sentences. + properties: + intentUniqueId: description: >- - A project ID or number. If specified, then export will attempt to - write data to this project instead of the resource project. - Otherwise, the resource project will be used. - dataset: + The id of the matched intent. Can be used to retrieve the + corresponding intent information. type: string - description: >- - Required. The name of the BigQuery dataset that the snapshot result - should be exported to. If this dataset does not exist, the export - call returns an INVALID_ARGUMENT error. - GoogleCloudContactcenterinsightsV1alpha1Entity: + GoogleCloudContactcenterinsightsV1IngestConversationsResponse: + type: object + id: GoogleCloudContactcenterinsightsV1IngestConversationsResponse + description: The response to an IngestConversations operation. + properties: {} + GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList: + id: >- + GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList + properties: + qaScorecardRevisions: + items: + type: string + type: array + description: List of QaScorecardRevisions. + type: object + description: Container for a list of scorecards. + GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest: + type: object + properties: {} + id: GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest + description: The request to undeploy a QaScorecardRevision + GoogleCloudContactcenterinsightsV1QaQuestionMetrics: description: >- - The data for an entity annotation. Represents a phrase in the - conversation that is a known entity, such as a person, an organization, - or location. + A wrapper representing metrics calculated against a test-set on a LLM + that was fine tuned for this question. + id: GoogleCloudContactcenterinsightsV1QaQuestionMetrics type: object - id: GoogleCloudContactcenterinsightsV1alpha1Entity properties: - salience: + accuracy: + description: >- + Output only. Accuracy of the model. Measures the percentage of + correct answers the model gave on the test set. + format: double type: number - format: float + readOnly: true + GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata: + properties: + request: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ExportIssueModelRequest + description: The original export request. + createTime: + format: google-datetime + description: The time the operation was created. + type: string + endTime: + type: string + format: google-datetime + description: The time the operation finished running. + id: GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata + type: object + description: Metadata used for export issue model. + GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata: + type: object + id: GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata + properties: + tuningError: description: >- - The salience score associated with the entity in the [0, 1.0] range. - The salience score for an entity provides information about the - importance or centrality of that entity to the entire document text. - Scores closer to 0 are less salient, while scores closer to 1.0 are - highly salient. - metadata: - type: object - additionalProperties: + Error status of the tuning operation for the question. Will only be + set if the tuning operation failed. + type: string + datasetValidationWarnings: + type: array + description: >- + A list of any applicable data validation warnings about the + question's feedback labels. + items: type: string + enumDescriptions: + - Unspecified data validation warning. + - A non-trivial percentage of the feedback labels are invalid. + - >- + The quantity of valid feedback labels provided is less than the + recommended minimum. + - >- + One or more of the answers have less than the recommended + minimum of feedback labels. + - All the labels in the dataset come from a single answer choice. + enum: + - DATASET_VALIDATION_WARNING_UNSPECIFIED + - TOO_MANY_INVALID_FEEDBACK_LABELS + - INSUFFICIENT_FEEDBACK_LABELS + - INSUFFICIENT_FEEDBACK_LABELS_PER_ANSWER + - ALL_FEEDBACK_LABELS_HAVE_THE_SAME_ANSWER + totalValidLabelCount: + description: >- + Total number of valid labels provided for the question at the time + of tuining. + type: string + format: int64 + description: >- + Metadata about the tuning operation for the question. Will only be set + if a scorecard containing this question has been tuned. + GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse: + type: object + properties: + analysisRules: + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisRule + type: array + description: The analysis_rule that match the request. + nextPageToken: description: >- - Metadata associated with the entity. For most entity types, the - metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph - MID (`mid`), if they are available. For the metadata associated with - other entity types, see the Type table below. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + id: GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse + description: The response of listing views. + GoogleCloudContactcenterinsightsV1alpha1Intent: + id: GoogleCloudContactcenterinsightsV1alpha1Intent + type: object + properties: displayName: - description: The representative name for the entity. type: string - sentiment: - description: >- - The aggregate sentiment expressed for this entity in the - conversation. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData - type: - enumDescriptions: - - Unspecified. - - Person. - - Location. - - Organization. - - Event. - - Artwork. - - Consumer product. - - Other types of entities. - - >- - Phone number. The metadata lists the phone number (formatted - according to local convention), plus whichever additional elements - appear in the text: * `number` - The actual number, broken down - into sections according to local convention. * `national_prefix` - - Country code, if detected. * `area_code` - Region or area code, if - detected. * `extension` - Phone extension (to be dialed after - connection), if detected. - - >- - Address. The metadata identifies the street number and locality - plus whichever additional elements appear in the text: * - `street_number` - Street number. * `locality` - City or town. * - `street_name` - Street/route name, if detected. * `postal_code` - - Postal code, if detected. * `country` - Country, if detected. * - `broad_region` - Administrative area, such as the state, if - detected. * `narrow_region` - Smaller administrative area, such as - county, if detected. * `sublocality` - Used in Asian addresses to - demark a district within a city, if detected. - - >- - Date. The metadata identifies the components of the date: * `year` - - Four digit year, if detected. * `month` - Two digit month - number, if detected. * `day` - Two digit day number, if detected. - - Number. The metadata is the number itself. - - Price. The metadata identifies the `value` and `currency`. - enum: - - TYPE_UNSPECIFIED - - PERSON - - LOCATION - - ORGANIZATION - - EVENT - - WORK_OF_ART - - CONSUMER_GOOD - - OTHER - - PHONE_NUMBER - - ADDRESS - - DATE - - NUMBER - - PRICE + description: The human-readable name of the intent. + id: + description: The unique identifier of the intent. type: string - description: The entity type. - GoogleCloudContactcenterinsightsV1AnnotationBoundary: - id: GoogleCloudContactcenterinsightsV1AnnotationBoundary + description: >- + The data for an intent. Represents a detected intent in the + conversation, for example MAKES_PROMISE. + GoogleCloudContactcenterinsightsV1alpha1SentimentData: + id: GoogleCloudContactcenterinsightsV1alpha1SentimentData + type: object properties: - wordIndex: - format: int32 + score: + format: float + description: The sentiment score between -1.0 (negative) and 1.0 (positive). + type: number + magnitude: description: >- - The word index of this boundary with respect to the first word in - the transcript piece. This index starts at zero. - type: integer - transcriptIndex: + A non-negative number from 0 to infinity which represents the + abolute magnitude of sentiment regardless of score. + type: number + format: float + description: The data for a sentiment annotation. + GoogleCloudContactcenterinsightsV1SentimentData: + id: GoogleCloudContactcenterinsightsV1SentimentData + properties: + magnitude: description: >- - The index in the sequence of transcribed pieces of the conversation - where the boundary is located. This index starts at zero. - format: int32 - type: integer - description: >- - A point in a conversation that marks the start or the end of an - annotation. - type: object - GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata: - description: Call-specific metadata created during analysis. + A non-negative number from 0 to infinity which represents the + abolute magnitude of sentiment regardless of score. + format: float + type: number + score: + format: float + type: number + description: The sentiment score between -1.0 (negative) and 1.0 (positive). + description: The data for a sentiment annotation. type: object + GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats: properties: - sentiments: - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationLevelSentiment - description: Overall conversation-level sentiment for each channel of the call. - type: array - silence: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationLevelSilence - description: Overall conversation-level silence during the call. - intents: - description: All the matched intents in the call. - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Intent' - entities: - description: All the entities in the call. - additionalProperties: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Entity' - type: object - issueModelResult: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelResult - description: Overall conversation-level issue modeling result. - phraseMatchers: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchData - type: object - description: All the matched phrase matchers in the call. - annotations: - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1CallAnnotation - description: A list of call annotations that apply to this call. - type: array - id: GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata: - description: The metadata for an IngestConversations operation. + labeledConversationsCount: + format: int64 + description: Number of conversations attached to the issue at this point in time. + type: string + displayName: + type: string + description: Display name of the issue. + issue: + type: string + description: >- + Issue resource. Format: + projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + type: object + description: Aggregated statistics about an issue. + id: GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats + GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata: properties: createTime: - description: Output only. The time the operation was created. + format: google-datetime + readOnly: true type: string + description: Output only. The time the operation was created. + endTime: format: google-datetime readOnly: true - partialErrors: + description: Output only. The time the operation finished running. + type: string + request: + description: Output only. The original request for initialization. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest readOnly: true + partialErrors: + description: >- + Partial errors during initializing operation that might cause the + operation output to be incomplete. + type: array items: $ref: '#/components/schemas/GoogleRpcStatus' - type: array - description: >- - Output only. Partial errors during ingest operation that might cause - the operation output to be incomplete. - ingestConversationsStats: - readOnly: true - description: Output only. Statistics for IngestConversations operation. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadataIngestConversationsStats - request: + type: object + description: Metadata for initializing a location-level encryption specification. + id: GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata + GoogleCloudContactcenterinsightsV1alpha1UploadConversationMetadata: + id: GoogleCloudContactcenterinsightsV1alpha1UploadConversationMetadata + type: object + properties: + createTime: + description: Output only. The time the operation was created. readOnly: true - description: Output only. The original request for ingest. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequest + format: google-datetime + type: string endTime: description: Output only. The time the operation finished running. - type: string format: google-datetime + type: string readOnly: true - id: GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata - type: object - GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata: - description: Metadata from Dialogflow relating to the current transcript segment. - type: object - id: >- - GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata - properties: - smartReplyAllowlistCovered: + request: + description: Output only. The original request. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest + readOnly: true + analysisOperation: + readOnly: true + type: string description: >- - Whether the transcript segment was covered under the configured - smart reply allowlist in Agent Assist. - type: boolean - GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData: + Output only. The operation name for a successfully created analysis + operation, if any. + appliedRedactionConfig: + description: >- + Output only. The redaction config applied to the uploaded + conversation. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RedactionConfig + readOnly: true + description: The metadata for an `UploadConversation` operation. + GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse: + properties: {} type: object - id: GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData + description: The response to deploy an issue model. + id: GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse + GoogleCloudContactcenterinsightsV1EncryptionSpec: + id: GoogleCloudContactcenterinsightsV1EncryptionSpec properties: - confidence: - format: float - type: number + name: description: >- - The confidence of the match ranging from 0.0 (completely uncertain) - to 1.0 (completely certain). - dialogflowIntentId: + Immutable. The resource name of the encryption key specification + resource. Format: + projects/{project}/locations/{location}/encryptionSpec + type: string + kmsKey: type: string description: >- - The Dialogflow intent resource path. Format: - projects/{project}/agent/{agent}/intents/{intent} - description: Dialogflow interaction data. - GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest: - id: GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest + 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 our default 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}` + description: >- + A customer-managed encryption key specification that can be applied to + all created resources (e.g. `Conversation`). + type: object + GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats: + id: GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats + type: object + description: Aggregated statistics about an issue model. properties: - bigQueryDestination: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination - description: Specified if sink is a BigQuery table. - filter: + issueStats: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats + description: Statistics on each issue. Key is the issue's resource name. + type: object + analyzedConversationsCount: type: string + format: int64 description: >- - A filter to reduce results to a specific subset. Useful for - exporting conversations with specific properties. - parent: - description: Required. The parent resource to export data from. - type: string - writeDisposition: - enumDescriptions: - - Write disposition is not specified. Defaults to WRITE_TRUNCATE. - - >- - If the table already exists, BigQuery will overwrite the table - data and use the schema from the load. - - >- - If the table already exists, BigQuery will append data to the - table. - description: Options for what to do if the destination table already exists. - enum: - - WRITE_DISPOSITION_UNSPECIFIED - - WRITE_TRUNCATE - - WRITE_APPEND - type: string - kmsKey: - type: string + Number of conversations the issue model has analyzed at this point + in time. + unclassifiedConversationsCount: description: >- - A fully qualified KMS key name for BigQuery tables protected by - CMEK. Format: - projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version} - description: The request to export insights. - type: object - GoogleCloudContactcenterinsightsV1Conversation: - description: The conversation resource. - id: GoogleCloudContactcenterinsightsV1Conversation + Number of analyzed conversations for which no issue was applicable + at this point in time. + type: string + format: int64 + GoogleCloudContactcenterinsightsV1QaAnswer: + description: An answer to a QaQuestion. + id: GoogleCloudContactcenterinsightsV1QaAnswer type: object properties: - latestSummary: - description: Output only. Latest summary of the conversation. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData - readOnly: true - dialogflowIntents: + tags: description: >- - Output only. All the matched Dialogflow intents in the call. The key - corresponds to a Dialogflow intent, format: - projects/{project}/agent/{agent}/intents/{intent} - type: object - additionalProperties: + User-defined list of arbitrary tags. Matches the value from + QaScorecard.ScorecardQuestion.tags. Used for grouping/organization + and for weighting the score of each answer. + type: array + items: + type: string + conversation: + type: string + description: The conversation the answer applies to. + answerSources: + description: List of all individual answers given to the question. + type: array + items: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1DialogflowIntent - readOnly: true - agentId: - description: >- - An opaque, user-specified string representing the human agent who - handled the conversation. + #/components/schemas/GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource + answerValue: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue + description: The main answer value, incorporating any manual edits if they exist. + qaQuestion: type: string - name: + description: The QaQuestion answered by this answer. + potentialScore: + deprecated: true + type: number + format: double description: >- - Immutable. The resource name of the conversation. Format: - projects/{project}/locations/{location}/conversations/{conversation} + The maximum potential score of the question. If the question was + answered using `na_value`, this field will be zero. Deprecated: Use + AnswerValue.potential_score instead. + questionBody: + description: Question text. E.g., "Did the agent greet the customer?" type: string - expireTime: - description: >- - The time at which this conversation should expire. After this time, - the conversation data and any associated analyses will be deleted. + GoogleCloudContactcenterinsightsV1PhraseMatchData: + id: GoogleCloudContactcenterinsightsV1PhraseMatchData + properties: + phraseMatcher: type: string - format: google-datetime - languageCode: - description: A user-specified language code for the conversation. + description: The unique identifier (the resource name) of the phrase matcher. + displayName: + description: The human-readable name of the phrase matcher. type: string - ttl: + type: object + description: >- + The data for a matched phrase matcher. Represents information + identifying a phrase matcher for a given match. + GoogleLongrunningListOperationsResponse: + description: The response message for Operations.ListOperations. + id: GoogleLongrunningListOperationsResponse + type: object + properties: + operations: + type: array description: >- - Input only. The TTL for this resource. If specified, then this TTL - will be used to calculate the expire time. - format: google-duration + A list of operations that matches the specified filter in the + request. + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' + nextPageToken: type: string - obfuscatedUserId: - description: Obfuscated user ID which the customer sent to us. + description: The standard List next-page token. + GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig: + type: object + id: >- + GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig + properties: + summarizationModel: type: string - createTime: - format: google-datetime - description: Output only. The time at which the conversation was created. + enumDescriptions: + - Unspecified summarization model. + - The CCAI baseline model. + - The CCAI baseline model, V2.0. + description: Default summarization model to be used. + enum: + - SUMMARIZATION_MODEL_UNSPECIFIED + - BASELINE_MODEL + - BASELINE_MODEL_V2_0 + conversationProfile: + description: >- + Resource name of the Dialogflow conversation profile. Format: + projects/{project}/locations/{location}/conversationProfiles/{conversation_profile} type: string - readOnly: true - transcript: - readOnly: true - description: Output only. The conversation transcript. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscript - metadataJson: + description: Configuration for summarization. + GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput: + properties: + query: type: string description: >- - 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. - medium: + Query text. Article Search uses this to store the input query used + to generate the search results. + querySource: enumDescriptions: - - Default value, if unspecified will default to PHONE_CALL. - - The format for conversations that took place over the phone. - - The format for conversations that took place over chat. + - Unknown query source. + - The query is from agents. + - >- + The query is a query from previous suggestions, e.g. from a + preceding SuggestKnowledgeAssist response. enum: - - MEDIUM_UNSPECIFIED - - PHONE_CALL - - CHAT + - QUERY_SOURCE_UNSPECIFIED + - AGENT_QUERY + - SUGGESTED_QUERY + description: Query source for the answer. type: string + generatorName: description: >- - Immutable. The conversation medium, if unspecified will default to - PHONE_CALL. - callMetadata: - description: Call-specific metadata. + The resource name of associated generator. Format: + `projects//locations//generators/` + type: string + type: object + description: Explicit input used for generating the answer + id: GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput + GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse: + type: object + id: GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse + description: The response to undeploy an issue model. + properties: {} + GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse: + id: GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse + properties: + failedAnalysisCount: + description: Count of failed analyses. + format: int32 + type: integer + successfulAnalysisCount: + type: integer + format: int32 + description: Count of successful analyses. + description: The response for a bulk analyze conversations operation. + type: object + GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig: + type: object + id: GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig + description: Configuration information of a phrase match rule. + properties: + exactMatchConfig: + description: The configuration for the exact match rule. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationCallMetadata - runtimeAnnotations: - type: array - description: >- - Output only. The annotations that were generated during the customer - and agent interaction. + #/components/schemas/GoogleCloudContactcenterinsightsV1ExactMatchConfig + GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries: + id: GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries + properties: + points: items: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1RuntimeAnnotation - readOnly: true - startTime: - format: google-datetime - type: string - description: The time at which the conversation started. - qualityMetadata: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationQualityMetadata - description: Conversation metadata related to quality management. - updateTime: - format: google-datetime + #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval description: >- - Output only. The most recent time at which the conversation was - updated. - readOnly: true + An ordered list of intervals from earliest to latest, where each + interval represents the number of conversations that transpired + during the time window. + type: array + intervalDuration: + format: google-duration type: string - turnCount: - description: Output only. The number of turns in the conversation. - type: integer - readOnly: true + description: The duration of each interval. + description: A time series representing conversations over time. + type: object + GoogleCloudContactcenterinsightsV1ConversationCallMetadata: + description: Call-specific metadata. + type: object + properties: + customerChannel: + type: integer format: int32 - labels: - additionalProperties: - type: string + description: The audio channel that contains the customer. + agentChannel: + format: int32 + type: integer + description: The audio channel that contains the agent. + id: GoogleCloudContactcenterinsightsV1ConversationCallMetadata + GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequest + properties: + createNewModel: + type: boolean description: >- - 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. - type: object - dataSource: + Optional. If set to true, will create an issue model from the + imported file with randomly generated IDs for the issue model and + corresponding issues. Otherwise, replaces an existing model with the + same ID as the file. + gcsSource: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationDataSource - description: The source of the audio and transcription for the conversation. - duration: - format: google-duration + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource + description: Google Cloud Storage source message. + parent: + description: Required. The parent resource of the issue model. type: string - description: Output only. The duration of the conversation. - readOnly: true - latestAnalysis: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' - readOnly: true - description: Output only. The conversation's latest analysis, if one exists. - GoogleCloudContactcenterinsightsV1ListAnalysesResponse: type: object - id: GoogleCloudContactcenterinsightsV1ListAnalysesResponse - description: The response to list analyses. + description: Request to import an issue model. + GoogleCloudContactcenterinsightsV1ConversationQualityMetadata: properties: - nextPageToken: + waitDuration: type: string - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - analyses: - items: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' + format: google-duration + description: The amount of time the customer waited to connect with an agent. + agentInfo: + description: Information about agents involved in the call. type: array - description: The analyses that match the request. - GoogleCloudContactcenterinsightsV1Issue: - description: The issue resource. + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo + customerSatisfactionRating: + type: integer + format: int32 + description: >- + An arbitrary integer value indicating the customer's satisfaction + rating. + menuPath: + description: >- + An arbitrary string value specifying the menu path the customer + took. + type: string + type: object + id: GoogleCloudContactcenterinsightsV1ConversationQualityMetadata + description: Conversation metadata related to quality management. + GoogleCloudContactcenterinsightsV1ExportIssueModelResponse: + properties: {} + description: Response from export issue model + id: GoogleCloudContactcenterinsightsV1ExportIssueModelResponse + type: object + GoogleCloudContactcenterinsightsV1IssueModelResult: + type: object + description: Issue Modeling result on a conversation. properties: - name: + issueModel: type: string description: >- - Immutable. The resource name of the issue. Format: - projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} - sampleUtterances: - readOnly: true + Issue model that generates the result. Format: + projects/{project}/locations/{location}/issueModels/{issue_model} + issues: + description: All the matched issues. items: - type: string + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueAssignment type: array - description: >- - Output only. Resource names of the sample representative utterances - that match to this issue. - updateTime: - description: Output only. The most recent time that this issue was updated. - format: google-datetime - type: string - readOnly: true - displayDescription: + id: GoogleCloudContactcenterinsightsV1IssueModelResult + GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult: + type: object + description: Tags and their corresponding results. + properties: + potentialScore: + description: The potential score the tag applies to. + format: double + type: number + score: + description: The score the tag applies to. + format: double + type: number + normalizedScore: + format: double + description: The normalized score the tag applies to. + type: number + tag: + description: The tag the score applies to. type: string - description: Representative description of the issue. + id: GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse: + properties: {} + type: object + id: GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse + description: The response to an IngestConversations operation. + GoogleCloudContactcenterinsightsV1DialogflowIntent: + id: GoogleCloudContactcenterinsightsV1DialogflowIntent + properties: displayName: - description: The representative name for the issue. - type: string - createTime: - readOnly: true - description: Output only. The time at which this issue was created. type: string - format: google-datetime + description: The human-readable name of the intent. + description: >- + The data for a Dialogflow intent. Represents a detected intent in the + conversation, e.g. MAKES_PROMISE. + type: object + GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata: + description: Metadata for an export insights operation. type: object - id: GoogleCloudContactcenterinsightsV1Issue - GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata: - id: GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata - description: Metadata for a create analysis operation. properties: - annotatorSelector: + partialErrors: + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + Partial errors during export operation that might cause the + operation output to be incomplete. + request: + description: The original request for export. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector - description: Output only. The annotator selector used for the analysis (if any). + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest + createTime: + type: string + format: google-datetime + description: Output only. The time the operation was created. readOnly: true endTime: + format: google-datetime + description: Output only. The time the operation finished running. readOnly: true type: string - description: Output only. The time the operation finished running. - format: google-datetime + id: GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata: + properties: + downloadStats: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats + description: Output only. Statistics for BulkDownloadFeedbackLabels operation. + partialErrors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + type: array + description: >- + Partial errors during ingest operation that might cause the + operation output to be incomplete. createTime: - description: Output only. The time the operation was created. + format: google-datetime + readOnly: true type: string + description: Output only. The time the operation was created. + request: + readOnly: true + description: Output only. The original request for download. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest + endTime: readOnly: true format: google-datetime - conversation: - description: >- - Output only. The Conversation that this Analysis Operation belongs - to. + description: Output only. The time the operation finished running. type: string - readOnly: true + description: Metadata for the BulkDownloadFeedbackLabel endpoint. + id: GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata type: object - GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats: + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata: type: object - id: GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats - description: Aggregated statistics about an issue model. + properties: {} + id: GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata + description: The metadata from querying metrics. + GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback: properties: - unclassifiedConversationsCount: + displayed: description: >- - Number of analyzed conversations for which no issue was applicable - at this point in time. - format: int64 - type: string - issueStats: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats - type: object - description: Statistics on each issue. Key is the issue's resource name. - analyzedConversationsCount: - format: int64 + Indicates whether an answer or item was displayed to the human agent + in the agent desktop UI. + type: boolean + correctnessLevel: + description: The correctness level of an answer. + enumDescriptions: + - Correctness level unspecified. + - Answer is totally wrong. + - Answer is partially correct. + - Answer is fully correct. + enum: + - CORRECTNESS_LEVEL_UNSPECIFIED + - NOT_CORRECT + - PARTIALLY_CORRECT + - FULLY_CORRECT type: string - description: >- - Number of conversations the issue model has analyzed at this point - in time. - GoogleCloudContactcenterinsightsV1ConversationLevelSentiment: - id: GoogleCloudContactcenterinsightsV1ConversationLevelSentiment + clicked: + description: Indicates whether an answer or item was clicked by the human agent. + type: boolean + id: GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback type: object - description: One channel of conversation-level sentiment data. - properties: - channelTag: - type: integer - description: The channel of the audio that the data applies to. - format: int32 - sentimentData: - description: Data specifying sentiment. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' - GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig: + description: >- + The feedback that the customer has about a certain answer in the + conversation. + GoogleCloudContactcenterinsightsV1SilenceData: type: object - id: GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig - properties: - exactMatchConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExactMatchConfig - description: The configuration for the exact match rule. - description: Configuration information of a phrase match rule. - GoogleCloudContactcenterinsightsV1AnnotatorSelector: + id: GoogleCloudContactcenterinsightsV1SilenceData + properties: {} + description: The data for a silence annotation. + GoogleCloudContactcenterinsightsV1Entity: type: object - id: GoogleCloudContactcenterinsightsV1AnnotatorSelector - description: Selector of all available annotators and phrase matchers to run. + id: GoogleCloudContactcenterinsightsV1Entity properties: - runSummarizationAnnotator: - type: boolean - description: Whether to run the summarization annotator. - runSentimentAnnotator: - type: boolean - description: Whether to run the sentiment annotator. - issueModels: - description: >- - The issue model to run. If not provided, the most recently deployed - topic model will be used. The provided issue model will only be used - for inference if the issue model is deployed and if - run_issue_model_annotator is set to true. If more than one issue - model is provided, only the first provided issue model will be used - for inference. - items: - type: string - type: array - runIntentAnnotator: - type: boolean - description: Whether to run the intent annotator. - runEntityAnnotator: - description: Whether to run the entity annotator. - type: boolean - runPhraseMatcherAnnotator: - type: boolean - description: Whether to run the active phrase matcher annotator(s). - runInterruptionAnnotator: - type: boolean - description: Whether to run the interruption annotator. - runSilenceAnnotator: - description: Whether to run the silence annotator. - type: boolean - runIssueModelAnnotator: - type: boolean + sentiment: description: >- - Whether to run the issue model annotator. A model should have - already been deployed for this to take effect. - summarizationConfig: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig - description: Configuration for the summarization annotator. - phraseMatchers: - items: - type: string - type: array + The aggregate sentiment expressed for this entity in the + conversation. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' + salience: + type: number + format: float description: >- - The list of phrase matchers to run. If not provided, all active - phrase matchers will be used. If inactive phrase matchers are - provided, they will not be used. Phrase matchers will be run only if - run_phrase_matcher_annotator is set to true. Format: - projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} - GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent: - type: object - description: >- - The data for a Dialogflow intent. Represents a detected intent in the - conversation, e.g. MAKES_PROMISE. - properties: + The salience score associated with the entity in the [0, 1.0] range. + The salience score for an entity provides information about the + importance or centrality of that entity to the entire document text. + Scores closer to 0 are less salient, while scores closer to 1.0 are + highly salient. displayName: - description: The human-readable name of the intent. type: string - id: GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig: - properties: - medium: + description: The representative name for the entity. + metadata: + additionalProperties: + type: string + description: >- + Metadata associated with the entity. For most entity types, the + metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph + MID (`mid`), if they are available. For the metadata associated with + other entity types, see the Type table below. + type: object + type: + description: The entity type. enum: - - MEDIUM_UNSPECIFIED - - PHONE_CALL - - CHAT - type: string - description: Required. The medium transcript objects represent. + - TYPE_UNSPECIFIED + - PERSON + - LOCATION + - ORGANIZATION + - EVENT + - WORK_OF_ART + - CONSUMER_GOOD + - OTHER + - PHONE_NUMBER + - ADDRESS + - DATE + - NUMBER + - PRICE enumDescriptions: - - Default value, if unspecified will default to PHONE_CALL. - - The format for conversations that took place over the phone. - - The format for conversations that took place over chat. - type: object - id: >- - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig - description: Configuration for processing transcript objects. - GoogleCloudContactcenterinsightsV1alpha1IssueAssignment: + - Unspecified. + - Person. + - Location. + - Organization. + - Event. + - Artwork. + - Consumer product. + - Other types of entities. + - >- + Phone number. The metadata lists the phone number (formatted + according to local convention), plus whichever additional elements + appear in the text: * `number` - The actual number, broken down + into sections according to local convention. * `national_prefix` - + Country code, if detected. * `area_code` - Region or area code, if + detected. * `extension` - Phone extension (to be dialed after + connection), if detected. + - >- + Address. The metadata identifies the street number and locality + plus whichever additional elements appear in the text: * + `street_number` - Street number. * `locality` - City or town. * + `street_name` - Street/route name, if detected. * `postal_code` - + Postal code, if detected. * `country` - Country, if detected. * + `broad_region` - Administrative area, such as the state, if + detected. * `narrow_region` - Smaller administrative area, such as + county, if detected. * `sublocality` - Used in Asian addresses to + demark a district within a city, if detected. + - >- + Date. The metadata identifies the components of the date: * `year` + - Four digit year, if detected. * `month` - Two digit month + number, if detected. * `day` - Two digit day number, if detected. + - Number. The metadata is the number itself. + - Price. The metadata identifies the `value` and `currency`. + type: string + description: >- + The data for an entity annotation. Represents a phrase in the + conversation that is a known entity, such as a person, an organization, + or location. + GoogleCloudContactcenterinsightsV1IssueMatchData: + properties: + issueAssignment: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueAssignment + description: Information about the issue's assignment. + id: GoogleCloudContactcenterinsightsV1IssueMatchData + description: The data for an issue match annotation. type: object - id: GoogleCloudContactcenterinsightsV1alpha1IssueAssignment - description: Information about the issue. + GoogleCloudContactcenterinsightsV1SmartReplyData: + id: GoogleCloudContactcenterinsightsV1SmartReplyData + description: Agent Assist Smart Reply data. properties: - issue: - type: string - description: Resource name of the assigned issue. - score: + metadata: + additionalProperties: + type: string description: >- - Score indicating the likelihood of the issue assignment. currently - bounded on [0,1]. - format: double + Map that contains metadata about the Smart Reply and the document + from which it originates. + type: object + reply: + description: The content of the reply. + type: string + confidenceScore: type: number - displayName: + format: double description: >- - Immutable. Display name of the assigned issue. This field is set at - time of analyis and immutable since then. + The system's confidence score that this reply is a good match for + this conversation, ranging from 0.0 (completely uncertain) to 1.0 + (completely certain). + queryRecord: type: string - GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata: + description: >- + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} type: object - id: GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata - properties: - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest - description: The original request for undeployment. - endTime: - type: string - format: google-datetime - readOnly: true - description: Output only. The time the operation finished running. - createTime: - readOnly: true - description: Output only. The time the operation was created. - format: google-datetime - type: string - description: Metadata for undeploying an issue model. - GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource: - id: GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelRequestGcsSource + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript: type: object + description: A message representing the transcript of a conversation. + id: GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript properties: - objectUri: - type: string - description: 'Required. Format: `gs:///`' - description: Google Cloud Storage Object URI to get the issue model file from. - GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata: + transcriptSegments: + description: >- + A list of sequential transcript segments that comprise the + conversation. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment + GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest: + type: object + id: GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest properties: - request: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest - description: The original request for deletion. - createTime: - readOnly: true - description: Output only. The time the operation was created. - type: string - format: google-datetime - endTime: - description: Output only. The time the operation finished running. + filter: + description: >- + A filter to reduce results to a specific subset. Useful for + exporting conversations with specific properties. type: string - format: google-datetime - readOnly: true - id: GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata - type: object - description: Metadata for deleting an issue model. - GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval: - id: >- - GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval - type: object - properties: - startTime: - format: google-datetime - description: The start time of this interval. - type: string - conversationCount: - description: The number of conversations created in this interval. - format: int32 - type: integer - description: A single interval in a time series. - GoogleCloudContactcenterinsightsV1ListViewsResponse: - properties: - nextPageToken: + writeDisposition: + enumDescriptions: + - Write disposition is not specified. Defaults to WRITE_TRUNCATE. + - >- + If the table already exists, BigQuery will overwrite the table + data and use the schema from the load. + - >- + If the table already exists, BigQuery will append data to the + table. + enum: + - WRITE_DISPOSITION_UNSPECIFIED + - WRITE_TRUNCATE + - WRITE_APPEND + description: Options for what to do if the destination table already exists. type: string - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - views: - type: array - description: The views that match the request. - items: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' - type: object - description: The response of listing views. - id: GoogleCloudContactcenterinsightsV1ListViewsResponse - GoogleCloudContactcenterinsightsV1IssueModelLabelStats: - description: Aggregated statistics about an issue model. - properties: - analyzedConversationsCount: - description: >- - Number of conversations the issue model has analyzed at this point - in time. + kmsKey: type: string - format: int64 - unclassifiedConversationsCount: description: >- - Number of analyzed conversations for which no issue was applicable - at this point in time. - format: int64 + A fully qualified KMS key name for BigQuery tables protected by + CMEK. Format: + projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version} + parent: type: string - issueStats: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats - type: object - description: Statistics on each issue. Key is the issue's resource name. - type: object - id: GoogleCloudContactcenterinsightsV1IssueModelLabelStats - GoogleCloudContactcenterinsightsV1IssueModel: - type: object - description: The issue model resource. + description: Required. The parent resource to export data from. + bigQueryDestination: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination + description: Specified if sink is a BigQuery table. + description: The request to export insights. + GoogleCloudContactcenterinsightsV1IngestConversationsMetadata: + description: The metadata for an IngestConversations operation. + id: GoogleCloudContactcenterinsightsV1IngestConversationsMetadata properties: - languageCode: - description: Language of the model. - type: string - displayName: - type: string - description: The representative name for the issue model. - issueCount: - readOnly: true - format: int64 - description: Output only. Number of issues in this issue model. - type: string createTime: - type: string - description: Output only. The time at which this issue model was created. + description: Output only. The time the operation was created. readOnly: true format: google-datetime - inputDataConfig: - description: Configs for the input data that used to create the issue model. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig - name: type: string - description: >- - Immutable. The resource name of the issue model. Format: - projects/{project}/locations/{location}/issueModels/{issue_model} - updateTime: - description: >- - Output only. The most recent time at which the issue model was - updated. + endTime: + readOnly: true type: string + description: Output only. The time the operation finished running. format: google-datetime + request: readOnly: true - trainingStats: - description: >- - Output only. Immutable. The issue model's label statistics on its - training data. + description: Output only. The original request for ingest. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStats + #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequest + ingestConversationsStats: + description: Output only. Statistics for IngestConversations operation. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats readOnly: true - modelType: - enumDescriptions: - - Unspecified model type. - - Type V1. - - Type V2. - description: Type of the model. - type: string - enum: - - MODEL_TYPE_UNSPECIFIED - - TYPE_V1 - - TYPE_V2 - state: - description: Output only. State of the model. - type: string - enumDescriptions: - - Unspecified. - - Model is not deployed but is ready to deploy. - - Model is being deployed. - - >- - Model is deployed and is ready to be used. A model can only be - used in analysis if it's in this state. - - Model is being undeployed. - - Model is being deleted. - enum: - - STATE_UNSPECIFIED - - UNDEPLOYED - - DEPLOYING - - DEPLOYED - - UNDEPLOYING - - DELETING + partialErrors: + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + Output only. Partial errors during ingest operation that might cause + the operation output to be incomplete. readOnly: true - id: GoogleCloudContactcenterinsightsV1IssueModel - GoogleCloudContactcenterinsightsV1ConversationParticipant: type: object - description: The call participant speaking for a given utterance. + GoogleCloudContactcenterinsightsV1CreateIssueModelRequest: + description: The request to create an issue model. + type: object + id: GoogleCloudContactcenterinsightsV1CreateIssueModelRequest properties: - obfuscatedExternalUserId: - description: Obfuscated user ID from Dialogflow. - type: string - dialogflowParticipant: - type: string - description: >- - Deprecated. Use `dialogflow_participant_name` instead. The name of - the Dialogflow participant. Format: - projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} - deprecated: true - userId: - type: string - description: A user-specified ID representing the participant. - role: - enumDescriptions: - - Participant's role is not set. - - Participant is a human agent. - - Participant is an automated agent. - - Participant is an end user who conversed with the contact center. - - Participant is either a human or automated agent. - enum: - - ROLE_UNSPECIFIED - - HUMAN_AGENT - - AUTOMATED_AGENT - - END_USER - - ANY_AGENT - type: string - description: The role of the participant. - dialogflowParticipantName: + issueModel: + description: Required. The issue model to create. + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel' + parent: + description: Required. The parent resource of the issue model. type: string - description: >- - The name of the participant provided by Dialogflow. Format: - projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} - id: GoogleCloudContactcenterinsightsV1ConversationParticipant - GoogleCloudContactcenterinsightsV1SilenceData: - type: object - id: GoogleCloudContactcenterinsightsV1SilenceData - properties: {} - description: The data for a silence annotation. - GoogleCloudContactcenterinsightsV1EntityMentionData: - id: GoogleCloudContactcenterinsightsV1EntityMentionData - description: >- - The data for an entity mention annotation. This represents a mention of - an `Entity` in the conversation. + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata: + description: Metadata from Dialogflow relating to the current transcript segment. + id: >- + GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata type: object properties: - entityUniqueId: - type: string + smartReplyAllowlistCovered: description: >- - The key of this entity in conversation entities. Can be used to - retrieve the exact `Entity` this mention is attached to. - type: - enumDescriptions: - - Unspecified. - - Proper noun. - - Common noun (or noun compound). - description: The type of the entity mention. + Whether the transcript segment was covered under the configured + smart reply allowlist in Agent Assist. + type: boolean + GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment: + properties: + languageCode: type: string - enum: - - MENTION_TYPE_UNSPECIFIED - - PROPER - - COMMON + description: >- + The language code of this segment as a + [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + Example: "en-US". + dialogflowSegmentMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata + description: CCAI metadata relating to the current transcript segment. sentiment: + description: The sentiment for this transcript segment. $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1SentimentData' - description: Sentiment expressed for this mention of the entity. - GoogleCloudContactcenterinsightsV1alpha1SilenceData: - description: The data for a silence annotation. - id: GoogleCloudContactcenterinsightsV1alpha1SilenceData - properties: {} - type: object - GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata: - id: GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata - description: The metadata for a bulk delete conversations operation. - properties: - partialErrors: + words: + type: array items: - $ref: '#/components/schemas/GoogleRpcStatus' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo description: >- - Partial errors during bulk delete conversations operation that might - cause the operation output to be incomplete. - type: array - endTime: - type: string - description: The time the operation finished running. - format: google-datetime - createTime: - type: string - format: google-datetime - description: The time the operation was created. - request: + A list of the word-specific information for each word in the + segment. + segmentParticipant: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest - description: The original request for bulk delete. - type: object - GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata: - description: Call-specific metadata. - properties: - agentChannel: - description: The audio channel that contains the agent. - type: integer - format: int32 - customerChannel: - description: The audio channel that contains the customer. + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationParticipant + description: The participant of this segment. + channelTag: + description: >- + For conversations derived from multi-channel audio, this is the + channel number corresponding to the audio from that channel. For + audioChannelCount = N, its output values can range from '1' to 'N'. + A channel tag of 0 indicates that the audio is mono. type: integer format: int32 - id: GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata - type: object - GoogleCloudContactcenterinsightsV1ExportIssueModelResponse: - id: GoogleCloudContactcenterinsightsV1ExportIssueModelResponse - type: object - properties: {} - description: Response from export issue model - GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata: - properties: - createTime: - description: The time the operation was created. + text: + description: The text of this segment. type: string + confidence: + description: >- + A confidence estimate between 0.0 and 1.0 of the fidelity of this + segment. A default value of 0.0 indicates that the value is unset. + type: number + format: float + messageTime: format: google-datetime - endTime: type: string - format: google-datetime - description: The time the operation finished running. - request: - description: The original export request. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExportIssueModelRequest + description: The time that the message occurred, if provided. + id: >- + GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment + description: A segment of a full transcript. type: object - description: Metadata used for export issue model. - id: GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata - GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest: + GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig: + description: Default configuration when creating Analyses in Insights. properties: - encryptionSpec: + annotatorSelector: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1EncryptionSpec + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector description: >- - Required. The encryption spec used for CMEK encryption. It is - required that the kms key is in the same region as the endpoint. The - same key will be used for all provisioned resources, if encryption - is available. If the kms_key_name is left empty, no encryption will - be enforced. + To select the annotators to run and the phrase matchers to use (if + any). If not specified, all annotators will be run. + runtimeIntegrationAnalysisPercentage: + description: >- + Percentage of conversations created using Dialogflow runtime + integration to analyze automatically, between [0, 100]. + format: double + type: number + uploadConversationAnalysisPercentage: + type: number + description: >- + Percentage of conversations created using the UploadConversation + endpoint to analyze automatically, between [0, 100]. + format: double + id: GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig type: object - id: GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest - description: The request to initialize a location-level encryption specification. - GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries: + GoogleCloudContactcenterinsightsV1ListAnalysesResponse: + type: object + description: The response to list analyses. + id: GoogleCloudContactcenterinsightsV1ListAnalysesResponse properties: - points: + analyses: + items: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' type: array + description: The analyses that match the request. + nextPageToken: description: >- - An ordered list of intervals from earliest to latest, where each - interval represents the number of conversations that transpired - during the time window. - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval - intervalDuration: - format: google-duration + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - description: The duration of each interval. - id: GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries - description: A time series representing conversations over time. - type: object - GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata: - description: Metadata for undeploying an issue model. - id: GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata + GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData: + description: Agent Assist Smart Compose suggestion data. properties: - createTime: - description: Output only. The time the operation was created. - format: google-datetime - type: string - readOnly: true - request: - description: The original request for undeployment. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest - endTime: + suggestion: + description: The content of the suggestion. type: string - format: google-datetime - readOnly: true - description: Output only. The time the operation finished running. - type: object - GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector: - id: GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector - properties: - runPhraseMatcherAnnotator: - description: Whether to run the active phrase matcher annotator(s). - type: boolean - issueModels: - items: - type: string + metadata: description: >- - The issue model to run. If not provided, the most recently deployed - topic model will be used. The provided issue model will only be used - for inference if the issue model is deployed and if - run_issue_model_annotator is set to true. If more than one issue - model is provided, only the first provided issue model will be used - for inference. - type: array - runSummarizationAnnotator: - type: boolean - description: Whether to run the summarization annotator. - runSilenceAnnotator: - description: Whether to run the silence annotator. - type: boolean - runIntentAnnotator: - type: boolean - description: Whether to run the intent annotator. - runInterruptionAnnotator: - description: Whether to run the interruption annotator. - type: boolean - phraseMatchers: - items: + Map that contains metadata about the Smart Compose suggestion and + the document from which it originates. + type: object + additionalProperties: type: string + confidenceScore: description: >- - The list of phrase matchers to run. If not provided, all active - phrase matchers will be used. If inactive phrase matchers are - provided, they will not be used. Phrase matchers will be run only if - run_phrase_matcher_annotator is set to true. Format: - projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} - type: array - runSentimentAnnotator: - description: Whether to run the sentiment annotator. - type: boolean - summarizationConfig: - description: Configuration for the summarization annotator. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig - runIssueModelAnnotator: - type: boolean + The system's confidence score that this suggestion is a good match + for this conversation, ranging from 0.0 (completely uncertain) to + 1.0 (completely certain). + type: number + format: double + queryRecord: + type: string description: >- - Whether to run the issue model annotator. A model should have - already been deployed for this to take effect. - runEntityAnnotator: - type: boolean - description: Whether to run the entity annotator. - type: object - description: Selector of all available annotators and phrase matchers to run. - GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelMetadata: - id: GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelMetadata + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + id: GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData type: object + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig: properties: - createTime: - description: The time the operation was created. - type: string - format: google-datetime - request: - description: The original export request. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest - endTime: - description: The time the operation finished running. - format: google-datetime - type: string - description: Metadata used for export issue model. - GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig: - properties: - agentChannel: - description: >- - Optional. Indicates which of the channels, 1 or 2, contains the - agent. Note that this must be set for conversations to be properly - displayed and analyzed. - type: integer - format: int32 agentId: description: >- Optional. An opaque, user-specified string representing a human @@ -4501,998 +5234,5107 @@ components: the `metadata_bucket_uri`. type: string customerChannel: + format: int32 description: >- Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed. - format: int32 type: integer - id: >- - GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig + agentChannel: + description: >- + Optional. Indicates which of the channels, 1 or 2, contains the + agent. Note that this must be set for conversations to be properly + displayed and analyzed. + type: integer + format: int32 type: object description: Configuration that applies to all conversations. - GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsMetadata: - id: GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsMetadata + id: >- + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestConversationConfig + GoogleCloudContactcenterinsightsV1alpha1IntentMatchData: + description: >- + The data for an intent match. Represents an intent match for a text + segment in the conversation. A text segment can be part of a sentence, a + complete sentence, or an utterance with multiple sentences. + id: GoogleCloudContactcenterinsightsV1alpha1IntentMatchData type: object properties: - endTime: - type: string - description: The time the operation finished running. - format: google-datetime - failedAnalysesCount: - type: integer - description: The number of requested analyses that have failed so far. - format: int32 - completedAnalysesCount: - format: int32 - description: >- - The number of requested analyses that have completed successfully so - far. - type: integer - request: - description: The original request for bulk analyze. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsRequest - partialErrors: + intentUniqueId: description: >- - Output only. Partial errors during bulk analyze operation that might - cause the operation output to be incomplete. - type: array - readOnly: true - items: - $ref: '#/components/schemas/GoogleRpcStatus' - createTime: - description: The time the operation was created. + The id of the matched intent. Can be used to retrieve the + corresponding intent information. type: string - format: google-datetime - totalRequestedAnalysesCount: - format: int32 - description: >- - Total number of analyses requested. Computed by the number of - conversations returned by `filter` multiplied by - `analysis_percentage` in the request. - type: integer - description: The metadata for a bulk analyze conversations operation. - GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata: + GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource: + description: >- + A scorecard result may have multiple sets of scores from varying + sources, one of which becomes the "main" answer above. A ScoreSource + represents each individual set of scores. type: object - description: Metadata for initializing a location-level encryption specification. - id: GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata properties: - request: - readOnly: true - description: Output only. The original request for initialization. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest - createTime: - description: Output only. The time the operation was created. - type: string - format: google-datetime - readOnly: true - partialErrors: + score: + format: double + description: The overall numerical score of the result. + type: number + normalizedScore: + type: number + format: double description: >- - Partial errors during initialising operation that might cause the - operation output to be incomplete. + The normalized score, which is the score divided by the potential + score. + sourceType: + type: string + description: What created the score. + enumDescriptions: + - Source type is unspecified. + - Score is derived only from system-generated answers. + - >- + Score is derived from both system-generated answers, and includes + any manual edits if they exist. + enum: + - SOURCE_TYPE_UNSPECIFIED + - SYSTEM_GENERATED_ONLY + - INCLUDES_MANUAL_EDITS + qaTagResults: items: - $ref: '#/components/schemas/GoogleRpcStatus' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult type: array - endTime: - type: string - format: google-datetime - readOnly: true - description: Output only. The time the operation finished running. - GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig: + description: Collection of tags and their scores. + potentialScore: + description: >- + The maximum potential overall score of the scorecard. Any questions + answered using `na_value` are excluded from this calculation. + format: double + type: number + id: GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource + GoogleCloudContactcenterinsightsV1GcsSource: type: object + description: A Cloud Storage source of conversation data. + id: GoogleCloudContactcenterinsightsV1GcsSource properties: - summarizationModel: - enum: - - SUMMARIZATION_MODEL_UNSPECIFIED - - BASELINE_MODEL - - BASELINE_MODEL_V2_0 - enumDescriptions: - - Unspecified summarization model. - - The CCAI baseline model. - - The CCAI baseline model, V2.0. - description: Default summarization model to be used. + transcriptUri: type: string - conversationProfile: description: >- - Resource name of the Dialogflow conversation profile. Format: - projects/{project}/locations/{location}/conversationProfiles/{conversation_profile} + Immutable. Cloud Storage URI that points to a file that contains the + conversation transcript. + audioUri: type: string - id: >- - GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig - description: Configuration for summarization. - GoogleCloudContactcenterinsightsV1Analysis: - properties: - analysisResult: description: >- - Output only. The result of the analysis, which is populated when the - analysis finishes. - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisResult - name: + Cloud Storage URI that points to a file that contains the + conversation audio. + GoogleCloudContactcenterinsightsV1ConversationLevelSilence: + properties: + silenceDuration: + description: Amount of time calculated to be in silence. + type: string + format: google-duration + silencePercentage: + format: float + type: number + description: Percentage of the total conversation spent in silence. + id: GoogleCloudContactcenterinsightsV1ConversationLevelSilence + type: object + description: Conversation-level silence data. + GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsResponse: + type: object + properties: {} + description: The response for a bulk delete conversations operation. + id: GoogleCloudContactcenterinsightsV1alpha1BulkDeleteConversationsResponse + GoogleCloudContactcenterinsightsV1DialogflowSource: + properties: + audioUri: type: string description: >- - Immutable. The resource name of the analysis. Format: - projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis} - createTime: - format: google-datetime + Cloud Storage URI that points to a file that contains the + conversation audio. + dialogflowConversation: readOnly: true description: >- - Output only. The time at which the analysis was created, which - occurs when the long-running operation completes. - type: string - requestTime: - readOnly: true - description: Output only. The time at which the analysis was requested. - format: google-datetime + Output only. The name of the Dialogflow conversation that this + conversation resource is derived from. Format: + projects/{project}/locations/{location}/conversations/{conversation} type: string - annotatorSelector: - description: >- - To select the annotators to run and the phrase matchers to use (if - any). If not specified, all annotators will be run. - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector + description: A Dialogflow source of conversation data. type: object - description: The analysis resource. - id: GoogleCloudContactcenterinsightsV1Analysis - GoogleLongrunningListOperationsResponse: + id: GoogleCloudContactcenterinsightsV1DialogflowSource + GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse: properties: - nextPageToken: - type: string - description: The standard List next-page token. - operations: - type: array + currentStats: description: >- - A list of operations that matches the specified filter in the - request. - items: - $ref: '#/components/schemas/GoogleLongrunningOperation' - description: The response message for Operations.ListOperations. - id: GoogleLongrunningListOperationsResponse + The latest label statistics for the queried issue model. Includes + results on both training data and data labeled after deployment. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStats type: object - GoogleCloudContactcenterinsightsV1alpha1EntityMentionData: - id: GoogleCloudContactcenterinsightsV1alpha1EntityMentionData + id: GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse + description: Response of querying an issue model's statistics. + GoogleCloudContactcenterinsightsV1alpha1HoldData: + id: GoogleCloudContactcenterinsightsV1alpha1HoldData + description: The data for a hold annotation. + properties: {} type: object - description: >- - The data for an entity mention annotation. This represents a mention of - an `Entity` in the conversation. + GoogleCloudContactcenterinsightsV1PhraseMatcher: + type: object + description: The phrase matcher resource. properties: - entityUniqueId: - type: string - description: >- - The key of this entity in conversation entities. Can be used to - retrieve the exact `Entity` this mention is attached to. - sentiment: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData - description: Sentiment expressed for this mention of the entity. + phraseMatchRuleGroups: + type: array + description: A list of phase match rule groups that are included in this matcher. + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup type: + type: string + enum: + - PHRASE_MATCHER_TYPE_UNSPECIFIED + - ALL_OF + - ANY_OF + description: Required. The type of this phrase matcher. enumDescriptions: - Unspecified. - - Proper noun. - - Common noun (or noun compound). - description: The type of the entity mention. + - Must meet all phrase match rule groups or there is no match. + - If any of the phrase match rule groups are met, there is a match. + displayName: + description: The human-readable name of the phrase matcher. type: string - enum: - - MENTION_TYPE_UNSPECIFIED - - PROPER - - COMMON - GoogleCloudContactcenterinsightsV1alpha1IssueModelResult: - properties: - issueModel: + active: + type: boolean + description: Applies the phrase matcher only when it is active. + updateTime: type: string + format: google-datetime + readOnly: true description: >- - Issue model that generates the result. Format: - projects/{project}/locations/{location}/issueModels/{issue_model} - issues: - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueAssignment - type: array - description: All the matched issues. - description: Issue Modeling result on a conversation. - id: GoogleCloudContactcenterinsightsV1alpha1IssueModelResult - type: object - GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript: - properties: - transcriptSegments: + Output only. The most recent time at which the phrase matcher was + updated. + versionTag: description: >- - A list of sequential transcript segments that comprise the - conversation. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscriptTranscriptSegment - id: GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript - description: A message representing the transcript of a conversation. - type: object - GoogleCloudContactcenterinsightsV1CreateIssueModelRequest: - description: The request to create an issue model. - properties: - parent: + The customized version tag to use for the phrase matcher. If not + specified, it will default to `revision_id`. type: string - description: Required. The parent resource of the issue model. - issueModel: - description: Required. The issue model to create. - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel' - id: GoogleCloudContactcenterinsightsV1CreateIssueModelRequest - type: object - GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse: - properties: {} - id: GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse - description: The response to deploy an issue model. - type: object - GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest: - properties: name: type: string - description: Required. The issue model to deploy. - id: GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest - type: object - description: The request to deploy an issue model. - GoogleRpcStatus: - description: >- - 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). - properties: - details: - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - type: array description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - code: - format: int32 - type: integer - description: The status code, which should be an enum value of google.rpc.Code. - message: + The resource name of the phrase matcher. Format: + projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} + revisionCreateTime: description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + Output only. The timestamp of when the revision was created. It is + also the create time when a new matcher is added. + format: google-datetime + readOnly: true type: string - id: GoogleRpcStatus - type: object - GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse: - id: GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse - properties: {} + roleMatch: + enum: + - ROLE_UNSPECIFIED + - HUMAN_AGENT + - AUTOMATED_AGENT + - END_USER + - ANY_AGENT + type: string + description: >- + The role whose utterances the phrase matcher should be matched + against. If the role is ROLE_UNSPECIFIED it will be matched against + any utterances in the transcript. + enumDescriptions: + - Participant's role is not set. + - Participant is a human agent. + - Participant is an automated agent. + - Participant is an end user who conversed with the contact center. + - Participant is either a human or automated agent. + revisionId: + readOnly: true + description: >- + Output only. Immutable. The revision ID of the phrase matcher. A new + revision is committed whenever the matcher is changed, except when + it is activated or deactivated. A server generated random ID will be + used. Example: + locations/global/phraseMatchers/my-first-matcher@1234567 + type: string + activationUpdateTime: + format: google-datetime + readOnly: true + type: string + description: >- + Output only. The most recent time at which the activation status was + updated. + id: GoogleCloudContactcenterinsightsV1PhraseMatcher + GoogleCloudContactcenterinsightsV1ListIssueModelsResponse: + description: The response of listing issue models. type: object - description: The response to an IngestConversations operation. - GoogleCloudContactcenterinsightsV1ConversationQualityMetadata: properties: - agentInfo: + issueModels: type: array items: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo - description: Information about agents involved in the call. - waitDuration: - description: The amount of time the customer waited to connect with an agent. - format: google-duration + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel' + description: The issue models that match the request. + id: GoogleCloudContactcenterinsightsV1ListIssueModelsResponse + GoogleCloudContactcenterinsightsV1ArticleSuggestionData: + description: Agent Assist Article Suggestion data. + type: object + id: GoogleCloudContactcenterinsightsV1ArticleSuggestionData + properties: + confidenceScore: + description: >- + The system's confidence score that this article is a good match for + this conversation, ranging from 0.0 (completely uncertain) to 1.0 + (completely certain). + format: float + type: number + queryRecord: type: string - menuPath: description: >- - An arbitrary string value specifying the menu path the customer - took. + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + metadata: + additionalProperties: + type: string + type: object + description: >- + Map that contains metadata about the Article Suggestion and the + document that it originates from. + uri: + description: Article URI. type: string - customerSatisfactionRating: + source: description: >- - An arbitrary integer value indicating the customer's satisfaction - rating. - type: integer - format: int32 - description: Conversation metadata related to quality management. - type: object - id: GoogleCloudContactcenterinsightsV1ConversationQualityMetadata - GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination: - type: object + The knowledge document that this answer was extracted from. Format: + projects/{project}/knowledgeBases/{knowledge_base}/documents/{document} + type: string + title: + type: string + description: Article title. + GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata: properties: - objectUri: - description: 'Required. Format: `gs:///`' + qaQuestionId: type: string - description: Google Cloud Storage Object URI to save the issue model to. - id: GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination - GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse: + description: Optional. The QA question ID. + questionBody: + type: string + description: Optional. The full body of the question. + qaScorecardId: + description: Optional. The QA scorecard ID. + type: string + id: GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata type: object - id: GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse + description: Metadata about the QA question dimension. + GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig: + properties: + scorecardList: + description: A manual list of scorecards to score. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList + description: Configuration for the QA feature. + type: object + id: GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig + GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest: + type: object + description: The request to deploy a QaScorecardRevision properties: {} - description: The response to undeploy an issue model. - GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata: - id: GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata - description: Metadata for an export insights operation. + id: GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest + GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelMetadata: type: object + description: Metadata used for export issue model. + id: GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelMetadata properties: + createTime: + format: google-datetime + type: string + description: The time the operation was created. request: - description: The original request for export. + description: The original export request. $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelRequest endTime: - type: string format: google-datetime - description: Output only. The time the operation finished running. - readOnly: true - createTime: - readOnly: true type: string - format: google-datetime - description: Output only. The time the operation was created. - partialErrors: - items: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Partial errors during export operation that might cause the - operation output to be incomplete. - type: array - GoogleCloudContactcenterinsightsV1CalculateStatsResponse: - description: The response for calculating conversation statistics. + description: The time the operation finished running. + GoogleCloudContactcenterinsightsV1RedactionConfig: + type: object properties: - conversationCountTimeSeries: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries + inspectTemplate: description: >- - A time series representing the count of conversations created over - time that match that requested filter criteria. - issueMatches: - deprecated: true + The fully-qualified DLP inspect template resource name. Format: + `projects/{project}/locations/{location}/inspectTemplates/{template}` + type: string + deidentifyTemplate: + type: string description: >- - A map associating each issue resource name with its respective - number of matches in the set of conversations. Key has the format: - `projects//locations//issueModels//issues/` Deprecated, use - `issue_matches_stats` field instead. - additionalProperties: - type: integer - format: int32 - type: object - smartHighlighterMatches: + The fully-qualified DLP deidentify template resource name. Format: + `projects/{project}/deidentifyTemplates/{template}` + description: >- + 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. + id: GoogleCloudContactcenterinsightsV1RedactionConfig + GoogleIamV1TestIamPermissionsRequest: + id: GoogleIamV1TestIamPermissionsRequest + type: object + properties: + permissions: description: >- - A map associating each smart highlighter display name with its - respective number of matches in the set of conversations. - additionalProperties: - format: int32 - type: integer - type: object - conversationCount: - type: integer - format: int32 - description: The total number of conversations. - issueMatchesStats: + The set of permissions to check for the `resource`. Permissions with + wildcards (such as `*` or `storage.*`) are not allowed. For more + information see [IAM + Overview](https://cloud.google.com/iam/docs/overview#permissions). + items: + type: string + type: array + description: Request message for `TestIamPermissions` method. + GoogleIamV1AuditConfig: + id: GoogleIamV1AuditConfig + properties: + auditLogConfigs: + type: array + description: The configuration for logging of each type of permission. + items: + $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' + service: + type: string description: >- - A map associating each issue resource name with its respective - number of matches in the set of conversations. Key has the format: - `projects//locations//issueModels//issues/` - additionalProperties: + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + type: object + GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse: + properties: + nextPageToken: + type: string + description: The next page token. + feedbackLabels: + type: array + description: The feedback labels that match the request. + items: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats - type: object - averageTurnCount: - description: The average number of turns per conversation. - type: integer - format: int32 - averageDuration: + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + type: object + id: GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse + description: The response for listing feedback labels. + GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource: + type: object + properties: + objectUri: type: string + description: 'Required. Format: `gs:///`' + id: GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource + description: Google Cloud Storage Object URI to get the issue model file from. + GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData: + properties: + textSections: description: >- - The average duration of all conversations. The average is calculated - using only conversations that have a time duration. - format: google-duration - customHighlighterMatches: + The summarization content that is divided into sections. The key is + the section's name and the value is the section's content. There is + no specific format for the key or value. + additionalProperties: + type: string type: object + text: + type: string + description: The summarization content that is concatenated into one string. + metadata: + description: >- + A map that contains metadata about the summarization and the + document from which it originates. additionalProperties: - format: int32 - type: integer + type: string + type: object + conversationModel: description: >- - A map associating each custom highlighter resource name with its - respective number of matches in the set of conversations. - id: GoogleCloudContactcenterinsightsV1CalculateStatsResponse + The name of the model that generates this summary. Format: + projects/{project}/locations/{location}/conversationModels/{conversation_model} + type: string + answerRecord: + description: >- + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + type: string + confidence: + format: float + description: The confidence score of the summarization. + type: number + description: Conversation summarization suggestion data. + id: >- + GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData type: object - GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse: - description: Response of querying an issue model's statistics. - id: GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse + GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent: + description: >- + The data for a Dialogflow intent. Represents a detected intent in the + conversation, e.g. MAKES_PROMISE. + id: GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent + properties: + displayName: + description: The human-readable name of the intent. + type: string type: object + GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats: properties: - currentStats: + successfulIngestCount: + type: integer + readOnly: true + format: int32 + description: >- + Output only. The number of new conversations added during this + ingest operation. + processedObjectCount: + type: integer + format: int32 + readOnly: true + description: >- + Output only. The number of objects processed during the ingest + operation. + failedIngestCount: + description: >- + Output only. The number of objects which were unable to be ingested + due to errors. The errors are populated in the partial_errors field. + format: int32 + type: integer + readOnly: true + duplicatesSkippedCount: + type: integer + format: int32 + readOnly: true + description: >- + Output only. The number of objects skipped because another + conversation with the same transcript uri had already been ingested. + id: >- + GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats + type: object + description: Statistics for IngestConversations operation. + GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination: + properties: + objectUri: + type: string + description: 'Required. Format: `gs:///`' + id: GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination + description: Google Cloud Storage Object URI to save the issue model to. + type: object + GoogleCloudContactcenterinsightsV1alpha1IssueModel: + properties: + createTime: + description: Output only. The time at which this issue model was created. + readOnly: true + type: string + format: google-datetime + name: + description: >- + Immutable. The resource name of the issue model. Format: + projects/{project}/locations/{location}/issueModels/{issue_model} + type: string + displayName: + description: The representative name for the issue model. + type: string + trainingStats: + description: >- + Output only. Immutable. The issue model's label statistics on its + training data. + readOnly: true $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModelLabelStats + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats + inputDataConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig + description: Configs for the input data that used to create the issue model. + issueCount: + format: int64 + description: Output only. Number of issues in this issue model. + type: string + readOnly: true + state: + type: string + readOnly: true + enumDescriptions: + - Unspecified. + - Model is not deployed but is ready to deploy. + - Model is being deployed. + - >- + Model is deployed and is ready to be used. A model can only be + used in analysis if it's in this state. + - Model is being undeployed. + - Model is being deleted. + enum: + - STATE_UNSPECIFIED + - UNDEPLOYED + - DEPLOYING + - DEPLOYED + - UNDEPLOYING + - DELETING + description: Output only. State of the model. + updateTime: + type: string description: >- - The latest label statistics for the queried issue model. Includes - results on both training data and data labeled after deployment. - GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig: + Output only. The most recent time at which the issue model was + updated. + format: google-datetime + readOnly: true + modelType: + description: Type of the model. + enumDescriptions: + - Unspecified model type. + - Type V1. + - Type V2. + type: string + enum: + - MODEL_TYPE_UNSPECIFIED + - TYPE_V1 + - TYPE_V2 + languageCode: + description: Language of the model. + type: string + description: The issue model resource. + id: GoogleCloudContactcenterinsightsV1alpha1IssueModel + type: object + GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata: type: object - id: >- - GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig properties: - medium: + agentDisplayName: + description: Optional. The agent's name + type: string + agentId: + description: Optional. A user-specified string representing the agent. + type: string + agentTeam: + type: string + description: Optional. A user-specified string representing the agent's team. + id: GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata + description: Metadata about the agent dimension. + GoogleCloudContactcenterinsightsV1ConversationParticipant: + type: object + description: The call participant speaking for a given utterance. + id: GoogleCloudContactcenterinsightsV1ConversationParticipant + properties: + dialogflowParticipantName: + description: >- + The name of the participant provided by Dialogflow. Format: + projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} + type: string + dialogflowParticipant: + type: string + description: >- + Deprecated. Use `dialogflow_participant_name` instead. The name of + the Dialogflow participant. Format: + projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant} + deprecated: true + role: enumDescriptions: - - Default value, if unspecified will default to PHONE_CALL. - - The format for conversations that took place over the phone. - - The format for conversations that took place over chat. + - Participant's role is not set. + - Participant is a human agent. + - Participant is an automated agent. + - Participant is an end user who conversed with the contact center. + - Participant is either a human or automated agent. + type: string + description: The role of the participant. enum: - - MEDIUM_UNSPECIFIED - - PHONE_CALL - - CHAT - description: Required. The medium transcript objects represent. + - ROLE_UNSPECIFIED + - HUMAN_AGENT + - AUTOMATED_AGENT + - END_USER + - ANY_AGENT + userId: + description: A user-specified ID representing the participant. type: string - description: Configuration for processing transcript objects. - parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - key: + obfuscatedExternalUserId: + type: string + description: Obfuscated user ID from Dialogflow. + GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel: + properties: + qaAnswerLabel: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue + description: QaAnswer label. + label: + description: String label. + type: string + labeledResource: + description: Resource name of the resource to be labeled. + type: string + name: + description: >- + Immutable. Resource name of the FeedbackLabel. Format: + projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label} + type: string + updateTime: + type: string + format: google-datetime + description: Output only. Update time of the label. + readOnly: true + createTime: + description: Output only. Create time of the label. + readOnly: true + format: google-datetime + type: string + description: Represents a conversation, resource, and label provided by the user. + type: object + id: GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel + GoogleCloudContactcenterinsightsV1AnnotatorSelector: + type: object + properties: + runEntityAnnotator: + type: boolean + description: Whether to run the entity annotator. + qaConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig + description: Configuration for the QA annotator. + runSentimentAnnotator: + type: boolean + description: Whether to run the sentiment annotator. + summarizationConfig: + description: Configuration for the summarization annotator. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig + phraseMatchers: + items: + type: string + type: array + description: >- + The list of phrase matchers to run. If not provided, all active + phrase matchers will be used. If inactive phrase matchers are + provided, they will not be used. Phrase matchers will be run only if + run_phrase_matcher_annotator is set to true. Format: + projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} + runIssueModelAnnotator: + type: boolean + description: >- + Whether to run the issue model annotator. A model should have + already been deployed for this to take effect. + runIntentAnnotator: + type: boolean + description: Whether to run the intent annotator. + issueModels: + type: array + items: + type: string + description: >- + The issue model to run. If not provided, the most recently deployed + topic model will be used. The provided issue model will only be used + for inference if the issue model is deployed and if + run_issue_model_annotator is set to true. If more than one issue + model is provided, only the first provided issue model will be used + for inference. + runInterruptionAnnotator: + type: boolean + description: Whether to run the interruption annotator. + runPhraseMatcherAnnotator: + description: Whether to run the active phrase matcher annotator(s). + type: boolean + runSummarizationAnnotator: + type: boolean + description: Whether to run the summarization annotator. + runQaAnnotator: + type: boolean + description: Whether to run the QA annotator. + runSilenceAnnotator: + type: boolean + description: Whether to run the silence annotator. + id: GoogleCloudContactcenterinsightsV1AnnotatorSelector + description: Selector of all available annotators and phrase matchers to run. + GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue: + type: object description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string - callback: - description: JSONP - in: query - name: callback - schema: - type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - x-stackQL-resources: - analyses: - id: google.contactcenterinsights.analyses - name: analyses - title: Analyses - methods: - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}~1analyses/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.analyses - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}~1analyses/post - response: - mediaType: application/json - openAPIDocKey: '200' - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}~1analyses~1{analysesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}~1analyses~1{analysesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/analyses/methods/get' - - $ref: '#/components/x-stackQL-resources/analyses/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/analyses/methods/create' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/analyses/methods/delete' - conversations: - id: google.contactcenterinsights.conversations - name: conversations - title: Conversations - methods: - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations~1{conversationsId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - calculate_stats: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:calculateStats/get - response: - mediaType: application/json - openAPIDocKey: '200' - bulk_analyze: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:bulkAnalyze/post - response: - mediaType: application/json - openAPIDocKey: '200' - ingest: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:ingest/post - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.conversations - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations/post - response: - mediaType: application/json - openAPIDocKey: '200' - bulk_delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:bulkDelete/post - response: - mediaType: application/json - openAPIDocKey: '200' - upload: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:upload/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/conversations/methods/get' - - $ref: '#/components/x-stackQL-resources/conversations/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/conversations/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/conversations/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/conversations/methods/delete' - - $ref: '#/components/x-stackQL-resources/conversations/methods/bulk_delete' - views: - id: google.contactcenterinsights.views - name: views - title: Views - methods: - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views~1{viewsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views~1{viewsId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views~1{viewsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views/post - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.views - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/views/methods/get' - - $ref: '#/components/x-stackQL-resources/views/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/views/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/views/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/views/methods/delete' - operations: - id: google.contactcenterinsights.operations - name: operations - title: Operations - methods: - cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.operations - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - - $ref: '#/components/x-stackQL-resources/operations/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - phrase_matchers: - id: google.contactcenterinsights.phrase_matchers - name: phrase_matchers - title: Phrase_matchers - methods: - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers~1{phraseMatchersId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers~1{phraseMatchersId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers~1{phraseMatchersId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: + Message for holding the value of the answer. QaQuestion.AnswerChoice + defines the possible answer values for a question. + id: GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue + properties: + normalizedScore: + readOnly: true + description: >- + Output only. Normalized score of the questions. Calculated as score + / potential_score iff potential_score != 0 else 0 + type: number + format: double + score: + description: Output only. Numerical score of the answer. + readOnly: true + type: number + format: double + strValue: + description: String value. + type: string + boolValue: + description: Boolean value. + type: boolean + key: + type: string + description: >- + A short string used as an identifier. Matches the value used in + QaQuestion.AnswerChoice.key. + potentialScore: + format: double + type: number + description: Output only. The maximum potential score of the question. + readOnly: true + naValue: + type: boolean + description: A value of "Not Applicable (N/A)". + numValue: + description: Numerical value. + type: number + format: double + GoogleRpcStatus: + id: GoogleRpcStatus + description: >- + 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). + properties: + details: + type: array + items: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + message: + type: string + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + code: + description: The status code, which should be an enum value of google.rpc.Code. + format: int32 + type: integer + type: object + GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata: + type: object + id: >- + GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata + description: >- + Metadata about the QA question-answer dimension. This is useful for + showing the answer distribution for questions for a given scorecard. + properties: + qaScorecardId: + type: string + description: Optional. The QA scorecard ID. + answerValue: + description: Optional. The full body of the question. + type: string + questionBody: + type: string + description: Optional. The full body of the question. + qaQuestionId: + description: Optional. The QA question ID. + type: string + GoogleCloudContactcenterinsightsV1alpha1SmartReplyData: + properties: + queryRecord: + type: string + description: >- + The name of the answer record. Format: + projects/{project}/locations/{location}/answerRecords/{answer_record} + metadata: + additionalProperties: + type: string + description: >- + Map that contains metadata about the Smart Reply and the document + from which it originates. + type: object + reply: + description: The content of the reply. + type: string + confidenceScore: + type: number + description: >- + The system's confidence score that this reply is a good match for + this conversation, ranging from 0.0 (completely uncertain) to 1.0 + (completely certain). + format: double + id: GoogleCloudContactcenterinsightsV1alpha1SmartReplyData + description: Agent Assist Smart Reply data. + type: object + GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult: + description: Tags and their corresponding results. + type: object + properties: + score: + type: number + description: The score the tag applies to. + format: double + potentialScore: + description: The potential score the tag applies to. + format: double + type: number + tag: + type: string + description: The tag the score applies to. + normalizedScore: + format: double + type: number + description: The normalized score the tag applies to. + id: GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult + GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelResponse: + description: Response from export issue model + type: object + properties: {} + id: GoogleCloudContactcenterinsightsV1alpha1ExportIssueModelResponse + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice: + properties: + total: + description: >- + The total metric value. The interval of this data point is [starting + create time, ending create time) from the request. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint + timeSeries: + description: >- + A time series of metric values. This is only populated if the + request specifies a time granularity other than NONE. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries + dimensions: + description: A unique combination of dimensions that this slice represents. + type: array + items: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.phraseMatchers - create: - operation: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Dimension + description: >- + A slice contains a total and (if the request specified a time + granularity) a time series of metric values. Each slice contains a + unique combination of the cardinality of dimensions from the request. + For example, if the request specifies a single ISSUE dimension and it + has a cardinality of 2 (i.e. the data used to compute the metrics has 2 + issues in total), the response will have 2 slices: * Slice 1 -> + dimensions=[Issue 1] * Slice 2 -> dimensions=[Issue 2] + type: object + id: GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries: + properties: + dataPoints: + type: array + description: The data points that make up the time series . + items: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/get' - - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/delete' - insightsdata: - id: google.contactcenterinsights.insightsdata - name: insightsdata - title: Insightsdata - methods: - export: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightsdata:export/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - issue_models: - id: google.contactcenterinsights.issue_models - name: issue_models - title: Issue_models - methods: - create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels/post - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels/get - response: - mediaType: application/json - openAPIDocKey: '200' - undeploy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:undeploy/post - response: - mediaType: application/json - openAPIDocKey: '200' - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - deploy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:deploy/post - response: - mediaType: application/json - openAPIDocKey: '200' - import: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels:import/post - response: - mediaType: application/json - openAPIDocKey: '200' - export: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:export/post - response: - mediaType: application/json - openAPIDocKey: '200' - calculate_issue_model_stats: - operation: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint + id: >- + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries + description: A time series of metric values. + type: object + GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest: + type: object + description: The request to deploy an issue model. + properties: + name: + type: string + description: Required. The issue model to deploy. + id: GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest + GoogleCloudContactcenterinsightsV1DialogflowInteractionData: + id: GoogleCloudContactcenterinsightsV1DialogflowInteractionData + properties: + dialogflowIntentId: + description: >- + The Dialogflow intent resource path. Format: + projects/{project}/agent/{agent}/intents/{intent} + type: string + confidence: + type: number + description: >- + The confidence of the match ranging from 0.0 (completely uncertain) + to 1.0 (completely certain). + format: float + type: object + description: Dialogflow interaction data. + GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList: + id: GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList + properties: + qaScorecardRevisions: + type: array + description: List of QaScorecardRevisions. + items: + type: string + type: object + description: Container for a list of scorecards. + GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest: + id: GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest + description: The request to create an issue model. + properties: + parent: + type: string + description: Required. The parent resource of the issue model. + issueModel: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1IssueModel + description: Required. The issue model to create. + type: object + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore: + type: object + properties: + averageTagNormalizedScore: + type: number + description: Average tag normalized score per tag. + format: double + tag: + type: string + description: Tag name. + description: Average QA normalized score for the tag. + id: >- + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore + GoogleCloudContactcenterinsightsV1Analysis: + properties: + annotatorSelector: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector + description: >- + To select the annotators to run and the phrase matchers to use (if + any). If not specified, all annotators will be run. + createTime: + readOnly: true + format: google-datetime + description: >- + Output only. The time at which the analysis was created, which + occurs when the long-running operation completes. + type: string + name: + description: >- + Immutable. The resource name of the analysis. Format: + projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis} + type: string + analysisResult: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisResult + description: >- + Output only. The result of the analysis, which is populated when the + analysis finishes. + requestTime: + readOnly: true + description: Output only. The time at which the analysis was requested. + format: google-datetime + type: string + id: GoogleCloudContactcenterinsightsV1Analysis + description: The analysis resource. + type: object + GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsResponse: + properties: + failedAnalysisCount: + type: integer + description: Count of failed analyses. + format: int32 + successfulAnalysisCount: + type: integer + format: int32 + description: Count of successful analyses. + id: GoogleCloudContactcenterinsightsV1alpha1BulkAnalyzeConversationsResponse + description: The response for a bulk analyze conversations operation. + type: object + GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata: + properties: + createTime: + type: string + format: google-datetime + description: Output only. The time the operation was created. + readOnly: true + endTime: + type: string + readOnly: true + format: google-datetime + description: Output only. The time the operation finished running. + annotatorSelector: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector + description: Output only. The annotator selector used for the analysis (if any). + readOnly: true + conversation: + readOnly: true + description: >- + Output only. The Conversation that this Analysis Operation belongs + to. + type: string + type: object + id: GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata + description: Metadata for a create analysis operation. + GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata: + properties: + partialErrors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + Partial errors during export operation that might cause the + operation output to be incomplete. + type: array + createTime: + type: string + format: google-datetime + readOnly: true + description: Output only. The time the operation was created. + endTime: + readOnly: true + description: Output only. The time the operation finished running. + format: google-datetime + type: string + request: + description: The original request for export. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest + id: GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata + type: object + description: Metadata for an export insights operation. + GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries: + type: object + description: A time series of metric values. + properties: + dataPoints: + description: The data points that make up the time series . + items: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:calculateIssueModelStats/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/issue_models/methods/get' - - $ref: '#/components/x-stackQL-resources/issue_models/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/issue_models/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/issue_models/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/issue_models/methods/delete' - issues: - id: google.contactcenterinsights.issues - name: issues - title: Issues - methods: - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues~1{issuesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues~1{issuesId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues~1{issuesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/issues/methods/get' - - $ref: '#/components/x-stackQL-resources/issues/methods/list' - insert: [] - update: - - $ref: '#/components/x-stackQL-resources/issues/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/issues/methods/delete' - encryption_spec: - id: google.contactcenterinsights.encryption_spec - name: encryption_spec - title: Encryption_spec - methods: - initialize: - operation: + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint + type: array + id: GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource: + type: object + properties: + bucketUri: + description: Required. The Cloud Storage bucket containing source objects. + type: string + metadataBucketUri: + type: string + description: >- + Optional. The Cloud Storage path to the conversation metadata. Note + that: [1] Metadata files are expected to be in JSON format. [2] + Metadata and source files (transcripts or audio) must be in separate + buckets. [3] A source file and its corresponding metadata file must + share the same name to be properly ingested, E.g. + `gs://bucket/audio/conversation1.mp3` and + `gs://bucket/metadata/conversation1.json`. + customMetadataKeys: + description: >- + Optional. Custom keys to extract as conversation labels from + metadata files in `metadata_bucket_uri`. Keys not included in this + field will be ignored. Note that there is a limit of 20 labels per + conversation. + type: array + items: + type: string + bucketObjectType: + description: Optional. Specifies the type of the objects in `bucket_uri`. + type: string + enumDescriptions: + - The object type is unspecified and will default to `TRANSCRIPT`. + - The object is a transcript. + - The object is an audio file. + enum: + - BUCKET_OBJECT_TYPE_UNSPECIFIED + - TRANSCRIPT + - AUDIO + description: Configuration for Cloud Storage bucket sources. + id: >- + GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource + GoogleCloudContactcenterinsightsV1View: + id: GoogleCloudContactcenterinsightsV1View + type: object + description: The View resource. + properties: + value: + description: String with specific view properties, must be non-empty. + type: string + name: + type: string + description: >- + Immutable. The resource name of the view. Format: + projects/{project}/locations/{location}/views/{view} + displayName: + description: The human-readable display name of the view. + type: string + createTime: + description: Output only. The time at which this view was created. + type: string + readOnly: true + format: google-datetime + updateTime: + type: string + readOnly: true + format: google-datetime + description: Output only. The most recent time at which the view was updated. + GoogleCloudContactcenterinsightsV1ConversationDataSource: + description: The conversation source, which is a combination of transcript and audio. + type: object + id: GoogleCloudContactcenterinsightsV1ConversationDataSource + properties: + dialogflowSource: + description: The source when the conversation comes from Dialogflow. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DialogflowSource + gcsSource: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1GcsSource' + description: A Cloud Storage location specification for the audio and transcript. + GoogleCloudContactcenterinsightsV1AnalysisResult: + properties: + callAnalysisMetadata: + description: Call-specific metadata created by the analysis. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata + endTime: + description: The time at which the analysis ended. + format: google-datetime + type: string + type: object + id: GoogleCloudContactcenterinsightsV1AnalysisResult + description: The result of an analysis. + GoogleCloudContactcenterinsightsV1alpha1Conversation: + description: The conversation resource. + id: GoogleCloudContactcenterinsightsV1alpha1Conversation + properties: + ttl: + type: string + description: >- + Input only. The TTL for this resource. If specified, then this TTL + will be used to calculate the expire time. + format: google-duration + latestAnalysis: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Analysis + readOnly: true + description: Output only. The conversation's latest analysis, if one exists. + turnCount: + format: int32 + type: integer + description: Output only. The number of turns in the conversation. + readOnly: true + createTime: + description: Output only. The time at which the conversation was created. + type: string + readOnly: true + format: google-datetime + agentId: + type: string + description: >- + An opaque, user-specified string representing the human agent who + handled the conversation. + name: + description: >- + Immutable. The resource name of the conversation. Format: + projects/{project}/locations/{location}/conversations/{conversation} + type: string + metadataJson: + description: >- + 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 Insight's supported formats. + type: string + dataSource: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationDataSource + description: The source of the audio and transcription for the conversation. + latestSummary: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData + description: Output only. Latest summary of the conversation. + duration: + readOnly: true + format: google-duration + description: Output only. The duration of the conversation. + type: string + runtimeAnnotations: + readOnly: true + description: >- + Output only. The annotations that were generated during the customer + and agent interaction. + items: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1encryptionSpec:initialize/post - response: - mediaType: application/json - openAPIDocKey: '200' - get_encryption_spec: - operation: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation + type: array + callMetadata: + description: Call-specific metadata. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationCallMetadata + obfuscatedUserId: + type: string + description: Obfuscated user ID which the customer sent to us. + medium: + enum: + - MEDIUM_UNSPECIFIED + - PHONE_CALL + - CHAT + type: string + enumDescriptions: + - Default value, if unspecified will default to PHONE_CALL. + - The format for conversations that took place over the phone. + - The format for conversations that took place over chat. + description: >- + Immutable. The conversation medium, if unspecified will default to + PHONE_CALL. + dialogflowIntents: + readOnly: true + description: >- + Output only. All the matched Dialogflow intents in the call. The key + corresponds to a Dialogflow intent, format: + projects/{project}/agent/{agent}/intents/{intent} + type: object + additionalProperties: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1encryptionSpec/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/encryption_spec/methods/get_encryption_spec - insert: [] - update: [] - replace: [] - delete: [] - settings: - id: google.contactcenterinsights.settings - name: settings - title: Settings - methods: - update_settings: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1settings/patch - response: - mediaType: application/json - openAPIDocKey: '200' - get_settings: - operation: + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent + updateTime: + description: >- + Output only. The most recent time at which the conversation was + updated. + format: google-datetime + type: string + readOnly: true + labels: + description: >- + 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. + additionalProperties: + type: string + type: object + languageCode: + type: string + description: A user-specified language code for the conversation. + qualityMetadata: + description: Conversation metadata related to quality management. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata + expireTime: + description: >- + The time at which this conversation should expire. After this time, + the conversation data and any associated analyses will be deleted. + format: google-datetime + type: string + transcript: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationTranscript + description: Output only. The conversation transcript. + readOnly: true + startTime: + format: google-datetime + type: string + description: The time at which the conversation started. + type: object + GoogleCloudContactcenterinsightsV1alpha1EntityMentionData: + description: >- + The data for an entity mention annotation. This represents a mention of + an `Entity` in the conversation. + id: GoogleCloudContactcenterinsightsV1alpha1EntityMentionData + properties: + type: + type: string + enumDescriptions: + - Unspecified. + - Proper noun. + - Common noun (or noun compound). + description: The type of the entity mention. + enum: + - MENTION_TYPE_UNSPECIFIED + - PROPER + - COMMON + entityUniqueId: + description: >- + The key of this entity in conversation entities. Can be used to + retrieve the exact `Entity` this mention is attached to. + type: string + sentiment: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SentimentData + description: Sentiment expressed for this mention of the entity. + type: object + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure: + id: >- + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure + type: object + properties: + averageQaQuestionNormalizedScore: + description: >- + Average QA normalized score averaged for questions averaged across + all revisions of the parent scorecard. Will be only populated if the + request specifies a dimension of QA_QUESTION_ID. + type: number + format: double + averageCustomerSatisfactionRating: + type: number + format: double + description: The average customer satisfaction rating. + averageTurnCount: + format: float + type: number + description: The average turn count. + averageSilencePercentage: + description: The average silence percentage. + type: number + format: float + averageAgentSentimentScore: + description: The average agent's sentiment score. + format: float + type: number + conversationCount: + type: integer + format: int32 + description: The conversation count. + averageDuration: + description: The average duration. + format: google-duration + type: string + averageQaNormalizedScore: + format: double + description: >- + Average QA normalized score. Will exclude 0's in average + calculation. + type: number + averageClientSentimentScore: + description: The average client's sentiment score. + type: number + format: float + qaTagScores: + items: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1settings/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/settings/methods/get_settings' - insert: [] - update: - - $ref: '#/components/x-stackQL-resources/settings/methods/update_settings' - replace: [] - delete: [] -paths: - /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses: - parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/alt' + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore + type: array + description: Average QA normalized score for all the tags. + description: The measure related to conversations. + GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata: + id: GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata + properties: + createTime: + format: google-datetime + type: string + description: The time the operation was created. + endTime: + format: google-datetime + type: string + description: The time the operation finished running. + request: + description: The original import request. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ImportIssueModelRequest + description: Metadata used for import issue model. + type: object + GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest: + properties: + analysisPercentage: + description: >- + Required. Percentage of selected conversation to analyze, between + [0, 100]. + format: float + type: number + filter: + type: string + description: >- + Required. Filter used to select the subset of conversations to + analyze. + annotatorSelector: + description: >- + To select the annotators to run and the phrase matchers to use (if + any). If not specified, all annotators will be run. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnnotatorSelector + parent: + description: Required. The parent resource to create analyses in. + type: string + id: GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest + type: object + description: The request to analyze conversations in bulk. + GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest: + type: object + id: GoogleCloudContactcenterinsightsV1alpha1UploadConversationRequest + properties: + conversationId: + description: >- + Optional. A unique ID for the new conversation. This ID will become + the final component of the conversation's resource name. If no ID is + specified, a server-generated ID will be used. This value should be + 4-64 characters and must match the regular expression + `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-` + type: string + conversation: + description: Required. The conversation resource to create. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1Conversation + parent: + type: string + description: Required. The parent resource of the conversation. + speechConfig: + description: >- + Optional. Speech-to-Text configuration. Will default to the config + specified in Settings. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SpeechConfig + redactionConfig: + description: >- + Optional. DLP settings for transcript redaction. Will default to the + config specified in Settings. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RedactionConfig + description: Request to upload a conversation. + GoogleCloudContactcenterinsightsV1alpha1AnalysisResult: + type: object + properties: + endTime: + format: google-datetime + description: The time at which the analysis ended. + type: string + callAnalysisMetadata: + description: Call-specific metadata created by the analysis. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnalysisResultCallAnalysisMetadata + description: The result of an analysis. + id: GoogleCloudContactcenterinsightsV1alpha1AnalysisResult + GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector: + id: GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelector + description: Selector of all available annotators and phrase matchers to run. + properties: + runPhraseMatcherAnnotator: + type: boolean + description: Whether to run the active phrase matcher annotator(s). + runSentimentAnnotator: + description: Whether to run the sentiment annotator. + type: boolean + runSilenceAnnotator: + description: Whether to run the silence annotator. + type: boolean + issueModels: + description: >- + The issue model to run. If not provided, the most recently deployed + topic model will be used. The provided issue model will only be used + for inference if the issue model is deployed and if + run_issue_model_annotator is set to true. If more than one issue + model is provided, only the first provided issue model will be used + for inference. + type: array + items: + type: string + phraseMatchers: + description: >- + The list of phrase matchers to run. If not provided, all active + phrase matchers will be used. If inactive phrase matchers are + provided, they will not be used. Phrase matchers will be run only if + run_phrase_matcher_annotator is set to true. Format: + projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} + type: array + items: + type: string + summarizationConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig + description: Configuration for the summarization annotator. + runSummarizationAnnotator: + description: Whether to run the summarization annotator. + type: boolean + qaConfig: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig + description: Configuration for the QA annotator. + runIssueModelAnnotator: + type: boolean + description: >- + Whether to run the issue model annotator. A model should have + already been deployed for this to take effect. + runEntityAnnotator: + type: boolean + description: Whether to run the entity annotator. + runIntentAnnotator: + type: boolean + description: Whether to run the intent annotator. + runInterruptionAnnotator: + type: boolean + description: Whether to run the interruption annotator. + runQaAnnotator: + type: boolean + description: Whether to run the QA annotator. + type: object + GoogleCloudContactcenterinsightsV1Intent: + id: GoogleCloudContactcenterinsightsV1Intent + description: >- + The data for an intent. Represents a detected intent in the + conversation, for example MAKES_PROMISE. + type: object + properties: + displayName: + type: string + description: The human-readable name of the intent. + id: + type: string + description: The unique identifier of the intent. + GoogleCloudContactcenterinsightsV1Conversation: + description: The conversation resource. + properties: + callMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationCallMetadata + description: Call-specific metadata. + qualityMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationQualityMetadata + description: Conversation metadata related to quality management. + transcript: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationTranscript + readOnly: true + description: Output only. The conversation transcript. + medium: + enumDescriptions: + - Default value, if unspecified will default to PHONE_CALL. + - The format for conversations that took place over the phone. + - The format for conversations that took place over chat. + type: string + enum: + - MEDIUM_UNSPECIFIED + - PHONE_CALL + - CHAT + description: >- + Immutable. The conversation medium, if unspecified will default to + PHONE_CALL. + latestAnalysis: + description: Output only. The conversation's latest analysis, if one exists. + readOnly: true + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' + createTime: + format: google-datetime + description: Output only. The time at which the conversation was created. + type: string + readOnly: true + updateTime: + readOnly: true + description: >- + Output only. The most recent time at which the conversation was + updated. + type: string + format: google-datetime + runtimeAnnotations: + type: array + description: >- + Output only. The annotations that were generated during the customer + and agent interaction. + readOnly: true + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1RuntimeAnnotation + dialogflowIntents: + description: >- + Output only. All the matched Dialogflow intents in the call. The key + corresponds to a Dialogflow intent, format: + projects/{project}/agent/{agent}/intents/{intent} + readOnly: true + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DialogflowIntent + type: object + ttl: + format: google-duration + description: >- + Input only. The TTL for this resource. If specified, then this TTL + will be used to calculate the expire time. + type: string + labels: + type: object + additionalProperties: + type: string + description: >- + 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. + name: + type: string + description: >- + Immutable. The resource name of the conversation. Format: + projects/{project}/locations/{location}/conversations/{conversation} + metadataJson: + type: string + description: >- + 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 Insight's supported formats. + expireTime: + type: string + format: google-datetime + description: >- + The time at which this conversation should expire. After this time, + the conversation data and any associated analyses will be deleted. + languageCode: + type: string + description: A user-specified language code for the conversation. + obfuscatedUserId: + description: Obfuscated user ID which the customer sent to us. + type: string + duration: + readOnly: true + format: google-duration + description: Output only. The duration of the conversation. + type: string + turnCount: + type: integer + readOnly: true + format: int32 + description: Output only. The number of turns in the conversation. + agentId: + type: string + description: >- + An opaque, user-specified string representing the human agent who + handled the conversation. + latestSummary: + readOnly: true + description: Output only. Latest summary of the conversation. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData + dataSource: + description: The source of the audio and transcription for the conversation. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ConversationDataSource + startTime: + type: string + format: google-datetime + description: The time at which the conversation started. + type: object + id: GoogleCloudContactcenterinsightsV1Conversation + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint: + properties: + conversationMeasure: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure + description: The measure related to conversations. + interval: + $ref: '#/components/schemas/GoogleTypeInterval' + description: >- + The interval that this data point represents. * If this is the total + data point, the interval is [starting create time, ending create + time) from the request. * If this a data point from the time series, + the interval is [time, time + time granularity from the request). + id: >- + GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint + description: A data point contains the metric values mapped to an interval. + type: object + GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation: + properties: + smartComposeSuggestion: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData + description: Agent Assist Smart Compose suggestion data. + conversationSummarizationSuggestion: + description: Conversation summarization suggestion data. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData + endBoundary: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary + description: >- + The boundary in the conversation where the annotation ends, + inclusive. + dialogflowInteraction: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData + description: Dialogflow interaction data. + userInput: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput + description: Explicit input used for generating the answer + startBoundary: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary + description: >- + The boundary in the conversation where the annotation starts, + inclusive. + answerFeedback: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback + description: The feedback that the customer has about the answer in `data`. + createTime: + description: The time at which this annotation was created. + format: google-datetime + type: string + faqAnswer: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData + description: Agent Assist FAQ answer data. + smartReply: + description: Agent Assist Smart Reply data. + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1SmartReplyData + articleSuggestion: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData + description: Agent Assist Article Suggestion data. + annotationId: + type: string + description: >- + The unique identifier of the annotation. Format: + projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation} + id: GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation + description: >- + An annotation that was generated during the customer and agent + interaction. + type: object + GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest: + properties: + name: + description: Required. The name of the issue model to delete. + type: string + description: The request to delete an issue model. + type: object + id: GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest + GoogleCloudContactcenterinsightsV1QaQuestion: + id: GoogleCloudContactcenterinsightsV1QaQuestion + type: object + properties: + abbreviation: + type: string + description: >- + Short, descriptive string, used in the UI where it's not practical + to display the full question body. E.g., "Greeting". + metrics: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestionMetrics + description: >- + Metrics of the underlying tuned LLM over a holdout/test set while + fine tuning the underlying LLM for the given question. This field + will only be populated if and only if the question is part of a + scorecard revision that has been tuned. + createTime: + format: google-datetime + type: string + description: Output only. The time at which this question was created. + readOnly: true + order: + type: integer + description: >- + Defines the order of the question within its parent scorecard + revision. + format: int32 + answerChoices: + description: >- + A list of valid answers to the question, which the LLM must choose + from. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice + tuningMetadata: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata + description: >- + Metadata about the tuning operation for the question.This field will + only be populated if and only if the question is part of a scorecard + revision that has been tuned. + name: + type: string + description: >- + Identifier. The resource name of the question. Format: + projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}/qaQuestions/{qa_question} + tags: + description: >- + User-defined list of arbitrary tags for the question. Used for + grouping/organization and for weighting the score of each question. + type: array + items: + type: string + updateTime: + readOnly: true + type: string + description: Output only. The most recent time at which the question was updated. + format: google-datetime + questionBody: + type: string + description: Question text. E.g., "Did the agent greet the customer?" + answerInstructions: + description: Instructions describing how to determine the answer. + type: string + description: A single question to be scored by the Insights QA feature. + GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue: + id: GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue + properties: + strValue: + type: string + description: String value. + numValue: + type: number + format: double + description: Numerical value. + normalizedScore: + readOnly: true + description: >- + Output only. Normalized score of the questions. Calculated as score + / potential_score iff potential_score != 0 else 0 + format: double + type: number + boolValue: + type: boolean + description: Boolean value. + score: + description: Output only. Numerical score of the answer. + type: number + format: double + readOnly: true + potentialScore: + description: Output only. The maximum potential score of the question. + readOnly: true + format: double + type: number + key: + type: string + description: >- + A short string used as an identifier. Matches the value used in + QaQuestion.AnswerChoice.key. + naValue: + type: boolean + description: A value of "Not Applicable (N/A)". + description: >- + Message for holding the value of the answer. QaQuestion.AnswerChoice + defines the possible answer values for a question. + type: object + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats: + description: Statistics for BulkDownloadFeedbackLabels operation. + type: object + id: >- + GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats + properties: + totalFilesWritten: + type: integer + format: int32 + description: Total number of files written to the provided Cloud Storage bucket. + successfulDownloadCount: + type: integer + description: >- + The number of new feedback labels downloaded during this operation. + Different from "processed" because some labels might not be + downloaded because an error. + format: int32 + processedObjectCount: + type: integer + format: int32 + description: The number of objects processed during the download operation. + fileNames: + readOnly: true + description: Output only. Full name of the files written to Cloud storage. + type: array + items: + type: string + parameters: + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + x-stackQL-resources: + phrase_matchers: + id: google.contactcenterinsights.phrase_matchers + name: phrase_matchers + title: Phrase_matchers + methods: + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers~1{phraseMatchersId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers~1{phraseMatchersId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers~1{phraseMatchersId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1phraseMatchers/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.phraseMatchers + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/get' + - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/phrase_matchers/methods/delete' + encryption_spec: + id: google.contactcenterinsights.encryption_spec + name: encryption_spec + title: Encryption_spec + methods: + initialize: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1encryptionSpec:initialize/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_encryption_spec: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1encryptionSpec/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/encryption_spec/methods/get_encryption_spec + insert: [] + update: [] + replace: [] + delete: [] + feedback_labels: + id: google.contactcenterinsights.feedback_labels + name: feedback_labels + title: Feedback_labels + methods: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1feedbackLabels~1{feedbackLabelsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1feedbackLabels~1{feedbackLabelsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1feedbackLabels~1{feedbackLabelsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1feedbackLabels/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.feedbackLabels + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1feedbackLabels/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/feedback_labels/methods/get' + - $ref: '#/components/x-stackQL-resources/feedback_labels/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/feedback_labels/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/feedback_labels/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/feedback_labels/methods/delete' + analyses: + id: google.contactcenterinsights.analyses + name: analyses + title: Analyses + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1analyses/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.analyses + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1analyses/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1analyses~1{analysesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}~1analyses~1{analysesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/analyses/methods/get' + - $ref: '#/components/x-stackQL-resources/analyses/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/analyses/methods/create' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/analyses/methods/delete' + conversations: + id: google.contactcenterinsights.conversations + name: conversations + title: Conversations + methods: + calculate_stats: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:calculateStats/get + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.conversations + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations~1{conversationsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + ingest: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:ingest/post + response: + mediaType: application/json + openAPIDocKey: '200' + bulk_analyze: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:bulkAnalyze/post + response: + mediaType: application/json + openAPIDocKey: '200' + upload: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}~1conversations:upload/post + response: + mediaType: application/json + openAPIDocKey: '200' + bulk_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1conversations:bulkDelete/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/conversations/methods/get' + - $ref: '#/components/x-stackQL-resources/conversations/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/conversations/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/conversations/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/conversations/methods/delete' + - $ref: '#/components/x-stackQL-resources/conversations/methods/bulk_delete' + analysis_rules: + id: google.contactcenterinsights.analysis_rules + name: analysis_rules + title: Analysis_rules + methods: + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1analysisRules~1{analysisRulesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1analysisRules~1{analysisRulesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1analysisRules~1{analysisRulesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1analysisRules/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1analysisRules/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.analysisRules + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/analysis_rules/methods/get' + - $ref: '#/components/x-stackQL-resources/analysis_rules/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/analysis_rules/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/analysis_rules/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/analysis_rules/methods/delete' + views: + id: google.contactcenterinsights.views + name: views + title: Views + methods: + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views~1{viewsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views~1{viewsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views~1{viewsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.views + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1views/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/views/methods/get' + - $ref: '#/components/x-stackQL-resources/views/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/views/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/views/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/views/methods/delete' + revisions: + id: google.contactcenterinsights.revisions + name: revisions + title: Revisions + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.qaScorecardRevisions + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions/post + response: + mediaType: application/json + openAPIDocKey: '200' + deploy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}:deploy/post + response: + mediaType: application/json + openAPIDocKey: '200' + tune_qa_scorecard_revision: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}:tuneQaScorecardRevision/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + undeploy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}:undeploy/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/revisions/methods/get' + - $ref: '#/components/x-stackQL-resources/revisions/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/revisions/methods/create' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/revisions/methods/delete' + qa_questions: + id: google.contactcenterinsights.qa_questions + name: qa_questions + title: Qa_questions + methods: + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}~1qaQuestions~1{qaQuestionsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}~1qaQuestions~1{qaQuestionsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}~1qaQuestions~1{qaQuestionsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}~1qaQuestions/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}~1revisions~1{revisionsId}~1qaQuestions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.qaQuestions + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/qa_questions/methods/get' + - $ref: '#/components/x-stackQL-resources/qa_questions/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/qa_questions/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/qa_questions/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/qa_questions/methods/delete' + qa_scorecards: + id: google.contactcenterinsights.qa_scorecards + name: qa_scorecards + title: Qa_scorecards + methods: + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards~1{qaScorecardsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1qaScorecards/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.qaScorecards + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/qa_scorecards/methods/get' + - $ref: '#/components/x-stackQL-resources/qa_scorecards/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/qa_scorecards/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/qa_scorecards/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/qa_scorecards/methods/delete' + insightsdata: + id: google.contactcenterinsights.insightsdata + name: insightsdata + title: Insightsdata + methods: + export: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightsdata:export/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + operations: + id: google.contactcenterinsights.operations + name: operations + title: Operations + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + cancel: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + authorized_views_iam_policies: + id: google.contactcenterinsights.authorized_views_iam_policies + name: authorized_views_iam_policies + title: Authorized_views_iam_policies + methods: + get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSets~1{authorizedViewSetsId}~1authorizedViews~1{authorizedViewsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/authorized_views_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/authorized_views_iam_policies/methods/set_iam_policy + delete: [] + authorized_view: + id: google.contactcenterinsights.authorized_view + name: authorized_view + title: Authorized_view + methods: + calculate_stats: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedView~1{authorizedViewId}:calculateStats/get + response: + mediaType: application/json + openAPIDocKey: '200' + query_metrics: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authorizedViewSet~1{authorizedViewSetId}~1authorizedView~1{authorizedViewId}:queryMetrics/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + issues: + id: google.contactcenterinsights.issues + name: issues + title: Issues + methods: + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues~1{issuesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues~1{issuesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues~1{issuesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}~1issues/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/issues/methods/get' + - $ref: '#/components/x-stackQL-resources/issues/methods/list' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/issues/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/issues/methods/delete' + issue_models: + id: google.contactcenterinsights.issue_models + name: issue_models + title: Issue_models + methods: + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + import: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels:import/post + response: + mediaType: application/json + openAPIDocKey: '200' + deploy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:deploy/post + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels/get + response: + mediaType: application/json + openAPIDocKey: '200' + undeploy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:undeploy/post + response: + mediaType: application/json + openAPIDocKey: '200' + export: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:export/post + response: + mediaType: application/json + openAPIDocKey: '200' + calculate_issue_model_stats: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1issueModels~1{issueModelsId}:calculateIssueModelStats/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/issue_models/methods/get' + - $ref: '#/components/x-stackQL-resources/issue_models/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/issue_models/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/issue_models/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/issue_models/methods/delete' + settings: + id: google.contactcenterinsights.settings + name: settings + title: Settings + methods: + update_settings: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1settings/patch + response: + mediaType: application/json + openAPIDocKey: '200' + get_settings: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1settings/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/settings/methods/get_settings' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/settings/methods/update_settings' + replace: [] + delete: [] + all_feedback_labels: + id: google.contactcenterinsights.all_feedback_labels + name: all_feedback_labels + title: All_feedback_labels + methods: + list_all_feedback_labels: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:listAllFeedbackLabels/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.feedbackLabels + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/all_feedback_labels/methods/list_all_feedback_labels + insert: [] + update: [] + replace: [] + delete: [] + locations: + id: google.contactcenterinsights.locations + name: locations + title: Locations + methods: + bulk_download_feedback_labels: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:bulkDownloadFeedbackLabels/post + response: + mediaType: application/json + openAPIDocKey: '200' + query_metrics: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:queryMetrics/post + response: + mediaType: application/json + openAPIDocKey: '200' + bulk_upload_feedback_labels: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:bulkUploadFeedbackLabels/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] +paths: + /v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}: + parameters: &ref_1 + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/oauth_token' + patch: + description: Updates a phrase matcher. + operationId: contactcenterinsights.projects.locations.phraseMatchers.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: phraseMatchersId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a phrase matcher. + operationId: contactcenterinsights.projects.locations.phraseMatchers.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: phraseMatchersId + required: true + schema: + type: string + get: + description: Gets a phrase matcher. + operationId: contactcenterinsights.projects.locations.phraseMatchers.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: phraseMatchersId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers: + parameters: *ref_1 + post: + description: Creates a phrase matcher. + operationId: contactcenterinsights.projects.locations.phraseMatchers.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + get: + description: Lists phrase matchers. + operationId: contactcenterinsights.projects.locations.phraseMatchers.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec:initialize: + parameters: *ref_1 + post: + description: >- + Initializes a location-level encryption key specification. An error will + result if the location has resources already created before the + initialization. After 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. + operationId: contactcenterinsights.projects.locations.encryptionSpec.initialize + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}: + parameters: *ref_1 + get: + description: Get feedback label. + operationId: >- + contactcenterinsights.projects.locations.conversations.feedbackLabels.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: feedbackLabelsId + required: true + schema: + type: string + patch: + description: Update feedback label. + operationId: >- + contactcenterinsights.projects.locations.conversations.feedbackLabels.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: feedbackLabelsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Delete feedback label. + operationId: >- + contactcenterinsights.projects.locations.conversations.feedbackLabels.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: feedbackLabelsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels: + parameters: *ref_1 + get: + description: List feedback labels. + operationId: >- + contactcenterinsights.projects.locations.conversations.feedbackLabels.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + post: + description: Create feedback label. + operationId: >- + contactcenterinsights.projects.locations.conversations.feedbackLabels.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: feedbackLabelId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses: + parameters: *ref_1 + get: + description: Lists analyses. + operationId: contactcenterinsights.projects.locations.conversations.analyses.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListAnalysesResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + post: + description: >- + Creates an analysis. The long running operation is done when the + analysis has completed. + operationId: contactcenterinsights.projects.locations.conversations.analyses.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses/{analysesId}: + parameters: *ref_1 + get: + description: Gets an analysis. + operationId: contactcenterinsights.projects.locations.conversations.analyses.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Analysis + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: analysesId + required: true + schema: + type: string + delete: + description: Deletes an analysis. + operationId: contactcenterinsights.projects.locations.conversations.analyses.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: analysesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations:calculateStats: + parameters: *ref_1 + get: + description: Gets conversation statistics. + operationId: contactcenterinsights.projects.locations.conversations.calculateStats + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations: + parameters: *ref_1 + get: + description: Lists conversations. + operationId: contactcenterinsights.projects.locations.conversations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListConversationsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: view + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string + post: + description: >- + Creates a conversation. Note that this method does not support audio + transcription or redaction. Use `conversations.upload` instead. + operationId: contactcenterinsights.projects.locations.conversations.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: conversationId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}: + parameters: *ref_1 + get: + description: Gets a conversation. + operationId: contactcenterinsights.projects.locations.conversations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: view + schema: + type: string + delete: + description: Deletes a conversation. + operationId: contactcenterinsights.projects.locations.conversations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + patch: + description: Updates a conversation. + operationId: contactcenterinsights.projects.locations.conversations.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/conversations:ingest: + parameters: *ref_1 + post: + description: >- + Imports conversations and processes them according to the user's + configuration. + operationId: contactcenterinsights.projects.locations.conversations.ingest + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations:bulkAnalyze: + parameters: *ref_1 + post: + description: Analyzes multiple conversations in a single request. + operationId: contactcenterinsights.projects.locations.conversations.bulkAnalyze + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations:upload: + parameters: *ref_1 + post: + description: >- + Create a long-running conversation upload operation. This method differs + from `CreateConversation` by allowing audio transcription and optional + DLP redaction. + operationId: contactcenterinsights.projects.locations.conversations.upload + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1UploadConversationRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/conversations:bulkDelete: + parameters: *ref_1 + post: + description: Deletes multiple conversations in a single request. + operationId: contactcenterinsights.projects.locations.conversations.bulkDelete + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}: + parameters: *ref_1 + patch: + description: Updates a analysis rule. + operationId: contactcenterinsights.projects.locations.analysisRules.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisRule + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisRule + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: analysisRulesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a analysis rule. + operationId: contactcenterinsights.projects.locations.analysisRules.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: analysisRulesId + required: true + schema: + type: string + get: + description: Get a analysis rule. + operationId: contactcenterinsights.projects.locations.analysisRules.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisRule + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: analysisRulesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/analysisRules: + parameters: *ref_1 + post: + description: Creates a analysis rule. + operationId: contactcenterinsights.projects.locations.analysisRules.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisRule + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1AnalysisRule + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + get: + description: Lists analysis rules. + operationId: contactcenterinsights.projects.locations.analysisRules.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}: + parameters: *ref_1 + delete: + description: Deletes a view. + operationId: contactcenterinsights.projects.locations.views.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: viewsId + required: true + schema: + type: string + patch: + description: Updates a view. + operationId: contactcenterinsights.projects.locations.views.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: viewsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Gets a view. + operationId: contactcenterinsights.projects.locations.views.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: viewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/views: + parameters: *ref_1 + get: + description: Lists views. + operationId: contactcenterinsights.projects.locations.views.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListViewsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: + description: Creates a view. + operationId: contactcenterinsights.projects.locations.views.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions: + parameters: *ref_1 + get: + description: Lists all revisions under the parent QaScorecard. + operationId: contactcenterinsights.projects.locations.qaScorecards.revisions.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Creates a QaScorecardRevision. + operationId: contactcenterinsights.projects.locations.qaScorecards.revisions.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardRevision + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardRevision + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: query + name: qaScorecardRevisionId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:deploy: + parameters: *ref_1 + post: + description: Deploy a QaScorecardRevision. + operationId: contactcenterinsights.projects.locations.qaScorecards.revisions.deploy + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardRevision + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:tuneQaScorecardRevision: + parameters: *ref_1 + post: + description: Fine tune one or more QaModels. + operationId: >- + contactcenterinsights.projects.locations.qaScorecards.revisions.tuneQaScorecardRevision + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}: + parameters: *ref_1 + get: + description: Gets a QaScorecardRevision. + operationId: contactcenterinsights.projects.locations.qaScorecards.revisions.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardRevision + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + delete: + description: Deletes a QaScorecardRevision. + operationId: contactcenterinsights.projects.locations.qaScorecards.revisions.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:undeploy: + parameters: *ref_1 + post: + description: Undeploy a QaScorecardRevision. + operationId: contactcenterinsights.projects.locations.qaScorecards.revisions.undeploy + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecardRevision + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}: + parameters: *ref_1 + patch: + description: Updates a QaQuestion. + operationId: >- + contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestion + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestion + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + - in: path + name: qaQuestionsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a QaQuestion. + operationId: >- + contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + - in: path + name: qaQuestionsId + required: true + schema: + type: string + get: + description: Gets a QaQuestion. + operationId: >- + contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestion + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + - in: path + name: qaQuestionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions: + parameters: *ref_1 + post: + description: Create a QaQuestion. + operationId: >- + contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestion + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaQuestion + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + - in: query + name: qaQuestionId + schema: + type: string + get: + description: Lists QaQuestions. + operationId: >- + contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: path + name: revisionsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}: + parameters: *ref_1 + patch: + description: Updates a QaScorecard. + operationId: contactcenterinsights.projects.locations.qaScorecards.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Gets a QaScorecard. + operationId: contactcenterinsights.projects.locations.qaScorecards.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + delete: + description: Deletes a QaScorecard. + operationId: contactcenterinsights.projects.locations.qaScorecards.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: qaScorecardsId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/qaScorecards: + parameters: *ref_1 + post: + description: Create a QaScorecard. + operationId: contactcenterinsights.projects.locations.qaScorecards.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QaScorecard + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: qaScorecardId + schema: + type: string get: - description: Lists analyses. - operationId: contactcenterinsights.projects.locations.conversations.analyses.list + description: Lists QaScorecards. + operationId: contactcenterinsights.projects.locations.qaScorecards.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/insightsdata:export: + parameters: *ref_1 + post: + description: Export insights data to a destination defined in the request body. + operationId: contactcenterinsights.projects.locations.insightsdata.export + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations/{conversationsId}: + parameters: *ref_1 + delete: + description: Deletes a conversation. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + get: + description: Gets a conversation. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: view + schema: + type: string + patch: + description: Updates a conversation. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations: + parameters: *ref_1 + post: + description: >- + Creates a conversation. Note that this method does not support audio + transcription or redaction. Use `conversations.upload` instead. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5505,7 +10347,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ListAnalysesResponse + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation parameters: - in: path name: projectsId @@ -5518,33 +10360,23 @@ paths: schema: type: string - in: path - name: conversationsId + name: authorizedViewSetsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: authorizedViewsId + required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + name: conversationId schema: type: string - post: - description: >- - Creates an analysis. The long running operation is done when the - analysis has completed. - operationId: contactcenterinsights.projects.locations.conversations.analyses.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' + get: + description: Lists conversations. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5556,7 +10388,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListConversationsResponse parameters: - in: path name: projectsId @@ -5569,15 +10402,51 @@ paths: schema: type: string - in: path - name: conversationsId + name: authorizedViewSetsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses/{analysesId}: + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: view + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations:upload: parameters: *ref_1 - delete: - description: Deletes an analysis. - operationId: contactcenterinsights.projects.locations.conversations.analyses.delete + post: + description: >- + Create a long-running conversation upload operation. This method differs + from `CreateConversation` by allowing audio transcription and optional + DLP redaction. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.upload + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5589,7 +10458,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -5602,18 +10471,37 @@ paths: schema: type: string - in: path - name: conversationsId + name: authorizedViewSetsId required: true schema: type: string - in: path - name: analysesId + name: authorizedViewsId required: true schema: type: string + - in: query + name: speechConfig.speechRecognizer + schema: + type: string + - in: query + name: redactionConfig.inspectTemplate + schema: + type: string + - in: query + name: conversationId + schema: + type: string + - in: query + name: redactionConfig.deidentifyTemplate + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations/{conversationsId}/analyses: + parameters: *ref_1 get: - description: Gets an analysis. - operationId: contactcenterinsights.projects.locations.conversations.analyses.get + description: Lists analyses. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.analyses.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5626,7 +10514,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Analysis + #/components/schemas/GoogleCloudContactcenterinsightsV1ListAnalysesResponse parameters: - in: path name: projectsId @@ -5639,20 +10527,44 @@ paths: schema: type: string - in: path - name: conversationsId + name: authorizedViewSetsId required: true schema: type: string - in: path - name: analysesId + name: authorizedViewsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}: - parameters: *ref_1 - get: - description: Gets a conversation. - operationId: contactcenterinsights.projects.locations.conversations.get + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: >- + Creates an analysis. The long running operation is done when the + analysis has completed. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.analyses.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Analysis' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5664,8 +10576,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -5678,17 +10589,26 @@ paths: schema: type: string - in: path - name: conversationsId + name: authorizedViewSetsId required: true schema: type: string - - in: query - name: view + - in: path + name: authorizedViewsId + required: true schema: type: string - delete: - description: Deletes a conversation. - operationId: contactcenterinsights.projects.locations.conversations.delete + - in: path + name: conversationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations/{conversationsId}/analyses/{analysesId}: + parameters: *ref_1 + get: + description: Gets an analysis. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.analyses.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5700,7 +10620,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Analysis parameters: - in: path name: projectsId @@ -5712,24 +10633,30 @@ paths: required: true schema: type: string + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string - in: path name: conversationsId required: true schema: type: string - - in: query - name: force + - in: path + name: analysesId + required: true schema: - type: boolean - patch: - description: Updates a conversation. - operationId: contactcenterinsights.projects.locations.conversations.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + type: string + delete: + description: Deletes an analysis. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.analyses.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5741,8 +10668,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -5754,21 +10680,34 @@ paths: required: true schema: type: string + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string - in: path name: conversationsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: analysesId + required: true schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/conversations:calculateStats: + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/operations: parameters: *ref_1 get: - description: Gets conversation statistics. - operationId: contactcenterinsights.projects.locations.conversations.calculateStats + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5780,8 +10719,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -5793,21 +10731,38 @@ paths: required: true schema: type: string + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string - in: query name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations:bulkAnalyze: - parameters: *ref_1 - post: - description: Analyzes multiple conversations in a single request. - operationId: contactcenterinsights.projects.locations.conversations.bulkAnalyze - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5831,19 +10786,36 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations:ingest: + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - Imports conversations and processes them according to the user's - configuration. - operationId: contactcenterinsights.projects.locations.conversations.ingest - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IngestConversationsRequest + 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`. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5855,7 +10827,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -5867,11 +10839,29 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations: + - in: path + name: authorizedViewSetsId + required: true + schema: + type: string + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}:getIamPolicy: parameters: *ref_1 get: - description: Lists conversations. - operationId: contactcenterinsights.projects.locations.conversations.list + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5883,8 +10873,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ListConversationsResponse + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -5896,38 +10885,35 @@ paths: required: true schema: type: string - - in: query - name: filter + - in: path + name: authorizedViewSetsId + required: true schema: type: string - - in: query - name: orderBy + - in: path + name: authorizedViewsId + required: true schema: type: string - in: query - name: pageSize + name: options.requestedPolicyVersion schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: view - schema: - type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}:setIamPolicy: + parameters: *ref_1 post: description: >- - Creates a conversation. Does not support audio transcription or DLP - redaction. Use `conversations.upload` instead. - operationId: contactcenterinsights.projects.locations.conversations.create + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.setIamPolicy requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + $ref: '#/components/schemas/GoogleIamV1SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5939,8 +10925,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Conversation + $ref: '#/components/schemas/GoogleIamV1Policy' parameters: - in: path name: projectsId @@ -5952,21 +10937,32 @@ paths: required: true schema: type: string - - in: query - name: conversationId + - in: path + name: authorizedViewSetsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations:bulkDelete: + - in: path + name: authorizedViewsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}:testIamPermissions: parameters: *ref_1 post: - description: Deletes multiple conversations in a single request. - operationId: contactcenterinsights.projects.locations.conversations.bulkDelete + description: >- + 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. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.testIamPermissions requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5978,7 +10974,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleIamV1TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -5990,48 +10986,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/conversations:upload: - parameters: *ref_1 - post: - description: >- - Create a long-running conversation upload operation. This method differs - from `CreateConversation` by allowing audio transcription and optional - DLP redaction. - operationId: contactcenterinsights.projects.locations.conversations.upload - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1UploadConversationRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - in: path - name: projectsId + name: authorizedViewSetsId required: true schema: type: string - in: path - name: locationsId + name: authorizedViewsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}: + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSet/{authorizedViewSetId}/authorizedViews/{authorizedViewsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}: parameters: *ref_1 delete: - description: Deletes a view. - operationId: contactcenterinsights.projects.locations.views.delete + description: Delete feedback label. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedViews.conversations.feedbackLabels.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6056,54 +11026,29 @@ paths: schema: type: string - in: path - name: viewsId + name: authorizedViewSetId required: true schema: type: string - patch: - description: Updates a view. - operationId: contactcenterinsights.projects.locations.views.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' - parameters: - in: path - name: projectsId + name: authorizedViewsId required: true schema: type: string - in: path - name: locationsId + name: conversationsId required: true schema: type: string - in: path - name: viewsId + name: feedbackLabelsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask get: - description: Gets a view. - operationId: contactcenterinsights.projects.locations.views.get + description: Get feedback label. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedViews.conversations.feedbackLabels.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6115,7 +11060,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel parameters: - in: path name: projectsId @@ -6128,20 +11074,35 @@ paths: schema: type: string - in: path - name: viewsId + name: authorizedViewSetId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/views: - parameters: *ref_1 - post: - description: Creates a view. - operationId: contactcenterinsights.projects.locations.views.create + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: feedbackLabelsId + required: true + schema: + type: string + patch: + description: Update feedback label. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedViews.conversations.feedbackLabels.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6153,7 +11114,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1View' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel parameters: - in: path name: projectsId @@ -6165,56 +11127,37 @@ paths: required: true schema: type: string - get: - description: Lists views. - operationId: contactcenterinsights.projects.locations.views.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ListViewsResponse - parameters: - in: path - name: projectsId + name: authorizedViewSetId required: true schema: type: string - in: path - name: locationsId + name: authorizedViewsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: conversationsId + required: true + schema: + type: string + - in: path + name: feedbackLabelsId + required: true schema: type: string - in: query - name: pageSize + name: updateMask schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSet/{authorizedViewSetId}/authorizedViews/{authorizedViewsId}/conversations/{conversationsId}/feedbackLabels: parameters: *ref_1 - post: - description: >- - 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`. - operationId: contactcenterinsights.projects.locations.operations.cancel + get: + description: List feedback labels. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedViews.conversations.feedbackLabels.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6226,31 +11169,57 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse parameters: - in: path - name: projectsId + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: authorizedViewSetId required: true schema: type: string - in: path - name: locationsId + name: authorizedViewsId required: true schema: type: string - in: path - name: operationsId + name: conversationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: - parameters: *ref_1 - get: - description: >- - 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. - operationId: contactcenterinsights.projects.locations.operations.get + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: + description: Create feedback label. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedViews.conversations.feedbackLabels.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6262,7 +11231,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1FeedbackLabel parameters: - in: path name: projectsId @@ -6275,17 +11245,30 @@ paths: schema: type: string - in: path - name: operationsId + name: authorizedViewSetId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations: + - in: path + name: authorizedViewsId + required: true + schema: + type: string + - in: path + name: conversationsId + required: true + schema: + type: string + - in: query + name: feedbackLabelId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSet/{authorizedViewSetId}/authorizedView/{authorizedViewId}:calculateStats: parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: contactcenterinsights.projects.locations.operations.list + description: Gets conversation statistics. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedView.calculateStats security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6297,7 +11280,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateStatsResponse parameters: - in: path name: projectsId @@ -6309,24 +11293,32 @@ paths: required: true schema: type: string - - in: query - name: pageSize + - in: path + name: authorizedViewSetId + required: true schema: - type: integer - format: int32 - - in: query - name: filter + type: string + - in: path + name: authorizedViewId + required: true schema: type: string - in: query - name: pageToken + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}: + /v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSet/{authorizedViewSetId}/authorizedView/{authorizedViewId}:queryMetrics: parameters: *ref_1 - delete: - description: Deletes a phrase matcher. - operationId: contactcenterinsights.projects.locations.phraseMatchers.delete + post: + description: Query metrics. + operationId: >- + contactcenterinsights.projects.locations.authorizedViewSet.authorizedView.queryMetrics + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6338,7 +11330,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6351,13 +11343,25 @@ paths: schema: type: string - in: path - name: phraseMatchersId + name: authorizedViewSetId required: true schema: type: string - get: - description: Gets a phrase matcher. - operationId: contactcenterinsights.projects.locations.phraseMatchers.get + - in: path + name: authorizedViewId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}: + parameters: *ref_1 + patch: + description: Updates an issue. + operationId: contactcenterinsights.projects.locations.issueModels.issues.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6369,8 +11373,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' parameters: - in: path name: projectsId @@ -6383,19 +11386,23 @@ paths: schema: type: string - in: path - name: phraseMatchersId + name: issueModelsId required: true schema: type: string - patch: - description: Updates a phrase matcher. - operationId: contactcenterinsights.projects.locations.phraseMatchers.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + - in: path + name: issuesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Gets an issue. + operationId: contactcenterinsights.projects.locations.issueModels.issues.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6407,8 +11414,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' parameters: - in: path name: projectsId @@ -6421,20 +11427,18 @@ paths: schema: type: string - in: path - name: phraseMatchersId + name: issueModelsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: issuesId + required: true schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers: - parameters: *ref_1 - get: - description: Lists phrase matchers. - operationId: contactcenterinsights.projects.locations.phraseMatchers.list + delete: + description: Deletes an issue. + operationId: contactcenterinsights.projects.locations.issueModels.issues.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6446,8 +11450,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -6459,28 +11462,21 @@ paths: required: true schema: type: string - - in: query - name: filter + - in: path + name: issueModelsId + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: issuesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates a phrase matcher. - operationId: contactcenterinsights.projects.locations.phraseMatchers.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues: + parameters: *ref_1 + get: + description: Lists issues. + operationId: contactcenterinsights.projects.locations.issueModels.issues.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6493,7 +11489,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1PhraseMatcher + #/components/schemas/GoogleCloudContactcenterinsightsV1ListIssuesResponse parameters: - in: path name: projectsId @@ -6505,17 +11501,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/insightsdata:export: + - in: path + name: issueModelsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}: parameters: *ref_1 - post: - description: Export insights data to a destination defined in the request body. - operationId: contactcenterinsights.projects.locations.insightsdata.export - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest + delete: + description: Deletes an issue model. + operationId: contactcenterinsights.projects.locations.issueModels.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6539,11 +11534,14 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels: - parameters: *ref_1 - post: - description: Creates an issue model. - operationId: contactcenterinsights.projects.locations.issueModels.create + - in: path + name: issueModelsId + required: true + schema: + type: string + patch: + description: Updates an issue model. + operationId: contactcenterinsights.projects.locations.issueModels.patch requestBody: content: application/json: @@ -6561,7 +11559,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel parameters: - in: path name: projectsId @@ -6573,9 +11572,19 @@ paths: required: true schema: type: string + - in: path + name: issueModelsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask get: - description: Lists issue models. - operationId: contactcenterinsights.projects.locations.issueModels.list + description: Gets an issue model. + operationId: contactcenterinsights.projects.locations.issueModels.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6588,7 +11597,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ListIssueModelsResponse + #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel parameters: - in: path name: projectsId @@ -6600,19 +11609,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:undeploy: + - in: path + name: issueModelsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/issueModels:import: parameters: *ref_1 post: - description: >- - Undeploys an issue model. An issue model can not be used in analysis - after it has been undeployed. - operationId: contactcenterinsights.projects.locations.issueModels.undeploy + description: Imports an issue model from a Cloud Storage bucket. + operationId: contactcenterinsights.projects.locations.issueModels.import requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1ImportIssueModelRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6636,16 +11648,19 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}: + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:deploy: parameters: *ref_1 - delete: - description: Deletes an issue model. - operationId: contactcenterinsights.projects.locations.issueModels.delete + post: + description: >- + Deploys an issue model. Returns an error if a model is already deployed. + An issue model can only be used in analysis after it has been deployed. + operationId: contactcenterinsights.projects.locations.issueModels.deploy + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1DeployIssueModelRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6674,9 +11689,11 @@ paths: required: true schema: type: string - patch: - description: Updates an issue model. - operationId: contactcenterinsights.projects.locations.issueModels.patch + /v1/projects/{projectsId}/locations/{locationsId}/issueModels: + parameters: *ref_1 + post: + description: Creates an issue model. + operationId: contactcenterinsights.projects.locations.issueModels.create requestBody: content: application/json: @@ -6694,8 +11711,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6707,19 +11723,9 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask get: - description: Gets an issue model. - operationId: contactcenterinsights.projects.locations.issueModels.get + description: Lists issue models. + operationId: contactcenterinsights.projects.locations.issueModels.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6732,7 +11738,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1IssueModel + #/components/schemas/GoogleCloudContactcenterinsightsV1ListIssueModelsResponse parameters: - in: path name: projectsId @@ -6744,24 +11750,19 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:deploy: + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:undeploy: parameters: *ref_1 post: description: >- - Deploys an issue model. Returns an error if a model is already deployed. - An issue model can only be used in analysis after it has been deployed. - operationId: contactcenterinsights.projects.locations.issueModels.deploy + Undeploys an issue model. An issue model can not be used in analysis + after it has been undeployed. + operationId: contactcenterinsights.projects.locations.issueModels.undeploy requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1DeployIssueModelRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6790,17 +11791,17 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels:import: + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:export: parameters: *ref_1 post: - description: Imports an issue model from a Cloud Storage bucket. - operationId: contactcenterinsights.projects.locations.issueModels.import + description: Exports an issue model to the provided destination. + operationId: contactcenterinsights.projects.locations.issueModels.export requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ImportIssueModelRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1ExportIssueModelRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6824,17 +11825,17 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:export: + - in: path + name: issueModelsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:calculateIssueModelStats: parameters: *ref_1 - post: - description: Exports an issue model to the provided destination. - operationId: contactcenterinsights.projects.locations.issueModels.export - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ExportIssueModelRequest + get: + description: Gets an issue model's statistics. + operationId: >- + contactcenterinsights.projects.locations.issueModels.calculateIssueModelStats security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6846,7 +11847,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse parameters: - in: path name: projectsId @@ -6863,12 +11865,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:calculateIssueModelStats: + /v1/projects/{projectsId}/locations/{locationsId}/operations: parameters: *ref_1 get: - description: Gets an issue model's statistics. - operationId: >- - contactcenterinsights.projects.locations.issueModels.calculateIssueModelStats + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: contactcenterinsights.projects.locations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6880,8 +11883,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -6893,16 +11895,33 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}: + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: parameters: *ref_1 - delete: - description: Deletes an issue. - operationId: contactcenterinsights.projects.locations.issueModels.issues.delete + post: + description: >- + 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`. + operationId: contactcenterinsights.projects.locations.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6927,23 +11946,56 @@ paths: schema: type: string - in: path - name: issueModelsId + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: contactcenterinsights.projects.locations.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId required: true schema: type: string - in: path - name: issuesId + name: locationsId required: true schema: type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/settings: + parameters: *ref_1 patch: - description: Updates an issue. - operationId: contactcenterinsights.projects.locations.issueModels.issues.patch + description: Updates project-level settings. + operationId: contactcenterinsights.projects.locations.updateSettings requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' + $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Settings' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6955,7 +12007,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Settings parameters: - in: path name: projectsId @@ -6967,24 +12020,14 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true - schema: - type: string - - in: path - name: issuesId - required: true - schema: - type: string - in: query name: updateMask schema: type: string format: google-fieldmask get: - description: Gets an issue. - operationId: contactcenterinsights.projects.locations.issueModels.issues.get + description: Gets project-level settings. + operationId: contactcenterinsights.projects.locations.getSettings security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6996,7 +12039,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Issue' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1Settings parameters: - in: path name: projectsId @@ -7008,21 +12052,11 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true - schema: - type: string - - in: path - name: issuesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues: + /v1/projects/{projectsId}/locations/{locationsId}:listAllFeedbackLabels: parameters: *ref_1 get: - description: Lists issues. - operationId: contactcenterinsights.projects.locations.issueModels.issues.list + description: List all feedback labels by project number. + operationId: contactcenterinsights.projects.locations.listAllFeedbackLabels security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7035,7 +12069,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1ListIssuesResponse + #/components/schemas/GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse parameters: - in: path name: projectsId @@ -7047,27 +12081,30 @@ paths: required: true schema: type: string - - in: path - name: issueModelsId - required: true + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec:initialize: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}:bulkDownloadFeedbackLabels: parameters: *ref_1 post: - description: >- - 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. - operationId: contactcenterinsights.projects.locations.encryptionSpec.initialize + description: Download feedback labels in bulk. + operationId: contactcenterinsights.projects.locations.bulkDownloadFeedbackLabels requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7091,16 +12128,17 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/settings: + /v1/projects/{projectsId}/locations/{locationsId}:queryMetrics: parameters: *ref_1 - patch: - description: Updates project-level settings. - operationId: contactcenterinsights.projects.locations.updateSettings + post: + description: Query metrics. + operationId: contactcenterinsights.projects.locations.queryMetrics requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContactcenterinsightsV1Settings' + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1QueryMetricsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7112,8 +12150,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Settings + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -7125,14 +12162,17 @@ paths: required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Gets project-level settings. - operationId: contactcenterinsights.projects.locations.getSettings + /v1/projects/{projectsId}/locations/{locationsId}:bulkUploadFeedbackLabels: + parameters: *ref_1 + post: + description: Upload feedback labels in bulk. + operationId: contactcenterinsights.projects.locations.bulkUploadFeedbackLabels + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7144,8 +12184,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContactcenterinsightsV1Settings + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId diff --git a/providers/src/googleapis.com/v00.00.00000/services/container.yaml b/providers/src/googleapis.com/v00.00.00000/services/container.yaml index 96a9aaf6..06d45379 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/container.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/container.yaml @@ -9,8 +9,8 @@ info: Builds and manages container-based applications, powered by the open source Kubernetes technology. version: v1 - x-discovery-doc-revision: '20240814' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/kubernetes-engine/docs/ servers: @@ -206,7 +206,12 @@ components: description: Configuration for cluster IP allocation. $ref: '#/components/schemas/IPAllocationPolicy' masterAuthorizedNetworksConfig: - description: The configuration options for master authorized networks feature. + description: >- + The configuration options for master authorized networks feature. + Deprecated: Use + ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config + instead. + deprecated: true $ref: '#/components/schemas/MasterAuthorizedNetworksConfig' maintenancePolicy: description: Configure the maintenance policy for this cluster. @@ -479,6 +484,9 @@ components: securityPostureConfig: description: Enable/Disable Security Posture API features for the cluster. $ref: '#/components/schemas/SecurityPostureConfig' + controlPlaneEndpointsConfig: + description: Configuration for all cluster's control plane endpoints. + $ref: '#/components/schemas/ControlPlaneEndpointsConfig' enableK8sBetaApis: description: Beta APIs Config $ref: '#/components/schemas/K8sBetaAPIConfig' @@ -499,6 +507,9 @@ components: description: Output only. Reserved for future use. readOnly: true type: boolean + userManagedKeysConfig: + description: The Custom keys configuration for the cluster. + $ref: '#/components/schemas/UserManagedKeysConfig' rbacBindingConfig: description: >- RBACBindingConfig allows user to restrict ClusterRoleBindings an @@ -748,6 +759,51 @@ components: secondaryBootDiskUpdateStrategy: description: Secondary boot disk update strategy. $ref: '#/components/schemas/SecondaryBootDiskUpdateStrategy' + localSsdEncryptionMode: + description: >- + Specifies which method should be used for encrypting the Local SSDs + attahced to the node. + type: string + enumDescriptions: + - >- + The given node will be encrypted using keys managed by Google + infrastructure and the keys will be deleted when the node is + deleted. + - >- + The given node will be encrypted using keys managed by Google + infrastructure and the keys will be deleted when the node is + deleted. + - >- + The given node will opt-in for using ephemeral key for encryption + of Local SSDs. The Local SSDs will not be able to recover data in + case of node crash. + enum: + - LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED + - STANDARD_ENCRYPTION + - EPHEMERAL_KEY_ENCRYPTION + effectiveCgroupMode: + description: >- + Output only. effective_cgroup_mode is the cgroup mode actually used + by the node pool. It is determined by the cgroup mode specified in + the LinuxNodeConfig or the default cgroup mode based on the cluster + creation version. + readOnly: true + type: string + enumDescriptions: + - >- + EFFECTIVE_CGROUP_MODE_UNSPECIFIED means the cgroup configuration + for the node pool is unspecified, i.e. the node pool is a Windows + node pool. + - >- + CGROUP_MODE_V1 means the node pool is configured to use cgroupv1 + for the cgroup configuration. + - >- + CGROUP_MODE_V2 means the node pool is configured to use cgroupv2 + for the cgroup configuration. + enum: + - EFFECTIVE_CGROUP_MODE_UNSPECIFIED + - EFFECTIVE_CGROUP_MODE_V1 + - EFFECTIVE_CGROUP_MODE_V2 AcceleratorConfig: id: AcceleratorConfig description: AcceleratorConfig represents a Hardware Accelerator request. @@ -1456,6 +1512,9 @@ components: statefulHaConfig: description: Optional. Configuration for the StatefulHA add-on. $ref: '#/components/schemas/StatefulHAConfig' + parallelstoreCsiDriverConfig: + description: Configuration for the Cloud Storage Parallelstore CSI driver. + $ref: '#/components/schemas/ParallelstoreCsiDriverConfig' rayOperatorConfig: description: Optional. Configuration for Ray Operator addon. $ref: '#/components/schemas/RayOperatorConfig' @@ -1585,6 +1644,16 @@ components: enabled: description: Whether the Stateful HA add-on is enabled for this cluster. type: boolean + ParallelstoreCsiDriverConfig: + id: ParallelstoreCsiDriverConfig + description: Configuration for the Cloud Storage Parallelstore CSI driver. + type: object + properties: + enabled: + description: >- + Whether the Cloud Storage Parallelstore CSI driver is enabled for + this cluster. + type: boolean RayOperatorConfig: id: RayOperatorConfig description: Configuration options for the Ray Operator add-on. @@ -1804,7 +1873,7 @@ components: description: >- Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived - from cluster.privateClusterConfig.enablePrivateNodes + from Cluster.NetworkConfig.default_enable_private_nodes type: boolean networkPerformanceConfig: description: Network bandwidth tier configuration. @@ -1898,6 +1967,11 @@ components: maxPodsPerNode: description: The maximum number of pods per node which use this pod network. $ref: '#/components/schemas/MaxPodsConstraint' + networkAttachment: + description: >- + The name of the network attachment for pods to communicate to; + cannot be specified along with subnetwork or secondary_pod_range. + type: string MaxPodsConstraint: id: MaxPodsConstraint description: Constraints applied to pods. @@ -1919,14 +1993,14 @@ components: type: boolean minNodeCount: description: >- - Minimum number of nodes for one location in the NodePool. Must be >= - 1 and <= max_node_count. + Minimum number of nodes for one location in the node pool. Must be + greater than or equal to 0 and less than or equal to max_node_count. type: integer format: int32 maxNodeCount: description: >- - Maximum number of nodes for one location in the NodePool. Must be >= - min_node_count. There has to be enough quota to scale up the + Maximum number of nodes for one location in the node pool. Must be + >= min_node_count. There has to be enough quota to scale up the cluster. type: integer format: int32 @@ -1948,17 +2022,18 @@ components: - ANY totalMinNodeCount: description: >- - Minimum number of nodes in the node pool. Must be greater than 1 - less than total_max_node_count. The total_*_node_count fields are - mutually exclusive with the *_node_count fields. + Minimum number of nodes in the node pool. Must be greater than or + equal to 0 and less than or equal to total_max_node_count. The + total_*_node_count fields are mutually exclusive with the + *_node_count fields. type: integer format: int32 totalMaxNodeCount: description: >- - Maximum number of nodes in the node pool. Must be greater than - total_min_node_count. There has to be enough quota to scale up the - cluster. The total_*_node_count fields are mutually exclusive with - the *_node_count fields. + Maximum number of nodes in the node pool. Must be greater than or + equal to total_min_node_count. There has to be enough quota to scale + up the cluster. The total_*_node_count fields are mutually exclusive + with the *_node_count fields. type: integer format: int32 NodeManagement: @@ -2647,6 +2722,11 @@ components: Whether master is accessbile via Google Compute Engine Public IP addresses. type: boolean + privateEndpointEnforcementEnabled: + description: >- + Whether master authorized networks is enforced on private endpoint + or not. + type: boolean CidrBlock: id: CidrBlock description: CidrBlock contains an optional name and one CIDR block. @@ -3069,6 +3149,13 @@ components: enableCiliumClusterwideNetworkPolicy: description: Whether CiliumClusterwideNetworkPolicy is enabled on this cluster. type: boolean + defaultEnablePrivateNodes: + description: >- + Controls whether by default nodes have private IP addresses only. It + is invalid to specify both PrivateClusterConfig.enablePrivateNodes + and this field at the same time. To update the default setting, use + ClusterUpdate.desired_default_enable_private_nodes + type: boolean DefaultSnatStatus: id: DefaultSnatStatus description: >- @@ -3233,12 +3320,19 @@ components: description: >- Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the - master via private networking. + master via private networking. Deprecated: Use + NetworkConfig.default_enable_private_nodes instead. + deprecated: true type: boolean enablePrivateEndpoint: description: >- Whether the master's internal IP address is used as the cluster - endpoint. + endpoint. Deprecated: Use + ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint + instead. Note that the value of enable_public_endpoint is reversed: + if enable_private_endpoint is false, then enable_public_endpoint + will be true. + deprecated: true type: boolean masterIpv4CidrBlock: description: >- @@ -3251,14 +3345,20 @@ components: privateEndpoint: description: >- Output only. The internal IP address of this cluster's master - endpoint. + endpoint. Deprecated: Use + ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint + instead. readOnly: true + deprecated: true type: string publicEndpoint: description: >- Output only. The external IP address of this cluster's master - endpoint. + endpoint. Deprecated:Use + ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint + instead. readOnly: true + deprecated: true type: string peeringName: description: >- @@ -3267,12 +3367,20 @@ components: readOnly: true type: string masterGlobalAccessConfig: - description: Controls master global access settings. + description: >- + Controls master global access settings. Deprecated: Use + ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access + instead. + deprecated: true $ref: '#/components/schemas/PrivateClusterMasterGlobalAccessConfig' privateEndpointSubnetwork: description: >- Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. + Deprecated: Use + ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork + instead. + deprecated: true type: string PrivateClusterMasterGlobalAccessConfig: id: PrivateClusterMasterGlobalAccessConfig @@ -3612,6 +3720,8 @@ components: - kube-apiserver - kube-scheduler - kube-controller-manager + - kcp-sshd + - kcp connection logs enum: - COMPONENT_UNSPECIFIED - SYSTEM_COMPONENTS @@ -3619,6 +3729,8 @@ components: - APISERVER - SCHEDULER - CONTROLLER_MANAGER + - KCP_SSHD + - KCP_CONNECTION MonitoringConfig: id: MonitoringConfig description: MonitoringConfig is cluster monitoring configuration. @@ -3736,6 +3848,10 @@ components: node-pools. Currently only `insecure_kubelet_readonly_port_enabled` can be set here. $ref: '#/components/schemas/NodeKubeletConfig' + linuxNodeConfig: + description: Output only. Configuration options for Linux nodes. + readOnly: true + $ref: '#/components/schemas/LinuxNodeConfig' NetworkTags: id: NetworkTags description: >- @@ -3809,6 +3925,86 @@ components: - VULNERABILITY_DISABLED - VULNERABILITY_BASIC - VULNERABILITY_ENTERPRISE + ControlPlaneEndpointsConfig: + id: ControlPlaneEndpointsConfig + description: Configuration for all of the cluster's control plane endpoints. + type: object + properties: + dnsEndpointConfig: + description: DNS endpoint configuration. + $ref: '#/components/schemas/DNSEndpointConfig' + ipEndpointsConfig: + description: IP endpoints configuration. + $ref: '#/components/schemas/IPEndpointsConfig' + DNSEndpointConfig: + id: DNSEndpointConfig + description: Describes the configuration of a DNS endpoint. + type: object + properties: + endpoint: + description: >- + Output only. The cluster's DNS endpoint configuration. A DNS format + address. This is accessible from the public internet. Ex: + uid.us-central1.gke.goog. Always present, but the behavior may + change according to the value of + DNSEndpointConfig.allow_external_traffic. + readOnly: true + type: string + allowExternalTraffic: + description: >- + Controls whether user traffic is allowed over this endpoint. Note + that GCP-managed services may still use the endpoint even if this is + false. + type: boolean + IPEndpointsConfig: + id: IPEndpointsConfig + description: IP endpoints configuration. + type: object + properties: + enabled: + description: Controls whether to allow direct IP access. + type: boolean + enablePublicEndpoint: + description: >- + Controls whether the control plane allows access through a public + IP. It is invalid to specify both + PrivateClusterConfig.enablePrivateEndpoint and this field at the + same time. + type: boolean + globalAccess: + description: >- + Controls whether the control plane's private endpoint is accessible + from sources in other regions. It is invalid to specify both + PrivateClusterMasterGlobalAccessConfig.enabled and this field at the + same time. + type: boolean + authorizedNetworksConfig: + description: >- + Configuration of authorized networks. If enabled, restricts access + to the control plane based on source IP. It is invalid to specify + both Cluster.masterAuthorizedNetworksConfig and this field at the + same time. + $ref: '#/components/schemas/MasterAuthorizedNetworksConfig' + publicEndpoint: + description: >- + Output only. The external IP address of this cluster's control + plane. Only populated if enabled. + readOnly: true + type: string + privateEndpoint: + description: >- + Output only. The internal IP address of this cluster's control + plane. Only populated if enabled. + readOnly: true + type: string + privateEndpointSubnetwork: + description: >- + Subnet to provision the master's private endpoint during cluster + creation. Specified in projects/*/regions/*/subnetworks/* format. It + is invalid to specify both + PrivateClusterConfig.privateEndpointSubnetwork and this field at the + same time. + type: string K8sBetaAPIConfig: id: K8sBetaAPIConfig description: K8sBetaAPIConfig , configuration for beta APIs @@ -3838,6 +4034,17 @@ components: - CLUSTER_TIER_UNSPECIFIED - STANDARD - ENTERPRISE + desiredTier: + description: desired_tier specifies the desired tier of the cluster. + type: string + enumDescriptions: + - CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set. + - STANDARD indicates a standard GKE cluster. + - ENTERPRISE indicates a GKE Enterprise cluster. + enum: + - CLUSTER_TIER_UNSPECIFIED + - STANDARD + - ENTERPRISE SecretManagerConfig: id: SecretManagerConfig description: SecretManagerConfig is config for secret manager enablement. @@ -3877,6 +4084,60 @@ components: standard: description: Name of the compliance standard. type: string + UserManagedKeysConfig: + id: UserManagedKeysConfig + description: >- + UserManagedKeysConfig holds the resource address to Keys which are used + for signing certs and token that are used for communication within + cluster. + type: object + properties: + clusterCa: + description: >- + The Certificate Authority Service caPool to use for the cluster CA + in this cluster. + type: string + etcdApiCa: + description: >- + Resource path of the Certificate Authority Service caPool to use for + the etcd API CA in this cluster. + type: string + etcdPeerCa: + description: >- + Resource path of the Certificate Authority Service caPool to use for + the etcd peer CA in this cluster. + type: string + serviceAccountSigningKeys: + description: >- + The Cloud KMS cryptoKeyVersions to use for signing service account + JWTs issued by this cluster. Format: + `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}` + type: array + items: + type: string + serviceAccountVerificationKeys: + description: >- + The Cloud KMS cryptoKeyVersions to use for verifying service account + JWTs issued by this cluster. Format: + `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}` + type: array + items: + type: string + aggregationCa: + description: >- + The Certificate Authority Service caPool to use for the aggregation + CA in this cluster. + type: string + controlPlaneDiskEncryptionKey: + description: >- + The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the + control plane nodes. + type: string + gkeopsEtcdBackupEncryptionKey: + description: >- + Resource path of the Cloud KMS cryptoKey to use for encryption of + internal etcd backups. + type: string RBACBindingConfig: id: RBACBindingConfig description: >- @@ -4378,7 +4639,10 @@ components: desiredMasterAuthorizedNetworksConfig: description: >- The desired configuration options for master authorized networks - feature. + feature. Deprecated: Use + desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config + instead. + deprecated: true $ref: '#/components/schemas/MasterAuthorizedNetworksConfig' desiredClusterAutoscaling: description: Cluster-level autoscaling configuration. @@ -4411,7 +4675,10 @@ components: master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other - fields within PrivateClusterConfig. + fields within PrivateClusterConfig. Deprecated: Use + desired_control_plane_endpoints_config.ip_endpoints_config.global_access + instead. + deprecated: true $ref: '#/components/schemas/PrivateClusterConfig' desiredIntraNodeVisibilityConfig: description: The desired config of Intra-node visibility. @@ -4476,8 +4743,24 @@ components: Services with ExternalIPs field. $ref: '#/components/schemas/ServiceExternalIPsConfig' desiredEnablePrivateEndpoint: - description: Enable/Disable private endpoint for the cluster's master. + description: >- + Enable/Disable private endpoint for the cluster's master. + Deprecated: Use + desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint + instead. Note that the value of enable_public_endpoint is reversed: + if enable_private_endpoint is false, then enable_public_endpoint + will be true. + deprecated: true type: boolean + desiredDefaultEnablePrivateNodes: + description: >- + Override the default setting of whether future created nodes have + private IP addresses only, namely + NetworkConfig.default_enable_private_nodes + type: boolean + desiredControlPlaneEndpointsConfig: + description: Control plane endpoints configuration. + $ref: '#/components/schemas/ControlPlaneEndpointsConfig' desiredMasterVersion: description: >- The Kubernetes version to change the master to. Users may specify @@ -4607,11 +4890,23 @@ components: The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. $ref: '#/components/schemas/NodeKubeletConfig' + userManagedKeysConfig: + description: The Custom keys configuration for the cluster. + $ref: '#/components/schemas/UserManagedKeysConfig' desiredRbacBindingConfig: description: >- RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created. $ref: '#/components/schemas/RBACBindingConfig' + desiredEnterpriseConfig: + description: The desired enterprise configuration for the cluster. + $ref: '#/components/schemas/DesiredEnterpriseConfig' + desiredNodePoolAutoConfigLinuxNodeConfig: + description: >- + The desired Linux node config for all auto-provisioned node pools in + autopilot clusters and node auto-provisioning enabled clusters. + Currently only `cgroup_mode` can be set here. + $ref: '#/components/schemas/LinuxNodeConfig' IntraNodeVisibilityConfig: id: IntraNodeVisibilityConfig description: >- @@ -4632,6 +4927,24 @@ components: enabled: description: Enables l4 ILB subsetting for this cluster. type: boolean + DesiredEnterpriseConfig: + id: DesiredEnterpriseConfig + description: >- + DesiredEnterpriseConfig is a wrapper used for updating + enterprise_config. + type: object + properties: + desiredTier: + description: desired_tier specifies the desired tier of the cluster. + type: string + enumDescriptions: + - CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set. + - STANDARD indicates a standard GKE cluster. + - ENTERPRISE indicates a GKE Enterprise cluster. + enum: + - CLUSTER_TIER_UNSPECIFIED + - STANDARD + - ENTERPRISE UpdateNodePoolRequest: id: UpdateNodePoolRequest description: UpdateNodePoolRequests update a node pool's image and/or version. @@ -5282,6 +5595,9 @@ components: type: array items: type: string + upgradeTargetVersion: + description: The auto upgrade target version for clusters on the channel. + type: string GetOpenIDConfigResponse: id: GetOpenIDConfigResponse description: >- @@ -5322,8 +5638,8 @@ components: type: string cacheHeader: description: >- - OnePlatform automatically extracts this field and uses it to set the - HTTP Cache-Control header. + For HTTP requests, this field is automatically extracted into the + Cache-Control HTTP header. $ref: '#/components/schemas/HttpCacheControlResponseHeader' HttpCacheControlResponseHeader: id: HttpCacheControlResponseHeader @@ -5356,8 +5672,8 @@ components: $ref: '#/components/schemas/Jwk' cacheHeader: description: >- - OnePlatform automatically extracts this field and uses it to set the - HTTP Cache-Control header. + For HTTP requests, this field is automatically extracted into the + Cache-Control HTTP header. $ref: '#/components/schemas/HttpCacheControlResponseHeader' Jwk: id: Jwk @@ -5986,6 +6302,65 @@ components: Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool. type: string + UpgradeInfoEvent: + id: UpgradeInfoEvent + description: >- + UpgradeInfoEvent is a notification sent to customers about the upgrade + information of a resource. + type: object + properties: + resourceType: + description: The resource type associated with the upgrade. + type: string + enumDescriptions: + - Default value. This shouldn't be used. + - Master / control plane + - Node pool + enum: + - UPGRADE_RESOURCE_TYPE_UNSPECIFIED + - MASTER + - NODE_POOL + operation: + description: The operation associated with this upgrade. + type: string + startTime: + description: The time when the operation was started. + type: string + format: google-datetime + endTime: + description: The time when the operation ended. + type: string + format: google-datetime + currentVersion: + description: The current version before the upgrade. + type: string + targetVersion: + description: The target version for the upgrade. + type: string + resource: + description: >- + Optional relative path to the resource. For example in node pool + upgrades, the relative path of the node pool. + type: string + state: + description: Output only. The state of the upgrade. + readOnly: true + type: string + enumDescriptions: + - STATE_UNSPECIFIED indicates the state is unspecified. + - STARTED indicates the upgrade has started. + - SUCCEEDED indicates the upgrade has completed successfully. + - FAILED indicates the upgrade has failed. + - CANCELED indicates the upgrade has canceled. + enum: + - STATE_UNSPECIFIED + - STARTED + - SUCCEEDED + - FAILED + - CANCELED + description: + description: A brief description of the event. + type: string UpgradeAvailableEvent: id: UpgradeAvailableEvent description: >- diff --git a/providers/src/googleapis.com/v00.00.00000/services/containeranalysis.yaml b/providers/src/googleapis.com/v00.00.00000/services/containeranalysis.yaml index ce5485f5..cd26f7c1 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/containeranalysis.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/containeranalysis.yaml @@ -12,8 +12,8 @@ info: is an implementation of the Grafeas API, which enables storing, querying, and retrieval of critical metadata about all of your software artifacts. version: v1 - x-discovery-doc-revision: '20240830' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/container-analysis/api/reference/rest/ servers: @@ -39,1960 +39,1867 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - ProjectRepoId: + Digest: + id: Digest + description: Digest information. properties: - repoName: + algo: type: string - description: The name of the repo. Leave empty for the default repo. - projectId: + description: '`SHA1`, `SHA512` etc.' + digestBytes: + format: byte + description: Value of the digest. type: string - description: The ID of the project. - description: >- - Selects a repo using a Google Cloud Platform project ID (e.g., - winged-cargo-31) and a repo name within that project. - id: ProjectRepoId type: object - AnalysisCompleted: - id: AnalysisCompleted + TestIamPermissionsRequest: properties: - analysisType: - type: array + permissions: items: type: string - type: object - description: >- - Indicates which analysis completed successfully. Multiple types of - analysis can be performed on a single resource. - Completeness: - id: Completeness - description: >- - Indicates that the builder claims certain fields in this message to be - complete. - properties: - arguments: - description: >- - If true, the builder claims that recipe.arguments is complete, - meaning that all external inputs are properly captured in the - recipe. - type: boolean - environment: - description: >- - If true, the builder claims that recipe.environment is claimed to be - complete. - type: boolean - materials: - type: boolean + type: array description: >- - If true, the builder claims that materials are complete, usually - through some controls to prevent network access. Sometimes called - "hermetic". + The set of permissions to check for the `resource`. Permissions with + wildcards (such as `*` or `storage.*`) are not allowed. For more + information see [IAM + Overview](https://cloud.google.com/iam/docs/overview#permissions). + id: TestIamPermissionsRequest + description: Request message for `TestIamPermissions` method. type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource: - description: Location of the source in any accessible Git repository. + UpgradeNote: type: object - id: ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource + id: UpgradeNote properties: - revision: - type: string - description: >- - Optional. The revision to fetch from the Git repository such as a - branch, a tag, a commit SHA, or any Git ref. Cloud Build uses `git - fetch` to fetch the revision from the Git repository; therefore make - sure that the string you provide for `revision` is parsable by the - command. For information on string values accepted by `git fetch`, - see https://git-scm.com/docs/gitrevisions#_specifying_revisions. For - information on `git fetch`, see https://git-scm.com/docs/git-fetch. - dir: + package: type: string + description: Required for non-Windows OS. The package this Upgrade is for. + windowsUpdate: + $ref: '#/components/schemas/WindowsUpdate' description: >- - Optional. Directory, relative to the source root, in which to run - the build. This must be a relative path. If a step's `dir` is - specified and is an absolute path, this value is ignored for that - step's execution. - url: - description: >- - Required. Location of the Git repo to build. This will be used as a - `git remote`, see https://git-scm.com/docs/git-remote. - type: string - SBOMReferenceNote: - properties: + Required for Windows OS. Represents the metadata about the Windows + update. version: + $ref: '#/components/schemas/Version' description: >- - The version of the format that the SBOM takes. E.g. if the format is - spdx, the version may be 2.3. - type: string - format: - description: The format that SBOM takes. E.g. may be spdx, cyclonedx, etc... - type: string - type: object - description: The note representing an SBOM reference. - id: SBOMReferenceNote - RelatedUrl: + Required for non-Windows OS. The version of the package in machine + + human readable form. + distributions: + items: + $ref: '#/components/schemas/UpgradeDistribution' + type: array + description: Metadata about the upgrade for each specific operating system. + description: >- + 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. + VulnerabilityOccurrence: + description: An occurrence of a severity vulnerability on a resource. + id: VulnerabilityOccurrence type: object - description: Metadata for any related URL information. properties: - label: - type: string - description: Label to describe usage of the URL. - url: - description: Specific URL associated with the resource. + cvssVersion: + enumDescriptions: + - '' + - '' + - '' + description: Output only. CVSS version used to populate cvss_score and severity. + enum: + - CVSS_VERSION_UNSPECIFIED + - CVSS_VERSION_2 + - CVSS_VERSION_3 type: string - id: RelatedUrl - ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource: - type: object - description: Location of the source in a Google Cloud Source Repository. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource - properties: - dir: + fixAvailable: + type: boolean description: >- - Optional. Directory, relative to the source root, in which to run - the build. This must be a relative path. If a step's `dir` is - specified and is an absolute path, this value is ignored for that - step's execution. + Output only. Whether at least one of the affected packages has a fix + available. + cvssv3: + $ref: '#/components/schemas/CVSS' + description: The cvss v3 score for the vulnerability. + shortDescription: type: string - tagName: + description: Output only. A one sentence description of this vulnerability. + relatedUrls: + items: + $ref: '#/components/schemas/RelatedUrl' + description: Output only. URLs related to this vulnerability. + type: array + type: description: >- - Regex matching tags to build. The syntax of the regular expressions - accepted is the syntax accepted by RE2 and described at - https://github.com/google/re2/wiki/Syntax - type: string - repoName: + The type of package; whether native or non native (e.g., ruby gems, + node.js packages, etc.). type: string - description: Required. Name of the Cloud Source Repository. - invertRegex: - description: >- - Optional. Only trigger a build if the revision regex does NOT match - the revision regex. - type: boolean - substitutions: - type: object + cvssScore: + format: float + type: number description: >- - Optional. Substitutions to use in a triggered build. Should only be - used with RunBuildTrigger - additionalProperties: - type: string - projectId: + Output only. The CVSS score of this vulnerability. CVSS score is on + a scale of 0 - 10 where 0 indicates low severity and 10 indicates + high severity. + extraDetails: type: string + description: Occurrence-specific extra details about the vulnerability. + packageIssue: description: >- - Optional. ID of the project that owns the Cloud Source Repository. - If omitted, the project ID requesting the build is assumed. - commitSha: + Required. The set of affected locations and their fixes (if + available) within the associated resource. + items: + $ref: '#/components/schemas/PackageIssue' + type: array + vexAssessment: + $ref: '#/components/schemas/VexAssessment' + severity: type: string - description: Explicit commit SHA to build. - branchName: + description: >- + Output only. The note provider assigned severity of this + vulnerability. + enumDescriptions: + - Unknown. + - Minimal severity. + - Low severity. + - Medium severity. + - High severity. + - Critical severity. + enum: + - SEVERITY_UNSPECIFIED + - MINIMAL + - LOW + - MEDIUM + - HIGH + - CRITICAL + effectiveSeverity: type: string + enum: + - SEVERITY_UNSPECIFIED + - MINIMAL + - LOW + - MEDIUM + - HIGH + - CRITICAL + enumDescriptions: + - Unknown. + - Minimal severity. + - Low severity. + - Medium severity. + - High severity. + - Critical severity. description: >- - Regex matching branches to build. The syntax of the regular - expressions accepted is the syntax accepted by RE2 and described at - https://github.com/google/re2/wiki/Syntax - BuilderConfig: - properties: - id: + The distro assigned severity for this vulnerability when it is + available, otherwise this is the note provider assigned severity. + When there are multiple PackageIssues for this vulnerability, they + can have different effective severities because some might be + provided by the distro while others are provided by the language + ecosystem for a language pack. For this reason, it is advised to use + the effective severity on the PackageIssue level. In the case where + multiple PackageIssues have differing effective severities, this + field should be the highest severity for any of the PackageIssues. + cvssV2: + $ref: '#/components/schemas/CVSS' + description: The cvss v2 score for the vulnerability. + longDescription: type: string + description: Output only. A detailed description of this vulnerability. + Assessment: type: object - id: BuilderConfig - ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret: properties: - envMap: - type: object + remediations: description: >- - Map of environment variable name to its encrypted value. Secret - environment variables must be unique across all of a build's - secrets, and must be used by at least one build step. Values can be - at most 64 KB in size. There can be at most 100 secret values across - all of a build's secrets. - additionalProperties: - format: byte - type: string - kmsKeyName: + Specifies details on how to handle (and presumably, fix) a + vulnerability. + type: array + items: + $ref: '#/components/schemas/Remediation' + cve: type: string + deprecated: true description: >- - Resource name of Cloud KMS crypto key to decrypt the encrypted - value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/* - type: object - description: >- - Pairs a set of secret environment variables mapped to encrypted values - with the Cloud KMS key to use to decrypt the value. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret - ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact: - properties: - version: + Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + tracking number for the vulnerability. Deprecated: Use + vulnerability_id instead to denote CVEs. + relatedUris: description: >- - Maven `version` value used when uploading the artifact to Artifact - Registry. + Holds a list of references associated with this vulnerability item + and assessment. These uris have additional information about the + vulnerability and the assessment itself. E.g. Link to a document + which details how this assessment concluded the state of this + vulnerability. + items: + $ref: '#/components/schemas/RelatedUrl' + type: array + vulnerabilityId: type: string - repository: description: >- - Artifact Registry repository, in the form - "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY" Artifact in the - workspace specified by path will be uploaded to Artifact Registry - with this location as a prefix. - type: string - artifactId: + The vulnerability identifier for this Assessment. Will hold one of + common identifiers e.g. CVE, GHSA etc. + longDescription: + description: A detailed description of this Vex. type: string + impacts: description: >- - Maven `artifactId` value used when uploading the artifact to - Artifact Registry. - path: - type: string + Contains information about the impact of this vulnerability, this + will change with time. + type: array + items: + type: string + justification: + $ref: '#/components/schemas/Justification' description: >- - Path to an artifact in the build's workspace to be uploaded to - Artifact Registry. This can be either an absolute path, e.g. - /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path - from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar. - groupId: + Justification provides the justification when the state of the + assessment if NOT_AFFECTED. + shortDescription: + description: A one sentence description of this Vex. type: string - description: >- - Maven `groupId` value used when uploading the artifact to Artifact - Registry. + state: + enumDescriptions: + - No state is specified. + - This product is known to be affected by this vulnerability. + - This product is known to be not affected by this vulnerability. + - This product contains a fix for this vulnerability. + - >- + It is not known yet whether these versions are or are not affected + by the vulnerability. However, it is still under investigation. + enum: + - STATE_UNSPECIFIED + - AFFECTED + - NOT_AFFECTED + - FIXED + - UNDER_INVESTIGATION + type: string + description: Provides the state of this Vulnerability assessment. + id: Assessment description: >- - A Maven artifact to upload to Artifact Registry upon successful - completion of all build steps. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact - type: object - WindowsDetail: + Assessment provides all information that is related to a single + vulnerability for this product. + BuildOccurrence: type: object + description: Details of a build occurrence. properties: - description: - description: The description of this vulnerability. - type: string - cpeUri: - type: string + intotoProvenance: + $ref: '#/components/schemas/InTotoProvenance' description: >- - Required. The [CPE URI](https://cpe.mitre.org/specification/) this - vulnerability affects. - name: - description: Required. The name of this vulnerability. + Deprecated. See InTotoStatement for the replacement. In-toto + Provenance representation as defined in spec. + intotoStatement: + description: >- + In-toto Statement representation as defined in spec. The + intoto_statement can contain any type of provenance. The serialized + payload of the statement can be stored and signed in the + Occurrence's envelope. + $ref: '#/components/schemas/InTotoStatement' + inTotoSlsaProvenanceV1: + description: >- + In-Toto Slsa Provenance V1 represents a slsa provenance meeting the + slsa spec, wrapped in an in-toto statement. This allows for direct + jsonification of a to-spec in-toto slsa statement with a to-spec + slsa provenance. + $ref: '#/components/schemas/InTotoSlsaProvenanceV1' + provenance: + $ref: '#/components/schemas/BuildProvenance' + description: The actual provenance for the build. + provenanceBytes: type: string - fixingKbs: - items: - $ref: '#/components/schemas/KnowledgeBase' description: >- - Required. The names of the KBs which have hotfixes to mitigate this - vulnerability. Note that there may be multiple hotfixes (and thus - multiple KBs) that mitigate a given vulnerability. Currently any - listed KBs presence is considered a fix. - type: array - id: WindowsDetail - CloudRepoSourceContext: - id: CloudRepoSourceContext + Serialized JSON representation of the provenance, used in generating + the build signature in the corresponding build note. After verifying + the signature, `provenance_bytes` can be unmarshalled and compared + to the provenance to confirm that it is unchanged. A base64-encoded + string representation of the provenance bytes is used for the + signature in order to interoperate with openssl which expects this + format for signature verification. The serialized form is captured + both to avoid ambiguity in how the provenance is marshalled to json + as well to prevent incompatibilities with future changes. + id: BuildOccurrence + Hash: + type: object + id: Hash + description: Container message for hash values. properties: - revisionId: - description: A revision ID. + type: + description: Required. The type of hash that was performed, e.g. "SHA-256". type: string - repoId: - description: The ID of the repo. - $ref: '#/components/schemas/RepoId' + value: + format: byte + type: string + description: Required. The hash value. + GerritSourceContext: + properties: aliasContext: description: An alias, which may be a branch or tag. $ref: '#/components/schemas/AliasContext' - description: >- - A CloudRepoSourceContext denotes a particular revision in a Google Cloud - Source Repo. - type: object - EnvelopeSignature: - type: object - properties: - keyid: + revisionId: type: string - sig: - format: byte + description: A revision (commit) ID. + gerritProject: type: string - id: EnvelopeSignature - ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes: - properties: - fileHash: - description: Collection of file hashes. - type: array - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Hash - id: ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes - type: object - description: >- - Container message for hashes of byte content of files, used in - SourceProvenance messages to verify integrity of source input to the - build. - TestIamPermissionsRequest: - description: Request message for `TestIamPermissions` method. - id: TestIamPermissionsRequest - type: object - properties: - permissions: - items: - type: string description: >- - The set of permissions to check for the `resource`. Permissions with - wildcards (such as `*` or `storage.*`) are not allowed. For more - information see [IAM - Overview](https://cloud.google.com/iam/docs/overview#permissions). - type: array - InTotoStatement: - type: object - id: InTotoStatement - description: >- - Spec defined at - https://github.com/in-toto/attestation/tree/main/spec#statement The - serialized InTotoStatement will be stored as Envelope.payload. - Envelope.payloadType is always "application/vnd.in-toto+json". - properties: - predicateType: - type: string - description: '`https://slsa.dev/provenance/v0.1` for SlsaProvenance.' - slsaProvenanceZeroTwo: - $ref: '#/components/schemas/SlsaProvenanceZeroTwo' - _type: - description: Always `https://in-toto.io/Statement/v0.1`. + The full project name within the host. Projects may be nested, so + "project/subproject" is a valid project name. The "repo name" is the + hostURI/project. + hostUri: type: string - subject: - type: array - items: - $ref: '#/components/schemas/Subject' - provenance: - $ref: '#/components/schemas/InTotoProvenance' - slsaProvenance: - $ref: '#/components/schemas/SlsaProvenance' - ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo: + description: The URI of a running Gerrit instance. + id: GerritSourceContext type: object - description: A fatal problem encountered during the execution of the build. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo + description: A SourceContext referring to a Gerrit project. + Metadata: + id: Metadata + description: Other properties of the build. properties: - detail: + buildFinishedOn: type: string - description: Explains the failure issue in more detail using hard-coded text. - type: - enumDescriptions: - - Type unspecified - - Unable to push the image to the repository. - - Final image not found. - - Unauthorized push of the final image. - - Backend logging failures. Should retry. - - A build step has failed. - - The source fetching has failed. - description: The name of the failure. + description: The timestamp of when the build completed. + format: google-datetime + buildInvocationId: + type: string + description: >- + Identifies the particular build invocation, which can be useful for + finding associated logs or other ad-hoc analysis. The value SHOULD + be globally unique, per in-toto Provenance spec. + reproducible: + type: boolean + description: >- + If true, the builder claims that running the recipe on materials + will produce bit-for-bit identical output. + completeness: + $ref: '#/components/schemas/Completeness' + description: >- + Indicates that the builder claims certain fields in this message to + be complete. + buildStartedOn: + type: string + description: The timestamp of when the build started. + format: google-datetime + type: object + GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation: + type: object + id: GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation + properties: + parameters: + type: object + additionalProperties: + type: any + description: Properties of the object. + configSource: + $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource' + environment: + additionalProperties: + description: Properties of the object. + type: any + type: object + description: Identifies the event that kicked off the build. + DiscoveryNote: + id: DiscoveryNote + description: >- + A note that indicates a type of analysis a provider would perform. This + note exists in a provider's project. A `Discovery` occurrence is created + in a consumer's project at the start of analysis. + properties: + analysisKind: enum: - - FAILURE_TYPE_UNSPECIFIED - - PUSH_FAILED - - PUSH_IMAGE_NOT_FOUND - - PUSH_NOT_AUTHORIZED - - LOGGING_FAILURE - - USER_BUILD_STEP - - FETCH_SOURCE_FAILED + - NOTE_KIND_UNSPECIFIED + - VULNERABILITY + - BUILD + - IMAGE + - PACKAGE + - DEPLOYMENT + - DISCOVERY + - ATTESTATION + - UPGRADE + - COMPLIANCE + - DSSE_ATTESTATION + - VULNERABILITY_ASSESSMENT + - SBOM_REFERENCE + enumDescriptions: + - Default value. This value is unused. + - The note and occurrence represent a package vulnerability. + - The note and occurrence assert build provenance. + - This represents an image basis relationship. + - This represents a package installed via a package manager. + - The note and occurrence track deployment events. + - >- + The note and occurrence track the initial discovery status of a + resource. + - This represents a logical "role" that can attest to artifacts. + - This represents an available package upgrade. + - This represents a Compliance Note + - This represents a DSSE attestation Note + - This represents a Vulnerability Assessment. + - This represents an SBOM Reference. type: string - Fingerprint: - description: A set of properties that uniquely identify a given Docker image. + description: >- + Required. Immutable. The kind of analysis that is handled by this + discovery. + type: object + SBOMReferenceOccurrence: + id: SBOMReferenceOccurrence + description: >- + The occurrence representing an SBOM reference as applied to a specific + resource. The occurrence follows the DSSE specification. See + https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for + more details. properties: - v2Blob: - items: - type: string - description: Required. The ordered list of v2 blobs that represent a given image. + signatures: type: array - v2Name: - type: string + description: The signatures over the payload. + items: + $ref: '#/components/schemas/EnvelopeSignature' + payloadType: description: >- - Output only. The name of the image's v2 blobs computed via: [bottom] - := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) Only the - name of the final blob is kept. - v1Name: + The kind of payload that SbomReferenceIntotoPayload takes. Since + it's in the intoto format, this value is expected to be + 'application/vnd.in-toto+json'. type: string - description: >- - Required. The layer ID of the final layer in the Docker image's v1 - representation. - id: Fingerprint + payload: + $ref: '#/components/schemas/SbomReferenceIntotoPayload' + description: The actual payload that contains the SBOM reference data. type: object - Distribution: + ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret: type: object description: >- - This represents a particular channel of distribution for a given - package. E.g., Debian's jessie-backports dpkg mirror. + Pairs a secret environment variable with a SecretVersion in Secret + Manager. properties: - description: - description: The distribution channel-specific description of this package. + env: + description: >- + Environment variable name to associate with the secret. Secret + environment variables must be unique across all of a build's + secrets, and must be used by at least one build step. type: string - maintainer: - description: A freeform string denoting the maintainer of this package. + versionName: + description: >- + Resource name of the SecretVersion. In format: + projects/*/secrets/*/versions/* + type: string + id: ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret + ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact: + properties: + groupId: type: string - latestVersion: description: >- - The latest available version of this package in this distribution - channel. - $ref: '#/components/schemas/Version' - cpeUri: + Maven `groupId` value used when uploading the artifact to Artifact + Registry. + artifactId: + type: string description: >- - Required. The cpe_uri in [CPE - format](https://cpe.mitre.org/specification/) denoting the package - manager version distributing a package. + Maven `artifactId` value used when uploading the artifact to + Artifact Registry. + version: type: string - architecture: - enum: - - ARCHITECTURE_UNSPECIFIED - - X86 - - X64 - enumDescriptions: - - Unknown architecture. - - X86 architecture. - - X64 architecture. description: >- - The CPU architecture for which packages in this distribution channel - were built. + Maven `version` value used when uploading the artifact to Artifact + Registry. + repository: + description: >- + Artifact Registry repository, in the form + "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY" Artifact in the + workspace specified by path will be uploaded to Artifact Registry + with this location as a prefix. type: string - url: + path: + description: >- + Path to an artifact in the build's workspace to be uploaded to + Artifact Registry. This can be either an absolute path, e.g. + /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path + from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar. type: string - description: The distribution channel-specific homepage for this package. - id: Distribution + type: object + description: >- + A Maven artifact to upload to Artifact Registry upon successful + completion of all build steps. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact NonCompliantFile: + id: NonCompliantFile properties: reason: - description: Explains why a file is non compliant for a CIS check. type: string + description: Explains why a file is non compliant for a CIS check. path: - type: string description: Empty if `display_command` is set. + type: string displayCommand: - description: Command to display the non-compliant files. type: string - id: NonCompliantFile - type: object + description: Command to display the non-compliant files. description: >- Details about files that caused a compliance check to fail. display_command is a single command that can be used to display a list of non compliant files. When there is no such command, we can also iterate a list of non compliant file using 'path'. - WindowsUpdate: - properties: - description: - type: string - description: The localized description of the update. - categories: - items: - $ref: '#/components/schemas/Category' - description: The list of categories to which the update belongs. - type: array - title: - type: string - description: The localized title of the update. - identity: - $ref: '#/components/schemas/Identity' - description: Required - The unique identifier for the update. - supportUrl: - type: string - description: The hyperlink to the support information for the update. - lastPublishedTimestamp: - type: string - format: google-datetime - description: The last published timestamp of the update. - kbArticleIds: - description: >- - The Microsoft Knowledge Base article IDs that are associated with - the update. - type: array - items: - type: string - description: >- - Windows Update represents the metadata about the update for the Windows - operating system. The fields in this message come from the Windows - Update API documented at - https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate. type: object - id: WindowsUpdate - GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata: + GetIamPolicyRequest: properties: - endTime: - format: google-datetime + options: + $ref: '#/components/schemas/GetPolicyOptions' description: >- - Output only. The time that this operation was marked completed or - failed. - type: string - createTime: - type: string - format: google-datetime - description: Output only. The time this operation was created. + OPTIONAL: A `GetPolicyOptions` object for specifying options to + `GetIamPolicy`. type: object - description: >- - Metadata for all operations used and required for all operations that - created by Container Analysis Providers - id: GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata - ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest: + id: GetIamPolicyRequest + description: Request message for `GetIamPolicy` method. + Remediation: type: object description: >- - Location of the source manifest in Cloud Storage. This feature is in - Preview; see description - [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher). - id: ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + Specifies details on how to handle (and presumably, fix) a + vulnerability. properties: - generation: - format: int64 - description: >- - Cloud Storage generation for the object. If the generation is - omitted, the latest generation will be used. + remediationUri: + description: Contains the URL where to obtain the remediation. + $ref: '#/components/schemas/RelatedUrl' + remediationType: + enum: + - REMEDIATION_TYPE_UNSPECIFIED + - MITIGATION + - NO_FIX_PLANNED + - NONE_AVAILABLE + - VENDOR_FIX + - WORKAROUND + enumDescriptions: + - No remediation type specified. + - A MITIGATION is available. + - No fix is planned. + - Not available. + - A vendor fix is available. + - A workaround is available. type: string - bucket: - description: >- - Required. Cloud Storage bucket containing the source manifest (see - [Bucket Name - Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). + description: The type of remediation that can be applied. + details: type: string - object: description: >- - Required. Cloud Storage object containing the source manifest. This - object must be a JSON file. - type: string - SlsaBuilder: - id: SlsaBuilder + Contains a comprehensive human-readable discussion of the + remediation. + id: Remediation + ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig: + description: HttpConfig is a configuration for HTTP related git operations. type: object properties: - id: + proxySecretVersionName: type: string - ComplianceOccurrence: - id: ComplianceOccurrence + description: >- + SecretVersion resource of the HTTP proxy URL. The Service Account + used in the build (either the default Service Account or + user-specified Service Account) should have + `secretmanager.versions.access` permissions on this secret. The + proxy URL should be in format `protocol://@]proxyhost[:port]`. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig + GitSourceContext: + id: GitSourceContext type: object + properties: + url: + type: string + description: Git repository URL. + revisionId: + description: Git commit hash. + type: string description: >- - An indication that the compliance checks in the associated - ComplianceNote were not satisfied for particular resources or a - specified reason. + A GitSourceContext denotes a particular revision in a third party Git + repository (e.g., GitHub). + SBOMReferenceNote: + type: object + description: The note representing an SBOM reference. + id: SBOMReferenceNote properties: version: - description: The OS and config version the benchmark was run on. - $ref: '#/components/schemas/ComplianceVersion' - nonComplianceReason: type: string - nonCompliantFiles: - type: array - items: - $ref: '#/components/schemas/NonCompliantFile' - GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder: - id: GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder - properties: - id: + description: >- + The version of the format that the SBOM takes. E.g. if the format is + spdx, the version may be 2.3. + format: type: string - type: object - description: >- - Identifies the entity that executed the recipe, which is trusted to have - correctly performed the operation and populated this provenance. - Status: - id: Status + description: The format that SBOM takes. E.g. may be spdx, cyclonedx, etc... + AttestationOccurrence: + id: AttestationOccurrence description: >- - 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). - type: object + Occurrence that represents a single "attestation". The authenticity of + an attestation can be verified using the attached signature. If the + verifier trusts the public key of the signer, then verifying the + signature is sufficient to establish trust. In this circumstance, the + authority to which this attestation is attached is primarily useful for + lookup (how to find this attestation if you already know the authority + and artifact to be verified) and intent (for which authority this + attestation was intended to sign. properties: - details: - items: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. + signatures: type: array description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - message: + One or more signatures over `serialized_payload`. Verifier + implementations should consider this attestation message verified if + at least one `signature` verifies `serialized_payload`. See + `Signature` in common.proto for more details on signature structure + and verification. + items: + $ref: '#/components/schemas/Signature' + jwts: description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + One or more JWTs encoding a self-contained attestation. Each JWT + encodes the payload that it verifies within the JWT itself. Verifier + implementation SHOULD ignore the `serialized_payload` field when + verifying these JWTs. If only JWTs are present on this + AttestationOccurrence, then the `serialized_payload` SHOULD be left + empty. Each JWT SHOULD encode a claim specific to the `resource_uri` + of this Occurrence, but this is not validated by Grafeas metadata + API implementations. The JWT itself is opaque to Grafeas. + type: array + items: + $ref: '#/components/schemas/Jwt' + serializedPayload: + format: byte type: string - code: - format: int32 - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - SbomReferenceIntotoPredicate: + description: >- + Required. The serialized payload that is verified by one or more + `signatures`. type: object + ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage: properties: digest: - additionalProperties: - type: string - description: A map of algorithm to digest of the contents of the SBOM. - type: object - referrerId: type: string - description: The person or system referring this predicate to the consumer. - mimeType: + description: Docker Registry 2.0 digest. + name: + description: >- + Name used to push the container image to Google Container Registry, + as presented to `docker push`. type: string - description: The mime type of the SBOM. - location: + pushTiming: + readOnly: true + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + description: >- + Output only. Stores timing information for pushing the specified + image. + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage + description: An image built by the pipeline. + Justification: + description: >- + Justification provides the justification when the state of the + assessment if NOT_AFFECTED. + properties: + details: type: string - description: The location of the SBOM. - description: A predicate which describes the SBOM being referenced. - id: SbomReferenceIntotoPredicate - ComplianceNote: + description: Additional details on why this justification was chosen. + justificationType: + enum: + - JUSTIFICATION_TYPE_UNSPECIFIED + - COMPONENT_NOT_PRESENT + - VULNERABLE_CODE_NOT_PRESENT + - VULNERABLE_CODE_NOT_IN_EXECUTE_PATH + - VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY + - INLINE_MITIGATIONS_ALREADY_EXIST + description: The justification type for this vulnerability. + type: string + enumDescriptions: + - JUSTIFICATION_TYPE_UNSPECIFIED. + - The vulnerable component is not present in the product. + - >- + The vulnerable code is not present. Typically this case occurs + when source code is configured or built in a way that excludes the + vulnerable code. + - >- + The vulnerable code can not be executed. Typically this case + occurs when the product includes the vulnerable code but does not + call or use the vulnerable code. + - >- + The vulnerable code cannot be controlled by an attacker to exploit + the vulnerability. + - >- + The product includes built-in protections or features that prevent + exploitation of the vulnerability. These built-in protections + cannot be subverted by the attacker and cannot be configured or + disabled by the user. These mitigations completely prevent + exploitation based on known attack vectors. + id: Justification + type: object + Fingerprint: type: object - id: ComplianceNote properties: - rationale: + v1Name: type: string - description: A rationale for the existence of this compliance check. - version: + description: >- + Required. The layer ID of the final layer in the Docker image's v1 + representation. + v2Blob: items: - $ref: '#/components/schemas/ComplianceVersion' - description: The OS and config versions the benchmark applies to. + type: string type: array - description: - description: A description about this compliance check. - type: string - scanInstructions: - type: string - format: byte - description: Serialized scan instructions with a predefined format. - remediation: - description: A description of remediation steps if the compliance check fails. - type: string - impact: - type: string - title: - description: The title that identifies this compliance check. + description: Required. The ordered list of v2 blobs that represent a given image. + v2Name: type: string - cisBenchmark: - $ref: '#/components/schemas/CisBenchmark' - GetIamPolicyRequest: - properties: - options: description: >- - OPTIONAL: A `GetPolicyOptions` object for specifying options to - `GetIamPolicy`. - $ref: '#/components/schemas/GetPolicyOptions' - description: Request message for `GetIamPolicy` method. - id: GetIamPolicyRequest - type: object - Layer: + Output only. The name of the image's v2 blobs computed via: [bottom] + := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) Only the + name of the final blob is kept. + description: A set of properties that uniquely identify a given Docker image. + id: Fingerprint + PackageNote: + description: PackageNote represents a particular package version. + id: PackageNote type: object - id: Layer - description: Layer holds metadata specific to a layer of a Docker image. properties: - arguments: - description: The recovered arguments to the Dockerfile directive. - type: string - directive: + digest: + type: array + items: + $ref: '#/components/schemas/Digest' description: >- - Required. The recovered Dockerfile directive used to construct this - layer. See https://docs.docker.com/engine/reference/builder/ for - more information. + Hash value, typically a file digest, that allows unique + identification a specific package. + name: type: string - CisBenchmark: - properties: - profileLevel: - format: int32 - type: integer - severity: + description: Required. Immutable. The name of the package. + architecture: enum: - - SEVERITY_UNSPECIFIED - - MINIMAL - - LOW - - MEDIUM - - HIGH - - CRITICAL - enumDescriptions: - - Unknown. - - Minimal severity. - - Low severity. - - Medium severity. - - High severity. - - Critical severity. - type: string - id: CisBenchmark - type: object - description: A compliance check that is a CIS benchmark. - Detail: - type: object - description: >- - A detail for a distro and package affected by this vulnerability and its - associated fix (if one is available). - properties: - affectedPackage: - description: Required. The package this vulnerability affects. + - ARCHITECTURE_UNSPECIFIED + - X86 + - X64 type: string - fixedVersion: description: >- - The distro recommended version to update to that contains a fix for - this vulnerability. Setting this to VersionKind.MAXIMUM means no - such version is yet available. - $ref: '#/components/schemas/Version' - affectedVersionEnd: + The CPU architecture for which packages in this distribution channel + were built. Architecture will be blank for language packages. + enumDescriptions: + - Unknown architecture. + - X86 architecture. + - X64 architecture. + cpeUri: description: >- - The version number at the end of an interval in which this - vulnerability exists. A vulnerability can affect a package between - version numbers that are disjoint sets of intervals (example: - [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will - be represented in its own Detail. If a specific affected version is - provided by a vulnerability database, affected_version_start and - affected_version_end will be the same in that Detail. - $ref: '#/components/schemas/Version' - fixedPackage: + The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + denoting the package manager version distributing a package. The + cpe_uri will be blank for language packages. type: string - description: >- - The distro recommended package to update to that contains a fix for - this vulnerability. It is possible for this to be different from the - affected_package. - isObsolete: - description: >- - Whether this detail is obsolete. Occurrences are expected not to - point to obsolete details. - type: boolean - source: - description: The source from which the information in this Detail was obtained. + license: + $ref: '#/components/schemas/License' + description: Licenses that have been declared by the authors of the package. + url: + description: The homepage for this package. + type: string + maintainer: type: string + description: A freeform text denoting the maintainer of this package. packageType: type: string description: >- The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.). - affectedCpeUri: + version: + $ref: '#/components/schemas/Version' + description: The version of the package. + distribution: + items: + $ref: '#/components/schemas/Distribution' + type: array + description: Deprecated. The various channels by which a package is distributed. + description: type: string - description: >- - Required. The [CPE URI](https://cpe.mitre.org/specification/) this - vulnerability affects. - severityName: + description: The description of this package. + ResourceDescriptor: + type: object + properties: + uri: type: string - description: The distro assigned severity of this vulnerability. - description: - description: A vendor-specific description of this vulnerability. + mediaType: type: string - affectedVersionStart: - $ref: '#/components/schemas/Version' - description: >- - The version number at the start of an interval in which this - vulnerability exists. A vulnerability can affect a package between - version numbers that are disjoint sets of intervals (example: - [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will - be represented in its own Detail. If a specific affected version is - provided by a vulnerability database, affected_version_start and - affected_version_end will be the same in that Detail. - vendor: + name: type: string - description: The name of the vendor of the product. - sourceUpdateTime: - format: google-datetime - description: >- - The time this information was last changed at the source. This is an - upstream timestamp from the underlying information source - e.g. - Ubuntu security tracker. + digest: + additionalProperties: + type: string + type: object + annotations: + additionalProperties: + type: any + type: object + downloadLocation: type: string - fixedCpeUri: + content: + format: byte type: string - description: >- - The distro recommended [CPE - URI](https://cpe.mitre.org/specification/) to update to that - contains a fix for this vulnerability. It is possible for this to be - different from the affected_cpe_uri. - id: Detail - ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource: - description: Location of the source in an archive file in Cloud Storage. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + id: ResourceDescriptor + Subject: + type: object properties: - object: - description: >- - Required. Cloud Storage object containing the source. This object - must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) - containing source to build. - type: string - sourceFetcher: + digest: + type: object + additionalProperties: + type: string description: >- - Optional. Option to specify the tool to fetch the source file for - the build. + `"": ""` Algorithms can be e.g. sha256, sha512 See + https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet + name: type: string - enum: - - SOURCE_FETCHER_UNSPECIFIED - - GSUTIL - - GCS_FETCHER + id: Subject + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning: + description: A non-fatal problem encountered during the execution of the build. + properties: + priority: enumDescriptions: - - Unspecified defaults to GSUTIL. - - Use the "gsutil" tool to download the source file. - - Use the Cloud Storage Fetcher tool to download the source file. - generation: - description: >- - Optional. Cloud Storage generation for the object. If the generation - is omitted, the latest generation will be used. + - Should not be used. + - e.g. deprecation warnings and alternative feature highlights. + - e.g. automated detection of possible issues with the build. + - e.g. alerts that a feature used in the build is pending removal type: string - format: int64 - bucket: + enum: + - PRIORITY_UNSPECIFIED + - INFO + - WARNING + - ALERT + description: The priority for this warning. + text: type: string - description: >- - Cloud Storage bucket containing the source (see [Bucket Name - Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). - type: object - SlsaCompleteness: + description: Explanation of the warning generated. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning type: object + CVSSv3: properties: - arguments: - type: boolean - description: >- - If true, the builder claims that recipe.arguments is complete, - meaning that all external inputs are properly captured in the - recipe. - materials: - type: boolean - description: >- - If true, the builder claims that materials are complete, usually - through some controls to prevent network access. Sometimes called - "hermetic". - environment: - type: boolean + scope: + enumDescriptions: + - '' + - '' + - '' + enum: + - SCOPE_UNSPECIFIED + - SCOPE_UNCHANGED + - SCOPE_CHANGED + type: string + baseScore: + format: float + type: number + description: The base score is a function of the base metric scores. + impactScore: + format: float + type: number + attackVector: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + enum: + - ATTACK_VECTOR_UNSPECIFIED + - ATTACK_VECTOR_NETWORK + - ATTACK_VECTOR_ADJACENT + - ATTACK_VECTOR_LOCAL + - ATTACK_VECTOR_PHYSICAL description: >- - If true, the builder claims that recipe.environment is claimed to be - complete. - description: >- - Indicates that the builder claims certain fields in this message to be - complete. - id: SlsaCompleteness - ContaineranalysisGoogleDevtoolsCloudbuildV1Hash: - properties: - type: + Base Metrics Represents the intrinsic characteristics of a + vulnerability that are constant over time and across user + environments. type: string - description: The type of hash that was performed. + exploitabilityScore: + type: number + format: float + attackComplexity: enumDescriptions: - - No hash requested. - - Use a sha256 hash. - - Use a md5 hash. - - Use a sha512 hash. + - '' + - '' + - '' enum: - - NONE - - SHA256 - - MD5 - - SHA512 - value: - format: byte - description: The hash value. + - ATTACK_COMPLEXITY_UNSPECIFIED + - ATTACK_COMPLEXITY_LOW + - ATTACK_COMPLEXITY_HIGH type: string - description: Container message for hash values. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Hash + userInteraction: + enumDescriptions: + - '' + - '' + - '' + type: string + enum: + - USER_INTERACTION_UNSPECIFIED + - USER_INTERACTION_NONE + - USER_INTERACTION_REQUIRED + privilegesRequired: + type: string + enum: + - PRIVILEGES_REQUIRED_UNSPECIFIED + - PRIVILEGES_REQUIRED_NONE + - PRIVILEGES_REQUIRED_LOW + - PRIVILEGES_REQUIRED_HIGH + enumDescriptions: + - '' + - '' + - '' + - '' + integrityImpact: + enum: + - IMPACT_UNSPECIFIED + - IMPACT_HIGH + - IMPACT_LOW + - IMPACT_NONE + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + confidentialityImpact: + type: string + enum: + - IMPACT_UNSPECIFIED + - IMPACT_HIGH + - IMPACT_LOW + - IMPACT_NONE + enumDescriptions: + - '' + - '' + - '' + - '' + availabilityImpact: + type: string + enum: + - IMPACT_UNSPECIFIED + - IMPACT_HIGH + - IMPACT_LOW + - IMPACT_NONE + enumDescriptions: + - '' + - '' + - '' + - '' type: object - ListNoteOccurrencesResponse: - id: ListNoteOccurrencesResponse - description: Response for listing occurrences for a note. + description: >- + Common Vulnerability Scoring System version 3. For details, see + https://www.first.org/cvss/specification-document + id: CVSSv3 + GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata: + type: object + id: GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata properties: - nextPageToken: + endTime: + format: google-datetime + description: >- + Output only. The time that this operation was marked completed or + failed. type: string - description: Token to provide to skip to a particular spot in the list. - occurrences: + createTime: + description: Output only. The time this operation was created. + type: string + format: google-datetime + description: >- + Metadata for all operations used and required for all operations that + created by Container Analysis Providers + Hint: + properties: + humanReadableName: + type: string + description: >- + Required. The human readable name of this attestation authority, for + example "qa". + id: Hint + type: object + description: >- + This submessage provides human-readable hints about the purpose of the + authority. Because the name of a note acts as its resource reference, it + is important to disambiguate the canonical name of the Note (which might + be a UUID for security purposes) from "readable" names more suitable for + debug output. Note that these hints should not be used to look up + authorities in security sensitive contexts, such as when looking up + attestations to verify. + ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes: + description: >- + Container message for hashes of byte content of files, used in + SourceProvenance messages to verify integrity of source input to the + build. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + properties: + fileHash: + description: Collection of file hashes. + type: array items: - $ref: '#/components/schemas/Occurrence' - description: The occurrences attached to the specified note. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Hash + type: object + ComplianceNote: + properties: + version: + items: + $ref: '#/components/schemas/ComplianceVersion' type: array + description: The OS and config versions the benchmark applies to. + impact: + type: string + cisBenchmark: + $ref: '#/components/schemas/CisBenchmark' + description: + type: string + description: A description about this compliance check. + rationale: + description: A rationale for the existence of this compliance check. + type: string + remediation: + type: string + description: A description of remediation steps if the compliance check fails. + title: + description: The title that identifies this compliance check. + type: string + scanInstructions: + format: byte + type: string + description: Serialized scan instructions with a predefined format. + id: ComplianceNote + type: object + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep + description: A step in the build pipeline. type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1Source: properties: - developerConnectConfig: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig - description: If provided, get the source from this Developer Connect config. - connectedRepository: + volumes: + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Volume description: >- - Optional. If provided, get the source from this 2nd-gen Google Cloud - Build repository resource. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository - gitSource: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource - description: If provided, get the source from this Git repository. - repoSource: + List of volumes to mount into the build step. Each volume is created + as an empty volume prior to execution of the build step. Upon + completion of the build, volumes and their contents are discarded. + Using a named volume in only one step is not valid as it is + indicative of a build request with an incorrect configuration. + type: array + automapSubstitutions: + type: boolean description: >- - If provided, get the source from this location in a Cloud Source - Repository. + Option to include built-in and custom substitutions as env variables + for this build step. This option will override the global option in + BuildOption. + timing: + description: >- + Output only. Stores timing information for executing this build + step. $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource - storageSourceManifest: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + readOnly: true + script: + type: string description: >- - If provided, get the source from this manifest in Cloud Storage. - This feature is in Preview; see description - [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher). - storageSource: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource - description: If provided, get the source from this location in Cloud Storage. - type: object - description: Location of the source in a supported storage service. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Source - Occurrence: - properties: - noteName: + A shell script to be executed in the step. When script is provided, + the user cannot specify the entrypoint or args. + allowExitCodes: + items: + format: int32 + type: integer + description: >- + Allow this build step to fail without failing the entire build if + and only if the exit code is one of the specified codes. If + allow_failure is also specified, this field will take precedence. + type: array + entrypoint: type: string description: >- - Required. Immutable. The analysis note associated with this - occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - This field can be used as a filter in list requests. - kind: + Entrypoint to be used instead of the build step image's default + entrypoint. If unset, the image's default entrypoint is used. + timeout: + type: string + description: >- + Time limit for executing this build step. If not defined, the step + has no time limit and will be allowed to continue to run until + either it completes or the build itself times out. + format: google-duration + env: + description: >- + A list of environment variable definitions to be used when running a + step. The elements are of the form "KEY=VALUE" for the environment + variable "KEY" being given the value "VALUE". + items: + type: string + type: array + status: + enum: + - STATUS_UNKNOWN + - PENDING + - QUEUED + - WORKING + - SUCCESS + - FAILURE + - INTERNAL_ERROR + - TIMEOUT + - CANCELLED + - EXPIRED enumDescriptions: - - Default value. This value is unused. - - The note and occurrence represent a package vulnerability. - - The note and occurrence assert build provenance. - - This represents an image basis relationship. - - This represents a package installed via a package manager. - - The note and occurrence track deployment events. + - Status of the build is unknown. - >- - The note and occurrence track the initial discovery status of a - resource. - - This represents a logical "role" that can attest to artifacts. - - This represents an available package upgrade. - - This represents a Compliance Note - - This represents a DSSE attestation Note - - This represents a Vulnerability Assessment. - - This represents an SBOM Reference. - description: >- - Output only. This explicitly denotes which of the occurrence details - are specified. This field can be used as a filter in list requests. + Build has been created and is pending execution and queuing. It + has not been queued. + - Build or step is queued; work has not yet begun. + - Build or step is being executed. + - Build or step finished successfully. + - Build or step failed to complete successfully. + - Build or step failed due to an internal cause. + - Build or step took longer than was allowed. + - Build or step was canceled by a user. + - Build was enqueued for longer than the value of `queue_ttl`. type: string - enum: - - NOTE_KIND_UNSPECIFIED - - VULNERABILITY - - BUILD - - IMAGE - - PACKAGE - - DEPLOYMENT - - DISCOVERY - - ATTESTATION - - UPGRADE - - COMPLIANCE - - DSSE_ATTESTATION - - VULNERABILITY_ASSESSMENT - - SBOM_REFERENCE - sbomReference: - $ref: '#/components/schemas/SBOMReferenceOccurrence' - description: Describes a specific SBOM reference occurrences. - discovery: - $ref: '#/components/schemas/DiscoveryOccurrence' - description: Describes when a resource was discovered. - attestation: - $ref: '#/components/schemas/AttestationOccurrence' - description: Describes an attestation of an artifact. - dsseAttestation: - description: Describes an attestation of an artifact using dsse. - $ref: '#/components/schemas/DSSEAttestationOccurrence' - vulnerability: - $ref: '#/components/schemas/VulnerabilityOccurrence' - description: Describes a security vulnerability. - image: - $ref: '#/components/schemas/ImageOccurrence' + readOnly: true description: >- - Describes how this resource derives from the basis in the associated - note. - envelope: - description: https://github.com/secure-systems-lab/dsse - $ref: '#/components/schemas/Envelope' - name: + Output only. Status of the build step. At this time, build step + status is only updated on build completion; step status is not + updated in real-time as the build progresses. + args: + type: array + items: + type: string description: >- - Output only. The name of the occurrence in the form of - `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - type: string - createTime: - format: google-datetime - description: Output only. The time this occurrence was created. - type: string - compliance: - $ref: '#/components/schemas/ComplianceOccurrence' - description: Describes a compliance violation on a linked resource. - upgrade: - $ref: '#/components/schemas/UpgradeOccurrence' - description: Describes an available package upgrade on the linked resource. - package: - $ref: '#/components/schemas/PackageOccurrence' - description: Describes the installation of a package on the linked resource. - deployment: - $ref: '#/components/schemas/DeploymentOccurrence' - description: Describes the deployment of an artifact on a runtime. - updateTime: + A list of arguments that will be presented to the step when it is + started. If the image used to run the step's container has an + entrypoint, the `args` are used as arguments to that entrypoint. If + the image does not define an entrypoint, the first element in args + is used as the entrypoint, and the remainder will be used as + arguments. + id: type: string - description: Output only. The time this occurrence was last updated. - format: google-datetime - build: - description: Describes a verifiable build. - $ref: '#/components/schemas/BuildOccurrence' - resourceUri: description: >- - Required. Immutable. A URI that represents the resource for which - the occurrence applies. For example, - `https://gcr.io/project/image@sha256:123abc` for a Docker image. - type: string - remediation: - description: A description of actions that can be taken to remedy the note. - type: string - description: An instance of an analysis type that has been found on a resource. - id: Occurrence - type: object - SlsaRecipe: - properties: - arguments: + Unique identifier for this build step, used in `wait_for` to + reference this build step as a dependency. + allowFailure: description: >- - Collection of all external inputs that influenced the build on top - of recipe.definedInMaterial and recipe.entryPoint. For example, if - the recipe type were "make", then this might be the flags passed to - make aside from the target, which is captured in recipe.entryPoint. - Depending on the recipe Type, the structure may be different. - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - definedInMaterial: + Allow this build step to fail without failing the entire build. If + false, the entire build will fail if this step fails. Otherwise, the + build will succeed, but this step will still have a failure status. + Error information will be reported in the failure_detail field. + type: boolean + name: description: >- - Index in materials containing the recipe steps that are not implied - by recipe.type. For example, if the recipe type were "make", then - this would point to the source containing the Makefile, not the make - program itself. Set to -1 if the recipe doesn't come from a - material, as zero is default unset value for int64. + Required. The name of the container image that will run this + particular build step. If the image is available in the host's + Docker daemon's cache, it will be run directly. If not, the host + will attempt to pull the image first, using the builder service + account's credentials if necessary. The Docker daemon's cache will + already have the latest versions of all of the officially supported + build steps + ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). + The Docker daemon will also have cached many of the layers for some + popular images, like "ubuntu", "debian", but they will be refreshed + at the time you attempt to use them. If you built an image in a + previous build step, it will be stored in the host's Docker daemon's + cache and is available to use as the name for a later build step. type: string - format: int64 - environment: - type: object + waitFor: + type: array + items: + type: string description: >- - Any other builder-controlled inputs necessary for correctly - evaluating the recipe. Usually only needed for reproducing the build - but not evaluated as part of policy. Depending on the recipe Type, - the structure may be different. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: - type: string + The ID(s) of the step(s) that this build step depends on. This build + step will not start until all the build steps in `wait_for` have + completed successfully. If `wait_for` is empty, this build step will + start when all previous build steps in the `Build.Steps` list have + completed successfully. + secretEnv: + items: + type: string + type: array description: >- - URI indicating what type of recipe was performed. It determines the - meaning of recipe.entryPoint, recipe.arguments, recipe.environment, - and materials. - entryPoint: - type: string + A list of environment variables which are encrypted using a Cloud + Key Management Service crypto key. These values must be specified in + the build's `Secret`. + pullTiming: description: >- - String identifying the entry point into the build. This is often a - path to a configuration file and/or a target label within that file. - The syntax and meaning are defined by recipe.type. For example, if - the recipe type were "make", then this would reference the directory - in which to run make as well as which target to use. - description: >- - Steps taken to build the artifact. For a TaskRun, typically each - container corresponds to one step in the recipe. - id: SlsaRecipe - type: object - GrafeasV1FileLocation: - properties: - filePath: - description: >- - For jars that are contained inside .war files, this filepath can - indicate the path to war file combined with the path to jar file. + Output only. Stores timing information for pulling this build step's + builder image only. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + readOnly: true + dir: type: string - id: GrafeasV1FileLocation - type: object - description: Indicates the location at which a package was found. - KnowledgeBase: - id: KnowledgeBase - properties: - url: description: >- - A link to the KB in the [Windows update catalog] - (https://www.catalog.update.microsoft.com/). - type: string - name: - type: string - description: The KB name (generally of the form KB[0-9]+ (e.g., KB123456)). - type: object - BuildDefinition: + Working directory to use when running this step's container. If this + value is a relative path, it is relative to the build's working + directory. If this value is absolute, it may be outside the build's + working directory, in which case the contents of the path may not be + persisted across build step executions, unless a `volume` for that + path is specified. If the build specifies a `RepoSource` with `dir` + and a step with a `dir`, which specifies an absolute path, the + `RepoSource` `dir` is ignored for the step's execution. + exitCode: + type: integer + format: int32 + description: Output only. Return code from running the step. + readOnly: true + ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts: properties: - buildType: - type: string - externalParameters: - additionalProperties: - description: Properties of the object. - type: any - type: object - resolvedDependencies: + objects: + description: >- + A list of objects to be uploaded to Cloud Storage upon successful + completion of all build steps. Files in the workspace matching + specified paths globs will be uploaded to the specified Cloud + Storage location using the builder service account's credentials. + The location and generation of the uploaded objects will be stored + in the Build resource's results field. If any objects fail to be + pushed, the build is marked FAILURE. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects + npmPackages: items: - $ref: '#/components/schemas/ResourceDescriptor' + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage + description: >- + A list of npm packages to be uploaded to Artifact Registry upon + successful completion of all build steps. Npm packages in the + specified paths will be uploaded to the specified Artifact Registry + repository using the builder service account's credentials. If any + packages fail to be pushed, the build is marked FAILURE. type: array - internalParameters: - type: object - additionalProperties: - type: any - description: Properties of the object. - id: BuildDefinition - type: object - InTotoProvenance: - properties: - builderConfig: - $ref: '#/components/schemas/BuilderConfig' - description: required - recipe: + pythonPackages: description: >- - Identifies the configuration used for the build. When combined with - materials, this SHOULD fully describe the build, such that - re-running this recipe results in bit-for-bit identical output (if - the build is reproducible). required - $ref: '#/components/schemas/Recipe' - metadata: - $ref: '#/components/schemas/Metadata' - materials: + A list of Python packages to be uploaded to Artifact Registry upon + successful completion of all build steps. The build service account + credentials will be used to perform the upload. If any objects fail + to be pushed, the build is marked FAILURE. + type: array + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage + mavenArtifacts: description: >- - The collection of artifacts that influenced the build including - sources, dependencies, build tools, base images, and so on. This is - considered to be incomplete unless metadata.completeness.materials - is true. Unset or null is equivalent to empty. + A list of Maven artifacts to be uploaded to Artifact Registry upon + successful completion of all build steps. Artifacts in the workspace + matching specified paths globs will be uploaded to the specified + Artifact Registry repository using the builder service account's + credentials. If any artifacts fail to be pushed, the build is marked + FAILURE. items: - type: string + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact type: array - id: InTotoProvenance - type: object - DiscoveryNote: + images: + description: >- + A list of images to be pushed upon the successful completion of all + build steps. The images will be pushed using the builder service + account's credentials. The digests of the pushed images will be + stored in the Build resource's results field. If any of the images + fail to be pushed, the build is marked FAILURE. + type: array + items: + type: string + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts description: >- - A note that indicates a type of analysis a provider would perform. This - note exists in a provider's project. A `Discovery` occurrence is created - in a consumer's project at the start of analysis. + Artifacts produced by a build that should be uploaded upon successful + completion of all build steps. + type: object + ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult: + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult properties: - analysisKind: + decision: + description: Required. The decision of this manual approval. enumDescriptions: - - Default value. This value is unused. - - The note and occurrence represent a package vulnerability. - - The note and occurrence assert build provenance. - - This represents an image basis relationship. - - This represents a package installed via a package manager. - - The note and occurrence track deployment events. - - >- - The note and occurrence track the initial discovery status of a - resource. - - This represents a logical "role" that can attest to artifacts. - - This represents an available package upgrade. - - This represents a Compliance Note - - This represents a DSSE attestation Note - - This represents a Vulnerability Assessment. - - This represents an SBOM Reference. + - Default enum type. This should not be used. + - Build is approved. + - Build is rejected. + type: string enum: - - NOTE_KIND_UNSPECIFIED - - VULNERABILITY - - BUILD - - IMAGE - - PACKAGE - - DEPLOYMENT - - DISCOVERY - - ATTESTATION - - UPGRADE - - COMPLIANCE - - DSSE_ATTESTATION - - VULNERABILITY_ASSESSMENT - - SBOM_REFERENCE + - DECISION_UNSPECIFIED + - APPROVED + - REJECTED + url: description: >- - Required. Immutable. The kind of analysis that is handled by this - discovery. - type: string - type: object - id: DiscoveryNote - BuildMetadata: - properties: - finishedOn: - type: string - format: google-datetime - startedOn: - format: google-datetime + Optional. An optional URL tied to this manual approval result. This + field is essentially the same as comment, except that it will be + rendered by the UI differently. An example use case is a link to an + external job that approved this Build. type: string - invocationId: + approverAccount: + readOnly: true type: string - id: BuildMetadata - type: object - TimeSpan: - properties: - endTime: + description: >- + Output only. Email of the user that called the ApproveBuild API to + approve or reject a build at the time that the API was called. + approvalTime: + description: Output only. The time when the approval decision was made. type: string - description: End of time span. - format: google-datetime - startTime: format: google-datetime + readOnly: true + comment: + description: Optional. An optional comment for this manual approval result. type: string - description: Start of time span. - id: TimeSpan - description: 'Start and end times for a build execution phase. Next ID: 3' - type: object - License: - type: object + description: >- + ApprovalResult describes the decision and associated metadata of a + manual approval of a build. + ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + description: Location of the source in an archive file in Cloud Storage. properties: - comments: + sourceFetcher: + enum: + - SOURCE_FETCHER_UNSPECIFIED + - GSUTIL + - GCS_FETCHER + enumDescriptions: + - Unspecified defaults to GSUTIL. + - Use the "gsutil" tool to download the source file. + - Use the Cloud Storage Fetcher tool to download the source file. type: string - description: Comments - expression: + description: >- + Optional. Option to specify the tool to fetch the source file for + the build. + generation: type: string + format: int64 description: >- - Often a single license can be used to represent the licensing terms. - Sometimes it is necessary to include a choice of one or more - licenses or some combination of license identifiers. Examples: - "LGPL-2.1-only OR MIT", "LGPL-2.1-only AND MIT", "GPL-2.0-or-later - WITH Bison-exception-2.2". - description: License information. - id: License - VexAssessment: - properties: - impacts: - type: array - description: >- - Contains information about the impact of this vulnerability, this - will change with time. - items: - type: string - relatedUris: - type: array - description: >- - Holds a list of references associated with this vulnerability item - and assessment. - items: - $ref: '#/components/schemas/RelatedUrl' - remediations: - description: >- - Specifies details on how to handle (and presumably, fix) a - vulnerability. - type: array - items: - $ref: '#/components/schemas/Remediation' - noteName: + Optional. Cloud Storage generation for the object. If the generation + is omitted, the latest generation will be used. + bucket: description: >- - The VulnerabilityAssessment note from which this VexAssessment was - generated. This will be of the form: - `projects/[PROJECT_ID]/notes/[NOTE_ID]`. + Cloud Storage bucket containing the source (see [Bucket Name + Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). type: string - justification: - $ref: '#/components/schemas/Justification' - description: >- - Justification provides the justification when the state of the - assessment if NOT_AFFECTED. - vulnerabilityId: - description: >- - The vulnerability identifier for this Assessment. Will hold one of - common identifiers e.g. CVE, GHSA etc. + object: type: string - cve: description: >- - Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) - tracking number for the vulnerability. Deprecated: Use - vulnerability_id instead to denote CVEs. - type: string - deprecated: true - state: - type: string - description: Provides the state of this Vulnerability assessment. - enum: - - STATE_UNSPECIFIED - - AFFECTED - - NOT_AFFECTED - - FIXED - - UNDER_INVESTIGATION - enumDescriptions: - - No state is specified. - - This product is known to be affected by this vulnerability. - - This product is known to be not affected by this vulnerability. - - This product contains a fix for this vulnerability. - - >- - It is not known yet whether these versions are or are not affected - by the vulnerability. However, it is still under investigation. + Required. Cloud Storage object containing the source. This object + must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) + containing source to build. type: object - id: VexAssessment - description: >- - VexAssessment provides all publisher provided Vex information that is - related to this vulnerability. - BuildProvenance: + Category: + description: The category to which the update belongs. type: object - description: >- - Provenance of a build. Contains all information needed to verify the - full details about the build from source to completion. - id: BuildProvenance + id: Category properties: - createTime: - format: google-datetime - type: string - description: Time at which the build was created. - projectId: - type: string - description: ID of the project. - commands: - items: - $ref: '#/components/schemas/Command' - type: array - description: Commands requested by the build. - buildOptions: - additionalProperties: - type: string - type: object - description: >- - Special options applied to this build. This is a catch-all field - where build providers can enter any desired additional details. - builtArtifacts: - type: array - description: Output of the build. - items: - $ref: '#/components/schemas/Artifact' - id: - type: string - description: Required. Unique identifier of the build. - startTime: + categoryId: + description: The identifier of the category. type: string - description: Time at which execution of the build was started. - format: google-datetime - endTime: - format: google-datetime - description: Time at which execution of the build was finished. + name: + description: The localized name of the category. type: string - creator: + DSSEHint: + properties: + humanReadableName: description: >- - E-mail address of the user who initiated this build. Note that this - was the user's e-mail address at the time the build was initiated; - this address may not represent the same end-user for all time. - type: string - logsUri: - description: URI where any logs for this provenance were written. - type: string - builderVersion: - type: string - description: Version string of the builder at the time this build was executed. - triggerId: + Required. The human readable name of this attestation authority, for + example "cloudbuild-prod". type: string - description: >- - Trigger identifier if the build was triggered automatically; empty - if not. - sourceProvenance: - $ref: '#/components/schemas/Source' - description: Details of the Source input to the build. - ComplianceVersion: + description: >- + This submessage provides human-readable hints about the purpose of the + authority. Because the name of a note acts as its resource reference, it + is important to disambiguate the canonical name of the Note (which might + be a UUID for security purposes) from "readable" names more suitable for + debug output. Note that these hints should not be used to look up + authorities in security sensitive contexts, such as when looking up + attestations to verify. + type: object + id: DSSEHint + Completeness: + description: >- + Indicates that the builder claims certain fields in this message to be + complete. + id: Completeness properties: - cpeUri: - type: string + materials: + type: boolean description: >- - The CPE URI (https://cpe.mitre.org/specification/) this benchmark is - applicable to. - benchmarkDocument: - type: string + If true, the builder claims that materials are complete, usually + through some controls to prevent network access. Sometimes called + "hermetic". + arguments: description: >- - The name of the document that defines this benchmark, e.g. "CIS - Container-Optimized OS". - version: - type: string + If true, the builder claims that recipe.arguments is complete, + meaning that all external inputs are properly captured in the + recipe. + type: boolean + environment: + type: boolean description: >- - The version of the benchmark. This is set to the version of the - OS-specific CIS document the benchmark is defined in. - description: >- - Describes the CIS benchmark version that is applicable to a given OS and - os version. + If true, the builder claims that recipe.environment is claimed to be + complete. type: object - id: ComplianceVersion - AliasContext: + Publisher: type: object - description: An alias to a repo revision. - id: AliasContext + description: Publisher contains information about the publisher of this Note. + id: Publisher properties: - kind: - enum: - - KIND_UNSPECIFIED - - FIXED - - MOVABLE - - OTHER - enumDescriptions: - - Unknown. - - Git tag. - - Git branch. - - >- - Used to specify non-standard aliases. For example, if a Git repo - has a ref named "refs/foo/bar". - type: string - description: The alias kind. name: + description: 'Name of the publisher. Examples: ''Google'', ''Google Cloud Platform''.' type: string - description: The alias name. - ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions: - description: Optional arguments to enable specific features of builds. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions + publisherNamespace: + type: string + description: >- + The context or namespace. Contains a URL which is under control of + the issuing party and can be used as a globally unique identifier + for that issuing party. Example: https://csaf.io + issuingAuthority: + description: >- + Provides information about the authority of the issuing party to + release the document, in particular, the party's constituency and + responsibilities or other obligations. + type: string + CVSS: type: object + id: CVSS + description: >- + Common Vulnerability Scoring System. For details, see + https://www.first.org/cvss/specification-document This is a message we + will try to use for storing various versions of CVSS rather than making + a separate proto for storing a specific version. properties: - requestedVerifyOption: + attackVector: type: string - description: Requested verifiability options. - enumDescriptions: - - Not a verifiable build (the default). - - Build must be verified. enum: - - NOT_VERIFIED - - VERIFIED - diskSizeGb: - type: string + - ATTACK_VECTOR_UNSPECIFIED + - ATTACK_VECTOR_NETWORK + - ATTACK_VECTOR_ADJACENT + - ATTACK_VECTOR_LOCAL + - ATTACK_VECTOR_PHYSICAL description: >- - Requested disk size for the VM that runs the build. Note that this - is *NOT* "disk free"; some of the space will be used by the - operating system and build utilities. Also note that this is the - minimum disk size that will be allocated for the build -- the build - may run with a larger disk than requested. At present, the maximum - disk size is 4000GB; builds that request more than the maximum are - rejected with an error. - format: int64 - dynamicSubstitutions: - type: boolean - description: >- - Option to specify whether or not to apply bash style string - operations to the substitutions. NOTE: this is always enabled for - triggered builds and cannot be overridden in the build configuration - file. - pool: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption - description: >- - Optional. Specification for execution on a `WorkerPool`. See - [running builds in a private - pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) - for more information. - secretEnv: - description: >- - A list of global environment variables, which are encrypted using a - Cloud Key Management Service crypto key. These values must be - specified in the build's `Secret`. These variables will be available - to all build steps in this build. - type: array - items: - type: string - machineType: + Base Metrics Represents the intrinsic characteristics of a + vulnerability that are constant over time and across user + environments. enumDescriptions: - - Standard machine type. - - Highcpu machine with 8 CPUs. - - Highcpu machine with 32 CPUs. - - Highcpu e2 machine with 8 CPUs. - - Highcpu e2 machine with 32 CPUs. - - E2 machine with 1 CPU. - description: Compute Engine machine type on which to run the build. - enumDeprecated: - - false - - true - - true - - false - - false - - false + - '' + - '' + - '' + - '' + - '' + availabilityImpact: + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' enum: - - UNSPECIFIED - - N1_HIGHCPU_8 - - N1_HIGHCPU_32 - - E2_HIGHCPU_8 - - E2_HIGHCPU_32 - - E2_MEDIUM + - IMPACT_UNSPECIFIED + - IMPACT_HIGH + - IMPACT_LOW + - IMPACT_NONE + - IMPACT_PARTIAL + - IMPACT_COMPLETE + exploitabilityScore: + type: number + format: float + impactScore: + format: float + type: number + scope: type: string - defaultLogsBucketBehavior: - description: Optional. Option to specify how default logs buckets are setup. + enumDescriptions: + - '' + - '' + - '' enum: - - DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED - - REGIONAL_USER_OWNED_BUCKET + - SCOPE_UNSPECIFIED + - SCOPE_UNCHANGED + - SCOPE_CHANGED + authentication: type: string enumDescriptions: - - Unspecified. - - >- - Bucket is located in user-owned project in the same region as the - build. The builder service account must have access to create and - write to Cloud Storage buckets in the build project. - logStreamingOption: - description: Option to define build log streaming behavior to Cloud Storage. + - '' + - '' + - '' + - '' + enum: + - AUTHENTICATION_UNSPECIFIED + - AUTHENTICATION_MULTIPLE + - AUTHENTICATION_SINGLE + - AUTHENTICATION_NONE + userInteraction: enumDescriptions: - - Service may automatically determine build log streaming behavior. - - Build logs should be streamed to Cloud Storage. - - >- - Build logs should not be streamed to Cloud Storage; they will be - written when the build is completed. + - '' + - '' + - '' enum: - - STREAM_DEFAULT - - STREAM_ON - - STREAM_OFF + - USER_INTERACTION_UNSPECIFIED + - USER_INTERACTION_NONE + - USER_INTERACTION_REQUIRED type: string - workerPool: - description: This field deprecated; please use `pool.name` instead. - deprecated: true + privilegesRequired: + enum: + - PRIVILEGES_REQUIRED_UNSPECIFIED + - PRIVILEGES_REQUIRED_NONE + - PRIVILEGES_REQUIRED_LOW + - PRIVILEGES_REQUIRED_HIGH type: string - env: + enumDescriptions: + - '' + - '' + - '' + - '' + confidentialityImpact: + type: string + enum: + - IMPACT_UNSPECIFIED + - IMPACT_HIGH + - IMPACT_LOW + - IMPACT_NONE + - IMPACT_PARTIAL + - IMPACT_COMPLETE + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + attackComplexity: + enumDescriptions: + - '' + - '' + - '' + - '' + type: string + enum: + - ATTACK_COMPLEXITY_UNSPECIFIED + - ATTACK_COMPLEXITY_LOW + - ATTACK_COMPLEXITY_HIGH + - ATTACK_COMPLEXITY_MEDIUM + integrityImpact: + enum: + - IMPACT_UNSPECIFIED + - IMPACT_HIGH + - IMPACT_LOW + - IMPACT_NONE + - IMPACT_PARTIAL + - IMPACT_COMPLETE + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + type: string + baseScore: + description: The base score is a function of the base metric scores. + format: float + type: number + InTotoProvenance: + properties: + materials: type: array items: type: string description: >- - A list of global environment variable definitions that will exist - for all build steps in this build. If a variable is defined in both - globally and in a build step, the variable will use the build step - value. The elements are of the form "KEY=VALUE" for the environment - variable "KEY" being given the value "VALUE". - sourceProvenanceHash: - items: - enum: - - NONE - - SHA256 - - MD5 - - SHA512 - enumDescriptions: - - No hash requested. - - Use a sha256 hash. - - Use a md5 hash. - - Use a sha512 hash. - type: string - type: array - description: Requested hash for SourceProvenance. - automapSubstitutions: + The collection of artifacts that influenced the build including + sources, dependencies, build tools, base images, and so on. This is + considered to be incomplete unless metadata.completeness.materials + is true. Unset or null is equivalent to empty. + builderConfig: + description: required + $ref: '#/components/schemas/BuilderConfig' + metadata: + $ref: '#/components/schemas/Metadata' + recipe: + description: >- + Identifies the configuration used for the build. When combined with + materials, this SHOULD fully describe the build, such that + re-running this recipe results in bit-for-bit identical output (if + the build is reproducible). required + $ref: '#/components/schemas/Recipe' + id: InTotoProvenance + type: object + SlsaMetadata: + description: Other properties of the build. + id: SlsaMetadata + properties: + buildStartedOn: + type: string + format: google-datetime + description: The timestamp of when the build started. + buildFinishedOn: + description: The timestamp of when the build completed. + format: google-datetime + type: string + completeness: + $ref: '#/components/schemas/SlsaCompleteness' + description: >- + Indicates that the builder claims certain fields in this message to + be complete. + reproducible: type: boolean description: >- - Option to include built-in and custom substitutions as env variables - for all build steps. - substitutionOption: + If true, the builder claims that running the recipe on materials + will produce bit-for-bit identical output. + buildInvocationId: description: >- - Option to specify behavior when there is an error in the - substitution checks. NOTE: this is always set to ALLOW_LOOSE for - triggered builds and cannot be overridden in the build configuration - file. - enumDescriptions: - - >- - Fails the build if error in substitutions checks, like missing a - substitution in the template or in the map. - - Do not fail the build if error in substitutions checks. - enum: - - MUST_MATCH - - ALLOW_LOOSE - type: string - logging: - enumDeprecated: - - false - - false - - false - - true - - false - - false - enumDescriptions: - - >- - The service determines the logging mode. The default is `LEGACY`. - Do not rely on the default logging behavior as it may change in - the future. - - Build logs are stored in Cloud Logging and Cloud Storage. - - Build logs are stored in Cloud Storage. - - This option is the same as CLOUD_LOGGING_ONLY. - - >- - Build logs are stored in Cloud Logging. Selecting this option will - not allow [logs - streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log). - - Turn off all logging. No build logs will be captured. + Identifies the particular build invocation, which can be useful for + finding associated logs or other ad-hoc analysis. The value SHOULD + be globally unique, per in-toto Provenance spec. type: string - description: >- - Option to specify the logging mode, which determines if and where - build logs are stored. - enum: - - LOGGING_UNSPECIFIED - - LEGACY - - GCS_ONLY - - STACKDRIVER_ONLY - - CLOUD_LOGGING_ONLY - - NONE - volumes: - description: >- - Global list of volumes to mount for ALL build steps Each volume is - created as an empty volume prior to starting the build process. Upon - completion of the build, volumes and their contents are discarded. - Global volume names and paths cannot conflict with the volumes - defined a build step. Using a global volume in a build with only one - step is not valid as it is indicative of a build request with an - incorrect configuration. - type: array - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Volume - Publisher: + type: object + SlsaBuilder: + type: object properties: - name: - type: string - description: 'Name of the publisher. Examples: ''Google'', ''Google Cloud Platform''.' - publisherNamespace: - description: >- - The context or namespace. Contains a URL which is under control of - the issuing party and can be used as a globally unique identifier - for that issuing party. Example: https://csaf.io - type: string - issuingAuthority: - description: >- - Provides information about the authority of the issuing party to - release the document, in particular, the party's constituency and - responsibilities or other obligations. + id: type: string - description: Publisher contains information about the publisher of this Note. - id: Publisher + id: SlsaBuilder + WindowsUpdate: + id: WindowsUpdate type: object - GerritSourceContext: + description: >- + Windows Update represents the metadata about the update for the Windows + operating system. The fields in this message come from the Windows + Update API documented at + https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate. properties: - aliasContext: - description: An alias, which may be a branch or tag. - $ref: '#/components/schemas/AliasContext' - gerritProject: - type: string - description: >- - The full project name within the host. Projects may be nested, so - "project/subproject" is a valid project name. The "repo name" is the - hostURI/project. - revisionId: - description: A revision (commit) ID. + supportUrl: + description: The hyperlink to the support information for the update. type: string - hostUri: - description: The URI of a running Gerrit instance. + lastPublishedTimestamp: + format: google-datetime type: string - description: A SourceContext referring to a Gerrit project. - type: object - id: GerritSourceContext - ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep: - type: object - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep - description: A step in the build pipeline. - properties: - volumes: + description: The last published timestamp of the update. + identity: + description: Required - The unique identifier for the update. + $ref: '#/components/schemas/Identity' + categories: items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Volume - type: array - description: >- - List of volumes to mount into the build step. Each volume is created - as an empty volume prior to execution of the build step. Upon - completion of the build, volumes and their contents are discarded. - Using a named volume in only one step is not valid as it is - indicative of a build request with an incorrect configuration. - secretEnv: + $ref: '#/components/schemas/Category' + description: The list of categories to which the update belongs. type: array - description: >- - A list of environment variables which are encrypted using a Cloud - Key Management Service crypto key. These values must be specified in - the build's `Secret`. - items: - type: string - id: + description: + description: The localized description of the update. type: string - description: >- - Unique identifier for this build step, used in `wait_for` to - reference this build step as a dependency. - env: - type: array + kbArticleIds: items: type: string + type: array description: >- - A list of environment variable definitions to be used when running a - step. The elements are of the form "KEY=VALUE" for the environment - variable "KEY" being given the value "VALUE". - script: - type: string - description: >- - A shell script to be executed in the step. When script is provided, - the user cannot specify the entrypoint or args. - status: - enum: - - STATUS_UNKNOWN - - PENDING - - QUEUED - - WORKING - - SUCCESS - - FAILURE - - INTERNAL_ERROR - - TIMEOUT - - CANCELLED - - EXPIRED - enumDescriptions: - - Status of the build is unknown. - - >- - Build has been created and is pending execution and queuing. It - has not been queued. - - Build or step is queued; work has not yet begun. - - Build or step is being executed. - - Build or step finished successfully. - - Build or step failed to complete successfully. - - Build or step failed due to an internal cause. - - Build or step took longer than was allowed. - - Build or step was canceled by a user. - - Build was enqueued for longer than the value of `queue_ttl`. - readOnly: true + The Microsoft Knowledge Base article IDs that are associated with + the update. + title: type: string - description: >- - Output only. Status of the build step. At this time, build step - status is only updated on build completion; step status is not - updated in real-time as the build progresses. - waitFor: + description: The localized title of the update. + BatchCreateOccurrencesRequest: + description: Request to create occurrences in batch. + type: object + id: BatchCreateOccurrencesRequest + properties: + occurrences: + description: Required. The occurrences to create. Max allowed length is 1000. items: + $ref: '#/components/schemas/Occurrence' + type: array + ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource: + properties: + substitutions: + additionalProperties: type: string description: >- - The ID(s) of the step(s) that this build step depends on. This build - step will not start until all the build steps in `wait_for` have - completed successfully. If `wait_for` is empty, this build step will - start when all previous build steps in the `Build.Steps` list have - completed successfully. - type: array - entrypoint: + Optional. Substitutions to use in a triggered build. Should only be + used with RunBuildTrigger + type: object + projectId: type: string description: >- - Entrypoint to be used instead of the build step image's default - entrypoint. If unset, the image's default entrypoint is used. - timeout: + Optional. ID of the project that owns the Cloud Source Repository. + If omitted, the project ID requesting the build is assumed. + repoName: + description: Required. Name of the Cloud Source Repository. + type: string + branchName: type: string - format: google-duration description: >- - Time limit for executing this build step. If not defined, the step - has no time limit and will be allowed to continue to run until - either it completes or the build itself times out. - automapSubstitutions: - type: boolean + Regex matching branches to build. The syntax of the regular + expressions accepted is the syntax accepted by RE2 and described at + https://github.com/google/re2/wiki/Syntax + invertRegex: description: >- - Option to include built-in and custom substitutions as env variables - for this build step. This option will override the global option in - BuildOption. - allowFailure: + Optional. Only trigger a build if the revision regex does NOT match + the revision regex. type: boolean + tagName: + type: string description: >- - Allow this build step to fail without failing the entire build. If - false, the entire build will fail if this step fails. Otherwise, the - build will succeed, but this step will still have a failure status. - Error information will be reported in the failure_detail field. - timing: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan - readOnly: true + Regex matching tags to build. The syntax of the regular expressions + accepted is the syntax accepted by RE2 and described at + https://github.com/google/re2/wiki/Syntax + dir: description: >- - Output only. Stores timing information for executing this build - step. - name: + Optional. Directory, relative to the source root, in which to run + the build. This must be a relative path. If a step's `dir` is + specified and is an absolute path, this value is ignored for that + step's execution. type: string - description: >- - Required. The name of the container image that will run this - particular build step. If the image is available in the host's - Docker daemon's cache, it will be run directly. If not, the host - will attempt to pull the image first, using the builder service - account's credentials if necessary. The Docker daemon's cache will - already have the latest versions of all of the officially supported - build steps - ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). - The Docker daemon will also have cached many of the layers for some - popular images, like "ubuntu", "debian", but they will be refreshed - at the time you attempt to use them. If you built an image in a - previous build step, it will be stored in the host's Docker daemon's - cache and is available to use as the name for a later build step. - dir: - description: >- - Working directory to use when running this step's container. If this - value is a relative path, it is relative to the build's working - directory. If this value is absolute, it may be outside the build's - working directory, in which case the contents of the path may not be - persisted across build step executions, unless a `volume` for that - path is specified. If the build specifies a `RepoSource` with `dir` - and a step with a `dir`, which specifies an absolute path, the - `RepoSource` `dir` is ignored for the step's execution. + commitSha: + type: string + description: Explicit commit SHA to build. + description: Location of the source in a Google Cloud Source Repository. + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource + GrafeasV1FileLocation: + id: GrafeasV1FileLocation + description: Indicates the location at which a package was found. + properties: + filePath: type: string - exitCode: - format: int32 - readOnly: true - description: Output only. Return code from running the step. - type: integer - args: description: >- - A list of arguments that will be presented to the step when it is - started. If the image used to run the step's container has an - entrypoint, the `args` are used as arguments to that entrypoint. If - the image does not define an entrypoint, the first element in args - is used as the entrypoint, and the remainder will be used as - arguments. - items: - type: string - type: array - pullTiming: + For jars that are contained inside .war files, this filepath can + indicate the path to war file combined with the path to jar file. + type: object + SourceContext: + id: SourceContext + properties: + cloudRepo: + $ref: '#/components/schemas/CloudRepoSourceContext' description: >- - Output only. Stores timing information for pulling this build step's - builder image only. - readOnly: true - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan - allowExitCodes: - items: - type: integer - format: int32 - type: array + A SourceContext referring to a revision in a Google Cloud Source + Repo. + labels: + additionalProperties: + type: string + description: Labels with user defined metadata. + type: object + git: description: >- - Allow this build step to fail without failing the entire build if - and only if the exit code is one of the specified codes. If - allow_failure is also specified, this field will take precedence. - GitSourceContext: - description: >- - A GitSourceContext denotes a particular revision in a third party Git - repository (e.g., GitHub). + A SourceContext referring to any third party Git repo (e.g., + GitHub). + $ref: '#/components/schemas/GitSourceContext' + gerrit: + $ref: '#/components/schemas/GerritSourceContext' + description: A SourceContext referring to a Gerrit project. type: object + description: >- + A SourceContext is a reference to a tree of files. A SourceContext + together with a path point to a unique revision of a single file or + directory. + TimeSpan: properties: - revisionId: - description: Git commit hash. + startTime: type: string - url: + format: google-datetime + description: Start of time span. + endTime: + format: google-datetime + description: End of time span. type: string - description: Git repository URL. - id: GitSourceContext - Location: + description: 'Start and end times for a build execution phase. Next ID: 3' type: object + id: TimeSpan + ContaineranalysisGoogleDevtoolsCloudbuildV1Hash: properties: - version: - $ref: '#/components/schemas/Version' - description: Deprecated. The version installed at this location. - path: + type: type: string - description: >- - The path from which we gathered that this package/version is - installed. - cpeUri: + description: The type of hash that was performed. + enum: + - NONE + - SHA256 + - MD5 + - SHA512 + enumDescriptions: + - No hash requested. + - Use a sha256 hash. + - Use a md5 hash. + - Use a sha512 hash. + value: + description: The hash value. type: string - description: >- - Deprecated. The CPE URI in [CPE - format](https://cpe.mitre.org/specification/) - id: Location + format: byte + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Hash + description: Container message for hash values. + Status: + type: object description: >- - An occurrence of a particular package installation found within a - system's filesystem. E.g., glibc was found in `/var/lib/dpkg/status`. - Identity: - id: Identity + 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). properties: - updateId: + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. type: string - description: The revision independent identifier of the update. - revision: - description: The revision number of the update. - type: integer + details: + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + code: format: int32 - description: The unique identifier of the update. + type: integer + description: The status code, which should be an enum value of google.rpc.Code. + id: Status + ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest: type: object - FixableTotalByDigest: properties: - fixableCount: + object: + description: >- + Required. Cloud Storage object containing the source manifest. This + object must be a JSON file. type: string - description: The number of fixable vulnerabilities associated with this resource. - format: int64 - resourceUri: + bucket: + description: >- + Required. Cloud Storage bucket containing the source manifest (see + [Bucket Name + Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). type: string - description: The affected resource. - totalCount: + generation: format: int64 - type: string - description: The total number of vulnerabilities associated with this resource. - severity: - type: string - enumDescriptions: - - Unknown. - - Minimal severity. - - Low severity. - - Medium severity. - - High severity. - - Critical severity. description: >- - The severity for this count. SEVERITY_UNSPECIFIED indicates total - across all severities. - enum: - - SEVERITY_UNSPECIFIED - - MINIMAL - - LOW - - MEDIUM - - HIGH - - CRITICAL - id: FixableTotalByDigest - type: object - description: Per resource and severity counts of fixable and total vulnerabilities. - GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial: - type: object + Cloud Storage generation for the object. If the generation is + omitted, the latest generation will be used. + type: string + id: ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest description: >- - The collection of artifacts that influenced the build including sources, - dependencies, build tools, base images, and so on. - id: GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial + Location of the source manifest in Cloud Storage. This feature is in + Preview; see description + [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher). + VulnerabilityAssessmentNote: + id: VulnerabilityAssessmentNote properties: - digest: - type: object - additionalProperties: - type: string - uri: + product: + description: The product affected by this vex. + $ref: '#/components/schemas/Product' + title: type: string - Category: - description: The category to which the update belongs. - id: Category - properties: - categoryId: - description: The identifier of the category. + description: The title of the note. E.g. `Vex-Debian-11.4` + shortDescription: + description: A one sentence description of this Vex. type: string - name: + languageCode: + description: >- + Identifies the language used by this document, corresponding to IETF + BCP 47 / RFC 5646. type: string - description: The localized name of the category. - type: object - RunDetails: - type: object - properties: - builder: - $ref: '#/components/schemas/ProvenanceBuilder' - metadata: - $ref: '#/components/schemas/BuildMetadata' - byproducts: - items: - $ref: '#/components/schemas/ResourceDescriptor' - type: array - id: RunDetails - SlsaProvenanceZeroTwo: - id: SlsaProvenanceZeroTwo - properties: - metadata: - $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata' - buildConfig: - additionalProperties: - type: any - description: Properties of the object. - type: object - invocation: - $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation' - materials: - type: array - items: - $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial' - builder: - $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder' - buildType: + publisher: + description: Publisher details of this Note. + $ref: '#/components/schemas/Publisher' + longDescription: type: string - description: See full explanation of fields at slsa.dev/provenance/v0.2. - type: object - Assessment: + description: A detailed description of this Vex. + assessment: + $ref: '#/components/schemas/Assessment' + description: Represents a vulnerability assessment for the product. type: object - id: Assessment description: >- - Assessment provides all information that is related to a single - vulnerability for this product. + A single VulnerabilityAssessmentNote represents one particular product's + vulnerability assessment for one CVE. + VexAssessment: + id: VexAssessment + description: >- + VexAssessment provides all publisher provided Vex information that is + related to this vulnerability. + type: object properties: - cve: - description: >- - Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) - tracking number for the vulnerability. Deprecated: Use - vulnerability_id instead to denote CVEs. - deprecated: true - type: string - relatedUris: - items: - $ref: '#/components/schemas/RelatedUrl' + justification: + $ref: '#/components/schemas/Justification' description: >- - Holds a list of references associated with this vulnerability item - and assessment. These uris have additional information about the - vulnerability and the assessment itself. E.g. Link to a document - which details how this assessment concluded the state of this - vulnerability. - type: array - longDescription: - description: A detailed description of this Vex. - type: string + Justification provides the justification when the state of the + assessment if NOT_AFFECTED. remediations: + type: array items: $ref: '#/components/schemas/Remediation' description: >- Specifies details on how to handle (and presumably, fix) a vulnerability. - type: array - impacts: - items: - type: string - description: >- - Contains information about the impact of this vulnerability, this - will change with time. - type: array - justification: + noteName: + type: string description: >- - Justification provides the justification when the state of the - assessment if NOT_AFFECTED. - $ref: '#/components/schemas/Justification' - shortDescription: + The VulnerabilityAssessment note from which this VexAssessment was + generated. This will be of the form: + `projects/[PROJECT_ID]/notes/[NOTE_ID]`. + vulnerabilityId: type: string - description: A one sentence description of this Vex. + description: >- + The vulnerability identifier for this Assessment. Will hold one of + common identifiers e.g. CVE, GHSA etc. state: - enum: - - STATE_UNSPECIFIED - - AFFECTED - - NOT_AFFECTED - - FIXED - - UNDER_INVESTIGATION enumDescriptions: - No state is specified. - This product is known to be affected by this vulnerability. @@ -2001,239 +1908,211 @@ components: - >- It is not known yet whether these versions are or are not affected by the vulnerability. However, it is still under investigation. - type: string description: Provides the state of this Vulnerability assessment. - vulnerabilityId: + enum: + - STATE_UNSPECIFIED + - AFFECTED + - NOT_AFFECTED + - FIXED + - UNDER_INVESTIGATION type: string + impacts: description: >- - The vulnerability identifier for this Assessment. Will hold one of - common identifiers e.g. CVE, GHSA etc. - BatchCreateOccurrencesRequest: - type: object - id: BatchCreateOccurrencesRequest - description: Request to create occurrences in batch. - properties: - occurrences: - type: array - description: Required. The occurrences to create. Max allowed length is 1000. + Contains information about the impact of this vulnerability, this + will change with time. items: - $ref: '#/components/schemas/Occurrence' - Source: - description: Source describes the location of the source used for the build. - properties: - additionalContexts: + type: string + type: array + cve: + deprecated: true + description: >- + Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + tracking number for the vulnerability. Deprecated: Use + vulnerability_id instead to denote CVEs. + type: string + relatedUris: items: - $ref: '#/components/schemas/SourceContext' + $ref: '#/components/schemas/RelatedUrl' description: >- - If provided, some of the source code used for the build may be found - in these locations, in the case where the source repository had - multiple remotes or submodules. This list will not include the - context specified in the context field. + Holds a list of references associated with this vulnerability item + and assessment. type: array - artifactStorageSourceUri: + Signature: + id: Signature + type: object + properties: + signature: + type: string + format: byte description: >- - If provided, the input binary artifacts for the build came from this - location. + The content of the signature, an opaque bytestring. The payload that + this signature verifies MUST be unambiguously provided with the + Signature during verification. A wrapper message might provide the + payload explicitly. Alternatively, a message might have a canonical + serialization that can always be unambiguously computed to derive + the payload. + publicKeyId: type: string - fileHashes: - additionalProperties: - $ref: '#/components/schemas/FileHashes' - type: object description: >- - Hash(es) of the build source, which can be used to verify that the - original source integrity was maintained in the build. The keys to - this map are file paths used as build source and the values contain - the hash values for those files. If the build source came in a - single package such as a gzipped tarfile (.tar.gz), the FileHash - will be for the single path to that file. - context: - $ref: '#/components/schemas/SourceContext' + The identifier for the public key that verifies this signature. * + The `public_key_id` is required. * The `public_key_id` SHOULD be an + RFC3986 conformant URI. * When possible, the `public_key_id` SHOULD + be an immutable reference, such as a cryptographic digest. Examples + of valid `public_key_id`s: OpenPGP V4 public key fingerprint: * + "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" See + https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for + more details on this scheme. RFC6920 digest-named + SubjectPublicKeyInfo (digest of the DER serialization): * + "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" * + "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5" + description: >- + Verifiers (e.g. Kritis implementations) MUST verify signatures with + respect to the trust anchors defined in policy (e.g. a Kritis policy). + Typically this means that the verifier has been configured with a map + from `public_key_id` to public key material (and any required + parameters, e.g. signing algorithm). In particular, verification + implementations MUST NOT treat the signature `public_key_id` as anything + more than a key lookup hint. The `public_key_id` DOES NOT validate or + authenticate a public key; it only provides a mechanism for quickly + selecting a public key ALREADY CONFIGURED on the verifier through a + trusted channel. Verification implementations MUST reject signatures in + any of the following circumstances: * The `public_key_id` is not + recognized by the verifier. * The public key that `public_key_id` refers + to does not verify the signature with respect to the payload. The + `signature` contents SHOULD NOT be "attached" (where the payload is + included with the serialized `signature` bytes). Verifiers MUST ignore + any "attached" payload and only verify signatures with respect to + explicitly provided payload (e.g. a `payload` field on the proto message + that holds this Signature, or the canonical serialization of the proto + message that holds this signature). + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan: + description: Start and end times for a build execution phase. + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + properties: + endTime: + description: End of time span. + format: google-datetime + type: string + startTime: + format: google-datetime + description: Start of time span. + type: string + ImageNote: + properties: + fingerprint: + $ref: '#/components/schemas/Fingerprint' + description: Required. Immutable. The fingerprint of the base image. + resourceUrl: + type: string description: >- - If provided, the source code used for the build came from this - location. - id: Source + Required. Immutable. The resource_url for the resource representing + the basis of associated occurrence images. + description: >- + Basis describes the base image portion (Note) of the DockerImage + relationship. Linked occurrences are derived from this or an equivalent + image via: FROM Or an equivalent reference, e.g., a tag of the + resource_url. type: object - Material: + id: ImageNote + SbomReferenceIntotoPredicate: + type: object + id: SbomReferenceIntotoPredicate + description: A predicate which describes the SBOM being referenced. properties: + referrerId: + description: The person or system referring this predicate to the consumer. + type: string + location: + description: The location of the SBOM. + type: string digest: type: object + description: A map of algorithm to digest of the contents of the SBOM. additionalProperties: type: string - uri: + mimeType: type: string - id: Material + description: The mime type of the SBOM. + SetIamPolicyRequest: type: object - DeploymentNote: + id: SetIamPolicyRequest properties: - resourceUri: - type: array - description: Required. Resource URI for the artifact being deployed. - items: - type: string - id: DeploymentNote - description: An artifact that can be deployed in some runtime. - type: object - CVSS: + policy: + $ref: '#/components/schemas/Policy' + description: >- + REQUIRED: The complete policy to be applied to the `resource`. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + description: Request message for `SetIamPolicy` method. + ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig: properties: - attackComplexity: - enumDescriptions: - - '' - - '' - - '' - - '' - type: string - enum: - - ATTACK_COMPLEXITY_UNSPECIFIED - - ATTACK_COMPLEXITY_LOW - - ATTACK_COMPLEXITY_HIGH - - ATTACK_COMPLEXITY_MEDIUM - exploitabilityScore: - type: number - format: float - impactScore: - format: float - type: number - availabilityImpact: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' + gitRepositoryLink: type: string - enum: - - IMPACT_UNSPECIFIED - - IMPACT_HIGH - - IMPACT_LOW - - IMPACT_NONE - - IMPACT_PARTIAL - - IMPACT_COMPLETE - baseScore: - description: The base score is a function of the base metric scores. - format: float - type: number - attackVector: - enum: - - ATTACK_VECTOR_UNSPECIFIED - - ATTACK_VECTOR_NETWORK - - ATTACK_VECTOR_ADJACENT - - ATTACK_VECTOR_LOCAL - - ATTACK_VECTOR_PHYSICAL description: >- - Base Metrics Represents the intrinsic characteristics of a - vulnerability that are constant over time and across user - environments. - type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - scope: - enumDescriptions: - - '' - - '' - - '' - enum: - - SCOPE_UNSPECIFIED - - SCOPE_UNCHANGED - - SCOPE_CHANGED - type: string - integrityImpact: - type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - enum: - - IMPACT_UNSPECIFIED - - IMPACT_HIGH - - IMPACT_LOW - - IMPACT_NONE - - IMPACT_PARTIAL - - IMPACT_COMPLETE - confidentialityImpact: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - enum: - - IMPACT_UNSPECIFIED - - IMPACT_HIGH - - IMPACT_LOW - - IMPACT_NONE - - IMPACT_PARTIAL - - IMPACT_COMPLETE + Required. The Developer Connect Git repository link, formatted as + `projects/*/locations/*/connections/*/gitRepositoryLink/*`. + revision: + description: >- + Required. The revision to fetch from the Git repository such as a + branch, a tag, a commit SHA, or any Git ref. type: string - privilegesRequired: - enum: - - PRIVILEGES_REQUIRED_UNSPECIFIED - - PRIVILEGES_REQUIRED_NONE - - PRIVILEGES_REQUIRED_LOW - - PRIVILEGES_REQUIRED_HIGH + dir: type: string - enumDescriptions: - - '' - - '' - - '' - - '' - authentication: - enum: - - AUTHENTICATION_UNSPECIFIED - - AUTHENTICATION_MULTIPLE - - AUTHENTICATION_SINGLE - - AUTHENTICATION_NONE + description: >- + Required. Directory, relative to the source root, in which to run + the build. + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig + description: This config defines the location of a source through Developer Connect. + EnvelopeSignature: + properties: + keyid: type: string - enumDescriptions: - - '' - - '' - - '' - - '' - userInteraction: + sig: + format: byte type: string - enumDescriptions: - - '' - - '' - - '' - enum: - - USER_INTERACTION_UNSPECIFIED - - USER_INTERACTION_NONE - - USER_INTERACTION_REQUIRED - id: CVSS - description: >- - Common Vulnerability Scoring System. For details, see - https://www.first.org/cvss/specification-document This is a message we - will try to use for storing various versions of CVSS rather than making - a separate proto for storing a specific version. + id: EnvelopeSignature + type: object + TestIamPermissionsResponse: + description: Response message for `TestIamPermissions` method. + id: TestIamPermissionsResponse type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret: properties: - versionName: - type: string - description: >- - Resource name of the SecretVersion. In format: - projects/*/secrets/*/versions/* - env: + permissions: + type: array description: >- - Environment variable name to associate with the secret. Secret - environment variables must be unique across all of a build's - secrets, and must be used by at least one build step. + A subset of `TestPermissionsRequest.permissions` that the caller is + allowed. + items: + type: string + InTotoStatement: + properties: + _type: type: string - id: ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret - type: object + description: Always `https://in-toto.io/Statement/v0.1`. + slsaProvenance: + $ref: '#/components/schemas/SlsaProvenance' + subject: + type: array + items: + $ref: '#/components/schemas/Subject' + slsaProvenanceZeroTwo: + $ref: '#/components/schemas/SlsaProvenanceZeroTwo' + predicateType: + description: '`https://slsa.dev/provenance/v0.1` for SlsaProvenance.' + type: string + provenance: + $ref: '#/components/schemas/InTotoProvenance' + id: InTotoStatement description: >- - Pairs a secret environment variable with a SecretVersion in Secret - Manager. - Volume: + Spec defined at + https://github.com/in-toto/attestation/tree/main/spec#statement The + serialized InTotoStatement will be stored as Envelope.payload. + Envelope.payloadType is always "application/vnd.in-toto+json". type: object + Volume: properties: path: type: string @@ -2247,239 +2126,215 @@ components: Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps. + id: Volume + type: object description: >- Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution. Next ID: 3 - id: Volume - Version: + Command: + type: object + description: Command describes a step performed as part of the build pipeline. + id: Command properties: - inclusive: - type: boolean + waitFor: + type: array + description: The ID(s) of the command(s) that this command depends on. + items: + type: string + env: + type: array + items: + type: string + description: Environment variables set before running this command. + args: + type: array + items: + type: string + description: Command-line arguments used when executing this command. + id: description: >- - Whether this version is specifying part of an inclusive range. - Grafeas does not have the capability to specify version ranges; - instead we have fields that specify start version and end versions. - At times this is insufficient - we also need to specify whether the - version is included in the range or is excluded from the range. This - boolean is expected to be set to true when the version is included - in a range. - revision: + Optional unique identifier for this command, used in wait_for to + reference this command as a dependency. type: string - description: The iteration of the package build from the above version. - fullName: - description: >- - Human readable version string. This string is of the form :- and is - only set when kind is NORMAL. - type: string - epoch: - type: integer - description: Used to correct mistakes in the version numbering scheme. - format: int32 - name: - description: >- - Required only when version kind is NORMAL. The main part of the - version name. - type: string - kind: - description: >- - Required. Distinguishes between sentinel MIN/MAX versions and normal - versions. - enum: - - VERSION_KIND_UNSPECIFIED - - NORMAL - - MINIMUM - - MAXIMUM - enumDescriptions: - - Unknown. - - A standard package version. - - A special version representing negative infinity. - - A special version representing positive infinity. - type: string - id: Version - description: Version contains structured information about the version of a package. - type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig - type: object - description: ApprovalConfig describes configuration for manual approval of a build. - properties: - approvalRequired: - description: >- - Whether or not approval is needed. If this is set on a build, it - will become pending when created, and will need to be explicitly - approved to start. - type: boolean - Command: - type: object - properties: dir: - type: string description: >- Working directory (relative to project source root) used when running this command. - id: type: string - description: >- - Optional unique identifier for this command, used in wait_for to - reference this command as a dependency. - env: - description: Environment variables set before running this command. - type: array - items: - type: string - args: - description: Command-line arguments used when executing this command. - type: array - items: - type: string - waitFor: - description: The ID(s) of the command(s) that this command depends on. - type: array - items: - type: string name: + type: string description: >- Required. Name of the command, as presented on the command line, or if the command is packaged as a Docker container, as presented to `docker pull`. + Artifact: + id: Artifact + properties: + names: + items: + type: string + description: >- + Related artifact names. This may be the path to a binary or jar + file, or in the case of a container build, the name used to push the + container image to Google Container Registry, as presented to + `docker push`. Note that a single Artifact ID can have multiple + names, for example if two tags are applied to one image. + type: array + id: type: string - description: Command describes a step performed as part of the build pipeline. - id: Command - ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig: + description: >- + Artifact ID, if any; for container images, this will be a URL by + digest like `gcr.io/projectID/imagename@sha256:123456`. + checksum: + type: string + description: >- + Hash or checksum value of a binary, or Docker Registry 2.0 digest of + a container. + description: Artifact describes a build product. + type: object + ProjectRepoId: type: object properties: - proxySecretVersionName: - description: >- - SecretVersion resource of the HTTP proxy URL. The Service Account - used in the build (either the default Service Account or - user-specified Service Account) should have - `secretmanager.versions.access` permissions on this secret. The - proxy URL should be in format `protocol://@]proxyhost[:port]`. + projectId: type: string - id: ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig - description: HttpConfig is a configuration for HTTP related git operations. - PackageIssue: + description: The ID of the project. + repoName: + description: The name of the repo. Leave empty for the default repo. + type: string + id: ProjectRepoId + description: >- + Selects a repo using a Google Cloud Platform project ID (e.g., + winged-cargo-31) and a repo name within that project. + Expr: properties: - fileLocation: - description: The location at which this package was found. - type: array - items: - $ref: '#/components/schemas/GrafeasV1FileLocation' - affectedCpeUri: + description: description: >- - Required. The [CPE URI](https://cpe.mitre.org/specification/) this - vulnerability was found in. + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. type: string - packageType: - description: The type of package (e.g. OS, MAVEN, GO). + title: type: string - fixedVersion: - $ref: '#/components/schemas/Version' description: >- - Required. The version of the package this vulnerability was fixed - in. Setting this to VersionKind.MAXIMUM means no fix is yet - available. - fixAvailable: - description: Output only. Whether a fix is available for this package. - type: boolean - fixedCpeUri: - type: string + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + location: description: >- - The [CPE URI](https://cpe.mitre.org/specification/) this - vulnerability was fixed in. It is possible for this to be different - from the affected_cpe_uri. - effectiveSeverity: + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. type: string - description: >- - Output only. The distro or language system assigned severity for - this vulnerability when that is available and note provider assigned - severity when it is not available. - enumDescriptions: - - Unknown. - - Minimal severity. - - Low severity. - - Medium severity. - - High severity. - - Critical severity. - readOnly: true - enum: - - SEVERITY_UNSPECIFIED - - MINIMAL - - LOW - - MEDIUM - - HIGH - - CRITICAL - affectedPackage: - description: Required. The package this vulnerability was found in. + expression: type: string - affectedVersion: description: >- - Required. The version of the package that is installed on the - resource affected by this vulnerability. - $ref: '#/components/schemas/Version' - fixedPackage: + Textual representation of an expression in Common Expression + Language syntax. + type: object + id: Expr + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage: + description: >- + An npm package uploaded to Artifact Registry using the NpmPackage + directive. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage + type: object + properties: + uri: + description: URI of the uploaded npm package. type: string + fileHashes: + description: Hash types and values of the npm package. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + pushTiming: + readOnly: true + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan description: >- - The package this vulnerability was fixed in. It is possible for this - to be different from the affected_package. - type: object - id: PackageIssue + Output only. Stores timing information for pushing the specified + artifact. + VulnerabilityOccurrencesSummary: description: >- - A detail for a distro and package this vulnerability occurrence was - found in and its associated fix (if one is available). - Note: - description: A type of analysis that can be done for a resource. - id: Note + A summary of how many vulnerability occurrences there are per resource + and severity type. properties: - image: - $ref: '#/components/schemas/ImageNote' - description: A note describing a base image. - relatedNoteNames: - description: Other notes related to this note. + counts: + description: >- + A listing by resource of the number of fixable and total + vulnerabilities. type: array items: - type: string - updateTime: - description: >- - Output only. The time this note was last updated. This field can be - used as a filter in list requests. - format: google-datetime + $ref: '#/components/schemas/FixableTotalByDigest' + type: object + id: VulnerabilityOccurrencesSummary + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo: + properties: + type: type: string - deployment: - description: A note describing something that can be deployed. - $ref: '#/components/schemas/DeploymentNote' - name: - description: >- - Output only. The name of the note in the form of - `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + enum: + - FAILURE_TYPE_UNSPECIFIED + - PUSH_FAILED + - PUSH_IMAGE_NOT_FOUND + - PUSH_NOT_AUTHORIZED + - LOGGING_FAILURE + - USER_BUILD_STEP + - FETCH_SOURCE_FAILED + description: The name of the failure. + enumDescriptions: + - Type unspecified + - Unable to push the image to the repository. + - Final image not found. + - Unauthorized push of the final image. + - Backend logging failures. Should retry. + - A build step has failed. + - The source fetching has failed. + detail: + description: Explains the failure issue in more detail using hard-coded text. type: string - dsseAttestation: - description: A note describing a dsse attestation note. - $ref: '#/components/schemas/DSSEAttestationNote' + type: object + description: A fatal problem encountered during the execution of the build. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo + Occurrence: + type: object + id: Occurrence + description: An instance of an analysis type that has been found on a resource. + properties: + envelope: + description: https://github.com/secure-systems-lab/dsse + $ref: '#/components/schemas/Envelope' build: - description: A note describing build provenance for a verifiable build. - $ref: '#/components/schemas/BuildNote' - createTime: - type: string - format: google-datetime + $ref: '#/components/schemas/BuildOccurrence' + description: Describes a verifiable build. + image: + $ref: '#/components/schemas/ImageOccurrence' description: >- - Output only. The time this note was created. This field can be used - as a filter in list requests. - expirationTime: - format: google-datetime - description: Time of expiration for this note. Empty if note does not expire. - type: string - sbomReference: - description: A note describing an SBOM reference. - $ref: '#/components/schemas/SBOMReferenceNote' - package: - $ref: '#/components/schemas/PackageNote' - description: A note describing a package hosted by various package managers. - discovery: - description: A note describing the initial analysis of a resource. - $ref: '#/components/schemas/DiscoveryNote' + Describes how this resource derives from the basis in the associated + note. + deployment: + $ref: '#/components/schemas/DeploymentOccurrence' + description: Describes the deployment of an artifact on a runtime. + compliance: + $ref: '#/components/schemas/ComplianceOccurrence' + description: Describes a compliance violation on a linked resource. kind: - type: string + description: >- + Output only. This explicitly denotes which of the occurrence details + are specified. This field can be used as a filter in list requests. enumDescriptions: - Default value. This value is unused. - The note and occurrence represent a package vulnerability. @@ -2496,6 +2351,7 @@ components: - This represents a DSSE attestation Note - This represents a Vulnerability Assessment. - This represents an SBOM Reference. + type: string enum: - NOTE_KIND_UNSPECIFIED - VULNERABILITY @@ -2510,74 +2366,81 @@ components: - DSSE_ATTESTATION - VULNERABILITY_ASSESSMENT - SBOM_REFERENCE - description: >- - Output only. The type of analysis. This field can be used as a - filter in list requests. vulnerability: - $ref: '#/components/schemas/VulnerabilityNote' - description: A note describing a package vulnerability. - compliance: - description: A note describing a compliance check. - $ref: '#/components/schemas/ComplianceNote' - longDescription: + description: Describes a security vulnerability. + $ref: '#/components/schemas/VulnerabilityOccurrence' + remediation: type: string - description: A detailed description of this note. + description: A description of actions that can be taken to remedy the note. + attestation: + $ref: '#/components/schemas/AttestationOccurrence' + description: Describes an attestation of an artifact. + package: + $ref: '#/components/schemas/PackageOccurrence' + description: Describes the installation of a package on the linked resource. upgrade: - description: A note describing available package upgrades. - $ref: '#/components/schemas/UpgradeNote' - vulnerabilityAssessment: - description: A note describing a vulnerability assessment. - $ref: '#/components/schemas/VulnerabilityAssessmentNote' - shortDescription: - description: A one sentence description of this note. + description: Describes an available package upgrade on the linked resource. + $ref: '#/components/schemas/UpgradeOccurrence' + resourceUri: + description: >- + Required. Immutable. A URI that represents the resource for which + the occurrence applies. For example, + `https://gcr.io/project/image@sha256:123abc` for a Docker image. type: string - attestation: - $ref: '#/components/schemas/AttestationNote' - description: A note describing an attestation role. - relatedUrl: - type: array - description: URLs associated with this note. - items: - $ref: '#/components/schemas/RelatedUrl' - type: object - DSSEAttestationNote: - type: object - properties: - hint: - description: DSSEHint hints at the purpose of the attestation authority. - $ref: '#/components/schemas/DSSEHint' - id: DSSEAttestationNote - RepoId: - id: RepoId - properties: - uid: + dsseAttestation: + description: Describes an attestation of an artifact using dsse. + $ref: '#/components/schemas/DSSEAttestationOccurrence' + noteName: + description: >- + Required. Immutable. The analysis note associated with this + occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + This field can be used as a filter in list requests. type: string - description: A server-assigned, globally unique identifier. - projectRepoId: - $ref: '#/components/schemas/ProjectRepoId' - description: A combination of a project ID and a repo name. - type: object - description: A unique identifier for a Cloud Repo. + updateTime: + description: Output only. The time this occurrence was last updated. + format: google-datetime + type: string + discovery: + $ref: '#/components/schemas/DiscoveryOccurrence' + description: Describes when a resource was discovered. + createTime: + description: Output only. The time this occurrence was created. + format: google-datetime + type: string + sbomReference: + description: Describes a specific SBOM reference occurrences. + $ref: '#/components/schemas/SBOMReferenceOccurrence' + name: + type: string + description: >- + Output only. The name of the occurrence in the form of + `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. ContaineranalysisGoogleDevtoolsCloudbuildV1Results: properties: - artifactTiming: - description: Time to push all non-container artifacts to Cloud Storage. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan mavenArtifacts: + type: array items: $ref: >- #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact description: >- Maven artifacts uploaded to Artifact Registry at the end of the build. - type: array artifactManifest: + type: string description: >- Path to the artifact manifest for non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage. - type: string + npmPackages: + description: Npm packages uploaded to Artifact Registry at the end of the build. + type: array + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage + artifactTiming: + description: Time to push all non-container artifacts to Cloud Storage. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan buildStepOutputs: description: >- List of build step outputs, produced by builder images, in the order @@ -2586,16 +2449,22 @@ components: can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. + type: array items: - format: byte type: string + format: byte + images: + description: Container images that were built as a part of the build. + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage type: array numArtifacts: + type: string description: >- Number of non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage. format: int64 - type: string buildStepImages: description: >- List of build step digests, in the order corresponding to build step @@ -2604,588 +2473,246 @@ components: items: type: string pythonPackages: - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage - type: array description: >- Python artifacts uploaded to Artifact Registry at the end of the build. - npmPackages: type: array - description: Npm packages uploaded to Artifact Registry at the end of the build. - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage - images: items: $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage - type: array - description: Container images that were built as a part of the build. - type: object + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage description: Artifacts created by the build pipeline. id: ContaineranalysisGoogleDevtoolsCloudbuildV1Results - CloudStorageLocation: - description: >- - Empty placeholder to denote that this is a Google Cloud Storage export - request. - id: CloudStorageLocation type: object - properties: {} - GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness: - properties: - parameters: - type: boolean - environment: - type: boolean - materials: - type: boolean + Location: description: >- - Indicates that the builder claims certain fields in this message to be - complete. - id: GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness + An occurrence of a particular package installation found within a + system's filesystem. E.g., glibc was found in `/var/lib/dpkg/status`. type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1Secret: - description: >- - Pairs a set of secret environment variables containing encrypted values - with the Cloud KMS key to use to decrypt the value. Note: Use - `kmsKeyName` with `available_secrets` instead of using `kmsKeyName` with - `secret`. For instructions see: - https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials. properties: - kmsKeyName: - type: string - description: Cloud KMS key name to use to decrypt these envs. - secretEnv: + path: description: >- - Map of environment variable name to its encrypted value. Secret - environment variables must be unique across all of a build's - secrets, and must be used by at least one build step. Values can be - at most 64 KB in size. There can be at most 100 secret values across - all of a build's secrets. - type: object - additionalProperties: - format: byte - type: string - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Secret - type: object - Metadata: - properties: - buildStartedOn: - description: The timestamp of when the build started. - format: google-datetime + The path from which we gathered that this package/version is + installed. type: string - reproducible: - type: boolean + cpeUri: description: >- - If true, the builder claims that running the recipe on materials - will produce bit-for-bit identical output. - buildInvocationId: + Deprecated. The CPE URI in [CPE + format](https://cpe.mitre.org/specification/) type: string - description: >- - Identifies the particular build invocation, which can be useful for - finding associated logs or other ad-hoc analysis. The value SHOULD - be globally unique, per in-toto Provenance spec. - completeness: - $ref: '#/components/schemas/Completeness' - description: >- - Indicates that the builder claims certain fields in this message to - be complete. - buildFinishedOn: + version: + description: Deprecated. The version installed at this location. + $ref: '#/components/schemas/Version' + id: Location + BuildMetadata: + id: BuildMetadata + properties: + invocationId: + type: string + finishedOn: format: google-datetime type: string - description: The timestamp of when the build completed. - description: Other properties of the build. - id: Metadata - type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage - properties: - paths: - items: - type: string - type: array - description: >- - Path globs used to match files in the build's workspace. For Python/ - Twine, this is usually `dist/*`, and sometimes additionally an - `.asc` file. - repository: + startedOn: type: string - description: >- - Artifact Registry repository, in the form - "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY" Files in the - workspace matching any path pattern will be uploaded to Artifact - Registry with this location as a prefix. + format: google-datetime type: object + ContaineranalysisGoogleDevtoolsCloudbuildV1Build: description: >- - Python package to upload to Artifact Registry upon successful completion - of all build steps. A package can encapsulate multiple objects to be - uploaded to a single repository. - SbomReferenceIntotoPayload: + A build resource in the Cloud Build API. At a high level, a `Build` + describes where to find source code, how to build it (for example, the + builder image to run on the source), and where to store the built + artifacts. Fields can include the following variables, which will be + expanded when the build is created: - $PROJECT_ID: the project ID of the + build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: + the location/region of the build. - $BUILD_ID: the autogenerated ID of + the build. - $REPO_NAME: the source repository name specified by + RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - + $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or + $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the + specified branch or tag. - $SHORT_SHA: first 7 characters of + $REVISION_ID or $COMMIT_SHA. type: object - id: SbomReferenceIntotoPayload - description: >- - The actual payload that contains the SBOM Reference data. The payload - follows the intoto statement specification. See - https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md - for more details. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Build properties: - subject: - items: - $ref: '#/components/schemas/Subject' + source: + description: Optional. The location of the source files to build. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Source + startTime: + type: string + readOnly: true + description: Output only. Time at which execution of the build was started. + format: google-datetime + failureInfo: description: >- - Set of software artifacts that the attestation applies to. Each - element represents a single software artifact. - type: array - _type: - description: Identifier for the schema of the Statement. + Output only. Contains information about the build when + status=FAILURE. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo + readOnly: true + statusDetail: + description: Output only. Customer-readable message about the current status. type: string - predicateType: - description: URI identifying the type of the Predicate. + readOnly: true + name: type: string - predicate: - $ref: '#/components/schemas/SbomReferenceIntotoPredicate' + readOnly: true description: >- - Additional parameters of the Predicate. Includes the actual data - about the SBOM. - BatchCreateNotesRequest: - description: Request to create notes in batch. - id: BatchCreateNotesRequest - type: object - properties: - notes: - description: Required. The notes to create. Max allowed length is 1000. - additionalProperties: - $ref: '#/components/schemas/Note' + Output only. The 'Build' name with format: + `projects/{project}/locations/{location}/builds/{build}`, where + {build} is a unique identifier generated by the service. + options: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions + description: Special options for this build. + warnings: + readOnly: true + description: >- + Output only. Non-fatal problems encountered during the execution of + the build. + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning + type: array + timing: + readOnly: true + description: >- + Output only. Stores timing information for phases of the build. + Valid keys are: * BUILD: time to execute all build steps. * PUSH: + time to push all artifacts including docker images and non docker + artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time + to set up build. If the build does not specify source or images, + these keys will not be included. type: object - CVSSv3: - description: >- - Common Vulnerability Scoring System version 3. For details, see - https://www.first.org/cvss/specification-document - properties: - attackComplexity: - enum: - - ATTACK_COMPLEXITY_UNSPECIFIED - - ATTACK_COMPLEXITY_LOW - - ATTACK_COMPLEXITY_HIGH - type: string - enumDescriptions: - - '' - - '' - - '' - exploitabilityScore: - format: float - type: number - integrityImpact: - type: string - enum: - - IMPACT_UNSPECIFIED - - IMPACT_HIGH - - IMPACT_LOW - - IMPACT_NONE - enumDescriptions: - - '' - - '' - - '' - - '' - availabilityImpact: - enumDescriptions: - - '' - - '' - - '' - - '' - enum: - - IMPACT_UNSPECIFIED - - IMPACT_HIGH - - IMPACT_LOW - - IMPACT_NONE + additionalProperties: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + steps: + type: array + description: Required. The operations to be performed on the workspace. + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep + gitConfig: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig + description: Optional. Configuration for git operations. + queueTtl: + format: google-duration + description: >- + TTL in queue for this build. If provided and the build is enqueued + longer than this value, the build will expire and the build status + will be `EXPIRED`. The TTL starts ticking from create_time. type: string - baseScore: - format: float - description: The base score is a function of the base metric scores. - type: number - attackVector: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - enum: - - ATTACK_VECTOR_UNSPECIFIED - - ATTACK_VECTOR_NETWORK - - ATTACK_VECTOR_ADJACENT - - ATTACK_VECTOR_LOCAL - - ATTACK_VECTOR_PHYSICAL + buildTriggerId: + readOnly: true description: >- - Base Metrics Represents the intrinsic characteristics of a - vulnerability that are constant over time and across user - environments. + Output only. The ID of the `BuildTrigger` that triggered this build, + if it was triggered automatically. type: string - privilegesRequired: - enum: - - PRIVILEGES_REQUIRED_UNSPECIFIED - - PRIVILEGES_REQUIRED_NONE - - PRIVILEGES_REQUIRED_LOW - - PRIVILEGES_REQUIRED_HIGH + status: enumDescriptions: - - '' - - '' - - '' - - '' + - Status of the build is unknown. + - >- + Build has been created and is pending execution and queuing. It + has not been queued. + - Build or step is queued; work has not yet begun. + - Build or step is being executed. + - Build or step finished successfully. + - Build or step failed to complete successfully. + - Build or step failed due to an internal cause. + - Build or step took longer than was allowed. + - Build or step was canceled by a user. + - Build was enqueued for longer than the value of `queue_ttl`. + readOnly: true type: string - impactScore: - format: float - type: number - scope: - enumDescriptions: - - '' - - '' - - '' + description: Output only. Status of the build. enum: - - SCOPE_UNSPECIFIED - - SCOPE_UNCHANGED - - SCOPE_CHANGED - type: string - userInteraction: - enum: - - USER_INTERACTION_UNSPECIFIED - - USER_INTERACTION_NONE - - USER_INTERACTION_REQUIRED - enumDescriptions: - - '' - - '' - - '' - type: string - confidentialityImpact: - enum: - - IMPACT_UNSPECIFIED - - IMPACT_HIGH - - IMPACT_LOW - - IMPACT_NONE - enumDescriptions: - - '' - - '' - - '' - - '' + - STATUS_UNKNOWN + - PENDING + - QUEUED + - WORKING + - SUCCESS + - FAILURE + - INTERNAL_ERROR + - TIMEOUT + - CANCELLED + - EXPIRED + results: + description: Output only. Results of the build. + readOnly: true + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Results + finishTime: type: string - id: CVSSv3 - type: object - BatchCreateNotesResponse: - id: BatchCreateNotesResponse - properties: - notes: - description: The notes that were created. - type: array - items: - $ref: '#/components/schemas/Note' - description: Response for creating notes in batch. - type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets: - description: Secrets and secret environment variables. - properties: - secretManager: - description: >- - Secrets in Secret Manager and associated secret environment - variable. - type: array - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret - inline: - description: >- - Secrets encrypted with KMS key and the associated secret environment - variable. - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret - type: array - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets - type: object - Binding: - description: Associates `members`, or principals, with a `role`. - properties: - condition: - description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/Expr' - role: + format: google-datetime description: >- - 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). + Output only. Time at which execution of the build was finished. The + difference between finish_time and start_time is the duration of the + build's execution. + readOnly: true + serviceAccount: type: string - members: description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - type: array + IAM service account whose credentials will be used at build runtime. + Must be of the format + `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be + email address or uniqueId of the service account. + images: items: type: string - type: object - id: Binding - ContaineranalysisGoogleDevtoolsCloudbuildV1Build: - description: >- - A build resource in the Cloud Build API. At a high level, a `Build` - describes where to find source code, how to build it (for example, the - builder image to run on the source), and where to store the built - artifacts. Fields can include the following variables, which will be - expanded when the build is created: - $PROJECT_ID: the project ID of the - build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: - the location/region of the build. - $BUILD_ID: the autogenerated ID of - the build. - $REPO_NAME: the source repository name specified by - RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or - $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the - specified branch or tag. - $SHORT_SHA: first 7 characters of - $REVISION_ID or $COMMIT_SHA. - type: object - properties: - name: - readOnly: true - description: >- - Output only. The 'Build' name with format: - `projects/{project}/locations/{location}/builds/{build}`, where - {build} is a unique identifier generated by the service. - type: string - timing: - type: object - additionalProperties: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan description: >- - Output only. Stores timing information for phases of the build. - Valid keys are: * BUILD: time to execute all build steps. * PUSH: - time to push all artifacts including docker images and non docker - artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time - to set up build. If the build does not specify source or images, - these keys will not be included. - readOnly: true + A list of images to be pushed upon the successful completion of all + build steps. The images are pushed using the builder service + account's credentials. The digests of the pushed images will be + stored in the `Build` resource's results field. If any of the images + fail to be pushed, the build status is marked `FAILURE`. + type: array artifacts: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts description: >- Artifacts produced by the build that should be uploaded upon successful completion of all build steps. - options: - description: Special options for this build. $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions - tags: - items: - type: string - type: array - description: Tags for annotation of a `Build`. These are not docker tags. + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts availableSecrets: - description: Secrets and secret environment variables. $ref: >- #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets - secrets: - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Secret + description: Secrets and secret environment variables. + timeout: + type: string description: >- - Secrets to decrypt using Cloud Key Management Service. Note: Secret - Manager is the recommended technique for managing sensitive data - with Cloud Build. Use `available_secrets` to configure builds to - access secrets from Secret Manager. For instructions, see: - https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets - type: array - images: + Amount of time that this build should be allowed to run, to second + granularity. If this amount of time elapses, work on the build will + cease and the build status will be `TIMEOUT`. `timeout` starts + ticking from `startTime`. Default time is 60 minutes. + format: google-duration + tags: + description: Tags for annotation of a `Build`. These are not docker tags. items: type: string type: array - description: >- - A list of images to be pushed upon the successful completion of all - build steps. The images are pushed using the builder service - account's credentials. The digests of the pushed images will be - stored in the `Build` resource's results field. If any of the images - fail to be pushed, the build status is marked `FAILURE`. - steps: - description: Required. The operations to be performed on the workspace. - type: array - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep - projectId: - description: Output only. ID of the project. - readOnly: true - type: string - approval: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval + substitutions: + type: object + additionalProperties: + type: string + description: Substitutions data for `Build` resource. + approval: description: >- Output only. Describes this build's approval configuration, status, and result. readOnly: true - createTime: - readOnly: true - type: string - description: >- - Output only. Time at which the request to create the build was - received. - format: google-datetime - gitConfig: - description: Optional. Configuration for git operations. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig - source: - description: Optional. The location of the source files to build. $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Source + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval logUrl: - description: Output only. URL to logs for this build in Google Cloud Console. - readOnly: true - type: string - substitutions: - type: object - additionalProperties: - type: string - description: Substitutions data for `Build` resource. - warnings: - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning - readOnly: true - description: >- - Output only. Non-fatal problems encountered during the execution of - the build. - type: array - startTime: readOnly: true + description: Output only. URL to logs for this build in Google Cloud Console. type: string + createTime: format: google-datetime - description: Output only. Time at which execution of the build was started. - buildTriggerId: description: >- - Output only. The ID of the `BuildTrigger` that triggered this build, - if it was triggered automatically. - readOnly: true - type: string - timeout: - description: >- - Amount of time that this build should be allowed to run, to second - granularity. If this amount of time elapses, work on the build will - cease and the build status will be `TIMEOUT`. `timeout` starts - ticking from `startTime`. Default time is 60 minutes. - type: string - format: google-duration - serviceAccount: - type: string - description: >- - IAM service account whose credentials will be used at build runtime. - Must be of the format - `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be - email address or uniqueId of the service account. - statusDetail: - type: string - description: Output only. Customer-readable message about the current status. - readOnly: true - status: - enum: - - STATUS_UNKNOWN - - PENDING - - QUEUED - - WORKING - - SUCCESS - - FAILURE - - INTERNAL_ERROR - - TIMEOUT - - CANCELLED - - EXPIRED + Output only. Time at which the request to create the build was + received. readOnly: true - description: Output only. Status of the build. - enumDescriptions: - - Status of the build is unknown. - - >- - Build has been created and is pending execution and queuing. It - has not been queued. - - Build or step is queued; work has not yet begun. - - Build or step is being executed. - - Build or step finished successfully. - - Build or step failed to complete successfully. - - Build or step failed due to an internal cause. - - Build or step took longer than was allowed. - - Build or step was canceled by a user. - - Build was enqueued for longer than the value of `queue_ttl`. type: string - sourceProvenance: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance - description: Output only. A permanent fixed identifier for source. - readOnly: true - results: - readOnly: true - description: Output only. Results of the build. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Results logsBucket: description: >- Cloud Storage bucket where logs should be written (see [Bucket Name @@ -3193,717 +2720,1156 @@ components: Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`. type: string - queueTtl: - format: google-duration + secrets: + type: array description: >- - TTL in queue for this build. If provided and the build is enqueued - longer than this value, the build will expire and the build status - will be `EXPIRED`. The TTL starts ticking from create_time. - type: string + Secrets to decrypt using Cloud Key Management Service. Note: Secret + Manager is the recommended technique for managing sensitive data + with Cloud Build. Use `available_secrets` to configure builds to + access secrets from Secret Manager. For instructions, see: + https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Secret + sourceProvenance: + readOnly: true + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance + description: Output only. A permanent fixed identifier for source. id: description: Output only. Unique identifier of the build. readOnly: true type: string - failureInfo: - description: >- - Output only. Contains information about the build when - status=FAILURE. - readOnly: true - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo - finishTime: - format: google-datetime + projectId: readOnly: true + description: Output only. ID of the project. type: string - description: >- - Output only. Time at which execution of the build was finished. The - difference between finish_time and start_time is the duration of the - build's execution. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Build - SourceContext: + RelatedUrl: + description: Metadata for any related URL information. + id: RelatedUrl + type: object properties: - labels: - description: Labels with user defined metadata. + url: + type: string + description: Specific URL associated with the resource. + label: + type: string + description: Label to describe usage of the URL. + ProvenanceBuilder: + type: object + id: ProvenanceBuilder + properties: + id: + type: string + version: additionalProperties: type: string type: object - cloudRepo: - $ref: '#/components/schemas/CloudRepoSourceContext' + builderDependencies: + items: + $ref: '#/components/schemas/ResourceDescriptor' + type: array + DSSEAttestationNote: + properties: + hint: + description: DSSEHint hints at the purpose of the attestation authority. + $ref: '#/components/schemas/DSSEHint' + type: object + id: DSSEAttestationNote + DeploymentNote: + properties: + resourceUri: + description: Required. Resource URI for the artifact being deployed. + items: + type: string + type: array + type: object + id: DeploymentNote + description: An artifact that can be deployed in some runtime. + SlsaCompleteness: + type: object + properties: + environment: + type: boolean description: >- - A SourceContext referring to a revision in a Google Cloud Source - Repo. - git: - $ref: '#/components/schemas/GitSourceContext' + If true, the builder claims that recipe.environment is claimed to be + complete. + materials: description: >- - A SourceContext referring to any third party Git repo (e.g., - GitHub). - gerrit: - $ref: '#/components/schemas/GerritSourceContext' - description: A SourceContext referring to a Gerrit project. - type: object + If true, the builder claims that materials are complete, usually + through some controls to prevent network access. Sometimes called + "hermetic". + type: boolean + arguments: + type: boolean + description: >- + If true, the builder claims that recipe.arguments is complete, + meaning that all external inputs are properly captured in the + recipe. description: >- - A SourceContext is a reference to a tree of files. A SourceContext - together with a path point to a unique revision of a single file or - directory. - id: SourceContext - DiscoveryOccurrence: + Indicates that the builder claims certain fields in this message to be + complete. + id: SlsaCompleteness + ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource properties: - continuousAnalysis: + dir: + description: >- + Optional. Directory, relative to the source root, in which to run + the build. This must be a relative path. If a step's `dir` is + specified and is an absolute path, this value is ignored for that + step's execution. type: string - enum: - - CONTINUOUS_ANALYSIS_UNSPECIFIED - - ACTIVE - - INACTIVE - enumDescriptions: - - Unknown. - - The resource is continuously analyzed. - - The resource is ignored for continuous analysis. - description: Whether the resource is continuously analyzed. - analysisStatus: - enum: - - ANALYSIS_STATUS_UNSPECIFIED - - PENDING - - SCANNING - - FINISHED_SUCCESS - - COMPLETE - - FINISHED_FAILED - - FINISHED_UNSUPPORTED - enumDescriptions: - - Unknown. - - Resource is known but no action has been taken yet. - - Resource is being analyzed. - - Analysis has finished successfully. - - Analysis has completed. - - >- - Analysis has finished unsuccessfully, the analysis itself is in a - bad state. - - The resource is known not to be supported. + url: + description: >- + Required. Location of the Git repo to build. This will be used as a + `git remote`, see https://git-scm.com/docs/git-remote. + type: string + revision: type: string - description: The status of discovery for the resource. - analysisStatusError: description: >- - When an error is encountered this will contain a LocalizedMessage - under details to show to the user. The LocalizedMessage is output - only and populated by the API. - $ref: '#/components/schemas/Status' - sbomStatus: - description: The status of an SBOM generation. - $ref: '#/components/schemas/SBOMStatus' - archiveTime: + Optional. The revision to fetch from the Git repository such as a + branch, a tag, a commit SHA, or any Git ref. Cloud Build uses `git + fetch` to fetch the revision from the Git repository; therefore make + sure that the string you provide for `revision` is parsable by the + command. For information on string values accepted by `git fetch`, + see https://git-scm.com/docs/gitrevisions#_specifying_revisions. For + information on `git fetch`, see https://git-scm.com/docs/git-fetch. + type: object + description: Location of the source in any accessible Git repository. + Jwt: + type: object + id: Jwt + properties: + compactJwt: type: string - format: google-datetime description: >- - Output only. The time occurrences related to this discovery - occurrence were archived. - readOnly: true - lastScanTime: + The compact encoding of a JWS, which is always three base64 encoded + strings joined by periods. For details, see: + https://tools.ietf.org/html/rfc7515.html#section-3.1 + ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage: + description: >- + Python package to upload to Artifact Registry upon successful completion + of all build steps. A package can encapsulate multiple objects to be + uploaded to a single repository. + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage + properties: + paths: + items: + type: string + description: >- + Path globs used to match files in the build's workspace. For Python/ + Twine, this is usually `dist/*`, and sometimes additionally an + `.asc` file. + type: array + repository: + type: string + description: >- + Artifact Registry repository, in the form + "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY" Files in the + workspace matching any path pattern will be uploaded to Artifact + Registry with this location as a prefix. + Identity: + type: object + properties: + updateId: + description: The revision independent identifier of the update. + type: string + revision: + description: The revision number of the update. + format: int32 + type: integer + description: The unique identifier of the update. + id: Identity + Empty: + type: object + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + id: Empty + properties: {} + VulnerabilityNote: + id: VulnerabilityNote + description: A security vulnerability that can be found in resources. + properties: + severity: + enumDescriptions: + - Unknown. + - Minimal severity. + - Low severity. + - Medium severity. + - High severity. + - Critical severity. + enum: + - SEVERITY_UNSPECIFIED + - MINIMAL + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: The note provider assigned severity of this vulnerability. + type: string + sourceUpdateTime: type: string format: google-datetime - description: The last time this resource was scanned. - analysisError: + description: >- + The time this information was last changed at the source. This is an + upstream timestamp from the underlying information source - e.g. + Ubuntu security tracker. + cvssV2: + $ref: '#/components/schemas/CVSS' + description: The full description of the v2 CVSS for this vulnerability. + cvssScore: + description: >- + The CVSS score of this vulnerability. CVSS score is on a scale of 0 + - 10 where 0 indicates low severity and 10 indicates high severity. + type: number + format: float + windowsDetails: + description: >- + Windows details get their own format because the information format + and model don't match a normal detail. Specifically Windows updates + are done as patches, thus Windows vulnerabilities really are a + missing package, rather than a package being at an incorrect + version. + items: + $ref: '#/components/schemas/WindowsDetail' + type: array + cvssVersion: + enum: + - CVSS_VERSION_UNSPECIFIED + - CVSS_VERSION_2 + - CVSS_VERSION_3 + enumDescriptions: + - '' + - '' + - '' + description: CVSS version used to populate cvss_score and severity. + type: string + cvssV3: + description: The full description of the CVSSv3 for this vulnerability. + $ref: '#/components/schemas/CVSSv3' + details: type: array description: >- - Indicates any errors encountered during analysis of a resource. - There could be 0 or more of these errors. + Details of all known distros and packages affected by this + vulnerability. items: - $ref: '#/components/schemas/Status' - analysisCompleted: - $ref: '#/components/schemas/AnalysisCompleted' - cpe: + $ref: '#/components/schemas/Detail' + type: object + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption: + properties: + name: + description: >- + The `WorkerPool` resource to execute the build on. You must have + `cloudbuild.workerpools.use` on the project hosting the WorkerPool. + Format + projects/{project}/locations/{location}/workerPools/{workerPoolId} type: string - description: The CPE of the resource being scanned. - id: DiscoveryOccurrence - description: Provides information about the analysis status of a discovered resource. + description: >- + Details about how a build should be executed on a `WorkerPool`. See + [running builds in a private + pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) + for more information. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption type: object - PackageNote: - description: PackageNote represents a particular package version. - id: PackageNote + Product: + description: >- + Product contains information about a product and how to uniquely + identify it. + id: Product + properties: + genericUri: + type: string + description: >- + Contains a URI which is vendor-specific. Example: The artifact + repository URL of an image. + name: + type: string + description: Name of the product. + id: + type: string + description: >- + Token that identifies a product so that it can be referred to from + other parts in the document. There is no predefined format as long + as it uniquely identifies a group in the context of the current + document. + type: object + Binding: + properties: + role: + type: string + description: >- + 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). + condition: + description: >- + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/Expr' + members: + type: array + items: + type: string + description: >- + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + type: object + description: Associates `members`, or principals, with a `role`. + id: Binding + DeploymentOccurrence: + description: The period during which some deployable was active in a runtime. + type: object + id: DeploymentOccurrence + properties: + address: + description: Address of the runtime element hosting this deployment. + type: string + resourceUri: + items: + type: string + type: array + description: >- + Output only. Resource URI for the artifact being deployed taken from + the deployable field with the same name. + userEmail: + description: Identity of the user that triggered this deployment. + type: string + deployTime: + format: google-datetime + type: string + description: Required. Beginning of the lifetime of this deployment. + platform: + enumDescriptions: + - Unknown. + - Google Container Engine. + - 'Google App Engine: Flexible Environment.' + - Custom user-defined platform. + enum: + - PLATFORM_UNSPECIFIED + - GKE + - FLEX + - CUSTOM + type: string + description: Platform hosting this deployment. + undeployTime: + description: End of the lifetime of this deployment. + type: string + format: google-datetime + config: + type: string + description: Configuration used to create this deployment. + ContaineranalysisGoogleDevtoolsCloudbuildV1Volume: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Volume + description: >- + Volume describes a Docker container volume which is mounted into build + steps in order to persist files across build step execution. + type: object + properties: + name: + description: >- + Name of the volume to mount. Volume names must be unique per build + step and must be valid names for Docker volumes. Each named volume + must be used by at least two build steps. + type: string + path: + type: string + description: >- + Path at which to mount the volume. Paths must be absolute and cannot + conflict with other volume paths on the same build step or with + certain reserved volume paths. + SbomReferenceIntotoPayload: + type: object + id: SbomReferenceIntotoPayload + description: >- + The actual payload that contains the SBOM Reference data. The payload + follows the intoto statement specification. See + https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md + for more details. + properties: + predicateType: + type: string + description: URI identifying the type of the Predicate. + predicate: + $ref: '#/components/schemas/SbomReferenceIntotoPredicate' + description: >- + Additional parameters of the Predicate. Includes the actual data + about the SBOM. + subject: + description: >- + Set of software artifacts that the attestation applies to. Each + element represents a single software artifact. + items: + $ref: '#/components/schemas/Subject' + type: array + _type: + type: string + description: Identifier for the schema of the Statement. + ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository: + properties: + repository: + description: >- + Required. Name of the Google Cloud Build repository, formatted as + `projects/*/locations/*/connections/*/repositories/*`. + type: string + revision: + type: string + description: >- + Required. The revision to fetch from the Git repository such as a + branch, a tag, a commit SHA, or any Git ref. + dir: + description: >- + Optional. Directory, relative to the source root, in which to run + the build. + type: string + description: >- + Location of the source in a 2nd-gen Google Cloud Build repository + resource. + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository + GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial: + description: >- + The collection of artifacts that influenced the build including sources, + dependencies, build tools, base images, and so on. + type: object + id: GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial + properties: + digest: + additionalProperties: + type: string + type: object + uri: + type: string + Layer: + description: Layer holds metadata specific to a layer of a Docker image. + id: Layer + properties: + directive: + description: >- + Required. The recovered Dockerfile directive used to construct this + layer. See https://docs.docker.com/engine/reference/builder/ for + more information. + type: string + arguments: + description: The recovered arguments to the Dockerfile directive. + type: string + type: object + Distribution: + description: >- + This represents a particular channel of distribution for a given + package. E.g., Debian's jessie-backports dpkg mirror. + id: Distribution + type: object + properties: + cpeUri: + type: string + description: >- + Required. The cpe_uri in [CPE + format](https://cpe.mitre.org/specification/) denoting the package + manager version distributing a package. + architecture: + enum: + - ARCHITECTURE_UNSPECIFIED + - X86 + - X64 + description: >- + The CPU architecture for which packages in this distribution channel + were built. + enumDescriptions: + - Unknown architecture. + - X86 architecture. + - X64 architecture. + type: string + description: + type: string + description: The distribution channel-specific description of this package. + maintainer: + type: string + description: A freeform string denoting the maintainer of this package. + url: + description: The distribution channel-specific homepage for this package. + type: string + latestVersion: + $ref: '#/components/schemas/Version' + description: >- + The latest available version of this package in this distribution + channel. + GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness: + type: object + id: GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness + properties: + environment: + type: boolean + parameters: + type: boolean + materials: + type: boolean + description: >- + Indicates that the builder claims certain fields in this message to be + complete. + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions: + description: Optional arguments to enable specific features of builds. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions + properties: + pool: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption + description: >- + Optional. Specification for execution on a `WorkerPool`. See + [running builds in a private + pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) + for more information. + env: + description: >- + A list of global environment variable definitions that will exist + for all build steps in this build. If a variable is defined in both + globally and in a build step, the variable will use the build step + value. The elements are of the form "KEY=VALUE" for the environment + variable "KEY" being given the value "VALUE". + type: array + items: + type: string + diskSizeGb: + format: int64 + type: string + description: >- + Requested disk size for the VM that runs the build. Note that this + is *NOT* "disk free"; some of the space will be used by the + operating system and build utilities. Also note that this is the + minimum disk size that will be allocated for the build -- the build + may run with a larger disk than requested. At present, the maximum + disk size is 4000GB; builds that request more than the maximum are + rejected with an error. + dynamicSubstitutions: + description: >- + Option to specify whether or not to apply bash style string + operations to the substitutions. NOTE: this is always enabled for + triggered builds and cannot be overridden in the build configuration + file. + type: boolean + machineType: + enumDescriptions: + - Standard machine type. + - Highcpu machine with 8 CPUs. + - Highcpu machine with 32 CPUs. + - Highcpu e2 machine with 8 CPUs. + - Highcpu e2 machine with 32 CPUs. + - E2 machine with 1 CPU. + enumDeprecated: + - false + - true + - true + - false + - false + - false + enum: + - UNSPECIFIED + - N1_HIGHCPU_8 + - N1_HIGHCPU_32 + - E2_HIGHCPU_8 + - E2_HIGHCPU_32 + - E2_MEDIUM + description: Compute Engine machine type on which to run the build. + type: string + defaultLogsBucketBehavior: + enumDescriptions: + - Unspecified. + - >- + Bucket is located in user-owned project in the same region as the + build. The builder service account must have access to create and + write to Cloud Storage buckets in the build project. + - >- + Bucket is located in a Google-owned project and is not + regionalized. + type: string + enum: + - DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED + - REGIONAL_USER_OWNED_BUCKET + - LEGACY_BUCKET + description: Optional. Option to specify how default logs buckets are setup. + workerPool: + description: This field deprecated; please use `pool.name` instead. + deprecated: true + type: string + requestedVerifyOption: + enum: + - NOT_VERIFIED + - VERIFIED + enumDescriptions: + - Not a verifiable build (the default). + - Build must be verified. + description: Requested verifiability options. + type: string + logging: + description: >- + Option to specify the logging mode, which determines if and where + build logs are stored. + enumDeprecated: + - false + - false + - false + - true + - false + - false + type: string + enum: + - LOGGING_UNSPECIFIED + - LEGACY + - GCS_ONLY + - STACKDRIVER_ONLY + - CLOUD_LOGGING_ONLY + - NONE + enumDescriptions: + - >- + The service determines the logging mode. The default is `LEGACY`. + Do not rely on the default logging behavior as it may change in + the future. + - Build logs are stored in Cloud Logging and Cloud Storage. + - Build logs are stored in Cloud Storage. + - This option is the same as CLOUD_LOGGING_ONLY. + - >- + Build logs are stored in Cloud Logging. Selecting this option will + not allow [logs + streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log). + - Turn off all logging. No build logs will be captured. + sourceProvenanceHash: + items: + enumDescriptions: + - No hash requested. + - Use a sha256 hash. + - Use a md5 hash. + - Use a sha512 hash. + type: string + enum: + - NONE + - SHA256 + - MD5 + - SHA512 + description: Requested hash for SourceProvenance. + type: array + volumes: + description: >- + Global list of volumes to mount for ALL build steps Each volume is + created as an empty volume prior to starting the build process. Upon + completion of the build, volumes and their contents are discarded. + Global volume names and paths cannot conflict with the volumes + defined a build step. Using a global volume in a build with only one + step is not valid as it is indicative of a build request with an + incorrect configuration. + items: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1Volume + type: array + secretEnv: + description: >- + A list of global environment variables, which are encrypted using a + Cloud Key Management Service crypto key. These values must be + specified in the build's `Secret`. These variables will be available + to all build steps in this build. + type: array + items: + type: string + automapSubstitutions: + type: boolean + description: >- + Option to include built-in and custom substitutions as env variables + for all build steps. + substitutionOption: + enumDescriptions: + - >- + Fails the build if error in substitutions checks, like missing a + substitution in the template or in the map. + - Do not fail the build if error in substitutions checks. + description: >- + Option to specify behavior when there is an error in the + substitution checks. NOTE: this is always set to ALLOW_LOOSE for + triggered builds and cannot be overridden in the build configuration + file. + enum: + - MUST_MATCH + - ALLOW_LOOSE + type: string + logStreamingOption: + description: Option to define build log streaming behavior to Cloud Storage. + type: string + enum: + - STREAM_DEFAULT + - STREAM_ON + - STREAM_OFF + enumDescriptions: + - Service may automatically determine build log streaming behavior. + - Build logs should be streamed to Cloud Storage. + - >- + Build logs should not be streamed to Cloud Storage; they will be + written when the build is completed. + type: object + Policy: + description: >- + 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/). + properties: + etag: + format: byte + type: string + description: >- + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + bindings: + type: array + items: + $ref: '#/components/schemas/Binding' + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + version: + description: >- + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + format: int32 + type: integer + type: object + id: Policy + ImageOccurrence: + description: >- + Details of the derived image portion of the DockerImage relationship. + This image would be produced from a Dockerfile with FROM . type: object properties: - cpeUri: - description: >- - The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) - denoting the package manager version distributing a package. The - cpe_uri will be blank for language packages. - type: string - description: - type: string - description: The description of this package. - name: - description: Required. Immutable. The name of the package. + fingerprint: + description: Required. The fingerprint of the derived image. + $ref: '#/components/schemas/Fingerprint' + baseResourceUrl: type: string - digest: - type: array description: >- - Hash value, typically a file digest, that allows unique - identification a specific package. - items: - $ref: '#/components/schemas/Digest' - url: - type: string - description: The homepage for this package. - distribution: + Output only. This contains the base image URL for the derived image + occurrence. + distance: + description: >- + Output only. The number of layers by which this image differs from + the associated image basis. + format: int32 + type: integer + layerInfo: type: array - description: Deprecated. The various channels by which a package is distributed. items: - $ref: '#/components/schemas/Distribution' - version: - $ref: '#/components/schemas/Version' - description: The version of the package. - architecture: - description: >- - The CPU architecture for which packages in this distribution channel - were built. Architecture will be blank for language packages. - enumDescriptions: - - Unknown architecture. - - X86 architecture. - - X64 architecture. - type: string - enum: - - ARCHITECTURE_UNSPECIFIED - - X86 - - X64 - license: - description: Licenses that have been declared by the authors of the package. - $ref: '#/components/schemas/License' - maintainer: - type: string - description: A freeform text denoting the maintainer of this package. - packageType: - type: string + $ref: '#/components/schemas/Layer' description: >- - The type of package; whether native or non native (e.g., ruby gems, - node.js packages, etc.). - ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects + This contains layer-specific metadata, if populated it has length + "distance" and is ordered with [distance] being the layer + immediately following the base image and [1] being the final layer. + id: ImageOccurrence + ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact: properties: - location: + uri: type: string + description: URI of the uploaded artifact. + fileHashes: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + description: Hash types and values of the Maven Artifact. + pushTiming: description: >- - Cloud Storage bucket and optional object path, in the form - "gs://bucket/path/to/somewhere/". (see [Bucket Name - Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). - Files in the workspace matching any path pattern will be uploaded to - Cloud Storage with this location as a prefix. - paths: - description: Path globs used to match files in the build's workspace. - type: array - items: - type: string - timing: + Output only. Stores timing information for pushing the specified + artifact. $ref: >- #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan readOnly: true - description: >- - Output only. Stores timing information for pushing all artifact - objects. - type: object - description: >- - Files in the workspace to upload to Cloud Storage upon successful - completion of all build steps. - Hint: + description: A Maven artifact uploaded using the MavenArtifact directive. type: object - id: Hint + id: ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact + Version: properties: - humanReadableName: + epoch: + format: int32 + type: integer + description: Used to correct mistakes in the version numbering scheme. + revision: + description: The iteration of the package build from the above version. + type: string + name: type: string description: >- - Required. The human readable name of this attestation authority, for - example "qa". - description: >- - This submessage provides human-readable hints about the purpose of the - authority. Because the name of a note acts as its resource reference, it - is important to disambiguate the canonical name of the Note (which might - be a UUID for security purposes) from "readable" names more suitable for - debug output. Note that these hints should not be used to look up - authorities in security sensitive contexts, such as when looking up - attestations to verify. - ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts - properties: - npmPackages: - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage - type: array - description: >- - A list of npm packages to be uploaded to Artifact Registry upon - successful completion of all build steps. Npm packages in the - specified paths will be uploaded to the specified Artifact Registry - repository using the builder service account's credentials. If any - packages fail to be pushed, the build is marked FAILURE. - objects: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects - description: >- - A list of objects to be uploaded to Cloud Storage upon successful - completion of all build steps. Files in the workspace matching - specified paths globs will be uploaded to the specified Cloud - Storage location using the builder service account's credentials. - The location and generation of the uploaded objects will be stored - in the Build resource's results field. If any objects fail to be - pushed, the build is marked FAILURE. - mavenArtifacts: - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact + Required only when version kind is NORMAL. The main part of the + version name. + fullName: + type: string description: >- - A list of Maven artifacts to be uploaded to Artifact Registry upon - successful completion of all build steps. Artifacts in the workspace - matching specified paths globs will be uploaded to the specified - Artifact Registry repository using the builder service account's - credentials. If any artifacts fail to be pushed, the build is marked - FAILURE. - type: array - images: + Human readable version string. This string is of the form :- and is + only set when kind is NORMAL. + inclusive: + type: boolean description: >- - A list of images to be pushed upon the successful completion of all - build steps. The images will be pushed using the builder service - account's credentials. The digests of the pushed images will be - stored in the Build resource's results field. If any of the images - fail to be pushed, the build is marked FAILURE. - items: - type: string - type: array - pythonPackages: - items: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage + Whether this version is specifying part of an inclusive range. + Grafeas does not have the capability to specify version ranges; + instead we have fields that specify start version and end versions. + At times this is insufficient - we also need to specify whether the + version is included in the range or is excluded from the range. This + boolean is expected to be set to true when the version is included + in a range. + kind: + type: string + enumDescriptions: + - Unknown. + - A standard package version. + - A special version representing negative infinity. + - A special version representing positive infinity. description: >- - A list of Python packages to be uploaded to Artifact Registry upon - successful completion of all build steps. The build service account - credentials will be used to perform the upload. If any objects fail - to be pushed, the build is marked FAILURE. - type: array + Required. Distinguishes between sentinel MIN/MAX versions and normal + versions. + enum: + - VERSION_KIND_UNSPECIFIED + - NORMAL + - MINIMUM + - MAXIMUM + id: Version type: object - description: >- - Artifacts produced by a build that should be uploaded upon successful - completion of all build steps. - ImageNote: - description: >- - Basis describes the base image portion (Note) of the DockerImage - relationship. Linked occurrences are derived from this or an equivalent - image via: FROM Or an equivalent reference, e.g., a tag of the - resource_url. - id: ImageNote + description: Version contains structured information about the version of a package. + ComplianceVersion: type: object properties: - fingerprint: - description: Required. Immutable. The fingerprint of the base image. - $ref: '#/components/schemas/Fingerprint' - resourceUrl: + benchmarkDocument: type: string description: >- - Required. Immutable. The resource_url for the resource representing - the basis of associated occurrence images. - Hash: - properties: - value: + The name of the document that defines this benchmark, e.g. "CIS + Container-Optimized OS". + cpeUri: type: string - description: Required. The hash value. - format: byte - type: - description: Required. The type of hash that was performed, e.g. "SHA-256". + description: >- + The CPE URI (https://cpe.mitre.org/specification/) this benchmark is + applicable to. + version: + description: >- + The version of the benchmark. This is set to the version of the + OS-specific CIS document the benchmark is defined in. type: string - id: Hash - type: object - description: Container message for hash values. - GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource: + description: >- + Describes the CIS benchmark version that is applicable to a given OS and + os version. + id: ComplianceVersion + ListNotesResponse: + description: Response for listing notes. + id: ListNotesResponse type: object properties: - entryPoint: - type: string - uri: + nextPageToken: + description: >- + The next pagination token in the list response. It should be used as + `page_token` for the following request. An empty value means no more + results. type: string - digest: - type: object - additionalProperties: - type: string - description: >- - Describes where the config file that kicked off the build came from. - This is effectively a pointer to the source where buildConfig came from. - id: GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource - ResourceDescriptor: - id: ResourceDescriptor + notes: + description: The notes requested. + items: + $ref: '#/components/schemas/Note' + type: array + Material: type: object properties: uri: type: string - downloadLocation: - type: string - content: - format: byte - type: string - mediaType: - type: string - name: - type: string digest: additionalProperties: type: string type: object - annotations: - additionalProperties: - type: any - type: object - Remediation: + id: Material + ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage: type: object - id: Remediation - description: >- - Specifies details on how to handle (and presumably, fix) a - vulnerability. properties: - remediationUri: - description: Contains the URL where to obtain the remediation. - $ref: '#/components/schemas/RelatedUrl' - remediationType: - enum: - - REMEDIATION_TYPE_UNSPECIFIED - - MITIGATION - - NO_FIX_PLANNED - - NONE_AVAILABLE - - VENDOR_FIX - - WORKAROUND - enumDescriptions: - - No remediation type specified. - - A MITIGATION is available. - - No fix is planned. - - Not available. - - A vendor fix is available. - - A workaround is available. - description: The type of remediation that can be applied. + packagePath: type: string - details: - description: >- - Contains a comprehensive human-readable discussion of the - remediation. + description: Path to the package.json. e.g. workspace/path/to/package + repository: type: string - SlsaProvenanceV1: - id: SlsaProvenanceV1 + description: >- + Artifact Registry repository, in the form + "https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY" Npm package in + the workspace specified by path will be zipped and uploaded to + Artifact Registry with this location as a prefix. description: >- - Keep in sync with schema at - https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto - Builder renamed to ProvenanceBuilder because of Java conflicts. - properties: - runDetails: - $ref: '#/components/schemas/RunDetails' - buildDefinition: - $ref: '#/components/schemas/BuildDefinition' - type: object - VulnerabilityNote: - id: VulnerabilityNote - description: A security vulnerability that can be found in resources. + Npm package to upload to Artifact Registry upon successful completion of + all build steps. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage + ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret: properties: - severity: - enum: - - SEVERITY_UNSPECIFIED - - MINIMAL - - LOW - - MEDIUM - - HIGH - - CRITICAL - enumDescriptions: - - Unknown. - - Minimal severity. - - Low severity. - - Medium severity. - - High severity. - - Critical severity. + kmsKeyName: type: string - description: The note provider assigned severity of this vulnerability. - cvssV2: - description: The full description of the v2 CVSS for this vulnerability. - $ref: '#/components/schemas/CVSS' - windowsDetails: - type: array - items: - $ref: '#/components/schemas/WindowsDetail' description: >- - Windows details get their own format because the information format - and model don't match a normal detail. Specifically Windows updates - are done as patches, thus Windows vulnerabilities really are a - missing package, rather than a package being at an incorrect - version. - sourceUpdateTime: + Resource name of Cloud KMS crypto key to decrypt the encrypted + value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/* + envMap: description: >- - The time this information was last changed at the source. This is an - upstream timestamp from the underlying information source - e.g. - Ubuntu security tracker. - format: google-datetime + Map of environment variable name to its encrypted value. Secret + environment variables must be unique across all of a build's + secrets, and must be used by at least one build step. Values can be + at most 64 KB in size. There can be at most 100 secret values across + all of a build's secrets. + additionalProperties: + type: string + format: byte + type: object + type: object + description: >- + Pairs a set of secret environment variables mapped to encrypted values + with the Cloud KMS key to use to decrypt the value. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret + ListNoteOccurrencesResponse: + description: Response for listing occurrences for a note. + properties: + nextPageToken: + description: Token to provide to skip to a particular spot in the list. type: string - cvssScore: - type: number - description: >- - The CVSS score of this vulnerability. CVSS score is on a scale of 0 - - 10 where 0 indicates low severity and 10 indicates high severity. - format: float - details: + occurrences: items: - $ref: '#/components/schemas/Detail' + $ref: '#/components/schemas/Occurrence' + description: The occurrences attached to the specified note. type: array - description: >- - Details of all known distros and packages affected by this - vulnerability. - cvssVersion: - enumDescriptions: - - '' - - '' - - '' - description: CVSS version used to populate cvss_score and severity. - type: string - enum: - - CVSS_VERSION_UNSPECIFIED - - CVSS_VERSION_2 - - CVSS_VERSION_3 - cvssV3: - $ref: '#/components/schemas/CVSSv3' - description: The full description of the CVSSv3 for this vulnerability. + id: ListNoteOccurrencesResponse type: object - PackageOccurrence: - id: PackageOccurrence - description: Details on how a particular software package was installed on a system. + WindowsDetail: + id: WindowsDetail type: object properties: - architecture: - type: string - description: >- - Output only. The CPU architecture for which packages in this - distribution channel were built. Architecture will be blank for - language packages. - enumDescriptions: - - Unknown architecture. - - X86 architecture. - - X64 architecture. - enum: - - ARCHITECTURE_UNSPECIFIED - - X86 - - X64 - readOnly: true - packageType: - description: >- - Output only. The type of package; whether native or non native - (e.g., ruby gems, node.js packages, etc.). - readOnly: true - type: string - license: - description: Licenses that have been declared by the authors of the package. - $ref: '#/components/schemas/License' - name: - readOnly: true - type: string - description: Required. Output only. The name of the installed package. - cpeUri: - readOnly: true - description: >- - Output only. The cpe_uri in [CPE - format](https://cpe.mitre.org/specification/) denoting the package - manager version distributing a package. The cpe_uri will be blank - for language packages. - type: string - version: - $ref: '#/components/schemas/Version' - description: Output only. The version of the package. - readOnly: true - location: - description: >- - All of the places within the filesystem versions of this package - have been found. - type: array + fixingKbs: items: - $ref: '#/components/schemas/Location' - Expr: - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. - id: Expr - type: object - properties: - title: - description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - type: string - expression: + $ref: '#/components/schemas/KnowledgeBase' + type: array description: >- - Textual representation of an expression in Common Expression - Language syntax. + Required. The names of the KBs which have hotfixes to mitigate this + vulnerability. Note that there may be multiple hotfixes (and thus + multiple KBs) that mitigate a given vulnerability. Currently any + listed KBs presence is considered a fix. + cpeUri: type: string - location: description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. + Required. The [CPE URI](https://cpe.mitre.org/specification/) this + vulnerability affects. + name: type: string + description: Required. The name of this vulnerability. description: - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. + description: The description of this vulnerability. type: string - ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig: - properties: - http: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig - description: Configuration for HTTP related git operations. - description: GitConfig is a configuration for git operations. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig + GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource: type: object - UpgradeNote: description: >- - 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. - id: UpgradeNote - type: object - properties: - windowsUpdate: - $ref: '#/components/schemas/WindowsUpdate' - description: >- - Required for Windows OS. Represents the metadata about the Windows - update. - package: - type: string - description: Required for non-Windows OS. The package this Upgrade is for. - version: - $ref: '#/components/schemas/Version' - description: >- - Required for non-Windows OS. The version of the package in machine + - human readable form. - distributions: - type: array - items: - $ref: '#/components/schemas/UpgradeDistribution' - description: Metadata about the upgrade for each specific operating system. - InTotoSlsaProvenanceV1: - id: InTotoSlsaProvenanceV1 - type: object + Describes where the config file that kicked off the build came from. + This is effectively a pointer to the source where buildConfig came from. properties: - subject: - type: array - items: - $ref: '#/components/schemas/Subject' - predicate: - $ref: '#/components/schemas/SlsaProvenanceV1' - _type: - description: >- - InToto spec defined at - https://github.com/in-toto/attestation/tree/main/spec#statement + entryPoint: type: string - predicateType: + uri: type: string + digest: + type: object + additionalProperties: + type: string + id: GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource BuildStep: - description: 'A step in the build pipeline. Next ID: 21' id: BuildStep properties: - secretEnv: - type: array - items: - type: string + entrypoint: description: >- - A list of environment variables which are encrypted using a Cloud - Key Management Service crypto key. These values must be specified in - the build's `Secret`. + Entrypoint to be used instead of the build step image's default + entrypoint. If unset, the image's default entrypoint is used. + type: string volumes: items: $ref: '#/components/schemas/Volume' - type: array description: >- List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. - id: - description: >- - Unique identifier for this build step, used in `wait_for` to - reference this build step as a dependency. - type: string - script: - description: >- - A shell script to be executed in the step. When script is provided, - the user cannot specify the entrypoint or args. - type: string - allowExitCodes: - description: >- - Allow this build step to fail without failing the entire build if - and only if the exit code is one of the specified codes. If - allow_failure is also specified, this field will take precedence. - items: - format: int32 - type: integer type: array - timing: - $ref: '#/components/schemas/TimeSpan' - description: >- - Output only. Stores timing information for executing this build - step. - allowFailure: - type: boolean + status: + enumDescriptions: + - Status of the build is unknown. + - >- + Build has been created and is pending execution and queuing. It + has not been queued. + - Build has been received and is being queued. + - Build or step is queued; work has not yet begun. + - Build or step is being executed. + - Build or step finished successfully. + - Build or step failed to complete successfully. + - Build or step failed due to an internal cause. + - Build or step took longer than was allowed. + - Build or step was canceled by a user. + - Build was enqueued for longer than the value of `queue_ttl`. + type: string + enum: + - STATUS_UNKNOWN + - PENDING + - QUEUING + - QUEUED + - WORKING + - SUCCESS + - FAILURE + - INTERNAL_ERROR + - TIMEOUT + - CANCELLED + - EXPIRED description: >- - Allow this build step to fail without failing the entire build. If - false, the entire build will fail if this step fails. Otherwise, the - build will succeed, but this step will still have a failure status. - Error information will be reported in the failure_detail field. + Output only. Status of the build step. At this time, build step + status is only updated on build completion; step status is not + updated in real-time as the build progresses. exitCode: - description: Output only. Return code from running the step. type: integer + description: Output only. Return code from running the step. format: int32 - pullTiming: + timing: $ref: '#/components/schemas/TimeSpan' description: >- - Output only. Stores timing information for pulling this build step's - builder image only. - args: - description: >- - A list of arguments that will be presented to the step when it is - started. If the image used to run the step's container has an - entrypoint, the `args` are used as arguments to that entrypoint. If - the image does not define an entrypoint, the first element in args - is used as the entrypoint, and the remainder will be used as - arguments. + Output only. Stores timing information for executing this build + step. + allowExitCodes: type: array items: - type: string - dir: - type: string - description: >- - Working directory to use when running this step's container. If this - value is a relative path, it is relative to the build's working - directory. If this value is absolute, it may be outside the build's - working directory, in which case the contents of the path may not be - persisted across build step executions, unless a `volume` for that - path is specified. If the build specifies a `RepoSource` with `dir` - and a step with a `dir`, which specifies an absolute path, the - `RepoSource` `dir` is ignored for the step's execution. - env: - type: array + format: int32 + type: integer description: >- - A list of environment variable definitions to be used when running a - step. The elements are of the form "KEY=VALUE" for the environment - variable "KEY" being given the value "VALUE". - items: - type: string - automapSubstitutions: + Allow this build step to fail without failing the entire build if + and only if the exit code is one of the specified codes. If + allow_failure is also specified, this field will take precedence. + timeout: description: >- - Option to include built-in and custom substitutions as env variables - for this build step. This option will override the global option in - BuildOption. - type: boolean + Time limit for executing this build step. If not defined, the step + has no time limit and will be allowed to continue to run until + either it completes or the build itself times out. + type: string + format: google-duration name: type: string description: >- @@ -3920,783 +3886,754 @@ components: at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step. - entrypoint: + pullTiming: + $ref: '#/components/schemas/TimeSpan' description: >- - Entrypoint to be used instead of the build step image's default - entrypoint. If unset, the image's default entrypoint is used. - type: string - status: - enumDescriptions: - - Status of the build is unknown. - - >- - Build has been created and is pending execution and queuing. It - has not been queued. - - Build has been received and is being queued. - - Build or step is queued; work has not yet begun. - - Build or step is being executed. - - Build or step finished successfully. - - Build or step failed to complete successfully. - - Build or step failed due to an internal cause. - - Build or step took longer than was allowed. - - Build or step was canceled by a user. - - Build was enqueued for longer than the value of `queue_ttl`. + Output only. Stores timing information for pulling this build step's + builder image only. + dir: description: >- - Output only. Status of the build step. At this time, build step - status is only updated on build completion; step status is not - updated in real-time as the build progresses. + Working directory to use when running this step's container. If this + value is a relative path, it is relative to the build's working + directory. If this value is absolute, it may be outside the build's + working directory, in which case the contents of the path may not be + persisted across build step executions, unless a `volume` for that + path is specified. If the build specifies a `RepoSource` with `dir` + and a step with a `dir`, which specifies an absolute path, the + `RepoSource` `dir` is ignored for the step's execution. type: string - enum: - - STATUS_UNKNOWN - - PENDING - - QUEUING - - QUEUED - - WORKING - - SUCCESS - - FAILURE - - INTERNAL_ERROR - - TIMEOUT - - CANCELLED - - EXPIRED + secretEnv: + type: array + items: + type: string + description: >- + A list of environment variables which are encrypted using a Cloud + Key Management Service crypto key. These values must be specified in + the build's `Secret`. + automapSubstitutions: + description: >- + Option to include built-in and custom substitutions as env variables + for this build step. This option will override the global option in + BuildOption. + type: boolean waitFor: + items: + type: string + type: array description: >- The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in `wait_for` have completed successfully. If `wait_for` is empty, this build step will start when all previous build steps in the `Build.Steps` list have completed successfully. + allowFailure: + type: boolean + description: >- + Allow this build step to fail without failing the entire build. If + false, the entire build will fail if this step fails. Otherwise, the + build will succeed, but this step will still have a failure status. + Error information will be reported in the failure_detail field. + script: + type: string + description: >- + A shell script to be executed in the step. When script is provided, + the user cannot specify the entrypoint or args. + id: + type: string + description: >- + Unique identifier for this build step, used in `wait_for` to + reference this build step as a dependency. + env: + items: + type: string + description: >- + A list of environment variable definitions to be used when running a + step. The elements are of the form "KEY=VALUE" for the environment + variable "KEY" being given the value "VALUE". + type: array + args: type: array items: type: string - timeout: - type: string description: >- - Time limit for executing this build step. If not defined, the step - has no time limit and will be allowed to continue to run until - either it completes or the build itself times out. - format: google-duration + A list of arguments that will be presented to the step when it is + started. If the image used to run the step's container has an + entrypoint, the `args` are used as arguments to that entrypoint. If + the image does not define an entrypoint, the first element in args + is used as the entrypoint, and the remainder will be used as + arguments. + description: 'A step in the build pipeline. Next ID: 21' type: object - Digest: - id: Digest + UpgradeDistribution: type: object + description: >- + The Upgrade Distribution represents metadata about the Upgrade for each + operating system (CPE). Some distributions have additional metadata + around updates, classifying them into various categories and severities. properties: - algo: + cpeUri: + description: >- + Required - The specific operating system this metadata applies to. + See https://cpe.mitre.org/specification/. type: string - description: '`SHA1`, `SHA512` etc.' - digestBytes: + classification: + description: >- + The operating system classification of this Upgrade, as specified by + the upstream operating system upgrade feed. For Windows the + classification is one of the category_ids listed at + https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85) type: string - format: byte - description: Value of the digest. - description: Digest information. - SBOMReferenceOccurrence: - description: >- - The occurrence representing an SBOM reference as applied to a specific - resource. The occurrence follows the DSSE specification. See - https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for - more details. - properties: - signatures: - description: The signatures over the payload. + cve: items: - $ref: '#/components/schemas/EnvelopeSignature' + type: string type: array - payloadType: + description: The cve tied to this Upgrade. + severity: type: string - description: >- - The kind of payload that SbomReferenceIntotoPayload takes. Since - it's in the intoto format, this value is expected to be - 'application/vnd.in-toto+json'. - payload: - $ref: '#/components/schemas/SbomReferenceIntotoPayload' - description: The actual payload that contains the SBOM reference data. - id: SBOMReferenceOccurrence + description: The severity as specified by the upstream operating system. + id: UpgradeDistribution + CloudRepoSourceContext: + description: >- + A CloudRepoSourceContext denotes a particular revision in a Google Cloud + Source Repo. + properties: + repoId: + description: The ID of the repo. + $ref: '#/components/schemas/RepoId' + aliasContext: + $ref: '#/components/schemas/AliasContext' + description: An alias, which may be a branch or tag. + revisionId: + type: string + description: A revision ID. + id: CloudRepoSourceContext type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig + ExportSBOMResponse: + description: The response from a call to ExportSBOM. + id: ExportSBOMResponse properties: - dir: + discoveryOccurrence: type: string description: >- - Required. Directory, relative to the source root, in which to run - the build. - revision: + The name of the discovery occurrence in the form + "projects/{project_id}/occurrences/{OCCURRENCE_ID} It can be used to + track the progress of the SBOM export. + type: object + SBOMStatus: + properties: + sbomState: + enum: + - SBOM_STATE_UNSPECIFIED + - PENDING + - COMPLETE + description: The progress of the SBOM generation. + enumDescriptions: + - Default unknown state. + - SBOM scanning is pending. + - SBOM scanning has completed. type: string + error: description: >- - Required. The revision to fetch from the Git repository such as a - branch, a tag, a commit SHA, or any Git ref. - gitRepositoryLink: + If there was an error generating an SBOM, this will indicate what + that error was. type: string - description: >- - Required. The Developer Connect Git repository link, formatted as - `projects/*/locations/*/connections/*/gitRepositoryLink/*`. - description: This config defines the location of a source through Developer Connect. + id: SBOMStatus + description: The status of an SBOM generation. type: object - Policy: - id: Policy + SlsaProvenance: + id: SlsaProvenance type: object properties: - version: - format: int32 - type: integer + metadata: + $ref: '#/components/schemas/SlsaMetadata' + materials: + items: + $ref: '#/components/schemas/Material' description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - bindings: + The collection of artifacts that influenced the build including + sources, dependencies, build tools, base images, and so on. This is + considered to be incomplete unless metadata.completeness.materials + is true. Unset or null is equivalent to empty. + type: array + builder: + $ref: '#/components/schemas/SlsaBuilder' + description: required + recipe: + $ref: '#/components/schemas/SlsaRecipe' description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. + Identifies the configuration used for the build. When combined with + materials, this SHOULD fully describe the build, such that + re-running this recipe results in bit-for-bit identical output (if + the build is reproducible). required + DiscoveryOccurrence: + properties: + lastScanTime: + format: google-datetime + type: string + description: The last time this resource was scanned. + archiveTime: + type: string + description: >- + Output only. The time occurrences related to this discovery + occurrence were archived. + format: google-datetime + readOnly: true + analysisError: + items: + $ref: '#/components/schemas/Status' + description: >- + Indicates any errors encountered during analysis of a resource. + There could be 0 or more of these errors. + type: array + analysisStatusError: + description: >- + When an error is encountered this will contain a LocalizedMessage + under details to show to the user. The LocalizedMessage is output + only and populated by the API. + $ref: '#/components/schemas/Status' + sbomStatus: + $ref: '#/components/schemas/SBOMStatus' + description: The status of an SBOM generation. + analysisStatus: + enum: + - ANALYSIS_STATUS_UNSPECIFIED + - PENDING + - SCANNING + - FINISHED_SUCCESS + - COMPLETE + - FINISHED_FAILED + - FINISHED_UNSUPPORTED + description: The status of discovery for the resource. + type: string + enumDescriptions: + - Unknown. + - Resource is known but no action has been taken yet. + - Resource is being analyzed. + - Analysis has finished successfully. + - Analysis has completed. + - >- + Analysis has finished unsuccessfully, the analysis itself is in a + bad state. + - The resource is known not to be supported. + cpe: + description: The CPE of the resource being scanned. + type: string + analysisCompleted: + $ref: '#/components/schemas/AnalysisCompleted' + continuousAnalysis: + enum: + - CONTINUOUS_ANALYSIS_UNSPECIFIED + - ACTIVE + - INACTIVE + enumDescriptions: + - Unknown. + - The resource is continuously analyzed. + - The resource is ignored for continuous analysis. + type: string + description: Whether the resource is continuously analyzed. + type: object + id: DiscoveryOccurrence + description: Provides information about the analysis status of a discovered resource. + ListOccurrencesResponse: + id: ListOccurrencesResponse + type: object + properties: + occurrences: type: array items: - $ref: '#/components/schemas/Binding' - etag: + $ref: '#/components/schemas/Occurrence' + description: The occurrences requested. + nextPageToken: description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. + The next pagination token in the list response. It should be used as + `page_token` for the following request. An empty value means no more + results. type: string - format: byte + description: Response for listing occurrences. + AttestationNote: + id: AttestationNote + properties: + hint: + description: Hint hints at the purpose of the attestation authority. + $ref: '#/components/schemas/Hint' + type: object description: >- - 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/). - ExportSBOMResponse: + Note kind that represents a logical attestation "role" or "authority". + For example, an organization might have one `Authority` for "QA" and one + for "build". This note is intended to act strictly as a grouping + mechanism for the attached occurrences (Attestations). This grouping + mechanism also provides a security boundary, since IAM ACLs gate the + ability for a principle to attach an occurrence to a given note. It also + provides a single point of lookup to find all attached attestation + occurrences, even if they don't all live in the same project. + FileHashes: + description: >- + Container message for hashes of byte content of files, used in source + messages to verify integrity of source input to the build. + properties: + fileHash: + type: array + description: Required. Collection of file hashes. + items: + $ref: '#/components/schemas/Hash' + id: FileHashes type: object - id: ExportSBOMResponse + CisBenchmark: + id: CisBenchmark properties: - discoveryOccurrence: + severity: + enumDescriptions: + - Unknown. + - Minimal severity. + - Low severity. + - Medium severity. + - High severity. + - Critical severity. type: string - description: >- - The name of the discovery occurrence in the form - "projects/{project_id}/occurrences/{OCCURRENCE_ID} It can be used to - track the progress of the SBOM export. - description: The response from a call to ExportSBOM. - ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance: + enum: + - SEVERITY_UNSPECIFIED + - MINIMAL + - LOW + - MEDIUM + - HIGH + - CRITICAL + profileLevel: + type: integer + format: int32 + type: object + description: A compliance check that is a CIS benchmark. + BuildProvenance: + id: BuildProvenance description: >- - Provenance of the source. Ways to find the original source, or verify - that some source was used for this build. + Provenance of a build. Contains all information needed to verify the + full details about the build from source to completion. properties: - fileHashes: - description: >- - Output only. Hash(es) of the build source, which can be used to - verify that the original source integrity was maintained in the - build. Note that `FileHashes` will only be populated if - `BuildOptions` has requested a `SourceProvenanceHash`. The keys to - this map are file paths used as build source and the values contain - the hash values for those files. If the build source came in a - single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` - will be for the single path to that file. + buildOptions: type: object additionalProperties: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes - readOnly: true - resolvedConnectedRepository: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository - readOnly: true - description: >- - Output only. A copy of the build's `source.connected_repository`, if - exists, with any revisions resolved. - resolvedStorageSource: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource - description: >- - A copy of the build's `source.storage_source`, if exists, with any - generations resolved. - resolvedGitSource: - readOnly: true - description: >- - Output only. A copy of the build's `source.git_source`, if exists, - with any revisions resolved. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource - resolvedRepoSource: + type: string description: >- - A copy of the build's `source.repo_source`, if exists, with any - revisions resolved. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource - resolvedStorageSourceManifest: + Special options applied to this build. This is a catch-all field + where build providers can enter any desired additional details. + logsUri: + description: URI where any logs for this provenance were written. + type: string + projectId: + description: ID of the project. + type: string + builtArtifacts: + type: array + description: Output of the build. + items: + $ref: '#/components/schemas/Artifact' + commands: + type: array + items: + $ref: '#/components/schemas/Command' + description: Commands requested by the build. + createTime: + type: string + format: google-datetime + description: Time at which the build was created. + endTime: + type: string + description: Time at which execution of the build was finished. + format: google-datetime + sourceProvenance: + description: Details of the Source input to the build. + $ref: '#/components/schemas/Source' + creator: description: >- - A copy of the build's `source.storage_source_manifest`, if exists, - with any revisions resolved. This feature is in Preview. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest - id: ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance - type: object - GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation: - properties: - parameters: - type: object - additionalProperties: - description: Properties of the object. - type: any - configSource: - $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource' - environment: - type: object - additionalProperties: - type: any - description: Properties of the object. - id: GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation - type: object - description: Identifies the event that kicked off the build. - ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning: - description: A non-fatal problem encountered during the execution of the build. - type: object - properties: - priority: - enum: - - PRIORITY_UNSPECIFIED - - INFO - - WARNING - - ALERT - description: The priority for this warning. + E-mail address of the user who initiated this build. Note that this + was the user's e-mail address at the time the build was initiated; + this address may not represent the same end-user for all time. type: string - enumDescriptions: - - Should not be used. - - e.g. deprecation warnings and alternative feature highlights. - - e.g. automated detection of possible issues with the build. - - e.g. alerts that a feature used in the build is pending removal - text: - description: Explanation of the warning generated. + startTime: + format: google-datetime + type: string + description: Time at which execution of the build was started. + id: + type: string + description: Required. Unique identifier of the build. + builderVersion: + type: string + description: Version string of the builder at the time this build was executed. + triggerId: type: string - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning - TestIamPermissionsResponse: - id: TestIamPermissionsResponse - type: object - description: Response message for `TestIamPermissions` method. - properties: - permissions: - items: - type: string description: >- - A subset of `TestPermissionsRequest.permissions` that the caller is - allowed. - type: array - Subject: - id: Subject + Trigger identifier if the build was triggered automatically; empty + if not. + type: object + ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig + description: GitConfig is a configuration for git operations. properties: - digest: - type: object - additionalProperties: - type: string - description: >- - `"": ""` Algorithms can be e.g. sha256, sha512 See - https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet - name: - type: string + http: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig + description: Configuration for HTTP related git operations. type: object - Empty: - id: Empty + CloudStorageLocation: type: object description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + Empty placeholder to denote that this is a Google Cloud Storage export + request. properties: {} - GetPolicyOptions: + id: CloudStorageLocation + RunDetails: + id: RunDetails + properties: + metadata: + $ref: '#/components/schemas/BuildMetadata' + builder: + $ref: '#/components/schemas/ProvenanceBuilder' + byproducts: + type: array + items: + $ref: '#/components/schemas/ResourceDescriptor' type: object - description: Encapsulates settings provided to GetIamPolicy. - id: GetPolicyOptions + ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig + description: ApprovalConfig describes configuration for manual approval of a build. properties: - requestedPolicyVersion: + approvalRequired: + type: boolean description: >- - Optional. The maximum policy version that will be used to format the - policy. Valid values are 0, 1, and 3. Requests specifying an invalid - value will be rejected. Requests for policies with any conditional - role bindings must specify version 3. Policies with no conditional - role bindings may specify any valid value or leave the field unset. - The policy in the response might use the policy version that you - specified, or it might use a lower policy version. For example, if - you specify version 3, but the policy has no conditional role - bindings, the response uses version 1. To learn which resources - support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - type: integer - format: int32 - BuildOccurrence: + Whether or not approval is needed. If this is set on a build, it + will become pending when created, and will need to be explicitly + approved to start. + type: object + PackageIssue: + type: object + description: >- + A detail for a distro and package this vulnerability occurrence was + found in and its associated fix (if one is available). properties: - inTotoSlsaProvenanceV1: - $ref: '#/components/schemas/InTotoSlsaProvenanceV1' + fixedVersion: + $ref: '#/components/schemas/Version' description: >- - In-Toto Slsa Provenance V1 represents a slsa provenance meeting the - slsa spec, wrapped in an in-toto statement. This allows for direct - jsonification of a to-spec in-toto slsa statement with a to-spec - slsa provenance. - intotoProvenance: - $ref: '#/components/schemas/InTotoProvenance' + Required. The version of the package this vulnerability was fixed + in. Setting this to VersionKind.MAXIMUM means no fix is yet + available. + packageType: + type: string + description: The type of package (e.g. OS, MAVEN, GO). + affectedVersion: + $ref: '#/components/schemas/Version' description: >- - Deprecated. See InTotoStatement for the replacement. In-toto - Provenance representation as defined in spec. - provenance: - $ref: '#/components/schemas/BuildProvenance' - description: The actual provenance for the build. - intotoStatement: + Required. The version of the package that is installed on the + resource affected by this vulnerability. + fixedCpeUri: description: >- - In-toto Statement representation as defined in spec. The - intoto_statement can contain any type of provenance. The serialized - payload of the statement can be stored and signed in the - Occurrence's envelope. - $ref: '#/components/schemas/InTotoStatement' - provenanceBytes: + The [CPE URI](https://cpe.mitre.org/specification/) this + vulnerability was fixed in. It is possible for this to be different + from the affected_cpe_uri. type: string - description: >- - Serialized JSON representation of the provenance, used in generating - the build signature in the corresponding build note. After verifying - the signature, `provenance_bytes` can be unmarshalled and compared - to the provenance to confirm that it is unchanged. A base64-encoded - string representation of the provenance bytes is used for the - signature in order to interoperate with openssl which expects this - format for signature verification. The serialized form is captured - both to avoid ambiguity in how the provenance is marshalled to json - as well to prevent incompatibilities with future changes. - id: BuildOccurrence - description: Details of a build occurrence. - type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval: - description: >- - BuildApproval describes a build's approval configuration, state, and - result. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval - properties: - result: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult - description: Output only. Result of manual approval for this Build. - readOnly: true - config: + effectiveSeverity: + enumDescriptions: + - Unknown. + - Minimal severity. + - Low severity. + - Medium severity. + - High severity. + - Critical severity. readOnly: true - description: Output only. Configuration for manual approval of this build. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig - state: + description: >- + Output only. The distro or language system assigned severity for + this vulnerability when that is available and note provider assigned + severity when it is not available. enum: - - STATE_UNSPECIFIED - - PENDING - - APPROVED - - REJECTED - - CANCELLED + - SEVERITY_UNSPECIFIED + - MINIMAL + - LOW + - MEDIUM + - HIGH + - CRITICAL type: string - description: Output only. The state of this build's approval. - readOnly: true - enumDescriptions: - - Default enum type. This should not be used. - - Build approval is pending. - - Build approval has been approved. - - Build approval has been rejected. - - Build was cancelled while it was still pending approval. - type: object - AttestationNote: - id: AttestationNote - description: >- - Note kind that represents a logical attestation "role" or "authority". - For example, an organization might have one `Authority` for "QA" and one - for "build". This note is intended to act strictly as a grouping - mechanism for the attached occurrences (Attestations). This grouping - mechanism also provides a security boundary, since IAM ACLs gate the - ability for a principle to attach an occurrence to a given note. It also - provides a single point of lookup to find all attached attestation - occurrences, even if they don't all live in the same project. - properties: - hint: - description: Hint hints at the purpose of the attestation authority. - $ref: '#/components/schemas/Hint' - type: object - ExportSBOMRequest: - id: ExportSBOMRequest + fixAvailable: + type: boolean + description: Output only. Whether a fix is available for this package. + fixedPackage: + description: >- + The package this vulnerability was fixed in. It is possible for this + to be different from the affected_package. + type: string + affectedPackage: + description: Required. The package this vulnerability was found in. + type: string + affectedCpeUri: + type: string + description: >- + Required. The [CPE URI](https://cpe.mitre.org/specification/) this + vulnerability was found in. + fileLocation: + description: The location at which this package was found. + type: array + items: + $ref: '#/components/schemas/GrafeasV1FileLocation' + id: PackageIssue + ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance: type: object properties: - cloudStorageLocation: - $ref: '#/components/schemas/CloudStorageLocation' + resolvedStorageSourceManifest: + description: >- + A copy of the build's `source.storage_source_manifest`, if exists, + with any revisions resolved. This feature is in Preview. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + fileHashes: + type: object + additionalProperties: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + description: >- + Output only. Hash(es) of the build source, which can be used to + verify that the original source integrity was maintained in the + build. Note that `FileHashes` will only be populated if + `BuildOptions` has requested a `SourceProvenanceHash`. The keys to + this map are file paths used as build source and the values contain + the hash values for those files. If the build source came in a + single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` + will be for the single path to that file. + readOnly: true + resolvedGitSource: description: >- - Empty placeholder to denote that this is a Google Cloud Storage - export request. - description: >- - The request to generate and export SBOM. Target must be specified for - the request. - ImageOccurrence: - id: ImageOccurrence - description: >- - Details of the derived image portion of the DockerImage relationship. - This image would be produced from a Dockerfile with FROM . - type: object - properties: - baseResourceUrl: - type: string + Output only. A copy of the build's `source.git_source`, if exists, + with any revisions resolved. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource + readOnly: true + resolvedConnectedRepository: + readOnly: true description: >- - Output only. This contains the base image URL for the derived image - occurrence. - fingerprint: - $ref: '#/components/schemas/Fingerprint' - description: Required. The fingerprint of the derived image. - layerInfo: + Output only. A copy of the build's `source.connected_repository`, if + exists, with any revisions resolved. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository + resolvedRepoSource: description: >- - This contains layer-specific metadata, if populated it has length - "distance" and is ordered with [distance] being the layer - immediately following the base image and [1] being the final layer. - items: - $ref: '#/components/schemas/Layer' - type: array - distance: - format: int32 + A copy of the build's `source.repo_source`, if exists, with any + revisions resolved. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource + resolvedStorageSource: description: >- - Output only. The number of layers by which this image differs from - the associated image basis. - type: integer - Product: + A copy of the build's `source.storage_source`, if exists, with any + generations resolved. + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + id: ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance + description: >- + Provenance of the source. Ways to find the original source, or verify + that some source was used for this build. + ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage: properties: - genericUri: - type: string + pushTiming: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + readOnly: true description: >- - Contains a URI which is vendor-specific. Example: The artifact - repository URL of an image. - name: - description: Name of the product. - type: string - id: + Output only. Stores timing information for pushing the specified + artifact. + fileHashes: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + description: Hash types and values of the Python Artifact. + uri: type: string - description: >- - Token that identifies a product so that it can be referred to from - other parts in the document. There is no predefined format as long - as it uniquely identifies a group in the context of the current - document. - id: Product - type: object - description: >- - Product contains information about a product and how to uniquely - identify it. - Envelope: + description: URI of the uploaded artifact. type: object - description: >- - MUST match - https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. - An authenticated message of arbitrary type. - id: Envelope + id: ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage + description: Artifact uploaded using the PythonPackage directive. + GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata: + description: Other properties of the build. + id: GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata properties: - payloadType: + buildStartedOn: type: string - signatures: - items: - $ref: '#/components/schemas/EnvelopeSignature' - type: array - payload: - format: byte + format: google-datetime + buildInvocationId: type: string - Recipe: + buildFinishedOn: + format: google-datetime + type: string + completeness: + $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness' + reproducible: + type: boolean + type: object + UpgradeOccurrence: type: object + id: UpgradeOccurrence description: >- - Steps taken to build the artifact. For a TaskRun, typically each - container corresponds to one step in the recipe. + 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. properties: - environment: - description: >- - Any other builder-controlled inputs necessary for correctly - evaluating the recipe. Usually only needed for reproducing the build - but not evaluated as part of policy. Since the environment field can - greatly vary in structure, depending on the builder and recipe type, - this is of form "Any". - type: array - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - type: - description: >- - URI indicating what type of recipe was performed. It determines the - meaning of recipe.entryPoint, recipe.arguments, recipe.environment, - and materials. - type: string - arguments: + windowsUpdate: description: >- - Collection of all external inputs that influenced the build on top - of recipe.definedInMaterial and recipe.entryPoint. For example, if - the recipe type were "make", then this might be the flags passed to - make aside from the target, which is captured in recipe.entryPoint. - Since the arguments field can greatly vary in structure, depending - on the builder and recipe type, this is of form "Any". - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - type: array - definedInMaterial: + Required for Windows OS. Represents the metadata about the Windows + update. + $ref: '#/components/schemas/WindowsUpdate' + parsedVersion: + $ref: '#/components/schemas/Version' description: >- - Index in materials containing the recipe steps that are not implied - by recipe.type. For example, if the recipe type were "make", then - this would point to the source containing the Makefile, not the make - program itself. Set to -1 if the recipe doesn't come from a - material, as zero is default unset value for int64. + Required for non-Windows OS. The version of the package in a machine + + human readable form. + package: type: string - format: int64 - entryPoint: + description: Required for non-Windows OS. The package this Upgrade is for. + distribution: description: >- - String identifying the entry point into the build. This is often a - path to a configuration file and/or a target label within that file. - The syntax and meaning are defined by recipe.type. For example, if - the recipe type were "make", then this would reference the directory - in which to run make as well as which target to use. - type: string - id: Recipe - UpgradeDistribution: - id: UpgradeDistribution + Metadata about the upgrade for available for the specific operating + system for the resource_url. This allows efficient filtering, as + well as making it easier to use the occurrence. + $ref: '#/components/schemas/UpgradeDistribution' + SlsaProvenanceZeroTwo: properties: - cpeUri: - description: >- - Required - The specific operating system this metadata applies to. - See https://cpe.mitre.org/specification/. - type: string - classification: - type: string - description: >- - The operating system classification of this Upgrade, as specified by - the upstream operating system upgrade feed. For Windows the - classification is one of the category_ids listed at - https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85) - severity: - description: The severity as specified by the upstream operating system. + builder: + $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder' + buildType: type: string - cve: - description: The cve tied to this Upgrade. + materials: items: - type: string + $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial' type: array + invocation: + $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation' + metadata: + $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata' + buildConfig: + type: object + additionalProperties: + description: Properties of the object. + type: any + id: SlsaProvenanceZeroTwo type: object - description: >- - The Upgrade Distribution represents metadata about the Upgrade for each - operating system (CPE). Some distributions have additional metadata - around updates, classifying them into various categories and severities. - ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage: + description: See full explanation of fields at slsa.dev/provenance/v0.2. + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval: type: object description: >- - An npm package uploaded to Artifact Registry using the NpmPackage - directive. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage + BuildApproval describes a build's approval configuration, state, and + result. properties: - pushTiming: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan - description: >- - Output only. Stores timing information for pushing the specified - artifact. + state: + enumDescriptions: + - Default enum type. This should not be used. + - Build approval is pending. + - Build approval has been approved. + - Build approval has been rejected. + - Build was cancelled while it was still pending approval. + description: Output only. The state of this build's approval. + readOnly: true + type: string + enum: + - STATE_UNSPECIFIED + - PENDING + - APPROVED + - REJECTED + - CANCELLED + config: readOnly: true - fileHashes: - description: Hash types and values of the npm package. $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes - uri: - description: URI of the uploaded npm package. - type: string - Artifact: - id: Artifact + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig + description: Output only. Configuration for manual approval of this build. + result: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult + description: Output only. Result of manual approval for this Build. + readOnly: true + id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval + GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder: + id: GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder properties: - checksum: - type: string - description: >- - Hash or checksum value of a binary, or Docker Registry 2.0 digest of - a container. id: type: string - description: >- - Artifact ID, if any; for container images, this will be a URL by - digest like `gcr.io/projectID/imagename@sha256:123456`. - names: - items: - type: string - description: >- - Related artifact names. This may be the path to a binary or jar - file, or in the case of a container build, the name used to push the - container image to Google Container Registry, as presented to - `docker push`. Note that a single Artifact ID can have multiple - names, for example if two tags are applied to one image. - type: array type: object - description: Artifact describes a build product. - ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage: - description: Artifact uploaded using the PythonPackage directive. + description: >- + Identifies the entity that executed the recipe, which is trusted to have + correctly performed the operation and populated this provenance. + BuildDefinition: properties: - fileHashes: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes - description: Hash types and values of the Python Artifact. - uri: + internalParameters: + additionalProperties: + type: any + description: Properties of the object. + type: object + resolvedDependencies: + items: + $ref: '#/components/schemas/ResourceDescriptor' + type: array + externalParameters: + type: object + additionalProperties: + description: Properties of the object. + type: any + buildType: type: string - description: URI of the uploaded artifact. - pushTiming: - readOnly: true - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan - description: >- - Output only. Stores timing information for pushing the specified - artifact. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage type: object - Justification: - id: Justification + id: BuildDefinition + KnowledgeBase: + id: KnowledgeBase type: object properties: - justificationType: + url: + description: >- + A link to the KB in the [Windows update catalog] + (https://www.catalog.update.microsoft.com/). type: string - enumDescriptions: - - JUSTIFICATION_TYPE_UNSPECIFIED. - - The vulnerable component is not present in the product. - - >- - The vulnerable code is not present. Typically this case occurs - when source code is configured or built in a way that excludes the - vulnerable code. - - >- - The vulnerable code can not be executed. Typically this case - occurs when the product includes the vulnerable code but does not - call or use the vulnerable code. - - >- - The vulnerable code cannot be controlled by an attacker to exploit - the vulnerability. - - >- - The product includes built-in protections or features that prevent - exploitation of the vulnerability. These built-in protections - cannot be subverted by the attacker and cannot be configured or - disabled by the user. These mitigations completely prevent - exploitation based on known attack vectors. - description: The justification type for this vulnerability. - enum: - - JUSTIFICATION_TYPE_UNSPECIFIED - - COMPONENT_NOT_PRESENT - - VULNERABLE_CODE_NOT_PRESENT - - VULNERABLE_CODE_NOT_IN_EXECUTE_PATH - - VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY - - INLINE_MITIGATIONS_ALREADY_EXIST - details: + name: + description: The KB name (generally of the form KB[0-9]+ (e.g., KB123456)). type: string - description: Additional details on why this justification was chosen. + ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects: description: >- - Justification provides the justification when the state of the - assessment if NOT_AFFECTED. - VulnerabilityOccurrence: - id: VulnerabilityOccurrence + Files in the workspace to upload to Cloud Storage upon successful + completion of all build steps. type: object - description: An occurrence of a severity vulnerability on a resource. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects properties: - cvssVersion: + location: type: string - enum: - - CVSS_VERSION_UNSPECIFIED - - CVSS_VERSION_2 - - CVSS_VERSION_3 - enumDescriptions: - - '' - - '' - - '' - description: Output only. CVSS version used to populate cvss_score and severity. - severity: - enumDescriptions: - - Unknown. - - Minimal severity. - - Low severity. - - Medium severity. - - High severity. - - Critical severity. description: >- - Output only. The note provider assigned severity of this - vulnerability. - type: string - enum: - - SEVERITY_UNSPECIFIED - - MINIMAL - - LOW - - MEDIUM - - HIGH - - CRITICAL - shortDescription: - type: string - description: Output only. A one sentence description of this vulnerability. - relatedUrls: - description: Output only. URLs related to this vulnerability. + Cloud Storage bucket and optional object path, in the form + "gs://bucket/path/to/somewhere/". (see [Bucket Name + Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). + Files in the workspace matching any path pattern will be uploaded to + Cloud Storage with this location as a prefix. + paths: type: array items: - $ref: '#/components/schemas/RelatedUrl' - vexAssessment: - $ref: '#/components/schemas/VexAssessment' - type: + type: string + description: Path globs used to match files in the build's workspace. + timing: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan description: >- - The type of package; whether native or non native (e.g., ruby gems, - node.js packages, etc.). + Output only. Stores timing information for pushing all artifact + objects. + readOnly: true + FixableTotalByDigest: + description: Per resource and severity counts of fixable and total vulnerabilities. + type: object + id: FixableTotalByDigest + properties: + resourceUri: type: string - packageIssue: - type: array - items: - $ref: '#/components/schemas/PackageIssue' - description: >- - Required. The set of affected locations and their fixes (if - available) within the associated resource. - extraDetails: + description: The affected resource. + fixableCount: type: string - description: Occurrence-specific extra details about the vulnerability. - cvssV2: - description: The cvss v2 score for the vulnerability. - $ref: '#/components/schemas/CVSS' - effectiveSeverity: + description: The number of fixable vulnerabilities associated with this resource. + format: int64 + totalCount: + type: string + description: The total number of vulnerabilities associated with this resource. + format: int64 + severity: + description: >- + The severity for this count. SEVERITY_UNSPECIFIED indicates total + across all severities. type: string enumDescriptions: - Unknown. @@ -4705,16 +4642,6 @@ components: - Medium severity. - High severity. - Critical severity. - description: >- - The distro assigned severity for this vulnerability when it is - available, otherwise this is the note provider assigned severity. - When there are multiple PackageIssues for this vulnerability, they - can have different effective severities because some might be - provided by the distro while others are provided by the language - ecosystem for a language pack. For this reason, it is advised to use - the effective severity on the PackageIssue level. In the case where - multiple PackageIssues have differing effective severities, this - field should be the highest severity for any of the PackageIssues. enum: - SEVERITY_UNSPECIFIED - MINIMAL @@ -4722,650 +4649,728 @@ components: - MEDIUM - HIGH - CRITICAL - longDescription: - description: Output only. A detailed description of this vulnerability. - type: string - cvssv3: - $ref: '#/components/schemas/CVSS' - description: The cvss v3 score for the vulnerability. - fixAvailable: - type: boolean - description: >- - Output only. Whether at least one of the affected packages has a fix - available. - cvssScore: - format: float - description: >- - Output only. The CVSS score of this vulnerability. CVSS score is on - a scale of 0 - 10 where 0 indicates low severity and 10 indicates - high severity. - type: number - BatchCreateOccurrencesResponse: - id: BatchCreateOccurrencesResponse + BatchCreateNotesRequest: + id: BatchCreateNotesRequest + description: Request to create notes in batch. + type: object + properties: + notes: + type: object + description: Required. The notes to create. Max allowed length is 1000. + additionalProperties: + $ref: '#/components/schemas/Note' + AliasContext: + id: AliasContext + description: An alias to a repo revision. + type: object + properties: + name: + description: The alias name. + type: string + kind: + type: string + description: The alias kind. + enumDescriptions: + - Unknown. + - Git tag. + - Git branch. + - >- + Used to specify non-standard aliases. For example, if a Git repo + has a ref named "refs/foo/bar". + enum: + - KIND_UNSPECIFIED + - FIXED + - MOVABLE + - OTHER + InTotoSlsaProvenanceV1: type: object + id: InTotoSlsaProvenanceV1 properties: - occurrences: + predicate: + $ref: '#/components/schemas/SlsaProvenanceV1' + predicateType: + type: string + _type: + description: >- + InToto spec defined at + https://github.com/in-toto/attestation/tree/main/spec#statement + type: string + subject: items: - $ref: '#/components/schemas/Occurrence' - description: The occurrences that were created. + $ref: '#/components/schemas/Subject' type: array - description: Response for creating occurrences in batch. - Signature: + Envelope: properties: - publicKeyId: - description: >- - The identifier for the public key that verifies this signature. * - The `public_key_id` is required. * The `public_key_id` SHOULD be an - RFC3986 conformant URI. * When possible, the `public_key_id` SHOULD - be an immutable reference, such as a cryptographic digest. Examples - of valid `public_key_id`s: OpenPGP V4 public key fingerprint: * - "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" See - https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for - more details on this scheme. RFC6920 digest-named - SubjectPublicKeyInfo (digest of the DER serialization): * - "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" * - "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5" + payloadType: type: string - signature: + payload: format: byte - description: >- - The content of the signature, an opaque bytestring. The payload that - this signature verifies MUST be unambiguously provided with the - Signature during verification. A wrapper message might provide the - payload explicitly. Alternatively, a message might have a canonical - serialization that can always be unambiguously computed to derive - the payload. type: string - id: Signature + signatures: + type: array + items: + $ref: '#/components/schemas/EnvelopeSignature' + id: Envelope + description: >- + MUST match + https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. + An authenticated message of arbitrary type. type: object + Recipe: description: >- - Verifiers (e.g. Kritis implementations) MUST verify signatures with - respect to the trust anchors defined in policy (e.g. a Kritis policy). - Typically this means that the verifier has been configured with a map - from `public_key_id` to public key material (and any required - parameters, e.g. signing algorithm). In particular, verification - implementations MUST NOT treat the signature `public_key_id` as anything - more than a key lookup hint. The `public_key_id` DOES NOT validate or - authenticate a public key; it only provides a mechanism for quickly - selecting a public key ALREADY CONFIGURED on the verifier through a - trusted channel. Verification implementations MUST reject signatures in - any of the following circumstances: * The `public_key_id` is not - recognized by the verifier. * The public key that `public_key_id` refers - to does not verify the signature with respect to the payload. The - `signature` contents SHOULD NOT be "attached" (where the payload is - included with the serialized `signature` bytes). Verifiers MUST ignore - any "attached" payload and only verify signatures with respect to - explicitly provided payload (e.g. a `payload` field on the proto message - that holds this Signature, or the canonical serialization of the proto - message that holds this signature). - ContaineranalysisGoogleDevtoolsCloudbuildV1Volume: + Steps taken to build the artifact. For a TaskRun, typically each + container corresponds to one step in the recipe. + id: Recipe + type: object properties: - path: - type: string + environment: + type: array description: >- - Path at which to mount the volume. Paths must be absolute and cannot - conflict with other volume paths on the same build step or with - certain reserved volume paths. - name: - type: string + Any other builder-controlled inputs necessary for correctly + evaluating the recipe. Usually only needed for reproducing the build + but not evaluated as part of policy. Since the environment field can + greatly vary in structure, depending on the builder and recipe type, + this is of form "Any". + items: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + entryPoint: description: >- - Name of the volume to mount. Volume names must be unique per build - step and must be valid names for Docker volumes. Each named volume - must be used by at least two build steps. - description: >- - Volume describes a Docker container volume which is mounted into build - steps in order to persist files across build step execution. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1Volume - type: object - SlsaProvenance: - type: object - properties: - builder: - $ref: '#/components/schemas/SlsaBuilder' - description: required - materials: + String identifying the entry point into the build. This is often a + path to a configuration file and/or a target label within that file. + The syntax and meaning are defined by recipe.type. For example, if + the recipe type were "make", then this would reference the directory + in which to run make as well as which target to use. + type: string + arguments: type: array description: >- - The collection of artifacts that influenced the build including - sources, dependencies, build tools, base images, and so on. This is - considered to be incomplete unless metadata.completeness.materials - is true. Unset or null is equivalent to empty. + Collection of all external inputs that influenced the build on top + of recipe.definedInMaterial and recipe.entryPoint. For example, if + the recipe type were "make", then this might be the flags passed to + make aside from the target, which is captured in recipe.entryPoint. + Since the arguments field can greatly vary in structure, depending + on the builder and recipe type, this is of form "Any". items: - $ref: '#/components/schemas/Material' - recipe: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + definedInMaterial: + format: int64 description: >- - Identifies the configuration used for the build. When combined with - materials, this SHOULD fully describe the build, such that - re-running this recipe results in bit-for-bit identical output (if - the build is reproducible). required - $ref: '#/components/schemas/SlsaRecipe' - metadata: - $ref: '#/components/schemas/SlsaMetadata' - id: SlsaProvenance - ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage - description: >- - Npm package to upload to Artifact Registry upon successful completion of - all build steps. - properties: - packagePath: - description: Path to the package.json. e.g. workspace/path/to/package + Index in materials containing the recipe steps that are not implied + by recipe.type. For example, if the recipe type were "make", then + this would point to the source containing the Makefile, not the make + program itself. Set to -1 if the recipe doesn't come from a + material, as zero is default unset value for int64. type: string - repository: + type: type: string description: >- - Artifact Registry repository, in the form - "https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY" Npm package in - the workspace specified by path will be zipped and uploaded to - Artifact Registry with this location as a prefix. - type: object - DeploymentOccurrence: + URI indicating what type of recipe was performed. It determines the + meaning of recipe.entryPoint, recipe.arguments, recipe.environment, + and materials. + BuilderConfig: + id: BuilderConfig properties: - undeployTime: - type: string - description: End of the lifetime of this deployment. - format: google-datetime - config: - type: string - description: Configuration used to create this deployment. - address: - type: string - description: Address of the runtime element hosting this deployment. - userEmail: - description: Identity of the user that triggered this deployment. - type: string - platform: - enum: - - PLATFORM_UNSPECIFIED - - GKE - - FLEX - - CUSTOM + id: type: string - enumDescriptions: - - Unknown. - - Google Container Engine. - - 'Google App Engine: Flexible Environment.' - - Custom user-defined platform. - description: Platform hosting this deployment. - resourceUri: + type: object + GetPolicyOptions: + type: object + id: GetPolicyOptions + description: Encapsulates settings provided to GetIamPolicy. + properties: + requestedPolicyVersion: + format: int32 description: >- - Output only. Resource URI for the artifact being deployed taken from - the deployable field with the same name. - type: array - items: - type: string - deployTime: - description: Required. Beginning of the lifetime of this deployment. - format: google-datetime - type: string + Optional. The maximum policy version that will be used to format the + policy. Valid values are 0, 1, and 3. Requests specifying an invalid + value will be rejected. Requests for policies with any conditional + role bindings must specify version 3. Policies with no conditional + role bindings may specify any valid value or leave the field unset. + The policy in the response might use the policy version that you + specified, or it might use a lower policy version. For example, if + you specify version 3, but the policy has no conditional role + bindings, the response uses version 1. To learn which resources + support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + ComplianceOccurrence: type: object - description: The period during which some deployable was active in a runtime. - id: DeploymentOccurrence - ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan: + id: ComplianceOccurrence properties: - endTime: - format: google-datetime - description: End of time span. - type: string - startTime: + version: + $ref: '#/components/schemas/ComplianceVersion' + description: The OS and config version the benchmark was run on. + nonCompliantFiles: + type: array + items: + $ref: '#/components/schemas/NonCompliantFile' + nonComplianceReason: type: string - description: Start of time span. - format: google-datetime + description: >- + An indication that the compliance checks in the associated + ComplianceNote were not satisfied for particular resources or a + specified reason. + Detail: + id: Detail + description: >- + A detail for a distro and package affected by this vulnerability and its + associated fix (if one is available). type: object - description: Start and end times for a build execution phase. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan - SlsaMetadata: - id: SlsaMetadata properties: - completeness: + affectedVersionEnd: description: >- - Indicates that the builder claims certain fields in this message to - be complete. - $ref: '#/components/schemas/SlsaCompleteness' - reproducible: + The version number at the end of an interval in which this + vulnerability exists. A vulnerability can affect a package between + version numbers that are disjoint sets of intervals (example: + [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will + be represented in its own Detail. If a specific affected version is + provided by a vulnerability database, affected_version_start and + affected_version_end will be the same in that Detail. + $ref: '#/components/schemas/Version' + fixedVersion: description: >- - If true, the builder claims that running the recipe on materials - will produce bit-for-bit identical output. + The distro recommended version to update to that contains a fix for + this vulnerability. Setting this to VersionKind.MAXIMUM means no + such version is yet available. + $ref: '#/components/schemas/Version' + isObsolete: + description: >- + Whether this detail is obsolete. Occurrences are expected not to + point to obsolete details. type: boolean - buildFinishedOn: + sourceUpdateTime: type: string - description: The timestamp of when the build completed. - format: google-datetime - buildStartedOn: + description: >- + The time this information was last changed at the source. This is an + upstream timestamp from the underlying information source - e.g. + Ubuntu security tracker. format: google-datetime + vendor: type: string - description: The timestamp of when the build started. - buildInvocationId: - type: string + description: The name of the vendor of the product. + affectedCpeUri: description: >- - Identifies the particular build invocation, which can be useful for - finding associated logs or other ad-hoc analysis. The value SHOULD - be globally unique, per in-toto Provenance spec. - description: Other properties of the build. - type: object - ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage: - description: An image built by the pipeline. - type: object - properties: - digest: + Required. The [CPE URI](https://cpe.mitre.org/specification/) this + vulnerability affects. + type: string + fixedPackage: type: string - description: Docker Registry 2.0 digest. - name: description: >- - Name used to push the container image to Google Container Registry, - as presented to `docker push`. + The distro recommended package to update to that contains a fix for + this vulnerability. It is possible for this to be different from the + affected_package. + packageType: type: string - pushTiming: - readOnly: true description: >- - Output only. Stores timing information for pushing the specified - image. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage - Jwt: - properties: - compactJwt: + The type of package; whether native or non native (e.g., ruby gems, + node.js packages, etc.). + description: + description: A vendor-specific description of this vulnerability. type: string + affectedVersionStart: description: >- - The compact encoding of a JWS, which is always three base64 encoded - strings joined by periods. For details, see: - https://tools.ietf.org/html/rfc7515.html#section-3.1 - id: Jwt - type: object - DSSEAttestationOccurrence: - id: DSSEAttestationOccurrence - description: >- - Deprecated. Prefer to use a regular Occurrence, and populate the - Envelope at the top level of the Occurrence. - type: object - properties: - statement: - $ref: '#/components/schemas/InTotoStatement' - envelope: - $ref: '#/components/schemas/Envelope' + The version number at the start of an interval in which this + vulnerability exists. A vulnerability can affect a package between + version numbers that are disjoint sets of intervals (example: + [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will + be represented in its own Detail. If a specific affected version is + provided by a vulnerability database, affected_version_start and + affected_version_end will be the same in that Detail. + $ref: '#/components/schemas/Version' + fixedCpeUri: description: >- - If doing something security critical, make sure to verify the - signatures in this metadata. - FileHashes: - description: >- - Container message for hashes of byte content of files, used in source - messages to verify integrity of source input to the build. - properties: - fileHash: - type: array - items: - $ref: '#/components/schemas/Hash' - description: Required. Collection of file hashes. - id: FileHashes - type: object - UpgradeOccurrence: - type: object - description: >- - 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. - id: UpgradeOccurrence - properties: - package: - description: Required for non-Windows OS. The package this Upgrade is for. + The distro recommended [CPE + URI](https://cpe.mitre.org/specification/) to update to that + contains a fix for this vulnerability. It is possible for this to be + different from the affected_cpe_uri. type: string - windowsUpdate: - $ref: '#/components/schemas/WindowsUpdate' + source: + type: string + description: The source from which the information in this Detail was obtained. + severityName: + type: string + description: The distro assigned severity of this vulnerability. + affectedPackage: + description: Required. The package this vulnerability affects. + type: string + ContaineranalysisGoogleDevtoolsCloudbuildV1Source: + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Source + properties: + storageSource: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + description: If provided, get the source from this location in Cloud Storage. + gitSource: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource + description: If provided, get the source from this Git repository. + developerConnectConfig: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig + description: If provided, get the source from this Developer Connect config. + storageSourceManifest: description: >- - Required for Windows OS. Represents the metadata about the Windows - update. - parsedVersion: - $ref: '#/components/schemas/Version' + If provided, get the source from this manifest in Cloud Storage. + This feature is in Preview; see description + [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher). + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + repoSource: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource description: >- - Required for non-Windows OS. The version of the package in a machine - + human readable form. - distribution: - $ref: '#/components/schemas/UpgradeDistribution' + If provided, get the source from this location in a Cloud Source + Repository. + connectedRepository: + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository description: >- - Metadata about the upgrade for available for the specific operating - system for the resource_url. This allows efficient filtering, as - well as making it easier to use the occurrence. - ProvenanceBuilder: + Optional. If provided, get the source from this 2nd-gen Google Cloud + Build repository resource. type: object - id: ProvenanceBuilder + description: Location of the source in a supported storage service. + PackageOccurrence: properties: - builderDependencies: - items: - $ref: '#/components/schemas/ResourceDescriptor' - type: array + license: + description: Licenses that have been declared by the authors of the package. + $ref: '#/components/schemas/License' + name: + description: Required. Output only. The name of the installed package. + type: string + readOnly: true version: - additionalProperties: - type: string - type: object - id: + $ref: '#/components/schemas/Version' + description: Output only. The version of the package. + readOnly: true + location: + type: array + items: + $ref: '#/components/schemas/Location' + description: >- + All of the places within the filesystem versions of this package + have been found. + cpeUri: + readOnly: true + description: >- + Output only. The cpe_uri in [CPE + format](https://cpe.mitre.org/specification/) denoting the package + manager version distributing a package. The cpe_uri will be blank + for language packages. type: string - ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact: - type: object - properties: - uri: + packageType: type: string - description: URI of the uploaded artifact. - fileHashes: - description: Hash types and values of the Maven Artifact. - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes - pushTiming: - $ref: >- - #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + description: >- + Output only. The type of package; whether native or non native + (e.g., ruby gems, node.js packages, etc.). readOnly: true + architecture: + type: string description: >- - Output only. Stores timing information for pushing the specified - artifact. - description: A Maven artifact uploaded using the MavenArtifact directive. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact - AttestationOccurrence: + Output only. The CPU architecture for which packages in this + distribution channel were built. Architecture will be blank for + language packages. + readOnly: true + enum: + - ARCHITECTURE_UNSPECIFIED + - X86 + - X64 + enumDescriptions: + - Unknown architecture. + - X86 architecture. + - X64 architecture. + id: PackageOccurrence + description: Details on how a particular software package was installed on a system. + type: object + BuildNote: description: >- - Occurrence that represents a single "attestation". The authenticity of - an attestation can be verified using the attached signature. If the - verifier trusts the public key of the signer, then verifying the - signature is sufficient to establish trust. In this circumstance, the - authority to which this attestation is attached is primarily useful for - lookup (how to find this attestation if you already know the authority - and artifact to be verified) and intent (for which authority this - attestation was intended to sign. + Note holding the version of the provider's builder and the signature of + the provenance message in the build details occurrence. type: object - id: AttestationOccurrence + id: BuildNote properties: - serializedPayload: + builderVersion: type: string - format: byte - description: >- - Required. The serialized payload that is verified by one or more - `signatures`. - jwts: - description: >- - One or more JWTs encoding a self-contained attestation. Each JWT - encodes the payload that it verifies within the JWT itself. Verifier - implementation SHOULD ignore the `serialized_payload` field when - verifying these JWTs. If only JWTs are present on this - AttestationOccurrence, then the `serialized_payload` SHOULD be left - empty. Each JWT SHOULD encode a claim specific to the `resource_uri` - of this Occurrence, but this is not validated by Grafeas metadata - API implementations. The JWT itself is opaque to Grafeas. - items: - $ref: '#/components/schemas/Jwt' - type: array - signatures: - items: - $ref: '#/components/schemas/Signature' - type: array description: >- - One or more signatures over `serialized_payload`. Verifier - implementations should consider this attestation message verified if - at least one `signature` verifies `serialized_payload`. See - `Signature` in common.proto for more details on signature structure - and verification. - ListNotesResponse: + Required. Immutable. Version of the builder which produced this + build. + ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets: type: object properties: - nextPageToken: - description: >- - The next pagination token in the list response. It should be used as - `page_token` for the following request. An empty value means no more - results. - type: string - notes: - description: The notes requested. + secretManager: items: - $ref: '#/components/schemas/Note' + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret + description: >- + Secrets in Secret Manager and associated secret environment + variable. type: array - description: Response for listing notes. - id: ListNotesResponse - VulnerabilityOccurrencesSummary: - id: VulnerabilityOccurrencesSummary - properties: - counts: + inline: description: >- - A listing by resource of the number of fixable and total - vulnerabilities. + Secrets encrypted with KMS key and the associated secret environment + variable. items: - $ref: '#/components/schemas/FixableTotalByDigest' + $ref: >- + #/components/schemas/ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret type: array - description: >- - A summary of how many vulnerability occurrences there are per resource - and severity type. - type: object - BuildNote: + description: Secrets and secret environment variables. + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets + DSSEAttestationOccurrence: properties: - builderVersion: - type: string + statement: + $ref: '#/components/schemas/InTotoStatement' + envelope: description: >- - Required. Immutable. Version of the builder which produced this - build. + If doing something security critical, make sure to verify the + signatures in this metadata. + $ref: '#/components/schemas/Envelope' + id: DSSEAttestationOccurrence + type: object description: >- - Note holding the version of the provider's builder and the signature of - the provenance message in the build details occurrence. + Deprecated. Prefer to use a regular Occurrence, and populate the + Envelope at the top level of the Occurrence. + SlsaProvenanceV1: type: object - id: BuildNote - ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository: - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository + description: >- + Keep in sync with schema at + https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto + Builder renamed to ProvenanceBuilder because of Java conflicts. + id: SlsaProvenanceV1 + properties: + runDetails: + $ref: '#/components/schemas/RunDetails' + buildDefinition: + $ref: '#/components/schemas/BuildDefinition' + Note: + id: Note type: object + description: A type of analysis that can be done for a resource. properties: - revision: + relatedUrl: + items: + $ref: '#/components/schemas/RelatedUrl' + description: URLs associated with this note. + type: array + longDescription: + type: string + description: A detailed description of this note. + kind: + type: string + enumDescriptions: + - Default value. This value is unused. + - The note and occurrence represent a package vulnerability. + - The note and occurrence assert build provenance. + - This represents an image basis relationship. + - This represents a package installed via a package manager. + - The note and occurrence track deployment events. + - >- + The note and occurrence track the initial discovery status of a + resource. + - This represents a logical "role" that can attest to artifacts. + - This represents an available package upgrade. + - This represents a Compliance Note + - This represents a DSSE attestation Note + - This represents a Vulnerability Assessment. + - This represents an SBOM Reference. + enum: + - NOTE_KIND_UNSPECIFIED + - VULNERABILITY + - BUILD + - IMAGE + - PACKAGE + - DEPLOYMENT + - DISCOVERY + - ATTESTATION + - UPGRADE + - COMPLIANCE + - DSSE_ATTESTATION + - VULNERABILITY_ASSESSMENT + - SBOM_REFERENCE description: >- - Required. The revision to fetch from the Git repository such as a - branch, a tag, a commit SHA, or any Git ref. + Output only. The type of analysis. This field can be used as a + filter in list requests. + attestation: + $ref: '#/components/schemas/AttestationNote' + description: A note describing an attestation role. + compliance: + $ref: '#/components/schemas/ComplianceNote' + description: A note describing a compliance check. + discovery: + $ref: '#/components/schemas/DiscoveryNote' + description: A note describing the initial analysis of a resource. + sbomReference: + description: A note describing an SBOM reference. + $ref: '#/components/schemas/SBOMReferenceNote' + expirationTime: + format: google-datetime type: string - repository: + description: Time of expiration for this note. Empty if note does not expire. + dsseAttestation: + $ref: '#/components/schemas/DSSEAttestationNote' + description: A note describing a dsse attestation note. + build: + $ref: '#/components/schemas/BuildNote' + description: A note describing build provenance for a verifiable build. + image: + $ref: '#/components/schemas/ImageNote' + description: A note describing a base image. + deployment: + $ref: '#/components/schemas/DeploymentNote' + description: A note describing something that can be deployed. + updateTime: + format: google-datetime type: string description: >- - Required. Name of the Google Cloud Build repository, formatted as - `projects/*/locations/*/connections/*/repositories/*`. - dir: + Output only. The time this note was last updated. This field can be + used as a filter in list requests. + createTime: + format: google-datetime + description: >- + Output only. The time this note was created. This field can be used + as a filter in list requests. + type: string + shortDescription: type: string + description: A one sentence description of this note. + vulnerability: + $ref: '#/components/schemas/VulnerabilityNote' + description: A note describing a package vulnerability. + relatedNoteNames: + items: + type: string + description: Other notes related to this note. + type: array + upgrade: + description: A note describing available package upgrades. + $ref: '#/components/schemas/UpgradeNote' + vulnerabilityAssessment: + $ref: '#/components/schemas/VulnerabilityAssessmentNote' + description: A note describing a vulnerability assessment. + name: description: >- - Optional. Directory, relative to the source root, in which to run - the build. - description: >- - Location of the source in a 2nd-gen Google Cloud Build repository - resource. - ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption: - type: object + Output only. The name of the note in the form of + `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + type: string + package: + $ref: '#/components/schemas/PackageNote' + description: A note describing a package hosted by various package managers. + AnalysisCompleted: properties: - name: - type: string - description: >- - The `WorkerPool` resource to execute the build on. You must have - `cloudbuild.workerpools.use` on the project hosting the WorkerPool. - Format - projects/{project}/locations/{location}/workerPools/{workerPoolId} + analysisType: + items: + type: string + type: array description: >- - Details about how a build should be executed on a `WorkerPool`. See - [running builds in a private - pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) - for more information. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption - SBOMStatus: - id: SBOMStatus + Indicates which analysis completed successfully. Multiple types of + analysis can be performed on a single resource. type: object - description: The status of an SBOM generation. + id: AnalysisCompleted + Source: + id: Source + type: object + description: Source describes the location of the source used for the build. properties: - sbomState: - type: string - enumDescriptions: - - Default unknown state. - - SBOM scanning is pending. - - SBOM scanning has completed. - description: The progress of the SBOM generation. - enum: - - SBOM_STATE_UNSPECIFIED - - PENDING - - COMPLETE - error: - type: string + context: + $ref: '#/components/schemas/SourceContext' description: >- - If there was an error generating an SBOM, this will indicate what - that error was. - VulnerabilityAssessmentNote: - description: >- - A single VulnerabilityAssessmentNote represents one particular product's - vulnerability assessment for one CVE. - properties: - assessment: - description: Represents a vulnerability assessment for the product. - $ref: '#/components/schemas/Assessment' - shortDescription: - description: A one sentence description of this Vex. - type: string - publisher: - description: Publisher details of this Note. - $ref: '#/components/schemas/Publisher' - languageCode: + If provided, the source code used for the build came from this + location. + fileHashes: + type: object description: >- - Identifies the language used by this document, corresponding to IETF - BCP 47 / RFC 5646. - type: string - title: - description: The title of the note. E.g. `Vex-Debian-11.4` - type: string - product: - description: The product affected by this vex. - $ref: '#/components/schemas/Product' - longDescription: + Hash(es) of the build source, which can be used to verify that the + original source integrity was maintained in the build. The keys to + this map are file paths used as build source and the values contain + the hash values for those files. If the build source came in a + single package such as a gzipped tarfile (.tar.gz), the FileHash + will be for the single path to that file. + additionalProperties: + $ref: '#/components/schemas/FileHashes' + artifactStorageSourceUri: type: string - description: A detailed description of this Vex. - id: VulnerabilityAssessmentNote + description: >- + If provided, the input binary artifacts for the build came from this + location. + additionalContexts: + type: array + description: >- + If provided, some of the source code used for the build may be found + in these locations, in the case where the source repository had + multiple remotes or submodules. This list will not include the + context specified in the context field. + items: + $ref: '#/components/schemas/SourceContext' + BatchCreateOccurrencesResponse: + id: BatchCreateOccurrencesResponse + properties: + occurrences: + type: array + items: + $ref: '#/components/schemas/Occurrence' + description: The occurrences that were created. + description: Response for creating occurrences in batch. type: object - DSSEHint: + ContaineranalysisGoogleDevtoolsCloudbuildV1Secret: + type: object + id: ContaineranalysisGoogleDevtoolsCloudbuildV1Secret description: >- - This submessage provides human-readable hints about the purpose of the - authority. Because the name of a note acts as its resource reference, it - is important to disambiguate the canonical name of the Note (which might - be a UUID for security purposes) from "readable" names more suitable for - debug output. Note that these hints should not be used to look up - authorities in security sensitive contexts, such as when looking up - attestations to verify. + Pairs a set of secret environment variables containing encrypted values + with the Cloud KMS key to use to decrypt the value. Note: Use + `kmsKeyName` with `available_secrets` instead of using `kmsKeyName` with + `secret`. For instructions see: + https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials. properties: - humanReadableName: + secretEnv: description: >- - Required. The human readable name of this attestation authority, for - example "cloudbuild-prod". + Map of environment variable name to its encrypted value. Secret + environment variables must be unique across all of a build's + secrets, and must be used by at least one build step. Values can be + at most 64 KB in size. There can be at most 100 secret values across + all of a build's secrets. + additionalProperties: + type: string + format: byte + type: object + kmsKeyName: type: string - id: DSSEHint - type: object - ListOccurrencesResponse: - id: ListOccurrencesResponse - description: Response for listing occurrences. + description: Cloud KMS key name to use to decrypt these envs. + BatchCreateNotesResponse: + id: BatchCreateNotesResponse type: object properties: - nextPageToken: - type: string - description: >- - The next pagination token in the list response. It should be used as - `page_token` for the following request. An empty value means no more - results. - occurrences: + notes: items: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/Note' type: array - description: The occurrences requested. - ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult: + description: The notes that were created. + description: Response for creating notes in batch. + ExportSBOMRequest: type: object properties: - url: + cloudStorageLocation: + $ref: '#/components/schemas/CloudStorageLocation' description: >- - Optional. An optional URL tied to this manual approval result. This - field is essentially the same as comment, except that it will be - rendered by the UI differently. An example use case is a link to an - external job that approved this Build. - type: string - approverAccount: - type: string + Empty placeholder to denote that this is a Google Cloud Storage + export request. + id: ExportSBOMRequest + description: >- + The request to generate and export SBOM. Target must be specified for + the request. + License: + id: License + properties: + expression: description: >- - Output only. Email of the user that called the ApproveBuild API to - approve or reject a build at the time that the API was called. - readOnly: true - decision: - enum: - - DECISION_UNSPECIFIED - - APPROVED - - REJECTED - type: string - description: Required. The decision of this manual approval. - enumDescriptions: - - Default enum type. This should not be used. - - Build is approved. - - Build is rejected. - approvalTime: - description: Output only. The time when the approval decision was made. - format: google-datetime - readOnly: true + Often a single license can be used to represent the licensing terms. + Sometimes it is necessary to include a choice of one or more + licenses or some combination of license identifiers. Examples: + "LGPL-2.1-only OR MIT", "LGPL-2.1-only AND MIT", "GPL-2.0-or-later + WITH Bison-exception-2.2". type: string - comment: + comments: + description: Comments type: string - description: Optional. An optional comment for this manual approval result. + type: object + description: License information. + SlsaRecipe: description: >- - ApprovalResult describes the decision and associated metadata of a - manual approval of a build. - id: ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult - GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata: + Steps taken to build the artifact. For a TaskRun, typically each + container corresponds to one step in the recipe. type: object - id: GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata + id: SlsaRecipe properties: - buildInvocationId: + definedInMaterial: + format: int64 type: string - reproducible: - type: boolean - completeness: - $ref: '#/components/schemas/GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness' - buildFinishedOn: + description: >- + Index in materials containing the recipe steps that are not implied + by recipe.type. For example, if the recipe type were "make", then + this would point to the source containing the Makefile, not the make + program itself. Set to -1 if the recipe doesn't come from a + material, as zero is default unset value for int64. + type: type: string - format: google-datetime - buildStartedOn: - format: google-datetime + description: >- + URI indicating what type of recipe was performed. It determines the + meaning of recipe.entryPoint, recipe.arguments, recipe.environment, + and materials. + arguments: + description: >- + Collection of all external inputs that influenced the build on top + of recipe.definedInMaterial and recipe.entryPoint. For example, if + the recipe type were "make", then this might be the flags passed to + make aside from the target, which is captured in recipe.entryPoint. + Depending on the recipe Type, the structure may be different. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + environment: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + description: >- + Any other builder-controlled inputs necessary for correctly + evaluating the recipe. Usually only needed for reproducing the build + but not evaluated as part of policy. Depending on the recipe Type, + the structure may be different. + entryPoint: type: string - description: Other properties of the build. - SetIamPolicyRequest: + description: >- + String identifying the entry point into the build. This is often a + path to a configuration file and/or a target label within that file. + The syntax and meaning are defined by recipe.type. For example, if + the recipe type were "make", then this would reference the directory + in which to run make as well as which target to use. + RepoId: + description: A unique identifier for a Cloud Repo. type: object + id: RepoId properties: - policy: - $ref: '#/components/schemas/Policy' - description: >- - REQUIRED: The complete policy to be applied to the `resource`. The - size of the policy is limited to a few 10s of KB. An empty policy is - a valid policy but certain Google Cloud services (such as Projects) - might reject them. - id: SetIamPolicyRequest - description: Request message for `SetIamPolicy` method. + projectRepoId: + $ref: '#/components/schemas/ProjectRepoId' + description: A combination of a project ID and a repo name. + uid: + type: string + description: A server-assigned, globally unique identifier. parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + _.xgafv: + description: V1 error format. in: query - name: quotaUser + name: $.xgafv schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. + enum: + - '1' + - '2' + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: prettyPrint + name: upload_protocol schema: - type: boolean - fields: - description: Selector specifying which fields to include in a partial response. + type: string + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: fields + name: oauth_token schema: type: string - _.xgafv: - description: V1 error format. + alt: + description: Data format for response. in: query - name: $.xgafv + name: alt schema: type: string enum: - - '1' - - '2' + - json + - media + - proto key: description: >- API key. Your API key identifies your project and provides you with API @@ -5381,335 +5386,196 @@ components: name: callback schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string uploadType: description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query name: uploadType schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: upload_protocol + name: fields schema: type: string - alt: - description: Data format for response. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: alt + name: prettyPrint schema: - type: string - enum: - - json - - media - - proto + type: boolean access_token: description: OAuth access token. in: query name: access_token schema: type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string x-stackQL-resources: - resources: - id: google.containeranalysis.resources - name: resources - title: Resources - methods: - projects_locations_resources_export_sbom: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1resources~1{resourcesId}:exportSBOM/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_resources_export_sbom: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1resources~1{resourcesId}:exportSBOM/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - notes: - id: google.containeranalysis.notes - name: notes - title: Notes + occurrences_iam_policies: + id: google.containeranalysis.occurrences_iam_policies + name: occurrences_iam_policies + title: Occurrences_iam_policies methods: - projects_locations_notes_list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.notes - projects_locations_notes_create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_notes_batch_create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes:batchCreate/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_notes_patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_notes_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_notes_delete: + projects_occurrences_test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - projects_notes_get: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_notes_delete: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_notes_patch: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_notes_list: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.notes - projects_notes_create: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes/post' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_notes_batch_create: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes:batchCreate/post' + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_locations_notes_get - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_locations_notes_list - - $ref: '#/components/x-stackQL-resources/notes/methods/projects_notes_get' - - $ref: '#/components/x-stackQL-resources/notes/methods/projects_notes_list' - insert: - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_locations_notes_create - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_locations_notes_batch_create - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_notes_create - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_notes_batch_create - update: - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_locations_notes_patch - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_notes_patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_locations_notes_delete - - $ref: >- - #/components/x-stackQL-resources/notes/methods/projects_notes_delete - notes_iam_policies: - id: google.containeranalysis.notes_iam_policies - name: notes_iam_policies - title: Notes_iam_policies - methods: - projects_locations_notes_get_iam_policy: + projects_occurrences_get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}:getIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' objectKey: $.bindings - projects_locations_notes_set_iam_policy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}:setIamPolicy/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_notes_test_iam_permissions: + projects_occurrences_set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - projects_notes_set_iam_policy: + projects_locations_occurrences_test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' - projects_notes_test_iam_permissions: + projects_locations_occurrences_get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}:getIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - projects_notes_get_iam_policy: + objectKey: $.bindings + projects_locations_occurrences_set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/notes_iam_policies/methods/projects_locations_notes_get_iam_policy + #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_locations_occurrences_get_iam_policy - $ref: >- - #/components/x-stackQL-resources/notes_iam_policies/methods/projects_notes_get_iam_policy + #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_occurrences_get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/notes_iam_policies/methods/projects_locations_notes_set_iam_policy + #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_locations_occurrences_set_iam_policy - $ref: >- - #/components/x-stackQL-resources/notes_iam_policies/methods/projects_notes_set_iam_policy + #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_occurrences_set_iam_policy delete: [] occurrences: id: google.containeranalysis.occurrences name: occurrences title: Occurrences methods: - projects_locations_notes_occurrences_list: + projects_occurrences_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}~1occurrences/get + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.occurrences - projects_locations_occurrences_batch_create: + projects_occurrences_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences:batchCreate/post + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_occurrences_create: + projects_occurrences_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences/post + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_occurrences_list: + projects_occurrences_create: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1occurrences/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.occurrences - projects_locations_occurrences_patch: + projects_occurrences_list: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}/patch + $ref: '#/paths/~1v1~1projects~1{projectsId}~1occurrences/get' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_occurrences_get: + objectKey: $.occurrences + projects_occurrences_batch_create: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1occurrences:batchCreate/post' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_occurrences_delete: + projects_locations_notes_occurrences_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}~1occurrences/get response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_batch_create: + objectKey: $.occurrences + projects_locations_occurrences_batch_create: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1occurrences:batchCreate/post' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences:batchCreate/post response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_delete: + projects_locations_occurrences_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_patch: + projects_locations_occurrences_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_get: + projects_locations_occurrences_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_list: + projects_locations_occurrences_list: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1occurrences/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences/get response: mediaType: application/json openAPIDocKey: '200' objectKey: $.occurrences - projects_occurrences_create: + projects_locations_occurrences_create: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1occurrences/post' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences/post response: mediaType: application/json openAPIDocKey: '200' @@ -5727,10 +5593,10 @@ components: #/components/x-stackQL-resources/occurrences/methods/projects_locations_notes_occurrences_list - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_get - - $ref: >- - #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_list - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_occurrences_get + - $ref: >- + #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_list - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_notes_occurrences_list - $ref: >- @@ -5740,10 +5606,10 @@ components: #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_batch_create - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_create - - $ref: >- - #/components/x-stackQL-resources/occurrences/methods/projects_occurrences_batch_create - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_occurrences_create + - $ref: >- + #/components/x-stackQL-resources/occurrences/methods/projects_occurrences_batch_create update: - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_patch @@ -5755,22 +5621,51 @@ components: #/components/x-stackQL-resources/occurrences/methods/projects_locations_occurrences_delete - $ref: >- #/components/x-stackQL-resources/occurrences/methods/projects_occurrences_delete + occurrences_notes: + id: google.containeranalysis.occurrences_notes + name: occurrences_notes + title: Occurrences_notes + methods: + projects_occurrences_get_notes: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}~1notes/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_occurrences_get_notes: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}~1notes/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/occurrences_notes/methods/projects_locations_occurrences_get_notes + - $ref: >- + #/components/x-stackQL-resources/occurrences_notes/methods/projects_occurrences_get_notes + insert: [] + update: [] + replace: [] + delete: [] occurrences_vulnerability_summary: id: google.containeranalysis.occurrences_vulnerability_summary name: occurrences_vulnerability_summary title: Occurrences_vulnerability_summary methods: - projects_locations_occurrences_get_vulnerability_summary: + projects_occurrences_get_vulnerability_summary: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences:vulnerabilitySummary/get + #/paths/~1v1~1projects~1{projectsId}~1occurrences:vulnerabilitySummary/get response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_get_vulnerability_summary: + projects_locations_occurrences_get_vulnerability_summary: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences:vulnerabilitySummary/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences:vulnerabilitySummary/get response: mediaType: application/json openAPIDocKey: '200' @@ -5784,120 +5679,234 @@ components: update: [] replace: [] delete: [] - occurrences_iam_policies: - id: google.containeranalysis.occurrences_iam_policies - name: occurrences_iam_policies - title: Occurrences_iam_policies + resources: + id: google.containeranalysis.resources + name: resources + title: Resources methods: - projects_locations_occurrences_set_iam_policy: + projects_resources_export_sbom: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1resources~1{resourcesId}:exportSBOM/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_resources_export_sbom: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1resources~1{resourcesId}:exportSBOM/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + notes_iam_policies: + id: google.containeranalysis.notes_iam_policies + name: notes_iam_policies + title: Notes_iam_policies + methods: + projects_locations_notes_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_notes_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_notes_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}:getIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + projects_notes_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}:getIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + projects_notes_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_notes_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/notes_iam_policies/methods/projects_locations_notes_get_iam_policy + - $ref: >- + #/components/x-stackQL-resources/notes_iam_policies/methods/projects_notes_get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/notes_iam_policies/methods/projects_locations_notes_set_iam_policy + - $ref: >- + #/components/x-stackQL-resources/notes_iam_policies/methods/projects_notes_set_iam_policy + delete: [] + notes: + id: google.containeranalysis.notes + name: notes + title: Notes + methods: + projects_locations_notes_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_notes_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.notes + projects_locations_notes_batch_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes:batchCreate/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_notes_patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_notes_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_occurrences_get_iam_policy: + projects_locations_notes_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}:getIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1notes~1{notesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - projects_locations_occurrences_test_iam_permissions: + projects_notes_create: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}:testIamPermissions/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes/post' response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_set_iam_policy: + projects_notes_list: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}:setIamPolicy/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes/get' response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_get_iam_policy: + objectKey: $.notes + projects_notes_batch_create: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}:getIamPolicy/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes:batchCreate/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.bindings - projects_occurrences_test_iam_permissions: + projects_notes_delete: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}:testIamPermissions/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}/delete' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_locations_occurrences_get_iam_policy - - $ref: >- - #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_occurrences_get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_locations_occurrences_set_iam_policy - - $ref: >- - #/components/x-stackQL-resources/occurrences_iam_policies/methods/projects_occurrences_set_iam_policy - delete: [] - occurrences_notes: - id: google.containeranalysis.occurrences_notes - name: occurrences_notes - title: Occurrences_notes - methods: - projects_locations_occurrences_get_notes: + projects_notes_get: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1occurrences~1{occurrencesId}~1notes/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}/get' response: mediaType: application/json openAPIDocKey: '200' - projects_occurrences_get_notes: + projects_notes_patch: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1occurrences~1{occurrencesId}~1notes/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1notes~1{notesId}/patch' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/occurrences_notes/methods/projects_locations_occurrences_get_notes + #/components/x-stackQL-resources/notes/methods/projects_locations_notes_get - $ref: >- - #/components/x-stackQL-resources/occurrences_notes/methods/projects_occurrences_get_notes - insert: [] - update: [] + #/components/x-stackQL-resources/notes/methods/projects_locations_notes_list + - $ref: '#/components/x-stackQL-resources/notes/methods/projects_notes_get' + - $ref: '#/components/x-stackQL-resources/notes/methods/projects_notes_list' + insert: + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_locations_notes_create + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_locations_notes_batch_create + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_notes_create + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_notes_batch_create + update: + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_locations_notes_patch + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_notes_patch replace: [] - delete: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_locations_notes_delete + - $ref: >- + #/components/x-stackQL-resources/notes/methods/projects_notes_delete paths: - /v1/projects/{projectsId}/locations/{locationsId}/resources/{resourcesId}:exportSBOM: + /v1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/quotaUser' post: - description: Generates an SBOM for the given resource. - operationId: containeranalysis.projects.locations.resources.exportSBOM + description: >- + 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. + operationId: containeranalysis.projects.occurrences.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/ExportSBOMRequest' + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5909,7 +5918,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ExportSBOMResponse' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -5917,20 +5926,26 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: resourcesId + name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes: + /v1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy: parameters: *ref_1 - get: - description: Lists notes for the specified project. - operationId: containeranalysis.projects.locations.notes.list + post: + description: >- + 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. + operationId: containeranalysis.projects.occurrences.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5942,7 +5957,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListNotesResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -5950,31 +5965,44 @@ paths: schema: type: string - in: path - name: locationsId + name: occurrencesId required: true schema: type: string - - in: query - name: filter + /v1/projects/{projectsId}/occurrences/{occurrencesId}: + parameters: *ref_1 + delete: + description: >- + Deletes the specified occurrence. For example, use this method to delete + an occurrence when the occurrence is no longer applicable for the given + resource. + operationId: containeranalysis.projects.occurrences.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: occurrencesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates a new note. - operationId: containeranalysis.projects.locations.notes.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Note' + get: + description: Gets the specified occurrence. + operationId: containeranalysis.projects.occurrences.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5986,7 +6014,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/Occurrence' parameters: - in: path name: projectsId @@ -5994,30 +6022,18 @@ paths: schema: type: string - in: path - name: locationsId + name: occurrencesId required: true schema: type: string - - in: query - name: noteId - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}:getIamPolicy: - parameters: *ref_1 - post: - description: >- - 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. - operationId: containeranalysis.projects.locations.notes.getIamPolicy + patch: + description: Updates the specified occurrence. + operationId: containeranalysis.projects.occurrences.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + $ref: '#/components/schemas/Occurrence' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6029,7 +6045,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Occurrence' parameters: - in: path name: projectsId @@ -6037,25 +6053,22 @@ paths: schema: type: string - in: path - name: locationsId + name: occurrencesId required: true schema: type: string - - in: path - name: notesId - required: true + - in: query + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes:batchCreate: + format: google-fieldmask + /v1/projects/{projectsId}/occurrences/{occurrencesId}/notes: parameters: *ref_1 - post: - description: Creates new notes in batch. - operationId: containeranalysis.projects.locations.notes.batchCreate - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchCreateNotesRequest' + get: + description: >- + Gets the note attached to the specified occurrence. Consumer projects + can use this method to get a note that belongs to a provider project. + operationId: containeranalysis.projects.occurrences.getNotes security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6067,7 +6080,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/BatchCreateNotesResponse' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId @@ -6075,26 +6088,20 @@ paths: schema: type: string - in: path - name: locationsId + name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}:setIamPolicy: + /v1/projects/{projectsId}/occurrences: parameters: *ref_1 post: - description: >- - 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. - operationId: containeranalysis.projects.locations.notes.setIamPolicy + description: Creates a new occurrence. + operationId: containeranalysis.projects.occurrences.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + $ref: '#/components/schemas/Occurrence' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6106,33 +6113,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Occurrence' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: notesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}: - parameters: *ref_1 - patch: - description: Updates the specified note. - operationId: containeranalysis.projects.locations.notes.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Note' + get: + description: Lists occurrences for the specified project. + operationId: containeranalysis.projects.occurrences.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6144,31 +6134,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/ListOccurrencesResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: notesId - required: true + - in: query + name: pageToken schema: type: string - in: query - name: updateMask + name: pageSize schema: - type: string - format: google-fieldmask - get: - description: Gets the specified note. - operationId: containeranalysis.projects.locations.notes.get + type: integer + format: int32 + /v1/projects/{projectsId}/occurrences:batchCreate: + parameters: *ref_1 + post: + description: Creates new occurrences in batch. + operationId: containeranalysis.projects.occurrences.batchCreate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchCreateOccurrencesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6180,26 +6175,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/BatchCreateOccurrencesResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: notesId - required: true - schema: - type: string - delete: - description: Deletes the specified note. - operationId: containeranalysis.projects.locations.notes.delete + /v1/projects/{projectsId}/occurrences:vulnerabilitySummary: + parameters: *ref_1 + get: + description: Gets a summary of the number and severity of occurrences. + operationId: containeranalysis.projects.occurrences.getVulnerabilitySummary security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6211,38 +6198,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/VulnerabilityOccurrencesSummary' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: notesId - required: true + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}:testIamPermissions: + /v1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy: parameters: *ref_1 post: description: >- - 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 + 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. - operationId: containeranalysis.projects.locations.notes.testIamPermissions + operationId: containeranalysis.projects.occurrences.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6254,7 +6236,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -6262,23 +6244,20 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: notesId + name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}/occurrences: + /v1/projects/{projectsId}/resources/{resourcesId}:exportSBOM: parameters: *ref_1 - get: - description: >- - Lists occurrences referencing the specified note. Provider projects can - use this method to get all occurrences across consumer projects - referencing the specified note. - operationId: containeranalysis.projects.locations.notes.occurrences.list + post: + description: Generates an SBOM for the given resource. + operationId: containeranalysis.projects.resources.exportSBOM + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExportSBOMRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6290,7 +6269,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListNoteOccurrencesResponse' + $ref: '#/components/schemas/ExportSBOMResponse' parameters: - in: path name: projectsId @@ -6298,38 +6277,26 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: notesId + name: resourcesId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences:batchCreate: + /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}:setIamPolicy: parameters: *ref_1 post: - description: Creates new occurrences in batch. - operationId: containeranalysis.projects.locations.occurrences.batchCreate + description: >- + 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. + operationId: containeranalysis.projects.locations.notes.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/BatchCreateOccurrencesRequest' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6341,7 +6308,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/BatchCreateOccurrencesResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -6353,16 +6320,26 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences: + - in: path + name: notesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}:testIamPermissions: parameters: *ref_1 post: - description: Creates a new occurrence. - operationId: containeranalysis.projects.locations.occurrences.create + description: >- + 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. + operationId: containeranalysis.projects.locations.notes.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6374,7 +6351,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -6386,9 +6363,21 @@ paths: required: true schema: type: string - get: - description: Lists occurrences for the specified project. - operationId: containeranalysis.projects.locations.occurrences.list + - in: path + name: notesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/notes: + parameters: *ref_1 + post: + description: Creates a new note. + operationId: containeranalysis.projects.locations.notes.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Note' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6400,7 +6389,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListOccurrencesResponse' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId @@ -6413,23 +6402,12 @@ paths: schema: type: string - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + name: noteId schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/occurrences:vulnerabilitySummary: - parameters: *ref_1 get: - description: Gets a summary of the number and severity of occurrences. - operationId: containeranalysis.projects.locations.occurrences.getVulnerabilitySummary + description: Lists notes for the specified project. + operationId: containeranalysis.projects.locations.notes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6441,7 +6419,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VulnerabilityOccurrencesSummary' + $ref: '#/components/schemas/ListNotesResponse' parameters: - in: path name: projectsId @@ -6453,26 +6431,29 @@ paths: required: true schema: type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}:setIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/notes:batchCreate: parameters: *ref_1 post: - description: >- - 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. - operationId: containeranalysis.projects.locations.occurrences.setIamPolicy + description: Creates new notes in batch. + operationId: containeranalysis.projects.locations.notes.batchCreate requestBody: content: application/json: schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + $ref: '#/components/schemas/BatchCreateNotesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6484,7 +6465,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/BatchCreateNotesResponse' parameters: - in: path name: projectsId @@ -6496,21 +6477,16 @@ paths: required: true schema: type: string - - in: path - name: occurrencesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}: + /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}: parameters: *ref_1 patch: - description: Updates the specified occurrence. - operationId: containeranalysis.projects.locations.occurrences.patch + description: Updates the specified note. + operationId: containeranalysis.projects.locations.notes.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/Note' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6522,7 +6498,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId @@ -6535,7 +6511,7 @@ paths: schema: type: string - in: path - name: occurrencesId + name: notesId required: true schema: type: string @@ -6545,8 +6521,8 @@ paths: type: string format: google-fieldmask get: - description: Gets the specified occurrence. - operationId: containeranalysis.projects.locations.occurrences.get + description: Gets the specified note. + operationId: containeranalysis.projects.locations.notes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6558,7 +6534,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId @@ -6571,16 +6547,13 @@ paths: schema: type: string - in: path - name: occurrencesId + name: notesId required: true schema: type: string delete: - description: >- - Deletes the specified occurrence. For example, use this method to delete - an occurrence when the occurrence is no longer applicable for the given - resource. - operationId: containeranalysis.projects.locations.occurrences.delete + description: Deletes the specified note. + operationId: containeranalysis.projects.locations.notes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6605,17 +6578,26 @@ paths: schema: type: string - in: path - name: occurrencesId + name: notesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}/notes: + /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}:getIamPolicy: parameters: *ref_1 - get: + post: description: >- - Gets the note attached to the specified occurrence. Consumer projects - can use this method to get a note that belongs to a provider project. - operationId: containeranalysis.projects.locations.occurrences.getNotes + 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. + operationId: containeranalysis.projects.locations.notes.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6627,7 +6609,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -6640,26 +6622,18 @@ paths: schema: type: string - in: path - name: occurrencesId + name: notesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/notes/{notesId}/occurrences: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: containeranalysis.projects.locations.occurrences.getIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + Lists occurrences referencing the specified note. Provider projects can + use this method to get all occurrences across consumer projects + referencing the specified note. + operationId: containeranalysis.projects.locations.notes.occurrences.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6671,7 +6645,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/ListNoteOccurrencesResponse' parameters: - in: path name: projectsId @@ -6684,25 +6658,33 @@ paths: schema: type: string - in: path - name: occurrencesId + name: notesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}:testIamPermissions: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/resources/{resourcesId}:exportSBOM: parameters: *ref_1 post: - description: >- - 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. - operationId: containeranalysis.projects.locations.occurrences.testIamPermissions + description: Generates an SBOM for the given resource. + operationId: containeranalysis.projects.locations.resources.exportSBOM requestBody: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + $ref: '#/components/schemas/ExportSBOMRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6714,7 +6696,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/ExportSBOMResponse' parameters: - in: path name: projectsId @@ -6727,15 +6709,15 @@ paths: schema: type: string - in: path - name: occurrencesId + name: resourcesId required: true schema: type: string - /v1/projects/{projectsId}/occurrences:batchCreate: + /v1/projects/{projectsId}/locations/{locationsId}/occurrences:batchCreate: parameters: *ref_1 post: description: Creates new occurrences in batch. - operationId: containeranalysis.projects.occurrences.batchCreate + operationId: containeranalysis.projects.locations.occurrences.batchCreate requestBody: content: application/json: @@ -6759,14 +6741,19 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/occurrences/{occurrencesId}: + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}: parameters: *ref_1 delete: description: >- Deletes the specified occurrence. For example, use this method to delete an occurrence when the occurrence is no longer applicable for the given resource. - operationId: containeranalysis.projects.occurrences.delete + operationId: containeranalysis.projects.locations.occurrences.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6785,19 +6772,19 @@ paths: required: true schema: type: string + - in: path + name: locationsId + required: true + schema: + type: string - in: path name: occurrencesId required: true schema: type: string - patch: - description: Updates the specified occurrence. - operationId: containeranalysis.projects.occurrences.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Occurrence' + get: + description: Gets the specified occurrence. + operationId: containeranalysis.projects.locations.occurrences.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6817,18 +6804,23 @@ paths: schema: type: string - in: path - name: occurrencesId + name: locationsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: occurrencesId + required: true schema: type: string - format: google-fieldmask - get: - description: Gets the specified occurrence. - operationId: containeranalysis.projects.occurrences.get + patch: + description: Updates the specified occurrence. + operationId: containeranalysis.projects.locations.occurrences.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Occurrence' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6847,16 +6839,26 @@ paths: required: true schema: type: string + - in: path + name: locationsId + required: true + schema: + type: string - in: path name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/occurrences:vulnerabilitySummary: + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/occurrences: parameters: *ref_1 get: - description: Gets a summary of the number and severity of occurrences. - operationId: containeranalysis.projects.occurrences.getVulnerabilitySummary + description: Lists occurrences for the specified project. + operationId: containeranalysis.projects.locations.occurrences.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6868,33 +6870,39 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VulnerabilityOccurrencesSummary' + $ref: '#/components/schemas/ListOccurrencesResponse' parameters: - in: path name: projectsId required: true schema: type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: filter schema: type: string - /v1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy: - parameters: *ref_1 + - in: query + name: pageToken + schema: + type: string post: - description: >- - 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. - operationId: containeranalysis.projects.occurrences.setIamPolicy + description: Creates a new occurrence. + operationId: containeranalysis.projects.locations.occurrences.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + $ref: '#/components/schemas/Occurrence' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6906,7 +6914,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Occurrence' parameters: - in: path name: projectsId @@ -6914,26 +6922,17 @@ paths: schema: type: string - in: path - name: occurrencesId + name: locationsId required: true schema: type: string - /v1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}/notes: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: containeranalysis.projects.occurrences.getIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + Gets the note attached to the specified occurrence. Consumer projects + can use this method to get a note that belongs to a provider project. + operationId: containeranalysis.projects.locations.occurrences.getNotes security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6945,25 +6944,38 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId required: true schema: type: string + - in: path + name: locationsId + required: true + schema: + type: string - in: path name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/occurrences/{occurrencesId}/notes: + /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}:testIamPermissions: parameters: *ref_1 - get: + post: description: >- - Gets the note attached to the specified occurrence. Consumer projects - can use this method to get a note that belongs to a provider project. - operationId: containeranalysis.projects.occurrences.getNotes + 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. + operationId: containeranalysis.projects.locations.occurrences.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6975,33 +6987,39 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId required: true schema: type: string + - in: path + name: locationsId + required: true + schema: + type: string - in: path name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}:getIamPolicy: parameters: *ref_1 post: description: >- - 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 + 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. - operationId: containeranalysis.projects.occurrences.testIamPermissions + operationId: containeranalysis.projects.locations.occurrences.getIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + $ref: '#/components/schemas/GetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7013,23 +7031,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId required: true schema: type: string + - in: path + name: locationsId + required: true + schema: + type: string - in: path name: occurrencesId required: true schema: type: string - /v1/projects/{projectsId}/occurrences: + /v1/projects/{projectsId}/locations/{locationsId}/occurrences:vulnerabilitySummary: parameters: *ref_1 get: - description: Lists occurrences for the specified project. - operationId: containeranalysis.projects.occurrences.list + description: Gets a summary of the number and severity of occurrences. + operationId: containeranalysis.projects.locations.occurrences.getVulnerabilitySummary security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7041,34 +7064,38 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListOccurrencesResponse' + $ref: '#/components/schemas/VulnerabilityOccurrencesSummary' parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: locationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: filter schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/occurrences/{occurrencesId}:setIamPolicy: + parameters: *ref_1 post: - description: Creates a new occurrence. - operationId: containeranalysis.projects.occurrences.create + description: >- + 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. + operationId: containeranalysis.projects.locations.occurrences.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7080,44 +7107,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Occurrence' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/notes/{notesId}: - parameters: *ref_1 - get: - description: Gets the specified note. - operationId: containeranalysis.projects.notes.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Note' - parameters: - in: path - name: projectsId + name: locationsId required: true schema: type: string - in: path - name: notesId + name: occurrencesId required: true schema: type: string - delete: - description: Deletes the specified note. - operationId: containeranalysis.projects.notes.delete + /v1/projects/{projectsId}/notes/{notesId}/occurrences: + parameters: *ref_1 + get: + description: >- + Lists occurrences referencing the specified note. Provider projects can + use this method to get all occurrences across consumer projects + referencing the specified note. + operationId: containeranalysis.projects.notes.occurrences.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7129,7 +7143,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/ListNoteOccurrencesResponse' parameters: - in: path name: projectsId @@ -7141,9 +7155,24 @@ paths: required: true schema: type: string - patch: - description: Updates the specified note. - operationId: containeranalysis.projects.notes.patch + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/notes: + parameters: *ref_1 + post: + description: Creates a new note. + operationId: containeranalysis.projects.notes.create requestBody: content: application/json: @@ -7167,18 +7196,10 @@ paths: required: true schema: type: string - - in: path - name: notesId - required: true - schema: - type: string - in: query - name: updateMask + name: noteId schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/notes: - parameters: *ref_1 get: description: Lists notes for the specified project. operationId: containeranalysis.projects.notes.list @@ -7200,27 +7221,29 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 + - in: query + name: pageToken + schema: + type: string - in: query name: filter schema: type: string + /v1/projects/{projectsId}/notes:batchCreate: + parameters: *ref_1 post: - description: Creates a new note. - operationId: containeranalysis.projects.notes.create + description: Creates new notes in batch. + operationId: containeranalysis.projects.notes.batchCreate requestBody: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/BatchCreateNotesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7232,33 +7255,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Note' + $ref: '#/components/schemas/BatchCreateNotesResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: noteId - schema: - type: string - /v1/projects/{projectsId}/notes/{notesId}:setIamPolicy: + /v1/projects/{projectsId}/notes/{notesId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: containeranalysis.projects.notes.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + delete: + description: Deletes the specified note. + operationId: containeranalysis.projects.notes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7270,7 +7278,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -7282,21 +7290,9 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/notes/{notesId}:testIamPermissions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: containeranalysis.projects.notes.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + get: + description: Gets the specified note. + operationId: containeranalysis.projects.notes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7308,7 +7304,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId @@ -7320,16 +7316,14 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/notes:batchCreate: - parameters: *ref_1 - post: - description: Creates new notes in batch. - operationId: containeranalysis.projects.notes.batchCreate + patch: + description: Updates the specified note. + operationId: containeranalysis.projects.notes.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/BatchCreateNotesRequest' + $ref: '#/components/schemas/Note' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7341,13 +7335,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/BatchCreateNotesResponse' + $ref: '#/components/schemas/Note' parameters: - in: path name: projectsId required: true schema: type: string + - in: path + name: notesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask /v1/projects/{projectsId}/notes/{notesId}:getIamPolicy: parameters: *ref_1 post: @@ -7387,14 +7391,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/notes/{notesId}/occurrences: + /v1/projects/{projectsId}/notes/{notesId}:testIamPermissions: parameters: *ref_1 - get: + post: description: >- - Lists occurrences referencing the specified note. Provider projects can - use this method to get all occurrences across consumer projects - referencing the specified note. - operationId: containeranalysis.projects.notes.occurrences.list + 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. + operationId: containeranalysis.projects.notes.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7406,7 +7417,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListNoteOccurrencesResponse' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -7418,29 +7429,22 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/resources/{resourcesId}:exportSBOM: + /v1/projects/{projectsId}/notes/{notesId}:setIamPolicy: parameters: *ref_1 post: - description: Generates an SBOM for the given resource. - operationId: containeranalysis.projects.resources.exportSBOM + description: >- + 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. + operationId: containeranalysis.projects.notes.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/ExportSBOMRequest' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7452,7 +7456,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ExportSBOMResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -7460,7 +7464,7 @@ paths: schema: type: string - in: path - name: resourcesId + name: notesId required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/contentwarehouse.yaml b/providers/src/googleapis.com/v00.00.00000/services/contentwarehouse.yaml index b8bf7ed9..345e6a44 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/contentwarehouse.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/contentwarehouse.yaml @@ -8,7 +8,7 @@ info: description: '' version: v1 x-discovery-doc-revision: '20240809' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/document-warehouse servers: @@ -34,865 +34,552 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata: - id: GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata - type: object - properties: {} - description: Metadata object for CreateDocument request (currently empty). - GoogleCloudContentwarehouseV1HistogramQuery: + GoogleCloudContentwarehouseV1InitializeProjectRequest: + id: GoogleCloudContentwarehouseV1InitializeProjectRequest properties: - histogramQuery: + kmsKey: type: string description: >- - An expression specifies a histogram request against matching - documents for searches. See SearchDocumentsRequest.histogram_queries - for details about syntax. - requirePreciseResultSize: - description: >- - Controls if the histogram query requires the return of a precise - count. Enable this flag may adversely impact performance. Defaults - to true. + Optional. The KMS key used for CMEK encryption. It is required that + the kms key is in the same region as the endpoint. The same key will + be used for all provisioned resources, if encryption is available. + If the kms_key is left empty, no encryption will be enforced. + enableCalUserEmailLogging: type: boolean - filters: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter - description: >- - Optional. Filter the result of histogram query by the property - names. It only works with histogram query - count('FilterableProperties'). It is an optional. It will perform - histogram on all the property names for all the document schemas. - Setting this field will have a better performance. - id: GoogleCloudContentwarehouseV1HistogramQuery - description: The histogram request. - type: object - GoogleTypePostalAddress: - properties: - revision: - type: integer - description: >- - The schema revision of the `PostalAddress`. This must be set to 0, - which is the latest revision. All new revisions **must** be backward - compatible with old revisions. - format: int32 - regionCode: - description: >- - Required. CLDR region code of the country/region of the address. - This is never inferred and it is up to the user to ensure the value - is correct. See https://cldr.unicode.org/ and - https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html - for details. Example: "CH" for Switzerland. - type: string - administrativeArea: - description: >- - Optional. Highest administrative subdivision which is used for - postal addresses of a country or region. For example, this can be a - state, a province, an oblast, or a prefecture. Specifically, for - Spain this is the province and not the autonomous community (e.g. - "Barcelona" and not "Catalonia"). Many countries don't use an - administrative area in postal addresses. E.g. in Switzerland this - should be left unpopulated. - type: string - organization: - type: string - description: Optional. The name of the organization at the address. - locality: + description: Optional. Whether to enable CAL user email logging. + databaseType: + enum: + - DB_UNKNOWN + - DB_INFRA_SPANNER + - DB_CLOUD_SQL_POSTGRES + enumDescriptions: + - This value is required by protobuf best practices + - Internal Spanner + - Cloud Sql with a Postgres Sql instance type: string - description: >- - Optional. Generally refers to the city/town portion of the address. - Examples: US city, IT comune, UK post town. In regions of the world - where localities are not well defined or do not fit into this - structure well, leave locality empty and use address_lines. - sortingCode: + description: Required. The type of database used to store customer data + enumDeprecated: + - false + - false + - true + accessControlMode: type: string - description: >- - Optional. Additional, country-specific, sorting code. This is not - used in most regions. Where it is used, the value is either a string - like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or - just a number alone, representing the "sector code" (Jamaica), - "delivery area indicator" (Malawi) or "post office indicator" (e.g. - Côte d'Ivoire). - sublocality: + description: Required. The access control mode for accessing the customer data + enumDescriptions: + - This value is required by protobuf best practices + - 'Universal Access: No document level access control.' + - Document level access control with customer own Identity Service. + - Document level access control using Google Cloud Identity. + enum: + - ACL_MODE_UNKNOWN + - ACL_MODE_UNIVERSAL_ACCESS + - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID + - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI + documentCreatorDefaultRole: + enumDescriptions: + - Unspecified, will be default to document admin role. + - >- + Document Admin, same as + contentwarehouse.googleapis.com/documentAdmin. + - >- + Document Editor, same as + contentwarehouse.googleapis.com/documentEditor. + - >- + Document Viewer, same as + contentwarehouse.googleapis.com/documentViewer. + description: Optional. The default role for the person who create a document. + enum: + - DOCUMENT_CREATOR_DEFAULT_ROLE_UNSPECIFIED + - DOCUMENT_ADMIN + - DOCUMENT_EDITOR + - DOCUMENT_VIEWER type: string - description: >- - Optional. Sublocality of the address. For example, this can be - neighborhoods, boroughs, districts. - addressLines: + type: object + description: Request message for projectService.InitializeProject + GoogleCloudContentwarehouseV1CustomWeightsMetadata: + id: GoogleCloudContentwarehouseV1CustomWeightsMetadata + description: To support the custom weighting across document schemas. + type: object + properties: + weightedSchemaProperties: items: - type: string + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1WeightedSchemaProperty type: array description: >- - Unstructured address lines describing the lower levels of an - address. Because values in address_lines do not have type - information and may sometimes contain multiple values in a single - field (e.g. "Austin, TX"), it is important that the line order is - clear. The order of address lines should be "envelope order" for the - country/region of the address. In places where this can vary (e.g. - Japan), address_language is used to make it explicit (e.g. "ja" for - large-to-small ordering and "ja-Latn" or "en" for small-to-large). - This way, the most specific line of an address can be selected based - on the language. The minimum permitted structural representation of - an address consists of a region_code with all remaining information - placed in the address_lines. It would be possible to format such an - address very approximately without geocoding, but no semantic - reasoning could be made about any of the address components until it - was at least partially resolved. Creating an address only containing - a region_code and address_lines, and then geocoding is the - recommended way to handle completely unstructured addresses (as - opposed to guessing which parts of the address should be localities - or administrative areas). - recipients: - description: >- - Optional. The recipient at the address. This field may, under - certain circumstances, contain multiline information. For example, - it might contain "care of" information. + List of schema and property name. Allows a maximum of 10 schemas to + be specified for relevance boosting. + GoogleCloudDocumentaiV1BoundingPoly: + properties: + vertices: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Vertex' + description: The bounding polygon vertices. type: array + normalizedVertices: items: - type: string - languageCode: - type: string - description: >- - Optional. BCP-47 language code of the contents of this address (if - known). This is often the UI language of the input form or is - expected to match one of the languages used in the address' - country/region, or their transliterated equivalents. This can affect - formatting in certain countries, but is not critical to the - correctness of the data and will never affect any validation or - other non-formatting related operations. If this value is not known, - it should be omitted (rather than specifying a possibly incorrect - default). Examples: "zh-Hant", "ja", "ja-Latn", "en". - postalCode: - description: >- - Optional. Postal code of the address. Not all countries use or - require postal codes to be present, but where they are used, they - may trigger additional validation with other parts of the address - (e.g. state/zip validation in the U.S.A.). - type: string - id: GoogleTypePostalAddress + $ref: '#/components/schemas/GoogleCloudDocumentaiV1NormalizedVertex' + type: array + description: The bounding polygon normalized vertices. + description: A bounding polygon for the detected image annotation. + id: GoogleCloudDocumentaiV1BoundingPoly type: object - description: >- - Represents a postal address, e.g. for postal delivery or payments - addresses. Given a postal address, a postal service can deliver items to - a premise, P.O. Box or similar. It is not intended to model geographical - locations (roads, towns, mountains). In typical usage an address would - be created via user input or from importing existing data, depending on - the type of process. Advice on address input / editing: - Use an - internationalization-ready address widget such as - https://github.com/google/libaddressinput) - Users should not be - presented with UI elements for input or editing of fields outside - countries where that field is used. For more guidance on how to use this - schema, please see: https://support.google.com/business/answer/6397478 - GoogleCloudContentwarehouseV1EnumTypeOptions: - id: GoogleCloudContentwarehouseV1EnumTypeOptions + GoogleCloudContentwarehouseV1FloatArray: + description: Float values. properties: - possibleValues: - items: - type: string + values: + description: List of float values. type: array - description: Required. List of possible enum values. - validationCheckDisabled: - type: boolean - description: >- - Make sure the Enum property value provided in the document is in the - possile value list during document creation. The validation check - runs by default. - description: Configurations for an enum/categorical property. + items: + format: float + type: number + id: GoogleCloudContentwarehouseV1FloatArray type: object - GoogleCloudContentwarehouseV1DateTimeTypeOptions: - id: GoogleCloudContentwarehouseV1DateTimeTypeOptions - description: Configurations for a date time property. - properties: {} + GoogleCloudContentwarehouseV1ActionOutput: type: object - GoogleCloudDocumentaiV1DocumentPageLayout: properties: - boundingPoly: - description: The bounding polygon for the Layout. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' - orientation: - enumDescriptions: - - Unspecified orientation. - - Orientation is aligned with page up. - - >- - Orientation is aligned with page right. Turn the head 90 degrees - clockwise from upright to read. - - >- - Orientation is aligned with page down. Turn the head 180 degrees - from upright to read. - - >- - Orientation is aligned with page left. Turn the head 90 degrees - counterclockwise from upright to read. + actionId: type: string - description: Detected orientation for the Layout. + description: ID of the action. + actionState: enum: - - ORIENTATION_UNSPECIFIED - - PAGE_UP - - PAGE_RIGHT - - PAGE_DOWN - - PAGE_LEFT - textAnchor: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - description: Text anchor indexing into the Document.text. - confidence: - description: >- - Confidence of the current Layout within context of the object this - layout is for. e.g. confidence can be for a single token, a table, a - visual element, etc. depending on context. Range `[0, 1]`. - format: float - type: number - type: object - id: GoogleCloudDocumentaiV1DocumentPageLayout - description: Visual element describing a layout unit on a page. - GoogleCloudDocumentaiV1DocumentEntityNormalizedValue: - description: Parsed and normalized entity value. - id: GoogleCloudDocumentaiV1DocumentEntityNormalizedValue - properties: - datetimeValue: - $ref: '#/components/schemas/GoogleTypeDateTime' - description: >- - DateTime value. Includes date, time, and timezone. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto - text: - description: >- - Optional. An optional field to store a normalized string. For some - entity types, one of respective `structured_value` fields may also - be populated. Also not all the types of `structured_value` will be - normalized. For example, some processors may not generate `float` or - `integer` normalized text by default. Below are sample formats - mapped to structured values. - Money/Currency type (`money_value`) - is in the ISO 4217 text format. - Date type (`date_value`) is in the - ISO 8601 text format. - Datetime type (`datetime_value`) is in the - ISO 8601 text format. + - UNKNOWN + - ACTION_SUCCEEDED + - ACTION_FAILED + - ACTION_TIMED_OUT + - ACTION_PENDING + description: State of an action. type: string - moneyValue: - $ref: '#/components/schemas/GoogleTypeMoney' - description: >- - Money value. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/money.proto - booleanValue: - type: boolean - description: >- - Boolean value. Can be used for entities with binary values, or for - checkboxes. - dateValue: - description: >- - Date value. Includes year, month, day. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/date.proto - $ref: '#/components/schemas/GoogleTypeDate' - integerValue: - description: Integer value. - format: int32 - type: integer - floatValue: - format: float - description: Float value. - type: number - addressValue: - $ref: '#/components/schemas/GoogleTypePostalAddress' - description: >- - Postal address. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto - type: object - GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus: - description: The status of processing a document. - properties: - status: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status processing the document. - documentId: + enumDescriptions: + - The unknown state. + - State indicating action executed successfully. + - State indicating action failed. + - State indicating action timed out. + - State indicating action is pending. + outputMessage: + description: Action execution output message. type: string - description: Document identifier of an existing document. - type: object - id: GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan: + id: GoogleCloudContentwarehouseV1ActionOutput + description: Represents the result of executing an action. + GoogleCloudContentwarehouseV1MapProperty: type: object + id: GoogleCloudContentwarehouseV1MapProperty properties: - pageEnd: - format: int32 - description: Page where chunk ends in the document. - type: integer - pageStart: - type: integer - format: int32 - description: Page where chunk starts in the document. - description: Represents where the chunk starts and ends in the document. - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - GoogleTypeDateTime: + fields: + description: Unordered map of dynamically typed values. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Value' description: >- - Represents civil time (or occasionally physical time). This type can - represent a civil time in one of a few possible ways: * When utc_offset - is set and time_zone is unset: a civil time on a calendar day with a - particular offset from UTC. * When time_zone is set and utc_offset is - unset: a civil time on a calendar day in a particular time zone. * When - neither time_zone nor utc_offset is set: a civil time on a calendar day - in local time. The date is relative to the Proleptic Gregorian Calendar. - If year, month, or day are 0, the DateTime is considered not to have a - specific year, month, or day respectively. This type may also be used to - represent a physical time if all the date and time fields are set and - either case of the `time_offset` oneof is set. Consider using - `Timestamp` message for physical time instead. If your use case also - would like to store the user's timezone, that can be done in another - field. This type is more flexible than some applications may want. Make - sure to document and validate your application's limitations. - id: GoogleTypeDateTime - properties: - day: - format: int32 - description: >- - Optional. Day of month. Must be from 1 to 31 and valid for the year - and month, or 0 if specifying a datetime without a day. - type: integer - hours: - type: integer - description: >- - Optional. Hours of day in 24 hour format. Should be from 0 to 23, - defaults to 0 (midnight). An API may choose to allow the value - "24:00:00" for scenarios like business closing time. - format: int32 - month: - type: integer - description: >- - Optional. Month of year. Must be from 1 to 12, or 0 if specifying a - datetime without a month. - format: int32 - timeZone: - $ref: '#/components/schemas/GoogleTypeTimeZone' - description: Time zone. - year: - format: int32 - description: >- - Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a - datetime without a year. - type: integer - utcOffset: - format: google-duration - description: >- - UTC offset. Must be whole seconds, between -18 hours and +18 hours. - For example, a UTC offset of -4:00 would be represented as { - seconds: -14400 }. - type: string - minutes: - type: integer - description: >- - Optional. Minutes of hour of day. Must be from 0 to 59, defaults to - 0. - format: int32 - nanos: - format: int32 - description: >- - Optional. Fractions of seconds in nanoseconds. Must be from 0 to - 999,999,999, defaults to 0. - type: integer - seconds: - format: int32 - description: >- - Optional. Seconds of minutes of the time. Must normally be from 0 to - 59, defaults to 0. An API may allow the value 60 if it allows - leap-seconds. - type: integer - type: object - GoogleCloudContentwarehouseV1DocumentSchema: + Map property value. Represents a structured entries of key value pairs, + consisting of field names which map to dynamically typed values. + GoogleCloudContentwarehouseV1RuleActionsPair: properties: - propertyDefinitions: + actionOutputs: + description: Outputs of executing the actions associated with the above rule. type: array - description: Document details. items: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1PropertyDefinition - documentIsFolder: - type: boolean - description: >- - Document Type, true refers the document is a folder, otherwise it is - a typical document. - description: - type: string - description: Schema description. - displayName: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ActionOutput' + rule: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + description: Represents the rule. + id: GoogleCloudContentwarehouseV1RuleActionsPair + type: object + description: Represents a rule and outputs of associated actions. + GoogleCloudContentwarehouseV1DocumentLink: + description: A document-link between source and target document. + properties: + targetDocumentReference: + description: Document references of the target document. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentReference' + sourceDocumentReference: + description: Document references of the source document. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentReference' + state: + enumDescriptions: + - Unknown state of documentlink. + - The documentlink has both source and target documents detected. + - >- + Target document is deleted, and mark the documentlink as + soft-deleted. type: string + enum: + - STATE_UNSPECIFIED + - ACTIVE + - SOFT_DELETED description: >- - Required. Name of the schema given by the user. Must be unique per - project. + The state of the documentlink. If target node has been deleted, the + link is marked as invalid. Removing a source node will result in + removal of all associated links. + updateTime: + readOnly: true + format: google-datetime + description: Output only. The time when the documentLink is last updated. + type: string name: - description: >- - 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. type: string + description: >- + Name of this document-link. It is required that the parent derived + form the name to be consistent with the source document reference. + Otherwise an exception will be thrown. Format: + projects/{project_number}/locations/{location}/documents/{source_document_id}/documentLinks/{document_link_id}. createTime: + type: string + description: Output only. The time when the documentLink is created. format: google-datetime readOnly: true + description: + description: Description of this document-link. type: string - description: Output only. The time when the document schema is created. - updateTime: - readOnly: true - format: google-datetime - description: Output only. The time when the document schema is last updated. - type: string - id: GoogleCloudContentwarehouseV1DocumentSchema type: object - description: A document schema used to define document structure. - GoogleCloudDocumentaiV1DocumentTextAnchor: + id: GoogleCloudContentwarehouseV1DocumentLink + GoogleCloudContentwarehouseV1TimestampArray: + type: object + description: Timestamp values. properties: - textSegments: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment + values: + description: List of timestamp values. type: array - description: The text segments from the Document.text. - content: - description: >- - Contains the content of the text span so that users do not have to - look it up in the text_segments. It is always populated for - formFields. - type: string - description: Text reference indexing into the Document.text. - id: GoogleCloudDocumentaiV1DocumentTextAnchor - type: object - CloudAiPlatformTenantresourceIamPolicyBinding: + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimestampValue' + id: GoogleCloudContentwarehouseV1TimestampArray + GoogleLongrunningOperation: type: object + id: GoogleLongrunningOperation + description: >- + This resource represents a long-running operation that is the result of + a network API call. properties: - resourceType: - description: >- - Input/Output [Required]. Specifies the type of resource that will be - accessed by members. + name: type: string - enumDescriptions: - - '' - - >- - The value of resource field is the ID or number of a project. - Format is - - >- - The value of resource field is the resource name of a service - account. Format is projects//serviceAccounts/ - - >- - The value of resource field is the name of a GCS bucket (not its - resource name). Format is . - - >- - The value of resource field is the resource name of a service - consumer. Format is services//consumers/ - - >- - The value of the resource field is the AR Image Uri which - identifies an AR REPO. Allowed formats are: /// ///: ///@ - enum: - - RESOURCE_TYPE_UNSPECIFIED - - PROJECT - - SERVICE_ACCOUNT - - GCS_BUCKET - - SERVICE_CONSUMER - - AR_REPO - members: - items: - type: string - type: array description: >- - Input/Output [Required]. The member service accounts with the roles - above. Note: placeholders are same as the resource above. - resource: + 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}`. + response: description: >- - Input/Output [Required]. The resource name that will be accessed by - members, which also depends on resource_type. Note: placeholders are - supported in resource names. For example, ${tpn} will be used when - the tenant project number is not ready. - type: string - role: - description: Input/Output [Required]. The role for members below. - type: string - id: CloudAiPlatformTenantresourceIamPolicyBinding - description: >- - The dynamic IAM bindings to be granted after tenant projects are - created. - GoogleCloudContentwarehouseV1FloatArray: - description: Float values. - id: GoogleCloudContentwarehouseV1FloatArray - properties: - values: - type: array - items: - format: float - type: number - description: List of float values. - type: object - GoogleCloudDocumentaiV1DocumentPageDetectedLanguage: - description: Detected language for a structural component. + 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`. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + metadata: + description: >- + 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. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + The error result of the operation in case of failure or + cancellation. + done: + type: boolean + description: >- + 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. + GoogleCloudContentwarehouseV1ListLinkedTargetsRequest: type: object properties: - languageCode: + requestMetadata: description: >- - The [BCP-47 language - code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), - such as `en-US` or `sr-Latn`. - type: string - confidence: - type: number - description: Confidence of detected language. Range `[0, 1]`. - format: float - id: GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - GoogleApiServiceconsumermanagementV1PolicyBinding: - id: GoogleApiServiceconsumermanagementV1PolicyBinding + The meta information collected about the document creator, used to + enforce access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + id: GoogleCloudContentwarehouseV1ListLinkedTargetsRequest + description: Request message for DocumentLinkService.ListLinkedTargets. + GoogleCloudContentwarehouseV1DocumentQuery: type: object properties: - members: - description: >- - Uses the same format as in IAM policy. `member` must include both a - prefix and ID. For example, `user:{emailId}`, - `serviceAccount:{emailId}`, `group:{emailId}`. + documentSchemaNames: + type: array items: type: string - type: array - role: - type: string description: >- - Role. (https://cloud.google.com/iam/docs/understanding-roles) For - example, `roles/viewer`, `roles/editor`, or `roles/owner`. - description: Translates to IAM Policy bindings (without auditing at this level) - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter: - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter - properties: - pageSpan: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - description: Page span of the footer. - text: - type: string - description: Footer in text format. - description: Represents the page footer associated with the chunk. - type: object - GoogleCloudContentwarehouseV1ProcessorInfo: - type: object - id: GoogleCloudContentwarehouseV1ProcessorInfo - properties: - processorName: - type: string + This filter specifies the exact document schema + Document.document_schema_name of the documents to search against. If + a value isn't specified, documents within the search results are + associated with any schema. If multiple values are specified, + documents within the search results may be associated with any of + the specified schemas. At most 20 document schema names are allowed. + query: description: >- - The processor resource name. Format is - `projects/{project}/locations/{location}/processors/{processor}`, or - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` - documentType: + The query string that matches against the full text of the document + and the searchable properties. The query partially supports [Google + AIP style syntax](https://google.aip.dev/160). Specifically, the + query supports literals, logical operators, negation operators, + comparison operators, and functions. Literals: A bare literal value + (examples: "42", "Hugo") is a value to be matched against. It + searches over the full text of the document and the searchable + properties. Logical operators: "AND", "and", "OR", and "or" are + binary logical operators (example: "engineer OR developer"). + Negation operators: "NOT" and "!" are negation operators (example: + "NOT software"). Comparison operators: support the binary comparison + operators =, !=, <, >, <= and >= for string, numeric, enum, boolean. + Also support like operator `~~` for string. It provides semantic + search functionality by parsing, stemming and doing synonyms + expansion against the input query. To specify a property in the + query, the left hand side expression in the comparison must be the + property ID including the parent. The right hand side must be + literals. For example: "\"projects/123/locations/us\".property_a < + 1" matches results whose "property_a" is less than 1 in project 123 + and us location. The literals and comparison expression can be + connected in a single query (example: "software engineer + \"projects/123/locations/us\".salary > 100"). Functions: supported + functions are `LOWER([property_name])` to perform a case insensitive + match and `EMPTY([property_name])` to filter on the existence of a + key. Support nested expressions connected using parenthesis and + logical operators. The default logical operators is `AND` if there + is no operators between expressions. The query can be used with + other filters e.g. `time_filters` and `folder_name_filter`. They are + connected with `AND` operator under the hood. The maximum number of + allowed characters is 255. type: string - description: The processor will process the documents with this document type. - schemaName: + timeFilters: description: >- - The Document schema resource name. All documents processed by this - processor will use this schema. Format: - projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. - type: string - description: The DocAI processor information. - GoogleCloudContentwarehouseV1TimestampArray: - type: object - properties: - values: - description: List of timestamp values. + Documents created/updated within a range specified by this filter + are searched against. items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimestampValue' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimeFilter' type: array - description: Timestamp values. - id: GoogleCloudContentwarehouseV1TimestampArray - GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline: - id: GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline - type: object - properties: - processorResultsFolderPath: - type: string + folderNameFilter: description: >- - The Cloud Storage folder path used to store the raw results from - processors. Format: `gs:///`. - documents: - description: >- - The list of all the resource names of the documents to be processed. - Format: + Search all the documents under this specified folder. Format: projects/{project_number}/locations/{location}/documents/{document_id}. + type: string + propertyFilter: + type: array + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1PropertyFilter' + description: >- + This filter specifies a structured syntax to match against the + PropertyDefinition.is_filterable marked as `true`. The relationship + between the PropertyFilters is OR. + queryContext: items: type: string type: array - processorInfo: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' - description: The CDW processor information. - exportFolderPath: - type: string description: >- - The Cloud Storage folder path used to store the exported documents - before being sent to CDW. Format: `gs:///`. - description: >- - The configuration of processing documents in Document Warehouse with - DocAi processors pipeline. - GoogleTypeExpr: - type: object - id: GoogleTypeExpr - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. - properties: - location: + For custom synonyms. Customers provide the synonyms based on + context. One customer can provide multiple set of synonyms based on + different context. The search query will be expanded based on the + custom synonyms of the query context set. By default, no custom + synonyms wll be applied if no query context is provided. It is not + supported for CMEK compliant deployment. + customPropertyFilter: type: string description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - expression: + This filter specifies a structured syntax to match against the + [PropertyDefinition].is_filterable marked as `true`. The syntax for + this expression is a subset of SQL syntax. Supported operators are: + `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator + is a property name and the right of the operator is a number or a + quoted string. You must escape backslash (\\) and quote (\") + characters. Supported functions are `LOWER([property_name])` to + perform a case insensitive match and `EMPTY([property_name])` to + filter on the existence of a key. Boolean expressions (AND/OR/NOT) + are supported up to 3 levels of nesting (for example, "((A AND B AND + C) OR NOT D) AND E"), a maximum of 100 comparisons or functions are + allowed in the expression. The expression must be < 6000 bytes in + length. Sample Query: `(LOWER(driving_license)="class \"a\"" OR + EMPTY(driving_license)) AND driving_years > 10` + deprecated: true + documentCreatorFilter: + type: array description: >- - Textual representation of an expression in Common Expression - Language syntax. - type: string - title: - type: string + The exact creator(s) of the documents to search against. If a value + isn't specified, documents within the search results are associated + with any creator. If multiple values are specified, documents within + the search results may be associated with any of the specified + creators. + items: + type: string + customWeightsMetadata: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1CustomWeightsMetadata description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - description: - type: string + To support the custom weighting across document schemas, customers + need to provide the properties to be used to boost the ranking in + the search request. For a search query with CustomWeightsMetadata + specified, only the RetrievalImportance for the properties in the + CustomWeightsMetadata will be honored. + isNlQuery: description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock: - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock - description: Represents a list type block. - properties: - listEntries: - description: List entries that constitute a list block. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry + Experimental, do not use. If the query is a natural language + question. False by default. If true, then the question-answering + feature will be used instead of search, and `result_count` in + SearchDocumentsRequest must be set. In addition, all other input + fields related to search (pagination, histograms, etc.) will be + ignored. + type: boolean + fileTypeFilter: + description: >- + This filter specifies the types of files to return: ALL, FOLDER, or + FILE. If FOLDER or FILE is specified, then only either folders or + files will be returned, respectively. If ALL is specified, both + folders and files will be returned. If no value is specified, ALL + files will be returned. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1FileTypeFilter' + documentNameFilter: + description: >- + Search the documents in the list. Format: + projects/{project_number}/locations/{location}/documents/{document_id}. type: array - type: + items: + type: string + id: GoogleCloudContentwarehouseV1DocumentQuery + GoogleCloudContentwarehouseV1PublishAction: + description: >- + Represents the action responsible for publishing messages to a Pub/Sub + topic. + properties: + topicId: description: >- - Type of the list_entries (if exist). Available options are `ordered` - and `unordered`. + The topic id in the Pub/Sub service for which messages will be + published to. type: string + messages: + type: array + description: Messages to be published. + items: + type: string type: object - GoogleCloudDocumentaiV1DocumentPageDimension: - type: object - id: GoogleCloudDocumentaiV1DocumentPageDimension - properties: - unit: - type: string - description: Dimension unit. - height: - type: number - format: float - description: Page height. - width: - type: number - description: Page width. - format: float - description: Dimension for the page. - GoogleRpcStatus: + id: GoogleCloudContentwarehouseV1PublishAction + GoogleCloudContentwarehouseV1FetchAclResponse: type: object properties: - details: - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - type: array - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - message: + metadata: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - type: string - code: - type: integer - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - description: >- - 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). - id: GoogleRpcStatus - GoogleCloudContentwarehouseV1Value: - description: >- - `Value` represents a dynamically typed value which can be either be a - float, a integer, a string, or a datetime value. A producer of value is - expected to set one of these variants. Absence of any variant indicates - an error. + Additional information for the API invocation, such as the request + tracking id. + policy: + $ref: '#/components/schemas/GoogleIamV1Policy' + description: The IAM policy. + description: Response message for DocumentService.FetchAcl. + id: GoogleCloudContentwarehouseV1FetchAclResponse + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan: + description: Represents where the chunk starts and ends in the document. type: object - id: GoogleCloudContentwarehouseV1Value + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan properties: - stringValue: - description: Represents a string value. - type: string - timestampValue: - description: Represents a timestamp value. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimestampValue' - floatValue: - description: Represents a float value. - type: number - format: float - intValue: + pageEnd: + description: Page where chunk ends in the document. format: int32 type: integer - description: Represents a integer value. - datetimeValue: - description: Represents a datetime value. - $ref: '#/components/schemas/GoogleTypeDateTime' - booleanValue: - description: Represents a boolean value. - type: boolean - enumValue: - description: Represents an enum value. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1EnumValue' - GoogleCloudContentwarehouseV1MergeFieldsOptions: - description: Options for merging updated fields. + pageStart: + type: integer + format: int32 + description: Page where chunk starts in the document. + GoogleCloudContentwarehouseV1FloatTypeOptions: + properties: {} + id: GoogleCloudContentwarehouseV1FloatTypeOptions + description: Configurations for a float property. + type: object + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader: + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader type: object + description: Represents the page header associated with the chunk. properties: - replaceRepeatedFields: - description: >- - When merging repeated fields, the default behavior is to append - entries from the source repeated field to the destination repeated - field. If you instead want to keep only the entries from the source - repeated field, set this flag to true. If you want to replace a - repeated field within a message field on the destination message, - you must set both replace_repeated_fields and replace_message_fields - to true, otherwise the repeated fields will be appended. - type: boolean - replaceMessageFields: - description: >- - When merging message fields, the default behavior is to merge the - content of two message fields together. If you instead want to use - the field from the source message to replace the corresponding field - in the destination message, set this flag to true. When this flag is - set, specified submessage fields that are missing in source will be - cleared in destination. - type: boolean - id: GoogleCloudContentwarehouseV1MergeFieldsOptions - GoogleCloudContentwarehouseV1DeleteDocumentRequest: - id: GoogleCloudContentwarehouseV1DeleteDocumentRequest - properties: - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - description: >- - The meta information collected about the end user, used to enforce - access control for the service. - description: Request message for DocumentService.DeleteDocument. + pageSpan: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + description: Page span of the header. + text: + type: string + description: Header in text format. + GoogleTypeDateTime: + id: GoogleTypeDateTime type: object - GoogleCloudContentwarehouseV1DocumentLink: - description: A document-link between source and target document. + description: >- + Represents civil time (or occasionally physical time). This type can + represent a civil time in one of a few possible ways: * When utc_offset + is set and time_zone is unset: a civil time on a calendar day with a + particular offset from UTC. * When time_zone is set and utc_offset is + unset: a civil time on a calendar day in a particular time zone. * When + neither time_zone nor utc_offset is set: a civil time on a calendar day + in local time. The date is relative to the Proleptic Gregorian Calendar. + If year, month, or day are 0, the DateTime is considered not to have a + specific year, month, or day respectively. This type may also be used to + represent a physical time if all the date and time fields are set and + either case of the `time_offset` oneof is set. Consider using + `Timestamp` message for physical time instead. If your use case also + would like to store the user's timezone, that can be done in another + field. This type is more flexible than some applications may want. Make + sure to document and validate your application's limitations. properties: - updateTime: - readOnly: true - description: Output only. The time when the documentLink is last updated. - format: google-datetime - type: string - name: - type: string + nanos: + format: int32 description: >- - Name of this document-link. It is required that the parent derived - form the name to be consistent with the source document reference. - Otherwise an exception will be thrown. Format: - projects/{project_number}/locations/{location}/documents/{source_document_id}/documentLinks/{document_link_id}. - createTime: - format: google-datetime - type: string - description: Output only. The time when the documentLink is created. - readOnly: true - state: - type: string - enum: - - STATE_UNSPECIFIED - - ACTIVE - - SOFT_DELETED - enumDescriptions: - - Unknown state of documentlink. - - The documentlink has both source and target documents detected. - - >- - Target document is deleted, and mark the documentlink as - soft-deleted. + Optional. Fractions of seconds in nanoseconds. Must be from 0 to + 999,999,999, defaults to 0. + type: integer + minutes: description: >- - The state of the documentlink. If target node has been deleted, the - link is marked as invalid. Removing a source node will result in - removal of all associated links. - description: - description: Description of this document-link. - type: string - targetDocumentReference: - description: Document references of the target document. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentReference' - sourceDocumentReference: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentReference' - description: Document references of the source document. - id: GoogleCloudContentwarehouseV1DocumentLink - type: object - CloudAiPlatformTenantresourceInfraSpannerConfig: - description: 'The configuration for a spanner database provisioning. Next ID: 8' - type: object - id: CloudAiPlatformTenantresourceInfraSpannerConfig - properties: - kmsKeyReference: + Optional. Minutes of hour of day. Must be from 0 to 59, defaults to + 0. + format: int32 + type: integer + month: + type: integer + format: int32 description: >- - Input [Optional]. The KMS key name or the KMS grant name used for - CMEK encryption. Only set this field when provisioning new Infra - Spanner databases. For existing Infra Spanner databases, this field - will be ignored because CMEK re-encryption is not supported. For - example, projects//locations//keyRings//cryptoKeys/ - type: string - sdlBundlePath: - type: string - description: Input [Required]. The file path to the spanner SDL bundle. - createDatabaseOptions: - $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions + Optional. Month of year. Must be from 1 to 12, or 0 if specifying a + datetime without a month. + year: description: >- - Input [Optional]. The options to create a spanner database. Note: - give the right options to ensure the right KMS key access audit - logging and AxT logging in expected logging category. - spannerUniverse: - type: string + Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a + datetime without a year. + type: integer + format: int32 + hours: description: >- - Input [Required]. Every database in Spanner can be identified by the - following path name: /span//: - spannerNamespace: - type: string - spannerLocalNamePrefix: + Optional. Hours of day in 24 hour format. Should be from 0 to 23, + defaults to 0 (midnight). An API may choose to allow the value + "24:00:00" for scenarios like business closing time. + format: int32 + type: integer + utcOffset: type: string - spannerBorgServiceAccount: + format: google-duration description: >- - Input [Optional]. The spanner borg service account for delegating - the kms key to. For example, - spanner-infra-cmek-nonprod@system.gserviceaccount.com, for the - nonprod universe. - type: string - GoogleCloudContentwarehouseV1ListSynonymSetsResponse: - type: object - properties: - synonymSets: - description: The synonymSets from the specified parent. - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' - type: array - nextPageToken: - type: string + UTC offset. Must be whole seconds, between -18 hours and +18 hours. + For example, a UTC offset of -4:00 would be represented as { + seconds: -14400 }. + day: + format: int32 description: >- - A page token, received from a previous `ListSynonymSets` call. - Provide this to retrieve the subsequent page. - description: Response message for SynonymSetService.ListSynonymSets. - id: GoogleCloudContentwarehouseV1ListSynonymSetsResponse - GoogleCloudDocumentaiV1DocumentPageBlock: + Optional. Day of month. Must be from 1 to 31 and valid for the year + and month, or 0 if specifying a datetime without a day. + type: integer + timeZone: + $ref: '#/components/schemas/GoogleTypeTimeZone' + description: Time zone. + seconds: + type: integer + format: int32 + description: >- + Optional. Seconds of minutes of the time. Must normally be from 0 to + 59, defaults to 0. An API may allow the value 60 if it allows + leap-seconds. + GoogleCloudDocumentaiV1DocumentPageSymbol: type: object - description: >- - A block has a set of lines (collected into paragraphs) that have a - common line-spacing and orientation. - id: GoogleCloudDocumentaiV1DocumentPageBlock + description: A detected symbol. properties: detectedLanguages: items: @@ -900,594 +587,490 @@ components: #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage type: array description: A list of detected languages together with confidence. - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: The history of this annotation. - deprecated: true layout: - description: Layout for Block. + description: Layout for Symbol. $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter: + id: GoogleCloudDocumentaiV1DocumentPageSymbol + CloudAiPlatformTenantresourceCloudSqlInstanceConfig: + type: object properties: - documentSchemas: - description: >- - This filter specifies the exact document schema(s) - Document.document_schema_name to run histogram query against. It is - optional. It will perform histogram for property names for all the - document schemas if it is not set. At most 10 document schema names - are allowed. Format: - projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. - items: - type: string - type: array - propertyNames: + slmInstanceType: + type: string + description: Input [Required]. The SLM instance type to provision CloudSQL. + kmsKeyReference: + type: string description: >- - It is optional. It will perform histogram for all the property names - if it is not set. The properties need to be defined with the - is_filterable flag set to true and the name of the property should - be in the format: "schemaId.propertyName". The property needs to be - defined in the schema. Example: the schema id is abc. Then the name - of property for property MORTGAGE_TYPE will be "abc.MORTGAGE_TYPE". + Input [Optional]. The KMS key name or the KMS grant name used for + CMEK encryption. Only set this field when provisioning new CloudSQL + instances. For existing CloudSQL instances, this field will be + ignored because CMEK re-encryption is not supported. + slmInstanceName: + description: Output only. The SLM instance's full resource name. + type: string + cloudSqlInstanceConnectionName: + type: string + description: Output only. The CloudSQL instance connection name. + mdbRolesForCorpAccess: items: type: string type: array - yAxis: - enum: - - HISTOGRAM_YAXIS_DOCUMENT - - HISTOGRAM_YAXIS_PROPERTY - enumDescriptions: - - Count the documents per property name. - - Count the properties per property name. + description: Input [Optional]. MDB roles for corp access to CloudSQL instance. + cloudSqlInstanceName: description: >- - By default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is - not set. + Input/Output [Optional]. The CloudSQL instance name within SLM + instance. If not set, a random UUIC will be generated as instance + name. type: string - type: object - id: GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter - CloudAiPlatformTenantresourceGcsBucketConfig: - properties: - entityName: - description: >- - Input/Output [Optional]. Only needed for per-entity tenant GCP - resources. During Deprovision API, the on-demand deletion will only - cover the tenant GCP resources with the specified entity name. - type: string - ttlDays: - description: >- - Input/Output [Optional]. Only needed when the content in bucket need - to be garbage collected within some amount of days. - format: int32 - type: integer - kmsKeyReference: - type: string - description: >- - Input/Output [Optional]. The KMS key name or the KMS grant name used - for CMEK encryption. Only set this field when provisioning new GCS - bucket. For existing GCS bucket, this field will be ignored because - CMEK re-encryption is not supported. - bucketName: + slmInstanceTemplate: type: string + description: Input [Required]. The SLM instance template to provision CloudSQL. + id: CloudAiPlatformTenantresourceCloudSqlInstanceConfig + description: >- + The identity to configure a CloudSQL instance provisioned via SLM + Terraform. + GoogleCloudDocumentaiV1DocumentPage: + type: object + properties: + visualElements: description: >- - Input/Output [Optional]. The name of a GCS bucket with max length of - 63 chars. If not set, a random UUID will be generated as bucket - name. - admins: + A list of detected non-text visual elements e.g. checkbox, signature + etc. on the page. type: array items: - type: string - viewers: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageVisualElement + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for the page. + formFields: items: - type: string - description: Input/Output [Required]. IAM roles (viewer/admin) put on the bucket. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageFormField' + description: A list of visually detected form fields on the page. type: array - type: object - description: The identity to configure a GCS bucket. - id: CloudAiPlatformTenantresourceGcsBucketConfig - GoogleCloudContentwarehouseV1SearchDocumentsRequest: - properties: - pageToken: - type: string - description: >- - The token specifying the current offset within search results. See - SearchDocumentsResponse.next_page_token for an explanation of how to - obtain the next set of query results. - offset: + provenance: + description: The history of this page. + deprecated: true + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + detectedLanguages: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + type: array + description: A list of detected languages together with confidence. + tokens: + type: array + description: A list of visually detected tokens on the page. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageToken' + blocks: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageBlock' description: >- - An integer that specifies the current offset (that is, starting - result location, amongst the documents deemed by the API as - relevant) in search results. This field is only considered if - page_token is unset. The maximum allowed value is 5000. Otherwise an - error is thrown. For example, 0 means to return results starting - from the first matching document, and 10 means to return from the - 11th document. This can be used for pagination, (for example, - pageSize = 10 and offset = 10 means to return from the second page). + A list of visually detected text blocks on the page. A block has a + set of lines (collected into paragraphs) that have a common + line-spacing and orientation. + type: array + pageNumber: format: int32 - type: integer - totalResultSize: - type: string - enum: - - TOTAL_RESULT_SIZE_UNSPECIFIED - - ESTIMATED_SIZE - - ACTUAL_SIZE description: >- - Controls if the search document request requires the return of a - total size of matched documents. See - SearchDocumentsResponse.total_size. - enumDescriptions: - - Total number calculation will be skipped. - - >- - Estimate total number. The total result size will be accurated up - to 10,000. This option will add cost and latency to your request. - - It may adversely impact performance. The limit is 1000,000. - documentQuery: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentQuery' - description: Query used to search against documents (keyword, filters, etc.). - pageSize: + 1-based index for current Page in a parent Document. Useful when a + page is taken out of a Document for individual processing. type: integer - format: int32 - description: >- - A limit on the number of documents returned in the search results. - Increasing this value above the default value of 10 can increase - search response time. The value can be between 1 and 100. - histogramQueries: + symbols: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageSymbol' + type: array + description: A list of visually detected symbols on the page. + image: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageImage' description: >- - An expression specifying a histogram request against matching - documents. Expression syntax is an aggregation function call with - histogram facets and other options. The following aggregation - functions are supported: * `count(string_histogram_facet)`: Count - the number of matching entities for each distinct attribute value. - Data types: * Histogram facet (aka filterable properties): Facet - names with format .. Facets will have the format - of: `a-zA-Z`. If the facet is a child facet, then the parent - hierarchy needs to be specified separated by dots in the prefix - after the schema id. Thus, the format for a multi- level facet is: - .. . Example: - schema123.root_parent_facet.middle_facet.child_facet * - DocumentSchemaId: (with no schema id prefix) to get histograms for - each document type (returns the schema id path, e.g. - projects/12345/locations/us-west/documentSchemas/abc123). Example - expression: * Document type counts: count('DocumentSchemaId') * For - schema id, abc123, get the counts for MORTGAGE_TYPE: - count('abc123.MORTGAGE_TYPE') + Rendered image for this page. This image is preprocessed to remove + any skew, rotation, and distortions such that the annotation + bounding boxes can be upright and axis-aligned. + tables: type: array items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1HistogramQuery' - orderBy: - description: >- - The criteria determining how search results are sorted. For - non-empty query, default is `"relevance desc"`. For empty query, - default is `"upload_date desc"`. Supported options are: * - `"relevance desc"`: By relevance descending, as determined by the - API algorithms. * `"upload_date desc"`: By upload date descending. * - `"upload_date"`: By upload date ascending. * `"update_date desc"`: - By last updated date descending. * `"update_date"`: By last updated - date ascending. * `"retrieval_importance desc"`: By retrieval - importance of properties descending. This feature is still under - development, please do not use unless otherwise instructed to do so. - type: string - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageTable' + description: A list of visually detected tables on the page. + lines: description: >- - The meta information collected about the end user, used to enforce - access control and improve the search quality of the service. - requireTotalSize: + A list of visually detected text lines on the page. A collection of + tokens that a human would perceive as a line. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLine' + type: array + detectedBarcodes: + type: array + description: A list of detected barcodes. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedBarcode + transforms: description: >- - Controls if the search document request requires the return of a - total size of matched documents. See - SearchDocumentsResponse.total_size. Enabling this flag may adversely - impact performance. Hint: If this is used with pagination, set this - flag on the initial query but set this to false on subsequent page - calls (keep the total count locally). Defaults to false. - type: boolean - qaSizeLimit: - type: integer - format: int32 + Transformation matrices that were applied to the original document + image to produce Page.image. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageMatrix' + type: array + imageQualityScores: + description: Image quality scores. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScores + dimension: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageDimension' + description: Physical dimension of the page. + paragraphs: + type: array description: >- - Experimental, do not use. The limit on the number of documents - returned for the question-answering feature. To enable the - question-answering feature, set [DocumentQuery].is_nl_query to true. - type: object - id: GoogleCloudContentwarehouseV1SearchDocumentsRequest - description: Request message for DocumentService.SearchDocuments. - GoogleCloudContentwarehouseV1Rule: - id: GoogleCloudContentwarehouseV1Rule + A list of visually detected text paragraphs on the page. A + collection of lines that a human would perceive as a paragraph. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageParagraph' + description: A page in a Document. + id: GoogleCloudDocumentaiV1DocumentPage + GoogleIamV1Binding: + id: GoogleIamV1Binding type: object - description: Represents the rule for a content warehouse trigger. properties: - description: - type: string - description: Short description of the rule and its context. - ruleId: - type: string - description: >- - ID of the rule. It has to be unique across all the examples. This is - managed internally. - triggerType: - enum: - - UNKNOWN - - ON_CREATE - - ON_UPDATE - - ON_CREATE_LINK - - ON_DELETE_LINK - description: Identifies the trigger type for running the policy. - enumDescriptions: - - Trigger for unknown action. - - Trigger for create document action. - - Trigger for update document action. - - Trigger for create link action. - - Trigger for delete link action. - type: string - condition: + members: + items: + type: string + type: array description: >- - Represents the conditional expression to be evaluated. Expression - should evaluate to a boolean result. When the condition is true - actions are executed. Example: user_role = "hsbc_role_1" AND - doc.salary > 20000 - type: string - actions: - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Action' - type: array - description: List of actions that are executed when the rule is satisfied. - GoogleCloudContentwarehouseV1QAResultHighlight: - type: object - properties: - startIndex: - description: Start index of the highlight. - type: integer - format: int32 - endIndex: - type: integer - format: int32 - description: End index of the highlight, exclusive. - description: >- - A text span in the search text snippet that represents a highlighted - section (answer context, highly relevant sentence, etc.). - id: GoogleCloudContentwarehouseV1QAResultHighlight - GoogleCloudContentwarehouseV1DocumentReference: - id: GoogleCloudContentwarehouseV1DocumentReference - type: object - properties: - createTime: - readOnly: true - description: Output only. The time when the document is created. - format: google-datetime - type: string - documentIsLegalHoldFolder: - type: boolean - description: Document is a folder with legal hold. - documentIsRetentionFolder: - description: Document is a folder with retention policy. - type: boolean - documentIsFolder: - type: boolean - description: The document type of the document being referenced. - documentName: - type: string - description: Required. Name of the referenced document. - updateTime: - readOnly: true - format: google-datetime + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + role: type: string - description: Output only. The time when the document is last updated. - snippet: description: >- - Stores the subset of the referenced document's content. This is - useful to allow user peek the information of the referenced - document. - type: string - displayName: + 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). + condition: + $ref: '#/components/schemas/GoogleTypeExpr' description: >- - display_name of the referenced document; this name does not need to - be consistent to the display_name in the Document proto, depending - on the ACL constraint. - type: string - deleteTime: - readOnly: true - format: google-datetime - type: string - description: Output only. The time when the document is deleted. - description: References to the documents. - GoogleCloudDocumentaiV1DocumentPageDetectedBarcode: - id: GoogleCloudDocumentaiV1DocumentPageDetectedBarcode - description: A detected barcode. - type: object - properties: - barcode: - description: Detailed barcode information of the DetectedBarcode. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Barcode' - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for DetectedBarcode. - GoogleCloudContentwarehouseV1DateTimeArray: + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + description: Associates `members`, or principals, with a `role`. + GoogleCloudContentwarehouseV1DataValidationAction: + id: GoogleCloudContentwarehouseV1DataValidationAction + description: Represents the action responsible for data validation operations. type: object - description: DateTime values. - id: GoogleCloudContentwarehouseV1DateTimeArray properties: - values: - items: - $ref: '#/components/schemas/GoogleTypeDateTime' - type: array + conditions: + type: object + additionalProperties: + type: string description: >- - List of datetime values. Both OffsetDateTime and ZonedDateTime are - supported. - GoogleCloudContentwarehouseV1QAResult: + Map of (K, V) -> (field, string condition to be evaluated on the + field) E.g., ("age", "age > 18 && age < 60") entry triggers + validation of field age with the given condition. Map entries will + be ANDed during validation. + GoogleCloudContentwarehouseV1PropertyArray: + id: GoogleCloudContentwarehouseV1PropertyArray + description: Property values. properties: - confidenceScore: - type: number - description: >- - The calibrated confidence score for this document, in the range [0., - 1.]. This represents the confidence level for whether the returned - document and snippet answers the user's query. - format: float - highlights: - description: Highlighted sections in the snippet. + properties: items: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1QAResultHighlight + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Property' + description: List of property values. type: array type: object - description: Additional result info for the question-answering feature. - id: GoogleCloudContentwarehouseV1QAResult - GoogleCloudContentwarehouseV1UpdateRuleSetRequest: - id: GoogleCloudContentwarehouseV1UpdateRuleSetRequest - properties: - ruleSet: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' - description: Required. The rule set to update. + CloudAiPlatformTenantresourceServiceAccountIdentity: + id: CloudAiPlatformTenantresourceServiceAccountIdentity + description: The identity to configure a service account. type: object - description: Request message for RuleSetService.UpdateRuleSet. - GoogleCloudContentwarehouseV1LockDocumentRequest: - id: GoogleCloudContentwarehouseV1LockDocumentRequest - description: Request message for DocumentService.LockDocument. properties: - lockingUser: - description: The user information who locks the document. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UserInfo' - collectionId: - description: The collection the document connects to. + serviceAccountEmail: + type: string + description: Output only. The service account email that has been created. + tag: type: string + description: >- + Input/Output [Optional]. The tag that configures the service + account, as defined in + google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/activation_grants.gcl. + Note: The default P4 service account has the empty tag. + GoogleCloudContentwarehouseV1WeightedSchemaProperty: type: object - GoogleCloudDocumentaiV1DocumentPageVisualElement: - id: GoogleCloudDocumentaiV1DocumentPageVisualElement properties: - detectedLanguages: + propertyNames: type: array items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages together with confidence. - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for VisualElement. - type: - description: Type of the VisualElement. + type: string + description: The property definition names in the schema. + documentSchemaName: + description: The document schema name. type: string + description: Specifies the schema property name. + id: GoogleCloudContentwarehouseV1WeightedSchemaProperty + GoogleCloudContentwarehouseV1RuleSet: type: object - description: >- - Detected non-text visual elements e.g. checkbox, signature etc. on the - page. - GoogleCloudContentwarehouseV1ResponseMetadata: - id: GoogleCloudContentwarehouseV1ResponseMetadata - description: >- - Additional information returned to client, such as debugging - information. + id: GoogleCloudContentwarehouseV1RuleSet + description: Represents a set of rules from a single customer. properties: - requestId: + rules: + type: array + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + description: List of rules given by the customer. + name: + type: string description: >- - A unique id associated with this call. This id is logged for - tracking purpose. + 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. + description: + type: string + description: Short description of the rule-set. + source: type: string + description: Source of the rules i.e., customer name. + GoogleProtobufEmpty: + properties: {} + id: GoogleProtobufEmpty + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type: object - GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment: + CloudAiPlatformTenantresourceTenantProjectResource: + id: CloudAiPlatformTenantresourceTenantProjectResource + description: 'The tenant project and tenant resources. Next ID: 10' properties: - startIndex: + tenantProjectId: type: string - format: int64 - description: TextSegment start UTF-8 char index in the Document.text. - endIndex: - description: TextSegment half open end UTF-8 char index in the Document.text. + description: Output only. The tenant project ID that has been created. + tenantProjectNumber: type: string + description: Output only. The tenant project number that has been created. format: int64 - type: object - id: GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment - description: >- - A text segment in the Document.text. The indices may be out of bounds - which indicate that the text extends into another document shard for - large sharded documents. See ShardInfo.text_offset - GoogleCloudContentwarehouseV1RuleEvaluatorOutput: - type: object - description: Represents the output of the Rule Evaluator. - properties: - invalidRules: + cloudSqlInstances: type: array - description: >- - A subset of triggered rules that failed the validation check(s) - after parsing. items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1InvalidRule' - matchedRules: + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceCloudSqlInstanceConfig description: >- - A subset of triggered rules that are evaluated true for a given - request. - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + The CloudSQL instances that are provisioned under the tenant + project. + tag: + description: >- + Input/Output [Required]. The tag that uniquely identifies a tenant + project within a tenancy unit. Note: for the same tenant project + tag, all tenant manager operations should be idempotent. + type: string + iamPolicyBindings: type: array - triggeredRules: items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + $ref: '#/components/schemas/CloudAiPlatformTenantresourceIamPolicyBinding' description: >- - List of rules fetched from database for the given request trigger - type. + The dynamic IAM bindings that are granted under the tenant project. + Note: this should only add new bindings to the project if they don't + exist and the existing bindings won't be affected. + tenantServiceAccounts: + description: >- + The service account identities (or enabled API service's P4SA) that + are expclicitly created under the tenant project (before JIT + provisioning during enabled API services). + items: + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceTenantServiceAccountIdentity type: array - id: GoogleCloudContentwarehouseV1RuleEvaluatorOutput - GoogleCloudDocumentaiV1DocumentPageImageQualityScores: - type: object - description: Image quality scores for the page image. - id: GoogleCloudDocumentaiV1DocumentPageImageQualityScores - properties: - detectedDefects: + gcsBuckets: type: array - description: A list of detected defects. items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect - qualityScore: - format: float + $ref: '#/components/schemas/CloudAiPlatformTenantresourceGcsBucketConfig' + description: The GCS buckets that are provisioned under the tenant project. + tenantProjectConfig: + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceTenantProjectConfig + description: The configurations of a tenant project. + infraSpannerConfigs: description: >- - The overall quality score. Range `[0, 1]` where `1` is perfect - quality. - type: number - GoogleIamV1AuditLogConfig: - type: object - id: GoogleIamV1AuditLogConfig - description: >- - Provides the configuration for logging a type of permissions. Example: { - "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ - "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This - enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - jose@example.com from DATA_READ logging. - properties: - exemptedMembers: + The Infra Spanner databases that are provisioned under the tenant + project. Note: this is an experimental feature. type: array - description: >- - Specifies the identities that do not cause logging for this type of - permission. Follows the same format of Binding.members. items: - type: string - logType: - enum: - - LOG_TYPE_UNSPECIFIED - - ADMIN_READ - - DATA_WRITE - - DATA_READ - description: The log type that this config enables. - type: string - enumDescriptions: - - Default case. Should never be this. - - 'Admin reads. Example: CloudIAM getIamPolicy' - - 'Data writes. Example: CloudSQL Users create' - - 'Data reads. Example: CloudSQL Users list' - GoogleCloudContentwarehouseV1InvalidRule: - properties: - error: - type: string - description: Validation error on a parsed expression. - rule: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' - description: Triggered rule. - id: GoogleCloudContentwarehouseV1InvalidRule - description: A triggered rule that failed the validation check(s) after parsing. + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceInfraSpannerConfig type: object - GoogleCloudDocumentaiV1DocumentPageFormField: - id: GoogleCloudDocumentaiV1DocumentPageFormField + GoogleCloudDocumentaiV1DocumentChunkedDocument: + id: GoogleCloudDocumentaiV1DocumentChunkedDocument type: object + description: Represents the chunks that the document is divided into. properties: - correctedKeyText: - type: string - description: >- - Created for Labeling UI to export key text. If corrections were made - to the text identified by the `field_name.text_anchor`, this field - will contain the correction. - provenance: - description: The history of this annotation. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - fieldName: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: >- - Layout for the FormField name. e.g. `Address`, `Email`, `Grand - total`, `Phone number`, etc. - valueDetectedLanguages: - type: array - description: A list of detected languages for value together with confidence. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - valueType: - description: >- - If the value is non-textual, this field represents the type. Current - valid values are: - blank (this indicates the `field_value` is - normal text) - `unfilled_checkbox` - `filled_checkbox` - type: string - fieldValue: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for the FormField value. - nameDetectedLanguages: + chunks: items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages for name together with confidence. + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk + description: List of chunks. type: array - correctedValueText: - type: string - description: >- - Created for Labeling UI to export value text. If corrections were - made to the text identified by the `field_value.text_anchor`, this - field will contain the correction. - description: A form field detected on the page. - GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak: - description: Detected break at the end of a Token. + GoogleCloudContentwarehouseV1CloudAIDocumentOption: + properties: + customizedEntitiesPropertiesConversions: + description: If set, only selected entities will be converted to properties. + additionalProperties: + type: string + type: object + enableEntitiesConversions: + description: Whether to convert all the entities to properties. + type: boolean + description: Request Option for processing Cloud AI Document in CW Document. + id: GoogleCloudContentwarehouseV1CloudAIDocumentOption type: object + CloudAiPlatformTenantresourceTenantServiceAccountIdentity: properties: - type: - enumDescriptions: - - Unspecified break type. - - A single whitespace. - - A wider whitespace. - - A hyphen that indicates that a token has been split across lines. + serviceAccountEmail: + description: Output only. The email address of the generated service account. + type: string + serviceName: type: string - enum: - - TYPE_UNSPECIFIED - - SPACE - - WIDE_SPACE - - HYPHEN - description: Detected break type. - id: GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak - GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata: - description: The metadata message for Process-with-DocAi pipeline. - id: >- - GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata - properties: - documents: - items: - type: string - type: array description: >- - The input list of all the resource names of the documents to be - processed. - processorInfo: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' - description: The DocAI processor to process the documents with. - type: object - GoogleTypeTimeZone: + Input/Output [Required]. The service that the service account + belongs to. (e.g. cloudbuild.googleapis.com for GCB service + accounts) + id: CloudAiPlatformTenantresourceTenantServiceAccountIdentity type: object description: >- - Represents a time zone from the [IANA Time Zone - Database](https://www.iana.org/time-zones). + The identity of service accounts that have been explicitly created under + tenant projects. + GoogleCloudDocumentaiV1DocumentProvenance: + id: GoogleCloudDocumentaiV1DocumentProvenance + description: >- + Structure to identify provenance relationships between annotations in + different revisions. properties: - version: - description: Optional. IANA Time Zone Database version number, e.g. "2019a". - type: string id: - description: IANA Time Zone Database time zone, e.g. "America/New_York". + deprecated: true + type: integer + format: int32 + description: >- + The Id of this operation. Needs to be unique within the scope of the + revision. + type: + enumDeprecated: + - false + - false + - false + - false + - false + - true + - true + - true type: string - id: GoogleTypeTimeZone - GoogleCloudContentwarehouseV1CreateDocumentResponse: + enum: + - OPERATION_TYPE_UNSPECIFIED + - ADD + - REMOVE + - UPDATE + - REPLACE + - EVAL_REQUESTED + - EVAL_APPROVED + - EVAL_SKIPPED + description: The type of provenance operation. + enumDescriptions: + - >- + Operation type unspecified. If no operation is specified a + provenance entry is simply used to match against a `parent`. + - Add an element. + - Remove an element identified by `parent`. + - >- + Updates any fields within the given provenance scope of the + message. It overwrites the fields rather than replacing them. Use + this when you want to update a field value of an entity without + also updating all the child properties. + - Currently unused. Replace an element identified by `parent`. + - >- + Deprecated. Request human review for the element identified by + `parent`. + - >- + Deprecated. Element is reviewed and approved at human review, + confidence will be set to 1.0. + - Deprecated. Element is skipped in the validation process. + revision: + description: The index of the revision that produced this element. + deprecated: true + format: int32 + type: integer + parents: + description: References to the original elements that are replaced. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentProvenanceParent + type: array type: object - id: GoogleCloudContentwarehouseV1CreateDocumentResponse + GoogleCloudContentwarehouseV1CreateDocumentResponse: + description: Response message for DocumentService.CreateDocument. properties: - document: - description: Document created after executing create request. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' - metadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' - description: >- - Additional information for the API invocation, such as the request - tracking id. longRunningOperations: - type: array items: $ref: '#/components/schemas/GoogleLongrunningOperation' + type: array description: post-processing LROs ruleEngineOutput: description: >- @@ -1495,1174 +1078,812 @@ components: executor's output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.proto $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleEngineOutput' - description: Response message for DocumentService.CreateDocument. - GoogleCloudContentwarehouseV1CustomWeightsMetadata: - id: GoogleCloudContentwarehouseV1CustomWeightsMetadata - description: To support the custom weighting across document schemas. - type: object - properties: - weightedSchemaProperties: - description: >- - List of schema and property name. Allows a maximum of 10 schemas to - be specified for relevance boosting. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1WeightedSchemaProperty - GoogleCloudContentwarehouseV1GetDocumentRequest: - properties: - requestMetadata: - description: >- - The meta information collected about the end user, used to enforce - access control for the service. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - type: object - description: Request message for DocumentService.GetDocument. - id: GoogleCloudContentwarehouseV1GetDocumentRequest - GoogleCloudContentwarehouseV1FetchAclRequest: - id: GoogleCloudContentwarehouseV1FetchAclRequest - description: Request message for DocumentService.FetchAcl - properties: - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - description: >- - The meta information collected about the end user, used to enforce - access control for the service. - projectOwner: - type: boolean - description: >- - For Get Project ACL only. Authorization check for end user will be - ignored when project_owner=true. - type: object - GoogleCloudContentwarehouseV1FetchAclResponse: - properties: + document: + description: Document created after executing create request. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' metadata: description: >- Additional information for the API invocation, such as the request tracking id. $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' - description: The IAM policy. - id: GoogleCloudContentwarehouseV1FetchAclResponse - description: Response message for DocumentService.FetchAcl. + id: GoogleCloudContentwarehouseV1CreateDocumentResponse type: object - GoogleCloudContentwarehouseV1ListRuleSetsResponse: + GoogleCloudDocumentaiV1NormalizedVertex: + description: >- + A vertex represents a 2D point in the image. NOTE: the normalized vertex + coordinates are relative to the original image and range from 0 to 1. + type: object + id: GoogleCloudDocumentaiV1NormalizedVertex properties: - nextPageToken: + 'y': + format: float + type: number + description: Y coordinate (starts from the top of the image). + x: + type: number + format: float + description: X coordinate. + GoogleApiServiceconsumermanagementV1PolicyBinding: + description: Translates to IAM Policy bindings (without auditing at this level) + type: object + properties: + members: + type: array description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. + Uses the same format as in IAM policy. `member` must include both a + prefix and ID. For example, `user:{emailId}`, + `serviceAccount:{emailId}`, `group:{emailId}`. + items: + type: string + role: + description: >- + Role. (https://cloud.google.com/iam/docs/understanding-roles) For + example, `roles/viewer`, `roles/editor`, or `roles/owner`. type: string - ruleSets: + id: GoogleApiServiceconsumermanagementV1PolicyBinding + CloudAiPlatformTenantresourceTenantProjectConfig: + id: CloudAiPlatformTenantresourceTenantProjectConfig + properties: + folder: + type: string + description: >- + Input/Output [Required]. The folder that holds tenant projects and + folder-level permissions will be automatically granted to all tenant + projects under the folder. Note: the valid folder format is + `folders/{folder_number}`. + billingConfig: + $ref: >- + #/components/schemas/GoogleApiServiceconsumermanagementV1BillingConfig + description: >- + Input/Output [Required]. The billing account properties to create + the tenant project. + services: type: array + description: >- + Input/Output [Required]. The API services that are enabled on the + tenant project during creation. items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' - description: The rule sets from the specified parent. - type: object - description: Response message for RuleSetService.ListRuleSets. - id: GoogleCloudContentwarehouseV1ListRuleSetsResponse - GoogleCloudContentwarehouseV1PropertyTypeOptions: - properties: - propertyDefinitions: - description: Required. List of property definitions. + type: string + policyBindings: items: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1PropertyDefinition + #/components/schemas/GoogleApiServiceconsumermanagementV1PolicyBinding + description: >- + Input/Output [Required]. The policy bindings that are applied to the + tenant project during creation. At least one binding must have the + role `roles/owner` with either `user` or `group` type. type: array - description: Configurations for a nested structured data property. + description: The identity to configure a tenant project. type: object - id: GoogleCloudContentwarehouseV1PropertyTypeOptions - GoogleCloudContentwarehouseV1HistogramQueryResult: + GoogleCloudDocumentaiV1DocumentPageParagraph: type: object properties: - histogram: - type: object - additionalProperties: - format: int64 - type: string - description: >- - A map from the values of the facet associated with distinct values - to the number of matching entries with corresponding value. The key - format is: * (for string histogram) string values stored in the - field. - histogramQuery: - type: string - description: Requested histogram expression. - id: GoogleCloudContentwarehouseV1HistogramQueryResult - description: Histogram result that matches HistogramQuery specified in searches. - GoogleCloudDocumentaiV1DocumentDocumentLayout: - properties: - blocks: + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + deprecated: true + layout: + description: Layout for Paragraph. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + detectedLanguages: type: array + description: A list of detected languages together with confidence. items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock - description: List of blocks in the document. - description: >- - Represents the parsed layout of a document as a collection of blocks - that the document is divided into. - id: GoogleCloudDocumentaiV1DocumentDocumentLayout - type: object - GoogleCloudContentwarehouseV1SynonymSetSynonym: + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A collection of lines that a human would perceive as a paragraph. + id: GoogleCloudDocumentaiV1DocumentPageParagraph + GoogleTypePostalAddress: + id: GoogleTypePostalAddress type: object - id: GoogleCloudContentwarehouseV1SynonymSetSynonym properties: - words: - description: 'For example: sale, invoice, bill, order' + recipients: + description: >- + Optional. The recipient at the address. This field may, under + certain circumstances, contain multiline information. For example, + it might contain "care of" information. items: type: string type: array - description: >- - Represents a list of words given by the customer All these words are - synonyms of each other. - GoogleCloudDocumentaiV1BoundingPoly: - type: object - properties: - normalizedVertices: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1NormalizedVertex' - description: The bounding polygon normalized vertices. - type: array - vertices: - type: array - description: The bounding polygon vertices. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Vertex' - id: GoogleCloudDocumentaiV1BoundingPoly - description: A bounding polygon for the detected image annotation. - GoogleCloudContentwarehouseV1ProjectStatus: - properties: - accessControlMode: + organization: + description: Optional. The name of the organization at the address. type: string - enum: - - ACL_MODE_UNKNOWN - - ACL_MODE_UNIVERSAL_ACCESS - - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID - - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI - enumDescriptions: - - This value is required by protobuf best practices - - 'Universal Access: No document level access control.' - - Document level access control with customer own Identity Service. - - Document level access control using Google Cloud Identity. - description: Access control mode. - documentCreatorDefaultRole: + locality: type: string - description: The default role for the person who create a document. - location: - description: The location of the queried project. + description: >- + Optional. Generally refers to the city/town portion of the address. + Examples: US city, IT comune, UK post town. In regions of the world + where localities are not well defined or do not fit into this + structure well, leave locality empty and use address_lines. + regionCode: + description: >- + Required. CLDR region code of the country/region of the address. + This is never inferred and it is up to the user to ensure the value + is correct. See https://cldr.unicode.org/ and + https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + for details. Example: "CH" for Switzerland. type: string - state: - description: State of the project. + languageCode: + description: >- + Optional. BCP-47 language code of the contents of this address (if + known). This is often the UI language of the input form or is + expected to match one of the languages used in the address' + country/region, or their transliterated equivalents. This can affect + formatting in certain countries, but is not critical to the + correctness of the data and will never affect any validation or + other non-formatting related operations. If this value is not known, + it should be omitted (rather than specifying a possibly incorrect + default). Examples: "zh-Hant", "ja", "ja-Latn", "en". type: string - enum: - - PROJECT_STATE_UNSPECIFIED - - PROJECT_STATE_PENDING - - PROJECT_STATE_COMPLETED - - PROJECT_STATE_FAILED - - PROJECT_STATE_DELETING - - PROJECT_STATE_DELETING_FAILED - - PROJECT_STATE_DELETED - - PROJECT_STATE_NOT_FOUND - enumDescriptions: - - Default status, required by protobuf best practices. - - The project is in the middle of a provision process. - - All dependencies have been provisioned. - - A provision process was previously initiated, but failed. - - The project is in the middle of a deletion process. - - A deleting process was initiated, but failed. - - The project is deleted. - - The project is not found. - qaEnabled: - type: boolean - description: If the qa is enabled on this project. - databaseType: - enumDescriptions: - - This value is required by protobuf best practices - - Internal Spanner - - Cloud Sql with a Postgres Sql instance - enum: - - DB_UNKNOWN - - DB_INFRA_SPANNER - - DB_CLOUD_SQL_POSTGRES - description: Database type. + sublocality: type: string - enumDeprecated: - - false - - false - - true - id: GoogleCloudContentwarehouseV1ProjectStatus - type: object - description: >- - Status of a project, including the project state, dbType, aclMode and - etc. - GoogleCloudDocumentaiV1DocumentPageParagraph: - properties: - provenance: - description: The history of this annotation. - deprecated: true - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - detectedLanguages: - type: array - description: A list of detected languages together with confidence. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Paragraph. - type: object - id: GoogleCloudDocumentaiV1DocumentPageParagraph - description: A collection of lines that a human would perceive as a paragraph. - GoogleCloudDocumentaiV1DocumentPageAnchor: - id: GoogleCloudDocumentaiV1DocumentPageAnchor - properties: - pageRefs: - description: One or more references to visual page elements - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchorPageRef - type: array - type: object - description: >- - Referencing the visual context of the entity in the Document.pages. Page - anchors can be cross-page, consist of multiple bounding polygons and - optionally reference specific layout element types. - GoogleCloudContentwarehouseV1AddToFolderAction: - type: object - id: GoogleCloudContentwarehouseV1AddToFolderAction - properties: - folders: - items: - type: string - type: array description: >- - Names of the folder under which new document is to be added. Format: - projects/{project_number}/locations/{location}/documents/{document_id}. - description: Represents the action responsible for adding document under a folder. - GoogleCloudContentwarehouseV1RemoveFromFolderAction: - id: GoogleCloudContentwarehouseV1RemoveFromFolderAction - properties: - condition: - description: Condition of the action to be executed. - type: string - folder: + Optional. Sublocality of the address. For example, this can be + neighborhoods, boroughs, districts. + revision: + description: >- + The schema revision of the `PostalAddress`. This must be set to 0, + which is the latest revision. All new revisions **must** be backward + compatible with old revisions. + format: int32 + type: integer + sortingCode: type: string description: >- - Name of the folder under which new document is to be added. Format: - projects/{project_number}/locations/{location}/documents/{document_id}. - description: >- - Represents the action responsible for remove a document from a specific - folder. - type: object - GoogleCloudDocumentaiV1DocumentPageLine: - type: object - id: GoogleCloudDocumentaiV1DocumentPageLine - properties: - detectedLanguages: + Optional. Additional, country-specific, sorting code. This is not + used in most regions. Where it is used, the value is either a string + like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or + just a number alone, representing the "sector code" (Jamaica), + "delivery area indicator" (Malawi) or "post office indicator" (e.g. + Côte d'Ivoire). + postalCode: + description: >- + Optional. Postal code of the address. Not all countries use or + require postal codes to be present, but where they are used, they + may trigger additional validation with other parts of the address + (e.g. state/zip validation in the U.S.A.). + type: string + addressLines: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + type: string type: array - description: A list of detected languages together with confidence. - layout: - description: Layout for Line. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - provenance: - deprecated: true - description: The history of this annotation. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: >- - A collection of tokens that a human would perceive as a line. Does not - cross column boundaries, can be horizontal, vertical, etc. - GoogleTypeInterval: - properties: - startTime: description: >- - Optional. Inclusive start of the interval. If specified, a Timestamp - matching this interval will have to be the same or after the start. - type: string - format: google-datetime - endTime: - format: google-datetime + Unstructured address lines describing the lower levels of an + address. Because values in address_lines do not have type + information and may sometimes contain multiple values in a single + field (e.g. "Austin, TX"), it is important that the line order is + clear. The order of address lines should be "envelope order" for the + country/region of the address. In places where this can vary (e.g. + Japan), address_language is used to make it explicit (e.g. "ja" for + large-to-small ordering and "ja-Latn" or "en" for small-to-large). + This way, the most specific line of an address can be selected based + on the language. The minimum permitted structural representation of + an address consists of a region_code with all remaining information + placed in the address_lines. It would be possible to format such an + address very approximately without geocoding, but no semantic + reasoning could be made about any of the address components until it + was at least partially resolved. Creating an address only containing + a region_code and address_lines, and then geocoding is the + recommended way to handle completely unstructured addresses (as + opposed to guessing which parts of the address should be localities + or administrative areas). + administrativeArea: description: >- - Optional. Exclusive end of the interval. If specified, a Timestamp - matching this interval will have to be before the end. + Optional. Highest administrative subdivision which is used for + postal addresses of a country or region. For example, this can be a + state, a province, an oblast, or a prefecture. Specifically, for + Spain this is the province and not the autonomous community (e.g. + "Barcelona" and not "Catalonia"). Many countries don't use an + administrative area in postal addresses. E.g. in Switzerland this + should be left unpopulated. type: string - id: GoogleTypeInterval description: >- - 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. - type: object - GoogleCloudDocumentaiV1DocumentPageTableTableRow: + Represents a postal address, e.g. for postal delivery or payments + addresses. Given a postal address, a postal service can deliver items to + a premise, P.O. Box or similar. It is not intended to model geographical + locations (roads, towns, mountains). In typical usage an address would + be created via user input or from importing existing data, depending on + the type of process. Advice on address input / editing: - Use an + internationalization-ready address widget such as + https://github.com/google/libaddressinput) - Users should not be + presented with UI elements for input or editing of fields outside + countries where that field is used. For more guidance on how to use this + schema, please see: https://support.google.com/business/answer/6397478 + GoogleCloudContentwarehouseV1PropertyFilter: type: object - id: GoogleCloudDocumentaiV1DocumentPageTableTableRow - description: A row of table cells. properties: - cells: - type: array - description: Cells that make up this row. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableCell - CloudAiPlatformTenantresourceTenantProjectConfig: - description: The identity to configure a tenant project. - type: object - properties: - folder: + condition: description: >- - Input/Output [Required]. The folder that holds tenant projects and - folder-level permissions will be automatically granted to all tenant - projects under the folder. Note: the valid folder format is - `folders/{folder_number}`. + The filter condition. The syntax for this expression is a subset of + SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, + `>=`, and `~~` where the left of the operator is a property name and + the right of the operator is a number or a quoted string. You must + escape backslash (\\) and quote (\") characters. `~~` is the LIKE + operator. The right of the operator must be a string. The only + supported property data type for LIKE is text_values. It provides + semantic search functionality by parsing, stemming and doing + synonyms expansion against the input query. It matches if the + property contains semantic similar content to the query. It is not + regex matching or wildcard matching. For example, "property.company + ~~ \"google\"" will match records whose property `property.compnay` + have values like "Google Inc.", "Google LLC" or "Google Company". + Supported functions are `LOWER([property_name])` to perform a case + insensitive match and `EMPTY([property_name])` to filter on the + existence of a key. Boolean expressions (AND/OR/NOT) are supported + up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) + AND E"), a maximum of 100 comparisons or functions are allowed in + the expression. The expression must be < 6000 bytes in length. Only + properties that are marked filterable are allowed + (PropertyDefinition.is_filterable). Property names do not need to be + prefixed by the document schema id (as is the case with histograms), + however property names will need to be prefixed by its parent + hierarchy, if any. For example: top_property_name.sub_property_name. + Sample Query: `(LOWER(driving_license)="class \"a\"" OR + EMPTY(driving_license)) AND driving_years > 10` CMEK compliant + deployment only supports: * Operators: `=`, `<`, `<=`, `>`, and + `>=`. * Boolean expressions: AND and OR. + type: string + documentSchemaName: type: string - policyBindings: - items: - $ref: >- - #/components/schemas/GoogleApiServiceconsumermanagementV1PolicyBinding - description: >- - Input/Output [Required]. The policy bindings that are applied to the - tenant project during creation. At least one binding must have the - role `roles/owner` with either `user` or `group` type. - type: array - billingConfig: - description: >- - Input/Output [Required]. The billing account properties to create - the tenant project. - $ref: >- - #/components/schemas/GoogleApiServiceconsumermanagementV1BillingConfig - services: - type: array - items: - type: string description: >- - Input/Output [Required]. The API services that are enabled on the - tenant project during creation. - id: CloudAiPlatformTenantresourceTenantProjectConfig - GoogleCloudContentwarehouseV1ActionExecutorOutput: + The Document schema name Document.document_schema_name. Format: + projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + id: GoogleCloudContentwarehouseV1PropertyFilter + GoogleCloudContentwarehouseV1EnumValue: + description: Represents the string value of the enum field. properties: - ruleActionsPairs: - type: array - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleActionsPair' - description: List of rule and corresponding actions result. - description: Represents the output of the Action Executor. - id: GoogleCloudContentwarehouseV1ActionExecutorOutput + value: + type: string + description: >- + String value of the enum field. This must match defined set of enums + in document schema using EnumTypeOptions. type: object - GoogleCloudDocumentaiV1DocumentStyle: - description: >- - Annotation for common text style attributes. This adheres to CSS - conventions as much as possible. + id: GoogleCloudContentwarehouseV1EnumValue + GoogleCloudDocumentaiV1DocumentTextChange: type: object - id: GoogleCloudDocumentaiV1DocumentStyle properties: - fontWeight: - description: >- - [Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). - Possible values are `normal`, `bold`, `bolder`, and `lighter`. - type: string - textStyle: - description: >- - [Text - style](https://www.w3schools.com/cssref/pr_font_font-style.asp). - Possible values are `normal`, `italic`, and `oblique`. + changedText: + description: The text that replaces the text identified in the `text_anchor`. type: string textAnchor: - description: Text anchor indexing into the Document.text. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - fontSize: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyleFontSize' - description: Font size. - textDecoration: - type: string - description: >- - [Text - decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). - Follows CSS standard. - color: - $ref: '#/components/schemas/GoogleTypeColor' - description: Text color. - fontFamily: - type: string description: >- - Font family such as `Arial`, `Times New Roman`. - https://www.w3schools.com/cssref/pr_font_font-family.asp - backgroundColor: - $ref: '#/components/schemas/GoogleTypeColor' - description: Text background color. - GoogleCloudContentwarehouseV1RuleEngineOutput: + Provenance of the correction. Text anchor indexing into the + Document.text. There can only be a single `TextAnchor.text_segments` + element. If the start and end index of the text segment are the + same, the text change is inserted before that index. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + provenance: + deprecated: true + type: array + description: The history of this annotation. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + id: GoogleCloudDocumentaiV1DocumentTextChange + description: This message is used for text changes aka. OCR corrections. + GoogleCloudContentwarehouseV1DeleteDocumentRequest: properties: - documentName: - type: string - description: >- - Name of the document against which the rules and actions were - evaluated. - ruleEvaluatorOutput: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RuleEvaluatorOutput - description: >- - Output from Rule Evaluator containing matched, unmatched and invalid - rules. - actionExecutorOutput: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ActionExecutorOutput + requestMetadata: description: >- - Output from Action Executor containing rule and corresponding - actions execution result. + The meta information collected about the end user, used to enforce + access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + description: Request message for DocumentService.DeleteDocument. type: object - id: GoogleCloudContentwarehouseV1RuleEngineOutput - description: >- - Records the output of Rule Engine including rule evaluation and actions - result. - GoogleCloudDocumentaiV1DocumentRevision: + id: GoogleCloudContentwarehouseV1DeleteDocumentRequest + GoogleCloudDocumentaiV1DocumentPageTable: type: object - description: Contains past or forward revisions of this document. + id: GoogleCloudDocumentaiV1DocumentPageTable + description: A table representation similar to HTML table structure. properties: - parent: + layout: + description: Layout for Table. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + headerRows: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow + description: Header rows of the table. type: array - description: >- - The revisions that this revision is based on. This can include one - or more parent (when documents are merged.) This field represents - the index into the `revisions` field. + detectedLanguages: + description: A list of detected languages together with confidence. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + type: array + provenance: + description: The history of this table. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' deprecated: true + bodyRows: + description: Body rows of the table. + type: array items: - format: int32 - type: integer - humanReview: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentRevisionHumanReview - description: Human Review information of this revision. - id: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow + GoogleCloudDocumentaiV1DocumentEntityRelation: + type: object + description: Relationship between Entities. + id: GoogleCloudDocumentaiV1DocumentEntityRelation + properties: + relation: type: string - description: >- - Id of the revision, internally generated by doc proto storage. - Unique within the context of the document. + description: Relationship description. + subjectId: + description: Subject entity id. + type: string + objectId: + description: Object entity id. + type: string + GoogleCloudContentwarehouseV1DocumentReference: + id: GoogleCloudContentwarehouseV1DocumentReference + type: object + properties: + documentIsRetentionFolder: + description: Document is a folder with retention policy. + type: boolean createTime: + description: Output only. The time when the document is created. + format: google-datetime + readOnly: true + type: string + snippet: type: string description: >- - The time that the revision was created, internally generated by doc - proto storage at the time of create. + Stores the subset of the referenced document's content. This is + useful to allow user peek the information of the referenced + document. + deleteTime: + description: Output only. The time when the document is deleted. + readOnly: true format: google-datetime - processor: - description: >- - If the annotation was made by processor identify the processor by - its resource name. type: string - parentIds: - description: >- - The revisions that this revision is based on. Must include all the - ids that have anything to do with this revision - eg. there are - `provenance.parent.revision` fields that index into this field. - items: - type: string - type: array - agent: + displayName: + type: string description: >- - If the change was made by a person specify the name or id of that - person. + display_name of the referenced document; this name does not need to + be consistent to the display_name in the Document proto, depending + on the ACL constraint. + documentName: + description: Required. Name of the referenced document. type: string - id: GoogleCloudDocumentaiV1DocumentRevision - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan: - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan - description: Represents where the block starts and ends in the document. + documentIsLegalHoldFolder: + type: boolean + description: Document is a folder with legal hold. + updateTime: + type: string + format: google-datetime + description: Output only. The time when the document is last updated. + readOnly: true + documentIsFolder: + description: The document type of the document being referenced. + type: boolean + description: References to the documents. + GoogleCloudContentwarehouseV1SearchDocumentsRequest: + id: GoogleCloudContentwarehouseV1SearchDocumentsRequest properties: - pageStart: - type: integer + requestMetadata: + description: >- + The meta information collected about the end user, used to enforce + access control and improve the search quality of the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + totalResultSize: + type: string + enum: + - TOTAL_RESULT_SIZE_UNSPECIFIED + - ESTIMATED_SIZE + - ACTUAL_SIZE + enumDescriptions: + - Total number calculation will be skipped. + - >- + Estimate total number. The total result size will be accurated up + to 10,000. This option will add cost and latency to your request. + - It may adversely impact performance. The limit is 1000,000. + description: >- + Controls if the search document request requires the return of a + total size of matched documents. See + SearchDocumentsResponse.total_size. + offset: format: int32 - description: Page where block starts in the document. - pageEnd: + description: >- + An integer that specifies the current offset (that is, starting + result location, amongst the documents deemed by the API as + relevant) in search results. This field is only considered if + page_token is unset. The maximum allowed value is 5000. Otherwise an + error is thrown. For example, 0 means to return results starting + from the first matching document, and 10 means to return from the + 11th document. This can be used for pagination, (for example, + pageSize = 10 and offset = 10 means to return from the second page). type: integer - description: Page where block ends in the document. - format: int32 - type: object - GoogleCloudDocumentaiV1DocumentRevisionHumanReview: - type: object - properties: - state: - description: Human review state. e.g. `requested`, `succeeded`, `rejected`. - type: string - stateMessage: - type: string + histogramQueries: description: >- - A message providing more details about the current state of - processing. For example, the rejection reason when the state is - `rejected`. - description: Human Review information of the document. - id: GoogleCloudDocumentaiV1DocumentRevisionHumanReview - GoogleCloudDocumentaiV1DocumentProvenanceParent: - type: object - id: GoogleCloudDocumentaiV1DocumentProvenanceParent - properties: - revision: - description: The index of the index into current revision's parent_ids list. + An expression specifying a histogram request against matching + documents. Expression syntax is an aggregation function call with + histogram facets and other options. The following aggregation + functions are supported: * `count(string_histogram_facet)`: Count + the number of matching entities for each distinct attribute value. + Data types: * Histogram facet (aka filterable properties): Facet + names with format .. Facets will have the format + of: `a-zA-Z`. If the facet is a child facet, then the parent + hierarchy needs to be specified separated by dots in the prefix + after the schema id. Thus, the format for a multi- level facet is: + .. . Example: + schema123.root_parent_facet.middle_facet.child_facet * + DocumentSchemaId: (with no schema id prefix) to get histograms for + each document type (returns the schema id path, e.g. + projects/12345/locations/us-west/documentSchemas/abc123). Example + expression: * Document type counts: count('DocumentSchemaId') * For + schema id, abc123, get the counts for MORTGAGE_TYPE: + count('abc123.MORTGAGE_TYPE') + type: array + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1HistogramQuery' + pageSize: type: integer format: int32 - id: - format: int32 - type: integer - deprecated: true - description: The id of the parent provenance. - index: description: >- - The index of the parent item in the corresponding item list (eg. - list of entities, properties within entities, etc.) in the parent - revision. + A limit on the number of documents returned in the search results. + Increasing this value above the default value of 10 can increase + search response time. The value can be between 1 and 100. + qaSizeLimit: type: integer format: int32 - description: >- - The parent element the current element is based on. Used for - referencing/aligning, removal and replacement operations. - GoogleCloudContentwarehouseV1ListLinkedSourcesRequest: - id: GoogleCloudContentwarehouseV1ListLinkedSourcesRequest - description: Response message for DocumentLinkService.ListLinkedSources. - properties: + description: >- + Experimental, do not use. The limit on the number of documents + returned for the question-answering feature. To enable the + question-answering feature, set [DocumentQuery].is_nl_query to true. pageToken: + type: string description: >- - A page token, received from a previous `ListLinkedSources` call. - Provide this to retrieve the subsequent page. When paginating, all - other parameters provided to `ListLinkedSources` must match the call - that provided the page token. + The token specifying the current offset within search results. See + SearchDocumentsResponse.next_page_token for an explanation of how to + obtain the next set of query results. + orderBy: type: string - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' description: >- - The meta information collected about the document creator, used to - enforce access control for the service. - pageSize: - format: int32 - type: integer + The criteria determining how search results are sorted. For + non-empty query, default is `"relevance desc"`. For empty query, + default is `"upload_date desc"`. Supported options are: * + `"relevance desc"`: By relevance descending, as determined by the + API algorithms. * `"upload_date desc"`: By upload date descending. * + `"upload_date"`: By upload date ascending. * `"update_date desc"`: + By last updated date descending. * `"update_date"`: By last updated + date ascending. * `"retrieval_importance desc"`: By retrieval + importance of properties descending. This feature is still under + development, please do not use unless otherwise instructed to do so. + requireTotalSize: + type: boolean description: >- - The maximum number of document-links to return. The service may - return fewer than this value. If unspecified, at most 50 - document-links will be returned. The maximum value is 1000; values - above 1000 will be coerced to 1000. + Controls if the search document request requires the return of a + total size of matched documents. See + SearchDocumentsResponse.total_size. Enabling this flag may adversely + impact performance. Hint: If this is used with pagination, set this + flag on the initial query but set this to false on subsequent page + calls (keep the total count locally). Defaults to false. + documentQuery: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentQuery' + description: Query used to search against documents (keyword, filters, etc.). type: object - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock: + description: Request message for DocumentService.SearchDocuments. + GoogleCloudContentwarehouseV1DataUpdateAction: + id: GoogleCloudContentwarehouseV1DataUpdateAction + description: Represents the action responsible for properties update operations. type: object properties: - pageSpan: - description: Page span of the block. + entries: + additionalProperties: + type: string + description: >- + Map of (K, V) -> (valid name of the field, new value of the field) + E.g., ("age", "60") entry triggers update of field age with a value + of 60. If the field is not present then new entry is added. During + update action execution, value strings will be casted to appropriate + types. + type: object + GoogleCloudContentwarehouseV1SynonymSetSynonym: + properties: + words: + description: 'For example: sale, invoice, bill, order' + type: array + items: + type: string + id: GoogleCloudContentwarehouseV1SynonymSetSynonym + description: >- + Represents a list of words given by the customer All these words are + synonyms of each other. + type: object + GoogleCloudDocumentaiV1DocumentPageVisualElement: + id: GoogleCloudDocumentaiV1DocumentPageVisualElement + type: object + description: >- + Detected non-text visual elements e.g. checkbox, signature etc. on the + page. + properties: + layout: + description: Layout for VisualElement. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + detectedLanguages: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + type: array + type: + type: string + description: Type of the VisualElement. + GoogleCloudContentwarehouseV1Action: + type: object + id: GoogleCloudContentwarehouseV1Action + properties: + addToFolder: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1AddToFolderAction' + description: Action triggering create document link operation. + actionId: + type: string + description: ID of the action. Managed internally. + dataValidation: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan - tableBlock: - description: Block consisting of table content/structure. + #/components/schemas/GoogleCloudContentwarehouseV1DataValidationAction + description: Action triggering data validation operations. + dataUpdate: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DataUpdateAction' + description: Action triggering data update operations. + accessControl: + description: Action triggering access control operations. $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock - listBlock: - description: Block consisting of list content/structure. + #/components/schemas/GoogleCloudContentwarehouseV1AccessControlAction + publishToPubSub: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1PublishAction' + description: Action publish to Pub/Sub operation. + removeFromFolderAction: + description: Action removing a document from a folder. $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock - blockId: - description: ID of the block. - type: string - textBlock: + #/components/schemas/GoogleCloudContentwarehouseV1RemoveFromFolderAction + deleteDocumentAction: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock - description: Block consisting of text content. - id: GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentAction + description: Action deleting the document. + description: Represents the action triggered by Rule Engine when the rule is true. + GoogleCloudDocumentaiV1Vertex: + id: GoogleCloudDocumentaiV1Vertex + properties: + x: + format: int32 + description: X coordinate. + type: integer + 'y': + type: integer + description: Y coordinate (starts from the top of the image). + format: int32 description: >- - Represents a block. A block could be one of the various types (text, - table, list) supported. - GoogleCloudContentwarehouseV1PropertyDefinition: + A vertex represents a 2D point in the image. NOTE: the vertex + coordinates are in the same scale as the original image. + type: object + GoogleCloudDocumentaiV1DocumentPageDimension: properties: - mapTypeOptions: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1MapTypeOptions' - description: Map property. - isSearchable: - description: Indicates that the property should be included in a global search. - type: boolean - isRequired: + width: + description: Page width. + type: number + format: float + height: + type: number + description: Page height. + format: float + unit: + type: string + description: Dimension unit. + id: GoogleCloudDocumentaiV1DocumentPageDimension + description: Dimension for the page. + type: object + GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo: + id: GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo + description: Font and other text style attributes. + type: object + properties: + fontSize: + description: Font size in points (`1` point is `¹⁄₇₂` inches). + type: integer + format: int32 + bold: description: >- - Whether the property is mandatory. Default is 'false', i.e. - populating property value can be skipped. If 'true' then user must - populate the value for this property. + Whether the text is bold (equivalent to font_weight is at least + `700`). type: boolean - isRepeatable: - description: Whether the property can have multiple values. + subscript: + description: Whether the text is a subscript. This feature is not supported yet. type: boolean - isMetadata: + handwritten: + description: Whether the text is handwritten. + type: boolean + italic: + description: Whether the text is italic. + type: boolean + strikeout: type: boolean description: >- - Whether the property is user supplied metadata. This out-of-the box - placeholder setting can be used to tag derived properties. Its value - and interpretation logic should be implemented by API user. - dateTimeTypeOptions: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DateTimeTypeOptions + Whether the text is strikethrough. This feature is not supported + yet. + backgroundColor: + description: Color of the background. + $ref: '#/components/schemas/GoogleTypeColor' + fontWeight: + type: integer description: >- - Date time property. It is not supported by CMEK compliant - deployment. - name: + TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). + Normal is `400`, bold is `700`. + format: int32 + underlined: + description: Whether the text is underlined. + type: boolean + superscript: description: >- - Required. The name of the metadata property. Must be unique within a - document schema and is case insensitive. Names must be non-blank, - start with a letter, and can contain alphanumeric characters and: /, - :, -, _, and . + Whether the text is a superscript. This feature is not supported + yet. + type: boolean + letterSpacing: + description: Letter spacing in points. + type: number + format: double + textColor: + $ref: '#/components/schemas/GoogleTypeColor' + description: Color of the text. + fontType: + description: Name or style of the font. type: string - displayName: - description: The display-name for the property, used for front-end. + smallcaps: + type: boolean + description: >- + Whether the text is in small caps. This feature is not supported + yet. + pixelFontSize: + format: double + type: number + description: >- + Font size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ + `72.0`. + GoogleCloudContentwarehouseV1TextTypeOptions: + properties: {} + id: GoogleCloudContentwarehouseV1TextTypeOptions + description: Configurations for a text property. + type: object + GoogleCloudContentwarehouseV1EnumArray: + description: Enum values. + type: object + id: GoogleCloudContentwarehouseV1EnumArray + properties: + values: + items: + type: string + type: array + description: List of enum values. + GoogleCloudDocumentaiV1DocumentPageAnchorPageRef: + properties: + boundingPoly: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' + description: >- + Optional. Identifies the bounding polygon of a layout element on the + page. If `layout_type` is set, the bounding polygon must be exactly + the same to the layout element it's referring to. + layoutId: + deprecated: true + description: Optional. Deprecated. Use PageRef.bounding_poly instead. type: string - timestampTypeOptions: + confidence: + format: float + type: number description: >- - Timestamp property. It is not supported by CMEK compliant - deployment. - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1TimestampTypeOptions - floatTypeOptions: - description: Float property. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1FloatTypeOptions' - retrievalImportance: + Optional. Confidence of detected page element, if applicable. Range + `[0, 1]`. + layoutType: + description: >- + Optional. The type of the layout element that is being referenced if + any. enum: - - RETRIEVAL_IMPORTANCE_UNSPECIFIED - - HIGHEST - - HIGHER - - HIGH - - MEDIUM - - LOW - - LOWEST - description: The retrieval importance of the property during search. + - LAYOUT_TYPE_UNSPECIFIED + - BLOCK + - PARAGRAPH + - LINE + - TOKEN + - VISUAL_ELEMENT + - TABLE + - FORM_FIELD type: string enumDescriptions: - - No importance specified. Default medium importance. - - Highest importance. - - Higher importance. - - High importance. - - Medium importance. - - Low importance (negative). - - Lowest importance (negative). - integerTypeOptions: - description: Integer property. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1IntegerTypeOptions' - textTypeOptions: - description: Text/string property. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TextTypeOptions' - propertyTypeOptions: - description: Nested structured data property. - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1PropertyTypeOptions - schemaSources: + - Layout Unspecified. + - References a Page.blocks element. + - References a Page.paragraphs element. + - References a Page.lines element. + - References a Page.tokens element. + - References a Page.visual_elements element. + - Refrrences a Page.tables element. + - References a Page.form_fields element. + page: description: >- - The mapping information between this property to another schema - source. + Required. Index into the Document.pages element, for example using + `Document.pages` to locate the related page element. This field is + skipped when its value is the default `0`. See + https://developers.google.com/protocol-buffers/docs/proto3#json. + format: int64 + type: string + type: object + id: GoogleCloudDocumentaiV1DocumentPageAnchorPageRef + description: Represents a weak reference to a page element within a document. + GoogleCloudDocumentaiV1DocumentPageTableTableRow: + description: A row of table cells. + type: object + properties: + cells: items: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableCell type: array - enumTypeOptions: - description: Enum/categorical property. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1EnumTypeOptions' - isFilterable: - type: boolean - description: >- - Whether the property can be filtered. If this is a sub-property, all - the parent properties must be marked filterable. - id: GoogleCloudContentwarehouseV1PropertyDefinition - description: Defines the metadata for a schema property. - type: object - GoogleCloudContentwarehouseV1Document: - description: Defines the structure for content warehouse document proto. - id: GoogleCloudContentwarehouseV1Document - type: object + description: Cells that make up this row. + id: GoogleCloudDocumentaiV1DocumentPageTableTableRow + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock properties: - referenceId: - description: >- - The reference ID set by customers. Must be unique per project and - location. + type: type: string - title: description: >- - Title that describes the document. This can be the top heading or - text that describes the document. - type: string - updater: - type: string - description: The user who lastly updates the document. - creator: - type: string - description: The user who creates the document. - rawDocumentFileType: - type: string - enum: - - RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED - - RAW_DOCUMENT_FILE_TYPE_PDF - - RAW_DOCUMENT_FILE_TYPE_DOCX - - RAW_DOCUMENT_FILE_TYPE_XLSX - - RAW_DOCUMENT_FILE_TYPE_PPTX - - RAW_DOCUMENT_FILE_TYPE_TEXT - - RAW_DOCUMENT_FILE_TYPE_TIFF - enumDescriptions: - - No raw document specified or it is non-parsable - - Adobe PDF format - - Microsoft Word format - - Microsoft Excel format - - Microsoft Powerpoint format - - UTF-8 encoded text format - - TIFF or TIF image file format - description: >- - 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. - inlineRawDocument: - type: string - description: Raw document content. - format: byte - legalHold: - type: boolean - description: Output only. Indicates if the document has a legal hold on it. - readOnly: true - createTime: - type: string - readOnly: true - format: google-datetime - description: Output only. The time when the document is created. - contentCategory: - description: >- - Indicates the category (image, audio, video etc.) of the original - content. - enumDescriptions: - - No category is specified. - - Content is of image type. - - Content is of audio type. - - Content is of video type. - type: string - enum: - - CONTENT_CATEGORY_UNSPECIFIED - - CONTENT_CATEGORY_IMAGE - - CONTENT_CATEGORY_AUDIO - - CONTENT_CATEGORY_VIDEO - cloudAiDocument: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' - description: Document AI format to save the structured content, including OCR. - displayName: - type: string - description: >- - 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. - name: - type: string - description: >- - The resource name of the document. Format: - projects/{project_number}/locations/{location}/documents/{document_id}. - The name is ignored when creating a document. - textExtractionDisabled: - type: boolean - description: If true, text extraction will not be performed. - deprecated: true - properties: + Type of the list_entries (if exist). Available options are `ordered` + and `unordered`. + listEntries: + description: List entries that constitute a list block. items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Property' + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry type: array - description: List of values that are user supplied metadata. - textExtractionEnabled: - description: If true, text extraction will be performed. - type: boolean - plainText: - type: string - description: Other document format, such as PPTX, XLXS - updateTime: - readOnly: true - type: string - format: google-datetime - description: Output only. The time when the document is last updated. - rawDocumentPath: - description: Raw document file in Cloud Storage path. - type: string - displayUri: - description: Uri to display the document, for example, in the UI. - type: string - dispositionTime: - readOnly: true - format: google-datetime - description: >- - Output only. If linked to a Collection with RetentionPolicy, the - date when the document becomes mutable. - type: string - documentSchemaName: - type: string - description: >- - The Document schema name. Format: - projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. - GoogleCloudContentwarehouseV1FloatTypeOptions: - id: GoogleCloudContentwarehouseV1FloatTypeOptions type: object - properties: {} - description: Configurations for a float property. - CloudAiPlatformTenantresourceTenantProjectResource: - description: 'The tenant project and tenant resources. Next ID: 10' + description: Represents a list type block. + GoogleCloudDocumentaiV1DocumentPageFormField: + id: GoogleCloudDocumentaiV1DocumentPageFormField properties: - tenantProjectConfig: - $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceTenantProjectConfig - description: The configurations of a tenant project. - gcsBuckets: - items: - $ref: '#/components/schemas/CloudAiPlatformTenantresourceGcsBucketConfig' - description: The GCS buckets that are provisioned under the tenant project. - type: array - tenantProjectNumber: - format: int64 - description: Output only. The tenant project number that has been created. + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + valueType: type: string - iamPolicyBindings: - items: - $ref: '#/components/schemas/CloudAiPlatformTenantresourceIamPolicyBinding' description: >- - The dynamic IAM bindings that are granted under the tenant project. - Note: this should only add new bindings to the project if they don't - exist and the existing bindings won't be affected. - type: array - infraSpannerConfigs: - type: array - description: >- - The Infra Spanner databases that are provisioned under the tenant - project. Note: this is an experimental feature. + If the value is non-textual, this field represents the type. Current + valid values are: - blank (this indicates the `field_value` is + normal text) - `unfilled_checkbox` - `filled_checkbox` + valueDetectedLanguages: items: $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceInfraSpannerConfig - tag: + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + type: array + description: A list of detected languages for value together with confidence. + correctedValueText: type: string description: >- - Input/Output [Required]. The tag that uniquely identifies a tenant - project within a tenancy unit. Note: for the same tenant project - tag, all tenant manager operations should be idempotent. - tenantProjectId: - type: string - description: Output only. The tenant project ID that has been created. - cloudSqlInstances: + Created for Labeling UI to export value text. If corrections were + made to the text identified by the `field_value.text_anchor`, this + field will contain the correction. + nameDetectedLanguages: type: array + description: A list of detected languages for name together with confidence. items: $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceCloudSqlInstanceConfig + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + fieldValue: + description: Layout for the FormField value. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + correctedKeyText: description: >- - The CloudSQL instances that are provisioned under the tenant - project. - tenantServiceAccounts: + Created for Labeling UI to export key text. If corrections were made + to the text identified by the `field_name.text_anchor`, this field + will contain the correction. + type: string + fieldName: description: >- - The service account identities (or enabled API service's P4SA) that - are expclicitly created under the tenant project (before JIT - provisioning during enabled API services). - type: array - items: - $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceTenantServiceAccountIdentity - type: object - id: CloudAiPlatformTenantresourceTenantProjectResource - GoogleCloudContentwarehouseV1IntegerTypeOptions: - description: Configurations for an integer property. + Layout for the FormField name. e.g. `Address`, `Email`, `Grand + total`, `Phone number`, etc. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: A form field detected on the page. type: object - properties: {} - id: GoogleCloudContentwarehouseV1IntegerTypeOptions - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk: - properties: - sourceBlockIds: - description: Unused. - items: - type: string - type: array - pageFooters: - type: array - description: Page footers associated with the chunk. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter - content: - description: Text content of the chunk. - type: string - chunkId: - type: string - description: ID of the chunk. - pageHeaders: - description: Page headers associated with the chunk. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader - type: array - pageSpan: - description: Page span of the chunk. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk - description: Represents a chunk. + GoogleIamV1Policy: type: object - GoogleCloudDocumentaiV1NormalizedVertex: - properties: - 'y': - format: float - type: number - description: Y coordinate (starts from the top of the image). - x: - description: X coordinate. - format: float - type: number - description: >- - A vertex represents a 2D point in the image. NOTE: the normalized vertex - coordinates are relative to the original image and range from 0 to 1. - type: object - id: GoogleCloudDocumentaiV1NormalizedVertex - GoogleCloudContentwarehouseV1WeightedSchemaProperty: - type: object - description: Specifies the schema property name. - properties: - documentSchemaName: - description: The document schema name. - type: string - propertyNames: - description: The property definition names in the schema. - items: - type: string - type: array - id: GoogleCloudContentwarehouseV1WeightedSchemaProperty - GoogleCloudContentwarehouseV1ExportToCdwPipeline: - id: GoogleCloudContentwarehouseV1ExportToCdwPipeline - properties: - documents: - items: - type: string - description: >- - The list of all the resource names of the documents to be processed. - Format: - projects/{project_number}/locations/{location}/documents/{document_id}. - type: array - docAiDataset: - type: string - description: >- - Optional. The CDW dataset resource name. This field is optional. If - not set, the documents will be exported to Cloud Storage only. - Format: - projects/{project}/locations/{location}/processors/{processor}/dataset - trainingSplitRatio: - type: number - description: >- - Ratio of training dataset split. When importing into Document AI - Workbench, documents will be automatically split into training and - test split category with the specified ratio. This field is required - if doc_ai_dataset is set. - format: float - exportFolderPath: - description: >- - The Cloud Storage folder path used to store the exported documents - before being sent to CDW. Format: `gs:///`. - type: string - type: object - description: >- - The configuration of exporting documents from the Document Warehouse to - CDW pipeline. - GoogleCloudContentwarehouseV1Action: - description: Represents the action triggered by Rule Engine when the rule is true. - type: object - properties: - actionId: - description: ID of the action. Managed internally. - type: string - publishToPubSub: - description: Action publish to Pub/Sub operation. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1PublishAction' - accessControl: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1AccessControlAction - description: Action triggering access control operations. - deleteDocumentAction: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentAction - description: Action deleting the document. - removeFromFolderAction: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RemoveFromFolderAction - description: Action removing a document from a folder. - dataValidation: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DataValidationAction - description: Action triggering data validation operations. - dataUpdate: - description: Action triggering data update operations. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DataUpdateAction' - addToFolder: - description: Action triggering create document link operation. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1AddToFolderAction' - id: GoogleCloudContentwarehouseV1Action - CloudAiPlatformTenantresourceTenantResource: - id: CloudAiPlatformTenantresourceTenantResource - description: A collection of tenant resources. - properties: - tenantProjectResources: - type: array - description: >- - A list of tenant projects and tenant resources to provision or - deprovision. - items: - $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceTenantProjectResource - p4ServiceAccounts: - type: array - description: A list of P4 service accounts (go/p4sa) to provision or deprovision. - items: - $ref: >- - #/components/schemas/CloudAiPlatformTenantresourceServiceAccountIdentity - type: object - GoogleCloudDocumentaiV1DocumentProvenance: - properties: - id: - description: >- - The Id of this operation. Needs to be unique within the scope of the - revision. - format: int32 - type: integer - deprecated: true - revision: - type: integer - deprecated: true - description: The index of the revision that produced this element. - format: int32 - parents: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentProvenanceParent - description: References to the original elements that are replaced. - type: - enumDeprecated: - - false - - false - - false - - false - - false - - true - - true - - true - enum: - - OPERATION_TYPE_UNSPECIFIED - - ADD - - REMOVE - - UPDATE - - REPLACE - - EVAL_REQUESTED - - EVAL_APPROVED - - EVAL_SKIPPED - description: The type of provenance operation. - type: string - enumDescriptions: - - >- - Operation type unspecified. If no operation is specified a - provenance entry is simply used to match against a `parent`. - - Add an element. - - Remove an element identified by `parent`. - - >- - Updates any fields within the given provenance scope of the - message. It overwrites the fields rather than replacing them. Use - this when you want to update a field value of an entity without - also updating all the child properties. - - Currently unused. Replace an element identified by `parent`. - - >- - Deprecated. Request human review for the element identified by - `parent`. - - >- - Deprecated. Element is reviewed and approved at human review, - confidence will be set to 1.0. - - Deprecated. Element is skipped in the validation process. - type: object - id: GoogleCloudDocumentaiV1DocumentProvenance - description: >- - Structure to identify provenance relationships between annotations in - different revisions. - GoogleCloudContentwarehouseV1UserInfo: - id: GoogleCloudContentwarehouseV1UserInfo - description: The user information. - type: object - properties: - groupIds: - items: - type: string - description: >- - The unique group identifications which the user is belong to. The - format is "group:yyyy@example.com"; - type: array - id: - description: >- - A unique user identification string, as determined by the client. - The maximum number of allowed characters is 255. Allowed characters - include numbers 0 to 9, uppercase and lowercase letters, and - restricted special symbols (:, @, +, -, _, ~) The format is - "user:xxxx@example.com"; - type: string - GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource: - properties: - processorType: - description: The Doc AI processor type name. - type: string - name: - type: string - description: The schema name in the source. - type: object - id: GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource - description: The schema source information. - CloudAiPlatformTenantresourceServiceAccountIdentity: - properties: - serviceAccountEmail: - type: string - description: Output only. The service account email that has been created. - tag: - type: string - description: >- - Input/Output [Optional]. The tag that configures the service - account, as defined in - google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/activation_grants.gcl. - Note: The default P4 service account has the empty tag. - description: The identity to configure a service account. - id: CloudAiPlatformTenantresourceServiceAccountIdentity - type: object - GoogleCloudContentwarehouseV1TimeFilter: - id: GoogleCloudContentwarehouseV1TimeFilter - description: Filter on create timestamp or update timestamp of documents. - properties: - timeField: - type: string - description: >- - Specifies which time field to filter documents on. Defaults to - TimeField.UPLOAD_TIME. - enumDescriptions: - - Default value. - - Earliest document create time. - - Latest document update time. - - Time when document becomes mutable again. - enum: - - TIME_FIELD_UNSPECIFIED - - CREATE_TIME - - UPDATE_TIME - - DISPOSITION_TIME - timeRange: - $ref: '#/components/schemas/GoogleTypeInterval' - type: object - GoogleCloudDocumentaiV1DocumentPageTableTableCell: - type: object - properties: - colSpan: - description: How many columns this cell spans. - format: int32 - type: integer - detectedLanguages: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages together with confidence. - type: array - rowSpan: - description: How many rows this cell spans. - format: int32 - type: integer - layout: - description: Layout for TableCell. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: A cell representation inside the table. - id: GoogleCloudDocumentaiV1DocumentPageTableTableCell - GoogleIamV1Policy: - id: GoogleIamV1Policy + id: GoogleIamV1Policy description: >- An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of @@ -2697,11 +1918,34 @@ components: 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/). - type: object properties: + version: + type: integer + description: >- + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + format: int32 + auditConfigs: + description: Specifies cloud audit logging configuration for this policy. + items: + $ref: '#/components/schemas/GoogleIamV1AuditConfig' + type: array etag: format: byte - type: string description: >- `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each @@ -2715,9 +1959,8 @@ components: `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + type: string bindings: - items: - $ref: '#/components/schemas/GoogleIamV1Binding' type: array description: >- Associates a list of `members`, or principals, with a `role`. @@ -2729,439 +1972,859 @@ components: For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. - auditConfigs: + items: + $ref: '#/components/schemas/GoogleIamV1Binding' + GoogleCloudDocumentaiV1DocumentPageLine: + type: object + id: GoogleCloudDocumentaiV1DocumentPageLine + properties: + detectedLanguages: type: array items: - $ref: '#/components/schemas/GoogleIamV1AuditConfig' - description: Specifies cloud audit logging configuration for this policy. - version: - format: int32 - description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - type: integer - GoogleCloudDocumentaiV1DocumentPageAnchorPageRef: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + deprecated: true + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for Line. + description: >- + A collection of tokens that a human would perceive as a line. Does not + cross column boundaries, can be horizontal, vertical, etc. + GoogleCloudContentwarehouseV1beta1InitializeProjectResponse: type: object properties: - layoutType: + state: type: string - description: >- - Optional. The type of the layout element that is being referenced if - any. enumDescriptions: - - Layout Unspecified. - - References a Page.blocks element. - - References a Page.paragraphs element. - - References a Page.lines element. - - References a Page.tokens element. - - References a Page.visual_elements element. - - Refrrences a Page.tables element. - - References a Page.form_fields element. + - Clients should never see this. + - Finished project initialization without error. + - Finished project initialization with an error. + - Client canceled the LRO. + - Ask the customer to check the operation for results. enum: - - LAYOUT_TYPE_UNSPECIFIED - - BLOCK - - PARAGRAPH - - LINE - - TOKEN - - VISUAL_ELEMENT - - TABLE - - FORM_FIELD - page: - description: >- - Required. Index into the Document.pages element, for example using - `Document.pages` to locate the related page element. This field is - skipped when its value is the default `0`. See - https://developers.google.com/protocol-buffers/docs/proto3#json. - format: int64 - type: string - layoutId: - deprecated: true - description: Optional. Deprecated. Use PageRef.bounding_poly instead. + - STATE_UNSPECIFIED + - SUCCEEDED + - FAILED + - CANCELLED + - RUNNING + description: The state of the project initialization process. + message: + description: The message of the project initialization process. type: string - confidence: - format: float - type: number + id: GoogleCloudContentwarehouseV1beta1InitializeProjectResponse + description: Response message for projectService.InitializeProject + GoogleCloudContentwarehouseV1SetAclRequest: + type: object + properties: + policy: + $ref: '#/components/schemas/GoogleIamV1Policy' description: >- - Optional. Confidence of detected page element, if applicable. Range - `[0, 1]`. - boundingPoly: + Required. REQUIRED: The complete policy to be applied to the + `resource`. The size of the policy is limited to a few 10s of KB. + This refers to an Identity and Access (IAM) policy, which specifies + access controls for the Document. You can set ACL with condition for + projects only. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, + and `>=` where the left of the operator is `DocumentSchemaId` or + property name and the right of the operator is a number or a quoted + string. You must escape backslash (\\) and quote (\") characters. + Boolean expressions (AND/OR) are supported up to 3 levels of nesting + (for example, "((A AND B AND C) OR D) AND E"), a maximum of 10 + comparisons are allowed in the expression. The expression must be < + 6000 bytes in length. Sample condition: `"DocumentSchemaId = \"some + schema id\" OR SchemaId.floatPropertyName >= 10"` + requestMetadata: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' description: >- - Optional. Identifies the bounding polygon of a layout element on the - page. If `layout_type` is set, the bounding polygon must be exactly - the same to the layout element it's referring to. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' - description: Represents a weak reference to a page element within a document. - id: GoogleCloudDocumentaiV1DocumentPageAnchorPageRef - GoogleCloudContentwarehouseV1RuleSet: - description: Represents a set of rules from a single customer. - id: GoogleCloudContentwarehouseV1RuleSet + The meta information collected about the end user, used to enforce + access control for the service. + projectOwner: + description: >- + For Set Project ACL only. Authorization check for end user will be + ignored when project_owner=true. + type: boolean + id: GoogleCloudContentwarehouseV1SetAclRequest + description: Request message for DocumentService.SetAcl. + GoogleCloudContentwarehouseV1Rule: + id: GoogleCloudContentwarehouseV1Rule type: object properties: - source: + actions: + type: array + description: List of actions that are executed when the rule is satisfied. + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Action' + ruleId: type: string - description: Source of the rules i.e., customer name. + description: >- + ID of the rule. It has to be unique across all the examples. This is + managed internally. + condition: + type: string + description: >- + Represents the conditional expression to be evaluated. Expression + should evaluate to a boolean result. When the condition is true + actions are executed. Example: user_role = "hsbc_role_1" AND + doc.salary > 20000 description: - description: Short description of the rule-set. + description: Short description of the rule and its context. + type: string + triggerType: + enum: + - UNKNOWN + - ON_CREATE + - ON_UPDATE + - ON_CREATE_LINK + - ON_DELETE_LINK type: string + description: Identifies the trigger type for running the policy. + enumDescriptions: + - Trigger for unknown action. + - Trigger for create document action. + - Trigger for update document action. + - Trigger for create link action. + - Trigger for delete link action. + description: Represents the rule for a content warehouse trigger. + GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource: + id: GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource + properties: name: type: string - description: >- - 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. - rules: - description: List of rules given by the customer. - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' - type: array + description: The schema name in the source. + processorType: + type: string + description: The Doc AI processor type name. + description: The schema source information. + type: object + GoogleCloudContentwarehouseV1TextArray: + properties: + values: + items: + type: string + description: List of text values. + type: array + type: object + description: String/text values. + id: GoogleCloudContentwarehouseV1TextArray + GoogleCloudDocumentaiV1DocumentPageImage: + id: GoogleCloudDocumentaiV1DocumentPageImage + properties: + height: + description: Height of the image in pixels. + format: int32 + type: integer + mimeType: + description: >- + Encoding [media type (MIME + type)](https://www.iana.org/assignments/media-types/media-types.xhtml) + for the image. + type: string + content: + format: byte + description: Raw byte content of the image. + type: string + width: + type: integer + description: Width of the image in pixels. + format: int32 + description: Rendered image contents for this page. + type: object + GoogleCloudContentwarehouseV1QAResultHighlight: + id: GoogleCloudContentwarehouseV1QAResultHighlight + description: >- + A text span in the search text snippet that represents a highlighted + section (answer context, highly relevant sentence, etc.). + type: object + properties: + endIndex: + format: int32 + type: integer + description: End index of the highlight, exclusive. + startIndex: + format: int32 + description: Start index of the highlight. + type: integer + GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak: + type: object + id: GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak + properties: + type: + type: string + enum: + - TYPE_UNSPECIFIED + - SPACE + - WIDE_SPACE + - HYPHEN + enumDescriptions: + - Unspecified break type. + - A single whitespace. + - A wider whitespace. + - A hyphen that indicates that a token has been split across lines. + description: Detected break type. + description: Detected break at the end of a Token. + GoogleCloudDocumentaiV1DocumentDocumentLayout: + properties: + blocks: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + type: array + description: List of blocks in the document. + description: >- + Represents the parsed layout of a document as a collection of blocks + that the document is divided into. + id: GoogleCloudDocumentaiV1DocumentDocumentLayout + type: object + GoogleCloudContentwarehouseV1UpdateDocumentResponse: + description: Response message for DocumentService.UpdateDocument. + id: GoogleCloudContentwarehouseV1UpdateDocumentResponse + type: object + properties: + metadata: + description: >- + Additional information for the API invocation, such as the request + tracking id. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' + ruleEngineOutput: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleEngineOutput' + description: >- + Output from Rule Engine recording the rule evaluator and action + executor's output. Refer format in: + google/cloud/contentwarehouse/v1/rule_engine.proto + document: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' + description: Updated document after executing update request. + GoogleTypeInterval: + id: GoogleTypeInterval + properties: + startTime: + description: >- + Optional. Inclusive start of the interval. If specified, a Timestamp + matching this interval will have to be the same or after the start. + format: google-datetime + type: string + endTime: + type: string + format: google-datetime + description: >- + Optional. Exclusive end of the interval. If specified, a Timestamp + matching this interval will have to be before the end. + description: >- + 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. + type: object + GoogleCloudContentwarehouseV1FetchAclRequest: + type: object + properties: + projectOwner: + type: boolean + description: >- + For Get Project ACL only. Authorization check for end user will be + ignored when project_owner=true. + requestMetadata: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + description: >- + The meta information collected about the end user, used to enforce + access control for the service. + id: GoogleCloudContentwarehouseV1FetchAclRequest + description: Request message for DocumentService.FetchAcl + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter: + type: object + properties: + pageSpan: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + description: Page span of the footer. + text: + type: string + description: Footer in text format. + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter + description: Represents the page footer associated with the chunk. + GoogleCloudContentwarehouseV1InvalidRule: + properties: + rule: + description: Triggered rule. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + error: + description: Validation error on a parsed expression. + type: string + type: object + description: A triggered rule that failed the validation check(s) after parsing. + id: GoogleCloudContentwarehouseV1InvalidRule + GoogleCloudContentwarehouseV1Document: + properties: + rawDocumentFileType: + type: string + enum: + - RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED + - RAW_DOCUMENT_FILE_TYPE_PDF + - RAW_DOCUMENT_FILE_TYPE_DOCX + - RAW_DOCUMENT_FILE_TYPE_XLSX + - RAW_DOCUMENT_FILE_TYPE_PPTX + - RAW_DOCUMENT_FILE_TYPE_TEXT + - RAW_DOCUMENT_FILE_TYPE_TIFF + description: >- + 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. + enumDescriptions: + - No raw document specified or it is non-parsable + - Adobe PDF format + - Microsoft Word format + - Microsoft Excel format + - Microsoft Powerpoint format + - UTF-8 encoded text format + - TIFF or TIF image file format + legalHold: + type: boolean + readOnly: true + description: Output only. Indicates if the document has a legal hold on it. + updateTime: + readOnly: true + type: string + description: Output only. The time when the document is last updated. + format: google-datetime + createTime: + type: string + description: Output only. The time when the document is created. + readOnly: true + format: google-datetime + properties: + description: List of values that are user supplied metadata. + type: array + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Property' + updater: + type: string + description: The user who lastly updates the document. + cloudAiDocument: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' + description: Document AI format to save the structured content, including OCR. + dispositionTime: + format: google-datetime + readOnly: true + description: >- + Output only. If linked to a Collection with RetentionPolicy, the + date when the document becomes mutable. + type: string + textExtractionDisabled: + type: boolean + description: If true, text extraction will not be performed. + deprecated: true + textExtractionEnabled: + description: If true, text extraction will be performed. + type: boolean + displayUri: + type: string + description: Uri to display the document, for example, in the UI. + name: + type: string + description: >- + The resource name of the document. Format: + projects/{project_number}/locations/{location}/documents/{document_id}. + The name is ignored when creating a document. + documentSchemaName: + type: string + description: >- + The Document schema name. Format: + projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + contentCategory: + enum: + - CONTENT_CATEGORY_UNSPECIFIED + - CONTENT_CATEGORY_IMAGE + - CONTENT_CATEGORY_AUDIO + - CONTENT_CATEGORY_VIDEO + enumDescriptions: + - No category is specified. + - Content is of image type. + - Content is of audio type. + - Content is of video type. + type: string + description: >- + Indicates the category (image, audio, video etc.) of the original + content. + creator: + description: The user who creates the document. + type: string + title: + description: >- + Title that describes the document. This can be the top heading or + text that describes the document. + type: string + displayName: + type: string + description: >- + 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. + referenceId: + type: string + description: >- + The reference ID set by customers. Must be unique per project and + location. + rawDocumentPath: + description: Raw document file in Cloud Storage path. + type: string + inlineRawDocument: + type: string + description: Raw document content. + format: byte + plainText: + type: string + description: Other document format, such as PPTX, XLXS + type: object + description: Defines the structure for content warehouse document proto. + id: GoogleCloudContentwarehouseV1Document + GoogleCloudContentwarehouseV1TimestampValue: + description: Timestamp value type. + id: GoogleCloudContentwarehouseV1TimestampValue + properties: + textValue: + description: >- + The string must represent a valid instant in UTC and is parsed using + java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. + "2013-09-29T18:46:19Z" + type: string + timestampValue: + format: google-datetime + type: string + description: Timestamp value + type: object + GoogleCloudContentwarehouseV1ProjectStatus: + type: object + id: GoogleCloudContentwarehouseV1ProjectStatus + properties: + state: + type: string + enum: + - PROJECT_STATE_UNSPECIFIED + - PROJECT_STATE_PENDING + - PROJECT_STATE_COMPLETED + - PROJECT_STATE_FAILED + - PROJECT_STATE_DELETING + - PROJECT_STATE_DELETING_FAILED + - PROJECT_STATE_DELETED + - PROJECT_STATE_NOT_FOUND + enumDescriptions: + - Default status, required by protobuf best practices. + - The project is in the middle of a provision process. + - All dependencies have been provisioned. + - A provision process was previously initiated, but failed. + - The project is in the middle of a deletion process. + - A deleting process was initiated, but failed. + - The project is deleted. + - The project is not found. + description: State of the project. + accessControlMode: + type: string + description: Access control mode. + enum: + - ACL_MODE_UNKNOWN + - ACL_MODE_UNIVERSAL_ACCESS + - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID + - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI + enumDescriptions: + - This value is required by protobuf best practices + - 'Universal Access: No document level access control.' + - Document level access control with customer own Identity Service. + - Document level access control using Google Cloud Identity. + location: + description: The location of the queried project. + type: string + databaseType: + type: string + description: Database type. + enumDescriptions: + - This value is required by protobuf best practices + - Internal Spanner + - Cloud Sql with a Postgres Sql instance + enum: + - DB_UNKNOWN + - DB_INFRA_SPANNER + - DB_CLOUD_SQL_POSTGRES + enumDeprecated: + - false + - false + - true + qaEnabled: + description: If the qa is enabled on this project. + type: boolean + documentCreatorDefaultRole: + description: The default role for the person who create a document. + type: string + description: >- + Status of a project, including the project state, dbType, aclMode and + etc. + GoogleRpcStatus: + properties: + details: + type: array + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + code: + type: integer + format: int32 + description: The status code, which should be an enum value of google.rpc.Code. + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + type: object + id: GoogleRpcStatus + description: >- + 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). GoogleApiServiceconsumermanagementV1BillingConfig: type: object id: GoogleApiServiceconsumermanagementV1BillingConfig description: Describes the billing configuration for a new tenant project. properties: billingAccount: - type: string description: >- Name of the billing account. For example `billingAccounts/012345-567890-ABCDEF`. - GoogleCloudDocumentaiV1Document: + type: string + GoogleCloudContentwarehouseV1IntegerArray: + type: object + description: Integer values. properties: - revisions: - description: Placeholder. Revision history of this document. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentRevision' - pages: - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPage' - description: Visual page layout for the Document. - entityRelations: + values: items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntityRelation' + type: integer + format: int32 type: array - description: Placeholder. Relationship among Document.entities. - content: - description: >- - Optional. Inline document content, represented as a stream of bytes. - Note: As with all `bytes` fields, protobuffers use a pure binary - representation, whereas JSON representations use base64. - format: byte - type: string - shardInfo: - description: >- - Information about the sharding if this document is sharded part of a - larger document. If the document is not sharded, this message is not - specified. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentShardInfo' - chunkedDocument: - description: Document chunked based on chunking config. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocument' - entities: + description: List of integer values. + id: GoogleCloudContentwarehouseV1IntegerArray + GoogleCloudContentwarehouseV1DateTimeTypeOptions: + description: Configurations for a date time property. + id: GoogleCloudContentwarehouseV1DateTimeTypeOptions + type: object + properties: {} + GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest: + type: object + properties: + requestMetadata: description: >- - A list of entities detected on Document.text. For document shards, - entities in this list may cross shard boundaries. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' - text: - type: string - description: Optional. UTF-8 encoded text in reading order from the document. - textStyles: - description: Styles for the Document.text. - type: array - deprecated: true - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyle' - mimeType: + The meta information collected about the document creator, used to + enforce access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + id: GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest + description: Request message for DocumentLinkService.DeleteDocumentLink. + GoogleCloudContentwarehouseV1RequestMetadata: + id: GoogleCloudContentwarehouseV1RequestMetadata + type: object + properties: + userInfo: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UserInfo' + description: Provides user unique identification and groups information. + description: Meta information is used to improve the performance of the service. + GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect: + type: object + id: GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect + properties: + type: type: string description: >- - An IANA published [media type (MIME - type)](https://www.iana.org/assignments/media-types/media-types.xhtml). - documentLayout: - description: Parsed layout of the document. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayout' - uri: + Name of the defect type. Supported values are: - + `quality/defect_blurry` - `quality/defect_noisy` - + `quality/defect_dark` - `quality/defect_faint` - + `quality/defect_text_too_small` - `quality/defect_document_cutoff` - + `quality/defect_text_cutoff` - `quality/defect_glare` + confidence: + type: number description: >- - Optional. Currently supports Google Cloud Storage URI of the form - `gs://bucket_name/object_name`. Object versioning is not supported. - For more information, refer to [Google Cloud Storage Request - URIs](https://cloud.google.com/storage/docs/reference-uris). - type: string - textChanges: - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextChange' + Confidence of detected defect. Range `[0, 1]` where `1` indicates + strong confidence that the defect exists. + format: float + description: Image Quality Defects + GoogleCloudContentwarehouseV1GetDocumentRequest: + properties: + requestMetadata: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' description: >- - Placeholder. A list of text corrections made to Document.text. This - is usually used for annotating corrections to OCR mistakes. Text - changes for a given revision may not overlap with each other. - error: - description: Any error that occurred while processing this document. - $ref: '#/components/schemas/GoogleRpcStatus' - id: GoogleCloudDocumentaiV1Document + The meta information collected about the end user, used to enforce + access control for the service. + type: object + id: GoogleCloudContentwarehouseV1GetDocumentRequest + description: Request message for DocumentService.GetDocument. + GoogleTypeDate: description: >- - 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. + 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 type: object - GoogleCloudContentwarehouseV1PropertyFilter: - id: GoogleCloudContentwarehouseV1PropertyFilter properties: - condition: + month: + type: integer description: >- - The filter condition. The syntax for this expression is a subset of - SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, - `>=`, and `~~` where the left of the operator is a property name and - the right of the operator is a number or a quoted string. You must - escape backslash (\\) and quote (\") characters. `~~` is the LIKE - operator. The right of the operator must be a string. The only - supported property data type for LIKE is text_values. It provides - semantic search functionality by parsing, stemming and doing - synonyms expansion against the input query. It matches if the - property contains semantic similar content to the query. It is not - regex matching or wildcard matching. For example, "property.company - ~~ \"google\"" will match records whose property `property.compnay` - have values like "Google Inc.", "Google LLC" or "Google Company". - Supported functions are `LOWER([property_name])` to perform a case - insensitive match and `EMPTY([property_name])` to filter on the - existence of a key. Boolean expressions (AND/OR/NOT) are supported - up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) - AND E"), a maximum of 100 comparisons or functions are allowed in - the expression. The expression must be < 6000 bytes in length. Only - properties that are marked filterable are allowed - (PropertyDefinition.is_filterable). Property names do not need to be - prefixed by the document schema id (as is the case with histograms), - however property names will need to be prefixed by its parent - hierarchy, if any. For example: top_property_name.sub_property_name. - Sample Query: `(LOWER(driving_license)="class \"a\"" OR - EMPTY(driving_license)) AND driving_years > 10` CMEK compliant - deployment only supports: * Operators: `=`, `<`, `<=`, `>`, and - `>=`. * Boolean expressions: AND and OR. - type: string - documentSchemaName: + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + format: int32 + year: description: >- - The Document schema name Document.document_schema_name. Format: - projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. - type: string + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + format: int32 + type: integer + day: + format: int32 + description: >- + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + type: integer + id: GoogleTypeDate + GoogleCloudDocumentaiV1DocumentShardInfo: type: object - GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline: + id: GoogleCloudDocumentaiV1DocumentShardInfo properties: - pipelineConfig: - description: >- - Optional. The config for the Cloud Storage Ingestion with DocAI - Processors pipeline. It provides additional customization options to - run the pipeline and can be skipped if it is not applicable. - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1IngestPipelineConfig - processorResultsFolderPath: + shardIndex: + format: int64 + type: string + description: The 0-based index of this shard. + shardCount: + type: string + description: Total number of shards. + format: int64 + textOffset: type: string description: >- - The Cloud Storage folder path used to store the raw results from - processors. Format: `gs:///`. - extractProcessorInfos: - description: >- - The extract processors information. One matched extract processor - will be used to process documents based on the classify processor - result. If no classify processor is specified, the first extract - processor will be used. + The index of the first character in Document.text in the overall + document global text. + format: int64 + description: >- + For a large document, sharding may be performed to produce several + document shards. Each document shard contains this field to detail which + shard it is. + GoogleCloudContentwarehouseV1ListLinkedTargetsResponse: + type: object + description: Response message for DocumentLinkService.ListLinkedTargets. + id: GoogleCloudContentwarehouseV1ListLinkedTargetsResponse + properties: + documentLinks: type: array + description: Target document-links. items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' - inputPath: - type: string - description: >- - The input Cloud Storage folder. All files under this folder will be - imported to Document Warehouse. Format: `gs:///`. - skipIngestedDocuments: - type: boolean - description: >- - The flag whether to skip ingested documents. If it is set to true, - documents in Cloud Storage contains key "status" with value - "status=ingested" in custom metadata will be skipped to ingest. - splitClassifyProcessorInfo: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' + nextPageToken: description: >- - The split and classify processor information. The split and classify - result will be used to find a matched extract processor. - id: GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline - description: >- - The configuration of the Cloud Storage Ingestion with DocAI Processors - pipeline. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: string + GoogleCloudContentwarehouseV1FileTypeFilter: type: object - GoogleIamV1AuditConfig: properties: - service: + fileType: + enum: + - FILE_TYPE_UNSPECIFIED + - ALL + - FOLDER + - DOCUMENT + - ROOT_FOLDER + description: The type of files to return. type: string - description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. - auditLogConfigs: + enumDescriptions: + - Default document type. If set, disables the filter. + - Returns all document types, including folders. + - Returns only folders. + - Returns only non-folder documents. + - Returns only root folders + id: GoogleCloudContentwarehouseV1FileTypeFilter + description: Filter for the specific types of documents returned. + GoogleCloudContentwarehouseV1ActionExecutorOutput: + properties: + ruleActionsPairs: + description: List of rule and corresponding actions result. items: - $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' - description: The configuration for logging of each type of permission. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleActionsPair' type: array - id: GoogleIamV1AuditConfig - description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - `jose@example.com` from DATA_READ logging, and `aliya@example.com` from - DATA_WRITE logging. + description: Represents the output of the Action Executor. type: object - GoogleCloudContentwarehouseV1SynonymSet: + id: GoogleCloudContentwarehouseV1ActionExecutorOutput + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow properties: - synonyms: + cells: + type: array + description: A table row is a list of table cells. items: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1SynonymSetSynonym - description: List of Synonyms for the context. - type: array - context: - type: string - description: >- - This is a freeform field. Example contexts can be "sales," - "engineering," "real estate," "accounting," etc. The context can be - supplied during search requests. - name: - description: >- - The resource name of the SynonymSet This is mandatory for - google.api.resource. Format: - projects/{project_number}/locations/{location}/synonymSets/{context}. - type: string + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell type: object - description: >- - Represents a list of synonyms for a given context. For example a context - "sales" could contain: Synonym 1: sale, invoice, bill, order Synonym 2: - money, credit, finance, payment Synonym 3: shipping, freight, transport - Each SynonymSets should be disjoint - id: GoogleCloudContentwarehouseV1SynonymSet - GoogleCloudDocumentaiV1DocumentEntityRelation: - id: GoogleCloudDocumentaiV1DocumentEntityRelation - description: Relationship between Entities. + description: Represents a row in a table. + GoogleCloudContentwarehouseV1ListLinkedSourcesResponse: + description: Response message for DocumentLinkService.ListLinkedSources. + type: object + id: GoogleCloudContentwarehouseV1ListLinkedSourcesResponse properties: - objectId: - type: string - description: Object entity id. - relation: - type: string - description: Relationship description. - subjectId: + nextPageToken: type: string - description: Subject entity id. - type: object - GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata: - properties: {} + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + documentLinks: + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' + description: Source document-links. + type: array + GoogleCloudDocumentaiV1DocumentProvenanceParent: type: object - id: GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata - description: Metadata object for UpdateDocument request (currently empty). - GoogleCloudContentwarehouseV1DataValidationAction: + description: >- + The parent element the current element is based on. Used for + referencing/aligning, removal and replacement operations. properties: - conditions: - additionalProperties: - type: string - type: object + index: description: >- - Map of (K, V) -> (field, string condition to be evaluated on the - field) E.g., ("age", "age > 18 && age < 60") entry triggers - validation of field age with the given condition. Map entries will - be ANDed during validation. - description: Represents the action responsible for data validation operations. - id: GoogleCloudContentwarehouseV1DataValidationAction - type: object - GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata: + The index of the parent item in the corresponding item list (eg. + list of entities, properties within entities, etc.) in the parent + revision. + format: int32 + type: integer + id: + type: integer + deprecated: true + format: int32 + description: The id of the parent provenance. + revision: + format: int32 + description: The index of the index into current revision's parent_ids list. + type: integer + id: GoogleCloudDocumentaiV1DocumentProvenanceParent + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock: id: >- - GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata - description: The metadata message for Export-to-CDW pipeline. + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock + description: Represents a table type block. type: object properties: - outputPath: - type: string - description: The output Cloud Storage folder in this pipeline. - docAiDataset: - type: string - description: The output CDW dataset resource name. - documents: - description: >- - The input list of all the resource names of the documents to be - exported. + bodyRows: items: - type: string + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow + description: Body rows containing main table content. + type: array + headerRows: + description: Header rows at the top of the table. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow type: array + caption: + description: Table caption/title. + type: string GoogleCloudContentwarehouseV1CreateDocumentRequest: - description: Request message for DocumentService.CreateDocument. id: GoogleCloudContentwarehouseV1CreateDocumentRequest + description: Request message for DocumentService.CreateDocument. + type: object properties: cloudAiDocumentOption: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1CloudAIDocumentOption description: >- Request Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options. - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - description: >- - The meta information collected about the end user, used to enforce - access control for the service. + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1CloudAIDocumentOption policy: $ref: '#/components/schemas/GoogleIamV1Policy' description: >- Default document policy during creation. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. Conditions defined in the policy will be ignored. + requestMetadata: + description: >- + The meta information collected about the end user, used to enforce + access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + document: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' + description: Required. The document to create. createMask: + description: >- + Field mask for creating Document fields. If mask path is empty, it + means all fields are masked. For the `FieldMask` definition, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. + format: google-fieldmask + type: string + GoogleCloudContentwarehouseV1SearchDocumentsResponse: + properties: + metadata: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' + description: >- + Additional information for the API invocation, such as the request + tracking id. + questionAnswer: + description: Experimental. Question answer from the query against the document. + type: string + histogramQueryResults: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1HistogramQueryResult + description: >- + The histogram results that match with the specified + SearchDocumentsRequest.histogram_queries. + matchingDocuments: + description: >- + The document entities that match the specified + SearchDocumentsRequest. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument + totalSize: + type: integer + format: int32 + description: >- + The total number of matched documents which is available only if the + client set SearchDocumentsRequest.require_total_size to `true` or + set SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or + `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI + would handle this condition by displaying "of many", for example: + "Displaying 10 of many". + nextPageToken: type: string - format: google-fieldmask description: >- - Field mask for creating Document fields. If mask path is empty, it - means all fields are masked. For the `FieldMask` definition, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. - document: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' - description: Required. The document to create. + The token that specifies the starting position of the next page of + results. This field is empty if there are no more results. + description: Response message for DocumentService.SearchDocuments. type: object + id: GoogleCloudContentwarehouseV1SearchDocumentsResponse GoogleTypeColor: + id: GoogleTypeColor properties: - green: + blue: type: number format: float - description: The amount of green in the color as a value in the interval [0, 1]. - red: - description: The amount of red in the color as a value in the interval [0, 1]. - format: float - type: number + description: The amount of blue in the color as a value in the interval [0, 1]. alpha: - format: float description: >- The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = @@ -3174,12 +2837,15 @@ components: color (as if the alpha value had been explicitly given a value of 1.0). type: number - blue: + format: float + red: type: number - description: The amount of blue in the color as a value in the interval [0, 1]. + description: The amount of red in the color as a value in the interval [0, 1]. + format: float + green: + type: number + description: The amount of green in the color as a value in the interval [0, 1]. format: float - type: object - id: GoogleTypeColor description: >- Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations @@ -3231,1384 +2897,1591 @@ components: resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... - GoogleCloudContentwarehouseV1SearchDocumentsResponse: + type: object + GoogleCloudDocumentaiV1Document: + type: object + description: >- + 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. properties: - histogramQueryResults: + textStyles: + description: Styles for the Document.text. + deprecated: true + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyle' + type: array + entities: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' + description: >- + A list of entities detected on Document.text. For document shards, + entities in this list may cross shard boundaries. + type: array + shardInfo: + description: >- + Information about the sharding if this document is sharded part of a + larger document. If the document is not sharded, this message is not + specified. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentShardInfo' + documentLayout: + description: Parsed layout of the document. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayout' + text: + description: Optional. UTF-8 encoded text in reading order from the document. + type: string + uri: + type: string + description: >- + Optional. Currently supports Google Cloud Storage URI of the form + `gs://bucket_name/object_name`. Object versioning is not supported. + For more information, refer to [Google Cloud Storage Request + URIs](https://cloud.google.com/storage/docs/reference-uris). + mimeType: + description: >- + An IANA published [media type (MIME + type)](https://www.iana.org/assignments/media-types/media-types.xhtml). + type: string + revisions: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentRevision' + type: array + description: Placeholder. Revision history of this document. + content: + format: byte + description: >- + Optional. Inline document content, represented as a stream of bytes. + Note: As with all `bytes` fields, protobuffers use a pure binary + representation, whereas JSON representations use base64. + type: string + chunkedDocument: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocument' + description: Document chunked based on chunking config. + error: + description: Any error that occurred while processing this document. + $ref: '#/components/schemas/GoogleRpcStatus' + pages: + type: array + description: Visual page layout for the Document. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPage' + entityRelations: + type: array + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntityRelation' + description: Placeholder. Relationship among Document.entities. + textChanges: + type: array + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextChange' + description: >- + Placeholder. A list of text corrections made to Document.text. This + is usually used for annotating corrections to OCR mistakes. Text + changes for a given revision may not overlap with each other. + id: GoogleCloudDocumentaiV1Document + GoogleCloudDocumentaiV1DocumentPageTableTableCell: + properties: + colSpan: + format: int32 + type: integer + description: How many columns this cell spans. + rowSpan: + format: int32 + description: How many rows this cell spans. + type: integer + detectedLanguages: + description: A list of detected languages together with confidence. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + type: array + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for TableCell. + description: A cell representation inside the table. + type: object + id: GoogleCloudDocumentaiV1DocumentPageTableTableCell + GoogleCloudContentwarehouseV1ListDocumentSchemasResponse: + type: object + id: GoogleCloudContentwarehouseV1ListDocumentSchemasResponse + properties: + documentSchemas: + description: The document schemas from the specified parent. + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema' + type: array + nextPageToken: + type: string + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + description: Response message for DocumentSchemaService.ListDocumentSchemas. + GoogleCloudDocumentaiV1DocumentPageToken: + type: object + id: GoogleCloudDocumentaiV1DocumentPageToken + properties: + detectedBreak: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak + description: Detected break at the end of a Token. + styleInfo: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo + description: Text style attributes. + detectedLanguages: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + type: array + provenance: + deprecated: true + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + layout: + description: Layout for Token. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: A detected token. + GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline: + description: >- + The configuration of processing documents in Document Warehouse with + DocAi processors pipeline. + type: object + properties: + processorResultsFolderPath: + type: string + description: >- + The Cloud Storage folder path used to store the raw results from + processors. Format: `gs:///`. + documents: + type: array + description: >- + The list of all the resource names of the documents to be processed. + Format: + projects/{project_number}/locations/{location}/documents/{document_id}. + items: + type: string + exportFolderPath: + description: >- + The Cloud Storage folder path used to store the exported documents + before being sent to CDW. Format: `gs:///`. + type: string + processorInfo: + description: The CDW processor information. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' + id: GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline + GoogleCloudContentwarehouseV1ResponseMetadata: + description: >- + Additional information returned to client, such as debugging + information. + properties: + requestId: + type: string + description: >- + A unique id associated with this call. This id is logged for + tracking purpose. + type: object + id: GoogleCloudContentwarehouseV1ResponseMetadata + GoogleCloudContentwarehouseV1ListLinkedSourcesRequest: + type: object + id: GoogleCloudContentwarehouseV1ListLinkedSourcesRequest + properties: + requestMetadata: + description: >- + The meta information collected about the document creator, used to + enforce access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + pageToken: + type: string + description: >- + A page token, received from a previous `ListLinkedSources` call. + Provide this to retrieve the subsequent page. When paginating, all + other parameters provided to `ListLinkedSources` must match the call + that provided the page token. + pageSize: + description: >- + The maximum number of document-links to return. The service may + return fewer than this value. If unspecified, at most 50 + document-links will be returned. The maximum value is 1000; values + above 1000 will be coerced to 1000. + type: integer + format: int32 + description: Response message for DocumentLinkService.ListLinkedSources. + GoogleCloudContentwarehouseV1DocumentSchema: + properties: + description: + type: string + description: Schema description. + documentIsFolder: description: >- - The histogram results that match with the specified - SearchDocumentsRequest.histogram_queries. + Document Type, true refers the document is a folder, otherwise it is + a typical document. + type: boolean + createTime: + type: string + readOnly: true + description: Output only. The time when the document schema is created. + format: google-datetime + propertyDefinitions: + type: array items: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1HistogramQueryResult - type: array - nextPageToken: + #/components/schemas/GoogleCloudContentwarehouseV1PropertyDefinition + description: Document details. + name: + type: string description: >- - The token that specifies the starting position of the next page of - results. This field is empty if there are no more results. + 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. + displayName: + description: >- + Required. Name of the schema given by the user. Must be unique per + project. + type: string + updateTime: + readOnly: true + format: google-datetime + description: Output only. The time when the document schema is last updated. + type: string + type: object + description: A document schema used to define document structure. + id: GoogleCloudContentwarehouseV1DocumentSchema + CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions: + description: >- + The options to create a spanner database. KMS key access audit logging + and AxT logging will be associated with the given resource name, + resource type and service name. Please ensure to give right options to + enable correct audit logging and AxT logging. + type: object + id: CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions + properties: + cmekCloudResourceName: type: string - metadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' description: >- - Additional information for the API invocation, such as the request - tracking id. - questionAnswer: + The cloud resource name for the CMEK encryption. For example, + projects//locations/ + cmekCloudResourceType: type: string - description: Experimental. Question answer from the query against the document. - matchingDocuments: - items: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument description: >- - The document entities that match the specified - SearchDocumentsRequest. - type: array - totalSize: - format: int32 - type: integer + The cloud resource type for the CMEK encryption. For example, + contentwarehouse.googleapis.com/Location + cmekServiceName: + type: string description: >- - The total number of matched documents which is available only if the - client set SearchDocumentsRequest.require_total_size to `true` or - set SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or - `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI - would handle this condition by displaying "of many", for example: - "Displaying 10 of many". - description: Response message for DocumentService.SearchDocuments. + The service name for the CMEK encryption. For example, + contentwarehouse.googleapis.com + GoogleCloudDocumentaiV1DocumentStyleFontSize: type: object - id: GoogleCloudContentwarehouseV1SearchDocumentsResponse - GoogleCloudContentwarehouseV1RunPipelineMetadata: + description: Font size with unit. + id: GoogleCloudDocumentaiV1DocumentStyleFontSize properties: - gcsIngestPipelineMetadata: - description: The pipeline metadata for GcsIngest pipeline. - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata - individualDocumentStatuses: + size: + type: number + format: float + description: Font size for the text. + unit: + description: >- + Unit for the font size. Follows CSS naming (such as `in`, `px`, and + `pt`). + type: string + GoogleIamV1AuditConfig: + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + properties: + auditLogConfigs: items: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus - description: The list of response details of each document. + $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' + description: The configuration for logging of each type of permission. type: array - totalFileCount: - type: integer - format: int32 - description: Number of files that were processed by the pipeline. - userInfo: - description: User unique identification and groups information. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UserInfo' - exportToCdwPipelineMetadata: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata - description: The pipeline metadata for Export-to-CDW pipeline. - processWithDocAiPipelineMetadata: - description: The pipeline metadata for Process-with-DocAi pipeline. - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata - failedFileCount: - description: Number of files that have failed at some point in the pipeline. - format: int32 - type: integer + service: + description: >- + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + type: string + id: GoogleIamV1AuditConfig type: object - description: Metadata message of RunPipeline method. - id: GoogleCloudContentwarehouseV1RunPipelineMetadata - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader: + GoogleCloudContentwarehouseV1LockDocumentRequest: + id: GoogleCloudContentwarehouseV1LockDocumentRequest type: object + description: Request message for DocumentService.LockDocument. properties: - pageSpan: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - description: Page span of the header. - text: + lockingUser: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UserInfo' + description: The user information who locks the document. + collectionId: + description: The collection the document connects to. type: string - description: Header in text format. - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader - description: Represents the page header associated with the chunk. - GoogleCloudDocumentaiV1DocumentTextChange: - description: This message is used for text changes aka. OCR corrections. + GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest: + properties: + documentSchema: + description: Required. The document schema to update with. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema' + id: GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest + description: Request message for DocumentSchemaService.UpdateDocumentSchema. type: object + GoogleTypeTimeZone: properties: - textAnchor: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - description: >- - Provenance of the correction. Text anchor indexing into the - Document.text. There can only be a single `TextAnchor.text_segments` - element. If the start and end index of the text segment are the - same, the text change is inserted before that index. - changedText: - description: The text that replaces the text identified in the `text_anchor`. + version: + description: Optional. IANA Time Zone Database version number, e.g. "2019a". type: string - provenance: - type: array - description: The history of this annotation. - deprecated: true - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - id: GoogleCloudDocumentaiV1DocumentTextChange - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock: - description: Represents a table type block. + id: + description: IANA Time Zone Database time zone, e.g. "America/New_York". + type: string + description: >- + Represents a time zone from the [IANA Time Zone + Database](https://www.iana.org/time-zones). + type: object + id: GoogleTypeTimeZone + GoogleCloudDocumentaiV1DocumentPageDetectedLanguage: + type: object + description: Detected language for a structural component. properties: - bodyRows: - description: Body rows containing main table content. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow - type: array - headerRows: - type: array - description: Header rows at the top of the table. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow - caption: - description: Table caption/title. + languageCode: + type: string + description: >- + The [BCP-47 language + code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), + such as `en-US` or `sr-Latn`. + confidence: + format: float + description: Confidence of detected language. Range `[0, 1]`. + type: number + id: GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + GoogleCloudDocumentaiV1DocumentPageDetectedBarcode: + description: A detected barcode. + type: object + id: GoogleCloudDocumentaiV1DocumentPageDetectedBarcode + properties: + barcode: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Barcode' + description: Detailed barcode information of the DetectedBarcode. + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for DetectedBarcode. + GoogleCloudContentwarehouseV1CreateDocumentLinkRequest: + type: object + properties: + requestMetadata: + description: >- + The meta information collected about the document creator, used to + enforce access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + documentLink: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' + description: >- + Required. Document links associated with the source documents + (source_document_id). + description: Request message for DocumentLinkService.CreateDocumentLink. + id: GoogleCloudContentwarehouseV1CreateDocumentLinkRequest + GoogleCloudDocumentaiV1Barcode: + description: Encodes the detailed information of a barcode. + properties: + valueFormat: type: string - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock + description: >- + Value format describes the format of the value that a barcode + encodes. The supported formats are: - `CONTACT_INFO`: Contact + information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - + `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - + `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi + information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar + event. - `DRIVER_LICENSE`: Driver's license. + format: + type: string + description: >- + Format of a barcode. The supported formats are: - `CODE_128`: Code + 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - + `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - + `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - + `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E + type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - + `DATABAR`: GS1 DataBar code type. + rawValue: + type: string + description: >- + Raw value encoded in the barcode. For example: + `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. + id: GoogleCloudDocumentaiV1Barcode type: object - GoogleCloudContentwarehouseV1TextArray: + GoogleCloudDocumentaiV1DocumentRevision: type: object properties: - values: - description: List of text values. + id: + type: string + description: >- + Id of the revision, internally generated by doc proto storage. + Unique within the context of the document. + parent: items: - type: string - type: array - description: String/text values. - id: GoogleCloudContentwarehouseV1TextArray - GoogleCloudDocumentaiV1DocumentChunkedDocument: - description: Represents the chunks that the document is divided into. - properties: - chunks: + format: int32 + type: integer + description: >- + The revisions that this revision is based on. This can include one + or more parent (when documents are merged.) This field represents + the index into the `revisions` field. + deprecated: true type: array - description: List of chunks. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk - type: object - id: GoogleCloudDocumentaiV1DocumentChunkedDocument - GoogleCloudContentwarehouseV1EnumArray: - type: object - id: GoogleCloudContentwarehouseV1EnumArray - description: Enum values. - properties: - values: + humanReview: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentRevisionHumanReview + description: Human Review information of this revision. + agent: + description: >- + If the change was made by a person specify the name or id of that + person. + type: string + processor: + type: string + description: >- + If the annotation was made by processor identify the processor by + its resource name. + createTime: + format: google-datetime + description: >- + The time that the revision was created, internally generated by doc + proto storage at the time of create. + type: string + parentIds: type: array items: type: string - description: List of enum values. - GoogleCloudDocumentaiV1Vertex: - id: GoogleCloudDocumentaiV1Vertex - type: object - properties: - 'y': - type: integer - description: Y coordinate (starts from the top of the image). - format: int32 - x: - description: X coordinate. - format: int32 - type: integer - description: >- - A vertex represents a 2D point in the image. NOTE: the vertex - coordinates are in the same scale as the original image. - GoogleCloudContentwarehouseV1beta1InitializeProjectResponse: + description: >- + The revisions that this revision is based on. Must include all the + ids that have anything to do with this revision - eg. there are + `provenance.parent.revision` fields that index into this field. + id: GoogleCloudDocumentaiV1DocumentRevision + description: Contains past or forward revisions of this document. + GoogleCloudContentwarehouseV1PropertyDefinition: + description: Defines the metadata for a schema property. type: object - description: Response message for projectService.InitializeProject - id: GoogleCloudContentwarehouseV1beta1InitializeProjectResponse - properties: - state: - enumDescriptions: - - Clients should never see this. - - Finished project initialization without error. - - Finished project initialization with an error. - - Client canceled the LRO. - - Ask the customer to check the operation for results. - type: string - description: The state of the project initialization process. - enum: - - STATE_UNSPECIFIED - - SUCCEEDED - - FAILED - - CANCELLED - - RUNNING - message: - description: The message of the project initialization process. - type: string - GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo: - description: Font and other text style attributes. properties: - textColor: - $ref: '#/components/schemas/GoogleTypeColor' - description: Color of the text. - strikeout: + isFilterable: description: >- - Whether the text is strikethrough. This feature is not supported - yet. - type: boolean - fontSize: - format: int32 - type: integer - description: Font size in points (`1` point is `¹⁄₇₂` inches). - underlined: - type: boolean - description: Whether the text is underlined. - handwritten: - type: boolean - description: Whether the text is handwritten. - letterSpacing: - type: number - description: Letter spacing in points. - format: double - bold: + Whether the property can be filtered. If this is a sub-property, all + the parent properties must be marked filterable. type: boolean + name: + type: string description: >- - Whether the text is bold (equivalent to font_weight is at least - `700`). - fontType: - description: Name or style of the font. + Required. The name of the metadata property. Must be unique within a + document schema and is case insensitive. Names must be non-blank, + start with a letter, and can contain alphanumeric characters and: /, + :, -, _, and . + displayName: + description: The display-name for the property, used for front-end. type: string - fontWeight: - format: int32 + mapTypeOptions: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1MapTypeOptions' + description: Map property. + enumTypeOptions: + description: Enum/categorical property. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1EnumTypeOptions' + isMetadata: description: >- - TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). - Normal is `400`, bold is `700`. - type: integer - smallcaps: + Whether the property is user supplied metadata. This out-of-the box + placeholder setting can be used to tag derived properties. Its value + and interpretation logic should be implemented by API user. type: boolean + retrievalImportance: + description: The retrieval importance of the property during search. + enum: + - RETRIEVAL_IMPORTANCE_UNSPECIFIED + - HIGHEST + - HIGHER + - HIGH + - MEDIUM + - LOW + - LOWEST + type: string + enumDescriptions: + - No importance specified. Default medium importance. + - Highest importance. + - Higher importance. + - High importance. + - Medium importance. + - Low importance (negative). + - Lowest importance (negative). + schemaSources: + items: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource + type: array description: >- - Whether the text is in small caps. This feature is not supported - yet. - subscript: + The mapping information between this property to another schema + source. + isRequired: + description: >- + Whether the property is mandatory. Default is 'false', i.e. + populating property value can be skipped. If 'true' then user must + populate the value for this property. type: boolean - description: Whether the text is a subscript. This feature is not supported yet. - pixelFontSize: - format: double - type: number + textTypeOptions: + description: Text/string property. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TextTypeOptions' + propertyTypeOptions: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1PropertyTypeOptions + description: Nested structured data property. + integerTypeOptions: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1IntegerTypeOptions' + description: Integer property. + dateTimeTypeOptions: description: >- - Font size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ - `72.0`. - italic: - description: Whether the text is italic. + Date time property. It is not supported by CMEK compliant + deployment. + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1DateTimeTypeOptions + floatTypeOptions: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1FloatTypeOptions' + description: Float property. + isRepeatable: + description: Whether the property can have multiple values. type: boolean - superscript: + isSearchable: + description: Indicates that the property should be included in a global search. type: boolean + timestampTypeOptions: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1TimestampTypeOptions description: >- - Whether the text is a superscript. This feature is not supported - yet. - backgroundColor: - $ref: '#/components/schemas/GoogleTypeColor' - description: Color of the background. - type: object - id: GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo - GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest: - type: object - description: Request message for DocumentSchemaService.UpdateDocumentSchema. - properties: - documentSchema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema' - description: Required. The document schema to update with. - id: GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest + Timestamp property. It is not supported by CMEK compliant + deployment. + id: GoogleCloudContentwarehouseV1PropertyDefinition GoogleCloudContentwarehouseV1DeleteDocumentAction: + type: object + description: Represents the action responsible for deleting the document. + id: GoogleCloudContentwarehouseV1DeleteDocumentAction properties: enableHardDelete: + type: boolean description: >- Boolean field to select between hard vs soft delete options. Set 'true' for 'hard delete' and 'false' for 'soft delete'. - type: boolean - description: Represents the action responsible for deleting the document. - type: object - id: GoogleCloudContentwarehouseV1DeleteDocumentAction - GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest: + GoogleCloudContentwarehouseV1TimestampTypeOptions: + properties: {} + id: GoogleCloudContentwarehouseV1TimestampTypeOptions type: object - properties: - requestMetadata: - description: >- - The meta information collected about the document creator, used to - enforce access control for the service. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - id: GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest - description: Request message for DocumentLinkService.DeleteDocumentLink. - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock: - description: Represents a text type block. - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock + description: Configurations for a timestamp property. + GoogleCloudContentwarehouseV1RuleEvaluatorOutput: type: object + id: GoogleCloudContentwarehouseV1RuleEvaluatorOutput + description: Represents the output of the Rule Evaluator. properties: - text: - type: string - description: Text content stored in the block. - type: - type: string - description: >- - Type of the text in the block. Available options are: `paragraph`, - `subtitle`, `heading-1`, `heading-2`, `heading-3`, `heading-4`, - `heading-5`, `header`, `footer`. - blocks: + matchedRules: + type: array description: >- - A text block could further have child blocks. Repeated blocks - support further hierarchies and nested blocks. + A subset of triggered rules that are evaluated true for a given + request. items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + triggeredRules: type: array - GoogleCloudContentwarehouseV1ListLinkedTargetsRequest: - description: Request message for DocumentLinkService.ListLinkedTargets. - type: object - properties: - requestMetadata: - description: >- - The meta information collected about the document creator, used to - enforce access control for the service. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - id: GoogleCloudContentwarehouseV1ListLinkedTargetsRequest - GoogleCloudDocumentaiV1DocumentPageMatrix: - properties: - type: - type: integer - format: int32 - description: >- - This encodes information about what data type the matrix uses. For - example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of - OpenCV primitive data types, please refer to - https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html - data: - type: string - format: byte - description: The matrix data. - rows: - type: integer - description: Number of rows in the matrix. - format: int32 - cols: - description: Number of columns in the matrix. - format: int32 - type: integer - type: object - id: GoogleCloudDocumentaiV1DocumentPageMatrix - description: >- - Representation for transformation matrix, intended to be compatible and - used with OpenCV format for image manipulation. - GoogleTypeMoney: - type: object - id: GoogleTypeMoney - description: Represents an amount of money with its currency type. - properties: - nanos: - format: int32 - type: integer description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - currencyCode: - type: string - description: The three-letter currency code defined in ISO 4217. - units: - format: int64 + List of rules fetched from database for the given request trigger + type. + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' + invalidRules: description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. - type: string - GoogleCloudContentwarehouseV1UpdateDocumentRequest: - description: Request message for DocumentService.UpdateDocument. - type: object + A subset of triggered rules that failed the validation check(s) + after parsing. + type: array + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1InvalidRule' + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk: + description: Represents a chunk. properties: - cloudAiDocumentOption: + pageHeaders: + description: Page headers associated with the chunk. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader + pageSpan: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1CloudAIDocumentOption - description: >- - Request Option for processing Cloud AI Document in Document - Warehouse. This field offers limited support for mapping entities - from Cloud AI Document to Warehouse Document. Please consult with - product team before using this field and other available options. - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - description: >- - The meta information collected about the end user, used to enforce - access control for the service. - document: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' - description: Required. The document to update. - updateOptions: - description: Options for the update operation. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UpdateOptions' - id: GoogleCloudContentwarehouseV1UpdateDocumentRequest - GoogleCloudContentwarehouseV1RuleActionsPair: - type: object - id: GoogleCloudContentwarehouseV1RuleActionsPair - properties: - actionOutputs: - description: Outputs of executing the actions associated with the above rule. + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + description: Page span of the chunk. + pageFooters: type: array items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ActionOutput' - rule: - description: Represents the rule. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Rule' - description: Represents a rule and outputs of associated actions. - GoogleCloudContentwarehouseV1IngestPipelineConfig: - id: GoogleCloudContentwarehouseV1IngestPipelineConfig - description: The ingestion pipeline config. - type: object - properties: - documentAclPolicy: - description: >- - The document level acl policy config. This refers to an Identity and - Access (IAM) policy, which specifies access controls for all - documents ingested by the pipeline. The role and members under the - policy needs to be specified. The following roles are supported for - document level acl control: * roles/contentwarehouse.documentAdmin * - roles/contentwarehouse.documentEditor * - roles/contentwarehouse.documentViewer The following members are - supported for document level acl control: * - user:user-email@example.com * group:group-email@example.com Note - that for documents searched with LLM, only single level user or - group acl check is supported. - $ref: '#/components/schemas/GoogleIamV1Policy' - folder: - type: string - description: >- - Optional. The name of the folder to which all ingested documents - will be linked during ingestion process. Format is - `projects/{project}/locations/{location}/documents/{folder_id}` - enableDocumentTextExtraction: - type: boolean - description: >- - The document text extraction enabled flag. If the flag is set to - true, DWH will perform text extraction on the raw document. - cloudFunction: - type: string - description: >- - The Cloud Function resource name. The Cloud Function needs to live - inside consumer project and is accessible to Document AI Warehouse - P4SA. Only Cloud Functions V2 is supported. Cloud function execution - should complete within 5 minutes or this file ingestion may fail due - to timeout. Format: - `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` - The following keys are available the request json payload. * - display_name * properties * plain_text * reference_id * - document_schema_name * raw_document_path * raw_document_file_type - The following keys from the cloud function json response payload - will be ingested to the Document AI Warehouse as part of Document - proto content and/or related information. The original values will - be overridden if any key is present in the response. * display_name - * properties * plain_text * document_acl_policy * folder - GoogleCloudDocumentaiV1DocumentEntity: - type: object - description: >- - An entity that could be a phrase in the text or a property that belongs - to the document. It is a known entity type, such as a person, an - organization, or location. - properties: - type: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter + description: Page footers associated with the chunk. + chunkId: + description: ID of the chunk. type: string - description: Required. Entity type from a schema e.g. `Address`. - normalizedValue: - description: >- - Optional. Normalized entity value. Absent if the extracted value - could not be converted or the type (e.g. address) is not supported - for certain parsers. This field is also only populated for certain - supported document types. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentEntityNormalizedValue - properties: + content: + type: string + description: Text content of the chunk. + sourceBlockIds: type: array - description: >- - Optional. Entities can be nested to form a hierarchical data - structure representing the content in the document. + description: Unused. items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' - id: - description: >- - Optional. Canonical id. This will be a unique value in the entity - list for this document. - type: string - confidence: - type: number - format: float - description: Optional. Confidence of detected Schema entity. Range `[0, 1]`. - redacted: - type: boolean + type: string + type: object + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk + GoogleCloudContentwarehouseV1SynonymSet: + properties: + context: description: >- - Optional. Whether the entity will be redacted for de-identification - purposes. - mentionText: - description: Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + This is a freeform field. Example contexts can be "sales," + "engineering," "real estate," "accounting," etc. The context can be + supplied during search requests. type: string - mentionId: + name: type: string - description: Optional. Deprecated. Use `id` field instead. - pageAnchor: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchor' - description: >- - Optional. Represents the provenance of this entity wrt. the location - on the page where it was found. - textAnchor: description: >- - Optional. Provenance of the entity. Text anchor indexing into the - Document.text. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: Optional. The history of this annotation. - id: GoogleCloudDocumentaiV1DocumentEntity - GoogleCloudContentwarehouseV1ListLinkedSourcesResponse: - properties: - documentLinks: + The resource name of the SynonymSet This is mandatory for + google.api.resource. Format: + projects/{project_number}/locations/{location}/synonymSets/{context}. + synonyms: + description: List of Synonyms for the context. type: array items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' - description: Source document-links. - nextPageToken: - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - type: string - id: GoogleCloudContentwarehouseV1ListLinkedSourcesResponse + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1SynonymSetSynonym + id: GoogleCloudContentwarehouseV1SynonymSet + description: >- + Represents a list of synonyms for a given context. For example a context + "sales" could contain: Synonym 1: sale, invoice, bill, order Synonym 2: + money, credit, finance, payment Synonym 3: shipping, freight, transport + Each SynonymSets should be disjoint type: object - description: Response message for DocumentLinkService.ListLinkedSources. - GoogleCloudContentwarehouseV1EnumValue: + GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata: + id: GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata + type: object + description: Metadata object for CreateDocument request (currently empty). + properties: {} + GoogleTypeMoney: properties: - value: + units: type: string description: >- - String value of the enum field. This must match defined set of enums - in document schema using EnumTypeOptions. - description: Represents the string value of the enum field. - id: GoogleCloudContentwarehouseV1EnumValue + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. + format: int64 + currencyCode: + description: The three-letter currency code defined in ISO 4217. + type: string + nanos: + format: int32 + type: integer + description: >- + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. + id: GoogleTypeMoney type: object - GoogleCloudContentwarehouseV1TimestampValue: - description: Timestamp value type. + description: Represents an amount of money with its currency type. + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock: properties: - textValue: - description: >- - The string must represent a valid instant in UTC and is parsed using - java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. - "2013-09-29T18:46:19Z" + text: type: string - timestampValue: + description: Text content stored in the block. + type: type: string - description: Timestamp value - format: google-datetime - type: object - id: GoogleCloudContentwarehouseV1TimestampValue - GoogleCloudContentwarehouseV1PublishAction: - id: GoogleCloudContentwarehouseV1PublishAction + description: >- + Type of the text in the block. Available options are: `paragraph`, + `subtitle`, `heading-1`, `heading-2`, `heading-3`, `heading-4`, + `heading-5`, `header`, `footer`. + blocks: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + description: >- + A text block could further have child blocks. Repeated blocks + support further hierarchies and nested blocks. + type: array + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock type: object + description: Represents a text type block. + GoogleCloudContentwarehouseV1AddToFolderAction: + description: Represents the action responsible for adding document under a folder. properties: - messages: + folders: + description: >- + Names of the folder under which new document is to be added. Format: + projects/{project_number}/locations/{location}/documents/{document_id}. + type: array items: type: string - type: array - description: Messages to be published. - topicId: - type: string - description: >- - The topic id in the Pub/Sub service for which messages will be - published to. - description: >- - Represents the action responsible for publishing messages to a Pub/Sub - topic. - GoogleCloudContentwarehouseV1CreateDocumentMetadata: - properties: {} - description: Metadata object for CreateDocument request (currently empty). - id: GoogleCloudContentwarehouseV1CreateDocumentMetadata - type: object - GoogleCloudContentwarehouseV1RequestMetadata: - description: Meta information is used to improve the performance of the service. + id: GoogleCloudContentwarehouseV1AddToFolderAction type: object - properties: - userInfo: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UserInfo' - description: Provides user unique identification and groups information. - id: GoogleCloudContentwarehouseV1RequestMetadata - GoogleCloudContentwarehouseV1TimestampTypeOptions: - properties: {} + GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline: + id: GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline type: object - id: GoogleCloudContentwarehouseV1TimestampTypeOptions - description: Configurations for a timestamp property. - GoogleCloudContentwarehouseV1UpdateDocumentResponse: - id: GoogleCloudContentwarehouseV1UpdateDocumentResponse + description: >- + The configuration of the Cloud Storage Ingestion with DocAI Processors + pipeline. properties: - document: - description: Updated document after executing update request. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' - ruleEngineOutput: + extractProcessorInfos: + type: array description: >- - Output from Rule Engine recording the rule evaluator and action - executor's output. Refer format in: - google/cloud/contentwarehouse/v1/rule_engine.proto - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleEngineOutput' - metadata: + The extract processors information. One matched extract processor + will be used to process documents based on the classify processor + result. If no classify processor is specified, the first extract + processor will be used. + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' + pipelineConfig: description: >- - Additional information for the API invocation, such as the request - tracking id. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' - description: Response message for DocumentService.UpdateDocument. - type: object - GoogleCloudDocumentaiV1DocumentPage: - properties: - imageQualityScores: + Optional. The config for the Cloud Storage Ingestion with DocAI + Processors pipeline. It provides additional customization options to + run the pipeline and can be skipped if it is not applicable. $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScores - description: Image quality scores. - tables: - description: A list of visually detected tables on the page. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageTable' - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - deprecated: true - description: The history of this page. - image: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageImage' + #/components/schemas/GoogleCloudContentwarehouseV1IngestPipelineConfig + skipIngestedDocuments: description: >- - Rendered image for this page. This image is preprocessed to remove - any skew, rotation, and distortions such that the annotation - bounding boxes can be upright and axis-aligned. - formFields: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageFormField' - description: A list of visually detected form fields on the page. - type: array - pageNumber: - type: integer - format: int32 + The flag whether to skip ingested documents. If it is set to true, + documents in Cloud Storage contains key "status" with value + "status=ingested" in custom metadata will be skipped to ingest. + type: boolean + inputPath: + type: string + description: >- + The input Cloud Storage folder. All files under this folder will be + imported to Document Warehouse. Format: `gs:///`. + splitClassifyProcessorInfo: + description: >- + The split and classify processor information. The split and classify + result will be used to find a matched extract processor. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' + processorResultsFolderPath: + type: string + description: >- + The Cloud Storage folder path used to store the raw results from + processors. Format: `gs:///`. + GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument: + description: Document entry with metadata inside SearchDocumentsResponse + type: object + properties: + document: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' description: >- - 1-based index for current Page in a parent Document. Useful when a - page is taken out of a Document for individual processing. - detectedBarcodes: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedBarcode - description: A list of detected barcodes. - tokens: - type: array - description: A list of visually detected tokens on the page. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageToken' - detectedLanguages: - description: A list of detected languages together with confidence. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - symbols: - description: A list of visually detected symbols on the page. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageSymbol' - type: array - lines: + Document that matches the specified SearchDocumentsRequest. This + document only contains indexed metadata information. + qaResult: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1QAResult' description: >- - A list of visually detected text lines on the page. A collection of - tokens that a human would perceive as a line. + Experimental. Additional result info if the question-answering + feature is enabled. + matchedTokenPageIndices: items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLine' - type: array - transforms: + type: string + format: int64 description: >- - Transformation matrices that were applied to the original document - image to produce Page.image. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageMatrix' + Return the 1-based page indices where those pages have one or more + matched tokens. type: array - visualElements: + searchTextSnippet: + type: string description: >- - A list of detected non-text visual elements e.g. checkbox, signature - etc. on the page. + Contains snippets of text from the document full raw text that most + closely match a search query's keywords, if available. All HTML tags + in the original fields are stripped when returned in this field, and + matching query keywords are enclosed in HTML bold tags. If the + question-answering feature is enabled, this field will instead + contain a snippet that answers the user's natural-language query. No + HTML bold tags will be present, and highlights in the answer snippet + can be found in QAResult.highlights. + id: GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument + GoogleCloudContentwarehouseV1PropertyTypeOptions: + description: Configurations for a nested structured data property. + properties: + propertyDefinitions: + description: Required. List of property definitions. type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageVisualElement - paragraphs: - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageParagraph' + #/components/schemas/GoogleCloudContentwarehouseV1PropertyDefinition + id: GoogleCloudContentwarehouseV1PropertyTypeOptions + type: object + CloudAiPlatformTenantresourceInfraSpannerConfig: + type: object + description: 'The configuration for a spanner database provisioning. Next ID: 8' + id: CloudAiPlatformTenantresourceInfraSpannerConfig + properties: + sdlBundlePath: + type: string + description: Input [Required]. The file path to the spanner SDL bundle. + createDatabaseOptions: description: >- - A list of visually detected text paragraphs on the page. A - collection of lines that a human would perceive as a paragraph. - dimension: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageDimension' - description: Physical dimension of the page. - layout: - description: Layout for the page. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + Input [Optional]. The options to create a spanner database. Note: + give the right options to ensure the right KMS key access audit + logging and AxT logging in expected logging category. + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions + spannerLocalNamePrefix: + type: string + spannerBorgServiceAccount: + type: string + description: >- + Input [Optional]. The spanner borg service account for delegating + the kms key to. For example, + spanner-infra-cmek-nonprod@system.gserviceaccount.com, for the + nonprod universe. + kmsKeyReference: + type: string + description: >- + Input [Optional]. The KMS key name or the KMS grant name used for + CMEK encryption. Only set this field when provisioning new Infra + Spanner databases. For existing Infra Spanner databases, this field + will be ignored because CMEK re-encryption is not supported. For + example, projects//locations//keyRings//cryptoKeys/ + spannerUniverse: + description: >- + Input [Required]. Every database in Spanner can be identified by the + following path name: /span//: + type: string + spannerNamespace: + type: string + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell: + description: Represents a cell in a table row. + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell + properties: + colSpan: + type: integer + format: int32 + description: How many columns this cell spans. blocks: items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageBlock' + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock type: array description: >- - A list of visually detected text blocks on the page. A block has a - set of lines (collected into paragraphs) that have a common - line-spacing and orientation. - description: A page in a Document. + A table cell is a list of blocks. Repeated blocks support further + hierarchies and nested blocks. + rowSpan: + type: integer + description: How many rows this cell spans. + format: int32 type: object - id: GoogleCloudDocumentaiV1DocumentPage - GoogleIamV1Binding: + GoogleCloudContentwarehouseV1RunPipelineMetadata: properties: - members: + gcsIngestPipelineMetadata: + description: The pipeline metadata for GcsIngest pipeline. + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata + exportToCdwPipelineMetadata: + description: The pipeline metadata for Export-to-CDW pipeline. + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata + failedFileCount: + format: int32 + description: Number of files that have failed at some point in the pipeline. + type: integer + individualDocumentStatuses: items: - type: string + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus + description: The list of response details of each document. type: array + totalFileCount: + format: int32 + type: integer + description: Number of files that were processed by the pipeline. + userInfo: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UserInfo' + description: User unique identification and groups information. + processWithDocAiPipelineMetadata: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata + description: The pipeline metadata for Process-with-DocAi pipeline. + id: GoogleCloudContentwarehouseV1RunPipelineMetadata + type: object + description: Metadata message of RunPipeline method. + GoogleCloudContentwarehouseV1UpdateOptions: + properties: + updateMask: + type: string description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - role: + Field mask for merging Document fields. For the `FieldMask` + definition, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + format: google-fieldmask + mergeFieldsOptions: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1MergeFieldsOptions' + description: Options for merging. + updateType: + enumDescriptions: + - Defaults to full replace behavior, ie. FULL_REPLACE. + - >- + Fully replace all the fields (including previously linked raw + document). Any field masks will be ignored. + - Merge the fields into the existing entities. + - Inserts the properties by names. + - Replace the properties by names. + - Delete the properties by names. + - >- + For each of the property, replaces the property if the it exists, + otherwise inserts a new property. And for the rest of the fields, + merge them based on update mask and merge fields options. + enum: + - UPDATE_TYPE_UNSPECIFIED + - UPDATE_TYPE_REPLACE + - UPDATE_TYPE_MERGE + - UPDATE_TYPE_INSERT_PROPERTIES_BY_NAMES + - UPDATE_TYPE_REPLACE_PROPERTIES_BY_NAMES + - UPDATE_TYPE_DELETE_PROPERTIES_BY_NAMES + - UPDATE_TYPE_MERGE_AND_REPLACE_OR_INSERT_PROPERTIES_BY_NAMES type: string - description: >- - 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). - condition: - $ref: '#/components/schemas/GoogleTypeExpr' - description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - id: GoogleIamV1Binding - description: Associates `members`, or principals, with a `role`. + description: Type for update. + description: Options for Update operations. type: object - GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect: + id: GoogleCloudContentwarehouseV1UpdateOptions + GoogleCloudContentwarehouseV1GcsIngestPipeline: + description: The configuration of the Cloud Storage Ingestion pipeline. properties: - type: + inputPath: + type: string description: >- - Name of the defect type. Supported values are: - - `quality/defect_blurry` - `quality/defect_noisy` - - `quality/defect_dark` - `quality/defect_faint` - - `quality/defect_text_too_small` - `quality/defect_document_cutoff` - - `quality/defect_text_cutoff` - `quality/defect_glare` + The input Cloud Storage folder. All files under this folder will be + imported to Document Warehouse. Format: `gs:///`. + processorType: type: string - confidence: - format: float - type: number description: >- - Confidence of detected defect. Range `[0, 1]` where `1` indicates - strong confidence that the defect exists. - description: Image Quality Defects - id: GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect + The Doc AI processor type name. Only used when the format of + ingested files is Doc AI Document proto format. + skipIngestedDocuments: + type: boolean + description: >- + The flag whether to skip ingested documents. If it is set to true, + documents in Cloud Storage contains key "status" with value + "status=ingested" in custom metadata will be skipped to ingest. + schemaName: + description: >- + The Document Warehouse schema resource name. All documents processed + by this pipeline will use this schema. Format: + projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + type: string + pipelineConfig: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1IngestPipelineConfig + description: >- + Optional. The config for the Cloud Storage Ingestion pipeline. It + provides additional customization options to run the pipeline and + can be skipped if it is not applicable. + id: GoogleCloudContentwarehouseV1GcsIngestPipeline type: object - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell: + GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata: id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell - description: Represents a cell in a table row. - type: object + GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata properties: - colSpan: - format: int32 - description: How many columns this cell spans. - type: integer - rowSpan: - type: integer - format: int32 - description: How many rows this cell spans. - blocks: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + outputPath: + type: string + description: The output Cloud Storage folder in this pipeline. + docAiDataset: + description: The output CDW dataset resource name. + type: string + documents: description: >- - A table cell is a list of blocks. Repeated blocks support further - hierarchies and nested blocks. + The input list of all the resource names of the documents to be + exported. type: array - GoogleCloudContentwarehouseV1PropertyArray: - type: object - id: GoogleCloudContentwarehouseV1PropertyArray - description: Property values. - properties: - properties: items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Property' - type: array - description: List of property values. - GoogleCloudDocumentaiV1Barcode: - description: Encodes the detailed information of a barcode. + type: string + type: object + description: The metadata message for Export-to-CDW pipeline. + GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment: properties: - rawValue: + endIndex: + type: string + description: TextSegment half open end UTF-8 char index in the Document.text. + format: int64 + startIndex: + format: int64 type: string + description: TextSegment start UTF-8 char index in the Document.text. + id: GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment + description: >- + A text segment in the Document.text. The indices may be out of bounds + which indicate that the text extends into another document shard for + large sharded documents. See ShardInfo.text_offset + type: object + GoogleCloudContentwarehouseV1Property: + description: Property of a document. + properties: + timestampValues: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimestampArray' description: >- - Raw value encoded in the barcode. For example: - `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. - format: + Timestamp property values. It is not supported by CMEK compliant + deployment. + enumValues: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1EnumArray' + description: Enum property values. + dateTimeValues: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DateTimeArray' description: >- - Format of a barcode. The supported formats are: - `CODE_128`: Code - 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E - type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - - `DATABAR`: GS1 DataBar code type. + Date time property values. It is not supported by CMEK compliant + deployment. + propertyValues: + description: Nested structured data property values. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1PropertyArray' + mapProperty: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1MapProperty' + description: Map property values. + textValues: + description: String/text property values. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TextArray' + integerValues: + description: Integer property values. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1IntegerArray' + floatValues: + description: Float property values. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1FloatArray' + name: + description: >- + Required. Must match the name of a PropertyDefinition in the + DocumentSchema. type: string - valueFormat: + type: object + id: GoogleCloudContentwarehouseV1Property + GoogleCloudContentwarehouseV1Value: + properties: + enumValue: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1EnumValue' + description: Represents an enum value. + datetimeValue: + $ref: '#/components/schemas/GoogleTypeDateTime' + description: Represents a datetime value. + floatValue: + type: number + description: Represents a float value. + format: float + timestampValue: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimestampValue' + description: Represents a timestamp value. + booleanValue: + type: boolean + description: Represents a boolean value. + intValue: + description: Represents a integer value. + type: integer + format: int32 + stringValue: + description: Represents a string value. type: string - description: >- - Value format describes the format of the value that a barcode - encodes. The supported formats are: - `CONTACT_INFO`: Contact - information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - - `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - - `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi - information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar - event. - `DRIVER_LICENSE`: Driver's license. type: object - id: GoogleCloudDocumentaiV1Barcode - GoogleCloudContentwarehouseV1ActionOutput: + description: >- + `Value` represents a dynamically typed value which can be either be a + float, a integer, a string, or a datetime value. A producer of value is + expected to set one of these variants. Absence of any variant indicates + an error. + id: GoogleCloudContentwarehouseV1Value + GoogleCloudContentwarehouseV1MapTypeOptions: + type: object + id: GoogleCloudContentwarehouseV1MapTypeOptions + properties: {} + description: Configurations for a Map property. + GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata: + type: object + description: Metadata object for UpdateDocument request (currently empty). + id: GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata + properties: {} + GoogleCloudContentwarehouseV1RemoveFromFolderAction: type: object + description: >- + Represents the action responsible for remove a document from a specific + folder. properties: - actionState: - enum: - - UNKNOWN - - ACTION_SUCCEEDED - - ACTION_FAILED - - ACTION_TIMED_OUT - - ACTION_PENDING - type: string - description: State of an action. - enumDescriptions: - - The unknown state. - - State indicating action executed successfully. - - State indicating action failed. - - State indicating action timed out. - - State indicating action is pending. - actionId: - description: ID of the action. + folder: type: string - outputMessage: - description: Action execution output message. + description: >- + Name of the folder under which new document is to be added. Format: + projects/{project_number}/locations/{location}/documents/{document_id}. + condition: + description: Condition of the action to be executed. type: string - id: GoogleCloudContentwarehouseV1ActionOutput - description: Represents the result of executing an action. - GoogleCloudContentwarehouseV1IntegerArray: - type: object - id: GoogleCloudContentwarehouseV1IntegerArray - description: Integer values. + id: GoogleCloudContentwarehouseV1RemoveFromFolderAction + GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter: properties: - values: + documentSchemas: items: - format: int32 - type: integer - description: List of integer values. + type: string type: array - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry: - type: object - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry - description: Represents an entry in the list. - properties: - blocks: + description: >- + This filter specifies the exact document schema(s) + Document.document_schema_name to run histogram query against. It is + optional. It will perform histogram for property names for all the + document schemas if it is not set. At most 10 document schema names + are allowed. Format: + projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + yAxis: + description: >- + By default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is + not set. + type: string + enumDescriptions: + - Count the documents per property name. + - Count the properties per property name. + enum: + - HISTOGRAM_YAXIS_DOCUMENT + - HISTOGRAM_YAXIS_PROPERTY + propertyNames: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + type: string type: array description: >- - A list entry is a list of blocks. Repeated blocks support further - hierarchies and nested blocks. - GoogleCloudContentwarehouseV1CreateDocumentLinkRequest: + It is optional. It will perform histogram for all the property names + if it is not set. The properties need to be defined with the + is_filterable flag set to true and the name of the property should + be in the format: "schemaId.propertyName". The property needs to be + defined in the schema. Example: the schema id is abc. Then the name + of property for property MORTGAGE_TYPE will be "abc.MORTGAGE_TYPE". type: object - description: Request message for DocumentLinkService.CreateDocumentLink. + id: GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter + GoogleCloudDocumentaiV1DocumentEntity: properties: - requestMetadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + mentionText: + description: Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + type: string + type: + description: Required. Entity type from a schema e.g. `Address`. + type: string + redacted: + type: boolean description: >- - The meta information collected about the document creator, used to - enforce access control for the service. - documentLink: + Optional. Whether the entity will be redacted for de-identification + purposes. + normalizedValue: description: >- - Required. Document links associated with the source documents - (source_document_id). - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' - id: GoogleCloudContentwarehouseV1CreateDocumentLinkRequest - GoogleCloudDocumentaiV1DocumentPageTable: - description: A table representation similar to HTML table structure. - properties: - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Table. - detectedLanguages: - description: A list of detected languages together with confidence. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - headerRows: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow - description: Header rows of the table. - bodyRows: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow - description: Body rows of the table. - type: array - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - deprecated: true - description: The history of this table. - id: GoogleCloudDocumentaiV1DocumentPageTable - type: object - GoogleCloudContentwarehouseV1InitializeProjectResponse: - id: GoogleCloudContentwarehouseV1InitializeProjectResponse - description: Response message for projectService.InitializeProject - type: object - properties: - state: - enumDescriptions: - - Clients should never see this. - - Finished project initialization without error. - - Finished project initialization with an error. - - Client canceled the LRO. - - Ask the customer to check the operation for results. + Optional. Normalized entity value. Absent if the extracted value + could not be converted or the type (e.g. address) is not supported + for certain parsers. This field is also only populated for certain + supported document types. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentEntityNormalizedValue + mentionId: + description: Optional. Deprecated. Use `id` field instead. type: string - description: The state of the project initialization process. - enum: - - STATE_UNSPECIFIED - - SUCCEEDED - - FAILED - - CANCELLED - - RUNNING - message: + id: type: string - description: The message of the project initialization process. - GoogleCloudContentwarehouseV1InitializeProjectRequest: + description: >- + Optional. Canonical id. This will be a unique value in the entity + list for this document. + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: Optional. The history of this annotation. + properties: + description: >- + Optional. Entities can be nested to form a hierarchical data + structure representing the content in the document. + type: array + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' + confidence: + type: number + description: Optional. Confidence of detected Schema entity. Range `[0, 1]`. + format: float + textAnchor: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + description: >- + Optional. Provenance of the entity. Text anchor indexing into the + Document.text. + pageAnchor: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchor' + description: >- + Optional. Represents the provenance of this entity wrt. the location + on the page where it was found. + description: >- + An entity that could be a phrase in the text or a property that belongs + to the document. It is a known entity type, such as a person, an + organization, or location. + id: GoogleCloudDocumentaiV1DocumentEntity type: object - id: GoogleCloudContentwarehouseV1InitializeProjectRequest - description: Request message for projectService.InitializeProject + GoogleCloudContentwarehouseV1ExportToCdwPipeline: + description: >- + The configuration of exporting documents from the Document Warehouse to + CDW pipeline. + id: GoogleCloudContentwarehouseV1ExportToCdwPipeline properties: - documentCreatorDefaultRole: - description: Optional. The default role for the person who create a document. - enum: - - DOCUMENT_CREATOR_DEFAULT_ROLE_UNSPECIFIED - - DOCUMENT_ADMIN - - DOCUMENT_EDITOR - - DOCUMENT_VIEWER - type: string - enumDescriptions: - - Unspecified, will be default to document admin role. - - >- - Document Admin, same as - contentwarehouse.googleapis.com/documentAdmin. - - >- - Document Editor, same as - contentwarehouse.googleapis.com/documentEditor. - - >- - Document Viewer, same as - contentwarehouse.googleapis.com/documentViewer. - databaseType: - enumDeprecated: - - false - - false - - true - enum: - - DB_UNKNOWN - - DB_INFRA_SPANNER - - DB_CLOUD_SQL_POSTGRES + docAiDataset: + description: >- + Optional. The CDW dataset resource name. This field is optional. If + not set, the documents will be exported to Cloud Storage only. + Format: + projects/{project}/locations/{location}/processors/{processor}/dataset type: string - description: Required. The type of database used to store customer data - enumDescriptions: - - This value is required by protobuf best practices - - Internal Spanner - - Cloud Sql with a Postgres Sql instance - enableCalUserEmailLogging: - type: boolean - description: Optional. Whether to enable CAL user email logging. - kmsKey: + exportFolderPath: + description: >- + The Cloud Storage folder path used to store the exported documents + before being sent to CDW. Format: `gs:///`. type: string + trainingSplitRatio: + format: float + type: number description: >- - Optional. The KMS key used for CMEK encryption. It is required that - the kms key is in the same region as the endpoint. The same key will - be used for all provisioned resources, if encryption is available. - If the kms_key is left empty, no encryption will be enforced. - accessControlMode: - enumDescriptions: - - This value is required by protobuf best practices - - 'Universal Access: No document level access control.' - - Document level access control with customer own Identity Service. - - Document level access control using Google Cloud Identity. - enum: - - ACL_MODE_UNKNOWN - - ACL_MODE_UNIVERSAL_ACCESS - - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID - - ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI + Ratio of training dataset split. When importing into Document AI + Workbench, documents will be automatically split into training and + test split category with the specified ratio. This field is required + if doc_ai_dataset is set. + documents: + description: >- + The list of all the resource names of the documents to be processed. + Format: + projects/{project_number}/locations/{location}/documents/{document_id}. + items: + type: string + type: array + type: object + GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus: + id: GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus + description: The status of processing a document. + type: object + properties: + status: + description: The status processing the document. + $ref: '#/components/schemas/GoogleRpcStatus' + documentId: type: string - description: Required. The access control mode for accessing the customer data - GoogleCloudDocumentaiV1DocumentStyleFontSize: + description: Document identifier of an existing document. + GoogleCloudDocumentaiV1DocumentPageLayout: + type: object properties: - unit: + textAnchor: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + description: Text anchor indexing into the Document.text. + confidence: description: >- - Unit for the font size. Follows CSS naming (such as `in`, `px`, and - `pt`). - type: string - size: - description: Font size for the text. + Confidence of the current Layout within context of the object this + layout is for. e.g. confidence can be for a single token, a table, a + visual element, etc. depending on context. Range `[0, 1]`. format: float type: number - id: GoogleCloudDocumentaiV1DocumentStyleFontSize - description: Font size with unit. - type: object - GoogleCloudContentwarehouseV1ListDocumentSchemasResponse: - id: GoogleCloudContentwarehouseV1ListDocumentSchemasResponse - description: Response message for DocumentSchemaService.ListDocumentSchemas. + orientation: + description: Detected orientation for the Layout. + enum: + - ORIENTATION_UNSPECIFIED + - PAGE_UP + - PAGE_RIGHT + - PAGE_DOWN + - PAGE_LEFT + type: string + enumDescriptions: + - Unspecified orientation. + - Orientation is aligned with page up. + - >- + Orientation is aligned with page right. Turn the head 90 degrees + clockwise from upright to read. + - >- + Orientation is aligned with page down. Turn the head 180 degrees + from upright to read. + - >- + Orientation is aligned with page left. Turn the head 90 degrees + counterclockwise from upright to read. + boundingPoly: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' + description: The bounding polygon for the Layout. + description: Visual element describing a layout unit on a page. + id: GoogleCloudDocumentaiV1DocumentPageLayout + GoogleCloudDocumentaiV1DocumentRevisionHumanReview: + id: GoogleCloudDocumentaiV1DocumentRevisionHumanReview properties: - documentSchemas: - description: The document schemas from the specified parent. - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema' - type: array - nextPageToken: + stateMessage: + type: string description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. + A message providing more details about the current state of + processing. For example, the rejection reason when the state is + `rejected`. + state: type: string + description: Human review state. e.g. `requested`, `succeeded`, `rejected`. type: object - GoogleCloudDocumentaiV1DocumentPageToken: - type: object - properties: - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Token. - detectedLanguages: - description: A list of detected languages together with confidence. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - type: array - detectedBreak: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak - description: Detected break at the end of a Token. - styleInfo: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo - description: Text style attributes. - provenance: - deprecated: true - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: The history of this annotation. - id: GoogleCloudDocumentaiV1DocumentPageToken - description: A detected token. - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow: - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow - description: Represents a row in a table. + description: Human Review information of the document. + CloudAiPlatformTenantresourceGcsBucketConfig: + id: CloudAiPlatformTenantresourceGcsBucketConfig properties: - cells: - description: A table row is a list of table cells. + admins: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell + type: string type: array - type: object - GoogleCloudContentwarehouseV1MapProperty: - id: GoogleCloudContentwarehouseV1MapProperty - type: object - description: >- - Map property value. Represents a structured entries of key value pairs, - consisting of field names which map to dynamically typed values. - properties: - fields: - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Value' - description: Unordered map of dynamically typed values. - GoogleLongrunningOperation: - type: object - description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: GoogleLongrunningOperation - properties: - done: - description: >- - 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. - type: boolean - response: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object + bucketName: description: >- - 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`. - metadata: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. + Input/Output [Optional]. The name of a GCS bucket with max length of + 63 chars. If not set, a random UUID will be generated as bucket + name. + type: string + kmsKeyReference: description: >- - 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. - error: - $ref: '#/components/schemas/GoogleRpcStatus' + Input/Output [Optional]. The KMS key name or the KMS grant name used + for CMEK encryption. Only set this field when provisioning new GCS + bucket. For existing GCS bucket, this field will be ignored because + CMEK re-encryption is not supported. + type: string + viewers: + description: Input/Output [Required]. IAM roles (viewer/admin) put on the bucket. + items: + type: string + type: array + ttlDays: + type: integer description: >- - The error result of the operation in case of failure or - cancellation. - name: + Input/Output [Optional]. Only needed when the content in bucket need + to be garbage collected within some amount of days. + format: int32 + entityName: type: string description: >- - 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}`. - GoogleCloudContentwarehouseV1DocumentQuery: + Input/Output [Optional]. Only needed for per-entity tenant GCP + resources. During Deprovision API, the on-demand deletion will only + cover the tenant GCP resources with the specified entity name. + description: The identity to configure a GCS bucket. + type: object + GoogleCloudDocumentaiV1DocumentPageMatrix: + type: object + id: GoogleCloudDocumentaiV1DocumentPageMatrix properties: - folderNameFilter: + data: + description: The matrix data. type: string + format: byte + cols: + description: Number of columns in the matrix. + type: integer + format: int32 + rows: + format: int32 + type: integer + description: Number of rows in the matrix. + type: + format: int32 description: >- - Search all the documents under this specified folder. Format: - projects/{project_number}/locations/{location}/documents/{document_id}. - propertyFilter: - description: >- - This filter specifies a structured syntax to match against the - PropertyDefinition.is_filterable marked as `true`. The relationship - between the PropertyFilters is OR. - type: array - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1PropertyFilter' - isNlQuery: - type: boolean - description: >- - Experimental, do not use. If the query is a natural language - question. False by default. If true, then the question-answering - feature will be used instead of search, and `result_count` in - SearchDocumentsRequest must be set. In addition, all other input - fields related to search (pagination, histograms, etc.) will be - ignored. - documentNameFilter: + This encodes information about what data type the matrix uses. For + example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of + OpenCV primitive data types, please refer to + https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html + type: integer + description: >- + Representation for transformation matrix, intended to be compatible and + used with OpenCV format for image manipulation. + GoogleCloudDocumentaiV1DocumentPageAnchor: + id: GoogleCloudDocumentaiV1DocumentPageAnchor + properties: + pageRefs: + description: One or more references to visual page elements type: array items: - type: string - description: >- - Search the documents in the list. Format: - projects/{project_number}/locations/{location}/documents/{document_id}. - customWeightsMetadata: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1CustomWeightsMetadata + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchorPageRef + type: object + description: >- + Referencing the visual context of the entity in the Document.pages. Page + anchors can be cross-page, consist of multiple bounding polygons and + optionally reference specific layout element types. + GoogleCloudContentwarehouseV1UserInfo: + properties: + id: + type: string description: >- - To support the custom weighting across document schemas, customers - need to provide the properties to be used to boost the ranking in - the search request. For a search query with CustomWeightsMetadata - specified, only the RetrievalImportance for the properties in the - CustomWeightsMetadata will be honored. - documentCreatorFilter: + A unique user identification string, as determined by the client. + The maximum number of allowed characters is 255. Allowed characters + include numbers 0 to 9, uppercase and lowercase letters, and + restricted special symbols (:, @, +, -, _, ~) The format is + "user:xxxx@example.com"; + groupIds: + type: array description: >- - The exact creator(s) of the documents to search against. If a value - isn't specified, documents within the search results are associated - with any creator. If multiple values are specified, documents within - the search results may be associated with any of the specified - creators. + The unique group identifications which the user is belong to. The + format is "group:yyyy@example.com"; items: type: string + type: object + description: The user information. + id: GoogleCloudContentwarehouseV1UserInfo + GoogleCloudDocumentaiV1DocumentTextAnchor: + properties: + textSegments: type: array - customPropertyFilter: + description: The text segments from the Document.text. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment + content: + description: >- + Contains the content of the text span so that users do not have to + look it up in the text_segments. It is always populated for + formFields. type: string - deprecated: true + type: object + description: Text reference indexing into the Document.text. + id: GoogleCloudDocumentaiV1DocumentTextAnchor + GoogleCloudContentwarehouseV1UpdateDocumentRequest: + type: object + description: Request message for DocumentService.UpdateDocument. + properties: + cloudAiDocumentOption: description: >- - This filter specifies a structured syntax to match against the - [PropertyDefinition].is_filterable marked as `true`. The syntax for - this expression is a subset of SQL syntax. Supported operators are: - `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator - is a property name and the right of the operator is a number or a - quoted string. You must escape backslash (\\) and quote (\") - characters. Supported functions are `LOWER([property_name])` to - perform a case insensitive match and `EMPTY([property_name])` to - filter on the existence of a key. Boolean expressions (AND/OR/NOT) - are supported up to 3 levels of nesting (for example, "((A AND B AND - C) OR NOT D) AND E"), a maximum of 100 comparisons or functions are - allowed in the expression. The expression must be < 6000 bytes in - length. Sample Query: `(LOWER(driving_license)="class \"a\"" OR - EMPTY(driving_license)) AND driving_years > 10` - fileTypeFilter: + Request Option for processing Cloud AI Document in Document + Warehouse. This field offers limited support for mapping entities + from Cloud AI Document to Warehouse Document. Please consult with + product team before using this field and other available options. + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1CloudAIDocumentOption + updateOptions: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1UpdateOptions' + description: Options for the update operation. + document: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' + description: Required. The document to update. + requestMetadata: description: >- - This filter specifies the types of files to return: ALL, FOLDER, or - FILE. If FOLDER or FILE is specified, then only either folders or - files will be returned, respectively. If ALL is specified, both - folders and files will be returned. If no value is specified, ALL - files will be returned. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1FileTypeFilter' - queryContext: + The meta information collected about the end user, used to enforce + access control for the service. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' + id: GoogleCloudContentwarehouseV1UpdateDocumentRequest + GoogleCloudContentwarehouseV1IntegerTypeOptions: + type: object + description: Configurations for an integer property. + id: GoogleCloudContentwarehouseV1IntegerTypeOptions + properties: {} + CloudAiPlatformTenantresourceIamPolicyBinding: + description: >- + The dynamic IAM bindings to be granted after tenant projects are + created. + properties: + resourceType: + enum: + - RESOURCE_TYPE_UNSPECIFIED + - PROJECT + - SERVICE_ACCOUNT + - GCS_BUCKET + - SERVICE_CONSUMER + - AR_REPO description: >- - For custom synonyms. Customers provide the synonyms based on - context. One customer can provide multiple set of synonyms based on - different context. The search query will be expanded based on the - custom synonyms of the query context set. By default, no custom - synonyms wll be applied if no query context is provided. It is not - supported for CMEK compliant deployment. - items: - type: string - type: array - documentSchemaNames: + Input/Output [Required]. Specifies the type of resource that will be + accessed by members. + enumDescriptions: + - '' + - >- + The value of resource field is the ID or number of a project. + Format is + - >- + The value of resource field is the resource name of a service + account. Format is projects//serviceAccounts/ + - >- + The value of resource field is the name of a GCS bucket (not its + resource name). Format is . + - >- + The value of resource field is the resource name of a service + consumer. Format is services//consumers/ + - >- + The value of the resource field is the AR Image Uri which + identifies an AR REPO. Allowed formats are: /// ///: ///@ + type: string + role: + description: Input/Output [Required]. The role for members below. + type: string + members: items: type: string - type: array description: >- - This filter specifies the exact document schema - Document.document_schema_name of the documents to search against. If - a value isn't specified, documents within the search results are - associated with any schema. If multiple values are specified, - documents within the search results may be associated with any of - the specified schemas. At most 20 document schema names are allowed. - timeFilters: - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimeFilter' + Input/Output [Required]. The member service accounts with the roles + above. Note: placeholders are same as the resource above. type: array - description: >- - Documents created/updated within a range specified by this filter - are searched against. - query: + resource: type: string description: >- - The query string that matches against the full text of the document - and the searchable properties. The query partially supports [Google - AIP style syntax](https://google.aip.dev/160). Specifically, the - query supports literals, logical operators, negation operators, - comparison operators, and functions. Literals: A bare literal value - (examples: "42", "Hugo") is a value to be matched against. It - searches over the full text of the document and the searchable - properties. Logical operators: "AND", "and", "OR", and "or" are - binary logical operators (example: "engineer OR developer"). - Negation operators: "NOT" and "!" are negation operators (example: - "NOT software"). Comparison operators: support the binary comparison - operators =, !=, <, >, <= and >= for string, numeric, enum, boolean. - Also support like operator `~~` for string. It provides semantic - search functionality by parsing, stemming and doing synonyms - expansion against the input query. To specify a property in the - query, the left hand side expression in the comparison must be the - property ID including the parent. The right hand side must be - literals. For example: "\"projects/123/locations/us\".property_a < - 1" matches results whose "property_a" is less than 1 in project 123 - and us location. The literals and comparison expression can be - connected in a single query (example: "software engineer - \"projects/123/locations/us\".salary > 100"). Functions: supported - functions are `LOWER([property_name])` to perform a case insensitive - match and `EMPTY([property_name])` to filter on the existence of a - key. Support nested expressions connected using parenthesis and - logical operators. The default logical operators is `AND` if there - is no operators between expressions. The query can be used with - other filters e.g. `time_filters` and `folder_name_filter`. They are - connected with `AND` operator under the hood. The maximum number of - allowed characters is 255. + Input/Output [Required]. The resource name that will be accessed by + members, which also depends on resource_type. Note: placeholders are + supported in resource names. For example, ${tpn} will be used when + the tenant project number is not ready. type: object - id: GoogleCloudContentwarehouseV1DocumentQuery - GoogleCloudContentwarehouseV1MapTypeOptions: - description: Configurations for a Map property. + id: CloudAiPlatformTenantresourceIamPolicyBinding + GoogleCloudContentwarehouseV1ListSynonymSetsResponse: + id: GoogleCloudContentwarehouseV1ListSynonymSetsResponse + description: Response message for SynonymSetService.ListSynonymSets. type: object - properties: {} - id: GoogleCloudContentwarehouseV1MapTypeOptions - GoogleCloudContentwarehouseV1GcsIngestPipeline: properties: - processorType: - description: >- - The Doc AI processor type name. Only used when the format of - ingested files is Doc AI Document proto format. - type: string - skipIngestedDocuments: - description: >- - The flag whether to skip ingested documents. If it is set to true, - documents in Cloud Storage contains key "status" with value - "status=ingested" in custom metadata will be skipped to ingest. - type: boolean - inputPath: + synonymSets: + description: The synonymSets from the specified parent. + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' + type: array + nextPageToken: type: string description: >- - The input Cloud Storage folder. All files under this folder will be - imported to Document Warehouse. Format: `gs:///`. - pipelineConfig: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1IngestPipelineConfig + A page token, received from a previous `ListSynonymSets` call. + Provide this to retrieve the subsequent page. + GoogleIamV1AuditLogConfig: + id: GoogleIamV1AuditLogConfig + type: object + properties: + exemptedMembers: + items: + type: string + type: array description: >- - Optional. The config for the Cloud Storage Ingestion pipeline. It - provides additional customization options to run the pipeline and - can be skipped if it is not applicable. - schemaName: + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. + logType: + enumDescriptions: + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' + description: The log type that this config enables. + enum: + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ type: string + description: >- + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. + GoogleCloudContentwarehouseV1CreateDocumentMetadata: + description: Metadata object for CreateDocument request (currently empty). + type: object + id: GoogleCloudContentwarehouseV1CreateDocumentMetadata + properties: {} + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry: + properties: + blocks: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock description: >- - The Document Warehouse schema resource name. All documents processed - by this pipeline will use this schema. Format: - projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. - id: GoogleCloudContentwarehouseV1GcsIngestPipeline - description: The configuration of the Cloud Storage Ingestion pipeline. + A list entry is a list of blocks. Repeated blocks support further + hierarchies and nested blocks. + type: array + description: Represents an entry in the list. type: object - GoogleCloudDocumentaiV1DocumentPageSymbol: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry + GoogleCloudDocumentaiV1DocumentPageBlock: type: object - description: A detected symbol. properties: + provenance: + description: The history of this annotation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + deprecated: true detectedLanguages: items: $ref: >- @@ -4616,482 +4489,606 @@ components: type: array description: A list of detected languages together with confidence. layout: - description: Layout for Symbol. + description: Layout for Block. $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - id: GoogleCloudDocumentaiV1DocumentPageSymbol - GoogleCloudContentwarehouseV1UpdateDocumentMetadata: - properties: {} + description: >- + A block has a set of lines (collected into paragraphs) that have a + common line-spacing and orientation. + id: GoogleCloudDocumentaiV1DocumentPageBlock + GoogleCloudContentwarehouseV1ProcessorInfo: + description: The DocAI processor information. + id: GoogleCloudContentwarehouseV1ProcessorInfo + properties: + schemaName: + type: string + description: >- + The Document schema resource name. All documents processed by this + processor will use this schema. Format: + projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. + processorName: + description: >- + The processor resource name. Format is + `projects/{project}/locations/{location}/processors/{processor}`, or + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` + type: string + documentType: + description: The processor will process the documents with this document type. + type: string type: object - description: Metadata object for UpdateDocument request (currently empty). - id: GoogleCloudContentwarehouseV1UpdateDocumentMetadata - GoogleCloudContentwarehouseV1SetAclRequest: - description: Request message for DocumentService.SetAcl. + GoogleCloudContentwarehouseV1IngestPipelineConfig: + id: GoogleCloudContentwarehouseV1IngestPipelineConfig type: object properties: - projectOwner: - description: >- - For Set Project ACL only. Authorization check for end user will be - ignored when project_owner=true. + enableDocumentTextExtraction: type: boolean + description: >- + The document text extraction enabled flag. If the flag is set to + true, DWH will perform text extraction on the raw document. + folder: + description: >- + Optional. The name of the folder to which all ingested documents + will be linked during ingestion process. Format is + `projects/{project}/locations/{location}/documents/{folder_id}` + type: string + documentAclPolicy: + $ref: '#/components/schemas/GoogleIamV1Policy' + description: >- + The document level acl policy config. This refers to an Identity and + Access (IAM) policy, which specifies access controls for all + documents ingested by the pipeline. The role and members under the + policy needs to be specified. The following roles are supported for + document level acl control: * roles/contentwarehouse.documentAdmin * + roles/contentwarehouse.documentEditor * + roles/contentwarehouse.documentViewer The following members are + supported for document level acl control: * + user:user-email@example.com * group:group-email@example.com Note + that for documents searched with LLM, only single level user or + group acl check is supported. + cloudFunction: + type: string + description: >- + The Cloud Function resource name. The Cloud Function needs to live + inside consumer project and is accessible to Document AI Warehouse + P4SA. Only Cloud Functions V2 is supported. Cloud function execution + should complete within 5 minutes or this file ingestion may fail due + to timeout. Format: + `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` + The following keys are available the request json payload. * + display_name * properties * plain_text * reference_id * + document_schema_name * raw_document_path * raw_document_file_type + The following keys from the cloud function json response payload + will be ingested to the Document AI Warehouse as part of Document + proto content and/or related information. The original values will + be overridden if any key is present in the response. * display_name + * properties * plain_text * document_acl_policy * folder + description: The ingestion pipeline config. + GoogleCloudContentwarehouseV1RunPipelineRequest: + description: Request message for DocumentService.RunPipeline. + properties: requestMetadata: description: >- The meta information collected about the end user, used to enforce access control for the service. $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - policy: + gcsIngestWithDocAiProcessorsPipeline: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline description: >- - Required. REQUIRED: The complete policy to be applied to the - `resource`. The size of the policy is limited to a few 10s of KB. - This refers to an Identity and Access (IAM) policy, which specifies - access controls for the Document. You can set ACL with condition for - projects only. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, - and `>=` where the left of the operator is `DocumentSchemaId` or - property name and the right of the operator is a number or a quoted - string. You must escape backslash (\\) and quote (\") characters. - Boolean expressions (AND/OR) are supported up to 3 levels of nesting - (for example, "((A AND B AND C) OR D) AND E"), a maximum of 10 - comparisons are allowed in the expression. The expression must be < - 6000 bytes in length. Sample condition: `"DocumentSchemaId = \"some - schema id\" OR SchemaId.floatPropertyName >= 10"` - $ref: '#/components/schemas/GoogleIamV1Policy' - id: GoogleCloudContentwarehouseV1SetAclRequest - CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions: + Use DocAI processors to process documents in Cloud Storage and + ingest them to Document Warehouse. + exportCdwPipeline: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ExportToCdwPipeline + description: >- + Export docuemnts from Document Warehouse to CDW for training + purpose. + gcsIngestPipeline: + description: Cloud Storage ingestion pipeline. + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1GcsIngestPipeline' + processWithDocAiPipeline: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline + description: >- + Use a DocAI processor to process documents in Document Warehouse, + and re-ingest the updated results into Document Warehouse. + type: object + id: GoogleCloudContentwarehouseV1RunPipelineRequest + GoogleCloudContentwarehouseV1SetAclResponse: type: object + id: GoogleCloudContentwarehouseV1SetAclResponse + description: Response message for DocumentService.SetAcl. properties: - cmekCloudResourceType: - type: string + metadata: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' description: >- - The cloud resource type for the CMEK encryption. For example, - contentwarehouse.googleapis.com/Location - cmekServiceName: + Additional information for the API invocation, such as the request + tracking id. + policy: + $ref: '#/components/schemas/GoogleIamV1Policy' + description: The policy will be attached to a resource (e.g. projecct, document). + GoogleCloudContentwarehouseV1MergeFieldsOptions: + type: object + properties: + replaceMessageFields: + type: boolean description: >- - The service name for the CMEK encryption. For example, - contentwarehouse.googleapis.com - type: string - cmekCloudResourceName: - type: string + When merging message fields, the default behavior is to merge the + content of two message fields together. If you instead want to use + the field from the source message to replace the corresponding field + in the destination message, set this flag to true. When this flag is + set, specified submessage fields that are missing in source will be + cleared in destination. + replaceRepeatedFields: + type: boolean description: >- - The cloud resource name for the CMEK encryption. For example, - projects//locations/ - description: >- - The options to create a spanner database. KMS key access audit logging - and AxT logging will be associated with the given resource name, - resource type and service name. Please ensure to give right options to - enable correct audit logging and AxT logging. - id: CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions - GoogleCloudContentwarehouseV1DataUpdateAction: + When merging repeated fields, the default behavior is to append + entries from the source repeated field to the destination repeated + field. If you instead want to keep only the entries from the source + repeated field, set this flag to true. If you want to replace a + repeated field within a message field on the destination message, + you must set both replace_repeated_fields and replace_message_fields + to true, otherwise the repeated fields will be appended. + id: GoogleCloudContentwarehouseV1MergeFieldsOptions + description: Options for merging updated fields. + GoogleCloudContentwarehouseV1QAResult: type: object - description: Represents the action responsible for properties update operations. + description: Additional result info for the question-answering feature. + id: GoogleCloudContentwarehouseV1QAResult properties: - entries: - type: object + confidenceScore: + format: float description: >- - Map of (K, V) -> (valid name of the field, new value of the field) - E.g., ("age", "60") entry triggers update of field age with a value - of 60. If the field is not present then new entry is added. During - update action execution, value strings will be casted to appropriate - types. - additionalProperties: - type: string - id: GoogleCloudContentwarehouseV1DataUpdateAction - GoogleCloudContentwarehouseV1TextTypeOptions: - properties: {} - id: GoogleCloudContentwarehouseV1TextTypeOptions - description: Configurations for a text property. + The calibrated confidence score for this document, in the range [0., + 1.]. This represents the confidence level for whether the returned + document and snippet answers the user's query. + type: number + highlights: + description: Highlighted sections in the snippet. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1QAResultHighlight + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan type: object - GoogleCloudContentwarehouseV1Property: - description: Property of a document. + description: Represents where the block starts and ends in the document. + properties: + pageStart: + format: int32 + type: integer + description: Page where block starts in the document. + pageEnd: + format: int32 + description: Page where block ends in the document. + type: integer + GoogleTypeExpr: + id: GoogleTypeExpr properties: - textValues: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TextArray' - description: String/text property values. - enumValues: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1EnumArray' - description: Enum property values. - propertyValues: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1PropertyArray' - description: Nested structured data property values. - timestampValues: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1TimestampArray' + location: description: >- - Timestamp property values. It is not supported by CMEK compliant - deployment. - floatValues: - description: Float property values. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1FloatArray' - mapProperty: - description: Map property values. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1MapProperty' - integerValues: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1IntegerArray' - description: Integer property values. - dateTimeValues: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DateTimeArray' + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + type: string + expression: + type: string description: >- - Date time property values. It is not supported by CMEK compliant - deployment. - name: + Textual representation of an expression in Common Expression + Language syntax. + title: + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + type: string + description: type: string description: >- - Required. Must match the name of a PropertyDefinition in the - DocumentSchema. - type: object - id: GoogleCloudContentwarehouseV1Property - GoogleCloudContentwarehouseV1CloudAIDocumentOption: - description: Request Option for processing Cloud AI Document in CW Document. - id: GoogleCloudContentwarehouseV1CloudAIDocumentOption + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. type: object + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + GoogleCloudContentwarehouseV1HistogramQueryResult: + id: GoogleCloudContentwarehouseV1HistogramQueryResult properties: - customizedEntitiesPropertiesConversions: + histogram: additionalProperties: + format: int64 type: string type: object - description: If set, only selected entities will be converted to properties. - enableEntitiesConversions: - type: boolean - description: Whether to convert all the entities to properties. + description: >- + A map from the values of the facet associated with distinct values + to the number of matching entries with corresponding value. The key + format is: * (for string histogram) string values stored in the + field. + histogramQuery: + description: Requested histogram expression. + type: string + description: Histogram result that matches HistogramQuery specified in searches. + type: object + GoogleCloudContentwarehouseV1UpdateDocumentMetadata: + id: GoogleCloudContentwarehouseV1UpdateDocumentMetadata + type: object + properties: {} + description: Metadata object for UpdateDocument request (currently empty). + GoogleCloudContentwarehouseV1DateTimeArray: + description: DateTime values. + type: object + id: GoogleCloudContentwarehouseV1DateTimeArray + properties: + values: + items: + $ref: '#/components/schemas/GoogleTypeDateTime' + type: array + description: >- + List of datetime values. Both OffsetDateTime and ZonedDateTime are + supported. GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata: - id: >- - GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata description: The metadata message for GcsIngest pipeline. properties: inputPath: type: string description: 'The input Cloud Storage folder in this pipeline. Format: `gs:///`.' + id: >- + GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata type: object - GoogleCloudDocumentaiV1DocumentPageImage: + GoogleCloudContentwarehouseV1TimeFilter: type: object + id: GoogleCloudContentwarehouseV1TimeFilter + description: Filter on create timestamp or update timestamp of documents. properties: - content: + timeField: + description: >- + Specifies which time field to filter documents on. Defaults to + TimeField.UPLOAD_TIME. + enumDescriptions: + - Default value. + - Earliest document create time. + - Latest document update time. + - Time when document becomes mutable again. type: string - format: byte - description: Raw byte content of the image. - width: - description: Width of the image in pixels. - format: int32 - type: integer - mimeType: + enum: + - TIME_FIELD_UNSPECIFIED + - CREATE_TIME + - UPDATE_TIME + - DISPOSITION_TIME + timeRange: + $ref: '#/components/schemas/GoogleTypeInterval' + GoogleCloudContentwarehouseV1InitializeProjectResponse: + description: Response message for projectService.InitializeProject + properties: + state: + enum: + - STATE_UNSPECIFIED + - SUCCEEDED + - FAILED + - CANCELLED + - RUNNING + enumDescriptions: + - Clients should never see this. + - Finished project initialization without error. + - Finished project initialization with an error. + - Client canceled the LRO. + - Ask the customer to check the operation for results. + description: The state of the project initialization process. + type: string + message: + description: The message of the project initialization process. type: string - description: >- - Encoding [media type (MIME - type)](https://www.iana.org/assignments/media-types/media-types.xhtml) - for the image. - height: - description: Height of the image in pixels. - format: int32 - type: integer - description: Rendered image contents for this page. - id: GoogleCloudDocumentaiV1DocumentPageImage - GoogleCloudContentwarehouseV1RunPipelineRequest: type: object - id: GoogleCloudContentwarehouseV1RunPipelineRequest + id: GoogleCloudContentwarehouseV1InitializeProjectResponse + GoogleCloudContentwarehouseV1RuleEngineOutput: properties: - gcsIngestPipeline: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1GcsIngestPipeline' - description: Cloud Storage ingestion pipeline. - exportCdwPipeline: + documentName: description: >- - Export docuemnts from Document Warehouse to CDW for training - purpose. + Name of the document against which the rules and actions were + evaluated. + type: string + ruleEvaluatorOutput: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ExportToCdwPipeline - requestMetadata: + #/components/schemas/GoogleCloudContentwarehouseV1RuleEvaluatorOutput description: >- - The meta information collected about the end user, used to enforce - access control for the service. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RequestMetadata' - gcsIngestWithDocAiProcessorsPipeline: + Output from Rule Evaluator containing matched, unmatched and invalid + rules. + actionExecutorOutput: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline + #/components/schemas/GoogleCloudContentwarehouseV1ActionExecutorOutput description: >- - Use DocAI processors to process documents in Cloud Storage and - ingest them to Document Warehouse. - processWithDocAiPipeline: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline + Output from Action Executor containing rule and corresponding + actions execution result. + id: GoogleCloudContentwarehouseV1RuleEngineOutput + description: >- + Records the output of Rule Engine including rule evaluation and actions + result. + type: object + GoogleCloudContentwarehouseV1EnumTypeOptions: + id: GoogleCloudContentwarehouseV1EnumTypeOptions + type: object + description: Configurations for an enum/categorical property. + properties: + possibleValues: + items: + type: string + description: Required. List of possible enum values. + type: array + validationCheckDisabled: + type: boolean description: >- - Use a DocAI processor to process documents in Document Warehouse, - and re-ingest the updated results into Document Warehouse. - description: Request message for DocumentService.RunPipeline. - GoogleCloudContentwarehouseV1UpdateOptions: - description: Options for Update operations. - id: GoogleCloudContentwarehouseV1UpdateOptions + Make sure the Enum property value provided in the document is in the + possile value list during document creation. The validation check + runs by default. + GoogleCloudContentwarehouseV1AccessControlAction: + id: GoogleCloudContentwarehouseV1AccessControlAction + description: >- + Represents the action responsible for access control list management + operations. properties: - updateMask: + policy: + $ref: '#/components/schemas/GoogleIamV1Policy' description: >- - Field mask for merging Document fields. For the `FieldMask` - definition, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - format: google-fieldmask - type: string - mergeFieldsOptions: - description: Options for merging. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1MergeFieldsOptions' - updateType: - description: Type for update. + Represents the new policy from which bindings are added, removed or + replaced based on the type of the operation. the policy is limited + to a few 10s of KB. + operationType: enum: - - UPDATE_TYPE_UNSPECIFIED - - UPDATE_TYPE_REPLACE - - UPDATE_TYPE_MERGE - - UPDATE_TYPE_INSERT_PROPERTIES_BY_NAMES - - UPDATE_TYPE_REPLACE_PROPERTIES_BY_NAMES - - UPDATE_TYPE_DELETE_PROPERTIES_BY_NAMES - - UPDATE_TYPE_MERGE_AND_REPLACE_OR_INSERT_PROPERTIES_BY_NAMES + - UNKNOWN + - ADD_POLICY_BINDING + - REMOVE_POLICY_BINDING + - REPLACE_POLICY_BINDING type: string + description: Identifies the type of operation. enumDescriptions: - - Defaults to full replace behavior, ie. FULL_REPLACE. + - The unknown operation type. + - Adds newly given policy bindings in the existing bindings list. - >- - Fully replace all the fields (including previously linked raw - document). Any field masks will be ignored. - - Merge the fields into the existing entities. - - Inserts the properties by names. - - Replace the properties by names. - - Delete the properties by names. + Removes newly given policy bindings from the existing bindings + list. - >- - For each of the property, replaces the property if the it exists, - otherwise inserts a new property. And for the rest of the fields, - merge them based on update mask and merge fields options. - type: object - CloudAiPlatformTenantresourceTenantServiceAccountIdentity: - properties: - serviceName: - description: >- - Input/Output [Required]. The service that the service account - belongs to. (e.g. cloudbuild.googleapis.com for GCB service - accounts) - type: string - serviceAccountEmail: - type: string - description: Output only. The email address of the generated service account. + Replaces existing policy bindings with the given policy binding + list type: object - id: CloudAiPlatformTenantresourceTenantServiceAccountIdentity + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock: description: >- - The identity of service accounts that have been explicitly created under - tenant projects. - GoogleCloudContentwarehouseV1FileTypeFilter: + Represents a block. A block could be one of the various types (text, + table, list) supported. properties: - fileType: + textBlock: + description: Block consisting of text content. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock + pageSpan: + description: Page span of the block. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan + blockId: type: string - enum: - - FILE_TYPE_UNSPECIFIED - - ALL - - FOLDER - - DOCUMENT - - ROOT_FOLDER - enumDescriptions: - - Default document type. If set, disables the filter. - - Returns all document types, including folders. - - Returns only folders. - - Returns only non-folder documents. - - Returns only root folders - description: The type of files to return. - id: GoogleCloudContentwarehouseV1FileTypeFilter - description: Filter for the specific types of documents returned. - type: object - GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument: - id: GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument + description: ID of the block. + tableBlock: + description: Block consisting of table content/structure. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock + listBlock: + description: Block consisting of list content/structure. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock + id: GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock type: object - description: Document entry with metadata inside SearchDocumentsResponse + GoogleCloudDocumentaiV1DocumentStyle: properties: - qaResult: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1QAResult' + fontSize: + description: Font size. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyleFontSize' + fontFamily: description: >- - Experimental. Additional result info if the question-answering - feature is enabled. - matchedTokenPageIndices: + Font family such as `Arial`, `Times New Roman`. + https://www.w3schools.com/cssref/pr_font_font-family.asp + type: string + backgroundColor: + $ref: '#/components/schemas/GoogleTypeColor' + description: Text background color. + textAnchor: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + description: Text anchor indexing into the Document.text. + color: + description: Text color. + $ref: '#/components/schemas/GoogleTypeColor' + textDecoration: description: >- - Return the 1-based page indices where those pages have one or more - matched tokens. - items: - format: int64 - type: string - type: array - document: + [Text + decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). + Follows CSS standard. + type: string + fontWeight: + type: string description: >- - Document that matches the specified SearchDocumentsRequest. This - document only contains indexed metadata information. - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' - searchTextSnippet: + [Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). + Possible values are `normal`, `bold`, `bolder`, and `lighter`. + textStyle: type: string description: >- - Contains snippets of text from the document full raw text that most - closely match a search query's keywords, if available. All HTML tags - in the original fields are stripped when returned in this field, and - matching query keywords are enclosed in HTML bold tags. If the - question-answering feature is enabled, this field will instead - contain a snippet that answers the user's natural-language query. No - HTML bold tags will be present, and highlights in the answer snippet - can be found in QAResult.highlights. - GoogleProtobufEmpty: - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: GoogleProtobufEmpty + [Text + style](https://www.w3schools.com/cssref/pr_font_font-style.asp). + Possible values are `normal`, `italic`, and `oblique`. type: object - properties: {} - CloudAiPlatformTenantresourceCloudSqlInstanceConfig: + id: GoogleCloudDocumentaiV1DocumentStyle description: >- - The identity to configure a CloudSQL instance provisioned via SLM - Terraform. + Annotation for common text style attributes. This adheres to CSS + conventions as much as possible. + GoogleCloudContentwarehouseV1UpdateRuleSetRequest: + properties: + ruleSet: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' + description: Required. The rule set to update. + id: GoogleCloudContentwarehouseV1UpdateRuleSetRequest + type: object + description: Request message for RuleSetService.UpdateRuleSet. + GoogleCloudDocumentaiV1DocumentPageImageQualityScores: type: object properties: - cloudSqlInstanceName: - type: string - description: >- - Input/Output [Optional]. The CloudSQL instance name within SLM - instance. If not set, a random UUIC will be generated as instance - name. - cloudSqlInstanceConnectionName: - type: string - description: Output only. The CloudSQL instance connection name. - slmInstanceType: - type: string - description: Input [Required]. The SLM instance type to provision CloudSQL. - kmsKeyReference: - type: string + qualityScore: description: >- - Input [Optional]. The KMS key name or the KMS grant name used for - CMEK encryption. Only set this field when provisioning new CloudSQL - instances. For existing CloudSQL instances, this field will be - ignored because CMEK re-encryption is not supported. - slmInstanceName: - type: string - description: Output only. The SLM instance's full resource name. - mdbRolesForCorpAccess: + The overall quality score. Range `[0, 1]` where `1` is perfect + quality. + type: number + format: float + detectedDefects: + description: A list of detected defects. type: array - description: Input [Optional]. MDB roles for corp access to CloudSQL instance. items: - type: string - slmInstanceTemplate: - type: string - description: Input [Required]. The SLM instance template to provision CloudSQL. - id: CloudAiPlatformTenantresourceCloudSqlInstanceConfig - GoogleCloudDocumentaiV1DocumentShardInfo: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect + description: Image quality scores for the page image. + id: GoogleCloudDocumentaiV1DocumentPageImageQualityScores + CloudAiPlatformTenantresourceTenantResource: type: object - id: GoogleCloudDocumentaiV1DocumentShardInfo + description: A collection of tenant resources. + id: CloudAiPlatformTenantresourceTenantResource properties: - shardIndex: - description: The 0-based index of this shard. - type: string - format: int64 - shardCount: - description: Total number of shards. - format: int64 - type: string - textOffset: - format: int64 + p4ServiceAccounts: + type: array + items: + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceServiceAccountIdentity + description: A list of P4 service accounts (go/p4sa) to provision or deprovision. + tenantProjectResources: + items: + $ref: >- + #/components/schemas/CloudAiPlatformTenantresourceTenantProjectResource + type: array description: >- - The index of the first character in Document.text in the overall - document global text. + A list of tenant projects and tenant resources to provision or + deprovision. + GoogleCloudContentwarehouseV1HistogramQuery: + id: GoogleCloudContentwarehouseV1HistogramQuery + type: object + description: The histogram request. + properties: + filters: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter + description: >- + Optional. Filter the result of histogram query by the property + names. It only works with histogram query + count('FilterableProperties'). It is an optional. It will perform + histogram on all the property names for all the document schemas. + Setting this field will have a better performance. + requirePreciseResultSize: + type: boolean + description: >- + Controls if the histogram query requires the return of a precise + count. Enable this flag may adversely impact performance. Defaults + to true. + histogramQuery: + description: >- + An expression specifies a histogram request against matching + documents for searches. See SearchDocumentsRequest.histogram_queries + for details about syntax. type: string - description: >- - For a large document, sharding may be performed to produce several - document shards. Each document shard contains this field to detail which - shard it is. - GoogleCloudContentwarehouseV1ListLinkedTargetsResponse: - id: GoogleCloudContentwarehouseV1ListLinkedTargetsResponse + GoogleCloudDocumentaiV1DocumentEntityNormalizedValue: type: object + id: GoogleCloudDocumentaiV1DocumentEntityNormalizedValue + description: Parsed and normalized entity value. + properties: + text: + type: string + description: >- + Optional. An optional field to store a normalized string. For some + entity types, one of respective `structured_value` fields may also + be populated. Also not all the types of `structured_value` will be + normalized. For example, some processors may not generate `float` or + `integer` normalized text by default. Below are sample formats + mapped to structured values. - Money/Currency type (`money_value`) + is in the ISO 4217 text format. - Date type (`date_value`) is in the + ISO 8601 text format. - Datetime type (`datetime_value`) is in the + ISO 8601 text format. + integerValue: + format: int32 + description: Integer value. + type: integer + dateValue: + $ref: '#/components/schemas/GoogleTypeDate' + description: >- + Date value. Includes year, month, day. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/date.proto + moneyValue: + description: >- + Money value. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/money.proto + $ref: '#/components/schemas/GoogleTypeMoney' + addressValue: + description: >- + Postal address. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto + $ref: '#/components/schemas/GoogleTypePostalAddress' + datetimeValue: + $ref: '#/components/schemas/GoogleTypeDateTime' + description: >- + DateTime value. Includes date, time, and timezone. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto + booleanValue: + type: boolean + description: >- + Boolean value. Can be used for entities with binary values, or for + checkboxes. + floatValue: + description: Float value. + format: float + type: number + GoogleCloudContentwarehouseV1ListRuleSetsResponse: + id: GoogleCloudContentwarehouseV1ListRuleSetsResponse properties: + ruleSets: + type: array + items: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' + description: The rule sets from the specified parent. nextPageToken: type: string description: >- A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - documentLinks: - description: Target document-links. - items: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' - type: array - description: Response message for DocumentLinkService.ListLinkedTargets. - GoogleCloudContentwarehouseV1AccessControlAction: - id: GoogleCloudContentwarehouseV1AccessControlAction - properties: - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' - description: >- - Represents the new policy from which bindings are added, removed or - replaced based on the type of the operation. the policy is limited - to a few 10s of KB. - operationType: - description: Identifies the type of operation. - type: string - enum: - - UNKNOWN - - ADD_POLICY_BINDING - - REMOVE_POLICY_BINDING - - REPLACE_POLICY_BINDING - enumDescriptions: - - The unknown operation type. - - Adds newly given policy bindings in the existing bindings list. - - >- - Removes newly given policy bindings from the existing bindings - list. - - >- - Replaces existing policy bindings with the given policy binding - list - description: >- - Represents the action responsible for access control list management - operations. - type: object - GoogleCloudContentwarehouseV1SetAclResponse: - id: GoogleCloudContentwarehouseV1SetAclResponse + description: Response message for RuleSetService.ListRuleSets. type: object + GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata: + description: The metadata message for Process-with-DocAi pipeline. + id: >- + GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata properties: - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' - description: The policy will be attached to a resource (e.g. projecct, document). - metadata: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ResponseMetadata' + documents: description: >- - Additional information for the API invocation, such as the request - tracking id. - description: Response message for DocumentService.SetAcl. - GoogleTypeDate: - description: >- - 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 + The input list of all the resource names of the documents to be + processed. + type: array + items: + type: string + processorInfo: + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1ProcessorInfo' + description: The DocAI processor to process the documents with. type: object - id: GoogleTypeDate - properties: - year: - format: int32 - type: integer - description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - day: - description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. - type: integer - format: int32 - month: - format: int32 - type: integer - description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. parameters: - callback: - description: JSONP - in: query - name: callback - schema: - type: string - access_token: - description: OAuth access token. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: access_token + name: quotaUser schema: type: string uploadType: @@ -5100,15 +5097,6 @@ components: name: uploadType schema: type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query @@ -5124,21 +5112,12 @@ components: name: key schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: oauth_token + name: prettyPrint schema: - type: string + type: boolean alt: description: Data format for response. in: query @@ -5149,18 +5128,39 @@ components: - json - media - proto - prettyPrint: - description: Returns response with indentations and line breaks. + access_token: + description: OAuth access token. in: query - name: prettyPrint + name: access_token schema: - type: boolean + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string x-stackQL-resources: projects: id: google.contentwarehouse.projects @@ -5197,380 +5197,380 @@ components: update: [] replace: [] delete: [] - locations: - id: google.contentwarehouse.locations - name: locations - title: Locations - methods: - run_pipeline: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:runPipeline/post - response: - mediaType: application/json - openAPIDocKey: '200' - initialize: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:initialize/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - status: - id: google.contentwarehouse.status - name: status - title: Status + operations: + id: google.contentwarehouse.operations + name: operations + title: Operations methods: - get_status: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:getStatus/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/status/methods/get_status' + - $ref: '#/components/x-stackQL-resources/operations/methods/get' insert: [] update: [] replace: [] delete: [] - rule_sets: - id: google.contentwarehouse.rule_sets - name: rule_sets - title: Rule_sets + synonym_sets: + id: google.contentwarehouse.synonym_sets + name: synonym_sets + title: Synonym_sets methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets~1{ruleSetsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets~1{synonymSetsId}/get response: mediaType: application/json openAPIDocKey: '200' - delete: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets~1{ruleSetsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets~1{synonymSetsId}/patch response: mediaType: application/json openAPIDocKey: '200' - patch: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets~1{ruleSetsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets~1{synonymSetsId}/delete response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.ruleSets + objectKey: $.synonymSets create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/rule_sets/methods/get' - - $ref: '#/components/x-stackQL-resources/rule_sets/methods/list' + - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/get' + - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/rule_sets/methods/create' + - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/create' update: - - $ref: '#/components/x-stackQL-resources/rule_sets/methods/patch' + - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/rule_sets/methods/delete' - operations: - id: google.contentwarehouse.operations - name: operations - title: Operations + - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/delete' + reference_id: + id: google.contentwarehouse.reference_id + name: reference_id + title: Reference_id methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1referenceId~1{referenceIdId}:get/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - insert: [] - update: [] - replace: [] - delete: [] - document_schemas: - id: google.contentwarehouse.document_schemas - name: document_schemas - title: Document_schemas - methods: patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas~1{documentSchemasId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1referenceId~1{referenceIdId}/patch response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas~1{documentSchemasId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas~1{documentSchemasId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1referenceId~1{referenceIdId}:delete/post response: mediaType: application/json openAPIDocKey: '200' - list: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/reference_id/methods/get' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/reference_id/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/reference_id/methods/delete' + document_links: + id: google.contentwarehouse.document_links + name: document_links + title: Document_links + methods: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1documentLinks~1{documentLinksId}:delete/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.documentSchemas create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1documentLinks/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/document_schemas/methods/get' - - $ref: '#/components/x-stackQL-resources/document_schemas/methods/list' + select: [] insert: - - $ref: '#/components/x-stackQL-resources/document_schemas/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/document_schemas/methods/patch' + - $ref: '#/components/x-stackQL-resources/document_links/methods/create' + update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/document_schemas/methods/delete' - synonym_sets: - id: google.contentwarehouse.synonym_sets - name: synonym_sets - title: Synonym_sets + - $ref: '#/components/x-stackQL-resources/document_links/methods/delete' + documents_acl: + id: google.contentwarehouse.documents_acl + name: documents_acl + title: Documents_acl methods: - patch: + fetch_acl: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets~1{synonymSetsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:fetchAcl/post response: mediaType: application/json openAPIDocKey: '200' - get: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/documents_acl/methods/fetch_acl' + insert: [] + update: [] + replace: [] + delete: [] + documents: + id: google.contentwarehouse.documents + name: documents + title: Documents + methods: + linked_targets: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets~1{synonymSetsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1linkedTargets/post response: mediaType: application/json openAPIDocKey: '200' - delete: + linked_sources: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets~1{synonymSetsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1linkedSources/post response: mediaType: application/json openAPIDocKey: '200' - list: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.synonymSets - create: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1synonymSets/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:delete/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/get' - - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/synonym_sets/methods/delete' - document_links: - id: google.contentwarehouse.document_links - name: document_links - title: Document_links - methods: - delete: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1documentLinks~1{documentLinksId}:delete/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - create: + search: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1documentLinks/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents:search/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: '#/components/x-stackQL-resources/document_links/methods/create' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/document_links/methods/delete' - reference_id: - id: google.contentwarehouse.reference_id - name: reference_id - title: Reference_id - methods: - patch: + set_acl: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1referenceId~1{referenceIdId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:setAcl/post response: mediaType: application/json openAPIDocKey: '200' get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1referenceId~1{referenceIdId}:get/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:get/post response: mediaType: application/json openAPIDocKey: '200' - delete: + lock: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1referenceId~1{referenceIdId}:delete/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:lock/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/reference_id/methods/get' - insert: [] + - $ref: '#/components/x-stackQL-resources/documents/methods/get' + insert: + - $ref: '#/components/x-stackQL-resources/documents/methods/create' update: - - $ref: '#/components/x-stackQL-resources/reference_id/methods/patch' + - $ref: '#/components/x-stackQL-resources/documents/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/reference_id/methods/delete' - documents: - id: google.contentwarehouse.documents - name: documents - title: Documents + - $ref: '#/components/x-stackQL-resources/documents/methods/delete' + document_schemas: + id: google.contentwarehouse.document_schemas + name: document_schemas + title: Document_schemas methods: - patch: + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas/post response: mediaType: application/json openAPIDocKey: '200' - search: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents:search/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.documentSchemas delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:delete/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas~1{documentSchemasId}/delete response: mediaType: application/json openAPIDocKey: '200' - linked_targets: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas~1{documentSchemasId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documentSchemas~1{documentSchemasId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/document_schemas/methods/get' + - $ref: '#/components/x-stackQL-resources/document_schemas/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/document_schemas/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/document_schemas/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/document_schemas/methods/delete' + rule_sets: + id: google.contentwarehouse.rule_sets + name: rule_sets + title: Rule_sets + methods: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1linkedTargets/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets~1{ruleSetsId}/delete response: mediaType: application/json openAPIDocKey: '200' - linked_sources: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}~1linkedSources/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets~1{ruleSetsId}/get response: mediaType: application/json openAPIDocKey: '200' - get: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:get/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets~1{ruleSetsId}/patch response: mediaType: application/json openAPIDocKey: '200' - lock: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:lock/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.ruleSets create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1ruleSets/post response: mediaType: application/json openAPIDocKey: '200' - set_acl: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rule_sets/methods/get' + - $ref: '#/components/x-stackQL-resources/rule_sets/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/rule_sets/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/rule_sets/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/rule_sets/methods/delete' + status: + id: google.contentwarehouse.status + name: status + title: Status + methods: + get_status: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:setAcl/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:getStatus/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/documents/methods/get' - insert: - - $ref: '#/components/x-stackQL-resources/documents/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/documents/methods/patch' + - $ref: '#/components/x-stackQL-resources/status/methods/get_status' + insert: [] + update: [] replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/documents/methods/delete' - documents_acl: - id: google.contentwarehouse.documents_acl - name: documents_acl - title: Documents_acl + delete: [] + locations: + id: google.contentwarehouse.locations + name: locations + title: Locations methods: - fetch_acl: + initialize: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1documents~1{documentsId}:fetchAcl/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:initialize/post + response: + mediaType: application/json + openAPIDocKey: '200' + run_pipeline: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:runPipeline/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/documents_acl/methods/fetch_acl' + select: [] insert: [] update: [] replace: [] @@ -5578,17 +5578,17 @@ components: paths: /v1/projects/{projectsId}:setAcl: parameters: &ref_1 - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/oauth_token' post: description: >- Sets the access control policy for a resource. Replaces any existing @@ -5651,17 +5651,14 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:runPipeline: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: parameters: *ref_1 - post: - description: Run a predefined pipeline. - operationId: contentwarehouse.projects.locations.runPipeline - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineRequest + get: + description: >- + 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. + operationId: contentwarehouse.projects.locations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5685,11 +5682,18 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:getStatus: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/synonymSets/{synonymSetsId}: parameters: *ref_1 get: - description: Get the project status. - operationId: contentwarehouse.projects.locations.getStatus + description: >- + Gets a SynonymSet for a particular context. Throws a NOT_FOUND exception + if the Synonymset does not exist + operationId: contentwarehouse.projects.locations.synonymSets.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5701,8 +5705,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ProjectStatus + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' parameters: - in: path name: projectsId @@ -5714,19 +5717,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:initialize: - parameters: *ref_1 - post: + - in: path + name: synonymSetsId + required: true + schema: + type: string + patch: description: >- - Provisions resources for given tenant project. Returns a long running - operation. - operationId: contentwarehouse.projects.locations.initialize + 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. + operationId: contentwarehouse.projects.locations.synonymSets.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1InitializeProjectRequest + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5738,7 +5743,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' parameters: - in: path name: projectsId @@ -5750,11 +5755,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/ruleSets/{ruleSetsId}: - parameters: *ref_1 - get: - description: Gets a ruleset. Returns NOT_FOUND if the ruleset does not exist. - operationId: contentwarehouse.projects.locations.ruleSets.get + - in: path + name: synonymSetsId + required: true + schema: + type: string + delete: + description: >- + Deletes a SynonymSet for a given context. Throws a NOT_FOUND exception + if the SynonymSet is not found. + operationId: contentwarehouse.projects.locations.synonymSets.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5766,7 +5776,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -5779,13 +5789,15 @@ paths: schema: type: string - in: path - name: ruleSetsId + name: synonymSetsId required: true schema: type: string - delete: - description: Deletes a ruleset. Returns NOT_FOUND if the document does not exist. - operationId: contentwarehouse.projects.locations.ruleSets.delete + /v1/projects/{projectsId}/locations/{locationsId}/synonymSets: + parameters: *ref_1 + get: + description: Returns all SynonymSets (for all contexts) for the specified location. + operationId: contentwarehouse.projects.locations.synonymSets.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5797,7 +5809,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ListSynonymSetsResponse parameters: - in: path name: projectsId @@ -5809,22 +5822,25 @@ paths: required: true schema: type: string - - in: path - name: ruleSetsId - required: true + - in: query + name: pageToken schema: type: string - patch: + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: description: >- - Updates a ruleset. Returns INVALID_ARGUMENT if the name of the ruleset - is non-empty and does not equal the existing name. - operationId: contentwarehouse.projects.locations.ruleSets.patch + Creates a SynonymSet for a single context. Throws an ALREADY_EXISTS + exception if a synonymset already exists for the context. + operationId: contentwarehouse.projects.locations.synonymSets.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1UpdateRuleSetRequest + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5836,7 +5852,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' parameters: - in: path name: projectsId @@ -5848,16 +5864,17 @@ paths: required: true schema: type: string - - in: path - name: ruleSetsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/ruleSets: + /v1/projects/{projectsId}/locations/{locationsId}/documents/referenceId/{referenceIdId}:get: parameters: *ref_1 - get: - description: Lists rulesets. - operationId: contentwarehouse.projects.locations.ruleSets.list + post: + description: Gets a document. Returns NOT_FOUND if the document does not exist. + operationId: contentwarehouse.projects.locations.documents.referenceId.get + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1GetDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5869,8 +5886,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListRuleSetsResponse + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' parameters: - in: path name: projectsId @@ -5882,23 +5898,24 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: referenceIdId + required: true schema: type: string - post: - description: Creates a ruleset. - operationId: contentwarehouse.projects.locations.ruleSets.create + /v1/projects/{projectsId}/locations/{locationsId}/documents/referenceId/{referenceIdId}: + parameters: *ref_1 + patch: + description: >- + Updates a document. Returns INVALID_ARGUMENT if the name of the document + is non-empty and does not equal the existing name. + operationId: contentwarehouse.projects.locations.documents.referenceId.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5910,7 +5927,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentResponse parameters: - in: path name: projectsId @@ -5922,14 +5940,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + - in: path + name: referenceIdId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/documents/referenceId/{referenceIdId}:delete: parameters: *ref_1 - get: - description: >- - 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. - operationId: contentwarehouse.projects.locations.operations.get + post: + description: Deletes a document. Returns NOT_FOUND if the document does not exist. + operationId: contentwarehouse.projects.locations.documents.referenceId.delete + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5941,7 +5967,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -5954,27 +5980,21 @@ paths: schema: type: string - in: path - name: operationsId + name: referenceIdId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documentSchemas/{documentSchemasId}: + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/documentLinks/{documentLinksId}:delete: parameters: *ref_1 - patch: - description: >- - 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. - operationId: contentwarehouse.projects.locations.documentSchemas.patch + post: + description: Remove the link between the source and target documents. + operationId: contentwarehouse.projects.locations.documents.documentLinks.delete requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest + #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5986,8 +6006,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -6000,16 +6019,26 @@ paths: schema: type: string - in: path - name: documentSchemasId + name: documentsId required: true schema: type: string - delete: - description: >- - 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. - operationId: contentwarehouse.projects.locations.documentSchemas.delete + - in: path + name: documentLinksId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/documentLinks: + parameters: *ref_1 + post: + description: Create a link between a source document and a target document. + operationId: contentwarehouse.projects.locations.documents.documentLinks.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1CreateDocumentLinkRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6021,7 +6050,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' parameters: - in: path name: projectsId @@ -6034,15 +6063,24 @@ paths: schema: type: string - in: path - name: documentSchemasId + name: documentsId required: true schema: type: string - get: + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:fetchAcl: + parameters: *ref_1 + post: description: >- - Gets a document schema. Returns NOT_FOUND if the document schema does - not exist. - operationId: contentwarehouse.projects.locations.documentSchemas.get + 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. + operationId: contentwarehouse.projects.locations.documents.fetchAcl + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1FetchAclRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6055,7 +6093,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema + #/components/schemas/GoogleCloudContentwarehouseV1FetchAclResponse parameters: - in: path name: projectsId @@ -6068,15 +6106,21 @@ paths: schema: type: string - in: path - name: documentSchemasId + name: documentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documentSchemas: + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/linkedTargets: parameters: *ref_1 - get: - description: Lists document schemas. - operationId: contentwarehouse.projects.locations.documentSchemas.list + post: + description: Return all target document-links from the document. + operationId: contentwarehouse.projects.locations.documents.linkedTargets + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedTargetsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6089,7 +6133,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListDocumentSchemasResponse + #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedTargetsResponse parameters: - in: path name: projectsId @@ -6101,23 +6145,22 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: documentsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/linkedSources: + parameters: *ref_1 post: - description: Creates a document schema. - operationId: contentwarehouse.projects.locations.documentSchemas.create + description: Return all source document-links from the document. + operationId: contentwarehouse.projects.locations.documents.linkedSources requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedSourcesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6130,7 +6173,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema + #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedSourcesResponse parameters: - in: path name: projectsId @@ -6142,18 +6185,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/synonymSets/{synonymSetsId}: + - in: path + name: documentsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/documents: parameters: *ref_1 - patch: - description: >- - 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. - operationId: contentwarehouse.projects.locations.synonymSets.patch + post: + description: Creates a document. + operationId: contentwarehouse.projects.locations.documents.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1CreateDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6165,7 +6212,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1CreateDocumentResponse parameters: - in: path name: projectsId @@ -6177,16 +6225,17 @@ paths: required: true schema: type: string - - in: path - name: synonymSetsId - required: true - schema: - type: string - get: - description: >- - Gets a SynonymSet for a particular context. Throws a NOT_FOUND exception - if the Synonymset does not exist - operationId: contentwarehouse.projects.locations.synonymSets.get + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:delete: + parameters: *ref_1 + post: + description: Deletes a document. Returns NOT_FOUND if the document does not exist. + operationId: contentwarehouse.projects.locations.documents.delete + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6198,7 +6247,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -6211,15 +6260,23 @@ paths: schema: type: string - in: path - name: synonymSetsId + name: documentsId required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}: + parameters: *ref_1 + patch: description: >- - Deletes a SynonymSet for a given context. Throws a NOT_FOUND exception - if the SynonymSet is not found. - operationId: contentwarehouse.projects.locations.synonymSets.delete + Updates a document. Returns INVALID_ARGUMENT if the name of the document + is non-empty and does not equal the existing name. + operationId: contentwarehouse.projects.locations.documents.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6231,7 +6288,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentResponse parameters: - in: path name: projectsId @@ -6244,15 +6302,23 @@ paths: schema: type: string - in: path - name: synonymSetsId + name: documentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/synonymSets: + /v1/projects/{projectsId}/locations/{locationsId}/documents:search: parameters: *ref_1 - get: - description: Returns all SynonymSets (for all contexts) for the specified location. - operationId: contentwarehouse.projects.locations.synonymSets.list + post: + description: >- + Searches for documents using provided SearchDocumentsRequest. This call + only returns documents that the caller has permission to search against. + operationId: contentwarehouse.projects.locations.documents.search + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1SearchDocumentsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6265,7 +6331,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListSynonymSetsResponse + #/components/schemas/GoogleCloudContentwarehouseV1SearchDocumentsResponse parameters: - in: path name: projectsId @@ -6277,25 +6343,18 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:setAcl: + parameters: *ref_1 post: description: >- - Creates a SynonymSet for a single context. Throws an ALREADY_EXISTS - exception if a synonymset already exists for the context. - operationId: contentwarehouse.projects.locations.synonymSets.create + Sets the access control policy for a resource. Replaces any existing + policy. + operationId: contentwarehouse.projects.locations.documents.setAcl requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SetAclRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6307,7 +6366,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SynonymSet' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1SetAclResponse parameters: - in: path name: projectsId @@ -6319,17 +6379,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/documentLinks/{documentLinksId}:delete: + - in: path + name: documentsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:get: parameters: *ref_1 post: - description: Remove the link between the source and target documents. - operationId: contentwarehouse.projects.locations.documents.documentLinks.delete + description: Gets a document. Returns NOT_FOUND if the document does not exist. + operationId: contentwarehouse.projects.locations.documents.get requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest + #/components/schemas/GoogleCloudContentwarehouseV1GetDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6341,7 +6406,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' parameters: - in: path name: projectsId @@ -6358,22 +6423,17 @@ paths: required: true schema: type: string - - in: path - name: documentLinksId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/documentLinks: + /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:lock: parameters: *ref_1 post: - description: Create a link between a source document and a target document. - operationId: contentwarehouse.projects.locations.documents.documentLinks.create + description: Lock the document so the document cannot be updated by other users. + operationId: contentwarehouse.projects.locations.documents.lock requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1CreateDocumentLinkRequest + #/components/schemas/GoogleCloudContentwarehouseV1LockDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6385,7 +6445,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentLink' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' parameters: - in: path name: projectsId @@ -6401,20 +6461,17 @@ paths: name: documentsId required: true schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/referenceId/{referenceIdId}: - parameters: *ref_1 - patch: - description: >- - Updates a document. Returns INVALID_ARGUMENT if the name of the document - is non-empty and does not equal the existing name. - operationId: contentwarehouse.projects.locations.documents.referenceId.patch + type: string + /v1/projects/{projectsId}/locations/{locationsId}/documentSchemas: + parameters: *ref_1 + post: + description: Creates a document schema. + operationId: contentwarehouse.projects.locations.documentSchemas.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentRequest + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6427,7 +6484,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentResponse + #/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema parameters: - in: path name: projectsId @@ -6439,22 +6496,9 @@ paths: required: true schema: type: string - - in: path - name: referenceIdId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/referenceId/{referenceIdId}:get: - parameters: *ref_1 - post: - description: Gets a document. Returns NOT_FOUND if the document does not exist. - operationId: contentwarehouse.projects.locations.documents.referenceId.get - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1GetDocumentRequest + get: + description: Lists document schemas. + operationId: contentwarehouse.projects.locations.documentSchemas.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6466,7 +6510,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ListDocumentSchemasResponse parameters: - in: path name: projectsId @@ -6478,22 +6523,23 @@ paths: required: true schema: type: string - - in: path - name: referenceIdId - required: true + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/referenceId/{referenceIdId}:delete: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/documentSchemas/{documentSchemasId}: parameters: *ref_1 - post: - description: Deletes a document. Returns NOT_FOUND if the document does not exist. - operationId: contentwarehouse.projects.locations.documents.referenceId.delete - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentRequest + delete: + description: >- + 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. + operationId: contentwarehouse.projects.locations.documentSchemas.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6518,23 +6564,15 @@ paths: schema: type: string - in: path - name: referenceIdId + name: documentSchemasId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}: - parameters: *ref_1 - patch: + get: description: >- - Updates a document. Returns INVALID_ARGUMENT if the name of the document - is non-empty and does not equal the existing name. - operationId: contentwarehouse.projects.locations.documents.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentRequest + Gets a document schema. Returns NOT_FOUND if the document schema does + not exist. + operationId: contentwarehouse.projects.locations.documentSchemas.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6547,7 +6585,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentResponse + #/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema parameters: - in: path name: projectsId @@ -6560,23 +6598,25 @@ paths: schema: type: string - in: path - name: documentsId + name: documentSchemasId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents:search: - parameters: *ref_1 - post: + patch: description: >- - Searches for documents using provided SearchDocumentsRequest. This call - only returns documents that the caller has permission to search against. - operationId: contentwarehouse.projects.locations.documents.search + 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. + operationId: contentwarehouse.projects.locations.documentSchemas.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1SearchDocumentsRequest + #/components/schemas/GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6589,7 +6629,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1SearchDocumentsResponse + #/components/schemas/GoogleCloudContentwarehouseV1DocumentSchema parameters: - in: path name: projectsId @@ -6601,17 +6641,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:delete: + - in: path + name: documentSchemasId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/ruleSets/{ruleSetsId}: parameters: *ref_1 - post: - description: Deletes a document. Returns NOT_FOUND if the document does not exist. - operationId: contentwarehouse.projects.locations.documents.delete - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1DeleteDocumentRequest + delete: + description: Deletes a ruleset. Returns NOT_FOUND if the document does not exist. + operationId: contentwarehouse.projects.locations.ruleSets.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6636,21 +6675,13 @@ paths: schema: type: string - in: path - name: documentsId + name: ruleSetsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/linkedTargets: - parameters: *ref_1 - post: - description: Return all target document-links from the document. - operationId: contentwarehouse.projects.locations.documents.linkedTargets - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedTargetsRequest + get: + description: Gets a ruleset. Returns NOT_FOUND if the ruleset does not exist. + operationId: contentwarehouse.projects.locations.ruleSets.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6662,8 +6693,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedTargetsResponse + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' parameters: - in: path name: projectsId @@ -6676,21 +6706,21 @@ paths: schema: type: string - in: path - name: documentsId + name: ruleSetsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}/linkedSources: - parameters: *ref_1 - post: - description: Return all source document-links from the document. - operationId: contentwarehouse.projects.locations.documents.linkedSources + patch: + description: >- + Updates a ruleset. Returns INVALID_ARGUMENT if the name of the ruleset + is non-empty and does not equal the existing name. + operationId: contentwarehouse.projects.locations.ruleSets.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedSourcesRequest + #/components/schemas/GoogleCloudContentwarehouseV1UpdateRuleSetRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6702,8 +6732,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1ListLinkedSourcesResponse + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' parameters: - in: path name: projectsId @@ -6716,24 +6745,15 @@ paths: schema: type: string - in: path - name: documentsId + name: ruleSetsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:fetchAcl: + /v1/projects/{projectsId}/locations/{locationsId}/ruleSets: parameters: *ref_1 - post: - description: >- - 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. - operationId: contentwarehouse.projects.locations.documents.fetchAcl - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1FetchAclRequest + get: + description: Lists rulesets. + operationId: contentwarehouse.projects.locations.ruleSets.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6746,7 +6766,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1FetchAclResponse + #/components/schemas/GoogleCloudContentwarehouseV1ListRuleSetsResponse parameters: - in: path name: projectsId @@ -6758,22 +6778,23 @@ paths: required: true schema: type: string - - in: path - name: documentsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:get: - parameters: *ref_1 post: - description: Gets a document. Returns NOT_FOUND if the document does not exist. - operationId: contentwarehouse.projects.locations.documents.get + description: Creates a ruleset. + operationId: contentwarehouse.projects.locations.ruleSets.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1GetDocumentRequest + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6785,7 +6806,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' + $ref: '#/components/schemas/GoogleCloudContentwarehouseV1RuleSet' parameters: - in: path name: projectsId @@ -6797,22 +6818,11 @@ paths: required: true schema: type: string - - in: path - name: documentsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:lock: + /v1/projects/{projectsId}/locations/{locationsId}:getStatus: parameters: *ref_1 - post: - description: Lock the document so the document cannot be updated by other users. - operationId: contentwarehouse.projects.locations.documents.lock - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1LockDocumentRequest + get: + description: Get the project status. + operationId: contentwarehouse.projects.locations.getStatus security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6824,7 +6834,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1Document' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1ProjectStatus parameters: - in: path name: projectsId @@ -6836,22 +6847,19 @@ paths: required: true schema: type: string - - in: path - name: documentsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents: + /v1/projects/{projectsId}/locations/{locationsId}:initialize: parameters: *ref_1 post: - description: Creates a document. - operationId: contentwarehouse.projects.locations.documents.create + description: >- + Provisions resources for given tenant project. Returns a long running + operation. + operationId: contentwarehouse.projects.locations.initialize requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1CreateDocumentRequest + #/components/schemas/GoogleCloudContentwarehouseV1InitializeProjectRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6863,8 +6871,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1CreateDocumentResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6876,18 +6883,17 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:setAcl: + /v1/projects/{projectsId}/locations/{locationsId}:runPipeline: parameters: *ref_1 post: - description: >- - Sets the access control policy for a resource. Replaces any existing - policy. - operationId: contentwarehouse.projects.locations.documents.setAcl + description: Run a predefined pipeline. + operationId: contentwarehouse.projects.locations.runPipeline requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudContentwarehouseV1SetAclRequest' + $ref: >- + #/components/schemas/GoogleCloudContentwarehouseV1RunPipelineRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6899,8 +6905,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudContentwarehouseV1SetAclResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6912,8 +6917,3 @@ paths: required: true schema: type: string - - in: path - name: documentsId - required: true - schema: - type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/datacatalog.yaml b/providers/src/googleapis.com/v00.00.00000/services/datacatalog.yaml index 9b1f8894..06f8acce 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datacatalog.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datacatalog.yaml @@ -9,8 +9,8 @@ info: A fully managed and highly scalable data discovery and metadata management service. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/data-catalog/docs/ servers: @@ -408,6 +408,14 @@ components: description: Output only. Timestamps of the entry group. Default value is empty. readOnly: true $ref: '#/components/schemas/GoogleCloudDatacatalogV1SystemTimestamps' + transferredToDataplex: + description: >- + Optional. When set to [true], it means DataCatalog EntryGroup was + transferred to Dataplex Catalog Service. It makes EntryGroup and its + Entries to be read-only in DataCatalog. However, new Tags on + EntryGroup and its Entries can be created. After setting the flag to + [true] it cannot be unset. + type: boolean GoogleCloudDatacatalogV1SystemTimestamps: id: GoogleCloudDatacatalogV1SystemTimestamps description: Timestamps associated with this resource in a particular system. @@ -1852,12 +1860,18 @@ components: Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in. + - >- + TagTemplate and its tags are auto-copied to Dataplex service. + Visible in both services. Editable in Dataplex, read-only in + DataCatalog. enumDeprecated: - false - true + - false enum: - DATAPLEX_TRANSFER_STATUS_UNSPECIFIED - MIGRATED + - TRANSFERRED GoogleCloudDatacatalogV1TagTemplateField: id: GoogleCloudDatacatalogV1TagTemplateField description: The template for an individual field within a tag template. @@ -2010,6 +2024,32 @@ components: type: object additionalProperties: $ref: '#/components/schemas/GoogleCloudDatacatalogV1TagField' + dataplexTransferStatus: + description: Output only. Denotes the transfer status of the Tag Template. + readOnly: true + type: string + enumDescriptions: + - >- + Default value. TagTemplate and its tags are only visible and + editable in DataCatalog. + - >- + TagTemplate and its tags are auto-copied to Dataplex service. + Visible in both services. Editable in DataCatalog, read-only in + Dataplex. Deprecated: Individual TagTemplate migration is + deprecated in favor of organization or project wide TagTemplate + migration opt-in. + - >- + TagTemplate and its tags are auto-copied to Dataplex service. + Visible in both services. Editable in Dataplex, read-only in + DataCatalog. + enumDeprecated: + - false + - true + - false + enum: + - DATAPLEX_TRANSFER_STATUS_UNSPECIFIED + - MIGRATED + - TRANSFERRED GoogleCloudDatacatalogV1TagField: id: GoogleCloudDatacatalogV1TagField description: Contains the value and additional information on a field within a Tag. @@ -2425,6 +2465,91 @@ components: Optional. (Optional) Dataplex task job id, if specified will be used as part of ImportEntries LRO ID type: string + GoogleCloudDatacatalogV1SetConfigRequest: + id: GoogleCloudDatacatalogV1SetConfigRequest + description: Request message for SetConfig. + type: object + properties: + tagTemplateMigration: + description: Opt-in status for the migration of Tag Templates to Dataplex. + type: string + enumDescriptions: + - >- + Default value. Migration of Tag Templates from Data Catalog to + Dataplex is not performed. + - >- + Migration of Tag Templates from Data Catalog to Dataplex is + enabled. + - >- + Migration of Tag Templates from Data Catalog to Dataplex is + disabled. + enum: + - TAG_TEMPLATE_MIGRATION_UNSPECIFIED + - TAG_TEMPLATE_MIGRATION_ENABLED + - TAG_TEMPLATE_MIGRATION_DISABLED + catalogUiExperience: + description: Opt-in status for the UI switch to Dataplex. + type: string + enumDescriptions: + - Default value. The default UI is Dataplex. + - The UI is Dataplex. + - The UI is Data Catalog. + enum: + - CATALOG_UI_EXPERIENCE_UNSPECIFIED + - CATALOG_UI_EXPERIENCE_ENABLED + - CATALOG_UI_EXPERIENCE_DISABLED + GoogleCloudDatacatalogV1MigrationConfig: + id: GoogleCloudDatacatalogV1MigrationConfig + description: >- + The configuration related to the migration to Dataplex applied to an + organization or project. It is the response message for SetConfig and + RetrieveEffectiveConfig. + type: object + properties: + tagTemplateMigration: + description: Opt-in status for the migration of Tag Templates to Dataplex. + type: string + enumDescriptions: + - >- + Default value. Migration of Tag Templates from Data Catalog to + Dataplex is not performed. + - >- + Migration of Tag Templates from Data Catalog to Dataplex is + enabled. + - >- + Migration of Tag Templates from Data Catalog to Dataplex is + disabled. + enum: + - TAG_TEMPLATE_MIGRATION_UNSPECIFIED + - TAG_TEMPLATE_MIGRATION_ENABLED + - TAG_TEMPLATE_MIGRATION_DISABLED + catalogUiExperience: + description: Opt-in status for the UI switch to Dataplex. + type: string + enumDescriptions: + - Default value. The default UI is Dataplex. + - The UI is Dataplex. + - The UI is Data Catalog. + enum: + - CATALOG_UI_EXPERIENCE_UNSPECIFIED + - CATALOG_UI_EXPERIENCE_ENABLED + - CATALOG_UI_EXPERIENCE_DISABLED + GoogleCloudDatacatalogV1OrganizationConfig: + id: GoogleCloudDatacatalogV1OrganizationConfig + description: >- + The configuration related to the migration from Data Catalog to Dataplex + that has been applied to an organization and any projects under it. It + is the response message for RetrieveConfig. + type: object + properties: + config: + description: >- + Map of organizations and project resource names and their + configuration. The format for the map keys is + `organizations/{organizationId}` or `projects/{projectId}`. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1MigrationConfig' GoogleCloudDatacatalogV1Taxonomy: id: GoogleCloudDatacatalogV1Taxonomy description: >- @@ -2904,6 +3029,60 @@ components: - '1' - '2' x-stackQL-resources: + locations: + id: google.datacatalog.locations + name: locations + title: Locations + methods: + projects_locations_set_config: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:setConfig/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_set_config: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}:setConfig/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + effective_config: + id: google.datacatalog.effective_config + name: effective_config + title: Effective_config + methods: + projects_locations_retrieve_effective_config: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:retrieveEffectiveConfig/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_retrieve_effective_config: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}:retrieveEffectiveConfig/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/effective_config/methods/projects_locations_retrieve_effective_config + - $ref: >- + #/components/x-stackQL-resources/effective_config/methods/organizations_locations_retrieve_effective_config + insert: [] + update: [] + replace: [] + delete: [] operations: id: google.datacatalog.operations name: operations @@ -3637,8 +3816,28 @@ components: update: [] replace: [] delete: [] + config: + id: google.datacatalog.config + name: config + title: Config + methods: + organizations_locations_retrieve_config: + operation: + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}:retrieveConfig/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/config/methods/organizations_locations_retrieve_config + insert: [] + update: [] + replace: [] + delete: [] paths: - /v1/projects/{projectsId}/locations/{locationsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}:setConfig: parameters: &ref_1 - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/alt' @@ -3651,6 +3850,74 @@ paths: - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/_.xgafv' + post: + description: >- + Sets the configuration related to the migration to Dataplex for an + organization or project. + operationId: datacatalog.projects.locations.setConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1SetConfigRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1MigrationConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}:retrieveEffectiveConfig: + parameters: *ref_1 + get: + description: >- + Retrieves the effective configuration related to the migration from Data + Catalog to Dataplex for a specific organization or project. If there is + no specific configuration set for the resource, the setting is checked + hierarchicahlly through the ancestors of the resource, starting from the + resource itself. + operationId: datacatalog.projects.locations.retrieveEffectiveConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1MigrationConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations: + parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the @@ -6516,3 +6783,103 @@ paths: name: location schema: type: string + /v1/organizations/{organizationsId}/locations/{locationsId}:setConfig: + parameters: *ref_1 + post: + description: >- + Sets the configuration related to the migration to Dataplex for an + organization or project. + operationId: datacatalog.organizations.locations.setConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1SetConfigRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1MigrationConfig' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}:retrieveConfig: + parameters: *ref_1 + get: + description: >- + Retrieves the configuration related to the migration from Data Catalog + to Dataplex for a specific organization, including all the projects + under it which have a separate configuration set. + operationId: datacatalog.organizations.locations.retrieveConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDatacatalogV1OrganizationConfig + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}:retrieveEffectiveConfig: + parameters: *ref_1 + get: + description: >- + Retrieves the effective configuration related to the migration from Data + Catalog to Dataplex for a specific organization or project. If there is + no specific configuration set for the resource, the setting is checked + hierarchicahlly through the ancestors of the resource, starting from the + resource itself. + operationId: datacatalog.organizations.locations.retrieveEffectiveConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogV1MigrationConfig' + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/dataflow.yaml b/providers/src/googleapis.com/v00.00.00000/services/dataflow.yaml index 15e9cda5..305d450f 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dataflow.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dataflow.yaml @@ -7,8 +7,8 @@ info: title: Dataflow API description: Manages Google Cloud Dataflow projects on Google Cloud Platform. version: v1b3 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dataflow servers: @@ -1902,7 +1902,7 @@ components: type: string RuntimeEnvironment: id: RuntimeEnvironment - description: The environment values to set at runtime. LINT.IfChange + description: The environment values to set at runtime. type: object properties: numWorkers: @@ -2479,9 +2479,7 @@ components: type: string FlexTemplateRuntimeEnvironment: id: FlexTemplateRuntimeEnvironment - description: >- - The environment values to be set at runtime for flex template. - LINT.IfChange + description: The environment values to be set at runtime for flex template. type: object properties: numWorkers: @@ -5411,6 +5409,11 @@ components: type: array items: $ref: '#/components/schemas/CPUTime' + gpuUsage: + description: Optional. GPU usage samples. + type: array + items: + $ref: '#/components/schemas/GPUUsage' memoryInfo: description: Memory utilization samples. type: array @@ -5442,6 +5445,29 @@ components: previous sample. type: number format: double + GPUUsage: + id: GPUUsage + description: Information about the GPU usage on the worker. + type: object + properties: + timestamp: + description: Required. Timestamp of the measurement. + type: string + format: google-datetime + utilization: + description: Required. Utilization info about the GPU. + $ref: '#/components/schemas/GPUUtilization' + GPUUtilization: + id: GPUUtilization + description: Utilization details about the GPU. + type: object + properties: + rate: + description: >- + Required. GPU utilization rate of any kernel over the last sample + period in the range of [0, 1]. + type: number + format: double MemInfo: id: MemInfo description: >- diff --git a/providers/src/googleapis.com/v00.00.00000/services/dataform.yaml b/providers/src/googleapis.com/v00.00.00000/services/dataform.yaml index dd84759e..6f4c5e69 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dataform.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dataform.yaml @@ -9,8 +9,8 @@ info: Service to develop, version control, and operationalize SQL pipelines in BigQuery. version: v1beta1 - x-discovery-doc-revision: '20240824' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dataform/docs servers: @@ -115,7 +115,7 @@ components: will be used to encrypt user data in the repository and all child resources. It is not possible to add or update the encryption key after the repository is created. Example: - `projects/[kms_project_id]/locations/[region]/keyRings/[key_region]/cryptoKeys/[key]` + `projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}` type: string dataEncryptionState: description: >- @@ -430,6 +430,11 @@ components: name: description: Identifier. The workspace's name. type: string + createTime: + description: Output only. The timestamp of when the workspace was created. + readOnly: true + type: string + format: google-datetime dataEncryptionState: description: >- Output only. A data encryption state of a Git repository if this @@ -781,7 +786,7 @@ components: recentScheduledReleaseRecords: description: >- Output only. Records of the 10 most recent scheduled release - attempts, ordered in in descending order of `release_time`. Updated + attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule. readOnly: true @@ -1062,9 +1067,6 @@ components: notebook: description: The notebook executed by this action. $ref: '#/components/schemas/Notebook' - dataPreparation: - description: The data preparation executed by this action. - $ref: '#/components/schemas/DataPreparation' target: description: This action's identifier. Unique within the compilation result. $ref: '#/components/schemas/Target' @@ -1341,28 +1343,6 @@ components: type: array items: type: string - DataPreparation: - id: DataPreparation - description: Defines a compiled Data Preparation entity - type: object - properties: - dependencyTargets: - description: A list of actions that this action depends on. - type: array - items: - $ref: '#/components/schemas/Target' - disabled: - description: Whether this action is disabled (i.e. should not be run). - type: boolean - contents: - description: The data preparation definition, stored as a binary encoded proto. - type: string - format: byte - tags: - description: Arbitrary, user-defined tags on this action. - type: array - items: - type: string ListWorkflowConfigsResponse: id: ListWorkflowConfigsResponse description: '`ListWorkflowConfigs` response message.' @@ -1415,9 +1395,9 @@ components: recentScheduledExecutionRecords: description: >- 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. + attempts, ordered in descending order of `execution_time`. Updated + whenever automatic creation of a workflow invocation is triggered by + cron_schedule. readOnly: true type: array items: diff --git a/providers/src/googleapis.com/v00.00.00000/services/datafusion.yaml b/providers/src/googleapis.com/v00.00.00000/services/datafusion.yaml index 132dd139..19246c22 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datafusion.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datafusion.yaml @@ -15,7 +15,7 @@ info: infrastructure. version: v1 x-discovery-doc-revision: '20240703' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/data-fusion/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/datalabeling.yaml b/providers/src/googleapis.com/v00.00.00000/services/datalabeling.yaml index f64f989a..f0dff6bf 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datalabeling.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datalabeling.yaml @@ -7,8 +7,8 @@ info: title: Data Labeling API description: Public API for Google Cloud AI Data Labeling Service. version: v1beta1 - x-discovery-doc-revision: '20240807' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241018' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/data-labeling/docs/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/datalineage.yaml b/providers/src/googleapis.com/v00.00.00000/services/datalineage.yaml index 1f41eaa8..8c5ef0a6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datalineage.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datalineage.yaml @@ -7,8 +7,8 @@ info: title: Data Lineage API description: '' version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241018' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/data-catalog servers: @@ -34,97 +34,144 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudDatacatalogLineageV1SearchLinksRequest: + GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse: properties: - pageToken: + lineageEvents: + type: array description: >- - Optional. The page token received from a previous - `SearchLinksRequest` call. Use it to get the next page. When - requesting subsequent pages of a response, remember that all - parameters must match the values you provided in the original - request. + Created lineage event names. Format: + `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`. + items: + type: string + run: type: string - target: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' - description: >- - Optional. Send asset information in the **target** field to retrieve - all links that lead from upstream assets to the specified asset. - pageSize: description: >- - Optional. The maximum number of links to return in a single page of - the response. A page may contain fewer links than this value. If - unspecified, at most 10 links are returned. Maximum value is 100; - values greater than 100 are reduced to 100. - type: integer - format: int32 - source: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' + Created run name. Format: + `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. + process: description: >- - Optional. Send asset information in the **source** field to retrieve - all links that lead from the specified asset to downstream assets. - description: Request message for SearchLinks. - id: GoogleCloudDatacatalogLineageV1SearchLinksRequest + Created process name. Format: + `projects/{project}/locations/{location}/processes/{process}`. + type: string + id: GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse type: object - GoogleCloudDatacatalogLineageV1EntityReference: + description: Response message for ProcessOpenLineageRunEvent. + GoogleLongrunningCancelOperationRequest: + properties: {} type: object - id: GoogleCloudDatacatalogLineageV1EntityReference + id: GoogleLongrunningCancelOperationRequest + description: The request message for Operations.CancelOperation. + GoogleCloudDatacatalogLineageV1OperationMetadata: properties: - fullyQualifiedName: + endTime: + type: string + readOnly: true + format: google-datetime description: >- - Required. [Fully Qualified Name - (FQN)](https://cloud.google.com/data-catalog/docs/fully-qualified-names) - of the entity. + Output only. The timestamp of the operation termination, regardless + of its success. This field is unset if the operation is still + ongoing. + resourceUuid: type: string - description: The soft reference to everything you can attach a lineage event to. - GoogleCloudDatacatalogLineageV1SearchLinksResponse: - description: Response message for SearchLinks. + readOnly: true + description: Output only. The UUID of the resource being operated on. + state: + readOnly: true + type: string + enum: + - STATE_UNSPECIFIED + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + enumDescriptions: + - Unused. + - The operation has been created but is not yet started. + - The operation is underway. + - The operation completed successfully. + - The operation is no longer running and did not succeed. + description: Output only. The current operation state. + operationType: + enumDescriptions: + - Unused. + - The resource deletion operation. + - The resource creation operation. + enum: + - TYPE_UNSPECIFIED + - DELETE + - CREATE + type: string + readOnly: true + description: Output only. The type of the operation being performed. + createTime: + format: google-datetime + readOnly: true + type: string + description: >- + Output only. The timestamp of the operation submission to the + server. + resource: + type: string + description: >- + Output only. The [relative name] + (https://cloud.google.com//apis/design/resource_names#relative_resource_name) + of the resource being operated on. + readOnly: true + id: GoogleCloudDatacatalogLineageV1OperationMetadata + description: Metadata describing the operation. type: object - id: GoogleCloudDatacatalogLineageV1SearchLinksResponse + GoogleLongrunningListOperationsResponse: + description: The response message for Operations.ListOperations. + type: object + properties: + nextPageToken: + description: The standard List next-page token. + type: string + operations: + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' + type: array + description: >- + A list of operations that matches the specified filter in the + request. + id: GoogleLongrunningListOperationsResponse + GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse: properties: nextPageToken: description: >- The token to specify as `page_token` in the subsequent call to get the next page. Omitted if there are no more pages in the response. type: string - links: + processLinks: + description: An array of processes associated with the specified links. type: array - description: >- - The list of links for a given asset. Can be empty if the asset has - no relations of requested type (source or target). items: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Link' - GoogleCloudDatacatalogLineageV1Run: - id: GoogleCloudDatacatalogLineageV1Run - description: >- - A lineage run represents an execution of a process that creates lineage - events. + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1ProcessLinks' + description: Response message for BatchSearchLinkProcesses. + id: GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse type: object + GoogleCloudDatacatalogLineageV1EntityReference: properties: - displayName: - type: string - description: >- - 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 `_-:&.` - startTime: - description: Required. The timestamp of the start of the run. - format: google-datetime + fullyQualifiedName: type: string - name: description: >- - 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_-:.` - type: string + Required. [Fully Qualified Name + (FQN)](https://cloud.google.com/data-catalog/docs/fully-qualified-names) + of the entity. + description: The soft reference to everything you can attach a lineage event to. + id: GoogleCloudDatacatalogLineageV1EntityReference + type: object + GoogleCloudDatacatalogLineageV1Run: + id: GoogleCloudDatacatalogLineageV1Run + properties: attributes: + type: object description: >- 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. additionalProperties: type: any - type: object state: enumDescriptions: - >- @@ -134,137 +181,248 @@ components: - The run completed. - The run failed. - The run aborted. - description: Required. The state of the run. type: string + description: Required. The state of the run. enum: - UNKNOWN - STARTED - COMPLETED - FAILED - ABORTED - endTime: + name: + description: >- + 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_-:.` + type: string + displayName: + type: string + description: >- + 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 `_-:&.` + startTime: + format: google-datetime type: string + description: Required. The timestamp of the start of the run. + endTime: format: google-datetime + type: string description: Optional. The timestamp of the end of the run. - GoogleCloudDatacatalogLineageV1ListLineageEventsResponse: - id: GoogleCloudDatacatalogLineageV1ListLineageEventsResponse + type: object + description: >- + A lineage run represents an execution of a process that creates lineage + events. + GoogleCloudDatacatalogLineageV1EventLink: + description: A lineage between source and target entities. + type: object + id: GoogleCloudDatacatalogLineageV1EventLink properties: - nextPageToken: + target: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' + description: Required. Reference to the target entity + source: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' + description: Required. Reference to the source entity + GoogleCloudDatacatalogLineageV1Process: + properties: + displayName: + type: string description: >- - The token to specify as `page_token` in the next call to get the - next page. If this field is omitted, there are no subsequent pages. + 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 `_-:&.` + attributes: + type: object + description: >- + 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. + additionalProperties: + type: any + name: + description: >- + 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_-:.` type: string + origin: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Origin' + description: >- + Optional. The origin of this process and its runs and lineage + events. + id: GoogleCloudDatacatalogLineageV1Process + type: object + description: A process is the definition of a data transformation operation. + GoogleCloudDatacatalogLineageV1ListLineageEventsResponse: + properties: lineageEvents: - items: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1LineageEvent' description: Lineage events from the specified project and location. type: array - type: object + items: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1LineageEvent' + nextPageToken: + type: string + description: >- + The token to specify as `page_token` in the next call to get the + next page. If this field is omitted, there are no subsequent pages. description: Response message for ListLineageEvents. - GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse: + id: GoogleCloudDatacatalogLineageV1ListLineageEventsResponse + type: object + GoogleCloudDatacatalogLineageV1ProcessLinkInfo: properties: - process: + link: type: string description: >- - Created process name. Format: - `projects/{project}/locations/{location}/processes/{process}`. - lineageEvents: - type: array + The name of the link in the format of + `projects/{project}/locations/{location}/links/{link}`. + startTime: + format: google-datetime + type: string + description: The start of the first event establishing this link-process tuple. + endTime: + format: google-datetime + description: The end of the last event establishing this link-process tuple. + type: string + type: object + id: GoogleCloudDatacatalogLineageV1ProcessLinkInfo + description: Link details. + GoogleLongrunningOperation: + properties: + name: + type: string description: >- - Created lineage event names. Format: - `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`. + 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}`. + response: + description: >- + 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`. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + done: + type: boolean + description: >- + 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. + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + The error result of the operation in case of failure or + cancellation. + metadata: + description: >- + 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. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + id: GoogleLongrunningOperation + type: object + description: >- + This resource represents a long-running operation that is the result of + a network API call. + GoogleCloudDatacatalogLineageV1SearchLinksResponse: + properties: + links: + description: >- + The list of links for a given asset. Can be empty if the asset has + no relations of requested type (source or target). items: - type: string - run: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Link' + type: array + nextPageToken: description: >- - Created run name. Format: - `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. + The token to specify as `page_token` in the subsequent call to get + the next page. Omitted if there are no more pages in the response. type: string - id: GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse - description: Response message for ProcessOpenLineageRunEvent. - type: object - GoogleCloudDatacatalogLineageV1Origin: - description: Origin of a process. - id: GoogleCloudDatacatalogLineageV1Origin type: object + id: GoogleCloudDatacatalogLineageV1SearchLinksResponse + description: Response message for SearchLinks. + GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest: + description: Request message for BatchSearchLinkProcesses. properties: - sourceType: - type: string - enum: - - SOURCE_TYPE_UNSPECIFIED - - CUSTOM - - BIGQUERY - - DATA_FUSION - - COMPOSER - - LOOKER_STUDIO - - DATAPROC - - VERTEX_AI + links: + items: + type: string description: >- - Type of the source. Use of a source_type other than `CUSTOM` for - process creation or updating is highly discouraged, and may be - restricted in the future without notice. - enumDescriptions: - - Source is Unspecified - - A custom source - - BigQuery - - Data Fusion - - Composer - - Looker Studio - - Dataproc - - Vertex AI - name: + Required. An array of links to check for their associated + LineageProcesses. The maximum number of items in this array is 100. + If the request contains more than 100 links, it returns the + `INVALID_ARGUMENT` error. Format: + `projects/{project}/locations/{location}/links/{link}`. + type: array + pageSize: + format: int32 description: >- - If the source_type isn't CUSTOM, the value of this field should be a - GCP resource name of the system, which reports lineage. The project - and location parts of the resource name must match the project and - location of the lineage resource being created. Examples: - - `{source_type: COMPOSER, name: - "projects/foo/locations/us/environments/bar"}` - `{source_type: - BIGQUERY, name: "projects/foo/locations/eu"}` - `{source_type: - CUSTOM, name: "myCustomIntegration"}` + The maximum number of processes to return in a single page of the + response. A page may contain fewer results than this value. + type: integer + pageToken: type: string - GoogleCloudDatacatalogLineageV1ProcessLinkInfo: + description: >- + The page token received from a previous `BatchSearchLinkProcesses` + call. Use it to get the next page. When requesting subsequent pages + of a response, remember that all parameters must match the values + you provided in the original request. + type: object + id: GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest + GoogleCloudDatacatalogLineageV1ListRunsResponse: + description: Response message for ListRuns. type: object - description: Link details. properties: - startTime: - description: The start of the first event establishing this link-process tuple. - type: string - format: google-datetime - endTime: - format: google-datetime - type: string - description: The end of the last event establishing this link-process tuple. - link: - type: string + runs: + type: array + description: The runs from the specified project and location. + items: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Run' + nextPageToken: description: >- - The name of the link in the format of - `projects/{project}/locations/{location}/links/{link}`. - id: GoogleCloudDatacatalogLineageV1ProcessLinkInfo + The token to specify as `page_token` in the next call to get the + next page. If this field is omitted, there are no subsequent pages. + type: string + id: GoogleCloudDatacatalogLineageV1ListRunsResponse GoogleRpcStatus: id: GoogleRpcStatus + type: object properties: - message: - type: string - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. details: items: type: object additionalProperties: type: any description: Properties of the object. Contains field @type with type URL. - type: array description: >- A list of messages that carry the error details. There is a common set of message types for APIs to use. + type: array code: description: The status code, which should be an enum value of google.rpc.Code. - format: int32 type: integer - type: object + format: int32 + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string description: >- The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It @@ -273,26 +431,50 @@ components: 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). - GoogleCloudDatacatalogLineageV1ProcessLinks: - description: Links associated with a specific process. - type: object + GoogleCloudDatacatalogLineageV1ListProcessesResponse: + description: Response message for ListProcesses. + id: GoogleCloudDatacatalogLineageV1ListProcessesResponse properties: - links: + processes: + items: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' + description: The processes from the specified project and location. type: array + nextPageToken: description: >- - An array containing link details objects of the links provided in - the original request. A single process can result in creating - multiple links. If any of the links you provide in the request are - created by the same process, they all are included in this array. - items: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1ProcessLinkInfo - process: + The token to specify as `page_token` in the next call to get the + next page. If this field is omitted, there are no subsequent pages. + type: string + type: object + GoogleCloudDatacatalogLineageV1Link: + type: object + id: GoogleCloudDatacatalogLineageV1Link + properties: + startTime: + format: google-datetime + description: The start of the first event establishing this link. + type: string + endTime: + description: The end of the last event establishing this link. + format: google-datetime + type: string + target: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' + description: The pointer to the entity that is the **target** of this link. + name: type: string + readOnly: true description: >- - The process name in the format of - `projects/{project}/locations/{location}/processes/{process}`. - id: GoogleCloudDatacatalogLineageV1ProcessLinks + Output only. Immutable. The name of the link. Format: + `projects/{project}/locations/{location}/links/{link}`. + source: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' + description: The pointer to the entity that is the **source** of this link. + description: >- + Links represent the data flow between **source** (upstream) and + **target** (downstream) assets in transformation pipelines. Links are + created when LineageEvents record data transformation between related + assets. GoogleProtobufEmpty: properties: {} description: >- @@ -302,322 +484,135 @@ components: { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } id: GoogleProtobufEmpty type: object - GoogleCloudDatacatalogLineageV1Process: - description: A process is the definition of a data transformation operation. + GoogleCloudDatacatalogLineageV1Origin: type: object + id: GoogleCloudDatacatalogLineageV1Origin properties: name: description: >- - 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_-:.` - type: string - attributes: - additionalProperties: - type: any - description: >- - 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. - type: object - displayName: - description: >- - 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 `_-:&.` + If the source_type isn't CUSTOM, the value of this field should be a + GCP resource name of the system, which reports lineage. The project + and location parts of the resource name must match the project and + location of the lineage resource being created. Examples: - + `{source_type: COMPOSER, name: + "projects/foo/locations/us/environments/bar"}` - `{source_type: + BIGQUERY, name: "projects/foo/locations/eu"}` - `{source_type: + CUSTOM, name: "myCustomIntegration"}` type: string - origin: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Origin' - description: >- - Optional. The origin of this process and its runs and lineage - events. - id: GoogleCloudDatacatalogLineageV1Process - GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse: - id: GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse - properties: - processLinks: - items: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1ProcessLinks' - type: array - description: An array of processes associated with the specified links. - nextPageToken: + sourceType: description: >- - The token to specify as `page_token` in the subsequent call to get - the next page. Omitted if there are no more pages in the response. - type: string - description: Response message for BatchSearchLinkProcesses. - type: object - GoogleLongrunningListOperationsResponse: - description: The response message for Operations.ListOperations. - properties: - nextPageToken: + Type of the source. Use of a source_type other than `CUSTOM` for + process creation or updating is highly discouraged. It may cause + additional billing costs and be restricted in the future without + notice. type: string - description: The standard List next-page token. - operations: - description: >- - A list of operations that matches the specified filter in the - request. - items: - $ref: '#/components/schemas/GoogleLongrunningOperation' - type: array - id: GoogleLongrunningListOperationsResponse + enum: + - SOURCE_TYPE_UNSPECIFIED + - CUSTOM + - BIGQUERY + - DATA_FUSION + - COMPOSER + - LOOKER_STUDIO + - DATAPROC + - VERTEX_AI + enumDescriptions: + - Source is Unspecified + - A custom source + - BigQuery + - Data Fusion + - Composer + - Looker Studio + - Dataproc + - Vertex AI + description: Origin of a process. + GoogleCloudDatacatalogLineageV1ProcessLinks: type: object - GoogleCloudDatacatalogLineageV1ListProcessesResponse: - id: GoogleCloudDatacatalogLineageV1ListProcessesResponse + description: Links associated with a specific process. + id: GoogleCloudDatacatalogLineageV1ProcessLinks properties: - nextPageToken: - description: >- - The token to specify as `page_token` in the next call to get the - next page. If this field is omitted, there are no subsequent pages. + process: type: string - processes: - description: The processes from the specified project and location. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' - description: Response message for ListProcesses. - type: object - GoogleCloudDatacatalogLineageV1EventLink: - type: object - properties: - target: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' - description: Required. Reference to the target entity - source: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' - description: Required. Reference to the source entity - description: A lineage between source and target entities. - id: GoogleCloudDatacatalogLineageV1EventLink - GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest: - properties: - pageSize: - type: integer - format: int32 description: >- - The maximum number of processes to return in a single page of the - response. A page may contain fewer results than this value. + The process name in the format of + `projects/{project}/locations/{location}/processes/{process}`. links: items: - type: string - type: array - description: >- - Required. An array of links to check for their associated - LineageProcesses. The maximum number of items in this array is 100. - If the request contains more than 100 links, it returns the - `INVALID_ARGUMENT` error. Format: - `projects/{project}/locations/{location}/links/{link}`. - pageToken: - type: string - description: >- - The page token received from a previous `BatchSearchLinkProcesses` - call. Use it to get the next page. When requesting subsequent pages - of a response, remember that all parameters must match the values - you provided in the original request. - type: object - description: Request message for BatchSearchLinkProcesses. - id: GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest - GoogleLongrunningCancelOperationRequest: - type: object - id: GoogleLongrunningCancelOperationRequest - description: The request message for Operations.CancelOperation. - properties: {} - GoogleCloudDatacatalogLineageV1Link: - type: object - id: GoogleCloudDatacatalogLineageV1Link - description: >- - Links represent the data flow between **source** (upstream) and - **target** (downstream) assets in transformation pipelines. Links are - created when LineageEvents record data transformation between related - assets. - properties: - name: - readOnly: true - type: string + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1ProcessLinkInfo description: >- - Output only. Immutable. The name of the link. Format: - `projects/{project}/locations/{location}/links/{link}`. - startTime: - type: string - description: The start of the first event establishing this link. - format: google-datetime - source: - description: The pointer to the entity that is the **source** of this link. - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' - target: - description: The pointer to the entity that is the **target** of this link. - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' - endTime: - format: google-datetime - type: string - description: The end of the last event establishing this link. + An array containing link details objects of the links provided in + the original request. A single process can result in creating + multiple links. If any of the links you provide in the request are + created by the same process, they all are included in this array. + type: array GoogleCloudDatacatalogLineageV1LineageEvent: - id: GoogleCloudDatacatalogLineageV1LineageEvent - description: >- - A lineage event represents an operation on assets. Within the operation, - the data flows from the source to the target defined in the links field. type: object properties: startTime: + format: google-datetime type: string description: >- 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. - format: google-datetime - name: - description: >- - 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_-:.` - type: string - endTime: - format: google-datetime - type: string - description: >- - 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. links: - description: >- - Optional. List of source-target pairs. Can't contain more than 100 - tuples. type: array items: $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EventLink' - GoogleCloudDatacatalogLineageV1OperationMetadata: - properties: - operationType: - description: Output only. The type of the operation being performed. - enum: - - TYPE_UNSPECIFIED - - DELETE - - CREATE - readOnly: true - type: string - enumDescriptions: - - Unused. - - The resource deletion operation. - - The resource creation operation. - resource: - readOnly: true - type: string description: >- - Output only. The [relative name] - (https://cloud.google.com//apis/design/resource_names#relative_resource_name) - of the resource being operated on. - endTime: - format: google-datetime - description: >- - Output only. The timestamp of the operation termination, regardless - of its success. This field is unset if the operation is still - ongoing. - readOnly: true - type: string - state: - description: Output only. The current operation state. - enumDescriptions: - - Unused. - - The operation has been created but is not yet started. - - The operation is underway. - - The operation completed successfully. - - The operation is no longer running and did not succeed. - readOnly: true - enum: - - STATE_UNSPECIFIED - - PENDING - - RUNNING - - SUCCEEDED - - FAILED - type: string - createTime: - type: string - readOnly: true - format: google-datetime - description: >- - Output only. The timestamp of the operation submission to the - server. - resourceUuid: - type: string - readOnly: true - description: Output only. The UUID of the resource being operated on. - type: object - description: Metadata describing the operation. - id: GoogleCloudDatacatalogLineageV1OperationMetadata - GoogleCloudDatacatalogLineageV1ListRunsResponse: - properties: - nextPageToken: - type: string - description: >- - The token to specify as `page_token` in the next call to get the - next page. If this field is omitted, there are no subsequent pages. - runs: - type: array - description: The runs from the specified project and location. - items: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Run' - type: object - description: Response message for ListRuns. - id: GoogleCloudDatacatalogLineageV1ListRunsResponse - GoogleLongrunningOperation: - id: GoogleLongrunningOperation - properties: - name: + Optional. List of source-target pairs. Can't contain more than 100 + tuples. + endTime: + format: google-datetime + description: >- + 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. type: string + name: description: >- - 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}`. - metadata: - type: object + 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_-:.` + type: string + description: >- + A lineage event represents an operation on assets. Within the operation, + the data flows from the source to the target defined in the links field. + id: GoogleCloudDatacatalogLineageV1LineageEvent + GoogleCloudDatacatalogLineageV1SearchLinksRequest: + description: Request message for SearchLinks. + properties: + target: description: >- - 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. - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - response: - type: object + Optional. Send asset information in the **target** field to retrieve + all links that lead from upstream assets to the specified asset. + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' + pageToken: description: >- - 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`. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - error: + Optional. The page token received from a previous + `SearchLinksRequest` call. Use it to get the next page. When + requesting subsequent pages of a response, remember that all + parameters must match the values you provided in the original + request. + type: string + source: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1EntityReference' description: >- - The error result of the operation in case of failure or - cancellation. - $ref: '#/components/schemas/GoogleRpcStatus' - done: - type: boolean + Optional. Send asset information in the **source** field to retrieve + all links that lead from the specified asset to downstream assets. + pageSize: description: >- - 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. - description: >- - This resource represents a long-running operation that is the result of - a network API call. + Optional. The maximum number of links to return in a single page of + the response. A page may contain fewer links than this value. If + unspecified, at most 10 links are returned. Maximum value is 100; + values greater than 100 are reduced to 100. + type: integer + format: int32 + id: GoogleCloudDatacatalogLineageV1SearchLinksRequest type: object parameters: - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean _.xgafv: description: V1 error format. in: query @@ -627,10 +622,16 @@ components: enum: - '1' - '2' - oauth_token: - description: OAuth 2.0 token for the current user. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: oauth_token + name: prettyPrint + schema: + type: boolean + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields schema: type: string key: @@ -642,22 +643,18 @@ components: name: key schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: upload_protocol + name: oauth_token schema: type: string - alt: - description: Data format for response. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: alt + name: uploadType schema: type: string - enum: - - json - - media - - proto quotaUser: description: >- Available to use for quota purposes for server-side applications. Can be @@ -667,142 +664,126 @@ components: name: quotaUser schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: uploadType + name: upload_protocol schema: type: string - access_token: - description: OAuth access token. + alt: + description: Data format for response. in: query - name: access_token + name: alt schema: type: string + enum: + - json + - media + - proto callback: description: JSONP in: query name: callback schema: type: string - fields: - description: Selector specifying which fields to include in a partial response. + access_token: + description: OAuth access token. in: query - name: fields + name: access_token schema: type: string x-stackQL-resources: - operations: - id: google.datalineage.operations - name: operations - title: Operations + locations: + id: google.datalineage.locations + name: locations + title: Locations methods: - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - get: + batch_search_link_processes: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:batchSearchLinkProcesses/post response: mediaType: application/json openAPIDocKey: '200' - cancel: + search_links: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:searchLinks/post response: mediaType: application/json openAPIDocKey: '200' - list: + process_open_lineage_run_event: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:processOpenLineageRunEvent/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - - $ref: '#/components/x-stackQL-resources/operations/methods/list' + select: [] insert: [] update: [] replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/operations/methods/delete' - processes: - id: google.datalineage.processes - name: processes - title: Processes + delete: [] + operations: + id: google.datalineage.operations + name: operations + title: Operations methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete response: mediaType: application/json openAPIDocKey: '200' - create: + cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.processes + objectKey: $.operations sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/processes/methods/get' - - $ref: '#/components/x-stackQL-resources/processes/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/processes/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/processes/methods/patch' + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' + insert: [] + update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/processes/methods/delete' + - $ref: '#/components/x-stackQL-resources/operations/methods/delete' lineage_events: id: google.datalineage.lineage_events name: lineage_events title: Lineage_events methods: - delete: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}~1lineageEvents~1{lineageEventsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}~1lineageEvents~1{lineageEventsId}/get response: mediaType: application/json openAPIDocKey: '200' - get: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}~1lineageEvents~1{lineageEventsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}~1lineageEvents~1{lineageEventsId}/delete response: mediaType: application/json openAPIDocKey: '200' @@ -851,6 +832,20 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.runs + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' patch: operation: $ref: >- @@ -858,118 +853,101 @@ components: response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/runs/methods/get' + - $ref: '#/components/x-stackQL-resources/runs/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/runs/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/runs/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/runs/methods/delete' + processes: + id: google.datalineage.processes + name: processes + title: Processes + methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}/get response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}~1runs~1{runsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/runs/methods/get' - - $ref: '#/components/x-stackQL-resources/runs/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/runs/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/runs/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/runs/methods/delete' - locations: - id: google.datalineage.locations - name: locations - title: Locations - methods: - process_open_lineage_run_event: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:processOpenLineageRunEvent/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes~1{processesId}/patch response: mediaType: application/json openAPIDocKey: '200' - search_links: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:searchLinks/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes/get response: mediaType: application/json openAPIDocKey: '200' - batch_search_link_processes: + objectKey: $.processes + create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:batchSearchLinkProcesses/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processes/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: [] - update: [] + select: + - $ref: '#/components/x-stackQL-resources/processes/methods/get' + - $ref: '#/components/x-stackQL-resources/processes/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/processes/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/processes/methods/patch' replace: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/processes/methods/delete' paths: - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}:batchSearchLinkProcesses: parameters: &ref_1 - - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/fields' - delete: - description: >- - 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`. - operationId: datalineage.projects.locations.operations.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: operationsId - required: true - schema: - type: string - get: + - $ref: '#/components/parameters/access_token' + post: description: >- - 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. - operationId: datalineage.projects.locations.operations.get + Retrieve information about LineageProcesses associated with specific + links. LineageProcesses are transformation pipelines that result in data + flowing from **source** to **target** assets. Links between assets + represent this operation. If you have specific link names, you can use + this method to verify which LineageProcesses contribute to creating + those links. See the SearchLinks method for more information on how to + retrieve link name. You can retrieve the LineageProcess information in + every project where you have the `datalineage.events.get` permission. + The project provided in the URL is used for Billing and Quota. + operationId: datalineage.projects.locations.batchSearchLinkProcesses + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -981,7 +959,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse parameters: - in: path name: projectsId @@ -993,30 +972,23 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}:searchLinks: parameters: *ref_1 post: description: >- - 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`. - operationId: datalineage.projects.locations.operations.cancel + Retrieve a list of links connected to a specific asset. Links represent + the data flow between **source** (upstream) and **target** (downstream) + assets in transformation pipelines. Links are stored in the same project + as the Lineage Events that create them. You can retrieve links in every + project where you have the `datalineage.events.get` permission. The + project provided in the URL is used for Billing and Quota. + operationId: datalineage.projects.locations.searchLinks requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningCancelOperationRequest' + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1SearchLinksRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1028,7 +1000,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1SearchLinksResponse parameters: - in: path name: projectsId @@ -1040,18 +1013,15 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}:processOpenLineageRunEvent: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: datalineage.projects.locations.operations.list + Creates new lineage events together with their parents: process and run. + Updates the process and run if they already exist. Mapped from Open + Lineage specification: + https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json. + operationId: datalineage.projects.locations.processOpenLineageRunEvent security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1063,7 +1033,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse parameters: - in: path name: projectsId @@ -1076,54 +1047,17 @@ paths: schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + name: requestId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: parameters: *ref_1 get: - description: Gets the details of the specified process. - operationId: datalineage.projects.locations.processes.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: processesId - required: true - schema: - type: string - delete: - description: Deletes the process with the specified name. - operationId: datalineage.projects.locations.processes.delete + description: >- + 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. + operationId: datalineage.projects.locations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1148,22 +1082,17 @@ paths: schema: type: string - in: path - name: processesId + name: operationsId required: true schema: type: string - - in: query - name: allowMissing - schema: - type: boolean - patch: - description: Updates a process. - operationId: datalineage.projects.locations.processes.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' + delete: + description: >- + 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`. + operationId: datalineage.projects.locations.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1175,7 +1104,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -1188,29 +1117,29 @@ paths: schema: type: string - in: path - name: processesId + name: operationsId required: true schema: type: string - - in: query - name: allowMissing - schema: - type: boolean - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/processes: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: parameters: *ref_1 - post: - description: Creates a new process. - operationId: datalineage.projects.locations.processes.create + post: + description: >- + 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`. + operationId: datalineage.projects.locations.operations.cancel requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' + $ref: '#/components/schemas/GoogleLongrunningCancelOperationRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1222,7 +1151,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -1234,15 +1163,18 @@ paths: required: true schema: type: string - - in: query - name: requestId + - in: path + name: operationsId + required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations: + parameters: *ref_1 get: description: >- - List processes in the given project and location. List order is - descending by insertion time. - operationId: datalineage.projects.locations.processes.list + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: datalineage.projects.locations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1254,8 +1186,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1ListProcessesResponse + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path name: projectsId @@ -1271,6 +1202,10 @@ paths: name: pageToken schema: type: string + - in: query + name: filter + schema: + type: string - in: query name: pageSize schema: @@ -1278,9 +1213,9 @@ paths: format: int32 /v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents/{lineageEventsId}: parameters: *ref_1 - delete: - description: Deletes the lineage event with the specified name. - operationId: datalineage.projects.locations.processes.runs.lineageEvents.delete + get: + description: Gets details of a specified lineage event. + operationId: datalineage.projects.locations.processes.runs.lineageEvents.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1292,7 +1227,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudDatacatalogLineageV1LineageEvent parameters: - in: path name: projectsId @@ -1319,13 +1255,9 @@ paths: required: true schema: type: string - - in: query - name: allowMissing - schema: - type: boolean - get: - description: Gets details of a specified lineage event. - operationId: datalineage.projects.locations.processes.runs.lineageEvents.get + delete: + description: Deletes the lineage event with the specified name. + operationId: datalineage.projects.locations.processes.runs.lineageEvents.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1337,8 +1269,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1LineageEvent + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -1365,6 +1296,10 @@ paths: required: true schema: type: string + - in: query + name: allowMissing + schema: + type: boolean /v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents: parameters: *ref_1 get: @@ -1406,15 +1341,15 @@ paths: required: true schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string post: description: Creates a new lineage event. operationId: datalineage.projects.locations.processes.runs.lineageEvents.create @@ -1548,6 +1483,82 @@ paths: type: string /v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}: parameters: *ref_1 + delete: + description: Deletes the run with the specified name. + operationId: datalineage.projects.locations.processes.runs.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: processesId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean + get: + description: Gets the details of the specified run. + operationId: datalineage.projects.locations.processes.runs.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Run' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: processesId + required: true + schema: + type: string + - in: path + name: runsId + required: true + schema: + type: string patch: description: Updates a run. operationId: datalineage.projects.locations.processes.runs.patch @@ -1598,9 +1609,11 @@ paths: schema: type: string format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}: + parameters: *ref_1 get: - description: Gets the details of the specified run. - operationId: datalineage.projects.locations.processes.runs.get + description: Gets the details of the specified process. + operationId: datalineage.projects.locations.processes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1612,7 +1625,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Run' + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' parameters: - in: path name: projectsId @@ -1629,14 +1642,9 @@ paths: required: true schema: type: string - - in: path - name: runsId - required: true - schema: - type: string delete: - description: Deletes the run with the specified name. - operationId: datalineage.projects.locations.processes.runs.delete + description: Deletes the process with the specified name. + operationId: datalineage.projects.locations.processes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1665,24 +1673,18 @@ paths: required: true schema: type: string - - in: path - name: runsId - required: true - schema: - type: string - in: query name: allowMissing schema: type: boolean - /v1/projects/{projectsId}/locations/{locationsId}:processOpenLineageRunEvent: - parameters: *ref_1 - post: - description: >- - Creates new lineage events together with their parents: process and run. - Updates the process and run if they already exist. Mapped from Open - Lineage specification: - https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json. - operationId: datalineage.projects.locations.processOpenLineageRunEvent + patch: + description: Updates a process. + operationId: datalineage.projects.locations.processes.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1694,8 +1696,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' parameters: - in: path name: projectsId @@ -1707,27 +1708,27 @@ paths: required: true schema: type: string + - in: path + name: processesId + required: true + schema: + type: string - in: query - name: requestId + name: allowMissing + schema: + type: boolean + - in: query + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:searchLinks: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/processes: parameters: *ref_1 - post: + get: description: >- - Retrieve a list of links connected to a specific asset. Links represent - the data flow between **source** (upstream) and **target** (downstream) - assets in transformation pipelines. Links are stored in the same project - as the Lineage Events that create them. You can retrieve links in every - project where you have the `datalineage.events.get` permission. The - project provided in the URL is used for Billing and Quota. - operationId: datalineage.projects.locations.searchLinks - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1SearchLinksRequest + List processes in the given project and location. List order is + descending by insertion time. + operationId: datalineage.projects.locations.processes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1740,7 +1741,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1SearchLinksResponse + #/components/schemas/GoogleCloudDatacatalogLineageV1ListProcessesResponse parameters: - in: path name: projectsId @@ -1752,26 +1753,23 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:batchSearchLinkProcesses: - parameters: *ref_1 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string post: - description: >- - Retrieve information about LineageProcesses associated with specific - links. LineageProcesses are transformation pipelines that result in data - flowing from **source** to **target** assets. Links between assets - represent this operation. If you have specific link names, you can use - this method to verify which LineageProcesses contribute to creating - those links. See the SearchLinks method for more information on how to - retrieve link name. You can retrieve the LineageProcess information in - every project where you have the `datalineage.events.get` permission. - The project provided in the URL is used for Billing and Quota. - operationId: datalineage.projects.locations.batchSearchLinkProcesses + description: Creates a new process. + operationId: datalineage.projects.locations.processes.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1783,8 +1781,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse + $ref: '#/components/schemas/GoogleCloudDatacatalogLineageV1Process' parameters: - in: path name: projectsId @@ -1796,3 +1793,7 @@ paths: required: true schema: type: string + - in: query + name: requestId + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/datamigration.yaml b/providers/src/googleapis.com/v00.00.00000/services/datamigration.yaml index b8eef016..39ba6471 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datamigration.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datamigration.yaml @@ -7,8 +7,8 @@ info: title: Database Migration API description: Manage Cloud Database Migration Service resources on Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240907' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241026' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/database-migration/ servers: @@ -374,6 +374,11 @@ components: - DUMP_TYPE_UNSPECIFIED - LOGICAL - PHYSICAL + oracleToPostgresConfig: + description: >- + Configuration for heterogeneous **Oracle to Cloud SQL for + PostgreSQL** and **Oracle to AlloyDB for PostgreSQL** migrations. + $ref: '#/components/schemas/OracleToPostgresConfig' DumpFlags: id: DumpFlags description: Dump flags definition. @@ -576,6 +581,98 @@ components: pvkPassword: description: Required. Input only. Private key password. type: string + OracleToPostgresConfig: + id: OracleToPostgresConfig + description: >- + Configuration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** + and **Oracle to AlloyDB for PostgreSQL** migrations. + type: object + properties: + oracleSourceConfig: + description: Optional. Configuration for Oracle source. + $ref: '#/components/schemas/OracleSourceConfig' + postgresDestinationConfig: + description: Optional. Configuration for Postgres destination. + $ref: '#/components/schemas/PostgresDestinationConfig' + OracleSourceConfig: + id: OracleSourceConfig + description: Configuration for Oracle as a source in a migration. + type: object + properties: + maxConcurrentFullDumpConnections: + description: >- + Optional. Maximum number of connections Database Migration Service + will open to the source for full dump phase. + type: integer + format: int32 + maxConcurrentCdcConnections: + description: >- + Optional. Maximum number of connections Database Migration Service + will open to the source for CDC phase. + type: integer + format: int32 + skipFullDump: + description: Optional. Whether to skip full dump or not. + type: boolean + cdcStartPosition: + description: >- + Optional. The schema change number (SCN) to start CDC data migration + from. + type: string + format: int64 + logMiner: + description: Use LogMiner. + $ref: '#/components/schemas/LogMiner' + binaryLogParser: + description: Use Binary Log Parser. + $ref: '#/components/schemas/BinaryLogParser' + LogMiner: + id: LogMiner + description: Configuration to use LogMiner CDC method. + type: object + properties: {} + BinaryLogParser: + id: BinaryLogParser + description: Configuration to use Binary Log Parser CDC technique. + type: object + properties: + oracleAsmLogFileAccess: + description: Use Oracle ASM. + $ref: '#/components/schemas/OracleAsmLogFileAccess' + logFileDirectories: + description: Use Oracle directories. + $ref: '#/components/schemas/LogFileDirectories' + OracleAsmLogFileAccess: + id: OracleAsmLogFileAccess + description: Configuration to use Oracle ASM to access the log files. + type: object + properties: {} + LogFileDirectories: + id: LogFileDirectories + description: Configuration to specify the Oracle directories to access the log files. + type: object + properties: + onlineLogDirectory: + description: Required. Oracle directory for online logs. + type: string + archivedLogDirectory: + description: Required. Oracle directory for archived logs. + type: string + PostgresDestinationConfig: + id: PostgresDestinationConfig + description: Configuration for Postgres as a destination in a migration. + type: object + properties: + maxConcurrentConnections: + description: >- + Optional. Maximum number of connections Database Migration Service + will open to the destination for data migration. + type: integer + format: int32 + transactionTimeout: + description: Optional. Timeout for data migration transactions. + type: string + format: google-duration StartMigrationJobRequest: id: StartMigrationJobRequest description: Request message for 'StartMigrationJob' request. @@ -797,6 +894,17 @@ components: displayName: description: The connection profile display name. type: string + role: + description: Optional. The connection profile role. + type: string + enumDescriptions: + - The role is unspecified. + - The role is source. + - The role is destination. + enum: + - ROLE_UNSPECIFIED + - SOURCE + - DESTINATION mysql: description: A MySQL database connection profile. $ref: '#/components/schemas/MySqlConnectionProfile' @@ -886,9 +994,8 @@ components: properties: type: description: >- - Output only. The ssl config type according to 'client_key', + Optional. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'. - readOnly: true type: string enumDescriptions: - Unspecified. @@ -896,10 +1003,16 @@ components: - >- Both server ('ca_certificate'), and client ('client_key', 'client_certificate') specified. + - >- + Mandates SSL encryption for all connections. This doesn’t require + certificate verification. + - Connection is not encrypted. enum: - SSL_TYPE_UNSPECIFIED - SERVER_ONLY - SERVER_CLIENT + - REQUIRED + - NONE clientKey: description: >- Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key @@ -1232,7 +1345,9 @@ components: type: object properties: databaseVersion: - description: The database engine type and version. + description: >- + The database engine type and version. Deprecated. Use + database_version_name instead. type: string enumDescriptions: - Unspecified version. @@ -1310,6 +1425,9 @@ components: - POSTGRES_14 - POSTGRES_15 - POSTGRES_16 + databaseVersionName: + description: Optional. The database engine type and version name. + type: string userLabels: description: >- The resource labels for a Cloud SQL instance to use to annotate any @@ -1651,6 +1769,17 @@ components: connection endpoint for an end-user application. readOnly: true type: string + instanceNetworkConfig: + description: Optional. Metadata related to instance level network configuration. + $ref: '#/components/schemas/InstanceNetworkConfig' + outboundPublicIpAddresses: + description: >- + Output only. All outbound public IP addresses configured for the + instance. + readOnly: true + type: array + items: + type: string MachineConfig: id: MachineConfig description: MachineConfig describes the configuration of a machine. @@ -1660,6 +1789,34 @@ components: description: The number of CPU's in the VM instance. type: integer format: int32 + InstanceNetworkConfig: + id: InstanceNetworkConfig + description: Metadata related to instance level network configuration. + type: object + properties: + authorizedExternalNetworks: + description: >- + Optional. A list of external network authorized to access this + instance. + type: array + items: + $ref: '#/components/schemas/AuthorizedNetwork' + enablePublicIp: + description: Optional. Enabling public ip for the instance. + type: boolean + enableOutboundPublicIp: + description: >- + Optional. Enabling an outbound public IP address to support a + database server sending requests out into the internet. + type: boolean + AuthorizedNetwork: + id: AuthorizedNetwork + description: AuthorizedNetwork contains metadata for an authorized network. + type: object + properties: + cidrRange: + description: Optional. CIDR range for one authorzied network of the instance. + type: string EncryptionConfig: id: EncryptionConfig description: >- diff --git a/providers/src/googleapis.com/v00.00.00000/services/datapipelines.yaml b/providers/src/googleapis.com/v00.00.00000/services/datapipelines.yaml index df0ba7c0..77cdd927 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datapipelines.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datapipelines.yaml @@ -9,8 +9,8 @@ info: Data Pipelines provides an interface for creating, updating, and managing recurring Data Analytics jobs. version: v1 - x-discovery-doc-revision: '20240901' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dataflow/docs/guides/data-pipelines servers: @@ -36,240 +36,118 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudDatapipelinesV1ListJobsResponse: + GoogleCloudDatapipelinesV1Workload: + id: GoogleCloudDatapipelinesV1Workload type: object properties: - nextPageToken: + dataflowLaunchTemplateRequest: + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1LaunchTemplateRequest' description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - type: string - jobs: - type: array - items: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Job' + Template information and additional parameters needed to launch a + Dataflow job using the standard launch API. + dataflowFlexTemplateRequest: + $ref: >- + #/components/schemas/GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest description: >- - Results that were accessible to the caller. Results are always in - descending order of job creation date. - id: GoogleCloudDatapipelinesV1ListJobsResponse - description: Response message for ListJobs - GoogleCloudDatapipelinesV1LaunchTemplateParameters: + Template information and additional parameters needed to launch a + Dataflow job using the flex launch API. + description: Workload details for creating the pipeline jobs. + GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest: + id: GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest + type: object + description: A request to launch a Dataflow job from a Flex Template. properties: - update: + validateOnly: type: boolean description: >- - If set, replace the existing pipeline with the name specified by - jobName with this pipeline, preserving state. - environment: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1RuntimeEnvironment' - description: The runtime environment for the job. - parameters: - description: The runtime parameters to pass to the job. - additionalProperties: - type: string - type: object - jobName: - description: Required. The job name to use for the created job. - type: string - transformNameMapping: + If true, the request is validated but not actually executed. + Defaults to false. + location: description: >- - Map of transform name prefixes of the job to be replaced to the - corresponding name prefixes of the new job. Only applicable when - updating a pipeline. - additionalProperties: - type: string - type: object - type: object - id: GoogleCloudDatapipelinesV1LaunchTemplateParameters - description: Parameters to provide to the template being launched. - GoogleRpcStatus: - type: object - id: GoogleRpcStatus - description: >- - 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). - properties: - message: + Required. The [regional endpoint] + (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) + to which to direct the request. For example, `us-central1`, + `us-west1`. + type: string + launchParameter: + $ref: >- + #/components/schemas/GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter + description: Required. Parameter to launch a job from a Flex Template. + projectId: type: string description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - details: - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - type: array - code: - format: int32 - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - GoogleProtobufEmpty: - type: object - properties: {} - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: GoogleProtobufEmpty - GoogleCloudDatapipelinesV1RuntimeEnvironment: + Required. The ID of the Cloud Platform project that the job belongs + to. + GoogleCloudDatapipelinesV1LaunchTemplateRequest: properties: - workerZone: + projectId: description: >- - The Compute Engine zone - (https://cloud.google.com/compute/docs/regions-zones/regions-zones) - in which worker processing should occur, e.g. "us-west1-a". Mutually - exclusive with worker_region. If neither worker_region nor - worker_zone is specified, a zone in the control plane's region is - chosen based on available capacity. If both `worker_zone` and `zone` - are set, `worker_zone` takes precedence. + Required. The ID of the Cloud Platform project that the job belongs + to. type: string - maxWorkers: - description: >- - The maximum number of Compute Engine instances to be made available - to your pipeline during execution, from 1 to 1000. - type: integer - format: int32 - enableStreamingEngine: - description: Whether to enable Streaming Engine for the job. - type: boolean - machineType: + location: description: >- - The machine type to use for the job. Defaults to the value from the - template if not specified. + The [regional endpoint] + (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) + to which to direct the request. type: string - additionalExperiments: - description: Additional experiment flags for the job. - items: - type: string - type: array - zone: + gcsPath: type: string description: >- - The Compute Engine [availability - zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) - for launching worker instances to run your pipeline. In the future, - worker_zone will take precedence. - bypassTempDirValidation: - description: >- - Whether to bypass the safety checks for the job's temporary - directory. Use with caution. + A Cloud Storage path to the template from which to create the job. + Must be a valid Cloud Storage URL, beginning with 'gs://'. + validateOnly: type: boolean - kmsKeyName: - type: string - description: >- - Name for the Cloud KMS key for the job. The key format is: - projects//locations//keyRings//cryptoKeys/ - additionalUserLabels: - type: object - additionalProperties: - type: string - description: >- - Additional user labels to be specified for the job. Keys and values - should follow the restrictions specified in the [labeling - restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) - page. An object containing a list of key/value pairs. Example: { - "name": "wrench", "mass": "1kg", "count": "3" }. - ipConfiguration: - enumDescriptions: - - The configuration is unknown, or unspecified. - - Workers should have public IP addresses. - - Workers should have private IP addresses. - type: string - description: Configuration for VM IPs. - enum: - - WORKER_IP_UNSPECIFIED - - WORKER_IP_PUBLIC - - WORKER_IP_PRIVATE - tempLocation: - type: string - description: >- - The Cloud Storage path to use for temporary files. Must be a valid - Cloud Storage URL, beginning with `gs://`. - numWorkers: - format: int32 - description: The initial number of Compute Engine instances for the job. - type: integer - serviceAccountEmail: - type: string - description: The email address of the service account to run the job as. - network: - description: >- - Network to which VMs will be assigned. If empty or unspecified, the - service will use the network "default". - type: string - subnetwork: description: >- - Subnetwork to which VMs will be assigned, if desired. You can - specify a subnetwork using either a complete URL or an abbreviated - path. Expected to be of the form - "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" - or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is - located in a Shared VPC network, you must use the complete URL. - type: string - workerRegion: + If true, the request is validated but not actually executed. + Defaults to false. + launchParameters: + $ref: >- + #/components/schemas/GoogleCloudDatapipelinesV1LaunchTemplateParameters description: >- - The Compute Engine region - (https://cloud.google.com/compute/docs/regions-zones/regions-zones) - in which worker processing should occur, e.g. "us-west1". Mutually - exclusive with worker_zone. If neither worker_region nor worker_zone - is specified, default to the control plane's region. - type: string - type: object - id: GoogleCloudDatapipelinesV1RuntimeEnvironment - description: The environment values to set at runtime. - GoogleCloudDatapipelinesV1RunPipelineResponse: - id: GoogleCloudDatapipelinesV1RunPipelineResponse - description: Response message for RunPipeline - type: object - properties: - job: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Job' - description: Job that was created as part of RunPipeline operation. - GoogleCloudDatapipelinesV1RunPipelineRequest: - id: GoogleCloudDatapipelinesV1RunPipelineRequest - properties: {} + The parameters of the template to launch. This should be part of the + body of the POST request. type: object - description: Request message for RunPipeline + description: A request to launch a template. + id: GoogleCloudDatapipelinesV1LaunchTemplateRequest GoogleCloudDatapipelinesV1Job: type: object - id: GoogleCloudDatapipelinesV1Job - description: >- - Definition of the job information maintained by the pipeline. Fields in - this entity are retrieved from the executor API (e.g. Dataflow API). properties: - endTime: + createTime: + type: string + description: Output only. The time of job creation. readOnly: true - description: >- - Output only. The time of job termination. This is absent if the job - is still running. format: google-datetime + id: + description: Output only. The internal ID for the job. type: string + readOnly: true status: + $ref: '#/components/schemas/GoogleRpcStatus' description: >- Status capturing any error code or message related to job creation or execution. - $ref: '#/components/schemas/GoogleRpcStatus' - state: - enumDescriptions: + dataflowJobDetails: + description: All the details that are specific to a Dataflow job. + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1DataflowJobDetails' + name: + type: string + description: Required. The fully qualified resource name for the job. + endTime: + format: google-datetime + readOnly: true + type: string + description: >- + Output only. The time of job termination. This is absent if the job + is still running. + state: + enumDescriptions: - The job state isn't specified. - The job is waiting to start execution. - The job is executing. - The job has finished execution successfully. - The job has finished execution with a failure. - The job has been terminated upon user request. - description: The current state of the job. enum: - STATE_UNSPECIFIED - STATE_PENDING @@ -278,211 +156,175 @@ components: - STATE_FAILED - STATE_CANCELLED type: string - dataflowJobDetails: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1DataflowJobDetails' - description: All the details that are specific to a Dataflow job. - createTime: - format: google-datetime + description: The current state of the job. + description: >- + Definition of the job information maintained by the pipeline. Fields in + this entity are retrieved from the executor API (e.g. Dataflow API). + id: GoogleCloudDatapipelinesV1Job + GoogleCloudDatapipelinesV1DataflowJobDetails: + properties: + resourceInfo: + description: >- + Cached version of all the metrics of interest for the job. This + value gets stored here when the job is terminated. As long as the + job is running, this field is populated from the Dataflow API. + type: object + additionalProperties: + format: double + type: number + sdkVersion: + description: Output only. The SDK version used to run the job. + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1SdkVersion' readOnly: true - type: string - description: Output only. The time of job creation. - name: - type: string - description: Required. The fully qualified resource name for the job. - id: + currentWorkers: + type: integer + description: >- + Output only. The current number of workers used to run the jobs. + Only set to a value if the job is still running. readOnly: true - description: Output only. The internal ID for the job. - type: string - GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest: + format: int32 + id: GoogleCloudDatapipelinesV1DataflowJobDetails type: object - description: A request to launch a Dataflow job from a Flex Template. + description: >- + Pipeline job details specific to the Dataflow API. This is encapsulated + here to allow for more executors to store their specific details + separately. + GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter: properties: - validateOnly: + transformNameMappings: description: >- - If true, the request is validated but not actually executed. - Defaults to false. - type: boolean - launchParameter: - $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter - description: Required. Parameter to launch a job from a Flex Template. - projectId: + Use this to pass transform name mappings for streaming update jobs. + Example: `{"oldTransformName":"newTransformName",...}` + additionalProperties: + type: string + type: object + jobName: description: >- - Required. The ID of the Cloud Platform project that the job belongs - to. + Required. The job name to use for the created job. For an update job + request, the job name should be the same as the existing running + job. type: string - location: + update: + type: boolean description: >- - Required. The [regional endpoint] - (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) - to which to direct the request. For example, `us-central1`, - `us-west1`. + Set this to true if you are sending a request to update a running + streaming job. When set, the job name should be the same as the + running job. + launchOptions: + additionalProperties: + type: string + description: >- + Launch options for this Flex Template job. This is a common set of + options across languages and templates. This should not be used to + pass job parameters. + type: object + parameters: + description: 'The parameters for the Flex Template. Example: `{"num_workers":"5"}`' + type: object + additionalProperties: + type: string + environment: + $ref: >- + #/components/schemas/GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment + description: The runtime environment for the Flex Template job. + containerSpecGcsPath: + description: >- + Cloud Storage path to a file with a JSON-serialized ContainerSpec as + content. type: string - id: GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest - GoogleCloudDatapipelinesV1ScheduleSpec: - id: GoogleCloudDatapipelinesV1ScheduleSpec - description: Details of the schedule the pipeline runs on. + type: object + description: Launch Flex Template parameter. + id: GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter + GoogleCloudDatapipelinesV1ListJobsResponse: + type: object + description: Response message for ListJobs properties: - timeZone: + nextPageToken: description: >- - Timezone ID. This matches the timezone IDs used by the Cloud - Scheduler API. If empty, UTC time is assumed. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. type: string - schedule: + jobs: + items: + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Job' description: >- - Unix-cron format of the schedule. This information is retrieved from - the linked Cloud Scheduler. - type: string - nextJobTime: - readOnly: true - type: string - description: Output only. When the next Scheduler job is going to run. - format: google-datetime + Results that were accessible to the caller. Results are always in + descending order of job creation date. + type: array + id: GoogleCloudDatapipelinesV1ListJobsResponse + GoogleCloudDatapipelinesV1Pipeline: + description: >- + The main pipeline entity and all the necessary metadata for launching + and managing linked jobs. + id: GoogleCloudDatapipelinesV1Pipeline type: object - GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment: - description: The environment values to be set at runtime for a Flex Template. - id: GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment properties: - enableStreamingEngine: - type: boolean - description: Whether to enable Streaming Engine for the job. - subnetwork: + scheduleInfo: description: >- - Subnetwork to which VMs will be assigned, if desired. You can - specify a subnetwork using either a complete URL or an abbreviated - path. Expected to be of the form - "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" - or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is - located in a Shared VPC network, you must use the complete URL. - type: string - serviceAccountEmail: - description: The email address of the service account to run the job as. - type: string - numWorkers: - format: int32 - type: integer - description: The initial number of Compute Engine instances for the job. - tempLocation: - type: string + Internal scheduling information for a pipeline. If this information + is provided, periodic jobs will be created per the schedule. If not, + users are responsible for creating jobs externally. + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1ScheduleSpec' + state: description: >- - The Cloud Storage path to use for temporary files. Must be a valid - Cloud Storage URL, beginning with `gs://`. - zone: + 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. type: string + enumDescriptions: + - The pipeline state isn't specified. + - >- + The pipeline is getting started or resumed. When finished, the + pipeline state will be 'PIPELINE_STATE_ACTIVE'. + - The pipeline is actively running. + - >- + The pipeline is in the process of stopping. When finished, the + pipeline state will be 'PIPELINE_STATE_ARCHIVED'. + - >- + The pipeline has been stopped. This is a terminal state and cannot + be undone. + - >- + The pipeline is paused. This is a non-terminal state. When the + pipeline is paused, it will hold processing jobs, but can be + resumed later. For a batch pipeline, this means pausing the + scheduler job. For a streaming pipeline, creating a job snapshot + to resume from will give the same effect. + enum: + - STATE_UNSPECIFIED + - STATE_RESUMING + - STATE_ACTIVE + - STATE_STOPPING + - STATE_ARCHIVED + - STATE_PAUSED + jobCount: + description: Output only. Number of jobs. + readOnly: true + type: integer + format: int32 + pipelineSources: description: >- - The Compute Engine [availability - zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) - for launching worker instances to run your pipeline. In the future, - worker_zone will take precedence. - additionalUserLabels: - type: object + Immutable. The sources of the pipeline (for example, Dataplex). The + keys and values are set by the corresponding sources during pipeline + creation. additionalProperties: type: string - description: >- - Additional user labels to be specified for the job. Keys and values - must follow the restrictions specified in the [labeling - restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions). - An object containing a list of key/value pairs. Example: `{ "name": - "wrench", "mass": "1kg", "count": "3" }`. - network: - description: >- - Network to which VMs will be assigned. If empty or unspecified, the - service will use the network "default". + type: object + createTime: + format: google-datetime + readOnly: true type: string - maxWorkers: - type: integer - description: >- - The maximum number of Compute Engine instances to be made available - to your pipeline during execution, from 1 to 1000. - format: int32 - kmsKeyName: description: >- - Name for the Cloud KMS key for the job. Key format is: - projects//locations//keyRings//cryptoKeys/ + Output only. Immutable. The timestamp when the pipeline was + initially created. Set by the Data Pipelines service. + schedulerServiceAccountEmail: type: string - flexrsGoal: description: >- - Set FlexRS goal for the job. - https://cloud.google.com/dataflow/docs/guides/flexrs - type: string - enum: - - FLEXRS_UNSPECIFIED - - FLEXRS_SPEED_OPTIMIZED - - FLEXRS_COST_OPTIMIZED - enumDescriptions: - - Run in the default mode. - - Optimize for lower execution time. - - Optimize for lower cost. - machineType: - description: >- - The machine type to use for the job. Defaults to the value from the - template if not specified. - type: string - workerZone: - type: string - description: >- - The Compute Engine zone - (https://cloud.google.com/compute/docs/regions-zones/regions-zones) - in which worker processing should occur, e.g. "us-west1-a". Mutually - exclusive with worker_region. If neither worker_region nor - worker_zone is specified, a zone in the control plane region is - chosen based on available capacity. If both `worker_zone` and `zone` - are set, `worker_zone` takes precedence. - workerRegion: - type: string - description: >- - The Compute Engine region - (https://cloud.google.com/compute/docs/regions-zones/regions-zones) - in which worker processing should occur, e.g. "us-west1". Mutually - exclusive with worker_zone. If neither worker_region nor worker_zone - is specified, defaults to the control plane region. - additionalExperiments: - items: - type: string - description: Additional experiment flags for the job. - type: array - ipConfiguration: - type: string - enumDescriptions: - - The configuration is unknown, or unspecified. - - Workers should have public IP addresses. - - Workers should have private IP addresses. - description: Configuration for VM IPs. - enum: - - WORKER_IP_UNSPECIFIED - - WORKER_IP_PUBLIC - - WORKER_IP_PRIVATE - type: object - GoogleCloudDatapipelinesV1ListPipelinesResponse: - type: object - id: GoogleCloudDatapipelinesV1ListPipelinesResponse - properties: - pipelines: - description: >- - Results that matched the filter criteria and were accessible to the - caller. Results are always in descending order of pipeline creation - date. - items: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Pipeline' - type: array - nextPageToken: - type: string - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - description: Response message for ListPipelines. - GoogleCloudDatapipelinesV1Pipeline: - type: object - id: GoogleCloudDatapipelinesV1Pipeline - properties: - displayName: - description: >- - Required. The display name of the pipeline. It can contain only - letters ([A-Za-z]), numbers ([0-9]), hyphens (-), and underscores - (_). - type: string + Optional. A service account email to be used with the Cloud + Scheduler job. If not specified, the default compute engine service + account will be used. name: - type: string description: >- The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`. * @@ -499,12 +341,16 @@ components: regions](https://cloud.google.com/about/locations#region). * `PIPELINE_ID` is the ID of the pipeline. Must be unique for the selected project and location. - jobCount: - type: integer - format: int32 - description: Output only. Number of jobs. - readOnly: true + type: string + workload: + description: Workload information for creating new jobs. + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Workload' type: + description: >- + Required. The type of the pipeline. This field affects the + scheduling of the pipeline and the type of metrics to show for the + pipeline. + type: string enum: - PIPELINE_TYPE_UNSPECIFIED - PIPELINE_TYPE_BATCH @@ -519,248 +365,411 @@ components: until it is manually terminated by the user. This type of pipeline doesn't have a schedule to run on, and the linked job gets created when the pipeline is created. - description: >- - Required. The type of the pipeline. This field affects the - scheduling of the pipeline and the type of metrics to show for the - pipeline. - type: string - pipelineSources: - type: object - additionalProperties: - type: string - description: >- - Immutable. The sources of the pipeline (for example, Dataplex). The - keys and values are set by the corresponding sources during pipeline - creation. - scheduleInfo: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1ScheduleSpec' - description: >- - Internal scheduling information for a pipeline. If this information - is provided, periodic jobs will be created per the schedule. If not, - users are responsible for creating jobs externally. - workload: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Workload' - description: Workload information for creating new jobs. - state: - type: string - description: >- - 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. - enum: - - STATE_UNSPECIFIED - - STATE_RESUMING - - STATE_ACTIVE - - STATE_STOPPING - - STATE_ARCHIVED - - STATE_PAUSED - enumDescriptions: - - The pipeline state isn't specified. - - >- - The pipeline is getting started or resumed. When finished, the - pipeline state will be 'PIPELINE_STATE_ACTIVE'. - - The pipeline is actively running. - - >- - The pipeline is in the process of stopping. When finished, the - pipeline state will be 'PIPELINE_STATE_ARCHIVED'. - - >- - The pipeline has been stopped. This is a terminal state and cannot - be undone. - - >- - The pipeline is paused. This is a non-terminal state. When the - pipeline is paused, it will hold processing jobs, but can be - resumed later. For a batch pipeline, this means pausing the - scheduler job. For a streaming pipeline, creating a job snapshot - to resume from will give the same effect. lastUpdateTime: + readOnly: true description: >- Output only. Immutable. The timestamp when the pipeline was last modified. Set by the Data Pipelines service. - readOnly: true - format: google-datetime - type: string - createTime: type: string - description: >- - Output only. Immutable. The timestamp when the pipeline was - initially created. Set by the Data Pipelines service. - readOnly: true format: google-datetime - schedulerServiceAccountEmail: + displayName: description: >- - Optional. A service account email to be used with the Cloud - Scheduler job. If not specified, the default compute engine service - account will be used. + Required. The display name of the pipeline. It can contain only + letters ([A-Za-z]), numbers ([0-9]), hyphens (-), and underscores + (_). type: string + GoogleRpcStatus: description: >- - The main pipeline entity and all the necessary metadata for launching - and managing linked jobs. - GoogleCloudDatapipelinesV1DataflowJobDetails: + 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). + type: object + id: GoogleRpcStatus properties: - resourceInfo: - type: object + details: description: >- - Cached version of all the metrics of interest for the job. This - value gets stored here when the job is terminated. As long as the - job is running, this field is populated from the Dataflow API. - additionalProperties: - type: number - format: double - currentWorkers: - format: int32 - readOnly: true + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + items: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + type: array + code: + description: The status code, which should be an enum value of google.rpc.Code. type: integer + format: int32 + message: description: >- - Output only. The current number of workers used to run the jobs. - Only set to a value if the job is still running. - sdkVersion: - readOnly: true - description: Output only. The SDK version used to run the job. - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1SdkVersion' - id: GoogleCloudDatapipelinesV1DataflowJobDetails - description: >- - Pipeline job details specific to the Dataflow API. This is encapsulated - here to allow for more executors to store their specific details - separately. + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + GoogleCloudDatapipelinesV1RunPipelineResponse: + id: GoogleCloudDatapipelinesV1RunPipelineResponse + properties: + job: + description: Job that was created as part of RunPipeline operation. + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Job' + description: Response message for RunPipeline type: object - GoogleCloudDatapipelinesV1SdkVersion: - id: GoogleCloudDatapipelinesV1SdkVersion + GoogleCloudDatapipelinesV1RuntimeEnvironment: + description: The environment values to set at runtime. type: object properties: - sdkSupportStatus: + zone: + description: >- + The Compute Engine [availability + zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) + for launching worker instances to run your pipeline. In the future, + worker_zone will take precedence. type: string - description: The support status for this SDK version. - enumDescriptions: - - Dataflow is unaware of this version. - - This is a known version of an SDK, and is supported. - - A newer version of the SDK exists, and an update is recommended. - - >- - This version of the SDK is deprecated and will eventually be - unsupported. - - >- - Support for this SDK version has ended and it should no longer be - used. + ipConfiguration: + type: string + description: Configuration for VM IPs. enum: - - UNKNOWN - - SUPPORTED - - STALE - - DEPRECATED - - UNSUPPORTED - version: + - WORKER_IP_UNSPECIFIED + - WORKER_IP_PUBLIC + - WORKER_IP_PRIVATE + enumDescriptions: + - The configuration is unknown, or unspecified. + - Workers should have public IP addresses. + - Workers should have private IP addresses. + machineType: + description: >- + The machine type to use for the job. Defaults to the value from the + template if not specified. type: string - description: The version of the SDK used to run the job. - versionDisplayName: - description: A readable string describing the version of the SDK. + workerZone: + description: >- + The Compute Engine zone + (https://cloud.google.com/compute/docs/regions-zones/regions-zones) + in which worker processing should occur, e.g. "us-west1-a". Mutually + exclusive with worker_region. If neither worker_region nor + worker_zone is specified, a zone in the control plane's region is + chosen based on available capacity. If both `worker_zone` and `zone` + are set, `worker_zone` takes precedence. type: string - description: The version of the SDK used to run the job. - GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter: - properties: - update: + kmsKeyName: + description: >- + Name for the Cloud KMS key for the job. The key format is: + projects//locations//keyRings//cryptoKeys/ + type: string + maxWorkers: + format: int32 + description: >- + The maximum number of Compute Engine instances to be made available + to your pipeline during execution, from 1 to 1000. + type: integer + serviceAccountEmail: + description: The email address of the service account to run the job as. + type: string + enableStreamingEngine: + description: Whether to enable Streaming Engine for the job. type: boolean + numWorkers: + description: The initial number of Compute Engine instances for the job. + format: int32 + type: integer + bypassTempDirValidation: description: >- - Set this to true if you are sending a request to update a running - streaming job. When set, the job name should be the same as the - running job. - transformNameMappings: + Whether to bypass the safety checks for the job's temporary + directory. Use with caution. + type: boolean + network: + type: string + description: >- + Network to which VMs will be assigned. If empty or unspecified, the + service will use the network "default". + additionalUserLabels: + type: object additionalProperties: type: string - type: object description: >- - Use this to pass transform name mappings for streaming update jobs. - Example: `{"oldTransformName":"newTransformName",...}` + Additional user labels to be specified for the job. Keys and values + should follow the restrictions specified in the [labeling + restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) + page. An object containing a list of key/value pairs. Example: { + "name": "wrench", "mass": "1kg", "count": "3" }. + additionalExperiments: + type: array + items: + type: string + description: Additional experiment flags for the job. + workerRegion: + type: string + description: >- + The Compute Engine region + (https://cloud.google.com/compute/docs/regions-zones/regions-zones) + in which worker processing should occur, e.g. "us-west1". Mutually + exclusive with worker_zone. If neither worker_region nor worker_zone + is specified, default to the control plane's region. + tempLocation: + type: string + description: >- + The Cloud Storage path to use for temporary files. Must be a valid + Cloud Storage URL, beginning with `gs://`. + subnetwork: + type: string + description: >- + Subnetwork to which VMs will be assigned, if desired. You can + specify a subnetwork using either a complete URL or an abbreviated + path. Expected to be of the form + "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" + or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is + located in a Shared VPC network, you must use the complete URL. + id: GoogleCloudDatapipelinesV1RuntimeEnvironment + GoogleCloudDatapipelinesV1LaunchTemplateParameters: + type: object + properties: + update: + type: boolean + description: >- + If set, replace the existing pipeline with the name specified by + jobName with this pipeline, preserving state. + jobName: + description: Required. The job name to use for the created job. + type: string parameters: - description: 'The parameters for the Flex Template. Example: `{"num_workers":"5"}`' additionalProperties: type: string + description: The runtime parameters to pass to the job. type: object environment: - $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment - description: The runtime environment for the Flex Template job. - containerSpecGcsPath: + description: The runtime environment for the job. + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1RuntimeEnvironment' + transformNameMapping: + additionalProperties: + type: string description: >- - Cloud Storage path to a file with a JSON-serialized ContainerSpec as - content. + Map of transform name prefixes of the job to be replaced to the + corresponding name prefixes of the new job. Only applicable when + updating a pipeline. + type: object + id: GoogleCloudDatapipelinesV1LaunchTemplateParameters + description: Parameters to provide to the template being launched. + GoogleProtobufEmpty: + properties: {} + type: object + id: GoogleProtobufEmpty + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment: + type: object + description: The environment values to be set at runtime for a Flex Template. + properties: + serviceAccountEmail: + type: string + description: The email address of the service account to run the job as. + workerRegion: type: string - launchOptions: description: >- - Launch options for this Flex Template job. This is a common set of - options across languages and templates. This should not be used to - pass job parameters. - type: object + The Compute Engine region + (https://cloud.google.com/compute/docs/regions-zones/regions-zones) + in which worker processing should occur, e.g. "us-west1". Mutually + exclusive with worker_zone. If neither worker_region nor worker_zone + is specified, defaults to the control plane region. + maxWorkers: + description: >- + The maximum number of Compute Engine instances to be made available + to your pipeline during execution, from 1 to 1000. + format: int32 + type: integer + network: + type: string + description: >- + Network to which VMs will be assigned. If empty or unspecified, the + service will use the network "default". + ipConfiguration: + enum: + - WORKER_IP_UNSPECIFIED + - WORKER_IP_PUBLIC + - WORKER_IP_PRIVATE + description: Configuration for VM IPs. + type: string + enumDescriptions: + - The configuration is unknown, or unspecified. + - Workers should have public IP addresses. + - Workers should have private IP addresses. + additionalExperiments: + type: array + description: Additional experiment flags for the job. + items: + type: string + zone: + type: string + description: >- + The Compute Engine [availability + zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) + for launching worker instances to run your pipeline. In the future, + worker_zone will take precedence. + enableStreamingEngine: + description: Whether to enable Streaming Engine for the job. + type: boolean + numWorkers: + type: integer + format: int32 + description: The initial number of Compute Engine instances for the job. + flexrsGoal: + description: >- + Set FlexRS goal for the job. + https://cloud.google.com/dataflow/docs/guides/flexrs + type: string + enumDescriptions: + - Run in the default mode. + - Optimize for lower execution time. + - Optimize for lower cost. + enum: + - FLEXRS_UNSPECIFIED + - FLEXRS_SPEED_OPTIMIZED + - FLEXRS_COST_OPTIMIZED + machineType: + description: >- + The machine type to use for the job. Defaults to the value from the + template if not specified. + type: string + kmsKeyName: + description: >- + Name for the Cloud KMS key for the job. Key format is: + projects//locations//keyRings//cryptoKeys/ + type: string + workerZone: + description: >- + The Compute Engine zone + (https://cloud.google.com/compute/docs/regions-zones/regions-zones) + in which worker processing should occur, e.g. "us-west1-a". Mutually + exclusive with worker_region. If neither worker_region nor + worker_zone is specified, a zone in the control plane region is + chosen based on available capacity. If both `worker_zone` and `zone` + are set, `worker_zone` takes precedence. + type: string + subnetwork: + type: string + description: >- + Subnetwork to which VMs will be assigned, if desired. You can + specify a subnetwork using either a complete URL or an abbreviated + path. Expected to be of the form + "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" + or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is + located in a Shared VPC network, you must use the complete URL. + additionalUserLabels: additionalProperties: type: string - jobName: + type: object + description: >- + Additional user labels to be specified for the job. Keys and values + must follow the restrictions specified in the [labeling + restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions). + An object containing a list of key/value pairs. Example: `{ "name": + "wrench", "mass": "1kg", "count": "3" }`. + tempLocation: type: string description: >- - Required. The job name to use for the created job. For an update job - request, the job name should be the same as the existing running - job. - id: GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter + The Cloud Storage path to use for temporary files. Must be a valid + Cloud Storage URL, beginning with `gs://`. + id: GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment + GoogleCloudDatapipelinesV1SdkVersion: + description: The version of the SDK used to run the job. + properties: + sdkSupportStatus: + type: string + enumDescriptions: + - Dataflow is unaware of this version. + - This is a known version of an SDK, and is supported. + - A newer version of the SDK exists, and an update is recommended. + - >- + This version of the SDK is deprecated and will eventually be + unsupported. + - >- + Support for this SDK version has ended and it should no longer be + used. + description: The support status for this SDK version. + enum: + - UNKNOWN + - SUPPORTED + - STALE + - DEPRECATED + - UNSUPPORTED + version: + description: The version of the SDK used to run the job. + type: string + versionDisplayName: + description: A readable string describing the version of the SDK. + type: string + id: GoogleCloudDatapipelinesV1SdkVersion type: object - description: Launch Flex Template parameter. - GoogleCloudDatapipelinesV1Workload: + GoogleCloudDatapipelinesV1StopPipelineRequest: + properties: {} + description: Request message for StopPipeline. type: object - id: GoogleCloudDatapipelinesV1Workload - description: Workload details for creating the pipeline jobs. - properties: - dataflowLaunchTemplateRequest: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1LaunchTemplateRequest' - description: >- - Template information and additional parameters needed to launch a - Dataflow job using the standard launch API. - dataflowFlexTemplateRequest: - $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest - description: >- - Template information and additional parameters needed to launch a - Dataflow job using the flex launch API. - GoogleCloudDatapipelinesV1LaunchTemplateRequest: + id: GoogleCloudDatapipelinesV1StopPipelineRequest + GoogleCloudDatapipelinesV1RunPipelineRequest: + id: GoogleCloudDatapipelinesV1RunPipelineRequest type: object - description: A request to launch a template. + properties: {} + description: Request message for RunPipeline + GoogleCloudDatapipelinesV1ScheduleSpec: properties: - gcsPath: - description: >- - A Cloud Storage path to the template from which to create the job. - Must be a valid Cloud Storage URL, beginning with 'gs://'. + schedule: type: string - validateOnly: - type: boolean description: >- - If true, the request is validated but not actually executed. - Defaults to false. - projectId: + Unix-cron format of the schedule. This information is retrieved from + the linked Cloud Scheduler. + nextJobTime: + format: google-datetime + readOnly: true + description: Output only. When the next Scheduler job is going to run. type: string + timeZone: description: >- - Required. The ID of the Cloud Platform project that the job belongs - to. - location: + Timezone ID. This matches the timezone IDs used by the Cloud + Scheduler API. If empty, UTC time is assumed. type: string + type: object + id: GoogleCloudDatapipelinesV1ScheduleSpec + description: Details of the schedule the pipeline runs on. + GoogleCloudDatapipelinesV1ListPipelinesResponse: + id: GoogleCloudDatapipelinesV1ListPipelinesResponse + type: object + properties: + pipelines: + type: array + items: + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Pipeline' description: >- - The [regional endpoint] - (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) - to which to direct the request. - launchParameters: - $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1LaunchTemplateParameters + Results that matched the filter criteria and were accessible to the + caller. Results are always in descending order of pipeline creation + date. + nextPageToken: + type: string description: >- - The parameters of the template to launch. This should be part of the - body of the POST request. - id: GoogleCloudDatapipelinesV1LaunchTemplateRequest - GoogleCloudDatapipelinesV1StopPipelineRequest: - type: object - id: GoogleCloudDatapipelinesV1StopPipelineRequest - properties: {} - description: Request message for StopPipeline. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + description: Response message for ListPipelines. parameters: - prettyPrint: - description: Returns response with indentations and line breaks. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: prettyPrint + name: upload_protocol schema: - type: boolean + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string alt: description: Data format for response. in: query @@ -777,18 +786,18 @@ components: name: fields schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: upload_protocol + name: uploadType schema: type: string - callback: - description: JSONP + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: callback + name: prettyPrint schema: - type: string + type: boolean key: description: >- API key. Your API key identifies your project and provides you with API @@ -798,19 +807,22 @@ components: name: key schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: uploadType + name: oauth_token schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + access_token: + description: OAuth access token. in: query - name: quotaUser + name: access_token + schema: + type: string + callback: + description: JSONP + in: query + name: callback schema: type: string _.xgafv: @@ -822,18 +834,6 @@ components: enum: - '1' - '2' - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string x-stackQL-resources: jobs: id: google.datapipelines.jobs @@ -860,10 +860,10 @@ components: name: pipelines title: Pipelines methods: - run: + stop: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:run/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:stop/post response: mediaType: application/json openAPIDocKey: '200' @@ -903,10 +903,10 @@ components: response: mediaType: application/json openAPIDocKey: '200' - stop: + run: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:stop/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:run/post response: mediaType: application/json openAPIDocKey: '200' @@ -924,17 +924,17 @@ components: paths: /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}/jobs: parameters: &ref_1 - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/_.xgafv' get: description: >- Lists jobs for a given pipeline. Throws a "FORBIDDEN" error if the @@ -969,32 +969,29 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:run: + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:stop: parameters: *ref_1 post: description: >- - 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. - operationId: datapipelines.projects.locations.pipelines.run + 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. + operationId: datapipelines.projects.locations.pipelines.stop requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1RunPipelineRequest + #/components/schemas/GoogleCloudDatapipelinesV1StopPipelineRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1006,8 +1003,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1RunPipelineResponse + $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Pipeline' parameters: - in: path name: projectsId @@ -1056,18 +1052,18 @@ paths: schema: type: string - in: query - name: pageSize + name: filter schema: - type: integer - format: int32 + type: string - in: query name: pageToken schema: type: string - in: query - name: filter + name: pageSize schema: - type: string + type: integer + format: int32 post: description: >- Creates a pipeline. For a batch pipeline, you can pass scheduler @@ -1217,20 +1213,23 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:stop: + /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:run: parameters: *ref_1 post: description: >- - 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. - operationId: datapipelines.projects.locations.pipelines.stop + 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. + operationId: datapipelines.projects.locations.pipelines.run requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDatapipelinesV1StopPipelineRequest + #/components/schemas/GoogleCloudDatapipelinesV1RunPipelineRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1242,7 +1241,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDatapipelinesV1Pipeline' + $ref: >- + #/components/schemas/GoogleCloudDatapipelinesV1RunPipelineResponse parameters: - in: path name: projectsId diff --git a/providers/src/googleapis.com/v00.00.00000/services/dataplex.yaml b/providers/src/googleapis.com/v00.00.00000/services/dataplex.yaml index 1456eb50..dfb078d2 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dataplex.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dataplex.yaml @@ -7,8 +7,8 @@ info: title: Cloud Dataplex API description: Dataplex API is used to manage the lifecycle of data lakes. version: v1 - x-discovery-doc-revision: '20240830' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dataplex/docs servers: @@ -305,6 +305,27 @@ components: metadataTemplate: description: Required. MetadataTemplate of the aspect. $ref: '#/components/schemas/GoogleCloudDataplexV1AspectTypeMetadataTemplate' + transferStatus: + description: >- + Output only. Denotes the transfer status of the Aspect Type. It is + unspecified for Aspect Types created from Dataplex API. + readOnly: true + type: string + enumDescriptions: + - >- + The default value. It is set for resources that were not subject + for migration from Data Catalog service. + - >- + Indicates that a resource was migrated from Data Catalog service + but it hasn't been transferred yet. In particular the resource + cannot be updated from Dataplex API. + - >- + Indicates that a resource was transferred from Data Catalog + service. The resource can only be updated from Dataplex API. + enum: + - TRANSFER_STATUS_UNSPECIFIED + - TRANSFER_STATUS_MIGRATED + - TRANSFER_STATUS_TRANSFERRED GoogleCloudDataplexV1AspectTypeAuthorization: id: GoogleCloudDataplexV1AspectTypeAuthorization description: Autorization for an AspectType. @@ -526,6 +547,27 @@ components: update and delete requests to ensure the client has an up-to-date value before proceeding. type: string + transferStatus: + description: >- + Output only. Denotes the transfer status of the Entry Group. It is + unspecified for Entry Group created from Dataplex API. + readOnly: true + type: string + enumDescriptions: + - >- + The default value. It is set for resources that were not subject + for migration from Data Catalog service. + - >- + Indicates that a resource was migrated from Data Catalog service + but it hasn't been transferred yet. In particular the resource + cannot be updated from Dataplex API. + - >- + Indicates that a resource was transferred from Data Catalog + service. The resource can only be updated from Dataplex API. + enum: + - TRANSFER_STATUS_UNSPECIFIED + - TRANSFER_STATUS_MIGRATED + - TRANSFER_STATUS_TRANSFERRED GoogleCloudDataplexV1ListEntryGroupsResponse: id: GoogleCloudDataplexV1ListEntryGroupsResponse description: List entry groups response. @@ -651,6 +693,13 @@ components: description: The time the aspect was last updated in the source system. type: string format: google-datetime + dataVersion: + description: >- + The version of the data format used to produce this data. This field + is used to indicated when the underlying data format changes (e.g., + schema modifications, changes to the source URL format definition, + etc). + type: string GoogleCloudDataplexV1EntrySource: id: GoogleCloudDataplexV1EntrySource description: >- @@ -1952,27 +2001,36 @@ components: readOnly: true type: string enumDescriptions: - - The DataScan type is unspecified. - - Data Quality scan. - - Data Profile scan. + - The data scan type is unspecified. + - Data quality scan. + - Data profile scan. + - Data discovery scan. enum: - DATA_SCAN_TYPE_UNSPECIFIED - DATA_QUALITY - DATA_PROFILE + - DATA_DISCOVERY dataQualitySpec: - description: DataQualityScan related setting. + description: Settings for a data quality scan. $ref: '#/components/schemas/GoogleCloudDataplexV1DataQualitySpec' dataProfileSpec: - description: DataProfileScan related setting. + description: Settings for a data profile scan. $ref: '#/components/schemas/GoogleCloudDataplexV1DataProfileSpec' + dataDiscoverySpec: + description: Settings for a data discovery scan. + $ref: '#/components/schemas/GoogleCloudDataplexV1DataDiscoverySpec' dataQualityResult: - description: Output only. The result of the data quality scan. + description: Output only. The result of a data quality scan. readOnly: true $ref: '#/components/schemas/GoogleCloudDataplexV1DataQualityResult' dataProfileResult: - description: Output only. The result of the data profile scan. + description: Output only. The result of a data profile scan. readOnly: true $ref: '#/components/schemas/GoogleCloudDataplexV1DataProfileResult' + dataDiscoveryResult: + description: Output only. The result of a data discovery scan. + readOnly: true + $ref: '#/components/schemas/GoogleCloudDataplexV1DataDiscoveryResult' GoogleCloudDataplexV1DataSource: id: GoogleCloudDataplexV1DataSource description: The data source for DataScan. @@ -2160,7 +2218,7 @@ components: Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", - "INTEGRITY" + "FRESHNESS", "VOLUME" type: string threshold: description: >- @@ -2489,6 +2547,127 @@ components: type: array items: type: string + GoogleCloudDataplexV1DataDiscoverySpec: + id: GoogleCloudDataplexV1DataDiscoverySpec + description: Spec for a data discovery scan. + type: object + properties: + bigqueryPublishingConfig: + description: Optional. Configuration for metadata publishing. + $ref: >- + #/components/schemas/GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig + storageConfig: + description: Cloud Storage related configurations. + $ref: >- + #/components/schemas/GoogleCloudDataplexV1DataDiscoverySpecStorageConfig + GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig: + id: GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig + description: Describes BigQuery publishing configurations. + type: object + properties: + tableType: + description: >- + Optional. Determines whether to publish discovered tables as BigLake + external tables or non-BigLake external tables. + type: string + enumDescriptions: + - Table type unspecified. + - >- + Default. Discovered tables are published as BigQuery external + tables whose data is accessed using the credentials of the user + querying the table. + - >- + Discovered tables are published as BigLake external tables whose + data is accessed using the credentials of the associated BigQuery + connection. + enum: + - TABLE_TYPE_UNSPECIFIED + - EXTERNAL + - BIGLAKE + connection: + description: >- + Optional. The BigQuery connection used to create BigLake tables. + Must be in the form + projects/{project_id}/locations/{location_id}/connections/{connection_id} + type: string + GoogleCloudDataplexV1DataDiscoverySpecStorageConfig: + id: GoogleCloudDataplexV1DataDiscoverySpecStorageConfig + description: Configurations related to Cloud Storage as the data source. + type: object + properties: + includePatterns: + description: >- + Optional. Defines the data to include during discovery when only a + subset of the data should be considered. Provide a list of patterns + that identify the data to include. For Cloud Storage bucket assets, + these patterns are interpreted as glob patterns used to match object + names. For BigQuery dataset assets, these patterns are interpreted + as patterns to match table names. + type: array + items: + type: string + excludePatterns: + description: >- + Optional. Defines the data to exclude during discovery. Provide a + list of patterns that identify the data to exclude. For Cloud + Storage bucket assets, these patterns are interpreted as glob + patterns used to match object names. For BigQuery dataset assets, + these patterns are interpreted as patterns to match table names. + type: array + items: + type: string + csvOptions: + description: Optional. Configuration for CSV data. + $ref: >- + #/components/schemas/GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions + jsonOptions: + description: Optional. Configuration for JSON data. + $ref: >- + #/components/schemas/GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions + GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions: + id: GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions + description: Describes CSV and similar semi-structured data formats. + type: object + properties: + headerRows: + description: >- + Optional. The number of rows to interpret as header rows that should + be skipped when reading data rows. + type: integer + format: int32 + delimiter: + description: >- + Optional. The delimiter that is used to separate values. The default + is , (comma). + type: string + encoding: + description: Optional. The character encoding of the data. The default is UTF-8. + type: string + typeInferenceDisabled: + description: >- + Optional. Whether to disable the inference of data types for CSV + data. If true, all columns are registered as strings. + type: boolean + quote: + description: >- + Optional. The character used to quote column values. Accepts " + (double quotation mark) or ' (single quotation mark). If + unspecified, defaults to " (double quotation mark). + type: string + GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions: + id: GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions + description: Describes JSON data format. + type: object + properties: + encoding: + description: Optional. The character encoding of the data. The default is UTF-8. + type: string + typeInferenceDisabled: + description: >- + Optional. Whether to disable the inference of data types for JSON + data. If true, all columns are registered as their primitive types + (strings, number, or boolean). + type: boolean GoogleCloudDataplexV1DataQualityResult: id: GoogleCloudDataplexV1DataQualityResult description: The output of a DataQualityScan. @@ -2574,7 +2753,7 @@ components: description: >- The dimension name a rule belongs to. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", - "INTEGRITY" + "FRESHNESS", "VOLUME" type: string GoogleCloudDataplexV1DataQualityColumnResult: id: GoogleCloudDataplexV1DataQualityColumnResult @@ -2973,6 +3152,28 @@ components: description: Output only. Additional information about the BigQuery exporting. readOnly: true type: string + GoogleCloudDataplexV1DataDiscoveryResult: + id: GoogleCloudDataplexV1DataDiscoveryResult + description: The output of a data discovery scan. + type: object + properties: + bigqueryPublishing: + description: Output only. Configuration for metadata publishing. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing + GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing: + id: GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing + description: Describes BigQuery publishing configurations. + type: object + properties: + dataset: + description: >- + Output only. The BigQuery dataset to publish to. It takes the form + projects/{project_id}/datasets/{dataset_id}. If not set, the service + creates a default publishing dataset. + readOnly: true + type: string GoogleCloudDataplexV1ListDataScansResponse: id: GoogleCloudDataplexV1ListDataScansResponse description: List dataScans response. @@ -3070,29 +3271,39 @@ components: readOnly: true type: string enumDescriptions: - - The DataScan type is unspecified. - - Data Quality scan. - - Data Profile scan. + - The data scan type is unspecified. + - Data quality scan. + - Data profile scan. + - Data discovery scan. enum: - DATA_SCAN_TYPE_UNSPECIFIED - DATA_QUALITY - DATA_PROFILE + - DATA_DISCOVERY dataQualitySpec: - description: Output only. DataQualityScan related setting. + description: Output only. Settings for a data quality scan. readOnly: true $ref: '#/components/schemas/GoogleCloudDataplexV1DataQualitySpec' dataProfileSpec: - description: Output only. DataProfileScan related setting. + description: Output only. Settings for a data profile scan. readOnly: true $ref: '#/components/schemas/GoogleCloudDataplexV1DataProfileSpec' + dataDiscoverySpec: + description: Output only. Settings for a data discovery scan. + readOnly: true + $ref: '#/components/schemas/GoogleCloudDataplexV1DataDiscoverySpec' dataQualityResult: - description: Output only. The result of the data quality scan. + description: Output only. The result of a data quality scan. readOnly: true $ref: '#/components/schemas/GoogleCloudDataplexV1DataQualityResult' dataProfileResult: - description: Output only. The result of the data profile scan. + description: Output only. The result of a data profile scan. readOnly: true $ref: '#/components/schemas/GoogleCloudDataplexV1DataProfileResult' + dataDiscoveryResult: + description: Output only. The result of a data discovery scan. + readOnly: true + $ref: '#/components/schemas/GoogleCloudDataplexV1DataDiscoveryResult' GoogleCloudDataplexV1ListDataScanJobsResponse: id: GoogleCloudDataplexV1ListDataScanJobsResponse description: List DataScanJobs response. @@ -4908,10 +5119,9 @@ components: type: string sqlScriptFile: description: >- - A reference to a query file. This can be the Cloud Storage URI of - the query file or it can the path to a SqlScript Content. The - execution args are used to declare a set of script variables (set - key="value";). + A reference to a query file. This should be the Cloud Storage URI of + the query file. The execution args are used to declare a set of + script variables (set key="value";). type: string sqlScript: description: >- @@ -5496,6 +5706,9 @@ components: dataLocation: description: The data location associated with the event. type: string + datascanId: + description: The id of the associated datascan for standalone discovery. + type: string type: description: The type of the event being logged. type: string @@ -5508,6 +5721,10 @@ components: - An event representing a partition being created. - An event representing a partition being updated. - An event representing a partition being deleted. + - An event representing a table being published. + - An event representing a table being updated. + - An event representing a table being skipped in publishing. + - An event representing a table being deleted. enum: - EVENT_TYPE_UNSPECIFIED - CONFIG @@ -5517,6 +5734,10 @@ components: - PARTITION_CREATED - PARTITION_UPDATED - PARTITION_DELETED + - TABLE_PUBLISHED + - TABLE_UPDATED + - TABLE_IGNORED + - TABLE_DELETED config: description: Details about discovery configuration in effect. $ref: >- @@ -5533,6 +5754,11 @@ components: description: Details about the action associated with the event. $ref: >- #/components/schemas/GoogleCloudDataplexV1DiscoveryEventActionDetails + table: + description: >- + Details about the BigQuery table publishing associated with the + event. + $ref: '#/components/schemas/GoogleCloudDataplexV1DiscoveryEventTableDetails' GoogleCloudDataplexV1DiscoveryEventConfigDetails: id: GoogleCloudDataplexV1DiscoveryEventConfigDetails description: Details about configuration events. @@ -5608,6 +5834,30 @@ components: type: description: The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat type: string + issue: + description: The human readable issue associated with the action. + type: string + GoogleCloudDataplexV1DiscoveryEventTableDetails: + id: GoogleCloudDataplexV1DiscoveryEventTableDetails + description: Details about the published table. + type: object + properties: + table: + description: The fully-qualified resource name of the table resource. + type: string + type: + description: The type of the table resource. + type: string + enumDescriptions: + - An unspecified table type. + - External table type. + - BigLake table type. + - Object table type for unstructured data. + enum: + - TABLE_TYPE_UNSPECIFIED + - EXTERNAL_TABLE + - BIGLAKE_TABLE + - OBJECT_TABLE GoogleCloudDataplexV1JobEvent: id: GoogleCloudDataplexV1JobEvent description: >- @@ -5824,7 +6074,7 @@ components: id: GoogleCloudDataplexV1DataScanEvent description: >- These messages contain information about the execution of a datascan. - The monitored resource is 'DataScan' Next ID: 13 + The monitored resource is 'DataScan' type: object properties: dataSource: @@ -5852,10 +6102,12 @@ components: - An unspecified data scan type. - Data scan for data profile. - Data scan for data quality. + - Data scan for data discovery. enum: - SCAN_TYPE_UNSPECIFIED - DATA_PROFILE - DATA_QUALITY + - DATA_DISCOVERY state: description: The status of the data scan job. type: string @@ -6216,343 +6468,6 @@ components: - ENTITY_TYPE_UNSPECIFIED - TABLE - FILESET - CloudReliabilityZicyWs3DataplaneProtosAssetLocation: - id: CloudReliabilityZicyWs3DataplaneProtosAssetLocation - description: >- - Provides the mapping of a cloud asset to a direct physical location or - to a proxy that defines the location on its behalf. - type: object - properties: - expected: - description: >- - Defines the customer expectation around ZI/ZS for this asset and - ZI/ZS state of the region at the time of asset creation. - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosAssetLocationIsolationExpectations - locationData: - description: Contains all kinds of physical location definitions for this asset. - type: array - items: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosLocationData - parentAsset: - description: >- - Defines parents assets if any in order to allow later generation of - child_asset_location data via child assets. - type: array - items: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosCloudAsset - extraParameters: - description: Defines extra parameters required for specific asset types. - type: array - items: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosExtraParameter - ccfeRmsPath: - description: >- - Spanner path of the CCFE RMS database. It is only applicable for - CCFE tenants that use CCFE RMS for storing resource metadata. - type: string - CloudReliabilityZicyWs3DataplaneProtosAssetLocationIsolationExpectations: - id: CloudReliabilityZicyWs3DataplaneProtosAssetLocationIsolationExpectations - type: object - properties: - zoneIsolation: - description: >- - Deprecated: use zi_org_policy, zi_region_policy and zi_region_state - instead for setting ZI expectations as per - go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zoneSeparation: - description: >- - Deprecated: use zs_org_policy, and zs_region_stateinstead for - setting Zs expectations as per go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking of the asset ZS-bit is not available - - '' - - '' - enum: - - ZS_REGION_UNSPECIFIED - - ZS_REGION_UNKNOWN - - ZS_REGION_NOT_ENABLED - - ZS_REGION_ENABLED - ziOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - ziRegionPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_REGION_POLICY_UNSPECIFIED - - ZI_REGION_POLICY_UNKNOWN - - ZI_REGION_POLICY_NOT_SET - - ZI_REGION_POLICY_FAIL_OPEN - - ZI_REGION_POLICY_FAIL_CLOSED - ziRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZI_REGION_UNSPECIFIED - - ZI_REGION_UNKNOWN - - ZI_REGION_NOT_ENABLED - - ZI_REGION_ENABLED - requirementOverride: - description: >- - Explicit overrides for ZI and ZS requirements to be used for - resources that should be excluded from ZI/ZS verification logic. - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosAssetLocationIsolationExpectationsRequirementOverride - CloudReliabilityZicyWs3DataplaneProtosAssetLocationIsolationExpectationsRequirementOverride: - id: >- - CloudReliabilityZicyWs3DataplaneProtosAssetLocationIsolationExpectationsRequirementOverride - type: object - properties: - ziOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zsOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - CloudReliabilityZicyWs3DataplaneProtosLocationData: - id: CloudReliabilityZicyWs3DataplaneProtosLocationData - type: object - properties: - directLocation: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosDirectLocationAssignment - spannerLocation: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosSpannerLocation - childAssetLocation: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosCloudAssetComposition - gcpProjectProxy: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosTenantProjectProxy - blobstoreLocation: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosBlobstoreLocation - placerLocation: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosPlacerLocation - CloudReliabilityZicyWs3DataplaneProtosDirectLocationAssignment: - id: CloudReliabilityZicyWs3DataplaneProtosDirectLocationAssignment - type: object - properties: - location: - type: array - items: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosLocationAssignment - CloudReliabilityZicyWs3DataplaneProtosLocationAssignment: - id: CloudReliabilityZicyWs3DataplaneProtosLocationAssignment - type: object - properties: - location: - type: string - locationType: - type: string - enumDescriptions: - - '' - - '1-10: Physical failure domains.' - - '' - - '11-20: Logical failure domains.' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - CLUSTER - - POP - - CLOUD_ZONE - - CLOUD_REGION - - MULTI_REGION_GEO - - MULTI_REGION_JURISDICTION - - GLOBAL - - OTHER - CloudReliabilityZicyWs3DataplaneProtosSpannerLocation: - id: CloudReliabilityZicyWs3DataplaneProtosSpannerLocation - type: object - properties: - dbName: - description: Set of databases used by the resource in format /span// - type: array - items: - type: string - backupName: - description: >- - Set of backups used by the resource with name in the same format as - what is available at http://table/spanner_automon.backup_metadata - type: array - items: - type: string - CloudReliabilityZicyWs3DataplaneProtosCloudAssetComposition: - id: CloudReliabilityZicyWs3DataplaneProtosCloudAssetComposition - type: object - properties: - childAsset: - type: array - items: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosCloudAsset - CloudReliabilityZicyWs3DataplaneProtosCloudAsset: - id: CloudReliabilityZicyWs3DataplaneProtosCloudAsset - type: object - properties: - assetType: - type: string - assetName: - type: string - CloudReliabilityZicyWs3DataplaneProtosTenantProjectProxy: - id: CloudReliabilityZicyWs3DataplaneProtosTenantProjectProxy - type: object - properties: - projectNumbers: - type: array - items: - type: string - CloudReliabilityZicyWs3DataplaneProtosBlobstoreLocation: - id: CloudReliabilityZicyWs3DataplaneProtosBlobstoreLocation - description: >- - Policy ID that identified data placement in Blobstore as per - go/blobstore-user-guide#data-metadata-placement-and-failure-domains - type: object - properties: - policyId: - type: array - items: - type: string - CloudReliabilityZicyWs3DataplaneProtosPlacerLocation: - id: CloudReliabilityZicyWs3DataplaneProtosPlacerLocation - description: >- - Message describing that the location of the customer resource is tied to - placer allocations - type: object - properties: - placerConfig: - description: >- - Directory with a config related to it in placer (e.g. - "/placer/prod/home/my-root/my-dir") - type: string - CloudReliabilityZicyWs3DataplaneProtosExtraParameter: - id: CloudReliabilityZicyWs3DataplaneProtosExtraParameter - description: Defines parameters that should only be used for specific asset types. - type: object - properties: - regionalMigDistributionPolicy: - description: >- - Details about zones used by regional - compute.googleapis.com/InstanceGroupManager to create instances. - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosRegionalMigDistributionPolicy - CloudReliabilityZicyWs3DataplaneProtosRegionalMigDistributionPolicy: - id: CloudReliabilityZicyWs3DataplaneProtosRegionalMigDistributionPolicy - description: >- - To be used for specifying the intended distribution of regional - compute.googleapis.com/InstanceGroupManager instances - type: object - properties: - zones: - description: Cloud zones used by regional MIG to create instances. - type: array - items: - $ref: >- - #/components/schemas/CloudReliabilityZicyWs3DataplaneProtosZoneConfiguration - targetShape: - description: >- - The shape in which the group converges around distribution of - resources. Instance of proto2 enum - type: integer - format: int32 - CloudReliabilityZicyWs3DataplaneProtosZoneConfiguration: - id: CloudReliabilityZicyWs3DataplaneProtosZoneConfiguration - type: object - properties: - zone: - type: string parameters: access_token: description: OAuth access token. @@ -8656,7 +8571,10 @@ paths: get: description: >- Looks up a single Entry by name using the permission on the source - system. + system.Caution: The BigQuery metadata that is stored in Dataplex Catalog + is changing. For more information, see Changes to BigQuery metadata + stored in Dataplex Catalog + (https://cloud.google.com/dataplex/docs/biqquery-metadata-changes). operationId: dataplex.projects.locations.lookupEntry security: - Oauth2: @@ -10121,7 +10039,11 @@ paths: schema: type: string get: - description: Gets an Entry. + description: >- + Gets an Entry.Caution: The BigQuery metadata that is stored in Dataplex + Catalog is changing. For more information, see Changes to BigQuery + metadata stored in Dataplex Catalog + (https://cloud.google.com/dataplex/docs/biqquery-metadata-changes). operationId: dataplex.projects.locations.entryGroups.entries.get security: - Oauth2: diff --git a/providers/src/googleapis.com/v00.00.00000/services/dataproc.yaml b/providers/src/googleapis.com/v00.00.00000/services/dataproc.yaml index 9598a41d..b7680966 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dataproc.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dataproc.yaml @@ -7,8 +7,8 @@ info: title: Cloud Dataproc API description: Manages Hadoop-based clusters and jobs on Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240830' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dataproc/ servers: @@ -999,4425 +999,6877 @@ components: type: array items: type: string - Cluster: - id: Cluster + WriteSparkApplicationContextRequest: + id: WriteSparkApplicationContextRequest + description: Write Spark Application data to internal storage systems + type: object + properties: + parent: + description: Required. Parent (Batch) resource reference. + type: string + sparkWrapperObjects: + type: array + items: + $ref: '#/components/schemas/SparkWrapperObject' + SparkWrapperObject: + id: SparkWrapperObject description: >- - Describes the identifying information, config, and status of a Dataproc - cluster + Outer message that contains the data obtained from spark listener, + packaged with information that is required to process it. type: object properties: - projectId: - description: >- - Required. The Google Cloud Platform project ID that the cluster - belongs to. + eventTimestamp: + description: VM Timestamp associated with the data object. type: string - clusterName: - description: >- - Required. The cluster name, which must be unique within a project. - The name must start with a lowercase letter, and can contain up to - 51 lowercase letters, numbers, and hyphens. It cannot end with a - hyphen. The name of a deleted cluster can be reused. + format: google-datetime + applicationId: + description: Application Id created by Spark. + type: string + applicationInfo: + $ref: '#/components/schemas/ApplicationInfo' + applicationEnvironmentInfo: + $ref: '#/components/schemas/ApplicationEnvironmentInfo' + resourceProfileInfo: + $ref: '#/components/schemas/ResourceProfileInfo' + appSummary: + $ref: '#/components/schemas/AppSummary' + jobData: + $ref: '#/components/schemas/JobData' + stageData: + $ref: '#/components/schemas/StageData' + taskData: + $ref: '#/components/schemas/TaskData' + executorStageSummary: + $ref: '#/components/schemas/ExecutorStageSummary' + speculationStageSummary: + $ref: '#/components/schemas/SpeculationStageSummary' + executorSummary: + $ref: '#/components/schemas/ExecutorSummary' + rddStorageInfo: + $ref: '#/components/schemas/RddStorageInfo' + streamBlockData: + $ref: '#/components/schemas/StreamBlockData' + rddOperationGraph: + $ref: '#/components/schemas/RddOperationGraph' + poolData: + $ref: '#/components/schemas/PoolData' + processSummary: + $ref: '#/components/schemas/ProcessSummary' + sqlExecutionUiData: + $ref: '#/components/schemas/SqlExecutionUiData' + sparkPlanGraph: + $ref: '#/components/schemas/SparkPlanGraph' + streamingQueryData: + $ref: '#/components/schemas/StreamingQueryData' + streamingQueryProgress: + $ref: '#/components/schemas/StreamingQueryProgress' + ApplicationInfo: + id: ApplicationInfo + description: High level information corresponding to an application. + type: object + properties: + applicationId: type: string - config: - description: >- - Optional. The cluster config for a cluster of Compute Engine - Instances. Note that Dataproc may set default values, and values may - change when clusters are updated.Exactly one of ClusterConfig or - VirtualClusterConfig must be specified. - $ref: '#/components/schemas/ClusterConfig' - virtualClusterConfig: - description: >- - Optional. The virtual cluster config is used when creating a - Dataproc cluster that does not directly control the underlying - compute resources, for example, when creating a Dataproc-on-GKE - cluster - (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). - Dataproc may set default values, and values may change when clusters - are updated. Exactly one of config or virtual_cluster_config must be - specified. - $ref: '#/components/schemas/VirtualClusterConfig' - labels: - description: >- - Optional. The labels to associate with this cluster. 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 a cluster. - type: object - additionalProperties: - type: string - status: - description: Output only. Cluster status. - readOnly: true - $ref: '#/components/schemas/ClusterStatus' - statusHistory: - description: Output only. The previous cluster status. - readOnly: true + name: + type: string + coresGranted: + type: integer + format: int32 + maxCores: + type: integer + format: int32 + coresPerExecutor: + type: integer + format: int32 + memoryPerExecutorMb: + type: integer + format: int32 + attempts: type: array items: - $ref: '#/components/schemas/ClusterStatus' - clusterUuid: - description: >- - Output only. A cluster UUID (Unique Universal Identifier). Dataproc - generates this value when it creates the cluster. - readOnly: true + $ref: '#/components/schemas/ApplicationAttemptInfo' + applicationContextIngestionStatus: type: string - metrics: - description: >- - Output only. Contains cluster daemon metrics such as HDFS and YARN - stats.Beta Feature: This report is available for testing purposes - only. It may be changed before final release. - readOnly: true - $ref: '#/components/schemas/ClusterMetrics' - ClusterConfig: - id: ClusterConfig - description: The cluster config. + enumDescriptions: + - '' + - '' + enum: + - APPLICATION_CONTEXT_INGESTION_STATUS_UNSPECIFIED + - APPLICATION_CONTEXT_INGESTION_STATUS_COMPLETED + quantileDataStatus: + type: string + enumDescriptions: + - '' + - '' + - '' + enum: + - QUANTILE_DATA_STATUS_UNSPECIFIED + - QUANTILE_DATA_STATUS_COMPLETED + - QUANTILE_DATA_STATUS_FAILED + ApplicationAttemptInfo: + id: ApplicationAttemptInfo + description: Specific attempt of an application. type: object properties: - configBucket: - description: >- - Optional. A Cloud Storage bucket used to stage job dependencies, - config files, and job driver console output. If you do not specify a - staging bucket, Cloud Dataproc will determine a Cloud Storage - location (US, ASIA, or EU) for your cluster's staging bucket - according to the Compute Engine zone where your cluster is deployed, - and then create and manage this project-level, per-location bucket - (see Dataproc staging and temp buckets - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). - This field requires a Cloud Storage bucket name, not a gs://... URI - to a Cloud Storage bucket. + attemptId: type: string - tempBucket: - description: >- - Optional. A Cloud Storage bucket used to store ephemeral cluster and - jobs data, such as Spark and MapReduce history files. If you do not - specify a temp bucket, Dataproc will determine a Cloud Storage - location (US, ASIA, or EU) for your cluster's temp bucket according - to the Compute Engine zone where your cluster is deployed, and then - create and manage this project-level, per-location bucket. The - default bucket has a TTL of 90 days, but you can use any TTL (or - none) if you specify a bucket (see Dataproc staging and temp buckets - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). - This field requires a Cloud Storage bucket name, not a gs://... URI - to a Cloud Storage bucket. + startTime: type: string - gceClusterConfig: - description: >- - Optional. The shared Compute Engine config settings for all - instances in a cluster. - $ref: '#/components/schemas/GceClusterConfig' - masterConfig: - description: >- - Optional. The Compute Engine config settings for the cluster's - master instance. - $ref: '#/components/schemas/InstanceGroupConfig' - workerConfig: - description: >- - Optional. The Compute Engine config settings for the cluster's - worker instances. - $ref: '#/components/schemas/InstanceGroupConfig' - secondaryWorkerConfig: - description: >- - Optional. The Compute Engine config settings for a cluster's - secondary worker instances - $ref: '#/components/schemas/InstanceGroupConfig' - softwareConfig: - description: Optional. The config settings for cluster software. - $ref: '#/components/schemas/SoftwareConfig' - initializationActions: - description: >- - Optional. Commands to execute on each node after config is - completed. By default, executables are run on master and all worker - nodes. You can test a node's role metadata to run an executable on a - master or worker node, as shown below using curl (you can also use - wget): ROLE=$(curl -H Metadata-Flavor:Google - http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) - if [[ "${ROLE}" == 'Master' ]]; then ... master specific actions ... - else ... worker specific actions ... fi - type: array - items: - $ref: '#/components/schemas/NodeInitializationAction' - encryptionConfig: - description: Optional. Encryption settings for the cluster. - $ref: '#/components/schemas/EncryptionConfig' - autoscalingConfig: - description: >- - Optional. Autoscaling config for the policy associated with the - cluster. Cluster does not autoscale if this field is unset. - $ref: '#/components/schemas/AutoscalingConfig' - securityConfig: - description: Optional. Security settings for the cluster. - $ref: '#/components/schemas/SecurityConfig' - lifecycleConfig: - description: Optional. Lifecycle setting for the cluster. - $ref: '#/components/schemas/LifecycleConfig' - endpointConfig: - description: Optional. Port/endpoint configuration for this cluster - $ref: '#/components/schemas/EndpointConfig' - metastoreConfig: - description: Optional. Metastore configuration. - $ref: '#/components/schemas/MetastoreConfig' - gkeClusterConfig: - description: >- - Optional. BETA. The Kubernetes Engine config for Dataproc clusters - deployed to The Kubernetes Engine config for Dataproc clusters - deployed to Kubernetes. These config settings are mutually exclusive - with Compute Engine-based options, such as gce_cluster_config, - master_config, worker_config, secondary_worker_config, and - autoscaling_config. - deprecated: true - $ref: '#/components/schemas/GkeClusterConfig' - dataprocMetricConfig: - description: Optional. The config for Dataproc metrics. - $ref: '#/components/schemas/DataprocMetricConfig' - auxiliaryNodeGroups: - description: Optional. The node group settings. + format: google-datetime + endTime: + type: string + format: google-datetime + lastUpdated: + type: string + format: google-datetime + durationMillis: + type: string + format: int64 + sparkUser: + type: string + completed: + type: boolean + appSparkVersion: + type: string + ApplicationEnvironmentInfo: + id: ApplicationEnvironmentInfo + description: Details about the Environment that the application is running in. + type: object + properties: + runtime: + $ref: '#/components/schemas/SparkRuntimeInfo' + sparkProperties: + type: object + additionalProperties: + type: string + hadoopProperties: + type: object + additionalProperties: + type: string + systemProperties: + type: object + additionalProperties: + type: string + metricsProperties: + type: object + additionalProperties: + type: string + classpathEntries: + type: object + additionalProperties: + type: string + resourceProfiles: type: array items: - $ref: '#/components/schemas/AuxiliaryNodeGroup' - GceClusterConfig: - id: GceClusterConfig - description: >- - Common config settings for resources of Compute Engine cluster - instances, applicable to all instances in the cluster. + $ref: '#/components/schemas/ResourceProfileInfo' + SparkRuntimeInfo: + id: SparkRuntimeInfo type: object properties: - zoneUri: - description: >- - Optional. The Compute Engine zone where the Dataproc cluster will be - located. If omitted, the service will pick a zone in the cluster's - Compute Engine region. On a get request, zone will always be - present.A full URL, partial URI, or short name are valid. Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] - projects/[project_id]/zones/[zone] [zone] + javaVersion: type: string - networkUri: - description: >- - Optional. The Compute Engine network to be used for machine - communications. Cannot be specified with subnetwork_uri. If neither - network_uri nor subnetwork_uri is specified, the "default" network - of the project is used, if it exists. Cannot be a "Custom Subnet - Network" (see Using Subnetworks - (https://cloud.google.com/compute/docs/subnetworks) for more - information).A full URL, partial URI, or short name are valid. - Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default - projects/[project_id]/global/networks/default default + javaHome: type: string - subnetworkUri: - description: >- - Optional. The Compute Engine subnetwork to be used for machine - communications. Cannot be specified with network_uri.A full URL, - partial URI, or short name are valid. Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0 - projects/[project_id]/regions/[region]/subnetworks/sub0 sub0 + scalaVersion: type: string - internalIpOnly: - description: >- - Optional. This setting applies to subnetwork-enabled networks. It is - set to true by default in clusters created with image versions - 2.2.x.When set to true: All cluster VMs have internal IP addresses. - Google Private Access - (https://cloud.google.com/vpc/docs/private-google-access) must be - enabled to access Dataproc and other Google Cloud APIs. Off-cluster - dependencies must be configured to be accessible without external IP - addresses.When set to false: Cluster VMs are not restricted to - internal IP addresses. Ephemeral external IP addresses are assigned - to each cluster VM. - type: boolean - privateIpv6GoogleAccess: - description: Optional. The type of IPv6 access for a cluster. - type: string - enumDescriptions: - - >- - If unspecified, Compute Engine default behavior will apply, which - is the same as INHERIT_FROM_SUBNETWORK. - - >- - Private access to and from Google Services configuration inherited - from the subnetwork configuration. This is the default Compute - Engine behavior. - - >- - Enables outbound private IPv6 access to Google Services from the - Dataproc cluster. - - >- - Enables bidirectional private IPv6 access between Google Services - and the Dataproc cluster. - enum: - - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED - - INHERIT_FROM_SUBNETWORK - - OUTBOUND - - BIDIRECTIONAL - serviceAccount: - description: >- - Optional. The Dataproc service account - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) - (also see VM Data Plane identity - (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) - used by Dataproc cluster VM instances to access Google Cloud - Platform services.If not specified, the Compute Engine default - service account - (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) - is used. - type: string - serviceAccountScopes: - description: >- - Optional. The URIs of service account scopes to be included in - Compute Engine instances. The following base set of scopes is always - included: - https://www.googleapis.com/auth/cloud.useraccounts.readonly - https://www.googleapis.com/auth/devstorage.read_write - https://www.googleapis.com/auth/logging.writeIf no scopes are - specified, the following defaults are also provided: - https://www.googleapis.com/auth/bigquery - https://www.googleapis.com/auth/bigtable.admin.table - https://www.googleapis.com/auth/bigtable.data - https://www.googleapis.com/auth/devstorage.full_control - type: array - items: - type: string - tags: - description: >- - The Compute Engine network tags to add to all instances (see Tagging - instances - (https://cloud.google.com/vpc/docs/add-remove-network-tags)). - type: array - items: - type: string - metadata: - description: >- - Optional. The Compute Engine metadata entries to add to all - instances (see Project and instance metadata - (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). + ResourceProfileInfo: + id: ResourceProfileInfo + description: >- + Resource profile that contains information about all the resources + required by executors and tasks. + type: object + properties: + resourceProfileId: + type: integer + format: int32 + executorResources: type: object additionalProperties: - type: string - reservationAffinity: - description: Optional. Reservation Affinity for consuming Zonal reservation. - $ref: '#/components/schemas/ReservationAffinity' - nodeGroupAffinity: - description: Optional. Node Group Affinity for sole-tenant clusters. - $ref: '#/components/schemas/NodeGroupAffinity' - shieldedInstanceConfig: - description: >- - Optional. Shielded Instance Config for clusters using Compute Engine - Shielded VMs - (https://cloud.google.com/security/shielded-cloud/shielded-vm). - $ref: '#/components/schemas/ShieldedInstanceConfig' - confidentialInstanceConfig: - description: >- - Optional. Confidential Instance Config for clusters using - Confidential VMs - (https://cloud.google.com/compute/confidential-vm/docs). - $ref: '#/components/schemas/ConfidentialInstanceConfig' - ReservationAffinity: - id: ReservationAffinity - description: Reservation Affinity for consuming Zonal reservation. + $ref: '#/components/schemas/ExecutorResourceRequest' + taskResources: + type: object + additionalProperties: + $ref: '#/components/schemas/TaskResourceRequest' + ExecutorResourceRequest: + id: ExecutorResourceRequest + description: Resources used per executor used by the application. type: object properties: - consumeReservationType: - description: Optional. Type of reservation to consume + resourceName: type: string - enumDescriptions: - - '' - - Do not consume from any allocated capacity. - - Consume any reservation available. - - >- - Must consume from a specific reservation. Must specify key value - fields for specifying the reservations. - enum: - - TYPE_UNSPECIFIED - - NO_RESERVATION - - ANY_RESERVATION - - SPECIFIC_RESERVATION - key: - description: Optional. Corresponds to the label key of reservation resource. + amount: type: string - values: - description: Optional. Corresponds to the label values of reservation resource. - type: array - items: - type: string - NodeGroupAffinity: - id: NodeGroupAffinity - description: >- - Node Group Affinity for clusters using sole-tenant node groups. The - Dataproc NodeGroupAffinity resource is not related to the Dataproc - NodeGroup resource. - type: object - properties: - nodeGroupUri: - description: >- - Required. The URI of a sole-tenant node group resource - (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) - that the cluster will be created on.A full URL, partial URI, or node - group name are valid. Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 - projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 - node-group-1 + format: int64 + discoveryScript: type: string - ShieldedInstanceConfig: - id: ShieldedInstanceConfig - description: >- - Shielded Instance Config for clusters using Compute Engine Shielded VMs - (https://cloud.google.com/security/shielded-cloud/shielded-vm). - type: object - properties: - enableSecureBoot: - description: Optional. Defines whether instances have Secure Boot enabled. - type: boolean - enableVtpm: - description: Optional. Defines whether instances have the vTPM enabled. - type: boolean - enableIntegrityMonitoring: - description: >- - Optional. Defines whether instances have integrity monitoring - enabled. - type: boolean - ConfidentialInstanceConfig: - id: ConfidentialInstanceConfig - description: >- - Confidential Instance Config for clusters using Confidential VMs - (https://cloud.google.com/compute/confidential-vm/docs) + vendor: + type: string + TaskResourceRequest: + id: TaskResourceRequest + description: Resources used per task created by the application. type: object properties: - enableConfidentialCompute: - description: >- - Optional. Defines whether the instance should have confidential - compute enabled. - type: boolean - InstanceGroupConfig: - id: InstanceGroupConfig - description: >- - The config settings for Compute Engine resources in an instance group, - such as a master or worker group. + resourceName: + type: string + amount: + type: number + format: double + AppSummary: + id: AppSummary type: object properties: - numInstances: - description: >- - Optional. The number of VM instances in the instance group. For HA - cluster master_config groups, must be set to 3. For standard cluster - master_config groups, must be set to 1. + numCompletedJobs: type: integer format: int32 - instanceNames: - description: >- - Output only. The list of instance names. Dataproc derives the names - from cluster_name, num_instances, and the instance group. - readOnly: true + numCompletedStages: + type: integer + format: int32 + JobData: + id: JobData + description: Data corresponding to a spark job. + type: object + properties: + jobId: + type: string + format: int64 + name: + type: string + description: + type: string + submissionTime: + type: string + format: google-datetime + completionTime: + type: string + format: google-datetime + stageIds: type: array items: type: string - instanceReferences: - description: Output only. List of references to Compute Engine instances. - readOnly: true - type: array - items: - $ref: '#/components/schemas/InstanceReference' - imageUri: - description: >- - Optional. The Compute Engine image resource used for cluster - instances.The URI can represent an image or image family.Image - examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] - projects/[project_id]/global/images/[image-id] image-idImage family - examples. Dataproc will use the most recent image from the family: - https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] - projects/[project_id]/global/images/family/[custom-image-family-name]If - the URI is unspecified, it will be inferred from - SoftwareConfig.image_version or the system default. - type: string - machineTypeUri: - description: >- - Optional. The Compute Engine machine type used for cluster - instances.A full URL, partial URI, or short name are valid. - Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 - projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 - n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto - Zone Placement - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) - feature, you must use the short name of the machine type resource, - for example, n1-standard-2. + format: int64 + jobGroup: type: string - diskConfig: - description: Optional. Disk option config settings. - $ref: '#/components/schemas/DiskConfig' - isPreemptible: - description: >- - Output only. Specifies that this instance group contains preemptible - instances. - readOnly: true - type: boolean - preemptibility: - description: >- - Optional. Specifies the preemptibility of the instance group.The - default value for master and worker groups is NON_PREEMPTIBLE. This - default cannot be changed.The default value for secondary instances - is PREEMPTIBLE. + status: type: string enumDescriptions: - - >- - Preemptibility is unspecified, the system will choose the - appropriate setting for each instance group. - - >- - Instances are non-preemptible.This option is allowed for all - instance groups and is the only valid value for Master and Worker - instance groups. - - >- - Instances are preemptible - (https://cloud.google.com/compute/docs/instances/preemptible).This - option is allowed only for secondary worker - (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) - groups. - - >- - Instances are Spot VMs - (https://cloud.google.com/compute/docs/instances/spot).This option - is allowed only for secondary worker - (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) - groups. Spot VMs are the latest version of preemptible VMs - (https://cloud.google.com/compute/docs/instances/preemptible), and - provide additional features. + - '' + - '' + - '' + - '' + - '' enum: - - PREEMPTIBILITY_UNSPECIFIED - - NON_PREEMPTIBLE - - PREEMPTIBLE - - SPOT - managedGroupConfig: - description: >- - Output only. The config for Compute Engine Instance Group Manager - that manages this group. This is only used for preemptible instance - groups. - readOnly: true - $ref: '#/components/schemas/ManagedGroupConfig' - accelerators: - description: >- - Optional. The Compute Engine accelerator configuration for these - instances. + - JOB_EXECUTION_STATUS_UNSPECIFIED + - JOB_EXECUTION_STATUS_RUNNING + - JOB_EXECUTION_STATUS_SUCCEEDED + - JOB_EXECUTION_STATUS_FAILED + - JOB_EXECUTION_STATUS_UNKNOWN + numTasks: + type: integer + format: int32 + numActiveTasks: + type: integer + format: int32 + numCompletedTasks: + type: integer + format: int32 + numSkippedTasks: + type: integer + format: int32 + numFailedTasks: + type: integer + format: int32 + numKilledTasks: + type: integer + format: int32 + numCompletedIndices: + type: integer + format: int32 + numActiveStages: + type: integer + format: int32 + numCompletedStages: + type: integer + format: int32 + numSkippedStages: + type: integer + format: int32 + numFailedStages: + type: integer + format: int32 + killTasksSummary: + type: object + additionalProperties: + type: integer + format: int32 + skippedStages: type: array items: - $ref: '#/components/schemas/AcceleratorConfig' - minCpuPlatform: - description: >- - Optional. Specifies the minimum cpu platform for the Instance Group. - See Dataproc -> Minimum CPU Platform - (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + type: integer + format: int32 + sqlExecutionId: type: string - minNumInstances: - description: >- - Optional. The minimum number of primary worker instances to create. - If min_num_instances is set, cluster creation will succeed if the - number of primary workers created is at least equal to the - min_num_instances number.Example: Cluster creation request with - num_instances = 5 and min_num_instances = 3: If 4 VMs are created - and 1 instance fails, the failed VM is deleted. The cluster is - resized to 4 instances and placed in a RUNNING state. If 2 instances - are created and 3 instances fail, the cluster in placed in an ERROR - state. The failed VMs are not deleted. - type: integer - format: int32 - instanceFlexibilityPolicy: - description: >- - Optional. Instance flexibility Policy allowing a mixture of VM - shapes and provisioning models. - $ref: '#/components/schemas/InstanceFlexibilityPolicy' - startupConfig: - description: >- - Optional. Configuration to handle the startup of instances during - cluster create and update process. - $ref: '#/components/schemas/StartupConfig' - InstanceReference: - id: InstanceReference - description: A reference to a Compute Engine instance. + format: int64 + StageData: + id: StageData + description: Data corresponding to a stage. type: object properties: - instanceName: - description: The user-friendly name of the Compute Engine instance. + status: type: string - instanceId: - description: The unique identifier of the Compute Engine instance. + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - STAGE_STATUS_UNSPECIFIED + - STAGE_STATUS_ACTIVE + - STAGE_STATUS_COMPLETE + - STAGE_STATUS_FAILED + - STAGE_STATUS_PENDING + - STAGE_STATUS_SKIPPED + stageId: type: string - publicKey: - description: The public RSA key used for sharing data with this instance. + format: int64 + stageAttemptId: + type: integer + format: int32 + numTasks: + type: integer + format: int32 + numActiveTasks: + type: integer + format: int32 + numCompleteTasks: + type: integer + format: int32 + numFailedTasks: + type: integer + format: int32 + numKilledTasks: + type: integer + format: int32 + numCompletedIndices: + type: integer + format: int32 + submissionTime: type: string - publicEciesKey: - description: The public ECIES key used for sharing data with this instance. + format: google-datetime + firstTaskLaunchedTime: type: string - DiskConfig: - id: DiskConfig - description: Specifies the config of disk options for a group of VM instances. - type: object - properties: - bootDiskType: - description: >- - Optional. Type of the boot disk (default is "pd-standard"). Valid - values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), - "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" - (Persistent Disk Hard Disk Drive). See Disk types - (https://cloud.google.com/compute/docs/disks#disk-types). + format: google-datetime + completionTime: type: string - bootDiskSizeGb: - description: Optional. Size in GB of the boot disk (default is 500GB). + format: google-datetime + failureReason: + type: string + stageMetrics: + $ref: '#/components/schemas/StageMetrics' + name: + type: string + description: + type: string + details: + type: string + schedulingPool: + type: string + rddIds: + type: array + items: + type: string + format: int64 + accumulatorUpdates: + type: array + items: + $ref: '#/components/schemas/AccumulableInfo' + tasks: + type: object + additionalProperties: + $ref: '#/components/schemas/TaskData' + executorSummary: + type: object + additionalProperties: + $ref: '#/components/schemas/ExecutorStageSummary' + speculationSummary: + $ref: '#/components/schemas/SpeculationStageSummary' + killedTasksSummary: + type: object + additionalProperties: + type: integer + format: int32 + resourceProfileId: type: integer format: int32 - numLocalSsds: - description: >- - Optional. Number of attached SSDs, from 0 to 8 (default is 0). If - SSDs are not attached, the boot disk is used to store runtime logs - and HDFS - (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. - If one or more SSDs are attached, this runtime bulk data is spread - across them, and the boot disk contains only basic config and - installed binaries.Note: Local SSD options may vary by machine type - and number of vCPUs selected. + peakExecutorMetrics: + $ref: '#/components/schemas/ExecutorMetrics' + executorMetricsDistributions: + $ref: '#/components/schemas/ExecutorMetricsDistributions' + isShufflePushEnabled: + type: boolean + shuffleMergersCount: type: integer format: int32 - localSsdInterface: + jobIds: + type: array + items: + type: string + format: int64 + locality: + type: object + additionalProperties: + type: string + format: int64 + parentStageIds: + type: array + items: + type: string + format: int64 + taskQuantileMetrics: description: >- - Optional. Interface type of local SSDs (default is "scsi"). Valid - values: "scsi" (Small Computer System Interface), "nvme" - (Non-Volatile Memory Express). See local SSD performance - (https://cloud.google.com/compute/docs/disks/local-ssd#performance). + Summary metrics fields. These are included in response only if + present in summary_metrics_mask field in request + $ref: '#/components/schemas/TaskQuantileMetrics' + StageMetrics: + id: StageMetrics + description: Stage Level Aggregated Metrics + type: object + properties: + executorDeserializeTimeMillis: type: string - bootDiskProvisionedIops: - description: >- - Optional. Indicates how many IOPS to provision for the disk. This - sets the number of I/O operations per second that the disk can - handle. Note: This field is only supported if boot_disk_type is - hyperdisk-balanced. + format: int64 + executorDeserializeCpuTimeNanos: type: string format: int64 - bootDiskProvisionedThroughput: - description: >- - Optional. Indicates how much throughput to provision for the disk. - This sets the number of throughput mb per second that the disk can - handle. Values must be greater than or equal to 1. Note: This field - is only supported if boot_disk_type is hyperdisk-balanced. + executorRunTimeMillis: type: string format: int64 - ManagedGroupConfig: - id: ManagedGroupConfig - description: Specifies the resources used to actively manage an instance group. + executorCpuTimeNanos: + type: string + format: int64 + resultSize: + type: string + format: int64 + jvmGcTimeMillis: + type: string + format: int64 + resultSerializationTimeMillis: + type: string + format: int64 + memoryBytesSpilled: + type: string + format: int64 + diskBytesSpilled: + type: string + format: int64 + peakExecutionMemoryBytes: + type: string + format: int64 + stageInputMetrics: + $ref: '#/components/schemas/StageInputMetrics' + stageOutputMetrics: + $ref: '#/components/schemas/StageOutputMetrics' + stageShuffleReadMetrics: + $ref: '#/components/schemas/StageShuffleReadMetrics' + stageShuffleWriteMetrics: + $ref: '#/components/schemas/StageShuffleWriteMetrics' + StageInputMetrics: + id: StageInputMetrics + description: Metrics about the input read by the stage. type: object properties: - instanceTemplateName: - description: >- - Output only. The name of the Instance Template used for the Managed - Instance Group. - readOnly: true + bytesRead: type: string - instanceGroupManagerName: - description: Output only. The name of the Instance Group Manager for this group. - readOnly: true + format: int64 + recordsRead: type: string - instanceGroupManagerUri: - description: >- - Output only. The partial URI to the instance group manager for this - group. E.g. - projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. - readOnly: true + format: int64 + StageOutputMetrics: + id: StageOutputMetrics + description: Metrics about the output written by the stage. + type: object + properties: + bytesWritten: type: string - AcceleratorConfig: - id: AcceleratorConfig - description: >- - Specifies the type and number of accelerator cards attached to the - instances of an instance. See GPUs on Compute Engine - (https://cloud.google.com/compute/docs/gpus/). + format: int64 + recordsWritten: + type: string + format: int64 + StageShuffleReadMetrics: + id: StageShuffleReadMetrics + description: Shuffle data read for the stage. type: object properties: - acceleratorTypeUri: - description: >- - Full URL, partial URI, or short name of the accelerator type - resource to expose to this instance. See Compute Engine - AcceleratorTypes - (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 - projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 - nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc - Auto Zone Placement - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) - feature, you must use the short name of the accelerator type - resource, for example, nvidia-tesla-t4. + remoteBlocksFetched: type: string - acceleratorCount: - description: >- - The number of the accelerator cards of this type exposed to this - instance. - type: integer - format: int32 - InstanceFlexibilityPolicy: - id: InstanceFlexibilityPolicy - description: >- - Instance flexibility Policy allowing a mixture of VM shapes and - provisioning models. - type: object - properties: - instanceSelectionList: - description: >- - Optional. List of instance selection options that the group will use - when creating new VMs. - type: array - items: - $ref: '#/components/schemas/InstanceSelection' - instanceSelectionResults: - description: Output only. A list of instance selection results in the group. - readOnly: true - type: array - items: - $ref: '#/components/schemas/InstanceSelectionResult' - InstanceSelection: - id: InstanceSelection - description: Defines machines types and a rank to which the machines types belong. + format: int64 + localBlocksFetched: + type: string + format: int64 + fetchWaitTimeMillis: + type: string + format: int64 + remoteBytesRead: + type: string + format: int64 + remoteBytesReadToDisk: + type: string + format: int64 + localBytesRead: + type: string + format: int64 + recordsRead: + type: string + format: int64 + bytesRead: + type: string + format: int64 + remoteReqsDuration: + type: string + format: int64 + stageShufflePushReadMetrics: + $ref: '#/components/schemas/StageShufflePushReadMetrics' + StageShufflePushReadMetrics: + id: StageShufflePushReadMetrics type: object properties: - machineTypes: - description: Optional. Full machine-type names, e.g. "n1-standard-16". - type: array - items: - type: string - rank: - description: >- - Optional. Preference of this instance selection. Lower number means - higher preference. Dataproc will first try to create a VM based on - the machine-type with priority rank and fallback to next rank based - on availability. Machine types and instance selections with the same - priority have the same preference. - type: integer - format: int32 - InstanceSelectionResult: - id: InstanceSelectionResult - description: >- - Defines a mapping from machine types to the number of VMs that are - created with each machine type. + corruptMergedBlockChunks: + type: string + format: int64 + mergedFetchFallbackCount: + type: string + format: int64 + remoteMergedBlocksFetched: + type: string + format: int64 + localMergedBlocksFetched: + type: string + format: int64 + remoteMergedChunksFetched: + type: string + format: int64 + localMergedChunksFetched: + type: string + format: int64 + remoteMergedBytesRead: + type: string + format: int64 + localMergedBytesRead: + type: string + format: int64 + remoteMergedReqsDuration: + type: string + format: int64 + StageShuffleWriteMetrics: + id: StageShuffleWriteMetrics + description: Shuffle data written for the stage. type: object properties: - machineType: - description: Output only. Full machine-type names, e.g. "n1-standard-16". - readOnly: true + bytesWritten: type: string - vmCount: - description: Output only. Number of VM provisioned with the machine_type. - readOnly: true - type: integer - format: int32 - StartupConfig: - id: StartupConfig - description: >- - Configuration to handle the startup of instances during cluster create - and update process. + format: int64 + writeTimeNanos: + type: string + format: int64 + recordsWritten: + type: string + format: int64 + AccumulableInfo: + id: AccumulableInfo type: object properties: - requiredRegistrationFraction: - description: >- - Optional. The config setting to enable cluster creation/ updation to - be successful only after required_registration_fraction of instances - are up and running. This configuration is applicable to only - secondary workers for now. The cluster will fail if - required_registration_fraction of instances are not available. This - will include instance creation, agent registration, and service - registration (if enabled). - type: number - format: double - SoftwareConfig: - id: SoftwareConfig - description: Specifies the selection and config of software inside the cluster. + accumullableInfoId: + type: string + format: int64 + name: + type: string + update: + type: string + value: + type: string + TaskData: + id: TaskData + description: Data corresponding to tasks created by spark. type: object properties: - imageVersion: - description: >- - Optional. The version of software inside the cluster. It must be one - of the supported Dataproc Versions - (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), - such as "1.2" (including a subminor version, such as "1.2.29"), or - the "preview" version - (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). - If unspecified, it defaults to the latest Debian version. + stageId: type: string - properties: - description: >- - Optional. The properties to set on daemon config files.Property keys - are specified in prefix:property format, for example - core:hadoop.tmp.dir. The following are supported prefixes and their - mappings: capacity-scheduler: capacity-scheduler.xml core: - core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: - hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: - spark-defaults.conf yarn: yarn-site.xmlFor more information, see - Cluster properties - (https://cloud.google.com/dataproc/docs/concepts/cluster-properties). - type: object - additionalProperties: - type: string - optionalComponents: - description: Optional. The set of components to activate on the cluster. + format: int64 + stageAttemptId: + type: integer + format: int32 + taskId: + type: string + format: int64 + index: + type: integer + format: int32 + attempt: + type: integer + format: int32 + partitionId: + type: integer + format: int32 + launchTime: + type: string + format: google-datetime + resultFetchStart: + type: string + format: google-datetime + durationMillis: + type: string + format: int64 + executorId: + type: string + host: + type: string + status: + type: string + taskLocality: + type: string + speculative: + type: boolean + accumulatorUpdates: type: array items: + $ref: '#/components/schemas/AccumulableInfo' + errorMessage: + type: string + hasMetrics: + type: boolean + taskMetrics: + $ref: '#/components/schemas/TaskMetrics' + executorLogs: + type: object + additionalProperties: type: string - enumDescriptions: - - >- - Unspecified component. Specifying this will cause Cluster - creation to fail. - - >- - The Anaconda component is no longer supported or applicable to - supported Dataproc on Compute Engine image versions - (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-version-clusters#supported-dataproc-image-versions). - It cannot be activated on clusters created with supported - Dataproc on Compute Engine image versions. - - Docker - - The Druid query engine. (alpha) - - Flink - - HBase. (beta) - - The Hive Web HCatalog (the REST service for accessing HCatalog). - - Hudi. - - The Jupyter Notebook. - - The Presto query engine. - - The Trino query engine. - - The Ranger service. - - The Solr service. - - The Zeppelin notebook. - - The Zookeeper service. - enum: - - COMPONENT_UNSPECIFIED - - ANACONDA - - DOCKER - - DRUID - - FLINK - - HBASE - - HIVE_WEBHCAT - - HUDI - - JUPYTER - - PRESTO - - TRINO - - RANGER - - SOLR - - ZEPPELIN - - ZOOKEEPER - NodeInitializationAction: - id: NodeInitializationAction - description: >- - Specifies an executable to run on a fully configured node and a timeout - period for executable completion. - type: object - properties: - executableFile: - description: Required. Cloud Storage URI of executable file. + schedulerDelayMillis: type: string - executionTimeout: - description: >- - Optional. Amount of time executable has to complete. Default is 10 - minutes (see JSON representation of Duration - (https://developers.google.com/protocol-buffers/docs/proto3#json)).Cluster - creation fails with an explanatory error message (the name of the - executable that caused the error and the exceeded timeout period) if - the executable is not completed at end of the timeout period. + format: int64 + gettingResultTimeMillis: type: string - format: google-duration - EncryptionConfig: - id: EncryptionConfig - description: Encryption settings for the cluster. + format: int64 + TaskMetrics: + id: TaskMetrics + description: Executor Task Metrics type: object properties: - gcePdKmsKeyName: - description: >- - Optional. The Cloud KMS key resource name to use for persistent disk - encryption for all instances in the cluster. See Use CMEK with - cluster data - (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) - for more information. + executorDeserializeTimeMillis: type: string - kmsKey: - description: >- - Optional. The Cloud KMS key resource name to use for cluster - persistent disk and job argument encryption. See Use CMEK with - cluster data - (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) - for more information.When this key resource name is provided, the - following job arguments of the following job types submitted to the - cluster are encrypted using CMEK: FlinkJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) - HadoopJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) - SparkJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) - SparkRJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) - PySparkJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) - SparkSqlJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) - scriptVariables and queryList.queries HiveJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) - scriptVariables and queryList.queries PigJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) - scriptVariables and queryList.queries PrestoJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) - scriptVariables and queryList.queries + format: int64 + executorDeserializeCpuTimeNanos: type: string - AutoscalingConfig: - id: AutoscalingConfig - description: Autoscaling Policy config associated with the cluster. + format: int64 + executorRunTimeMillis: + type: string + format: int64 + executorCpuTimeNanos: + type: string + format: int64 + resultSize: + type: string + format: int64 + jvmGcTimeMillis: + type: string + format: int64 + resultSerializationTimeMillis: + type: string + format: int64 + memoryBytesSpilled: + type: string + format: int64 + diskBytesSpilled: + type: string + format: int64 + peakExecutionMemoryBytes: + type: string + format: int64 + inputMetrics: + $ref: '#/components/schemas/InputMetrics' + outputMetrics: + $ref: '#/components/schemas/OutputMetrics' + shuffleReadMetrics: + $ref: '#/components/schemas/ShuffleReadMetrics' + shuffleWriteMetrics: + $ref: '#/components/schemas/ShuffleWriteMetrics' + InputMetrics: + id: InputMetrics + description: Metrics about the input data read by the task. type: object properties: - policyUri: - description: >- - Optional. The autoscaling policy used by the cluster.Only resource - names including projectid and location (region) are valid. Examples: - https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] - projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note - that the policy must be in the same project and Dataproc region. + bytesRead: type: string - SecurityConfig: - id: SecurityConfig - description: Security related configuration, including encryption, Kerberos, etc. + format: int64 + recordsRead: + type: string + format: int64 + OutputMetrics: + id: OutputMetrics + description: Metrics about the data written by the task. type: object properties: - kerberosConfig: - description: Optional. Kerberos related configuration. - $ref: '#/components/schemas/KerberosConfig' - identityConfig: - description: >- - Optional. Identity related configuration, including service account - based secure multi-tenancy user mappings. - $ref: '#/components/schemas/IdentityConfig' - KerberosConfig: - id: KerberosConfig - description: Specifies Kerberos related configuration. + bytesWritten: + type: string + format: int64 + recordsWritten: + type: string + format: int64 + ShuffleReadMetrics: + id: ShuffleReadMetrics + description: Shuffle data read by the task. type: object properties: - enableKerberos: - description: >- - Optional. Flag to indicate whether to Kerberize the cluster - (default: false). Set this field to true to enable Kerberos on a - cluster. - type: boolean - rootPrincipalPasswordUri: - description: >- - Optional. The Cloud Storage URI of a KMS encrypted file containing - the root principal password. + remoteBlocksFetched: type: string - kmsKeyUri: - description: Optional. The URI of the KMS key used to encrypt sensitive files. + format: int64 + localBlocksFetched: type: string - keystoreUri: - description: >- - Optional. The Cloud Storage URI of the keystore file used for SSL - encryption. If not provided, Dataproc will provide a self-signed - certificate. + format: int64 + fetchWaitTimeMillis: type: string - truststoreUri: - description: >- - Optional. The Cloud Storage URI of the truststore file used for SSL - encryption. If not provided, Dataproc will provide a self-signed - certificate. + format: int64 + remoteBytesRead: type: string - keystorePasswordUri: - description: >- - Optional. The Cloud Storage URI of a KMS encrypted file containing - the password to the user provided keystore. For the self-signed - certificate, this password is generated by Dataproc. + format: int64 + remoteBytesReadToDisk: type: string - keyPasswordUri: - description: >- - Optional. The Cloud Storage URI of a KMS encrypted file containing - the password to the user provided key. For the self-signed - certificate, this password is generated by Dataproc. + format: int64 + localBytesRead: type: string - truststorePasswordUri: - description: >- - Optional. The Cloud Storage URI of a KMS encrypted file containing - the password to the user provided truststore. For the self-signed - certificate, this password is generated by Dataproc. + format: int64 + recordsRead: type: string - crossRealmTrustRealm: - description: >- - Optional. The remote realm the Dataproc on-cluster KDC will trust, - should the user enable cross realm trust. + format: int64 + remoteReqsDuration: type: string - crossRealmTrustKdc: - description: >- - Optional. The KDC (IP or hostname) for the remote trusted realm in a - cross realm trust relationship. + format: int64 + shufflePushReadMetrics: + $ref: '#/components/schemas/ShufflePushReadMetrics' + ShufflePushReadMetrics: + id: ShufflePushReadMetrics + type: object + properties: + corruptMergedBlockChunks: type: string - crossRealmTrustAdminServer: - description: >- - Optional. The admin server (IP or hostname) for the remote trusted - realm in a cross realm trust relationship. + format: int64 + mergedFetchFallbackCount: type: string - crossRealmTrustSharedPasswordUri: - description: >- - Optional. The Cloud Storage URI of a KMS encrypted file containing - the shared password between the on-cluster Kerberos realm and the - remote trusted realm, in a cross realm trust relationship. + format: int64 + remoteMergedBlocksFetched: type: string - kdcDbKeyUri: - description: >- - Optional. The Cloud Storage URI of a KMS encrypted file containing - the master key of the KDC database. + format: int64 + localMergedBlocksFetched: type: string - tgtLifetimeHours: - description: >- - Optional. The lifetime of the ticket granting ticket, in hours. If - not specified, or user specifies 0, then default value 10 will be - used. - type: integer - format: int32 - realm: - description: >- - Optional. The name of the on-cluster Kerberos realm. If not - specified, the uppercased domain of hostnames will be the realm. + format: int64 + remoteMergedChunksFetched: type: string - IdentityConfig: - id: IdentityConfig - description: >- - Identity related configuration, including service account based secure - multi-tenancy user mappings. + format: int64 + localMergedChunksFetched: + type: string + format: int64 + remoteMergedBytesRead: + type: string + format: int64 + localMergedBytesRead: + type: string + format: int64 + remoteMergedReqsDuration: + type: string + format: int64 + ShuffleWriteMetrics: + id: ShuffleWriteMetrics + description: Shuffle data written by task. type: object properties: - userServiceAccountMapping: - description: Required. Map of user to service account. - type: object - additionalProperties: - type: string - LifecycleConfig: - id: LifecycleConfig - description: Specifies the cluster auto-delete schedule configuration. + bytesWritten: + type: string + format: int64 + writeTimeNanos: + type: string + format: int64 + recordsWritten: + type: string + format: int64 + ExecutorStageSummary: + id: ExecutorStageSummary + description: Executor resources consumed by a stage. type: object properties: - idleDeleteTtl: - description: >- - Optional. The duration to keep the cluster alive while idling (when - no jobs are running). Passing this threshold will cause the cluster - to be deleted. Minimum value is 5 minutes; maximum value is 14 days - (see JSON representation of Duration - (https://developers.google.com/protocol-buffers/docs/proto3#json)). + stageId: type: string - format: google-duration - autoDeleteTime: - description: >- - Optional. The time when cluster will be auto-deleted (see JSON - representation of Timestamp - (https://developers.google.com/protocol-buffers/docs/proto3#json)). + format: int64 + stageAttemptId: + type: integer + format: int32 + executorId: type: string - format: google-datetime - autoDeleteTtl: - description: >- - Optional. The lifetime duration of cluster. The cluster will be - auto-deleted at the end of this period. Minimum value is 10 minutes; - maximum value is 14 days (see JSON representation of Duration - (https://developers.google.com/protocol-buffers/docs/proto3#json)). + taskTimeMillis: type: string - format: google-duration - idleStartTime: - description: >- - Output only. The time when cluster became idle (most recent job - finished) and became eligible for deletion due to idleness (see JSON - representation of Timestamp - (https://developers.google.com/protocol-buffers/docs/proto3#json)). - readOnly: true + format: int64 + failedTasks: + type: integer + format: int32 + succeededTasks: + type: integer + format: int32 + killedTasks: + type: integer + format: int32 + inputBytes: type: string - format: google-datetime - EndpointConfig: - id: EndpointConfig - description: Endpoint config for this cluster + format: int64 + inputRecords: + type: string + format: int64 + outputBytes: + type: string + format: int64 + outputRecords: + type: string + format: int64 + shuffleRead: + type: string + format: int64 + shuffleReadRecords: + type: string + format: int64 + shuffleWrite: + type: string + format: int64 + shuffleWriteRecords: + type: string + format: int64 + memoryBytesSpilled: + type: string + format: int64 + diskBytesSpilled: + type: string + format: int64 + isExcludedForStage: + type: boolean + peakMemoryMetrics: + $ref: '#/components/schemas/ExecutorMetrics' + ExecutorMetrics: + id: ExecutorMetrics type: object properties: - httpPorts: - description: >- - Output only. The map of port descriptions to URLs. Will only be - populated if enable_http_port_access is true. - readOnly: true + metrics: type: object additionalProperties: type: string - enableHttpPortAccess: - description: >- - Optional. If true, enable http access to specific ports on the - cluster from external sources. Defaults to false. - type: boolean - MetastoreConfig: - id: MetastoreConfig - description: Specifies a Metastore configuration. + format: int64 + SpeculationStageSummary: + id: SpeculationStageSummary + description: Details of the speculation task when speculative execution is enabled. type: object properties: - dataprocMetastoreService: - description: >- - Required. Resource name of an existing Dataproc Metastore - service.Example: - projects/[project_id]/locations/[dataproc_region]/services/[service-name] + stageId: type: string - GkeClusterConfig: - id: GkeClusterConfig - description: The cluster's GKE config. + format: int64 + stageAttemptId: + type: integer + format: int32 + numTasks: + type: integer + format: int32 + numActiveTasks: + type: integer + format: int32 + numCompletedTasks: + type: integer + format: int32 + numFailedTasks: + type: integer + format: int32 + numKilledTasks: + type: integer + format: int32 + ExecutorMetricsDistributions: + id: ExecutorMetricsDistributions type: object properties: - namespacedGkeDeploymentTarget: - description: >- - Optional. Deprecated. Use gkeClusterTarget. Used only for the - deprecated beta. A target for the deployment. - deprecated: true - $ref: '#/components/schemas/NamespacedGkeDeploymentTarget' - gkeClusterTarget: - description: >- - Optional. A target GKE cluster to deploy to. It must be in the same - project and region as the Dataproc cluster (the GKE cluster can be - zonal or regional). Format: - 'projects/{project}/locations/{location}/clusters/{cluster_id}' - type: string - nodePoolTarget: - description: >- - Optional. GKE node pools where workloads will be scheduled. At least - one node pool must be assigned the DEFAULT GkeNodePoolTarget.Role. - If a GkeNodePoolTarget is not specified, Dataproc constructs a - DEFAULT GkeNodePoolTarget. Each role can be given to only one - GkeNodePoolTarget. All node pools must have the same location - settings. + quantiles: type: array items: - $ref: '#/components/schemas/GkeNodePoolTarget' - NamespacedGkeDeploymentTarget: - id: NamespacedGkeDeploymentTarget - deprecated: true + type: number + format: double + taskTimeMillis: + type: array + items: + type: number + format: double + failedTasks: + type: array + items: + type: number + format: double + succeededTasks: + type: array + items: + type: number + format: double + killedTasks: + type: array + items: + type: number + format: double + inputBytes: + type: array + items: + type: number + format: double + inputRecords: + type: array + items: + type: number + format: double + outputBytes: + type: array + items: + type: number + format: double + outputRecords: + type: array + items: + type: number + format: double + shuffleRead: + type: array + items: + type: number + format: double + shuffleReadRecords: + type: array + items: + type: number + format: double + shuffleWrite: + type: array + items: + type: number + format: double + shuffleWriteRecords: + type: array + items: + type: number + format: double + memoryBytesSpilled: + type: array + items: + type: number + format: double + diskBytesSpilled: + type: array + items: + type: number + format: double + peakMemoryMetrics: + $ref: '#/components/schemas/ExecutorPeakMetricsDistributions' + ExecutorPeakMetricsDistributions: + id: ExecutorPeakMetricsDistributions + type: object + properties: + quantiles: + type: array + items: + type: number + format: double + executorMetrics: + type: array + items: + $ref: '#/components/schemas/ExecutorMetrics' + TaskQuantileMetrics: + id: TaskQuantileMetrics + type: object + properties: + durationMillis: + $ref: '#/components/schemas/Quantiles' + executorDeserializeTimeMillis: + $ref: '#/components/schemas/Quantiles' + executorDeserializeCpuTimeNanos: + $ref: '#/components/schemas/Quantiles' + executorRunTimeMillis: + $ref: '#/components/schemas/Quantiles' + executorCpuTimeNanos: + $ref: '#/components/schemas/Quantiles' + resultSize: + $ref: '#/components/schemas/Quantiles' + jvmGcTimeMillis: + $ref: '#/components/schemas/Quantiles' + resultSerializationTimeMillis: + $ref: '#/components/schemas/Quantiles' + gettingResultTimeMillis: + $ref: '#/components/schemas/Quantiles' + schedulerDelayMillis: + $ref: '#/components/schemas/Quantiles' + peakExecutionMemoryBytes: + $ref: '#/components/schemas/Quantiles' + memoryBytesSpilled: + $ref: '#/components/schemas/Quantiles' + diskBytesSpilled: + $ref: '#/components/schemas/Quantiles' + inputMetrics: + $ref: '#/components/schemas/InputQuantileMetrics' + outputMetrics: + $ref: '#/components/schemas/OutputQuantileMetrics' + shuffleReadMetrics: + $ref: '#/components/schemas/ShuffleReadQuantileMetrics' + shuffleWriteMetrics: + $ref: '#/components/schemas/ShuffleWriteQuantileMetrics' + Quantiles: + id: Quantiles description: >- - Deprecated. Used only for the deprecated beta. A full, - namespace-isolated deployment target for an existing GKE cluster. + Quantile metrics data related to Tasks. Units can be seconds, bytes, + milliseconds, etc depending on the message type. type: object properties: - targetGkeCluster: - description: >- - Optional. The target GKE cluster to deploy to. Format: - 'projects/{project}/locations/{location}/clusters/{cluster_id}' + minimum: type: string - clusterNamespace: - description: Optional. A namespace within the GKE cluster to deploy into. + format: int64 + percentile25: type: string - GkeNodePoolTarget: - id: GkeNodePoolTarget - description: GKE node pools that Dataproc workloads run on. - type: object - properties: - nodePool: - description: >- - Required. The target GKE node pool. Format: - 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{node_pool}' + format: int64 + percentile50: type: string - roles: - description: Required. The roles associated with the GKE node pool. + format: int64 + percentile75: + type: string + format: int64 + maximum: + type: string + format: int64 + sum: + type: string + format: int64 + count: + type: string + format: int64 + InputQuantileMetrics: + id: InputQuantileMetrics + type: object + properties: + bytesRead: + $ref: '#/components/schemas/Quantiles' + recordsRead: + $ref: '#/components/schemas/Quantiles' + OutputQuantileMetrics: + id: OutputQuantileMetrics + type: object + properties: + bytesWritten: + $ref: '#/components/schemas/Quantiles' + recordsWritten: + $ref: '#/components/schemas/Quantiles' + ShuffleReadQuantileMetrics: + id: ShuffleReadQuantileMetrics + type: object + properties: + readBytes: + $ref: '#/components/schemas/Quantiles' + readRecords: + $ref: '#/components/schemas/Quantiles' + remoteBlocksFetched: + $ref: '#/components/schemas/Quantiles' + localBlocksFetched: + $ref: '#/components/schemas/Quantiles' + fetchWaitTimeMillis: + $ref: '#/components/schemas/Quantiles' + remoteBytesRead: + $ref: '#/components/schemas/Quantiles' + remoteBytesReadToDisk: + $ref: '#/components/schemas/Quantiles' + totalBlocksFetched: + $ref: '#/components/schemas/Quantiles' + remoteReqsDuration: + $ref: '#/components/schemas/Quantiles' + shufflePushReadMetrics: + $ref: '#/components/schemas/ShufflePushReadQuantileMetrics' + ShufflePushReadQuantileMetrics: + id: ShufflePushReadQuantileMetrics + type: object + properties: + corruptMergedBlockChunks: + $ref: '#/components/schemas/Quantiles' + mergedFetchFallbackCount: + $ref: '#/components/schemas/Quantiles' + remoteMergedBlocksFetched: + $ref: '#/components/schemas/Quantiles' + localMergedBlocksFetched: + $ref: '#/components/schemas/Quantiles' + remoteMergedChunksFetched: + $ref: '#/components/schemas/Quantiles' + localMergedChunksFetched: + $ref: '#/components/schemas/Quantiles' + remoteMergedBytesRead: + $ref: '#/components/schemas/Quantiles' + localMergedBytesRead: + $ref: '#/components/schemas/Quantiles' + remoteMergedReqsDuration: + $ref: '#/components/schemas/Quantiles' + ShuffleWriteQuantileMetrics: + id: ShuffleWriteQuantileMetrics + type: object + properties: + writeBytes: + $ref: '#/components/schemas/Quantiles' + writeRecords: + $ref: '#/components/schemas/Quantiles' + writeTimeNanos: + $ref: '#/components/schemas/Quantiles' + ExecutorSummary: + id: ExecutorSummary + description: Details about executors used by the application. + type: object + properties: + executorId: + type: string + hostPort: + type: string + isActive: + type: boolean + rddBlocks: + type: integer + format: int32 + memoryUsed: + type: string + format: int64 + diskUsed: + type: string + format: int64 + totalCores: + type: integer + format: int32 + maxTasks: + type: integer + format: int32 + activeTasks: + type: integer + format: int32 + failedTasks: + type: integer + format: int32 + completedTasks: + type: integer + format: int32 + totalTasks: + type: integer + format: int32 + totalDurationMillis: + type: string + format: int64 + totalGcTimeMillis: + type: string + format: int64 + totalInputBytes: + type: string + format: int64 + totalShuffleRead: + type: string + format: int64 + totalShuffleWrite: + type: string + format: int64 + isExcluded: + type: boolean + maxMemory: + type: string + format: int64 + addTime: + type: string + format: google-datetime + removeTime: + type: string + format: google-datetime + removeReason: + type: string + executorLogs: + type: object + additionalProperties: + type: string + memoryMetrics: + $ref: '#/components/schemas/MemoryMetrics' + excludedInStages: type: array items: type: string - enumDescriptions: - - Role is unspecified. - - >- - At least one node pool must have the DEFAULT role. Work assigned - to a role that is not associated with a node pool is assigned to - the node pool with the DEFAULT role. For example, work assigned - to the CONTROLLER role will be assigned to the node pool with - the DEFAULT role if no node pool has the CONTROLLER role. - - >- - Run work associated with the Dataproc control plane (for - example, controllers and webhooks). Very low resource - requirements. - - Run work associated with a Spark driver of a job. - - Run work associated with a Spark executor of a job. - enum: - - ROLE_UNSPECIFIED - - DEFAULT - - CONTROLLER - - SPARK_DRIVER - - SPARK_EXECUTOR - nodePoolConfig: - description: >- - Input only. The configuration for the GKE node pool.If specified, - Dataproc attempts to create a node pool with the specified shape. If - one with the same name already exists, it is verified against all - specified fields. If a field differs, the virtual cluster creation - will fail.If omitted, any node pool with the specified name is used. - If a node pool with the specified name does not exist, Dataproc - create a node pool with default values.This is an input only field. - It will not be returned by the API. - $ref: '#/components/schemas/GkeNodePoolConfig' - GkeNodePoolConfig: - id: GkeNodePoolConfig - description: >- - The configuration of a GKE node pool used by a Dataproc-on-GKE cluster - (https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster). + format: int64 + peakMemoryMetrics: + $ref: '#/components/schemas/ExecutorMetrics' + attributes: + type: object + additionalProperties: + type: string + resources: + type: object + additionalProperties: + $ref: '#/components/schemas/ResourceInformation' + resourceProfileId: + type: integer + format: int32 + MemoryMetrics: + id: MemoryMetrics type: object properties: - config: - description: Optional. The node pool configuration. - $ref: '#/components/schemas/GkeNodeConfig' - locations: - description: >- - Optional. The list of Compute Engine zones - (https://cloud.google.com/compute/docs/zones#available) where node - pool nodes associated with a Dataproc on GKE virtual cluster will be - located.Note: All node pools associated with a virtual cluster must - be located in the same region as the virtual cluster, and they must - be located in the same zone within that region.If a location is not - specified during node pool creation, Dataproc on GKE will choose the - zone. + usedOnHeapStorageMemory: + type: string + format: int64 + usedOffHeapStorageMemory: + type: string + format: int64 + totalOnHeapStorageMemory: + type: string + format: int64 + totalOffHeapStorageMemory: + type: string + format: int64 + ResourceInformation: + id: ResourceInformation + type: object + properties: + name: + type: string + addresses: type: array items: type: string - autoscaling: - description: >- - Optional. The autoscaler configuration for this node pool. The - autoscaler is enabled only when a valid configuration is present. - $ref: '#/components/schemas/GkeNodePoolAutoscalingConfig' - GkeNodeConfig: - id: GkeNodeConfig - description: Parameters that describe cluster nodes. + RddStorageInfo: + id: RddStorageInfo + description: Overall data about RDD storage. type: object properties: - machineType: - description: >- - Optional. The name of a Compute Engine machine type - (https://cloud.google.com/compute/docs/machine-types). + rddStorageId: + type: integer + format: int32 + name: type: string - localSsdCount: - description: >- - Optional. The number of local SSD disks to attach to the node, which - is limited by the maximum number of disks allowable per zone (see - Adding Local SSDs - (https://cloud.google.com/compute/docs/disks/local-ssd)). + numPartitions: type: integer format: int32 - preemptible: - description: >- - Optional. Whether the nodes are created as legacy preemptible VM - instances - (https://cloud.google.com/compute/docs/instances/preemptible). Also - see Spot VMs, preemptible VM instances without a maximum lifetime. - Legacy and Spot preemptible nodes cannot be used in a node pool with - the CONTROLLER role or in the DEFAULT node pool if the CONTROLLER - role is not assigned (the DEFAULT node pool will assume the - CONTROLLER role). - type: boolean - accelerators: - description: >- - Optional. A list of hardware accelerators - (https://cloud.google.com/compute/docs/gpus) to attach to each node. + numCachedPartitions: + type: integer + format: int32 + storageLevel: + type: string + memoryUsed: + type: string + format: int64 + diskUsed: + type: string + format: int64 + dataDistribution: type: array items: - $ref: '#/components/schemas/GkeNodePoolAcceleratorConfig' - minCpuPlatform: - description: >- - Optional. Minimum CPU platform - (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) - to be used by this instance. The instance may be scheduled on the - specified or a newer CPU platform. Specify the friendly names of CPU - platforms, such as "Intel Haswell"` or Intel Sandy Bridge". + $ref: '#/components/schemas/RddDataDistribution' + partitions: + type: array + items: + $ref: '#/components/schemas/RddPartitionInfo' + RddDataDistribution: + id: RddDataDistribution + description: Details about RDD usage. + type: object + properties: + address: type: string - bootDiskKmsKey: - description: >- - Optional. The Customer Managed Encryption Key (CMEK) - (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek) - used to encrypt the boot disk attached to each node in the node - pool. Specify the key using the following format: - projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key} + memoryUsed: type: string - spot: - description: >- - Optional. Whether the nodes are created as Spot VM instances - (https://cloud.google.com/compute/docs/instances/spot). Spot VMs are - the latest update to legacy preemptible VMs. Spot VMs do not have a - maximum lifetime. Legacy and Spot preemptible nodes cannot be used - in a node pool with the CONTROLLER role or in the DEFAULT node pool - if the CONTROLLER role is not assigned (the DEFAULT node pool will - assume the CONTROLLER role). - type: boolean - GkeNodePoolAcceleratorConfig: - id: GkeNodePoolAcceleratorConfig - description: >- - A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator - request for a node pool. + format: int64 + memoryRemaining: + type: string + format: int64 + diskUsed: + type: string + format: int64 + onHeapMemoryUsed: + type: string + format: int64 + offHeapMemoryUsed: + type: string + format: int64 + onHeapMemoryRemaining: + type: string + format: int64 + offHeapMemoryRemaining: + type: string + format: int64 + RddPartitionInfo: + id: RddPartitionInfo + description: Information about RDD partitions. type: object properties: - acceleratorCount: - description: The number of accelerator cards exposed to an instance. + blockName: + type: string + storageLevel: + type: string + memoryUsed: type: string format: int64 - acceleratorType: - description: The accelerator type resource namename (see GPUs on Compute Engine). + diskUsed: type: string - gpuPartitionSize: - description: >- - Size of partitions to create on the GPU. Valid values are described - in the NVIDIA mig user guide - (https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning). + format: int64 + executors: + type: array + items: + type: string + StreamBlockData: + id: StreamBlockData + description: Stream Block Data. + type: object + properties: + name: type: string - GkeNodePoolAutoscalingConfig: - id: GkeNodePoolAutoscalingConfig + executorId: + type: string + hostPort: + type: string + storageLevel: + type: string + useMemory: + type: boolean + useDisk: + type: boolean + deserialized: + type: boolean + memSize: + type: string + format: int64 + diskSize: + type: string + format: int64 + RddOperationGraph: + id: RddOperationGraph description: >- - GkeNodePoolAutoscaling contains information the cluster autoscaler needs - to adjust the size of the node pool to the current cluster usage. + Graph representing RDD dependencies. Consists of edges and a root + cluster. type: object properties: - minNodeCount: - description: >- - The minimum number of nodes in the node pool. Must be >= 0 and <= - max_node_count. + stageId: + type: string + format: int64 + edges: + type: array + items: + $ref: '#/components/schemas/RddOperationEdge' + outgoingEdges: + type: array + items: + $ref: '#/components/schemas/RddOperationEdge' + incomingEdges: + type: array + items: + $ref: '#/components/schemas/RddOperationEdge' + rootCluster: + $ref: '#/components/schemas/RddOperationCluster' + RddOperationEdge: + id: RddOperationEdge + description: A directed edge representing dependency between two RDDs. + type: object + properties: + fromId: type: integer format: int32 - maxNodeCount: - description: >- - The maximum number of nodes in the node pool. Must be >= - min_node_count, and must be > 0. Note: Quota must be sufficient to - scale up the cluster. + toId: type: integer format: int32 - DataprocMetricConfig: - id: DataprocMetricConfig - description: Dataproc metric config. + RddOperationCluster: + id: RddOperationCluster + description: >- + A grouping of nodes representing higher level constructs (stage, job + etc.). type: object properties: - metrics: - description: Required. Metrics sources to enable. + rddClusterId: + type: string + name: + type: string + childNodes: type: array items: - $ref: '#/components/schemas/Metric' - Metric: - id: Metric - description: A Dataproc custom metric. + $ref: '#/components/schemas/RddOperationNode' + childClusters: + type: array + items: + $ref: '#/components/schemas/RddOperationCluster' + RddOperationNode: + id: RddOperationNode + description: A node in the RDD operation graph. Corresponds to a single RDD. type: object properties: - metricSource: - description: >- - Required. A standard set of metrics is collected unless - metricOverrides are specified for the metric source (see Custom - metrics - (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) - for more information). + nodeId: + type: integer + format: int32 + name: + type: string + cached: + type: boolean + barrier: + type: boolean + callsite: + type: string + outputDeterministicLevel: type: string enumDescriptions: - - Required unspecified metric source. - - >- - Monitoring agent metrics. If this source is enabled, Dataproc - enables the monitoring agent in Compute Engine, and collects - monitoring agent metrics, which are published with an - agent.googleapis.com prefix. - - HDFS metric source. - - Spark metric source. - - YARN metric source. - - Spark History Server metric source. - - Hiveserver2 metric source. - - hivemetastore metric source - - flink metric source + - '' + - '' + - '' + - '' enum: - - METRIC_SOURCE_UNSPECIFIED - - MONITORING_AGENT_DEFAULTS - - HDFS - - SPARK - - YARN - - SPARK_HISTORY_SERVER - - HIVESERVER2 - - HIVEMETASTORE - - FLINK - metricOverrides: - description: >- - Optional. Specify one or more Custom metrics - (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) - to collect for the metric course (for the SPARK metric source (any - Spark metric - (https://spark.apache.org/docs/latest/monitoring.html#metrics) can - be specified).Provide metrics in the following format: - METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as - appropriate.Examples: - yarn:ResourceManager:QueueMetrics:AppsCompleted - spark:driver:DAGScheduler:job.allJobs - sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed - hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the - specified overridden metrics are collected for the metric source. - For example, if one or more spark:executive metrics are listed as - metric overrides, other SPARK metrics are not collected. The - collection of the metrics for other enabled custom metric sources is - unaffected. For example, if both SPARK andd YARN metric sources are - enabled, and overrides are provided for Spark metrics only, all YARN - metrics are collected. + - DETERMINISTIC_LEVEL_UNSPECIFIED + - DETERMINISTIC_LEVEL_DETERMINATE + - DETERMINISTIC_LEVEL_UNORDERED + - DETERMINISTIC_LEVEL_INDETERMINATE + PoolData: + id: PoolData + description: Pool Data + type: object + properties: + name: + type: string + stageIds: type: array items: type: string - AuxiliaryNodeGroup: - id: AuxiliaryNodeGroup - description: Node group identification and configuration information. + format: int64 + ProcessSummary: + id: ProcessSummary + description: Process Summary type: object properties: - nodeGroup: - description: Required. Node group configuration. - $ref: '#/components/schemas/NodeGroup' - nodeGroupId: - description: >- - Optional. A node group ID. Generated if not specified.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 from 3 to 33 characters. + processId: type: string - NodeGroup: - id: NodeGroup - description: >- - Dataproc Node Group. The Dataproc NodeGroup resource is not related to - the Dataproc NodeGroupAffinity resource. + hostPort: + type: string + isActive: + type: boolean + totalCores: + type: integer + format: int32 + addTime: + type: string + format: google-datetime + removeTime: + type: string + format: google-datetime + processLogs: + type: object + additionalProperties: + type: string + SqlExecutionUiData: + id: SqlExecutionUiData + description: SQL Execution Data type: object properties: - name: - description: The Node group resource name (https://aip.dev/122). + executionId: type: string - roles: - description: Required. Node group roles. + format: int64 + rootExecutionId: + type: string + format: int64 + description: + type: string + details: + type: string + physicalPlanDescription: + type: string + modifiedConfigs: + type: object + additionalProperties: + type: string + metrics: type: array items: + $ref: '#/components/schemas/SqlPlanMetric' + submissionTime: + type: string + format: google-datetime + completionTime: + type: string + format: google-datetime + errorMessage: + type: string + jobs: + type: object + additionalProperties: type: string enumDescriptions: - - Required unspecified role. - - Job drivers run on the node pool. + - '' + - '' + - '' + - '' + - '' enum: - - ROLE_UNSPECIFIED - - DRIVER - nodeGroupConfig: - description: Optional. The node group instance group configuration. - $ref: '#/components/schemas/InstanceGroupConfig' - labels: - description: >- - 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. + - JOB_EXECUTION_STATUS_UNSPECIFIED + - JOB_EXECUTION_STATUS_RUNNING + - JOB_EXECUTION_STATUS_SUCCEEDED + - JOB_EXECUTION_STATUS_FAILED + - JOB_EXECUTION_STATUS_UNKNOWN + stages: + type: array + items: + type: string + format: int64 + metricValuesIsNull: + type: boolean + metricValues: type: object additionalProperties: type: string - VirtualClusterConfig: - id: VirtualClusterConfig - description: >- - 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). + SqlPlanMetric: + id: SqlPlanMetric + description: Metrics related to SQL execution. type: object properties: - stagingBucket: - description: >- - Optional. A Cloud Storage bucket used to stage job dependencies, - config files, and job driver console output. If you do not specify a - staging bucket, Cloud Dataproc will determine a Cloud Storage - location (US, ASIA, or EU) for your cluster's staging bucket - according to the Compute Engine zone where your cluster is deployed, - and then create and manage this project-level, per-location bucket - (see Dataproc staging and temp buckets - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). - This field requires a Cloud Storage bucket name, not a gs://... URI - to a Cloud Storage bucket. + name: type: string - kubernetesClusterConfig: - description: >- - Required. The configuration for running the Dataproc cluster on - Kubernetes. - $ref: '#/components/schemas/KubernetesClusterConfig' - auxiliaryServicesConfig: - description: Optional. Configuration of auxiliary services used by this cluster. - $ref: '#/components/schemas/AuxiliaryServicesConfig' - KubernetesClusterConfig: - id: KubernetesClusterConfig - description: The configuration for running the Dataproc cluster on Kubernetes. + accumulatorId: + type: string + format: int64 + metricType: + type: string + SparkPlanGraph: + id: SparkPlanGraph + description: A graph used for storing information of an executionPlan of DataFrame. type: object properties: - kubernetesNamespace: - description: >- - Optional. A namespace within the Kubernetes cluster to deploy into. - If this namespace does not exist, it is created. If it exists, - Dataproc verifies that another Dataproc VirtualCluster is not - installed into it. If not specified, the name of the Dataproc - Cluster is used. + executionId: type: string - gkeClusterConfig: - description: Required. The configuration for running the Dataproc cluster on GKE. - $ref: '#/components/schemas/GkeClusterConfig' - kubernetesSoftwareConfig: - description: >- - Optional. The software configuration for this Dataproc cluster - running on Kubernetes. - $ref: '#/components/schemas/KubernetesSoftwareConfig' - KubernetesSoftwareConfig: - id: KubernetesSoftwareConfig - description: >- - The software configuration for this Dataproc cluster running on - Kubernetes. + format: int64 + nodes: + type: array + items: + $ref: '#/components/schemas/SparkPlanGraphNodeWrapper' + edges: + type: array + items: + $ref: '#/components/schemas/SparkPlanGraphEdge' + SparkPlanGraphNodeWrapper: + id: SparkPlanGraphNodeWrapper + description: Wrapper user to represent either a node or a cluster. type: object properties: - componentVersion: - description: >- - The components that should be installed in this Dataproc cluster. - The key must be a string from the KubernetesComponent enumeration. - The value is the version of the software to be installed. At least - one entry must be specified. - type: object - additionalProperties: - type: string - properties: - description: >- - The properties to set on daemon config files.Property keys are - specified in prefix:property format, for example - spark:spark.kubernetes.container.image. The following are supported - prefixes and their mappings: spark: spark-defaults.confFor more - information, see Cluster properties - (https://cloud.google.com/dataproc/docs/concepts/cluster-properties). - type: object - additionalProperties: - type: string - AuxiliaryServicesConfig: - id: AuxiliaryServicesConfig - description: Auxiliary services configuration for a Cluster. + node: + $ref: '#/components/schemas/SparkPlanGraphNode' + cluster: + $ref: '#/components/schemas/SparkPlanGraphCluster' + SparkPlanGraphNode: + id: SparkPlanGraphNode + description: Represents a node in the spark plan tree. type: object properties: - metastoreConfig: - description: Optional. The Hive Metastore configuration for this workload. - $ref: '#/components/schemas/MetastoreConfig' - sparkHistoryServerConfig: - description: Optional. The Spark History Server configuration for the workload. - $ref: '#/components/schemas/SparkHistoryServerConfig' - ClusterStatus: - id: ClusterStatus - description: The status of a cluster and its instances. + sparkPlanGraphNodeId: + type: string + format: int64 + name: + type: string + desc: + type: string + metrics: + type: array + items: + $ref: '#/components/schemas/SqlPlanMetric' + SparkPlanGraphCluster: + id: SparkPlanGraphCluster + description: Represents a tree of spark plan. type: object properties: - state: - description: Output only. The cluster's state. - readOnly: true + sparkPlanGraphClusterId: type: string - enumDescriptions: - - The cluster state is unknown. - - The cluster is being created and set up. It is not ready for use. - - >- - The cluster is currently running and healthy. It is ready for - use.Note: The cluster state changes from "creating" to "running" - status after the master node(s), first two primary worker nodes - (and the last primary worker node if primary workers > 2) are - running. - - The cluster encountered an error. It is not ready for use. - - >- - The cluster has encountered an error while being updated. Jobs can - be submitted to the cluster, but the cluster cannot be updated. - - The cluster is being deleted. It cannot be used. - - >- - The cluster is being updated. It continues to accept and process - jobs. - - The cluster is being stopped. It cannot be used. - - The cluster is currently stopped. It is not ready for use. - - The cluster is being started. It is not ready for use. - - The cluster is being repaired. It is not ready for use. - enum: - - UNKNOWN - - CREATING - - RUNNING - - ERROR - - ERROR_DUE_TO_UPDATE - - DELETING - - UPDATING - - STOPPING - - STOPPED - - STARTING - - REPAIRING - detail: - description: Optional. Output only. Details of cluster's state. - readOnly: true + format: int64 + name: type: string - stateStartTime: - description: >- - Output only. Time when this state was entered (see JSON - representation of Timestamp - (https://developers.google.com/protocol-buffers/docs/proto3#json)). - readOnly: true + desc: type: string - format: google-datetime - substate: - description: >- - Output only. Additional state information that includes status - reported by the agent. - readOnly: true + nodes: + type: array + items: + $ref: '#/components/schemas/SparkPlanGraphNodeWrapper' + metrics: + type: array + items: + $ref: '#/components/schemas/SqlPlanMetric' + SparkPlanGraphEdge: + id: SparkPlanGraphEdge + description: Represents a directed edge in the spark plan tree from child to parent. + type: object + properties: + fromId: type: string - enumDescriptions: - - The cluster substate is unknown. - - >- - The cluster is known to be in an unhealthy state (for example, - critical daemons are not running or HDFS capacity is - exhausted).Applies to RUNNING state. - - >- - The agent-reported status is out of date (may occur if Dataproc - loses communication with Agent).Applies to RUNNING state. - enum: - - UNSPECIFIED - - UNHEALTHY - - STALE_STATUS - ClusterMetrics: - id: ClusterMetrics - description: >- - Contains cluster daemon metrics, such as HDFS and YARN stats.Beta - Feature: This report is available for testing purposes only. It may be - changed before final release. + format: int64 + toId: + type: string + format: int64 + StreamingQueryData: + id: StreamingQueryData + description: Streaming type: object properties: - hdfsMetrics: - description: The HDFS metrics. + name: + type: string + streamingQueryId: + type: string + runId: + type: string + isActive: + type: boolean + exception: + type: string + startTimestamp: + type: string + format: int64 + endTimestamp: + type: string + format: int64 + StreamingQueryProgress: + id: StreamingQueryProgress + type: object + properties: + streamingQueryProgressId: + type: string + runId: + type: string + name: + type: string + timestamp: + type: string + batchId: + type: string + format: int64 + batchDuration: + type: string + format: int64 + durationMillis: type: object additionalProperties: type: string format: int64 - yarnMetrics: - description: YARN metrics. + eventTime: type: object additionalProperties: type: string - format: int64 - StopClusterRequest: - id: StopClusterRequest - description: A request to stop a cluster. + stateOperators: + type: array + items: + $ref: '#/components/schemas/StateOperatorProgress' + sources: + type: array + items: + $ref: '#/components/schemas/SourceProgress' + sink: + $ref: '#/components/schemas/SinkProgress' + observedMetrics: + type: object + additionalProperties: + type: string + StateOperatorProgress: + id: StateOperatorProgress type: object properties: - clusterUuid: - description: >- - Optional. Specifying the cluster_uuid means the RPC will fail (with - error NOT_FOUND) if a cluster with the specified UUID does not - exist. + operatorName: type: string - requestId: - description: >- - Optional. A unique ID used to identify the request. If the server - receives two StopClusterRequest - (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s - with the same id, then the second request will be ignored and the - first google.longrunning.Operation created and stored in the backend - is returned.Recommendation: Set this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID - must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), and hyphens (-). The maximum length is 40 characters. + numRowsTotal: type: string - StartClusterRequest: - id: StartClusterRequest - description: A request to start a cluster. - type: object - properties: - clusterUuid: - description: >- - Optional. Specifying the cluster_uuid means the RPC will fail (with - error NOT_FOUND) if a cluster with the specified UUID does not - exist. + format: int64 + numRowsUpdated: type: string - requestId: - description: >- - Optional. A unique ID used to identify the request. If the server - receives two StartClusterRequest - (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s - with the same id, then the second request will be ignored and the - first google.longrunning.Operation created and stored in the backend - is returned.Recommendation: Set this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID - must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), and hyphens (-). The maximum length is 40 characters. + format: int64 + allUpdatesTimeMs: type: string - RepairClusterRequest: - id: RepairClusterRequest - description: A request to repair a cluster. + format: int64 + numRowsRemoved: + type: string + format: int64 + allRemovalsTimeMs: + type: string + format: int64 + commitTimeMs: + type: string + format: int64 + memoryUsedBytes: + type: string + format: int64 + numRowsDroppedByWatermark: + type: string + format: int64 + numShufflePartitions: + type: string + format: int64 + numStateStoreInstances: + type: string + format: int64 + customMetrics: + type: object + additionalProperties: + type: string + format: int64 + SourceProgress: + id: SourceProgress type: object properties: - clusterUuid: - description: >- - Optional. Specifying the cluster_uuid means the RPC will fail (with - error NOT_FOUND) if a cluster with the specified UUID does not - exist. + description: type: string - requestId: - description: >- - Optional. A unique ID used to identify the request. If the server - receives two RepairClusterRequests with the same ID, the second - request is ignored, and the first google.longrunning.Operation - created and stored in the backend is returned.Recommendation: Set - this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID - must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), and hyphens (-). The maximum length is 40 characters. + startOffset: type: string - nodePools: - description: >- - Optional. Node pools and corresponding repair action to be taken. - All node pools should be unique in this request. i.e. Multiple - entries for the same node pool id are not allowed. - type: array - items: - $ref: '#/components/schemas/NodePool' - gracefulDecommissionTimeout: - description: >- - Optional. Timeout for graceful YARN decommissioning. Graceful - decommissioning facilitates the removal of cluster nodes without - interrupting jobs in progress. The timeout specifies the amount of - time to wait for jobs finish before forcefully removing nodes. The - default timeout is 0 for forceful decommissioning, and the maximum - timeout period is 1 day. (see JSON Mapping—Duration - (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout - is supported in Dataproc image versions 1.2+. + endOffset: type: string - format: google-duration - parentOperationId: - description: >- - Optional. operation id of the parent operation sending the repair - request + latestOffset: type: string - NodePool: - id: NodePool - description: indicating a list of workers of same type + numInputRows: + type: string + format: int64 + inputRowsPerSecond: + type: number + format: double + processedRowsPerSecond: + type: number + format: double + metrics: + type: object + additionalProperties: + type: string + SinkProgress: + id: SinkProgress type: object properties: - id: - description: >- - Required. A unique id of the node pool. Primary and Secondary - workers can be specified using special reserved ids - PRIMARY_WORKER_POOL and SECONDARY_WORKER_POOL respectively. Aux node - pools can be referenced using corresponding pool id. + description: type: string - instanceNames: - description: >- - Name of instances to be repaired. These instances must belong to - specified node pool. + numOutputRows: + type: string + format: int64 + metrics: + type: object + additionalProperties: + type: string + WriteSparkApplicationContextResponse: + id: WriteSparkApplicationContextResponse + description: Response returned as an acknowledgement of receipt of data. + type: object + properties: {} + SearchSparkApplicationsResponse: + id: SearchSparkApplicationsResponse + description: A list of summary of Spark Applications + type: object + properties: + sparkApplications: + description: Output only. High level information corresponding to an application. + readOnly: true type: array items: - type: string - repairAction: + $ref: '#/components/schemas/SparkApplication' + nextPageToken: description: >- - Required. Repair action to take on specified resources of the node - pool. + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSparkApplicationsRequest. type: string - enumDescriptions: - - No action will be taken by default. - - delete the specified list of nodes. - enum: - - REPAIR_ACTION_UNSPECIFIED - - DELETE - ListClustersResponse: - id: ListClustersResponse - description: The list of all clusters in a project. + SparkApplication: + id: SparkApplication + description: A summary of Spark Application type: object properties: - clusters: - description: Output only. The clusters in the project. + name: + description: Identifier. Name of the spark application + type: string + application: + description: Output only. High level information corresponding to an application. + readOnly: true + $ref: '#/components/schemas/ApplicationInfo' + AccessSparkApplicationResponse: + id: AccessSparkApplicationResponse + description: A summary of Spark Application + type: object + properties: + application: + description: Output only. High level information corresponding to an application. + readOnly: true + $ref: '#/components/schemas/ApplicationInfo' + SearchSparkApplicationJobsResponse: + id: SearchSparkApplicationJobsResponse + description: A list of Jobs associated with a Spark Application. + type: object + properties: + sparkApplicationJobs: + description: Output only. Data corresponding to a spark job. readOnly: true type: array items: - $ref: '#/components/schemas/Cluster' + $ref: '#/components/schemas/JobData' nextPageToken: description: >- - Output only. This token is included in the response if there are - more results to fetch. To fetch additional results, provide this - value as the page_token in a subsequent ListClustersRequest. - readOnly: true + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSparkApplicationJobsRequest. type: string - DiagnoseClusterRequest: - id: DiagnoseClusterRequest - description: A request to collect cluster diagnostic information. + AccessSparkApplicationJobResponse: + id: AccessSparkApplicationJobResponse + description: Details of a particular job associated with Spark Application type: object properties: - tarballGcsDir: + jobData: + description: Output only. Data corresponding to a spark job. + readOnly: true + $ref: '#/components/schemas/JobData' + SearchSparkApplicationStagesResponse: + id: SearchSparkApplicationStagesResponse + description: A list of stages associated with a Spark Application. + type: object + properties: + sparkApplicationStages: + description: Output only. Data corresponding to a stage. + readOnly: true + type: array + items: + $ref: '#/components/schemas/StageData' + nextPageToken: description: >- - Optional. (Optional) The output Cloud Storage directory for the - diagnostic tarball. If not specified, a task-specific directory in - the cluster's staging bucket will be used. + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSparkApplicationStages. type: string - tarballAccess: + SearchSparkApplicationStageAttemptsResponse: + id: SearchSparkApplicationStageAttemptsResponse + description: A list of Stage Attempts for a Stage of a Spark Application. + type: object + properties: + sparkApplicationStageAttempts: + description: Output only. Data corresponding to a stage attempts + readOnly: true + type: array + items: + $ref: '#/components/schemas/StageData' + nextPageToken: description: >- - Optional. (Optional) The access type to the diagnostic tarball. If - not specified, falls back to default access of the bucket + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent ListSparkApplicationStageAttemptsRequest. type: string - enumDescriptions: - - >- - Tarball Access unspecified. Falls back to default access of the - bucket - - >- - Google Cloud Support group has read access to the diagnostic - tarball - - >- - Google Cloud Dataproc Diagnose service account has read access to - the diagnostic tarball - enum: - - TARBALL_ACCESS_UNSPECIFIED - - GOOGLE_CLOUD_SUPPORT - - GOOGLE_DATAPROC_DIAGNOSE - diagnosisInterval: - description: >- - Optional. Time interval in which diagnosis should be carried out on - the cluster. - $ref: '#/components/schemas/Interval' - job: + AccessSparkApplicationStageAttemptResponse: + id: AccessSparkApplicationStageAttemptResponse + description: Stage Attempt for a Stage of a Spark Application + type: object + properties: + stageData: + description: Output only. Data corresponding to a stage. + readOnly: true + $ref: '#/components/schemas/StageData' + SearchSparkApplicationStageAttemptTasksResponse: + id: SearchSparkApplicationStageAttemptTasksResponse + description: List of tasks for a stage of a Spark Application + type: object + properties: + sparkApplicationStageAttemptTasks: + description: Output only. Data corresponding to tasks created by spark. + readOnly: true + type: array + items: + $ref: '#/components/schemas/TaskData' + nextPageToken: description: >- - Optional. DEPRECATED Specifies the job on which diagnosis is to be - performed. Format: projects/{project}/regions/{region}/jobs/{job} - deprecated: true + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + ListSparkApplicationStageAttemptTasksRequest. type: string - yarnApplicationId: + SearchSparkApplicationExecutorsResponse: + id: SearchSparkApplicationExecutorsResponse + description: List of Executors associated with a Spark Application. + type: object + properties: + sparkApplicationExecutors: + description: Details about executors used by the application. + type: array + items: + $ref: '#/components/schemas/ExecutorSummary' + nextPageToken: description: >- - Optional. DEPRECATED Specifies the yarn application on which - diagnosis is to be performed. - deprecated: true + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSparkApplicationExecutorsListRequest. type: string - jobs: - description: >- - Optional. Specifies a list of jobs on which diagnosis is to be - performed. Format: projects/{project}/regions/{region}/jobs/{job} + SearchSparkApplicationExecutorStageSummaryResponse: + id: SearchSparkApplicationExecutorStageSummaryResponse + description: List of Executors associated with a Spark Application Stage. + type: object + properties: + sparkApplicationStageExecutors: + description: Details about executors used by the application stage. type: array items: - type: string - yarnApplicationIds: + $ref: '#/components/schemas/ExecutorStageSummary' + nextPageToken: description: >- - Optional. Specifies a list of yarn applications on which diagnosis - is to be performed. + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSparkApplicationExecutorsListRequest. + type: string + SearchSparkApplicationSqlQueriesResponse: + id: SearchSparkApplicationSqlQueriesResponse + description: List of all queries for a Spark Application. + type: object + properties: + sparkApplicationSqlQueries: + description: Output only. SQL Execution Data + readOnly: true type: array items: - type: string - Interval: - id: Interval + $ref: '#/components/schemas/SqlExecutionUiData' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSparkApplicationSqlQueriesRequest. + type: string + AccessSparkApplicationSqlQueryResponse: + id: AccessSparkApplicationSqlQueryResponse + description: Details of a query for a Spark Application + type: object + properties: + executionData: + description: SQL Execution Data + $ref: '#/components/schemas/SqlExecutionUiData' + AccessSparkApplicationSqlSparkPlanGraphResponse: + id: AccessSparkApplicationSqlSparkPlanGraphResponse description: >- - 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. + SparkPlanGraph for a Spark Application execution limited to maximum + 10000 clusters. type: object properties: - startTime: - description: >- - Optional. Inclusive start of the interval.If specified, a Timestamp - matching this interval will have to be the same or after the start. - type: string - format: google-datetime - endTime: - description: >- - Optional. Exclusive end of the interval.If specified, a Timestamp - matching this interval will have to be before the end. - type: string - format: google-datetime - InjectCredentialsRequest: - id: InjectCredentialsRequest - description: A request to inject credentials into a cluster. + sparkPlanGraph: + description: SparkPlanGraph for a Spark Application execution. + $ref: '#/components/schemas/SparkPlanGraph' + AccessSparkApplicationStageRddOperationGraphResponse: + id: AccessSparkApplicationStageRddOperationGraphResponse + description: >- + RDD operation graph for a Spark Application Stage limited to maximum + 10000 clusters. type: object properties: - clusterUuid: - description: Required. The cluster UUID. - type: string - credentialsCiphertext: - description: >- - Required. The encrypted credentials being injected in to the - cluster.The client is responsible for encrypting the credentials in - a way that is supported by the cluster.A wrapped value is used here - so that the actual contents of the encrypted credentials are not - written to audit logs. - type: string - SubmitJobRequest: - id: SubmitJobRequest - description: A request to submit a job. + rddOperationGraph: + description: RDD operation graph for a Spark Application Stage. + $ref: '#/components/schemas/RddOperationGraph' + AccessSparkApplicationEnvironmentInfoResponse: + id: AccessSparkApplicationEnvironmentInfoResponse + description: Environment details of a Saprk Application. type: object properties: - job: - description: Required. The job resource. - $ref: '#/components/schemas/Job' - requestId: - description: >- - Optional. A unique id used to identify the request. If the server - receives two SubmitJobRequest - (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s - with the same id, then the second request will be ignored and the - first Job created and stored in the backend is returned.It is - recommended to always set this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id - must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), and hyphens (-). The maximum length is 40 characters. - type: string - Job: - id: Job - description: A Dataproc job resource. + applicationEnvironmentInfo: + description: Details about the Environment that the application is running in. + $ref: '#/components/schemas/ApplicationEnvironmentInfo' + SummarizeSparkApplicationJobsResponse: + id: SummarizeSparkApplicationJobsResponse + description: Summary of a Spark Application jobs. type: object properties: - reference: - description: >- - Optional. The fully qualified reference to the job, which can be - used to obtain the equivalent REST path of the job resource. If this - property is not specified when a job is created, the server - generates a job_id. - $ref: '#/components/schemas/JobReference' - placement: - description: >- - Required. Job information, including how, when, and where to run the - job. - $ref: '#/components/schemas/JobPlacement' - hadoopJob: - description: Optional. Job is a Hadoop job. - $ref: '#/components/schemas/HadoopJob' - sparkJob: - description: Optional. Job is a Spark job. - $ref: '#/components/schemas/SparkJob' - pysparkJob: - description: Optional. Job is a PySpark job. - $ref: '#/components/schemas/PySparkJob' - hiveJob: - description: Optional. Job is a Hive job. - $ref: '#/components/schemas/HiveJob' - pigJob: - description: Optional. Job is a Pig job. - $ref: '#/components/schemas/PigJob' - sparkRJob: - description: Optional. Job is a SparkR job. - $ref: '#/components/schemas/SparkRJob' - sparkSqlJob: - description: Optional. Job is a SparkSql job. - $ref: '#/components/schemas/SparkSqlJob' - prestoJob: - description: Optional. Job is a Presto job. - $ref: '#/components/schemas/PrestoJob' - trinoJob: - description: Optional. Job is a Trino job. - $ref: '#/components/schemas/TrinoJob' - flinkJob: - description: Optional. Job is a Flink job. - $ref: '#/components/schemas/FlinkJob' - status: - description: >- - Output only. The job status. Additional application-specific status - information might be contained in the type_job and yarn_applications - fields. - readOnly: true - $ref: '#/components/schemas/JobStatus' - statusHistory: - description: Output only. The previous job status. - readOnly: true - type: array - items: - $ref: '#/components/schemas/JobStatus' - yarnApplications: - description: >- - 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. - readOnly: true + jobsSummary: + description: Summary of a Spark Application Jobs + $ref: '#/components/schemas/JobsSummary' + JobsSummary: + id: JobsSummary + description: Data related to Jobs page summary + type: object + properties: + applicationId: + description: Spark Application Id + type: string + schedulingMode: + description: Spark Scheduling mode + type: string + activeJobs: + description: Number of active jobs + type: integer + format: int32 + completedJobs: + description: Number of completed jobs + type: integer + format: int32 + failedJobs: + description: Number of failed jobs + type: integer + format: int32 + attempts: + description: Attempts info type: array items: - $ref: '#/components/schemas/YarnApplication' - driverOutputResourceUri: + $ref: '#/components/schemas/ApplicationAttemptInfo' + SummarizeSparkApplicationStagesResponse: + id: SummarizeSparkApplicationStagesResponse + description: Summary of a Spark Application stages. + type: object + properties: + stagesSummary: + description: Summary of a Spark Application Stages + $ref: '#/components/schemas/StagesSummary' + StagesSummary: + id: StagesSummary + description: Data related to Stages page summary + type: object + properties: + applicationId: + type: string + numActiveStages: + type: integer + format: int32 + numCompletedStages: + type: integer + format: int32 + numSkippedStages: + type: integer + format: int32 + numFailedStages: + type: integer + format: int32 + numPendingStages: + type: integer + format: int32 + SummarizeSparkApplicationStageAttemptTasksResponse: + id: SummarizeSparkApplicationStageAttemptTasksResponse + description: Summary of tasks for a Spark Application stage attempt. + type: object + properties: + stageAttemptTasksSummary: + description: Summary of tasks for a Spark Application Stage Attempt + $ref: '#/components/schemas/StageAttemptTasksSummary' + StageAttemptTasksSummary: + id: StageAttemptTasksSummary + description: Data related to tasks summary for a Spark Stage Attempt + type: object + properties: + applicationId: + type: string + stageId: + type: string + format: int64 + stageAttemptId: + type: integer + format: int32 + numTasks: + type: integer + format: int32 + numRunningTasks: + type: integer + format: int32 + numSuccessTasks: + type: integer + format: int32 + numFailedTasks: + type: integer + format: int32 + numKilledTasks: + type: integer + format: int32 + numPendingTasks: + type: integer + format: int32 + SummarizeSparkApplicationExecutorsResponse: + id: SummarizeSparkApplicationExecutorsResponse + description: Consolidated summary of executors for a Spark Application. + type: object + properties: + applicationId: + description: Spark Application Id + type: string + activeExecutorSummary: + description: Consolidated summary for active executors. + $ref: '#/components/schemas/ConsolidatedExecutorSummary' + deadExecutorSummary: + description: Consolidated summary for dead executors. + $ref: '#/components/schemas/ConsolidatedExecutorSummary' + totalExecutorSummary: + description: Overall consolidated summary for all executors. + $ref: '#/components/schemas/ConsolidatedExecutorSummary' + ConsolidatedExecutorSummary: + id: ConsolidatedExecutorSummary + description: Consolidated summary about executors used by the application. + type: object + properties: + count: + type: integer + format: int32 + rddBlocks: + type: integer + format: int32 + memoryUsed: + type: string + format: int64 + diskUsed: + type: string + format: int64 + totalCores: + type: integer + format: int32 + activeTasks: + type: integer + format: int32 + failedTasks: + type: integer + format: int32 + completedTasks: + type: integer + format: int32 + totalTasks: + type: integer + format: int32 + totalDurationMillis: + type: string + format: int64 + totalGcTimeMillis: + type: string + format: int64 + totalInputBytes: + type: string + format: int64 + totalShuffleRead: + type: string + format: int64 + totalShuffleWrite: + type: string + format: int64 + isExcluded: + type: integer + format: int32 + maxMemory: + type: string + format: int64 + memoryMetrics: + $ref: '#/components/schemas/MemoryMetrics' + Cluster: + id: Cluster + description: >- + Describes the identifying information, config, and status of a Dataproc + cluster + type: object + properties: + projectId: description: >- - Output only. A URI pointing to the location of the stdout of the - job's driver program. - readOnly: true + Required. The Google Cloud Platform project ID that the cluster + belongs to. type: string - driverControlFilesUri: + clusterName: description: >- - Output only. If present, the location of miscellaneous control files - which can be used as part of job setup and handling. If not present, - control files might be placed in the same location as - driver_output_uri. - readOnly: true + Required. The cluster name, which must be unique within a project. + The name must start with a lowercase letter, and can contain up to + 51 lowercase letters, numbers, and hyphens. It cannot end with a + hyphen. The name of a deleted cluster can be reused. type: string + config: + description: >- + Optional. The cluster config for a cluster of Compute Engine + Instances. Note that Dataproc may set default values, and values may + change when clusters are updated.Exactly one of ClusterConfig or + VirtualClusterConfig must be specified. + $ref: '#/components/schemas/ClusterConfig' + virtualClusterConfig: + description: >- + Optional. The virtual cluster config is used when creating a + Dataproc cluster that does not directly control the underlying + compute resources, for example, when creating a Dataproc-on-GKE + cluster + (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). + Dataproc may set default values, and values may change when clusters + are updated. Exactly one of config or virtual_cluster_config must be + specified. + $ref: '#/components/schemas/VirtualClusterConfig' labels: description: >- - Optional. The labels to associate with this job. Label keys must + Optional. The labels to associate with this cluster. 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, + (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 a job. + labels can be associated with a cluster. type: object additionalProperties: type: string - scheduling: - description: Optional. Job scheduling configuration. - $ref: '#/components/schemas/JobScheduling' - jobUuid: + status: + description: Output only. Cluster status. + readOnly: true + $ref: '#/components/schemas/ClusterStatus' + statusHistory: + description: Output only. The previous cluster status. + readOnly: true + type: array + items: + $ref: '#/components/schemas/ClusterStatus' + clusterUuid: description: >- - Output only. A UUID that uniquely identifies a job within the - project over time. This is in contrast to a user-settable - reference.job_id that might be reused over time. + Output only. A cluster UUID (Unique Universal Identifier). Dataproc + generates this value when it creates the cluster. readOnly: true type: string - done: + metrics: description: >- - Output only. Indicates whether the job is completed. If the value is - false, the job is still in progress. If true, the job is completed, - and status.state field will indicate if it was successful, failed, - or cancelled. + Output only. Contains cluster daemon metrics such as HDFS and YARN + stats.Beta Feature: This report is available for testing purposes + only. It may be changed before final release. readOnly: true - type: boolean - driverSchedulingConfig: - description: Optional. Driver scheduling configuration. - $ref: '#/components/schemas/DriverSchedulingConfig' - JobReference: - id: JobReference - description: Encapsulates the full scoping used to reference a job. + $ref: '#/components/schemas/ClusterMetrics' + ClusterConfig: + id: ClusterConfig + description: The cluster config. type: object properties: - projectId: - description: >- - Optional. The ID of the Google Cloud Platform project that the job - belongs to. If specified, must match the request project ID. - type: string - jobId: + configBucket: description: >- - Optional. The job ID, which must be unique within the project.The ID - must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), or hyphens (-). The maximum length is 100 characters.If not - specified by the caller, the job ID will be provided by the server. - type: string - JobPlacement: - id: JobPlacement - description: Dataproc job config. - type: object - properties: - clusterName: - description: Required. The name of the cluster where the job will be submitted. + Optional. A Cloud Storage bucket used to stage job dependencies, + config files, and job driver console output. If you do not specify a + staging bucket, Cloud Dataproc will determine a Cloud Storage + location (US, ASIA, or EU) for your cluster's staging bucket + according to the Compute Engine zone where your cluster is deployed, + and then create and manage this project-level, per-location bucket + (see Dataproc staging and temp buckets + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). + This field requires a Cloud Storage bucket name, not a gs://... URI + to a Cloud Storage bucket. type: string - clusterUuid: + tempBucket: description: >- - Output only. A cluster UUID generated by the Dataproc service when - the job is submitted. - readOnly: true + Optional. A Cloud Storage bucket used to store ephemeral cluster and + jobs data, such as Spark and MapReduce history files. If you do not + specify a temp bucket, Dataproc will determine a Cloud Storage + location (US, ASIA, or EU) for your cluster's temp bucket according + to the Compute Engine zone where your cluster is deployed, and then + create and manage this project-level, per-location bucket. The + default bucket has a TTL of 90 days, but you can use any TTL (or + none) if you specify a bucket (see Dataproc staging and temp buckets + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). + This field requires a Cloud Storage bucket name, not a gs://... URI + to a Cloud Storage bucket. type: string - clusterLabels: + gceClusterConfig: description: >- - Optional. Cluster labels to identify a cluster where the job will be - submitted. - type: object - additionalProperties: - type: string - HadoopJob: - id: HadoopJob + Optional. The shared Compute Engine config settings for all + instances in a cluster. + $ref: '#/components/schemas/GceClusterConfig' + masterConfig: + description: >- + Optional. The Compute Engine config settings for the cluster's + master instance. + $ref: '#/components/schemas/InstanceGroupConfig' + workerConfig: + description: >- + Optional. The Compute Engine config settings for the cluster's + worker instances. + $ref: '#/components/schemas/InstanceGroupConfig' + secondaryWorkerConfig: + description: >- + Optional. The Compute Engine config settings for a cluster's + secondary worker instances + $ref: '#/components/schemas/InstanceGroupConfig' + softwareConfig: + description: Optional. The config settings for cluster software. + $ref: '#/components/schemas/SoftwareConfig' + initializationActions: + description: >- + Optional. Commands to execute on each node after config is + completed. By default, executables are run on master and all worker + nodes. You can test a node's role metadata to run an executable on a + master or worker node, as shown below using curl (you can also use + wget): ROLE=$(curl -H Metadata-Flavor:Google + http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) + if [[ "${ROLE}" == 'Master' ]]; then ... master specific actions ... + else ... worker specific actions ... fi + type: array + items: + $ref: '#/components/schemas/NodeInitializationAction' + encryptionConfig: + description: Optional. Encryption settings for the cluster. + $ref: '#/components/schemas/EncryptionConfig' + autoscalingConfig: + description: >- + Optional. Autoscaling config for the policy associated with the + cluster. Cluster does not autoscale if this field is unset. + $ref: '#/components/schemas/AutoscalingConfig' + securityConfig: + description: Optional. Security settings for the cluster. + $ref: '#/components/schemas/SecurityConfig' + lifecycleConfig: + description: Optional. Lifecycle setting for the cluster. + $ref: '#/components/schemas/LifecycleConfig' + endpointConfig: + description: Optional. Port/endpoint configuration for this cluster + $ref: '#/components/schemas/EndpointConfig' + metastoreConfig: + description: Optional. Metastore configuration. + $ref: '#/components/schemas/MetastoreConfig' + gkeClusterConfig: + description: >- + Optional. BETA. The Kubernetes Engine config for Dataproc clusters + deployed to The Kubernetes Engine config for Dataproc clusters + deployed to Kubernetes. These config settings are mutually exclusive + with Compute Engine-based options, such as gce_cluster_config, + master_config, worker_config, secondary_worker_config, and + autoscaling_config. + deprecated: true + $ref: '#/components/schemas/GkeClusterConfig' + dataprocMetricConfig: + description: Optional. The config for Dataproc metrics. + $ref: '#/components/schemas/DataprocMetricConfig' + auxiliaryNodeGroups: + description: Optional. The node group settings. + type: array + items: + $ref: '#/components/schemas/AuxiliaryNodeGroup' + GceClusterConfig: + id: GceClusterConfig description: >- - A Dataproc job for running Apache Hadoop MapReduce - (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) - jobs on Apache Hadoop YARN - (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html). + Common config settings for resources of Compute Engine cluster + instances, applicable to all instances in the cluster. type: object properties: - mainJarFileUri: + zoneUri: description: >- - The HCFS URI of the jar file containing the main class. Examples: - 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' - 'hdfs:/tmp/test-samples/custom-wordcount.jar' - 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + Optional. The Compute Engine zone where the Dataproc cluster will be + located. If omitted, the service will pick a zone in the cluster's + Compute Engine region. On a get request, zone will always be + present.A full URL, partial URI, or short name are valid. Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] + projects/[project_id]/zones/[zone] [zone] type: string - mainClass: + networkUri: description: >- - The name of the driver's main class. The jar file containing the - class must be in the default CLASSPATH or specified in - jar_file_uris. + Optional. The Compute Engine network to be used for machine + communications. Cannot be specified with subnetwork_uri. If neither + network_uri nor subnetwork_uri is specified, the "default" network + of the project is used, if it exists. Cannot be a "Custom Subnet + Network" (see Using Subnetworks + (https://cloud.google.com/compute/docs/subnetworks) for more + information).A full URL, partial URI, or short name are valid. + Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default + projects/[project_id]/global/networks/default default type: string - args: + subnetworkUri: description: >- - Optional. The arguments to pass to the driver. Do not include - arguments, such as -libjars or -Dfoo=bar, that can be set as job - properties, since a collision might occur that causes an incorrect - job submission. - type: array - items: - type: string - jarFileUris: + Optional. The Compute Engine subnetwork to be used for machine + communications. Cannot be specified with network_uri.A full URL, + partial URI, or short name are valid. Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0 + projects/[project_id]/regions/[region]/subnetworks/sub0 sub0 + type: string + internalIpOnly: description: >- - Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop - driver and tasks. - type: array - items: - type: string - fileUris: + Optional. This setting applies to subnetwork-enabled networks. It is + set to true by default in clusters created with image versions + 2.2.x.When set to true: All cluster VMs have internal IP addresses. + Google Private Access + (https://cloud.google.com/vpc/docs/private-google-access) must be + enabled to access Dataproc and other Google Cloud APIs. Off-cluster + dependencies must be configured to be accessible without external IP + addresses.When set to false: Cluster VMs are not restricted to + internal IP addresses. Ephemeral external IP addresses are assigned + to each cluster VM. + type: boolean + privateIpv6GoogleAccess: + description: Optional. The type of IPv6 access for a cluster. + type: string + enumDescriptions: + - >- + If unspecified, Compute Engine default behavior will apply, which + is the same as INHERIT_FROM_SUBNETWORK. + - >- + Private access to and from Google Services configuration inherited + from the subnetwork configuration. This is the default Compute + Engine behavior. + - >- + Enables outbound private IPv6 access to Google Services from the + Dataproc cluster. + - >- + Enables bidirectional private IPv6 access between Google Services + and the Dataproc cluster. + enum: + - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED + - INHERIT_FROM_SUBNETWORK + - OUTBOUND + - BIDIRECTIONAL + serviceAccount: description: >- - Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be - copied to the working directory of Hadoop drivers and distributed - tasks. Useful for naively parallel tasks. + Optional. The Dataproc service account + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) + (also see VM Data Plane identity + (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) + used by Dataproc cluster VM instances to access Google Cloud + Platform services.If not specified, the Compute Engine default + service account + (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) + is used. + type: string + serviceAccountScopes: + description: >- + Optional. The URIs of service account scopes to be included in + Compute Engine instances. The following base set of scopes is always + included: + https://www.googleapis.com/auth/cloud.useraccounts.readonly + https://www.googleapis.com/auth/devstorage.read_write + https://www.googleapis.com/auth/logging.writeIf no scopes are + specified, the following defaults are also provided: + https://www.googleapis.com/auth/bigquery + https://www.googleapis.com/auth/bigtable.admin.table + https://www.googleapis.com/auth/bigtable.data + https://www.googleapis.com/auth/devstorage.full_control type: array items: type: string - archiveUris: + tags: description: >- - Optional. HCFS URIs of archives to be extracted in the working - directory of Hadoop drivers and tasks. Supported file types: .jar, - .tar, .tar.gz, .tgz, or .zip. + The Compute Engine network tags to add to all instances (see Tagging + instances + (https://cloud.google.com/vpc/docs/add-remove-network-tags)). type: array items: type: string - properties: + metadata: description: >- - Optional. A mapping of property names to values, used to configure - Hadoop. Properties that conflict with values set by the Dataproc API - might be overwritten. Can include properties set in - /etc/hadoop/conf/*-site and classes in user code. + Optional. The Compute Engine metadata entries to add to all + instances (see Project and instance metadata + (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). type: object additionalProperties: type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - LoggingConfig: - id: LoggingConfig - description: The runtime logging config of the job. - type: object - properties: - driverLogLevels: + reservationAffinity: + description: Optional. Reservation Affinity for consuming Zonal reservation. + $ref: '#/components/schemas/ReservationAffinity' + nodeGroupAffinity: + description: Optional. Node Group Affinity for sole-tenant clusters. + $ref: '#/components/schemas/NodeGroupAffinity' + shieldedInstanceConfig: description: >- - The per-package log levels for the driver. This can include "root" - package name to configure rootLogger. Examples: - 'com.google = - FATAL' - 'root = INFO' - 'org.apache = DEBUG' - type: object - additionalProperties: - type: string - enumDescriptions: - - Level is unspecified. Use default level for log4j. - - Use ALL level for log4j. - - Use TRACE level for log4j. - - Use DEBUG level for log4j. - - Use INFO level for log4j. - - Use WARN level for log4j. - - Use ERROR level for log4j. - - Use FATAL level for log4j. - - Turn off log4j. - enum: - - LEVEL_UNSPECIFIED - - ALL - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - 'OFF' - SparkJob: - id: SparkJob - description: >- - A Dataproc job for running Apache Spark (https://spark.apache.org/) - applications on YARN. + Optional. Shielded Instance Config for clusters using Compute Engine + Shielded VMs + (https://cloud.google.com/security/shielded-cloud/shielded-vm). + $ref: '#/components/schemas/ShieldedInstanceConfig' + confidentialInstanceConfig: + description: >- + Optional. Confidential Instance Config for clusters using + Confidential VMs + (https://cloud.google.com/compute/confidential-vm/docs). + $ref: '#/components/schemas/ConfidentialInstanceConfig' + ReservationAffinity: + id: ReservationAffinity + description: Reservation Affinity for consuming Zonal reservation. type: object properties: - mainJarFileUri: - description: The HCFS URI of the jar file that contains the main class. + consumeReservationType: + description: Optional. Type of reservation to consume type: string - mainClass: - description: >- - The name of the driver's main class. The jar file that contains the - class must be in the default CLASSPATH or specified in - SparkJob.jar_file_uris. + enumDescriptions: + - '' + - Do not consume from any allocated capacity. + - Consume any reservation available. + - >- + Must consume from a specific reservation. Must specify key value + fields for specifying the reservations. + enum: + - TYPE_UNSPECIFIED + - NO_RESERVATION + - ANY_RESERVATION + - SPECIFIC_RESERVATION + key: + description: Optional. Corresponds to the label key of reservation resource. type: string - args: - description: >- - Optional. The arguments to pass to the driver. Do not include - arguments, such as --conf, that can be set as job properties, since - a collision may occur that causes an incorrect job submission. - type: array - items: - type: string - jarFileUris: - description: >- - Optional. HCFS URIs of jar files to add to the CLASSPATHs of the - Spark driver and tasks. - type: array - items: - type: string - fileUris: - description: >- - Optional. HCFS URIs of files to be placed in the working directory - of each executor. Useful for naively parallel tasks. - type: array - items: - type: string - archiveUris: - description: >- - Optional. HCFS URIs of archives to be extracted into the working - directory of each executor. Supported file types: .jar, .tar, - .tar.gz, .tgz, and .zip. + values: + description: Optional. Corresponds to the label values of reservation resource. type: array items: type: string - properties: - description: >- - Optional. A mapping of property names to values, used to configure - Spark. Properties that conflict with values set by the Dataproc API - might be overwritten. Can include properties set in - /etc/spark/conf/spark-defaults.conf and classes in user code. - type: object - additionalProperties: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - PySparkJob: - id: PySparkJob + NodeGroupAffinity: + id: NodeGroupAffinity description: >- - A Dataproc job for running Apache PySpark - (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) - applications on YARN. + Node Group Affinity for clusters using sole-tenant node groups. The + Dataproc NodeGroupAffinity resource is not related to the Dataproc + NodeGroup resource. type: object properties: - mainPythonFileUri: + nodeGroupUri: description: >- - Required. The HCFS URI of the main Python file to use as the driver. - Must be a .py file. + Required. The URI of a sole-tenant node group resource + (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) + that the cluster will be created on.A full URL, partial URI, or node + group name are valid. Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 + projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 + node-group-1 type: string - args: + ShieldedInstanceConfig: + id: ShieldedInstanceConfig + description: >- + Shielded Instance Config for clusters using Compute Engine Shielded VMs + (https://cloud.google.com/security/shielded-cloud/shielded-vm). + type: object + properties: + enableSecureBoot: + description: Optional. Defines whether instances have Secure Boot enabled. + type: boolean + enableVtpm: + description: Optional. Defines whether instances have the vTPM enabled. + type: boolean + enableIntegrityMonitoring: description: >- - Optional. The arguments to pass to the driver. Do not include - arguments, such as --conf, that can be set as job properties, since - a collision may occur that causes an incorrect job submission. - type: array - items: - type: string - pythonFileUris: + Optional. Defines whether instances have integrity monitoring + enabled. + type: boolean + ConfidentialInstanceConfig: + id: ConfidentialInstanceConfig + description: >- + Confidential Instance Config for clusters using Confidential VMs + (https://cloud.google.com/compute/confidential-vm/docs) + type: object + properties: + enableConfidentialCompute: description: >- - Optional. HCFS file URIs of Python files to pass to the PySpark - framework. Supported file types: .py, .egg, and .zip. - type: array - items: - type: string - jarFileUris: + Optional. Defines whether the instance should have confidential + compute enabled. + type: boolean + InstanceGroupConfig: + id: InstanceGroupConfig + description: >- + The config settings for Compute Engine resources in an instance group, + such as a master or worker group. + type: object + properties: + numInstances: description: >- - Optional. HCFS URIs of jar files to add to the CLASSPATHs of the - Python driver and tasks. - type: array - items: - type: string - fileUris: + Optional. The number of VM instances in the instance group. For HA + cluster master_config groups, must be set to 3. For standard cluster + master_config groups, must be set to 1. + type: integer + format: int32 + instanceNames: description: >- - Optional. HCFS URIs of files to be placed in the working directory - of each executor. Useful for naively parallel tasks. + Output only. The list of instance names. Dataproc derives the names + from cluster_name, num_instances, and the instance group. + readOnly: true type: array items: type: string - archiveUris: - description: >- - Optional. HCFS URIs of archives to be extracted into the working - directory of each executor. Supported file types: .jar, .tar, - .tar.gz, .tgz, and .zip. + instanceReferences: + description: Output only. List of references to Compute Engine instances. + readOnly: true type: array items: - type: string - properties: + $ref: '#/components/schemas/InstanceReference' + imageUri: description: >- - Optional. A mapping of property names to values, used to configure - PySpark. Properties that conflict with values set by the Dataproc - API might be overwritten. Can include properties set in - /etc/spark/conf/spark-defaults.conf and classes in user code. - type: object - additionalProperties: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - HiveJob: - id: HiveJob - description: >- - A Dataproc job for running Apache Hive (https://hive.apache.org/) - queries on YARN. - type: object - properties: - queryFileUri: - description: The HCFS URI of the script that contains Hive queries. + Optional. The Compute Engine image resource used for cluster + instances.The URI can represent an image or image family.Image + examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] + projects/[project_id]/global/images/[image-id] image-idImage family + examples. Dataproc will use the most recent image from the family: + https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] + projects/[project_id]/global/images/family/[custom-image-family-name]If + the URI is unspecified, it will be inferred from + SoftwareConfig.image_version or the system default. type: string - queryList: - description: A list of queries. - $ref: '#/components/schemas/QueryList' - continueOnFailure: + machineTypeUri: description: >- - Optional. Whether to continue executing queries if a query fails. - The default value is false. Setting to true can be useful when - executing independent parallel queries. + Optional. The Compute Engine machine type used for cluster + instances.A full URL, partial URI, or short name are valid. + Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 + projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 + n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto + Zone Placement + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short name of the machine type resource, + for example, n1-standard-2. + type: string + diskConfig: + description: Optional. Disk option config settings. + $ref: '#/components/schemas/DiskConfig' + isPreemptible: + description: >- + Output only. Specifies that this instance group contains preemptible + instances. + readOnly: true type: boolean - scriptVariables: + preemptibility: description: >- - Optional. Mapping of query variable names to values (equivalent to - the Hive command: SET name="value";). - type: object - additionalProperties: - type: string - properties: + Optional. Specifies the preemptibility of the instance group.The + default value for master and worker groups is NON_PREEMPTIBLE. This + default cannot be changed.The default value for secondary instances + is PREEMPTIBLE. + type: string + enumDescriptions: + - >- + Preemptibility is unspecified, the system will choose the + appropriate setting for each instance group. + - >- + Instances are non-preemptible.This option is allowed for all + instance groups and is the only valid value for Master and Worker + instance groups. + - >- + Instances are preemptible + (https://cloud.google.com/compute/docs/instances/preemptible).This + option is allowed only for secondary worker + (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) + groups. + - >- + Instances are Spot VMs + (https://cloud.google.com/compute/docs/instances/spot).This option + is allowed only for secondary worker + (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) + groups. Spot VMs are the latest version of preemptible VMs + (https://cloud.google.com/compute/docs/instances/preemptible), and + provide additional features. + enum: + - PREEMPTIBILITY_UNSPECIFIED + - NON_PREEMPTIBLE + - PREEMPTIBLE + - SPOT + managedGroupConfig: description: >- - Optional. A mapping of property names and values, used to configure - Hive. Properties that conflict with values set by the Dataproc API - might be overwritten. Can include properties set in - /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and - classes in user code. - type: object - additionalProperties: - type: string - jarFileUris: + Output only. The config for Compute Engine Instance Group Manager + that manages this group. This is only used for preemptible instance + groups. + readOnly: true + $ref: '#/components/schemas/ManagedGroupConfig' + accelerators: description: >- - Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive - server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and - UDFs. + Optional. The Compute Engine accelerator configuration for these + instances. type: array items: - type: string - QueryList: - id: QueryList - description: A list of queries to run on a cluster. + $ref: '#/components/schemas/AcceleratorConfig' + minCpuPlatform: + description: >- + Optional. Specifies the minimum cpu platform for the Instance Group. + See Dataproc -> Minimum CPU Platform + (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + type: string + minNumInstances: + description: >- + Optional. The minimum number of primary worker instances to create. + If min_num_instances is set, cluster creation will succeed if the + number of primary workers created is at least equal to the + min_num_instances number.Example: Cluster creation request with + num_instances = 5 and min_num_instances = 3: If 4 VMs are created + and 1 instance fails, the failed VM is deleted. The cluster is + resized to 4 instances and placed in a RUNNING state. If 2 instances + are created and 3 instances fail, the cluster in placed in an ERROR + state. The failed VMs are not deleted. + type: integer + format: int32 + instanceFlexibilityPolicy: + description: >- + Optional. Instance flexibility Policy allowing a mixture of VM + shapes and provisioning models. + $ref: '#/components/schemas/InstanceFlexibilityPolicy' + startupConfig: + description: >- + Optional. Configuration to handle the startup of instances during + cluster create and update process. + $ref: '#/components/schemas/StartupConfig' + InstanceReference: + id: InstanceReference + description: A reference to a Compute Engine instance. type: object properties: - queries: - description: >- - Required. The queries to execute. You do not need to end a query - expression with a semicolon. Multiple queries can be specified in - one string by separating each with a semicolon. Here is an example - of a Dataproc API snippet that uses a QueryList to specify a - HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", - "query2", "query3;query4", ] } } - type: array - items: - type: string - PigJob: - id: PigJob - description: >- - A Dataproc job for running Apache Pig (https://pig.apache.org/) queries - on YARN. + instanceName: + description: The user-friendly name of the Compute Engine instance. + type: string + instanceId: + description: The unique identifier of the Compute Engine instance. + type: string + publicKey: + description: The public RSA key used for sharing data with this instance. + type: string + publicEciesKey: + description: The public ECIES key used for sharing data with this instance. + type: string + DiskConfig: + id: DiskConfig + description: Specifies the config of disk options for a group of VM instances. type: object properties: - queryFileUri: - description: The HCFS URI of the script that contains the Pig queries. + bootDiskType: + description: >- + Optional. Type of the boot disk (default is "pd-standard"). Valid + values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), + "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" + (Persistent Disk Hard Disk Drive). See Disk types + (https://cloud.google.com/compute/docs/disks#disk-types). type: string - queryList: - description: A list of queries. - $ref: '#/components/schemas/QueryList' - continueOnFailure: + bootDiskSizeGb: + description: Optional. Size in GB of the boot disk (default is 500GB). + type: integer + format: int32 + numLocalSsds: description: >- - Optional. Whether to continue executing queries if a query fails. - The default value is false. Setting to true can be useful when - executing independent parallel queries. - type: boolean - scriptVariables: + Optional. Number of attached SSDs, from 0 to 8 (default is 0). If + SSDs are not attached, the boot disk is used to store runtime logs + and HDFS + (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. + If one or more SSDs are attached, this runtime bulk data is spread + across them, and the boot disk contains only basic config and + installed binaries.Note: Local SSD options may vary by machine type + and number of vCPUs selected. + type: integer + format: int32 + localSsdInterface: description: >- - Optional. Mapping of query variable names to values (equivalent to - the Pig command: name=[value]). - type: object - additionalProperties: - type: string - properties: + Optional. Interface type of local SSDs (default is "scsi"). Valid + values: "scsi" (Small Computer System Interface), "nvme" + (Non-Volatile Memory Express). See local SSD performance + (https://cloud.google.com/compute/docs/disks/local-ssd#performance). + type: string + bootDiskProvisionedIops: description: >- - Optional. A mapping of property names to values, used to configure - Pig. Properties that conflict with values set by the Dataproc API - might be overwritten. Can include properties set in - /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and - classes in user code. - type: object - additionalProperties: - type: string - jarFileUris: + Optional. Indicates how many IOPS to provision for the disk. This + sets the number of I/O operations per second that the disk can + handle. Note: This field is only supported if boot_disk_type is + hyperdisk-balanced. + type: string + format: int64 + bootDiskProvisionedThroughput: description: >- - Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig - Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. - type: array - items: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - SparkRJob: - id: SparkRJob - description: >- - A Dataproc job for running Apache SparkR - (https://spark.apache.org/docs/latest/sparkr.html) applications on YARN. + Optional. Indicates how much throughput to provision for the disk. + This sets the number of throughput mb per second that the disk can + handle. Values must be greater than or equal to 1. Note: This field + is only supported if boot_disk_type is hyperdisk-balanced. + type: string + format: int64 + ManagedGroupConfig: + id: ManagedGroupConfig + description: Specifies the resources used to actively manage an instance group. type: object properties: - mainRFileUri: + instanceTemplateName: description: >- - Required. The HCFS URI of the main R file to use as the driver. Must - be a .R file. + Output only. The name of the Instance Template used for the Managed + Instance Group. + readOnly: true type: string - args: - description: >- - Optional. The arguments to pass to the driver. Do not include - arguments, such as --conf, that can be set as job properties, since - a collision may occur that causes an incorrect job submission. - type: array - items: - type: string - fileUris: + instanceGroupManagerName: + description: Output only. The name of the Instance Group Manager for this group. + readOnly: true + type: string + instanceGroupManagerUri: description: >- - Optional. HCFS URIs of files to be placed in the working directory - of each executor. Useful for naively parallel tasks. - type: array - items: - type: string - archiveUris: + Output only. The partial URI to the instance group manager for this + group. E.g. + projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. + readOnly: true + type: string + AcceleratorConfig: + id: AcceleratorConfig + description: >- + Specifies the type and number of accelerator cards attached to the + instances of an instance. See GPUs on Compute Engine + (https://cloud.google.com/compute/docs/gpus/). + type: object + properties: + acceleratorTypeUri: description: >- - Optional. HCFS URIs of archives to be extracted into the working - directory of each executor. Supported file types: .jar, .tar, - .tar.gz, .tgz, and .zip. - type: array - items: - type: string - properties: + Full URL, partial URI, or short name of the accelerator type + resource to expose to this instance. See Compute Engine + AcceleratorTypes + (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 + projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 + nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc + Auto Zone Placement + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short name of the accelerator type + resource, for example, nvidia-tesla-t4. + type: string + acceleratorCount: description: >- - Optional. A mapping of property names to values, used to configure - SparkR. Properties that conflict with values set by the Dataproc API - might be overwritten. Can include properties set in - /etc/spark/conf/spark-defaults.conf and classes in user code. - type: object - additionalProperties: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - SparkSqlJob: - id: SparkSqlJob + The number of the accelerator cards of this type exposed to this + instance. + type: integer + format: int32 + InstanceFlexibilityPolicy: + id: InstanceFlexibilityPolicy description: >- - A Dataproc job for running Apache Spark SQL - (https://spark.apache.org/sql/) queries. + Instance flexibility Policy allowing a mixture of VM shapes and + provisioning models. type: object properties: - queryFileUri: - description: The HCFS URI of the script that contains SQL queries. - type: string - queryList: - description: A list of queries. - $ref: '#/components/schemas/QueryList' - scriptVariables: + provisioningModelMix: description: >- - Optional. Mapping of query variable names to values (equivalent to - the Spark SQL command: SET name="value";). - type: object - additionalProperties: - type: string - properties: + Optional. Defines how the Group selects the provisioning model to + ensure required reliability. + $ref: '#/components/schemas/ProvisioningModelMix' + instanceSelectionList: description: >- - Optional. A mapping of property names to values, used to configure - Spark SQL's SparkConf. Properties that conflict with values set by - the Dataproc API might be overwritten. - type: object - additionalProperties: - type: string - jarFileUris: - description: Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. + Optional. List of instance selection options that the group will use + when creating new VMs. type: array items: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - PrestoJob: - id: PrestoJob + $ref: '#/components/schemas/InstanceSelection' + instanceSelectionResults: + description: Output only. A list of instance selection results in the group. + readOnly: true + type: array + items: + $ref: '#/components/schemas/InstanceSelectionResult' + ProvisioningModelMix: + id: ProvisioningModelMix description: >- - A Dataproc job for running Presto (https://prestosql.io/) queries. - IMPORTANT: The Dataproc Presto Optional Component - (https://cloud.google.com/dataproc/docs/concepts/components/presto) must - be enabled when the cluster is created to submit a Presto job to the - cluster. + Defines how Dataproc should create VMs with a mixture of provisioning + models. type: object properties: - queryFileUri: - description: The HCFS URI of the script that contains SQL queries. - type: string - queryList: - description: A list of queries. - $ref: '#/components/schemas/QueryList' - continueOnFailure: - description: >- - Optional. Whether to continue executing queries if a query fails. - The default value is false. Setting to true can be useful when - executing independent parallel queries. - type: boolean - outputFormat: + standardCapacityBase: description: >- - Optional. The format in which query output will be displayed. See - the Presto documentation for supported output formats - type: string - clientTags: - description: Optional. Presto client tags to attach to this query + Optional. The base capacity that will always use Standard VMs to + avoid risk of more preemption than the minimum capacity you need. + Dataproc will create only standard VMs until it reaches + standard_capacity_base, then it will start using + standard_capacity_percent_above_base to mix Spot with Standard VMs. + eg. If 15 instances are requested and standard_capacity_base is 5, + Dataproc will create 5 standard VMs and then start mixing spot and + standard VMs for remaining 10 instances. + type: integer + format: int32 + standardCapacityPercentAboveBase: + description: >- + Optional. The percentage of target capacity that should use Standard + VM. The remaining percentage will use Spot VMs. The percentage + applies only to the capacity above standard_capacity_base. eg. If 15 + instances are requested and standard_capacity_base is 5 and + standard_capacity_percent_above_base is 30, Dataproc will create 5 + standard VMs and then start mixing spot and standard VMs for + remaining 10 instances. The mix will be 30% standard and 70% spot. + type: integer + format: int32 + InstanceSelection: + id: InstanceSelection + description: Defines machines types and a rank to which the machines types belong. + type: object + properties: + machineTypes: + description: Optional. Full machine-type names, e.g. "n1-standard-16". type: array items: type: string - properties: + rank: description: >- - Optional. A mapping of property names to values. Used to set Presto - session properties - (https://prestodb.io/docs/current/sql/set-session.html) Equivalent - to using the --session flag in the Presto CLI - type: object - additionalProperties: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - TrinoJob: - id: TrinoJob + Optional. Preference of this instance selection. Lower number means + higher preference. Dataproc will first try to create a VM based on + the machine-type with priority rank and fallback to next rank based + on availability. Machine types and instance selections with the same + priority have the same preference. + type: integer + format: int32 + InstanceSelectionResult: + id: InstanceSelectionResult description: >- - 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. + Defines a mapping from machine types to the number of VMs that are + created with each machine type. type: object properties: - queryFileUri: - description: The HCFS URI of the script that contains SQL queries. + machineType: + description: Output only. Full machine-type names, e.g. "n1-standard-16". + readOnly: true type: string - queryList: - description: A list of queries. - $ref: '#/components/schemas/QueryList' - continueOnFailure: + vmCount: + description: Output only. Number of VM provisioned with the machine_type. + readOnly: true + type: integer + format: int32 + StartupConfig: + id: StartupConfig + description: >- + Configuration to handle the startup of instances during cluster create + and update process. + type: object + properties: + requiredRegistrationFraction: description: >- - Optional. Whether to continue executing queries if a query fails. - The default value is false. Setting to true can be useful when - executing independent parallel queries. - type: boolean - outputFormat: + Optional. The config setting to enable cluster creation/ updation to + be successful only after required_registration_fraction of instances + are up and running. This configuration is applicable to only + secondary workers for now. The cluster will fail if + required_registration_fraction of instances are not available. This + will include instance creation, agent registration, and service + registration (if enabled). + type: number + format: double + SoftwareConfig: + id: SoftwareConfig + description: Specifies the selection and config of software inside the cluster. + type: object + properties: + imageVersion: description: >- - Optional. The format in which query output will be displayed. See - the Trino documentation for supported output formats + Optional. The version of software inside the cluster. It must be one + of the supported Dataproc Versions + (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), + such as "1.2" (including a subminor version, such as "1.2.29"), or + the "preview" version + (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). + If unspecified, it defaults to the latest Debian version. type: string - clientTags: - description: Optional. Trino client tags to attach to this query - type: array - items: - type: string properties: description: >- - Optional. A mapping of property names to values. Used to set Trino - session properties - (https://trino.io/docs/current/sql/set-session.html) Equivalent to - using the --session flag in the Trino CLI + Optional. The properties to set on daemon config files.Property keys + are specified in prefix:property format, for example + core:hadoop.tmp.dir. The following are supported prefixes and their + mappings: capacity-scheduler: capacity-scheduler.xml core: + core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: + hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: + spark-defaults.conf yarn: yarn-site.xmlFor more information, see + Cluster properties + (https://cloud.google.com/dataproc/docs/concepts/cluster-properties). type: object additionalProperties: type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - FlinkJob: - id: FlinkJob - description: A Dataproc job for running Apache Flink applications on YARN. - type: object - properties: - mainJarFileUri: - description: The HCFS URI of the jar file that contains the main class. - type: string - mainClass: - description: >- - The name of the driver's main class. The jar file that contains the - class must be in the default CLASSPATH or specified in jarFileUris. - type: string - args: - description: >- - Optional. The arguments to pass to the driver. Do not include - arguments, such as --conf, that can be set as job properties, since - a collision might occur that causes an incorrect job submission. + optionalComponents: + description: Optional. The set of components to activate on the cluster. type: array items: type: string - jarFileUris: - description: >- - Optional. HCFS URIs of jar files to add to the CLASSPATHs of the - Flink driver and tasks. - type: array - items: - type: string - savepointUri: - description: >- - Optional. HCFS URI of the savepoint, which contains the last saved - progress for starting the current job. - type: string - properties: - description: >- - Optional. A mapping of property names to values, used to configure - Flink. Properties that conflict with values set by the Dataproc API - might beoverwritten. Can include properties set - in/etc/flink/conf/flink-defaults.conf and classes in user code. - type: object - additionalProperties: - type: string - loggingConfig: - description: Optional. The runtime log config for job execution. - $ref: '#/components/schemas/LoggingConfig' - JobStatus: - id: JobStatus - description: Dataproc job status. + enumDescriptions: + - >- + Unspecified component. Specifying this will cause Cluster + creation to fail. + - >- + The Anaconda component is no longer supported or applicable to + supported Dataproc on Compute Engine image versions + (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-version-clusters#supported-dataproc-image-versions). + It cannot be activated on clusters created with supported + Dataproc on Compute Engine image versions. + - Docker + - The Druid query engine. (alpha) + - Flink + - HBase. (beta) + - The Hive Web HCatalog (the REST service for accessing HCatalog). + - Hudi. + - Iceberg. + - The Jupyter Notebook. + - The Presto query engine. + - The Trino query engine. + - The Ranger service. + - The Solr service. + - The Zeppelin notebook. + - The Zookeeper service. + enum: + - COMPONENT_UNSPECIFIED + - ANACONDA + - DOCKER + - DRUID + - FLINK + - HBASE + - HIVE_WEBHCAT + - HUDI + - ICEBERG + - JUPYTER + - PRESTO + - TRINO + - RANGER + - SOLR + - ZEPPELIN + - ZOOKEEPER + NodeInitializationAction: + id: NodeInitializationAction + description: >- + Specifies an executable to run on a fully configured node and a timeout + period for executable completion. type: object properties: - state: - description: Output only. A state message specifying the overall job state. - readOnly: true + executableFile: + description: Required. Cloud Storage URI of executable file. type: string - enumDescriptions: - - The job state is unknown. - - The job is pending; it has been submitted, but is not yet running. - - >- - Job has been received by the service and completed initial setup; - it will soon be submitted to the cluster. - - The job is running on the cluster. - - A CancelJob request has been received, but is pending. - - >- - Transient in-flight resources have been canceled, and the request - to cancel the running job has been issued to the cluster. - - The job cancellation was successful. - - The job has completed successfully. - - The job has completed, but encountered an error. - - >- - Job attempt has failed. The detail field contains failure details - for this attempt.Applies to restartable jobs only. - enum: - - STATE_UNSPECIFIED - - PENDING - - SETUP_DONE - - RUNNING - - CANCEL_PENDING - - CANCEL_STARTED - - CANCELLED - - DONE - - ERROR - - ATTEMPT_FAILURE - details: + executionTimeout: description: >- - Optional. Output only. Job state details, such as an error - description if the state is ERROR. - readOnly: true + Optional. Amount of time executable has to complete. Default is 10 + minutes (see JSON representation of Duration + (https://developers.google.com/protocol-buffers/docs/proto3#json)).Cluster + creation fails with an explanatory error message (the name of the + executable that caused the error and the exceeded timeout period) if + the executable is not completed at end of the timeout period. type: string - stateStartTime: - description: Output only. The time when this state was entered. - readOnly: true + format: google-duration + EncryptionConfig: + id: EncryptionConfig + description: Encryption settings for the cluster. + type: object + properties: + gcePdKmsKeyName: + description: >- + Optional. The Cloud KMS key resource name to use for persistent disk + encryption for all instances in the cluster. See Use CMEK with + cluster data + (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) + for more information. type: string - format: google-datetime - substate: + kmsKey: description: >- - Output only. Additional state information, which includes status - reported by the agent. - readOnly: true + Optional. The Cloud KMS key resource name to use for cluster + persistent disk and job argument encryption. See Use CMEK with + cluster data + (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) + for more information.When this key resource name is provided, the + following job arguments of the following job types submitted to the + cluster are encrypted using CMEK: FlinkJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) + HadoopJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) + SparkJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) + SparkRJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) + PySparkJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) + SparkSqlJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) + scriptVariables and queryList.queries HiveJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) + scriptVariables and queryList.queries PigJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) + scriptVariables and queryList.queries PrestoJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) + scriptVariables and queryList.queries type: string - enumDescriptions: - - The job substate is unknown. - - The Job is submitted to the agent.Applies to RUNNING state. - - >- - The Job has been received and is awaiting execution (it might be - waiting for a condition to be met). See the "details" field for - the reason for the delay.Applies to RUNNING state. - - >- - The agent-reported status is out of date, which can be caused by a - loss of communication between the agent and Dataproc. If the agent - does not send a timely update, the job will fail.Applies to - RUNNING state. - enum: - - UNSPECIFIED - - SUBMITTED - - QUEUED - - STALE_STATUS - YarnApplication: - id: YarnApplication - description: >- - A YARN application created by a job. Application information is a subset - of org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.Beta - Feature: This report is available for testing purposes only. It may be - changed before final release. + AutoscalingConfig: + id: AutoscalingConfig + description: Autoscaling Policy config associated with the cluster. type: object properties: - name: - description: Required. The application name. - type: string - state: - description: Required. The application state. - type: string - enumDescriptions: - - Status is unspecified. - - Status is NEW. - - Status is NEW_SAVING. - - Status is SUBMITTED. - - Status is ACCEPTED. - - Status is RUNNING. - - Status is FINISHED. - - Status is FAILED. - - Status is KILLED. - enum: - - STATE_UNSPECIFIED - - NEW - - NEW_SAVING - - SUBMITTED - - ACCEPTED - - RUNNING - - FINISHED - - FAILED - - KILLED - progress: - description: Required. The numerical progress of the application, from 1 to 100. - type: number - format: float - trackingUrl: + policyUri: description: >- - Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or - TimelineServer that provides application-specific information. The - URL uses the internal hostname, and requires a proxy server for - resolution and, possibly, access. + Optional. The autoscaling policy used by the cluster.Only resource + names including projectid and location (region) are valid. Examples: + https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] + projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note + that the policy must be in the same project and Dataproc region. type: string - JobScheduling: - id: JobScheduling - description: Job scheduling options. + SecurityConfig: + id: SecurityConfig + description: Security related configuration, including encryption, Kerberos, etc. type: object properties: - maxFailuresPerHour: + kerberosConfig: + description: Optional. Kerberos related configuration. + $ref: '#/components/schemas/KerberosConfig' + identityConfig: description: >- - Optional. Maximum number of times per hour a driver can be restarted - as a result of driver exiting with non-zero code before job is - reported failed.A job might be reported as thrashing if the driver - exits with a non-zero code four times within a 10-minute - window.Maximum value is 10.Note: This restartable job option is not - supported in Dataproc workflow templates - (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template). - type: integer - format: int32 - maxFailuresTotal: + Optional. Identity related configuration, including service account + based secure multi-tenancy user mappings. + $ref: '#/components/schemas/IdentityConfig' + KerberosConfig: + id: KerberosConfig + description: Specifies Kerberos related configuration. + type: object + properties: + enableKerberos: description: >- - Optional. Maximum total number of times a driver can be restarted as - a result of the driver exiting with a non-zero code. After the - maximum number is reached, the job will be reported as - failed.Maximum value is 240.Note: Currently, this restartable job - option is not supported in Dataproc workflow templates - (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template). - type: integer - format: int32 - DriverSchedulingConfig: - id: DriverSchedulingConfig - description: Driver scheduling configuration. - type: object - properties: - memoryMb: - description: Required. The amount of memory in MB the driver is requesting. - type: integer - format: int32 - vcores: - description: Required. The number of vCPUs the driver is requesting. - type: integer - format: int32 - ListJobsResponse: - id: ListJobsResponse - description: A list of jobs in a project. - type: object - properties: - jobs: - description: Output only. Jobs list. - readOnly: true - type: array - items: - $ref: '#/components/schemas/Job' - nextPageToken: + Optional. Flag to indicate whether to Kerberize the cluster + (default: false). Set this field to true to enable Kerberos on a + cluster. + type: boolean + rootPrincipalPasswordUri: description: >- - Optional. This token is included in the response if there are more - results to fetch. To fetch additional results, provide this value as - the page_token in a subsequent ListJobsRequest. + Optional. The Cloud Storage URI of a KMS encrypted file containing + the root principal password. type: string - unreachable: + kmsKeyUri: + description: Optional. The URI of the KMS key used to encrypt sensitive files. + type: string + keystoreUri: description: >- - Output only. List of jobs with kms_key-encrypted parameters that - could not be decrypted. A response to a jobs.get request may - indicate the reason for the decryption failure for a specific job. - readOnly: true - type: array - items: - type: string - CancelJobRequest: - id: CancelJobRequest - description: A request to cancel a job. - type: object - properties: {} - Session: - id: Session - description: A representation of a session. - type: object - properties: - name: - description: Required. The resource name of the session. + Optional. The Cloud Storage URI of the keystore file used for SSL + encryption. If not provided, Dataproc will provide a self-signed + certificate. type: string - uuid: + truststoreUri: description: >- - Output only. A session UUID (Unique Universal Identifier). The - service generates this value when it creates the session. - readOnly: true + Optional. The Cloud Storage URI of the truststore file used for SSL + encryption. If not provided, Dataproc will provide a self-signed + certificate. type: string - createTime: - description: Output only. The time when the session was created. - readOnly: true + keystorePasswordUri: + description: >- + Optional. The Cloud Storage URI of a KMS encrypted file containing + the password to the user provided keystore. For the self-signed + certificate, this password is generated by Dataproc. type: string - format: google-datetime - jupyterSession: - description: Optional. Jupyter session config. - $ref: '#/components/schemas/JupyterConfig' - sparkConnectSession: - description: Optional. Spark connect session config. - $ref: '#/components/schemas/SparkConnectConfig' - runtimeInfo: - description: Output only. Runtime information about session execution. - readOnly: true - $ref: '#/components/schemas/RuntimeInfo' - state: - description: Output only. A state of the session. - readOnly: true + keyPasswordUri: + description: >- + Optional. The Cloud Storage URI of a KMS encrypted file containing + the password to the user provided key. For the self-signed + certificate, this password is generated by Dataproc. type: string - enumDescriptions: - - The session state is unknown. - - The session is created prior to running. - - The session is running. - - The session is terminating. - - The session is terminated successfully. - - The session is no longer running due to an error. - enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - TERMINATING - - TERMINATED - - FAILED - stateMessage: + truststorePasswordUri: description: >- - Output only. Session state details, such as the failure description - if the state is FAILED. - readOnly: true + Optional. The Cloud Storage URI of a KMS encrypted file containing + the password to the user provided truststore. For the self-signed + certificate, this password is generated by Dataproc. type: string - stateTime: - description: Output only. The time when the session entered the current state. - readOnly: true + crossRealmTrustRealm: + description: >- + Optional. The remote realm the Dataproc on-cluster KDC will trust, + should the user enable cross realm trust. type: string - format: google-datetime - creator: - description: Output only. The email address of the user who created the session. - readOnly: true + crossRealmTrustKdc: + description: >- + Optional. The KDC (IP or hostname) for the remote trusted realm in a + cross realm trust relationship. type: string - labels: + crossRealmTrustAdminServer: description: >- - Optional. The labels to associate with the session. 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 a session. - type: object - additionalProperties: - type: string - runtimeConfig: - description: Optional. Runtime configuration for the session execution. - $ref: '#/components/schemas/RuntimeConfig' - environmentConfig: - description: Optional. Environment configuration for the session execution. - $ref: '#/components/schemas/EnvironmentConfig' - user: - description: Optional. The email address of the user who owns the session. + Optional. The admin server (IP or hostname) for the remote trusted + realm in a cross realm trust relationship. type: string - stateHistory: - description: Output only. Historical state information for the session. - readOnly: true - type: array - items: - $ref: '#/components/schemas/SessionStateHistory' - sessionTemplate: + crossRealmTrustSharedPasswordUri: description: >- - 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. + Optional. The Cloud Storage URI of a KMS encrypted file containing + the shared password between the on-cluster Kerberos realm and the + remote trusted realm, in a cross realm trust relationship. type: string - JupyterConfig: - id: JupyterConfig - description: Jupyter configuration for an interactive session. - type: object - properties: - kernel: - description: Optional. Kernel + kdcDbKeyUri: + description: >- + Optional. The Cloud Storage URI of a KMS encrypted file containing + the master key of the KDC database. type: string - enumDescriptions: - - The kernel is unknown. - - Python kernel. - - Scala kernel. - enum: - - KERNEL_UNSPECIFIED - - PYTHON - - SCALA - displayName: - description: Optional. Display name, shown in the Jupyter kernelspec card. + tgtLifetimeHours: + description: >- + Optional. The lifetime of the ticket granting ticket, in hours. If + not specified, or user specifies 0, then default value 10 will be + used. + type: integer + format: int32 + realm: + description: >- + Optional. The name of the on-cluster Kerberos realm. If not + specified, the uppercased domain of hostnames will be the realm. type: string - SparkConnectConfig: - id: SparkConnectConfig - description: Spark connect configuration for an interactive session. + IdentityConfig: + id: IdentityConfig + description: >- + Identity related configuration, including service account based secure + multi-tenancy user mappings. type: object - properties: {} - SessionStateHistory: - id: SessionStateHistory - description: Historical state information. + properties: + userServiceAccountMapping: + description: Required. Map of user to service account. + type: object + additionalProperties: + type: string + LifecycleConfig: + id: LifecycleConfig + description: Specifies the cluster auto-delete schedule configuration. type: object properties: - state: + idleDeleteTtl: description: >- - Output only. The state of the session at this point in the session - history. - readOnly: true + Optional. The duration to keep the cluster alive while idling (when + no jobs are running). Passing this threshold will cause the cluster + to be deleted. Minimum value is 5 minutes; maximum value is 14 days + (see JSON representation of Duration + (https://developers.google.com/protocol-buffers/docs/proto3#json)). type: string - enumDescriptions: - - The session state is unknown. - - The session is created prior to running. - - The session is running. - - The session is terminating. - - The session is terminated successfully. - - The session is no longer running due to an error. - enum: - - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - TERMINATING - - TERMINATED - - FAILED - stateMessage: + format: google-duration + autoDeleteTime: description: >- - Output only. Details about the state at this point in the session - history. - readOnly: true - type: string - stateStartTime: - description: Output only. The time when the session entered the historical state. - readOnly: true + Optional. The time when cluster will be auto-deleted (see JSON + representation of Timestamp + (https://developers.google.com/protocol-buffers/docs/proto3#json)). type: string format: google-datetime - ListSessionsResponse: - id: ListSessionsResponse - description: A list of interactive sessions. - type: object - properties: - sessions: - description: Output only. The sessions from the specified collection. - readOnly: true - type: array - items: - $ref: '#/components/schemas/Session' - nextPageToken: + autoDeleteTtl: description: >- - A token, which can be sent as page_token, to retrieve the next page. - If this field is omitted, there are no subsequent pages. + Optional. The lifetime duration of cluster. The cluster will be + auto-deleted at the end of this period. Minimum value is 10 minutes; + maximum value is 14 days (see JSON representation of Duration + (https://developers.google.com/protocol-buffers/docs/proto3#json)). type: string - TerminateSessionRequest: - id: TerminateSessionRequest - description: A request to terminate an interactive session. - type: object - properties: - requestId: + format: google-duration + idleStartTime: description: >- - Optional. A unique ID used to identify the request. If the service - receives two TerminateSessionRequest - (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s - with the same ID, the second request is ignored.Recommendation: Set - this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The - value must contain only letters (a-z, A-Z), numbers (0-9), - underscores (_), and hyphens (-). The maximum length is 40 - characters. - type: string - SessionTemplate: - id: SessionTemplate - description: A representation of a session template. - type: object - properties: - name: - description: Required. The resource name of the session template. - type: string - description: - description: Optional. Brief description of the template. - type: string - createTime: - description: Output only. The time when the template was created. + Output only. The time when cluster became idle (most recent job + finished) and became eligible for deletion due to idleness (see JSON + representation of Timestamp + (https://developers.google.com/protocol-buffers/docs/proto3#json)). readOnly: true type: string format: google-datetime - jupyterSession: - description: Optional. Jupyter session config. - $ref: '#/components/schemas/JupyterConfig' - sparkConnectSession: - description: Optional. Spark connect session config. - $ref: '#/components/schemas/SparkConnectConfig' - creator: - description: Output only. The email address of the user who created the template. - readOnly: true - type: string - labels: + EndpointConfig: + id: EndpointConfig + description: Endpoint config for this cluster + type: object + properties: + httpPorts: description: >- - 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. + Output only. The map of port descriptions to URLs. Will only be + populated if enable_http_port_access is true. + readOnly: true type: object additionalProperties: type: string - runtimeConfig: - description: Optional. Runtime configuration for session execution. - $ref: '#/components/schemas/RuntimeConfig' - environmentConfig: - description: Optional. Environment configuration for session execution. - $ref: '#/components/schemas/EnvironmentConfig' - updateTime: - description: Output only. The time the template was last updated. - readOnly: true - type: string - format: google-datetime - uuid: + enableHttpPortAccess: description: >- - Output only. A session template UUID (Unique Universal Identifier). - The service generates this value when it creates the session - template. - readOnly: true - type: string - ListSessionTemplatesResponse: - id: ListSessionTemplatesResponse - description: A list of session templates. + Optional. If true, enable http access to specific ports on the + cluster from external sources. Defaults to false. + type: boolean + MetastoreConfig: + id: MetastoreConfig + description: Specifies a Metastore configuration. type: object properties: - sessionTemplates: - description: Output only. Session template list - readOnly: true - type: array - items: - $ref: '#/components/schemas/SessionTemplate' - nextPageToken: + dataprocMetastoreService: description: >- - A token, which can be sent as page_token to retrieve the next page. - If this field is omitted, there are no subsequent pages. + Required. Resource name of an existing Dataproc Metastore + service.Example: + projects/[project_id]/locations/[dataproc_region]/services/[service-name] type: string - WorkflowTemplate: - id: WorkflowTemplate - description: A Dataproc workflow template resource. + GkeClusterConfig: + id: GkeClusterConfig + description: The cluster's GKE config. type: object properties: - id: - type: string - name: + namespacedGkeDeploymentTarget: description: >- - 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} - readOnly: true - type: string - version: + Optional. Deprecated. Use gkeClusterTarget. Used only for the + deprecated beta. A target for the deployment. + deprecated: true + $ref: '#/components/schemas/NamespacedGkeDeploymentTarget' + gkeClusterTarget: description: >- - 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. - type: integer - format: int32 - createTime: - description: Output only. The time template was created. - readOnly: true - type: string - format: google-datetime - updateTime: - description: Output only. The time template was last updated. - readOnly: true + Optional. A target GKE cluster to deploy to. It must be in the same + project and region as the Dataproc cluster (the GKE cluster can be + zonal or regional). Format: + 'projects/{project}/locations/{location}/clusters/{cluster_id}' type: string - format: google-datetime - labels: - description: >- - Optional. The labels to associate with this template. These labels - will be propagated to all jobs and clusters created by the workflow - instance.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 a template. - type: object - additionalProperties: - type: string - placement: - description: Required. WorkflowTemplate scheduling information. - $ref: '#/components/schemas/WorkflowTemplatePlacement' - jobs: - description: Required. The Directed Acyclic Graph of Jobs to submit. - type: array - items: - $ref: '#/components/schemas/OrderedJob' - parameters: + nodePoolTarget: description: >- - Optional. Template parameters whose values are substituted into the - template. Values for parameters must be provided when the template - is instantiated. + Optional. GKE node pools where workloads will be scheduled. At least + one node pool must be assigned the DEFAULT GkeNodePoolTarget.Role. + If a GkeNodePoolTarget is not specified, Dataproc constructs a + DEFAULT GkeNodePoolTarget. Each role can be given to only one + GkeNodePoolTarget. All node pools must have the same location + settings. type: array items: - $ref: '#/components/schemas/TemplateParameter' - dagTimeout: - description: >- - 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. - type: string - format: google-duration - encryptionConfig: - description: >- - Optional. Encryption settings for encrypting workflow template job - arguments. - $ref: >- - #/components/schemas/GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig - WorkflowTemplatePlacement: - id: WorkflowTemplatePlacement + $ref: '#/components/schemas/GkeNodePoolTarget' + NamespacedGkeDeploymentTarget: + id: NamespacedGkeDeploymentTarget + deprecated: true description: >- - Specifies workflow execution target.Either managed_cluster or - cluster_selector is required. + Deprecated. Used only for the deprecated beta. A full, + namespace-isolated deployment target for an existing GKE cluster. type: object properties: - managedCluster: - description: A cluster that is managed by the workflow. - $ref: '#/components/schemas/ManagedCluster' - clusterSelector: + targetGkeCluster: description: >- - Optional. A selector that chooses target cluster for jobs based on - metadata.The selector is evaluated at the time each job is - submitted. - $ref: '#/components/schemas/ClusterSelector' - ManagedCluster: - id: ManagedCluster - description: Cluster that is managed by the workflow. + Optional. The target GKE cluster to deploy to. Format: + 'projects/{project}/locations/{location}/clusters/{cluster_id}' + type: string + clusterNamespace: + description: Optional. A namespace within the GKE cluster to deploy into. + type: string + GkeNodePoolTarget: + id: GkeNodePoolTarget + description: GKE node pools that Dataproc workloads run on. type: object properties: - clusterName: + nodePool: description: >- - Required. The cluster name prefix. A unique cluster name will be - formed by appending a random suffix.The name must contain only - lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin - with a letter. Cannot begin or end with hyphen. Must consist of - between 2 and 35 characters. + Required. The target GKE node pool. Format: + 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{node_pool}' type: string - config: - description: Required. The cluster configuration. - $ref: '#/components/schemas/ClusterConfig' - labels: - description: >- - Optional. The labels to associate with this cluster.Label keys must - be between 1 and 63 characters long, 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, and must conform to the - following PCRE regular expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more - than 32 labels can be associated with a given cluster. - type: object - additionalProperties: + roles: + description: Required. The roles associated with the GKE node pool. + type: array + items: type: string - ClusterSelector: - id: ClusterSelector - description: A selector that chooses target cluster for jobs based on metadata. + enumDescriptions: + - Role is unspecified. + - >- + At least one node pool must have the DEFAULT role. Work assigned + to a role that is not associated with a node pool is assigned to + the node pool with the DEFAULT role. For example, work assigned + to the CONTROLLER role will be assigned to the node pool with + the DEFAULT role if no node pool has the CONTROLLER role. + - >- + Run work associated with the Dataproc control plane (for + example, controllers and webhooks). Very low resource + requirements. + - Run work associated with a Spark driver of a job. + - Run work associated with a Spark executor of a job. + enum: + - ROLE_UNSPECIFIED + - DEFAULT + - CONTROLLER + - SPARK_DRIVER + - SPARK_EXECUTOR + nodePoolConfig: + description: >- + Input only. The configuration for the GKE node pool.If specified, + Dataproc attempts to create a node pool with the specified shape. If + one with the same name already exists, it is verified against all + specified fields. If a field differs, the virtual cluster creation + will fail.If omitted, any node pool with the specified name is used. + If a node pool with the specified name does not exist, Dataproc + create a node pool with default values.This is an input only field. + It will not be returned by the API. + $ref: '#/components/schemas/GkeNodePoolConfig' + GkeNodePoolConfig: + id: GkeNodePoolConfig + description: >- + The configuration of a GKE node pool used by a Dataproc-on-GKE cluster + (https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster). type: object properties: - zone: + config: + description: Optional. The node pool configuration. + $ref: '#/components/schemas/GkeNodeConfig' + locations: description: >- - Optional. The zone where workflow process executes. This parameter - does not affect the selection of the cluster.If unspecified, the - zone of the first cluster matching the selector is used. - type: string - clusterLabels: - description: Required. The cluster labels. Cluster must have all labels to match. - type: object - additionalProperties: + Optional. The list of Compute Engine zones + (https://cloud.google.com/compute/docs/zones#available) where node + pool nodes associated with a Dataproc on GKE virtual cluster will be + located.Note: All node pools associated with a virtual cluster must + be located in the same region as the virtual cluster, and they must + be located in the same zone within that region.If a location is not + specified during node pool creation, Dataproc on GKE will choose the + zone. + type: array + items: type: string - OrderedJob: - id: OrderedJob - description: A job executed by the workflow. + autoscaling: + description: >- + Optional. The autoscaler configuration for this node pool. The + autoscaler is enabled only when a valid configuration is present. + $ref: '#/components/schemas/GkeNodePoolAutoscalingConfig' + GkeNodeConfig: + id: GkeNodeConfig + description: Parameters that describe cluster nodes. type: object properties: - stepId: + machineType: description: >- - Required. The step id. The id must be unique among all jobs within - the template.The step id is used as prefix for job id, as job - goog-dataproc-workflow-step-id label, and in prerequisiteStepIds - field from other steps.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. + Optional. The name of a Compute Engine machine type + (https://cloud.google.com/compute/docs/machine-types). type: string - hadoopJob: - description: Optional. Job is a Hadoop job. - $ref: '#/components/schemas/HadoopJob' - sparkJob: - description: Optional. Job is a Spark job. - $ref: '#/components/schemas/SparkJob' - pysparkJob: - description: Optional. Job is a PySpark job. - $ref: '#/components/schemas/PySparkJob' - hiveJob: - description: Optional. Job is a Hive job. - $ref: '#/components/schemas/HiveJob' - pigJob: - description: Optional. Job is a Pig job. - $ref: '#/components/schemas/PigJob' - sparkRJob: - description: Optional. Job is a SparkR job. - $ref: '#/components/schemas/SparkRJob' - sparkSqlJob: - description: Optional. Job is a SparkSql job. - $ref: '#/components/schemas/SparkSqlJob' - prestoJob: - description: Optional. Job is a Presto job. - $ref: '#/components/schemas/PrestoJob' - trinoJob: - description: Optional. Job is a Trino job. - $ref: '#/components/schemas/TrinoJob' - flinkJob: - description: Optional. Job is a Flink job. - $ref: '#/components/schemas/FlinkJob' - labels: + localSsdCount: description: >- - Optional. The labels to associate with this job.Label keys must be - between 1 and 63 characters long, and must conform to the following - regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 - and 63 characters long, and must conform to the following regular - expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be - associated with a given job. - type: object - additionalProperties: - type: string - scheduling: - description: Optional. Job scheduling configuration. - $ref: '#/components/schemas/JobScheduling' - prerequisiteStepIds: + Optional. The number of local SSD disks to attach to the node, which + is limited by the maximum number of disks allowable per zone (see + Adding Local SSDs + (https://cloud.google.com/compute/docs/disks/local-ssd)). + type: integer + format: int32 + preemptible: description: >- - Optional. The optional list of prerequisite job step_ids. If not - specified, the job will start at the beginning of workflow. + Optional. Whether the nodes are created as legacy preemptible VM + instances + (https://cloud.google.com/compute/docs/instances/preemptible). Also + see Spot VMs, preemptible VM instances without a maximum lifetime. + Legacy and Spot preemptible nodes cannot be used in a node pool with + the CONTROLLER role or in the DEFAULT node pool if the CONTROLLER + role is not assigned (the DEFAULT node pool will assume the + CONTROLLER role). + type: boolean + accelerators: + description: >- + Optional. A list of hardware accelerators + (https://cloud.google.com/compute/docs/gpus) to attach to each node. type: array items: - type: string - TemplateParameter: - id: TemplateParameter + $ref: '#/components/schemas/GkeNodePoolAcceleratorConfig' + minCpuPlatform: + description: >- + Optional. Minimum CPU platform + (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + to be used by this instance. The instance may be scheduled on the + specified or a newer CPU platform. Specify the friendly names of CPU + platforms, such as "Intel Haswell"` or Intel Sandy Bridge". + type: string + bootDiskKmsKey: + description: >- + Optional. The Customer Managed Encryption Key (CMEK) + (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek) + used to encrypt the boot disk attached to each node in the node + pool. Specify the key using the following format: + projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key} + type: string + spot: + description: >- + Optional. Whether the nodes are created as Spot VM instances + (https://cloud.google.com/compute/docs/instances/spot). Spot VMs are + the latest update to legacy preemptible VMs. Spot VMs do not have a + maximum lifetime. Legacy and Spot preemptible nodes cannot be used + in a node pool with the CONTROLLER role or in the DEFAULT node pool + if the CONTROLLER role is not assigned (the DEFAULT node pool will + assume the CONTROLLER role). + type: boolean + GkeNodePoolAcceleratorConfig: + id: GkeNodePoolAcceleratorConfig description: >- - A configurable parameter that replaces one or more fields in the - template. Parameterizable fields: - Labels - File uris - Job properties - - Job arguments - Script variables - Main class (in HadoopJob and - SparkJob) - Zone (in ClusterSelector) + A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator + request for a node pool. type: object properties: - name: + acceleratorCount: + description: The number of accelerator cards exposed to an instance. + type: string + format: int64 + acceleratorType: + description: The accelerator type resource namename (see GPUs on Compute Engine). + type: string + gpuPartitionSize: description: >- - Required. Parameter name. The parameter name is used as the key, and - paired with the parameter value, which are passed to the template - when the template is instantiated. The name must contain only - capital letters (A-Z), numbers (0-9), and underscores (_), and must - not start with a number. The maximum length is 40 characters. + Size of partitions to create on the GPU. Valid values are described + in the NVIDIA mig user guide + (https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning). type: string - fields: + GkeNodePoolAutoscalingConfig: + id: GkeNodePoolAutoscalingConfig + description: >- + GkeNodePoolAutoscaling contains information the cluster autoscaler needs + to adjust the size of the node pool to the current cluster usage. + type: object + properties: + minNodeCount: description: >- - Required. Paths to all fields that the parameter replaces. A field - is allowed to appear in at most one parameter's list of field - paths.A field path is similar in syntax to a - google.protobuf.FieldMask. For example, a field path that references - the zone field of a workflow template's cluster selector would be - specified as placement.clusterSelector.zone.Also, field paths can - reference fields using the following syntax: Values in maps can be - referenced by key: labels'key' - placement.clusterSelector.clusterLabels'key' - placement.managedCluster.labels'key' - placement.clusterSelector.clusterLabels'key' - jobs'step-id'.labels'key' Jobs in the jobs list can be referenced by - step-id: jobs'step-id'.hadoopJob.mainJarFileUri - jobs'step-id'.hiveJob.queryFileUri - jobs'step-id'.pySparkJob.mainPythonFileUri - jobs'step-id'.hadoopJob.jarFileUris0 - jobs'step-id'.hadoopJob.archiveUris0 - jobs'step-id'.hadoopJob.fileUris0 - jobs'step-id'.pySparkJob.pythonFileUris0 Items in repeated fields - can be referenced by a zero-based index: - jobs'step-id'.sparkJob.args0 Other examples: - jobs'step-id'.hadoopJob.properties'key' - jobs'step-id'.hadoopJob.args0 - jobs'step-id'.hiveJob.scriptVariables'key' - jobs'step-id'.hadoopJob.mainJarFileUri - placement.clusterSelector.zoneIt may not be possible to parameterize - maps and repeated fields in their entirety since only individual map - values and individual items in repeated fields can be referenced. - For example, the following field paths are invalid: - placement.clusterSelector.clusterLabels jobs'step-id'.sparkJob.args - type: array - items: - type: string - description: + The minimum number of nodes in the node pool. Must be >= 0 and <= + max_node_count. + type: integer + format: int32 + maxNodeCount: description: >- - Optional. Brief description of the parameter. Must not exceed 1024 - characters. - type: string - validation: - description: Optional. Validation rules to be applied to this parameter's value. - $ref: '#/components/schemas/ParameterValidation' - ParameterValidation: - id: ParameterValidation - description: Configuration for parameter validation. - type: object - properties: - regex: - description: Validation based on regular expressions. - $ref: '#/components/schemas/RegexValidation' - values: - description: Validation based on a list of allowed values. - $ref: '#/components/schemas/ValueValidation' - RegexValidation: - id: RegexValidation - description: Validation based on regular expressions. + The maximum number of nodes in the node pool. Must be >= + min_node_count, and must be > 0. Note: Quota must be sufficient to + scale up the cluster. + type: integer + format: int32 + DataprocMetricConfig: + id: DataprocMetricConfig + description: Dataproc metric config. type: object properties: - regexes: - description: >- - Required. RE2 regular expressions used to validate the parameter's - value. The value must match the regex in its entirety (substring - matches are not sufficient). + metrics: + description: Required. Metrics sources to enable. type: array items: - type: string - ValueValidation: - id: ValueValidation - description: Validation based on a list of allowed values. + $ref: '#/components/schemas/Metric' + Metric: + id: Metric + description: A Dataproc custom metric. type: object properties: - values: - description: Required. List of allowed values for the parameter. + metricSource: + description: >- + Required. A standard set of metrics is collected unless + metricOverrides are specified for the metric source (see Custom + metrics + (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) + for more information). + type: string + enumDescriptions: + - Required unspecified metric source. + - >- + Monitoring agent metrics. If this source is enabled, Dataproc + enables the monitoring agent in Compute Engine, and collects + monitoring agent metrics, which are published with an + agent.googleapis.com prefix. + - HDFS metric source. + - Spark metric source. + - YARN metric source. + - Spark History Server metric source. + - Hiveserver2 metric source. + - hivemetastore metric source + - flink metric source + enum: + - METRIC_SOURCE_UNSPECIFIED + - MONITORING_AGENT_DEFAULTS + - HDFS + - SPARK + - YARN + - SPARK_HISTORY_SERVER + - HIVESERVER2 + - HIVEMETASTORE + - FLINK + metricOverrides: + description: >- + Optional. Specify one or more Custom metrics + (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) + to collect for the metric course (for the SPARK metric source (any + Spark metric + (https://spark.apache.org/docs/latest/monitoring.html#metrics) can + be specified).Provide metrics in the following format: + METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as + appropriate.Examples: + yarn:ResourceManager:QueueMetrics:AppsCompleted + spark:driver:DAGScheduler:job.allJobs + sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed + hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the + specified overridden metrics are collected for the metric source. + For example, if one or more spark:executive metrics are listed as + metric overrides, other SPARK metrics are not collected. The + collection of the metrics for other enabled custom metric sources is + unaffected. For example, if both SPARK andd YARN metric sources are + enabled, and overrides are provided for Spark metrics only, all YARN + metrics are collected. type: array items: type: string - GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig: - id: GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig - description: Encryption settings for encrypting workflow template job arguments. + AuxiliaryNodeGroup: + id: AuxiliaryNodeGroup + description: Node group identification and configuration information. type: object properties: - kmsKey: + nodeGroup: + description: Required. Node group configuration. + $ref: '#/components/schemas/NodeGroup' + nodeGroupId: description: >- - Optional. The Cloud KMS key name to use for encrypting workflow - template job arguments.When this this key is provided, the following - workflow template job arguments - (https://cloud.google.com/dataproc/docs/concepts/workflows/use-workflows#adding_jobs_to_a_template), - if present, are CMEK encrypted - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_workflow_template_data): - FlinkJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) - HadoopJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) - SparkJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) - SparkRJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) - PySparkJob args - (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) - SparkSqlJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) - scriptVariables and queryList.queries HiveJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) - scriptVariables and queryList.queries PigJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) - scriptVariables and queryList.queries PrestoJob - (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) - scriptVariables and queryList.queries + Optional. A node group ID. Generated if not specified.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 from 3 to 33 characters. type: string - InstantiateWorkflowTemplateRequest: - id: InstantiateWorkflowTemplateRequest - description: A request to instantiate a workflow template. + NodeGroup: + id: NodeGroup + description: >- + Dataproc Node Group. The Dataproc NodeGroup resource is not related to + the Dataproc NodeGroupAffinity resource. type: object properties: - version: - description: >- - Optional. The version of workflow template to instantiate. If - specified, the workflow will be instantiated only if the current - version of the workflow template has the supplied version.This - option cannot be used to instantiate a previous version of workflow - template. - type: integer - format: int32 - requestId: - description: >- - Optional. A tag that prevents multiple concurrent workflow instances - with the same tag from running. This mitigates risk of concurrent - instances started due to retries.It is recommended to always set - this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The - tag must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), and hyphens (-). The maximum length is 40 characters. + name: + description: The Node group resource name (https://aip.dev/122). type: string - parameters: + roles: + description: Required. Node group roles. + type: array + items: + type: string + enumDescriptions: + - Required unspecified role. + - Job drivers run on the node pool. + enum: + - ROLE_UNSPECIFIED + - DRIVER + nodeGroupConfig: + description: Optional. The node group instance group configuration. + $ref: '#/components/schemas/InstanceGroupConfig' + labels: description: >- - Optional. Map from parameter names to values that should be used for - those parameters. Values may not exceed 1000 characters. + 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 labels. type: object additionalProperties: type: string - ListWorkflowTemplatesResponse: - id: ListWorkflowTemplatesResponse - description: A response to a request to list workflow templates in a project. + VirtualClusterConfig: + id: VirtualClusterConfig + description: >- + 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). type: object properties: - templates: - description: Output only. WorkflowTemplates list. - readOnly: true - type: array - items: - $ref: '#/components/schemas/WorkflowTemplate' - nextPageToken: - description: >- - Output only. This token is included in the response if there are - more results to fetch. To fetch additional results, provide this - value as the page_token in a subsequent - ListWorkflowTemplatesRequest. - readOnly: true - type: string - unreachable: + stagingBucket: description: >- - Output only. List of workflow templates that could not be included - in the response. Attempting to get one of these resources may - indicate why it was not included in the list response. - readOnly: true - type: array - items: - type: string - ResizeNodeGroupRequest: - id: ResizeNodeGroupRequest - description: A request to resize a node group. + Optional. A Cloud Storage bucket used to stage job dependencies, + config files, and job driver console output. If you do not specify a + staging bucket, Cloud Dataproc will determine a Cloud Storage + location (US, ASIA, or EU) for your cluster's staging bucket + according to the Compute Engine zone where your cluster is deployed, + and then create and manage this project-level, per-location bucket + (see Dataproc staging and temp buckets + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). + This field requires a Cloud Storage bucket name, not a gs://... URI + to a Cloud Storage bucket. + type: string + kubernetesClusterConfig: + description: >- + Required. The configuration for running the Dataproc cluster on + Kubernetes. + $ref: '#/components/schemas/KubernetesClusterConfig' + auxiliaryServicesConfig: + description: Optional. Configuration of auxiliary services used by this cluster. + $ref: '#/components/schemas/AuxiliaryServicesConfig' + KubernetesClusterConfig: + id: KubernetesClusterConfig + description: The configuration for running the Dataproc cluster on Kubernetes. type: object properties: - size: + kubernetesNamespace: description: >- - Required. The number of running instances for the node group to - maintain. The group adds or removes instances to maintain the number - of instances specified by this parameter. - type: integer - format: int32 - requestId: + Optional. A namespace within the Kubernetes cluster to deploy into. + If this namespace does not exist, it is created. If it exists, + Dataproc verifies that another Dataproc VirtualCluster is not + installed into it. If not specified, the name of the Dataproc + Cluster is used. + type: string + gkeClusterConfig: + description: Required. The configuration for running the Dataproc cluster on GKE. + $ref: '#/components/schemas/GkeClusterConfig' + kubernetesSoftwareConfig: description: >- - Optional. A unique ID used to identify the request. If the server - receives two ResizeNodeGroupRequest - (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.ResizeNodeGroupRequests) - with the same ID, the second request is ignored and the first - google.longrunning.Operation created and stored in the backend is - returned.Recommendation: Set this value to a UUID - (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID - must contain only letters (a-z, A-Z), numbers (0-9), underscores - (_), and hyphens (-). The maximum length is 40 characters. + Optional. The software configuration for this Dataproc cluster + running on Kubernetes. + $ref: '#/components/schemas/KubernetesSoftwareConfig' + KubernetesSoftwareConfig: + id: KubernetesSoftwareConfig + description: >- + The software configuration for this Dataproc cluster running on + Kubernetes. + type: object + properties: + componentVersion: + description: >- + The components that should be installed in this Dataproc cluster. + The key must be a string from the KubernetesComponent enumeration. + The value is the version of the software to be installed. At least + one entry must be specified. + type: object + additionalProperties: + type: string + properties: + description: >- + The properties to set on daemon config files.Property keys are + specified in prefix:property format, for example + spark:spark.kubernetes.container.image. The following are supported + prefixes and their mappings: spark: spark-defaults.confFor more + information, see Cluster properties + (https://cloud.google.com/dataproc/docs/concepts/cluster-properties). + type: object + additionalProperties: + type: string + AuxiliaryServicesConfig: + id: AuxiliaryServicesConfig + description: Auxiliary services configuration for a Cluster. + type: object + properties: + metastoreConfig: + description: Optional. The Hive Metastore configuration for this workload. + $ref: '#/components/schemas/MetastoreConfig' + sparkHistoryServerConfig: + description: Optional. The Spark History Server configuration for the workload. + $ref: '#/components/schemas/SparkHistoryServerConfig' + ClusterStatus: + id: ClusterStatus + description: The status of a cluster and its instances. + type: object + properties: + state: + description: Output only. The cluster's state. + readOnly: true type: string - gracefulDecommissionTimeout: + enumDescriptions: + - The cluster state is unknown. + - The cluster is being created and set up. It is not ready for use. + - >- + The cluster is currently running and healthy. It is ready for + use.Note: The cluster state changes from "creating" to "running" + status after the master node(s), first two primary worker nodes + (and the last primary worker node if primary workers > 2) are + running. + - The cluster encountered an error. It is not ready for use. + - >- + The cluster has encountered an error while being updated. Jobs can + be submitted to the cluster, but the cluster cannot be updated. + - The cluster is being deleted. It cannot be used. + - >- + The cluster is being updated. It continues to accept and process + jobs. + - The cluster is being stopped. It cannot be used. + - The cluster is currently stopped. It is not ready for use. + - The cluster is being started. It is not ready for use. + - The cluster is being repaired. It is not ready for use. + enum: + - UNKNOWN + - CREATING + - RUNNING + - ERROR + - ERROR_DUE_TO_UPDATE + - DELETING + - UPDATING + - STOPPING + - STOPPED + - STARTING + - REPAIRING + detail: + description: Optional. Output only. Details of cluster's state. + readOnly: true + type: string + stateStartTime: description: >- - Optional. Timeout for graceful YARN decommissioning. Graceful - decommissioning - (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scaling-clusters#graceful_decommissioning) - allows the removal of nodes from the Compute Engine node group - without interrupting jobs in progress. This timeout specifies how - long to wait for jobs in progress to finish before forcefully - removing nodes (and potentially interrupting jobs). Default timeout - is 0 (for forceful decommission), and the maximum allowed timeout is - 1 day. (see JSON representation of Duration - (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only - supported on Dataproc image versions 1.2 and higher. + Output only. Time when this state was entered (see JSON + representation of Timestamp + (https://developers.google.com/protocol-buffers/docs/proto3#json)). + readOnly: true type: string - format: google-duration - parentOperationId: + format: google-datetime + substate: description: >- - Optional. operation id of the parent operation sending the resize - request + Output only. Additional state information that includes status + reported by the agent. + readOnly: true type: string - RepairNodeGroupRequest: - id: RepairNodeGroupRequest + enumDescriptions: + - The cluster substate is unknown. + - >- + The cluster is known to be in an unhealthy state (for example, + critical daemons are not running or HDFS capacity is + exhausted).Applies to RUNNING state. + - >- + The agent-reported status is out of date (may occur if Dataproc + loses communication with Agent).Applies to RUNNING state. + enum: + - UNSPECIFIED + - UNHEALTHY + - STALE_STATUS + ClusterMetrics: + id: ClusterMetrics + description: >- + Contains cluster daemon metrics, such as HDFS and YARN stats.Beta + Feature: This report is available for testing purposes only. It may be + changed before final release. type: object properties: - instanceNames: - description: >- - Required. Name of instances to be repaired. These instances must - belong to specified node pool. - type: array - items: + hdfsMetrics: + description: The HDFS metrics. + type: object + additionalProperties: type: string - repairAction: + format: int64 + yarnMetrics: + description: YARN metrics. + type: object + additionalProperties: + type: string + format: int64 + StopClusterRequest: + id: StopClusterRequest + description: A request to stop a cluster. + type: object + properties: + clusterUuid: description: >- - Required. Repair action to take on specified resources of the node - pool. + Optional. Specifying the cluster_uuid means the RPC will fail (with + error NOT_FOUND) if a cluster with the specified UUID does not + exist. type: string - enumDescriptions: - - No action will be taken by default. - - replace the specified list of nodes. - enum: - - REPAIR_ACTION_UNSPECIFIED - - REPLACE requestId: description: >- Optional. A unique ID used to identify the request. If the server - receives two RepairNodeGroupRequest with the same ID, the second - request is ignored and the first google.longrunning.Operation - created and stored in the backend is returned.Recommendation: Set - this value to a UUID + receives two StopClusterRequest + (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s + with the same id, then the second request will be ignored and the + first google.longrunning.Operation created and stored in the backend + is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. type: string - SetIamPolicyRequest: - id: SetIamPolicyRequest - description: Request message for SetIamPolicy method. + StartClusterRequest: + id: StartClusterRequest + description: A request to start a cluster. type: object properties: - policy: + clusterUuid: description: >- - REQUIRED: The complete policy to be applied to the resource. The - size of the policy is limited to a few 10s of KB. An empty policy is - a valid policy but certain Google Cloud services (such as Projects) - might reject them. - $ref: '#/components/schemas/Policy' - Policy: - id: Policy - description: >- - 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/). + Optional. Specifying the cluster_uuid means the RPC will fail (with + error NOT_FOUND) if a cluster with the specified UUID does not + exist. + type: string + requestId: + description: >- + Optional. A unique ID used to identify the request. If the server + receives two StartClusterRequest + (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s + with the same id, then the second request will be ignored and the + first google.longrunning.Operation created and stored in the backend + is returned.Recommendation: Set this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID + must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), and hyphens (-). The maximum length is 40 characters. + type: string + RepairClusterRequest: + id: RepairClusterRequest + description: A request to repair a cluster. type: object properties: - version: + clusterUuid: description: >- - Specifies the format of the policy.Valid values are 0, 1, and 3. - Requests that specify an invalid value are rejected.Any operation - that affects conditional role bindings must specify version 3. This - requirement applies to the following operations: Getting a policy - that includes a conditional role binding Adding a conditional role - binding to a policy Changing a conditional role binding in a policy - Removing any role binding, with or without a condition, from a - policy that includes conditionsImportant: If you use IAM Conditions, - you must include the etag field whenever you call setIamPolicy. If - you omit this field, then IAM allows you to overwrite a version 3 - policy with a version 1 policy, and all of the conditions in the - version 3 policy are lost.If a policy does not include any - conditions, operations on that policy may specify any valid version - or leave the field unset.To learn which resources support conditions - in their IAM policies, see the IAM documentation - (https://cloud.google.com/iam/help/conditions/resource-policies). - type: integer - format: int32 - bindings: + Optional. Specifying the cluster_uuid means the RPC will fail (with + error NOT_FOUND) if a cluster with the specified UUID does not + exist. + type: string + requestId: description: >- - Associates a list of members, or principals, with a role. - Optionally, may specify a condition that determines how and when the - bindings are applied. Each of the bindings must contain at least one - principal.The bindings in a Policy can refer to up to 1,500 - principals; up to 250 of these principals can be Google groups. Each - occurrence of a principal counts towards these limits. For example, - if the bindings grant 50 different roles to user:alice@example.com, - and not to any other principal, then you can add another 1,450 - principals to the bindings in the Policy. + Optional. A unique ID used to identify the request. If the server + receives two RepairClusterRequests with the same ID, the second + request is ignored, and the first google.longrunning.Operation + created and stored in the backend is returned.Recommendation: Set + this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID + must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), and hyphens (-). The maximum length is 40 characters. + type: string + nodePools: + description: >- + Optional. Node pools and corresponding repair action to be taken. + All node pools should be unique in this request. i.e. Multiple + entries for the same node pool id are not allowed. type: array items: - $ref: '#/components/schemas/Binding' - etag: + $ref: '#/components/schemas/NodePool' + gracefulDecommissionTimeout: description: >- - 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 - getIamPolicy, and systems are expected to put that etag in the - request to setIamPolicy to ensure that their change will be applied - to the same version of the policy.Important: If you use IAM - Conditions, you must include the etag field whenever you call - setIamPolicy. If you omit this field, then IAM allows you to - overwrite a version 3 policy with a version 1 policy, and all of the - conditions in the version 3 policy are lost. + Optional. Timeout for graceful YARN decommissioning. Graceful + decommissioning facilitates the removal of cluster nodes without + interrupting jobs in progress. The timeout specifies the amount of + time to wait for jobs finish before forcefully removing nodes. The + default timeout is 0 for forceful decommissioning, and the maximum + timeout period is 1 day. (see JSON Mapping—Duration + (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout + is supported in Dataproc image versions 1.2+. type: string - format: byte - Binding: - id: Binding - description: Associates members, or principals, with a role. + format: google-duration + parentOperationId: + description: >- + Optional. operation id of the parent operation sending the repair + request + type: string + cluster: + description: Optional. Cluster to be repaired + $ref: '#/components/schemas/ClusterToRepair' + NodePool: + id: NodePool + description: indicating a list of workers of same type type: object properties: - role: + id: description: >- - 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). + Required. A unique id of the node pool. Primary and Secondary + workers can be specified using special reserved ids + PRIMARY_WORKER_POOL and SECONDARY_WORKER_POOL respectively. Aux node + pools can be referenced using corresponding pool id. type: string - members: + instanceNames: description: >- - Specifies the principals requesting access for a Google Cloud - resource. members can have the following values: allUsers: A special - identifier that represents anyone who is on the internet; with or - without a Google account. allAuthenticatedUsers: A special - identifier that represents anyone who is authenticated with a Google - account or a service account. Does not include identities that come - from external identity providers (IdPs) through identity federation. - user:{emailid}: An email address that represents a specific Google - account. For example, alice@example.com . serviceAccount:{emailid}: - An email address that represents a Google service account. For - example, my-other-app@appspot.gserviceaccount.com. - serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: - An identifier for a Kubernetes service account - (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. - group:{emailid}: An email address that represents a Google group. - For example, admins@example.com. domain:{domain}: The G Suite domain - (primary) that represents all the users of that domain. For example, - google.com or example.com. - principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: - A single identity in a workforce identity pool. - principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: - All workforce identities in a group. - principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: - All workforce identities with a specific attribute value. - principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: - All identities in a workforce identity pool. - principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: - A single identity in a workload identity pool. - principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: - A workload identity pool group. - principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: - All identities in a workload identity pool with a certain attribute. - principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: - All identities in a workload identity pool. - deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique - identifier) representing a user that has been recently deleted. For - example, alice@example.com?uid=123456789012345678901. If the user is - recovered, this value reverts to user:{emailid} and the recovered - user retains the role in the binding. - deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. - If the service account is undeleted, this value reverts to - serviceAccount:{emailid} and the undeleted service account retains - the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An - email address (plus unique identifier) representing a Google group - that has been recently deleted. For example, - admins@example.com?uid=123456789012345678901. If the group is - recovered, this value reverts to group:{emailid} and the recovered - group retains the role in the binding. - deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: - Deleted single identity in a workforce identity pool. For example, - deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. + Name of instances to be repaired. These instances must belong to + specified node pool. type: array items: type: string - condition: + repairAction: description: >- - The condition that is associated with this binding.If the condition - evaluates to true, then this binding applies to the current - request.If the condition evaluates to false, then this binding does - not apply to the current request. However, a different role binding - might grant the same role to one or more of the principals in this - binding.To learn which resources support conditions in their IAM - policies, see the IAM documentation - (https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/Expr' - Expr: - id: Expr - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec.Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. + Required. Repair action to take on specified resources of the node + pool. + type: string + enumDescriptions: + - No action will be taken by default. + - delete the specified list of nodes. + enum: + - REPAIR_ACTION_UNSPECIFIED + - DELETE + ClusterToRepair: + id: ClusterToRepair + description: Cluster to be repaired type: object properties: - expression: - description: >- - Textual representation of an expression in Common Expression - Language syntax. - type: string - title: - description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - type: string - description: - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. + clusterRepairAction: + description: Required. Repair action to take on the cluster resource. type: string - location: - description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - type: string - GetIamPolicyRequest: - id: GetIamPolicyRequest - description: Request message for GetIamPolicy method. - type: object - properties: - options: - description: >- - OPTIONAL: A GetPolicyOptions object for specifying options to - GetIamPolicy. - $ref: '#/components/schemas/GetPolicyOptions' - GetPolicyOptions: - id: GetPolicyOptions - description: Encapsulates settings provided to GetIamPolicy. - type: object - properties: - requestedPolicyVersion: - description: >- - Optional. The maximum policy version that will be used to format the - policy.Valid values are 0, 1, and 3. Requests specifying an invalid - value will be rejected.Requests for policies with any conditional - role bindings must specify version 3. Policies with no conditional - role bindings may specify any valid value or leave the field - unset.The policy in the response might use the policy version that - you specified, or it might use a lower policy version. For example, - if you specify version 3, but the policy has no conditional role - bindings, the response uses version 1.To learn which resources - support conditions in their IAM policies, see the IAM documentation - (https://cloud.google.com/iam/help/conditions/resource-policies). - type: integer - format: int32 - TestIamPermissionsRequest: - id: TestIamPermissionsRequest - description: Request message for TestIamPermissions method. + enumDescriptions: + - No action will be taken by default. + - Repair cluster in ERROR_DUE_TO_UPDATE states. + enum: + - CLUSTER_REPAIR_ACTION_UNSPECIFIED + - REPAIR_ERROR_DUE_TO_UPDATE_CLUSTER + ListClustersResponse: + id: ListClustersResponse + description: The list of all clusters in a project. type: object properties: - permissions: - description: >- - The set of permissions to check for the resource. Permissions with - wildcards (such as * or storage.*) are not allowed. For more - information see IAM Overview - (https://cloud.google.com/iam/docs/overview#permissions). + clusters: + description: Output only. The clusters in the project. + readOnly: true type: array items: - type: string - TestIamPermissionsResponse: - id: TestIamPermissionsResponse - description: Response message for TestIamPermissions method. - type: object - properties: - permissions: + $ref: '#/components/schemas/Cluster' + nextPageToken: description: >- - A subset of TestPermissionsRequest.permissions that the caller is - allowed. - type: array - items: - type: string - AnalyzeOperationMetadata: - id: AnalyzeOperationMetadata - description: Metadata describing the Analyze operation. + Output only. This token is included in the response if there are + more results to fetch. To fetch additional results, provide this + value as the page_token in a subsequent ListClustersRequest. + readOnly: true + type: string + DiagnoseClusterRequest: + id: DiagnoseClusterRequest + description: A request to collect cluster diagnostic information. type: object properties: - analyzedWorkloadName: - description: Output only. name of the workload being analyzed. - readOnly: true + tarballGcsDir: + description: >- + Optional. (Optional) The output Cloud Storage directory for the + diagnostic tarball. If not specified, a task-specific directory in + the cluster's staging bucket will be used. type: string - analyzedWorkloadType: - description: Output only. Type of the workload being analyzed. - readOnly: true + tarballAccess: + description: >- + Optional. (Optional) The access type to the diagnostic tarball. If + not specified, falls back to default access of the bucket type: string enumDescriptions: - - Undefined option - - Serverless batch job + - >- + Tarball Access unspecified. Falls back to default access of the + bucket + - >- + Google Cloud Support group has read access to the diagnostic + tarball + - >- + Google Cloud Dataproc Diagnose service account has read access to + the diagnostic tarball enum: - - WORKLOAD_TYPE_UNSPECIFIED - - BATCH - analyzedWorkloadUuid: + - TARBALL_ACCESS_UNSPECIFIED + - GOOGLE_CLOUD_SUPPORT + - GOOGLE_DATAPROC_DIAGNOSE + diagnosisInterval: description: >- - Output only. unique identifier of the workload typically generated - by control plane. E.g. batch uuid. - readOnly: true - type: string - createTime: - description: Output only. The time when the operation was created. - readOnly: true - type: string - format: google-datetime - doneTime: - description: Output only. The time when the operation finished. - readOnly: true + Optional. Time interval in which diagnosis should be carried out on + the cluster. + $ref: '#/components/schemas/Interval' + job: + description: >- + Optional. DEPRECATED Specifies the job on which diagnosis is to be + performed. Format: projects/{project}/regions/{region}/jobs/{job} + deprecated: true type: string - format: google-datetime - description: - description: Output only. Short description of the operation. - readOnly: true + yarnApplicationId: + description: >- + Optional. DEPRECATED Specifies the yarn application on which + diagnosis is to be performed. + deprecated: true type: string - labels: - description: Output only. Labels associated with the operation. - readOnly: true - type: object - additionalProperties: + jobs: + description: >- + Optional. Specifies a list of jobs on which diagnosis is to be + performed. Format: projects/{project}/regions/{region}/jobs/{job} + type: array + items: type: string - warnings: - description: Output only. Warnings encountered during operation execution. - readOnly: true + yarnApplicationIds: + description: >- + Optional. Specifies a list of yarn applications on which diagnosis + is to be performed. type: array items: type: string - BatchOperationMetadata: - id: BatchOperationMetadata - description: Metadata describing the Batch operation. + Interval: + id: Interval + description: >- + 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. type: object properties: - batch: - description: Name of the batch for the operation. - type: string - batchUuid: - description: Batch UUID for the operation. - type: string - createTime: - description: The time when the operation was created. + startTime: + description: >- + Optional. Inclusive start of the interval.If specified, a Timestamp + matching this interval will have to be the same or after the start. type: string format: google-datetime - doneTime: - description: The time when the operation finished. + endTime: + description: >- + Optional. Exclusive end of the interval.If specified, a Timestamp + matching this interval will have to be before the end. type: string format: google-datetime - operationType: - description: The operation type. - type: string - enumDescriptions: - - Batch operation type is unknown. - - Batch operation type. - enum: - - BATCH_OPERATION_TYPE_UNSPECIFIED - - BATCH - description: - description: Short description of the operation. - type: string - labels: - description: Labels associated with the operation. - type: object - additionalProperties: - type: string - warnings: - description: Warnings encountered during operation execution. - type: array - items: - type: string - ClusterOperationMetadata: - id: ClusterOperationMetadata - description: Metadata describing the operation. + InjectCredentialsRequest: + id: InjectCredentialsRequest + description: A request to inject credentials into a cluster. type: object properties: - clusterName: - description: Output only. Name of the cluster for the operation. - readOnly: true - type: string clusterUuid: - description: Output only. Cluster UUID for the operation. - readOnly: true - type: string - status: - description: Output only. Current operation status. - readOnly: true - $ref: '#/components/schemas/ClusterOperationStatus' - statusHistory: - description: Output only. The previous operation status. - readOnly: true - type: array - items: - $ref: '#/components/schemas/ClusterOperationStatus' - operationType: - description: Output only. The operation type. - readOnly: true + description: Required. The cluster UUID. type: string - description: - description: Output only. Short description of operation. - readOnly: true + credentialsCiphertext: + description: >- + Required. The encrypted credentials being injected in to the + cluster.The client is responsible for encrypting the credentials in + a way that is supported by the cluster.A wrapped value is used here + so that the actual contents of the encrypted credentials are not + written to audit logs. type: string - labels: - description: Output only. Labels associated with the operation - readOnly: true - type: object - additionalProperties: - type: string - warnings: - description: Output only. Errors encountered during operation execution. - readOnly: true - type: array - items: - type: string - childOperationIds: - description: Output only. Child operation ids - readOnly: true - type: array - items: - type: string - ClusterOperationStatus: - id: ClusterOperationStatus - description: The status of the operation. + SubmitJobRequest: + id: SubmitJobRequest + description: A request to submit a job. type: object properties: - state: - description: Output only. A message containing the operation state. - readOnly: true + job: + description: Required. The job resource. + $ref: '#/components/schemas/Job' + requestId: + description: >- + Optional. A unique id used to identify the request. If the server + receives two SubmitJobRequest + (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s + with the same id, then the second request will be ignored and the + first Job created and stored in the backend is returned.It is + recommended to always set this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id + must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), and hyphens (-). The maximum length is 40 characters. type: string - enumDescriptions: - - Unused. - - The operation has been created. - - The operation is running. - - The operation is done; either cancelled or completed. - enum: - - UNKNOWN - - PENDING - - RUNNING - - DONE - innerState: - description: Output only. A message containing the detailed operation state. + Job: + id: Job + description: A Dataproc job resource. + type: object + properties: + reference: + description: >- + Optional. The fully qualified reference to the job, which can be + used to obtain the equivalent REST path of the job resource. If this + property is not specified when a job is created, the server + generates a job_id. + $ref: '#/components/schemas/JobReference' + placement: + description: >- + Required. Job information, including how, when, and where to run the + job. + $ref: '#/components/schemas/JobPlacement' + hadoopJob: + description: Optional. Job is a Hadoop job. + $ref: '#/components/schemas/HadoopJob' + sparkJob: + description: Optional. Job is a Spark job. + $ref: '#/components/schemas/SparkJob' + pysparkJob: + description: Optional. Job is a PySpark job. + $ref: '#/components/schemas/PySparkJob' + hiveJob: + description: Optional. Job is a Hive job. + $ref: '#/components/schemas/HiveJob' + pigJob: + description: Optional. Job is a Pig job. + $ref: '#/components/schemas/PigJob' + sparkRJob: + description: Optional. Job is a SparkR job. + $ref: '#/components/schemas/SparkRJob' + sparkSqlJob: + description: Optional. Job is a SparkSql job. + $ref: '#/components/schemas/SparkSqlJob' + prestoJob: + description: Optional. Job is a Presto job. + $ref: '#/components/schemas/PrestoJob' + trinoJob: + description: Optional. Job is a Trino job. + $ref: '#/components/schemas/TrinoJob' + flinkJob: + description: Optional. Job is a Flink job. + $ref: '#/components/schemas/FlinkJob' + status: + description: >- + Output only. The job status. Additional application-specific status + information might be contained in the type_job and yarn_applications + fields. readOnly: true - type: string - details: - description: Output only. A message containing any operation metadata details. + $ref: '#/components/schemas/JobStatus' + statusHistory: + description: Output only. The previous job status. readOnly: true - type: string - stateStartTime: - description: Output only. The time this state was entered. + type: array + items: + $ref: '#/components/schemas/JobStatus' + yarnApplications: + description: >- + 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. readOnly: true - type: string - format: google-datetime - DiagnoseClusterResults: - id: DiagnoseClusterResults - description: The location of diagnostic output. - type: object - properties: - outputUri: + type: array + items: + $ref: '#/components/schemas/YarnApplication' + driverOutputResourceUri: description: >- - Output only. The Cloud Storage URI of the diagnostic output. The - output report is a plain text file with a summary of collected - diagnostics. + Output only. A URI pointing to the location of the stdout of the + job's driver program. readOnly: true type: string - JobMetadata: - id: JobMetadata - description: Job Operation metadata. - type: object - properties: - jobId: - description: Output only. The job id. + driverControlFilesUri: + description: >- + Output only. If present, the location of miscellaneous control files + which can be used as part of job setup and handling. If not present, + control files might be placed in the same location as + driver_output_uri. readOnly: true type: string - status: - description: Output only. Most recent job status. - readOnly: true - $ref: '#/components/schemas/JobStatus' - operationType: - description: Output only. Operation type. + labels: + description: >- + Optional. The labels to associate with this job. 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 must conform + to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 + labels can be associated with a job. + type: object + additionalProperties: + type: string + scheduling: + description: Optional. Job scheduling configuration. + $ref: '#/components/schemas/JobScheduling' + jobUuid: + description: >- + Output only. A UUID that uniquely identifies a job within the + project over time. This is in contrast to a user-settable + reference.job_id that might be reused over time. readOnly: true type: string - startTime: - description: Output only. Job submission time. + done: + description: >- + Output only. Indicates whether the job is completed. If the value is + false, the job is still in progress. If true, the job is completed, + and status.state field will indicate if it was successful, failed, + or cancelled. readOnly: true - type: string - format: google-datetime - SessionOperationMetadata: - id: SessionOperationMetadata - description: Metadata describing the Session operation. + type: boolean + driverSchedulingConfig: + description: Optional. Driver scheduling configuration. + $ref: '#/components/schemas/DriverSchedulingConfig' + JobReference: + id: JobReference + description: Encapsulates the full scoping used to reference a job. type: object properties: - session: - description: Name of the session for the operation. - type: string - sessionUuid: - description: Session UUID for the operation. - type: string - createTime: - description: The time when the operation was created. + projectId: + description: >- + Optional. The ID of the Google Cloud Platform project that the job + belongs to. If specified, must match the request project ID. type: string - format: google-datetime - doneTime: - description: The time when the operation was finished. + jobId: + description: >- + Optional. The job ID, which must be unique within the project.The ID + must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), or hyphens (-). The maximum length is 100 characters.If not + specified by the caller, the job ID will be provided by the server. type: string - format: google-datetime - operationType: - description: The operation type. + JobPlacement: + id: JobPlacement + description: Dataproc job config. + type: object + properties: + clusterName: + description: Required. The name of the cluster where the job will be submitted. type: string - enumDescriptions: - - Session operation type is unknown. - - Create Session operation type. - - Terminate Session operation type. - - Delete Session operation type. - enum: - - SESSION_OPERATION_TYPE_UNSPECIFIED - - CREATE - - TERMINATE - - DELETE - description: - description: Short description of the operation. + clusterUuid: + description: >- + Output only. A cluster UUID generated by the Dataproc service when + the job is submitted. + readOnly: true type: string - labels: - description: Labels associated with the operation. + clusterLabels: + description: >- + Optional. Cluster labels to identify a cluster where the job will be + submitted. type: object additionalProperties: type: string - warnings: - description: Warnings encountered during operation execution. - type: array - items: - type: string - NodeGroupOperationMetadata: - id: NodeGroupOperationMetadata - description: Metadata describing the node group operation. + HadoopJob: + id: HadoopJob + description: >- + A Dataproc job for running Apache Hadoop MapReduce + (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) + jobs on Apache Hadoop YARN + (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html). type: object properties: - nodeGroupId: - description: Output only. Node group ID for the operation. - readOnly: true - type: string - clusterUuid: - description: Output only. Cluster UUID associated with the node group operation. - readOnly: true + mainJarFileUri: + description: >- + The HCFS URI of the jar file containing the main class. Examples: + 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' + 'hdfs:/tmp/test-samples/custom-wordcount.jar' + 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' type: string - status: - description: Output only. Current operation status. - readOnly: true - $ref: '#/components/schemas/ClusterOperationStatus' - statusHistory: - description: Output only. The previous operation status. - readOnly: true + mainClass: + description: >- + The name of the driver's main class. The jar file containing the + class must be in the default CLASSPATH or specified in + jar_file_uris. + type: string + args: + description: >- + Optional. The arguments to pass to the driver. Do not include + arguments, such as -libjars or -Dfoo=bar, that can be set as job + properties, since a collision might occur that causes an incorrect + job submission. type: array items: - $ref: '#/components/schemas/ClusterOperationStatus' - operationType: - description: The operation type. - type: string - enumDescriptions: - - Node group operation type is unknown. - - Create node group operation type. - - Update node group operation type. - - Delete node group operation type. - - Resize node group operation type. - - Repair node group operation type. - - Update node group label operation type. - - Start node group operation type. - - Stop node group operation type. - enum: - - NODE_GROUP_OPERATION_TYPE_UNSPECIFIED - - CREATE - - UPDATE - - DELETE - - RESIZE - - REPAIR - - UPDATE_LABELS - - START - - STOP - description: - description: Output only. Short description of operation. - readOnly: true - type: string - labels: - description: Output only. Labels associated with the operation. - readOnly: true - type: object - additionalProperties: type: string - warnings: - description: Output only. Errors encountered during operation execution. - readOnly: true + jarFileUris: + description: >- + Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop + driver and tasks. type: array items: type: string - WorkflowMetadata: - id: WorkflowMetadata - description: A Dataproc workflow template resource. - type: object - properties: - template: + fileUris: description: >- - 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} - readOnly: true - type: string - version: + Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be + copied to the working directory of Hadoop drivers and distributed + tasks. Useful for naively parallel tasks. + type: array + items: + type: string + archiveUris: description: >- - Output only. The version of template at the time of workflow - instantiation. - readOnly: true - type: integer - format: int32 - createCluster: - description: Output only. The create cluster operation metadata. - readOnly: true - $ref: '#/components/schemas/ClusterOperation' - graph: - description: Output only. The workflow graph. - readOnly: true - $ref: '#/components/schemas/WorkflowGraph' - deleteCluster: - description: Output only. The delete cluster operation metadata. - readOnly: true - $ref: '#/components/schemas/ClusterOperation' - state: - description: Output only. The workflow state. - readOnly: true - type: string - enumDescriptions: - - Unused. - - The operation has been created. - - The operation is running. - - The operation is done; either cancelled or completed. - enum: - - UNKNOWN - - PENDING - - RUNNING - - DONE - clusterName: - description: Output only. The name of the target cluster. - readOnly: true - type: string - parameters: + Optional. HCFS URIs of archives to be extracted in the working + directory of Hadoop drivers and tasks. Supported file types: .jar, + .tar, .tar.gz, .tgz, or .zip. + type: array + items: + type: string + properties: description: >- - Map from parameter names to values that were used for those - parameters. + Optional. A mapping of property names to values, used to configure + Hadoop. Properties that conflict with values set by the Dataproc API + might be overwritten. Can include properties set in + /etc/hadoop/conf/*-site and classes in user code. type: object additionalProperties: type: string - startTime: - description: Output only. Workflow start time. - readOnly: true - type: string - format: google-datetime - endTime: - description: Output only. Workflow end time. - readOnly: true - type: string - format: google-datetime - clusterUuid: - description: Output only. The UUID of target cluster. - readOnly: true - type: string - dagTimeout: - description: >- - Output only. The timeout duration for the DAG of jobs, expressed in - seconds (see JSON representation of duration - (https://developers.google.com/protocol-buffers/docs/proto3#json)). - readOnly: true - type: string - format: google-duration - dagStartTime: - description: >- - Output only. DAG start time, only set for workflows with dag_timeout - when DAG begins. - readOnly: true - type: string - format: google-datetime - dagEndTime: + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + LoggingConfig: + id: LoggingConfig + description: The runtime logging config of the job. + type: object + properties: + driverLogLevels: description: >- - Output only. DAG end time, only set for workflows with dag_timeout - when DAG ends. - readOnly: true - type: string - format: google-datetime - ClusterOperation: - id: ClusterOperation - description: The cluster operation triggered by a workflow. + The per-package log levels for the driver. This can include "root" + package name to configure rootLogger. Examples: - 'com.google = + FATAL' - 'root = INFO' - 'org.apache = DEBUG' + type: object + additionalProperties: + type: string + enumDescriptions: + - Level is unspecified. Use default level for log4j. + - Use ALL level for log4j. + - Use TRACE level for log4j. + - Use DEBUG level for log4j. + - Use INFO level for log4j. + - Use WARN level for log4j. + - Use ERROR level for log4j. + - Use FATAL level for log4j. + - Turn off log4j. + enum: + - LEVEL_UNSPECIFIED + - ALL + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - 'OFF' + SparkJob: + id: SparkJob + description: >- + A Dataproc job for running Apache Spark (https://spark.apache.org/) + applications on YARN. type: object properties: - operationId: - description: Output only. The id of the cluster operation. - readOnly: true + mainJarFileUri: + description: The HCFS URI of the jar file that contains the main class. type: string - error: - description: Output only. Error, if operation failed. - readOnly: true + mainClass: + description: >- + The name of the driver's main class. The jar file that contains the + class must be in the default CLASSPATH or specified in + SparkJob.jar_file_uris. type: string - done: - description: Output only. Indicates the operation is done. - readOnly: true - type: boolean - WorkflowGraph: - id: WorkflowGraph - description: The workflow graph. - type: object - properties: - nodes: - description: Output only. The workflow nodes. - readOnly: true + args: + description: >- + Optional. The arguments to pass to the driver. Do not include + arguments, such as --conf, that can be set as job properties, since + a collision may occur that causes an incorrect job submission. type: array items: - $ref: '#/components/schemas/WorkflowNode' - WorkflowNode: - id: WorkflowNode - description: The workflow node. - type: object - properties: - stepId: - description: Output only. The name of the node. - readOnly: true + type: string + jarFileUris: + description: >- + Optional. HCFS URIs of jar files to add to the CLASSPATHs of the + Spark driver and tasks. + type: array + items: + type: string + fileUris: + description: >- + Optional. HCFS URIs of files to be placed in the working directory + of each executor. Useful for naively parallel tasks. + type: array + items: + type: string + archiveUris: + description: >- + Optional. HCFS URIs of archives to be extracted into the working + directory of each executor. Supported file types: .jar, .tar, + .tar.gz, .tgz, and .zip. + type: array + items: + type: string + properties: + description: >- + Optional. A mapping of property names to values, used to configure + Spark. Properties that conflict with values set by the Dataproc API + might be overwritten. Can include properties set in + /etc/spark/conf/spark-defaults.conf and classes in user code. + type: object + additionalProperties: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + PySparkJob: + id: PySparkJob + description: >- + A Dataproc job for running Apache PySpark + (https://spark.apache.org/docs/latest/api/python/index.html#pyspark-overview) + applications on YARN. + type: object + properties: + mainPythonFileUri: + description: >- + Required. The HCFS URI of the main Python file to use as the driver. + Must be a .py file. type: string - prerequisiteStepIds: - description: Output only. Node's prerequisite nodes. - readOnly: true + args: + description: >- + Optional. The arguments to pass to the driver. Do not include + arguments, such as --conf, that can be set as job properties, since + a collision may occur that causes an incorrect job submission. type: array items: type: string - jobId: + pythonFileUris: description: >- - Output only. The job id; populated after the node enters RUNNING - state. - readOnly: true + Optional. HCFS file URIs of Python files to pass to the PySpark + framework. Supported file types: .py, .egg, and .zip. + type: array + items: + type: string + jarFileUris: + description: >- + Optional. HCFS URIs of jar files to add to the CLASSPATHs of the + Python driver and tasks. + type: array + items: + type: string + fileUris: + description: >- + Optional. HCFS URIs of files to be placed in the working directory + of each executor. Useful for naively parallel tasks. + type: array + items: + type: string + archiveUris: + description: >- + Optional. HCFS URIs of archives to be extracted into the working + directory of each executor. Supported file types: .jar, .tar, + .tar.gz, .tgz, and .zip. + type: array + items: + type: string + properties: + description: >- + Optional. A mapping of property names to values, used to configure + PySpark. Properties that conflict with values set by the Dataproc + API might be overwritten. Can include properties set in + /etc/spark/conf/spark-defaults.conf and classes in user code. + type: object + additionalProperties: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + HiveJob: + id: HiveJob + description: >- + A Dataproc job for running Apache Hive (https://hive.apache.org/) + queries on YARN. + type: object + properties: + queryFileUri: + description: The HCFS URI of the script that contains Hive queries. type: string - state: - description: Output only. The node state. - readOnly: true + queryList: + description: A list of queries. + $ref: '#/components/schemas/QueryList' + continueOnFailure: + description: >- + Optional. Whether to continue executing queries if a query fails. + The default value is false. Setting to true can be useful when + executing independent parallel queries. + type: boolean + scriptVariables: + description: >- + Optional. Mapping of query variable names to values (equivalent to + the Hive command: SET name="value";). + type: object + additionalProperties: + type: string + properties: + description: >- + Optional. A mapping of property names and values, used to configure + Hive. Properties that conflict with values set by the Dataproc API + might be overwritten. Can include properties set in + /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and + classes in user code. + type: object + additionalProperties: + type: string + jarFileUris: + description: >- + Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive + server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and + UDFs. + type: array + items: + type: string + QueryList: + id: QueryList + description: A list of queries to run on a cluster. + type: object + properties: + queries: + description: >- + Required. The queries to execute. You do not need to end a query + expression with a semicolon. Multiple queries can be specified in + one string by separating each with a semicolon. Here is an example + of a Dataproc API snippet that uses a QueryList to specify a + HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", + "query2", "query3;query4", ] } } + type: array + items: + type: string + PigJob: + id: PigJob + description: >- + A Dataproc job for running Apache Pig (https://pig.apache.org/) queries + on YARN. + type: object + properties: + queryFileUri: + description: The HCFS URI of the script that contains the Pig queries. type: string - enumDescriptions: - - State is unspecified. - - The node is awaiting prerequisite node to finish. - - The node is runnable but not running. - - The node is running. - - The node completed successfully. - - >- - The node failed. A node can be marked FAILED because its ancestor - or peer failed. - enum: - - NODE_STATE_UNSPECIFIED - - BLOCKED - - RUNNABLE - - RUNNING - - COMPLETED - - FAILED - error: - description: Output only. The error detail. - readOnly: true + queryList: + description: A list of queries. + $ref: '#/components/schemas/QueryList' + continueOnFailure: + description: >- + Optional. Whether to continue executing queries if a query fails. + The default value is false. Setting to true can be useful when + executing independent parallel queries. + type: boolean + scriptVariables: + description: >- + Optional. Mapping of query variable names to values (equivalent to + the Pig command: name=[value]). + type: object + additionalProperties: + type: string + properties: + description: >- + Optional. A mapping of property names to values, used to configure + Pig. Properties that conflict with values set by the Dataproc API + might be overwritten. Can include properties set in + /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and + classes in user code. + type: object + additionalProperties: + type: string + jarFileUris: + description: >- + Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig + Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. + type: array + items: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + SparkRJob: + id: SparkRJob + description: >- + A Dataproc job for running Apache SparkR + (https://spark.apache.org/docs/latest/sparkr.html) applications on YARN. + type: object + properties: + mainRFileUri: + description: >- + Required. The HCFS URI of the main R file to use as the driver. Must + be a .R file. type: string - parameters: - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - callback: - description: JSONP - in: query - name: callback - schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - key: + args: + description: >- + Optional. The arguments to pass to the driver. Do not include + arguments, such as --conf, that can be set as job properties, since + a collision may occur that causes an incorrect job submission. + type: array + items: + type: string + fileUris: + description: >- + Optional. HCFS URIs of files to be placed in the working directory + of each executor. Useful for naively parallel tasks. + type: array + items: + type: string + archiveUris: + description: >- + Optional. HCFS URIs of archives to be extracted into the working + directory of each executor. Supported file types: .jar, .tar, + .tar.gz, .tgz, and .zip. + type: array + items: + type: string + properties: + description: >- + Optional. A mapping of property names to values, used to configure + SparkR. Properties that conflict with values set by the Dataproc API + might be overwritten. Can include properties set in + /etc/spark/conf/spark-defaults.conf and classes in user code. + type: object + additionalProperties: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + SparkSqlJob: + id: SparkSqlJob description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - quotaUser: + A Dataproc job for running Apache Spark SQL + (https://spark.apache.org/sql/) queries. + type: object + properties: + queryFileUri: + description: The HCFS URI of the script that contains SQL queries. + type: string + queryList: + description: A list of queries. + $ref: '#/components/schemas/QueryList' + scriptVariables: + description: >- + Optional. Mapping of query variable names to values (equivalent to + the Spark SQL command: SET name="value";). + type: object + additionalProperties: + type: string + properties: + description: >- + Optional. A mapping of property names to values, used to configure + Spark SQL's SparkConf. Properties that conflict with values set by + the Dataproc API might be overwritten. + type: object + additionalProperties: + type: string + jarFileUris: + description: Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. + type: array + items: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + PrestoJob: + id: PrestoJob description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - x-stackQL-resources: - operations: - id: google.dataproc.operations - name: operations - title: Operations - methods: - projects_regions_operations_list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.operations - projects_regions_operations_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_regions_operations_delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - projects_regions_operations_cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.operations - projects_locations_operations_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_regions_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_regions_operations_list - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_operations_list - insert: [] - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_regions_operations_delete - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_operations_delete - operations_iam_policies: - id: google.dataproc.operations_iam_policies - name: operations_iam_policies - title: Operations_iam_policies - methods: - projects_regions_operations_set_iam_policy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:setIamPolicy/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_regions_operations_get_iam_policy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:getIamPolicy/post - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.bindings - projects_regions_operations_test_iam_permissions: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:testIamPermissions/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/operations_iam_policies/methods/projects_regions_operations_get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/operations_iam_policies/methods/projects_regions_operations_set_iam_policy - delete: [] - autoscaling_policies: - id: google.dataproc.autoscaling_policies - name: autoscaling_policies - title: Autoscaling_policies - methods: + A Dataproc job for running Presto (https://prestosql.io/) queries. + IMPORTANT: The Dataproc Presto Optional Component + (https://cloud.google.com/dataproc/docs/concepts/components/presto) must + be enabled when the cluster is created to submit a Presto job to the + cluster. + type: object + properties: + queryFileUri: + description: The HCFS URI of the script that contains SQL queries. + type: string + queryList: + description: A list of queries. + $ref: '#/components/schemas/QueryList' + continueOnFailure: + description: >- + Optional. Whether to continue executing queries if a query fails. + The default value is false. Setting to true can be useful when + executing independent parallel queries. + type: boolean + outputFormat: + description: >- + Optional. The format in which query output will be displayed. See + the Presto documentation for supported output formats + type: string + clientTags: + description: Optional. Presto client tags to attach to this query + type: array + items: + type: string + properties: + description: >- + Optional. A mapping of property names to values. Used to set Presto + session properties + (https://prestodb.io/docs/current/sql/set-session.html) Equivalent + to using the --session flag in the Presto CLI + type: object + additionalProperties: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + TrinoJob: + id: TrinoJob + description: >- + 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. + type: object + properties: + queryFileUri: + description: The HCFS URI of the script that contains SQL queries. + type: string + queryList: + description: A list of queries. + $ref: '#/components/schemas/QueryList' + continueOnFailure: + description: >- + Optional. Whether to continue executing queries if a query fails. + The default value is false. Setting to true can be useful when + executing independent parallel queries. + type: boolean + outputFormat: + description: >- + Optional. The format in which query output will be displayed. See + the Trino documentation for supported output formats + type: string + clientTags: + description: Optional. Trino client tags to attach to this query + type: array + items: + type: string + properties: + description: >- + Optional. A mapping of property names to values. Used to set Trino + session properties + (https://trino.io/docs/current/sql/set-session.html) Equivalent to + using the --session flag in the Trino CLI + type: object + additionalProperties: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + FlinkJob: + id: FlinkJob + description: A Dataproc job for running Apache Flink applications on YARN. + type: object + properties: + mainJarFileUri: + description: The HCFS URI of the jar file that contains the main class. + type: string + mainClass: + description: >- + The name of the driver's main class. The jar file that contains the + class must be in the default CLASSPATH or specified in jarFileUris. + type: string + args: + description: >- + Optional. The arguments to pass to the driver. Do not include + arguments, such as --conf, that can be set as job properties, since + a collision might occur that causes an incorrect job submission. + type: array + items: + type: string + jarFileUris: + description: >- + Optional. HCFS URIs of jar files to add to the CLASSPATHs of the + Flink driver and tasks. + type: array + items: + type: string + savepointUri: + description: >- + Optional. HCFS URI of the savepoint, which contains the last saved + progress for starting the current job. + type: string + properties: + description: >- + Optional. A mapping of property names to values, used to configure + Flink. Properties that conflict with values set by the Dataproc API + might be overwritten. Can include properties set in + /etc/flink/conf/flink-defaults.conf and classes in user code. + type: object + additionalProperties: + type: string + loggingConfig: + description: Optional. The runtime log config for job execution. + $ref: '#/components/schemas/LoggingConfig' + JobStatus: + id: JobStatus + description: Dataproc job status. + type: object + properties: + state: + description: Output only. A state message specifying the overall job state. + readOnly: true + type: string + enumDescriptions: + - The job state is unknown. + - The job is pending; it has been submitted, but is not yet running. + - >- + Job has been received by the service and completed initial setup; + it will soon be submitted to the cluster. + - The job is running on the cluster. + - A CancelJob request has been received, but is pending. + - >- + Transient in-flight resources have been canceled, and the request + to cancel the running job has been issued to the cluster. + - The job cancellation was successful. + - The job has completed successfully. + - The job has completed, but encountered an error. + - >- + Job attempt has failed. The detail field contains failure details + for this attempt.Applies to restartable jobs only. + enum: + - STATE_UNSPECIFIED + - PENDING + - SETUP_DONE + - RUNNING + - CANCEL_PENDING + - CANCEL_STARTED + - CANCELLED + - DONE + - ERROR + - ATTEMPT_FAILURE + details: + description: >- + Optional. Output only. Job state details, such as an error + description if the state is ERROR. + readOnly: true + type: string + stateStartTime: + description: Output only. The time when this state was entered. + readOnly: true + type: string + format: google-datetime + substate: + description: >- + Output only. Additional state information, which includes status + reported by the agent. + readOnly: true + type: string + enumDescriptions: + - The job substate is unknown. + - The Job is submitted to the agent.Applies to RUNNING state. + - >- + The Job has been received and is awaiting execution (it might be + waiting for a condition to be met). See the "details" field for + the reason for the delay.Applies to RUNNING state. + - >- + The agent-reported status is out of date, which can be caused by a + loss of communication between the agent and Dataproc. If the agent + does not send a timely update, the job will fail.Applies to + RUNNING state. + enum: + - UNSPECIFIED + - SUBMITTED + - QUEUED + - STALE_STATUS + YarnApplication: + id: YarnApplication + description: >- + A YARN application created by a job. Application information is a subset + of org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.Beta + Feature: This report is available for testing purposes only. It may be + changed before final release. + type: object + properties: + name: + description: Required. The application name. + type: string + state: + description: Required. The application state. + type: string + enumDescriptions: + - Status is unspecified. + - Status is NEW. + - Status is NEW_SAVING. + - Status is SUBMITTED. + - Status is ACCEPTED. + - Status is RUNNING. + - Status is FINISHED. + - Status is FAILED. + - Status is KILLED. + enum: + - STATE_UNSPECIFIED + - NEW + - NEW_SAVING + - SUBMITTED + - ACCEPTED + - RUNNING + - FINISHED + - FAILED + - KILLED + progress: + description: Required. The numerical progress of the application, from 1 to 100. + type: number + format: float + trackingUrl: + description: >- + Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or + TimelineServer that provides application-specific information. The + URL uses the internal hostname, and requires a proxy server for + resolution and, possibly, access. + type: string + JobScheduling: + id: JobScheduling + description: Job scheduling options. + type: object + properties: + maxFailuresPerHour: + description: >- + Optional. Maximum number of times per hour a driver can be restarted + as a result of driver exiting with non-zero code before job is + reported failed.A job might be reported as thrashing if the driver + exits with a non-zero code four times within a 10-minute + window.Maximum value is 10.Note: This restartable job option is not + supported in Dataproc workflow templates + (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template). + type: integer + format: int32 + maxFailuresTotal: + description: >- + Optional. Maximum total number of times a driver can be restarted as + a result of the driver exiting with a non-zero code. After the + maximum number is reached, the job will be reported as + failed.Maximum value is 240.Note: Currently, this restartable job + option is not supported in Dataproc workflow templates + (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template). + type: integer + format: int32 + DriverSchedulingConfig: + id: DriverSchedulingConfig + description: Driver scheduling configuration. + type: object + properties: + memoryMb: + description: Required. The amount of memory in MB the driver is requesting. + type: integer + format: int32 + vcores: + description: Required. The number of vCPUs the driver is requesting. + type: integer + format: int32 + ListJobsResponse: + id: ListJobsResponse + description: A list of jobs in a project. + type: object + properties: + jobs: + description: Output only. Jobs list. + readOnly: true + type: array + items: + $ref: '#/components/schemas/Job' + nextPageToken: + description: >- + Optional. This token is included in the response if there are more + results to fetch. To fetch additional results, provide this value as + the page_token in a subsequent ListJobsRequest. + type: string + unreachable: + description: >- + Output only. List of jobs with kms_key-encrypted parameters that + could not be decrypted. A response to a jobs.get request may + indicate the reason for the decryption failure for a specific job. + readOnly: true + type: array + items: + type: string + CancelJobRequest: + id: CancelJobRequest + description: A request to cancel a job. + type: object + properties: {} + Session: + id: Session + description: A representation of a session. + type: object + properties: + name: + description: Required. The resource name of the session. + type: string + uuid: + description: >- + Output only. A session UUID (Unique Universal Identifier). The + service generates this value when it creates the session. + readOnly: true + type: string + createTime: + description: Output only. The time when the session was created. + readOnly: true + type: string + format: google-datetime + jupyterSession: + description: Optional. Jupyter session config. + $ref: '#/components/schemas/JupyterConfig' + sparkConnectSession: + description: Optional. Spark connect session config. + $ref: '#/components/schemas/SparkConnectConfig' + runtimeInfo: + description: Output only. Runtime information about session execution. + readOnly: true + $ref: '#/components/schemas/RuntimeInfo' + state: + description: Output only. A state of the session. + readOnly: true + type: string + enumDescriptions: + - The session state is unknown. + - The session is created prior to running. + - The session is running. + - The session is terminating. + - The session is terminated successfully. + - The session is no longer running due to an error. + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - TERMINATING + - TERMINATED + - FAILED + stateMessage: + description: >- + Output only. Session state details, such as the failure description + if the state is FAILED. + readOnly: true + type: string + stateTime: + description: Output only. The time when the session entered the current state. + readOnly: true + type: string + format: google-datetime + creator: + description: Output only. The email address of the user who created the session. + readOnly: true + type: string + labels: + description: >- + Optional. The labels to associate with the session. 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 a session. + type: object + additionalProperties: + type: string + runtimeConfig: + description: Optional. Runtime configuration for the session execution. + $ref: '#/components/schemas/RuntimeConfig' + environmentConfig: + description: Optional. Environment configuration for the session execution. + $ref: '#/components/schemas/EnvironmentConfig' + user: + description: Optional. The email address of the user who owns the session. + type: string + stateHistory: + description: Output only. Historical state information for the session. + readOnly: true + type: array + items: + $ref: '#/components/schemas/SessionStateHistory' + sessionTemplate: + description: >- + 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. + type: string + JupyterConfig: + id: JupyterConfig + description: Jupyter configuration for an interactive session. + type: object + properties: + kernel: + description: Optional. Kernel + type: string + enumDescriptions: + - The kernel is unknown. + - Python kernel. + - Scala kernel. + enum: + - KERNEL_UNSPECIFIED + - PYTHON + - SCALA + displayName: + description: Optional. Display name, shown in the Jupyter kernelspec card. + type: string + SparkConnectConfig: + id: SparkConnectConfig + description: Spark connect configuration for an interactive session. + type: object + properties: {} + SessionStateHistory: + id: SessionStateHistory + description: Historical state information. + type: object + properties: + state: + description: >- + Output only. The state of the session at this point in the session + history. + readOnly: true + type: string + enumDescriptions: + - The session state is unknown. + - The session is created prior to running. + - The session is running. + - The session is terminating. + - The session is terminated successfully. + - The session is no longer running due to an error. + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - TERMINATING + - TERMINATED + - FAILED + stateMessage: + description: >- + Output only. Details about the state at this point in the session + history. + readOnly: true + type: string + stateStartTime: + description: Output only. The time when the session entered the historical state. + readOnly: true + type: string + format: google-datetime + ListSessionsResponse: + id: ListSessionsResponse + description: A list of interactive sessions. + type: object + properties: + sessions: + description: Output only. The sessions from the specified collection. + readOnly: true + type: array + items: + $ref: '#/components/schemas/Session' + nextPageToken: + description: >- + A token, which can be sent as page_token, to retrieve the next page. + If this field is omitted, there are no subsequent pages. + type: string + TerminateSessionRequest: + id: TerminateSessionRequest + description: A request to terminate an interactive session. + type: object + properties: + requestId: + description: >- + Optional. A unique ID used to identify the request. If the service + receives two TerminateSessionRequest + (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s + with the same ID, the second request is ignored.Recommendation: Set + this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + value must contain only letters (a-z, A-Z), numbers (0-9), + underscores (_), and hyphens (-). The maximum length is 40 + characters. + type: string + WriteSessionSparkApplicationContextRequest: + id: WriteSessionSparkApplicationContextRequest + description: Write Spark Application data to internal storage systems + type: object + properties: + parent: + description: Required. Parent (Batch) resource reference. + type: string + sparkWrapperObjects: + description: >- + Required. The batch of spark application context objects sent for + ingestion. + type: array + items: + $ref: '#/components/schemas/SparkWrapperObject' + WriteSessionSparkApplicationContextResponse: + id: WriteSessionSparkApplicationContextResponse + description: Response returned as an acknowledgement of receipt of data. + type: object + properties: {} + SearchSessionSparkApplicationsResponse: + id: SearchSessionSparkApplicationsResponse + description: A list of summary of Spark Applications + type: object + properties: + sparkApplications: + description: Output only. High level information corresponding to an application. + readOnly: true + type: array + items: + $ref: '#/components/schemas/SparkApplication' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSessionSparkApplicationsRequest. + type: string + AccessSessionSparkApplicationResponse: + id: AccessSessionSparkApplicationResponse + description: A summary of Spark Application + type: object + properties: + application: + description: Output only. High level information corresponding to an application. + readOnly: true + $ref: '#/components/schemas/ApplicationInfo' + SearchSessionSparkApplicationJobsResponse: + id: SearchSessionSparkApplicationJobsResponse + description: A list of Jobs associated with a Spark Application. + type: object + properties: + sparkApplicationJobs: + description: Output only. Data corresponding to a spark job. + readOnly: true + type: array + items: + $ref: '#/components/schemas/JobData' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSessionSparkApplicationJobsRequest. + type: string + AccessSessionSparkApplicationJobResponse: + id: AccessSessionSparkApplicationJobResponse + description: Details of a particular job associated with Spark Application + type: object + properties: + jobData: + description: Output only. Data corresponding to a spark job. + readOnly: true + $ref: '#/components/schemas/JobData' + SearchSessionSparkApplicationStagesResponse: + id: SearchSessionSparkApplicationStagesResponse + description: A list of stages associated with a Spark Application. + type: object + properties: + sparkApplicationStages: + description: Output only. Data corresponding to a stage. + readOnly: true + type: array + items: + $ref: '#/components/schemas/StageData' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent SearchSessionSparkApplicationStages. + type: string + SearchSessionSparkApplicationStageAttemptsResponse: + id: SearchSessionSparkApplicationStageAttemptsResponse + description: A list of Stage Attempts for a Stage of a Spark Application. + type: object + properties: + sparkApplicationStageAttempts: + description: Output only. Data corresponding to a stage attempts + readOnly: true + type: array + items: + $ref: '#/components/schemas/StageData' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSessionSparkApplicationStageAttemptsRequest. + type: string + AccessSessionSparkApplicationStageAttemptResponse: + id: AccessSessionSparkApplicationStageAttemptResponse + description: Stage Attempt for a Stage of a Spark Application + type: object + properties: + stageData: + description: Output only. Data corresponding to a stage. + readOnly: true + $ref: '#/components/schemas/StageData' + SearchSessionSparkApplicationStageAttemptTasksResponse: + id: SearchSessionSparkApplicationStageAttemptTasksResponse + description: List of tasks for a stage of a Spark Application + type: object + properties: + sparkApplicationStageAttemptTasks: + description: Output only. Data corresponding to tasks created by spark. + readOnly: true + type: array + items: + $ref: '#/components/schemas/TaskData' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSessionSparkApplicationStageAttemptTasksRequest. + type: string + SearchSessionSparkApplicationExecutorsResponse: + id: SearchSessionSparkApplicationExecutorsResponse + description: List of Executors associated with a Spark Application. + type: object + properties: + sparkApplicationExecutors: + description: Details about executors used by the application. + type: array + items: + $ref: '#/components/schemas/ExecutorSummary' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSessionSparkApplicationExecutorsRequest. + type: string + SearchSessionSparkApplicationExecutorStageSummaryResponse: + id: SearchSessionSparkApplicationExecutorStageSummaryResponse + description: List of Executors associated with a Spark Application Stage. + type: object + properties: + sparkApplicationStageExecutors: + description: Details about executors used by the application stage. + type: array + items: + $ref: '#/components/schemas/ExecutorStageSummary' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSessionSparkApplicationExecutorStageSummaryRequest. + type: string + SearchSessionSparkApplicationSqlQueriesResponse: + id: SearchSessionSparkApplicationSqlQueriesResponse + description: List of all queries for a Spark Application. + type: object + properties: + sparkApplicationSqlQueries: + description: Output only. SQL Execution Data + readOnly: true + type: array + items: + $ref: '#/components/schemas/SqlExecutionUiData' + nextPageToken: + description: >- + This token is included in the response if there are more results to + fetch. To fetch additional results, provide this value as the + page_token in a subsequent + SearchSessionSparkApplicationSqlQueriesRequest. + type: string + AccessSessionSparkApplicationSqlQueryResponse: + id: AccessSessionSparkApplicationSqlQueryResponse + description: Details of a query for a Spark Application + type: object + properties: + executionData: + description: SQL Execution Data + $ref: '#/components/schemas/SqlExecutionUiData' + AccessSessionSparkApplicationSqlSparkPlanGraphResponse: + id: AccessSessionSparkApplicationSqlSparkPlanGraphResponse + description: >- + SparkPlanGraph for a Spark Application execution limited to maximum + 10000 clusters. + type: object + properties: + sparkPlanGraph: + description: SparkPlanGraph for a Spark Application execution. + $ref: '#/components/schemas/SparkPlanGraph' + AccessSessionSparkApplicationStageRddOperationGraphResponse: + id: AccessSessionSparkApplicationStageRddOperationGraphResponse + description: >- + RDD operation graph for a Spark Application Stage limited to maximum + 10000 clusters. + type: object + properties: + rddOperationGraph: + description: RDD operation graph for a Spark Application Stage. + $ref: '#/components/schemas/RddOperationGraph' + AccessSessionSparkApplicationEnvironmentInfoResponse: + id: AccessSessionSparkApplicationEnvironmentInfoResponse + description: Environment details of a Saprk Application. + type: object + properties: + applicationEnvironmentInfo: + description: Details about the Environment that the application is running in. + $ref: '#/components/schemas/ApplicationEnvironmentInfo' + SummarizeSessionSparkApplicationJobsResponse: + id: SummarizeSessionSparkApplicationJobsResponse + description: Summary of a Spark Application jobs. + type: object + properties: + jobsSummary: + description: Summary of a Spark Application Jobs + $ref: '#/components/schemas/JobsSummary' + SummarizeSessionSparkApplicationStagesResponse: + id: SummarizeSessionSparkApplicationStagesResponse + description: Summary of a Spark Application stages. + type: object + properties: + stagesSummary: + description: Summary of a Spark Application Stages + $ref: '#/components/schemas/StagesSummary' + SummarizeSessionSparkApplicationStageAttemptTasksResponse: + id: SummarizeSessionSparkApplicationStageAttemptTasksResponse + description: Summary of tasks for a Spark Application stage attempt. + type: object + properties: + stageAttemptTasksSummary: + description: Summary of tasks for a Spark Application Stage Attempt + $ref: '#/components/schemas/StageAttemptTasksSummary' + SummarizeSessionSparkApplicationExecutorsResponse: + id: SummarizeSessionSparkApplicationExecutorsResponse + description: Consolidated summary of executors for a Spark Application. + type: object + properties: + applicationId: + description: Spark Application Id + type: string + activeExecutorSummary: + description: Consolidated summary for active executors. + $ref: '#/components/schemas/ConsolidatedExecutorSummary' + deadExecutorSummary: + description: Consolidated summary for dead executors. + $ref: '#/components/schemas/ConsolidatedExecutorSummary' + totalExecutorSummary: + description: Overall consolidated summary for all executors. + $ref: '#/components/schemas/ConsolidatedExecutorSummary' + SessionTemplate: + id: SessionTemplate + description: A representation of a session template. + type: object + properties: + name: + description: Required. The resource name of the session template. + type: string + description: + description: Optional. Brief description of the template. + type: string + createTime: + description: Output only. The time when the template was created. + readOnly: true + type: string + format: google-datetime + jupyterSession: + description: Optional. Jupyter session config. + $ref: '#/components/schemas/JupyterConfig' + sparkConnectSession: + description: Optional. Spark connect session config. + $ref: '#/components/schemas/SparkConnectConfig' + creator: + description: Output only. The email address of the user who created the template. + readOnly: true + type: string + labels: + description: >- + 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. + type: object + additionalProperties: + type: string + runtimeConfig: + description: Optional. Runtime configuration for session execution. + $ref: '#/components/schemas/RuntimeConfig' + environmentConfig: + description: Optional. Environment configuration for session execution. + $ref: '#/components/schemas/EnvironmentConfig' + updateTime: + description: Output only. The time the template was last updated. + readOnly: true + type: string + format: google-datetime + uuid: + description: >- + Output only. A session template UUID (Unique Universal Identifier). + The service generates this value when it creates the session + template. + readOnly: true + type: string + ListSessionTemplatesResponse: + id: ListSessionTemplatesResponse + description: A list of session templates. + type: object + properties: + sessionTemplates: + description: Output only. Session template list + readOnly: true + type: array + items: + $ref: '#/components/schemas/SessionTemplate' + nextPageToken: + description: >- + A token, which can be sent as page_token to retrieve the next page. + If this field is omitted, there are no subsequent pages. + type: string + WorkflowTemplate: + id: WorkflowTemplate + description: A Dataproc workflow template resource. + type: object + properties: + id: + type: string + name: + description: >- + 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} + readOnly: true + type: string + version: + description: >- + 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. + type: integer + format: int32 + createTime: + description: Output only. The time template was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The time template was last updated. + readOnly: true + type: string + format: google-datetime + labels: + description: >- + Optional. The labels to associate with this template. These labels + will be propagated to all jobs and clusters created by the workflow + instance.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 a template. + type: object + additionalProperties: + type: string + placement: + description: Required. WorkflowTemplate scheduling information. + $ref: '#/components/schemas/WorkflowTemplatePlacement' + jobs: + description: Required. The Directed Acyclic Graph of Jobs to submit. + type: array + items: + $ref: '#/components/schemas/OrderedJob' + parameters: + description: >- + Optional. Template parameters whose values are substituted into the + template. Values for parameters must be provided when the template + is instantiated. + type: array + items: + $ref: '#/components/schemas/TemplateParameter' + dagTimeout: + description: >- + 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. + type: string + format: google-duration + encryptionConfig: + description: >- + Optional. Encryption settings for encrypting workflow template job + arguments. + $ref: >- + #/components/schemas/GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig + WorkflowTemplatePlacement: + id: WorkflowTemplatePlacement + description: >- + Specifies workflow execution target.Either managed_cluster or + cluster_selector is required. + type: object + properties: + managedCluster: + description: A cluster that is managed by the workflow. + $ref: '#/components/schemas/ManagedCluster' + clusterSelector: + description: >- + Optional. A selector that chooses target cluster for jobs based on + metadata.The selector is evaluated at the time each job is + submitted. + $ref: '#/components/schemas/ClusterSelector' + ManagedCluster: + id: ManagedCluster + description: Cluster that is managed by the workflow. + type: object + properties: + clusterName: + description: >- + Required. The cluster name prefix. A unique cluster name will be + formed by appending a random suffix.The name must contain only + lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin + with a letter. Cannot begin or end with hyphen. Must consist of + between 2 and 35 characters. + type: string + config: + description: Required. The cluster configuration. + $ref: '#/components/schemas/ClusterConfig' + labels: + description: >- + Optional. The labels to associate with this cluster.Label keys must + be between 1 and 63 characters long, 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, and must conform to the + following PCRE regular expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more + than 32 labels can be associated with a given cluster. + type: object + additionalProperties: + type: string + ClusterSelector: + id: ClusterSelector + description: A selector that chooses target cluster for jobs based on metadata. + type: object + properties: + zone: + description: >- + Optional. The zone where workflow process executes. This parameter + does not affect the selection of the cluster.If unspecified, the + zone of the first cluster matching the selector is used. + type: string + clusterLabels: + description: Required. The cluster labels. Cluster must have all labels to match. + type: object + additionalProperties: + type: string + OrderedJob: + id: OrderedJob + description: A job executed by the workflow. + type: object + properties: + stepId: + description: >- + Required. The step id. The id must be unique among all jobs within + the template.The step id is used as prefix for job id, as job + goog-dataproc-workflow-step-id label, and in prerequisiteStepIds + field from other steps.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. + type: string + hadoopJob: + description: Optional. Job is a Hadoop job. + $ref: '#/components/schemas/HadoopJob' + sparkJob: + description: Optional. Job is a Spark job. + $ref: '#/components/schemas/SparkJob' + pysparkJob: + description: Optional. Job is a PySpark job. + $ref: '#/components/schemas/PySparkJob' + hiveJob: + description: Optional. Job is a Hive job. + $ref: '#/components/schemas/HiveJob' + pigJob: + description: Optional. Job is a Pig job. + $ref: '#/components/schemas/PigJob' + sparkRJob: + description: Optional. Job is a SparkR job. + $ref: '#/components/schemas/SparkRJob' + sparkSqlJob: + description: Optional. Job is a SparkSql job. + $ref: '#/components/schemas/SparkSqlJob' + prestoJob: + description: Optional. Job is a Presto job. + $ref: '#/components/schemas/PrestoJob' + trinoJob: + description: Optional. Job is a Trino job. + $ref: '#/components/schemas/TrinoJob' + flinkJob: + description: Optional. Job is a Flink job. + $ref: '#/components/schemas/FlinkJob' + labels: + description: >- + Optional. The labels to associate with this job.Label keys must be + between 1 and 63 characters long, and must conform to the following + regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 + and 63 characters long, and must conform to the following regular + expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be + associated with a given job. + type: object + additionalProperties: + type: string + scheduling: + description: Optional. Job scheduling configuration. + $ref: '#/components/schemas/JobScheduling' + prerequisiteStepIds: + description: >- + Optional. The optional list of prerequisite job step_ids. If not + specified, the job will start at the beginning of workflow. + type: array + items: + type: string + TemplateParameter: + id: TemplateParameter + description: >- + A configurable parameter that replaces one or more fields in the + template. Parameterizable fields: - Labels - File uris - Job properties + - Job arguments - Script variables - Main class (in HadoopJob and + SparkJob) - Zone (in ClusterSelector) + type: object + properties: + name: + description: >- + Required. Parameter name. The parameter name is used as the key, and + paired with the parameter value, which are passed to the template + when the template is instantiated. The name must contain only + capital letters (A-Z), numbers (0-9), and underscores (_), and must + not start with a number. The maximum length is 40 characters. + type: string + fields: + description: >- + Required. Paths to all fields that the parameter replaces. A field + is allowed to appear in at most one parameter's list of field + paths.A field path is similar in syntax to a + google.protobuf.FieldMask. For example, a field path that references + the zone field of a workflow template's cluster selector would be + specified as placement.clusterSelector.zone.Also, field paths can + reference fields using the following syntax: Values in maps can be + referenced by key: labels'key' + placement.clusterSelector.clusterLabels'key' + placement.managedCluster.labels'key' + placement.clusterSelector.clusterLabels'key' + jobs'step-id'.labels'key' Jobs in the jobs list can be referenced by + step-id: jobs'step-id'.hadoopJob.mainJarFileUri + jobs'step-id'.hiveJob.queryFileUri + jobs'step-id'.pySparkJob.mainPythonFileUri + jobs'step-id'.hadoopJob.jarFileUris0 + jobs'step-id'.hadoopJob.archiveUris0 + jobs'step-id'.hadoopJob.fileUris0 + jobs'step-id'.pySparkJob.pythonFileUris0 Items in repeated fields + can be referenced by a zero-based index: + jobs'step-id'.sparkJob.args0 Other examples: + jobs'step-id'.hadoopJob.properties'key' + jobs'step-id'.hadoopJob.args0 + jobs'step-id'.hiveJob.scriptVariables'key' + jobs'step-id'.hadoopJob.mainJarFileUri + placement.clusterSelector.zoneIt may not be possible to parameterize + maps and repeated fields in their entirety since only individual map + values and individual items in repeated fields can be referenced. + For example, the following field paths are invalid: + placement.clusterSelector.clusterLabels jobs'step-id'.sparkJob.args + type: array + items: + type: string + description: + description: >- + Optional. Brief description of the parameter. Must not exceed 1024 + characters. + type: string + validation: + description: Optional. Validation rules to be applied to this parameter's value. + $ref: '#/components/schemas/ParameterValidation' + ParameterValidation: + id: ParameterValidation + description: Configuration for parameter validation. + type: object + properties: + regex: + description: Validation based on regular expressions. + $ref: '#/components/schemas/RegexValidation' + values: + description: Validation based on a list of allowed values. + $ref: '#/components/schemas/ValueValidation' + RegexValidation: + id: RegexValidation + description: Validation based on regular expressions. + type: object + properties: + regexes: + description: >- + Required. RE2 regular expressions used to validate the parameter's + value. The value must match the regex in its entirety (substring + matches are not sufficient). + type: array + items: + type: string + ValueValidation: + id: ValueValidation + description: Validation based on a list of allowed values. + type: object + properties: + values: + description: Required. List of allowed values for the parameter. + type: array + items: + type: string + GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig: + id: GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig + description: Encryption settings for encrypting workflow template job arguments. + type: object + properties: + kmsKey: + description: >- + Optional. The Cloud KMS key name to use for encrypting workflow + template job arguments.When this this key is provided, the following + workflow template job arguments + (https://cloud.google.com/dataproc/docs/concepts/workflows/use-workflows#adding_jobs_to_a_template), + if present, are CMEK encrypted + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_workflow_template_data): + FlinkJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) + HadoopJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) + SparkJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) + SparkRJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) + PySparkJob args + (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) + SparkSqlJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) + scriptVariables and queryList.queries HiveJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) + scriptVariables and queryList.queries PigJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) + scriptVariables and queryList.queries PrestoJob + (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) + scriptVariables and queryList.queries + type: string + InstantiateWorkflowTemplateRequest: + id: InstantiateWorkflowTemplateRequest + description: A request to instantiate a workflow template. + type: object + properties: + version: + description: >- + Optional. The version of workflow template to instantiate. If + specified, the workflow will be instantiated only if the current + version of the workflow template has the supplied version.This + option cannot be used to instantiate a previous version of workflow + template. + type: integer + format: int32 + requestId: + description: >- + Optional. A tag that prevents multiple concurrent workflow instances + with the same tag from running. This mitigates risk of concurrent + instances started due to retries.It is recommended to always set + this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + tag must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), and hyphens (-). The maximum length is 40 characters. + type: string + parameters: + description: >- + Optional. Map from parameter names to values that should be used for + those parameters. Values may not exceed 1000 characters. + type: object + additionalProperties: + type: string + ListWorkflowTemplatesResponse: + id: ListWorkflowTemplatesResponse + description: A response to a request to list workflow templates in a project. + type: object + properties: + templates: + description: Output only. WorkflowTemplates list. + readOnly: true + type: array + items: + $ref: '#/components/schemas/WorkflowTemplate' + nextPageToken: + description: >- + Output only. This token is included in the response if there are + more results to fetch. To fetch additional results, provide this + value as the page_token in a subsequent + ListWorkflowTemplatesRequest. + readOnly: true + type: string + unreachable: + description: >- + Output only. List of workflow templates that could not be included + in the response. Attempting to get one of these resources may + indicate why it was not included in the list response. + readOnly: true + type: array + items: + type: string + ResizeNodeGroupRequest: + id: ResizeNodeGroupRequest + description: A request to resize a node group. + type: object + properties: + size: + description: >- + Required. The number of running instances for the node group to + maintain. The group adds or removes instances to maintain the number + of instances specified by this parameter. + type: integer + format: int32 + requestId: + description: >- + Optional. A unique ID used to identify the request. If the server + receives two ResizeNodeGroupRequest + (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.ResizeNodeGroupRequests) + with the same ID, the second request is ignored and the first + google.longrunning.Operation created and stored in the backend is + returned.Recommendation: Set this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID + must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), and hyphens (-). The maximum length is 40 characters. + type: string + gracefulDecommissionTimeout: + description: >- + Optional. Timeout for graceful YARN decommissioning. Graceful + decommissioning + (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scaling-clusters#graceful_decommissioning) + allows the removal of nodes from the Compute Engine node group + without interrupting jobs in progress. This timeout specifies how + long to wait for jobs in progress to finish before forcefully + removing nodes (and potentially interrupting jobs). Default timeout + is 0 (for forceful decommission), and the maximum allowed timeout is + 1 day. (see JSON representation of Duration + (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only + supported on Dataproc image versions 1.2 and higher. + type: string + format: google-duration + parentOperationId: + description: >- + Optional. operation id of the parent operation sending the resize + request + type: string + RepairNodeGroupRequest: + id: RepairNodeGroupRequest + type: object + properties: + instanceNames: + description: >- + Required. Name of instances to be repaired. These instances must + belong to specified node pool. + type: array + items: + type: string + repairAction: + description: >- + Required. Repair action to take on specified resources of the node + pool. + type: string + enumDescriptions: + - No action will be taken by default. + - replace the specified list of nodes. + enum: + - REPAIR_ACTION_UNSPECIFIED + - REPLACE + requestId: + description: >- + Optional. A unique ID used to identify the request. If the server + receives two RepairNodeGroupRequest with the same ID, the second + request is ignored and the first google.longrunning.Operation + created and stored in the backend is returned.Recommendation: Set + this value to a UUID + (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID + must contain only letters (a-z, A-Z), numbers (0-9), underscores + (_), and hyphens (-). The maximum length is 40 characters. + type: string + SetIamPolicyRequest: + id: SetIamPolicyRequest + description: Request message for SetIamPolicy method. + type: object + properties: + policy: + description: >- + REQUIRED: The complete policy to be applied to the resource. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + $ref: '#/components/schemas/Policy' + Policy: + id: Policy + description: >- + 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/). + type: object + properties: + version: + description: >- + Specifies the format of the policy.Valid values are 0, 1, and 3. + Requests that specify an invalid value are rejected.Any operation + that affects conditional role bindings must specify version 3. This + requirement applies to the following operations: Getting a policy + that includes a conditional role binding Adding a conditional role + binding to a policy Changing a conditional role binding in a policy + Removing any role binding, with or without a condition, from a + policy that includes conditionsImportant: If you use IAM Conditions, + you must include the etag field whenever you call setIamPolicy. If + you omit this field, then IAM allows you to overwrite a version 3 + policy with a version 1 policy, and all of the conditions in the + version 3 policy are lost.If a policy does not include any + conditions, operations on that policy may specify any valid version + or leave the field unset.To learn which resources support conditions + in their IAM policies, see the IAM documentation + (https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + format: int32 + bindings: + description: >- + Associates a list of members, or principals, with a role. + Optionally, may specify a condition that determines how and when the + bindings are applied. Each of the bindings must contain at least one + principal.The bindings in a Policy can refer to up to 1,500 + principals; up to 250 of these principals can be Google groups. Each + occurrence of a principal counts towards these limits. For example, + if the bindings grant 50 different roles to user:alice@example.com, + and not to any other principal, then you can add another 1,450 + principals to the bindings in the Policy. + type: array + items: + $ref: '#/components/schemas/Binding' + etag: + description: >- + 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 + getIamPolicy, and systems are expected to put that etag in the + request to setIamPolicy to ensure that their change will be applied + to the same version of the policy.Important: If you use IAM + Conditions, you must include the etag field whenever you call + setIamPolicy. If you omit this field, then IAM allows you to + overwrite a version 3 policy with a version 1 policy, and all of the + conditions in the version 3 policy are lost. + type: string + format: byte + Binding: + id: Binding + description: Associates members, or principals, with a role. + type: object + properties: + role: + description: >- + 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). + type: string + members: + description: >- + Specifies the principals requesting access for a Google Cloud + resource. members can have the following values: allUsers: A special + identifier that represents anyone who is on the internet; with or + without a Google account. allAuthenticatedUsers: A special + identifier that represents anyone who is authenticated with a Google + account or a service account. Does not include identities that come + from external identity providers (IdPs) through identity federation. + user:{emailid}: An email address that represents a specific Google + account. For example, alice@example.com . serviceAccount:{emailid}: + An email address that represents a Google service account. For + example, my-other-app@appspot.gserviceaccount.com. + serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: + An identifier for a Kubernetes service account + (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. + group:{emailid}: An email address that represents a Google group. + For example, admins@example.com. domain:{domain}: The G Suite domain + (primary) that represents all the users of that domain. For example, + google.com or example.com. + principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: + A single identity in a workforce identity pool. + principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: + All workforce identities in a group. + principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: + All workforce identities with a specific attribute value. + principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: + All identities in a workforce identity pool. + principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: + A single identity in a workload identity pool. + principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: + A workload identity pool group. + principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: + All identities in a workload identity pool with a certain attribute. + principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: + All identities in a workload identity pool. + deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique + identifier) representing a user that has been recently deleted. For + example, alice@example.com?uid=123456789012345678901. If the user is + recovered, this value reverts to user:{emailid} and the recovered + user retains the role in the binding. + deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. + If the service account is undeleted, this value reverts to + serviceAccount:{emailid} and the undeleted service account retains + the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An + email address (plus unique identifier) representing a Google group + that has been recently deleted. For example, + admins@example.com?uid=123456789012345678901. If the group is + recovered, this value reverts to group:{emailid} and the recovered + group retains the role in the binding. + deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: + Deleted single identity in a workforce identity pool. For example, + deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. + type: array + items: + type: string + condition: + description: >- + The condition that is associated with this binding.If the condition + evaluates to true, then this binding applies to the current + request.If the condition evaluates to false, then this binding does + not apply to the current request. However, a different role binding + might grant the same role to one or more of the principals in this + binding.To learn which resources support conditions in their IAM + policies, see the IAM documentation + (https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/Expr' + Expr: + id: Expr + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec.Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + type: object + properties: + expression: + description: >- + Textual representation of an expression in Common Expression + Language syntax. + type: string + title: + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + type: string + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. + type: string + location: + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + type: string + GetIamPolicyRequest: + id: GetIamPolicyRequest + description: Request message for GetIamPolicy method. + type: object + properties: + options: + description: >- + OPTIONAL: A GetPolicyOptions object for specifying options to + GetIamPolicy. + $ref: '#/components/schemas/GetPolicyOptions' + GetPolicyOptions: + id: GetPolicyOptions + description: Encapsulates settings provided to GetIamPolicy. + type: object + properties: + requestedPolicyVersion: + description: >- + Optional. The maximum policy version that will be used to format the + policy.Valid values are 0, 1, and 3. Requests specifying an invalid + value will be rejected.Requests for policies with any conditional + role bindings must specify version 3. Policies with no conditional + role bindings may specify any valid value or leave the field + unset.The policy in the response might use the policy version that + you specified, or it might use a lower policy version. For example, + if you specify version 3, but the policy has no conditional role + bindings, the response uses version 1.To learn which resources + support conditions in their IAM policies, see the IAM documentation + (https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + format: int32 + TestIamPermissionsRequest: + id: TestIamPermissionsRequest + description: Request message for TestIamPermissions method. + type: object + properties: + permissions: + description: >- + The set of permissions to check for the resource. Permissions with + wildcards (such as * or storage.*) are not allowed. For more + information see IAM Overview + (https://cloud.google.com/iam/docs/overview#permissions). + type: array + items: + type: string + TestIamPermissionsResponse: + id: TestIamPermissionsResponse + description: Response message for TestIamPermissions method. + type: object + properties: + permissions: + description: >- + A subset of TestPermissionsRequest.permissions that the caller is + allowed. + type: array + items: + type: string + AnalyzeOperationMetadata: + id: AnalyzeOperationMetadata + description: Metadata describing the Analyze operation. + type: object + properties: + analyzedWorkloadName: + description: Output only. name of the workload being analyzed. + readOnly: true + type: string + analyzedWorkloadType: + description: Output only. Type of the workload being analyzed. + readOnly: true + type: string + enumDescriptions: + - Undefined option + - Serverless batch job + enum: + - WORKLOAD_TYPE_UNSPECIFIED + - BATCH + analyzedWorkloadUuid: + description: >- + Output only. unique identifier of the workload typically generated + by control plane. E.g. batch uuid. + readOnly: true + type: string + createTime: + description: Output only. The time when the operation was created. + readOnly: true + type: string + format: google-datetime + doneTime: + description: Output only. The time when the operation finished. + readOnly: true + type: string + format: google-datetime + description: + description: Output only. Short description of the operation. + readOnly: true + type: string + labels: + description: Output only. Labels associated with the operation. + readOnly: true + type: object + additionalProperties: + type: string + warnings: + description: Output only. Warnings encountered during operation execution. + readOnly: true + type: array + items: + type: string + BatchOperationMetadata: + id: BatchOperationMetadata + description: Metadata describing the Batch operation. + type: object + properties: + batch: + description: Name of the batch for the operation. + type: string + batchUuid: + description: Batch UUID for the operation. + type: string + createTime: + description: The time when the operation was created. + type: string + format: google-datetime + doneTime: + description: The time when the operation finished. + type: string + format: google-datetime + operationType: + description: The operation type. + type: string + enumDescriptions: + - Batch operation type is unknown. + - Batch operation type. + enum: + - BATCH_OPERATION_TYPE_UNSPECIFIED + - BATCH + description: + description: Short description of the operation. + type: string + labels: + description: Labels associated with the operation. + type: object + additionalProperties: + type: string + warnings: + description: Warnings encountered during operation execution. + type: array + items: + type: string + ClusterOperationMetadata: + id: ClusterOperationMetadata + description: Metadata describing the operation. + type: object + properties: + clusterName: + description: Output only. Name of the cluster for the operation. + readOnly: true + type: string + clusterUuid: + description: Output only. Cluster UUID for the operation. + readOnly: true + type: string + status: + description: Output only. Current operation status. + readOnly: true + $ref: '#/components/schemas/ClusterOperationStatus' + statusHistory: + description: Output only. The previous operation status. + readOnly: true + type: array + items: + $ref: '#/components/schemas/ClusterOperationStatus' + operationType: + description: Output only. The operation type. + readOnly: true + type: string + description: + description: Output only. Short description of operation. + readOnly: true + type: string + labels: + description: Output only. Labels associated with the operation + readOnly: true + type: object + additionalProperties: + type: string + warnings: + description: Output only. Errors encountered during operation execution. + readOnly: true + type: array + items: + type: string + childOperationIds: + description: Output only. Child operation ids + readOnly: true + type: array + items: + type: string + ClusterOperationStatus: + id: ClusterOperationStatus + description: The status of the operation. + type: object + properties: + state: + description: Output only. A message containing the operation state. + readOnly: true + type: string + enumDescriptions: + - Unused. + - The operation has been created. + - The operation is running. + - The operation is done; either cancelled or completed. + enum: + - UNKNOWN + - PENDING + - RUNNING + - DONE + innerState: + description: Output only. A message containing the detailed operation state. + readOnly: true + type: string + details: + description: Output only. A message containing any operation metadata details. + readOnly: true + type: string + stateStartTime: + description: Output only. The time this state was entered. + readOnly: true + type: string + format: google-datetime + DiagnoseClusterResults: + id: DiagnoseClusterResults + description: The location of diagnostic output. + type: object + properties: + outputUri: + description: >- + Output only. The Cloud Storage URI of the diagnostic output. The + output report is a plain text file with a summary of collected + diagnostics. + readOnly: true + type: string + JobMetadata: + id: JobMetadata + description: Job Operation metadata. + type: object + properties: + jobId: + description: Output only. The job id. + readOnly: true + type: string + status: + description: Output only. Most recent job status. + readOnly: true + $ref: '#/components/schemas/JobStatus' + operationType: + description: Output only. Operation type. + readOnly: true + type: string + startTime: + description: Output only. Job submission time. + readOnly: true + type: string + format: google-datetime + SessionOperationMetadata: + id: SessionOperationMetadata + description: Metadata describing the Session operation. + type: object + properties: + session: + description: Name of the session for the operation. + type: string + sessionUuid: + description: Session UUID for the operation. + type: string + createTime: + description: The time when the operation was created. + type: string + format: google-datetime + doneTime: + description: The time when the operation was finished. + type: string + format: google-datetime + operationType: + description: The operation type. + type: string + enumDescriptions: + - Session operation type is unknown. + - Create Session operation type. + - Terminate Session operation type. + - Delete Session operation type. + enum: + - SESSION_OPERATION_TYPE_UNSPECIFIED + - CREATE + - TERMINATE + - DELETE + description: + description: Short description of the operation. + type: string + labels: + description: Labels associated with the operation. + type: object + additionalProperties: + type: string + warnings: + description: Warnings encountered during operation execution. + type: array + items: + type: string + NodeGroupOperationMetadata: + id: NodeGroupOperationMetadata + description: Metadata describing the node group operation. + type: object + properties: + nodeGroupId: + description: Output only. Node group ID for the operation. + readOnly: true + type: string + clusterUuid: + description: Output only. Cluster UUID associated with the node group operation. + readOnly: true + type: string + status: + description: Output only. Current operation status. + readOnly: true + $ref: '#/components/schemas/ClusterOperationStatus' + statusHistory: + description: Output only. The previous operation status. + readOnly: true + type: array + items: + $ref: '#/components/schemas/ClusterOperationStatus' + operationType: + description: The operation type. + type: string + enumDescriptions: + - Node group operation type is unknown. + - Create node group operation type. + - Update node group operation type. + - Delete node group operation type. + - Resize node group operation type. + - Repair node group operation type. + - Update node group label operation type. + - Start node group operation type. + - Stop node group operation type. + enum: + - NODE_GROUP_OPERATION_TYPE_UNSPECIFIED + - CREATE + - UPDATE + - DELETE + - RESIZE + - REPAIR + - UPDATE_LABELS + - START + - STOP + description: + description: Output only. Short description of operation. + readOnly: true + type: string + labels: + description: Output only. Labels associated with the operation. + readOnly: true + type: object + additionalProperties: + type: string + warnings: + description: Output only. Errors encountered during operation execution. + readOnly: true + type: array + items: + type: string + WorkflowMetadata: + id: WorkflowMetadata + description: A Dataproc workflow template resource. + type: object + properties: + template: + description: >- + 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} + readOnly: true + type: string + version: + description: >- + Output only. The version of template at the time of workflow + instantiation. + readOnly: true + type: integer + format: int32 + createCluster: + description: Output only. The create cluster operation metadata. + readOnly: true + $ref: '#/components/schemas/ClusterOperation' + graph: + description: Output only. The workflow graph. + readOnly: true + $ref: '#/components/schemas/WorkflowGraph' + deleteCluster: + description: Output only. The delete cluster operation metadata. + readOnly: true + $ref: '#/components/schemas/ClusterOperation' + state: + description: Output only. The workflow state. + readOnly: true + type: string + enumDescriptions: + - Unused. + - The operation has been created. + - The operation is running. + - The operation is done; either cancelled or completed. + enum: + - UNKNOWN + - PENDING + - RUNNING + - DONE + clusterName: + description: Output only. The name of the target cluster. + readOnly: true + type: string + parameters: + description: >- + Map from parameter names to values that were used for those + parameters. + type: object + additionalProperties: + type: string + startTime: + description: Output only. Workflow start time. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. Workflow end time. + readOnly: true + type: string + format: google-datetime + clusterUuid: + description: Output only. The UUID of target cluster. + readOnly: true + type: string + dagTimeout: + description: >- + Output only. The timeout duration for the DAG of jobs, expressed in + seconds (see JSON representation of duration + (https://developers.google.com/protocol-buffers/docs/proto3#json)). + readOnly: true + type: string + format: google-duration + dagStartTime: + description: >- + Output only. DAG start time, only set for workflows with dag_timeout + when DAG begins. + readOnly: true + type: string + format: google-datetime + dagEndTime: + description: >- + Output only. DAG end time, only set for workflows with dag_timeout + when DAG ends. + readOnly: true + type: string + format: google-datetime + ClusterOperation: + id: ClusterOperation + description: The cluster operation triggered by a workflow. + type: object + properties: + operationId: + description: Output only. The id of the cluster operation. + readOnly: true + type: string + error: + description: Output only. Error, if operation failed. + readOnly: true + type: string + done: + description: Output only. Indicates the operation is done. + readOnly: true + type: boolean + WorkflowGraph: + id: WorkflowGraph + description: The workflow graph. + type: object + properties: + nodes: + description: Output only. The workflow nodes. + readOnly: true + type: array + items: + $ref: '#/components/schemas/WorkflowNode' + WorkflowNode: + id: WorkflowNode + description: The workflow node. + type: object + properties: + stepId: + description: Output only. The name of the node. + readOnly: true + type: string + prerequisiteStepIds: + description: Output only. Node's prerequisite nodes. + readOnly: true + type: array + items: + type: string + jobId: + description: >- + Output only. The job id; populated after the node enters RUNNING + state. + readOnly: true + type: string + state: + description: Output only. The node state. + readOnly: true + type: string + enumDescriptions: + - State is unspecified. + - The node is awaiting prerequisite node to finish. + - The node is runnable but not running. + - The node is running. + - The node completed successfully. + - >- + The node failed. A node can be marked FAILED because its ancestor + or peer failed. + enum: + - NODE_STATE_UNSPECIFIED + - BLOCKED + - RUNNABLE + - RUNNING + - COMPLETED + - FAILED + error: + description: Output only. The error detail. + readOnly: true + type: string + parameters: + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto + callback: + description: JSONP + in: query + name: callback + schema: + type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' + x-stackQL-resources: + operations: + id: google.dataproc.operations + name: operations + title: Operations + methods: + projects_regions_operations_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + projects_regions_operations_get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_regions_operations_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_regions_operations_cancel: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:cancel/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_operations_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + projects_locations_operations_get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_operations_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_operations_cancel: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_regions_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_regions_operations_list + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_operations_list + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_regions_operations_delete + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_operations_delete + operations_iam_policies: + id: google.dataproc.operations_iam_policies + name: operations_iam_policies + title: Operations_iam_policies + methods: + projects_regions_operations_set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_regions_operations_get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:getIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + projects_regions_operations_test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1regions~1{regionsId}~1operations~1{operationsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/operations_iam_policies/methods/projects_regions_operations_get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/operations_iam_policies/methods/projects_regions_operations_set_iam_policy + delete: [] + autoscaling_policies: + id: google.dataproc.autoscaling_policies + name: autoscaling_policies + title: Autoscaling_policies + methods: projects_regions_autoscaling_policies_create: operation: $ref: >- @@ -6105,6 +8557,297 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/batches/methods/projects_locations_batches_delete + spark_applications: + id: google.dataproc.spark_applications + name: spark_applications + title: Spark_applications + methods: + projects_locations_batches_spark_applications_write: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:write/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications:search/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:access/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_jobs: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchJobs/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access_job: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:accessJob/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_stages: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchStages/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_stage_attempts: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchStageAttempts/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access_stage_attempt: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:accessStageAttempt/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_stage_attempt_tasks: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchStageAttemptTasks/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_executors: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchExecutors/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_executor_stage_summary: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchExecutorStageSummary/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_search_sql_queries: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:searchSqlQueries/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access_sql_query: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:accessSqlQuery/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access_sql_plan: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:accessSqlPlan/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access_stage_rdd_graph: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:accessStageRddGraph/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_access_environment_info: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:accessEnvironmentInfo/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_summarize_jobs: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:summarizeJobs/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_summarize_stages: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:summarizeStages/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_summarize_stage_attempt_tasks: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:summarizeStageAttemptTasks/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_batches_spark_applications_summarize_executors: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1batches~1{batchesId}~1sparkApplications~1{sparkApplicationsId}:summarizeExecutors/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_write: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:write/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications:search/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:access/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_jobs: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchJobs/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access_job: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:accessJob/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_stages: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchStages/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_stage_attempts: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchStageAttempts/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access_stage_attempt: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:accessStageAttempt/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_stage_attempt_tasks: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchStageAttemptTasks/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_executors: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchExecutors/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_executor_stage_summary: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchExecutorStageSummary/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_search_sql_queries: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:searchSqlQueries/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access_sql_query: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:accessSqlQuery/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access_sql_plan: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:accessSqlPlan/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access_stage_rdd_graph: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:accessStageRddGraph/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_access_environment_info: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:accessEnvironmentInfo/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_summarize_jobs: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:summarizeJobs/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_summarize_stages: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:summarizeStages/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_summarize_stage_attempt_tasks: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:summarizeStageAttemptTasks/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sessions_spark_applications_summarize_executors: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sessions~1{sessionsId}~1sparkApplications~1{sparkApplicationsId}:summarizeExecutors/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] sessions: id: google.dataproc.sessions name: sessions @@ -6233,9 +8976,1616 @@ paths: - $ref: '#/components/parameters/_.xgafv' get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns UNIMPLEMENTED. - operationId: dataproc.projects.regions.operations.list + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns UNIMPLEMENTED. + operationId: dataproc.projects.regions.operations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListOperationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: dataproc.projects.regions.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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. + operationId: dataproc.projects.regions.operations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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. + operationId: dataproc.projects.regions.operations.cancel + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and + PERMISSION_DENIED errors. + operationId: dataproc.projects.regions.operations.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: dataproc.projects.regions.operations.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: dataproc.projects.regions.operations.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies: + parameters: *ref_1 + post: + description: Creates new autoscaling policy. + operationId: dataproc.projects.regions.autoscalingPolicies.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AutoscalingPolicy' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/AutoscalingPolicy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + get: + description: Lists autoscaling policies in the project. + operationId: dataproc.projects.regions.autoscalingPolicies.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListAutoscalingPoliciesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}: + parameters: *ref_1 + put: + description: >- + Updates (replaces) autoscaling policy.Disabled check for update_mask, + because all updates will be full replacements. + operationId: dataproc.projects.regions.autoscalingPolicies.update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AutoscalingPolicy' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/AutoscalingPolicy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId + required: true + schema: + type: string + get: + description: Retrieves autoscaling policy. + operationId: dataproc.projects.regions.autoscalingPolicies.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/AutoscalingPolicy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId + required: true + schema: + type: string + delete: + description: >- + Deletes an autoscaling policy. It is an error to delete an autoscaling + policy that is in use by one or more clusters. + operationId: dataproc.projects.regions.autoscalingPolicies.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and + PERMISSION_DENIED errors. + operationId: dataproc.projects.regions.autoscalingPolicies.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: dataproc.projects.regions.autoscalingPolicies.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: dataproc.projects.regions.autoscalingPolicies.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/clusters: + parameters: *ref_1 + post: + description: >- + 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). + operationId: dataproc.projects.regions.clusters.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Cluster' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: actionOnFailedPrimaryWorkers + schema: + type: string + get: + description: Lists all regions/{region}/clusters in a project alphabetically. + operationId: dataproc.projects.regions.clusters.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListClustersResponse' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}: + parameters: *ref_1 + patch: + description: >- + 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. + operationId: dataproc.projects.regions.clusters.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Cluster' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + - in: query + name: gracefulDecommissionTimeout + schema: + type: string + format: google-duration + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: requestId + schema: + type: string + delete: + description: >- + 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). + operationId: dataproc.projects.regions.clusters.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + - in: query + name: clusterUuid + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: gracefulTerminationTimeout + schema: + type: string + format: google-duration + get: + description: Gets the resource representation for a cluster in a project. + operationId: dataproc.projects.regions.clusters.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Cluster' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:stop: + parameters: *ref_1 + post: + description: Stops a cluster in a project. + operationId: dataproc.projects.regions.clusters.stop + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StopClusterRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:start: + parameters: *ref_1 + post: + description: Starts a cluster in a project. + operationId: dataproc.projects.regions.clusters.start + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StartClusterRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair: + parameters: *ref_1 + post: + description: Repairs a cluster. + operationId: dataproc.projects.regions.clusters.repair + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RepairClusterRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose: + parameters: *ref_1 + post: + description: >- + 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). + operationId: dataproc.projects.regions.clusters.diagnose + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiagnoseClusterRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: clusterName + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:injectCredentials: + parameters: *ref_1 + post: + description: >- + 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. + operationId: dataproc.projects.regions.clusters.injectCredentials + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InjectCredentialsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and + PERMISSION_DENIED errors. + operationId: dataproc.projects.regions.clusters.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: dataproc.projects.regions.clusters.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: dataproc.projects.regions.clusters.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups: + parameters: *ref_1 + post: + description: >- + 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). + operationId: dataproc.projects.regions.clusters.nodeGroups.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NodeGroup' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + - in: query + name: nodeGroupId + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: parentOperationId + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}:resize: + parameters: *ref_1 + post: + description: >- + 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). + operationId: dataproc.projects.regions.clusters.nodeGroups.resize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResizeNodeGroupRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + - in: path + name: nodeGroupsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}:repair: + parameters: *ref_1 + post: + description: Repair nodes in a node group. + operationId: dataproc.projects.regions.clusters.nodeGroups.repair + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RepairNodeGroupRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + - in: path + name: nodeGroupsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}: + parameters: *ref_1 + get: + description: Gets the resource representation for a node group in a cluster. + operationId: dataproc.projects.regions.clusters.nodeGroups.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/NodeGroup' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: clustersId + required: true + schema: + type: string + - in: path + name: nodeGroupsId + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/jobs:submit: + parameters: *ref_1 + post: + description: Submits a job to a cluster. + operationId: dataproc.projects.regions.jobs.submit + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubmitJobRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Job' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/jobs:submitAsOperation: + parameters: *ref_1 + post: + description: Submits job to a cluster. + operationId: dataproc.projects.regions.jobs.submitAsOperation + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubmitJobRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/jobs/{jobId}: + parameters: *ref_1 + get: + description: Gets the resource representation for a job in a project. + operationId: dataproc.projects.regions.jobs.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Job' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: jobId + required: true + schema: + type: string + patch: + description: Updates a job in a project. + operationId: dataproc.projects.regions.jobs.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Job' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Job' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: jobId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: >- + Deletes the job from the project. If the job is active, the delete + fails, and the response returns FAILED_PRECONDITION. + operationId: dataproc.projects.regions.jobs.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: jobId + required: true + schema: + type: string + /v1/projects/{projectId}/regions/{region}/jobs: + parameters: *ref_1 + get: + description: Lists regions/{region}/jobs in a project. + operationId: dataproc.projects.regions.jobs.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListJobsResponse' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: clusterName + schema: + type: string + - in: query + name: jobStateMatcher + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel: + parameters: *ref_1 + post: + description: >- + 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). + operationId: dataproc.projects.regions.jobs.cancel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelJobRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Job' + parameters: + - in: path + name: projectId + required: true + schema: + type: string + - in: path + name: region + required: true + schema: + type: string + - in: path + name: jobId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and + PERMISSION_DENIED errors. + operationId: dataproc.projects.regions.jobs.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: jobsId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: dataproc.projects.regions.jobs.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6247,7 +10597,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListOperationsResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -6259,27 +10609,26 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: jobsId + required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}: + /v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:testIamPermissions: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: dataproc.projects.regions.operations.get + 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. + operationId: dataproc.projects.regions.jobs.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6291,7 +10640,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -6304,17 +10653,20 @@ paths: schema: type: string - in: path - name: operationsId + name: jobsId required: true schema: type: string - delete: - description: >- - 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. - operationId: dataproc.projects.regions.operations.delete + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates: + parameters: *ref_1 + post: + description: Creates new workflow template. + operationId: dataproc.projects.regions.workflowTemplates.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowTemplate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6326,7 +10678,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/WorkflowTemplate' parameters: - in: path name: projectsId @@ -6338,25 +10690,48 @@ paths: required: true schema: type: string + get: + description: Lists workflows that match the specified filter in the request. + operationId: dataproc.projects.regions.workflowTemplates.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListWorkflowTemplatesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string - in: path - name: operationsId + name: regionsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: dataproc.projects.regions.operations.cancel + Retrieves the latest workflow template.Can retrieve previously + instantiated template by specifying optional version parameter. + operationId: dataproc.projects.regions.workflowTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6368,7 +10743,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/WorkflowTemplate' parameters: - in: path name: projectsId @@ -6381,23 +10756,25 @@ paths: schema: type: string - in: path - name: operationsId + name: workflowTemplatesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:setIamPolicy: - parameters: *ref_1 - post: + - in: query + name: version + schema: + type: integer + format: int32 + put: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and - PERMISSION_DENIED errors. - operationId: dataproc.projects.regions.operations.setIamPolicy + Updates (replaces) workflow template. The updated template must contain + version that matches the current server version. + operationId: dataproc.projects.regions.workflowTemplates.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + $ref: '#/components/schemas/WorkflowTemplate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6409,7 +10786,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/WorkflowTemplate' parameters: - in: path name: projectsId @@ -6422,22 +10799,66 @@ paths: schema: type: string - in: path - name: operationsId + name: workflowTemplatesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:getIamPolicy: + delete: + description: Deletes a workflow template. It does not cancel in-progress workflows. + operationId: dataproc.projects.regions.workflowTemplates.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: regionsId + required: true + schema: + type: string + - in: path + name: workflowTemplatesId + required: true + schema: + type: string + - in: query + name: version + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:instantiate: parameters: *ref_1 post: description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: dataproc.projects.regions.operations.getIamPolicy + 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. + operationId: dataproc.projects.regions.workflowTemplates.instantiate requestBody: content: application/json: schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + $ref: '#/components/schemas/InstantiateWorkflowTemplateRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6449,7 +10870,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -6462,25 +10883,32 @@ paths: schema: type: string - in: path - name: operationsId + name: workflowTemplatesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:testIamPermissions: + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates:instantiateInline: parameters: *ref_1 post: description: >- - 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. - operationId: dataproc.projects.regions.operations.testIamPermissions + 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. + operationId: dataproc.projects.regions.workflowTemplates.instantiateInline requestBody: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + $ref: '#/components/schemas/WorkflowTemplate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6492,7 +10920,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -6504,21 +10932,23 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: requestId schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies: + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy: parameters: *ref_1 post: - description: Creates new autoscaling policy. - operationId: dataproc.projects.regions.autoscalingPolicies.create + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and + PERMISSION_DENIED errors. + operationId: dataproc.projects.regions.workflowTemplates.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6530,7 +10960,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -6542,9 +10972,23 @@ paths: required: true schema: type: string - get: - description: Lists autoscaling policies in the project. - operationId: dataproc.projects.regions.autoscalingPolicies.list + - in: path + name: workflowTemplatesId + required: true + schema: + type: string + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: dataproc.projects.regions.workflowTemplates.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6556,7 +11000,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListAutoscalingPoliciesResponse' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -6568,27 +11012,26 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: workflowTemplatesId + required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}: + /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:testIamPermissions: parameters: *ref_1 - put: + post: description: >- - Updates (replaces) autoscaling policy.Disabled check for update_mask, - because all updates will be full replacements. - operationId: dataproc.projects.regions.autoscalingPolicies.update + 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. + operationId: dataproc.projects.regions.workflowTemplates.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6600,7 +11043,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -6613,13 +11056,17 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: workflowTemplatesId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations: + parameters: *ref_1 get: - description: Retrieves autoscaling policy. - operationId: dataproc.projects.regions.autoscalingPolicies.get + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns UNIMPLEMENTED. + operationId: dataproc.projects.locations.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6631,7 +11078,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: '#/components/schemas/ListOperationsResponse' parameters: - in: path name: projectsId @@ -6639,20 +11086,31 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - - in: path - name: autoscalingPoliciesId - required: true + - in: query + name: filter schema: type: string - delete: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + parameters: *ref_1 + get: description: >- - Deletes an autoscaling policy. It is an error to delete an autoscaling - policy that is in use by one or more clusters. - operationId: dataproc.projects.regions.autoscalingPolicies.delete + 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. + operationId: dataproc.projects.locations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6664,7 +11122,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -6672,28 +11130,22 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: autoscalingPoliciesId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy: - parameters: *ref_1 - post: + delete: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and - PERMISSION_DENIED errors. - operationId: dataproc.projects.regions.autoscalingPolicies.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + 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. + operationId: dataproc.projects.locations.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6705,7 +11157,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -6713,27 +11165,29 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: autoscalingPoliciesId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: parameters: *ref_1 post: description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: dataproc.projects.regions.autoscalingPolicies.getIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + 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. + operationId: dataproc.projects.locations.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6745,7 +11199,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -6753,30 +11207,25 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: autoscalingPoliciesId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}:analyze: parameters: *ref_1 post: - description: >- - 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. - operationId: dataproc.projects.regions.autoscalingPolicies.testIamPermissions + description: Analyze a Batch for possible recommendations and insights. + operationId: dataproc.projects.locations.batches.analyze requestBody: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + $ref: '#/components/schemas/AnalyzeBatchRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6788,7 +11237,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -6796,28 +11245,25 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: autoscalingPoliciesId + name: batchesId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/clusters: + /v1/projects/{projectsId}/locations/{locationsId}/batches: parameters: *ref_1 post: - description: >- - 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). - operationId: dataproc.projects.regions.clusters.create + description: Creates a batch workload that executes asynchronously. + operationId: dataproc.projects.locations.batches.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/Cluster' + $ref: '#/components/schemas/Batch' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6832,26 +11278,26 @@ paths: $ref: '#/components/schemas/Operation' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: query - name: requestId + name: batchId schema: type: string - in: query - name: actionOnFailedPrimaryWorkers + name: requestId schema: type: string get: - description: Lists all regions/{region}/clusters in a project alphabetically. - operationId: dataproc.projects.regions.clusters.list + description: Lists batch workloads. + operationId: dataproc.projects.locations.batches.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6863,22 +11309,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListClustersResponse' + $ref: '#/components/schemas/ListBatchesResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: @@ -6888,20 +11330,19 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}: + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}: parameters: *ref_1 - patch: - description: >- - 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. - operationId: dataproc.projects.regions.clusters.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Cluster' + get: + description: Gets the batch workload resource representation. + operationId: dataproc.projects.locations.batches.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6913,43 +11354,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Batch' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - - in: query - name: gracefulDecommissionTimeout - schema: - type: string - format: google-duration - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - - in: query - name: requestId - schema: - type: string delete: description: >- - 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). - operationId: dataproc.projects.regions.clusters.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. + operationId: dataproc.projects.locations.batches.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6961,39 +11388,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Empty' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - - in: query - name: clusterUuid - schema: - type: string - - in: query - name: requestId - schema: - type: string - - in: query - name: gracefulTerminationTimeout - schema: - type: string - format: google-duration - get: - description: Gets the resource representation for a cluster in a project. - operationId: dataproc.projects.regions.clusters.get + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:write: + parameters: *ref_1 + post: + description: Write wrapper objects from dataplane to spanner + operationId: dataproc.projects.locations.batches.sparkApplications.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteSparkApplicationContextRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7005,33 +11426,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Cluster' + $ref: '#/components/schemas/WriteSparkApplicationContextResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:stop: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications:search: parameters: *ref_1 - post: - description: Stops a cluster in a project. - operationId: dataproc.projects.regions.clusters.stop - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StopClusterRequest' + get: + description: >- + Obtain high level information and list of Spark Applications + corresponding to a batch + operationId: dataproc.projects.locations.batches.sparkApplications.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7043,33 +11466,63 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/SearchSparkApplicationsResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:start: + - in: query + name: applicationStatus + schema: + type: string + - in: query + name: minTime + schema: + type: string + format: google-datetime + - in: query + name: maxTime + schema: + type: string + format: google-datetime + - in: query + name: minEndTime + schema: + type: string + format: google-datetime + - in: query + name: maxEndTime + schema: + type: string + format: google-datetime + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:access: parameters: *ref_1 - post: - description: Starts a cluster in a project. - operationId: dataproc.projects.regions.clusters.start - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StartClusterRequest' + get: + description: >- + Obtain high level information corresponding to a single Spark + Application. + operationId: dataproc.projects.locations.batches.sparkApplications.access security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7081,33 +11534,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/AccessSparkApplicationResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchJobs: parameters: *ref_1 - post: - description: Repairs a cluster. - operationId: dataproc.projects.regions.clusters.repair - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RepairClusterRequest' + get: + description: Obtain list of spark jobs corresponding to a Spark Application. + operationId: dataproc.projects.locations.batches.sparkApplications.searchJobs security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7119,39 +11576,50 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/SearchSparkApplicationJobsResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: jobStatus + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessJob: parameters: *ref_1 - post: - description: >- - 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). - operationId: dataproc.projects.regions.clusters.diagnose - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DiagnoseClusterRequest' + get: + description: Obtain data corresponding to a spark job for a Spark Application. + operationId: dataproc.projects.locations.batches.sparkApplications.accessJob security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7163,36 +11631,42 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/AccessSparkApplicationJobResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: clusterName + name: batchesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:injectCredentials: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: jobId + schema: + type: string + format: int64 + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchStages: parameters: *ref_1 - post: - description: >- - 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. - operationId: dataproc.projects.regions.clusters.injectCredentials - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InjectCredentialsRequest' + get: + description: Obtain data corresponding to stages for a Spark Application. + operationId: dataproc.projects.locations.batches.sparkApplications.searchStages security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7204,7 +11678,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/SearchSparkApplicationStagesResponse' parameters: - in: path name: projectsId @@ -7212,28 +11686,50 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageStatus + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: summaryMetricsMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchStageAttempts: parameters: *ref_1 - post: + get: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and - PERMISSION_DENIED errors. - operationId: dataproc.projects.regions.clusters.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + Obtain data corresponding to a spark stage attempts for a Spark + Application. + operationId: >- + dataproc.projects.locations.batches.sparkApplications.searchStageAttempts security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7245,7 +11741,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: >- + #/components/schemas/SearchSparkApplicationStageAttemptsResponse parameters: - in: path name: projectsId @@ -7253,27 +11750,50 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId + required: true + schema: + type: string + - in: path + name: batchesId required: true schema: type: string - - in: path - name: clustersId - required: true + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: summaryMetricsMask schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:getIamPolicy: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessStageAttempt: parameters: *ref_1 - post: + get: description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: dataproc.projects.regions.clusters.getIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + Obtain data corresponding to a spark stage attempt for a Spark + Application. + operationId: dataproc.projects.locations.batches.sparkApplications.accessStageAttempt security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7285,7 +11805,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: >- + #/components/schemas/AccessSparkApplicationStageAttemptResponse parameters: - in: path name: projectsId @@ -7293,30 +11814,47 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:testIamPermissions: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + - in: query + name: summaryMetricsMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchStageAttemptTasks: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: dataproc.projects.regions.clusters.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + Obtain data corresponding to tasks for a spark stage attempt for a Spark + Application. + operationId: >- + dataproc.projects.locations.batches.sparkApplications.searchStageAttemptTasks security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7328,7 +11866,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: >- + #/components/schemas/SearchSparkApplicationStageAttemptTasksResponse parameters: - in: path name: projectsId @@ -7336,28 +11875,56 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + - in: query + name: sortRuntime + schema: + type: boolean + - in: query + name: taskStatus + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchExecutors: parameters: *ref_1 - post: - description: >- - 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). - operationId: dataproc.projects.regions.clusters.nodeGroups.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NodeGroup' + get: + description: Obtain data corresponding to executors for a Spark Application. + operationId: dataproc.projects.locations.batches.sparkApplications.searchExecutors security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7369,7 +11936,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/SearchSparkApplicationExecutorsResponse' parameters: - in: path name: projectsId @@ -7377,40 +11944,43 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId + required: true + schema: + type: string + - in: path + name: sparkApplicationsId required: true schema: type: string - in: query - name: nodeGroupId + name: parent schema: type: string - in: query - name: requestId + name: executorStatus schema: type: string - in: query - name: parentOperationId + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}:resize: + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchExecutorStageSummary: parameters: *ref_1 - post: - description: >- - 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). - operationId: dataproc.projects.regions.clusters.nodeGroups.resize - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ResizeNodeGroupRequest' + get: + description: Obtain executor summary with respect to a spark stage attempt. + operationId: >- + dataproc.projects.locations.batches.sparkApplications.searchExecutorStageSummary security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7422,7 +11992,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: >- + #/components/schemas/SearchSparkApplicationExecutorStageSummaryResponse parameters: - in: path name: projectsId @@ -7430,30 +12001,48 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId required: true schema: type: string - in: path - name: nodeGroupsId + name: sparkApplicationsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}:repair: + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchSqlQueries: parameters: *ref_1 - post: - description: Repair nodes in a node group. - operationId: dataproc.projects.regions.clusters.nodeGroups.repair - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RepairNodeGroupRequest' + get: + description: Obtain data corresponding to SQL Queries for a Spark Application. + operationId: dataproc.projects.locations.batches.sparkApplications.searchSqlQueries security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7465,7 +12054,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/SearchSparkApplicationSqlQueriesResponse' parameters: - in: path name: projectsId @@ -7473,25 +12062,48 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId required: true schema: type: string - in: path - name: nodeGroupsId + name: sparkApplicationsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}: + - in: query + name: parent + schema: + type: string + - in: query + name: details + schema: + type: boolean + - in: query + name: planDescription + schema: + type: boolean + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessSqlQuery: parameters: *ref_1 get: - description: Gets the resource representation for a node group in a cluster. - operationId: dataproc.projects.regions.clusters.nodeGroups.get + description: >- + Obtain data corresponding to a particular SQL Query for a Spark + Application. + operationId: dataproc.projects.locations.batches.sparkApplications.accessSqlQuery security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7503,7 +12115,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NodeGroup' + $ref: '#/components/schemas/AccessSparkApplicationSqlQueryResponse' parameters: - in: path name: projectsId @@ -7511,30 +12123,44 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: clustersId + name: batchesId required: true schema: type: string - in: path - name: nodeGroupsId + name: sparkApplicationsId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/jobs:submit: + - in: query + name: parent + schema: + type: string + - in: query + name: executionId + schema: + type: string + format: int64 + - in: query + name: details + schema: + type: boolean + - in: query + name: planDescription + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessSqlPlan: parameters: *ref_1 - post: - description: Submits a job to a cluster. - operationId: dataproc.projects.regions.jobs.submit - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubmitJobRequest' + get: + description: >- + Obtain Spark Plan Graph for a Spark Application SQL execution. Limits + the number of clusters returned as part of the graph to 10000. + operationId: dataproc.projects.locations.batches.sparkApplications.accessSqlPlan security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7546,56 +12172,46 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Job' + $ref: >- + #/components/schemas/AccessSparkApplicationSqlSparkPlanGraphResponse parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true - schema: - type: string - /v1/projects/{projectId}/regions/{region}/jobs:submitAsOperation: - parameters: *ref_1 - post: - description: Submits job to a cluster. - operationId: dataproc.projects.regions.jobs.submitAsOperation - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubmitJobRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: + schema: + type: string - in: path - name: projectId + name: batchesId required: true schema: type: string - in: path - name: region + name: sparkApplicationsId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/jobs/{jobId}: + - in: query + name: parent + schema: + type: string + - in: query + name: executionId + schema: + type: string + format: int64 + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessStageRddGraph: parameters: *ref_1 get: - description: Gets the resource representation for a job in a project. - operationId: dataproc.projects.regions.jobs.get + description: >- + Obtain RDD operation graph for a Spark Application Stage. Limits the + number of clusters returned as part of the graph to 10000. + operationId: >- + dataproc.projects.locations.batches.sparkApplications.accessStageRddGraph security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7607,31 +12223,44 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Job' + $ref: >- + #/components/schemas/AccessSparkApplicationStageRddOperationGraphResponse parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: jobId + name: batchesId required: true schema: type: string - patch: - description: Updates a job in a project. - operationId: dataproc.projects.regions.jobs.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Job' + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessEnvironmentInfo: + parameters: *ref_1 + get: + description: Obtain environment details for a Spark Application + operationId: >- + dataproc.projects.locations.batches.sparkApplications.accessEnvironmentInfo security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7643,33 +12272,38 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Job' + $ref: >- + #/components/schemas/AccessSparkApplicationEnvironmentInfoResponse parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: jobId + name: batchesId + required: true + schema: + type: string + - in: path + name: sparkApplicationsId required: true schema: type: string - in: query - name: updateMask + name: parent schema: type: string - format: google-fieldmask - delete: - description: >- - Deletes the job from the project. If the job is active, the delete - fails, and the response returns FAILED_PRECONDITION. - operationId: dataproc.projects.regions.jobs.delete + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeJobs: + parameters: *ref_1 + get: + description: Obtain summary of Jobs for a Spark Application + operationId: dataproc.projects.locations.batches.sparkApplications.summarizeJobs security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7681,28 +12315,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/SummarizeSparkApplicationJobsResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: jobId + name: batchesId required: true schema: type: string - /v1/projects/{projectId}/regions/{region}/jobs: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeStages: parameters: *ref_1 get: - description: Lists regions/{region}/jobs in a project. - operationId: dataproc.projects.regions.jobs.list + description: Obtain summary of Stages for a Spark Application + operationId: dataproc.projects.locations.batches.sparkApplications.summarizeStages security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7714,54 +12357,38 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListJobsResponse' + $ref: '#/components/schemas/SummarizeSparkApplicationStagesResponse' parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: clusterName + - in: path + name: batchesId + required: true schema: type: string - - in: query - name: jobStateMatcher + - in: path + name: sparkApplicationsId + required: true schema: type: string - in: query - name: filter + name: parent schema: type: string - /v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel: + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeStageAttemptTasks: parameters: *ref_1 - post: - description: >- - 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). - operationId: dataproc.projects.regions.jobs.cancel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CancelJobRequest' + get: + description: Obtain summary of Tasks for a Spark Application Stage Attempt + operationId: >- + dataproc.projects.locations.batches.sparkApplications.summarizeStageAttemptTasks security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7773,36 +12400,48 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Job' + $ref: >- + #/components/schemas/SummarizeSparkApplicationStageAttemptTasksResponse parameters: - in: path - name: projectId + name: projectsId required: true schema: type: string - in: path - name: region + name: locationsId required: true schema: type: string - in: path - name: jobId + name: batchesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:setIamPolicy: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeExecutors: parameters: *ref_1 - post: - description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and - PERMISSION_DENIED errors. - operationId: dataproc.projects.regions.jobs.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + get: + description: Obtain summary of Executor Summary for a Spark Application + operationId: dataproc.projects.locations.batches.sparkApplications.summarizeExecutors security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7814,7 +12453,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: >- + #/components/schemas/SummarizeSparkApplicationExecutorsResponse parameters: - in: path name: projectsId @@ -7822,27 +12462,34 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: jobsId + name: batchesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:getIamPolicy: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies: parameters: *ref_1 post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: dataproc.projects.regions.jobs.getIamPolicy + description: Creates new autoscaling policy. + operationId: dataproc.projects.locations.autoscalingPolicies.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + $ref: '#/components/schemas/AutoscalingPolicy' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7854,7 +12501,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/AutoscalingPolicy' parameters: - in: path name: projectsId @@ -7862,30 +12509,13 @@ paths: schema: type: string - in: path - name: regionsId - required: true - schema: - type: string - - in: path - name: jobsId + name: locationsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:testIamPermissions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: dataproc.projects.regions.jobs.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + get: + description: Lists autoscaling policies in the project. + operationId: dataproc.projects.locations.autoscalingPolicies.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7897,7 +12527,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/ListAutoscalingPoliciesResponse' parameters: - in: path name: projectsId @@ -7905,25 +12535,31 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - - in: path - name: jobsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates: + /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}: parameters: *ref_1 - post: - description: Creates new workflow template. - operationId: dataproc.projects.regions.workflowTemplates.create + put: + description: >- + Updates (replaces) autoscaling policy.Disabled check for update_mask, + because all updates will be full replacements. + operationId: dataproc.projects.locations.autoscalingPolicies.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/WorkflowTemplate' + $ref: '#/components/schemas/AutoscalingPolicy' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7935,7 +12571,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/WorkflowTemplate' + $ref: '#/components/schemas/AutoscalingPolicy' parameters: - in: path name: projectsId @@ -7943,13 +12579,18 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId + required: true + schema: + type: string + - in: path + name: autoscalingPoliciesId required: true schema: type: string get: - description: Lists workflows that match the specified filter in the request. - operationId: dataproc.projects.regions.workflowTemplates.list + description: Retrieves autoscaling policy. + operationId: dataproc.projects.locations.autoscalingPolicies.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -7961,7 +12602,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListWorkflowTemplatesResponse' + $ref: '#/components/schemas/AutoscalingPolicy' parameters: - in: path name: projectsId @@ -7969,26 +12610,20 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: autoscalingPoliciesId + required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}: - parameters: *ref_1 - get: + delete: description: >- - Retrieves the latest workflow template.Can retrieve previously - instantiated template by specifying optional version parameter. - operationId: dataproc.projects.regions.workflowTemplates.get + Deletes an autoscaling policy. It is an error to delete an autoscaling + policy that is in use by one or more clusters. + operationId: dataproc.projects.locations.autoscalingPolicies.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8000,7 +12635,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/WorkflowTemplate' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -8008,30 +12643,28 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: workflowTemplatesId + name: autoscalingPoliciesId required: true schema: type: string - - in: query - name: version - schema: - type: integer - format: int32 - put: + /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy: + parameters: *ref_1 + post: description: >- - Updates (replaces) workflow template. The updated template must contain - version that matches the current server version. - operationId: dataproc.projects.regions.workflowTemplates.update + Sets the access control policy on the specified resource. Replaces any + existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and + PERMISSION_DENIED errors. + operationId: dataproc.projects.locations.autoscalingPolicies.setIamPolicy requestBody: content: application/json: schema: - $ref: '#/components/schemas/WorkflowTemplate' + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8043,7 +12676,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/WorkflowTemplate' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -8051,18 +12684,27 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: workflowTemplatesId + name: autoscalingPoliciesId required: true schema: type: string - delete: - description: Deletes a workflow template. It does not cancel in-progress workflows. - operationId: dataproc.projects.regions.workflowTemplates.delete + /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: dataproc.projects.locations.autoscalingPolicies.getIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8074,7 +12716,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -8082,40 +12724,30 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: workflowTemplatesId + name: autoscalingPoliciesId required: true schema: type: string - - in: query - name: version - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:instantiate: + /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:testIamPermissions: parameters: *ref_1 post: description: >- - 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. - operationId: dataproc.projects.regions.workflowTemplates.instantiate + 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. + operationId: dataproc.projects.locations.autoscalingPolicies.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/InstantiateWorkflowTemplateRequest' + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8127,7 +12759,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -8135,37 +12767,25 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: workflowTemplatesId + name: autoscalingPoliciesId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates:instantiateInline: + /v1/projects/{projectsId}/locations/{locationsId}/sessions: parameters: *ref_1 post: - description: >- - 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. - operationId: dataproc.projects.regions.workflowTemplates.instantiateInline + description: Create an interactive session asynchronously. + operationId: dataproc.projects.locations.sessions.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/WorkflowTemplate' + $ref: '#/components/schemas/Session' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8185,27 +12805,21 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string + - in: query + name: sessionId + schema: + type: string - in: query name: requestId schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy: - parameters: *ref_1 - post: - description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and - PERMISSION_DENIED errors. - operationId: dataproc.projects.regions.workflowTemplates.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + get: + description: Lists interactive sessions. + operationId: dataproc.projects.locations.sessions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8217,7 +12831,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/ListSessionsResponse' parameters: - in: path name: projectsId @@ -8225,27 +12839,28 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - - in: path - name: workflowTemplatesId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:getIamPolicy: + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}: parameters: *ref_1 - post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: dataproc.projects.regions.workflowTemplates.getIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + get: + description: Gets the resource representation for an interactive session. + operationId: dataproc.projects.locations.sessions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8257,7 +12872,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: '#/components/schemas/Session' parameters: - in: path name: projectsId @@ -8265,30 +12880,20 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: workflowTemplatesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:testIamPermissions: - parameters: *ref_1 - post: + delete: description: >- - 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. - operationId: dataproc.projects.regions.workflowTemplates.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + Deletes the interactive session resource. If the session is not in + terminal state, it is terminated, and then deleted. + operationId: dataproc.projects.locations.sessions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8300,7 +12905,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -8308,22 +12913,29 @@ paths: schema: type: string - in: path - name: regionsId + name: locationsId required: true schema: type: string - in: path - name: workflowTemplatesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations: + - in: query + name: requestId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}:terminate: parameters: *ref_1 - get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns UNIMPLEMENTED. - operationId: dataproc.projects.locations.operations.list + post: + description: Terminates the interactive session. + operationId: dataproc.projects.locations.sessions.terminate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TerminateSessionRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8335,7 +12947,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListOperationsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: projectsId @@ -8347,27 +12959,21 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: sessionsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:write: parameters: *ref_1 - get: - description: >- - 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. - operationId: dataproc.projects.locations.operations.get + post: + description: Write wrapper objects from dataplane to spanner + operationId: dataproc.projects.locations.sessions.sparkApplications.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteSessionSparkApplicationContextRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8379,7 +12985,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: >- + #/components/schemas/WriteSessionSparkApplicationContextResponse parameters: - in: path name: projectsId @@ -8392,17 +12999,22 @@ paths: schema: type: string - in: path - name: operationsId + name: sessionsId required: true schema: type: string - delete: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications:search: + parameters: *ref_1 + get: description: >- - 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. - operationId: dataproc.projects.locations.operations.delete + Obtain high level information and list of Spark Applications + corresponding to a batch + operationId: dataproc.projects.locations.sessions.sparkApplications.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8414,7 +13026,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/SearchSessionSparkApplicationsResponse' parameters: - in: path name: projectsId @@ -8427,24 +13039,50 @@ paths: schema: type: string - in: path - name: operationsId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + - in: query + name: applicationStatus + schema: + type: string + - in: query + name: minTime + schema: + type: string + format: google-datetime + - in: query + name: maxTime + schema: + type: string + format: google-datetime + - in: query + name: minEndTime + schema: + type: string + format: google-datetime + - in: query + name: maxEndTime + schema: + type: string + format: google-datetime + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:access: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: dataproc.projects.locations.operations.cancel + Obtain high level information corresponding to a single Spark + Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.access security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8456,7 +13094,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/AccessSessionSparkApplicationResponse' parameters: - in: path name: projectsId @@ -8469,20 +13107,24 @@ paths: schema: type: string - in: path - name: operationsId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}:analyze: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchJobs: parameters: *ref_1 - post: - description: Analyze a Batch for possible recommendations and insights. - operationId: dataproc.projects.locations.batches.analyze - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AnalyzeBatchRequest' + get: + description: Obtain list of spark jobs corresponding to a Spark Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.searchJobs security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8494,7 +13136,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/SearchSessionSparkApplicationJobsResponse' parameters: - in: path name: projectsId @@ -8507,20 +13149,37 @@ paths: schema: type: string - in: path - name: batchesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/batches: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: jobStatus + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessJob: parameters: *ref_1 - post: - description: Creates a batch workload that executes asynchronously. - operationId: dataproc.projects.locations.batches.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Batch' + get: + description: Obtain data corresponding to a spark job for a Spark Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.accessJob security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8532,7 +13191,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/AccessSessionSparkApplicationJobResponse' parameters: - in: path name: projectsId @@ -8544,17 +13203,30 @@ paths: required: true schema: type: string + - in: path + name: sessionsId + required: true + schema: + type: string + - in: path + name: sparkApplicationsId + required: true + schema: + type: string - in: query - name: batchId + name: parent schema: type: string - in: query - name: requestId + name: jobId schema: type: string + format: int64 + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchStages: + parameters: *ref_1 get: - description: Lists batch workloads. - operationId: dataproc.projects.locations.batches.list + description: Obtain data corresponding to stages for a Spark Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.searchStages security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8566,7 +13238,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListBatchesResponse' + $ref: >- + #/components/schemas/SearchSessionSparkApplicationStagesResponse parameters: - in: path name: projectsId @@ -8578,6 +13251,24 @@ paths: required: true schema: type: string + - in: path + name: sessionsId + required: true + schema: + type: string + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageStatus + schema: + type: string - in: query name: pageSize schema: @@ -8588,18 +13279,18 @@ paths: schema: type: string - in: query - name: filter - schema: - type: string - - in: query - name: orderBy + name: summaryMetricsMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchStageAttempts: parameters: *ref_1 get: - description: Gets the batch workload resource representation. - operationId: dataproc.projects.locations.batches.get + description: >- + Obtain data corresponding to a spark stage attempts for a Spark + Application. + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.searchStageAttempts security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8611,7 +13302,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Batch' + $ref: >- + #/components/schemas/SearchSessionSparkApplicationStageAttemptsResponse parameters: - in: path name: projectsId @@ -8624,16 +13316,46 @@ paths: schema: type: string - in: path - name: batchesId + name: sessionsId required: true schema: type: string - delete: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: summaryMetricsMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessStageAttempt: + parameters: *ref_1 + get: description: >- - 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. - operationId: dataproc.projects.locations.batches.delete + Obtain data corresponding to a spark stage attempt for a Spark + Application. + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.accessStageAttempt security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8645,7 +13367,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: >- + #/components/schemas/AccessSessionSparkApplicationStageAttemptResponse parameters: - in: path name: projectsId @@ -8658,20 +13381,42 @@ paths: schema: type: string - in: path - name: batchesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + - in: query + name: summaryMetricsMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchStageAttemptTasks: parameters: *ref_1 - post: - description: Creates new autoscaling policy. - operationId: dataproc.projects.locations.autoscalingPolicies.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AutoscalingPolicy' + get: + description: >- + Obtain data corresponding to tasks for a spark stage attempt for a Spark + Application. + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.searchStageAttemptTasks security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8683,7 +13428,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: >- + #/components/schemas/SearchSessionSparkApplicationStageAttemptTasksResponse parameters: - in: path name: projectsId @@ -8695,32 +13441,38 @@ paths: required: true schema: type: string - get: - description: Lists autoscaling policies in the project. - operationId: dataproc.projects.locations.autoscalingPolicies.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ListAutoscalingPoliciesResponse' - parameters: - in: path - name: projectsId + name: sessionsId required: true schema: type: string - in: path - name: locationsId + name: sparkApplicationsId required: true schema: type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + - in: query + name: sortRuntime + schema: + type: boolean + - in: query + name: taskStatus + schema: + type: string - in: query name: pageSize schema: @@ -8729,19 +13481,12 @@ paths: - in: query name: pageToken schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}: - parameters: *ref_1 - put: - description: >- - Updates (replaces) autoscaling policy.Disabled check for update_mask, - because all updates will be full replacements. - operationId: dataproc.projects.locations.autoscalingPolicies.update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AutoscalingPolicy' + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchExecutors: + parameters: *ref_1 + get: + description: Obtain data corresponding to executors for a Spark Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.searchExecutors security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8753,7 +13498,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: >- + #/components/schemas/SearchSessionSparkApplicationExecutorsResponse parameters: - in: path name: projectsId @@ -8766,13 +13512,38 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: sessionsId + required: true + schema: + type: string + - in: path + name: sparkApplicationsId required: true schema: type: string + - in: query + name: parent + schema: + type: string + - in: query + name: executorStatus + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchExecutorStageSummary: + parameters: *ref_1 get: - description: Retrieves autoscaling policy. - operationId: dataproc.projects.locations.autoscalingPolicies.get + description: Obtain executor summary with respect to a spark stage attempt. + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.searchExecutorStageSummary security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8784,7 +13555,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AutoscalingPolicy' + $ref: >- + #/components/schemas/SearchSessionSparkApplicationExecutorStageSummaryResponse parameters: - in: path name: projectsId @@ -8797,15 +13569,43 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: sessionsId required: true schema: type: string - delete: - description: >- - Deletes an autoscaling policy. It is an error to delete an autoscaling - policy that is in use by one or more clusters. - operationId: dataproc.projects.locations.autoscalingPolicies.delete + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchSqlQueries: + parameters: *ref_1 + get: + description: Obtain data corresponding to SQL Queries for a Spark Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.searchSqlQueries security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8817,7 +13617,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: >- + #/components/schemas/SearchSessionSparkApplicationSqlQueriesResponse parameters: - in: path name: projectsId @@ -8830,23 +13631,43 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: details + schema: + type: boolean + - in: query + name: planDescription + schema: + type: boolean + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessSqlQuery: parameters: *ref_1 - post: + get: description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and - PERMISSION_DENIED errors. - operationId: dataproc.projects.locations.autoscalingPolicies.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' + Obtain data corresponding to a particular SQL Query for a Spark + Application. + operationId: dataproc.projects.locations.sessions.sparkApplications.accessSqlQuery security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8858,7 +13679,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: >- + #/components/schemas/AccessSessionSparkApplicationSqlQueryResponse parameters: - in: path name: projectsId @@ -8871,22 +13693,39 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: executionId + schema: + type: string + format: int64 + - in: query + name: details + schema: + type: boolean + - in: query + name: planDescription + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessSqlPlan: parameters: *ref_1 - post: + get: description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: dataproc.projects.locations.autoscalingPolicies.getIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetIamPolicyRequest' + Obtain Spark Plan Graph for a Spark Application SQL execution. Limits + the number of clusters returned as part of the graph to 10000. + operationId: dataproc.projects.locations.sessions.sparkApplications.accessSqlPlan security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8898,7 +13737,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Policy' + $ref: >- + #/components/schemas/AccessSessionSparkApplicationSqlSparkPlanGraphResponse parameters: - in: path name: projectsId @@ -8911,25 +13751,32 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:testIamPermissions: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: executionId + schema: + type: string + format: int64 + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessStageRddGraph: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: dataproc.projects.locations.autoscalingPolicies.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' + Obtain RDD operation graph for a Spark Application Stage. Limits the + number of clusters returned as part of the graph to 10000. + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.accessStageRddGraph security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8941,7 +13788,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' + $ref: >- + #/components/schemas/AccessSessionSparkApplicationStageRddOperationGraphResponse parameters: - in: path name: projectsId @@ -8954,20 +13802,30 @@ paths: schema: type: string - in: path - name: autoscalingPoliciesId + name: sessionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/sessions: + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + - in: query + name: stageId + schema: + type: string + format: int64 + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessEnvironmentInfo: parameters: *ref_1 - post: - description: Create an interactive session asynchronously. - operationId: dataproc.projects.locations.sessions.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Session' + get: + description: Obtain environment details for a Spark Application + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.accessEnvironmentInfo security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -8979,7 +13837,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: >- + #/components/schemas/AccessSessionSparkApplicationEnvironmentInfoResponse parameters: - in: path name: projectsId @@ -8991,17 +13850,25 @@ paths: required: true schema: type: string - - in: query - name: sessionId + - in: path + name: sessionsId + required: true + schema: + type: string + - in: path + name: sparkApplicationsId + required: true schema: type: string - in: query - name: requestId + name: parent schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeJobs: + parameters: *ref_1 get: - description: Lists interactive sessions. - operationId: dataproc.projects.locations.sessions.list + description: Obtain summary of Jobs for a Spark Application + operationId: dataproc.projects.locations.sessions.sparkApplications.summarizeJobs security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9013,7 +13880,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListSessionsResponse' + $ref: >- + #/components/schemas/SummarizeSessionSparkApplicationJobsResponse parameters: - in: path name: projectsId @@ -9025,24 +13893,25 @@ paths: required: true schema: type: string - - in: query - name: pageSize + - in: path + name: sessionsId + required: true schema: - type: integer - format: int32 - - in: query - name: pageToken + type: string + - in: path + name: sparkApplicationsId + required: true schema: type: string - in: query - name: filter + name: parent schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}: + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeStages: parameters: *ref_1 get: - description: Gets the resource representation for an interactive session. - operationId: dataproc.projects.locations.sessions.get + description: Obtain summary of Stages for a Spark Application + operationId: dataproc.projects.locations.sessions.sparkApplications.summarizeStages security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9054,7 +13923,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Session' + $ref: >- + #/components/schemas/SummarizeSessionSparkApplicationStagesResponse parameters: - in: path name: projectsId @@ -9071,11 +13941,21 @@ paths: required: true schema: type: string - delete: - description: >- - Deletes the interactive session resource. If the session is not in - terminal state, it is terminated, and then deleted. - operationId: dataproc.projects.locations.sessions.delete + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeStageAttemptTasks: + parameters: *ref_1 + get: + description: Obtain summary of Tasks for a Spark Application Stage Attempt + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.summarizeStageAttemptTasks security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9087,7 +13967,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: >- + #/components/schemas/SummarizeSessionSparkApplicationStageAttemptTasksResponse parameters: - in: path name: projectsId @@ -9104,20 +13985,31 @@ paths: required: true schema: type: string + - in: path + name: sparkApplicationsId + required: true + schema: + type: string - in: query - name: requestId + name: parent schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}:terminate: + - in: query + name: stageId + schema: + type: string + format: int64 + - in: query + name: stageAttemptId + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeExecutors: parameters: *ref_1 - post: - description: Terminates the interactive session. - operationId: dataproc.projects.locations.sessions.terminate - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TerminateSessionRequest' + get: + description: Obtain summary of Executor Summary for a Spark Application + operationId: >- + dataproc.projects.locations.sessions.sparkApplications.summarizeExecutors security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9129,7 +14021,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: >- + #/components/schemas/SummarizeSessionSparkApplicationExecutorsResponse parameters: - in: path name: projectsId @@ -9146,6 +14039,15 @@ paths: required: true schema: type: string + - in: path + name: sparkApplicationsId + required: true + schema: + type: string + - in: query + name: parent + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/datastore.yaml b/providers/src/googleapis.com/v00.00.00000/services/datastore.yaml index 7c0522b9..ebb1bef4 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datastore.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datastore.yaml @@ -9,8 +9,8 @@ info: Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241018' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/datastore/ servers: @@ -790,7 +790,10 @@ components: $ref: '#/components/schemas/ExplainOptions' Query: id: Query - description: A query for entities. + description: >- + A query for entities. The query stages are executed in the following + order: 1. kind 2. filter 3. projection 4. order + start_cursor + + end_cursor 5. offset 6. limit 7. find_nearest type: object properties: projection: @@ -852,6 +855,12 @@ components: be >= 0 if specified. type: integer format: int32 + findNearest: + description: >- + Optional. A potential Nearest Neighbors Search. Applies after all + other filters and ordering. Finds the closest vector embeddings to + the given query vector. + $ref: '#/components/schemas/FindNearest' Projection: id: Projection description: A representation of a property in a projection. @@ -991,6 +1000,79 @@ components: - DIRECTION_UNSPECIFIED - ASCENDING - DESCENDING + FindNearest: + id: FindNearest + description: >- + Nearest Neighbors search config. The ordering provided by FindNearest + supersedes the order_by stage. If multiple documents have the same + vector distance, the returned document order is not guaranteed to be + stable between queries. + type: object + properties: + vectorProperty: + description: >- + Required. An indexed vector property to search upon. Only documents + which contain vectors whose dimensionality match the query_vector + can be returned. + $ref: '#/components/schemas/PropertyReference' + queryVector: + description: >- + Required. The query vector that we are searching on. Must be a + vector of no more than 2048 dimensions. + $ref: '#/components/schemas/Value' + distanceMeasure: + description: Required. The Distance Measure to use, required. + type: string + enumDescriptions: + - Should not be set. + - >- + Measures the EUCLIDEAN distance between the vectors. See + [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to + learn more. The resulting distance decreases the more similar two + vectors are. + - >- + COSINE distance compares vectors based on the angle between them, + which allows you to measure similarity that isn't based on the + vectors magnitude. We recommend using DOT_PRODUCT with unit + normalized vectors instead of COSINE distance, which is + mathematically equivalent with better performance. See [Cosine + Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to + learn more about COSINE similarity and COSINE distance. The + resulting COSINE distance decreases the more similar two vectors + are. + - >- + Similar to cosine but is affected by the magnitude of the vectors. + See [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to + learn more. The resulting distance increases the more similar two + vectors are. + enum: + - DISTANCE_MEASURE_UNSPECIFIED + - EUCLIDEAN + - COSINE + - DOT_PRODUCT + limit: + description: >- + Required. The number of nearest neighbors to return. Must be a + positive integer of no more than 100. + type: integer + format: int32 + distanceResultProperty: + description: >- + Optional. Optional name of the field to output the result of the + vector distance calculation. Must conform to entity property + limitations. + type: string + distanceThreshold: + description: >- + Optional. Option to specify a threshold for which no less similar + documents will be returned. The behavior of the specified + `distance_measure` will affect the meaning of the distance + threshold. Since DOT_PRODUCT distances increase when the vectors are + more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: + WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE + distance >= distance_threshold + type: number + format: double GqlQuery: id: GqlQuery description: >- @@ -1543,6 +1625,20 @@ components: the mutation conflicts. type: string format: google-datetime + conflictResolutionStrategy: + description: >- + The strategy to use when a conflict is detected. Defaults to + `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` + must also be set. + type: string + enumDescriptions: + - Unspecified. Defaults to `SERVER_VALUE`. + - The server entity is kept. + - The whole commit request fails. + enum: + - STRATEGY_UNSPECIFIED + - SERVER_VALUE + - FAIL propertyMask: description: >- The properties to write in this mutation. None of the properties in @@ -1552,6 +1648,105 @@ components: untouched. Properties referenced in the mask but not in the entity are deleted. $ref: '#/components/schemas/PropertyMask' + propertyTransforms: + description: >- + Optional. The transforms to perform on the entity. This field can be + set only when the operation is `insert`, `update`, or `upsert`. If + present, the transforms are be applied to the entity regardless of + the property mask, in order, after the operation. + type: array + items: + $ref: '#/components/schemas/PropertyTransform' + PropertyTransform: + id: PropertyTransform + description: A transformation of an entity property. + type: object + properties: + property: + description: >- + Optional. The name of the property. Property paths (a list of + property names separated by dots (`.`)) may be used to refer to + properties inside entity values. For example `foo.bar` means the + property `bar` inside the entity property `foo`. If a property name + contains a dot `.` or a backlslash `\`, then that name must be + escaped. + type: string + setToServerValue: + description: Sets the property to the given server value. + type: string + enumDescriptions: + - Unspecified. This value must not be used. + - >- + The time at which the server processed the request, with + millisecond precision. If used on multiple properties (same or + different entities) in a transaction, all the properties will get + the same server timestamp. + enum: + - SERVER_VALUE_UNSPECIFIED + - REQUEST_TIME + increment: + description: >- + Adds the given value to the property's current value. This must be + an integer or a double value. If the property is not an integer or + double, or if the property does not yet exist, the transformation + will set the property to the given value. If either of the given + value or the current property value are doubles, both values will be + interpreted as doubles. Double arithmetic and representation of + double values follows IEEE 754 semantics. If there is + positive/negative integer overflow, the property is resolved to the + largest magnitude positive/negative integer. + $ref: '#/components/schemas/Value' + maximum: + description: >- + Sets the property to the maximum of its current value and the given + value. This must be an integer or a double value. If the property is + not an integer or double, or if the property does not yet exist, the + transformation will set the property to the given value. If a + maximum operation is applied where the property and the input value + are of mixed types (that is - one is an integer and one is a double) + the property takes on the type of the larger operand. If the + operands are equivalent (e.g. 3 and 3.0), the property does not + change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored + value and zero input value is always the stored value. The maximum + of any numeric value x and NaN is NaN. + $ref: '#/components/schemas/Value' + minimum: + description: >- + Sets the property to the minimum of its current value and the given + value. This must be an integer or a double value. If the property is + not an integer or double, or if the property does not yet exist, the + transformation will set the property to the input value. If a + minimum operation is applied where the property and the input value + are of mixed types (that is - one is an integer and one is a double) + the property takes on the type of the smaller operand. If the + operands are equivalent (e.g. 3 and 3.0), the property does not + change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored + value and zero input value is always the stored value. The minimum + of any numeric value x and NaN is NaN. + $ref: '#/components/schemas/Value' + appendMissingElements: + description: >- + Appends the given elements in order if they are not already present + in the current property value. If the property is not an array, or + if the property does not yet exist, it is first set to the empty + array. Equivalent numbers of different types (e.g. 3L and 3.0) are + considered equal when checking if a value is missing. NaN is equal + to NaN, and the null value is equal to the null value. If the input + contains multiple equivalent values, only the first will be + considered. The corresponding transform result will be the null + value. + $ref: '#/components/schemas/ArrayValue' + removeAllFromArray: + description: >- + Removes all of the given elements from the array in the property. If + the property is not an array, or if the property does not yet exist, + it is set to the empty array. Equivalent numbers of different types + (e.g. 3L and 3.0) are considered equal when deciding whether an + element should be removed. NaN is equal to NaN, and the null value + is equal to the null value. This will remove all equivalent values + if there are duplicates. The corresponding transform result will be + the null value. + $ref: '#/components/schemas/ArrayValue' CommitResponse: id: CommitResponse description: The response for Datastore.Commit. @@ -1615,6 +1810,13 @@ components: Whether a conflict was detected for this mutation. Always false when a conflict detection strategy field is not set in the mutation. type: boolean + transformResults: + description: >- + The results of applying each PropertyTransform, in the same order of + the request. + type: array + items: + $ref: '#/components/schemas/Value' RollbackRequest: id: RollbackRequest description: The request for Datastore.Rollback. diff --git a/providers/src/googleapis.com/v00.00.00000/services/datastream.yaml b/providers/src/googleapis.com/v00.00.00000/services/datastream.yaml index afe86b49..142469cc 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/datastream.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/datastream.yaml @@ -7,8 +7,8 @@ info: title: Datastream API description: '' version: v1 - x-discovery-doc-revision: '20240826' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/datastream/ servers: @@ -223,7 +223,7 @@ components: $ref: '#/components/schemas/PrivateConnectivity' OracleProfile: id: OracleProfile - description: Oracle database profile. + description: 'Oracle database profile. Next ID: 10.' type: object properties: hostname: @@ -237,7 +237,9 @@ components: description: Required. Username for the Oracle connection. type: string password: - description: Required. Password for the Oracle connection. + description: >- + Optional. Password for the Oracle connection. Mutually exclusive + with the `secret_manager_stored_password` field. type: string databaseService: description: Required. Database for the Oracle connection. @@ -250,6 +252,15 @@ components: oracleSslConfig: description: Optional. SSL configuration for the Oracle connection. $ref: '#/components/schemas/OracleSslConfig' + oracleAsmConfig: + description: Optional. Configuration for Oracle ASM connection. + $ref: '#/components/schemas/OracleAsmConfig' + secretManagerStoredPassword: + description: >- + Optional. A reference to a Secret Manager resource name storing the + Oracle connection password. Mutually exclusive with the `password` + field. + type: string OracleSslConfig: id: OracleSslConfig description: Oracle SSL configuration information. @@ -266,6 +277,35 @@ components: for this Connection-Profile. readOnly: true type: boolean + OracleAsmConfig: + id: OracleAsmConfig + description: Configuration for Oracle Automatic Storage Management (ASM) connection. + type: object + properties: + hostname: + description: Required. Hostname for the Oracle ASM connection. + type: string + port: + description: Required. Port for the Oracle ASM connection. + type: integer + format: int32 + username: + description: Required. Username for the Oracle ASM connection. + type: string + password: + description: Required. Password for the Oracle ASM connection. + type: string + asmService: + description: Required. ASM service name for the Oracle ASM connection. + type: string + connectionAttributes: + description: Optional. Connection string attributes + type: object + additionalProperties: + type: string + oracleSslConfig: + description: Optional. SSL configuration for the Oracle connection. + $ref: '#/components/schemas/OracleSslConfig' GcsProfile: id: GcsProfile description: Cloud Storage bucket profile. @@ -279,7 +319,7 @@ components: type: string MysqlProfile: id: MysqlProfile - description: MySQL database profile. + description: 'MySQL database profile. Next ID: 7.' type: object properties: hostname: @@ -293,7 +333,9 @@ components: description: Required. Username for the MySQL connection. type: string password: - description: Required. Input only. Password for the MySQL connection. + description: >- + Optional. Input only. Password for the MySQL connection. Mutually + exclusive with the `secret_manager_stored_password` field. type: string sslConfig: description: SSL configuration for the MySQL connection. @@ -354,14 +396,16 @@ components: description: Required. Username for the PostgreSQL connection. type: string password: - description: Required. Password for the PostgreSQL connection. + description: >- + Optional. Password for the PostgreSQL connection. Mutually exclusive + with the `secret_manager_stored_password` field. type: string database: description: Required. Database for the PostgreSQL connection. type: string SqlServerProfile: id: SqlServerProfile - description: SQLServer database profile + description: 'SQLServer database profile. Next ID: 8.' type: object properties: hostname: @@ -375,7 +419,9 @@ components: description: Required. Username for the SQLServer connection. type: string password: - description: Required. Password for the SQLServer connection. + description: >- + Optional. Password for the SQLServer connection. Mutually exclusive + with the `secret_manager_stored_password` field. type: string database: description: Required. Database for the SQLServer connection. @@ -927,6 +973,12 @@ components: streamLargeObjects: description: Stream large object values. $ref: '#/components/schemas/StreamLargeObjects' + logMiner: + description: Use LogMiner. + $ref: '#/components/schemas/LogMiner' + binaryLogParser: + description: Use Binary Log Parser. + $ref: '#/components/schemas/BinaryLogParser' DropLargeObjects: id: DropLargeObjects description: Configuration to drop large object values. @@ -937,6 +989,38 @@ components: description: Configuration to stream large object values. type: object properties: {} + LogMiner: + id: LogMiner + description: Configuration to use LogMiner CDC method. + type: object + properties: {} + BinaryLogParser: + id: BinaryLogParser + description: Configuration to use Binary Log Parser CDC technique. + type: object + properties: + oracleAsmLogFileAccess: + description: Use Oracle ASM. + $ref: '#/components/schemas/OracleAsmLogFileAccess' + logFileDirectories: + description: Use Oracle directories. + $ref: '#/components/schemas/LogFileDirectories' + OracleAsmLogFileAccess: + id: OracleAsmLogFileAccess + description: Configuration to use Oracle ASM to access the log files. + type: object + properties: {} + LogFileDirectories: + id: LogFileDirectories + description: Configuration to specify the Oracle directories to access the log files. + type: object + properties: + onlineLogDirectory: + description: Required. Oracle directory for online logs. + type: string + archivedLogDirectory: + description: Required. Oracle directory for archived logs. + type: string MysqlSourceConfig: id: MysqlSourceConfig description: MySQL source configuration @@ -962,6 +1046,22 @@ components: will be used. type: integer format: int32 + binaryLogPosition: + description: Use Binary log position based replication. + $ref: '#/components/schemas/BinaryLogPosition' + gtid: + description: Use GTID based replication. + $ref: '#/components/schemas/Gtid' + BinaryLogPosition: + id: BinaryLogPosition + description: Use Binary log position based replication. + type: object + properties: {} + Gtid: + id: Gtid + description: Use GTID based replication. + type: object + properties: {} PostgresqlSourceConfig: id: PostgresqlSourceConfig description: PostgreSQL data source configuration @@ -1246,6 +1346,9 @@ components: Optional. The CDC strategy of the stream. If not set, the system's default value will be used. $ref: '#/components/schemas/CdcStrategy' + force: + description: Optional. Update the stream without validating it. + type: boolean CdcStrategy: id: CdcStrategy description: The strategy that the stream uses for CDC replication. diff --git a/providers/src/googleapis.com/v00.00.00000/services/deploymentmanager.yaml b/providers/src/googleapis.com/v00.00.00000/services/deploymentmanager.yaml index 55de3962..131fe8e1 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/deploymentmanager.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/deploymentmanager.yaml @@ -10,8 +10,8 @@ info: configuring, deploying, and viewing Google Cloud services and APIs via templates which specify deployments of Cloud resources. version: v2 - x-discovery-doc-revision: '20240404' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241031' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/deployment-manager servers: @@ -176,7 +176,7 @@ components: description: >- [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the - persistent disk that the snapshot was created from. + disk that the snapshot was created from. type: string targetId: description: >- @@ -257,6 +257,38 @@ components: message: description: '[Output Only] An optional, human-readable error message.' type: string + arguments: + description: >- + [Output Only] Optional error details WARNING: DO NOT MAKE + VISIBLE This is for internal use-only (like + componentization) (thus the visibility "none") and in case + of public exposure it is strongly recommended to follow + pattern of: https://aip.dev/193 and expose as details + field. + type: array + items: + type: string + debugInfo: + $ref: '#/components/schemas/DebugInfo' + errorDetails: + description: >- + [Output Only] An optional list of messages that contain + the error details. There is a set of defined message types + to use for providing details.The syntax depends on the + error code. For example, QuotaExceededInfo will have + details when the error code is QUOTA_EXCEEDED. + type: array + items: + type: object + properties: + errorInfo: + $ref: '#/components/schemas/ErrorInfo' + quotaInfo: + $ref: '#/components/schemas/QuotaExceededInfo' + help: + $ref: '#/components/schemas/Help' + localizedMessage: + $ref: '#/components/schemas/LocalizedMessage' warnings: description: >- [Output Only] If warning messages are generated during processing of @@ -312,6 +344,14 @@ components: Warning that value of a field has been overridden. Deprecated unused field. - Warning that a resource is in use. + - Warning that network endpoint was not detached. + - >- + Current page contains less results than requested but a next + page token exists. + - >- + Warning that SSL policy resource in the response does not + contain information about the list of enabled features. + - Warning that a resource is not found. - A resource depends on a missing type - Warning that is present in an external api call - When a resource schema validation is ignored. @@ -339,6 +379,20 @@ components: Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter. + - >- + Quota information is not available to client requests (e.g: + regions.list). + - >- + Indicates that a VM is using global DNS. Can also be used to + indicate that a resource has attributes that could result in + the creation of a VM that uses global DNS. + - >- + Reserved entries for quickly adding new warnings without + breaking dependent clients. + - '' + - '' + - '' + - '' enumDeprecated: - false - false @@ -368,6 +422,17 @@ components: - false - false - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false enum: - DEPRECATED_RESOURCE_USED - NO_RESULTS_ON_PAGE @@ -386,6 +451,10 @@ components: - CLEANUP_FAILED - FIELD_VALUE_OVERRIDEN - RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING + - NETWORK_ENDPOINT_NOT_DETACHED + - PAGE_MISSING_RESULTS + - SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED + - RESOURCE_NOT_FOUND_WARNING - MISSING_TYPE_DEPENDENCY - EXTERNAL_API_WARNING - SCHEMA_VALIDATION_IGNORED @@ -397,6 +466,13 @@ components: - NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE - INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB - LIST_OVERHEAD_QUOTA_EXCEED + - QUOTA_INFO_UNAVAILABLE + - RESOURCE_USES_GLOBAL_DNS + - RESERVED_ENTRY_134 + - RESERVED_ENTRY_135 + - RESERVED_ENTRY_136 + - RESERVED_ENTRY_139 + - RESERVED_ENTRY_141 message: description: >- [Output Only] A human-readable description of the warning @@ -443,6 +519,11 @@ components: selfLink: description: '[Output Only] Server-defined URL for the resource.' type: string + selfLinkWithId: + description: >- + [Output Only] Server-defined URL for this resource with the resource + id. + type: string region: description: >- [Output Only] The URL of the region where the operation resides. @@ -466,6 +547,149 @@ components: $ref: '#/components/schemas/SetCommonInstanceMetadataOperationMetadata' instancesBulkInsertOperationMetadata: $ref: '#/components/schemas/InstancesBulkInsertOperationMetadata' + DebugInfo: + id: DebugInfo + description: Describes additional debugging info. + type: object + properties: + stackEntries: + description: The stack trace entries indicating where the error occurred. + type: array + items: + type: string + detail: + description: Additional debugging information provided by the server. + type: string + ErrorInfo: + id: ErrorInfo + description: >- + Describes the cause of the error with structured details. Example of an + error when contacting the "pubsub.googleapis.com" API when it is not + enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" + "metadata": { "resource": "projects/123", "service": + "pubsub.googleapis.com" } } This response indicates that the + pubsub.googleapis.com API is not enabled. Example of an error that is + returned when attempting to create a Spanner instance in a region that + is out of stock: { "reason": "STOCKOUT" "domain": + "spanner.googleapis.com", "metadata": { "availableRegions": + "us-central1,us-east2" } } + type: object + properties: + reason: + description: >- + The reason of the error. This is a constant value that identifies + the proximate cause of the error. Error reasons are unique within a + particular domain of errors. This should be at most 63 characters + and match a regular expression of `A-Z+[A-Z0-9]`, which represents + UPPER_SNAKE_CASE. + type: string + domain: + description: >- + The logical grouping to which the "reason" belongs. The error domain + is typically the registered service name of the tool or product that + generates the error. Example: "pubsub.googleapis.com". If the error + is generated by some common infrastructure, the error domain must be + a globally unique value that identifies the infrastructure. For + Google API infrastructure, the error domain is "googleapis.com". + type: string + metadata: + description: >- + Additional structured details about this error. Keys must match + /a-z+/ but should ideally be lowerCamelCase. Also they must be + limited to 64 characters in length. When identifying the current + value of an exceeded limit, the units should be contained in the + key, not the value. For example, rather than {"instanceLimit": + "100/request"}, should be returned as, {"instanceLimitPerRequest": + "100"}, if the client exceeds the number of instances that can be + created in a single (batch) request. + type: object + additionalProperties: + type: string + QuotaExceededInfo: + id: QuotaExceededInfo + description: Additional details for quota exceeded error for resource quota. + type: object + properties: + metricName: + description: The Compute Engine quota metric name. + type: string + limitName: + description: The name of the quota limit. + type: string + dimensions: + description: The map holding related quota dimensions. + type: object + additionalProperties: + type: string + limit: + description: >- + Current effective quota limit. The limit's unit depends on the quota + type or metric. + type: number + format: double + futureLimit: + description: >- + Future quota limit being rolled out. The limit's unit depends on the + quota type or metric. + type: number + format: double + rolloutStatus: + description: Rollout status of the future quota limit. + type: string + enumDescriptions: + - >- + ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The + default value. + - >- + IN_PROGRESS - A rollout is in process which will change the limit + value to future limit. + enum: + - ROLLOUT_STATUS_UNSPECIFIED + - IN_PROGRESS + Help: + id: Help + description: >- + Provides links to documentation or for performing an out of band action. + For example, if a quota check failed with an error indicating the + calling project hasn't enabled the accessed service, this can contain a + URL pointing directly to the right place in the developer console to + flip the bit. + type: object + properties: + links: + description: >- + URL(s) pointing to additional information on handling the current + error. + type: array + items: + $ref: '#/components/schemas/HelpLink' + HelpLink: + id: HelpLink + description: Describes a URL link. + type: object + properties: + description: + description: Describes what the link offers. + type: string + url: + description: The URL of the link. + type: string + LocalizedMessage: + id: LocalizedMessage + description: >- + Provides a localized error message that is safe to return to the user + which can be attached to an RPC error. + type: object + properties: + locale: + description: >- + The locale used following the specification defined at + https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", + "fr-CH", "es-MX" + type: string + message: + description: The localized error message in the above locale. + type: string SetCommonInstanceMetadataOperationMetadata: id: SetCommonInstanceMetadataOperationMetadata type: object @@ -1021,6 +1245,9 @@ components: in general a valid policy but certain services (like Projects) might reject them. $ref: '#/components/schemas/Policy' + updateMask: + type: string + format: google-fieldmask bindings: description: >- Flatten Policy to create a backward compatible wire-format. @@ -1231,6 +1458,14 @@ components: Warning that value of a field has been overridden. Deprecated unused field. - Warning that a resource is in use. + - Warning that network endpoint was not detached. + - >- + Current page contains less results than requested but a next + page token exists. + - >- + Warning that SSL policy resource in the response does not + contain information about the list of enabled features. + - Warning that a resource is not found. - A resource depends on a missing type - Warning that is present in an external api call - When a resource schema validation is ignored. @@ -1258,6 +1493,20 @@ components: Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter. + - >- + Quota information is not available to client requests (e.g: + regions.list). + - >- + Indicates that a VM is using global DNS. Can also be used to + indicate that a resource has attributes that could result in + the creation of a VM that uses global DNS. + - >- + Reserved entries for quickly adding new warnings without + breaking dependent clients. + - '' + - '' + - '' + - '' enumDeprecated: - false - false @@ -1287,6 +1536,17 @@ components: - false - false - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false enum: - DEPRECATED_RESOURCE_USED - NO_RESULTS_ON_PAGE @@ -1305,6 +1565,10 @@ components: - CLEANUP_FAILED - FIELD_VALUE_OVERRIDEN - RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING + - NETWORK_ENDPOINT_NOT_DETACHED + - PAGE_MISSING_RESULTS + - SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED + - RESOURCE_NOT_FOUND_WARNING - MISSING_TYPE_DEPENDENCY - EXTERNAL_API_WARNING - SCHEMA_VALIDATION_IGNORED @@ -1316,6 +1580,13 @@ components: - NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE - INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB - LIST_OVERHEAD_QUOTA_EXCEED + - QUOTA_INFO_UNAVAILABLE + - RESOURCE_USES_GLOBAL_DNS + - RESERVED_ENTRY_134 + - RESERVED_ENTRY_135 + - RESERVED_ENTRY_136 + - RESERVED_ENTRY_139 + - RESERVED_ENTRY_141 message: description: >- [Output Only] A human-readable description of the warning @@ -1389,6 +1660,38 @@ components: message: description: '[Output Only] An optional, human-readable error message.' type: string + arguments: + description: >- + [Output Only] Optional error details WARNING: DO NOT MAKE + VISIBLE This is for internal use-only (like + componentization) (thus the visibility "none") and in case + of public exposure it is strongly recommended to follow + pattern of: https://aip.dev/193 and expose as details + field. + type: array + items: + type: string + debugInfo: + $ref: '#/components/schemas/DebugInfo' + errorDetails: + description: >- + [Output Only] An optional list of messages that contain + the error details. There is a set of defined message types + to use for providing details.The syntax depends on the + error code. For example, QuotaExceededInfo will have + details when the error code is QUOTA_EXCEEDED. + type: array + items: + type: object + properties: + errorInfo: + $ref: '#/components/schemas/ErrorInfo' + quotaInfo: + $ref: '#/components/schemas/QuotaExceededInfo' + help: + $ref: '#/components/schemas/Help' + localizedMessage: + $ref: '#/components/schemas/LocalizedMessage' warnings: description: >- Output only. If warning messages are generated during processing of @@ -1444,6 +1747,14 @@ components: Warning that value of a field has been overridden. Deprecated unused field. - Warning that a resource is in use. + - Warning that network endpoint was not detached. + - >- + Current page contains less results than requested but a next + page token exists. + - >- + Warning that SSL policy resource in the response does not + contain information about the list of enabled features. + - Warning that a resource is not found. - A resource depends on a missing type - Warning that is present in an external api call - When a resource schema validation is ignored. @@ -1471,6 +1782,20 @@ components: Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter. + - >- + Quota information is not available to client requests (e.g: + regions.list). + - >- + Indicates that a VM is using global DNS. Can also be used to + indicate that a resource has attributes that could result in + the creation of a VM that uses global DNS. + - >- + Reserved entries for quickly adding new warnings without + breaking dependent clients. + - '' + - '' + - '' + - '' enumDeprecated: - false - false @@ -1500,6 +1825,17 @@ components: - false - false - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false enum: - DEPRECATED_RESOURCE_USED - NO_RESULTS_ON_PAGE @@ -1518,6 +1854,10 @@ components: - CLEANUP_FAILED - FIELD_VALUE_OVERRIDEN - RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING + - NETWORK_ENDPOINT_NOT_DETACHED + - PAGE_MISSING_RESULTS + - SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED + - RESOURCE_NOT_FOUND_WARNING - MISSING_TYPE_DEPENDENCY - EXTERNAL_API_WARNING - SCHEMA_VALIDATION_IGNORED @@ -1529,6 +1869,13 @@ components: - NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE - INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB - LIST_OVERHEAD_QUOTA_EXCEED + - QUOTA_INFO_UNAVAILABLE + - RESOURCE_USES_GLOBAL_DNS + - RESERVED_ENTRY_134 + - RESERVED_ENTRY_135 + - RESERVED_ENTRY_136 + - RESERVED_ENTRY_139 + - RESERVED_ENTRY_141 message: description: >- [Output Only] A human-readable description of the warning @@ -2013,6 +2360,10 @@ paths: name: createPolicy schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean get: description: Lists all deployments for a given project. operationId: deploymentmanager.deployments.list @@ -2114,6 +2465,10 @@ paths: name: preview schema: type: boolean + - in: query + name: header.bypassBillingFilter + schema: + type: boolean patch: description: >- Patches a deployment and all of the resources described by the @@ -2163,6 +2518,10 @@ paths: name: preview schema: type: boolean + - in: query + name: header.bypassBillingFilter + schema: + type: boolean delete: description: Deletes a deployment and all of the resources in the deployment. operationId: deploymentmanager.deployments.delete @@ -2197,6 +2556,10 @@ paths: name: deletePolicy schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean get: description: Gets information about a specific deployment. operationId: deploymentmanager.deployments.get @@ -2235,6 +2598,10 @@ paths: required: true schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean /deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview: parameters: *ref_1 post: @@ -2352,6 +2719,10 @@ paths: schema: type: integer format: int32 + - in: query + name: header.bypassBillingFilter + schema: + type: boolean /deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy: parameters: *ref_1 post: @@ -2428,6 +2799,10 @@ paths: required: true schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean /deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}: parameters: *ref_1 get: @@ -2473,6 +2848,10 @@ paths: required: true schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean /deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests: parameters: *ref_1 get: @@ -2570,6 +2949,10 @@ paths: required: true schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean /deploymentmanager/v2/projects/{project}/global/operations: parameters: *ref_1 get: @@ -2667,6 +3050,10 @@ paths: required: true schema: type: string + - in: query + name: header.bypassBillingFilter + schema: + type: boolean /deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources: parameters: *ref_1 get: diff --git a/providers/src/googleapis.com/v00.00.00000/services/developerconnect.yaml b/providers/src/googleapis.com/v00.00.00000/services/developerconnect.yaml index d4c837e6..7dad9b58 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/developerconnect.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/developerconnect.yaml @@ -7,8 +7,8 @@ info: title: Developer Connect API description: Connect third-party source code management to Google version: v1 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: http://cloud.google.com/developer-connect/docs/overview servers: @@ -171,6 +171,15 @@ components: githubConfig: description: Configuration for connections to github.com. $ref: '#/components/schemas/GitHubConfig' + githubEnterpriseConfig: + description: Configuration for connections to an instance of GitHub Enterprise. + $ref: '#/components/schemas/GitHubEnterpriseConfig' + gitlabConfig: + description: Configuration for connections to gitlab.com. + $ref: '#/components/schemas/GitLabConfig' + gitlabEnterpriseConfig: + description: Configuration for connections to an instance of GitLab Enterprise. + $ref: '#/components/schemas/GitLabEnterpriseConfig' name: description: >- Identifier. The resource name of the connection, in the format @@ -229,6 +238,11 @@ components: GitRepositoryLink. readOnly: true type: string + cryptoKeyConfig: + description: >- + Optional. The crypto key configuration. This field is used by the + Customer-Managed Encryption Keys (CMEK) feature. + $ref: '#/components/schemas/CryptoKeyConfig' GitHubConfig: id: GitHubConfig description: Configuration for connections to github.com. @@ -281,6 +295,164 @@ components: description: Output only. The username associated with this token. readOnly: true type: string + GitHubEnterpriseConfig: + id: GitHubEnterpriseConfig + description: Configuration for connections to an instance of GitHub Enterprise. + type: object + properties: + hostUri: + description: >- + Required. The URI of the GitHub Enterprise host this connection is + for. + type: string + appId: + description: Optional. ID of the GitHub App created from the manifest. + type: string + format: int64 + appSlug: + description: Output only. The URL-friendly name of the GitHub App. + readOnly: true + type: string + privateKeySecretVersion: + description: >- + Optional. SecretManager resource containing the private key of the + GitHub App, formatted as `projects/*/secrets/*/versions/*`. + type: string + webhookSecretSecretVersion: + description: >- + Optional. SecretManager resource containing the webhook secret of + the GitHub App, formatted as `projects/*/secrets/*/versions/*`. + type: string + appInstallationId: + description: Optional. ID of the installation of the GitHub App. + type: string + format: int64 + installationUri: + description: >- + Output only. The URI to navigate to in order to manage the + installation associated with this GitHubEnterpriseConfig. + readOnly: true + type: string + serviceDirectoryConfig: + description: >- + Optional. Configuration for using Service Directory to privately + connect to a GitHub Enterprise server. This should only be set if + the GitHub Enterprise server is hosted on-premises and not reachable + by public internet. If this field is left empty, calls to the GitHub + Enterprise server will be made over the public internet. + $ref: '#/components/schemas/ServiceDirectoryConfig' + serverVersion: + description: Output only. GitHub Enterprise version installed at the host_uri. + readOnly: true + type: string + sslCaCertificate: + description: Optional. SSL certificate to use for requests to GitHub Enterprise. + type: string + ServiceDirectoryConfig: + id: ServiceDirectoryConfig + description: >- + ServiceDirectoryConfig represents Service Directory configuration for a + connection. + type: object + properties: + service: + description: >- + Required. The Service Directory service name. Format: + projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. + type: string + GitLabConfig: + id: GitLabConfig + description: Configuration for connections to gitlab.com. + type: object + properties: + webhookSecretSecretVersion: + description: >- + Required. Immutable. SecretManager resource containing the webhook + secret of a GitLab project, formatted as + `projects/*/secrets/*/versions/*`. This is used to validate + webhooks. + type: string + readAuthorizerCredential: + description: >- + Required. A GitLab personal access token with the minimum `read_api` + scope access and a minimum role of `reporter`. The GitLab Projects + visible to this Personal Access Token will control which Projects + Developer Connect has access to. + $ref: '#/components/schemas/UserCredential' + authorizerCredential: + description: >- + Required. A GitLab personal access token with the minimum `api` + scope access and a minimum role of `maintainer`. The GitLab Projects + visible to this Personal Access Token will control which Projects + Developer Connect has access to. + $ref: '#/components/schemas/UserCredential' + UserCredential: + id: UserCredential + description: >- + Represents a personal access token that authorized the Connection, and + associated metadata. + type: object + properties: + userTokenSecretVersion: + description: >- + Required. A SecretManager resource containing the user token that + authorizes the Developer Connect connection. Format: + `projects/*/secrets/*/versions/*`. + type: string + username: + description: Output only. The username associated with this token. + readOnly: true + type: string + GitLabEnterpriseConfig: + id: GitLabEnterpriseConfig + description: Configuration for connections to an instance of GitLab Enterprise. + type: object + properties: + hostUri: + description: >- + Required. The URI of the GitLab Enterprise host this connection is + for. + type: string + webhookSecretSecretVersion: + description: >- + Required. Immutable. SecretManager resource containing the webhook + secret of a GitLab project, formatted as + `projects/*/secrets/*/versions/*`. This is used to validate + webhooks. + type: string + readAuthorizerCredential: + description: >- + Required. A GitLab personal access token with the minimum `read_api` + scope access and a minimum role of `reporter`. The GitLab Projects + visible to this Personal Access Token will control which Projects + Developer Connect has access to. + $ref: '#/components/schemas/UserCredential' + authorizerCredential: + description: >- + Required. A GitLab personal access token with the minimum `api` + scope access and a minimum role of `maintainer`. The GitLab Projects + visible to this Personal Access Token will control which Projects + Developer Connect has access to. + $ref: '#/components/schemas/UserCredential' + serviceDirectoryConfig: + description: >- + Optional. Configuration for using Service Directory to privately + connect to a GitLab Enterprise instance. This should only be set if + the GitLab Enterprise server is hosted on-premises and not reachable + by public internet. If this field is left empty, calls to the GitLab + Enterprise server will be made over the public internet. + $ref: '#/components/schemas/ServiceDirectoryConfig' + sslCaCertificate: + description: >- + Optional. SSL Certificate Authority certificate to use for requests + to GitLab Enterprise instance. + type: string + serverVersion: + description: >- + Output only. Version of the GitLab Enterprise server running on the + `host_uri`. + readOnly: true + type: string InstallationState: id: InstallationState description: >- @@ -322,6 +494,19 @@ components: installation is already complete. readOnly: true type: string + CryptoKeyConfig: + id: CryptoKeyConfig + description: >- + The crypto key configuration. This field is used by the Customer-managed + encryption keys (CMEK) feature. + type: object + properties: + keyReference: + description: >- + Required. The name of the key which is used to encrypt/decrypt + customer data. For key in Cloud KMS, the key should be in the format + of `projects/*/locations/*/keyRings/*/cryptoKeys/*`. + type: string GitRepositoryLink: id: GitRepositoryLink description: Message describing the GitRepositoryLink object @@ -378,6 +563,10 @@ components: GitRepositoryLink. readOnly: true type: string + webhookId: + description: Output only. External ID of the webhook created for the repository. + readOnly: true + type: string ListGitRepositoryLinksResponse: id: ListGitRepositoryLinksResponse description: Message for response to listing GitRepositoryLinks @@ -505,6 +694,76 @@ components: nextPageToken: description: A token identifying a page of results the server should return. type: string + ProcessGitHubEnterpriseWebhookRequest: + id: ProcessGitHubEnterpriseWebhookRequest + description: >- + RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC + method. + type: object + properties: + body: + description: Required. HTTP request body. + $ref: '#/components/schemas/HttpBody' + HttpBody: + id: HttpBody + description: >- + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. + type: object + properties: + contentType: + description: >- + The HTTP Content-Type header value specifying the content type of + the body. + type: string + data: + description: The HTTP request/response body as raw binary. + type: string + format: byte + extensions: + description: >- + Application specific response metadata. Must be set in the first + response for streaming APIs. + type: array + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + ProcessGitLabEnterpriseWebhookRequest: + id: ProcessGitLabEnterpriseWebhookRequest + description: >- + RPC request object accepted by the ProcessGitLabEnterpriseWebhook RPC + method. + type: object + properties: + body: + description: Required. HTTP request body. + $ref: '#/components/schemas/HttpBody' + ProcessGitLabWebhookRequest: + id: ProcessGitLabWebhookRequest + description: RPC request object accepted by the ProcessGitLabWebhook RPC method. + type: object + properties: + body: + description: Required. HTTP request body. + $ref: '#/components/schemas/HttpBody' ListLocationsResponse: id: ListLocationsResponse description: The response message for Locations.ListLocations. @@ -786,6 +1045,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + processgithub_enterprise_webhook: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections:processGitHubEnterpriseWebhook/post + response: + mediaType: application/json + openAPIDocKey: '200' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/connections/methods/get' @@ -871,6 +1137,20 @@ components: response: mediaType: application/json openAPIDocKey: '200' + processgitlab_enterprise_webhook: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1gitRepositoryLinks~1{gitRepositoryLinksId}:processGitLabEnterpriseWebhook/post + response: + mediaType: application/json + openAPIDocKey: '200' + processgitlab_webhook: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1gitRepositoryLinks~1{gitRepositoryLinksId}:processGitLabWebhook/post + response: + mediaType: application/json + openAPIDocKey: '200' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/git_repository_links/methods/get' @@ -1479,6 +1759,38 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/connections:processGitHubEnterpriseWebhook: + parameters: *ref_1 + post: + description: >- + ProcessGitHubEnterpriseWebhook is called by the external GitHub + Enterprise instances for notifying events. + operationId: >- + developerconnect.projects.locations.connections.processGitHubEnterpriseWebhook + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProcessGitHubEnterpriseWebhookRequest' + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks: parameters: *ref_1 post: @@ -1810,3 +2122,85 @@ paths: name: pageToken schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabEnterpriseWebhook: + parameters: *ref_1 + post: + description: >- + ProcessGitLabEnterpriseWebhook is called by the external GitLab + Enterprise instances for notifying events. + operationId: >- + developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabEnterpriseWebhook + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProcessGitLabEnterpriseWebhookRequest' + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: connectionsId + required: true + schema: + type: string + - in: path + name: gitRepositoryLinksId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabWebhook: + parameters: *ref_1 + post: + description: ProcessGitLabWebhook is called by the GitLab.com for notifying events. + operationId: >- + developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabWebhook + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProcessGitLabWebhookRequest' + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: connectionsId + required: true + schema: + type: string + - in: path + name: gitRepositoryLinksId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/dialogflow.yaml b/providers/src/googleapis.com/v00.00.00000/services/dialogflow.yaml index 0a4e6890..18b2b5c9 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dialogflow.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dialogflow.yaml @@ -9,8 +9,8 @@ info: Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices). version: v3 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dialogflow/ servers: @@ -3408,6 +3408,9 @@ components: RTP header is replaced with a single byte containing the block length. Only Speex wideband is supported. `sample_rate_hertz` must be 16000. + - >- + 8-bit samples that compand 13-bit audio samples using G.711 + PCMU/a-law. enum: - AUDIO_ENCODING_UNSPECIFIED - AUDIO_ENCODING_LINEAR_16 @@ -3417,6 +3420,7 @@ components: - AUDIO_ENCODING_AMR_WB - AUDIO_ENCODING_OGG_OPUS - AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE + - AUDIO_ENCODING_ALAW sampleRateHertz: description: >- Sample rate (in Hertz) of the audio content sent in the query. Refer @@ -3572,6 +3576,9 @@ components: - >- 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + - >- + 8-bit samples that compand 13-bit audio samples using G.711 + PCMU/a-law. enum: - OUTPUT_AUDIO_ENCODING_UNSPECIFIED - OUTPUT_AUDIO_ENCODING_LINEAR_16 @@ -3579,6 +3586,7 @@ components: - OUTPUT_AUDIO_ENCODING_MP3_64_KBPS - OUTPUT_AUDIO_ENCODING_OGG_OPUS - OUTPUT_AUDIO_ENCODING_MULAW + - OUTPUT_AUDIO_ENCODING_ALAW sampleRateHertz: description: >- Optional. The synthesis sample rate (in hertz) for this audio. If @@ -3795,8 +3803,8 @@ components: description: >- Optional. Data store connection feature output signals. Filled only when data stores are involved in serving the query and - DetectIntentRequest.populate data_store_connection_quality_signals - is set to true in the request. + DetectIntentRequest.populate_data_store_connection_signals is set to + true in the request. $ref: >- #/components/schemas/GoogleCloudDialogflowCxV3DataStoreConnectionSignals GoogleCloudDialogflowCxV3Match: @@ -5652,6 +5660,10 @@ components: type: array items: $ref: '#/components/schemas/GoogleCloudDialogflowCxV3GeneratorPlaceholder' + modelParameter: + description: Parameters passed to the LLM to configure its behavior. + $ref: >- + #/components/schemas/GoogleCloudDialogflowCxV3GeneratorModelParameter GoogleCloudDialogflowCxV3Phrase: id: GoogleCloudDialogflowCxV3Phrase description: Text input which can be used for prompt or banned phrases. @@ -5673,6 +5685,39 @@ components: name: description: Custom placeholder value in the prompt text. type: string + GoogleCloudDialogflowCxV3GeneratorModelParameter: + id: GoogleCloudDialogflowCxV3GeneratorModelParameter + description: >- + Parameters to be passed to the LLM. If not set, default values will be + used. + type: object + properties: + temperature: + description: >- + The temperature used for sampling. Temperature sampling occurs after + both topP and topK have been applied. Valid range: [0.0, 1.0] Low + temperature = less random. High temperature = more random. + type: number + format: float + maxDecodeSteps: + description: The maximum number of tokens to generate. + type: integer + format: int32 + topP: + description: >- + If set, only the tokens comprising the top top_p probability mass + are considered. If both top_p and top_k are set, top_p will be used + for further refining candidates selected with top_k. Valid range: + (0.0, 1.0]. Small topP = less random. Large topP = more random. + type: number + format: float + topK: + description: >- + If set, the sampling process in each step is limited to the top_k + tokens with highest probabilities. Valid range: [1, 40] or 1000+. + Small topK = less random. Large topK = more random. + type: integer + format: int32 GoogleCloudDialogflowCxV3ListVersionsResponse: id: GoogleCloudDialogflowCxV3ListVersionsResponse description: The response message for Versions.ListVersions. @@ -7679,6 +7724,9 @@ components: RTP header is replaced with a single byte containing the block length. Only Speex wideband is supported. `sample_rate_hertz` must be 16000. + - >- + 8-bit samples that compand 13-bit audio samples using G.711 + PCMU/a-law. enum: - AUDIO_ENCODING_UNSPECIFIED - AUDIO_ENCODING_LINEAR_16 @@ -7688,6 +7736,7 @@ components: - AUDIO_ENCODING_AMR_WB - AUDIO_ENCODING_OGG_OPUS - AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE + - AUDIO_ENCODING_ALAW sampleRateHertz: description: >- Sample rate (in Hertz) of the audio content sent in the query. Refer @@ -10817,6 +10866,12 @@ components: title: description: Title of the document. type: string + metadata: + description: Metadata of the document. + type: object + additionalProperties: + type: any + description: Properties of the object. GoogleCloudDialogflowV2SuggestFaqAnswersResponse: id: GoogleCloudDialogflowV2SuggestFaqAnswersResponse description: The request message for Participants.SuggestFaqAnswers. @@ -11558,6 +11613,18 @@ components: smartReplyModelMetadata: description: Metadata for smart reply models. $ref: '#/components/schemas/GoogleCloudDialogflowV2SmartReplyModelMetadata' + satisfiesPzs: + description: >- + Output only. A read only boolean field reflecting Zone Separation + status of the model. + readOnly: true + type: boolean + satisfiesPzi: + description: >- + Output only. A read only boolean field reflecting Zone Isolation + status of the model. + readOnly: true + type: boolean GoogleCloudDialogflowV2InputDataset: id: GoogleCloudDialogflowV2InputDataset description: InputDataset used to create model or do evaluation. NextID:5 @@ -13765,6 +13832,12 @@ components: title: description: Title of the document. type: string + metadata: + description: Metadata of the document. + type: object + additionalProperties: + type: any + description: Properties of the object. GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse: id: GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse description: The request message for Participants.SuggestFaqAnswers. diff --git a/providers/src/googleapis.com/v00.00.00000/services/discoveryengine.yaml b/providers/src/googleapis.com/v00.00.00000/services/discoveryengine.yaml index 4b5d15ac..c742fa7d 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/discoveryengine.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/discoveryengine.yaml @@ -7,8 +7,8 @@ info: title: Discovery Engine API description: Discovery Engine API. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/generative-ai-app-builder/docs/ servers: @@ -617,8 +617,8 @@ components: properties: queryTerms: description: >- - Search only A list of terms to match the query on. Maximum of 10 - query terms. + Search only A list of terms to match the query on. Cannot be set + when Condition.query_regex is set. Maximum of 10 query terms. type: array items: $ref: >- @@ -631,6 +631,12 @@ components: items: $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1ConditionTimeRange + queryRegex: + description: >- + Optional. Query regex to match the whole search query. Cannot be set + when Condition.query_terms is set. This is currently supporting + promotion use case. + type: string GoogleCloudDiscoveryengineV1ConditionQueryTerm: id: GoogleCloudDiscoveryengineV1ConditionQueryTerm description: Matcher for search request query @@ -717,6 +723,12 @@ components: `INVALID_ARGUMENT` is returned. type: integer format: int32 + oneBoxPageSize: + description: >- + The maximum number of results to return for OneBox. This applies to + each OneBox type individually. Default number is 10. + type: integer + format: int32 dataStoreSpecs: description: >- Specs defining dataStores to filter on in a search call and @@ -918,6 +930,13 @@ components: Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. type: string + filter: + description: >- + Optional. Filter specification to filter documents in the data store + specified by data_store field. For more information on filtering, + see + [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + type: string GoogleCloudDiscoveryengineV1UserInfo: id: GoogleCloudDiscoveryengineV1UserInfo description: Information of an end user. @@ -2409,6 +2428,10 @@ components: description: Related questions specification. $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec + groundingSpec: + description: Optional. Grounding specification. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec answerGenerationSpec: description: Answer generation specification. $ref: >- @@ -2488,6 +2511,18 @@ components: enable: description: Enable related questions feature if true. type: boolean + GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec: + id: GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec + description: Grounding specification. + type: object + properties: + includeGroundingSupports: + description: >- + Optional. Specifies whether to include grounding_supports in the + answer. The default value is `false`. When this field is set to + `true`, returned answer will have `grounding_score` and will contain + GroundingSupports for each claim. + type: boolean GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec: id: GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec description: Answer generation specification. @@ -2693,7 +2728,10 @@ components: description: Title. type: string documentContexts: - description: List of document contexts. + description: >- + List of document contexts. The content will be used for Answer + Generation. This is supposed to be the main content of the document + that can be long and comprehensive. type: array items: $ref: >- @@ -2705,7 +2743,11 @@ components: $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment extractiveAnswers: - description: List of extractive answers. + description: >- + Deprecated: This field is deprecated and will have no effect on the + Answer generation. Please use document_contexts and + extractive_segments fields. List of extractive answers. + deprecated: true type: array items: $ref: >- @@ -2720,7 +2762,7 @@ components: description: Page identifier. type: string content: - description: Document content. + description: Document content to be used for answer generation. type: string GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment: id: >- @@ -2728,6 +2770,8 @@ components: description: >- Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments) + Answer generation will only use it if document_contexts is empty. This + is supposed to be shorter snippets. type: object properties: pageIdentifier: @@ -2937,6 +2981,9 @@ components: - >- The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent. + - >- + The low-grounded answer case. Google skips the answer if a well + grounded answer was unable to be generated. enum: - ANSWER_SKIPPED_REASON_UNSPECIFIED - ADVERSARIAL_QUERY_IGNORED @@ -2947,6 +2994,7 @@ components: - JAIL_BREAKING_QUERY_IGNORED - CUSTOMER_POLICY_VIOLATION - NON_ANSWER_SEEKING_QUERY_IGNORED_V2 + - LOW_GROUNDED_ANSWER createTime: description: Output only. Answer creation timestamp. readOnly: true @@ -3211,7 +3259,7 @@ components: description: >- Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in - search result. . + search result. type: object additionalProperties: type: any @@ -3436,6 +3484,27 @@ components: readOnly: true type: string format: google-datetime + advancedSiteSearchConfig: + description: Optional. Configuration for advanced site search. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig + kmsKeyName: + description: >- + Input only. The KMS key to be used to protect this DataStore at + creation time. Must be set for requests that need to comply with + CMEK Org Policy protections. If this field is set and processed + successfully, the DataStore will be protected by the KMS key, as + indicated in the cmek_config field. + type: string + cmekConfig: + description: Output only. CMEK-related information for the DataStore. + readOnly: true + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1CmekConfig' + billingEstimation: + description: Output only. Data size estimation for billing. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1DataStoreBillingEstimation workspaceConfig: description: >- Config to store data store type configuration for workspace data. @@ -3461,7 +3530,95 @@ components: servingConfigDataStore: description: Optional. Stores serving config at DataStore level. $ref: >- - #/components/schemas/GoogleCloudDiscoveryengineV1ServingConfigDataStore + #/components/schemas/GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore + GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig: + id: GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig + description: Configuration data for advance site search. + type: object + properties: {} + GoogleCloudDiscoveryengineV1CmekConfig: + id: GoogleCloudDiscoveryengineV1CmekConfig + description: Configurations used to enable CMEK data encryption with Cloud KMS keys. + type: object + properties: + name: + description: >- + Required. Name of the CmekConfig, of the form + `projects/{project}/locations/{location}/cmekConfig` or + `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + type: string + kmsKey: + description: >- + Kms key resource name which will be used to encrypt resources + `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + type: string + kmsKeyVersion: + description: >- + Kms key version resource name which will be used to encrypt + resources `/cryptoKeyVersions/{keyVersion}`. + type: string + state: + description: Output only. State of the CmekConfig. + readOnly: true + type: string + enumDescriptions: + - The CmekConfig state is unknown. + - The CmekConfig is creating. + - The CmekConfig can be used with DataStores. + - >- + The CmekConfig is unavailable, most likely due to the KMS Key + being revoked. + - The CmekConfig is deleting. + - >- + The CmekConfig is not usable, most likely due to some internal + issue. + - The KMS key version is being rotated. + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - KEY_ISSUE + - DELETING + - UNUSABLE + - ACTIVE_ROTATING + isDefault: + description: Output only. The default CmekConfig for the Customer. + readOnly: true + type: boolean + lastRotationTimestampMicros: + description: Output only. The timestamp of the last key rotation. + readOnly: true + type: string + format: int64 + GoogleCloudDiscoveryengineV1DataStoreBillingEstimation: + id: GoogleCloudDiscoveryengineV1DataStoreBillingEstimation + description: Estimation of data size per data store. + type: object + properties: + structuredDataSize: + description: Data size for structured data in terms of bytes. + type: string + format: int64 + unstructuredDataSize: + description: Data size for unstructured data in terms of bytes. + type: string + format: int64 + websiteDataSize: + description: Data size for websites in terms of bytes. + type: string + format: int64 + structuredDataUpdateTime: + description: Last updated timestamp for structured data. + type: string + format: google-datetime + unstructuredDataUpdateTime: + description: Last updated timestamp for unstructured data. + type: string + format: google-datetime + websiteDataUpdateTime: + description: Last updated timestamp for websites. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1WorkspaceConfig: id: GoogleCloudDiscoveryengineV1WorkspaceConfig description: Config to store data store type configuration for workspace data @@ -3491,13 +3648,25 @@ components: dasherCustomerId: description: Obfuscated Dasher customer ID. type: string + superAdminServiceAccount: + description: >- + Optional. The super admin service account for the workspace that + will be used for access token generation. For now we only use it for + Native Google Drive connector data ingestion. + type: string + superAdminEmailAddress: + description: >- + Optional. The super admin email address for the workspace that will + be used for access token generation. For now we only use it for + Native Google Drive connector data ingestion. + type: string GoogleCloudDiscoveryengineV1DocumentProcessingConfig: id: GoogleCloudDiscoveryengineV1DocumentProcessingConfig description: >- - 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. + A singleton resource of DataStore. If it's empty when DataStore is + created and DataStore is set to + DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will + default to digital parser. type: object properties: name: @@ -3634,8 +3803,8 @@ components: This field must be a UTF-8 encoded string with a length limit of 1024 characters. type: string - GoogleCloudDiscoveryengineV1ServingConfigDataStore: - id: GoogleCloudDiscoveryengineV1ServingConfigDataStore + GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore: + id: GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore description: >- Stores information regarding the serving configurations at DataStore level. @@ -4232,7 +4401,7 @@ components: type: string fhirResource: description: >- - Required. Format: + Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id} type: string GoogleCloudDiscoveryengineV1Engine: @@ -4337,6 +4506,11 @@ components: commonConfig: description: Common config spec that specifies the metadata of the engine. $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1EngineCommonConfig' + disableAnalytics: + description: >- + Optional. Whether to disable analytics for searches performed on + this engine. + type: boolean GoogleCloudDiscoveryengineV1EngineChatEngineConfig: id: GoogleCloudDiscoveryengineV1EngineChatEngineConfig description: Configurations for a Chat Engine. @@ -4473,8 +4647,8 @@ components: properties: answerCandidate: description: >- - Answer candidate to check. Can have a maximum length of 1024 - characters. + Answer candidate to check. It can have a maximum length of 4096 + tokens. type: string facts: description: List of facts for the grounding check. We support up to 200 facts. @@ -4552,7 +4726,8 @@ components: are derived from the facts supplied in the request. type: array items: - $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1FactChunk' + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1CheckGroundingResponseFactChunk claims: description: >- Claim texts and citation info across all claims in the answer @@ -4561,9 +4736,9 @@ components: items: $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim - GoogleCloudDiscoveryengineV1FactChunk: - id: GoogleCloudDiscoveryengineV1FactChunk - description: Fact Chunk. + GoogleCloudDiscoveryengineV1CheckGroundingResponseFactChunk: + id: GoogleCloudDiscoveryengineV1CheckGroundingResponseFactChunk + description: Fact chunk for grounding check. type: object properties: chunkText: @@ -4571,22 +4746,10 @@ components: type: string source: description: >- - Source from which this fact chunk was retrieved. If it was retrieved - from the GroundingFacts provided in the request then this field will - contain the index of the specific fact from which this chunk was - retrieved. + Source from which this fact chunk was retrieved. For a fact chunk + retrieved from inline facts, this field will contain the index of + the specific fact from which this chunk was retrieved. type: string - index: - description: >- - The index of this chunk. Currently, only used for the streaming - mode. - type: integer - format: int32 - sourceMetadata: - description: More fine-grained information for the source reference. - type: object - additionalProperties: - type: string GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim: id: GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim description: Text and citation info for a claim in the answer candidate. @@ -4838,11 +5001,12 @@ components: a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > - Jeans Retail-related values: * `add-to-cart`: Add an item(s) to - cart, e.g. in Retail online shopping * `purchase`: Purchase an - item(s) Media-related values: * `media-play`: Start/resume watching - a video, playing a song, etc. * `media-complete`: Finished or - stopped midway through a video, song, etc. + Jeans * `add-feedback`: Add a user feedback. Retail-related values: + * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online + shopping * `purchase`: Purchase an item(s) Media-related values: * + `media-play`: Start/resume watching a video, playing a song, etc. * + `media-complete`: Finished or stopped midway through a video, song, + etc. type: string userPseudoId: description: >- @@ -5428,7 +5592,7 @@ components: - NO_IMPROVEMENT - INPUT_VALIDATION_FAILED createTime: - description: Timestamp the Model was created at. + description: 'Deprecated: Timestamp the Model was created at.' deprecated: true type: string format: google-datetime @@ -5442,6 +5606,11 @@ components: additionalProperties: type: number format: double + errorMessage: + description: >- + Currently this is only populated if the model state is + `INPUT_VALIDATION_FAILED`. + type: string GoogleCloudDiscoveryengineV1SiteSearchEngine: id: GoogleCloudDiscoveryengineV1SiteSearchEngine description: >- @@ -6578,6 +6747,24 @@ components: modelName: description: Fully qualified name of the CustomTuningModel. type: string + GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata: + id: GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata + description: >- + Metadata related to the progress of the + CmekConfigService.UpdateCmekConfig operation. This will be returned by + the google.longrunning.Operation.metadata field. + type: object + properties: + createTime: + description: Operation create time. + type: string + format: google-datetime + updateTime: + description: >- + Operation last update time. If the operation is done, this is also + the finish time. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1UpdateSchemaMetadata: id: GoogleCloudDiscoveryengineV1UpdateSchemaMetadata description: Metadata for UpdateSchema LRO. @@ -6741,6 +6928,9 @@ components: - >- The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent. + - >- + The low-grounded answer case. Google skips the answer if a well + grounded answer was unable to be generated. enum: - ANSWER_SKIPPED_REASON_UNSPECIFIED - ADVERSARIAL_QUERY_IGNORED @@ -6751,6 +6941,7 @@ components: - JAIL_BREAKING_QUERY_IGNORED - CUSTOMER_POLICY_VIOLATION - NON_ANSWER_SEEKING_QUERY_IGNORED_V2 + - LOW_GROUNDED_ANSWER createTime: description: Output only. Answer creation timestamp. readOnly: true @@ -7017,7 +7208,7 @@ components: description: >- Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in - search result. . + search result. type: object additionalProperties: type: any @@ -7253,6 +7444,60 @@ components: needs to successfully complete indexing. type: string format: int64 + GoogleCloudDiscoveryengineV1alphaCmekConfig: + id: GoogleCloudDiscoveryengineV1alphaCmekConfig + description: Configurations used to enable CMEK data encryption with Cloud KMS keys. + type: object + properties: + name: + description: >- + Required. Name of the CmekConfig, of the form + `projects/{project}/locations/{location}/cmekConfig` or + `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + type: string + kmsKey: + description: >- + Kms key resource name which will be used to encrypt resources + `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + type: string + kmsKeyVersion: + description: >- + Kms key version resource name which will be used to encrypt + resources `/cryptoKeyVersions/{keyVersion}`. + type: string + state: + description: Output only. State of the CmekConfig. + readOnly: true + type: string + enumDescriptions: + - The CmekConfig state is unknown. + - The CmekConfig is creating. + - The CmekConfig can be used with DataStores. + - >- + The CmekConfig is unavailable, most likely due to the KMS Key + being revoked. + - The CmekConfig is deleting. + - >- + The CmekConfig is not usable, most likely due to some internal + issue. + - The KMS key version is being rotated. + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - KEY_ISSUE + - DELETING + - UNUSABLE + - ACTIVE_ROTATING + isDefault: + description: Output only. The default CmekConfig for the Customer. + readOnly: true + type: boolean + lastRotationTimestampMicros: + description: Output only. The timestamp of the last key rotation. + readOnly: true + type: string + format: int64 GoogleCloudDiscoveryengineV1alphaControl: id: GoogleCloudDiscoveryengineV1alphaControl description: >- @@ -7423,8 +7668,8 @@ components: properties: queryTerms: description: >- - Search only A list of terms to match the query on. Maximum of 10 - query terms. + Search only A list of terms to match the query on. Cannot be set + when Condition.query_regex is set. Maximum of 10 query terms. type: array items: $ref: >- @@ -7437,6 +7682,12 @@ components: items: $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1alphaConditionTimeRange + queryRegex: + description: >- + Optional. Query regex to match the whole search query. Cannot be set + when Condition.query_terms is set. This is currently supporting + promotion use case. + type: string GoogleCloudDiscoveryengineV1alphaConditionQueryTerm: id: GoogleCloudDiscoveryengineV1alphaConditionQueryTerm description: Matcher for search request query @@ -7520,6 +7771,24 @@ components: the finish time. type: string format: google-datetime + GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata: + id: GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata + description: >- + Metadata related to the progress of the + SiteSearchEngineService.CreateSitemap operation. This will be returned + by the google.longrunning.Operation.metadata field. + type: object + properties: + createTime: + description: Operation create time. + type: string + format: google-datetime + updateTime: + description: >- + Operation last update time. If the operation is done, this is also + the finish time. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata: id: GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata description: >- @@ -7625,6 +7894,10 @@ components: readOnly: true type: string format: google-datetime + advancedSiteSearchConfig: + description: Optional. Configuration for advanced site search. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig languageInfo: description: Language info for DataStore. $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1alphaLanguageInfo' @@ -7632,10 +7905,27 @@ components: description: Optional. Configuration for Natural Language Query Understanding. $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig + kmsKeyName: + description: >- + Input only. The KMS key to be used to protect this DataStore at + creation time. Must be set for requests that need to comply with + CMEK Org Policy protections. If this field is set and processed + successfully, the DataStore will be protected by the KMS key, as + indicated in the cmek_config field. + type: string + cmekConfig: + description: Output only. CMEK-related information for the DataStore. + readOnly: true + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1alphaCmekConfig' idpConfig: description: Output only. Data store level identity provider config. readOnly: true $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1alphaIdpConfig' + billingEstimation: + description: Output only. Data size estimation for billing. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation aclEnabled: description: >- Immutable. Whether data in the DataStore has ACL information. If set @@ -7673,7 +7963,18 @@ components: servingConfigDataStore: description: Optional. Stores serving config at DataStore level. $ref: >- - #/components/schemas/GoogleCloudDiscoveryengineV1alphaServingConfigDataStore + #/components/schemas/GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore + GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig: + id: GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig + description: Configuration data for advance site search. + type: object + properties: + disableInitialIndex: + description: If set true, initial indexing is disabled for the DataStore. + type: boolean + disableAutomaticRefresh: + description: If set true, automatic refresh is disabled for the DataStore. + type: boolean GoogleCloudDiscoveryengineV1alphaLanguageInfo: id: GoogleCloudDiscoveryengineV1alphaLanguageInfo description: Language info for DataStore. @@ -7720,6 +8021,35 @@ components: - MODE_UNSPECIFIED - DISABLED - ENABLED + GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation: + id: GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation + description: Estimation of data size per data store. + type: object + properties: + structuredDataSize: + description: Data size for structured data in terms of bytes. + type: string + format: int64 + unstructuredDataSize: + description: Data size for unstructured data in terms of bytes. + type: string + format: int64 + websiteDataSize: + description: Data size for websites in terms of bytes. + type: string + format: int64 + structuredDataUpdateTime: + description: Last updated timestamp for structured data. + type: string + format: google-datetime + unstructuredDataUpdateTime: + description: Last updated timestamp for unstructured data. + type: string + format: google-datetime + websiteDataUpdateTime: + description: Last updated timestamp for websites. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1alphaWorkspaceConfig: id: GoogleCloudDiscoveryengineV1alphaWorkspaceConfig description: Config to store data store type configuration for workspace data @@ -7749,13 +8079,25 @@ components: dasherCustomerId: description: Obfuscated Dasher customer ID. type: string + superAdminServiceAccount: + description: >- + Optional. The super admin service account for the workspace that + will be used for access token generation. For now we only use it for + Native Google Drive connector data ingestion. + type: string + superAdminEmailAddress: + description: >- + Optional. The super admin email address for the workspace that will + be used for access token generation. For now we only use it for + Native Google Drive connector data ingestion. + type: string GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig: id: GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig description: >- - 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. + A singleton resource of DataStore. If it's empty when DataStore is + created and DataStore is set to + DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will + default to digital parser. type: object properties: name: @@ -8117,8 +8459,15 @@ components: type: array items: type: string - GoogleCloudDiscoveryengineV1alphaServingConfigDataStore: - id: GoogleCloudDiscoveryengineV1alphaServingConfigDataStore + metatagName: + description: >- + Optional. The metatag name found in the HTML page. If user defines + this field, the value of this metatag name will be used to extract + metatag. If the user does not define this field, the + FieldConfig.field_path will be used to extract metatag. + type: string + GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore: + id: GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore description: >- Stores information regarding the serving configurations at DataStore level. @@ -8180,6 +8529,24 @@ components: the finish time. type: string format: google-datetime + GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata: + id: GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata + description: >- + Metadata related to the progress of the + SiteSearchEngineService.DeleteSitemap operation. This will be returned + by the google.longrunning.Operation.metadata field. + type: object + properties: + createTime: + description: Operation create time. + type: string + format: google-datetime + updateTime: + description: >- + Operation last update time. If the operation is done, this is also + the finish time. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata: id: GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata description: >- @@ -8369,6 +8736,11 @@ components: description: Common config spec that specifies the metadata of the engine. $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1alphaEngineCommonConfig + disableAnalytics: + description: >- + Optional. Whether to disable analytics for searches performed on + this engine. + type: boolean GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig: id: GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig description: Additional config specs for a `similar-items` engine. @@ -8783,6 +9155,12 @@ components: `INVALID_ARGUMENT` is returned. type: integer format: int32 + oneBoxPageSize: + description: >- + The maximum number of results to return for OneBox. This applies to + each OneBox type individually. Default number is 10. + type: integer + format: int32 dataStoreSpecs: description: >- Specs defining dataStores to filter on in a search call and @@ -9028,6 +9406,15 @@ components: - LOW - MEDIUM - HIGH + personalizationSpec: + description: >- + The specification for personalization. Notice that if both + ServingConfig.personalization_spec and + SearchRequest.personalization_spec are set, + SearchRequest.personalization_spec overrides + ServingConfig.personalization_spec. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery: id: GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery description: Specifies the image query input. @@ -9051,6 +9438,13 @@ components: Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. type: string + filter: + description: >- + Optional. Filter specification to filter documents in the data store + specified by data_store field. For more information on filtering, + see + [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + type: string GoogleCloudDiscoveryengineV1alphaUserInfo: id: GoogleCloudDiscoveryengineV1alphaUserInfo description: Information of an end user. @@ -9819,6 +10213,26 @@ components: most 10 results for documents mode, or 50 for chunks mode. type: integer format: int32 + GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec: + id: GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec + description: The specification for personalization. + type: object + properties: + mode: + description: >- + The personalization mode of the search request. Defaults to + Mode.AUTO. + type: string + enumDescriptions: + - >- + Default value. In this case, server behavior defaults to + Mode.AUTO. + - Personalization is enabled if data quality requirements are met. + - Disable personalization. + enum: + - MODE_UNSPECIFIED + - AUTO + - DISABLED GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec: id: GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec description: Describes the specification of the query set. @@ -9907,6 +10321,45 @@ components: description: The top-10 value. type: number format: double + GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse: + id: GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse + description: Response message for SiteSearchEngineService.FetchSitemaps method. + type: object + properties: + sitemapsMetadata: + description: List of Sitemaps fetched. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata + GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata: + id: GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata + description: Contains a Sitemap and its metadata. + type: object + properties: + sitemap: + description: The Sitemap. + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1alphaSitemap' + GoogleCloudDiscoveryengineV1alphaSitemap: + id: GoogleCloudDiscoveryengineV1alphaSitemap + description: A sitemap for the SiteSearchEngine. + type: object + properties: + uri: + description: Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + type: string + name: + description: >- + Output only. The fully qualified resource name of the sitemap. + `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` + The `sitemap_id` suffix is system-generated. + readOnly: true + type: string + createTime: + description: Output only. The sitemap's creation time. + readOnly: true + type: string + format: google-datetime GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse: id: GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse description: >- @@ -10226,7 +10679,7 @@ components: - NO_IMPROVEMENT - INPUT_VALIDATION_FAILED createTime: - description: Timestamp the Model was created at. + description: 'Deprecated: Timestamp the Model was created at.' deprecated: true type: string format: google-datetime @@ -10240,6 +10693,570 @@ components: additionalProperties: type: number format: double + errorMessage: + description: >- + Currently this is only populated if the model state is + `INPUT_VALIDATION_FAILED`. + type: string + GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse: + id: GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse + description: >- + Response message for CrawlRateManagementService.ObtainCrawlRate method. + The response contains organcic or dedicated crawl rate time series data + for monitoring, depending on whether dedicated crawl rate is set. + type: object + properties: + organicCrawlRateTimeSeries: + description: >- + The historical organic crawl rate timeseries data, used for + monitoring. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries + dedicatedCrawlRateTimeSeries: + description: >- + The historical dedicated crawl rate timeseries data, used for + monitoring. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries + state: + description: Output only. The state of the response. + readOnly: true + type: string + enumDescriptions: + - The state is unspecified. + - The state is successful. + - The state is failed. + enum: + - STATE_UNSPECIFIED + - SUCCEEDED + - FAILED + error: + description: Errors from service when handling the request. + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries: + id: GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries + description: >- + The historical organic crawl rate timeseries data, used for monitoring. + Organic crawl is auto-determined by Google to crawl the user's website + when dedicate crawl is not set. Crawl rate is the QPS of crawl request + Google sends to the user's website. + type: object + properties: + googleOrganicCrawlRate: + description: >- + Google's organic crawl rate time series, which is the sum of all + googlebots' crawl rate. Please refer to + https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers + for more details about googlebots. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries + vertexAiOrganicCrawlRate: + description: >- + Vertex AI's organic crawl rate time series, which is the crawl rate + of Google-CloudVertexBot when dedicate crawl is not set. Please + refer to + https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot + for more details about Google-CloudVertexBot. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries + GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries: + id: GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries + description: The historical crawl rate timeseries data, used for monitoring. + type: object + properties: + qpsTimeSeries: + description: The QPS of the crawl rate. + $ref: '#/components/schemas/GoogleMonitoringV3TimeSeries' + GoogleMonitoringV3TimeSeries: + id: GoogleMonitoringV3TimeSeries + description: >- + A collection of data points that describes the time-varying values of a + metric. A time series is identified by a combination of a + fully-specified monitored resource and a fully-specified metric. This + type is used for both listing and creating time series. + type: object + properties: + metric: + description: >- + The associated metric. A fully-specified metric used to identify the + time series. + $ref: '#/components/schemas/GoogleApiMetric' + resource: + description: >- + The associated monitored resource. Custom metrics can use only + certain monitored resource types in their time series data. For more + information, see [Monitored resources for custom + metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources). + $ref: '#/components/schemas/GoogleApiMonitoredResource' + metadata: + description: >- + Output only. The associated monitored resource metadata. When + reading a time series, this field will include metadata labels that + are explicitly named in the reduction. When creating a time series, + this field is ignored. + $ref: '#/components/schemas/GoogleApiMonitoredResourceMetadata' + metricKind: + description: >- + 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`. + type: string + enumDescriptions: + - Do not use this default value. + - An instantaneous measurement of a value. + - The change in a value during a time interval. + - >- + A value accumulated over a time interval. Cumulative measurements + in a time series should have 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. + enum: + - METRIC_KIND_UNSPECIFIED + - GAUGE + - DELTA + - CUMULATIVE + valueType: + description: >- + 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. + type: string + enumDescriptions: + - Do not use this default value. + - >- + The value is a boolean. This value type can be used only if the + metric kind is `GAUGE`. + - The value is a signed 64-bit integer. + - The value is a double precision floating point number. + - >- + The value is a text string. This value type can be used only if + the metric kind is `GAUGE`. + - The value is a `Distribution`. + - The value is money. + enum: + - VALUE_TYPE_UNSPECIFIED + - BOOL + - INT64 + - DOUBLE + - STRING + - DISTRIBUTION + - MONEY + points: + description: >- + 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`. + type: array + items: + $ref: '#/components/schemas/GoogleMonitoringV3Point' + unit: + description: >- + 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. + type: string + description: + description: >- + 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. + type: string + GoogleApiMetric: + id: GoogleApiMetric + description: >- + A specific metric, identified by specifying values for all of the labels + of a `MetricDescriptor`. + type: object + properties: + type: + description: >- + An existing metric type, see google.api.MetricDescriptor. For + example, `custom.googleapis.com/invoice/paid/amount`. + type: string + labels: + description: >- + The set of label values that uniquely identify this metric. All + labels listed in the `MetricDescriptor` must be assigned values. + type: object + additionalProperties: + type: string + GoogleApiMonitoredResource: + id: GoogleApiMonitoredResource + description: >- + 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" + }} + type: object + properties: + type: + description: >- + 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`. Some + descriptors include the service name in the type; for example, the + type of a Datastream stream is `datastream.googleapis.com/Stream`. + type: string + labels: + description: >- + 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"`. + type: object + additionalProperties: + type: string + GoogleApiMonitoredResourceMetadata: + id: GoogleApiMonitoredResourceMetadata + description: >- + 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. + type: object + properties: + systemLabels: + description: >- + Output only. Values for predefined system metadata labels. System + labels are a kind of metadata extracted by Google, including + "machine_image", "vpc", "subnet_id", "security_group", "name", etc. + System label values can be only strings, Boolean values, or a list + of strings. For example: { "name": "my-test-instance", + "security_group": ["a", "b", "c"], "spot_instance": false } + type: object + additionalProperties: + type: any + description: Properties of the object. + userLabels: + description: Output only. A map of user-defined metadata labels. + type: object + additionalProperties: + type: string + GoogleMonitoringV3Point: + id: GoogleMonitoringV3Point + description: A single data point in a time series. + type: object + properties: + interval: + description: >- + The time interval to which the data point applies. For `GAUGE` + metrics, the start time is optional, but if it is supplied, it must + equal the end time. For `DELTA` metrics, the start and end time + should specify a non-zero interval, with subsequent points + specifying contiguous and non-overlapping intervals. For + `CUMULATIVE` metrics, the start and end time should 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. + $ref: '#/components/schemas/GoogleMonitoringV3TimeInterval' + value: + description: The value of the data point. + $ref: '#/components/schemas/GoogleMonitoringV3TypedValue' + GoogleMonitoringV3TimeInterval: + id: GoogleMonitoringV3TimeInterval + description: >- + A time interval extending just after a start time through an end time. + If the start time is the same as the end time, then the interval + represents a single point in time. + type: object + properties: + endTime: + description: Required. The end of the time interval. + type: string + format: google-datetime + startTime: + description: >- + Optional. The beginning of the time interval. The default value for + the start time is the end time. The start time must not be later + than the end time. + type: string + format: google-datetime + GoogleMonitoringV3TypedValue: + id: GoogleMonitoringV3TypedValue + description: A single strongly-typed value. + type: object + properties: + boolValue: + description: 'A Boolean value: `true` or `false`.' + type: boolean + int64Value: + description: A 64-bit integer. Its range is approximately ±9.2x1018. + type: string + format: int64 + doubleValue: + description: >- + A 64-bit double-precision floating-point number. Its magnitude is + approximately ±10±300 and it has 16 significant digits of precision. + type: number + format: double + stringValue: + description: A variable-length string value. + type: string + distributionValue: + description: A distribution value. + $ref: '#/components/schemas/GoogleApiDistribution' + GoogleApiDistribution: + id: GoogleApiDistribution + description: >- + `Distribution` contains summary statistics for a population of values. + It optionally contains a histogram representing the distribution of + those values across a set of buckets. The summary statistics are the + count, mean, sum of the squared deviation from the mean, the minimum, + and the maximum of the set of population of values. The histogram is + based on a sequence of buckets and gives a count of values that fall + into each bucket. The boundaries of the buckets are given either + explicitly or by formulas for buckets of fixed or exponentially + increasing widths. Although it is not forbidden, it is generally a bad + idea to include non-finite values (infinities or NaNs) in the population + of values, as this will render the `mean` and `sum_of_squared_deviation` + fields meaningless. + type: object + properties: + count: + description: >- + The number of values in the population. Must be non-negative. This + value must equal the sum of the values in `bucket_counts` if a + histogram is provided. + type: string + format: int64 + mean: + description: >- + The arithmetic mean of the values in the population. If `count` is + zero then this field must be zero. + type: number + format: double + sumOfSquaredDeviation: + description: >- + The sum of squared deviations from the mean of the values in the + population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) + Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd + edition describes Welford's method for accumulating this sum in one + pass. If `count` is zero then this field must be zero. + type: number + format: double + range: + description: >- + If specified, contains the range of the population values. The field + must not be present if the `count` is zero. + $ref: '#/components/schemas/GoogleApiDistributionRange' + bucketOptions: + description: >- + Defines the histogram bucket boundaries. If the distribution does + not contain a histogram, then omit this field. + $ref: '#/components/schemas/GoogleApiDistributionBucketOptions' + bucketCounts: + description: >- + The number of values in each bucket of the histogram, as described + in `bucket_options`. If the distribution does not have a histogram, + then omit this field. If there is a histogram, then the sum of the + values in `bucket_counts` must equal the value in the `count` field + of the distribution. If present, `bucket_counts` should contain N + values, where N is the number of buckets specified in + `bucket_options`. If you supply fewer than N values, the remaining + values are assumed to be 0. The order of the values in + `bucket_counts` follows the bucket numbering schemes described for + the three bucket types. The first value must be the count for the + underflow bucket (number 0). The next N-2 values are the counts for + the finite buckets (number 1 through N-2). The N'th value in + `bucket_counts` is the count for the overflow bucket (number N-1). + type: array + items: + type: string + format: int64 + exemplars: + description: Must be in increasing order of `value` field. + type: array + items: + $ref: '#/components/schemas/GoogleApiDistributionExemplar' + GoogleApiDistributionRange: + id: GoogleApiDistributionRange + description: The range of the population values. + type: object + properties: + min: + description: The minimum of the population values. + type: number + format: double + max: + description: The maximum of the population values. + type: number + format: double + GoogleApiDistributionBucketOptions: + id: GoogleApiDistributionBucketOptions + description: >- + `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. + type: object + properties: + linearBuckets: + description: The linear bucket. + $ref: '#/components/schemas/GoogleApiDistributionBucketOptionsLinear' + exponentialBuckets: + description: The exponential buckets. + $ref: '#/components/schemas/GoogleApiDistributionBucketOptionsExponential' + explicitBuckets: + description: The explicit buckets. + $ref: '#/components/schemas/GoogleApiDistributionBucketOptionsExplicit' + GoogleApiDistributionBucketOptionsLinear: + id: GoogleApiDistributionBucketOptionsLinear + description: >- + Specifies a linear sequence of buckets that all have the same width + (except overflow and underflow). Each bucket represents a constant + absolute uncertainty on the specific value in the bucket. There are + `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following + boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower + bound (1 <= i < N): offset + (width * (i - 1)). + type: object + properties: + numFiniteBuckets: + description: Must be greater than 0. + type: integer + format: int32 + width: + description: Must be greater than 0. + type: number + format: double + offset: + description: Lower bound of the first bucket. + type: number + format: double + GoogleApiDistributionBucketOptionsExponential: + id: GoogleApiDistributionBucketOptionsExponential + description: >- + Specifies an exponential sequence of buckets that have a width that is + proportional to the value of the lower bound. Each bucket represents a + constant relative uncertainty on a specific value in the bucket. There + are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following + boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). + Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + type: object + properties: + numFiniteBuckets: + description: Must be greater than 0. + type: integer + format: int32 + growthFactor: + description: Must be greater than 1. + type: number + format: double + scale: + description: Must be greater than 0. + type: number + format: double + GoogleApiDistributionBucketOptionsExplicit: + id: GoogleApiDistributionBucketOptionsExplicit + description: >- + Specifies a set of buckets with arbitrary widths. There are + `size(bounds) + 1` (= N) buckets. Bucket `i` has the following + boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < + N); bounds[i - 1] The `bounds` field must contain at least one element. + If `bounds` has only one element, then there are no finite buckets, and + that single element is the common boundary of the overflow and underflow + buckets. + type: object + properties: + bounds: + description: The values must be monotonically increasing. + type: array + items: + type: number + format: double + GoogleApiDistributionExemplar: + id: GoogleApiDistributionExemplar + description: >- + Exemplars are example points that may be used to annotate aggregated + distribution values. They are metadata that gives information about a + particular value added to a Distribution bucket, such as a trace ID that + was active when a value was added. They may contain further information, + such as a example values and timestamps, origin, etc. + type: object + properties: + value: + description: >- + Value of the exemplar point. This value determines to which bucket + the exemplar belongs. + type: number + format: double + timestamp: + description: The observation (sampling) time of the above value. + type: string + format: google-datetime + attachments: + description: >- + Contextual information about the example value. Examples are: Trace: + type.googleapis.com/google.monitoring.v3.SpanContext Literal string: + type.googleapis.com/google.protobuf.StringValue Labels dropped + during aggregation: + type.googleapis.com/google.monitoring.v3.DroppedLabels There may be + only a single attachment of any given message type in a single + exemplar, and this is enforced by the system. + type: array + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries: + id: GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries + description: >- + The historical dedicated crawl rate timeseries data, used for + monitoring. Dedicated crawl is used by Vertex AI to crawl the user's + website when dedicate crawl is set. + type: object + properties: + userTriggeredCrawlRate: + description: >- + Vertex AI's dedicated crawl rate time series of user triggered + crawl, which is the crawl rate of Google-CloudVertexBot when + dedicate crawl is set, and user triggered crawl rate is for + deterministic use cases like crawling urls or sitemaps specified by + users. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries + autoRefreshCrawlRate: + description: >- + Vertex AI's dedicated crawl rate time series of auto-refresh, which + is the crawl rate of Google-CloudVertexBot when dedicate crawl is + set, and the crawl rate is for best effort use cases like refreshing + urls periodically. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries GoogleCloudDiscoveryengineV1alphaProject: id: GoogleCloudDiscoveryengineV1alphaProject description: Metadata and configurations for a Google Cloud project in the service. @@ -10496,13 +11513,28 @@ components: type: string format: google-datetime invalidUris: + description: >- + Unique URIs in the request that have invalid format. Sample limited + to 1000. + type: array + items: + type: string + invalidUrisCount: + description: Total number of unique URIs in the request that have invalid format. + type: integer + format: int32 + urisNotMatchingTargetSites: description: >- Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, - or match a TargetSite with type EXCLUDE. + or match a TargetSite with type EXCLUDE. Sample limited to 1000. type: array items: type: string + urisNotMatchingTargetSitesCount: + description: Total number of URIs that don't match any TargetSites. + type: integer + format: int32 validUrisCount: description: >- Total number of unique URIs in the request that are not in @@ -10735,6 +11767,24 @@ components: description: Response associated with a tune operation. type: object properties: {} + GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata: + id: GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata + description: >- + Metadata related to the progress of the + CmekConfigService.UpdateCmekConfig operation. This will be returned by + the google.longrunning.Operation.metadata field. + type: object + properties: + createTime: + description: Operation create time. + type: string + format: google-datetime + updateTime: + description: >- + Operation last update time. If the operation is done, this is also + the finish time. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata: id: GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata description: Metadata for UpdateSchema LRO. @@ -11101,8 +12151,8 @@ components: properties: queryTerms: description: >- - Search only A list of terms to match the query on. Maximum of 10 - query terms. + Search only A list of terms to match the query on. Cannot be set + when Condition.query_regex is set. Maximum of 10 query terms. type: array items: $ref: >- @@ -11115,6 +12165,12 @@ components: items: $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1betaConditionTimeRange + queryRegex: + description: >- + Optional. Query regex to match the whole search query. Cannot be set + when Condition.query_terms is set. This is currently supporting + promotion use case. + type: string GoogleCloudDiscoveryengineV1betaConditionQueryTerm: id: GoogleCloudDiscoveryengineV1betaConditionQueryTerm description: Matcher for search request query @@ -11198,6 +12254,24 @@ components: the finish time. type: string format: google-datetime + GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata: + id: GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata + description: >- + Metadata related to the progress of the + SiteSearchEngineService.CreateSitemap operation. This will be returned + by the google.longrunning.Operation.metadata field. + type: object + properties: + createTime: + description: Operation create time. + type: string + format: google-datetime + updateTime: + description: >- + Operation last update time. If the operation is done, this is also + the finish time. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata: id: GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata description: >- @@ -11303,6 +12377,10 @@ components: readOnly: true type: string format: google-datetime + advancedSiteSearchConfig: + description: Optional. Configuration for advanced site search. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig languageInfo: description: Language info for DataStore. $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1betaLanguageInfo' @@ -11310,6 +12388,23 @@ components: description: Optional. Configuration for Natural Language Query Understanding. $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig + kmsKeyName: + description: >- + Input only. The KMS key to be used to protect this DataStore at + creation time. Must be set for requests that need to comply with + CMEK Org Policy protections. If this field is set and processed + successfully, the DataStore will be protected by the KMS key, as + indicated in the cmek_config field. + type: string + cmekConfig: + description: Output only. CMEK-related information for the DataStore. + readOnly: true + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1betaCmekConfig' + billingEstimation: + description: Output only. Data size estimation for billing. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation workspaceConfig: description: >- Config to store data store type configuration for workspace data. @@ -11335,7 +12430,12 @@ components: servingConfigDataStore: description: Optional. Stores serving config at DataStore level. $ref: >- - #/components/schemas/GoogleCloudDiscoveryengineV1betaServingConfigDataStore + #/components/schemas/GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore + GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig: + id: GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig + description: Configuration data for advance site search. + type: object + properties: {} GoogleCloudDiscoveryengineV1betaLanguageInfo: id: GoogleCloudDiscoveryengineV1betaLanguageInfo description: Language info for DataStore. @@ -11363,25 +12463,108 @@ components: E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``. readOnly: true type: string - GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig: - id: GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig - description: Configuration for Natural Language Query Understanding. + GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig: + id: GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig + description: Configuration for Natural Language Query Understanding. + type: object + properties: + mode: + description: >- + Mode of Natural Language Query Understanding. If this field is + unset, the behavior defaults to + NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED. + type: string + enumDescriptions: + - Default value. + - Natural Language Query Understanding is disabled. + - Natural Language Query Understanding is enabled. + enum: + - MODE_UNSPECIFIED + - DISABLED + - ENABLED + GoogleCloudDiscoveryengineV1betaCmekConfig: + id: GoogleCloudDiscoveryengineV1betaCmekConfig + description: Configurations used to enable CMEK data encryption with Cloud KMS keys. + type: object + properties: + name: + description: >- + Required. Name of the CmekConfig, of the form + `projects/{project}/locations/{location}/cmekConfig` or + `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + type: string + kmsKey: + description: >- + Kms key resource name which will be used to encrypt resources + `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + type: string + kmsKeyVersion: + description: >- + Kms key version resource name which will be used to encrypt + resources `/cryptoKeyVersions/{keyVersion}`. + type: string + state: + description: Output only. State of the CmekConfig. + readOnly: true + type: string + enumDescriptions: + - The CmekConfig state is unknown. + - The CmekConfig is creating. + - The CmekConfig can be used with DataStores. + - >- + The CmekConfig is unavailable, most likely due to the KMS Key + being revoked. + - The CmekConfig is deleting. + - >- + The CmekConfig is not usable, most likely due to some internal + issue. + - The KMS key version is being rotated. + enum: + - STATE_UNSPECIFIED + - CREATING + - ACTIVE + - KEY_ISSUE + - DELETING + - UNUSABLE + - ACTIVE_ROTATING + isDefault: + description: Output only. The default CmekConfig for the Customer. + readOnly: true + type: boolean + lastRotationTimestampMicros: + description: Output only. The timestamp of the last key rotation. + readOnly: true + type: string + format: int64 + GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation: + id: GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation + description: Estimation of data size per data store. type: object properties: - mode: - description: >- - Mode of Natural Language Query Understanding. If this field is - unset, the behavior defaults to - NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED. + structuredDataSize: + description: Data size for structured data in terms of bytes. type: string - enumDescriptions: - - Default value. - - Natural Language Query Understanding is disabled. - - Natural Language Query Understanding is enabled. - enum: - - MODE_UNSPECIFIED - - DISABLED - - ENABLED + format: int64 + unstructuredDataSize: + description: Data size for unstructured data in terms of bytes. + type: string + format: int64 + websiteDataSize: + description: Data size for websites in terms of bytes. + type: string + format: int64 + structuredDataUpdateTime: + description: Last updated timestamp for structured data. + type: string + format: google-datetime + unstructuredDataUpdateTime: + description: Last updated timestamp for unstructured data. + type: string + format: google-datetime + websiteDataUpdateTime: + description: Last updated timestamp for websites. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1betaWorkspaceConfig: id: GoogleCloudDiscoveryengineV1betaWorkspaceConfig description: Config to store data store type configuration for workspace data @@ -11411,13 +12594,25 @@ components: dasherCustomerId: description: Obfuscated Dasher customer ID. type: string + superAdminServiceAccount: + description: >- + Optional. The super admin service account for the workspace that + will be used for access token generation. For now we only use it for + Native Google Drive connector data ingestion. + type: string + superAdminEmailAddress: + description: >- + Optional. The super admin email address for the workspace that will + be used for access token generation. For now we only use it for + Native Google Drive connector data ingestion. + type: string GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig: id: GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig description: >- - 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. + A singleton resource of DataStore. If it's empty when DataStore is + created and DataStore is set to + DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will + default to digital parser. type: object properties: name: @@ -11554,8 +12749,8 @@ components: This field must be a UTF-8 encoded string with a length limit of 1024 characters. type: string - GoogleCloudDiscoveryengineV1betaServingConfigDataStore: - id: GoogleCloudDiscoveryengineV1betaServingConfigDataStore + GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore: + id: GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore description: >- Stores information regarding the serving configurations at DataStore level. @@ -11617,6 +12812,24 @@ components: the finish time. type: string format: google-datetime + GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata: + id: GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata + description: >- + Metadata related to the progress of the + SiteSearchEngineService.DeleteSitemap operation. This will be returned + by the google.longrunning.Operation.metadata field. + type: object + properties: + createTime: + description: Operation create time. + type: string + format: google-datetime + updateTime: + description: >- + Operation last update time. If the operation is done, this is also + the finish time. + type: string + format: google-datetime GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata: id: GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata description: >- @@ -11788,6 +13001,11 @@ components: description: Common config spec that specifies the metadata of the engine. $ref: >- #/components/schemas/GoogleCloudDiscoveryengineV1betaEngineCommonConfig + disableAnalytics: + description: >- + Optional. Whether to disable analytics for searches performed on + this engine. + type: boolean GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig: id: GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig description: Configurations for a Chat Engine. @@ -12045,6 +13263,12 @@ components: `INVALID_ARGUMENT` is returned. type: integer format: int32 + oneBoxPageSize: + description: >- + The maximum number of results to return for OneBox. This applies to + each OneBox type individually. Default number is 10. + type: integer + format: int32 dataStoreSpecs: description: >- Specs defining dataStores to filter on in a search call and @@ -12284,6 +13508,15 @@ components: - LOW - MEDIUM - HIGH + personalizationSpec: + description: >- + The specification for personalization. Notice that if both + ServingConfig.personalization_spec and + SearchRequest.personalization_spec are set, + SearchRequest.personalization_spec overrides + ServingConfig.personalization_spec. + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery: id: GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery description: Specifies the image query input. @@ -12307,6 +13540,13 @@ components: Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. type: string + filter: + description: >- + Optional. Filter specification to filter documents in the data store + specified by data_store field. For more information on filtering, + see + [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) + type: string GoogleCloudDiscoveryengineV1betaUserInfo: id: GoogleCloudDiscoveryengineV1betaUserInfo description: Information of an end user. @@ -13064,6 +14304,26 @@ components: most 10 results for documents mode, or 50 for chunks mode. type: integer format: int32 + GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec: + id: GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec + description: The specification for personalization. + type: object + properties: + mode: + description: >- + The personalization mode of the search request. Defaults to + Mode.AUTO. + type: string + enumDescriptions: + - >- + Default value. In this case, server behavior defaults to + Mode.AUTO. + - Personalization is enabled if data quality requirements are met. + - Disable personalization. + enum: + - MODE_UNSPECIFIED + - AUTO + - DISABLED GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec: id: GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec description: Describes the specification of the query set. @@ -13152,6 +14412,45 @@ components: description: The top-10 value. type: number format: double + GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse: + id: GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse + description: Response message for SiteSearchEngineService.FetchSitemaps method. + type: object + properties: + sitemapsMetadata: + description: List of Sitemaps fetched. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata + GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata: + id: GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata + description: Contains a Sitemap and its metadata. + type: object + properties: + sitemap: + description: The Sitemap. + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1betaSitemap' + GoogleCloudDiscoveryengineV1betaSitemap: + id: GoogleCloudDiscoveryengineV1betaSitemap + description: A sitemap for the SiteSearchEngine. + type: object + properties: + uri: + description: Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + type: string + name: + description: >- + Output only. The fully qualified resource name of the sitemap. + `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` + The `sitemap_id` suffix is system-generated. + readOnly: true + type: string + createTime: + description: Output only. The sitemap's creation time. + readOnly: true + type: string + format: google-datetime GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata: id: GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata description: >- @@ -13453,7 +14752,7 @@ components: - NO_IMPROVEMENT - INPUT_VALIDATION_FAILED createTime: - description: Timestamp the Model was created at. + description: 'Deprecated: Timestamp the Model was created at.' deprecated: true type: string format: google-datetime @@ -13467,6 +14766,11 @@ components: additionalProperties: type: number format: double + errorMessage: + description: >- + Currently this is only populated if the model state is + `INPUT_VALIDATION_FAILED`. + type: string GoogleCloudDiscoveryengineV1betaProject: id: GoogleCloudDiscoveryengineV1betaProject description: Metadata and configurations for a Google Cloud project in the service. @@ -13969,7 +15273,7 @@ components: projects_locations_identity_mapping_stores_operations_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1identity_mapping_stores~1{identity_mapping_storesId}~1operations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1identityMappingStores~1{identityMappingStoresId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' @@ -13977,7 +15281,7 @@ components: projects_locations_identity_mapping_stores_operations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1identity_mapping_stores~1{identity_mapping_storesId}~1operations~1{operationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1identityMappingStores~1{identityMappingStoresId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -14516,6 +15820,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + projects_locations_collections_data_stores_serving_configs_search_lite: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1collections~1{collectionsId}~1dataStores~1{dataStoresId}~1servingConfigs~1{servingConfigsId}:searchLite/post + response: + mediaType: application/json + openAPIDocKey: '200' projects_locations_collections_data_stores_serving_configs_answer: operation: $ref: >- @@ -14537,6 +15848,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + projects_locations_collections_engines_serving_configs_search_lite: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1collections~1{collectionsId}~1engines~1{enginesId}~1servingConfigs~1{servingConfigsId}:searchLite/post + response: + mediaType: application/json + openAPIDocKey: '200' projects_locations_collections_engines_serving_configs_answer: operation: $ref: >- @@ -14558,6 +15876,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + projects_locations_data_stores_serving_configs_search_lite: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1dataStores~1{dataStoresId}~1servingConfigs~1{servingConfigsId}:searchLite/post + response: + mediaType: application/json + openAPIDocKey: '200' projects_locations_data_stores_serving_configs_answer: operation: $ref: >- @@ -16085,6 +17410,14 @@ paths: required: true schema: type: string + - in: query + name: cmekConfigName + schema: + type: string + - in: query + name: disableCmek + schema: + type: boolean - in: query name: dataStoreId schema: @@ -17029,6 +18362,65 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite: + parameters: *ref_1 + post: + description: >- + Performs a search. Similar to the SearchService.Search method, but a + lite version that allows API key for authentication, where OAuth and IAM + checks are not required. Only public website search is supported by this + method. If data stores and engines not associated with public website + search are specified, a `FAILED_PRECONDITION` error is returned. This + method can be used for easy onboarding without having to implement an + authentication backend. However, it is strongly recommended to use + SearchService.Search instead with required OAuth and IAM checks to + provide better data security. + operationId: >- + discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1SearchRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1SearchResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: collectionsId + required: true + schema: + type: string + - in: path + name: dataStoresId + required: true + schema: + type: string + - in: path + name: servingConfigsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer: parameters: *ref_1 post: @@ -20197,6 +21589,65 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite: + parameters: *ref_1 + post: + description: >- + Performs a search. Similar to the SearchService.Search method, but a + lite version that allows API key for authentication, where OAuth and IAM + checks are not required. Only public website search is supported by this + method. If data stores and engines not associated with public website + search are specified, a `FAILED_PRECONDITION` error is returned. This + method can be used for easy onboarding without having to implement an + authentication backend. However, it is strongly recommended to use + SearchService.Search instead with required OAuth and IAM checks to + provide better data security. + operationId: >- + discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1SearchRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1SearchResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: collectionsId + required: true + schema: + type: string + - in: path + name: enginesId + required: true + schema: + type: string + - in: path + name: servingConfigsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:answer: parameters: *ref_1 post: @@ -20880,14 +22331,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/identity_mapping_stores/{identity_mapping_storesId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: >- - discoveryengine.projects.locations.identity_mapping_stores.operations.list + operationId: discoveryengine.projects.locations.identityMappingStores.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20912,7 +22362,7 @@ paths: schema: type: string - in: path - name: identity_mapping_storesId + name: identityMappingStoresId required: true schema: type: string @@ -20929,15 +22379,14 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/identity_mapping_stores/{identity_mapping_storesId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: >- - discoveryengine.projects.locations.identity_mapping_stores.operations.get + operationId: discoveryengine.projects.locations.identityMappingStores.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -20962,7 +22411,7 @@ paths: schema: type: string - in: path - name: identity_mapping_storesId + name: identityMappingStoresId required: true schema: type: string @@ -21136,6 +22585,14 @@ paths: required: true schema: type: string + - in: query + name: cmekConfigName + schema: + type: string + - in: query + name: disableCmek + schema: + type: boolean - in: query name: dataStoreId schema: @@ -21933,6 +23390,59 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite: + parameters: *ref_1 + post: + description: >- + Performs a search. Similar to the SearchService.Search method, but a + lite version that allows API key for authentication, where OAuth and IAM + checks are not required. Only public website search is supported by this + method. If data stores and engines not associated with public website + search are specified, a `FAILED_PRECONDITION` error is returned. This + method can be used for easy onboarding without having to implement an + authentication backend. However, it is strongly recommended to use + SearchService.Search instead with required OAuth and IAM checks to + provide better data security. + operationId: discoveryengine.projects.locations.dataStores.servingConfigs.searchLite + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDiscoveryengineV1SearchRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDiscoveryengineV1SearchResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: dataStoresId + required: true + schema: + type: string + - in: path + name: servingConfigsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/dlp.yaml b/providers/src/googleapis.com/v00.00.00000/services/dlp.yaml index 254400dd..6d871498 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dlp.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dlp.yaml @@ -10,8 +10,8 @@ info: to help you discover, classify, and protect your valuable data assets with ease. version: v2 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/sensitive-data-protection/docs/ servers: @@ -37,2844 +37,2908 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GooglePrivacyDlpV2LeaveUntransformed: - properties: {} - description: >- - Skips the data without modifying it if the requested transformation - would cause an error. For example, if a `DateShift` transformation were - applied an an IP address, this mode would leave the IP address unchanged - in the response. - type: object - id: GooglePrivacyDlpV2LeaveUntransformed - GooglePrivacyDlpV2DataProfilePubSubCondition: - description: A condition for determining whether a Pub/Sub should be triggered. + GooglePrivacyDlpV2AwsAccountRegex: + description: AWS account regex. + id: GooglePrivacyDlpV2AwsAccountRegex type: object - id: GooglePrivacyDlpV2DataProfilePubSubCondition properties: - expressions: - description: An expression. - $ref: '#/components/schemas/GooglePrivacyDlpV2PubSubExpressions' - GooglePrivacyDlpV2SaveFindings: + accountIdRegex: + type: string + description: >- + Optional. Regex to test the AWS account ID against. If empty, all + accounts match. + GooglePrivacyDlpV2ContentLocation: properties: - outputConfig: - description: Location to store findings outside of DLP. - $ref: '#/components/schemas/GooglePrivacyDlpV2OutputStorageConfig' - id: GooglePrivacyDlpV2SaveFindings + recordLocation: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordLocation' + description: Location within a row or record of a database table. + imageLocation: + $ref: '#/components/schemas/GooglePrivacyDlpV2ImageLocation' + description: Location within an image's pixels. + metadataLocation: + $ref: '#/components/schemas/GooglePrivacyDlpV2MetadataLocation' + description: Location within the metadata for inspected content. + documentLocation: + description: Location data for document files. + $ref: '#/components/schemas/GooglePrivacyDlpV2DocumentLocation' + containerVersion: + type: string + description: >- + Finding container version, if available ("generation" for Cloud + Storage). + containerName: + description: >- + Name of the container where the finding is located. The top level + name is the source file name or table name. Names of some common + storage containers are formatted as follows: * BigQuery tables: + `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: + `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested + names could be absent if the embedded object has no string + identifier (for example, an image contained within a document). + type: string + containerTimestamp: + type: string + description: >- + Finding container modification timestamp, if applicable. For Cloud + Storage, this field contains the last file modification timestamp. + For a BigQuery table, this field contains the last_modified_time + property. For Datastore, this field isn't populated. + format: google-datetime description: >- - If set, the detailed findings will be persisted to the specified - OutputStorageConfig. Only a single instance of this action can be - specified. Compatible with: Inspect, Risk + Precise location of the finding within a document, record, image, or + metadata container. + id: GooglePrivacyDlpV2ContentLocation type: object - GooglePrivacyDlpV2Finding: - description: Represents a piece of potentially sensitive content. + GooglePrivacyDlpV2FileStoreDataProfile: properties: - quote: + locationType: type: string description: >- - The content that was found. Even if the content is not textual, it - may be converted to a textual representation here. Provided if - `include_quote` is true and the finding is less than or equal to - 4096 bytes long. If the finding exceeds 4096 bytes in length, the - quote may be omitted. - name: + The location type of the bucket (region, dual-region, multi-region, + etc). If dual-region, expect data_storage_locations to be populated. + fullResource: + description: >- + The resource name of the resource profiled. + https://cloud.google.com/apis/design/resource_names#full_resource_name + Example format of an S3 bucket full resource name: + `//cloudasset.googleapis.com/organizations/{org_id}/otherCloudConnections/aws/arn:aws:s3:::{bucket_name}` + type: string + fileStorePath: type: string description: >- - Resource name in format - projects/{project}/locations/{location}/findings/{finding} Populated - only when viewing persisted findings. - findingId: + The file store path. * Cloud Storage: `gs://{bucket}` * Amazon S3: + `s3://{bucket}` + dataSourceType: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataSourceType' + description: The resource type that was profiled. + fileStoreIsEmpty: + description: The file store does not have any files. + type: boolean + state: + enumDescriptions: + - Unused. + - >- + The profile is currently running. Once a profile has finished it + will transition to DONE. + - >- + The profile is no longer generating. If profile_status.status.code + is 0, the profile succeeded, otherwise, it failed. + enum: + - STATE_UNSPECIFIED + - RUNNING + - DONE + description: State of a profile. type: string - description: The unique finding id. - infoType: + fileClusterSummaries: + description: FileClusterSummary per each cluster. + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileClusterSummary' + resourceAttributes: + type: object description: >- - The type of content that might have been found. Provided if - `excluded_types` is false. - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - quoteInfo: - $ref: '#/components/schemas/GooglePrivacyDlpV2QuoteInfo' + 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. + additionalProperties: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + name: + type: string + description: The name of the profile. + resourceVisibility: + enum: + - RESOURCE_VISIBILITY_UNSPECIFIED + - RESOURCE_VISIBILITY_PUBLIC + - RESOURCE_VISIBILITY_INCONCLUSIVE + - RESOURCE_VISIBILITY_RESTRICTED + description: How broadly a resource has been shared. + enumDescriptions: + - Unused. + - Visible to any user. + - >- + May contain public items. For example, if a Cloud Storage bucket + has uniform bucket level access disabled, some objects inside it + may be public, but none are known yet. + - Visible only to specific users. + type: string + dataRiskLevel: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' + description: The data risk level of this resource. + fileStoreLocation: description: >- - Contains data parsed from quotes. Only populated if include_quote - was set to true and a supported infoType was requested. Currently - supported infoTypes: DATE, DATE_OF_BIRTH and TIME. - labels: + The location of the file store. * Cloud Storage: + https://cloud.google.com/storage/docs/locations#available-locations + * Amazon S3: + https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints + type: string + dataStorageLocations: description: >- - The labels associated with this `Finding`. 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 10 labels - can be associated with a given finding. Examples: * `"environment" : - "production"` * `"pipeline" : "etl"` - type: object - additionalProperties: + 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. + items: type: string - jobCreateTime: - description: Time the job started that produced this finding. + type: array + lastModifiedTime: type: string format: google-datetime - likelihood: - description: Confidence of how likely it is that the `info_type` is correct. - type: string - enum: - - LIKELIHOOD_UNSPECIFIED - - VERY_UNLIKELY - - UNLIKELY - - POSSIBLE - - LIKELY - - VERY_LIKELY - enumDescriptions: - - Default value; same as POSSIBLE. - - Highest chance of a false positive. - - High chance of a false positive. - - Some matching signals. The default value. - - Low chance of a false positive. - - Confidence level is high. Lowest chance of a false positive. - triggerName: - description: Job trigger name, if applicable, for this finding. + description: The time the file store was last modified. + profileLastGenerated: type: string - resourceName: + description: The last time the profile was generated. + format: google-datetime + fileStoreInfoTypeSummaries: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreInfoTypeSummary' + type: array + description: InfoTypes detected in this file store. + sensitivityScore: + description: The sensitivity score of this resource. + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + resourceLabels: + type: object + description: >- + The labels applied to the resource at the time the profile was + generated. + additionalProperties: + type: string + projectId: + description: >- + The Google Cloud project ID that owns the resource. For Amazon S3 + buckets, this is the AWS Account Id. type: string - description: The job that stored the finding. - jobName: + configSnapshot: + description: The snapshot of the configurations used to generate the profile. + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileConfigSnapshot' + profileStatus: + $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' + description: >- + Success or error status from the most recent profile generation + attempt. May be empty if the profile is still being generated. + projectDataProfile: type: string - description: The job that stored the finding. - location: - $ref: '#/components/schemas/GooglePrivacyDlpV2Location' - description: Where the content was found. + description: The resource name of the project data profile for this file store. createTime: + description: The time the file store was first created. type: string format: google-datetime - description: Timestamp when finding was detected. - id: GooglePrivacyDlpV2Finding - type: object - GooglePrivacyDlpV2CharacterMaskConfig: + id: GooglePrivacyDlpV2FileStoreDataProfile + description: >- + The profile for a file store. * Cloud Storage: maps 1:1 with a bucket. * + Amazon S3: maps 1:1 with a bucket. type: object + GooglePrivacyDlpV2ExcludeByHotword: + id: GooglePrivacyDlpV2ExcludeByHotword properties: - numberToMask: + proximity: description: >- - Number of characters to mask. If not set, all matching chars will be - masked. Skipped characters do not count towards this tally. If - `number_to_mask` is negative, this denotes inverse masking. Cloud - DLP masks all but a number of characters. For example, suppose you - have the following values: - `masking_character` is `*` - - `number_to_mask` is `-4` - `reverse_order` is `false` - - `CharsToIgnore` includes `-` - Input string is `1234-5678-9012-3456` - The resulting de-identified string is `****-****-****-3456`. Cloud - DLP masks all but the last four characters. If `reverse_order` is - `true`, all but the first four characters are masked as - `1234-****-****-****`. - format: int32 - type: integer - reverseOrder: - type: boolean - description: >- - Mask characters in reverse order. For example, if - `masking_character` is `0`, `number_to_mask` is `14`, and - `reverse_order` is `false`, then the input string - `1234-5678-9012-3456` is masked as `00000000000000-3456`. If - `masking_character` is `*`, `number_to_mask` is `3`, and - `reverse_order` is `true`, then the string `12345` is masked as - `12***`. - charactersToIgnore: - description: >- - When masking a string, items in this list will be skipped when - replacing characters. For example, if the input string is - `555-555-5555` and you instruct Cloud DLP to skip `-` and mask 5 - characters with `*`, Cloud DLP returns `***-**5-5555`. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2CharsToIgnore' - type: array - maskingCharacter: - description: >- - Character to use to mask the sensitive values—for example, `*` for - an alphabetic string such as a name, or `0` for a numeric string - such as ZIP code or credit card number. This string must have a - length of 1. If not supplied, this value defaults to `*` for - strings, and `0` for digits. - type: string + Range of characters within which the entire hotword must reside. The + total length of the window cannot exceed 1000 characters. The + windowBefore property in proximity should be set to 1 if the hotword + needs to be included in a column header. + $ref: '#/components/schemas/GooglePrivacyDlpV2Proximity' + hotwordRegex: + $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' + description: Regular expression pattern defining what qualifies as a hotword. + type: object description: >- - Partially mask a string by replacing a given number of characters with a - fixed character. Masking can start from the beginning or end of the - string. This can be used on data of any type (numbers, longs, and so on) - and when de-identifying structured data we'll attempt to preserve the - original data's type. (This allows you to take a long like 123 and - modify it to a string like **3. - id: GooglePrivacyDlpV2CharacterMaskConfig - GooglePrivacyDlpV2VersionDescription: - description: Details about each available version for an infotype. - id: GooglePrivacyDlpV2VersionDescription + The rule to exclude findings based on a hotword. For record inspection + of tables, column names are considered hotwords. An example of this is + to exclude a finding if it belongs to a BigQuery column that matches a + specific pattern. + GooglePrivacyDlpV2Condition: + id: GooglePrivacyDlpV2Condition type: object + description: >- + The field type of `value` and `field` do not need to match to be + considered equal, but not all comparisons are possible. EQUAL_TO and + NOT_EQUAL_TO attempt to compare even with incompatible types, but all + other comparisons are invalid with incompatible types. A `value` of + type: - `string` can be compared against all other types - `boolean` can + only be compared against other booleans - `integer` can be compared + against doubles or a string if the string value can be parsed as an + integer. - `double` can be compared against integers or a string if the + string can be parsed as a double. - `Timestamp` can be compared against + strings in RFC 3339 date string format. - `TimeOfDay` can be compared + against timestamps and strings in the format of 'HH:mm:ss'. If we fail + to compare do to type mismatch, a warning will be given and the + condition will evaluate to false. properties: - description: - description: Description of the version. - type: string - version: + value: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: Value to compare against. [Mandatory, except for `EXISTS` tests.] + operator: + enum: + - RELATIONAL_OPERATOR_UNSPECIFIED + - EQUAL_TO + - NOT_EQUAL_TO + - GREATER_THAN + - LESS_THAN + - GREATER_THAN_OR_EQUALS + - LESS_THAN_OR_EQUALS + - EXISTS type: string - description: Name of the version - GooglePrivacyDlpV2Color: - description: Represents a color in the RGB color space. - id: GooglePrivacyDlpV2Color - type: object - properties: - blue: - format: float - description: The amount of blue in the color as a value in the interval [0, 1]. - type: number - red: - type: number - format: float - description: The amount of red in the color as a value in the interval [0, 1]. - green: - type: number - description: The amount of green in the color as a value in the interval [0, 1]. - format: float - GooglePrivacyDlpV2QuoteInfo: + enumDescriptions: + - Unused + - Equal. Attempts to match even with incompatible types. + - Not equal to. Attempts to match even with incompatible types. + - Greater than. + - Less than. + - Greater than or equals. + - Less than or equals. + - Exists + description: >- + Required. Operator used to compare the field or infoType to the + value. + field: + description: >- + Required. Field within the record this condition is evaluated + against. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + GooglePrivacyDlpV2TimePartConfig: properties: - dateTime: - $ref: '#/components/schemas/GooglePrivacyDlpV2DateTime' - description: The date time indicated by the quote. - description: Message for infoType-dependent details parsed from quote. - id: GooglePrivacyDlpV2QuoteInfo + partToExtract: + type: string + enumDescriptions: + - Unused + - '[0-9999]' + - '[1-12]' + - '[1-31]' + - '[1-7]' + - '[1-53]' + - '[0-23]' + description: The part of the time to keep. + enum: + - TIME_PART_UNSPECIFIED + - YEAR + - MONTH + - DAY_OF_MONTH + - DAY_OF_WEEK + - WEEK_OF_YEAR + - HOUR_OF_DAY type: object - GooglePrivacyDlpV2ReplaceDictionaryConfig: + id: GooglePrivacyDlpV2TimePartConfig description: >- - Replace each input value with a value randomly selected from the - dictionary. + For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a + portion of the value. + GooglePrivacyDlpV2ReplaceWithInfoTypeConfig: + id: GooglePrivacyDlpV2ReplaceWithInfoTypeConfig + type: object + properties: {} + description: Replace each matching finding with the name of the info_type. + GooglePrivacyDlpV2Bucket: + type: object + id: GooglePrivacyDlpV2Bucket + description: Bucket is represented as a range, along with replacement values. properties: - wordList: - $ref: '#/components/schemas/GooglePrivacyDlpV2WordList' + replacementValue: + description: Required. Replacement value for this bucket. + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + max: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: Upper bound of the range, exclusive; type must match min. + min: description: >- - A list of words to select from for random replacement. The - [limits](https://cloud.google.com/sensitive-data-protection/limits) - page contains details about the size limits of dictionaries. - id: GooglePrivacyDlpV2ReplaceDictionaryConfig + Lower bound of the range, inclusive. Type should be the same as max + if used. + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + GooglePrivacyDlpV2DetectionRule: + description: >- + Deprecated; use `InspectionRuleSet` instead. Rule for modifying a + `CustomInfoType` to alter behavior under certain circumstances, + depending on the specific details of the rule. Not supported for the + `surrogate_type` custom infoType. type: object - GooglePrivacyDlpV2InspectionRule: + id: GooglePrivacyDlpV2DetectionRule properties: hotwordRule: description: Hotword-based detection rule. $ref: '#/components/schemas/GooglePrivacyDlpV2HotwordRule' - exclusionRule: - $ref: '#/components/schemas/GooglePrivacyDlpV2ExclusionRule' - description: Exclusion rule. - type: object - id: GooglePrivacyDlpV2InspectionRule - description: >- - A single inspection rule to be applied to infoTypes, specified in - `InspectionRuleSet`. - GooglePrivacyDlpV2DiscoveryCloudStorageFilter: + GooglePrivacyDlpV2Finding: + id: GooglePrivacyDlpV2Finding + description: Represents a piece of potentially sensitive content. type: object properties: - collection: - description: Optional. A specific set of buckets for this filter to apply to. - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreCollection' - cloudStorageResourceReference: - description: >- - Optional. The bucket to scan. Targets including this can only - include one target (the target with this bucket). This enables - profiling the contents of a single bucket, while the other options - allow for easy profiling of many bucets within a project or an - organization. - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageResourceReference' - others: - $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherResources' + jobCreateTime: + type: string + description: Time the job started that produced this finding. + format: google-datetime + location: + description: Where the content was found. + $ref: '#/components/schemas/GooglePrivacyDlpV2Location' + triggerName: + type: string + description: Job trigger name, if applicable, for this finding. + labels: + type: object description: >- - Optional. Catch-all. This should always be the last target in the - list because anything above it will apply first. Should only appear - once in a configuration. If none is specified, a default one will be - added automatically. - description: >- - Determines which buckets will have profiles generated within an - organization or project. Includes the ability to filter by regular - expression patterns on project ID and bucket name. - id: GooglePrivacyDlpV2DiscoveryCloudStorageFilter - GooglePrivacyDlpV2DiscoveryCloudSqlConditions: - properties: - types: - items: - enum: - - DATABASE_RESOURCE_TYPE_UNSPECIFIED - - DATABASE_RESOURCE_TYPE_ALL_SUPPORTED_TYPES - - DATABASE_RESOURCE_TYPE_TABLE + The labels associated with this `Finding`. 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 10 labels + can be associated with a given finding. Examples: * `"environment" : + "production"` * `"pipeline" : "etl"` + additionalProperties: type: string - enumDescriptions: - - Unused. - - >- - Includes database resource types that become supported at a - later time. - - Tables. - type: array + quote: description: >- - Data profiles will only be generated for the database resource types - specified in this field. If not specified, defaults to - [DATABASE_RESOURCE_TYPE_ALL_SUPPORTED_TYPES]. - databaseEngines: - type: array - items: - enum: - - DATABASE_ENGINE_UNSPECIFIED - - ALL_SUPPORTED_DATABASE_ENGINES - - MYSQL - - POSTGRES - enumDescriptions: - - Unused. - - Include all supported database engines. - - MySQL database. - - PostgreSQL database. - type: string + The content that was found. Even if the content is not textual, it + may be converted to a textual representation here. Provided if + `include_quote` is true and the finding is less than or equal to + 4096 bytes long. If the finding exceeds 4096 bytes in length, the + quote may be omitted. + type: string + resourceName: + type: string + description: The job that stored the finding. + createTime: + type: string + format: google-datetime + description: Timestamp when finding was detected. + findingId: + type: string + description: The unique finding id. + jobName: + type: string + description: The job that stored the finding. + name: + type: string description: >- - Optional. Database engines that should be profiled. Optional. - Defaults to ALL_SUPPORTED_DATABASE_ENGINES if unspecified. - description: >- - Requirements that must be true before a table is profiled for the first - time. - id: GooglePrivacyDlpV2DiscoveryCloudSqlConditions - type: object - GooglePrivacyDlpV2DiscoveryCloudSqlGenerationCadence: - description: >- - How often existing tables should have their profiles refreshed. New - tables are scanned as quickly as possible depending on system capacity. - properties: - refreshFrequency: + Resource name in format + projects/{project}/locations/{location}/findings/{finding} Populated + only when viewing persisted findings. + quoteInfo: + $ref: '#/components/schemas/GooglePrivacyDlpV2QuoteInfo' description: >- - Data changes (non-schema changes) in Cloud SQL tables can't trigger - reprofiling. If you set this field, profiles are refreshed at this - frequency regardless of whether the underlying tables have changed. - Defaults to never. - enum: - - UPDATE_FREQUENCY_UNSPECIFIED - - UPDATE_FREQUENCY_NEVER - - UPDATE_FREQUENCY_DAILY - - UPDATE_FREQUENCY_MONTHLY + Contains data parsed from quotes. Only populated if include_quote + was set to true and a supported infoType was requested. Currently + supported infoTypes: DATE, DATE_OF_BIRTH and TIME. + infoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: >- + The type of content that might have been found. Provided if + `excluded_types` is false. + likelihood: enumDescriptions: - - Unspecified. - - After the data profile is created, it will never be updated. - - The data profile can be updated up to once every 24 hours. - - The data profile can be updated up to once every 30 days. Default. + - Default value; same as POSSIBLE. + - Highest chance of a false positive. + - High chance of a false positive. + - Some matching signals. The default value. + - Low chance of a false positive. + - Confidence level is high. Lowest chance of a false positive. + description: Confidence of how likely it is that the `info_type` is correct. + enum: + - LIKELIHOOD_UNSPECIFIED + - VERY_UNLIKELY + - UNLIKELY + - POSSIBLE + - LIKELY + - VERY_LIKELY type: string - inspectTemplateModifiedCadence: - description: >- - Governs when to update data profiles when the inspection rules - defined by the `InspectTemplate` change. If not set, changing the - template will not cause a data profile to update. - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence - schemaModifiedCadence: - description: When to reprofile if the schema has changed. - $ref: '#/components/schemas/GooglePrivacyDlpV2SchemaModifiedCadence' + GooglePrivacyDlpV2ListDlpJobsResponse: + properties: + jobs: + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + description: A list of DlpJobs that matches the specified filter in the request. + nextPageToken: + type: string + description: The standard List next-page token. + description: The response message for listing DLP jobs. + id: GooglePrivacyDlpV2ListDlpJobsResponse type: object - id: GooglePrivacyDlpV2DiscoveryCloudSqlGenerationCadence - GoogleTypeTimeOfDay: + GoogleRpcStatus: description: >- - Represents a time of day. The date and time zone are either not - significant or are specified elsewhere. An API may choose to allow leap - seconds. Related types are google.type.Date and - `google.protobuf.Timestamp`. + 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). type: object + id: GoogleRpcStatus properties: - hours: - format: int32 + details: + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. - type: integer - minutes: - type: integer - description: Minutes of hour of day. Must be from 0 to 59. - format: int32 - seconds: - format: int32 + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array + message: + type: string description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. - type: integer - nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + code: format: int32 + description: The status code, which should be an enum value of google.rpc.Code. type: integer - id: GoogleTypeTimeOfDay - GooglePrivacyDlpV2Expressions: + GooglePrivacyDlpV2Container: type: object + id: GooglePrivacyDlpV2Container + description: >- + Represents a container that may contain DLP findings. Examples of a + container include a file, table, or database record. properties: - conditions: - $ref: '#/components/schemas/GooglePrivacyDlpV2Conditions' - description: Conditions to apply to the expression. - logicalOperator: + projectId: + description: >- + Project where the finding was found. Can be different from the + project that owns the finding. type: string + updateTime: description: >- - The operator to apply to the result of conditions. Default and - currently only supported value is `AND`. - enumDescriptions: - - Unused - - Conditional AND - enum: - - LOGICAL_OPERATOR_UNSPECIFIED - - AND - description: An expression, consisting of an operator and conditions. - id: GooglePrivacyDlpV2Expressions - GooglePrivacyDlpV2InfoTypeCategory: + Findings container modification timestamp, if applicable. For Cloud + Storage, this field contains the last file modification timestamp. + For a BigQuery table, this field contains the last_modified_time + property. For Datastore, this field isn't populated. + format: google-datetime + type: string + version: + description: >- + Findings container version, if available ("generation" for Cloud + Storage). + type: string + type: + type: string + description: Container type, for example BigQuery or Cloud Storage. + relativePath: + description: >- + The rest of the path after the root. Examples: - For BigQuery table + `project_id:dataset_id.table_id`, the relative path is `table_id` - + For Cloud Storage file `gs://bucket/folder/filename.txt`, the + relative path is `folder/filename.txt` + type: string + fullPath: + description: >- + A string representation of the full container name. Examples: - + BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: + 'gs://Bucket/folders/filename.txt' + type: string + rootPath: + type: string + description: >- + The root of the container. Examples: - For BigQuery table + `project_id:dataset_id.table_id`, the root is `dataset_id` - For + Cloud Storage file `gs://bucket/folder/filename.txt`, the root is + `gs://bucket` + GooglePrivacyDlpV2QuoteInfo: + description: Message for infoType-dependent details parsed from quote. + properties: + dateTime: + $ref: '#/components/schemas/GooglePrivacyDlpV2DateTime' + description: The date time indicated by the quote. type: object - description: >- - Classification of infoTypes to organize them according to geographic - location, industry, and data type. - id: GooglePrivacyDlpV2InfoTypeCategory + id: GooglePrivacyDlpV2QuoteInfo + GooglePrivacyDlpV2ImageLocation: + description: Location of the finding within an image. properties: - locationCategory: - enumDescriptions: - - Unused location - - >- - The infoType is not issued by or tied to a specific region, but is - used almost everywhere. - - The infoType is typically used in Argentina. - - The infoType is typically used in Armenia. - - The infoType is typically used in Australia. - - The infoType is typically used in Azerbaijan. - - The infoType is typically used in Belarus. - - The infoType is typically used in Belgium. - - The infoType is typically used in Brazil. - - The infoType is typically used in Canada. - - The infoType is typically used in Chile. - - The infoType is typically used in China. - - The infoType is typically used in Colombia. - - The infoType is typically used in Croatia. - - The infoType is typically used in Denmark. - - The infoType is typically used in France. - - The infoType is typically used in Finland. - - The infoType is typically used in Germany. - - The infoType is typically used in Hong Kong. - - The infoType is typically used in India. - - The infoType is typically used in Indonesia. - - The infoType is typically used in Ireland. - - The infoType is typically used in Israel. - - The infoType is typically used in Italy. - - The infoType is typically used in Japan. - - The infoType is typically used in Kazakhstan. - - The infoType is typically used in Korea. - - The infoType is typically used in Mexico. - - The infoType is typically used in the Netherlands. - - The infoType is typically used in New Zealand. - - The infoType is typically used in Norway. - - The infoType is typically used in Paraguay. - - The infoType is typically used in Peru. - - The infoType is typically used in Poland. - - The infoType is typically used in Portugal. - - The infoType is typically used in Russia. - - The infoType is typically used in Singapore. - - The infoType is typically used in South Africa. - - The infoType is typically used in Spain. - - The infoType is typically used in Sweden. - - The infoType is typically used in Switzerland. - - The infoType is typically used in Taiwan. - - The infoType is typically used in Thailand. - - The infoType is typically used in Turkey. - - The infoType is typically used in Ukraine. - - The infoType is typically used in the United Kingdom. - - The infoType is typically used in the United States. - - The infoType is typically used in Uruguay. - - The infoType is typically used in Uzbekistan. - - The infoType is typically used in Venezuela. - - The infoType is typically used in Google internally. - description: >- - The region or country that issued the ID or document represented by - the infoType. - enum: - - LOCATION_UNSPECIFIED - - GLOBAL - - ARGENTINA - - ARMENIA - - AUSTRALIA - - AZERBAIJAN - - BELARUS - - BELGIUM - - BRAZIL - - CANADA - - CHILE - - CHINA - - COLOMBIA - - CROATIA - - DENMARK - - FRANCE - - FINLAND - - GERMANY - - HONG_KONG - - INDIA - - INDONESIA - - IRELAND - - ISRAEL - - ITALY - - JAPAN - - KAZAKHSTAN - - KOREA - - MEXICO - - THE_NETHERLANDS - - NEW_ZEALAND - - NORWAY - - PARAGUAY - - PERU - - POLAND - - PORTUGAL - - RUSSIA - - SINGAPORE - - SOUTH_AFRICA - - SPAIN - - SWEDEN - - SWITZERLAND - - TAIWAN - - THAILAND - - TURKEY - - UKRAINE - - UNITED_KINGDOM - - UNITED_STATES - - URUGUAY - - UZBEKISTAN - - VENEZUELA - - INTERNAL - type: string - typeCategory: - type: string - enum: - - TYPE_UNSPECIFIED - - PII - - SPII - - DEMOGRAPHIC - - CREDENTIAL - - GOVERNMENT_ID - - DOCUMENT - - CONTEXTUAL_INFORMATION - enumDescriptions: - - Unused type - - >- - Personally identifiable information, for example, a name or phone - number - - >- - Personally identifiable information that is especially sensitive, - for example, a passport number. - - >- - Attributes that can partially identify someone, especially in - combination with other attributes, like age, height, and gender. - - Confidential or secret information, for example, a password. - - An identification document issued by a government. - - A document, for example, a resume or source code. - - >- - Information that is not sensitive on its own, but provides details - about the circumstances surrounding an entity or an event. - description: The class of identifiers where this infoType belongs - industryCategory: - enumDescriptions: - - Unused industry - - The infoType is typically used in the finance industry. - - The infoType is typically used in the health industry. - - The infoType is typically used in the telecommunications industry. - enum: - - INDUSTRY_UNSPECIFIED - - FINANCE - - HEALTH - - TELECOMMUNICATIONS - description: >- - The group of relevant businesses where this infoType is commonly - used - type: string - GooglePrivacyDlpV2OrgConfig: - type: object - properties: - projectId: - type: string + boundingBoxes: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2BoundingBox' description: >- - The project that will run the scan. The DLP service account that - exists within this project must have access to all resources that - are profiled, and the Cloud DLP API must be enabled. - location: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryStartingLocation' - description: 'The data to scan: folder, org, or project' - id: GooglePrivacyDlpV2OrgConfig - description: >- - Project and scan location information. Only set when the parent is an - org. - GooglePrivacyDlpV2DateTime: + Bounding boxes locating the pixels within the image containing the + finding. + type: array + id: GooglePrivacyDlpV2ImageLocation type: object - description: Message for a date time object. e.g. 2018-01-01, 5th August. + GooglePrivacyDlpV2Regex: + id: GooglePrivacyDlpV2Regex + description: Message defining a custom regular expression. properties: - dayOfWeek: - type: string - description: Day of week - enum: - - DAY_OF_WEEK_UNSPECIFIED - - MONDAY - - TUESDAY - - WEDNESDAY - - THURSDAY - - FRIDAY - - SATURDAY - - SUNDAY - enumDescriptions: - - The day of the week is unspecified. - - Monday - - Tuesday - - Wednesday - - Thursday - - Friday - - Saturday - - Sunday - timeZone: - $ref: '#/components/schemas/GooglePrivacyDlpV2TimeZone' - description: Time zone - time: - description: Time of day - $ref: '#/components/schemas/GoogleTypeTimeOfDay' - date: - $ref: '#/components/schemas/GoogleTypeDate' + groupIndexes: + items: + type: integer + format: int32 description: >- - One or more of the following must be set. Must be a valid date or - time value. - id: GooglePrivacyDlpV2DateTime - GooglePrivacyDlpV2ListJobTriggersResponse: - properties: - jobTriggers: + The index of the submatch to extract as findings. When not + specified, the entire match is returned. No more than 3 may be + included. type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' - description: List of triggeredJobs, up to page_size in ListJobTriggersRequest. - nextPageToken: + pattern: type: string description: >- - If the next page is available then this value is the next page token - to be used in the following ListJobTriggers request. - description: Response message for ListJobTriggers. + Pattern defining the regular expression. Its syntax + (https://github.com/google/re2/wiki/Syntax) can be found under the + google/re2 repository on GitHub. type: object - id: GooglePrivacyDlpV2ListJobTriggersResponse - GooglePrivacyDlpV2Deidentify: - id: GooglePrivacyDlpV2Deidentify + GooglePrivacyDlpV2Table: properties: - fileTypesToTransform: + headers: type: array + description: Headers of the table. items: - enumDescriptions: - - Includes all files. - - >- - Includes all file extensions not covered by another entry. - Binary scanning attempts to convert the content of the file to - utf_8 to scan the file. If you wish to avoid this fall back, - specify one or more of the other file types in your storage - scan. - - >- - Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, - cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, - go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, - mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, - rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, - xhtml, lhs, ics, ini, java, js, json, jsonl, kix, kml, ocaml, - md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, - xsd, yml, yaml. - - >- - Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting - bytes_limit_per_file or bytes_limit_per_file_percent has no - effect on image files. Image inspection is restricted to the - `global`, `us`, `asia`, and `europe` regions. - - >- - Microsoft Word files larger than 30 MB will be scanned as binary - files. Included file extensions: docx, dotx, docm, dotm. Setting - `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no - effect on Word files. - - >- - PDF files larger than 30 MB will be scanned as binary files. - Included file extensions: pdf. Setting `bytes_limit_per_file` or - `bytes_limit_per_file_percent` has no effect on PDF files. - - 'Included file extensions: avro' - - 'Included file extensions: csv' - - 'Included file extensions: tsv' - - >- - Microsoft PowerPoint files larger than 30 MB will be scanned as - binary files. Included file extensions: pptx, pptm, potx, potm, - pot. Setting `bytes_limit_per_file` or - `bytes_limit_per_file_percent` has no effect on PowerPoint - files. - - >- - Microsoft Excel files larger than 30 MB will be scanned as - binary files. Included file extensions: xlsx, xlsm, xltx, xltm. - Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` - has no effect on Excel files. - enum: - - FILE_TYPE_UNSPECIFIED - - BINARY_FILE - - TEXT_FILE - - IMAGE - - WORD - - PDF - - AVRO - - CSV - - TSV - - POWERPOINT - - EXCEL - type: string - description: >- - List of user-specified file type groups to transform. If specified, - only the files with these file types will be transformed. If empty, - all supported files will be transformed. Supported types may be - automatically added over time. If a file type is set in this field - that isn't supported by the Deidentify action then the job will fail - and will not be successfully created/started. Currently the only - file types supported are: IMAGES, TEXT_FILES, CSV, TSV. - transformationDetailsStorageConfig: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2TransformationDetailsStorageConfig - description: >- - Config for storing transformation details. This is separate from the - de-identified content, and contains metadata about the successful - transformations and/or failures that occurred while de-identifying. - This needs to be set in order for users to access information about - the status of each transformation (see TransformationDetails message - for more information about what is noted). - transformationConfig: - description: >- - User specified deidentify templates and configs for structured, - unstructured, and image files. - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationConfig' - cloudStorageOutput: - type: string - description: >- - Required. User settable Cloud Storage bucket and folders to store - de-identified files. This field must be set for Cloud Storage - deidentification. The output Cloud Storage bucket must be different - from the input bucket. De-identified files will overwrite files in - the output path. Form of: gs://bucket/folder/ or gs://bucket + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + rows: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Row' + type: array + description: Rows of the table. + id: GooglePrivacyDlpV2Table description: >- - Create a de-identified copy of the requested table or files. A - TransformationDetail will be created for each transformation. If any - rows in BigQuery are skipped during de-identification (transformation - errors or row size exceeds BigQuery insert API limits) they are placed - in the failure output table. If the original row exceeds the BigQuery - insert API limit it will be truncated when written to the failure output - table. The failure output table can be set in the - action.deidentify.output.big_query_output.deidentified_failure_output_table - field, if no table is set, a table will be automatically created in the - same project and dataset as the original table. Compatible with: Inspect + Structured content to inspect. Up to 50,000 `Value`s per request + allowed. See + https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table + to learn more. type: object - GooglePrivacyDlpV2ImageTransformation: - description: Configuration for determining how redaction of images should occur. - properties: - allInfoTypes: - description: >- - Apply transformation to all findings not specified in other - ImageTransformation's selected_info_types. Only one instance is - allowed within the ImageTransformations message. - $ref: '#/components/schemas/GooglePrivacyDlpV2AllInfoTypes' - selectedInfoTypes: - description: Apply transformation to the selected info_types. - $ref: '#/components/schemas/GooglePrivacyDlpV2SelectedInfoTypes' - allText: - $ref: '#/components/schemas/GooglePrivacyDlpV2AllText' - description: >- - Apply transformation to all text that doesn't match an infoType. - Only one instance is allowed within the ImageTransformations - message. - redactionColor: - description: >- - The color to use when redacting content from an image. If not - specified, the default is black. - $ref: '#/components/schemas/GooglePrivacyDlpV2Color' - id: GooglePrivacyDlpV2ImageTransformation + GooglePrivacyDlpV2JobNotificationEmails: + description: >- + Sends an email when the job completes. The email goes to IAM project + owners and technical [Essential + Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts). + id: GooglePrivacyDlpV2JobNotificationEmails type: object - GooglePrivacyDlpV2ContentItem: - id: GooglePrivacyDlpV2ContentItem - description: Type of content to inspect. + properties: {} + GooglePrivacyDlpV2ImageTransformations: + description: A type of transformation that is applied over images. properties: - byteItem: - $ref: '#/components/schemas/GooglePrivacyDlpV2ByteContentItem' - description: Content data to inspect or redact. Replaces `type` and `data`. - value: - description: String data to inspect or redact. - type: string - table: - description: >- - Structured content for inspection. See - https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table - to learn more. - $ref: '#/components/schemas/GooglePrivacyDlpV2Table' + transforms: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2ImageTransformation' + type: array + description: List of transforms to make. + id: GooglePrivacyDlpV2ImageTransformations type: object - GooglePrivacyDlpV2OrConditions: - id: GooglePrivacyDlpV2OrConditions - description: >- - There is an OR relationship between these attributes. They are used to - determine if a table should be scanned or not in Discovery. - properties: - minRowCount: - format: int32 - description: >- - Minimum number of rows that should be present before Cloud DLP - profiles a table - type: integer - minAge: - format: google-duration - description: >- - Minimum age a table must have before Cloud DLP can profile it. Value - must be 1 hour or greater. + GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest: + description: Request message for UpdateDeidentifyTemplate. + properties: + updateMask: + format: google-fieldmask + description: Mask to control which fields get updated. type: string + deidentifyTemplate: + description: New DeidentifyTemplate value. + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' type: object - GooglePrivacyDlpV2Regex: - description: Message defining a custom regular expression. + id: GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest + GooglePrivacyDlpV2DataProfileAction: + id: GooglePrivacyDlpV2DataProfileAction + description: A task to execute when a data profile has been generated. type: object properties: - groupIndexes: - items: - format: int32 - type: integer - type: array - description: >- - The index of the submatch to extract as findings. When not - specified, the entire match is returned. No more than 3 may be - included. - pattern: - type: string + pubSubNotification: + $ref: '#/components/schemas/GooglePrivacyDlpV2PubSubNotification' + description: Publish a message into the Pub/Sub topic. + publishToChronicle: description: >- - Pattern defining the regular expression. Its syntax - (https://github.com/google/re2/wiki/Syntax) can be found under the - google/re2 repository on GitHub. - id: GooglePrivacyDlpV2Regex - GooglePrivacyDlpV2DatabaseResourceReference: + Publishes generated data profiles to Google Security Operations. For + more information, see [Use Sensitive Data Protection data in + context-aware + analytics](https://cloud.google.com/chronicle/docs/detection/usecase-dlp-high-risk-user-download). + $ref: '#/components/schemas/GooglePrivacyDlpV2PublishToChronicle' + exportData: + $ref: '#/components/schemas/GooglePrivacyDlpV2Export' + description: Export data profiles into a provided location. + publishToScc: + description: Publishes findings to Security Command Center for each data profile. + $ref: >- + #/components/schemas/GooglePrivacyDlpV2PublishToSecurityCommandCenter + tagResources: + description: Tags the profiled resources with the specified tag values. + $ref: '#/components/schemas/GooglePrivacyDlpV2TagResources' + GooglePrivacyDlpV2SaveFindings: + description: >- + If set, the detailed findings will be persisted to the specified + OutputStorageConfig. Only a single instance of this action can be + specified. Compatible with: Inspect, Risk type: object - id: GooglePrivacyDlpV2DatabaseResourceReference properties: - instance: - description: >- - Required. The instance where this resource is located. For example: - Cloud SQL instance ID. - type: string - projectId: - description: >- - Required. If within a project-level config, then this must match the - config's project ID. - type: string - database: - type: string - description: Required. Name of a database within the instance. - databaseResource: - description: >- - Required. Name of a database resource, for example, a table within - the database. - type: string - description: Identifies a single database resource, like a table within a database. - GooglePrivacyDlpV2TimespanConfig: + outputConfig: + description: Location to store findings outside of DLP. + $ref: '#/components/schemas/GooglePrivacyDlpV2OutputStorageConfig' + id: GooglePrivacyDlpV2SaveFindings + GooglePrivacyDlpV2RecordTransformations: type: object - id: GooglePrivacyDlpV2TimespanConfig + description: >- + A type of transformation that is applied over structured data such as a + table. + id: GooglePrivacyDlpV2RecordTransformations properties: - startTime: + fieldTransformations: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldTransformation' + description: Transform the record by applying various field transformations. + type: array + recordSuppressions: description: >- - Exclude files, tables, or rows older than this value. If not set, no - lower time limit is applied. - format: google-datetime - type: string - timestampField: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + Configuration defining which records get suppressed entirely. + Records that match any suppression rule are omitted from the output. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordSuppression' + type: array + GooglePrivacyDlpV2LikelihoodAdjustment: + type: object + properties: + relativeLikelihood: + type: integer + format: int32 description: >- - Specification of the field containing the timestamp of scanned - items. Used for data sources like Datastore and BigQuery. **For - BigQuery** If this value is not specified and the table was modified - between the given start and end times, the entire table will be - scanned. If this value is specified, then rows are filtered based on - the given start and end times. Rows with a `NULL` value in the - provided BigQuery column are skipped. Valid data types of the - provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and - `DATETIME`. If your BigQuery table is [partitioned at ingestion - time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), - you can use any of the following pseudo-columns as your timestamp - field. When used with Cloud DLP, these pseudo-column names are case - sensitive. - `_PARTITIONTIME` - `_PARTITIONDATE` - - `_PARTITION_LOAD_TIME` **For Datastore** If this value is specified, - then entities are filtered based on the given start and end times. - If an entity does not contain the provided timestamp property or - contains empty or invalid values, then it is included. Valid data - types of the provided timestamp property are: `TIMESTAMP`. See the - [known - issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#bq-timespan) - related to this operation. - endTime: + Increase or decrease the likelihood by the specified number of + levels. For example, if a finding would be `POSSIBLE` without the + detection rule and `relative_likelihood` is 1, then it is upgraded + to `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`. + Likelihood may never drop below `VERY_UNLIKELY` or exceed + `VERY_LIKELY`, so applying an adjustment of 1 followed by an + adjustment of -1 when base likelihood is `VERY_LIKELY` will result + in a final likelihood of `LIKELY`. + fixedLikelihood: type: string - description: >- - Exclude files, tables, or rows newer than this value. If not set, no - upper time limit is applied. - format: google-datetime - enableAutoPopulationOfTimespanConfig: - description: >- - When the job is started by a JobTrigger we will automatically figure - out a valid start_time to avoid scanning files that have not been - modified since the last time the JobTrigger executed. This will be - based on the time of the execution of the last run of the JobTrigger - or the timespan end_time used in the last run of the JobTrigger. - **For BigQuery** Inspect jobs triggered by automatic population will - scan data that is at least three hours old when the job starts. This - is because streaming buffer rows are not read during inspection and - reading up to the current timestamp will result in skipped rows. See - the [known - issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#recently-streamed-data) - related to this operation. - type: boolean + description: Set the likelihood of a finding to a fixed value. + enum: + - LIKELIHOOD_UNSPECIFIED + - VERY_UNLIKELY + - UNLIKELY + - POSSIBLE + - LIKELY + - VERY_LIKELY + enumDescriptions: + - Default value; same as POSSIBLE. + - Highest chance of a false positive. + - High chance of a false positive. + - Some matching signals. The default value. + - Low chance of a false positive. + - Confidence level is high. Lowest chance of a false positive. + id: GooglePrivacyDlpV2LikelihoodAdjustment description: >- - Configuration of the timespan of the items to include in scanning. - Currently only supported when inspecting Cloud Storage and BigQuery. - GooglePrivacyDlpV2Proximity: - id: GooglePrivacyDlpV2Proximity + Message for specifying an adjustment to the likelihood of a finding as + part of a detection rule. + GoogleTypeTimeOfDay: + id: GoogleTypeTimeOfDay + type: object properties: - windowBefore: + minutes: + format: int32 type: integer description: >- - Number of characters before the finding to consider. For tabular - data, if you want to modify the likelihood of an entire column of - findngs, set this to 1. For more information, see [Hotword example: - Set the match likelihood of a table column] - (https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes-likelihood#match-column-values). - format: int32 - windowAfter: + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. + hours: type: integer - description: Number of characters after the finding to consider. format: int32 - type: object - description: >- - Message for specifying a window around a finding to apply a detection - rule. - GooglePrivacyDlpV2DataProfileJobConfig: - properties: - dataProfileActions: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileAction' - type: array - description: Actions to execute at the completion of the job. - location: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileLocation' - description: The data to scan. - projectId: description: >- - The project that will run the scan. The DLP service account that - exists within this project must have access to all resources that - are profiled, and the Cloud DLP API must be enabled. - type: string - inspectTemplates: - type: array - items: - type: string + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. + nanos: + type: integer + format: int32 description: >- - Detection logic for profile generation. Not all template features - are used by profiles. FindingLimits, include_quote and - exclude_info_types have no impact on data profiling. Multiple - templates may be provided if there is data in multiple regions. At - most one template must be specified per-region (including "global"). - Each region is scanned using the applicable template. If no - region-specific template is specified, but a "global" template is - specified, it will be copied to that region and used instead. If no - global or region-specific template is provided for a region with - data, that region's data will not be scanned. For more information, - see - https://cloud.google.com/sensitive-data-protection/docs/data-profiles#data-residency. - type: object - id: GooglePrivacyDlpV2DataProfileJobConfig - description: >- - Configuration for setting up a job to scan resources for profile - generation. Only one data profile configuration may exist per - organization, folder, or project. The generated data profiles are - retained according to the [data retention policy] - (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention). - GooglePrivacyDlpV2AuxiliaryTable: - description: >- - An auxiliary table contains statistical information on the relative - frequency of different quasi-identifiers values. It has one or several - quasi-identifiers columns, and one column that indicates the relative - frequency of each quasi-identifier tuple. If a tuple is present in the - data but not in the auxiliary table, the corresponding relative - frequency is assumed to be zero (and thus, the tuple is highly - reidentifiable). - properties: - table: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Required. Auxiliary table location. - relativeFrequency: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. + seconds: + format: int32 description: >- - Required. The relative frequency column must contain a - floating-point number between 0 and 1 (inclusive). Null values are - assumed to be zero. - quasiIds: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2QuasiIdField' - type: array - description: Required. Quasi-identifier columns. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. + type: integer + description: >- + Represents a time of day. The date and time zone are either not + significant or are specified elsewhere. An API may choose to allow leap + seconds. Related types are google.type.Date and + `google.protobuf.Timestamp`. + GooglePrivacyDlpV2CloudStorageResourceReference: type: object - id: GooglePrivacyDlpV2AuxiliaryTable - GooglePrivacyDlpV2UpdateDiscoveryConfigRequest: - id: GooglePrivacyDlpV2UpdateDiscoveryConfigRequest - description: Request message for UpdateDiscoveryConfig. + description: Identifies a single Cloud Storage bucket. properties: - updateMask: + bucketName: + description: Required. The bucket to scan. type: string - format: google-fieldmask - description: Mask to control which fields get updated. - discoveryConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' - description: Required. New DiscoveryConfig value. - type: object - GooglePrivacyDlpV2KAnonymityHistogramBucket: - id: GooglePrivacyDlpV2KAnonymityHistogramBucket + projectId: + type: string + description: >- + Required. If within a project-level config, then this must match the + config's project id. + id: GooglePrivacyDlpV2CloudStorageResourceReference + GooglePrivacyDlpV2CloudStorageFileSet: properties: - bucketValues: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityEquivalenceClass' + url: description: >- - Sample of equivalence classes in this bucket. The total number of - classes returned per bucket is capped at 20. - equivalenceClassSizeLowerBound: - description: Lower bound on the size of the equivalence classes in this bucket. - type: string - format: int64 - bucketValueCount: - description: Total number of distinct equivalence classes in this bucket. - format: int64 - type: string - bucketSize: - format: int64 - description: Total number of equivalence classes in this bucket. - type: string - equivalenceClassSizeUpperBound: + The url, in the format `gs:///`. Trailing wildcard in the path is + allowed. type: string - format: int64 - description: Upper bound on the size of the equivalence classes in this bucket. - description: Histogram of k-anonymity equivalence classes. + id: GooglePrivacyDlpV2CloudStorageFileSet + description: Message representing a set of files in Cloud Storage. type: object - GooglePrivacyDlpV2KAnonymityEquivalenceClass: + GooglePrivacyDlpV2InfoTypeSummary: + id: GooglePrivacyDlpV2InfoTypeSummary + properties: + estimatedPrevalence: + type: integer + description: Not populated for predicted infotypes. + deprecated: true + format: int32 + infoType: + description: The infoType. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' type: object - description: The set of columns' values that share the same ldiversity value + description: The infoType details for this column. + GooglePrivacyDlpV2BigQueryTableCollection: + description: Specifies a collection of BigQuery tables. Used for Discovery. properties: - quasiIdsValues: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - type: array - description: >- - Set of values defining the equivalence class. One value per - quasi-identifier column in the original KAnonymity metric message. - The order is always the same as the original request. - equivalenceClassSize: - format: int64 - type: string + includeRegexes: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryRegexes' description: >- - Size of the equivalence class, for example number of rows with the - above set of values. - id: GooglePrivacyDlpV2KAnonymityEquivalenceClass - GooglePrivacyDlpV2DeltaPresenceEstimationConfig: + A collection of regular expressions to match a BigQuery table + against. + type: object + id: GooglePrivacyDlpV2BigQueryTableCollection + GooglePrivacyDlpV2BoundingBox: properties: - auxiliaryTables: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2StatisticalTable' - type: array - description: >- - Several auxiliary tables can be used in the analysis. Each - custom_tag used to tag a quasi-identifiers field must appear in - exactly one field of one auxiliary table. - quasiIds: + top: + type: integer + description: Top coordinate of the bounding box. (0,0) is upper left. + format: int32 + height: + type: integer + format: int32 + description: Height of the bounding box in pixels. + width: + type: integer + description: Width of the bounding box in pixels. + format: int32 + left: + format: int32 + type: integer + description: Left coordinate of the bounding box. (0,0) is upper left. + description: Bounding box encompassing detected text within an image. + id: GooglePrivacyDlpV2BoundingBox + type: object + GooglePrivacyDlpV2PubSubExpressions: + properties: + logicalOperator: + type: string + enum: + - LOGICAL_OPERATOR_UNSPECIFIED + - OR + - AND + description: The operator to apply to the collection of conditions. + enumDescriptions: + - Unused. + - Conditional OR. + - Conditional AND. + conditions: type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2QuasiId' - description: >- - Required. Fields considered to be quasi-identifiers. No two fields - can have the same tag. - regionCode: - type: string - description: >- - ISO 3166-1 alpha-2 region code to use in the statistical modeling. - Set if no column is tagged with a region-specific InfoType (like - US_ZIP_5) or a region code. + $ref: '#/components/schemas/GooglePrivacyDlpV2PubSubCondition' + description: Conditions to apply to the expression. + description: An expression, consisting of an operator and conditions. + id: GooglePrivacyDlpV2PubSubExpressions + type: object + GooglePrivacyDlpV2DatabaseResourceRegexes: + id: GooglePrivacyDlpV2DatabaseResourceRegexes type: object description: >- - δ-presence metric, used to estimate how likely it is for an attacker to - figure out that one given individual appears in a de-identified dataset. - Similarly to the k-map metric, we cannot compute δ-presence exactly - without knowing the attack dataset, so we use a statistical model - instead. - id: GooglePrivacyDlpV2DeltaPresenceEstimationConfig - GooglePrivacyDlpV2ListStoredInfoTypesResponse: + A collection of regular expressions to determine what database resources + to match against. properties: - nextPageToken: + patterns: + type: array description: >- - If the next page is available then the next page token to be used in - the following ListStoredInfoTypes request. + A group of regular expression patterns to match against one or more + database resources. Maximum of 100 entries. The sum of all regular + expression's length can't exceed 10 KiB. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceRegex' + GooglePrivacyDlpV2KmsWrappedCryptoKey: + properties: + cryptoKeyName: type: string - storedInfoTypes: description: >- - List of storedInfoTypes, up to page_size in - ListStoredInfoTypesRequest. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + Required. The resource name of the KMS CryptoKey to use for + unwrapping. + wrappedKey: + type: string + format: byte + description: Required. The wrapped data crypto key. + description: >- + Include to use an existing data crypto key wrapped by KMS. The wrapped + key must be a 128-, 192-, or 256-bit key. Authorization requires the + following IAM permissions when sending a request to perform a crypto + transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more + information, see [Creating a wrapped key] + (https://cloud.google.com/sensitive-data-protection/docs/create-wrapped-key). + Note: When you use Cloud KMS for cryptographic operations, [charges + apply](https://cloud.google.com/kms/pricing). type: object - id: GooglePrivacyDlpV2ListStoredInfoTypesResponse - description: Response message for ListStoredInfoTypes. - GooglePrivacyDlpV2CloudSqlDiscoveryTarget: + id: GooglePrivacyDlpV2KmsWrappedCryptoKey + GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation: type: object + id: GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation properties: - conditions: - description: >- - In addition to matching the filter, these conditions must be true - before a profile is generated. - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryCloudSqlConditions' - generationCadence: - description: >- - How often and when to update profiles. New tables that match both - the filter and conditions are scanned as quickly as possible - depending on system capacity. - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoveryCloudSqlGenerationCadence - filter: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryCloudSqlFilter' - description: >- - Required. The tables the discovery cadence applies to. The first - target with a matching filter will be the one to apply to a table. - disabled: - description: Disable profiling for database resources that match this filter. - $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' - id: GooglePrivacyDlpV2CloudSqlDiscoveryTarget - description: Target used to match against for discovery with Cloud SQL tables. - GooglePrivacyDlpV2RedactConfig: - properties: {} + awsLocation: + $ref: '#/components/schemas/GooglePrivacyDlpV2AwsDiscoveryStartingLocation' + description: The AWS starting location for discovery. + description: The other cloud starting location for discovery. + GooglePrivacyDlpV2Disabled: type: object - id: GooglePrivacyDlpV2RedactConfig - description: >- - Redact a given value. For example, if used with an - `InfoTypeTransformation` transforming PHONE_NUMBER, and input 'My phone - number is 206-555-0123', the output would be 'My phone number is '. - GooglePrivacyDlpV2KMapEstimationConfig: - id: GooglePrivacyDlpV2KMapEstimationConfig + id: GooglePrivacyDlpV2Disabled + properties: {} + description: Do not profile the tables. + GooglePrivacyDlpV2Row: type: object - description: >- - Reidentifiability metric. This corresponds to a risk model similar to - what is called "journalist risk" in the literature, except the attack - dataset is statistically modeled instead of being perfectly known. This - can be done using publicly available data (like the US Census), or using - a custom statistical model (indicated as one or several BigQuery - tables), or by extrapolating from the distribution of values in the - input dataset. + id: GooglePrivacyDlpV2Row + description: Values of the row. properties: - quasiIds: + values: + description: Individual cells. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2TaggedField' + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' type: array - description: >- - Required. Fields considered to be quasi-identifiers. No two columns - can have the same tag. - regionCode: + GooglePrivacyDlpV2ListTableDataProfilesResponse: + description: List of profiles generated for a given organization or project. + type: object + properties: + nextPageToken: type: string - description: >- - ISO 3166-1 alpha-2 region code to use in the statistical modeling. - Set if no column is tagged with a region-specific InfoType (like - US_ZIP_5) or a region code. - auxiliaryTables: - description: >- - Several auxiliary tables can be used in the analysis. Each - custom_tag used to tag a quasi-identifiers column must appear in - exactly one column of one auxiliary table. + description: The next page token. + tableDataProfiles: + description: List of data profiles. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2AuxiliaryTable' + $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' type: array - GooglePrivacyDlpV2InspectResult: - id: GooglePrivacyDlpV2InspectResult - description: All the findings for a single scanned item. + id: GooglePrivacyDlpV2ListTableDataProfilesResponse + GooglePrivacyDlpV2RedactImageRequest: type: object properties: - findingsTruncated: + inspectConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + description: Configuration for the inspector. + includeFindings: description: >- - If true, then this item might have more findings than were returned, - and the findings returned are an arbitrary subset of all findings. - The findings list might be truncated because the input items were - too large, or because the server reached the maximum amount of - resources allowed for a single API call. For best results, divide - the input into smaller batches. + Whether the response should include findings along with the redacted + image. type: boolean - findings: + imageRedactionConfigs: type: array - description: List of findings for an item. + description: The configuration for specifying what content to redact from images. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Finding' - GooglePrivacyDlpV2ExcludeInfoTypes: - id: GooglePrivacyDlpV2ExcludeInfoTypes + $ref: '#/components/schemas/GooglePrivacyDlpV2ImageRedactionConfig' + byteItem: + description: The content must be PNG, JPEG, SVG or BMP. + $ref: '#/components/schemas/GooglePrivacyDlpV2ByteContentItem' + locationId: + description: Deprecated. This field has no effect. + type: string + description: >- + Request to search for potentially sensitive info in an image and redact + it by covering it with a colored rectangle. + id: GooglePrivacyDlpV2RedactImageRequest + GooglePrivacyDlpV2OtherCloudResourceCollection: + description: Match resources using regex filters. type: object - description: List of excluded infoTypes. + id: GooglePrivacyDlpV2OtherCloudResourceCollection properties: - infoTypes: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + includeRegexes: + $ref: '#/components/schemas/GooglePrivacyDlpV2OtherCloudResourceRegexes' + description: A collection of regular expressions to match a resource against. + GooglePrivacyDlpV2InfoTypeDescription: + type: object + description: InfoType description. + id: GooglePrivacyDlpV2InfoTypeDescription + properties: + name: + description: Internal name of the infoType. + type: string + versions: + description: A list of available versions for the infotype. type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2VersionDescription' + description: + type: string description: >- - InfoType list in ExclusionRule rule drops a finding when it overlaps - or contained within with a finding of an infoType from this list. - For example, for `InspectionRuleSet.info_types` containing - "PHONE_NUMBER"` and `exclusion_rule` containing - `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone - number findings are dropped if they overlap with EMAIL_ADDRESS - finding. That leads to "555-222-2222@example.org" to generate only a - single finding, namely email address. - GooglePrivacyDlpV2ListColumnDataProfilesResponse: - properties: - nextPageToken: - description: The next page token. + Description of the infotype. Translated when language is provided in + the request. + categories: + type: array + description: The category of the infoType. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeCategory' + supportedBy: + description: Which parts of the API supports this InfoType. + items: + enum: + - ENUM_TYPE_UNSPECIFIED + - INSPECT + - RISK_ANALYSIS + enumDescriptions: + - Unused. + - Supported by the inspect operations. + - Supported by the risk analysis operations. + type: string + type: array + sensitivityScore: + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + description: The default sensitivity of the infoType. + displayName: type: string - columnDataProfiles: + description: Human readable form of the infoType name. + GooglePrivacyDlpV2FieldTransformation: + properties: + infoTypeTransformations: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeTransformations' + description: >- + Treat the contents of the field as free text, and selectively + transform content that matches an `InfoType`. + fields: type: array - description: List of data profiles. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' - id: GooglePrivacyDlpV2ListColumnDataProfilesResponse - description: List of profiles generated for a given organization or project. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: >- + Required. Input field(s) to apply the transformation to. When you + have columns that reference their position within a list, omit the + index from the FieldId. FieldId name matching ignores the index. For + example, instead of "contact.nums[0].type", use "contact.nums.type". + primitiveTransformation: + $ref: '#/components/schemas/GooglePrivacyDlpV2PrimitiveTransformation' + description: Apply the transformation to the entire field. + condition: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordCondition' + description: >- + Only apply the transformation if the condition evaluates to true for + the given `RecordCondition`. The conditions are allowed to reference + fields that are not used in the actual transformation. Example Use + Cases: - Apply a different bucket transformation to an age column if + the zip code column for the same record is within a specific range. + - Redact a field if the date of birth field is greater than 85. + description: The transformation to apply to the field. + type: object + id: GooglePrivacyDlpV2FieldTransformation + GooglePrivacyDlpV2RecordKey: + description: Message for a unique key indicating a record that contains a finding. + id: GooglePrivacyDlpV2RecordKey type: object - GooglePrivacyDlpV2DataSourceType: properties: - dataSource: - readOnly: true - type: string + bigQueryKey: + description: Datastore key + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryKey' + idValues: description: >- - Output only. An identifying string to the type of resource being - profiled. Current values: * google/bigquery/table * google/project * - google/sql/table * google/gcs/bucket - id: GooglePrivacyDlpV2DataSourceType - description: Message used to identify the type of resource being profiled. + Values of identifying columns in the given row. Order of values + matches the order of `identifying_fields` specified in the scanning + request. + type: array + items: + type: string + datastoreKey: + $ref: '#/components/schemas/GooglePrivacyDlpV2DatastoreKey' + description: BigQuery key + GooglePrivacyDlpV2OtherInfoTypeSummary: + id: GooglePrivacyDlpV2OtherInfoTypeSummary + properties: + excludedFromAnalysis: + type: boolean + description: >- + Whether this infoType was excluded from sensitivity and risk + analysis due to factors such as low prevalence (subject to change). + estimatedPrevalence: + type: integer + format: int32 + description: >- + Approximate percentage of non-null rows that contained data detected + by this infotype. + infoType: + description: The other infoType. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: Infotype details for other infoTypes found within a column. type: object - GooglePrivacyDlpV2EntityId: + GooglePrivacyDlpV2InspectionRule: + properties: + hotwordRule: + $ref: '#/components/schemas/GooglePrivacyDlpV2HotwordRule' + description: Hotword-based detection rule. + exclusionRule: + $ref: '#/components/schemas/GooglePrivacyDlpV2ExclusionRule' + description: Exclusion rule. type: object + id: GooglePrivacyDlpV2InspectionRule description: >- - An entity in a dataset is a field or set of fields that correspond to a - single person. For example, in medical records the `EntityId` might be a - patient identifier, or for financial records it might be an account - identifier. This message is used when generalizations or analysis must - take into account that multiple rows correspond to the same entity. - id: GooglePrivacyDlpV2EntityId + A single inspection rule to be applied to infoTypes, specified in + `InspectionRuleSet`. + GooglePrivacyDlpV2CryptoDeterministicConfig: + id: GooglePrivacyDlpV2CryptoDeterministicConfig + description: >- + Pseudonymization method that generates deterministic encryption for the + given input. Outputs a base64 encoded representation of the encrypted + output. Uses AES-SIV based on the RFC + https://tools.ietf.org/html/rfc5297. + type: object properties: - field: + context: $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: Composite key indicating which field contains the entity identifier. - GooglePrivacyDlpV2DatabaseResourceCollection: - description: >- - Match database resources using regex filters. Examples of database - resources are tables, views, and stored procedures. + description: >- + A context may be used for higher security and maintaining + referential integrity such that the same identifier in two different + contexts will be given a distinct surrogate. The context is appended + to plaintext value being encrypted. On decryption the provided + context is validated against the value used during encryption. If a + context was provided during encryption, same context must be + provided during decryption as well. If the context is not set, + plaintext would be used as is for encryption. If the context is set + but: 1. there is no record present when transforming a given value + or 2. the field is not present when transforming a given value, + plaintext would be used as is for encryption. Note that case (1) is + expected when an `InfoTypeTransformation` is applied to both + structured and unstructured `ContentItem`s. + cryptoKey: + $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' + description: >- + The key used by the encryption function. For deterministic + encryption using AES-SIV, the provided key is internally expanded to + 64 bytes prior to use. + surrogateInfoType: + description: >- + The custom info type to annotate the surrogate with. This annotation + will be applied to the surrogate by prefixing it with the name of + the custom info type followed by the number of characters comprising + the surrogate. The following scheme defines the format: {info type + name}({surrogate character count}):{surrogate} For example, if the + name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate + is 'abc', the full replacement value will be: + 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate + when inspecting content using the custom info type 'Surrogate'. This + facilitates reversal of the surrogate when it occurs in free text. + Note: For record transformations where the entire cell in a table is + being transformed, surrogates are not mandatory. Surrogates are used + to denote the location of the token and are necessary for + re-identification in free form text. In order for inspection to work + properly, the name of this info type must not occur naturally + anywhere in your data; otherwise, inspection may either - reverse a + surrogate that does not correspond to an actual identifier - be + unable to parse the surrogate and result in an error Therefore, + choose your custom info type name carefully after considering what + your data looks like. One way to select a name that has a high + chance of yielding reliable detection is to include one or more + unicode characters that are highly improbable to exist in your data. + For example, assuming your data is entered from a regular ASCII + keyboard, the symbol with the hex code point 29DD might be used like + so: ⧝MY_TOKEN_TYPE. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + GooglePrivacyDlpV2DiscoveryCloudStorageConditions: type: object - id: GooglePrivacyDlpV2DatabaseResourceCollection + id: GooglePrivacyDlpV2DiscoveryCloudStorageConditions properties: - includeRegexes: + includedBucketAttributes: + items: + enumDescriptions: + - Unused. + - Scan buckets regardless of the attribute. + - >- + Buckets with autoclass disabled + (https://cloud.google.com/storage/docs/autoclass). Only one of + AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. + - >- + Buckets with autoclass enabled + (https://cloud.google.com/storage/docs/autoclass). Only one of + AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. Scanning + Autoclass-enabled buckets can affect object storage classes. + enum: + - CLOUD_STORAGE_BUCKET_ATTRIBUTE_UNSPECIFIED + - ALL_SUPPORTED_BUCKETS + - AUTOCLASS_DISABLED + - AUTOCLASS_ENABLED + type: string description: >- - A collection of regular expressions to match a database resource - against. - $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceRegexes' - GooglePrivacyDlpV2CloudStorageOptions: - type: object - properties: - fileTypes: + Required. Only objects with the specified attributes will be + scanned. Defaults to [ALL_SUPPORTED_BUCKETS] if unset. + type: array + includedObjectAttributes: type: array items: enum: - - FILE_TYPE_UNSPECIFIED - - BINARY_FILE - - TEXT_FILE - - IMAGE - - WORD - - PDF - - AVRO - - CSV - - TSV - - POWERPOINT - - EXCEL + - CLOUD_STORAGE_OBJECT_ATTRIBUTE_UNSPECIFIED + - ALL_SUPPORTED_OBJECTS + - STANDARD + - NEARLINE + - COLDLINE + - ARCHIVE + - REGIONAL + - MULTI_REGIONAL + - DURABLE_REDUCED_AVAILABILITY + type: string enumDescriptions: - - Includes all files. - - >- - Includes all file extensions not covered by another entry. - Binary scanning attempts to convert the content of the file to - utf_8 to scan the file. If you wish to avoid this fall back, - specify one or more of the other file types in your storage - scan. - - >- - Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, - cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, - go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, - mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, - rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, - xhtml, lhs, ics, ini, java, js, json, jsonl, kix, kml, ocaml, - md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, - xsd, yml, yaml. - - >- - Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting - bytes_limit_per_file or bytes_limit_per_file_percent has no - effect on image files. Image inspection is restricted to the - `global`, `us`, `asia`, and `europe` regions. + - Unused. + - Scan objects regardless of the attribute. + - Scan objects with the standard storage class. - >- - Microsoft Word files larger than 30 MB will be scanned as binary - files. Included file extensions: docx, dotx, docm, dotm. Setting - `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no - effect on Word files. + Scan objects with the nearline storage class. This will incur + retrieval fees. - >- - PDF files larger than 30 MB will be scanned as binary files. - Included file extensions: pdf. Setting `bytes_limit_per_file` or - `bytes_limit_per_file_percent` has no effect on PDF files. - - 'Included file extensions: avro' - - 'Included file extensions: csv' - - 'Included file extensions: tsv' + Scan objects with the coldline storage class. This will incur + retrieval fees. - >- - Microsoft PowerPoint files larger than 30 MB will be scanned as - binary files. Included file extensions: pptx, pptm, potx, potm, - pot. Setting `bytes_limit_per_file` or - `bytes_limit_per_file_percent` has no effect on PowerPoint - files. + Scan objects with the archive storage class. This will incur + retrieval fees. + - Scan objects with the regional storage class. + - Scan objects with the multi-regional storage class. - >- - Microsoft Excel files larger than 30 MB will be scanned as - binary files. Included file extensions: xlsx, xlsm, xltx, xltm. - Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` - has no effect on Excel files. - type: string + Scan objects with the dual-regional storage class. This will + incur retrieval fees. description: >- - List of file type groups to include in the scan. If empty, all files - are scanned and available data format processors are applied. In - addition, the binary content of the selected files is always scanned - as well. Images are scanned only as binary if the specified region - does not support image inspection and no file_types were specified. - Image inspection is restricted to 'global', 'us', 'asia', and - 'europe'. - bytesLimitPerFile: + Required. Only objects with the specified attributes will be + scanned. If an object has one of the specified attributes but is + inside an excluded bucket, it will not be scanned. Defaults to + [ALL_SUPPORTED_OBJECTS]. A profile will be created even if no + objects match the included_object_attributes. + description: >- + Requirements that must be true before a Cloud Storage bucket or object + is scanned in discovery for the first time. There is an AND relationship + between the top-level attributes. + GooglePrivacyDlpV2Schedule: + properties: + recurrencePeriodDuration: type: string description: >- - Max number of bytes to scan from a file. If a scanned file's size is - bigger than this value then the rest of the bytes are omitted. Only - one of `bytes_limit_per_file` and `bytes_limit_per_file_percent` can - be specified. This field can't be set if de-identification is - requested. For certain file types, setting this field has no effect. - For more information, see [Limits on bytes scanned per - file](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types#max-byte-size-per-file). - format: int64 - filesLimitPercent: + With this option a job is started on a regular periodic basis. For + example: every day (86400 seconds). A scheduled start time will be + skipped if the previous execution has not ended when its scheduled + time occurs. This value must be set to a time duration greater than + or equal to 1 day and can be no longer than 60 days. + format: google-duration + id: GooglePrivacyDlpV2Schedule + description: Schedule for inspect job triggers. + type: object + GooglePrivacyDlpV2AmazonS3BucketConditions: + id: GooglePrivacyDlpV2AmazonS3BucketConditions + type: object + properties: + objectStorageClasses: description: >- - Limits the number of files to scan to this percentage of the input - FileSet. Number of files scanned is rounded down. Must be between 0 - and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. - type: integer - format: int32 - bytesLimitPerFilePercent: - format: int32 - type: integer + Optional. Object classes that should be profiled. Optional. Defaults + to ALL_SUPPORTED_CLASSES if unspecified. + items: + enum: + - UNSPECIFIED + - ALL_SUPPORTED_CLASSES + - STANDARD + - STANDARD_INFREQUENT_ACCESS + - GLACIER_INSTANT_RETRIEVAL + - INTELLIGENT_TIERING + type: string + enumDescriptions: + - Unused. + - All supported classes. + - Standard object class. + - Standard - infrequent access object class. + - Glacier - instant retrieval object class. + - Objects in the S3 Intelligent-Tiering access tiers. + type: array + bucketTypes: description: >- - Max percentage of bytes to scan from a file. The rest are omitted. - The number of bytes scanned is rounded down. Must be between 0 and - 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only - one of bytes_limit_per_file and bytes_limit_per_file_percent can be - specified. This field can't be set if de-identification is - requested. For certain file types, setting this field has no effect. - For more information, see [Limits on bytes scanned per - file](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types#max-byte-size-per-file). - fileSet: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileSet' - description: The set of one or more files to scan. - sampleMethod: - type: string - enumDescriptions: - - No sampling. - - Scan from the top (default). - - >- - For each file larger than bytes_limit_per_file, randomly pick the - offset to start scanning. The scanned bytes are contiguous. - enum: - - SAMPLE_METHOD_UNSPECIFIED - - TOP - - RANDOM_START - description: How to sample the data. - description: Options defining a file or a set of files within a Cloud Storage bucket. - id: GooglePrivacyDlpV2CloudStorageOptions - GooglePrivacyDlpV2CloudStorageRegex: - id: GooglePrivacyDlpV2CloudStorageRegex + Optional. Bucket types that should be profiled. Optional. Defaults + to TYPE_ALL_SUPPORTED if unspecified. + type: array + items: + enumDescriptions: + - Unused. + - All supported classes. + - A general purpose Amazon S3 bucket. + enum: + - TYPE_UNSPECIFIED + - TYPE_ALL_SUPPORTED + - TYPE_GENERAL_PURPOSE + type: string + description: Amazon S3 bucket conditions. + GooglePrivacyDlpV2TransformationSummary: properties: - projectIdRegex: - description: Optional. For organizations, if unset, will match all projects. - type: string - bucketNameRegex: - type: string + field: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: Set if the transformation was limited to a specific FieldId. + transformation: + description: The specific transformation these stats apply to. + $ref: '#/components/schemas/GooglePrivacyDlpV2PrimitiveTransformation' + results: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2SummaryResult' + type: array + description: Collection of all transformations that took place or had an error. + fieldTransformations: + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldTransformation' description: >- - Optional. Regex to test the bucket name against. If empty, all - buckets match. Example: "marketing2021" or "(marketing)\d{4}" will - both match the bucket gs://marketing2021 + The field transformation that was applied. If multiple field + transformations are requested for a single field, this list will + contain all of them; otherwise, only one is supplied. + infoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: Set if the transformation was limited to a specific InfoType. + recordSuppress: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordSuppression' + description: The specific suppression option these stats apply to. + transformedBytes: + description: Total size in bytes that were transformed in some way. + format: int64 + type: string description: >- - A pattern to match against one or more file stores. At least one pattern - must be specified. Regular expressions use RE2 - [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be - found under the google/re2 repository on GitHub. + Summary of a single transformation. Only one of 'transformation', + 'field_transformation', or 'record_suppress' will be set. type: object - GooglePrivacyDlpV2UnwrappedCryptoKey: + id: GooglePrivacyDlpV2TransformationSummary + GooglePrivacyDlpV2CloudStorageRegexFileSet: type: object - id: GooglePrivacyDlpV2UnwrappedCryptoKey - description: >- - Using raw keys is prone to security risks due to accidentally leaking - the key. Choose another type of key if possible. - properties: - key: - description: Required. A 128/192/256 bit key. - type: string - format: byte - GooglePrivacyDlpV2CustomInfoType: properties: - exclusionType: - type: string - description: >- - If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a - finding to be returned. It still can be used for rules matching. - enumDescriptions: - - >- - A finding of this custom info type will not be excluded from - results. - - >- - A finding of this custom info type will be excluded from final - results, but can still affect rule execution. - enum: - - EXCLUSION_TYPE_UNSPECIFIED - - EXCLUSION_TYPE_EXCLUDE - storedType: - description: >- - Load an existing `StoredInfoType` resource for use in - `InspectDataSource`. Not currently supported in `InspectContent`. - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredType' - sensitivityScore: + excludeRegex: + type: array + items: + type: string description: >- - Sensitivity for this CustomInfoType. If this CustomInfoType extends - an existing InfoType, the sensitivity here will take precedence over - that of the original InfoType. If unset for a CustomInfoType, it - will default to HIGH. This only applies to data profiling. - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - surrogateType: + A list of regular expressions matching file paths to exclude. All + files in the bucket that match at least one of these regular + expressions will be excluded from the scan. Regular expressions use + RE2 [syntax](https://github.com/google/re2/wiki/Syntax); a guide can + be found under the google/re2 repository on GitHub. + bucketName: + description: The name of a Cloud Storage bucket. Required. + type: string + includeRegex: + items: + type: string + type: array description: >- - Message for detecting output from deidentification transformations - that support reversing. - $ref: '#/components/schemas/GooglePrivacyDlpV2SurrogateType' + A list of regular expressions matching file paths to include. All + files in the bucket that match at least one of these regular + expressions will be included in the set of files, except for those + that also match an item in `exclude_regex`. Leaving this field empty + will match all files by default (this is equivalent to including + `.*` in the list). Regular expressions use RE2 + [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be + found under the google/re2 repository on GitHub. + id: GooglePrivacyDlpV2CloudStorageRegexFileSet + description: >- + Message representing a set of files in a Cloud Storage bucket. Regular + expressions are used to allow fine-grained control over which files in + the bucket to include. Included files are those that match at least one + item in `include_regex` and do not match any items in `exclude_regex`. + Note that a file that matches items from both lists will _not_ be + included. For a match to occur, the entire file path (i.e., everything + in the url after the bucket name) must match the regular expression. For + example, given the input `{bucket_name: "mybucket", include_regex: + ["directory1/.*"], exclude_regex: ["directory1/excluded.*"]}`: * + `gs://mybucket/directory1/myfile` will be included * + `gs://mybucket/directory1/directory2/myfile` will be included (`.*` + matches across `/`) * `gs://mybucket/directory0/directory1/myfile` will + _not_ be included (the full path doesn't match any items in + `include_regex`) * `gs://mybucket/directory1/excludedfile` will _not_ be + included (the path matches an item in `exclude_regex`) If + `include_regex` is left empty, it will match all files by default (this + is equivalent to setting `include_regex: [".*"]`). Some other common use + cases: * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will + include all files in `mybucket` except for .pdf files * `{bucket_name: + "mybucket", include_regex: ["directory/[^/]+"]}` will include all files + directly under `gs://mybucket/directory/`, without matching across `/` + GooglePrivacyDlpV2TaggedField: + id: GooglePrivacyDlpV2TaggedField + description: A column with a semantic tag attached. + type: object + properties: infoType: + description: >- + A column can be tagged with a InfoType to use the relevant public + dataset as a statistical model of population, if available. We + currently support US ZIP codes, region codes, ages and genders. To + programmatically obtain the list of supported InfoTypes, use + ListInfoTypes with the supported_by=RISK_ANALYSIS filter. $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + field: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: Required. Identifies the column. + customTag: + type: string description: >- - CustomInfoType can either be a new infoType, or an extension of - built-in infoType, when the name matches one of existing infoTypes - and that infoType is specified in `InspectContent.info_types` field. - Specifying the latter adds findings to the one detected by the - system. If built-in info type is not specified in - `InspectContent.info_types` list then the name is treated as a - custom info type. - regex: - $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' - description: Regular expression based CustomInfoType. - detectionRules: + A column can be tagged with a custom tag. In this case, the user + must indicate an auxiliary table that contains statistical + information on the possible values of this column (below). + inferred: + $ref: '#/components/schemas/GoogleProtobufEmpty' description: >- - Set of detection rules to apply to all findings of this - CustomInfoType. Rules are applied in order that they are specified. - Not supported for the `surrogate_type` CustomInfoType. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DetectionRule' - dictionary: - description: A list of phrases to detect as a CustomInfoType. - $ref: '#/components/schemas/GooglePrivacyDlpV2Dictionary' - likelihood: + If no semantic tag is indicated, we infer the statistical model from + the distribution of values in the input data + GooglePrivacyDlpV2DataProfilePubSubCondition: + description: A condition for determining whether a Pub/Sub should be triggered. + id: GooglePrivacyDlpV2DataProfilePubSubCondition + type: object + properties: + expressions: + description: An expression. + $ref: '#/components/schemas/GooglePrivacyDlpV2PubSubExpressions' + GooglePrivacyDlpV2OrConditions: + properties: + minAge: description: >- - Likelihood to return for this CustomInfoType. This base value can be - altered by a detection rule if the finding meets the criteria - specified by the rule. Defaults to `VERY_LIKELY` if not specified. + Minimum age a table must have before Cloud DLP can profile it. Value + must be 1 hour or greater. type: string - enum: - - LIKELIHOOD_UNSPECIFIED - - VERY_UNLIKELY - - UNLIKELY - - POSSIBLE - - LIKELY - - VERY_LIKELY - enumDescriptions: - - Default value; same as POSSIBLE. - - Highest chance of a false positive. - - High chance of a false positive. - - Some matching signals. The default value. - - Low chance of a false positive. - - Confidence level is high. Lowest chance of a false positive. - id: GooglePrivacyDlpV2CustomInfoType + format: google-duration + minRowCount: + description: >- + Minimum number of rows that should be present before Cloud DLP + profiles a table + type: integer + format: int32 + id: GooglePrivacyDlpV2OrConditions type: object description: >- - Custom information type provided by the user. Used to find - domain-specific sensitive information configurable to the data in - question. - GooglePrivacyDlpV2LDiversityEquivalenceClass: - description: The set of columns' values that share the same ldiversity value. + There is an OR relationship between these attributes. They are used to + determine if a table should be scanned or not in Discovery. + GooglePrivacyDlpV2DataProfilePubSubMessage: + type: object + id: GooglePrivacyDlpV2DataProfilePubSubMessage + description: >- + Pub/Sub topic message for a DataProfileAction.PubSubNotification event. + To receive a message of protocol buffer schema type, convert the message + data to an object of this proto class. properties: - quasiIdsValues: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + profile: + $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' description: >- - Quasi-identifier values defining the k-anonymity equivalence class. - The order is always the same as the original request. - type: array - equivalenceClassSize: - description: Size of the k-anonymity equivalence class. + If `DetailLevel` is `TABLE_PROFILE` this will be fully populated. + Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and + `full_resource` will be populated. + event: + enum: + - EVENT_TYPE_UNSPECIFIED + - NEW_PROFILE + - CHANGED_PROFILE + - SCORE_INCREASED + - ERROR_CHANGED + description: The event that caused the Pub/Sub message to be sent. + enumDescriptions: + - Unused. + - New profile (not a re-profile). + - >- + One of the following profile metrics changed: Data risk score, + Sensitivity score, Resource visibility, Encryption type, Predicted + infoTypes, Other infoTypes + - Table data risk score or sensitivity score increased. + - A user (non-internal) error occurred. type: string + fileStoreProfile: + description: >- + If `DetailLevel` is `FILE_STORE_PROFILE` this will be fully + populated. Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only + `name` and `file_store_path` will be populated. + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' + GooglePrivacyDlpV2TableLocation: + description: Location of a finding within a table. + properties: + rowIndex: format: int64 - numDistinctSensitiveValues: type: string - description: Number of distinct sensitive values in this equivalence class. - format: int64 - topSensitiveValues: - description: Estimated frequencies of top sensitive values. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ValueFrequency' - type: array + description: >- + The zero-based index of the row where the finding is located. Only + populated for resources that have a natural ordering, not BigQuery. + In BigQuery, to identify the row a finding came from, populate + BigQueryOptions.identifying_fields with your primary key column + names and when you store the findings the value of those columns + will be stored inside of Finding. + type: object + id: GooglePrivacyDlpV2TableLocation + GooglePrivacyDlpV2MetadataLocation: + properties: + type: + type: string + enum: + - METADATATYPE_UNSPECIFIED + - STORAGE_METADATA + enumDescriptions: + - Unused + - General file metadata provided by Cloud Storage. + description: Type of metadata containing the finding. + storageLabel: + description: Storage metadata. + $ref: '#/components/schemas/GooglePrivacyDlpV2StorageMetadataLabel' type: object - id: GooglePrivacyDlpV2LDiversityEquivalenceClass - GooglePrivacyDlpV2BoundingBox: - properties: - top: - format: int32 - description: Top coordinate of the bounding box. (0,0) is upper left. - type: integer - left: - description: Left coordinate of the bounding box. (0,0) is upper left. - type: integer - format: int32 - height: - type: integer - description: Height of the bounding box in pixels. - format: int32 - width: - format: int32 - type: integer - description: Width of the bounding box in pixels. - id: GooglePrivacyDlpV2BoundingBox + id: GooglePrivacyDlpV2MetadataLocation + description: Metadata Location + GooglePrivacyDlpV2SensitivityScore: type: object - description: Bounding box encompassing detected text within an image. - GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket: + properties: + score: + description: The sensitivity score applied to the resource. + enum: + - SENSITIVITY_SCORE_UNSPECIFIED + - SENSITIVITY_LOW + - SENSITIVITY_UNKNOWN + - SENSITIVITY_MODERATE + - SENSITIVITY_HIGH + enumDescriptions: + - Unused. + - >- + No sensitive information detected. The resource isn't publicly + accessible. + - Unable to determine sensitivity. + - >- + Medium risk. Contains personally identifiable information (PII), + potentially sensitive data, or fields with free-text data that are + at a higher risk of having intermittent sensitive data. Consider + limiting access. + - >- + High risk. Sensitive personally identifiable information (SPII) + can be present. Exfiltration of data can lead to user data loss. + Re-identification of users might be possible. Consider limiting + usage and or removing SPII. + type: string + id: GooglePrivacyDlpV2SensitivityScore description: >- - A DeltaPresenceEstimationHistogramBucket message with the following - values: min_probability: 0.1 max_probability: 0.2 frequency: 42 means - that there are 42 records for which δ is in [0.1, 0.2). An important - particular case is when min_probability = max_probability = 1: then, - every individual who shares this quasi-identifier combination is in the - dataset. - type: object + Score is calculated from of all elements in the data profile. A higher + level means the data is more sensitive. + GooglePrivacyDlpV2KMapEstimationHistogramBucket: + description: >- + A KMapEstimationHistogramBucket message with the following values: + min_anonymity: 3 max_anonymity: 5 frequency: 42 means that there are 42 + records whose quasi-identifier values correspond to 3, 4 or 5 people in + the overlying population. An important particular case is when + min_anonymity = max_anonymity = 1: the frequency field then corresponds + to the number of uniquely identifiable records. properties: - maxProbability: - type: number - description: Always greater than or equal to min_probability. - format: double - bucketSize: + bucketValueCount: format: int64 type: string - description: Number of records within these probability bounds. - bucketValueCount: description: >- Total number of distinct quasi-identifier tuple values in this bucket. + bucketSize: + type: string + description: Number of records within these anonymity bounds. format: int64 + minAnonymity: + type: string + description: Always positive. + format: int64 + maxAnonymity: + format: int64 + description: Always greater than or equal to min_anonymity. type: string - minProbability: - format: double - description: Between 0 and 1. - type: number bucketValues: items: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues + $ref: '#/components/schemas/GooglePrivacyDlpV2KMapEstimationQuasiIdValues' + type: array description: >- Sample of quasi-identifier tuple values in this bucket. The total number of classes returned per bucket is capped at 20. - type: array - id: GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket - GooglePrivacyDlpV2CloudStoragePath: type: object - description: Message representing a single file or path in Cloud Storage. - id: GooglePrivacyDlpV2CloudStoragePath + id: GooglePrivacyDlpV2KMapEstimationHistogramBucket + GooglePrivacyDlpV2CreateDlpJobRequest: properties: - path: - type: string + riskJob: + $ref: '#/components/schemas/GooglePrivacyDlpV2RiskAnalysisJobConfig' description: >- - A URL representing a file or path (no wildcards) in Cloud Storage. - Example: `gs://[BUCKET_NAME]/dictionary.txt` - GooglePrivacyDlpV2InspectDataSourceDetails: - type: object - description: The results of an inspect DataSource job. - properties: - requestedOptions: - description: The configuration used for this job. - $ref: '#/components/schemas/GooglePrivacyDlpV2RequestedOptions' - result: - description: A summary of the outcome of this inspection job. - $ref: '#/components/schemas/GooglePrivacyDlpV2Result' - id: GooglePrivacyDlpV2InspectDataSourceDetails - GooglePrivacyDlpV2RecordKey: - description: Message for a unique key indicating a record that contains a finding. + A risk analysis job calculates re-identification risk metrics for a + BigQuery table. + jobId: + description: >- + The job id can contain uppercase and lowercase letters, numbers, and + hyphens; that is, it must match the regular expression: + `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty + to allow the system to generate one. + type: string + inspectJob: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectJobConfig' + description: An inspection job scans a storage repository for InfoTypes. + locationId: + type: string + description: Deprecated. This field has no effect. type: object + description: >- + Request message for CreateDlpJobRequest. Used to initiate long running + jobs such as calculating risk metrics or inspecting Google Cloud + Storage. + id: GooglePrivacyDlpV2CreateDlpJobRequest + GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues: + description: A tuple of values for the quasi-identifier columns. + id: GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues properties: - idValues: + estimatedProbability: + format: double description: >- - Values of identifying columns in the given row. Order of values - matches the order of `identifying_fields` specified in the scanning - request. + The estimated probability that a given individual sharing these + quasi-identifier values is in the dataset. This value, typically + called δ, is the ratio between the number of records in the dataset + with these quasi-identifier values, and the total number of + individuals (inside *and* outside the dataset) with these + quasi-identifier values. For example, if there are 15 individuals in + the dataset who share the same quasi-identifier values, and an + estimated 100 people in the entire population with these values, + then δ is 0.15. + type: number + quasiIdsValues: + description: The quasi-identifier values. type: array items: - type: string - bigQueryKey: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryKey' - description: Datastore key - datastoreKey: - description: BigQuery key - $ref: '#/components/schemas/GooglePrivacyDlpV2DatastoreKey' - id: GooglePrivacyDlpV2RecordKey - GooglePrivacyDlpV2InspectTemplate: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + type: object + GooglePrivacyDlpV2OutputStorageConfig: + type: object + description: Cloud repository for storing output. properties: - updateTime: - readOnly: true - format: google-datetime - description: Output only. The last update timestamp of an inspectTemplate. + outputSchema: + enum: + - OUTPUT_SCHEMA_UNSPECIFIED + - BASIC_COLUMNS + - GCS_COLUMNS + - DATASTORE_COLUMNS + - BIG_QUERY_COLUMNS + - ALL_COLUMNS + enumDescriptions: + - Unused. + - >- + Basic schema including only `info_type`, `quote`, `certainty`, and + `timestamp`. + - Schema tailored to findings from scanning Cloud Storage. + - Schema tailored to findings from scanning Google Datastore. + - Schema tailored to findings from scanning Google BigQuery. + - Schema containing all columns. type: string - inspectConfig: description: >- - The core content of the template. Configuration of the scanning - process. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' - displayName: - description: Display name (max 256 chars). - type: string - name: + Schema used for writing the findings for Inspect jobs. This field is + only used for Inspect and must be unspecified for Risk jobs. Columns + are derived from the `Finding` object. If appending to an existing + table, any columns from the predefined schema that are missing will + be added. No columns in the existing table will be deleted. If + unspecified, then all available columns will be used for a new table + or an (existing) table with no schema, and no changes will be made + to an existing table that has a schema. Only for use with external + storage. + table: description: >- - Output only. The template name. The template will have one of the - following formats: - `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR - `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`; - readOnly: true - type: string - description: - type: string - description: Short description (max 256 chars). - createTime: - readOnly: true - description: Output only. The creation timestamp of an inspectTemplate. + Store findings in an existing table or a new table in an existing + dataset. If table_id is not set a new one will be generated for you + with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. + Pacific time zone will be used for generating the date details. For + Inspect, each column in an existing output table must have the same + name, type, and mode of a field in the `Finding` object. For Risk, + an existing output table should be the output of a previous Risk + analysis job run on the same source table, with the same privacy + metric and quasi-identifiers. Risk jobs that analyze the same table + but compute a different privacy metric, or use different sets of + quasi-identifiers, cannot store their results in the same table. + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + id: GooglePrivacyDlpV2OutputStorageConfig + GooglePrivacyDlpV2ContentItem: + description: Type of content to inspect. + properties: + table: + $ref: '#/components/schemas/GooglePrivacyDlpV2Table' + description: >- + Structured content for inspection. See + https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table + to learn more. + value: + description: String data to inspect or redact. type: string - format: google-datetime - description: >- - The inspectTemplate contains a configuration (set of types of sensitive - data to be detected) to be used anywhere you otherwise would normally - specify InspectConfig. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-templates - to learn more. - id: GooglePrivacyDlpV2InspectTemplate + byteItem: + $ref: '#/components/schemas/GooglePrivacyDlpV2ByteContentItem' + description: Content data to inspect or redact. Replaces `type` and `data`. + id: GooglePrivacyDlpV2ContentItem type: object - GooglePrivacyDlpV2Result: + GooglePrivacyDlpV2ReidentifyContentResponse: + id: GooglePrivacyDlpV2ReidentifyContentResponse + description: Results of re-identifying an item. type: object - id: GooglePrivacyDlpV2Result properties: - processedBytes: - type: string - format: int64 - description: Total size in bytes that were processed. - numRowsProcessed: - description: >- - Number of rows scanned after sampling and time filtering (applicable - for row based stores such as BigQuery). - type: string - format: int64 - hybridStats: - description: Statistics related to the processing of hybrid inspect. - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridInspectStatistics' - infoTypeStats: - type: array - description: >- - Statistics of how many instances of each info type were found during - inspect job. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeStats' - totalEstimatedBytes: - type: string - description: Estimate of the number of bytes to process. - format: int64 - description: >- - All result fields mentioned below are updated while the job is - processing. - GooglePrivacyDlpV2ImageRedactionConfig: + overview: + description: An overview of the changes that were made to the `item`. + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationOverview' + item: + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' + description: The re-identified item. + GooglePrivacyDlpV2FileStoreRegex: + description: A pattern to match against one or more file stores. type: object properties: - redactAllText: - type: boolean - description: >- - If true, all text found in the image, regardless whether it matches - an info_type, is redacted. Only one should be provided. - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: >- - Only one per info_type should be provided per request. If not - specified, and redact_all_text is false, the DLP API will redact all - text that it matches against all info_types that are found, but not - specified in another ImageRedactionConfig. - redactionColor: - description: >- - The color to use when redacting content from an image. If not - specified, the default is black. - $ref: '#/components/schemas/GooglePrivacyDlpV2Color' - description: Configuration for determining how redaction of images should occur. - id: GooglePrivacyDlpV2ImageRedactionConfig - GooglePrivacyDlpV2DataProfileConfigSnapshot: + cloudStorageRegex: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageRegex' + description: Optional. Regex for Cloud Storage. + id: GooglePrivacyDlpV2FileStoreRegex + GooglePrivacyDlpV2DatastoreOptions: + id: GooglePrivacyDlpV2DatastoreOptions type: object - id: GooglePrivacyDlpV2DataProfileConfigSnapshot + description: Options defining a data set within Google Cloud Datastore. properties: - inspectTemplateModifiedTime: - format: google-datetime - description: Timestamp when the template was modified - type: string - inspectTemplateName: - type: string - description: Name of the inspection template used to generate this profile - dataProfileJob: - deprecated: true + partitionId: description: >- - A copy of the configuration used to generate this profile. This is - deprecated, and the DiscoveryConfig field is preferred moving - forward. DataProfileJobConfig will still be written here for - Discovery in BigQuery for backwards compatibility, but will not be - updated with new fields, while DiscoveryConfig will. - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileJobConfig' - discoveryConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' - description: A copy of the configuration used to generate this profile. - inspectConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + A partition ID identifies a grouping of entities. The grouping is + always by project and namespace, however the namespace ID may be + empty. + $ref: '#/components/schemas/GooglePrivacyDlpV2PartitionId' + kind: + description: The kind to process. + $ref: '#/components/schemas/GooglePrivacyDlpV2KindExpression' + GooglePrivacyDlpV2StorageMetadataLabel: + description: >- + Storage metadata label to indicate which metadata entry contains + findings. + properties: + key: + type: string + description: Label name. + type: object + id: GooglePrivacyDlpV2StorageMetadataLabel + GooglePrivacyDlpV2TagCondition: + id: GooglePrivacyDlpV2TagCondition + properties: + sensitivityScore: + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' description: >- - A copy of the inspection config used to generate this profile. This - is a copy of the inspect_template specified in - `DataProfileJobConfig`. - description: Snapshot of the configurations used to generate the profile. - GooglePrivacyDlpV2AllText: - id: GooglePrivacyDlpV2AllText - description: Apply to all text. - properties: {} + Conditions attaching the tag to a resource on its profile having + this sensitivity score. + tag: + $ref: '#/components/schemas/GooglePrivacyDlpV2TagValue' + description: The tag value to attach to resources. type: object - GooglePrivacyDlpV2ListFileStoreDataProfilesResponse: description: >- - List of file store data profiles generated for a given organization or - project. + The tag to attach to profiles matching the condition. At most one + `TagCondition` can be specified per sensitivity level. + GooglePrivacyDlpV2BucketingConfig: type: object + id: GooglePrivacyDlpV2BucketingConfig + description: >- + Generalization function that buckets values based on ranges. The ranges + and replacement values are dynamically provided by the user for custom + behavior, such as 1-30 -> LOW, 31-65 -> MEDIUM, 66-100 -> HIGH. This can + be used on data of type: number, long, string, timestamp. If the bound + `Value` type differs from the type of data being transformed, we will + first attempt converting the type of the data to be transformed to match + the type of the bound before comparing. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-bucketing + to learn more. properties: - nextPageToken: - description: The next page token. - type: string - fileStoreDataProfiles: + buckets: + description: Set of buckets. Ranges must be non-overlapping. type: array - description: List of data profiles. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' - id: GooglePrivacyDlpV2ListFileStoreDataProfilesResponse - GooglePrivacyDlpV2CategoricalStatsHistogramBucket: - id: GooglePrivacyDlpV2CategoricalStatsHistogramBucket + $ref: '#/components/schemas/GooglePrivacyDlpV2Bucket' + GooglePrivacyDlpV2PublishToStackdriver: + id: GooglePrivacyDlpV2PublishToStackdriver + type: object + description: >- + Enable Stackdriver metric dlp.googleapis.com/finding_count. This will + publish a metric to stack driver on each infotype requested and how many + findings were found for it. CustomDetectors will be bucketed as 'Custom' + under the Stackdriver label 'info_type'. + properties: {} + GooglePrivacyDlpV2DiscoveryGenerationCadence: + id: GooglePrivacyDlpV2DiscoveryGenerationCadence + description: >- + What must take place for a profile to be updated and how frequently it + should occur. New tables are scanned as quickly as possible depending on + system capacity. properties: - valueFrequencyUpperBound: - type: string - description: Upper bound on the value frequency of the values in this bucket. - format: int64 - bucketValueCount: - type: string - description: Total number of distinct values in this bucket. - format: int64 - bucketSize: + refreshFrequency: type: string - description: Total number of values in this bucket. - format: int64 - bucketValues: + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY description: >- - Sample of value frequencies in this bucket. The total number of - values returned per bucket is capped at 20. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ValueFrequency' - type: array - valueFrequencyLowerBound: - description: Lower bound on the value frequency of the values in this bucket. - type: string - format: int64 - description: Histogram of value frequencies in the column. + Frequency at which profiles should be updated, regardless of whether + the underlying resource has changed. Defaults to never. + tableModifiedCadence: + description: Governs when to update data profiles when a table is modified. + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryTableModifiedCadence' + inspectTemplateModifiedCadence: + description: >- + Governs when to update data profiles when the inspection rules + defined by the `InspectTemplate` change. If not set, changing the + template will not cause a data profile to update. + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence + schemaModifiedCadence: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoverySchemaModifiedCadence + description: Governs when to update data profiles when a schema is modified. + type: object + GooglePrivacyDlpV2InspectDataSourceDetails: + type: object + description: The results of an inspect DataSource job. + properties: + result: + $ref: '#/components/schemas/GooglePrivacyDlpV2Result' + description: A summary of the outcome of this inspection job. + requestedOptions: + description: The configuration used for this job. + $ref: '#/components/schemas/GooglePrivacyDlpV2RequestedOptions' + id: GooglePrivacyDlpV2InspectDataSourceDetails + GooglePrivacyDlpV2CryptoKey: + properties: + kmsWrapped: + description: Key wrapped using Cloud KMS + $ref: '#/components/schemas/GooglePrivacyDlpV2KmsWrappedCryptoKey' + transient: + $ref: '#/components/schemas/GooglePrivacyDlpV2TransientCryptoKey' + description: Transient crypto key + unwrapped: + $ref: '#/components/schemas/GooglePrivacyDlpV2UnwrappedCryptoKey' + description: Unwrapped crypto key + id: GooglePrivacyDlpV2CryptoKey + description: >- + This is a data encryption key (DEK) (as opposed to a key encryption key + (KEK) stored by Cloud Key Management Service (Cloud KMS). When using + Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM + policy on the KEK to ensure an attacker cannot unwrap the DEK. type: object GooglePrivacyDlpV2PublishToSecurityCommandCenter: properties: {} - type: object id: GooglePrivacyDlpV2PublishToSecurityCommandCenter + type: object description: >- - If set, a summary finding will be created/updated in SCC for each - profile. - GooglePrivacyDlpV2BigQueryDiscoveryTarget: - description: Target used to match against for discovery with BigQuery tables + If set, a summary finding will be created or updated in Security Command + Center for each profile. + GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails: + id: GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails + description: Result of a risk analysis operation request. + properties: + deltaPresenceEstimationResult: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationResult' + description: Delta-presence result + kMapEstimationResult: + description: K-map result + $ref: '#/components/schemas/GooglePrivacyDlpV2KMapEstimationResult' + categoricalStatsResult: + $ref: '#/components/schemas/GooglePrivacyDlpV2CategoricalStatsResult' + description: Categorical stats result + requestedOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2RequestedRiskAnalysisOptions' + description: The configuration used for this job. + requestedPrivacyMetric: + $ref: '#/components/schemas/GooglePrivacyDlpV2PrivacyMetric' + description: Privacy metric to compute. + numericalStatsResult: + description: Numerical stats result + $ref: '#/components/schemas/GooglePrivacyDlpV2NumericalStatsResult' + kAnonymityResult: + $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityResult' + description: K-anonymity result + lDiversityResult: + description: L-divesity result + $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityResult' + requestedSourceTable: + description: Input dataset to compute metrics over. + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + type: object + GooglePrivacyDlpV2DiscoveryTarget: + id: GooglePrivacyDlpV2DiscoveryTarget type: object + description: Target used to match against for Discovery. properties: - filter: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryBigQueryFilter' + cloudStorageTarget: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageDiscoveryTarget' description: >- - Required. The tables the discovery cadence applies to. The first - target with a matching filter will be the one to apply to a table. - disabled: - $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' - description: Tables that match this filter will not have profiles created. - cadence: + Cloud Storage target for Discovery. The first target to match a + table will be the one applied. + secretsTarget: + $ref: '#/components/schemas/GooglePrivacyDlpV2SecretsDiscoveryTarget' description: >- - How often and when to update profiles. New tables that match both - the filter and conditions are scanned as quickly as possible - depending on system capacity. - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryGenerationCadence' - conditions: + Discovery target that looks for credentials and secrets stored in + cloud resource metadata and reports them as vulnerabilities to + Security Command Center. Only one target of this type is allowed. + cloudSqlTarget: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudSqlDiscoveryTarget' description: >- - In addition to matching the filter, these conditions must be true - before a profile is generated. - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryBigQueryConditions' - id: GooglePrivacyDlpV2BigQueryDiscoveryTarget - GooglePrivacyDlpV2InfoTypeLikelihood: - id: GooglePrivacyDlpV2InfoTypeLikelihood - description: >- - Configuration for setting a minimum likelihood per infotype. Used to - customize the minimum likelihood level for specific infotypes in the - request. For example, use this if you want to lower the precision for - PERSON_NAME without lowering the precision for the other infotypes in - the request. - type: object - properties: - minLikelihood: - enumDescriptions: - - Default value; same as POSSIBLE. - - Highest chance of a false positive. - - High chance of a false positive. - - Some matching signals. The default value. - - Low chance of a false positive. - - Confidence level is high. Lowest chance of a false positive. + Cloud SQL target for Discovery. The first target to match a table + will be the one applied. + bigQueryTarget: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryDiscoveryTarget' description: >- - Only returns findings equal to or above this threshold. This field - is required or else the configuration fails. - enum: - - LIKELIHOOD_UNSPECIFIED - - VERY_UNLIKELY - - UNLIKELY - - POSSIBLE - - LIKELY - - VERY_LIKELY - type: string - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + BigQuery target for Discovery. The first target to match a table + will be the one applied. + otherCloudTarget: + $ref: '#/components/schemas/GooglePrivacyDlpV2OtherCloudDiscoveryTarget' description: >- - Type of information the likelihood threshold applies to. Only one - likelihood per info_type should be provided. If InfoTypeLikelihood - does not have an info_type, the configuration fails. - GooglePrivacyDlpV2CategoricalStatsResult: + Other clouds target for discovery. The first target to match a + resource will be the one applied. + GooglePrivacyDlpV2DataSourceType: properties: - valueFrequencyHistogramBuckets: - description: Histogram of value frequencies in the column. - type: array - items: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CategoricalStatsHistogramBucket + dataSource: + readOnly: true + type: string + description: >- + Output only. An identifying string to the type of resource being + profiled. Current values: * google/bigquery/table * google/project * + google/sql/table * google/gcs/bucket + id: GooglePrivacyDlpV2DataSourceType + description: Message used to identify the type of resource being profiled. type: object - description: Result of the categorical stats computation. - id: GooglePrivacyDlpV2CategoricalStatsResult - GooglePrivacyDlpV2RequestedRiskAnalysisOptions: - properties: - jobConfig: - description: The job config for the risk job. - $ref: '#/components/schemas/GooglePrivacyDlpV2RiskAnalysisJobConfig' - description: Risk analysis options. + GooglePrivacyDlpV2SecretManagerCredential: type: object - id: GooglePrivacyDlpV2RequestedRiskAnalysisOptions - GooglePrivacyDlpV2DiscoveryCloudStorageConditions: description: >- - Requirements that must be true before a Cloud Storage bucket or object - is scanned in discovery for the first time. There is an AND relationship - between the top-level attributes. + A credential consisting of a username and password, where the password + is stored in a Secret Manager resource. Note: Secret Manager [charges + apply](https://cloud.google.com/secret-manager/pricing). properties: - includedBucketAttributes: - items: - enumDescriptions: - - Unused. - - Scan buckets regardless of the attribute. - - >- - Buckets with autoclass disabled - (https://cloud.google.com/storage/docs/autoclass). Only one of - AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. - - >- - Buckets with autoclass enabled - (https://cloud.google.com/storage/docs/autoclass). Only one of - AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. Scanning - Autoclass-enabled buckets can affect object storage classes. - enum: - - CLOUD_STORAGE_BUCKET_ATTRIBUTE_UNSPECIFIED - - ALL_SUPPORTED_BUCKETS - - AUTOCLASS_DISABLED - - AUTOCLASS_ENABLED - type: string + passwordSecretVersionName: + type: string description: >- - Required. Only objects with the specified attributes will be - scanned. Defaults to [ALL_SUPPORTED_BUCKETS] if unset. - type: array - includedObjectAttributes: - items: - type: string - enum: - - CLOUD_STORAGE_OBJECT_ATTRIBUTE_UNSPECIFIED - - ALL_SUPPORTED_OBJECTS - - STANDARD - - NEARLINE - - COLDLINE - - ARCHIVE - - REGIONAL - - MULTI_REGIONAL - - DURABLE_REDUCED_AVAILABILITY - enumDescriptions: - - Unused. - - Scan objects regardless of the attribute. - - Scan objects with the standard storage class. - - >- - Scan objects with the nearline storage class. This will incur - retrieval fees. - - >- - Scan objects with the coldline storage class. This will incur - retrieval fees. - - >- - Scan objects with the archive storage class. This will incur - retrieval fees. - - Scan objects with the regional storage class. - - Scan objects with the multi-regional storage class. - - >- - Scan objects with the dual-regional storage class. This will - incur retrieval fees. + Required. The name of the Secret Manager resource that stores the + password, in the form + `projects/project-id/secrets/secret-name/versions/version`. + username: + description: Required. The username. + type: string + id: GooglePrivacyDlpV2SecretManagerCredential + GooglePrivacyDlpV2LargeCustomDictionaryStats: + properties: + approxNumPhrases: + description: Approximate number of distinct phrases in the dictionary. + type: string + format: int64 + id: GooglePrivacyDlpV2LargeCustomDictionaryStats + description: Summary statistics of a custom dictionary. + type: object + GooglePrivacyDlpV2SecretsDiscoveryTarget: + description: >- + Discovery target for credentials and secrets in cloud resource metadata. + This target does not include any filtering or frequency controls. Cloud + DLP will scan cloud resource metadata for secrets daily. No inspect + template should be included in the discovery config for a security + benchmarks scan. Instead, the built-in list of secrets and credentials + infoTypes will be used (see + https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference#credentials_and_secrets). + Credentials and secrets discovered will be reported as vulnerabilities + to Security Command Center. + properties: {} + type: object + id: GooglePrivacyDlpV2SecretsDiscoveryTarget + GooglePrivacyDlpV2ActivateJobTriggerRequest: + description: Request message for ActivateJobTrigger. + type: object + id: GooglePrivacyDlpV2ActivateJobTriggerRequest + properties: {} + GooglePrivacyDlpV2KindExpression: + type: object + id: GooglePrivacyDlpV2KindExpression + description: A representation of a Datastore kind. + properties: + name: + type: string + description: The name of the kind. + GooglePrivacyDlpV2SelectedInfoTypes: + properties: + infoTypes: description: >- - Required. Only objects with the specified attributes will be - scanned. If an object has one of the specified attributes but is - inside an excluded bucket, it will not be scanned. Defaults to - [ALL_SUPPORTED_OBJECTS]. A profile will be created even if no - objects match the included_object_attributes. + Required. InfoTypes to apply the transformation to. Required. + Provided InfoType must be unique within the ImageTransformations + message. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' type: array - id: GooglePrivacyDlpV2DiscoveryCloudStorageConditions + description: Apply transformation to the selected info_types. type: object - GooglePrivacyDlpV2DatabaseResourceRegex: + id: GooglePrivacyDlpV2SelectedInfoTypes + GooglePrivacyDlpV2KMapEstimationResult: + type: object + id: GooglePrivacyDlpV2KMapEstimationResult properties: - databaseRegex: - type: string - description: >- - Regex to test the database name against. If empty, all databases - match. - instanceRegex: - type: string - description: >- - Regex to test the instance name against. If empty, all instances - match. - projectIdRegex: + kMapEstimationHistogram: + type: array description: >- - For organizations, if unset, will match all projects. Has no effect - for configurations created within a project. + The intervals [min_anonymity, max_anonymity] do not overlap. If a + value doesn't correspond to any such interval, the associated + frequency is zero. For example, the following records: + {min_anonymity: 1, max_anonymity: 1, frequency: 17} {min_anonymity: + 2, max_anonymity: 3, frequency: 42} {min_anonymity: 5, + max_anonymity: 10, frequency: 99} mean that there are no record with + an estimated anonymity of 4, 5, or larger than 10. + items: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2KMapEstimationHistogramBucket + description: >- + Result of the reidentifiability analysis. Note that these results are an + estimation, not exact values. + GooglePrivacyDlpV2RecordTransformation: + description: The field in a record to transform. + type: object + id: GooglePrivacyDlpV2RecordTransformation + properties: + containerTimestamp: type: string - databaseResourceNameRegex: + format: google-datetime + description: Findings container modification timestamp, if applicable. + containerVersion: + description: Container version, if available ("generation" for Cloud Storage). type: string - description: >- - Regex to test the database resource's name against. An example of a - database resource name is a table's name. Other database resource - names like view names could be included in the future. If empty, all - database resources match. - description: >- - A pattern to match against one or more database resources. At least one - pattern must be specified. Regular expressions use RE2 - [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be - found under the google/re2 repository on GitHub. - id: GooglePrivacyDlpV2DatabaseResourceRegex + fieldId: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: For record transformations, provide a field. + GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence: type: object - GooglePrivacyDlpV2TagValue: - description: A value of a tag. + description: >- + The cadence at which to update data profiles when the inspection rules + defined by the `InspectTemplate` change. properties: - namespacedValue: + frequency: + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. description: >- - The namespaced name for the tag value to attach to resources. Must - be in the format `{parent_id}/{tag_key_short_name}/{short_name}`, - for example, "123456/environment/prod". + How frequently data profiles can be updated when the template is + modified. Defaults to never. + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY type: string - id: GooglePrivacyDlpV2TagValue + id: GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence + GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog: + id: GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog + description: >- + Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag + templates are applied to the resource that Cloud DLP scanned. Data + Catalog tag templates are stored in the same project and region where + the BigQuery table exists. For Cloud DLP to create and apply the tag + template, the Cloud DLP service agent must have the + `roles/datacatalog.tagTemplateOwner` permission on the project. The tag + template contains fields summarizing the results of the DlpJob. Any + field values previously written by another DlpJob are deleted. InfoType + naming patterns are strictly enforced when using this feature. Findings + are persisted in Data Catalog storage and are governed by + service-specific policies for Data Catalog. For more information, see + [Service Specific Terms](https://cloud.google.com/terms/service-terms). + Only a single instance of this action can be specified. This action is + allowed only if all resources being scanned are BigQuery tables. + Compatible with: Inspect type: object - GooglePrivacyDlpV2StoredInfoType: + properties: {} + GooglePrivacyDlpV2CloudStorageOptions: type: object - description: >- - StoredInfoType resource message that contains information about the - current version and any pending updates. - id: GooglePrivacyDlpV2StoredInfoType + id: GooglePrivacyDlpV2CloudStorageOptions + description: Options defining a file or a set of files within a Cloud Storage bucket. properties: - name: + bytesLimitPerFile: type: string - description: Resource name. - currentVersion: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeVersion' - description: Current version of the stored info type. - pendingVersions: - type: array + format: int64 description: >- - Pending versions of the stored info type. Empty if no versions are - pending. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeVersion' - GooglePrivacyDlpV2CloudStorageResourceReference: - id: GooglePrivacyDlpV2CloudStorageResourceReference - type: object - properties: - projectId: + Max number of bytes to scan from a file. If a scanned file's size is + bigger than this value then the rest of the bytes are omitted. Only + one of `bytes_limit_per_file` and `bytes_limit_per_file_percent` can + be specified. This field can't be set if de-identification is + requested. For certain file types, setting this field has no effect. + For more information, see [Limits on bytes scanned per + file](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types#max-byte-size-per-file). + filesLimitPercent: + type: integer description: >- - Required. If within a project-level config, then this must match the - config's project id. - type: string - bucketName: - description: Required. The bucket to scan. + Limits the number of files to scan to this percentage of the input + FileSet. Number of files scanned is rounded down. Must be between 0 + and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. + format: int32 + sampleMethod: + enum: + - SAMPLE_METHOD_UNSPECIFIED + - TOP + - RANDOM_START + description: How to sample the data. type: string - description: Identifies a single Cloud Storage bucket. - GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails: - id: GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails - description: Result of a risk analysis operation request. - properties: - requestedPrivacyMetric: - $ref: '#/components/schemas/GooglePrivacyDlpV2PrivacyMetric' - description: Privacy metric to compute. - numericalStatsResult: - $ref: '#/components/schemas/GooglePrivacyDlpV2NumericalStatsResult' - description: Numerical stats result - categoricalStatsResult: - $ref: '#/components/schemas/GooglePrivacyDlpV2CategoricalStatsResult' - description: Categorical stats result - lDiversityResult: - $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityResult' - description: L-divesity result - requestedOptions: - $ref: '#/components/schemas/GooglePrivacyDlpV2RequestedRiskAnalysisOptions' - description: The configuration used for this job. - kMapEstimationResult: - $ref: '#/components/schemas/GooglePrivacyDlpV2KMapEstimationResult' - description: K-map result - kAnonymityResult: - description: K-anonymity result - $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityResult' - requestedSourceTable: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Input dataset to compute metrics over. - deltaPresenceEstimationResult: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationResult' - description: Delta-presence result + enumDescriptions: + - No sampling. + - Scan from the top (default). + - >- + For each file larger than bytes_limit_per_file, randomly pick the + offset to start scanning. The scanned bytes are contiguous. + bytesLimitPerFilePercent: + description: >- + Max percentage of bytes to scan from a file. The rest are omitted. + The number of bytes scanned is rounded down. Must be between 0 and + 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only + one of bytes_limit_per_file and bytes_limit_per_file_percent can be + specified. This field can't be set if de-identification is + requested. For certain file types, setting this field has no effect. + For more information, see [Limits on bytes scanned per + file](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types#max-byte-size-per-file). + type: integer + format: int32 + fileSet: + description: The set of one or more files to scan. + $ref: '#/components/schemas/GooglePrivacyDlpV2FileSet' + fileTypes: + description: >- + List of file type groups to include in the scan. If empty, all files + are scanned and available data format processors are applied. In + addition, the binary content of the selected files is always scanned + as well. Images are scanned only as binary if the specified region + does not support image inspection and no file_types were specified. + Image inspection is restricted to 'global', 'us', 'asia', and + 'europe'. + items: + enumDescriptions: + - Includes all files. + - >- + Includes all file extensions not covered by another entry. + Binary scanning attempts to convert the content of the file to + utf_8 to scan the file. If you wish to avoid this fall back, + specify one or more of the other file types in your storage + scan. + - >- + Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, + cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, + go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, + mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, + rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, + xhtml, lhs, ics, ini, java, js, json, jsonl, kix, kml, ocaml, + md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, + xsd, yml, yaml. + - >- + Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting + bytes_limit_per_file or bytes_limit_per_file_percent has no + effect on image files. Image inspection is restricted to the + `global`, `us`, `asia`, and `europe` regions. + - >- + Microsoft Word files larger than 30 MB will be scanned as binary + files. Included file extensions: docx, dotx, docm, dotm. Setting + `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no + effect on Word files. + - >- + PDF files larger than 30 MB will be scanned as binary files. + Included file extensions: pdf. Setting `bytes_limit_per_file` or + `bytes_limit_per_file_percent` has no effect on PDF files. + - 'Included file extensions: avro' + - 'Included file extensions: csv' + - 'Included file extensions: tsv' + - >- + Microsoft PowerPoint files larger than 30 MB will be scanned as + binary files. Included file extensions: pptx, pptm, potx, potm, + pot. Setting `bytes_limit_per_file` or + `bytes_limit_per_file_percent` has no effect on PowerPoint + files. + - >- + Microsoft Excel files larger than 30 MB will be scanned as + binary files. Included file extensions: xlsx, xlsm, xltx, xltm. + Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` + has no effect on Excel files. + type: string + enum: + - FILE_TYPE_UNSPECIFIED + - BINARY_FILE + - TEXT_FILE + - IMAGE + - WORD + - PDF + - AVRO + - CSV + - TSV + - POWERPOINT + - EXCEL + type: array + GooglePrivacyDlpV2ThrowError: type: object - GooglePrivacyDlpV2CloudStorageDiscoveryTarget: - description: Target used to match against for discovery with Cloud Storage buckets. + description: Throw an error and fail the request when a transformation error occurs. + id: GooglePrivacyDlpV2ThrowError + properties: {} + GooglePrivacyDlpV2DiscoveryOtherCloudGenerationCadence: + description: >- + How often existing resources should have their profiles refreshed. New + resources are scanned as quickly as possible depending on system + capacity. properties: - generationCadence: + refreshFrequency: + type: string + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. description: >- - Optional. How often and when to update profiles. New buckets that - match both the filter and conditions are scanned as quickly as - possible depending on system capacity. + Optional. Frequency to update profiles regardless of whether the + underlying resource has changes. Defaults to never. + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY + inspectTemplateModifiedCadence: $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoveryCloudStorageGenerationCadence - conditions: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryFileStoreConditions' - description: >- - Optional. In addition to matching the filter, these conditions must - be true before a profile is generated. - disabled: - $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' - description: Optional. Disable profiling for buckets that match this filter. - filter: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryCloudStorageFilter' + #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence description: >- - Required. The buckets the generation_cadence applies to. The first - target with a matching filter will be the one to apply to a bucket. + Optional. Governs when to update data profiles when the inspection + rules defined by the `InspectTemplate` change. If not set, changing + the template will not cause a data profile to update. type: object - id: GooglePrivacyDlpV2CloudStorageDiscoveryTarget - GooglePrivacyDlpV2ColumnDataProfile: - id: GooglePrivacyDlpV2ColumnDataProfile + id: GooglePrivacyDlpV2DiscoveryOtherCloudGenerationCadence + GooglePrivacyDlpV2OtherCloudSingleResourceReference: + description: Identifies a single resource, like a single Amazon S3 bucket. + properties: + amazonS3Bucket: + description: Amazon S3 bucket. + $ref: '#/components/schemas/GooglePrivacyDlpV2AmazonS3Bucket' type: object + id: GooglePrivacyDlpV2OtherCloudSingleResourceReference + GooglePrivacyDlpV2ByteContentItem: + id: GooglePrivacyDlpV2ByteContentItem properties: - profileLastGenerated: - type: string - description: The last time the profile was generated. - format: google-datetime - tableFullResource: - description: The resource name of the resource this column is within. - type: string - otherMatches: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2OtherInfoTypeSummary' - type: array - description: Other types found within this column. List will be unordered. - name: - type: string - description: The name of the profile. - state: - enum: - - STATE_UNSPECIFIED - - RUNNING - - DONE - description: State of a profile. - type: string - enumDescriptions: - - Unused. - - >- - The profile is currently running. Once a profile has finished it - will transition to DONE. - - >- - The profile is no longer generating. If profile_status.status.code - is 0, the profile succeeded, otherwise, it failed. - estimatedNullPercentage: - enumDescriptions: - - Unused. - - Very few null entries. - - Some null entries. - - A few null entries. - - A lot of null entries. - type: string - enum: - - NULL_PERCENTAGE_LEVEL_UNSPECIFIED - - NULL_PERCENTAGE_VERY_LOW - - NULL_PERCENTAGE_LOW - - NULL_PERCENTAGE_MEDIUM - - NULL_PERCENTAGE_HIGH - description: Approximate percentage of entries being null in the column. - policyState: - enumDescriptions: - - No policy tags. - - Column has policy tag applied. - enum: - - COLUMN_POLICY_STATE_UNSPECIFIED - - COLUMN_POLICY_TAGGED - type: string - description: Indicates if a policy tag has been applied to the column. - profileStatus: + type: description: >- - Success or error status from the most recent profile generation - attempt. May be empty if the profile is still being generated. - $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' - column: - type: string - description: The name of the column. - tableId: - description: The BigQuery table ID. - type: string - columnType: + The type of data stored in the bytes string. Default will be + TEXT_UTF8. enumDescriptions: - - Invalid type. - - Encoded as a string in decimal format. - - Encoded as a boolean "false" or "true". - - Encoded as a number, or string "NaN", "Infinity" or "-Infinity". - - Encoded as a string value. - - Encoded as a base64 string per RFC 4648, section 4. - - >- - Encoded as an RFC 3339 timestamp with mandatory "Z" time zone - string: 1985-04-12T23:20:50.52Z - - 'Encoded as RFC 3339 full-date format string: 1985-04-12' - - 'Encoded as RFC 3339 partial-time format string: 23:20:50.52' - - >- - Encoded as RFC 3339 full-date "T" partial-time: - 1985-04-12T23:20:50.52 - - Encoded as WKT - - Encoded as a decimal string. - - Container of ordered fields, each with a type and field name. - - Decimal type. - - Json type. - - Interval type. - - '`Range` type.' - - '`Range` type.' - - '`Range` type.' - type: string - description: The data type of a given column. - enum: - - COLUMN_DATA_TYPE_UNSPECIFIED - - TYPE_INT64 - - TYPE_BOOL - - TYPE_FLOAT64 - - TYPE_STRING - - TYPE_BYTES - - TYPE_TIMESTAMP - - TYPE_DATE - - TYPE_TIME - - TYPE_DATETIME - - TYPE_GEOGRAPHY - - TYPE_NUMERIC - - TYPE_RECORD - - TYPE_BIGNUMERIC - - TYPE_JSON - - TYPE_INTERVAL - - TYPE_RANGE_DATE - - TYPE_RANGE_DATETIME - - TYPE_RANGE_TIMESTAMP - dataRiskLevel: - description: The data risk level for this column. - $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' - datasetId: - description: The BigQuery dataset ID. + - Unused + - Any image type. + - jpeg + - bmp + - png + - svg + - plain text + - docx, docm, dotx, dotm + - pdf + - pptx, pptm, potx, potm, pot + - xlsx, xlsm, xltx, xltm + - avro + - csv + - tsv + - Audio file types. Only used for profiling. + - Video file types. Only used for profiling. + - Executable file types. Only used for profiling. type: string - estimatedUniquenessScore: enum: - - UNIQUENESS_SCORE_LEVEL_UNSPECIFIED - - UNIQUENESS_SCORE_LOW - - UNIQUENESS_SCORE_MEDIUM - - UNIQUENESS_SCORE_HIGH - enumDescriptions: - - >- - Some columns do not have estimated uniqueness. Possible reasons - include having too few values. - - >- - Low uniqueness, possibly a boolean, enum or similiarly typed - column. - - Medium uniqueness. - - >- - High uniqueness, possibly a column of free text or unique - identifiers. - description: Approximate uniqueness of the column. - type: string - datasetLocation: + - BYTES_TYPE_UNSPECIFIED + - IMAGE + - IMAGE_JPEG + - IMAGE_BMP + - IMAGE_PNG + - IMAGE_SVG + - TEXT_UTF8 + - WORD_DOCUMENT + - PDF + - POWERPOINT_DOCUMENT + - EXCEL_DOCUMENT + - AVRO + - CSV + - TSV + - AUDIO + - VIDEO + - EXECUTABLE + data: + description: Content data to inspect or redact. type: string + format: byte + type: object + description: Container for bytes to inspect or redact. + GooglePrivacyDlpV2CloudSqlDiscoveryTarget: + id: GooglePrivacyDlpV2CloudSqlDiscoveryTarget + description: Target used to match against for discovery with Cloud SQL tables. + type: object + properties: + conditions: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryCloudSqlConditions' + description: >- + In addition to matching the filter, these conditions must be true + before a profile is generated. + disabled: + $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' + description: Disable profiling for database resources that match this filter. + filter: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryCloudSqlFilter' description: >- - The BigQuery location where the dataset's data is stored. See - https://cloud.google.com/bigquery/docs/locations for supported - locations. - columnInfoType: + Required. The tables the discovery cadence applies to. The first + target with a matching filter will be the one to apply to a table. + generationCadence: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryCloudSqlGenerationCadence description: >- - If it's been determined this column can be identified as a single - type, this will be set. Otherwise the column either has - unidentifiable content or mixed types. - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeSummary' - tableDataProfile: - type: string - description: The resource name of the table data profile. - datasetProjectId: - type: string - description: The Google Cloud project ID that owns the profiled resource. - sensitivityScore: - description: The sensitivity of this column. - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - freeTextScore: - type: number - format: double + How often and when to update profiles. New tables that match both + the filter and conditions are scanned as quickly as possible + depending on system capacity. + GooglePrivacyDlpV2InspectResult: + description: All the findings for a single scanned item. + id: GooglePrivacyDlpV2InspectResult + type: object + properties: + findingsTruncated: + type: boolean description: >- - The likelihood that this column contains free-form text. A value - close to 1 may indicate the column is likely to contain free-form or - natural language text. Range in 0-1. - description: The profile for a scanned column within a table. - GooglePrivacyDlpV2StorageMetadataLabel: - id: GooglePrivacyDlpV2StorageMetadataLabel + If true, then this item might have more findings than were returned, + and the findings returned are an arbitrary subset of all findings. + The findings list might be truncated because the input items were + too large, or because the server reached the maximum amount of + resources allowed for a single API call. For best results, divide + the input into smaller batches. + findings: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Finding' + type: array + description: List of findings for an item. + GooglePrivacyDlpV2RecordLocation: + properties: + tableLocation: + $ref: '#/components/schemas/GooglePrivacyDlpV2TableLocation' + description: Location within a `ContentItem.Table`. + recordKey: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordKey' + description: Key of the finding. + fieldId: + description: Field id of the field containing the finding. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' type: object - description: >- - Storage metadata label to indicate which metadata entry contains - findings. + description: Location of a finding within a row or record. + id: GooglePrivacyDlpV2RecordLocation + GooglePrivacyDlpV2FileStoreInfoTypeSummary: + id: GooglePrivacyDlpV2FileStoreInfoTypeSummary properties: - key: - description: Label name. + infoType: + description: The InfoType seen. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: Information regarding the discovered InfoType. + type: object + GooglePrivacyDlpV2DiscoveryOtherCloudConditions: + id: GooglePrivacyDlpV2DiscoveryOtherCloudConditions + type: object + properties: + minAge: + description: >- + Minimum age a resource must be before Cloud DLP can profile it. + Value must be 1 hour or greater. type: string - GooglePrivacyDlpV2InfoTypeTransformation: + format: google-duration + amazonS3BucketConditions: + $ref: '#/components/schemas/GooglePrivacyDlpV2AmazonS3BucketConditions' + description: Amazon S3 bucket conditions. description: >- - A transformation to apply to text that is identified as a specific - info_type. + Requirements that must be true before a resource is profiled for the + first time. + GooglePrivacyDlpV2CreateInspectTemplateRequest: properties: - primitiveTransformation: - $ref: '#/components/schemas/GooglePrivacyDlpV2PrimitiveTransformation' - description: Required. Primitive transformation to apply to the infoType. - infoTypes: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + inspectTemplate: + description: Required. The InspectTemplate to create. + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + templateId: + type: string description: >- - InfoTypes to apply the transformation to. An empty list will cause - this transformation to apply to all findings that correspond to - infoTypes that were requested in `InspectConfig`. + The template id can contain uppercase and lowercase letters, + numbers, and hyphens; that is, it must match the regular expression: + `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty + to allow the system to generate one. + locationId: + type: string + description: Deprecated. This field has no effect. + description: Request message for CreateInspectTemplate. type: object - id: GooglePrivacyDlpV2InfoTypeTransformation - GooglePrivacyDlpV2ActivateJobTriggerRequest: - description: Request message for ActivateJobTrigger. - properties: {} + id: GooglePrivacyDlpV2CreateInspectTemplateRequest + GooglePrivacyDlpV2CancelDlpJobRequest: + description: The request message for canceling a DLP job. type: object - id: GooglePrivacyDlpV2ActivateJobTriggerRequest - GooglePrivacyDlpV2FileStoreCollection: - id: GooglePrivacyDlpV2FileStoreCollection - properties: - includeRegexes: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreRegexes' - description: >- - Optional. A collection of regular expressions to match a file store - against. + properties: {} + id: GooglePrivacyDlpV2CancelDlpJobRequest + GooglePrivacyDlpV2UpdateJobTriggerRequest: type: object - description: Match file stores (e.g. buckets) using regex filters. - GooglePrivacyDlpV2TableReference: - id: GooglePrivacyDlpV2TableReference + description: Request message for UpdateJobTrigger. + id: GooglePrivacyDlpV2UpdateJobTriggerRequest properties: - datasetId: - description: Dataset ID of the table. - type: string - tableId: - description: Name of the table. + updateMask: + format: google-fieldmask type: string - type: object - description: >- - Message defining the location of a BigQuery table with the projectId - inferred from the parent project. - GooglePrivacyDlpV2QuasiId: + description: Mask to control which fields get updated. + jobTrigger: + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + description: New JobTrigger value. + GooglePrivacyDlpV2DateTime: properties: - customTag: + timeZone: + $ref: '#/components/schemas/GooglePrivacyDlpV2TimeZone' + description: Time zone + dayOfWeek: + enumDescriptions: + - The day of the week is unspecified. + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday + enum: + - DAY_OF_WEEK_UNSPECIFIED + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY + description: Day of week type: string + date: description: >- - A column can be tagged with a custom tag. In this case, the user - must indicate an auxiliary table that contains statistical - information on the possible values of this column (below). - field: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: Required. Identifies the column. - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: >- - A column can be tagged with a InfoType to use the relevant public - dataset as a statistical model of population, if available. We - currently support US ZIP codes, region codes, ages and genders. To - programmatically obtain the list of supported InfoTypes, use - ListInfoTypes with the supported_by=RISK_ANALYSIS filter. - inferred: - $ref: '#/components/schemas/GoogleProtobufEmpty' - description: >- - If no semantic tag is indicated, we infer the statistical model from - the distribution of values in the input data + One or more of the following must be set. Must be a valid date or + time value. + $ref: '#/components/schemas/GoogleTypeDate' + time: + description: Time of day + $ref: '#/components/schemas/GoogleTypeTimeOfDay' + id: GooglePrivacyDlpV2DateTime + description: Message for a date time object. e.g. 2018-01-01, 5th August. type: object - id: GooglePrivacyDlpV2QuasiId - description: A column with a semantic tag attached. - GooglePrivacyDlpV2InspectionRuleSet: - id: GooglePrivacyDlpV2InspectionRuleSet + GooglePrivacyDlpV2FileClusterType: type: object + description: Message used to identify file cluster type being profiled. properties: - rules: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectionRule' - type: array + cluster: + description: Cluster type. + enum: + - CLUSTER_UNSPECIFIED + - CLUSTER_UNKNOWN + - CLUSTER_TEXT + - CLUSTER_STRUCTURED_DATA + - CLUSTER_SOURCE_CODE + - CLUSTER_RICH_DOCUMENT + - CLUSTER_IMAGE + - CLUSTER_ARCHIVE + - CLUSTER_MULTIMEDIA + - CLUSTER_EXECUTABLE + enumDescriptions: + - Unused. + - Unsupported files. + - Plain text. + - Structured data like CSV, TSV etc. + - Source code. + - Rich document like docx, xlsx etc. + - Images like jpeg, bmp. + - Archives and containers like .zip, .tar etc. + - Multimedia like .mp4, .avi etc. + - Executable files like .exe, .class, .apk etc. + type: string + id: GooglePrivacyDlpV2FileClusterType + GooglePrivacyDlpV2DiscoveryCloudStorageGenerationCadence: + type: object + id: GooglePrivacyDlpV2DiscoveryCloudStorageGenerationCadence + properties: + refreshFrequency: + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. + description: >- + Optional. Data changes in Cloud Storage can't trigger reprofiling. + If you set this field, profiles are refreshed at this frequency + regardless of whether the underlying buckets have changed. Defaults + to never. + type: string + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY + inspectTemplateModifiedCadence: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence description: >- - Set of rules to be applied to infoTypes. The rules are applied in - order. - infoTypes: - type: array - description: List of infoTypes this rule set is applied to. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + Optional. Governs when to update data profiles when the inspection + rules defined by the `InspectTemplate` change. If not set, changing + the template will not cause a data profile to update. description: >- - Rule set for modifying a set of infoTypes to alter behavior under - certain circumstances, depending on the specific details of the rules - within the set. - GooglePrivacyDlpV2InfoTypeDescription: + How often existing buckets should have their profiles refreshed. New + buckets are scanned as quickly as possible depending on system capacity. + GooglePrivacyDlpV2ListStoredInfoTypesResponse: + description: Response message for ListStoredInfoTypes. + id: GooglePrivacyDlpV2ListStoredInfoTypesResponse type: object - id: GooglePrivacyDlpV2InfoTypeDescription - description: InfoType description. properties: - name: - description: Internal name of the infoType. - type: string - categories: - description: The category of the infoType. + storedInfoTypes: type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeCategory' - versions: - description: A list of available versions for the infotype. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2VersionDescription' - type: array - description: + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' description: >- - Description of the infotype. Translated when language is provided in - the request. - type: string - supportedBy: - items: - enum: - - ENUM_TYPE_UNSPECIFIED - - INSPECT - - RISK_ANALYSIS - type: string - enumDescriptions: - - Unused. - - Supported by the inspect operations. - - Supported by the risk analysis operations. - description: Which parts of the API supports this InfoType. - type: array - displayName: - type: string - description: Human readable form of the infoType name. - sensitivityScore: - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - description: The default sensitivity of the infoType. - GooglePrivacyDlpV2ContentLocation: - type: object - id: GooglePrivacyDlpV2ContentLocation - description: >- - Precise location of the finding within a document, record, image, or - metadata container. - properties: - documentLocation: - $ref: '#/components/schemas/GooglePrivacyDlpV2DocumentLocation' - description: Location data for document files. - containerTimestamp: - format: google-datetime + List of storedInfoTypes, up to page_size in + ListStoredInfoTypesRequest. + nextPageToken: description: >- - Finding container modification timestamp, if applicable. For Cloud - Storage, this field contains the last file modification timestamp. - For a BigQuery table, this field contains the last_modified_time - property. For Datastore, this field isn't populated. + If the next page is available then the next page token to be used in + the following ListStoredInfoTypes request. type: string - containerName: + GooglePrivacyDlpV2ListDeidentifyTemplatesResponse: + properties: + nextPageToken: type: string description: >- - Name of the container where the finding is located. The top level - name is the source file name or table name. Names of some common - storage containers are formatted as follows: * BigQuery tables: - `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: - `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested - names could be absent if the embedded object has no string - identifier (for example, an image contained within a document). - recordLocation: - description: Location within a row or record of a database table. - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordLocation' - containerVersion: - type: string + If the next page is available then the next page token to be used in + the following ListDeidentifyTemplates request. + deidentifyTemplates: description: >- - Finding container version, if available ("generation" for Cloud - Storage). - metadataLocation: - description: Location within the metadata for inspected content. - $ref: '#/components/schemas/GooglePrivacyDlpV2MetadataLocation' - imageLocation: - $ref: '#/components/schemas/GooglePrivacyDlpV2ImageLocation' - description: Location within an image's pixels. - GooglePrivacyDlpV2BigQueryField: - properties: - table: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Source table of the field. - field: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: Designated field in the BigQuery table. - id: GooglePrivacyDlpV2BigQueryField - description: Message defining a field of a BigQuery table. - type: object - GooglePrivacyDlpV2RecordCondition: - id: GooglePrivacyDlpV2RecordCondition - properties: - expressions: - $ref: '#/components/schemas/GooglePrivacyDlpV2Expressions' - description: An expression. + List of deidentify templates, up to page_size in + ListDeidentifyTemplatesRequest. + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' type: object + id: GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + description: Response message for ListDeidentifyTemplates. + GooglePrivacyDlpV2DiscoveryCloudStorageFilter: description: >- - A condition for determining whether a transformation should be applied - to a field. - GooglePrivacyDlpV2DiscoveryBigQueryFilter: + Determines which buckets will have profiles generated within an + organization or project. Includes the ability to filter by regular + expression patterns on project ID and bucket name. + type: object properties: - otherTables: - $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherBigQueryTables' - description: >- - Catch-all. This should always be the last filter in the list because - anything above it will apply first. Should only appear once in a - configuration. If none is specified, a default one will be added - automatically. - tableReference: + others: + $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherResources' description: >- - The table to scan. Discovery configurations including this can only - include one DiscoveryTarget (the DiscoveryTarget with this - TableReference). - $ref: '#/components/schemas/GooglePrivacyDlpV2TableReference' - tables: + Optional. Catch-all. This should always be the last target in the + list because anything above it will apply first. Should only appear + once in a configuration. If none is specified, a default one will be + added automatically. + cloudStorageResourceReference: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageResourceReference' description: >- - A specific set of tables for this filter to apply to. A table - collection must be specified in only one filter per config. If a - table id or dataset is empty, Cloud DLP assumes all tables in that - collection must be profiled. Must specify a project ID. - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTableCollection' + Optional. The bucket to scan. Targets including this can only + include one target (the target with this bucket). This enables + profiling the contents of a single bucket, while the other options + allow for easy profiling of many bucets within a project or an + organization. + collection: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreCollection' + description: Optional. A specific set of buckets for this filter to apply to. + id: GooglePrivacyDlpV2DiscoveryCloudStorageFilter + GooglePrivacyDlpV2DataRiskLevel: description: >- - Determines what tables will have profiles generated within an - organization or project. Includes the ability to filter by regular - expression patterns on project ID, dataset ID, and table ID. - id: GooglePrivacyDlpV2DiscoveryBigQueryFilter + Score is a summary of all elements in the data profile. A higher number + means more risk. + id: GooglePrivacyDlpV2DataRiskLevel type: object - GooglePrivacyDlpV2Row: - id: GooglePrivacyDlpV2Row properties: - values: - description: Individual cells. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - type: array - description: Values of the row. + score: + type: string + enumDescriptions: + - Unused. + - >- + Low risk - Lower indication of sensitive data that appears to have + additional access restrictions in place or no indication of + sensitive data found. + - Unable to determine risk. + - >- + Medium risk - Sensitive data may be present but additional access + or fine grain access restrictions appear to be present. Consider + limiting access even further or transform data to mask. + - >- + High risk – SPII may be present. Access controls may include + public ACLs. Exfiltration of data may lead to user data loss. + Re-identification of users may be possible. Consider limiting + usage and or removing SPII. + description: The score applied to the resource. + enum: + - RISK_SCORE_UNSPECIFIED + - RISK_LOW + - RISK_UNKNOWN + - RISK_MODERATE + - RISK_HIGH + GooglePrivacyDlpV2PrivacyMetric: + description: Privacy metric to compute for reidentification risk analysis. + properties: + kMapEstimationConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2KMapEstimationConfig' + description: k-map + numericalStatsConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2NumericalStatsConfig' + description: Numerical stats + categoricalStatsConfig: + description: Categorical stats + $ref: '#/components/schemas/GooglePrivacyDlpV2CategoricalStatsConfig' + kAnonymityConfig: + description: K-anonymity + $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityConfig' + lDiversityConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityConfig' + description: l-diversity + deltaPresenceEstimationConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationConfig' + description: delta-presence + type: object + id: GooglePrivacyDlpV2PrivacyMetric + GooglePrivacyDlpV2UpdateConnectionRequest: + properties: + connection: + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + description: Required. The connection with new values for the relevant fields. + updateMask: + type: string + format: google-fieldmask + description: Optional. Mask to control which fields get updated. + id: GooglePrivacyDlpV2UpdateConnectionRequest + type: object + description: Request message for UpdateConnection. + GooglePrivacyDlpV2HybridInspectDlpJobRequest: + id: GooglePrivacyDlpV2HybridInspectDlpJobRequest + description: Request to search for potentially sensitive info in a custom location. type: object - GooglePrivacyDlpV2ListConnectionsResponse: + properties: + hybridItem: + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridContentItem' + description: The item to inspect. + GooglePrivacyDlpV2ListDiscoveryConfigsResponse: + id: GooglePrivacyDlpV2ListDiscoveryConfigsResponse + description: Response message for ListDiscoveryConfigs. properties: nextPageToken: type: string description: >- - Token to retrieve the next page of results. An empty value means - there are no more results. - connections: + If the next page is available then this value is the next page token + to be used in the following ListDiscoveryConfigs request. + discoveryConfigs: type: array - description: List of connections. + description: List of configs, up to page_size in ListDiscoveryConfigsRequest. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' type: object - id: GooglePrivacyDlpV2ListConnectionsResponse - description: Response message for ListConnections. - GooglePrivacyDlpV2FieldTransformation: - id: GooglePrivacyDlpV2FieldTransformation - description: The transformation to apply to the field. + GooglePrivacyDlpV2CategoricalStatsResult: + description: Result of the categorical stats computation. + type: object + id: GooglePrivacyDlpV2CategoricalStatsResult properties: - infoTypeTransformations: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeTransformations' - description: >- - Treat the contents of the field as free text, and selectively - transform content that matches an `InfoType`. - condition: - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordCondition' - description: >- - Only apply the transformation if the condition evaluates to true for - the given `RecordCondition`. The conditions are allowed to reference - fields that are not used in the actual transformation. Example Use - Cases: - Apply a different bucket transformation to an age column if - the zip code column for the same record is within a specific range. - - Redact a field if the date of birth field is greater than 85. - primitiveTransformation: - $ref: '#/components/schemas/GooglePrivacyDlpV2PrimitiveTransformation' - description: Apply the transformation to the entire field. - fields: + valueFrequencyHistogramBuckets: items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: >- - Required. Input field(s) to apply the transformation to. When you - have columns that reference their position within a list, omit the - index from the FieldId. FieldId name matching ignores the index. For - example, instead of "contact.nums[0].type", use "contact.nums.type". + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CategoricalStatsHistogramBucket type: array + description: Histogram of value frequencies in the column. + GooglePrivacyDlpV2KAnonymityResult: type: object - GooglePrivacyDlpV2StatisticalTable: - id: GooglePrivacyDlpV2StatisticalTable + id: GooglePrivacyDlpV2KAnonymityResult + properties: + equivalenceClassHistogramBuckets: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityHistogramBucket' + description: Histogram of k-anonymity equivalence classes. + type: array + description: Result of the k-anonymity computation. + GooglePrivacyDlpV2FileStoreRegexes: description: >- - An auxiliary table containing statistical information on the relative - frequency of different quasi-identifiers values. It has one or several - quasi-identifiers columns, and one column that indicates the relative - frequency of each quasi-identifier tuple. If a tuple is present in the - data but not in the auxiliary table, the corresponding relative - frequency is assumed to be zero (and thus, the tuple is highly - reidentifiable). - type: object + A collection of regular expressions to determine what file store to + match against. properties: - table: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Required. Auxiliary table location. - relativeFrequency: - description: >- - Required. The relative frequency column must contain a - floating-point number between 0 and 1 (inclusive). Null values are - assumed to be zero. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - quasiIds: + patterns: type: array - description: Required. Quasi-identifier columns. + description: >- + Required. The group of regular expression patterns to match against + one or more file stores. Maximum of 100 entries. The sum of all + regular expression's length can't exceed 10 KiB. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2QuasiIdentifierField' - GooglePrivacyDlpV2SecretsDiscoveryTarget: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreRegex' + id: GooglePrivacyDlpV2FileStoreRegexes type: object - id: GooglePrivacyDlpV2SecretsDiscoveryTarget - properties: {} - description: >- - Discovery target for credentials and secrets in cloud resource metadata. - This target does not include any filtering or frequency controls. Cloud - DLP will scan cloud resource metadata for secrets daily. No inspect - template should be included in the discovery config for a security - benchmarks scan. Instead, the built-in list of secrets and credentials - infoTypes will be used (see - https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference#credentials_and_secrets). - Credentials and secrets discovered will be reported as vulnerabilities - to Security Command Center. - GooglePrivacyDlpV2ImageLocation: - description: Location of the finding within an image. + GooglePrivacyDlpV2RequestedDeidentifyOptions: type: object - id: GooglePrivacyDlpV2ImageLocation + id: GooglePrivacyDlpV2RequestedDeidentifyOptions + description: De-identification options. properties: - boundingBoxes: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2BoundingBox' - type: array + snapshotDeidentifyTemplate: description: >- - Bounding boxes locating the pixels within the image containing the - finding. - GooglePrivacyDlpV2CreateDiscoveryConfigRequest: - properties: - configId: + Snapshot of the state of the `DeidentifyTemplate` from the + Deidentify action at the time this job was run. + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + snapshotStructuredDeidentifyTemplate: description: >- - The config ID can contain uppercase and lowercase letters, numbers, - and hyphens; that is, it must match the regular expression: - `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty - to allow the system to generate one. - type: string - discoveryConfig: - description: Required. The DiscoveryConfig to create. - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' - description: Request message for CreateDiscoveryConfig. - type: object - id: GooglePrivacyDlpV2CreateDiscoveryConfigRequest + Snapshot of the state of the structured `DeidentifyTemplate` from + the `Deidentify` action at the time this job was run. + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + snapshotImageRedactTemplate: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + description: >- + Snapshot of the state of the image transformation + `DeidentifyTemplate` from the `Deidentify` action at the time this + job was run. GooglePrivacyDlpV2CreateConnectionRequest: - type: object description: Request message for CreateConnection. properties: connection: - description: Required. The connection resource. $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + description: Required. The connection resource. id: GooglePrivacyDlpV2CreateConnectionRequest - GooglePrivacyDlpV2ListDlpJobsResponse: type: object - description: The response message for listing DLP jobs. - id: GooglePrivacyDlpV2ListDlpJobsResponse + GooglePrivacyDlpV2NumericalStatsConfig: properties: - nextPageToken: - type: string - description: The standard List next-page token. - jobs: - type: array - description: A list of DlpJobs that matches the specified filter in the request. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' - GooglePrivacyDlpV2KAnonymityResult: - id: GooglePrivacyDlpV2KAnonymityResult + field: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: >- + Field to compute numerical stats on. Supported types are integer, + float, date, datetime, timestamp, time. type: object + id: GooglePrivacyDlpV2NumericalStatsConfig + description: >- + Compute numerical stats over an individual column, including min, max, + and quantiles. + GooglePrivacyDlpV2OtherCloudResourceRegexes: properties: - equivalenceClassHistogramBuckets: + patterns: type: array - description: Histogram of k-anonymity equivalence classes. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityHistogramBucket' - description: Result of the k-anonymity computation. - GooglePrivacyDlpV2Bucket: - id: GooglePrivacyDlpV2Bucket - properties: - max: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - description: Upper bound of the range, exclusive; type must match min. - min: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + $ref: '#/components/schemas/GooglePrivacyDlpV2OtherCloudResourceRegex' description: >- - Lower bound of the range, inclusive. Type should be the same as max - if used. - replacementValue: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - description: Required. Replacement value for this bucket. - description: Bucket is represented as a range, along with replacement values. - type: object - GooglePrivacyDlpV2LargeCustomDictionaryConfig: + A group of regular expression patterns to match against one or more + resources. Maximum of 100 entries. The sum of all regular + expression's length can't exceed 10 KiB. description: >- - Configuration for a custom dictionary created from a data source of any - size up to the maximum size defined in the - [limits](https://cloud.google.com/sensitive-data-protection/limits) - page. The artifacts of dictionary creation are stored in the specified - Cloud Storage location. Consider using `CustomInfoType.Dictionary` for - smaller dictionaries that satisfy the size requirements. + A collection of regular expressions to determine what resources to match + against. + id: GooglePrivacyDlpV2OtherCloudResourceRegexes type: object - id: GooglePrivacyDlpV2LargeCustomDictionaryConfig + GooglePrivacyDlpV2PrimitiveTransformation: + type: object + id: GooglePrivacyDlpV2PrimitiveTransformation properties: - outputPath: + characterMaskConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2CharacterMaskConfig' + description: Mask + cryptoDeterministicConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoDeterministicConfig' + description: Deterministic Crypto + replaceWithInfoTypeConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2ReplaceWithInfoTypeConfig' + description: Replace with infotype + cryptoHashConfig: + description: Crypto + $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoHashConfig' + cryptoReplaceFfxFpeConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig' + description: Ffx-Fpe + dateShiftConfig: + description: Date Shift + $ref: '#/components/schemas/GooglePrivacyDlpV2DateShiftConfig' + fixedSizeBucketingConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2FixedSizeBucketingConfig' + description: Fixed size bucketing + timePartConfig: + description: Time extraction + $ref: '#/components/schemas/GooglePrivacyDlpV2TimePartConfig' + replaceDictionaryConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2ReplaceDictionaryConfig' description: >- - Location to store dictionary artifacts in Cloud Storage. These files - will only be accessible by project owners and the DLP API. If any of - these artifacts are modified, the dictionary is considered invalid - and can no longer be used. - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStoragePath' - cloudStorageFileSet: + Replace with a value randomly drawn (with replacement) from a + dictionary. + bucketingConfig: + description: Bucketing + $ref: '#/components/schemas/GooglePrivacyDlpV2BucketingConfig' + replaceConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2ReplaceValueConfig' + description: Replace with a specified value. + redactConfig: + description: Redact + $ref: '#/components/schemas/GooglePrivacyDlpV2RedactConfig' + description: A rule for transforming a value. + GooglePrivacyDlpV2StoredInfoTypeStats: + description: Statistics for a StoredInfoType. + properties: + largeCustomDictionary: + $ref: '#/components/schemas/GooglePrivacyDlpV2LargeCustomDictionaryStats' description: >- - Set of files containing newline-delimited lists of dictionary + StoredInfoType where findings are defined by a dictionary of phrases. - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageFileSet' - bigQueryField: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryField' - description: >- - Field in a BigQuery table where each cell represents a dictionary - phrase. - GooglePrivacyDlpV2StoredInfoTypeVersion: type: object + id: GooglePrivacyDlpV2StoredInfoTypeStats + GooglePrivacyDlpV2LDiversityConfig: + id: GooglePrivacyDlpV2LDiversityConfig + description: l-diversity metric, used for analysis of reidentification risk. properties: - config: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeConfig' - description: StoredInfoType configuration. - state: - enumDescriptions: - - Unused - - StoredInfoType version is being created. - - StoredInfoType version is ready for use. - - >- - StoredInfoType creation failed. All relevant error messages are - returned in the `StoredInfoTypeVersion` message. - - >- - StoredInfoType is no longer valid because artifacts stored in - user-controlled storage were modified. To fix an invalid - StoredInfoType, use the `UpdateStoredInfoType` method to create a - new version. - enum: - - STORED_INFO_TYPE_STATE_UNSPECIFIED - - PENDING - - READY - - FAILED - - INVALID - description: >- - Stored info type version state. Read-only, updated by the system - during dictionary creation. - type: string - stats: - description: Statistics about this storedInfoType version. - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeStats' - createTime: - description: >- - Create timestamp of the version. Read-only, determined by the system - when the version is created. - type: string - format: google-datetime - errors: + quasiIds: + type: array description: >- - Errors that occurred when creating this storedInfoType version, or - anomalies detected in the storedInfoType data that render it - unusable. Only the five most recent errors will be displayed, with - the most recent error appearing first. For example, some of the data - for stored custom dictionaries is put in the user's Cloud Storage - bucket, and if this data is modified or deleted by the user or - another system, the dictionary becomes invalid. If any errors occur, - fix the problem indicated by the error message and use the - UpdateStoredInfoType API method to create another version of the - storedInfoType to continue using it, reusing the same `config` if it - was not the source of the error. + Set of quasi-identifiers indicating how equivalence classes are + defined for the l-diversity computation. When multiple fields are + specified, they are considered a single composite key. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Error' - type: array - description: >- - Version of a StoredInfoType, including the configuration used to build - it, create timestamp, and current state. - id: GooglePrivacyDlpV2StoredInfoTypeVersion - GooglePrivacyDlpV2AllOtherBigQueryTables: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + sensitiveAttribute: + description: Sensitive field for computing the l-value. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + type: object + GooglePrivacyDlpV2FileStoreCollection: + description: Match file stores (e.g. buckets) using regex filters. + id: GooglePrivacyDlpV2FileStoreCollection + properties: + includeRegexes: + description: >- + Optional. A collection of regular expressions to match a file store + against. + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreRegexes' type: object + GooglePrivacyDlpV2LeaveUntransformed: properties: {} - id: GooglePrivacyDlpV2AllOtherBigQueryTables description: >- - Catch-all for all other tables not specified by other filters. Should - always be last, except for single-table configurations, which will only - have a TableReference target. - GooglePrivacyDlpV2SensitivityScore: - id: GooglePrivacyDlpV2SensitivityScore + Skips the data without modifying it if the requested transformation + would cause an error. For example, if a `DateShift` transformation were + applied an an IP address, this mode would leave the IP address unchanged + in the response. + id: GooglePrivacyDlpV2LeaveUntransformed + type: object + GooglePrivacyDlpV2CustomInfoType: type: object description: >- - Score is calculated from of all elements in the data profile. A higher - level means the data is more sensitive. + Custom information type provided by the user. Used to find + domain-specific sensitive information configurable to the data in + question. properties: - score: + likelihood: + type: string + enum: + - LIKELIHOOD_UNSPECIFIED + - VERY_UNLIKELY + - UNLIKELY + - POSSIBLE + - LIKELY + - VERY_LIKELY + enumDescriptions: + - Default value; same as POSSIBLE. + - Highest chance of a false positive. + - High chance of a false positive. + - Some matching signals. The default value. + - Low chance of a false positive. + - Confidence level is high. Lowest chance of a false positive. + description: >- + Likelihood to return for this CustomInfoType. This base value can be + altered by a detection rule if the finding meets the criteria + specified by the rule. Defaults to `VERY_LIKELY` if not specified. + regex: + description: Regular expression based CustomInfoType. + $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' + detectionRules: + type: array + description: >- + Set of detection rules to apply to all findings of this + CustomInfoType. Rules are applied in order that they are specified. + Not supported for the `surrogate_type` CustomInfoType. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2DetectionRule' + dictionary: + $ref: '#/components/schemas/GooglePrivacyDlpV2Dictionary' + description: A list of phrases to detect as a CustomInfoType. + surrogateType: + description: >- + Message for detecting output from deidentification transformations + that support reversing. + $ref: '#/components/schemas/GooglePrivacyDlpV2SurrogateType' + sensitivityScore: + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + description: >- + Sensitivity for this CustomInfoType. If this CustomInfoType extends + an existing InfoType, the sensitivity here will take precedence over + that of the original InfoType. If unset for a CustomInfoType, it + will default to HIGH. This only applies to data profiling. + infoType: + description: >- + CustomInfoType can either be a new infoType, or an extension of + built-in infoType, when the name matches one of existing infoTypes + and that infoType is specified in `InspectContent.info_types` field. + Specifying the latter adds findings to the one detected by the + system. If built-in info type is not specified in + `InspectContent.info_types` list then the name is treated as a + custom info type. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + exclusionType: + description: >- + If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a + finding to be returned. It still can be used for rules matching. enumDescriptions: - - Unused. - - >- - No sensitive information detected. The resource isn't publicly - accessible. - - Unable to determine sensitivity. - >- - Medium risk. Contains personally identifiable information (PII), - potentially sensitive data, or fields with free-text data that are - at a higher risk of having intermittent sensitive data. Consider - limiting access. + A finding of this custom info type will not be excluded from + results. - >- - High risk. Sensitive personally identifiable information (SPII) - can be present. Exfiltration of data can lead to user data loss. - Re-identification of users might be possible. Consider limiting - usage and or removing SPII. - enum: - - SENSITIVITY_SCORE_UNSPECIFIED - - SENSITIVITY_LOW - - SENSITIVITY_UNKNOWN - - SENSITIVITY_MODERATE - - SENSITIVITY_HIGH - description: The sensitivity score applied to the resource. + A finding of this custom info type will be excluded from final + results, but can still affect rule execution. type: string - GooglePrivacyDlpV2DeidentifyDataSourceStats: + enum: + - EXCLUSION_TYPE_UNSPECIFIED + - EXCLUSION_TYPE_EXCLUDE + storedType: + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredType' + description: >- + Load an existing `StoredInfoType` resource for use in + `InspectDataSource`. Not currently supported in `InspectContent`. + id: GooglePrivacyDlpV2CustomInfoType + GooglePrivacyDlpV2AmazonS3BucketRegex: + id: GooglePrivacyDlpV2AmazonS3BucketRegex + description: Amazon S3 bucket regex. properties: - transformationCount: - format: int64 - description: Number of successfully applied transformations. - type: string - transformedBytes: - description: Total size in bytes that were transformed in some way. - type: string - format: int64 - transformationErrorCount: - format: int64 - description: Number of errors encountered while trying to apply transformations. + bucketNameRegex: type: string - id: GooglePrivacyDlpV2DeidentifyDataSourceStats - type: object - description: Summary of what was modified during a transformation. - GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues: - description: A tuple of values for the quasi-identifier columns. + description: >- + Optional. Regex to test the bucket name against. If empty, all + buckets match. + awsAccountRegex: + $ref: '#/components/schemas/GooglePrivacyDlpV2AwsAccountRegex' + description: The AWS account regex. type: object + GooglePrivacyDlpV2AuxiliaryTable: properties: - estimatedProbability: - format: double + relativeFrequency: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' description: >- - The estimated probability that a given individual sharing these - quasi-identifier values is in the dataset. This value, typically - called δ, is the ratio between the number of records in the dataset - with these quasi-identifier values, and the total number of - individuals (inside *and* outside the dataset) with these - quasi-identifier values. For example, if there are 15 individuals in - the dataset who share the same quasi-identifier values, and an - estimated 100 people in the entire population with these values, - then δ is 0.15. - type: number - quasiIdsValues: + Required. The relative frequency column must contain a + floating-point number between 0 and 1 (inclusive). Null values are + assumed to be zero. + quasiIds: + description: Required. Quasi-identifier columns. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - type: array - description: The quasi-identifier values. - id: GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues - GooglePrivacyDlpV2HybridInspectDlpJobRequest: - properties: - hybridItem: - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridContentItem' - description: The item to inspect. + $ref: '#/components/schemas/GooglePrivacyDlpV2QuasiIdField' + type: array + table: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: Required. Auxiliary table location. + id: GooglePrivacyDlpV2AuxiliaryTable type: object - id: GooglePrivacyDlpV2HybridInspectDlpJobRequest - description: Request to search for potentially sensitive info in a custom location. - GooglePrivacyDlpV2BigQueryKey: + description: >- + An auxiliary table contains statistical information on the relative + frequency of different quasi-identifiers values. It has one or several + quasi-identifiers columns, and one column that indicates the relative + frequency of each quasi-identifier tuple. If a tuple is present in the + data but not in the auxiliary table, the corresponding relative + frequency is assumed to be zero (and thus, the tuple is highly + reidentifiable). + GooglePrivacyDlpV2LDiversityHistogramBucket: properties: - rowNumber: - description: >- - Row number inferred at the time the table was scanned. This value is - nondeterministic, cannot be queried, and may be null for inspection - jobs. To locate findings within a table, specify - `inspect_job.storage_config.big_query_options.identifying_fields` in - `CreateDlpJobRequest`. + bucketValueCount: + description: Total number of distinct equivalence classes in this bucket. + type: string + format: int64 + bucketSize: format: int64 type: string - tableReference: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Complete BigQuery table reference. - description: Row key for identifying a record in BigQuery table. - type: object - id: GooglePrivacyDlpV2BigQueryKey - GooglePrivacyDlpV2PathElement: - type: object - properties: - id: + description: Total number of equivalence classes in this bucket. + sensitiveValueFrequencyUpperBound: description: >- - The auto-allocated ID of the entity. Never equal to zero. Values - less than zero are discouraged and may not be supported in the - future. + Upper bound on the sensitive value frequencies of the equivalence + classes in this bucket. format: int64 type: string - name: - type: string + bucketValues: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityEquivalenceClass' + type: array description: >- - The name of the entity. A name matching regex `__.*__` is - reserved/read-only. A name must not be more than 1500 bytes when - UTF-8 encoded. Cannot be `""`. - kind: + Sample of equivalence classes in this bucket. The total number of + classes returned per bucket is capped at 20. + sensitiveValueFrequencyLowerBound: type: string description: >- - The kind of the entity. A kind matching regex `__.*__` is - reserved/read-only. A kind must not contain more than 1500 bytes - when UTF-8 encoded. Cannot be `""`. - id: GooglePrivacyDlpV2PathElement - description: >- - A (kind, ID/name) pair used to construct a key path. If either name or - ID is set, the element is complete. If neither is set, the element is - incomplete. + Lower bound on the sensitive value frequencies of the equivalence + classes in this bucket. + format: int64 + id: GooglePrivacyDlpV2LDiversityHistogramBucket + type: object + description: Histogram of l-diversity equivalence class sensitive value frequencies. GooglePrivacyDlpV2TableDataProfile: + id: GooglePrivacyDlpV2TableDataProfile + type: object + description: The profile for a scanned table. properties: - projectDataProfile: - type: string - description: The resource name of the project data profile for this table. - tableSizeBytes: - description: The size of the table when the profile was generated. - type: string - format: int64 resourceLabels: type: object description: >- @@ -2885,679 +2949,520 @@ components: name: type: string description: The name of the profile. - datasetId: - description: If the resource is BigQuery, the dataset ID. - type: string - datasetLocation: + dataSourceType: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataSourceType' + description: The resource type that was profiled. + lastModifiedTime: + description: The time when this table was last modified + format: google-datetime type: string - description: >- - If supported, the location where the dataset's data is stored. See - https://cloud.google.com/bigquery/docs/locations for supported - locations. + predictedInfoTypes: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeSummary' + type: array + description: The infoTypes predicted from this table's data. rowCount: - format: int64 description: >- Number of rows in the table when the profile was generated. This will not be populated for BigLake tables. type: string - configSnapshot: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileConfigSnapshot' - description: The snapshot of the configurations used to generate the profile. - profileStatus: - $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' - description: >- - Success or error status from the most recent profile generation - attempt. May be empty if the profile is still being generated. - expirationTime: - format: google-datetime - type: string - description: Optional. The time when this table expires. - state: + format: int64 + resourceVisibility: enum: - - STATE_UNSPECIFIED - - RUNNING - - DONE + - RESOURCE_VISIBILITY_UNSPECIFIED + - RESOURCE_VISIBILITY_PUBLIC + - RESOURCE_VISIBILITY_INCONCLUSIVE + - RESOURCE_VISIBILITY_RESTRICTED + description: How broadly a resource has been shared. + type: string enumDescriptions: - Unused. + - Visible to any user. - >- - The profile is currently running. Once a profile has finished it - will transition to DONE. - - >- - The profile is no longer generating. If profile_status.status.code - is 0, the profile succeeded, otherwise, it failed. - description: State of a profile. + May contain public items. For example, if a Cloud Storage bucket + has uniform bucket level access disabled, some objects inside it + may be public, but none are known yet. + - Visible only to specific users. + sensitivityScore: + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + description: The sensitivity score of this table. + datasetProjectId: type: string - fullResource: - description: >- - The resource name of the resource profiled. - https://cloud.google.com/apis/design/resource_names#full_resource_name + description: The Google Cloud project ID that owns the resource. + tableSizeBytes: + description: The size of the table when the profile was generated. type: string - failedColumnCount: format: int64 - description: The number of columns skipped in the table because of an error. - type: string - profileLastGenerated: - type: string - format: google-datetime - description: The last time the profile was generated. + profileStatus: + $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' + description: >- + Success or error status from the most recent profile generation + attempt. May be empty if the profile is still being generated. encryptionStatus: - type: string enumDescriptions: - Unused. - Google manages server-side encryption keys on your behalf. - Customer provides the key. - description: How the table is encrypted. enum: - ENCRYPTION_STATUS_UNSPECIFIED - ENCRYPTION_GOOGLE_MANAGED - ENCRYPTION_CUSTOMER_MANAGED + description: How the table is encrypted. + type: string createTime: - description: The time at which the table was created. format: google-datetime type: string - otherInfoTypes: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2OtherInfoTypeSummary' - description: Other infoTypes found in this table's data. - type: array - resourceVisibility: - description: How broadly a resource has been shared. - enum: - - RESOURCE_VISIBILITY_UNSPECIFIED - - RESOURCE_VISIBILITY_PUBLIC - - RESOURCE_VISIBILITY_INCONCLUSIVE - - RESOURCE_VISIBILITY_RESTRICTED - enumDescriptions: - - Unused. - - Visible to any user. - - >- - May contain public items. For example, if a Cloud Storage bucket - has uniform bucket level access disabled, some objects inside it - may be public, but none are known yet. - - Visible only to specific users. - type: string - dataRiskLevel: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' - description: The data risk level of this table. - dataSourceType: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataSourceType' - description: The resource type that was profiled. - datasetProjectId: + description: The time at which the table was created. + datasetLocation: type: string - description: The Google Cloud project ID that owns the resource. - sensitivityScore: - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - description: The sensitivity score of this table. - lastModifiedTime: - description: The time when this table was last modified + description: >- + If supported, the location where the dataset's data is stored. See + https://cloud.google.com/bigquery/docs/locations for supported + locations. + configSnapshot: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileConfigSnapshot' + description: The snapshot of the configurations used to generate the profile. + profileLastGenerated: type: string format: google-datetime - predictedInfoTypes: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeSummary' - description: The infoTypes predicted from this table's data. - type: array + description: The last time the profile was generated. tableId: type: string - description: If the resource is BigQuery, the BigQuery table ID. - scannedColumnCount: - description: The number of columns profiled in the table. + description: The table ID. + failedColumnCount: format: int64 type: string - id: GooglePrivacyDlpV2TableDataProfile - type: object - description: The profile for a scanned table. - GooglePrivacyDlpV2NumericalStatsResult: - id: GooglePrivacyDlpV2NumericalStatsResult - properties: - quantileValues: - description: >- - List of 99 values that partition the set of field values into 100 - equal sized buckets. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - type: array - minValue: - description: Minimum value appearing in the column. - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - maxValue: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - description: Maximum value appearing in the column. - description: Result of the numerical stats computation. - type: object - GooglePrivacyDlpV2PartitionId: - description: >- - Datastore partition ID. A partition ID identifies a grouping of - entities. The grouping is always by project and namespace, however the - namespace ID may be empty. A partition ID contains several dimensions: - project ID and namespace ID. - id: GooglePrivacyDlpV2PartitionId - properties: - namespaceId: - description: If not empty, the ID of the namespace to which the entities belong. + description: The number of columns skipped in the table because of an error. + dataRiskLevel: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' + description: The data risk level of this table. + expirationTime: + description: Optional. The time when this table expires. + format: google-datetime type: string - projectId: - description: The ID of the project to which the entities belong. + fullResource: type: string - type: object - GooglePrivacyDlpV2DiscoveryTarget: - properties: - cloudSqlTarget: - description: >- - Cloud SQL target for Discovery. The first target to match a table - will be the one applied. - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudSqlDiscoveryTarget' - secretsTarget: - description: >- - Discovery target that looks for credentials and secrets stored in - cloud resource metadata and reports them as vulnerabilities to - Security Command Center. Only one target of this type is allowed. - $ref: '#/components/schemas/GooglePrivacyDlpV2SecretsDiscoveryTarget' - bigQueryTarget: - description: >- - BigQuery target for Discovery. The first target to match a table - will be the one applied. - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryDiscoveryTarget' - cloudStorageTarget: description: >- - Cloud Storage target for Discovery. The first target to match a - table will be the one applied. - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageDiscoveryTarget' - type: object - id: GooglePrivacyDlpV2DiscoveryTarget - description: Target used to match against for Discovery. - GooglePrivacyDlpV2BigQueryRegexes: - description: >- - A collection of regular expressions to determine what tables to match - against. - properties: - patterns: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryRegex' + The Cloud Asset Inventory resource that was profiled in order to + generate this TableDataProfile. + https://cloud.google.com/apis/design/resource_names#full_resource_name + otherInfoTypes: type: array - description: >- - A single BigQuery regular expression pattern to match against one or - more tables, datasets, or projects that contain BigQuery tables. - type: object - id: GooglePrivacyDlpV2BigQueryRegexes - GooglePrivacyDlpV2PubSubCondition: - type: object - id: GooglePrivacyDlpV2PubSubCondition - properties: - minimumSensitivityScore: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2OtherInfoTypeSummary' + description: Other infoTypes found in this table's data. + projectDataProfile: type: string - enumDescriptions: - - Unused. - - High risk/sensitivity detected. - - Medium or high risk/sensitivity detected. - description: The minimum sensitivity level that triggers the condition. + description: The resource name of the project data profile for this table. + state: enum: - - PROFILE_SCORE_BUCKET_UNSPECIFIED - - HIGH - - MEDIUM_OR_HIGH - minimumRiskScore: - description: The minimum data risk score that triggers the condition. + - STATE_UNSPECIFIED + - RUNNING + - DONE type: string enumDescriptions: - Unused. - - High risk/sensitivity detected. - - Medium or high risk/sensitivity detected. - enum: - - PROFILE_SCORE_BUCKET_UNSPECIFIED - - HIGH - - MEDIUM_OR_HIGH - description: A condition consisting of a value. - GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig: - description: >- - Replaces an identifier with a surrogate using Format Preserving - Encryption (FPE) with the FFX mode of operation; however when used in - the `ReidentifyContent` API method, it serves the opposite function by - reversing the surrogate back into the original identifier. The - identifier must be encoded as ASCII. For a given crypto key and context, - the same identifier will be replaced with the same surrogate. - Identifiers must be at least two characters long. In the case that the - identifier is the empty string, it will be skipped. See - https://cloud.google.com/sensitive-data-protection/docs/pseudonymization - to learn more. Note: We recommend using CryptoDeterministicConfig for - all use cases which do not require preserving the input alphabet space - and size, plus warrant referential integrity. - type: object - properties: - customAlphabet: - description: >- - This is supported by mapping these to the alphanumeric characters - that the FFX mode natively supports. This happens before/after - encryption/decryption. Each character listed must appear only once. - Number of characters must be in the range [2, 95]. This must be - encoded as ASCII. The order of characters does not matter. The full - list of allowed characters is: - ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/`` + - >- + The profile is currently running. Once a profile has finished it + will transition to DONE. + - >- + The profile is no longer generating. If profile_status.status.code + is 0, the profile succeeded, otherwise, it failed. + description: State of a profile. + datasetId: + description: If the resource is BigQuery, the dataset ID. type: string - commonAlphabet: - description: Common alphabets. - enumDescriptions: - - Unused. - - '`[0-9]` (radix of 10)' - - '`[0-9A-F]` (radix of 16)' - - '`[0-9A-Z]` (radix of 36)' - - '`[0-9A-Za-z]` (radix of 62)' + scannedColumnCount: type: string - enum: - - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED - - NUMERIC - - HEXADECIMAL - - UPPER_CASE_ALPHA_NUMERIC - - ALPHA_NUMERIC + format: int64 + description: The number of columns profiled in the table. + GooglePrivacyDlpV2DatabaseResourceCollection: + properties: + includeRegexes: + $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceRegexes' + description: >- + A collection of regular expressions to match a database resource + against. + id: GooglePrivacyDlpV2DatabaseResourceCollection + type: object + description: >- + Match database resources using regex filters. Examples of database + resources are tables, views, and stored procedures. + GooglePrivacyDlpV2DateShiftConfig: + id: GooglePrivacyDlpV2DateShiftConfig + properties: context: + description: >- + Points to the field that contains the context, for example, an + entity id. If set, must also set cryptoKey. If set, shift will be + consistent for the given context. $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + upperBoundDays: description: >- - The 'tweak', a context may be used for higher security since the - same identifier in two different contexts won't be given the same - surrogate. If the context is not set, a default tweak will be used. - If the context is set but: 1. there is no record present when - transforming a given value or 1. the field is not present when - transforming a given value, a default tweak will be used. Note that - case (1) is expected when an `InfoTypeTransformation` is applied to - both structured and unstructured `ContentItem`s. Currently, the - referenced field may be of value type integer or string. The tweak - is constructed as a sequence of bytes in big endian byte order such - that: - a 64 bit integer is encoded followed by a single byte of - value 1 - a string is encoded in UTF-8 format followed by a single - byte of value 2 - radix: - format: int32 - description: The native way to select the alphabet. Must be in the range [2, 95]. + Required. Range of shift in days. Actual shift will be selected at + random within this range (inclusive ends). Negative means shift to + earlier in time. Must not be more than 365250 days (1000 years) each + direction. For example, 3 means shift date to at most 3 days into + the future. type: integer + format: int32 cryptoKey: $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' - description: Required. The key used by the encryption algorithm. - surrogateInfoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' description: >- - The custom infoType to annotate the surrogate with. This annotation - will be applied to the surrogate by prefixing it with the name of - the custom infoType followed by the number of characters comprising - the surrogate. The following scheme defines the format: - info_type_name(surrogate_character_count):surrogate For example, if - the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the - surrogate is 'abc', the full replacement value will be: - 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate - when inspecting content using the custom infoType - [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype). - This facilitates reversal of the surrogate when it occurs in free - text. In order for inspection to work properly, the name of this - infoType must not occur naturally anywhere in your data; otherwise, - inspection may find a surrogate that does not correspond to an - actual identifier. Therefore, choose your custom infoType name - carefully after considering what your data looks like. One way to - select a name that has a high chance of yielding reliable detection - is to include one or more unicode characters that are highly - improbable to exist in your data. For example, assuming your data is - entered from a regular ASCII keyboard, the symbol with the hex code - point 29DD might be used like so: ⧝MY_TOKEN_TYPE - id: GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig - GooglePrivacyDlpV2FileExtensionInfo: - id: GooglePrivacyDlpV2FileExtensionInfo - properties: - fileExtension: - type: string - description: The file extension if set. (aka .pdf, .jpg, .txt) - description: Information regarding the discovered file extension. + Causes the shift to be computed based on this key and the context. + This results in the same shift for the same context and crypto_key. + If set, must also set context. Can only be applied to table items. + lowerBoundDays: + format: int32 + description: >- + Required. For example, -5 means shift date to at most 5 days back in + the past. + type: integer type: object - GooglePrivacyDlpV2CharsToIgnore: description: >- - Characters to skip when doing deidentification of a value. These will be - left alone and skipped. - id: GooglePrivacyDlpV2CharsToIgnore + Shifts dates by random number of days, with option to be consistent for + the same context. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-date-shifting + to learn more. + GooglePrivacyDlpV2RiskAnalysisJobConfig: + id: GooglePrivacyDlpV2RiskAnalysisJobConfig + type: object + description: >- + Configuration for a risk analysis job. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-risk-analysis + to learn more. properties: - commonCharactersToIgnore: + sourceTable: + description: Input dataset to compute metrics over. + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + actions: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Action' description: >- - Common characters to not transform when masking. Useful to avoid - removing punctuation. - type: string - enumDescriptions: - - Unused. - - 0-9 - - A-Z - - a-z - - US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ - - Whitespace character, one of [ \t\n\x0B\f\r] - enum: - - COMMON_CHARS_TO_IGNORE_UNSPECIFIED - - NUMERIC - - ALPHA_UPPER_CASE - - ALPHA_LOWER_CASE - - PUNCTUATION - - WHITESPACE - charactersToSkip: - description: Characters to not transform when masking. - type: string + Actions to execute at the completion of the job. Are executed in the + order provided. + type: array + privacyMetric: + description: Privacy metric to compute. + $ref: '#/components/schemas/GooglePrivacyDlpV2PrivacyMetric' + GooglePrivacyDlpV2CreateJobTriggerRequest: type: object - GooglePrivacyDlpV2Connection: + id: GooglePrivacyDlpV2CreateJobTriggerRequest + description: Request message for CreateJobTrigger. properties: - cloudSql: - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudSqlProperties' - description: Connect to a Cloud SQL instance. - state: - description: Required. The connection's state in its lifecycle. + triggerId: type: string - enumDescriptions: - - Unused - - >- - DLP automatically created this connection during an initial scan, - and it is awaiting full configuration by a user. - - A configured connection that has not encountered any errors. - - >- - A configured connection that encountered errors during its last - use. It will not be used again until it is set to AVAILABLE. If - the resolution requires external action, then the client must send - a request to set the status to AVAILABLE when the connection is - ready for use. If the resolution doesn't require external action, - then any changes to the connection properties will automatically - mark it as AVAILABLE. - enum: - - CONNECTION_STATE_UNSPECIFIED - - MISSING_CREDENTIALS - - AVAILABLE - - ERROR - name: description: >- - Output only. Name of the connection: - `projects/{project}/locations/{location}/connections/{name}`. + The trigger id can contain uppercase and lowercase letters, numbers, + and hyphens; that is, it must match the regular expression: + `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty + to allow the system to generate one. + locationId: type: string - readOnly: true - errors: - type: array + description: Deprecated. This field has no effect. + jobTrigger: + description: Required. The JobTrigger to create. + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + GooglePrivacyDlpV2KAnonymityHistogramBucket: + properties: + bucketValueCount: + description: Total number of distinct equivalence classes in this bucket. + format: int64 + type: string + bucketValues: description: >- - Output only. Set if status == ERROR, to provide additional details. - Will store the last 10 errors sorted with the most recent first. + Sample of equivalence classes in this bucket. The total number of + classes returned per bucket is capped at 20. + type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Error' - readOnly: true - id: GooglePrivacyDlpV2Connection - description: >- - A data connection to allow DLP to profile data in locations that require - additional configuration. - type: object - GooglePrivacyDlpV2DatastoreKey: - description: Record key for a finding in Cloud Datastore. - properties: - entityKey: - description: Datastore entity key. - $ref: '#/components/schemas/GooglePrivacyDlpV2Key' + $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityEquivalenceClass' + equivalenceClassSizeUpperBound: + description: Upper bound on the size of the equivalence classes in this bucket. + format: int64 + type: string + bucketSize: + type: string + description: Total number of equivalence classes in this bucket. + format: int64 + equivalenceClassSizeLowerBound: + description: Lower bound on the size of the equivalence classes in this bucket. + type: string + format: int64 + description: Histogram of k-anonymity equivalence classes. + id: GooglePrivacyDlpV2KAnonymityHistogramBucket type: object - id: GooglePrivacyDlpV2DatastoreKey - GooglePrivacyDlpV2StoredInfoTypeStats: + GooglePrivacyDlpV2TimeZone: + id: GooglePrivacyDlpV2TimeZone + description: Time zone of the date time object. type: object - id: GooglePrivacyDlpV2StoredInfoTypeStats - description: Statistics for a StoredInfoType. properties: - largeCustomDictionary: - $ref: '#/components/schemas/GooglePrivacyDlpV2LargeCustomDictionaryStats' + offsetMinutes: description: >- - StoredInfoType where findings are defined by a dictionary of - phrases. - GooglePrivacyDlpV2HybridFindingDetails: + Set only if the offset can be determined. Positive for time ahead of + UTC. E.g. For "UTC-9", this value is -540. + format: int32 + type: integer + GooglePrivacyDlpV2DiscoveryCloudSqlGenerationCadence: + type: object + description: >- + How often existing tables should have their profiles refreshed. New + tables are scanned as quickly as possible depending on system capacity. properties: - rowOffset: - type: string - format: int64 - description: >- - Offset of the row for tables. Populate if the row(s) being scanned - are part of a bigger dataset and you want to keep track of their - absolute position. - containerDetails: - $ref: '#/components/schemas/GooglePrivacyDlpV2Container' + inspectTemplateModifiedCadence: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence description: >- - Details about the container where the content being inspected is - from. - labels: - additionalProperties: - type: string - type: object + Governs when to update data profiles when the inspection rules + defined by the `InspectTemplate` change. If not set, changing the + template will not cause a data profile to update. + refreshFrequency: + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. description: >- - Labels to represent user provided metadata about the data being - inspected. If configured by the job, some key values may be - required. The labels associated with `Finding`'s produced by hybrid - inspection. 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 10 labels can be - associated with a given finding. Examples: * `"environment" : - "production"` * `"pipeline" : "etl"` - fileOffset: + Data changes (non-schema changes) in Cloud SQL tables can't trigger + reprofiling. If you set this field, profiles are refreshed at this + frequency regardless of whether the underlying tables have changed. + Defaults to never. type: string + schemaModifiedCadence: + $ref: '#/components/schemas/GooglePrivacyDlpV2SchemaModifiedCadence' + description: When to reprofile if the schema has changed. + id: GooglePrivacyDlpV2DiscoveryCloudSqlGenerationCadence + GooglePrivacyDlpV2Dictionary: + description: >- + Custom information type based on a dictionary of words or phrases. This + can be used to match sensitive information specific to the data, such as + a list of employee IDs or job titles. Dictionary words are + case-insensitive and all characters other than letters and digits in the + unicode [Basic Multilingual + Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane) + will be replaced with whitespace when scanning for matches, so the + dictionary phrase "Sam Johnson" will match all three phrases "sam + johnson", "Sam, Johnson", and "Sam (Johnson)". Additionally, the + characters surrounding any match must be of a different type than the + adjacent characters within the word, so letters must be next to + non-letters and digits next to non-digits. For example, the dictionary + word "jen" will match the first three letters of the text "jen123" but + will return no matches for "jennifer". Dictionary words containing a + large number of characters that are not letters or digits may result in + unexpected findings because such characters are treated as whitespace. + The [limits](https://cloud.google.com/sensitive-data-protection/limits) + page contains details about the size limits of dictionaries. For + dictionaries that do not fit within these constraints, consider using + `LargeCustomDictionaryConfig` in the `StoredInfoType` API. + type: object + properties: + cloudStoragePath: description: >- - Offset in bytes of the line, from the beginning of the file, where - the finding is located. Populate if the item being scanned is only - part of a bigger item, such as a shard of a file and you want to - track the absolute position of the finding. - format: int64 - tableOptions: - $ref: '#/components/schemas/GooglePrivacyDlpV2TableOptions' - description: >- - If the container is a table, additional information to make findings - meaningful such as the columns that are primary keys. If not known - ahead of time, can also be set within each inspect hybrid call and - the two will be merged. Note that identifying_fields will only be - stored to BigQuery, and only if the BigQuery action has been - included. - description: Populate to associate additional data with each finding. + Newline-delimited file of words in Cloud Storage. Only a single file + is accepted. + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStoragePath' + wordList: + $ref: '#/components/schemas/GooglePrivacyDlpV2WordList' + description: List of words or phrases to search for. + id: GooglePrivacyDlpV2Dictionary + GooglePrivacyDlpV2DeidentifyDataSourceDetails: + description: The results of a Deidentify action from an inspect job. + properties: + deidentifyStats: + description: Stats about the de-identification operation. + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyDataSourceStats' + requestedOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2RequestedDeidentifyOptions' + description: De-identification config used for the request. + id: GooglePrivacyDlpV2DeidentifyDataSourceDetails type: object - id: GooglePrivacyDlpV2HybridFindingDetails - GooglePrivacyDlpV2TransformationErrorHandling: - description: >- - How to handle transformation errors during de-identification. A - transformation error occurs when the requested transformation is - incompatible with the data. For example, trying to de-identify an IP - address using a `DateShift` transformation would result in a - transformation error, since date info cannot be extracted from an IP - address. Information about any incompatible transformations, and how - they were handled, is returned in the response as part of the - `TransformationOverviews`. + GooglePrivacyDlpV2TransformationResultStatus: + description: The outcome of a transformation. type: object properties: - leaveUntransformed: - $ref: '#/components/schemas/GooglePrivacyDlpV2LeaveUntransformed' - description: Ignore errors - throwError: - description: Throw an error - $ref: '#/components/schemas/GooglePrivacyDlpV2ThrowError' - id: GooglePrivacyDlpV2TransformationErrorHandling - GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog: + details: + $ref: '#/components/schemas/GoogleRpcStatus' + description: Detailed error codes and messages + resultStatusType: + enum: + - STATE_TYPE_UNSPECIFIED + - INVALID_TRANSFORM + - BIGQUERY_MAX_ROW_SIZE_EXCEEDED + - METADATA_UNRETRIEVABLE + - SUCCESS + type: string + enumDescriptions: + - Unused. + - >- + This will be set when a finding could not be transformed (i.e. + outside user set bucket range). + - >- + This will be set when a BigQuery transformation was successful but + could not be stored back in BigQuery because the transformed row + exceeds BigQuery's max row size. + - >- + This will be set when there is a finding in the custom metadata of + a file, but at the write time of the transformed file, this key / + value pair is unretrievable. + - >- + This will be set when the transformation and storing of it is + successful. + description: >- + Transformation result status type, this will be either SUCCESS, or + it will be the reason for why the transformation was not completely + successful. + id: GooglePrivacyDlpV2TransformationResultStatus + GooglePrivacyDlpV2FinishDlpJobRequest: type: object + description: The request message for finishing a DLP hybrid job. + id: GooglePrivacyDlpV2FinishDlpJobRequest properties: {} - description: >- - Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag - templates are applied to the resource that Cloud DLP scanned. Data - Catalog tag templates are stored in the same project and region where - the BigQuery table exists. For Cloud DLP to create and apply the tag - template, the Cloud DLP service agent must have the - `roles/datacatalog.tagTemplateOwner` permission on the project. The tag - template contains fields summarizing the results of the DlpJob. Any - field values previously written by another DlpJob are deleted. InfoType - naming patterns are strictly enforced when using this feature. Findings - are persisted in Data Catalog storage and are governed by - service-specific policies for Data Catalog. For more information, see - [Service Specific Terms](https://cloud.google.com/terms/service-terms). - Only a single instance of this action can be specified. This action is - allowed only if all resources being scanned are BigQuery tables. - Compatible with: Inspect - id: GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog - GooglePrivacyDlpV2ListTableDataProfilesResponse: - type: object - description: List of profiles generated for a given organization or project. - id: GooglePrivacyDlpV2ListTableDataProfilesResponse + GooglePrivacyDlpV2ExcludeInfoTypes: properties: - tableDataProfiles: + infoTypes: type: array + description: >- + InfoType list in ExclusionRule rule drops a finding when it overlaps + or contained within with a finding of an infoType from this list. + For example, for `InspectionRuleSet.info_types` containing + "PHONE_NUMBER"` and `exclusion_rule` containing + `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone + number findings are dropped if they overlap with EMAIL_ADDRESS + finding. That leads to "555-222-2222@example.org" to generate only a + single finding, namely email address. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' - description: List of data profiles. - nextPageToken: - description: The next page token. - type: string - GooglePrivacyDlpV2ProjectDataProfile: - id: GooglePrivacyDlpV2ProjectDataProfile - properties: - tableDataProfileCount: - type: string - format: int64 - description: The number of table data profiles generated for this project. - profileLastGenerated: - type: string - format: google-datetime - description: The last time the profile was generated. - dataRiskLevel: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' - description: The data risk level of this project. - fileStoreDataProfileCount: - type: string - format: int64 - description: The number of file store data profiles generated for this project. - profileStatus: - $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' - description: Success or error status of the last attempt to profile the project. - name: - description: The resource name of the profile. - type: string - sensitivityScore: - description: The sensitivity score of this project. - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - projectId: - description: Project ID or account that was profiled. - type: string + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' type: object + id: GooglePrivacyDlpV2ExcludeInfoTypes + description: List of excluded infoTypes. + GooglePrivacyDlpV2Action: + id: GooglePrivacyDlpV2Action description: >- - An aggregated profile for this project, based on the resources profiled - within it. - GooglePrivacyDlpV2Trigger: - type: object - description: What event needs to occur for a new job to be started. - id: GooglePrivacyDlpV2Trigger + A task to execute on the completion of a job. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-actions + to learn more. properties: - manual: - $ref: '#/components/schemas/GooglePrivacyDlpV2Manual' + pubSub: + description: Publish a notification to a Pub/Sub topic. + $ref: '#/components/schemas/GooglePrivacyDlpV2PublishToPubSub' + deidentify: + description: Create a de-identified copy of the input data. + $ref: '#/components/schemas/GooglePrivacyDlpV2Deidentify' + saveFindings: + $ref: '#/components/schemas/GooglePrivacyDlpV2SaveFindings' + description: Save resulting findings in a provided location. + publishSummaryToCscc: + $ref: '#/components/schemas/GooglePrivacyDlpV2PublishSummaryToCscc' + description: Publish summary to Cloud Security Command Center (Alpha). + publishFindingsToCloudDataCatalog: + description: Publish findings to Cloud Datahub. + $ref: >- + #/components/schemas/GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog + jobNotificationEmails: description: >- - For use with hybrid jobs. Jobs must be manually created and - finished. - schedule: - description: Create a job on a repeating basis based on the elapse of time. - $ref: '#/components/schemas/GooglePrivacyDlpV2Schedule' - GooglePrivacyDlpV2HotwordRule: - id: GooglePrivacyDlpV2HotwordRule + Sends an email when the job completes. The email goes to IAM project + owners and technical [Essential + Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts). + $ref: '#/components/schemas/GooglePrivacyDlpV2JobNotificationEmails' + publishToStackdriver: + description: Enable Stackdriver metric dlp.googleapis.com/finding_count. + $ref: '#/components/schemas/GooglePrivacyDlpV2PublishToStackdriver' + type: object + GooglePrivacyDlpV2DatastoreKey: properties: - proximity: - $ref: '#/components/schemas/GooglePrivacyDlpV2Proximity' - description: >- - Range of characters within which the entire hotword must reside. The - total length of the window cannot exceed 1000 characters. The - finding itself will be included in the window, so that hotwords can - be used to match substrings of the finding itself. Suppose you want - Cloud DLP to promote the likelihood of the phone number regex - "\(\d{3}\) \d{3}-\d{4}" if the area code is known to be the area - code of a company's office. In this case, use the hotword regex - "\(xxx\)", where "xxx" is the area code in question. For tabular - data, if you want to modify the likelihood of an entire column of - findngs, see [Hotword example: Set the match likelihood of a table - column] - (https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes-likelihood#match-column-values). - likelihoodAdjustment: - $ref: '#/components/schemas/GooglePrivacyDlpV2LikelihoodAdjustment' - description: Likelihood adjustment to apply to all matching findings. - hotwordRegex: - $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' - description: Regular expression pattern defining what qualifies as a hotword. + entityKey: + $ref: '#/components/schemas/GooglePrivacyDlpV2Key' + description: Datastore entity key. + description: Record key for a finding in Cloud Datastore. + id: GooglePrivacyDlpV2DatastoreKey + type: object + GooglePrivacyDlpV2UnwrappedCryptoKey: + properties: + key: + type: string + description: Required. A 128/192/256 bit key. + format: byte type: object + id: GooglePrivacyDlpV2UnwrappedCryptoKey description: >- - The rule that adjusts the likelihood of findings within a certain - proximity of hotwords. - GooglePrivacyDlpV2OtherInfoTypeSummary: - description: Infotype details for other infoTypes found within a column. + Using raw keys is prone to security risks due to accidentally leaking + the key. Choose another type of key if possible. + GooglePrivacyDlpV2StatisticalTable: type: object properties: - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: The other infoType. - estimatedPrevalence: - type: integer - description: >- - Approximate percentage of non-null rows that contained data detected - by this infotype. - format: int32 - excludedFromAnalysis: - type: boolean + relativeFrequency: description: >- - Whether this infoType was excluded from sensitivity and risk - analysis due to factors such as low prevalence (subject to change). - id: GooglePrivacyDlpV2OtherInfoTypeSummary - GooglePrivacyDlpV2AllInfoTypes: - type: object - description: Apply transformation to all findings. - id: GooglePrivacyDlpV2AllInfoTypes - properties: {} - GooglePrivacyDlpV2ReidentifyContentRequest: + Required. The relative frequency column must contain a + floating-point number between 0 and 1 (inclusive). Null values are + assumed to be zero. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + table: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: Required. Auxiliary table location. + quasiIds: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2QuasiIdentifierField' + description: Required. Quasi-identifier columns. + type: array + id: GooglePrivacyDlpV2StatisticalTable + description: >- + An auxiliary table containing statistical information on the relative + frequency of different quasi-identifiers values. It has one or several + quasi-identifiers columns, and one column that indicates the relative + frequency of each quasi-identifier tuple. If a tuple is present in the + data but not in the auxiliary table, the corresponding relative + frequency is assumed to be zero (and thus, the tuple is highly + reidentifiable). + GooglePrivacyDlpV2TransformationLocation: + id: GooglePrivacyDlpV2TransformationLocation properties: - inspectConfig: - description: Configuration for the inspector. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' - item: - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' - description: The item to re-identify. Will be treated as text. - reidentifyConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyConfig' + findingId: description: >- - Configuration for the re-identification of the content item. This - field shares the same proto message type that is used for - de-identification, however its usage here is for the reversal of the - previous de-identification. Re-identification is performed by - examining the transformations used to de-identify the items and - executing the reverse. This requires that only reversible - transformations be provided here. The reversible transformations - are: - `CryptoDeterministicConfig` - `CryptoReplaceFfxFpeConfig` - locationId: - description: Deprecated. This field has no effect. + For infotype transformations, link to the corresponding findings ID + so that location information does not need to be duplicated. Each + findings ID correlates to an entry in the findings output table, + this table only gets created when users specify to save findings + (add the save findings action to the request). type: string - inspectTemplateName: + containerType: type: string + enum: + - TRANSFORM_UNKNOWN_CONTAINER + - TRANSFORM_BODY + - TRANSFORM_METADATA + - TRANSFORM_TABLE + enumDescriptions: + - Unused. + - Body of a file. + - Metadata for a file. + - A table. description: >- - Template to use. Any configuration directly specified in - `inspect_config` will override those set in the template. Singular - fields that are set in this request will replace their corresponding - fields in the template. Repeated fields are appended. Singular - sub-messages and groups are recursively merged. - reidentifyTemplateName: + Information about the functionality of the container where this + finding occurred, if available. + recordTransformation: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordTransformation' description: >- - Template to use. References an instance of `DeidentifyTemplate`. Any - configuration directly specified in `reidentify_config` or - `inspect_config` will override those set in the template. The - `DeidentifyTemplate` used must include only reversible - transformations. Singular fields that are set in this request will - replace their corresponding fields in the template. Repeated fields - are appended. Singular sub-messages and groups are recursively - merged. - type: string - description: Request to re-identify an item. - id: GooglePrivacyDlpV2ReidentifyContentRequest + For record transformations, provide a field and container + information. + description: Specifies the location of a transformation. type: object GooglePrivacyDlpV2Value: type: object + id: GooglePrivacyDlpV2Value properties: - integerValue: - description: integer + timestampValue: type: string - format: int64 + description: timestamp + format: google-datetime + timeValue: + description: time of day + $ref: '#/components/schemas/GoogleTypeTimeOfDay' dayOfWeekValue: - enumDescriptions: - - The day of the week is unspecified. - - Monday - - Tuesday - - Wednesday - - Thursday - - Friday - - Saturday - - Sunday + description: day of week enum: - DAY_OF_WEEK_UNSPECIFIED - MONDAY @@ -3567,28 +3472,33 @@ components: - FRIDAY - SATURDAY - SUNDAY + enumDescriptions: + - The day of the week is unspecified. + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday type: string - description: day of week + booleanValue: + type: boolean + description: boolean floatValue: type: number description: float format: double stringValue: - type: string description: string - timestampValue: - format: google-datetime - description: timestamp type: string dateValue: $ref: '#/components/schemas/GoogleTypeDate' description: date - booleanValue: - type: boolean - description: boolean - timeValue: - description: time of day - $ref: '#/components/schemas/GoogleTypeTimeOfDay' + integerValue: + description: integer + format: int64 + type: string description: >- Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered @@ -3596,4148 +3506,4523 @@ components: string. For example, if 'integer_value' is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. - id: GooglePrivacyDlpV2Value - GooglePrivacyDlpV2DataProfileLocation: - id: GooglePrivacyDlpV2DataProfileLocation + GooglePrivacyDlpV2RequestedRiskAnalysisOptions: properties: - folderId: - type: string - format: int64 - description: The ID of the folder within an organization to scan. - organizationId: - description: The ID of an organization to scan. - format: int64 - type: string - description: The data that will be profiled. + jobConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2RiskAnalysisJobConfig' + description: The job config for the risk job. + id: GooglePrivacyDlpV2RequestedRiskAnalysisOptions type: object - GooglePrivacyDlpV2DeidentifyContentRequest: - description: Request to de-identify a ContentItem. + description: Risk analysis options. + GoogleTypeDate: + id: GoogleTypeDate type: object - id: GooglePrivacyDlpV2DeidentifyContentRequest properties: - locationId: - type: string - description: Deprecated. This field has no effect. - deidentifyConfig: - description: >- - Configuration for the de-identification of the content item. Items - specified here will override the template referenced by the - deidentify_template_name argument. - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyConfig' - inspectTemplateName: - description: >- - Template to use. Any configuration directly specified in - inspect_config will override those set in the template. Singular - fields that are set in this request will replace their corresponding - fields in the template. Repeated fields are appended. Singular - sub-messages and groups are recursively merged. - type: string - deidentifyTemplateName: - description: >- - Template to use. Any configuration directly specified in - deidentify_config will override those set in the template. Singular - fields that are set in this request will replace their corresponding - fields in the template. Repeated fields are appended. Singular - sub-messages and groups are recursively merged. - type: string - item: - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' - description: >- - The item to de-identify. Will be treated as text. This value must be - of type Table if your deidentify_config is a RecordTransformations - object. - inspectConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + day: + type: integer + format: int32 description: >- - Configuration for the inspector. Items specified here will override - the template referenced by the inspect_template_name argument. - GooglePrivacyDlpV2DiscoverySchemaModifiedCadence: - type: object - description: The cadence at which to update data profiles when a schema is modified. - properties: - types: + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + year: + format: int32 description: >- - The type of events to consider when deciding if the table's schema - has been modified and should have the profile updated. Defaults to - NEW_COLUMNS. - type: array - items: - enum: - - SCHEMA_MODIFICATION_UNSPECIFIED - - SCHEMA_NEW_COLUMNS - - SCHEMA_REMOVED_COLUMNS - type: string - enumDescriptions: - - Unused - - >- - Profiles should be regenerated when new columns are added to the - table. Default. - - >- - Profiles should be regenerated when columns are removed from the - table. - frequency: - enumDescriptions: - - Unspecified. - - After the data profile is created, it will never be updated. - - The data profile can be updated up to once every 24 hours. - - The data profile can be updated up to once every 30 days. Default. + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + type: integer + month: + format: int32 description: >- - How frequently profiles may be updated when schemas are modified. - Defaults to monthly. - type: string - enum: - - UPDATE_FREQUENCY_UNSPECIFIED - - UPDATE_FREQUENCY_NEVER - - UPDATE_FREQUENCY_DAILY - - UPDATE_FREQUENCY_MONTHLY - id: GooglePrivacyDlpV2DiscoverySchemaModifiedCadence - GooglePrivacyDlpV2FileStoreDataProfile: + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + type: integer + description: >- + 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 + GooglePrivacyDlpV2ListInspectTemplatesResponse: + description: Response message for ListInspectTemplates. + id: GooglePrivacyDlpV2ListInspectTemplatesResponse type: object - id: GooglePrivacyDlpV2FileStoreDataProfile properties: - fileClusterSummaries: - description: FileClusterSummary per each cluster. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileClusterSummary' - fileStorePath: - description: 'The file store path. * Cloud Storage: `gs://{bucket}`' - type: string - configSnapshot: - description: The snapshot of the configurations used to generate the profile. - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileConfigSnapshot' - name: - description: The name of the profile. - type: string - createTime: - description: The time the file store was first created. - format: google-datetime - type: string - locationType: - type: string - description: >- - The location type of the bucket (region, dual-region, multi-region, - etc). If dual-region, expect data_storage_locations to be populated. - sensitivityScore: - description: The sensitivity score of this resource. - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - projectId: + nextPageToken: type: string - description: The Google Cloud project ID that owns the resource. - fullResource: description: >- - The resource name of the resource profiled. - https://cloud.google.com/apis/design/resource_names#full_resource_name - type: string - fileStoreInfoTypeSummaries: - type: array + If the next page is available then the next page token to be used in + the following ListInspectTemplates request. + inspectTemplates: items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreInfoTypeSummary' - description: InfoTypes detected in this file store. - profileStatus: - description: >- - Success or error status from the most recent profile generation - attempt. May be empty if the profile is still being generated. - $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' - dataRiskLevel: - description: The data risk level of this resource. - $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' - lastModifiedTime: - description: The time the file store was last modified. - type: string - format: google-datetime - dataStorageLocations: - type: array + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' description: >- - 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. - items: - type: string - fileStoreLocation: + List of inspectTemplates, up to page_size in + ListInspectTemplatesRequest. + type: array + GooglePrivacyDlpV2PubSubNotification: + type: object + description: >- + Send a Pub/Sub message into the given Pub/Sub topic to connect other + systems to data profile generation. The message payload data will be the + byte serialization of `DataProfilePubSubMessage`. + id: GooglePrivacyDlpV2PubSubNotification + properties: + pubsubCondition: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfilePubSubCondition' description: >- - The location of the file store. * Cloud Storage: - https://cloud.google.com/storage/docs/locations#available-locations - type: string - profileLastGenerated: - format: google-datetime + Conditions (e.g., data risk or sensitivity level) for triggering a + Pub/Sub. + detailOfMessage: type: string - description: The last time the profile was generated. - dataSourceType: - description: The resource type that was profiled. - $ref: '#/components/schemas/GooglePrivacyDlpV2DataSourceType' - resourceVisibility: + description: >- + How much data to include in the Pub/Sub message. If the user wishes + to limit the size of the message, they can use resource_name and + fetch the profile fields they wish to. Per table profile (not per + column). + enumDescriptions: + - Unused. + - The full table data profile. + - The name of the profiled resource. + - The full file store data profile. enum: - - RESOURCE_VISIBILITY_UNSPECIFIED - - RESOURCE_VISIBILITY_PUBLIC - - RESOURCE_VISIBILITY_INCONCLUSIVE - - RESOURCE_VISIBILITY_RESTRICTED + - DETAIL_LEVEL_UNSPECIFIED + - TABLE_PROFILE + - RESOURCE_NAME + - FILE_STORE_PROFILE + event: + enum: + - EVENT_TYPE_UNSPECIFIED + - NEW_PROFILE + - CHANGED_PROFILE + - SCORE_INCREASED + - ERROR_CHANGED enumDescriptions: - Unused. - - Visible to any user. + - New profile (not a re-profile). - >- - May contain public items. For example, if a Cloud Storage bucket - has uniform bucket level access disabled, some objects inside it - may be public, but none are known yet. - - Visible only to specific users. - description: How broadly a resource has been shared. - type: string - resourceLabels: + One of the following profile metrics changed: Data risk score, + Sensitivity score, Resource visibility, Encryption type, Predicted + infoTypes, Other infoTypes + - Table data risk score or sensitivity score increased. + - A user (non-internal) error occurred. description: >- - The labels applied to the resource at the time the profile was - generated. - type: object - additionalProperties: - type: string - state: + The type of event that triggers a Pub/Sub. At most one + `PubSubNotification` per EventType is permitted. type: string - description: State of a profile. - enumDescriptions: - - Unused. - - >- - The profile is currently running. Once a profile has finished it - will transition to DONE. - - >- - The profile is no longer generating. If profile_status.status.code - is 0, the profile succeeded, otherwise, it failed. - enum: - - STATE_UNSPECIFIED - - RUNNING - - DONE - resourceAttributes: - additionalProperties: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + topic: description: >- - 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. - type: object - projectDataProfile: + Cloud Pub/Sub topic to send notifications to. Format is + projects/{project}/topics/{topic}. type: string - description: The resource name of the project data profile for this file store. - fileStoreIsEmpty: - description: The file store does not have any files. - type: boolean - description: 'The profile for a file store. * Cloud Storage: maps 1:1 with a bucket.' - GooglePrivacyDlpV2DateShiftConfig: + GooglePrivacyDlpV2Proximity: properties: - cryptoKey: - $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' - description: >- - Causes the shift to be computed based on this key and the context. - This results in the same shift for the same context and crypto_key. - If set, must also set context. Can only be applied to table items. - context: - description: >- - Points to the field that contains the context, for example, an - entity id. If set, must also set cryptoKey. If set, shift will be - consistent for the given context. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - upperBoundDays: + windowBefore: type: integer - format: int32 - description: >- - Required. Range of shift in days. Actual shift will be selected at - random within this range (inclusive ends). Negative means shift to - earlier in time. Must not be more than 365250 days (1000 years) each - direction. For example, 3 means shift date to at most 3 days into - the future. - lowerBoundDays: description: >- - Required. For example, -5 means shift date to at most 5 days back in - the past. + Number of characters before the finding to consider. For tabular + data, if you want to modify the likelihood of an entire column of + findngs, set this to 1. For more information, see [Hotword example: + Set the match likelihood of a table column] + (https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes-likelihood#match-column-values). + format: int32 + windowAfter: type: integer format: int32 - description: >- - Shifts dates by random number of days, with option to be consistent for - the same context. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-date-shifting - to learn more. - id: GooglePrivacyDlpV2DateShiftConfig + description: Number of characters after the finding to consider. type: object - GooglePrivacyDlpV2InspectContentRequest: - id: GooglePrivacyDlpV2InspectContentRequest + description: >- + Message for specifying a window around a finding to apply a detection + rule. + id: GooglePrivacyDlpV2Proximity + GooglePrivacyDlpV2TimespanConfig: type: object + id: GooglePrivacyDlpV2TimespanConfig properties: - locationId: - description: Deprecated. This field has no effect. - type: string - item: - description: The item to inspect. - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' - inspectConfig: + timestampField: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' description: >- - Configuration for the inspector. What specified here will override - the template referenced by the inspect_template_name argument. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' - inspectTemplateName: + Specification of the field containing the timestamp of scanned + items. Used for data sources like Datastore and BigQuery. **For + BigQuery** If this value is not specified and the table was modified + between the given start and end times, the entire table will be + scanned. If this value is specified, then rows are filtered based on + the given start and end times. Rows with a `NULL` value in the + provided BigQuery column are skipped. Valid data types of the + provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and + `DATETIME`. If your BigQuery table is [partitioned at ingestion + time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), + you can use any of the following pseudo-columns as your timestamp + field. When used with Cloud DLP, these pseudo-column names are case + sensitive. - `_PARTITIONTIME` - `_PARTITIONDATE` - + `_PARTITION_LOAD_TIME` **For Datastore** If this value is specified, + then entities are filtered based on the given start and end times. + If an entity does not contain the provided timestamp property or + contains empty or invalid values, then it is included. Valid data + types of the provided timestamp property are: `TIMESTAMP`. See the + [known + issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#bq-timespan) + related to this operation. + endTime: type: string description: >- - Template to use. Any configuration directly specified in - inspect_config will override those set in the template. Singular - fields that are set in this request will replace their corresponding - fields in the template. Repeated fields are appended. Singular - sub-messages and groups are recursively merged. - description: Request to search for potentially sensitive info in a ContentItem. - GooglePrivacyDlpV2CreateInspectTemplateRequest: - properties: - inspectTemplate: - description: Required. The InspectTemplate to create. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' - templateId: + Exclude files, tables, or rows newer than this value. If not set, no + upper time limit is applied. + format: google-datetime + startTime: description: >- - The template id can contain uppercase and lowercase letters, - numbers, and hyphens; that is, it must match the regular expression: - `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty - to allow the system to generate one. + Exclude files, tables, or rows older than this value. If not set, no + lower time limit is applied. type: string - locationId: + format: google-datetime + enableAutoPopulationOfTimespanConfig: + type: boolean + description: >- + When the job is started by a JobTrigger we will automatically figure + out a valid start_time to avoid scanning files that have not been + modified since the last time the JobTrigger executed. This will be + based on the time of the execution of the last run of the JobTrigger + or the timespan end_time used in the last run of the JobTrigger. + **For BigQuery** Inspect jobs triggered by automatic population will + scan data that is at least three hours old when the job starts. This + is because streaming buffer rows are not read during inspection and + reading up to the current timestamp will result in skipped rows. See + the [known + issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#recently-streamed-data) + related to this operation. + description: >- + Configuration of the timespan of the items to include in scanning. + Currently only supported when inspecting Cloud Storage and BigQuery. + GooglePrivacyDlpV2ValueFrequency: + description: A value of a field, including its frequency. + properties: + count: + format: int64 + description: How many times the value is contained in the field. type: string - description: Deprecated. This field has no effect. + value: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: A value contained in the field in question. type: object - id: GooglePrivacyDlpV2CreateInspectTemplateRequest - description: Request message for CreateInspectTemplate. - GooglePrivacyDlpV2TransformationDetails: - id: GooglePrivacyDlpV2TransformationDetails + id: GooglePrivacyDlpV2ValueFrequency + GooglePrivacyDlpV2TransformationConfig: type: object - properties: - transformation: - description: >- - Description of transformation. This would only contain more than one - element if there were multiple matching transformations and which - one to apply was ambiguous. Not set for states that contain no - transformation, currently only state that contains no transformation - is TransformationResultStateType.METADATA_UNRETRIEVABLE. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationDescription' - statusDetails: - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationResultStatus' + id: GooglePrivacyDlpV2TransformationConfig + properties: + imageRedactTemplate: description: >- - Status of the transformation, if transformation was not successful, - this will specify what caused it to fail, otherwise it will show - that the transformation was successful. - transformedBytes: - format: int64 + Image redact template. If this template is specified, it will serve + as the de-identify template for images. If this template is not set, + all findings in the image will be redacted with a black box. type: string + structuredDeidentifyTemplate: description: >- - The number of bytes that were transformed. If transformation was - unsuccessful or did not take place because there was no content to - transform, this will be zero. - resourceName: - description: The name of the job that completed the transformation. + Structured de-identify template. If this template is specified, it + will serve as the de-identify template for structured content such + as delimited files and tables. If this template is not set but the + `deidentify_template` is set, then `deidentify_template` will also + apply to the structured content. If neither template is set, a + default `ReplaceWithInfoTypeConfig` will be used to de-identify + structured content. type: string - containerName: + deidentifyTemplate: type: string description: >- - The top level name of the container where the transformation is - located (this will be the source file name or table name). - transformationLocation: - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationLocation' - description: >- - The precise location of the transformed content in the original - container. + De-identify template. If this template is specified, it will serve + as the default de-identify template. This template cannot contain + `record_transformations` since it can be used for unstructured + content such as free-form text files. If this template is not set, a + default `ReplaceWithInfoTypeConfig` will be used to de-identify + unstructured content. description: >- - Details about a single transformation. This object contains a - description of the transformation, information about whether the - transformation was successfully applied, and the precise location where - the transformation occurred. These details are stored in a - user-specified BigQuery table. - GooglePrivacyDlpV2BigQueryRegex: - type: object + User specified templates and configs for how to deidentify structured, + unstructures, and image files. User must provide either a unstructured + deidentify template or at least one redact image config. + GooglePrivacyDlpV2TableReference: + id: GooglePrivacyDlpV2TableReference description: >- - A pattern to match against one or more tables, datasets, or projects - that contain BigQuery tables. At least one pattern must be specified. - Regular expressions use RE2 - [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be - found under the google/re2 repository on GitHub. + Message defining the location of a BigQuery table with the projectId + inferred from the parent project. + type: object properties: - tableIdRegex: - type: string - description: If unset, this property matches all tables. - datasetIdRegex: + tableId: type: string - description: If unset, this property matches all datasets. - projectIdRegex: + description: Name of the table. + datasetId: type: string - description: >- - For organizations, if unset, will match all projects. Has no effect - for data profile configurations created within a project. - id: GooglePrivacyDlpV2BigQueryRegex - GooglePrivacyDlpV2KmsWrappedCryptoKey: - description: >- - Include to use an existing data crypto key wrapped by KMS. The wrapped - key must be a 128-, 192-, or 256-bit key. Authorization requires the - following IAM permissions when sending a request to perform a crypto - transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more - information, see [Creating a wrapped key] - (https://cloud.google.com/sensitive-data-protection/docs/create-wrapped-key). - Note: When you use Cloud KMS for cryptographic operations, [charges - apply](https://cloud.google.com/kms/pricing). + description: Dataset ID of the table. + GooglePrivacyDlpV2ReidentifyContentRequest: + description: Request to re-identify an item. + type: object properties: - cryptoKeyName: + item: + description: The item to re-identify. Will be treated as text. + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' + inspectTemplateName: + description: >- + Template to use. Any configuration directly specified in + `inspect_config` will override those set in the template. Singular + fields that are set in this request will replace their corresponding + fields in the template. Repeated fields are appended. Singular + sub-messages and groups are recursively merged. + type: string + reidentifyTemplateName: type: string description: >- - Required. The resource name of the KMS CryptoKey to use for - unwrapping. - wrappedKey: + Template to use. References an instance of `DeidentifyTemplate`. Any + configuration directly specified in `reidentify_config` or + `inspect_config` will override those set in the template. The + `DeidentifyTemplate` used must include only reversible + transformations. Singular fields that are set in this request will + replace their corresponding fields in the template. Repeated fields + are appended. Singular sub-messages and groups are recursively + merged. + inspectConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + description: Configuration for the inspector. + locationId: + description: Deprecated. This field has no effect. type: string - description: Required. The wrapped data crypto key. - format: byte - type: object - id: GooglePrivacyDlpV2KmsWrappedCryptoKey - GooglePrivacyDlpV2PrimitiveTransformation: - properties: - fixedSizeBucketingConfig: - description: Fixed size bucketing - $ref: '#/components/schemas/GooglePrivacyDlpV2FixedSizeBucketingConfig' - dateShiftConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2DateShiftConfig' - description: Date Shift - redactConfig: - description: Redact - $ref: '#/components/schemas/GooglePrivacyDlpV2RedactConfig' - cryptoDeterministicConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoDeterministicConfig' - description: Deterministic Crypto - replaceDictionaryConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2ReplaceDictionaryConfig' + reidentifyConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyConfig' description: >- - Replace with a value randomly drawn (with replacement) from a - dictionary. - characterMaskConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2CharacterMaskConfig' - description: Mask - cryptoHashConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoHashConfig' - description: Crypto - bucketingConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2BucketingConfig' - description: Bucketing - replaceConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2ReplaceValueConfig' - description: Replace with a specified value. - cryptoReplaceFfxFpeConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig' - description: Ffx-Fpe - timePartConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2TimePartConfig' - description: Time extraction - replaceWithInfoTypeConfig: - description: Replace with infotype - $ref: '#/components/schemas/GooglePrivacyDlpV2ReplaceWithInfoTypeConfig' - type: object - id: GooglePrivacyDlpV2PrimitiveTransformation - description: A rule for transforming a value. - GooglePrivacyDlpV2Action: + Configuration for the re-identification of the content item. This + field shares the same proto message type that is used for + de-identification, however its usage here is for the reversal of the + previous de-identification. Re-identification is performed by + examining the transformations used to de-identify the items and + executing the reverse. This requires that only reversible + transformations be provided here. The reversible transformations + are: - `CryptoDeterministicConfig` - `CryptoReplaceFfxFpeConfig` + id: GooglePrivacyDlpV2ReidentifyContentRequest + GooglePrivacyDlpV2RedactConfig: type: object - id: GooglePrivacyDlpV2Action - properties: - pubSub: - $ref: '#/components/schemas/GooglePrivacyDlpV2PublishToPubSub' - description: Publish a notification to a Pub/Sub topic. - jobNotificationEmails: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobNotificationEmails' - description: >- - Sends an email when the job completes. The email goes to IAM project - owners and technical [Essential - Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts). - deidentify: - description: Create a de-identified copy of the input data. - $ref: '#/components/schemas/GooglePrivacyDlpV2Deidentify' - publishFindingsToCloudDataCatalog: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog - description: Publish findings to Cloud Datahub. - publishToStackdriver: - $ref: '#/components/schemas/GooglePrivacyDlpV2PublishToStackdriver' - description: Enable Stackdriver metric dlp.googleapis.com/finding_count. - publishSummaryToCscc: - description: Publish summary to Cloud Security Command Center (Alpha). - $ref: '#/components/schemas/GooglePrivacyDlpV2PublishSummaryToCscc' - saveFindings: - description: Save resulting findings in a provided location. - $ref: '#/components/schemas/GooglePrivacyDlpV2SaveFindings' + id: GooglePrivacyDlpV2RedactConfig description: >- - A task to execute on the completion of a job. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-actions - to learn more. - GooglePrivacyDlpV2StorageConfig: - description: Shared message indicating Cloud storage type. - id: GooglePrivacyDlpV2StorageConfig + Redact a given value. For example, if used with an + `InfoTypeTransformation` transforming PHONE_NUMBER, and input 'My phone + number is 206-555-0123', the output would be 'My phone number is '. + properties: {} + GooglePrivacyDlpV2InspectJobConfig: + id: GooglePrivacyDlpV2InspectJobConfig type: object properties: - cloudStorageOptions: - description: Cloud Storage options. - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageOptions' - hybridOptions: - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridOptions' - description: Hybrid inspection options. - datastoreOptions: - $ref: '#/components/schemas/GooglePrivacyDlpV2DatastoreOptions' - description: Google Cloud Datastore options. - bigQueryOptions: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryOptions' - description: BigQuery options. - timespanConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2TimespanConfig' - description: Configuration of the timespan of the items to include in scanning. - GooglePrivacyDlpV2Conditions: + actions: + description: Actions to execute at the completion of the job. + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Action' + inspectTemplateName: + description: >- + If provided, will be used as the default for all values in + InspectConfig. `inspect_config` will be merged into the values + persisted as part of the template. + type: string + inspectConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + description: How and what to scan for. + storageConfig: + description: The data to scan. + $ref: '#/components/schemas/GooglePrivacyDlpV2StorageConfig' + description: Controls what and how to inspect for findings. + GooglePrivacyDlpV2CryptoHashConfig: + id: GooglePrivacyDlpV2CryptoHashConfig type: object + description: >- + Pseudonymization method that generates surrogates via cryptographic + hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. + Outputs a base64 encoded representation of the hashed output (for + example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only + string and integer values can be hashed. See + https://cloud.google.com/sensitive-data-protection/docs/pseudonymization + to learn more. properties: - conditions: - description: A collection of conditions. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Condition' - id: GooglePrivacyDlpV2Conditions - description: A collection of conditions. - GooglePrivacyDlpV2ListDeidentifyTemplatesResponse: - id: GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + cryptoKey: + description: The key used by the hash function. + $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' + GoogleProtobufEmpty: + id: GoogleProtobufEmpty type: object - description: Response message for ListDeidentifyTemplates. + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + properties: {} + GooglePrivacyDlpV2CategoricalStatsHistogramBucket: + description: Histogram of value frequencies in the column. + id: GooglePrivacyDlpV2CategoricalStatsHistogramBucket properties: - nextPageToken: - description: >- - If the next page is available then the next page token to be used in - the following ListDeidentifyTemplates request. - type: string - deidentifyTemplates: - description: >- - List of deidentify templates, up to page_size in - ListDeidentifyTemplatesRequest. + bucketValues: type: array + description: >- + Sample of value frequencies in this bucket. The total number of + values returned per bucket is capped at 20. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - GooglePrivacyDlpV2StoredType: - type: object - description: A reference to a StoredInfoType to use with scanning. - id: GooglePrivacyDlpV2StoredType - properties: - createTime: + $ref: '#/components/schemas/GooglePrivacyDlpV2ValueFrequency' + bucketSize: type: string - format: google-datetime - description: >- - Timestamp indicating when the version of the `StoredInfoType` used - for inspection was created. Output-only field, populated by the - system. - name: - description: >- - Resource name of the requested `StoredInfoType`, for example - `organizations/433245324/storedInfoTypes/432452342` or - `projects/project-id/storedInfoTypes/432452342`. + description: Total number of values in this bucket. + format: int64 + valueFrequencyUpperBound: + description: Upper bound on the value frequency of the values in this bucket. + type: string + format: int64 + bucketValueCount: + format: int64 + description: Total number of distinct values in this bucket. + type: string + valueFrequencyLowerBound: + description: Lower bound on the value frequency of the values in this bucket. + format: int64 type: string - GooglePrivacyDlpV2Container: - id: GooglePrivacyDlpV2Container type: object + GooglePrivacyDlpV2ListConnectionsResponse: + description: Response message for ListConnections. + type: object + id: GooglePrivacyDlpV2ListConnectionsResponse properties: - rootPath: + connections: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + type: array + description: List of connections. + nextPageToken: type: string description: >- - The root of the container. Examples: - For BigQuery table - `project_id:dataset_id.table_id`, the root is `dataset_id` - For - Cloud Storage file `gs://bucket/folder/filename.txt`, the root is - `gs://bucket` - projectId: + Token to retrieve the next page of results. An empty value means + there are no more results. + GooglePrivacyDlpV2DiscoveryFileStoreConditions: + description: >- + Requirements that must be true before a file store is scanned in + discovery for the first time. There is an AND relationship between the + top-level attributes. + properties: + cloudStorageConditions: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryCloudStorageConditions + description: Optional. Cloud Storage conditions. + minAge: type: string description: >- - Project where the finding was found. Can be different from the - project that owns the finding. - updateTime: + Optional. Minimum age a file store must have. If set, the value must + be 1 hour or greater. + format: google-duration + createdAfter: type: string format: google-datetime description: >- - Findings container modification timestamp, if applicable. For Cloud - Storage, this field contains the last file modification timestamp. - For a BigQuery table, this field contains the last_modified_time - property. For Datastore, this field isn't populated. - relativePath: - type: string - description: >- - The rest of the path after the root. Examples: - For BigQuery table - `project_id:dataset_id.table_id`, the relative path is `table_id` - - For Cloud Storage file `gs://bucket/folder/filename.txt`, the - relative path is `folder/filename.txt` - fullPath: - description: >- - A string representation of the full container name. Examples: - - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: - 'gs://Bucket/folders/filename.txt' - type: string - type: - description: Container type, for example BigQuery or Cloud Storage. + Optional. File store must have been created after this date. Used to + avoid backfilling. + id: GooglePrivacyDlpV2DiscoveryFileStoreConditions + type: object + GooglePrivacyDlpV2LDiversityEquivalenceClass: + properties: + numDistinctSensitiveValues: type: string - version: + format: int64 + description: Number of distinct sensitive values in this equivalence class. + equivalenceClassSize: type: string + format: int64 + description: Size of the k-anonymity equivalence class. + topSensitiveValues: + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2ValueFrequency' + description: Estimated frequencies of top sensitive values. + quasiIdsValues: description: >- - Findings container version, if available ("generation" for Cloud - Storage). - description: >- - Represents a container that may contain DLP findings. Examples of a - container include a file, table, or database record. - GooglePrivacyDlpV2Table: - id: GooglePrivacyDlpV2Table + Quasi-identifier values defining the k-anonymity equivalence class. + The order is always the same as the original request. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + type: array + description: The set of columns' values that share the same ldiversity value. + id: GooglePrivacyDlpV2LDiversityEquivalenceClass + type: object + GooglePrivacyDlpV2StoredInfoType: description: >- - Structured content to inspect. Up to 50,000 `Value`s per request - allowed. See - https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table - to learn more. + StoredInfoType resource message that contains information about the + current version and any pending updates. + id: GooglePrivacyDlpV2StoredInfoType properties: - headers: - description: Headers of the table. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + name: + type: string + description: Resource name. + pendingVersions: type: array - rows: - description: Rows of the table. + description: >- + Pending versions of the stored info type. Empty if no versions are + pending. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Row' - type: array + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeVersion' + currentVersion: + description: Current version of the stored info type. + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeVersion' type: object - GooglePrivacyDlpV2NumericalStatsConfig: + GooglePrivacyDlpV2SchemaModifiedCadence: properties: - field: + types: + type: array description: >- - Field to compute numerical stats on. Supported types are integer, - float, date, datetime, timestamp, time. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + The types of schema modifications to consider. Defaults to + NEW_COLUMNS. + items: + type: string + enumDescriptions: + - Unused. + - New columns have appeared. + - Columns have been removed from the table. + enum: + - SQL_SCHEMA_MODIFICATION_UNSPECIFIED + - NEW_COLUMNS + - REMOVED_COLUMNS + frequency: + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. + type: string + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY + description: >- + Frequency to regenerate data profiles when the schema is modified. + Defaults to monthly. + type: object + id: GooglePrivacyDlpV2SchemaModifiedCadence description: >- - Compute numerical stats over an individual column, including min, max, - and quantiles. - id: GooglePrivacyDlpV2NumericalStatsConfig + How frequently to modify the profile when the table's schema is + modified. + GooglePrivacyDlpV2FixedSizeBucketingConfig: type: object - GooglePrivacyDlpV2BigQueryTable: + id: GooglePrivacyDlpV2FixedSizeBucketingConfig description: >- - Message defining the location of a BigQuery table. A table is uniquely - identified by its project_id, dataset_id, and table_name. Within a query - a table is often referenced with a string in the format of: `:.` or - `..`. - id: GooglePrivacyDlpV2BigQueryTable + Buckets values based on fixed size ranges. The Bucketing transformation + can provide all of this functionality, but requires more configuration. + This message is provided as a convenience to the user for simple + bucketing strategies. The transformed value will be a hyphenated string + of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and + upper_bound = 20, all values that are within this bucket will be + replaced with "10-20". This can be used on data of type: double, long. + If the bound Value type differs from the type of data being transformed, + we will first attempt converting the type of the data to be transformed + to match the type of the bound before comparing. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-bucketing + to learn more. properties: - projectId: - type: string + lowerBound: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: >- + Required. Lower bound value of buckets. All values less than + `lower_bound` are grouped together into a single bucket; for example + if `lower_bound` = 10, then all values less than 10 are replaced + with the value "-10". + bucketSize: + format: double + type: number description: >- - The Google Cloud Platform project ID of the project containing the - table. If omitted, project ID is inferred from the API call. - datasetId: - description: Dataset ID of the table. + Required. Size of each bucket (except for minimum and maximum + buckets). So if `lower_bound` = 10, `upper_bound` = 89, and + `bucket_size` = 10, then the following buckets would be used: -10, + 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. + Precision up to 2 decimals works. + upperBound: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: >- + Required. Upper bound value of buckets. All values greater than + upper_bound are grouped together into a single bucket; for example + if `upper_bound` = 89, then all values greater than 89 are replaced + with the value "89+". + GooglePrivacyDlpV2PubSubCondition: + properties: + minimumRiskScore: type: string - tableId: - description: Name of the table. + enumDescriptions: + - Unused. + - High risk/sensitivity detected. + - Medium or high risk/sensitivity detected. + enum: + - PROFILE_SCORE_BUCKET_UNSPECIFIED + - HIGH + - MEDIUM_OR_HIGH + description: The minimum data risk score that triggers the condition. + minimumSensitivityScore: + enum: + - PROFILE_SCORE_BUCKET_UNSPECIFIED + - HIGH + - MEDIUM_OR_HIGH + enumDescriptions: + - Unused. + - High risk/sensitivity detected. + - Medium or high risk/sensitivity detected. + description: The minimum sensitivity level that triggers the condition. type: string type: object - GooglePrivacyDlpV2DataProfilePubSubMessage: + id: GooglePrivacyDlpV2PubSubCondition + description: A condition consisting of a value. + GooglePrivacyDlpV2ActionDetails: type: object - description: >- - Pub/Sub topic message for a DataProfileAction.PubSubNotification event. - To receive a message of protocol buffer schema type, convert the message - data to an object of this proto class. + description: The results of an Action. + id: GooglePrivacyDlpV2ActionDetails properties: - event: - enumDescriptions: - - Unused. - - New profile (not a re-profile). - - >- - One of the following profile metrics changed: Data risk score, - Sensitivity score, Resource visibility, Encryption type, Predicted - infoTypes, Other infoTypes - - Table data risk score or sensitivity score increased. - - A user (non-internal) error occurred. - description: The event that caused the Pub/Sub message to be sent. + deidentifyDetails: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyDataSourceDetails' + description: Outcome of a de-identification action. + GooglePrivacyDlpV2InspectConfig: + properties: + minLikelihood: + description: >- + Only returns findings equal to or above this threshold. The default + is POSSIBLE. In general, the highest likelihood setting yields the + fewest findings in results and the lowest chance of a false + positive. For more information, see [Match + likelihood](https://cloud.google.com/sensitive-data-protection/docs/likelihood). enum: - - EVENT_TYPE_UNSPECIFIED - - NEW_PROFILE - - CHANGED_PROFILE - - SCORE_INCREASED - - ERROR_CHANGED + - LIKELIHOOD_UNSPECIFIED + - VERY_UNLIKELY + - UNLIKELY + - POSSIBLE + - LIKELY + - VERY_LIKELY + enumDescriptions: + - Default value; same as POSSIBLE. + - Highest chance of a false positive. + - High chance of a false positive. + - Some matching signals. The default value. + - Low chance of a false positive. + - Confidence level is high. Lowest chance of a false positive. type: string - fileStoreProfile: + excludeInfoTypes: description: >- - If `DetailLevel` is `FILE_STORE_PROFILE` this will be fully - populated. Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only - `name` and `file_store_path` will be populated. - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' - profile: + When true, excludes type information of the findings. This is not + used for data profiling. + type: boolean + limits: + $ref: '#/components/schemas/GooglePrivacyDlpV2FindingLimits' description: >- - If `DetailLevel` is `TABLE_PROFILE` this will be fully populated. - Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and - `full_resource` will be populated. - $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' - id: GooglePrivacyDlpV2DataProfilePubSubMessage - GooglePrivacyDlpV2TransformationResultStatus: - type: object - id: GooglePrivacyDlpV2TransformationResultStatus - description: The outcome of a transformation. - properties: - details: - $ref: '#/components/schemas/GoogleRpcStatus' - description: Detailed error codes and messages - resultStatusType: - enumDescriptions: - - Unused. - - >- - This will be set when a finding could not be transformed (i.e. - outside user set bucket range). - - >- - This will be set when a BigQuery transformation was successful but - could not be stored back in BigQuery because the transformed row - exceeds BigQuery's max row size. - - >- - This will be set when there is a finding in the custom metadata of - a file, but at the write time of the transformed file, this key / - value pair is unretrievable. - - >- - This will be set when the transformation and storing of it is - successful. - enum: - - STATE_TYPE_UNSPECIFIED - - INVALID_TRANSFORM - - BIGQUERY_MAX_ROW_SIZE_EXCEEDED - - METADATA_UNRETRIEVABLE - - SUCCESS + Configuration to control the number of findings returned. This is + not used for data profiling. When redacting sensitive data from + images, finding limits don't apply. They can cause unexpected or + inconsistent results, where only some data is redacted. Don't + include finding limits in RedactImage requests. Otherwise, Cloud DLP + returns an error. When set within an InspectJobConfig, the specified + maximum values aren't hard limits. If an inspection job reaches + these limits, the job ends gradually, not abruptly. Therefore, the + actual number of findings that Cloud DLP returns can be multiple + times higher than these maximum values. + customInfoTypes: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2CustomInfoType' description: >- - Transformation result status type, this will be either SUCCESS, or - it will be the reason for why the transformation was not completely - successful. - type: string - GooglePrivacyDlpV2JobNotificationEmails: - properties: {} - type: object - description: >- - Sends an email when the job completes. The email goes to IAM project - owners and technical [Essential - Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts). - id: GooglePrivacyDlpV2JobNotificationEmails - GooglePrivacyDlpV2LDiversityConfig: - description: l-diversity metric, used for analysis of reidentification risk. - properties: - sensitiveAttribute: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: Sensitive field for computing the l-value. - quasiIds: + CustomInfoTypes provided by the user. See + https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes + to learn more. + type: array + infoTypes: type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' description: >- - Set of quasi-identifiers indicating how equivalence classes are - defined for the l-diversity computation. When multiple fields are - specified, they are considered a single composite key. - id: GooglePrivacyDlpV2LDiversityConfig - type: object - GooglePrivacyDlpV2UpdateJobTriggerRequest: - id: GooglePrivacyDlpV2UpdateJobTriggerRequest - description: Request message for UpdateJobTrigger. - type: object - properties: - jobTrigger: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' - description: New JobTrigger value. - updateMask: - type: string - format: google-fieldmask - description: Mask to control which fields get updated. - GooglePrivacyDlpV2InfoTypeSummary: - description: The infoType details for this column. - id: GooglePrivacyDlpV2InfoTypeSummary - properties: - estimatedPrevalence: - type: integer - description: Not populated for predicted infotypes. - deprecated: true - format: int32 - infoType: - description: The infoType. - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + Restricts what info_types to look for. The values must correspond to + InfoType values returned by ListInfoTypes or listed at + https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference. + When no InfoTypes or CustomInfoTypes are specified in a request, the + system may automatically choose a default list of detectors to run, + which may change over time. If you need precise control and + predictability as to what detectors are run you should specify + specific InfoTypes listed in the reference, otherwise a default list + will be used, which may change over time. + ruleSet: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectionRuleSet' + type: array + description: >- + Set of rules to apply to the findings for this InspectConfig. + Exclusion rules, contained in the set are executed in the end, other + rules are executed in the order they are specified for each info + type. + contentOptions: + description: Deprecated and unused. + type: array + items: + enumDescriptions: + - Includes entire content of a file or a data stream. + - Text content within the data, excluding any metadata. + - Images found in the data. + enum: + - CONTENT_UNSPECIFIED + - CONTENT_TEXT + - CONTENT_IMAGE + type: string + includeQuote: + type: boolean + description: >- + When true, a contextual quote from the data that triggered a finding + is included in the response; see Finding.quote. This is not used for + data profiling. + minLikelihoodPerInfoType: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeLikelihood' + description: >- + Minimum likelihood per infotype. For each infotype, a user can + specify a minimum likelihood. The system only returns a finding if + its likelihood is above this threshold. If this field is not set, + the system uses the InspectConfig min_likelihood. + type: array + description: >- + Configuration description of the scanning process. When used with + redactContent only info_types and min_likelihood are currently used. + id: GooglePrivacyDlpV2InspectConfig type: object - GooglePrivacyDlpV2SchemaModifiedCadence: + GooglePrivacyDlpV2CategoricalStatsConfig: properties: - types: - items: - enumDescriptions: - - Unused. - - New columns have appeared. - - Columns have been removed from the table. - type: string - enum: - - SQL_SCHEMA_MODIFICATION_UNSPECIFIED - - NEW_COLUMNS - - REMOVED_COLUMNS - type: array + field: description: >- - The types of schema modifications to consider. Defaults to - NEW_COLUMNS. + Field to compute categorical stats on. All column types are + supported except for arrays and structs. However, it may be more + informative to use NumericalStats when the field type is supported, + depending on the data. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + id: GooglePrivacyDlpV2CategoricalStatsConfig + description: >- + Compute numerical stats over an individual column, including number of + distinct values and value count distribution. + type: object + GooglePrivacyDlpV2DiscoveryTableModifiedCadence: + description: The cadence at which to update data profiles when a table is modified. + type: object + properties: frequency: enumDescriptions: - Unspecified. - After the data profile is created, it will never be updated. - The data profile can be updated up to once every 24 hours. - The data profile can be updated up to once every 30 days. Default. + description: >- + How frequently data profiles can be updated when tables are + modified. Defaults to never. type: string enum: - UPDATE_FREQUENCY_UNSPECIFIED - UPDATE_FREQUENCY_NEVER - UPDATE_FREQUENCY_DAILY - UPDATE_FREQUENCY_MONTHLY + types: description: >- - Frequency to regenerate data profiles when the schema is modified. - Defaults to monthly. + The type of events to consider when deciding if the table has been + modified and should have the profile updated. Defaults to + MODIFIED_TIMESTAMP. + type: array + items: + enum: + - TABLE_MODIFICATION_UNSPECIFIED + - TABLE_MODIFIED_TIMESTAMP + enumDescriptions: + - Unused. + - >- + A table will be considered modified when the last_modified_time + from BigQuery has been updated. + type: string + id: GooglePrivacyDlpV2DiscoveryTableModifiedCadence + GooglePrivacyDlpV2ListColumnDataProfilesResponse: + properties: + nextPageToken: + type: string + description: The next page token. + columnDataProfiles: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' + type: array + description: List of data profiles. + type: object + id: GooglePrivacyDlpV2ListColumnDataProfilesResponse + description: List of profiles generated for a given organization or project. + GooglePrivacyDlpV2DataProfileLocation: + type: object + id: GooglePrivacyDlpV2DataProfileLocation + description: The data that will be profiled. + properties: + folderId: + type: string + format: int64 + description: The ID of the folder within an organization to scan. + organizationId: + description: The ID of an organization to scan. + type: string + format: int64 + GooglePrivacyDlpV2SummaryResult: description: >- - How frequently to modify the profile when the table's schema is - modified. + A collection that informs the user the number of times a particular + `TransformationResultCode` and error details occurred. type: object - id: GooglePrivacyDlpV2SchemaModifiedCadence - GooglePrivacyDlpV2DatastoreOptions: - description: Options defining a data set within Google Cloud Datastore. + id: GooglePrivacyDlpV2SummaryResult properties: - partitionId: - $ref: '#/components/schemas/GooglePrivacyDlpV2PartitionId' + details: + type: string description: >- - A partition ID identifies a grouping of entities. The grouping is - always by project and namespace, however the namespace ID may be - empty. - kind: - $ref: '#/components/schemas/GooglePrivacyDlpV2KindExpression' - description: The kind to process. + A place for warnings or errors to show up if a transformation didn't + work as expected. + count: + format: int64 + description: Number of transformations counted by this result. + type: string + code: + description: Outcome of the transformation. + type: string + enum: + - TRANSFORMATION_RESULT_CODE_UNSPECIFIED + - SUCCESS + - ERROR + enumDescriptions: + - Unused + - Transformation completed without an error. + - Transformation had an error. + GooglePrivacyDlpV2DataProfileConfigSnapshot: + id: GooglePrivacyDlpV2DataProfileConfigSnapshot + properties: + dataProfileJob: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileJobConfig' + description: >- + A copy of the configuration used to generate this profile. This is + deprecated, and the DiscoveryConfig field is preferred moving + forward. DataProfileJobConfig will still be written here for + Discovery in BigQuery for backwards compatibility, but will not be + updated with new fields, while DiscoveryConfig will. + deprecated: true + inspectTemplateName: + description: Name of the inspection template used to generate this profile + type: string + discoveryConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + description: A copy of the configuration used to generate this profile. + inspectConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + description: >- + A copy of the inspection config used to generate this profile. This + is a copy of the inspect_template specified in + `DataProfileJobConfig`. + inspectTemplateModifiedTime: + format: google-datetime + description: Timestamp when the template was modified + type: string + description: Snapshot of the configurations used to generate the profile. type: object - id: GooglePrivacyDlpV2DatastoreOptions - GooglePrivacyDlpV2CloudSqlProperties: + GooglePrivacyDlpV2Error: properties: - cloudSqlIam: - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudSqlIamCredential' - description: Built-in IAM authentication (must be configured in Cloud SQL). - databaseEngine: - enum: - - DATABASE_ENGINE_UNKNOWN - - DATABASE_ENGINE_MYSQL - - DATABASE_ENGINE_POSTGRES + timestamps: description: >- - Required. The database engine used by the Cloud SQL instance that - this connection configures. + The times the error occurred. List includes the oldest timestamp and + the last 9 timestamps. + type: array + items: + format: google-datetime + type: string + details: + description: Detailed error codes and messages. + $ref: '#/components/schemas/GoogleRpcStatus' + extraInfo: + type: string + enum: + - ERROR_INFO_UNSPECIFIED + - IMAGE_SCAN_UNAVAILABLE_IN_REGION + - FILE_STORE_CLUSTER_UNSUPPORTED + description: Additional information about the error. enumDescriptions: - - >- - An engine that is not currently supported by Sensitive Data - Protection. - - Cloud SQL for MySQL instance. - - Cloud SQL for PostgreSQL instance. + - Unused. + - Image scan is not available in the region. + - File store cluster is not supported for profile generation. + type: object + id: GooglePrivacyDlpV2Error + description: >- + Details information about an error encountered during job execution or + the results of an unsuccessful activation of the JobTrigger. + GooglePrivacyDlpV2HybridContentItem: + properties: + findingDetails: + description: Supplementary information that will be added to each finding. + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridFindingDetails' + item: + description: The item to inspect. + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' + id: GooglePrivacyDlpV2HybridContentItem + type: object + description: >- + An individual hybrid item to inspect. Will be stored temporarily during + processing. + GooglePrivacyDlpV2InfoTypeStats: + description: Statistics regarding a specific InfoType. + type: object + id: GooglePrivacyDlpV2InfoTypeStats + properties: + count: type: string - connectionName: + format: int64 + description: Number of findings for this infoType. + infoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: The type of finding this stat is for. + GooglePrivacyDlpV2PublishToPubSub: + description: >- + Publish a message into a given Pub/Sub topic when DlpJob has completed. + The message contains a single field, `DlpJobName`, which is equal to the + finished job's + [`DlpJob.name`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob). + Compatible with: Inspect, Risk + id: GooglePrivacyDlpV2PublishToPubSub + properties: + topic: type: string description: >- - Optional. Immutable. The Cloud SQL instance for which the connection - is defined. Only one connection per instance is allowed. This can - only be set at creation time, and cannot be updated. It is an error - to use a connection_name from different project or region than the - one that holds the connection. For example, a Connection resource - for Cloud SQL connection_name `project-id:us-central1:sql-instance` - must be created under the parent - `projects/project-id/locations/us-central1` - maxConnections: + Cloud Pub/Sub topic to send notifications to. The topic must have + given publishing access rights to the DLP API service account + executing the long running DlpJob sending the notifications. Format + is projects/{project}/topics/{topic}. + type: object + GooglePrivacyDlpV2LargeCustomDictionaryConfig: + description: >- + Configuration for a custom dictionary created from a data source of any + size up to the maximum size defined in the + [limits](https://cloud.google.com/sensitive-data-protection/limits) + page. The artifacts of dictionary creation are stored in the specified + Cloud Storage location. Consider using `CustomInfoType.Dictionary` for + smaller dictionaries that satisfy the size requirements. + type: object + properties: + outputPath: + description: >- + Location to store dictionary artifacts in Cloud Storage. These files + will only be accessible by project owners and the DLP API. If any of + these artifacts are modified, the dictionary is considered invalid + and can no longer be used. + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStoragePath' + bigQueryField: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryField' + description: >- + Field in a BigQuery table where each cell represents a dictionary + phrase. + cloudStorageFileSet: + description: >- + Set of files containing newline-delimited lists of dictionary + phrases. + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageFileSet' + id: GooglePrivacyDlpV2LargeCustomDictionaryConfig + GooglePrivacyDlpV2DeidentifyConfig: + properties: + transformationErrorHandling: + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationErrorHandling' + description: >- + Mode for handling transformation errors. If left unspecified, the + default mode is `TransformationErrorHandling.ThrowError`. + recordTransformations: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordTransformations' description: >- - Required. DLP will limit its connections to max_connections. Must be - 2 or greater. - format: int32 - type: integer - usernamePassword: - $ref: '#/components/schemas/GooglePrivacyDlpV2SecretManagerCredential' - description: A username and password stored in Secret Manager. + Treat the dataset as structured. Transformations can be applied to + specific locations within structured datasets, such as transforming + a column within a table. + imageTransformations: + description: Treat the dataset as an image and redact. + $ref: '#/components/schemas/GooglePrivacyDlpV2ImageTransformations' + infoTypeTransformations: + description: >- + Treat the dataset as free-form text and apply the same free text + transformation everywhere. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeTransformations' + description: The configuration that controls how the data will change. type: object - id: GooglePrivacyDlpV2CloudSqlProperties - description: Cloud SQL connection properties. - GooglePrivacyDlpV2InfoTypeLimit: - id: GooglePrivacyDlpV2InfoTypeLimit + id: GooglePrivacyDlpV2DeidentifyConfig + GooglePrivacyDlpV2Manual: + id: GooglePrivacyDlpV2Manual + properties: {} type: object description: >- - Max findings configuration per infoType, per content item or long - running DlpJob. - properties: - infoType: - description: >- - Type of information the findings limit applies to. Only one limit - per info_type should be provided. If InfoTypeLimit does not have an - info_type, the DLP API applies the limit against all info_types that - are found but not specified in another InfoTypeLimit. - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - maxFindings: - format: int32 - type: integer - description: Max findings limit for the given infoType. - GooglePrivacyDlpV2ExcludeByHotword: - description: >- - The rule to exclude findings based on a hotword. For record inspection - of tables, column names are considered hotwords. An example of this is - to exclude a finding if it belongs to a BigQuery column that matches a - specific pattern. + Job trigger option for hybrid jobs. Jobs must be manually created and + finished. + GooglePrivacyDlpV2HotwordRule: type: object properties: + likelihoodAdjustment: + $ref: '#/components/schemas/GooglePrivacyDlpV2LikelihoodAdjustment' + description: Likelihood adjustment to apply to all matching findings. proximity: $ref: '#/components/schemas/GooglePrivacyDlpV2Proximity' description: >- Range of characters within which the entire hotword must reside. The total length of the window cannot exceed 1000 characters. The - windowBefore property in proximity should be set to 1 if the hotword - needs to be included in a column header. + finding itself will be included in the window, so that hotwords can + be used to match substrings of the finding itself. Suppose you want + Cloud DLP to promote the likelihood of the phone number regex + "\(\d{3}\) \d{3}-\d{4}" if the area code is known to be the area + code of a company's office. In this case, use the hotword regex + "\(xxx\)", where "xxx" is the area code in question. For tabular + data, if you want to modify the likelihood of an entire column of + findngs, see [Hotword example: Set the match likelihood of a table + column] + (https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes-likelihood#match-column-values). hotwordRegex: - description: Regular expression pattern defining what qualifies as a hotword. $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' - id: GooglePrivacyDlpV2ExcludeByHotword - GooglePrivacyDlpV2DataProfileAction: - description: A task to execute when a data profile has been generated. + description: Regular expression pattern defining what qualifies as a hotword. + description: >- + The rule that adjusts the likelihood of findings within a certain + proximity of hotwords. + id: GooglePrivacyDlpV2HotwordRule + GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig: + description: >- + Replaces an identifier with a surrogate using Format Preserving + Encryption (FPE) with the FFX mode of operation; however when used in + the `ReidentifyContent` API method, it serves the opposite function by + reversing the surrogate back into the original identifier. The + identifier must be encoded as ASCII. For a given crypto key and context, + the same identifier will be replaced with the same surrogate. + Identifiers must be at least two characters long. In the case that the + identifier is the empty string, it will be skipped. See + https://cloud.google.com/sensitive-data-protection/docs/pseudonymization + to learn more. Note: We recommend using CryptoDeterministicConfig for + all use cases which do not require preserving the input alphabet space + and size, plus warrant referential integrity. properties: - publishToScc: - description: Publishes findings to SCC for each data profile. - $ref: >- - #/components/schemas/GooglePrivacyDlpV2PublishToSecurityCommandCenter - pubSubNotification: - description: Publish a message into the Pub/Sub topic. - $ref: '#/components/schemas/GooglePrivacyDlpV2PubSubNotification' - publishToChronicle: - $ref: '#/components/schemas/GooglePrivacyDlpV2PublishToChronicle' + surrogateInfoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' description: >- - Publishes generated data profiles to Google Security Operations. For - more information, see [Use Sensitive Data Protection data in - context-aware - analytics](https://cloud.google.com/chronicle/docs/detection/usecase-dlp-high-risk-user-download). - exportData: - description: Export data profiles into a provided location. - $ref: '#/components/schemas/GooglePrivacyDlpV2Export' - tagResources: - $ref: '#/components/schemas/GooglePrivacyDlpV2TagResources' - description: Tags the profiled resources with the specified tag values. + The custom infoType to annotate the surrogate with. This annotation + will be applied to the surrogate by prefixing it with the name of + the custom infoType followed by the number of characters comprising + the surrogate. The following scheme defines the format: + info_type_name(surrogate_character_count):surrogate For example, if + the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the + surrogate is 'abc', the full replacement value will be: + 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate + when inspecting content using the custom infoType + [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype). + This facilitates reversal of the surrogate when it occurs in free + text. In order for inspection to work properly, the name of this + infoType must not occur naturally anywhere in your data; otherwise, + inspection may find a surrogate that does not correspond to an + actual identifier. Therefore, choose your custom infoType name + carefully after considering what your data looks like. One way to + select a name that has a high chance of yielding reliable detection + is to include one or more unicode characters that are highly + improbable to exist in your data. For example, assuming your data is + entered from a regular ASCII keyboard, the symbol with the hex code + point 29DD might be used like so: ⧝MY_TOKEN_TYPE + radix: + description: The native way to select the alphabet. Must be in the range [2, 95]. + format: int32 + type: integer + customAlphabet: + description: >- + This is supported by mapping these to the alphanumeric characters + that the FFX mode natively supports. This happens before/after + encryption/decryption. Each character listed must appear only once. + Number of characters must be in the range [2, 95]. This must be + encoded as ASCII. The order of characters does not matter. The full + list of allowed characters is: + ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/`` + type: string + cryptoKey: + description: Required. The key used by the encryption algorithm. + $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' + context: + description: >- + The 'tweak', a context may be used for higher security since the + same identifier in two different contexts won't be given the same + surrogate. If the context is not set, a default tweak will be used. + If the context is set but: 1. there is no record present when + transforming a given value or 1. the field is not present when + transforming a given value, a default tweak will be used. Note that + case (1) is expected when an `InfoTypeTransformation` is applied to + both structured and unstructured `ContentItem`s. Currently, the + referenced field may be of value type integer or string. The tweak + is constructed as a sequence of bytes in big endian byte order such + that: - a 64 bit integer is encoded followed by a single byte of + value 1 - a string is encoded in UTF-8 format followed by a single + byte of value 2 + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + commonAlphabet: + enum: + - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED + - NUMERIC + - HEXADECIMAL + - UPPER_CASE_ALPHA_NUMERIC + - ALPHA_NUMERIC + enumDescriptions: + - Unused. + - '`[0-9]` (radix of 10)' + - '`[0-9A-F]` (radix of 16)' + - '`[0-9A-Z]` (radix of 36)' + - '`[0-9A-Za-z]` (radix of 62)' + description: Common alphabets. + type: string + id: GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig type: object - id: GooglePrivacyDlpV2DataProfileAction - GooglePrivacyDlpV2Disabled: - id: GooglePrivacyDlpV2Disabled + GooglePrivacyDlpV2VersionDescription: + id: GooglePrivacyDlpV2VersionDescription type: object - description: Do not profile the tables. - properties: {} - GooglePrivacyDlpV2ImageTransformations: properties: - transforms: + version: + description: Name of the version + type: string + description: + type: string + description: Description of the version. + description: Details about each available version for an infotype. + GooglePrivacyDlpV2Range: + description: Generic half-open interval [start, end) + type: object + id: GooglePrivacyDlpV2Range + properties: + start: + format: int64 + type: string + description: Index of the first character of the range (inclusive). + end: + format: int64 + type: string + description: Index of the last character of the range (exclusive). + GooglePrivacyDlpV2DataProfileJobConfig: + id: GooglePrivacyDlpV2DataProfileJobConfig + description: >- + Configuration for setting up a job to scan resources for profile + generation. Only one data profile configuration may exist per + organization, folder, or project. The generated data profiles are + retained according to the [data retention policy] + (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention). + type: object + properties: + inspectTemplates: + description: >- + Detection logic for profile generation. Not all template features + are used by profiles. FindingLimits, include_quote and + exclude_info_types have no impact on data profiling. Multiple + templates may be provided if there is data in multiple regions. At + most one template must be specified per-region (including "global"). + Each region is scanned using the applicable template. If no + region-specific template is specified, but a "global" template is + specified, it will be copied to that region and used instead. If no + global or region-specific template is provided for a region with + data, that region's data will not be scanned. For more information, + see + https://cloud.google.com/sensitive-data-protection/docs/data-profiles#data-residency. + items: + type: string + type: array + projectId: + type: string + description: >- + The project that will run the scan. The DLP service account that + exists within this project must have access to all resources that + are profiled, and the DLP API must be enabled. + dataProfileActions: items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ImageTransformation' + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileAction' + description: Actions to execute at the completion of the job. type: array - description: List of transforms to make. + location: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileLocation' + description: The data to scan. + otherCloudStartingLocation: + description: Must be set only when scanning other clouds. + $ref: >- + #/components/schemas/GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation + GooglePrivacyDlpV2BigQueryDiscoveryTarget: type: object - id: GooglePrivacyDlpV2ImageTransformations - description: A type of transformation that is applied over images. - GooglePrivacyDlpV2FixedSizeBucketingConfig: properties: - bucketSize: - type: number + conditions: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryBigQueryConditions' description: >- - Required. Size of each bucket (except for minimum and maximum - buckets). So if `lower_bound` = 10, `upper_bound` = 89, and - `bucket_size` = 10, then the following buckets would be used: -10, - 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. - Precision up to 2 decimals works. - format: double - lowerBound: + In addition to matching the filter, these conditions must be true + before a profile is generated. + cadence: description: >- - Required. Lower bound value of buckets. All values less than - `lower_bound` are grouped together into a single bucket; for example - if `lower_bound` = 10, then all values less than 10 are replaced - with the value "-10". - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - upperBound: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + How often and when to update profiles. New tables that match both + the filter and conditions are scanned as quickly as possible + depending on system capacity. + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryGenerationCadence' + filter: description: >- - Required. Upper bound value of buckets. All values greater than - upper_bound are grouped together into a single bucket; for example - if `upper_bound` = 89, then all values greater than 89 are replaced - with the value "89+". + Required. The tables the discovery cadence applies to. The first + target with a matching filter will be the one to apply to a table. + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryBigQueryFilter' + disabled: + description: Tables that match this filter will not have profiles created. + $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' + id: GooglePrivacyDlpV2BigQueryDiscoveryTarget + description: Target used to match against for discovery with BigQuery tables + GooglePrivacyDlpV2AwsDiscoveryStartingLocation: + id: GooglePrivacyDlpV2AwsDiscoveryStartingLocation type: object - description: >- - Buckets values based on fixed size ranges. The Bucketing transformation - can provide all of this functionality, but requires more configuration. - This message is provided as a convenience to the user for simple - bucketing strategies. The transformed value will be a hyphenated string - of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and - upper_bound = 20, all values that are within this bucket will be - replaced with "10-20". This can be used on data of type: double, long. - If the bound Value type differs from the type of data being transformed, - we will first attempt converting the type of the data to be transformed - to match the type of the bound before comparing. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-bucketing - to learn more. - id: GooglePrivacyDlpV2FixedSizeBucketingConfig - GooglePrivacyDlpV2RedactImageResponse: - id: GooglePrivacyDlpV2RedactImageResponse properties: - inspectResult: + allAssetInventoryAssets: + type: boolean description: >- - The findings. Populated when include_findings in the request is - true. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectResult' - extractedText: - type: string + All AWS assets stored in Asset Inventory that didn't match other AWS + discovery configs. + accountId: description: >- - If an image was being inspected and the InspectConfig's - include_quote was set to true, then this field will include all - text, if any, that was found in the image. - redactedImage: + The AWS account ID that this discovery config applies to. Within an + AWS organization, you can find the AWS account ID inside an AWS + account ARN. Example: + arn:{partition}:organizations::{management_account_id}:account/{org_id}/{account_id} type: string - description: The redacted image. The type will be the same as the original image. - format: byte - description: Results of redacting an image. - type: object - GooglePrivacyDlpV2RequestedOptions: - id: GooglePrivacyDlpV2RequestedOptions - type: object - properties: - jobConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectJobConfig' - description: Inspect config. - snapshotInspectTemplate: - description: >- - If run with an InspectTemplate, a snapshot of its state at the time - of this run. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' - description: Snapshot of the inspection configuration. - GooglePrivacyDlpV2TransformationDetailsStorageConfig: - type: object + description: The AWS starting location for discovery. + GooglePrivacyDlpV2RecordSuppression: + description: >- + Configuration to suppress records whose suppression conditions evaluate + to true. properties: - table: + condition: + $ref: '#/components/schemas/GooglePrivacyDlpV2RecordCondition' description: >- - The BigQuery table in which to store the output. This may be an - existing table or in a new table in an existing dataset. If table_id - is not set a new one will be generated for you with the following - format: - dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. - Pacific time zone will be used for generating the date details. - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Config for storing transformation details. - id: GooglePrivacyDlpV2TransformationDetailsStorageConfig - GooglePrivacyDlpV2PrivacyMetric: - type: object - properties: - categoricalStatsConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2CategoricalStatsConfig' - description: Categorical stats - numericalStatsConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2NumericalStatsConfig' - description: Numerical stats - deltaPresenceEstimationConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationConfig' - description: delta-presence - lDiversityConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityConfig' - description: l-diversity - kMapEstimationConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2KMapEstimationConfig' - description: k-map - kAnonymityConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2KAnonymityConfig' - description: K-anonymity - id: GooglePrivacyDlpV2PrivacyMetric - description: Privacy metric to compute for reidentification risk analysis. - GooglePrivacyDlpV2UpdateStoredInfoTypeRequest: + A condition that when it evaluates to true will result in the record + being evaluated to be suppressed from the transformed content. + id: GooglePrivacyDlpV2RecordSuppression type: object - id: GooglePrivacyDlpV2UpdateStoredInfoTypeRequest - description: Request message for UpdateStoredInfoType. + GooglePrivacyDlpV2InfoTypeLikelihood: properties: - config: + minLikelihood: + enumDescriptions: + - Default value; same as POSSIBLE. + - Highest chance of a false positive. + - High chance of a false positive. + - Some matching signals. The default value. + - Low chance of a false positive. + - Confidence level is high. Lowest chance of a false positive. description: >- - Updated configuration for the storedInfoType. If not provided, a new - version of the storedInfoType will be created with the existing - configuration. - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeConfig' - updateMask: - description: Mask to control which fields get updated. + Only returns findings equal to or above this threshold. This field + is required or else the configuration fails. type: string - format: google-fieldmask - GooglePrivacyDlpV2OutputStorageConfig: - properties: - outputSchema: enum: - - OUTPUT_SCHEMA_UNSPECIFIED - - BASIC_COLUMNS - - GCS_COLUMNS - - DATASTORE_COLUMNS - - BIG_QUERY_COLUMNS - - ALL_COLUMNS - description: >- - Schema used for writing the findings for Inspect jobs. This field is - only used for Inspect and must be unspecified for Risk jobs. Columns - are derived from the `Finding` object. If appending to an existing - table, any columns from the predefined schema that are missing will - be added. No columns in the existing table will be deleted. If - unspecified, then all available columns will be used for a new table - or an (existing) table with no schema, and no changes will be made - to an existing table that has a schema. Only for use with external - storage. - enumDescriptions: - - Unused. - - >- - Basic schema including only `info_type`, `quote`, `certainty`, and - `timestamp`. - - Schema tailored to findings from scanning Cloud Storage. - - Schema tailored to findings from scanning Google Datastore. - - Schema tailored to findings from scanning Google BigQuery. - - Schema containing all columns. - type: string - table: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + - LIKELIHOOD_UNSPECIFIED + - VERY_UNLIKELY + - UNLIKELY + - POSSIBLE + - LIKELY + - VERY_LIKELY + infoType: description: >- - Store findings in an existing table or a new table in an existing - dataset. If table_id is not set a new one will be generated for you - with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. - Pacific time zone will be used for generating the date details. For - Inspect, each column in an existing output table must have the same - name, type, and mode of a field in the `Finding` object. For Risk, - an existing output table should be the output of a previous Risk - analysis job run on the same source table, with the same privacy - metric and quasi-identifiers. Risk jobs that analyze the same table - but compute a different privacy metric, or use different sets of - quasi-identifiers, cannot store their results in the same table. - id: GooglePrivacyDlpV2OutputStorageConfig - description: Cloud repository for storing output. - type: object - GooglePrivacyDlpV2CreateStoredInfoTypeRequest: - id: GooglePrivacyDlpV2CreateStoredInfoTypeRequest + Type of information the likelihood threshold applies to. Only one + likelihood per info_type should be provided. If InfoTypeLikelihood + does not have an info_type, the configuration fails. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: >- + Configuration for setting a minimum likelihood per infotype. Used to + customize the minimum likelihood level for specific infotypes in the + request. For example, use this if you want to lower the precision for + PERSON_NAME without lowering the precision for the other infotypes in + the request. + id: GooglePrivacyDlpV2InfoTypeLikelihood type: object + GooglePrivacyDlpV2CreateDiscoveryConfigRequest: + description: Request message for CreateDiscoveryConfig. properties: - storedInfoTypeId: + discoveryConfig: + description: Required. The DiscoveryConfig to create. + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + configId: + type: string description: >- - The storedInfoType ID can contain uppercase and lowercase letters, - numbers, and hyphens; that is, it must match the regular expression: + The config ID can contain uppercase and lowercase letters, numbers, + and hyphens; that is, it must match the regular expression: `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty to allow the system to generate one. - type: string - locationId: - type: string - description: Deprecated. This field has no effect. - config: - description: Required. Configuration of the storedInfoType to create. - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeConfig' - description: Request message for CreateStoredInfoType. - GooglePrivacyDlpV2JobTrigger: + type: object + id: GooglePrivacyDlpV2CreateDiscoveryConfigRequest + GooglePrivacyDlpV2DiscoveryConfig: description: >- - Contains a configuration to make API calls on a repeating basis. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-job-triggers - to learn more. + Configuration for discovery to scan resources for profile generation. + Only one discovery configuration may exist per organization, folder, or + project. The generated data profiles are retained according to the [data + retention policy] + (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention). + type: object + id: GooglePrivacyDlpV2DiscoveryConfig properties: - errors: + displayName: + type: string + description: Display name (max 100 chars) + targets: type: array - readOnly: true items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Error' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryTarget' description: >- - Output only. A stream of errors encountered when the trigger was - activated. Repeated errors may result in the JobTrigger - automatically being paused. Will return the last 100 errors. - Whenever the JobTrigger is modified this list will be cleared. - status: - type: string - enum: - - STATUS_UNSPECIFIED - - HEALTHY - - PAUSED - - CANCELLED - enumDescriptions: - - Unused. - - Trigger is healthy. - - Trigger is temporarily paused. - - Trigger is cancelled and can not be resumed. - description: Required. A status for this trigger. - lastRunTime: - readOnly: true - type: string - format: google-datetime - description: Output only. The timestamp of the last time this trigger executed. + Target to match against for determining what to scan and how + frequently. + actions: + description: Actions to execute at the completion of scanning. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileAction' + type: array name: description: >- - Unique resource name for the triggeredJob, assigned by the service - when the triggeredJob is created, for example - `projects/dlp-test-project/jobTriggers/53234423`. + Unique resource name for the DiscoveryConfig, assigned by the + service when the DiscoveryConfig is created, for example + `projects/dlp-test-project/locations/global/discoveryConfigs/53234423`. type: string - createTime: + inspectTemplates: + description: >- + Detection logic for profile generation. Not all template features + are used by Discovery. FindingLimits, include_quote and + exclude_info_types have no impact on Discovery. Multiple templates + may be provided if there is data in multiple regions. At most one + template must be specified per-region (including "global"). Each + region is scanned using the applicable template. If no + region-specific template is specified, but a "global" template is + specified, it will be copied to that region and used instead. If no + global or region-specific template is provided for a region with + data, that region's data will not be scanned. For more information, + see + https://cloud.google.com/sensitive-data-protection/docs/data-profiles#data-residency. + type: array + items: + type: string + updateTime: + description: Output only. The last update timestamp of a DiscoveryConfig. readOnly: true format: google-datetime - description: Output only. The creation timestamp of a triggeredJob. type: string - updateTime: + createTime: type: string + description: Output only. The creation timestamp of a DiscoveryConfig. + format: google-datetime readOnly: true - description: Output only. The last update timestamp of a triggeredJob. + lastRunTime: + readOnly: true + type: string + description: >- + Output only. The timestamp of the last time this config was + executed. format: google-datetime - triggers: + status: + type: string + description: Required. A status for this configuration. + enumDescriptions: + - Unused + - The discovery config is currently active. + - The discovery config is paused temporarily. + enum: + - STATUS_UNSPECIFIED + - RUNNING + - PAUSED + orgConfig: + description: Only set when the parent is an org. + $ref: '#/components/schemas/GooglePrivacyDlpV2OrgConfig' + errors: type: array description: >- - 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. + Output only. A stream of errors encountered when the config was + activated. Repeated errors may result in the config automatically + being paused. Output only field. Will return the last 100 errors. + Whenever the config is modified this list will be cleared. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Trigger' - description: - type: string - description: User provided description (max 256 chars) - displayName: - type: string - description: Display name (max 100 chars) - inspectJob: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectJobConfig' - description: For inspect jobs, a snapshot of the configuration. - id: GooglePrivacyDlpV2JobTrigger - type: object - GooglePrivacyDlpV2DiscoveryGenerationCadence: + $ref: '#/components/schemas/GooglePrivacyDlpV2Error' + readOnly: true + otherCloudStartingLocation: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation + description: Must be set only when scanning other clouds. + GooglePrivacyDlpV2FindingLimits: description: >- - What must take place for a profile to be updated and how frequently it - should occur. New tables are scanned as quickly as possible depending on - system capacity. + Configuration to control the number of findings returned for inspection. + This is not used for de-identification or data profiling. When redacting + sensitive data from images, finding limits don't apply. They can cause + unexpected or inconsistent results, where only some data is redacted. + Don't include finding limits in RedactImage requests. Otherwise, Cloud + DLP returns an error. type: object properties: - tableModifiedCadence: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryTableModifiedCadence' - description: Governs when to update data profiles when a table is modified. - inspectTemplateModifiedCadence: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence + maxFindingsPerItem: description: >- - Governs when to update data profiles when the inspection rules - defined by the `InspectTemplate` change. If not set, changing the - template will not cause a data profile to update. - refreshFrequency: - enumDescriptions: - - Unspecified. - - After the data profile is created, it will never be updated. - - The data profile can be updated up to once every 24 hours. - - The data profile can be updated up to once every 30 days. Default. - enum: - - UPDATE_FREQUENCY_UNSPECIFIED - - UPDATE_FREQUENCY_NEVER - - UPDATE_FREQUENCY_DAILY - - UPDATE_FREQUENCY_MONTHLY + Max number of findings that are returned for each item scanned. When + set within an InspectContentRequest, this field is ignored. This + value isn't a hard limit. If the number of findings for an item + reaches this limit, the inspection of that item ends gradually, not + abruptly. Therefore, the actual number of findings that Cloud DLP + returns for the item can be multiple times higher than this value. + format: int32 + type: integer + maxFindingsPerRequest: + type: integer description: >- - Frequency at which profiles should be updated, regardless of whether - the underlying resource has changed. Defaults to never. - type: string - schemaModifiedCadence: - description: Governs when to update data profiles when a schema is modified. - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoverySchemaModifiedCadence - id: GooglePrivacyDlpV2DiscoveryGenerationCadence - GooglePrivacyDlpV2UpdateInspectTemplateRequest: + Max number of findings that are returned per request or job. If you + set this field in an InspectContentRequest, the resulting maximum + value is the value that you set or 3,000, whichever is lower. This + value isn't a hard limit. If an inspection reaches this limit, the + inspection ends gradually, not abruptly. Therefore, the actual + number of findings that Cloud DLP returns can be multiple times + higher than this value. + format: int32 + maxFindingsPerInfoType: + description: Configuration of findings limit given for specified infoTypes. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeLimit' + type: array + id: GooglePrivacyDlpV2FindingLimits + GooglePrivacyDlpV2KAnonymityConfig: + description: k-anonymity metric, used for analysis of reidentification risk. + type: object + id: GooglePrivacyDlpV2KAnonymityConfig properties: - updateMask: + entityId: + $ref: '#/components/schemas/GooglePrivacyDlpV2EntityId' + description: >- + Message indicating that multiple rows might be associated to a + single individual. If the same entity_id is associated to multiple + quasi-identifier tuples over distinct rows, we consider the entire + collection of tuples as the composite quasi-identifier. This + collection is a multiset: the order in which the different tuples + appear in the dataset is ignored, but their frequency is taken into + account. Important note: a maximum of 1000 rows can be associated to + a single entity ID. If more rows are associated with the same entity + ID, some might be ignored. + quasiIds: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: >- + Set of fields to compute k-anonymity over. When multiple fields are + specified, they are considered a single composite key. Structs and + repeated data types are not supported; however, nested fields are + supported so long as they are not structs themselves or nested + within a repeated field. + type: array + GooglePrivacyDlpV2BigQueryKey: + description: Row key for identifying a record in BigQuery table. + id: GooglePrivacyDlpV2BigQueryKey + type: object + properties: + rowNumber: + format: int64 + description: >- + Row number inferred at the time the table was scanned. This value is + nondeterministic, cannot be queried, and may be null for inspection + jobs. To locate findings within a table, specify + `inspect_job.storage_config.big_query_options.identifying_fields` in + `CreateDlpJobRequest`. type: string - format: google-fieldmask - description: Mask to control which fields get updated. - inspectTemplate: - description: New InspectTemplate value. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' - description: Request message for UpdateInspectTemplate. - id: GooglePrivacyDlpV2UpdateInspectTemplateRequest + tableReference: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: Complete BigQuery table reference. + GooglePrivacyDlpV2ReplaceDictionaryConfig: type: object - GooglePrivacyDlpV2ExclusionRule: + properties: + wordList: + $ref: '#/components/schemas/GooglePrivacyDlpV2WordList' + description: >- + A list of words to select from for random replacement. The + [limits](https://cloud.google.com/sensitive-data-protection/limits) + page contains details about the size limits of dictionaries. + description: >- + Replace each input value with a value randomly selected from the + dictionary. + id: GooglePrivacyDlpV2ReplaceDictionaryConfig + GooglePrivacyDlpV2ReplaceValueConfig: + description: Replace each input value with a given `Value`. + properties: + newValue: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: Value to replace it with. + type: object + id: GooglePrivacyDlpV2ReplaceValueConfig + GooglePrivacyDlpV2TransformationDescription: + id: GooglePrivacyDlpV2TransformationDescription type: object - description: >- - The rule that specifies conditions when findings of infoTypes specified - in `InspectionRuleSet` are removed from results. properties: - matchingType: - description: How the rule is applied, see MatchingType documentation for details. + description: + description: >- + A description of the transformation. This is empty for a + RECORD_SUPPRESSION, or is the output of calling toString() on the + `PrimitiveTransformation` protocol buffer message for any other type + of transformation. + type: string + infoType: + description: Set if the transformation was limited to a specific `InfoType`. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + condition: type: string + description: >- + A human-readable string representation of the `RecordCondition` + corresponding to this transformation. Set if a `RecordCondition` was + used to determine whether or not to apply this transformation. + Examples: * (age_field > 85) * (age_field <= 18) * (zip_field + exists) * (zip_field == 01234) && (city_field != "Springville") * + (zip_field == 01234) && (age_field <= 18) && (city_field exists) + type: enumDescriptions: - - Invalid. - - >- - Full match. - Dictionary: join of Dictionary results matched - complete finding quote - Regex: all regex matches fill a finding - quote start to end - Exclude info type: completely inside - affecting info types findings - - >- - Partial match. - Dictionary: at least one of the tokens in the - finding matches - Regex: substring of the finding matches - - Exclude info type: intersects with affecting info types findings - - >- - Inverse match. - Dictionary: no tokens in the finding match the - dictionary - Regex: finding doesn't match the regex - Exclude info - type: no intersection with affecting info types findings + - Unused + - Record suppression + - Replace value + - Replace value using a dictionary. + - Redact + - Character mask + - FFX-FPE + - Fixed size bucketing + - Bucketing + - Replace with info type + - Time part + - Crypto hash + - Date shift + - Deterministic crypto + - Redact image + description: The transformation type. enum: - - MATCHING_TYPE_UNSPECIFIED - - MATCHING_TYPE_FULL_MATCH - - MATCHING_TYPE_PARTIAL_MATCH - - MATCHING_TYPE_INVERSE_MATCH - excludeInfoTypes: - description: Set of infoTypes for which findings would affect this rule. - $ref: '#/components/schemas/GooglePrivacyDlpV2ExcludeInfoTypes' - regex: - description: Regular expression which defines the rule. - $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' - dictionary: - $ref: '#/components/schemas/GooglePrivacyDlpV2Dictionary' - description: Dictionary which defines the rule. - excludeByHotword: - $ref: '#/components/schemas/GooglePrivacyDlpV2ExcludeByHotword' - description: >- - Drop if the hotword rule is contained in the proximate context. For - tabular data, the context includes the column name. - id: GooglePrivacyDlpV2ExclusionRule - GooglePrivacyDlpV2ListInspectTemplatesResponse: - properties: - nextPageToken: + - TRANSFORMATION_TYPE_UNSPECIFIED + - RECORD_SUPPRESSION + - REPLACE_VALUE + - REPLACE_DICTIONARY + - REDACT + - CHARACTER_MASK + - CRYPTO_REPLACE_FFX_FPE + - FIXED_SIZE_BUCKETING + - BUCKETING + - REPLACE_WITH_INFO_TYPE + - TIME_PART + - CRYPTO_HASH + - DATE_SHIFT + - CRYPTO_DETERMINISTIC_CONFIG + - REDACT_IMAGE type: string + description: >- + A flattened description of a `PrimitiveTransformation` or + `RecordSuppression`. + GooglePrivacyDlpV2RequestedOptions: + properties: + snapshotInspectTemplate: description: >- - If the next page is available then the next page token to be used in - the following ListInspectTemplates request. - inspectTemplates: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' - type: array - description: >- - List of inspectTemplates, up to page_size in - ListInspectTemplatesRequest. - description: Response message for ListInspectTemplates. + If run with an InspectTemplate, a snapshot of its state at the time + of this run. + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + jobConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectJobConfig' + description: Inspect config. type: object - id: GooglePrivacyDlpV2ListInspectTemplatesResponse + description: Snapshot of the inspection configuration. + id: GooglePrivacyDlpV2RequestedOptions + GooglePrivacyDlpV2Color: + id: GooglePrivacyDlpV2Color + properties: + green: + format: float + description: The amount of green in the color as a value in the interval [0, 1]. + type: number + blue: + format: float + description: The amount of blue in the color as a value in the interval [0, 1]. + type: number + red: + type: number + description: The amount of red in the color as a value in the interval [0, 1]. + format: float + type: object + description: Represents a color in the RGB color space. GooglePrivacyDlpV2LDiversityResult: description: Result of the l-diversity computation. - type: object - id: GooglePrivacyDlpV2LDiversityResult properties: sensitiveValueFrequencyHistogramBuckets: + type: array items: $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityHistogramBucket' - type: array description: >- Histogram of l-diversity equivalence class sensitive value frequencies. - GooglePrivacyDlpV2CloudStorageFileSet: - description: Message representing a set of files in Cloud Storage. - id: GooglePrivacyDlpV2CloudStorageFileSet + id: GooglePrivacyDlpV2LDiversityResult + type: object + GooglePrivacyDlpV2ProjectDataProfile: + type: object + id: GooglePrivacyDlpV2ProjectDataProfile properties: - url: - description: >- - The url, in the format `gs:///`. Trailing wildcard in the path is - allowed. + dataRiskLevel: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' + description: The data risk level of this project. + profileLastGenerated: + format: google-datetime + description: The last time the profile was generated. type: string - type: object - GooglePrivacyDlpV2StoredInfoTypeConfig: + sensitivityScore: + description: The sensitivity score of this project. + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + projectId: + type: string + description: Project ID or account that was profiled. + tableDataProfileCount: + type: string + description: The number of table data profiles generated for this project. + format: int64 + fileStoreDataProfileCount: + type: string + description: The number of file store data profiles generated for this project. + format: int64 + name: + type: string + description: The resource name of the profile. + profileStatus: + $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' + description: Success or error status of the last attempt to profile the project. description: >- - Configuration for stored infoTypes. All fields and subfield are provided - by the user. For more information, see - https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. + An aggregated profile for this project, based on the resources profiled + within it. + GooglePrivacyDlpV2HybridFindingDetails: properties: - regex: - description: Store regular expression-based StoredInfoType. - $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' - dictionary: - $ref: '#/components/schemas/GooglePrivacyDlpV2Dictionary' - description: Store dictionary-based CustomInfoType. - description: + tableOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2TableOptions' + description: >- + If the container is a table, additional information to make findings + meaningful such as the columns that are primary keys. If not known + ahead of time, can also be set within each inspect hybrid call and + the two will be merged. Note that identifying_fields will only be + stored to BigQuery, and only if the BigQuery action has been + included. + containerDetails: + description: >- + Details about the container where the content being inspected is + from. + $ref: '#/components/schemas/GooglePrivacyDlpV2Container' + labels: + description: >- + Labels to represent user provided metadata about the data being + inspected. If configured by the job, some key values may be + required. The labels associated with `Finding`'s produced by hybrid + inspection. 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 10 labels can be + associated with a given finding. Examples: * `"environment" : + "production"` * `"pipeline" : "etl"` + type: object + additionalProperties: + type: string + rowOffset: type: string - description: Description of the StoredInfoType (max 256 characters). - largeCustomDictionary: - $ref: '#/components/schemas/GooglePrivacyDlpV2LargeCustomDictionaryConfig' description: >- - StoredInfoType where findings are defined by a dictionary of - phrases. - displayName: - description: Display name of the StoredInfoType (max 256 characters). + Offset of the row for tables. Populate if the row(s) being scanned + are part of a bigger dataset and you want to keep track of their + absolute position. + format: int64 + fileOffset: + format: int64 + description: >- + Offset in bytes of the line, from the beginning of the file, where + the finding is located. Populate if the item being scanned is only + part of a bigger item, such as a shard of a file and you want to + track the absolute position of the finding. type: string + id: GooglePrivacyDlpV2HybridFindingDetails type: object - id: GooglePrivacyDlpV2StoredInfoTypeConfig - GooglePrivacyDlpV2ReidentifyContentResponse: - type: object - description: Results of re-identifying an item. - id: GooglePrivacyDlpV2ReidentifyContentResponse - properties: - item: - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' - description: The re-identified item. - overview: - description: An overview of the changes that were made to the `item`. - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationOverview' - GooglePrivacyDlpV2ActionDetails: + description: Populate to associate additional data with each finding. + GooglePrivacyDlpV2UpdateDiscoveryConfigRequest: + id: GooglePrivacyDlpV2UpdateDiscoveryConfigRequest properties: - deidentifyDetails: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyDataSourceDetails' - description: Outcome of a de-identification action. - description: The results of an Action. + updateMask: + description: Mask to control which fields get updated. + type: string + format: google-fieldmask + discoveryConfig: + description: Required. New DiscoveryConfig value. + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + description: Request message for UpdateDiscoveryConfig. type: object - id: GooglePrivacyDlpV2ActionDetails - GooglePrivacyDlpV2HybridOptions: + GooglePrivacyDlpV2CloudSqlIamCredential: + description: >- + Use IAM authentication to connect. This requires the Cloud SQL IAM + feature to be enabled on the instance, which is not the default for + Cloud SQL. See https://cloud.google.com/sql/docs/postgres/authentication + and https://cloud.google.com/sql/docs/mysql/authentication. + properties: {} + id: GooglePrivacyDlpV2CloudSqlIamCredential + type: object + GooglePrivacyDlpV2DiscoveryCloudSqlConditions: + id: GooglePrivacyDlpV2DiscoveryCloudSqlConditions type: object - id: GooglePrivacyDlpV2HybridOptions properties: - description: - description: >- - A short description of where the data is coming from. Will be stored - once in the job. 256 max length. - type: string - labels: + types: description: >- - To organize findings, these labels will be added to each finding. - 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 10 labels can be associated with a given finding. - Examples: * `"environment" : "production"` * `"pipeline" : "etl"` - additionalProperties: + Data profiles will only be generated for the database resource types + specified in this field. If not specified, defaults to + [DATABASE_RESOURCE_TYPE_ALL_SUPPORTED_TYPES]. + type: array + items: type: string - type: object - tableOptions: - description: >- - If the container is a table, additional information to make findings - meaningful such as the columns that are primary keys. - $ref: '#/components/schemas/GooglePrivacyDlpV2TableOptions' - requiredFindingLabelKeys: + enumDescriptions: + - Unused. + - >- + Includes database resource types that become supported at a + later time. + - Tables. + enum: + - DATABASE_RESOURCE_TYPE_UNSPECIFIED + - DATABASE_RESOURCE_TYPE_ALL_SUPPORTED_TYPES + - DATABASE_RESOURCE_TYPE_TABLE + databaseEngines: items: type: string + enumDescriptions: + - Unused. + - Include all supported database engines. + - MySQL database. + - PostgreSQL database. + enum: + - DATABASE_ENGINE_UNSPECIFIED + - ALL_SUPPORTED_DATABASE_ENGINES + - MYSQL + - POSTGRES description: >- - These are labels that each inspection request must include within - their 'finding_labels' map. Request may contain others, but any - missing one of these will be rejected. 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])?`. No more than 10 keys can - be required. + Optional. Database engines that should be profiled. Optional. + Defaults to ALL_SUPPORTED_DATABASE_ENGINES if unspecified. type: array description: >- - Configuration to control jobs where the content being inspected is - outside of Google Cloud Platform. - GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence: - description: >- - The cadence at which to update data profiles when the inspection rules - defined by the `InspectTemplate` change. + Requirements that must be true before a table is profiled for the first + time. + GooglePrivacyDlpV2InspectContentResponse: + properties: + result: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectResult' + description: The findings. + type: object + id: GooglePrivacyDlpV2InspectContentResponse + description: Results of inspecting an item. + GooglePrivacyDlpV2Conditions: + description: A collection of conditions. + id: GooglePrivacyDlpV2Conditions type: object - id: GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence properties: - frequency: - enumDescriptions: - - Unspecified. - - After the data profile is created, it will never be updated. - - The data profile can be updated up to once every 24 hours. - - The data profile can be updated up to once every 30 days. Default. - enum: - - UPDATE_FREQUENCY_UNSPECIFIED - - UPDATE_FREQUENCY_NEVER - - UPDATE_FREQUENCY_DAILY - - UPDATE_FREQUENCY_MONTHLY - description: >- - How frequently data profiles can be updated when the template is - modified. Defaults to never. - type: string - GooglePrivacyDlpV2CryptoDeterministicConfig: - id: GooglePrivacyDlpV2CryptoDeterministicConfig + conditions: + description: A collection of conditions. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Condition' + type: array + GooglePrivacyDlpV2DataProfileBigQueryRowSchema: + properties: + tableProfile: + $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' + description: Table data profile column + fileStoreProfile: + description: File store data profile column. + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' + columnProfile: + $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' + description: Column data profile column type: object + description: >- + The schema of data to be saved to the BigQuery table when the + `DataProfileAction` is enabled. + id: GooglePrivacyDlpV2DataProfileBigQueryRowSchema + GooglePrivacyDlpV2Location: properties: - surrogateInfoType: + container: description: >- - The custom info type to annotate the surrogate with. This annotation - will be applied to the surrogate by prefixing it with the name of - the custom info type followed by the number of characters comprising - the surrogate. The following scheme defines the format: {info type - name}({surrogate character count}):{surrogate} For example, if the - name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate - is 'abc', the full replacement value will be: - 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate - when inspecting content using the custom info type 'Surrogate'. This - facilitates reversal of the surrogate when it occurs in free text. - Note: For record transformations where the entire cell in a table is - being transformed, surrogates are not mandatory. Surrogates are used - to denote the location of the token and are necessary for - re-identification in free form text. In order for inspection to work - properly, the name of this info type must not occur naturally - anywhere in your data; otherwise, inspection may either - reverse a - surrogate that does not correspond to an actual identifier - be - unable to parse the surrogate and result in an error Therefore, - choose your custom info type name carefully after considering what - your data looks like. One way to select a name that has a high - chance of yielding reliable detection is to include one or more - unicode characters that are highly improbable to exist in your data. - For example, assuming your data is entered from a regular ASCII - keyboard, the symbol with the hex code point 29DD might be used like - so: ⧝MY_TOKEN_TYPE. - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - context: + Information about the container where this finding occurred, if + available. + $ref: '#/components/schemas/GooglePrivacyDlpV2Container' + contentLocations: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentLocation' + type: array description: >- - A context may be used for higher security and maintaining - referential integrity such that the same identifier in two different - contexts will be given a distinct surrogate. The context is appended - to plaintext value being encrypted. On decryption the provided - context is validated against the value used during encryption. If a - context was provided during encryption, same context must be - provided during decryption as well. If the context is not set, - plaintext would be used as is for encryption. If the context is set - but: 1. there is no record present when transforming a given value - or 2. the field is not present when transforming a given value, - plaintext would be used as is for encryption. Note that case (1) is - expected when an `InfoTypeTransformation` is applied to both - structured and unstructured `ContentItem`s. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - cryptoKey: - $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' + List of nested objects pointing to the precise location of the + finding within the file or record. + byteRange: + $ref: '#/components/schemas/GooglePrivacyDlpV2Range' description: >- - The key used by the encryption function. For deterministic - encryption using AES-SIV, the provided key is internally expanded to - 64 bytes prior to use. + Zero-based byte offsets delimiting the finding. These are relative + to the finding's containing element. Note that when the content is + not textual, this references the UTF-8 encoded textual + representation of the content. Omitted if content is an image. + codepointRange: + $ref: '#/components/schemas/GooglePrivacyDlpV2Range' + description: >- + Unicode character offsets delimiting the finding. These are relative + to the finding's containing element. Provided when the content is + text. + description: Specifies the location of the finding. + type: object + id: GooglePrivacyDlpV2Location + GooglePrivacyDlpV2OrgConfig: description: >- - Pseudonymization method that generates deterministic encryption for the - given input. Outputs a base64 encoded representation of the encrypted - output. Uses AES-SIV based on the RFC - https://tools.ietf.org/html/rfc5297. - GooglePrivacyDlpV2ReplaceValueConfig: + Project and scan location information. Only set when the parent is an + org. type: object properties: - newValue: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - description: Value to replace it with. - description: Replace each input value with a given `Value`. - id: GooglePrivacyDlpV2ReplaceValueConfig - GooglePrivacyDlpV2MetadataLocation: - id: GooglePrivacyDlpV2MetadataLocation - description: Metadata Location + location: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryStartingLocation' + description: 'The data to scan: folder, org, or project' + projectId: + description: >- + The project that will run the scan. The DLP service account that + exists within this project must have access to all resources that + are profiled, and the DLP API must be enabled. + type: string + id: GooglePrivacyDlpV2OrgConfig + GooglePrivacyDlpV2RecordCondition: + description: >- + A condition for determining whether a transformation should be applied + to a field. + properties: + expressions: + $ref: '#/components/schemas/GooglePrivacyDlpV2Expressions' + description: An expression. + type: object + id: GooglePrivacyDlpV2RecordCondition + GooglePrivacyDlpV2Trigger: + properties: + manual: + description: >- + For use with hybrid jobs. Jobs must be manually created and + finished. + $ref: '#/components/schemas/GooglePrivacyDlpV2Manual' + schedule: + description: Create a job on a repeating basis based on the elapse of time. + $ref: '#/components/schemas/GooglePrivacyDlpV2Schedule' + id: GooglePrivacyDlpV2Trigger + description: What event needs to occur for a new job to be started. + type: object + GooglePrivacyDlpV2ListJobTriggersResponse: type: object + id: GooglePrivacyDlpV2ListJobTriggersResponse properties: - type: - enum: - - METADATATYPE_UNSPECIFIED - - STORAGE_METADATA + nextPageToken: type: string - description: Type of metadata containing the finding. - enumDescriptions: - - Unused - - General file metadata provided by Cloud Storage. - storageLabel: - $ref: '#/components/schemas/GooglePrivacyDlpV2StorageMetadataLabel' - description: Storage metadata. - GooglePrivacyDlpV2InfoType: - id: GooglePrivacyDlpV2InfoType + description: >- + If the next page is available then this value is the next page token + to be used in the following ListJobTriggers request. + jobTriggers: + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + description: List of triggeredJobs, up to page_size in ListJobTriggersRequest. + description: Response message for ListJobTriggers. + GooglePrivacyDlpV2Expressions: properties: - sensitivityScore: + conditions: + $ref: '#/components/schemas/GooglePrivacyDlpV2Conditions' + description: Conditions to apply to the expression. + logicalOperator: description: >- - Optional custom sensitivity for this InfoType. This only applies to - data profiling. - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - version: - description: Optional version name for this InfoType. - type: string - name: + The operator to apply to the result of conditions. Default and + currently only supported value is `AND`. + enumDescriptions: + - Unused + - Conditional AND + enum: + - LOGICAL_OPERATOR_UNSPECIFIED + - AND type: string - description: >- - Name of the information type. Either a name of your choosing when - creating a CustomInfoType, or one of the names listed at - https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference - when specifying a built-in type. When sending Cloud DLP results to - Data Catalog, infoType names should conform to the pattern - `[A-Za-z0-9$_-]{1,64}`. - description: Type of information detected by the API. - type: object - GooglePrivacyDlpV2DocumentLocation: + id: GooglePrivacyDlpV2Expressions + description: An expression, consisting of an operator and conditions. type: object - id: GooglePrivacyDlpV2DocumentLocation + GooglePrivacyDlpV2KAnonymityEquivalenceClass: properties: - fileOffset: + equivalenceClassSize: + type: string format: int64 description: >- - Offset of the line, from the beginning of the file, where the - finding is located. - type: string - description: Location of a finding within a document. - GooglePrivacyDlpV2PublishToStackdriver: + Size of the equivalence class, for example number of rows with the + above set of values. + quasiIdsValues: + type: array + description: >- + Set of values defining the equivalence class. One value per + quasi-identifier column in the original KAnonymity metric message. + The order is always the same as the original request. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: The set of columns' values that share the same ldiversity value + type: object + id: GooglePrivacyDlpV2KAnonymityEquivalenceClass + GooglePrivacyDlpV2InfoTypeTransformation: description: >- - Enable Stackdriver metric dlp.googleapis.com/finding_count. This will - publish a metric to stack driver on each infotype requested and how many - findings were found for it. CustomDetectors will be bucketed as 'Custom' - under the Stackdriver label 'info_type'. - properties: {} - id: GooglePrivacyDlpV2PublishToStackdriver + A transformation to apply to text that is identified as a specific + info_type. type: object - GooglePrivacyDlpV2DlpJob: + id: GooglePrivacyDlpV2InfoTypeTransformation properties: - jobTriggerName: - type: string + primitiveTransformation: + description: Required. Primitive transformation to apply to the infoType. + $ref: '#/components/schemas/GooglePrivacyDlpV2PrimitiveTransformation' + infoTypes: description: >- - If created by a job trigger, the resource name of the trigger that - instantiated the job. - startTime: - description: Time when the job started. - format: google-datetime - type: string - inspectDetails: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectDataSourceDetails' - description: Results from inspecting a data source. - errors: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Error' + InfoTypes to apply the transformation to. An empty list will cause + this transformation to apply to all findings that correspond to + infoTypes that were requested in `InspectConfig`. type: array - description: A stream of errors encountered running the job. - lastModified: - format: google-datetime - description: Time when the job was last modified by the system. - type: string - type: - enum: - - DLP_JOB_TYPE_UNSPECIFIED - - INSPECT_JOB - - RISK_ANALYSIS_JOB - type: string - enumDescriptions: - - Defaults to INSPECT_JOB. - - The job inspected Google Cloud for sensitive data. - - The job executed a Risk Analysis computation. - description: The type of job. - riskDetails: - $ref: '#/components/schemas/GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails' - description: Results from analyzing risk of a data source. - endTime: - format: google-datetime - description: Time when the job finished. - type: string - state: - enumDescriptions: - - Unused. - - The job has not yet started. - - >- - The job is currently running. Once a job has finished it will - transition to FAILED or DONE. - - The job is no longer running. - - The job was canceled before it could be completed. - - The job had an error and did not complete. - - >- - The job is currently accepting findings via hybridInspect. A - hybrid job in ACTIVE state may continue to have findings added to - it through the calling of hybridInspect. After the job has - finished no more calls to hybridInspect may be made. ACTIVE jobs - can transition to DONE. - enum: - - JOB_STATE_UNSPECIFIED - - PENDING - - RUNNING - - DONE - - CANCELED - - FAILED - - ACTIVE - description: State of a job. - type: string - actionDetails: - description: Events that should occur after the job has completed. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ActionDetails' - type: array - name: - type: string - description: The server-assigned name. - createTime: - format: google-datetime - description: Time when the job was created. - type: string - id: GooglePrivacyDlpV2DlpJob - description: Combines all of the information about a DLP job. - type: object - GooglePrivacyDlpV2DiscoveryFileStoreConditions: - id: GooglePrivacyDlpV2DiscoveryFileStoreConditions + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + GooglePrivacyDlpV2SurrogateType: type: object description: >- - Requirements that must be true before a file store is scanned in - discovery for the first time. There is an AND relationship between the - top-level attributes. + Message for detecting output from deidentification transformations such + as + [`CryptoReplaceFfxFpeConfig`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig). + These types of transformations are those that perform pseudonymization, + thereby producing a "surrogate" as output. This should be used in + conjunction with a field on the transformation such as + `surrogate_info_type`. This CustomInfoType does not support the use of + `detection_rules`. + properties: {} + id: GooglePrivacyDlpV2SurrogateType + GooglePrivacyDlpV2BigQueryRegex: properties: - cloudStorageConditions: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoveryCloudStorageConditions - description: Optional. Cloud Storage conditions. - minAge: - description: >- - Optional. Minimum age a file store must have. If set, the value must - be 1 hour or greater. - format: google-duration + tableIdRegex: + description: If unset, this property matches all tables. type: string - createdAfter: - format: google-datetime + datasetIdRegex: type: string + description: If unset, this property matches all datasets. + projectIdRegex: description: >- - Optional. File store must have been created after this date. Used to - avoid backfilling. - GooglePrivacyDlpV2SummaryResult: - id: GooglePrivacyDlpV2SummaryResult - properties: - count: - format: int64 - description: Number of transformations counted by this result. - type: string - code: - description: Outcome of the transformation. - type: string - enumDescriptions: - - Unused - - Transformation completed without an error. - - Transformation had an error. - enum: - - TRANSFORMATION_RESULT_CODE_UNSPECIFIED - - SUCCESS - - ERROR - details: + For organizations, if unset, will match all projects. Has no effect + for data profile configurations created within a project. type: string - description: >- - A place for warnings or errors to show up if a transformation didn't - work as expected. description: >- - A collection that informs the user the number of times a particular - `TransformationResultCode` and error details occurred. - type: object - GooglePrivacyDlpV2CreateDeidentifyTemplateRequest: + A pattern to match against one or more tables, datasets, or projects + that contain BigQuery tables. At least one pattern must be specified. + Regular expressions use RE2 + [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be + found under the google/re2 repository on GitHub. + id: GooglePrivacyDlpV2BigQueryRegex type: object - properties: - deidentifyTemplate: - description: Required. The DeidentifyTemplate to create. - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - templateId: + GooglePrivacyDlpV2InfoType: + id: GooglePrivacyDlpV2InfoType + properties: + name: description: >- - The template id can contain uppercase and lowercase letters, - numbers, and hyphens; that is, it must match the regular expression: - `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty - to allow the system to generate one. + Name of the information type. Either a name of your choosing when + creating a CustomInfoType, or one of the names listed at + https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference + when specifying a built-in type. When sending Cloud DLP results to + Data Catalog, infoType names should conform to the pattern + `[A-Za-z0-9$_-]{1,64}`. type: string - locationId: - description: Deprecated. This field has no effect. + version: type: string - description: Request message for CreateDeidentifyTemplate. - id: GooglePrivacyDlpV2CreateDeidentifyTemplateRequest - GooglePrivacyDlpV2HybridInspectStatistics: - description: Statistics related to processing hybrid inspect requests. + description: Optional version name for this InfoType. + sensitivityScore: + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + description: >- + Optional custom sensitivity for this InfoType. This only applies to + data profiling. type: object + description: Type of information detected by the API. + GooglePrivacyDlpV2BigQueryTable: properties: - abortedCount: + projectId: type: string description: >- - The number of hybrid inspection requests aborted because the job ran - out of quota or was ended before they could be processed. - format: int64 - processedCount: + The Google Cloud project ID of the project containing the table. If + omitted, project ID is inferred from the API call. + datasetId: type: string - format: int64 - description: The number of hybrid inspection requests processed within this job. - pendingCount: + description: Dataset ID of the table. + tableId: type: string - description: >- - The number of hybrid requests currently being processed. Only - populated when called via method `getDlpJob`. A burst of traffic may - cause hybrid inspect requests to be enqueued. Processing will take - place as quickly as possible, but resource limitations may impact - how long a request is enqueued for. - format: int64 - id: GooglePrivacyDlpV2HybridInspectStatistics - GooglePrivacyDlpV2DatabaseResourceRegexes: + description: Name of the table. description: >- - A collection of regular expressions to determine what database resources - to match against. + Message defining the location of a BigQuery table. A table is uniquely + identified by its project_id, dataset_id, and table_name. Within a query + a table is often referenced with a string in the format of: `:.` or + `..`. + id: GooglePrivacyDlpV2BigQueryTable type: object - id: GooglePrivacyDlpV2DatabaseResourceRegexes + GooglePrivacyDlpV2SearchConnectionsResponse: + type: object + id: GooglePrivacyDlpV2SearchConnectionsResponse properties: - patterns: + connections: items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceRegex' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' description: >- - A group of regular expression patterns to match against one or more - database resources. Maximum of 100 entries. The sum of all regular - expression's length can't exceed 10 KiB. + List of connections that match the search query. Note that only a + subset of the fields will be populated, and only "name" is + guaranteed to be set. For full details of a Connection, call + GetConnection with the name. type: array - GooglePrivacyDlpV2WordList: - properties: - words: + nextPageToken: description: >- - Words or phrases defining the dictionary. The dictionary must - contain at least one phrase and every phrase must contain at least 2 - characters that are letters or digits. [required] - items: - type: string - type: array + Token to retrieve the next page of results. An empty value means + there are no more results. + type: string + description: Response message for SearchConnections. + GooglePrivacyDlpV2DeltaPresenceEstimationResult: type: object - description: Message defining a list of words or phrases to search for in the data. - id: GooglePrivacyDlpV2WordList - GooglePrivacyDlpV2KMapEstimationResult: - description: >- - Result of the reidentifiability analysis. Note that these results are an - estimation, not exact values. - id: GooglePrivacyDlpV2KMapEstimationResult properties: - kMapEstimationHistogram: + deltaPresenceEstimationHistogram: items: $ref: >- - #/components/schemas/GooglePrivacyDlpV2KMapEstimationHistogramBucket + #/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket + type: array description: >- - The intervals [min_anonymity, max_anonymity] do not overlap. If a - value doesn't correspond to any such interval, the associated + The intervals [min_probability, max_probability) do not overlap. If + a value doesn't correspond to any such interval, the associated frequency is zero. For example, the following records: - {min_anonymity: 1, max_anonymity: 1, frequency: 17} {min_anonymity: - 2, max_anonymity: 3, frequency: 42} {min_anonymity: 5, - max_anonymity: 10, frequency: 99} mean that there are no record with - an estimated anonymity of 4, 5, or larger than 10. - type: array - type: object - GooglePrivacyDlpV2Condition: + {min_probability: 0, max_probability: 0.1, frequency: 17} + {min_probability: 0.2, max_probability: 0.3, frequency: 42} + {min_probability: 0.3, max_probability: 0.4, frequency: 99} mean + that there are no record with an estimated probability in [0.1, 0.2) + nor larger or equal to 0.4. description: >- - The field type of `value` and `field` do not need to match to be - considered equal, but not all comparisons are possible. EQUAL_TO and - NOT_EQUAL_TO attempt to compare even with incompatible types, but all - other comparisons are invalid with incompatible types. A `value` of - type: - `string` can be compared against all other types - `boolean` can - only be compared against other booleans - `integer` can be compared - against doubles or a string if the string value can be parsed as an - integer. - `double` can be compared against integers or a string if the - string can be parsed as a double. - `Timestamp` can be compared against - strings in RFC 3339 date string format. - `TimeOfDay` can be compared - against timestamps and strings in the format of 'HH:mm:ss'. If we fail - to compare do to type mismatch, a warning will be given and the - condition will evaluate to false. + Result of the δ-presence computation. Note that these results are an + estimation, not exact values. + id: GooglePrivacyDlpV2DeltaPresenceEstimationResult + GooglePrivacyDlpV2ListProjectDataProfilesResponse: type: object - id: GooglePrivacyDlpV2Condition + id: GooglePrivacyDlpV2ListProjectDataProfilesResponse properties: - operator: + nextPageToken: + description: The next page token. type: string - description: >- - Required. Operator used to compare the field or infoType to the - value. - enum: - - RELATIONAL_OPERATOR_UNSPECIFIED - - EQUAL_TO - - NOT_EQUAL_TO - - GREATER_THAN - - LESS_THAN - - GREATER_THAN_OR_EQUALS - - LESS_THAN_OR_EQUALS - - EXISTS - enumDescriptions: - - Unused - - Equal. Attempts to match even with incompatible types. - - Not equal to. Attempts to match even with incompatible types. - - Greater than. - - Less than. - - Greater than or equals. - - Less than or equals. - - Exists - value: - description: Value to compare against. [Mandatory, except for `EXISTS` tests.] - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - field: - description: >- - Required. Field within the record this condition is evaluated - against. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - GooglePrivacyDlpV2RecordSuppression: + projectDataProfiles: + description: List of data profiles. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2ProjectDataProfile' + type: array + description: List of profiles generated for a given organization or project. + GooglePrivacyDlpV2OtherCloudResourceRegex: description: >- - Configuration to suppress records whose suppression conditions evaluate - to true. - type: object - id: GooglePrivacyDlpV2RecordSuppression - properties: - condition: - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordCondition' - description: >- - A condition that when it evaluates to true will result in the record - being evaluated to be suppressed from the transformed content. - GooglePrivacyDlpV2UpdateConnectionRequest: + A pattern to match against one or more resources. At least one pattern + must be specified. Regular expressions use RE2 + [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be + found under the google/re2 repository on GitHub. + id: GooglePrivacyDlpV2OtherCloudResourceRegex type: object - id: GooglePrivacyDlpV2UpdateConnectionRequest properties: - connection: - description: Required. The connection with new values for the relevant fields. - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' - updateMask: - format: google-fieldmask - description: Optional. Mask to control which fields get updated. - type: string - description: Request message for UpdateConnection. - GooglePrivacyDlpV2CategoricalStatsConfig: - type: object + amazonS3BucketRegex: + $ref: '#/components/schemas/GooglePrivacyDlpV2AmazonS3BucketRegex' + description: Regex for Amazon S3 buckets. + GooglePrivacyDlpV2ListFileStoreDataProfilesResponse: + id: GooglePrivacyDlpV2ListFileStoreDataProfilesResponse description: >- - Compute numerical stats over an individual column, including number of - distinct values and value count distribution. - properties: - field: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: >- - Field to compute categorical stats on. All column types are - supported except for arrays and structs. However, it may be more - informative to use NumericalStats when the field type is supported, - depending on the data. - id: GooglePrivacyDlpV2CategoricalStatsConfig - GooglePrivacyDlpV2DetectionRule: - properties: - hotwordRule: - description: Hotword-based detection rule. - $ref: '#/components/schemas/GooglePrivacyDlpV2HotwordRule' + List of file store data profiles generated for a given organization or + project. type: object - id: GooglePrivacyDlpV2DetectionRule - description: >- - Deprecated; use `InspectionRuleSet` instead. Rule for modifying a - `CustomInfoType` to alter behavior under certain circumstances, - depending on the specific details of the rule. Not supported for the - `surrogate_type` custom infoType. - GooglePrivacyDlpV2TransformationOverview: properties: - transformedBytes: + nextPageToken: type: string - format: int64 - description: Total size in bytes that were transformed in some way. - transformationSummaries: + description: The next page token. + fileStoreDataProfiles: + description: List of data profiles. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationSummary' + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' type: array - description: Transformations applied to the dataset. - id: GooglePrivacyDlpV2TransformationOverview - type: object - description: Overview of the modifications that occurred. - GooglePrivacyDlpV2SecretManagerCredential: - type: object - description: >- - A credential consisting of a username and password, where the password - is stored in a Secret Manager resource. Note: Secret Manager [charges - apply](https://cloud.google.com/secret-manager/pricing). + GooglePrivacyDlpV2DatabaseResourceRegex: + id: GooglePrivacyDlpV2DatabaseResourceRegex properties: - passwordSecretVersionName: + projectIdRegex: + type: string + description: >- + For organizations, if unset, will match all projects. Has no effect + for configurations created within a project. + databaseRegex: + type: string + description: >- + Regex to test the database name against. If empty, all databases + match. + databaseResourceNameRegex: type: string description: >- - Required. The name of the Secret Manager resource that stores the - password, in the form - `projects/project-id/secrets/secret-name/versions/version`. - username: + Regex to test the database resource's name against. An example of a + database resource name is a table's name. Other database resource + names like view names could be included in the future. If empty, all + database resources match. + instanceRegex: type: string - description: Required. The username. - id: GooglePrivacyDlpV2SecretManagerCredential - GooglePrivacyDlpV2FileStoreInfoTypeSummary: + description: >- + Regex to test the instance name against. If empty, all instances + match. + description: >- + A pattern to match against one or more database resources. At least one + pattern must be specified. Regular expressions use RE2 + [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be + found under the google/re2 repository on GitHub. type: object - id: GooglePrivacyDlpV2FileStoreInfoTypeSummary - properties: - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: The InfoType seen. - description: Information regarding the discovered InfoType. - GooglePrivacyDlpV2DataProfileBigQueryRowSchema: + GooglePrivacyDlpV2PublishSummaryToCscc: + properties: {} type: object - id: GooglePrivacyDlpV2DataProfileBigQueryRowSchema description: >- - The schema of data to be saved to the BigQuery table when the - `DataProfileAction` is enabled. - properties: - columnProfile: - description: Column data profile column - $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' - fileStoreProfile: - description: File store data profile column. - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' - tableProfile: - $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' - description: Table data profile column - GooglePrivacyDlpV2FileClusterSummary: - id: GooglePrivacyDlpV2FileClusterSummary - type: object + Publish the result summary of a DlpJob to [Security Command + Center](https://cloud.google.com/security-command-center). This action + is available for only projects that belong to an organization. This + action publishes the count of finding instances and their infoTypes. The + summary of findings are persisted in Security Command Center and are + governed by [service-specific policies for Security Command + Center](https://cloud.google.com/terms/service-terms). Only a single + instance of this action can be specified. Compatible with: Inspect + id: GooglePrivacyDlpV2PublishSummaryToCscc + GooglePrivacyDlpV2CharacterMaskConfig: + description: >- + Partially mask a string by replacing a given number of characters with a + fixed character. Masking can start from the beginning or end of the + string. This can be used on data of any type (numbers, longs, and so on) + and when de-identifying structured data we'll attempt to preserve the + original data's type. (This allows you to take a long like 123 and + modify it to a string like **3. properties: - noFilesExist: + charactersToIgnore: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2CharsToIgnore' description: >- - True if no files exist in this cluster. If the bucket had more files - than could be listed, this will be false even if no files for this - cluster were seen and file_extensions_seen is empty. - type: boolean - fileExtensionsScanned: + When masking a string, items in this list will be skipped when + replacing characters. For example, if the input string is + `555-555-5555` and you instruct Cloud DLP to skip `-` and mask 5 + characters with `*`, Cloud DLP returns `***-**5-5555`. type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileExtensionInfo' + numberToMask: + format: int32 + type: integer description: >- - A sample of file types scanned in this cluster. Empty if no files - were scanned. File extensions can be derived from the file name or - the file content. - dataRiskLevel: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' + Number of characters to mask. If not set, all matching chars will be + masked. Skipped characters do not count towards this tally. If + `number_to_mask` is negative, this denotes inverse masking. Cloud + DLP masks all but a number of characters. For example, suppose you + have the following values: - `masking_character` is `*` - + `number_to_mask` is `-4` - `reverse_order` is `false` - + `CharsToIgnore` includes `-` - Input string is `1234-5678-9012-3456` + The resulting de-identified string is `****-****-****-3456`. Cloud + DLP masks all but the last four characters. If `reverse_order` is + `true`, all but the first four characters are masked as + `1234-****-****-****`. + reverseOrder: description: >- - The data risk level of this cluster. RISK_LOW if nothing has been - scanned. - fileExtensionsSeen: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileExtensionInfo' + Mask characters in reverse order. For example, if + `masking_character` is `0`, `number_to_mask` is `14`, and + `reverse_order` is `false`, then the input string + `1234-5678-9012-3456` is masked as `00000000000000-3456`. If + `masking_character` is `*`, `number_to_mask` is `3`, and + `reverse_order` is `true`, then the string `12345` is masked as + `12***`. + type: boolean + maskingCharacter: description: >- - A sample of file types seen in this cluster. Empty if no files were - seen. File extensions can be derived from the file name or the file - content. - fileStoreInfoTypeSummaries: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreInfoTypeSummary' - type: array - description: InfoTypes detected in this cluster. - errors: + Character to use to mask the sensitive values—for example, `*` for + an alphabetic string such as a name, or `0` for a numeric string + such as ZIP code or credit card number. This string must have a + length of 1. If not supplied, this value defaults to `*` for + strings, and `0` for digits. + type: string + type: object + id: GooglePrivacyDlpV2CharacterMaskConfig + GooglePrivacyDlpV2DeidentifyContentResponse: + id: GooglePrivacyDlpV2DeidentifyContentResponse + description: Results of de-identifying a ContentItem. + properties: + item: + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' + description: The de-identified item. + overview: + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationOverview' + description: An overview of the changes that were made on the `item`. + type: object + GooglePrivacyDlpV2ImageTransformation: + type: object + id: GooglePrivacyDlpV2ImageTransformation + properties: + allText: description: >- - A list of errors detected while scanning this cluster. The list is - truncated to 10 per cluster. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Error' - fileClusterType: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileClusterType' - description: The file cluster type. - sensitivityScore: - $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + Apply transformation to all text that doesn't match an infoType. + Only one instance is allowed within the ImageTransformations + message. + $ref: '#/components/schemas/GooglePrivacyDlpV2AllText' + selectedInfoTypes: + description: Apply transformation to the selected info_types. + $ref: '#/components/schemas/GooglePrivacyDlpV2SelectedInfoTypes' + redactionColor: + $ref: '#/components/schemas/GooglePrivacyDlpV2Color' description: >- - The sensitivity score of this cluster. The score will be - SENSITIVITY_LOW if nothing has been scanned. - description: The file cluster summary. - GooglePrivacyDlpV2TransformationLocation: + The color to use when redacting content from an image. If not + specified, the default is black. + allInfoTypes: + description: >- + Apply transformation to all findings not specified in other + ImageTransformation's selected_info_types. Only one instance is + allowed within the ImageTransformations message. + $ref: '#/components/schemas/GooglePrivacyDlpV2AllInfoTypes' + description: Configuration for determining how redaction of images should occur. + GooglePrivacyDlpV2InfoTypeCategory: + id: GooglePrivacyDlpV2InfoTypeCategory + type: object properties: - containerType: + locationCategory: + type: string + enumDescriptions: + - Unused location + - >- + The infoType is not issued by or tied to a specific region, but is + used almost everywhere. + - The infoType is typically used in Argentina. + - The infoType is typically used in Armenia. + - The infoType is typically used in Australia. + - The infoType is typically used in Azerbaijan. + - The infoType is typically used in Belarus. + - The infoType is typically used in Belgium. + - The infoType is typically used in Brazil. + - The infoType is typically used in Canada. + - The infoType is typically used in Chile. + - The infoType is typically used in China. + - The infoType is typically used in Colombia. + - The infoType is typically used in Croatia. + - The infoType is typically used in Denmark. + - The infoType is typically used in France. + - The infoType is typically used in Finland. + - The infoType is typically used in Germany. + - The infoType is typically used in Hong Kong. + - The infoType is typically used in India. + - The infoType is typically used in Indonesia. + - The infoType is typically used in Ireland. + - The infoType is typically used in Israel. + - The infoType is typically used in Italy. + - The infoType is typically used in Japan. + - The infoType is typically used in Kazakhstan. + - The infoType is typically used in Korea. + - The infoType is typically used in Mexico. + - The infoType is typically used in the Netherlands. + - The infoType is typically used in New Zealand. + - The infoType is typically used in Norway. + - The infoType is typically used in Paraguay. + - The infoType is typically used in Peru. + - The infoType is typically used in Poland. + - The infoType is typically used in Portugal. + - The infoType is typically used in Russia. + - The infoType is typically used in Singapore. + - The infoType is typically used in South Africa. + - The infoType is typically used in Spain. + - The infoType is typically used in Sweden. + - The infoType is typically used in Switzerland. + - The infoType is typically used in Taiwan. + - The infoType is typically used in Thailand. + - The infoType is typically used in Turkey. + - The infoType is typically used in Ukraine. + - The infoType is typically used in the United Kingdom. + - The infoType is typically used in the United States. + - The infoType is typically used in Uruguay. + - The infoType is typically used in Uzbekistan. + - The infoType is typically used in Venezuela. + - The infoType is typically used in Google internally. + enum: + - LOCATION_UNSPECIFIED + - GLOBAL + - ARGENTINA + - ARMENIA + - AUSTRALIA + - AZERBAIJAN + - BELARUS + - BELGIUM + - BRAZIL + - CANADA + - CHILE + - CHINA + - COLOMBIA + - CROATIA + - DENMARK + - FRANCE + - FINLAND + - GERMANY + - HONG_KONG + - INDIA + - INDONESIA + - IRELAND + - ISRAEL + - ITALY + - JAPAN + - KAZAKHSTAN + - KOREA + - MEXICO + - THE_NETHERLANDS + - NEW_ZEALAND + - NORWAY + - PARAGUAY + - PERU + - POLAND + - PORTUGAL + - RUSSIA + - SINGAPORE + - SOUTH_AFRICA + - SPAIN + - SWEDEN + - SWITZERLAND + - TAIWAN + - THAILAND + - TURKEY + - UKRAINE + - UNITED_KINGDOM + - UNITED_STATES + - URUGUAY + - UZBEKISTAN + - VENEZUELA + - INTERNAL description: >- - Information about the functionality of the container where this - finding occurred, if available. - enumDescriptions: - - Unused. - - Body of a file. - - Metadata for a file. - - A table. + The region or country that issued the ID or document represented by + the infoType. + industryCategory: type: string + enumDescriptions: + - Unused industry + - The infoType is typically used in the finance industry. + - The infoType is typically used in the health industry. + - The infoType is typically used in the telecommunications industry. enum: - - TRANSFORM_UNKNOWN_CONTAINER - - TRANSFORM_BODY - - TRANSFORM_METADATA - - TRANSFORM_TABLE - findingId: + - INDUSTRY_UNSPECIFIED + - FINANCE + - HEALTH + - TELECOMMUNICATIONS description: >- - For infotype transformations, link to the corresponding findings ID - so that location information does not need to be duplicated. Each - findings ID correlates to an entry in the findings output table, - this table only gets created when users specify to save findings - (add the save findings action to the request). + The group of relevant businesses where this infoType is commonly + used + typeCategory: + description: The class of identifiers where this infoType belongs + enum: + - TYPE_UNSPECIFIED + - PII + - SPII + - DEMOGRAPHIC + - CREDENTIAL + - GOVERNMENT_ID + - DOCUMENT + - CONTEXTUAL_INFORMATION type: string - recordTransformation: - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordTransformation' - description: >- - For record transformations, provide a field and container - information. - description: Specifies the location of a transformation. + enumDescriptions: + - Unused type + - >- + Personally identifiable information, for example, a name or phone + number + - >- + Personally identifiable information that is especially sensitive, + for example, a passport number. + - >- + Attributes that can partially identify someone, especially in + combination with other attributes, like age, height, and gender. + - Confidential or secret information, for example, a password. + - An identification document issued by a government. + - A document, for example, a resume or source code. + - >- + Information that is not sensitive on its own, but provides details + about the circumstances surrounding an entity or an event. + description: >- + Classification of infoTypes to organize them according to geographic + location, industry, and data type. + GooglePrivacyDlpV2AllOtherBigQueryTables: type: object - id: GooglePrivacyDlpV2TransformationLocation - GooglePrivacyDlpV2Key: - id: GooglePrivacyDlpV2Key + properties: {} description: >- - A unique identifier for a Datastore entity. If a key's partition ID or - any of its path kinds or names are reserved/read-only, the key is - reserved/read-only. A reserved/read-only key is forbidden in certain - documented contexts. + Catch-all for all other tables not specified by other filters. Should + always be last, except for single-table configurations, which will only + have a TableReference target. + id: GooglePrivacyDlpV2AllOtherBigQueryTables + GooglePrivacyDlpV2ExclusionRule: + id: GooglePrivacyDlpV2ExclusionRule properties: - path: - description: >- - The entity path. An entity path consists of one or more elements - composed of a kind and a string or numerical identifier, which - identify entities. The first element identifies a _root entity_, the - second element identifies a _child_ of the root entity, the third - element identifies a child of the second entity, and so forth. The - entities identified by all prefixes of the path are called the - element's _ancestors_. A path can never be empty, and a path can - have at most 100 elements. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2PathElement' - partitionId: - $ref: '#/components/schemas/GooglePrivacyDlpV2PartitionId' + excludeInfoTypes: + description: Set of infoTypes for which findings would affect this rule. + $ref: '#/components/schemas/GooglePrivacyDlpV2ExcludeInfoTypes' + regex: + $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' + description: Regular expression which defines the rule. + matchingType: + description: How the rule is applied, see MatchingType documentation for details. + enum: + - MATCHING_TYPE_UNSPECIFIED + - MATCHING_TYPE_FULL_MATCH + - MATCHING_TYPE_PARTIAL_MATCH + - MATCHING_TYPE_INVERSE_MATCH + type: string + enumDescriptions: + - Invalid. + - >- + Full match. - Dictionary: join of Dictionary results matched + complete finding quote - Regex: all regex matches fill a finding + quote start to end - Exclude info type: completely inside + affecting info types findings + - >- + Partial match. - Dictionary: at least one of the tokens in the + finding matches - Regex: substring of the finding matches - + Exclude info type: intersects with affecting info types findings + - >- + Inverse match. - Dictionary: no tokens in the finding match the + dictionary - Regex: finding doesn't match the regex - Exclude info + type: no intersection with affecting info types findings + excludeByHotword: + $ref: '#/components/schemas/GooglePrivacyDlpV2ExcludeByHotword' description: >- - Entities are partitioned into subsets, currently identified by a - project ID and namespace ID. Queries are scoped to a single - partition. + Drop if the hotword rule is contained in the proximate context. For + tabular data, the context includes the column name. + dictionary: + description: Dictionary which defines the rule. + $ref: '#/components/schemas/GooglePrivacyDlpV2Dictionary' + description: >- + The rule that specifies conditions when findings of infoTypes specified + in `InspectionRuleSet` are removed from results. type: object - GooglePrivacyDlpV2DiscoveryConfig: + GooglePrivacyDlpV2DlpJob: + description: Combines all of the information about a DLP job. + id: GooglePrivacyDlpV2DlpJob type: object - id: GooglePrivacyDlpV2DiscoveryConfig properties: - displayName: - description: Display name (max 100 chars) - type: string - name: + jobTriggerName: type: string description: >- - Unique resource name for the DiscoveryConfig, assigned by the - service when the DiscoveryConfig is created, for example - `projects/dlp-test-project/locations/global/discoveryConfigs/53234423`. - status: - description: Required. A status for this configuration. - enum: - - STATUS_UNSPECIFIED - - RUNNING - - PAUSED + If created by a job trigger, the resource name of the trigger that + instantiated the job. + createTime: + format: google-datetime + description: Time when the job was created. + type: string + type: + description: The type of job. enumDescriptions: - - Unused - - The discovery config is currently active. - - The discovery config is paused temporarily. + - Defaults to INSPECT_JOB. + - The job inspected Google Cloud for sensitive data. + - The job executed a Risk Analysis computation. type: string - actions: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfileAction' - type: array - description: Actions to execute at the completion of scanning. - createTime: + enum: + - DLP_JOB_TYPE_UNSPECIFIED + - INSPECT_JOB + - RISK_ANALYSIS_JOB + state: type: string - readOnly: true - format: google-datetime - description: Output only. The creation timestamp of a DiscoveryConfig. - targets: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryTarget' - description: >- - Target to match against for determining what to scan and how - frequently. - orgConfig: - description: Only set when the parent is an org. - $ref: '#/components/schemas/GooglePrivacyDlpV2OrgConfig' - lastRunTime: - readOnly: true - description: >- - Output only. The timestamp of the last time this config was - executed. + enum: + - JOB_STATE_UNSPECIFIED + - PENDING + - RUNNING + - DONE + - CANCELED + - FAILED + - ACTIVE + description: State of a job. + enumDescriptions: + - Unused. + - The job has not yet started. + - >- + The job is currently running. Once a job has finished it will + transition to FAILED or DONE. + - The job is no longer running. + - The job was canceled before it could be completed. + - The job had an error and did not complete. + - >- + The job is currently accepting findings via hybridInspect. A + hybrid job in ACTIVE state may continue to have findings added to + it through the calling of hybridInspect. After the job has + finished no more calls to hybridInspect may be made. ACTIVE jobs + can transition to DONE. + lastModified: type: string + description: Time when the job was last modified by the system. format: google-datetime - inspectTemplates: - type: array - description: >- - Detection logic for profile generation. Not all template features - are used by Discovery. FindingLimits, include_quote and - exclude_info_types have no impact on Discovery. Multiple templates - may be provided if there is data in multiple regions. At most one - template must be specified per-region (including "global"). Each - region is scanned using the applicable template. If no - region-specific template is specified, but a "global" template is - specified, it will be copied to that region and used instead. If no - global or region-specific template is provided for a region with - data, that region's data will not be scanned. For more information, - see - https://cloud.google.com/sensitive-data-protection/docs/data-profiles#data-residency. - items: - type: string + startTime: + format: google-datetime + description: Time when the job started. + type: string + name: + type: string + description: The server-assigned name. + endTime: + format: google-datetime + type: string + description: Time when the job finished. + riskDetails: + $ref: '#/components/schemas/GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails' + description: Results from analyzing risk of a data source. + inspectDetails: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectDataSourceDetails' + description: Results from inspecting a data source. errors: - description: >- - Output only. A stream of errors encountered when the config was - activated. Repeated errors may result in the config automatically - being paused. Output only field. Will return the last 100 errors. - Whenever the config is modified this list will be cleared. type: array items: $ref: '#/components/schemas/GooglePrivacyDlpV2Error' - readOnly: true - updateTime: - format: google-datetime - readOnly: true - description: Output only. The last update timestamp of a DiscoveryConfig. + description: A stream of errors encountered running the job. + actionDetails: + description: Events that should occur after the job has completed. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2ActionDetails' + type: array + GooglePrivacyDlpV2DiscoveryStartingLocation: + type: object + properties: + organizationId: + format: int64 + type: string + description: The ID of an organization to scan. + folderId: + format: int64 type: string + description: The ID of the folder within an organization to be scanned. + id: GooglePrivacyDlpV2DiscoveryStartingLocation description: >- - Configuration for discovery to scan resources for profile generation. - Only one discovery configuration may exist per organization, folder, or - project. The generated data profiles are retained according to the [data - retention policy] - (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention). - GooglePrivacyDlpV2DataRiskLevel: + The location to begin a discovery scan. Denotes an organization ID or + folder ID within an organization. + GooglePrivacyDlpV2StorageConfig: + description: Shared message indicating Cloud storage type. + id: GooglePrivacyDlpV2StorageConfig + properties: + hybridOptions: + description: Hybrid inspection options. + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridOptions' + cloudStorageOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageOptions' + description: Cloud Storage options. + timespanConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2TimespanConfig' + description: Configuration of the timespan of the items to include in scanning. + datastoreOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2DatastoreOptions' + description: Google Cloud Datastore options. + bigQueryOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryOptions' + description: BigQuery options. type: object - description: >- - Score is a summary of all elements in the data profile. A higher number - means more risk. + GooglePrivacyDlpV2CreateDeidentifyTemplateRequest: properties: - score: + deidentifyTemplate: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + description: Required. The DeidentifyTemplate to create. + locationId: + type: string + description: Deprecated. This field has no effect. + templateId: + description: >- + The template id can contain uppercase and lowercase letters, + numbers, and hyphens; that is, it must match the regular expression: + `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty + to allow the system to generate one. + type: string + description: Request message for CreateDeidentifyTemplate. + type: object + id: GooglePrivacyDlpV2CreateDeidentifyTemplateRequest + GooglePrivacyDlpV2ColumnDataProfile: + properties: + freeTextScore: + type: number + description: >- + The likelihood that this column contains free-form text. A value + close to 1 may indicate the column is likely to contain free-form or + natural language text. Range in 0-1. + format: double + estimatedNullPercentage: + description: Approximate percentage of entries being null in the column. + type: string + enum: + - NULL_PERCENTAGE_LEVEL_UNSPECIFIED + - NULL_PERCENTAGE_VERY_LOW + - NULL_PERCENTAGE_LOW + - NULL_PERCENTAGE_MEDIUM + - NULL_PERCENTAGE_HIGH + enumDescriptions: + - Unused. + - Very few null entries. + - Some null entries. + - A few null entries. + - A lot of null entries. + tableFullResource: + description: The resource name of the resource this column is within. + type: string + state: + description: State of a profile. + enum: + - STATE_UNSPECIFIED + - RUNNING + - DONE type: string enumDescriptions: - Unused. - >- - Low risk - Lower indication of sensitive data that appears to have - additional access restrictions in place or no indication of - sensitive data found. - - Unable to determine risk. + The profile is currently running. Once a profile has finished it + will transition to DONE. - >- - Medium risk - Sensitive data may be present but additional access - or fine grain access restrictions appear to be present. Consider - limiting access even further or transform data to mask. + The profile is no longer generating. If profile_status.status.code + is 0, the profile succeeded, otherwise, it failed. + profileLastGenerated: + format: google-datetime + type: string + description: The last time the profile was generated. + estimatedUniquenessScore: + enumDescriptions: - >- - High risk – SPII may be present. Access controls may include - public ACLs. Exfiltration of data may lead to user data loss. - Re-identification of users may be possible. Consider limiting - usage and or removing SPII. + Some columns do not have estimated uniqueness. Possible reasons + include having too few values. + - >- + Low uniqueness, possibly a boolean, enum or similiarly typed + column. + - Medium uniqueness. + - >- + High uniqueness, possibly a column of free text or unique + identifiers. + description: Approximate uniqueness of the column. + type: string enum: - - RISK_SCORE_UNSPECIFIED - - RISK_LOW - - RISK_UNKNOWN - - RISK_MODERATE - - RISK_HIGH - description: The score applied to the resource. - id: GooglePrivacyDlpV2DataRiskLevel - GoogleProtobufEmpty: - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - properties: {} - id: GoogleProtobufEmpty - type: object - GooglePrivacyDlpV2DeidentifyTemplate: - id: GooglePrivacyDlpV2DeidentifyTemplate - description: >- - DeidentifyTemplates contains instructions on how to de-identify content. - See - https://cloud.google.com/sensitive-data-protection/docs/concepts-templates - to learn more. - properties: - deidentifyConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyConfig' - description: The core content of the template. - displayName: - description: Display name (max 256 chars). + - UNIQUENESS_SCORE_LEVEL_UNSPECIFIED + - UNIQUENESS_SCORE_LOW + - UNIQUENESS_SCORE_MEDIUM + - UNIQUENESS_SCORE_HIGH + datasetLocation: + description: >- + If supported, the location where the dataset's data is stored. See + https://cloud.google.com/bigquery/docs/locations for supported + BigQuery locations. type: string - description: + columnType: + enum: + - COLUMN_DATA_TYPE_UNSPECIFIED + - TYPE_INT64 + - TYPE_BOOL + - TYPE_FLOAT64 + - TYPE_STRING + - TYPE_BYTES + - TYPE_TIMESTAMP + - TYPE_DATE + - TYPE_TIME + - TYPE_DATETIME + - TYPE_GEOGRAPHY + - TYPE_NUMERIC + - TYPE_RECORD + - TYPE_BIGNUMERIC + - TYPE_JSON + - TYPE_INTERVAL + - TYPE_RANGE_DATE + - TYPE_RANGE_DATETIME + - TYPE_RANGE_TIMESTAMP + description: The data type of a given column. + enumDescriptions: + - Invalid type. + - Encoded as a string in decimal format. + - Encoded as a boolean "false" or "true". + - Encoded as a number, or string "NaN", "Infinity" or "-Infinity". + - Encoded as a string value. + - Encoded as a base64 string per RFC 4648, section 4. + - >- + Encoded as an RFC 3339 timestamp with mandatory "Z" time zone + string: 1985-04-12T23:20:50.52Z + - 'Encoded as RFC 3339 full-date format string: 1985-04-12' + - 'Encoded as RFC 3339 partial-time format string: 23:20:50.52' + - >- + Encoded as RFC 3339 full-date "T" partial-time: + 1985-04-12T23:20:50.52 + - Encoded as WKT + - Encoded as a decimal string. + - Container of ordered fields, each with a type and field name. + - Decimal type. + - Json type. + - Interval type. + - '`Range` type.' + - '`Range` type.' + - '`Range` type.' type: string - description: Short description (max 256 chars). - createTime: + columnInfoType: + description: >- + If it's been determined this column can be identified as a single + type, this will be set. Otherwise the column either has + unidentifiable content or mixed types. + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeSummary' + datasetProjectId: + description: The Google Cloud project ID that owns the profiled resource. type: string - format: google-datetime - readOnly: true - description: Output only. The creation timestamp of an inspectTemplate. - updateTime: - description: Output only. The last update timestamp of an inspectTemplate. + column: + description: The name of the column. type: string - readOnly: true - format: google-datetime - name: + datasetId: type: string - readOnly: true description: >- - Output only. The template name. The template will have one of the - following formats: - `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR - `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID` - type: object - GooglePrivacyDlpV2TagCondition: - type: object - properties: + The BigQuery dataset ID, if the resource profiled is a BigQuery + table. + otherMatches: + description: Other types found within this column. List will be unordered. + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2OtherInfoTypeSummary' + tableDataProfile: + type: string + description: The resource name of the table data profile. sensitivityScore: $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' - description: >- - Conditions attaching the tag to a resource on its profile having - this sensitivity score. - tag: - $ref: '#/components/schemas/GooglePrivacyDlpV2TagValue' - description: The tag value to attach to resources. - id: GooglePrivacyDlpV2TagCondition - description: >- - The tag to attach to profiles matching the condition. At most one - `TagCondition` can be specified per sensitivity level. - GooglePrivacyDlpV2BucketingConfig: - description: >- - Generalization function that buckets values based on ranges. The ranges - and replacement values are dynamically provided by the user for custom - behavior, such as 1-30 -> LOW, 31-65 -> MEDIUM, 66-100 -> HIGH. This can - be used on data of type: number, long, string, timestamp. If the bound - `Value` type differs from the type of data being transformed, we will - first attempt converting the type of the data to be transformed to match - the type of the bound before comparing. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-bucketing - to learn more. - id: GooglePrivacyDlpV2BucketingConfig - type: object - properties: - buckets: - description: Set of buckets. Ranges must be non-overlapping. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Bucket' - type: array - GooglePrivacyDlpV2DeidentifyContentResponse: - id: GooglePrivacyDlpV2DeidentifyContentResponse - description: Results of de-identifying a ContentItem. - properties: - item: - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' - description: The de-identified item. - overview: - description: An overview of the changes that were made on the `item`. - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationOverview' - type: object - GooglePrivacyDlpV2CreateDlpJobRequest: - id: GooglePrivacyDlpV2CreateDlpJobRequest - type: object - description: >- - Request message for CreateDlpJobRequest. Used to initiate long running - jobs such as calculating risk metrics or inspecting Google Cloud - Storage. - properties: - jobId: + description: The sensitivity of this column. + tableId: type: string + description: The table ID. + profileStatus: + $ref: '#/components/schemas/GooglePrivacyDlpV2ProfileStatus' description: >- - The job id can contain uppercase and lowercase letters, numbers, and - hyphens; that is, it must match the regular expression: - `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty - to allow the system to generate one. - inspectJob: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectJobConfig' - description: An inspection job scans a storage repository for InfoTypes. - locationId: - description: Deprecated. This field has no effect. + Success or error status from the most recent profile generation + attempt. May be empty if the profile is still being generated. + policyState: + description: Indicates if a policy tag has been applied to the column. + enum: + - COLUMN_POLICY_STATE_UNSPECIFIED + - COLUMN_POLICY_TAGGED + enumDescriptions: + - No policy tags. + - Column has policy tag applied. type: string - riskJob: - description: >- - A risk analysis job calculates re-identification risk metrics for a - BigQuery table. - $ref: '#/components/schemas/GooglePrivacyDlpV2RiskAnalysisJobConfig' - GooglePrivacyDlpV2FileStoreRegexes: - id: GooglePrivacyDlpV2FileStoreRegexes - properties: - patterns: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreRegex' - description: >- - Required. The group of regular expression patterns to match against - one or more file stores. Maximum of 100 entries. The sum of all - regular expression's length can't exceed 10 KiB. - description: >- - A collection of regular expressions to determine what file store to - match against. - type: object - GooglePrivacyDlpV2DeltaPresenceEstimationResult: - type: object - id: GooglePrivacyDlpV2DeltaPresenceEstimationResult - description: >- - Result of the δ-presence computation. Note that these results are an - estimation, not exact values. - properties: - deltaPresenceEstimationHistogram: - description: >- - The intervals [min_probability, max_probability) do not overlap. If - a value doesn't correspond to any such interval, the associated - frequency is zero. For example, the following records: - {min_probability: 0, max_probability: 0.1, frequency: 17} - {min_probability: 0.2, max_probability: 0.3, frequency: 42} - {min_probability: 0.3, max_probability: 0.4, frequency: 99} mean - that there are no record with an estimated probability in [0.1, 0.2) - nor larger or equal to 0.4. - type: array - items: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket - GooglePrivacyDlpV2DiscoveryCloudSqlFilter: - id: GooglePrivacyDlpV2DiscoveryCloudSqlFilter + name: + description: The name of the profile. + type: string + dataRiskLevel: + description: The data risk level for this column. + $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' + description: The profile for a scanned column within a table. + id: GooglePrivacyDlpV2ColumnDataProfile type: object - properties: - databaseResourceReference: - description: >- - The database resource to scan. Targets including this can only - include one target (the target with this database resource - reference). - $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceReference' - collection: - description: A specific set of database resources for this filter to apply to. - $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceCollection' - others: - description: >- - Catch-all. This should always be the last target in the list because - anything above it will apply first. Should only appear once in a - configuration. If none is specified, a default one will be added - automatically. - $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherDatabaseResources' - description: >- - Determines what tables will have profiles generated within an - organization or project. Includes the ability to filter by regular - expression patterns on project ID, location, instance, database, and - database resource name. - GooglePrivacyDlpV2TableLocation: - id: GooglePrivacyDlpV2TableLocation + GooglePrivacyDlpV2AwsAccount: + description: AWS account. type: object - description: Location of a finding within a table. + id: GooglePrivacyDlpV2AwsAccount properties: - rowIndex: - description: >- - The zero-based index of the row where the finding is located. Only - populated for resources that have a natural ordering, not BigQuery. - In BigQuery, to identify the row a finding came from, populate - BigQueryOptions.identifying_fields with your primary key column - names and when you store the findings the value of those columns - will be stored inside of Finding. + accountId: + description: Required. AWS account ID. type: string - format: int64 - GooglePrivacyDlpV2BigQueryTableTypes: + GooglePrivacyDlpV2FileExtensionInfo: type: object + id: GooglePrivacyDlpV2FileExtensionInfo properties: - types: - items: - enum: - - BIG_QUERY_TABLE_TYPE_UNSPECIFIED - - BIG_QUERY_TABLE_TYPE_TABLE - - BIG_QUERY_TABLE_TYPE_EXTERNAL_BIG_LAKE - enumDescriptions: - - Unused. - - A normal BigQuery table. - - A table that references data stored in Cloud Storage. - type: string - description: A set of BigQuery table types. - type: array - description: The types of BigQuery tables supported by Cloud DLP. - id: GooglePrivacyDlpV2BigQueryTableTypes - GooglePrivacyDlpV2BigQueryOptions: - id: GooglePrivacyDlpV2BigQueryOptions - description: Options defining BigQuery table and row identifiers. + fileExtension: + type: string + description: The file extension if set. (aka .pdf, .jpg, .txt) + description: Information regarding the discovered file extension. + GooglePrivacyDlpV2KMapEstimationConfig: + description: >- + Reidentifiability metric. This corresponds to a risk model similar to + what is called "journalist risk" in the literature, except the attack + dataset is statistically modeled instead of being perfectly known. This + can be done using publicly available data (like the US Census), or using + a custom statistical model (indicated as one or several BigQuery + tables), or by extrapolating from the distribution of values in the + input dataset. type: object + id: GooglePrivacyDlpV2KMapEstimationConfig properties: - rowsLimit: - format: int64 - description: >- - Max number of rows to scan. If the table has more rows than this - value, the rest of the rows are omitted. If not set, or if set to 0, - all rows will be scanned. Only one of rows_limit and - rows_limit_percent can be specified. Cannot be used in conjunction - with TimespanConfig. - type: string - includedFields: - type: array - description: >- - Limit scanning only to these fields. When inspecting a table, we - recommend that you inspect all columns. Otherwise, findings might be - affected because hints from excluded columns will not be used. + quasiIds: items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - sampleMethod: - enum: - - SAMPLE_METHOD_UNSPECIFIED - - TOP - - RANDOM_START - enumDescriptions: - - No sampling. - - >- - Scan groups of rows in the order BigQuery provides (default). - Multiple groups of rows may be scanned in parallel, so results may - not appear in the same order the rows are read. - - Randomly pick groups of rows to scan. - type: string - description: How to sample the data. - identifyingFields: + $ref: '#/components/schemas/GooglePrivacyDlpV2TaggedField' description: >- - Table fields that may uniquely identify a row within the table. When - `actions.saveFindings.outputConfig.table` is specified, the values - of columns specified here are available in the output table under - `location.content_locations.record_location.record_key.id_values`. - Nested fields such as `person.birthdate.year` are allowed. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + Required. Fields considered to be quasi-identifiers. No two columns + can have the same tag. type: array - excludedFields: + regionCode: description: >- - References to fields excluded from scanning. This allows you to skip - inspection of entire columns which you know have no findings. When - inspecting a table, we recommend that you inspect all columns. - Otherwise, findings might be affected because hints from excluded - columns will not be used. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + ISO 3166-1 alpha-2 region code to use in the statistical modeling. + Set if no column is tagged with a region-specific InfoType (like + US_ZIP_5) or a region code. + type: string + auxiliaryTables: type: array - tableReference: - description: Complete BigQuery table reference. - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - rowsLimitPercent: - description: >- - Max percentage of rows to scan. The rest are omitted. The number of - rows scanned is rounded down. Must be between 0 and 100, - inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one - of rows_limit and rows_limit_percent can be specified. Cannot be - used in conjunction with TimespanConfig. Caution: A [known - issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#bq-sampling) - is causing the `rowsLimitPercent` field to behave unexpectedly. We - recommend using `rowsLimit` instead. - format: int32 - type: integer - GoogleTypeDate: - type: object - id: GoogleTypeDate - properties: - day: - format: int32 - type: integer - description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. - year: - format: int32 - type: integer - description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - month: - format: int32 description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - type: integer - description: >- - 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 - GooglePrivacyDlpV2AllOtherDatabaseResources: - type: object - id: GooglePrivacyDlpV2AllOtherDatabaseResources - description: Match database resources not covered by any other filter. - properties: {} - GooglePrivacyDlpV2BigQueryTableCollection: + Several auxiliary tables can be used in the analysis. Each + custom_tag used to tag a quasi-identifiers column must appear in + exactly one column of one auxiliary table. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2AuxiliaryTable' + GooglePrivacyDlpV2ProfileStatus: + id: GooglePrivacyDlpV2ProfileStatus properties: - includeRegexes: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryRegexes' + status: + $ref: '#/components/schemas/GoogleRpcStatus' description: >- - A collection of regular expressions to match a BigQuery table - against. + Profiling status code and optional message. The `status.code` value + is 0 (default value) for OK. + timestamp: + type: string + description: Time when the profile generation status was updated + format: google-datetime type: object - id: GooglePrivacyDlpV2BigQueryTableCollection - description: Specifies a collection of BigQuery tables. Used for Discovery. - GooglePrivacyDlpV2PubSubExpressions: + description: Success or errors for the profile generation. + GooglePrivacyDlpV2TagResources: type: object + id: GooglePrivacyDlpV2TagResources properties: - conditions: + profileGenerationsToTag: + description: >- + The profile generations for which the tag should be attached to + resources. If you attach a tag to only new profiles, then if the + sensitivity score of a profile subsequently changes, its tag doesn't + change. By default, this field includes only new profiles. To + include both new and updated profiles for tagging, this field should + explicitly include both `PROFILE_GENERATION_NEW` and + `PROFILE_GENERATION_UPDATE`. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2PubSubCondition' - description: Conditions to apply to the expression. + enumDescriptions: + - Unused. + - The profile is the first profile for the resource. + - The profile is an update to a previous profile. + type: string + enum: + - PROFILE_GENERATION_UNSPECIFIED + - PROFILE_GENERATION_NEW + - PROFILE_GENERATION_UPDATE type: array - logicalOperator: - enum: - - LOGICAL_OPERATOR_UNSPECIFIED - - OR - - AND - description: The operator to apply to the collection of conditions. + lowerDataRiskToLow: + description: >- + Whether applying a tag to a resource should lower the risk of the + profile for that resource. For example, in conjunction with an [IAM + deny policy](https://cloud.google.com/iam/docs/deny-overview), you + can deny all principals a permission if a tag value is present, + mitigating the risk of the resource. This also lowers the data risk + of resources at the lower levels of the resource hierarchy. For + example, reducing the data risk of a table data profile also reduces + the data risk of the constituent column data profiles. + type: boolean + tagConditions: + description: The tags to associate with different conditions. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2TagCondition' + type: array + description: >- + If set, attaches the [tags] + (https://cloud.google.com/resource-manager/docs/tags/tags-overview) + provided to profiled resources. Tags support [access + control](https://cloud.google.com/iam/docs/tags-access-control). You can + conditionally grant or deny access to a resource based on whether the + resource has a specific tag. + GooglePrivacyDlpV2DeidentifyDataSourceStats: + properties: + transformationErrorCount: + description: Number of errors encountered while trying to apply transformations. + type: string + format: int64 + transformationCount: + format: int64 + description: Number of successfully applied transformations. + type: string + transformedBytes: + description: Total size in bytes that were transformed in some way. + format: int64 type: string - enumDescriptions: - - Unused. - - Conditional OR. - - Conditional AND. - id: GooglePrivacyDlpV2PubSubExpressions - description: An expression, consisting of an operator and conditions. - GooglePrivacyDlpV2PublishToChronicle: - properties: {} type: object - description: Message expressing intention to publish to Google Security Operations. - id: GooglePrivacyDlpV2PublishToChronicle - GooglePrivacyDlpV2Export: + id: GooglePrivacyDlpV2DeidentifyDataSourceStats + description: Summary of what was modified during a transformation. + GooglePrivacyDlpV2Result: description: >- - If set, the detailed data profiles will be persisted to the location of - your choice whenever updated. + All result fields mentioned below are updated while the job is + processing. + id: GooglePrivacyDlpV2Result type: object properties: - profileTable: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + hybridStats: + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridInspectStatistics' + description: Statistics related to the processing of hybrid inspect. + totalEstimatedBytes: + description: Estimate of the number of bytes to process. + type: string + format: int64 + numRowsProcessed: description: >- - Store all table and column profiles in an existing table or a new - table in an existing dataset. Each re-generation will result in new - rows in BigQuery. Data is inserted using [streaming - insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) - and so data may be in the buffer for a period of time after the - profile has finished. The Pub/Sub notification is sent before the - streaming buffer is guaranteed to be written, so data may not be - instantly visible to queries by the time your topic receives the - Pub/Sub notification. - id: GooglePrivacyDlpV2Export - GooglePrivacyDlpV2CryptoHashConfig: - description: >- - Pseudonymization method that generates surrogates via cryptographic - hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. - Outputs a base64 encoded representation of the hashed output (for - example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only - string and integer values can be hashed. See - https://cloud.google.com/sensitive-data-protection/docs/pseudonymization - to learn more. - properties: - cryptoKey: - description: The key used by the hash function. - $ref: '#/components/schemas/GooglePrivacyDlpV2CryptoKey' - id: GooglePrivacyDlpV2CryptoHashConfig - type: object - GooglePrivacyDlpV2Error: - description: >- - Details information about an error encountered during job execution or - the results of an unsuccessful activation of the JobTrigger. + Number of rows scanned after sampling and time filtering (applicable + for row based stores such as BigQuery). + format: int64 + type: string + processedBytes: + description: Total size in bytes that were processed. + format: int64 + type: string + infoTypeStats: + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeStats' + description: >- + Statistics of how many instances of each info type were found during + inspect job. + GooglePrivacyDlpV2HybridInspectStatistics: + id: GooglePrivacyDlpV2HybridInspectStatistics + description: Statistics related to processing hybrid inspect requests. + type: object properties: - details: - $ref: '#/components/schemas/GoogleRpcStatus' - description: Detailed error codes and messages. - timestamps: - type: array - items: - type: string - format: google-datetime + processedCount: + format: int64 + type: string + description: The number of hybrid inspection requests processed within this job. + pendingCount: description: >- - The times the error occurred. List includes the oldest timestamp and - the last 9 timestamps. - extraInfo: - enumDescriptions: - - Unused. - - Image scan is not available in the region. - - File store cluster is not supported for profile generation. - description: Additional information about the error. + The number of hybrid requests currently being processed. Only + populated when called via method `getDlpJob`. A burst of traffic may + cause hybrid inspect requests to be enqueued. Processing will take + place as quickly as possible, but resource limitations may impact + how long a request is enqueued for. + format: int64 type: string - enum: - - ERROR_INFO_UNSPECIFIED - - IMAGE_SCAN_UNAVAILABLE_IN_REGION - - FILE_STORE_CLUSTER_UNSUPPORTED - id: GooglePrivacyDlpV2Error - type: object - GooglePrivacyDlpV2TableOptions: - id: GooglePrivacyDlpV2TableOptions - description: Instructions regarding the table content being inspected. + abortedCount: + format: int64 + type: string + description: >- + The number of hybrid inspection requests aborted because the job ran + out of quota or was ended before they could be processed. + GooglePrivacyDlpV2CloudStorageDiscoveryTarget: type: object + id: GooglePrivacyDlpV2CloudStorageDiscoveryTarget + description: Target used to match against for discovery with Cloud Storage buckets. properties: - identifyingFields: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + disabled: + $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' + description: Optional. Disable profiling for buckets that match this filter. + generationCadence: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryCloudStorageGenerationCadence description: >- - The columns that are the primary keys for table objects included in - ContentItem. A copy of this cell's value will stored alongside - alongside each finding so that the finding can be traced to the - specific row it came from. No more than 3 may be provided. - type: array - GooglePrivacyDlpV2CancelDlpJobRequest: - properties: {} - id: GooglePrivacyDlpV2CancelDlpJobRequest + Optional. How often and when to update profiles. New buckets that + match both the filter and conditions are scanned as quickly as + possible depending on system capacity. + conditions: + description: >- + Optional. In addition to matching the filter, these conditions must + be true before a profile is generated. + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryFileStoreConditions' + filter: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryCloudStorageFilter' + description: >- + Required. The buckets the generation_cadence applies to. The first + target with a matching filter will be the one to apply to a bucket. + GooglePrivacyDlpV2Key: + id: GooglePrivacyDlpV2Key type: object - description: The request message for canceling a DLP job. - GooglePrivacyDlpV2FileStoreRegex: properties: - cloudStorageRegex: - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageRegex' - description: Optional. Regex for Cloud Storage. - id: GooglePrivacyDlpV2FileStoreRegex - type: object - description: A pattern to match against one or more file stores. - GooglePrivacyDlpV2InfoTypeStats: + partitionId: + $ref: '#/components/schemas/GooglePrivacyDlpV2PartitionId' + description: >- + Entities are partitioned into subsets, currently identified by a + project ID and namespace ID. Queries are scoped to a single + partition. + path: + description: >- + The entity path. An entity path consists of one or more elements + composed of a kind and a string or numerical identifier, which + identify entities. The first element identifies a _root entity_, the + second element identifies a _child_ of the root entity, the third + element identifies a child of the second entity, and so forth. The + entities identified by all prefixes of the path are called the + element's _ancestors_. A path can never be empty, and a path can + have at most 100 elements. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2PathElement' + type: array + description: >- + A unique identifier for a Datastore entity. If a key's partition ID or + any of its path kinds or names are reserved/read-only, the key is + reserved/read-only. A reserved/read-only key is forbidden in certain + documented contexts. + GooglePrivacyDlpV2AllOtherDatabaseResources: type: object - description: Statistics regarding a specific InfoType. + properties: {} + description: Match database resources not covered by any other filter. + id: GooglePrivacyDlpV2AllOtherDatabaseResources + GooglePrivacyDlpV2FileSet: properties: - count: + regexFileSet: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageRegexFileSet' + description: >- + The regex-filtered set of files to scan. Exactly one of `url` or + `regex_file_set` must be set. + url: + description: >- + The Cloud Storage url of the file(s) to scan, in the format + `gs:///`. Trailing wildcard in the path is allowed. If the url ends + in a trailing slash, the bucket or directory represented by the url + will be scanned non-recursively (content in sub-directories will not + be scanned). This means that `gs://mybucket/` is equivalent to + `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to + `gs://mybucket/directory/*`. Exactly one of `url` or + `regex_file_set` must be set. type: string - description: Number of findings for this infoType. - format: int64 - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: The type of finding this stat is for. - id: GooglePrivacyDlpV2InfoTypeStats - GooglePrivacyDlpV2CreateJobTriggerRequest: + description: Set of files to scan. + type: object + id: GooglePrivacyDlpV2FileSet + GooglePrivacyDlpV2HybridOptions: + id: GooglePrivacyDlpV2HybridOptions type: object - id: GooglePrivacyDlpV2CreateJobTriggerRequest - description: Request message for CreateJobTrigger. properties: - triggerId: - type: string + description: description: >- - The trigger id can contain uppercase and lowercase letters, numbers, - and hyphens; that is, it must match the regular expression: - `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty - to allow the system to generate one. - locationId: + A short description of where the data is coming from. Will be stored + once in the job. 256 max length. type: string - description: Deprecated. This field has no effect. - jobTrigger: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' - description: Required. The JobTrigger to create. - GooglePrivacyDlpV2HybridInspectResponse: - type: object - id: GooglePrivacyDlpV2HybridInspectResponse - description: Quota exceeded errors will be thrown once quota has been met. - properties: {} - GooglePrivacyDlpV2ByteContentItem: - id: GooglePrivacyDlpV2ByteContentItem - description: Container for bytes to inspect or redact. + labels: + description: >- + To organize findings, these labels will be added to each finding. + 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 10 labels can be associated with a given finding. + Examples: * `"environment" : "production"` * `"pipeline" : "etl"` + additionalProperties: + type: string + type: object + tableOptions: + $ref: '#/components/schemas/GooglePrivacyDlpV2TableOptions' + description: >- + If the container is a table, additional information to make findings + meaningful such as the columns that are primary keys. + requiredFindingLabelKeys: + items: + type: string + type: array + description: >- + These are labels that each inspection request must include within + their 'finding_labels' map. Request may contain others, but any + missing one of these will be rejected. 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])?`. No more than 10 keys can + be required. + description: >- + Configuration to control jobs where the content being inspected is + outside of Google Cloud Platform. + GooglePrivacyDlpV2DeidentifyTemplate: properties: - data: + description: type: string - description: Content data to inspect or redact. - format: byte - type: - enumDescriptions: - - Unused - - Any image type. - - jpeg - - bmp - - png - - svg - - plain text - - docx, docm, dotx, dotm - - pdf - - pptx, pptm, potx, potm, pot - - xlsx, xlsm, xltx, xltm - - avro - - csv - - tsv - - Audio file types. Only used for profiling. - - Video file types. Only used for profiling. - - Executable file types. Only used for profiling. + description: Short description (max 256 chars). + deidentifyConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyConfig' + description: The core content of the template. + updateTime: type: string - enum: - - BYTES_TYPE_UNSPECIFIED - - IMAGE - - IMAGE_JPEG - - IMAGE_BMP - - IMAGE_PNG - - IMAGE_SVG - - TEXT_UTF8 - - WORD_DOCUMENT - - PDF - - POWERPOINT_DOCUMENT - - EXCEL_DOCUMENT - - AVRO - - CSV - - TSV - - AUDIO - - VIDEO - - EXECUTABLE + readOnly: true + format: google-datetime + description: Output only. The last update timestamp of an inspectTemplate. + createTime: + type: string + readOnly: true + description: Output only. The creation timestamp of an inspectTemplate. + format: google-datetime + displayName: + description: Display name (max 256 chars). + type: string + name: + type: string + readOnly: true description: >- - The type of data stored in the bytes string. Default will be - TEXT_UTF8. - type: object - GooglePrivacyDlpV2FileClusterType: - description: Message used to identify file cluster type being profiled. + Output only. The template name. The template will have one of the + following formats: + `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR + `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID` + description: >- + DeidentifyTemplates contains instructions on how to de-identify content. + See + https://cloud.google.com/sensitive-data-protection/docs/concepts-templates + to learn more. type: object - properties: - cluster: - enum: - - CLUSTER_UNSPECIFIED - - CLUSTER_UNKNOWN - - CLUSTER_TEXT - - CLUSTER_STRUCTURED_DATA - - CLUSTER_SOURCE_CODE - - CLUSTER_RICH_DOCUMENT - - CLUSTER_IMAGE - - CLUSTER_ARCHIVE - - CLUSTER_MULTIMEDIA - - CLUSTER_EXECUTABLE - description: Cluster type. - type: string - enumDescriptions: - - Unused. - - Unsupported files. - - Plain text. - - Structured data like CSV, TSV etc. - - Source code. - - Rich document like docx, xlsx etc. - - Images like jpeg, bmp. - - Archives and containers like .zip, .tar etc. - - Multimedia like .mp4, .avi etc. - - Executable files like .exe, .class, .apk etc. - id: GooglePrivacyDlpV2FileClusterType - GooglePrivacyDlpV2DiscoveryBigQueryConditions: + id: GooglePrivacyDlpV2DeidentifyTemplate + GooglePrivacyDlpV2HybridInspectResponse: + description: Quota exceeded errors will be thrown once quota has been met. + id: GooglePrivacyDlpV2HybridInspectResponse type: object - id: GooglePrivacyDlpV2DiscoveryBigQueryConditions + properties: {} + GooglePrivacyDlpV2DeltaPresenceEstimationConfig: description: >- - Requirements that must be true before a table is scanned in discovery - for the first time. There is an AND relationship between the top-level - attributes. Additionally, minimum conditions with an OR relationship - that must be met before Cloud DLP scans a table can be set (like a - minimum row count or a minimum table age). + δ-presence metric, used to estimate how likely it is for an attacker to + figure out that one given individual appears in a de-identified dataset. + Similarly to the k-map metric, we cannot compute δ-presence exactly + without knowing the attack dataset, so we use a statistical model + instead. + type: object properties: - types: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTableTypes' - description: Restrict discovery to specific table types. - orConditions: + auxiliaryTables: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2StatisticalTable' + type: array description: >- - At least one of the conditions must be true for a table to be - scanned. - $ref: '#/components/schemas/GooglePrivacyDlpV2OrConditions' - typeCollection: - description: Restrict discovery to categories of table types. - enum: - - BIG_QUERY_COLLECTION_UNSPECIFIED - - BIG_QUERY_COLLECTION_ALL_TYPES - - BIG_QUERY_COLLECTION_ONLY_SUPPORTED_TYPES - enumDescriptions: - - Unused. - - >- - Automatically generate profiles for all tables, even if the table - type is not yet fully supported for analysis. Profiles for - unsupported tables will be generated with errors to indicate their - partial support. When full support is added, the tables will - automatically be profiled during the next scheduled run. - - >- - Only those types fully supported will be profiled. Will expand - automatically as Cloud DLP adds support for new table types. - Unsupported table types will not have partial profiles generated. + Several auxiliary tables can be used in the analysis. Each + custom_tag used to tag a quasi-identifiers field must appear in + exactly one field of one auxiliary table. + quasiIds: + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2QuasiId' + description: >- + Required. Fields considered to be quasi-identifiers. No two fields + can have the same tag. + regionCode: type: string - createdAfter: description: >- - BigQuery table must have been created after this date. Used to avoid - backfilling. + ISO 3166-1 alpha-2 region code to use in the statistical modeling. + Set if no column is tagged with a region-specific InfoType (like + US_ZIP_5) or a region code. + id: GooglePrivacyDlpV2DeltaPresenceEstimationConfig + GooglePrivacyDlpV2FieldId: + type: object + description: General identifier of a data field in a storage service. + properties: + name: + description: Name describing the field. type: string - format: google-datetime - GooglePrivacyDlpV2PubSubNotification: + id: GooglePrivacyDlpV2FieldId + GooglePrivacyDlpV2Connection: properties: - topic: + errors: + readOnly: true description: >- - Cloud Pub/Sub topic to send notifications to. Format is - projects/{project}/topics/{topic}. - type: string - pubsubCondition: + Output only. Set if status == ERROR, to provide additional details. + Will store the last 10 errors sorted with the most recent first. + type: array + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Error' + cloudSql: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudSqlProperties' + description: Connect to a Cloud SQL instance. + name: + readOnly: true description: >- - Conditions (e.g., data risk or sensitivity level) for triggering a - Pub/Sub. - $ref: '#/components/schemas/GooglePrivacyDlpV2DataProfilePubSubCondition' - detailOfMessage: - enum: - - DETAIL_LEVEL_UNSPECIFIED - - TABLE_PROFILE - - RESOURCE_NAME - - FILE_STORE_PROFILE - enumDescriptions: - - Unused. - - The full table data profile. - - The name of the profiled resource. - - The full file store data profile. + Output only. Name of the connection: + `projects/{project}/locations/{location}/connections/{name}`. type: string - description: >- - How much data to include in the Pub/Sub message. If the user wishes - to limit the size of the message, they can use resource_name and - fetch the profile fields they wish to. Per table profile (not per - column). - event: - description: >- - The type of event that triggers a Pub/Sub. At most one - `PubSubNotification` per EventType is permitted. - enum: - - EVENT_TYPE_UNSPECIFIED - - NEW_PROFILE - - CHANGED_PROFILE - - SCORE_INCREASED - - ERROR_CHANGED + state: + description: Required. The connection's state in its lifecycle. enumDescriptions: - - Unused. - - New profile (not a re-profile). + - Unused - >- - One of the following profile metrics changed: Data risk score, - Sensitivity score, Resource visibility, Encryption type, Predicted - infoTypes, Other infoTypes - - Table data risk score or sensitivity score increased. - - A user (non-internal) error occurred. + The DLP API automatically created this connection during an + initial scan, and it is awaiting full configuration by a user. + - A configured connection that has not encountered any errors. + - >- + A configured connection that encountered errors during its last + use. It will not be used again until it is set to AVAILABLE. If + the resolution requires external action, then the client must send + a request to set the status to AVAILABLE when the connection is + ready for use. If the resolution doesn't require external action, + then any changes to the connection properties will automatically + mark it as AVAILABLE. + enum: + - CONNECTION_STATE_UNSPECIFIED + - MISSING_CREDENTIALS + - AVAILABLE + - ERROR type: string - id: GooglePrivacyDlpV2PubSubNotification + id: GooglePrivacyDlpV2Connection type: object description: >- - Send a Pub/Sub message into the given Pub/Sub topic to connect other - systems to data profile generation. The message payload data will be the - byte serialization of `DataProfilePubSubMessage`. - GooglePrivacyDlpV2TimePartConfig: + A data connection to allow the DLP API to profile data in locations that + require additional configuration. + GooglePrivacyDlpV2BigQueryField: type: object + description: Message defining a field of a BigQuery table. properties: - partToExtract: - enum: - - TIME_PART_UNSPECIFIED - - YEAR - - MONTH - - DAY_OF_MONTH - - DAY_OF_WEEK - - WEEK_OF_YEAR - - HOUR_OF_DAY - type: string - enumDescriptions: - - Unused - - '[0-9999]' - - '[1-12]' - - '[1-31]' - - '[1-7]' - - '[1-53]' - - '[0-23]' - description: The part of the time to keep. - id: GooglePrivacyDlpV2TimePartConfig - description: >- - For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a - portion of the value. - GooglePrivacyDlpV2ProfileStatus: - description: Success or errors for the profile generation. - id: GooglePrivacyDlpV2ProfileStatus + field: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: Designated field in the BigQuery table. + table: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: Source table of the field. + id: GooglePrivacyDlpV2BigQueryField + GooglePrivacyDlpV2CharsToIgnore: properties: - status: - $ref: '#/components/schemas/GoogleRpcStatus' + commonCharactersToIgnore: description: >- - Profiling status code and optional message. The `status.code` value - is 0 (default value) for OK. - timestamp: - format: google-datetime - description: Time when the profile generation status was updated + Common characters to not transform when masking. Useful to avoid + removing punctuation. + enumDescriptions: + - Unused. + - 0-9 + - A-Z + - a-z + - US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ + - Whitespace character, one of [ \t\n\x0B\f\r] + enum: + - COMMON_CHARS_TO_IGNORE_UNSPECIFIED + - NUMERIC + - ALPHA_UPPER_CASE + - ALPHA_LOWER_CASE + - PUNCTUATION + - WHITESPACE type: string - type: object - GooglePrivacyDlpV2TagResources: + charactersToSkip: + description: Characters to not transform when masking. + type: string + id: GooglePrivacyDlpV2CharsToIgnore description: >- - If set, attaches the [tags] - (https://cloud.google.com/resource-manager/docs/tags/tags-overview) - provided to profiled resources. Tags support [access - control](https://cloud.google.com/iam/docs/tags-access-control). You can - conditionally grant or deny access to a resource based on whether the - resource has a specific tag. - id: GooglePrivacyDlpV2TagResources + Characters to skip when doing deidentification of a value. These will be + left alone and skipped. + type: object + GooglePrivacyDlpV2NumericalStatsResult: properties: - lowerDataRiskToLow: - type: boolean - description: >- - Whether applying a tag to a resource should lower the risk of the - profile for that resource. For example, in conjunction with an [IAM - deny policy](https://cloud.google.com/iam/docs/deny-overview), you - can deny all principals a permission if a tag value is present, - mitigating the risk of the resource. This also lowers the data risk - of resources at the lower levels of the resource hierarchy. For - example, reducing the data risk of a table data profile also reduces - the data risk of the constituent column data profiles. - tagConditions: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2TagCondition' - description: The tags to associate with different conditions. - profileGenerationsToTag: + minValue: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + description: Minimum value appearing in the column. + quantileValues: items: - type: string - enumDescriptions: - - Unused. - - The profile is the first profile for the resource. - - The profile is an update to a previous profile. - enum: - - PROFILE_GENERATION_UNSPECIFIED - - PROFILE_GENERATION_NEW - - PROFILE_GENERATION_UPDATE - description: >- - The profile generations for which the tag should be attached to - resources. If you attach a tag to only new profiles, then if the - sensitivity score of a profile subsequently changes, its tag doesn't - change. By default, this field includes only new profiles. To - include both new and updated profiles for tagging, this field should - explicitly include both `PROFILE_GENERATION_NEW` and - `PROFILE_GENERATION_UPDATE`. + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' type: array + description: >- + List of 99 values that partition the set of field values into 100 + equal sized buckets. + maxValue: + description: Maximum value appearing in the column. + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + type: object + id: GooglePrivacyDlpV2NumericalStatsResult + description: Result of the numerical stats computation. + GooglePrivacyDlpV2OtherCloudDiscoveryTarget: + id: GooglePrivacyDlpV2OtherCloudDiscoveryTarget + description: >- + Target used to match against for discovery of resources from other + clouds. An [AWS connector in Security Command Center + (Enterprise](https://cloud.google.com/security-command-center/docs/connect-scc-to-aws) + is required to use this feature. type: object - GooglePrivacyDlpV2SearchConnectionsResponse: properties: - nextPageToken: + generationCadence: description: >- - Token to retrieve the next page of results. An empty value means - there are no more results. + How often and when to update data profiles. New resources that match + both the filter and conditions are scanned as quickly as possible + depending on system capacity. + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DiscoveryOtherCloudGenerationCadence + filter: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryOtherCloudFilter' + description: >- + Required. The resources that the discovery cadence applies to. The + first target with a matching filter will be the one to apply to a + resource. + dataSourceType: + $ref: '#/components/schemas/GooglePrivacyDlpV2DataSourceType' + description: >- + Required. The type of data profiles generated by this discovery + target. Supported values are: * aws/s3/bucket + conditions: + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryOtherCloudConditions' + description: >- + Optional. In addition to matching the filter, these conditions must + be true before a profile is generated. + disabled: + $ref: '#/components/schemas/GooglePrivacyDlpV2Disabled' + description: Disable profiling for resources that match this filter. + GooglePrivacyDlpV2CreateStoredInfoTypeRequest: + id: GooglePrivacyDlpV2CreateStoredInfoTypeRequest + description: Request message for CreateStoredInfoType. + properties: + locationId: + type: string + description: Deprecated. This field has no effect. + config: + description: Required. Configuration of the storedInfoType to create. + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeConfig' + storedInfoTypeId: type: string - connections: description: >- - List of connections that match the search query. Note that only a - subset of the fields will be populated, and only "name" is - guaranteed to be set. For full details of a Connection, call - GetConnection with the name. + The storedInfoType ID can contain uppercase and lowercase letters, + numbers, and hyphens; that is, it must match the regular expression: + `[a-zA-Z\d-_]+`. The maximum length is 100 characters. Can be empty + to allow the system to generate one. + type: object + GooglePrivacyDlpV2WordList: + properties: + words: type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' - description: Response message for SearchConnections. - id: GooglePrivacyDlpV2SearchConnectionsResponse + type: string + description: >- + Words or phrases defining the dictionary. The dictionary must + contain at least one phrase and every phrase must contain at least 2 + characters that are letters or digits. [required] type: object - GooglePrivacyDlpV2Schedule: - id: GooglePrivacyDlpV2Schedule + id: GooglePrivacyDlpV2WordList + description: Message defining a list of words or phrases to search for in the data. + GooglePrivacyDlpV2TagValue: + description: A value of a tag. + id: GooglePrivacyDlpV2TagValue properties: - recurrencePeriodDuration: - description: >- - With this option a job is started on a regular periodic basis. For - example: every day (86400 seconds). A scheduled start time will be - skipped if the previous execution has not ended when its scheduled - time occurs. This value must be set to a time duration greater than - or equal to 1 day and can be no longer than 60 days. - format: google-duration + namespacedValue: type: string + description: >- + The namespaced name for the tag value to attach to resources. Must + be in the format `{parent_id}/{tag_key_short_name}/{short_name}`, + for example, "123456/environment/prod". type: object - description: Schedule for inspect job triggers. - GooglePrivacyDlpV2PublishSummaryToCscc: - type: object - id: GooglePrivacyDlpV2PublishSummaryToCscc - description: >- - Publish the result summary of a DlpJob to [Security Command - Center](https://cloud.google.com/security-command-center). This action - is available for only projects that belong to an organization. This - action publishes the count of finding instances and their infoTypes. The - summary of findings are persisted in Security Command Center and are - governed by [service-specific policies for Security Command - Center](https://cloud.google.com/terms/service-terms). Only a single - instance of this action can be specified. Compatible with: Inspect - properties: {} - GooglePrivacyDlpV2KMapEstimationHistogramBucket: - description: >- - A KMapEstimationHistogramBucket message with the following values: - min_anonymity: 3 max_anonymity: 5 frequency: 42 means that there are 42 - records whose quasi-identifier values correspond to 3, 4 or 5 people in - the overlying population. An important particular case is when - min_anonymity = max_anonymity = 1: the frequency field then corresponds - to the number of uniquely identifiable records. - id: GooglePrivacyDlpV2KMapEstimationHistogramBucket - type: object + GooglePrivacyDlpV2DatabaseResourceReference: + id: GooglePrivacyDlpV2DatabaseResourceReference properties: - bucketValues: - type: array - description: >- - Sample of quasi-identifier tuple values in this bucket. The total - number of classes returned per bucket is capped at 20. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2KMapEstimationQuasiIdValues' - bucketValueCount: - format: int64 - description: >- - Total number of distinct quasi-identifier tuple values in this - bucket. + projectId: type: string - minAnonymity: - description: Always positive. - format: int64 + description: >- + Required. If within a project-level config, then this must match the + config's project ID. + databaseResource: type: string - bucketSize: - format: int64 + description: >- + Required. Name of a database resource, for example, a table within + the database. + database: type: string - description: Number of records within these anonymity bounds. - maxAnonymity: - format: int64 + description: Required. Name of a database within the instance. + instance: + description: >- + Required. The instance where this resource is located. For example: + Cloud SQL instance ID. type: string - description: Always greater than or equal to min_anonymity. - GooglePrivacyDlpV2FileSet: + description: Identifies a single database resource, like a table within a database. type: object + GooglePrivacyDlpV2QuasiIdentifierField: + description: >- + A quasi-identifier column has a custom_tag, used to know which column in + the data corresponds to which column in the statistical model. + id: GooglePrivacyDlpV2QuasiIdentifierField properties: - regexFileSet: - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStorageRegexFileSet' + field: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: Identifies the column. + customTag: description: >- - The regex-filtered set of files to scan. Exactly one of `url` or - `regex_file_set` must be set. - url: + A column can be tagged with a custom tag. In this case, the user + must indicate an auxiliary table that contains statistical + information on the possible values of this column (below). type: string - description: >- - The Cloud Storage url of the file(s) to scan, in the format - `gs:///`. Trailing wildcard in the path is allowed. If the url ends - in a trailing slash, the bucket or directory represented by the url - will be scanned non-recursively (content in sub-directories will not - be scanned). This means that `gs://mybucket/` is equivalent to - `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to - `gs://mybucket/directory/*`. Exactly one of `url` or - `regex_file_set` must be set. - description: Set of files to scan. - id: GooglePrivacyDlpV2FileSet - GooglePrivacyDlpV2RequestedDeidentifyOptions: - description: De-identification options. type: object - properties: - snapshotDeidentifyTemplate: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - description: >- - Snapshot of the state of the `DeidentifyTemplate` from the - Deidentify action at the time this job was run. - snapshotStructuredDeidentifyTemplate: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - description: >- - Snapshot of the state of the structured `DeidentifyTemplate` from - the `Deidentify` action at the time this job was run. - snapshotImageRedactTemplate: - description: >- - Snapshot of the state of the image transformation - `DeidentifyTemplate` from the `Deidentify` action at the time this - job was run. - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - id: GooglePrivacyDlpV2RequestedDeidentifyOptions - GooglePrivacyDlpV2ThrowError: - description: Throw an error and fail the request when a transformation error occurs. + GooglePrivacyDlpV2Export: + id: GooglePrivacyDlpV2Export type: object - properties: {} - id: GooglePrivacyDlpV2ThrowError - GooglePrivacyDlpV2HybridInspectJobTriggerRequest: - id: GooglePrivacyDlpV2HybridInspectJobTriggerRequest - description: Request to search for potentially sensitive info in a custom location. + description: >- + If set, the detailed data profiles will be persisted to the location of + your choice whenever updated. properties: - hybridItem: - description: The item to inspect. - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridContentItem' + profileTable: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: >- + Store all table and column profiles in an existing table or a new + table in an existing dataset. Each re-generation will result in new + rows in BigQuery. Data is inserted using [streaming + insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) + and so data may be in the buffer for a period of time after the + profile has finished. The Pub/Sub notification is sent before the + streaming buffer is guaranteed to be written, so data may not be + instantly visible to queries by the time your topic receives the + Pub/Sub notification. + GooglePrivacyDlpV2PartitionId: + id: GooglePrivacyDlpV2PartitionId type: object - GooglePrivacyDlpV2TransformationDescription: - id: GooglePrivacyDlpV2TransformationDescription + description: >- + Datastore partition ID. A partition ID identifies a grouping of + entities. The grouping is always by project and namespace, however the + namespace ID may be empty. A partition ID contains several dimensions: + project ID and namespace ID. properties: - condition: + projectId: type: string - description: >- - A human-readable string representation of the `RecordCondition` - corresponding to this transformation. Set if a `RecordCondition` was - used to determine whether or not to apply this transformation. - Examples: * (age_field > 85) * (age_field <= 18) * (zip_field - exists) * (zip_field == 01234) && (city_field != "Springville") * - (zip_field == 01234) && (age_field <= 18) && (city_field exists) - infoType: - description: Set if the transformation was limited to a specific `InfoType`. - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: + description: The ID of the project to which the entities belong. + namespaceId: type: string + description: If not empty, the ID of the namespace to which the entities belong. + GooglePrivacyDlpV2CloudStoragePath: + type: object + properties: + path: description: >- - A description of the transformation. This is empty for a - RECORD_SUPPRESSION, or is the output of calling toString() on the - `PrimitiveTransformation` protocol buffer message for any other type - of transformation. - type: - enumDescriptions: - - Unused - - Record suppression - - Replace value - - Replace value using a dictionary. - - Redact - - Character mask - - FFX-FPE - - Fixed size bucketing - - Bucketing - - Replace with info type - - Time part - - Crypto hash - - Date shift - - Deterministic crypto - - Redact image + A URL representing a file or path (no wildcards) in Cloud Storage. + Example: `gs://[BUCKET_NAME]/dictionary.txt` type: string - enum: - - TRANSFORMATION_TYPE_UNSPECIFIED - - RECORD_SUPPRESSION - - REPLACE_VALUE - - REPLACE_DICTIONARY - - REDACT - - CHARACTER_MASK - - CRYPTO_REPLACE_FFX_FPE - - FIXED_SIZE_BUCKETING - - BUCKETING - - REPLACE_WITH_INFO_TYPE - - TIME_PART - - CRYPTO_HASH - - DATE_SHIFT - - CRYPTO_DETERMINISTIC_CONFIG - - REDACT_IMAGE - description: The transformation type. - type: object - description: >- - A flattened description of a `PrimitiveTransformation` or - `RecordSuppression`. - GooglePrivacyDlpV2DiscoveryTableModifiedCadence: + id: GooglePrivacyDlpV2CloudStoragePath + description: Message representing a single file or path in Cloud Storage. + GooglePrivacyDlpV2DocumentLocation: + description: Location of a finding within a document. properties: - frequency: - enum: - - UPDATE_FREQUENCY_UNSPECIFIED - - UPDATE_FREQUENCY_NEVER - - UPDATE_FREQUENCY_DAILY - - UPDATE_FREQUENCY_MONTHLY - enumDescriptions: - - Unspecified. - - After the data profile is created, it will never be updated. - - The data profile can be updated up to once every 24 hours. - - The data profile can be updated up to once every 30 days. Default. + fileOffset: + format: int64 type: string description: >- - How frequently data profiles can be updated when tables are - modified. Defaults to never. + Offset of the line, from the beginning of the file, where the + finding is located. + type: object + id: GooglePrivacyDlpV2DocumentLocation + GooglePrivacyDlpV2BigQueryTableTypes: + type: object + properties: types: + type: array + description: A set of BigQuery table types. items: + type: string + enum: + - BIG_QUERY_TABLE_TYPE_UNSPECIFIED + - BIG_QUERY_TABLE_TYPE_TABLE + - BIG_QUERY_TABLE_TYPE_EXTERNAL_BIG_LAKE + - BIG_QUERY_TABLE_TYPE_SNAPSHOT enumDescriptions: - Unused. - - >- - A table will be considered modified when the last_modified_time - from BigQuery has been updated. - enum: - - TABLE_MODIFICATION_UNSPECIFIED - - TABLE_MODIFIED_TIMESTAMP - type: string - type: array - description: >- - The type of events to consider when deciding if the table has been - modified and should have the profile updated. Defaults to - MODIFIED_TIMESTAMP. + - A normal BigQuery table. + - A table that references data stored in Cloud Storage. + - A snapshot of a BigQuery table. + description: The types of BigQuery tables supported by Cloud DLP. + id: GooglePrivacyDlpV2BigQueryTableTypes + GooglePrivacyDlpV2RedactImageResponse: + description: Results of redacting an image. + id: GooglePrivacyDlpV2RedactImageResponse type: object - description: The cadence at which to update data profiles when a table is modified. - id: GooglePrivacyDlpV2DiscoveryTableModifiedCadence - GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest: properties: - deidentifyTemplate: - description: New DeidentifyTemplate value. - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - updateMask: + extractedText: + description: >- + If an image was being inspected and the InspectConfig's + include_quote was set to true, then this field will include all + text, if any, that was found in the image. type: string - format: google-fieldmask - description: Mask to control which fields get updated. - type: object - id: GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest - description: Request message for UpdateDeidentifyTemplate. - GooglePrivacyDlpV2FinishDlpJobRequest: - properties: {} - id: GooglePrivacyDlpV2FinishDlpJobRequest - type: object - description: The request message for finishing a DLP hybrid job. - GooglePrivacyDlpV2TaggedField: - id: GooglePrivacyDlpV2TaggedField + redactedImage: + description: The redacted image. The type will be the same as the original image. + type: string + format: byte + inspectResult: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectResult' + description: >- + The findings. Populated when include_findings in the request is + true. + GooglePrivacyDlpV2DiscoveryOtherCloudFilter: + description: >- + Determines which resources from the other cloud will have profiles + generated. Includes the ability to filter by resource names. type: object properties: - inferred: - $ref: '#/components/schemas/GoogleProtobufEmpty' + others: + $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherResources' description: >- - If no semantic tag is indicated, we infer the statistical model from - the distribution of values in the input data - field: - description: Required. Identifies the column. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - customTag: + Optional. Catch-all. This should always be the last target in the + list because anything above it will apply first. Should only appear + once in a configuration. If none is specified, a default one will be + added automatically. + collection: + $ref: '#/components/schemas/GooglePrivacyDlpV2OtherCloudResourceCollection' + description: A collection of resources for this filter to apply to. + singleResource: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2OtherCloudSingleResourceReference description: >- - A column can be tagged with a custom tag. In this case, the user - must indicate an auxiliary table that contains statistical - information on the possible values of this column (below). + The resource to scan. Configs using this filter can only have one + target (the target with this single resource reference). + id: GooglePrivacyDlpV2DiscoveryOtherCloudFilter + GooglePrivacyDlpV2KMapEstimationQuasiIdValues: + description: A tuple of values for the quasi-identifier columns. + type: object + properties: + quasiIdsValues: + type: array + description: The quasi-identifier values. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Value' + estimatedAnonymity: type: string - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: The estimated anonymity for these quasi-identifier values. + format: int64 + id: GooglePrivacyDlpV2KMapEstimationQuasiIdValues + GooglePrivacyDlpV2UpdateStoredInfoTypeRequest: + id: GooglePrivacyDlpV2UpdateStoredInfoTypeRequest + properties: + updateMask: + format: google-fieldmask + type: string + description: Mask to control which fields get updated. + config: description: >- - A column can be tagged with a InfoType to use the relevant public - dataset as a statistical model of population, if available. We - currently support US ZIP codes, region codes, ages and genders. To - programmatically obtain the list of supported InfoTypes, use - ListInfoTypes with the supported_by=RISK_ANALYSIS filter. - description: A column with a semantic tag attached. - GooglePrivacyDlpV2CloudSqlIamCredential: - description: >- - Use IAM authentication to connect. This requires the Cloud SQL IAM - feature to be enabled on the instance, which is not the default for - Cloud SQL. See https://cloud.google.com/sql/docs/postgres/authentication - and https://cloud.google.com/sql/docs/mysql/authentication. - properties: {} - id: GooglePrivacyDlpV2CloudSqlIamCredential + Updated configuration for the storedInfoType. If not provided, a new + version of the storedInfoType will be created with the existing + configuration. + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeConfig' + description: Request message for UpdateStoredInfoType. type: object - GooglePrivacyDlpV2Location: + GooglePrivacyDlpV2FileClusterSummary: + id: GooglePrivacyDlpV2FileClusterSummary type: object - id: GooglePrivacyDlpV2Location - description: Specifies the location of the finding. + description: The file cluster summary. properties: - contentLocations: + fileExtensionsSeen: description: >- - List of nested objects pointing to the precise location of the - finding within the file or record. + A sample of file types seen in this cluster. Empty if no files were + seen. File extensions can be derived from the file name or the file + content. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentLocation' + $ref: '#/components/schemas/GooglePrivacyDlpV2FileExtensionInfo' type: array - byteRange: - $ref: '#/components/schemas/GooglePrivacyDlpV2Range' - description: >- - Zero-based byte offsets delimiting the finding. These are relative - to the finding's containing element. Note that when the content is - not textual, this references the UTF-8 encoded textual - representation of the content. Omitted if content is an image. - codepointRange: + sensitivityScore: description: >- - Unicode character offsets delimiting the finding. These are relative - to the finding's containing element. Provided when the content is - text. - $ref: '#/components/schemas/GooglePrivacyDlpV2Range' - container: - $ref: '#/components/schemas/GooglePrivacyDlpV2Container' + The sensitivity score of this cluster. The score will be + SENSITIVITY_LOW if nothing has been scanned. + $ref: '#/components/schemas/GooglePrivacyDlpV2SensitivityScore' + fileClusterType: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileClusterType' + description: The file cluster type. + noFilesExist: + type: boolean description: >- - Information about the container where this finding occurred, if - available. - GooglePrivacyDlpV2DeidentifyDataSourceDetails: - id: GooglePrivacyDlpV2DeidentifyDataSourceDetails - properties: - deidentifyStats: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyDataSourceStats' - description: Stats about the de-identification operation. - requestedOptions: - $ref: '#/components/schemas/GooglePrivacyDlpV2RequestedDeidentifyOptions' - description: De-identification config used for the request. - type: object - description: The results of a Deidentify action from an inspect job. - GooglePrivacyDlpV2DeidentifyConfig: - description: The configuration that controls how the data will change. - id: GooglePrivacyDlpV2DeidentifyConfig - properties: - transformationErrorHandling: + True if no files exist in this cluster. If the bucket had more files + than could be listed, this will be false even if no files for this + cluster were seen and file_extensions_seen is empty. + dataRiskLevel: description: >- - Mode for handling transformation errors. If left unspecified, the - default mode is `TransformationErrorHandling.ThrowError`. - $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationErrorHandling' - recordTransformations: - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordTransformations' + The data risk level of this cluster. RISK_LOW if nothing has been + scanned. + $ref: '#/components/schemas/GooglePrivacyDlpV2DataRiskLevel' + fileStoreInfoTypeSummaries: + description: InfoTypes detected in this cluster. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreInfoTypeSummary' + type: array + fileExtensionsScanned: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FileExtensionInfo' + type: array description: >- - Treat the dataset as structured. Transformations can be applied to - specific locations within structured datasets, such as transforming - a column within a table. - imageTransformations: - $ref: '#/components/schemas/GooglePrivacyDlpV2ImageTransformations' - description: Treat the dataset as an image and redact. - infoTypeTransformations: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeTransformations' + A sample of file types scanned in this cluster. Empty if no files + were scanned. File extensions can be derived from the file name or + the file content. + errors: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2Error' description: >- - Treat the dataset as free-form text and apply the same free text - transformation everywhere. - type: object - GooglePrivacyDlpV2KMapEstimationQuasiIdValues: + A list of errors detected while scanning this cluster. The list is + truncated to 10 per cluster. + type: array + GooglePrivacyDlpV2StoredInfoTypeVersion: type: object - id: GooglePrivacyDlpV2KMapEstimationQuasiIdValues properties: - estimatedAnonymity: - description: The estimated anonymity for these quasi-identifier values. + state: + description: >- + Stored info type version state. Read-only, updated by the system + during dictionary creation. + enum: + - STORED_INFO_TYPE_STATE_UNSPECIFIED + - PENDING + - READY + - FAILED + - INVALID type: string - format: int64 - quasiIdsValues: + enumDescriptions: + - Unused + - StoredInfoType version is being created. + - StoredInfoType version is ready for use. + - >- + StoredInfoType creation failed. All relevant error messages are + returned in the `StoredInfoTypeVersion` message. + - >- + StoredInfoType is no longer valid because artifacts stored in + user-controlled storage were modified. To fix an invalid + StoredInfoType, use the `UpdateStoredInfoType` method to create a + new version. + errors: type: array - description: The quasi-identifier values. + description: >- + Errors that occurred when creating this storedInfoType version, or + anomalies detected in the storedInfoType data that render it + unusable. Only the five most recent errors will be displayed, with + the most recent error appearing first. For example, some of the data + for stored custom dictionaries is put in the user's Cloud Storage + bucket, and if this data is modified or deleted by the user or + another system, the dictionary becomes invalid. If any errors occur, + fix the problem indicated by the error message and use the + UpdateStoredInfoType API method to create another version of the + storedInfoType to continue using it, reusing the same `config` if it + was not the source of the error. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - description: A tuple of values for the quasi-identifier columns. - GooglePrivacyDlpV2InfoTypeTransformations: - id: GooglePrivacyDlpV2InfoTypeTransformations + $ref: '#/components/schemas/GooglePrivacyDlpV2Error' + stats: + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeStats' + description: Statistics about this storedInfoType version. + createTime: + format: google-datetime + description: >- + Create timestamp of the version. Read-only, determined by the system + when the version is created. + type: string + config: + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoTypeConfig' + description: StoredInfoType configuration. + id: GooglePrivacyDlpV2StoredInfoTypeVersion + description: >- + Version of a StoredInfoType, including the configuration used to build + it, create timestamp, and current state. + GooglePrivacyDlpV2Deidentify: + id: GooglePrivacyDlpV2Deidentify type: object description: >- - A type of transformation that will scan unstructured text and apply - various `PrimitiveTransformation`s to each finding, where the - transformation is applied to only values that were identified as a - specific info_type. + Create a de-identified copy of the requested table or files. A + TransformationDetail will be created for each transformation. If any + rows in BigQuery are skipped during de-identification (transformation + errors or row size exceeds BigQuery insert API limits) they are placed + in the failure output table. If the original row exceeds the BigQuery + insert API limit it will be truncated when written to the failure output + table. The failure output table can be set in the + action.deidentify.output.big_query_output.deidentified_failure_output_table + field, if no table is set, a table will be automatically created in the + same project and dataset as the original table. Compatible with: Inspect + properties: + transformationConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationConfig' + description: >- + User specified deidentify templates and configs for structured, + unstructured, and image files. + fileTypesToTransform: + items: + type: string + enum: + - FILE_TYPE_UNSPECIFIED + - BINARY_FILE + - TEXT_FILE + - IMAGE + - WORD + - PDF + - AVRO + - CSV + - TSV + - POWERPOINT + - EXCEL + enumDescriptions: + - Includes all files. + - >- + Includes all file extensions not covered by another entry. + Binary scanning attempts to convert the content of the file to + utf_8 to scan the file. If you wish to avoid this fall back, + specify one or more of the other file types in your storage + scan. + - >- + Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, + cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, + go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, + mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, + rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, + xhtml, lhs, ics, ini, java, js, json, jsonl, kix, kml, ocaml, + md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, + xsd, yml, yaml. + - >- + Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting + bytes_limit_per_file or bytes_limit_per_file_percent has no + effect on image files. Image inspection is restricted to the + `global`, `us`, `asia`, and `europe` regions. + - >- + Microsoft Word files larger than 30 MB will be scanned as binary + files. Included file extensions: docx, dotx, docm, dotm. Setting + `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no + effect on Word files. + - >- + PDF files larger than 30 MB will be scanned as binary files. + Included file extensions: pdf. Setting `bytes_limit_per_file` or + `bytes_limit_per_file_percent` has no effect on PDF files. + - 'Included file extensions: avro' + - 'Included file extensions: csv' + - 'Included file extensions: tsv' + - >- + Microsoft PowerPoint files larger than 30 MB will be scanned as + binary files. Included file extensions: pptx, pptm, potx, potm, + pot. Setting `bytes_limit_per_file` or + `bytes_limit_per_file_percent` has no effect on PowerPoint + files. + - >- + Microsoft Excel files larger than 30 MB will be scanned as + binary files. Included file extensions: xlsx, xlsm, xltx, xltm. + Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` + has no effect on Excel files. + description: >- + List of user-specified file type groups to transform. If specified, + only the files with these file types will be transformed. If empty, + all supported files will be transformed. Supported types may be + automatically added over time. If a file type is set in this field + that isn't supported by the Deidentify action then the job will fail + and will not be successfully created/started. Currently the only + file types supported are: IMAGES, TEXT_FILES, CSV, TSV. + type: array + transformationDetailsStorageConfig: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2TransformationDetailsStorageConfig + description: >- + Config for storing transformation details. This is separate from the + de-identified content, and contains metadata about the successful + transformations and/or failures that occurred while de-identifying. + This needs to be set in order for users to access information about + the status of each transformation (see TransformationDetails message + for more information about what is noted). + cloudStorageOutput: + type: string + description: >- + Required. User settable Cloud Storage bucket and folders to store + de-identified files. This field must be set for Cloud Storage + deidentification. The output Cloud Storage bucket must be different + from the input bucket. De-identified files will overwrite files in + the output path. Form of: gs://bucket/folder/ or gs://bucket + GooglePrivacyDlpV2ListInfoTypesResponse: + id: GooglePrivacyDlpV2ListInfoTypesResponse properties: - transformations: - description: >- - Required. Transformation for each infoType. Cannot specify more than - one for a given infoType. + infoTypes: + description: Set of sensitive infoTypes. type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeTransformation' - GooglePrivacyDlpV2KindExpression: - type: object - properties: - name: - type: string - description: The name of the kind. - description: A representation of a Datastore kind. - id: GooglePrivacyDlpV2KindExpression - GooglePrivacyDlpV2CloudStorageRegexFileSet: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeDescription' + description: Response to the ListInfoTypes request. type: object + GooglePrivacyDlpV2InspectionRuleSet: + id: GooglePrivacyDlpV2InspectionRuleSet description: >- - Message representing a set of files in a Cloud Storage bucket. Regular - expressions are used to allow fine-grained control over which files in - the bucket to include. Included files are those that match at least one - item in `include_regex` and do not match any items in `exclude_regex`. - Note that a file that matches items from both lists will _not_ be - included. For a match to occur, the entire file path (i.e., everything - in the url after the bucket name) must match the regular expression. For - example, given the input `{bucket_name: "mybucket", include_regex: - ["directory1/.*"], exclude_regex: ["directory1/excluded.*"]}`: * - `gs://mybucket/directory1/myfile` will be included * - `gs://mybucket/directory1/directory2/myfile` will be included (`.*` - matches across `/`) * `gs://mybucket/directory0/directory1/myfile` will - _not_ be included (the full path doesn't match any items in - `include_regex`) * `gs://mybucket/directory1/excludedfile` will _not_ be - included (the path matches an item in `exclude_regex`) If - `include_regex` is left empty, it will match all files by default (this - is equivalent to setting `include_regex: [".*"]`). Some other common use - cases: * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will - include all files in `mybucket` except for .pdf files * `{bucket_name: - "mybucket", include_regex: ["directory/[^/]+"]}` will include all files - directly under `gs://mybucket/directory/`, without matching across `/` - id: GooglePrivacyDlpV2CloudStorageRegexFileSet + Rule set for modifying a set of infoTypes to alter behavior under + certain circumstances, depending on the specific details of the rules + within the set. + type: object properties: - excludeRegex: - type: array + rules: items: - type: string + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectionRule' description: >- - A list of regular expressions matching file paths to exclude. All - files in the bucket that match at least one of these regular - expressions will be excluded from the scan. Regular expressions use - RE2 [syntax](https://github.com/google/re2/wiki/Syntax); a guide can - be found under the google/re2 repository on GitHub. - bucketName: - type: string - description: The name of a Cloud Storage bucket. Required. - includeRegex: + Set of rules to be applied to infoTypes. The rules are applied in + order. type: array - description: >- - A list of regular expressions matching file paths to include. All - files in the bucket that match at least one of these regular - expressions will be included in the set of files, except for those - that also match an item in `exclude_regex`. Leaving this field empty - will match all files by default (this is equivalent to including - `.*` in the list). Regular expressions use RE2 - [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be - found under the google/re2 repository on GitHub. + infoTypes: + type: array + description: List of infoTypes this rule set is applied to. items: - type: string - GooglePrivacyDlpV2RecordLocation: - description: Location of a finding within a row or record. - id: GooglePrivacyDlpV2RecordLocation + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + GooglePrivacyDlpV2TransientCryptoKey: properties: - fieldId: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: Field id of the field containing the finding. - recordKey: - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordKey' - description: Key of the finding. - tableLocation: - description: Location within a `ContentItem.Table`. - $ref: '#/components/schemas/GooglePrivacyDlpV2TableLocation' - type: object - GooglePrivacyDlpV2InspectContentResponse: + name: + type: string + description: >- + Required. Name of the key. This is an arbitrary string used to + differentiate different keys. A unique key is generated per name: + two separate `TransientCryptoKey` protos share the same generated + key if their names are the same. When the data crypto key is + generated, this name is not used in any way (repeating the api call + will result in a different key being generated). + id: GooglePrivacyDlpV2TransientCryptoKey + description: >- + Use this to have a random data crypto key generated. It will be + discarded after the request finishes. type: object - properties: - result: - description: The findings. - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectResult' - description: Results of inspecting an item. - id: GooglePrivacyDlpV2InspectContentResponse GooglePrivacyDlpV2QuasiIdField: + type: object properties: customTag: type: string description: A auxiliary field. field: - description: Identifies the column. $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: Identifies the column. + id: GooglePrivacyDlpV2QuasiIdField description: >- A quasi-identifier column has a custom_tag, used to know which column in the data corresponds to which column in the statistical model. + GooglePrivacyDlpV2AllOtherResources: + description: Match discovery resources not covered by any other filter. type: object - id: GooglePrivacyDlpV2QuasiIdField - GooglePrivacyDlpV2DiscoveryStartingLocation: + properties: {} + id: GooglePrivacyDlpV2AllOtherResources + GooglePrivacyDlpV2InfoTypeLimit: description: >- - The location to begin a discovery scan. Denotes an organization ID or - folder ID within an organization. + Max findings configuration per infoType, per content item or long + running DlpJob. + id: GooglePrivacyDlpV2InfoTypeLimit type: object properties: - organizationId: - type: string - format: int64 - description: The ID of an organization to scan. - folderId: - type: string - format: int64 - description: The ID of the folder within an organization to be scanned. - id: GooglePrivacyDlpV2DiscoveryStartingLocation - GooglePrivacyDlpV2FindingLimits: - id: GooglePrivacyDlpV2FindingLimits - properties: - maxFindingsPerRequest: - format: int32 - description: >- - Max number of findings that are returned per request or job. If you - set this field in an InspectContentRequest, the resulting maximum - value is the value that you set or 3,000, whichever is lower. This - value isn't a hard limit. If an inspection reaches this limit, the - inspection ends gradually, not abruptly. Therefore, the actual - number of findings that Cloud DLP returns can be multiple times - higher than this value. - type: integer - maxFindingsPerItem: - description: >- - Max number of findings that are returned for each item scanned. When - set within an InspectContentRequest, this field is ignored. This - value isn't a hard limit. If the number of findings for an item - reaches this limit, the inspection of that item ends gradually, not - abruptly. Therefore, the actual number of findings that Cloud DLP - returns for the item can be multiple times higher than this value. + maxFindings: format: int32 + description: Max findings limit for the given infoType. type: integer - maxFindingsPerInfoType: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeLimit' - type: array - description: Configuration of findings limit given for specified infoTypes. - description: >- - Configuration to control the number of findings returned for inspection. - This is not used for de-identification or data profiling. When redacting - sensitive data from images, finding limits don't apply. They can cause - unexpected or inconsistent results, where only some data is redacted. - Don't include finding limits in RedactImage requests. Otherwise, Cloud - DLP returns an error. - type: object - GooglePrivacyDlpV2TimeZone: - id: GooglePrivacyDlpV2TimeZone - description: Time zone of the date time object. - type: object - properties: - offsetMinutes: - description: >- - Set only if the offset can be determined. Positive for time ahead of - UTC. E.g. For "UTC-9", this value is -540. - type: integer - format: int32 - GooglePrivacyDlpV2FieldId: - properties: - name: - type: string - description: Name describing the field. - id: GooglePrivacyDlpV2FieldId - description: General identifier of a data field in a storage service. - type: object - GooglePrivacyDlpV2LDiversityHistogramBucket: - description: Histogram of l-diversity equivalence class sensitive value frequencies. - id: GooglePrivacyDlpV2LDiversityHistogramBucket - properties: - bucketSize: - format: int64 - description: Total number of equivalence classes in this bucket. - type: string - sensitiveValueFrequencyLowerBound: - description: >- - Lower bound on the sensitive value frequencies of the equivalence - classes in this bucket. - format: int64 - type: string - sensitiveValueFrequencyUpperBound: - type: string - format: int64 - description: >- - Upper bound on the sensitive value frequencies of the equivalence - classes in this bucket. - bucketValueCount: - description: Total number of distinct equivalence classes in this bucket. - type: string - format: int64 - bucketValues: - description: >- - Sample of equivalence classes in this bucket. The total number of - classes returned per bucket is capped at 20. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2LDiversityEquivalenceClass' - type: array - type: object - GooglePrivacyDlpV2TransformationConfig: - type: object - description: >- - User specified templates and configs for how to deidentify structured, - unstructures, and image files. User must provide either a unstructured - deidentify template or at least one redact image config. - id: GooglePrivacyDlpV2TransformationConfig - properties: - deidentifyTemplate: - type: string - description: >- - De-identify template. If this template is specified, it will serve - as the default de-identify template. This template cannot contain - `record_transformations` since it can be used for unstructured - content such as free-form text files. If this template is not set, a - default `ReplaceWithInfoTypeConfig` will be used to de-identify - unstructured content. - structuredDeidentifyTemplate: - description: >- - Structured de-identify template. If this template is specified, it - will serve as the de-identify template for structured content such - as delimited files and tables. If this template is not set but the - `deidentify_template` is set, then `deidentify_template` will also - apply to the structured content. If neither template is set, a - default `ReplaceWithInfoTypeConfig` will be used to de-identify - structured content. - type: string - imageRedactTemplate: - type: string + infoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' description: >- - Image redact template. If this template is specified, it will serve - as the de-identify template for images. If this template is not set, - all findings in the image will be redacted with a black box. - GooglePrivacyDlpV2Manual: + Type of information the findings limit applies to. Only one limit + per info_type should be provided. If InfoTypeLimit does not have an + info_type, the DLP API applies the limit against all info_types that + are found but not specified in another InfoTypeLimit. + GooglePrivacyDlpV2InfoTypeTransformations: type: object - properties: {} - id: GooglePrivacyDlpV2Manual + properties: + transformations: + description: >- + Required. Transformation for each infoType. Cannot specify more than + one for a given infoType. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeTransformation' + type: array description: >- - Job trigger option for hybrid jobs. Jobs must be manually created and - finished. - GooglePrivacyDlpV2Range: + A type of transformation that will scan unstructured text and apply + various `PrimitiveTransformation`s to each finding, where the + transformation is applied to only values that were identified as a + specific info_type. + id: GooglePrivacyDlpV2InfoTypeTransformations + GooglePrivacyDlpV2UpdateInspectTemplateRequest: + description: Request message for UpdateInspectTemplate. type: object - description: Generic half-open interval [start, end) - id: GooglePrivacyDlpV2Range - properties: - end: - description: Index of the last character of the range (exclusive). - type: string - format: int64 - start: - type: string - format: int64 - description: Index of the first character of the range (inclusive). - GooglePrivacyDlpV2ListProjectDataProfilesResponse: - id: GooglePrivacyDlpV2ListProjectDataProfilesResponse - description: List of profiles generated for a given organization or project. properties: - projectDataProfiles: - description: List of data profiles. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ProjectDataProfile' - nextPageToken: + updateMask: type: string - description: The next page token. - type: object - GooglePrivacyDlpV2PublishToPubSub: + format: google-fieldmask + description: Mask to control which fields get updated. + inspectTemplate: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + description: New InspectTemplate value. + id: GooglePrivacyDlpV2UpdateInspectTemplateRequest + GooglePrivacyDlpV2InspectContentRequest: properties: - topic: + inspectTemplateName: type: string description: >- - Cloud Pub/Sub topic to send notifications to. The topic must have - given publishing access rights to the DLP API service account - executing the long running DlpJob sending the notifications. Format - is projects/{project}/topics/{topic}. - description: >- - Publish a message into a given Pub/Sub topic when DlpJob has completed. - The message contains a single field, `DlpJobName`, which is equal to the - finished job's - [`DlpJob.name`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob). - Compatible with: Inspect, Risk - id: GooglePrivacyDlpV2PublishToPubSub + Template to use. Any configuration directly specified in + inspect_config will override those set in the template. Singular + fields that are set in this request will replace their corresponding + fields in the template. Repeated fields are appended. Singular + sub-messages and groups are recursively merged. + inspectConfig: + description: >- + Configuration for the inspector. What specified here will override + the template referenced by the inspect_template_name argument. + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + item: + description: The item to inspect. + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' + locationId: + description: Deprecated. This field has no effect. + type: string + description: Request to search for potentially sensitive info in a ContentItem. type: object - GooglePrivacyDlpV2Dictionary: - description: >- - Custom information type based on a dictionary of words or phrases. This - can be used to match sensitive information specific to the data, such as - a list of employee IDs or job titles. Dictionary words are - case-insensitive and all characters other than letters and digits in the - unicode [Basic Multilingual - Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane) - will be replaced with whitespace when scanning for matches, so the - dictionary phrase "Sam Johnson" will match all three phrases "sam - johnson", "Sam, Johnson", and "Sam (Johnson)". Additionally, the - characters surrounding any match must be of a different type than the - adjacent characters within the word, so letters must be next to - non-letters and digits next to non-digits. For example, the dictionary - word "jen" will match the first three letters of the text "jen123" but - will return no matches for "jennifer". Dictionary words containing a - large number of characters that are not letters or digits may result in - unexpected findings because such characters are treated as whitespace. - The [limits](https://cloud.google.com/sensitive-data-protection/limits) - page contains details about the size limits of dictionaries. For - dictionaries that do not fit within these constraints, consider using - `LargeCustomDictionaryConfig` in the `StoredInfoType` API. + id: GooglePrivacyDlpV2InspectContentRequest + GooglePrivacyDlpV2EntityId: type: object - id: GooglePrivacyDlpV2Dictionary - properties: - wordList: - description: List of words or phrases to search for. - $ref: '#/components/schemas/GooglePrivacyDlpV2WordList' - cloudStoragePath: - $ref: '#/components/schemas/GooglePrivacyDlpV2CloudStoragePath' - description: >- - Newline-delimited file of words in Cloud Storage. Only a single file - is accepted. - GoogleRpcStatus: description: >- - 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). + An entity in a dataset is a field or set of fields that correspond to a + single person. For example, in medical records the `EntityId` might be a + patient identifier, or for financial records it might be an account + identifier. This message is used when generalizations or analysis must + take into account that multiple rows correspond to the same entity. + id: GooglePrivacyDlpV2EntityId + properties: + field: + description: Composite key indicating which field contains the entity identifier. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + GooglePrivacyDlpV2BigQueryOptions: + id: GooglePrivacyDlpV2BigQueryOptions + description: Options defining BigQuery table and row identifiers. type: object - id: GoogleRpcStatus properties: - details: + rowsLimit: description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. + Max number of rows to scan. If the table has more rows than this + value, the rest of the rows are omitted. If not set, or if set to 0, + all rows will be scanned. Only one of rows_limit and + rows_limit_percent can be specified. Cannot be used in conjunction + with TimespanConfig. + type: string + format: int64 + sampleMethod: + description: How to sample the data. + type: string + enumDescriptions: + - No sampling. + - >- + Scan groups of rows in the order BigQuery provides (default). + Multiple groups of rows may be scanned in parallel, so results may + not appear in the same order the rows are read. + - Randomly pick groups of rows to scan. + enum: + - SAMPLE_METHOD_UNSPECIFIED + - TOP + - RANDOM_START + includedFields: + description: >- + Limit scanning only to these fields. When inspecting a table, we + recommend that you inspect all columns. Otherwise, findings might be + affected because hints from excluded columns will not be used. items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' type: array - code: - format: int32 - description: The status code, which should be an enum value of google.rpc.Code. + rowsLimitPercent: type: integer - message: description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + Max percentage of rows to scan. The rest are omitted. The number of + rows scanned is rounded down. Must be between 0 and 100, + inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one + of rows_limit and rows_limit_percent can be specified. Cannot be + used in conjunction with TimespanConfig. Caution: A [known + issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#bq-sampling) + is causing the `rowsLimitPercent` field to behave unexpectedly. We + recommend using `rowsLimit` instead. + format: int32 + excludedFields: + type: array + description: >- + References to fields excluded from scanning. This allows you to skip + inspection of entire columns which you know have no findings. When + inspecting a table, we recommend that you inspect all columns. + Otherwise, findings might be affected because hints from excluded + columns will not be used. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + identifyingFields: + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + description: >- + Table fields that may uniquely identify a row within the table. When + `actions.saveFindings.outputConfig.table` is specified, the values + of columns specified here are available in the output table under + `location.content_locations.record_location.record_key.id_values`. + Nested fields such as `person.birthdate.year` are allowed. + type: array + tableReference: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: Complete BigQuery table reference. + GooglePrivacyDlpV2PathElement: + description: >- + A (kind, ID/name) pair used to construct a key path. If either name or + ID is set, the element is complete. If neither is set, the element is + incomplete. + id: GooglePrivacyDlpV2PathElement + properties: + id: + description: >- + The auto-allocated ID of the entity. Never equal to zero. Values + less than zero are discouraged and may not be supported in the + future. + format: int64 type: string - GooglePrivacyDlpV2ListDiscoveryConfigsResponse: - id: GooglePrivacyDlpV2ListDiscoveryConfigsResponse + name: + type: string + description: >- + The name of the entity. A name matching regex `__.*__` is + reserved/read-only. A name must not be more than 1500 bytes when + UTF-8 encoded. Cannot be `""`. + kind: + type: string + description: >- + The kind of the entity. A kind matching regex `__.*__` is + reserved/read-only. A kind must not contain more than 1500 bytes + when UTF-8 encoded. Cannot be `""`. type: object + GooglePrivacyDlpV2JobTrigger: properties: - nextPageToken: - description: >- - If the next page is available then this value is the next page token - to be used in the following ListDiscoveryConfigs request. + displayName: + description: Display name (max 100 chars) type: string - discoveryConfigs: + triggers: + description: >- + 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. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' - description: List of configs, up to page_size in ListDiscoveryConfigsRequest. + $ref: '#/components/schemas/GooglePrivacyDlpV2Trigger' type: array - description: Response message for ListDiscoveryConfigs. - GooglePrivacyDlpV2KAnonymityConfig: - id: GooglePrivacyDlpV2KAnonymityConfig - description: k-anonymity metric, used for analysis of reidentification risk. - properties: - entityId: - $ref: '#/components/schemas/GooglePrivacyDlpV2EntityId' - description: >- - Message indicating that multiple rows might be associated to a - single individual. If the same entity_id is associated to multiple - quasi-identifier tuples over distinct rows, we consider the entire - collection of tuples as the composite quasi-identifier. This - collection is a multiset: the order in which the different tuples - appear in the dataset is ignored, but their frequency is taken into - account. Important note: a maximum of 1000 rows can be associated to - a single entity ID. If more rows are associated with the same entity - ID, some might be ignored. - quasiIds: + inspectJob: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectJobConfig' + description: For inspect jobs, a snapshot of the configuration. + name: + type: string description: >- - Set of fields to compute k-anonymity over. When multiple fields are - specified, they are considered a single composite key. Structs and - repeated data types are not supported; however, nested fields are - supported so long as they are not structs themselves or nested - within a repeated field. + Unique resource name for the triggeredJob, assigned by the service + when the triggeredJob is created, for example + `projects/dlp-test-project/jobTriggers/53234423`. + description: + type: string + description: User provided description (max 256 chars) + status: + enumDescriptions: + - Unused. + - Trigger is healthy. + - Trigger is temporarily paused. + - Trigger is cancelled and can not be resumed. + description: Required. A status for this trigger. + type: string + enum: + - STATUS_UNSPECIFIED + - HEALTHY + - PAUSED + - CANCELLED + createTime: + description: Output only. The creation timestamp of a triggeredJob. + readOnly: true + format: google-datetime + type: string + errors: + readOnly: true items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + $ref: '#/components/schemas/GooglePrivacyDlpV2Error' + description: >- + Output only. A stream of errors encountered when the trigger was + activated. Repeated errors may result in the JobTrigger + automatically being paused. Will return the last 100 errors. + Whenever the JobTrigger is modified this list will be cleared. type: array + lastRunTime: + type: string + description: Output only. The timestamp of the last time this trigger executed. + readOnly: true + format: google-datetime + updateTime: + description: Output only. The last update timestamp of a triggeredJob. + format: google-datetime + readOnly: true + type: string + description: >- + Contains a configuration to make API calls on a repeating basis. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-job-triggers + to learn more. + id: GooglePrivacyDlpV2JobTrigger type: object - GooglePrivacyDlpV2TransientCryptoKey: + GooglePrivacyDlpV2InspectTemplate: description: >- - Use this to have a random data crypto key generated. It will be - discarded after the request finishes. - id: GooglePrivacyDlpV2TransientCryptoKey + The inspectTemplate contains a configuration (set of types of sensitive + data to be detected) to be used anywhere you otherwise would normally + specify InspectConfig. See + https://cloud.google.com/sensitive-data-protection/docs/concepts-templates + to learn more. type: object + id: GooglePrivacyDlpV2InspectTemplate properties: + description: + description: Short description (max 256 chars). + type: string + createTime: + format: google-datetime + readOnly: true + description: Output only. The creation timestamp of an inspectTemplate. + type: string + updateTime: + type: string + format: google-datetime + description: Output only. The last update timestamp of an inspectTemplate. + readOnly: true + displayName: + type: string + description: Display name (max 256 chars). + inspectConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' + description: >- + The core content of the template. Configuration of the scanning + process. name: + readOnly: true description: >- - Required. Name of the key. This is an arbitrary string used to - differentiate different keys. A unique key is generated per name: - two separate `TransientCryptoKey` protos share the same generated - key if their names are the same. When the data crypto key is - generated, this name is not used in any way (repeating the api call - will result in a different key being generated). + Output only. The template name. The template will have one of the + following formats: + `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR + `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`; type: string - GooglePrivacyDlpV2ValueFrequency: + GooglePrivacyDlpV2AmazonS3Bucket: + description: Amazon S3 bucket. properties: - count: - description: How many times the value is contained in the field. - format: int64 + awsAccount: + $ref: '#/components/schemas/GooglePrivacyDlpV2AwsAccount' + description: The AWS account. + bucketName: + description: Required. The bucket name. type: string - value: - description: A value contained in the field in question. - $ref: '#/components/schemas/GooglePrivacyDlpV2Value' - id: GooglePrivacyDlpV2ValueFrequency - type: object - description: A value of a field, including its frequency. - GooglePrivacyDlpV2SurrogateType: + id: GooglePrivacyDlpV2AmazonS3Bucket type: object - description: >- - Message for detecting output from deidentification transformations such - as - [`CryptoReplaceFfxFpeConfig`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig). - These types of transformations are those that perform pseudonymization, - thereby producing a "surrogate" as output. This should be used in - conjunction with a field on the transformation such as - `surrogate_info_type`. This CustomInfoType does not support the use of - `detection_rules`. - id: GooglePrivacyDlpV2SurrogateType - properties: {} - GooglePrivacyDlpV2InspectConfig: - id: GooglePrivacyDlpV2InspectConfig + GooglePrivacyDlpV2StoredType: + id: GooglePrivacyDlpV2StoredType type: object - description: >- - Configuration description of the scanning process. When used with - redactContent only info_types and min_likelihood are currently used. properties: - contentOptions: - items: - type: string - enum: - - CONTENT_UNSPECIFIED - - CONTENT_TEXT - - CONTENT_IMAGE - enumDescriptions: - - Includes entire content of a file or a data stream. - - Text content within the data, excluding any metadata. - - Images found in the data. - type: array - description: Deprecated and unused. - infoTypes: + createTime: + format: google-datetime description: >- - Restricts what info_types to look for. The values must correspond to - InfoType values returned by ListInfoTypes or listed at - https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference. - When no InfoTypes or CustomInfoTypes are specified in a request, the - system may automatically choose a default list of detectors to run, - which may change over time. If you need precise control and - predictability as to what detectors are run you should specify - specific InfoTypes listed in the reference, otherwise a default list - will be used, which may change over time. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - minLikelihood: - enum: - - LIKELIHOOD_UNSPECIFIED - - VERY_UNLIKELY - - UNLIKELY - - POSSIBLE - - LIKELY - - VERY_LIKELY + Timestamp indicating when the version of the `StoredInfoType` used + for inspection was created. Output-only field, populated by the + system. + type: string + name: type: string description: >- - Only returns findings equal to or above this threshold. The default - is POSSIBLE. In general, the highest likelihood setting yields the - fewest findings in results and the lowest chance of a false - positive. For more information, see [Match - likelihood](https://cloud.google.com/sensitive-data-protection/docs/likelihood). - enumDescriptions: - - Default value; same as POSSIBLE. - - Highest chance of a false positive. - - High chance of a false positive. - - Some matching signals. The default value. - - Low chance of a false positive. - - Confidence level is high. Lowest chance of a false positive. - includeQuote: - type: boolean + Resource name of the requested `StoredInfoType`, for example + `organizations/433245324/storedInfoTypes/432452342` or + `projects/project-id/storedInfoTypes/432452342`. + description: A reference to a StoredInfoType to use with scanning. + GooglePrivacyDlpV2QuasiId: + id: GooglePrivacyDlpV2QuasiId + properties: + customTag: + type: string description: >- - When true, a contextual quote from the data that triggered a finding - is included in the response; see Finding.quote. This is not used for - data profiling. - minLikelihoodPerInfoType: + A column can be tagged with a custom tag. In this case, the user + must indicate an auxiliary table that contains statistical + information on the possible values of this column (below). + field: + description: Required. Identifies the column. + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' + infoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: >- + A column can be tagged with a InfoType to use the relevant public + dataset as a statistical model of population, if available. We + currently support US ZIP codes, region codes, ages and genders. To + programmatically obtain the list of supported InfoTypes, use + ListInfoTypes with the supported_by=RISK_ANALYSIS filter. + inferred: + $ref: '#/components/schemas/GoogleProtobufEmpty' + description: >- + If no semantic tag is indicated, we infer the statistical model from + the distribution of values in the input data + type: object + description: A column with a semantic tag attached. + GooglePrivacyDlpV2BigQueryRegexes: + description: >- + A collection of regular expressions to determine what tables to match + against. + properties: + patterns: + description: >- + A single BigQuery regular expression pattern to match against one or + more tables, datasets, or projects that contain BigQuery tables. type: array items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeLikelihood' + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryRegex' + type: object + id: GooglePrivacyDlpV2BigQueryRegexes + GooglePrivacyDlpV2DiscoveryCloudSqlFilter: + properties: + collection: + description: A specific set of database resources for this filter to apply to. + $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceCollection' + databaseResourceReference: description: >- - Minimum likelihood per infotype. For each infotype, a user can - specify a minimum likelihood. The system only returns a finding if - its likelihood is above this threshold. If this field is not set, - the system uses the InspectConfig min_likelihood. - limits: + The database resource to scan. Targets including this can only + include one target (the target with this database resource + reference). + $ref: '#/components/schemas/GooglePrivacyDlpV2DatabaseResourceReference' + others: description: >- - Configuration to control the number of findings returned. This is - not used for data profiling. When redacting sensitive data from - images, finding limits don't apply. They can cause unexpected or - inconsistent results, where only some data is redacted. Don't - include finding limits in RedactImage requests. Otherwise, Cloud DLP - returns an error. When set within an InspectJobConfig, the specified - maximum values aren't hard limits. If an inspection job reaches - these limits, the job ends gradually, not abruptly. Therefore, the - actual number of findings that Cloud DLP returns can be multiple - times higher than these maximum values. - $ref: '#/components/schemas/GooglePrivacyDlpV2FindingLimits' - customInfoTypes: + Catch-all. This should always be the last target in the list because + anything above it will apply first. Should only appear once in a + configuration. If none is specified, a default one will be added + automatically. + $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherDatabaseResources' + id: GooglePrivacyDlpV2DiscoveryCloudSqlFilter + type: object + description: >- + Determines what tables will have profiles generated within an + organization or project. Includes the ability to filter by regular + expression patterns on project ID, location, instance, database, and + database resource name. + GooglePrivacyDlpV2TransformationDetails: + type: object + id: GooglePrivacyDlpV2TransformationDetails + properties: + containerName: + type: string description: >- - CustomInfoTypes provided by the user. See - https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes - to learn more. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2CustomInfoType' - excludeInfoTypes: + The top level name of the container where the transformation is + located (this will be the source file name or table name). + transformation: description: >- - When true, excludes type information of the findings. This is not - used for data profiling. - type: boolean - ruleSet: + Description of transformation. This would only contain more than one + element if there were multiple matching transformations and which + one to apply was ambiguous. Not set for states that contain no + transformation, currently only state that contains no transformation + is TransformationResultStateType.METADATA_UNRETRIEVABLE. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectionRuleSet' - description: >- - Set of rules to apply to the findings for this InspectConfig. - Exclusion rules, contained in the set are executed in the end, other - rules are executed in the order they are specified for each info - type. + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationDescription' type: array - GooglePrivacyDlpV2LikelihoodAdjustment: - properties: - relativeLikelihood: + transformedBytes: + format: int64 description: >- - Increase or decrease the likelihood by the specified number of - levels. For example, if a finding would be `POSSIBLE` without the - detection rule and `relative_likelihood` is 1, then it is upgraded - to `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`. - Likelihood may never drop below `VERY_UNLIKELY` or exceed - `VERY_LIKELY`, so applying an adjustment of 1 followed by an - adjustment of -1 when base likelihood is `VERY_LIKELY` will result - in a final likelihood of `LIKELY`. - format: int32 - type: integer - fixedLikelihood: - enumDescriptions: - - Default value; same as POSSIBLE. - - Highest chance of a false positive. - - High chance of a false positive. - - Some matching signals. The default value. - - Low chance of a false positive. - - Confidence level is high. Lowest chance of a false positive. - description: Set the likelihood of a finding to a fixed value. - enum: - - LIKELIHOOD_UNSPECIFIED - - VERY_UNLIKELY - - UNLIKELY - - POSSIBLE - - LIKELY - - VERY_LIKELY + The number of bytes that were transformed. If transformation was + unsuccessful or did not take place because there was no content to + transform, this will be zero. type: string - id: GooglePrivacyDlpV2LikelihoodAdjustment + resourceName: + description: The name of the job that completed the transformation. + type: string + statusDetails: + description: >- + Status of the transformation, if transformation was not successful, + this will specify what caused it to fail, otherwise it will show + that the transformation was successful. + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationResultStatus' + transformationLocation: + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationLocation' + description: >- + The precise location of the transformed content in the original + container. description: >- - Message for specifying an adjustment to the likelihood of a finding as - part of a detection rule. + Details about a single transformation. This object contains a + description of the transformation, information about whether the + transformation was successfully applied, and the precise location where + the transformation occurred. These details are stored in a + user-specified BigQuery table. + GooglePrivacyDlpV2StoredInfoTypeConfig: type: object - GooglePrivacyDlpV2TransformationSummary: - id: GooglePrivacyDlpV2TransformationSummary + properties: + dictionary: + $ref: '#/components/schemas/GooglePrivacyDlpV2Dictionary' + description: Store dictionary-based CustomInfoType. + description: + type: string + description: Description of the StoredInfoType (max 256 characters). + regex: + $ref: '#/components/schemas/GooglePrivacyDlpV2Regex' + description: Store regular expression-based StoredInfoType. + largeCustomDictionary: + $ref: '#/components/schemas/GooglePrivacyDlpV2LargeCustomDictionaryConfig' + description: >- + StoredInfoType where findings are defined by a dictionary of + phrases. + displayName: + type: string + description: Display name of the StoredInfoType (max 256 characters). description: >- - Summary of a single transformation. Only one of 'transformation', - 'field_transformation', or 'record_suppress' will be set. + Configuration for stored infoTypes. All fields and subfield are provided + by the user. For more information, see + https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. + id: GooglePrivacyDlpV2StoredInfoTypeConfig + GooglePrivacyDlpV2CloudSqlProperties: type: object + id: GooglePrivacyDlpV2CloudSqlProperties + description: Cloud SQL connection properties. properties: - infoType: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' - description: Set if the transformation was limited to a specific InfoType. - transformation: - description: The specific transformation these stats apply to. - $ref: '#/components/schemas/GooglePrivacyDlpV2PrimitiveTransformation' - transformedBytes: + usernamePassword: + $ref: '#/components/schemas/GooglePrivacyDlpV2SecretManagerCredential' + description: A username and password stored in Secret Manager. + maxConnections: + type: integer + description: >- + Required. The DLP API will limit its connections to max_connections. + Must be 2 or greater. + format: int32 + connectionName: type: string - format: int64 - description: Total size in bytes that were transformed in some way. - results: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2SummaryResult' - description: Collection of all transformations that took place or had an error. - type: array - fieldTransformations: description: >- - The field transformation that was applied. If multiple field - transformations are requested for a single field, this list will - contain all of them; otherwise, only one is supplied. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldTransformation' - field: - description: Set if the transformation was limited to a specific FieldId. - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - recordSuppress: - description: The specific suppression option these stats apply to. - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordSuppression' - GooglePrivacyDlpV2InspectJobConfig: - description: Controls what and how to inspect for findings. - id: GooglePrivacyDlpV2InspectJobConfig + Optional. Immutable. The Cloud SQL instance for which the connection + is defined. Only one connection per instance is allowed. This can + only be set at creation time, and cannot be updated. It is an error + to use a connection_name from different project or region than the + one that holds the connection. For example, a Connection resource + for Cloud SQL connection_name `project-id:us-central1:sql-instance` + must be created under the parent + `projects/project-id/locations/us-central1` + cloudSqlIam: + $ref: '#/components/schemas/GooglePrivacyDlpV2CloudSqlIamCredential' + description: Built-in IAM authentication (must be configured in Cloud SQL). + databaseEngine: + enumDescriptions: + - >- + An engine that is not currently supported by Sensitive Data + Protection. + - Cloud SQL for MySQL instance. + - Cloud SQL for PostgreSQL instance. + type: string + enum: + - DATABASE_ENGINE_UNKNOWN + - DATABASE_ENGINE_MYSQL + - DATABASE_ENGINE_POSTGRES + description: >- + Required. The database engine used by the Cloud SQL instance that + this connection configures. + GooglePrivacyDlpV2DiscoveryBigQueryConditions: + id: GooglePrivacyDlpV2DiscoveryBigQueryConditions + type: object properties: - inspectConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' - description: How and what to scan for. - actions: - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Action' - description: Actions to execute at the completion of the job. - storageConfig: - description: The data to scan. - $ref: '#/components/schemas/GooglePrivacyDlpV2StorageConfig' - inspectTemplateName: + types: + description: Restrict discovery to specific table types. + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTableTypes' + typeCollection: + enumDescriptions: + - Unused. + - >- + Automatically generate profiles for all tables, even if the table + type is not yet fully supported for analysis. Profiles for + unsupported tables will be generated with errors to indicate their + partial support. When full support is added, the tables will + automatically be profiled during the next scheduled run. + - >- + Only those types fully supported will be profiled. Will expand + automatically as Cloud DLP adds support for new table types. + Unsupported table types will not have partial profiles generated. + description: Restrict discovery to categories of table types. type: string + enum: + - BIG_QUERY_COLLECTION_UNSPECIFIED + - BIG_QUERY_COLLECTION_ALL_TYPES + - BIG_QUERY_COLLECTION_ONLY_SUPPORTED_TYPES + orConditions: description: >- - If provided, will be used as the default for all values in - InspectConfig. `inspect_config` will be merged into the values - persisted as part of the template. + At least one of the conditions must be true for a table to be + scanned. + $ref: '#/components/schemas/GooglePrivacyDlpV2OrConditions' + createdAfter: + description: >- + BigQuery table must have been created after this date. Used to avoid + backfilling. + format: google-datetime + type: string + description: >- + Requirements that must be true before a table is scanned in discovery + for the first time. There is an AND relationship between the top-level + attributes. Additionally, minimum conditions with an OR relationship + that must be met before Cloud DLP scans a table can be set (like a + minimum row count or a minimum table age). + GooglePrivacyDlpV2TransformationDetailsStorageConfig: + description: Config for storing transformation details. + id: GooglePrivacyDlpV2TransformationDetailsStorageConfig type: object - GooglePrivacyDlpV2HybridContentItem: + properties: + table: + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' + description: >- + The BigQuery table in which to store the output. This may be an + existing table or in a new table in an existing dataset. If table_id + is not set a new one will be generated for you with the following + format: + dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. + Pacific time zone will be used for generating the date details. + GooglePrivacyDlpV2TransformationErrorHandling: type: object - id: GooglePrivacyDlpV2HybridContentItem - description: >- - An individual hybrid item to inspect. Will be stored temporarily during - processing. + id: GooglePrivacyDlpV2TransformationErrorHandling properties: - findingDetails: - description: Supplementary information that will be added to each finding. - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridFindingDetails' - item: - description: The item to inspect. - $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' - GooglePrivacyDlpV2RedactImageRequest: + leaveUntransformed: + description: Ignore errors + $ref: '#/components/schemas/GooglePrivacyDlpV2LeaveUntransformed' + throwError: + description: Throw an error + $ref: '#/components/schemas/GooglePrivacyDlpV2ThrowError' + description: >- + How to handle transformation errors during de-identification. A + transformation error occurs when the requested transformation is + incompatible with the data. For example, trying to de-identify an IP + address using a `DateShift` transformation would result in a + transformation error, since date info cannot be extracted from an IP + address. Information about any incompatible transformations, and how + they were handled, is returned in the response as part of the + `TransformationOverviews`. + GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket: type: object + id: GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket properties: - inspectConfig: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' - description: Configuration for the inspector. - byteItem: - $ref: '#/components/schemas/GooglePrivacyDlpV2ByteContentItem' - description: The content must be PNG, JPEG, SVG or BMP. - includeFindings: - type: boolean + bucketValues: description: >- - Whether the response should include findings along with the redacted - image. - locationId: - type: string - description: Deprecated. This field has no effect. - imageRedactionConfigs: - type: array + Sample of quasi-identifier tuple values in this bucket. The total + number of classes returned per bucket is capped at 20. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2ImageRedactionConfig' - description: The configuration for specifying what content to redact from images. + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues + type: array + minProbability: + description: Between 0 and 1. + type: number + format: double + maxProbability: + type: number + description: Always greater than or equal to min_probability. + format: double + bucketSize: + description: Number of records within these probability bounds. + format: int64 + type: string + bucketValueCount: + format: int64 + description: >- + Total number of distinct quasi-identifier tuple values in this + bucket. + type: string description: >- - Request to search for potentially sensitive info in an image and redact - it by covering it with a colored rectangle. - id: GooglePrivacyDlpV2RedactImageRequest - GooglePrivacyDlpV2RecordTransformation: + A DeltaPresenceEstimationHistogramBucket message with the following + values: min_probability: 0.1 max_probability: 0.2 frequency: 42 means + that there are 42 records for which δ is in [0.1, 0.2). An important + particular case is when min_probability = max_probability = 1: then, + every individual who shares this quasi-identifier combination is in the + dataset. + GooglePrivacyDlpV2CloudStorageRegex: + id: GooglePrivacyDlpV2CloudStorageRegex properties: - containerVersion: + bucketNameRegex: type: string - description: Container version, if available ("generation" for Cloud Storage). - containerTimestamp: - format: google-datetime + description: >- + Optional. Regex to test the bucket name against. If empty, all + buckets match. Example: "marketing2021" or "(marketing)\d{4}" will + both match the bucket gs://marketing2021 + projectIdRegex: type: string - description: Findings container modification timestamp, if applicable. - fieldId: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: For record transformations, provide a field. - type: object - description: The field in a record to transform. - id: GooglePrivacyDlpV2RecordTransformation - GooglePrivacyDlpV2AllOtherResources: - properties: {} + description: Optional. For organizations, if unset, will match all projects. + description: >- + A pattern to match against one or more file stores. At least one pattern + must be specified. Regular expressions use RE2 + [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be + found under the google/re2 repository on GitHub. type: object - id: GooglePrivacyDlpV2AllOtherResources - description: Match discovery resources not covered by any other filter. - GooglePrivacyDlpV2RecordTransformations: + GooglePrivacyDlpV2TransformationOverview: type: object - description: >- - A type of transformation that is applied over structured data such as a - table. - id: GooglePrivacyDlpV2RecordTransformations properties: - fieldTransformations: + transformedBytes: + format: int64 + description: Total size in bytes that were transformed in some way. + type: string + transformationSummaries: type: array - description: Transform the record by applying various field transformations. + description: Transformations applied to the dataset. items: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldTransformation' - recordSuppressions: + $ref: '#/components/schemas/GooglePrivacyDlpV2TransformationSummary' + id: GooglePrivacyDlpV2TransformationOverview + description: Overview of the modifications that occurred. + GooglePrivacyDlpV2DiscoverySchemaModifiedCadence: + description: The cadence at which to update data profiles when a schema is modified. + properties: + types: + items: + enumDescriptions: + - Unused + - >- + Profiles should be regenerated when new columns are added to the + table. Default. + - >- + Profiles should be regenerated when columns are removed from the + table. + enum: + - SCHEMA_MODIFICATION_UNSPECIFIED + - SCHEMA_NEW_COLUMNS + - SCHEMA_REMOVED_COLUMNS + type: string + description: >- + The type of events to consider when deciding if the table's schema + has been modified and should have the profile updated. Defaults to + NEW_COLUMNS. type: array + frequency: description: >- - Configuration defining which records get suppressed entirely. - Records that match any suppression rule are omitted from the output. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2RecordSuppression' - GooglePrivacyDlpV2QuasiIdentifierField: + How frequently profiles may be updated when schemas are modified. + Defaults to monthly. + type: string + enumDescriptions: + - Unspecified. + - After the data profile is created, it will never be updated. + - The data profile can be updated up to once every 24 hours. + - The data profile can be updated up to once every 30 days. Default. + enum: + - UPDATE_FREQUENCY_UNSPECIFIED + - UPDATE_FREQUENCY_NEVER + - UPDATE_FREQUENCY_DAILY + - UPDATE_FREQUENCY_MONTHLY + id: GooglePrivacyDlpV2DiscoverySchemaModifiedCadence type: object - description: >- - A quasi-identifier column has a custom_tag, used to know which column in - the data corresponds to which column in the statistical model. - id: GooglePrivacyDlpV2QuasiIdentifierField + GooglePrivacyDlpV2PublishToChronicle: + type: object + id: GooglePrivacyDlpV2PublishToChronicle + properties: {} + description: Message expressing intention to publish to Google Security Operations. + GooglePrivacyDlpV2DeidentifyContentRequest: + type: object + description: Request to de-identify a ContentItem. properties: - customTag: + item: + description: >- + The item to de-identify. Will be treated as text. This value must be + of type Table if your deidentify_config is a RecordTransformations + object. + $ref: '#/components/schemas/GooglePrivacyDlpV2ContentItem' + deidentifyTemplateName: + description: >- + Template to use. Any configuration directly specified in + deidentify_config will override those set in the template. Singular + fields that are set in this request will replace their corresponding + fields in the template. Repeated fields are appended. Singular + sub-messages and groups are recursively merged. type: string + deidentifyConfig: description: >- - A column can be tagged with a custom tag. In this case, the user - must indicate an auxiliary table that contains statistical - information on the possible values of this column (below). - field: - $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' - description: Identifies the column. - GooglePrivacyDlpV2DiscoveryCloudStorageGenerationCadence: - description: >- - How often existing buckets should have their profiles refreshed. New - buckets are scanned as quickly as possible depending on system capacity. - properties: - inspectTemplateModifiedCadence: + Configuration for the de-identification of the content item. Items + specified here will override the template referenced by the + deidentify_template_name argument. + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyConfig' + inspectConfig: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectConfig' description: >- - Optional. Governs when to update data profiles when the inspection - rules defined by the `InspectTemplate` change. If not set, changing - the template will not cause a data profile to update. - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence - refreshFrequency: - enumDescriptions: - - Unspecified. - - After the data profile is created, it will never be updated. - - The data profile can be updated up to once every 24 hours. - - The data profile can be updated up to once every 30 days. Default. + Configuration for the inspector. Items specified here will override + the template referenced by the inspect_template_name argument. + locationId: + type: string + description: Deprecated. This field has no effect. + inspectTemplateName: description: >- - Optional. Data changes in Cloud Storage can't trigger reprofiling. - If you set this field, profiles are refreshed at this frequency - regardless of whether the underlying buckets have changed. Defaults - to never. + Template to use. Any configuration directly specified in + inspect_config will override those set in the template. Singular + fields that are set in this request will replace their corresponding + fields in the template. Repeated fields are appended. Singular + sub-messages and groups are recursively merged. type: string - enum: - - UPDATE_FREQUENCY_UNSPECIFIED - - UPDATE_FREQUENCY_NEVER - - UPDATE_FREQUENCY_DAILY - - UPDATE_FREQUENCY_MONTHLY - id: GooglePrivacyDlpV2DiscoveryCloudStorageGenerationCadence + id: GooglePrivacyDlpV2DeidentifyContentRequest + GooglePrivacyDlpV2AllText: type: object - GooglePrivacyDlpV2ListInfoTypesResponse: + id: GooglePrivacyDlpV2AllText + properties: {} + description: Apply to all text. + GooglePrivacyDlpV2DiscoveryBigQueryFilter: type: object - id: GooglePrivacyDlpV2ListInfoTypesResponse - description: Response to the ListInfoTypes request. - properties: - infoTypes: - description: Set of sensitive infoTypes. - type: array - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoTypeDescription' - GooglePrivacyDlpV2RiskAnalysisJobConfig: description: >- - Configuration for a risk analysis job. See - https://cloud.google.com/sensitive-data-protection/docs/concepts-risk-analysis - to learn more. - type: object + Determines what tables will have profiles generated within an + organization or project. Includes the ability to filter by regular + expression patterns on project ID, dataset ID, and table ID. + id: GooglePrivacyDlpV2DiscoveryBigQueryFilter properties: - actions: - type: array + tables: description: >- - Actions to execute at the completion of the job. Are executed in the - order provided. - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2Action' - sourceTable: - $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTable' - description: Input dataset to compute metrics over. - privacyMetric: - $ref: '#/components/schemas/GooglePrivacyDlpV2PrivacyMetric' - description: Privacy metric to compute. - id: GooglePrivacyDlpV2RiskAnalysisJobConfig - GooglePrivacyDlpV2ReplaceWithInfoTypeConfig: - id: GooglePrivacyDlpV2ReplaceWithInfoTypeConfig + A specific set of tables for this filter to apply to. A table + collection must be specified in only one filter per config. If a + table id or dataset is empty, Cloud DLP assumes all tables in that + collection must be profiled. Must specify a project ID. + $ref: '#/components/schemas/GooglePrivacyDlpV2BigQueryTableCollection' + otherTables: + description: >- + Catch-all. This should always be the last filter in the list because + anything above it will apply first. Should only appear once in a + configuration. If none is specified, a default one will be added + automatically. + $ref: '#/components/schemas/GooglePrivacyDlpV2AllOtherBigQueryTables' + tableReference: + $ref: '#/components/schemas/GooglePrivacyDlpV2TableReference' + description: >- + The table to scan. Discovery configurations including this can only + include one DiscoveryTarget (the DiscoveryTarget with this + TableReference). + GooglePrivacyDlpV2AllInfoTypes: type: object - description: Replace each matching finding with the name of the info_type. properties: {} - GooglePrivacyDlpV2SelectedInfoTypes: - description: Apply transformation to the selected info_types. + id: GooglePrivacyDlpV2AllInfoTypes + description: Apply transformation to all findings. + GooglePrivacyDlpV2TableOptions: + type: object + description: Instructions regarding the table content being inspected. properties: - infoTypes: - items: - $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + identifyingFields: description: >- - Required. InfoTypes to apply the transformation to. Required. - Provided InfoType must be unique within the ImageTransformations - message. + The columns that are the primary keys for table objects included in + ContentItem. A copy of this cell's value will stored alongside + alongside each finding so that the finding can be traced to the + specific row it came from. No more than 3 may be provided. + items: + $ref: '#/components/schemas/GooglePrivacyDlpV2FieldId' type: array - type: object - id: GooglePrivacyDlpV2SelectedInfoTypes - GooglePrivacyDlpV2LargeCustomDictionaryStats: - description: Summary statistics of a custom dictionary. + id: GooglePrivacyDlpV2TableOptions + GooglePrivacyDlpV2ImageRedactionConfig: + description: Configuration for determining how redaction of images should occur. + id: GooglePrivacyDlpV2ImageRedactionConfig properties: - approxNumPhrases: - format: int64 - description: Approximate number of distinct phrases in the dictionary. - type: string - id: GooglePrivacyDlpV2LargeCustomDictionaryStats - type: object - GooglePrivacyDlpV2CryptoKey: - id: GooglePrivacyDlpV2CryptoKey + redactAllText: + type: boolean + description: >- + If true, all text found in the image, regardless whether it matches + an info_type, is redacted. Only one should be provided. + redactionColor: + $ref: '#/components/schemas/GooglePrivacyDlpV2Color' + description: >- + The color to use when redacting content from an image. If not + specified, the default is black. + infoType: + $ref: '#/components/schemas/GooglePrivacyDlpV2InfoType' + description: >- + Only one per info_type should be provided per request. If not + specified, and redact_all_text is false, the DLP API will redact all + text that it matches against all info_types that are found, but not + specified in another ImageRedactionConfig. type: object - description: >- - This is a data encryption key (DEK) (as opposed to a key encryption key - (KEK) stored by Cloud Key Management Service (Cloud KMS). When using - Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM - policy on the KEK to ensure an attacker cannot unwrap the DEK. + GooglePrivacyDlpV2HybridInspectJobTriggerRequest: + description: Request to search for potentially sensitive info in a custom location. properties: - transient: - description: Transient crypto key - $ref: '#/components/schemas/GooglePrivacyDlpV2TransientCryptoKey' - unwrapped: - $ref: '#/components/schemas/GooglePrivacyDlpV2UnwrappedCryptoKey' - description: Unwrapped crypto key - kmsWrapped: - description: Key wrapped using Cloud KMS - $ref: '#/components/schemas/GooglePrivacyDlpV2KmsWrappedCryptoKey' + hybridItem: + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridContentItem' + description: The item to inspect. + id: GooglePrivacyDlpV2HybridInspectJobTriggerRequest + type: object parameters: - callback: - description: JSONP - in: query - name: callback - schema: - type: string fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + callback: + description: JSONP in: query - name: upload_protocol + name: callback schema: type: string - access_token: - description: OAuth access token. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: access_token + name: quotaUser schema: type: string alt: @@ -7750,24 +8035,18 @@ components: - json - media - proto - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: quotaUser + name: prettyPrint schema: - type: string - _.xgafv: - description: V1 error format. + type: boolean + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: $.xgafv + name: oauth_token schema: type: string - enum: - - '1' - - '2' key: description: >- API key. Your API key identifies your project and provides you with API @@ -7777,61 +8056,43 @@ components: name: key schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + _.xgafv: + description: V1 error format. in: query - name: uploadType + name: $.xgafv schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - x-stackQL-resources: - info_types: - id: google.dlp.info_types - name: info_types - title: Info_types - methods: - info_types_list: - operation: - $ref: '#/paths/~1v2~1infoTypes/get' - response: - mediaType: application/json - openAPIDocKey: '200' - locations_info_types_list: - operation: - $ref: '#/paths/~1v2~1locations~1{locationsId}~1infoTypes/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/info_types/methods/locations_info_types_list - - $ref: >- - #/components/x-stackQL-resources/info_types/methods/info_types_list - insert: [] - update: [] - replace: [] - delete: [] + enum: + - '1' + - '2' + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + x-stackQL-resources: stored_info_types: id: google.dlp.stored_info_types name: stored_info_types title: Stored_info_types methods: - projects_stored_info_types_delete: + projects_stored_info_types_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes~1{storedInfoTypesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes~1{storedInfoTypesId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -7842,26 +8103,26 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_stored_info_types_get: + projects_stored_info_types_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes~1{storedInfoTypesId}/get + #/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes~1{storedInfoTypesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_stored_info_types_list: + projects_stored_info_types_create: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes/get' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.storedInfoTypes - projects_stored_info_types_create: + projects_stored_info_types_list: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes/post' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1storedInfoTypes/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.storedInfoTypes projects_locations_stored_info_types_delete: operation: $ref: >- @@ -7869,17 +8130,17 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_locations_stored_info_types_patch: + projects_locations_stored_info_types_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_stored_info_types_get: + projects_locations_stored_info_types_patch: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/patch response: mediaType: application/json openAPIDocKey: '200' @@ -7898,27 +8159,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_stored_info_types_delete: - operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_locations_stored_info_types_patch: - operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_locations_stored_info_types_get: - operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' organizations_locations_stored_info_types_list: operation: $ref: >- @@ -7934,31 +8174,24 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_stored_info_types_delete: - operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes~1{storedInfoTypesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_stored_info_types_patch: + organizations_locations_stored_info_types_patch: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes~1{storedInfoTypesId}/patch + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_stored_info_types_get: + organizations_locations_stored_info_types_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes~1{storedInfoTypesId}/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_stored_info_types_create: + organizations_locations_stored_info_types_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes/post + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1storedInfoTypes~1{storedInfoTypesId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -7970,220 +8203,80 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.storedInfoTypes - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_get - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_get - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_get - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_list - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_list - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_get - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_list - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_list - insert: - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_create - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_create - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_create - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_create - update: - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_patch - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_patch - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_patch - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_delete - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_delete - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_delete - - $ref: >- - #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_delete - job_triggers: - id: google.dlp.job_triggers - name: job_triggers - title: Job_triggers - methods: - projects_job_triggers_activate: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}:activate/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_job_triggers_list: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1jobTriggers/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.jobTriggers - projects_job_triggers_create: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1jobTriggers/post' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_job_triggers_get: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_job_triggers_delete: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - projects_job_triggers_patch: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_job_triggers_list: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.jobTriggers - projects_locations_job_triggers_create: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_job_triggers_get: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_job_triggers_patch: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_job_triggers_delete: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_job_triggers_hybrid_inspect: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}:hybridInspect/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_job_triggers_activate: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}:activate/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_locations_job_triggers_create: - operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_locations_job_triggers_list: + organizations_stored_info_types_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers/get + #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.jobTriggers - organizations_locations_job_triggers_patch: + organizations_stored_info_types_patch: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/patch + #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes~1{storedInfoTypesId}/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_job_triggers_get: + organizations_stored_info_types_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/get + #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes~1{storedInfoTypesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_job_triggers_delete: + organizations_stored_info_types_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/delete + #/paths/~1v2~1organizations~1{organizationsId}~1storedInfoTypes~1{storedInfoTypesId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_get + #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_get + - $ref: >- + #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_get + - $ref: >- + #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_get - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_get + #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_list - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_get + #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_list - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_list + #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_get - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_list + #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_list - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_list + #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_list insert: - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_create + #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_create - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_create + #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_create - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_create + #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_create + - $ref: >- + #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_create update: - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_patch + #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_patch - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_patch + #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_patch - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_patch + #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_patch + - $ref: >- + #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_delete + #/components/x-stackQL-resources/stored_info_types/methods/projects_locations_stored_info_types_delete - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_delete + #/components/x-stackQL-resources/stored_info_types/methods/organizations_locations_stored_info_types_delete - $ref: >- - #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_delete + #/components/x-stackQL-resources/stored_info_types/methods/projects_stored_info_types_delete + - $ref: >- + #/components/x-stackQL-resources/stored_info_types/methods/organizations_stored_info_types_delete deidentify_templates: id: google.dlp.deidentify_templates name: deidentify_templates @@ -8196,17 +8289,17 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_deidentify_templates_get: + projects_deidentify_templates_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/get + #/paths/~1v2~1projects~1{projectsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_deidentify_templates_delete: + projects_deidentify_templates_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/get response: mediaType: application/json openAPIDocKey: '200' @@ -8223,21 +8316,6 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.deidentifyTemplates - projects_locations_deidentify_templates_list: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1deidentifyTemplates/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.deidentifyTemplates - projects_locations_deidentify_templates_create: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1deidentifyTemplates/post - response: - mediaType: application/json - openAPIDocKey: '200' projects_locations_deidentify_templates_patch: operation: $ref: >- @@ -8259,17 +8337,18 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_deidentify_templates_delete: + projects_locations_deidentify_templates_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1deidentifyTemplates/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_deidentify_templates_get: + objectKey: $.deidentifyTemplates + projects_locations_deidentify_templates_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1deidentifyTemplates/post response: mediaType: application/json openAPIDocKey: '200' @@ -8280,32 +8359,31 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_deidentify_templates_list: + organizations_locations_deidentify_templates_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deidentifyTemplates - organizations_locations_deidentify_templates_create: + organizations_locations_deidentify_templates_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates/post + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_deidentify_templates_create: + organizations_locations_deidentify_templates_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1deidentifyTemplates/post + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates/post response: mediaType: application/json openAPIDocKey: '200' - organizations_deidentify_templates_list: + organizations_locations_deidentify_templates_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1deidentifyTemplates/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1deidentifyTemplates/get response: mediaType: application/json openAPIDocKey: '200' @@ -8317,6 +8395,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + organizations_deidentify_templates_patch: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' organizations_deidentify_templates_delete: operation: $ref: >- @@ -8324,13 +8409,21 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_deidentify_templates_patch: + organizations_deidentify_templates_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1deidentifyTemplates~1{deidentifyTemplatesId}/patch + #/paths/~1v2~1organizations~1{organizationsId}~1deidentifyTemplates/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_deidentify_templates_list: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1deidentifyTemplates/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.deidentifyTemplates sqlVerbs: select: - $ref: >- @@ -8377,271 +8470,200 @@ components: #/components/x-stackQL-resources/deidentify_templates/methods/projects_deidentify_templates_delete - $ref: >- #/components/x-stackQL-resources/deidentify_templates/methods/organizations_deidentify_templates_delete - content: - id: google.dlp.content - name: content - title: Content + dlp_jobs: + id: google.dlp.dlp_jobs + name: dlp_jobs + title: Dlp_jobs methods: - projects_content_deidentify: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1content:deidentify/post' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_content_reidentify: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1content:reidentify/post' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_content_inspect: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1content:inspect/post' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_content_inspect: - operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1content:inspect/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_content_reidentify: + projects_dlp_jobs_create: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1content:reidentify/post + $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs/post' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_content_deidentify: + projects_dlp_jobs_list: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1content:deidentify/post + $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs/get' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - column_data_profiles: - id: google.dlp.column_data_profiles - name: column_data_profiles - title: Column_data_profiles - methods: - projects_locations_column_data_profiles_get: + objectKey: $.jobs + projects_dlp_jobs_cancel: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1columnDataProfiles~1{columnDataProfilesId}/get + #/paths/~1v2~1projects~1{projectsId}~1dlpJobs~1{dlpJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_column_data_profiles_list: + projects_dlp_jobs_delete: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1columnDataProfiles/get + $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs~1{dlpJobsId}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.columnDataProfiles - organizations_locations_column_data_profiles_get: + projects_dlp_jobs_get: operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1columnDataProfiles~1{columnDataProfilesId}/get + $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs~1{dlpJobsId}/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_column_data_profiles_list: + projects_locations_dlp_jobs_hybrid_inspect: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1columnDataProfiles/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}:hybridInspect/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.columnDataProfiles - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/column_data_profiles/methods/projects_locations_column_data_profiles_get - - $ref: >- - #/components/x-stackQL-resources/column_data_profiles/methods/organizations_locations_column_data_profiles_get - - $ref: >- - #/components/x-stackQL-resources/column_data_profiles/methods/projects_locations_column_data_profiles_list - - $ref: >- - #/components/x-stackQL-resources/column_data_profiles/methods/organizations_locations_column_data_profiles_list - insert: [] - update: [] - replace: [] - delete: [] - image: - id: google.dlp.image - name: image - title: Image - methods: - projects_locations_image_redact: + projects_locations_dlp_jobs_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1image:redact/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_image_redact: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1image:redact/post' + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - file_store_data_profiles: - id: google.dlp.file_store_data_profiles - name: file_store_data_profiles - title: File_store_data_profiles - methods: - projects_locations_file_store_data_profiles_get: + projects_locations_dlp_jobs_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_file_store_data_profiles_delete: + projects_locations_dlp_jobs_finish: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}:finish/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_file_store_data_profiles_list: + projects_locations_dlp_jobs_cancel: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1fileStoreDataProfiles/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.fileStoreDataProfiles - organizations_locations_file_store_data_profiles_delete: + projects_locations_dlp_jobs_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_file_store_data_profiles_get: + projects_locations_dlp_jobs_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_file_store_data_profiles_list: + objectKey: $.jobs + organizations_locations_dlp_jobs_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1fileStoreDataProfiles/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1dlpJobs/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.fileStoreDataProfiles + objectKey: $.jobs sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/file_store_data_profiles/methods/projects_locations_file_store_data_profiles_get + #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_get - $ref: >- - #/components/x-stackQL-resources/file_store_data_profiles/methods/organizations_locations_file_store_data_profiles_get + #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_get + - $ref: >- + #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_list + - $ref: >- + #/components/x-stackQL-resources/dlp_jobs/methods/organizations_locations_dlp_jobs_list + - $ref: >- + #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_list + insert: - $ref: >- - #/components/x-stackQL-resources/file_store_data_profiles/methods/projects_locations_file_store_data_profiles_list + #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_create - $ref: >- - #/components/x-stackQL-resources/file_store_data_profiles/methods/organizations_locations_file_store_data_profiles_list - insert: [] + #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_create update: [] replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/file_store_data_profiles/methods/projects_locations_file_store_data_profiles_delete + #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_delete - $ref: >- - #/components/x-stackQL-resources/file_store_data_profiles/methods/organizations_locations_file_store_data_profiles_delete + #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_delete inspect_templates: id: google.dlp.inspect_templates name: inspect_templates title: Inspect_templates methods: - projects_locations_inspect_templates_create: + projects_inspect_templates_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates/post + #/paths/~1v2~1projects~1{projectsId}~1inspectTemplates~1{inspectTemplatesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_inspect_templates_list: + projects_inspect_templates_patch: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates/get + #/paths/~1v2~1projects~1{projectsId}~1inspectTemplates~1{inspectTemplatesId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.inspectTemplates - projects_locations_inspect_templates_delete: + projects_inspect_templates_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1inspectTemplates~1{inspectTemplatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_inspect_templates_get: + projects_inspect_templates_create: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/get + $ref: '#/paths/~1v2~1projects~1{projectsId}~1inspectTemplates/post' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_inspect_templates_patch: + projects_inspect_templates_list: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/patch + $ref: '#/paths/~1v2~1projects~1{projectsId}~1inspectTemplates/get' response: mediaType: application/json openAPIDocKey: '200' - projects_inspect_templates_get: + objectKey: $.inspectTemplates + projects_locations_inspect_templates_create: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1inspectTemplates~1{inspectTemplatesId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates/post response: mediaType: application/json openAPIDocKey: '200' - projects_inspect_templates_patch: + projects_locations_inspect_templates_list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1inspectTemplates~1{inspectTemplatesId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates/get response: mediaType: application/json openAPIDocKey: '200' - projects_inspect_templates_delete: + objectKey: $.inspectTemplates + projects_locations_inspect_templates_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1inspectTemplates~1{inspectTemplatesId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_inspect_templates_create: + projects_locations_inspect_templates_patch: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1inspectTemplates/post' + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_inspect_templates_list: + projects_locations_inspect_templates_delete: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1inspectTemplates/get' + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.inspectTemplates organizations_locations_inspect_templates_get: operation: $ref: >- @@ -8649,13 +8671,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_inspect_templates_delete: - operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' organizations_locations_inspect_templates_patch: operation: $ref: >- @@ -8663,10 +8678,10 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_inspect_templates_create: + organizations_locations_inspect_templates_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1inspectTemplates/post + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1inspectTemplates~1{inspectTemplatesId}/delete response: mediaType: application/json openAPIDocKey: '200' @@ -8678,10 +8693,10 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.inspectTemplates - organizations_inspect_templates_patch: + organizations_locations_inspect_templates_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1inspectTemplates~1{inspectTemplatesId}/patch + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1inspectTemplates/post response: mediaType: application/json openAPIDocKey: '200' @@ -8699,10 +8714,10 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_inspect_templates_create: + organizations_inspect_templates_patch: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1inspectTemplates/post + #/paths/~1v2~1organizations~1{organizationsId}~1inspectTemplates~1{inspectTemplatesId}/patch response: mediaType: application/json openAPIDocKey: '200' @@ -8714,16 +8729,23 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.inspectTemplates + organizations_inspect_templates_create: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1inspectTemplates/post + response: + mediaType: application/json + openAPIDocKey: '200' sqlVerbs: select: - $ref: >- #/components/x-stackQL-resources/inspect_templates/methods/projects_locations_inspect_templates_get - $ref: >- #/components/x-stackQL-resources/inspect_templates/methods/organizations_locations_inspect_templates_get - - $ref: >- - #/components/x-stackQL-resources/inspect_templates/methods/projects_locations_inspect_templates_list - $ref: >- #/components/x-stackQL-resources/inspect_templates/methods/projects_inspect_templates_get + - $ref: >- + #/components/x-stackQL-resources/inspect_templates/methods/projects_locations_inspect_templates_list - $ref: >- #/components/x-stackQL-resources/inspect_templates/methods/organizations_locations_inspect_templates_list - $ref: >- @@ -8760,192 +8782,315 @@ components: #/components/x-stackQL-resources/inspect_templates/methods/projects_inspect_templates_delete - $ref: >- #/components/x-stackQL-resources/inspect_templates/methods/organizations_inspect_templates_delete - dlp_jobs: - id: google.dlp.dlp_jobs - name: dlp_jobs - title: Dlp_jobs + job_triggers: + id: google.dlp.job_triggers + name: job_triggers + title: Job_triggers methods: - projects_locations_dlp_jobs_hybrid_inspect: + projects_job_triggers_list: + operation: + $ref: '#/paths/~1v2~1projects~1{projectsId}~1jobTriggers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.jobTriggers + projects_job_triggers_create: + operation: + $ref: '#/paths/~1v2~1projects~1{projectsId}~1jobTriggers/post' + response: + mediaType: application/json + openAPIDocKey: '200' + projects_job_triggers_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}:hybridInspect/post + #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_dlp_jobs_delete: + projects_job_triggers_delete: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_job_triggers_patch: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_job_triggers_activate: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1jobTriggers~1{jobTriggersId}:activate/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_job_triggers_patch: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_job_triggers_get: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_job_triggers_delete: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_job_triggers_list: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.jobTriggers + projects_locations_job_triggers_create: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_job_triggers_hybrid_inspect: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}:hybridInspect/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_job_triggers_activate: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}:activate/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_job_triggers_create: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers/post + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_job_triggers_list: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.jobTriggers + organizations_locations_job_triggers_patch: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_job_triggers_get: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_job_triggers_delete: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1jobTriggers~1{jobTriggersId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_get + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_get + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_get + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_list + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_list + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_list + insert: + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_create + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_create + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_create + update: + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_patch + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_patch + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_locations_job_triggers_delete + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/organizations_locations_job_triggers_delete + - $ref: >- + #/components/x-stackQL-resources/job_triggers/methods/projects_job_triggers_delete + image: + id: google.dlp.image + name: image + title: Image + methods: + projects_image_redact: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}/delete + $ref: '#/paths/~1v2~1projects~1{projectsId}~1image:redact/post' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_dlp_jobs_get: + projects_locations_image_redact: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1image:redact/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_dlp_jobs_cancel: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + connections: + id: google.dlp.connections + name: connections + title: Connections + methods: + projects_locations_connections_search: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}:cancel/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections:search/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_dlp_jobs_create: + projects_locations_connections_create: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_dlp_jobs_list: + projects_locations_connections_list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.jobs - projects_locations_dlp_jobs_finish: + objectKey: $.connections + projects_locations_connections_patch: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1dlpJobs~1{dlpJobsId}:finish/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_dlp_jobs_create: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs/post' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_dlp_jobs_list: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs/get' + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.jobs - projects_dlp_jobs_cancel: + projects_locations_connections_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1dlpJobs~1{dlpJobsId}:cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_dlp_jobs_get: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs~1{dlpJobsId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_dlp_jobs_delete: - operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1dlpJobs~1{dlpJobsId}/delete' + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_dlp_jobs_list: + projects_locations_connections_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1dlpJobs/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.jobs - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_get - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_list - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_get - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/organizations_locations_dlp_jobs_list - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_list - insert: - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_create - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_create - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_locations_dlp_jobs_delete - - $ref: >- - #/components/x-stackQL-resources/dlp_jobs/methods/projects_dlp_jobs_delete - table_data_profiles: - id: google.dlp.table_data_profiles - name: table_data_profiles - title: Table_data_profiles - methods: - projects_locations_table_data_profiles_get: + organizations_locations_connections_search: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections:search/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_table_data_profiles_delete: + organizations_locations_connections_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/delete + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections~1{connectionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_table_data_profiles_list: + organizations_locations_connections_patch: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1tableDataProfiles/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections~1{connectionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tableDataProfiles - organizations_locations_table_data_profiles_list: + organizations_locations_connections_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1tableDataProfiles/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections~1{connectionsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tableDataProfiles - organizations_locations_table_data_profiles_delete: + organizations_locations_connections_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/delete + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_table_data_profiles_get: + organizations_locations_connections_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.connections sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/table_data_profiles/methods/projects_locations_table_data_profiles_get + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_get - $ref: >- - #/components/x-stackQL-resources/table_data_profiles/methods/organizations_locations_table_data_profiles_get + #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_get - $ref: >- - #/components/x-stackQL-resources/table_data_profiles/methods/projects_locations_table_data_profiles_list + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_list - $ref: >- - #/components/x-stackQL-resources/table_data_profiles/methods/organizations_locations_table_data_profiles_list - insert: [] - update: [] + #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_list + insert: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_create + - $ref: >- + #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_create + update: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_patch + - $ref: >- + #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/table_data_profiles/methods/projects_locations_table_data_profiles_delete + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_delete - $ref: >- - #/components/x-stackQL-resources/table_data_profiles/methods/organizations_locations_table_data_profiles_delete + #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_delete project_data_profiles: id: google.dlp.project_data_profiles name: project_data_profiles @@ -8995,284 +9140,389 @@ components: update: [] replace: [] delete: [] - connections: - id: google.dlp.connections - name: connections - title: Connections + discovery_configs: + id: google.dlp.discovery_configs + name: discovery_configs + title: Discovery_configs methods: - projects_locations_connections_create: + projects_locations_discovery_configs_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_list: + projects_locations_discovery_configs_delete: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.connections - projects_locations_connections_patch: + projects_locations_discovery_configs_patch: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_discovery_configs_create: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_discovery_configs_list: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.discoveryConfigs + organizations_locations_discovery_configs_get: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_discovery_configs_delete: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_discovery_configs_patch: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + organizations_locations_discovery_configs_list: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.discoveryConfigs + organizations_locations_discovery_configs_create: + operation: + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_get + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_get + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_list + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_list + insert: + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_create + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_create + update: + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_patch + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_delete + - $ref: >- + #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_delete + column_data_profiles: + id: google.dlp.column_data_profiles + name: column_data_profiles + title: Column_data_profiles + methods: + projects_locations_column_data_profiles_list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1columnDataProfiles/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_get: + objectKey: $.columnDataProfiles + projects_locations_column_data_profiles_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1columnDataProfiles~1{columnDataProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_delete: + organizations_locations_column_data_profiles_list: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}/delete + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1columnDataProfiles/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_connections_search: + objectKey: $.columnDataProfiles + organizations_locations_column_data_profiles_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1connections:search/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1columnDataProfiles~1{columnDataProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_connections_get: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/column_data_profiles/methods/projects_locations_column_data_profiles_get + - $ref: >- + #/components/x-stackQL-resources/column_data_profiles/methods/organizations_locations_column_data_profiles_get + - $ref: >- + #/components/x-stackQL-resources/column_data_profiles/methods/projects_locations_column_data_profiles_list + - $ref: >- + #/components/x-stackQL-resources/column_data_profiles/methods/organizations_locations_column_data_profiles_list + insert: [] + update: [] + replace: [] + delete: [] + table_data_profiles: + id: google.dlp.table_data_profiles + name: table_data_profiles + title: Table_data_profiles + methods: + projects_locations_table_data_profiles_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections~1{connectionsId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_connections_delete: + projects_locations_table_data_profiles_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections~1{connectionsId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_connections_patch: + projects_locations_table_data_profiles_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections~1{connectionsId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1tableDataProfiles/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_connections_create: + objectKey: $.tableDataProfiles + organizations_locations_table_data_profiles_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections/post + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_connections_list: + organizations_locations_table_data_profiles_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1tableDataProfiles~1{tableDataProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.connections - organizations_locations_connections_search: + organizations_locations_table_data_profiles_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1connections:search/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1tableDataProfiles/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.tableDataProfiles sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_get - - $ref: >- - #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_get - - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_list - - $ref: >- - #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_list - insert: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_create + #/components/x-stackQL-resources/table_data_profiles/methods/projects_locations_table_data_profiles_get - $ref: >- - #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_create - update: + #/components/x-stackQL-resources/table_data_profiles/methods/organizations_locations_table_data_profiles_get - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_patch + #/components/x-stackQL-resources/table_data_profiles/methods/projects_locations_table_data_profiles_list - $ref: >- - #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_patch + #/components/x-stackQL-resources/table_data_profiles/methods/organizations_locations_table_data_profiles_list + insert: [] + update: [] replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_delete + #/components/x-stackQL-resources/table_data_profiles/methods/projects_locations_table_data_profiles_delete - $ref: >- - #/components/x-stackQL-resources/connections/methods/organizations_locations_connections_delete - discovery_configs: - id: google.dlp.discovery_configs - name: discovery_configs - title: Discovery_configs + #/components/x-stackQL-resources/table_data_profiles/methods/organizations_locations_table_data_profiles_delete + content: + id: google.dlp.content + name: content + title: Content methods: - projects_locations_discovery_configs_patch: + projects_locations_content_reidentify: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1content:reidentify/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_discovery_configs_delete: + projects_locations_content_deidentify: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1content:deidentify/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_discovery_configs_get: + projects_locations_content_inspect: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/get + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1content:inspect/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_discovery_configs_list: + projects_content_inspect: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs/get + $ref: '#/paths/~1v2~1projects~1{projectsId}~1content:inspect/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.discoveryConfigs - projects_locations_discovery_configs_create: + projects_content_deidentify: + operation: + $ref: '#/paths/~1v2~1projects~1{projectsId}~1content:deidentify/post' + response: + mediaType: application/json + openAPIDocKey: '200' + projects_content_reidentify: + operation: + $ref: '#/paths/~1v2~1projects~1{projectsId}~1content:reidentify/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + file_store_data_profiles: + id: google.dlp.file_store_data_profiles + name: file_store_data_profiles + title: File_store_data_profiles + methods: + projects_locations_file_store_data_profiles_get: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1discoveryConfigs/post + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_discovery_configs_patch: + projects_locations_file_store_data_profiles_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/patch + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_discovery_configs_delete: + projects_locations_file_store_data_profiles_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/delete + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1fileStoreDataProfiles/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_discovery_configs_get: + objectKey: $.fileStoreDataProfiles + organizations_locations_file_store_data_profiles_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs~1{discoveryConfigsId}/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_discovery_configs_list: + organizations_locations_file_store_data_profiles_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs/get + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1fileStoreDataProfiles~1{fileStoreDataProfilesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.discoveryConfigs - organizations_locations_discovery_configs_create: + organizations_locations_file_store_data_profiles_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1discoveryConfigs/post + #/paths/~1v2~1organizations~1{organizationsId}~1locations~1{locationsId}~1fileStoreDataProfiles/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.fileStoreDataProfiles sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_get - - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_get - - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_list - - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_list - insert: - - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_create + #/components/x-stackQL-resources/file_store_data_profiles/methods/projects_locations_file_store_data_profiles_get - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_create - update: + #/components/x-stackQL-resources/file_store_data_profiles/methods/organizations_locations_file_store_data_profiles_get - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_patch + #/components/x-stackQL-resources/file_store_data_profiles/methods/projects_locations_file_store_data_profiles_list - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_patch + #/components/x-stackQL-resources/file_store_data_profiles/methods/organizations_locations_file_store_data_profiles_list + insert: [] + update: [] replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/projects_locations_discovery_configs_delete + #/components/x-stackQL-resources/file_store_data_profiles/methods/projects_locations_file_store_data_profiles_delete - $ref: >- - #/components/x-stackQL-resources/discovery_configs/methods/organizations_locations_discovery_configs_delete -paths: - /v2/infoTypes: - parameters: &ref_1 - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/prettyPrint' - get: - description: >- - 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. - operationId: dlp.infoTypes.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListInfoTypesResponse' - parameters: - - in: query - name: locationId - schema: - type: string - - in: query - name: languageCode - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: parent - schema: - type: string + #/components/x-stackQL-resources/file_store_data_profiles/methods/organizations_locations_file_store_data_profiles_delete + info_types: + id: google.dlp.info_types + name: info_types + title: Info_types + methods: + info_types_list: + operation: + $ref: '#/paths/~1v2~1infoTypes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + locations_info_types_list: + operation: + $ref: '#/paths/~1v2~1locations~1{locationsId}~1infoTypes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/info_types/methods/locations_info_types_list + - $ref: >- + #/components/x-stackQL-resources/info_types/methods/info_types_list + insert: [] + update: [] + replace: [] + delete: [] +paths: /v2/projects/{projectsId}/storedInfoTypes/{storedInfoTypesId}: - parameters: *ref_1 - delete: + parameters: &ref_1 + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/upload_protocol' + get: description: >- - Deletes a stored infoType. See + Gets a stored infoType. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.projects.storedInfoTypes.delete + operationId: dlp.projects.storedInfoTypes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9284,7 +9534,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: projectsId @@ -9332,12 +9582,12 @@ paths: required: true schema: type: string - get: + delete: description: >- - Gets a stored infoType. See + Deletes a stored infoType. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.projects.storedInfoTypes.get + operationId: dlp.projects.storedInfoTypes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9349,7 +9599,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -9363,6 +9613,36 @@ paths: type: string /v2/projects/{projectsId}/storedInfoTypes: parameters: *ref_1 + post: + description: >- + Creates a pre-built stored infoType to be used for inspection. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + to learn more. + operationId: dlp.projects.storedInfoTypes.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string get: description: >- Lists stored infoTypes. See @@ -9389,34 +9669,36 @@ paths: schema: type: string - in: query - name: orderBy + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: locationId schema: type: string - in: query - name: pageSize + name: orderBy schema: - type: integer - format: int32 + type: string - in: query name: pageToken schema: type: string - post: + /v2/projects/{projectsId}/deidentifyTemplates/{deidentifyTemplatesId}: + parameters: *ref_1 + patch: description: >- - Creates a pre-built stored infoType to be used for inspection. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Updates the DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.projects.storedInfoTypes.create + operationId: dlp.projects.deidentifyTemplates.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest + #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9428,25 +9710,91 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/jobTriggers/{jobTriggersId}:activate: + - in: path + name: deidentifyTemplatesId + required: true + schema: + type: string + delete: + description: >- + Deletes a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.projects.deidentifyTemplates.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: deidentifyTemplatesId + required: true + schema: + type: string + get: + description: >- + Gets a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.projects.deidentifyTemplates.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: deidentifyTemplatesId + required: true + schema: + type: string + /v2/projects/{projectsId}/deidentifyTemplates: parameters: *ref_1 post: description: >- - Activate a job trigger. Causes the immediate execute of a trigger - instead of waiting on the trigger event to occur. - operationId: dlp.projects.jobTriggers.activate + Creates a DeidentifyTemplate for reusing frequently used configuration + for de-identifying content, images, and storage. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.projects.deidentifyTemplates.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ActivateJobTriggerRequest' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9458,26 +9806,99 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: projectsId required: true schema: type: string + get: + description: >- + Lists DeidentifyTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.projects.deidentifyTemplates.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + parameters: - in: path - name: jobTriggersId + name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/jobTriggers: + - in: query + name: orderBy + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: locationId + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v2/projects/{projectsId}/dlpJobs: parameters: *ref_1 + post: + description: >- + 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. + operationId: dlp.projects.dlpJobs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateDlpJobRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string get: description: >- - Lists job triggers. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + 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. - operationId: dlp.projects.jobTriggers.list + operationId: dlp.projects.dlpJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9489,7 +9910,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListJobTriggersResponse' + $ref: '#/components/schemas/GooglePrivacyDlpV2ListDlpJobsResponse' parameters: - in: path name: projectsId @@ -9497,42 +9918,47 @@ paths: schema: type: string - in: query - name: orderBy + name: filter schema: type: string - in: query - name: filter + name: locationId schema: type: string - in: query - name: pageToken + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: locationId + name: orderBy schema: type: string - in: query - name: type + name: pageToken schema: type: string - in: query - name: pageSize + name: type schema: - type: integer - format: int32 + type: string + /v2/projects/{projectsId}/dlpJobs/{dlpJobsId}:cancel: + parameters: *ref_1 post: description: >- - Creates a job trigger to run DLP actions such as scanning storage for - sensitive information on a set schedule. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + 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. - operationId: dlp.projects.jobTriggers.create + operationId: dlp.projects.dlpJobs.cancel requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateJobTriggerRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2CancelDlpJobRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9544,21 +9970,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/jobTriggers/{jobTriggersId}: + - in: path + name: dlpJobsId + required: true + schema: + type: string + /v2/projects/{projectsId}/dlpJobs/{dlpJobsId}: parameters: *ref_1 - get: + delete: description: >- - Gets a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + 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. - operationId: dlp.projects.jobTriggers.get + operationId: dlp.projects.dlpJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9570,7 +10005,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -9578,16 +10013,18 @@ paths: schema: type: string - in: path - name: jobTriggersId + name: dlpJobsId required: true schema: type: string - delete: + get: description: >- - Deletes a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + Gets the latest state of a long-running DlpJob. 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. - operationId: dlp.projects.jobTriggers.delete + operationId: dlp.projects.dlpJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9599,7 +10036,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' parameters: - in: path name: projectsId @@ -9607,21 +10044,18 @@ paths: schema: type: string - in: path - name: jobTriggersId + name: dlpJobsId required: true schema: type: string - patch: + /v2/projects/{projectsId}/inspectTemplates/{inspectTemplatesId}: + parameters: *ref_1 + get: description: >- - Updates a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + Gets an InspectTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.jobTriggers.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateJobTriggerRequest' + operationId: dlp.projects.inspectTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9633,7 +10067,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: projectsId @@ -9641,24 +10075,22 @@ paths: schema: type: string - in: path - name: jobTriggersId + name: inspectTemplatesId required: true schema: type: string - /v2/projects/{projectsId}/deidentifyTemplates/{deidentifyTemplatesId}: - parameters: *ref_1 patch: description: >- - Updates the DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Updates the InspectTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.deidentifyTemplates.patch + operationId: dlp.projects.inspectTemplates.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest + #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9670,7 +10102,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: projectsId @@ -9678,16 +10110,16 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: inspectTemplatesId required: true schema: type: string - get: + delete: description: >- - Gets a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Deletes an InspectTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.deidentifyTemplates.get + operationId: dlp.projects.inspectTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9699,7 +10131,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -9707,16 +10139,25 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: inspectTemplatesId required: true schema: type: string - delete: + /v2/projects/{projectsId}/inspectTemplates: + parameters: *ref_1 + post: description: >- - Deletes a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Creates an InspectTemplate for reusing frequently used configuration for + inspecting content, images, and storage. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.deidentifyTemplates.delete + operationId: dlp.projects.inspectTemplates.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateInspectTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9728,33 +10169,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: deidentifyTemplatesId - required: true - schema: - type: string - /v2/projects/{projectsId}/deidentifyTemplates: - parameters: *ref_1 - post: + get: description: >- - Creates a DeidentifyTemplate for reusing frequently used configuration - for de-identifying content, images, and storage. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Lists InspectTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.deidentifyTemplates.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest + operationId: dlp.projects.inspectTemplates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9766,19 +10193,39 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListInspectTemplatesResponse parameters: - in: path name: projectsId required: true schema: type: string + - in: query + name: locationId + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v2/projects/{projectsId}/jobTriggers: + parameters: *ref_1 get: description: >- - Lists DeidentifyTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Lists job triggers. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. - operationId: dlp.projects.deidentifyTemplates.list + operationId: dlp.projects.jobTriggers.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9790,8 +10237,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2ListJobTriggersResponse' parameters: - in: path name: projectsId @@ -9799,12 +10245,15 @@ paths: schema: type: string - in: query - name: pageSize + name: locationId schema: - type: integer - format: int32 + type: string - in: query - name: locationId + name: orderBy + schema: + type: string + - in: query + name: filter schema: type: string - in: query @@ -9812,26 +10261,52 @@ paths: schema: type: string - in: query - name: orderBy + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: type schema: type: string - /v2/projects/{projectsId}/content:deidentify: - parameters: *ref_1 post: description: >- - De-identifies potentially sensitive info from a ContentItem. This method - has limits on input size and output size. See - https://cloud.google.com/sensitive-data-protection/docs/deidentify-sensitive-data - 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. - operationId: dlp.projects.content.deidentify + Creates a job trigger to run DLP actions such as scanning storage for + sensitive information on a set schedule. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.jobTriggers.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyContentRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateJobTriggerRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + /v2/projects/{projectsId}/jobTriggers/{jobTriggersId}: + parameters: *ref_1 + get: + description: >- + Gets a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.jobTriggers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9843,27 +10318,24 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DeidentifyContentResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/content:reidentify: - parameters: *ref_1 - post: + - in: path + name: jobTriggersId + required: true + schema: + type: string + delete: description: >- - Re-identifies content that has been de-identified. See - https://cloud.google.com/sensitive-data-protection/docs/pseudonymization#re-identification_in_free_text_code_example + Deletes a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. - operationId: dlp.projects.content.reidentify - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ReidentifyContentRequest' + operationId: dlp.projects.jobTriggers.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9875,33 +10347,29 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ReidentifyContentResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/content:inspect: - parameters: *ref_1 - post: + - in: path + name: jobTriggersId + required: true + schema: + type: string + patch: description: >- - Finds potentially sensitive info in content. This method has limits on - input size, processing time, and output size. 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. For how to - guides, see - https://cloud.google.com/sensitive-data-protection/docs/inspecting-images - and - https://cloud.google.com/sensitive-data-protection/docs/inspecting-text, - operationId: dlp.projects.content.inspect + Updates a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.jobTriggers.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9913,18 +10381,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentResponse' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/columnDataProfiles/{columnDataProfilesId}: + - in: path + name: jobTriggersId + required: true + schema: + type: string + /v2/projects/{projectsId}/jobTriggers/{jobTriggersId}:activate: parameters: *ref_1 - get: - description: Gets a column data profile. - operationId: dlp.projects.locations.columnDataProfiles.get + post: + description: >- + Activate a job trigger. Causes the immediate execute of a trigger + instead of waiting on the trigger event to occur. + operationId: dlp.projects.jobTriggers.activate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2ActivateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9936,7 +10416,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' parameters: - in: path name: projectsId @@ -9944,20 +10424,27 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: columnDataProfilesId + name: jobTriggersId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/columnDataProfiles: + /v2/projects/{projectsId}/image:redact: parameters: *ref_1 - get: - description: Lists column data profiles for an organization. - operationId: dlp.projects.locations.columnDataProfiles.list + post: + description: >- + 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. + operationId: dlp.projects.image.redact + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -9969,55 +10456,26 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListColumnDataProfilesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/content:inspect: + /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}:hybridInspect: parameters: *ref_1 post: description: >- - Finds potentially sensitive info in content. This method has limits on - input size, processing time, and output size. 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. For how to - guides, see - https://cloud.google.com/sensitive-data-protection/docs/inspecting-images - and - https://cloud.google.com/sensitive-data-protection/docs/inspecting-text, - operationId: dlp.projects.locations.content.inspect + Inspect hybrid content and store findings to a job. To review the + findings, inspect the job. Inspection will occur asynchronously. + operationId: dlp.projects.locations.dlpJobs.hybridInspect requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentRequest' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2HybridInspectDlpJobRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10029,7 +10487,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentResponse' + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridInspectResponse' parameters: - in: path name: projectsId @@ -10041,19 +10499,21 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/content:reidentify: + - in: path + name: dlpJobsId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}: parameters: *ref_1 - post: + get: description: >- - Re-identifies content that has been de-identified. See - https://cloud.google.com/sensitive-data-protection/docs/pseudonymization#re-identification_in_free_text_code_example + Gets the latest state of a long-running DlpJob. 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. - operationId: dlp.projects.locations.content.reidentify - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ReidentifyContentRequest' + operationId: dlp.projects.locations.dlpJobs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10065,8 +10525,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ReidentifyContentResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' parameters: - in: path name: projectsId @@ -10078,23 +10537,21 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/content:deidentify: - parameters: *ref_1 - post: + - in: path + name: dlpJobsId + required: true + schema: + type: string + delete: description: >- - De-identifies potentially sensitive info from a ContentItem. This method - has limits on input size and output size. See - https://cloud.google.com/sensitive-data-protection/docs/deidentify-sensitive-data - 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. - operationId: dlp.projects.locations.content.deidentify - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyContentRequest' + 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. + operationId: dlp.projects.locations.dlpJobs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10106,8 +10563,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2DeidentifyContentResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10119,23 +10575,23 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/image:redact: + - in: path + name: dlpJobsId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}:finish: parameters: *ref_1 post: description: >- - 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. - operationId: dlp.projects.locations.image.redact + Finish a running hybrid DlpJob. Triggers the finalization steps and + running of any enabled actions that have not yet run. + operationId: dlp.projects.locations.dlpJobs.finish requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2FinishDlpJobRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10147,7 +10603,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageResponse' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10159,11 +10615,28 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/fileStoreDataProfiles/{fileStoreDataProfilesId}: + - in: path + name: dlpJobsId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}:cancel: parameters: *ref_1 - get: - description: Gets a file store data profile. - operationId: dlp.projects.locations.fileStoreDataProfiles.get + post: + description: >- + 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. + operationId: dlp.projects.locations.dlpJobs.cancel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2CancelDlpJobRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10175,7 +10648,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10188,16 +10661,28 @@ paths: schema: type: string - in: path - name: fileStoreDataProfilesId + name: dlpJobsId required: true schema: type: string - delete: + /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs: + parameters: *ref_1 + post: description: >- - Delete a FileStoreDataProfile. Will not prevent the profile from being - regenerated if the resource is still included in a discovery - configuration. - operationId: dlp.projects.locations.fileStoreDataProfiles.delete + 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. + operationId: dlp.projects.locations.dlpJobs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateDlpJobRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10209,7 +10694,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' parameters: - in: path name: projectsId @@ -10221,16 +10706,14 @@ paths: required: true schema: type: string - - in: path - name: fileStoreDataProfilesId - required: true - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/fileStoreDataProfiles: - parameters: *ref_1 get: - description: Lists file store data profiles for an organization. - operationId: dlp.projects.locations.fileStoreDataProfiles.list + description: >- + 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. + operationId: dlp.projects.locations.dlpJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10242,8 +10725,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListFileStoreDataProfilesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2ListDlpJobsResponse' parameters: - in: path name: projectsId @@ -10255,16 +10737,12 @@ paths: required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - in: query name: filter schema: type: string - in: query - name: pageToken + name: type schema: type: string - in: query @@ -10272,6 +10750,18 @@ paths: schema: type: integer format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: locationId + schema: + type: string + - in: query + name: orderBy + schema: + type: string /v2/projects/{projectsId}/locations/{locationsId}/inspectTemplates: parameters: *ref_1 post: @@ -10345,7 +10835,7 @@ paths: schema: type: string - in: query - name: orderBy + name: locationId schema: type: string - in: query @@ -10354,17 +10844,17 @@ paths: type: integer format: int32 - in: query - name: locationId + name: orderBy schema: type: string /v2/projects/{projectsId}/locations/{locationsId}/inspectTemplates/{inspectTemplatesId}: parameters: *ref_1 - delete: + get: description: >- - Deletes an InspectTemplate. See + Gets an InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.locations.inspectTemplates.delete + operationId: dlp.projects.locations.inspectTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10376,7 +10866,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: projectsId @@ -10393,12 +10883,18 @@ paths: required: true schema: type: string - get: + patch: description: >- - Gets an InspectTemplate. See + Updates the InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.locations.inspectTemplates.get + operationId: dlp.projects.locations.inspectTemplates.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10427,18 +10923,92 @@ paths: required: true schema: type: string - patch: + delete: description: >- - Updates the InspectTemplate. See + Deletes an InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.projects.locations.inspectTemplates.patch + operationId: dlp.projects.locations.inspectTemplates.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: inspectTemplatesId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/connections:search: + parameters: *ref_1 + get: + description: Searches for Connections in a parent. + operationId: dlp.projects.locations.connections.search + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2SearchConnectionsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v2/projects/{projectsId}/locations/{locationsId}/connections: + parameters: *ref_1 + post: + description: Create a Connection to an external data source. + operationId: dlp.projects.locations.connections.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateConnectionRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10450,7 +11020,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' parameters: - in: path name: projectsId @@ -10462,24 +11032,57 @@ paths: required: true schema: type: string + get: + description: >- + Lists Connections in a parent. Use SearchConnections to see all + connections within an organization. + operationId: dlp.projects.locations.connections.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2ListConnectionsResponse' + parameters: - in: path - name: inspectTemplatesId + name: projectsId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}:hybridInspect: + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}: parameters: *ref_1 - post: - description: >- - Inspect hybrid content and store findings to a job. To review the - findings, inspect the job. Inspection will occur asynchronously. - operationId: dlp.projects.locations.dlpJobs.hybridInspect + patch: + description: Update a Connection. + operationId: dlp.projects.locations.connections.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2HybridInspectDlpJobRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateConnectionRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10491,7 +11094,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridInspectResponse' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' parameters: - in: path name: projectsId @@ -10504,22 +11107,44 @@ paths: schema: type: string - in: path - name: dlpJobsId + name: connectionsId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}: - parameters: *ref_1 delete: - description: >- - 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. - operationId: dlp.projects.locations.dlpJobs.delete + description: Delete a Connection. + operationId: dlp.projects.locations.connections.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: connectionsId + required: true + schema: + type: string + get: + description: Get a Connection by name. + operationId: dlp.projects.locations.connections.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10531,7 +11156,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' parameters: - in: path name: projectsId @@ -10544,18 +11169,24 @@ paths: schema: type: string - in: path - name: dlpJobsId + name: connectionsId required: true schema: type: string - get: + /v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates/{deidentifyTemplatesId}: + parameters: *ref_1 + patch: description: >- - Gets the latest state of a long-running DlpJob. See - https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage - and - https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis + Updates the DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.projects.locations.dlpJobs.get + operationId: dlp.projects.locations.deidentifyTemplates.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10567,7 +11198,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: projectsId @@ -10580,27 +11211,16 @@ paths: schema: type: string - in: path - name: dlpJobsId + name: deidentifyTemplatesId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}:cancel: - parameters: *ref_1 - post: + get: description: >- - 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 + Gets a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.projects.locations.dlpJobs.cancel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CancelDlpJobRequest' + operationId: dlp.projects.locations.deidentifyTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10612,7 +11232,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: projectsId @@ -10625,28 +11245,16 @@ paths: schema: type: string - in: path - name: dlpJobsId + name: deidentifyTemplatesId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs: - parameters: *ref_1 - post: + delete: description: >- - 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. - operationId: dlp.projects.locations.dlpJobs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateDlpJobRequest' + Deletes a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.projects.locations.deidentifyTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10658,7 +11266,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10670,14 +11278,19 @@ paths: required: true schema: type: string + - in: path + name: deidentifyTemplatesId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates: + parameters: *ref_1 get: description: >- - 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 + Lists DeidentifyTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.projects.locations.dlpJobs.list + operationId: dlp.projects.locations.deidentifyTemplates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10689,7 +11302,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListDlpJobsResponse' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse parameters: - in: path name: projectsId @@ -10702,42 +11316,35 @@ paths: schema: type: string - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: type + name: orderBy schema: type: string - in: query - name: filter + name: pageToken schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: locationId schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}:finish: - parameters: *ref_1 post: description: >- - Finish a running hybrid DlpJob. Triggers the finalization steps and - running of any enabled actions that have not yet run. - operationId: dlp.projects.locations.dlpJobs.finish + Creates a DeidentifyTemplate for reusing frequently used configuration + for de-identifying content, images, and storage. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.projects.locations.deidentifyTemplates.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2FinishDlpJobRequest' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10749,7 +11356,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: projectsId @@ -10761,16 +11368,19 @@ paths: required: true schema: type: string - - in: path - name: dlpJobsId - required: true - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/tableDataProfiles/{tableDataProfilesId}: + /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}: parameters: *ref_1 - get: - description: Gets a table data profile. - operationId: dlp.projects.locations.tableDataProfiles.get + patch: + description: >- + Updates a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.locations.jobTriggers.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10782,7 +11392,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: projectsId @@ -10795,15 +11405,16 @@ paths: schema: type: string - in: path - name: tableDataProfilesId + name: jobTriggersId required: true schema: type: string - delete: + get: description: >- - Delete a TableDataProfile. Will not prevent the profile from being - regenerated if the table is still included in a discovery configuration. - operationId: dlp.projects.locations.tableDataProfiles.delete + Gets a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.locations.jobTriggers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10815,7 +11426,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: projectsId @@ -10828,15 +11439,16 @@ paths: schema: type: string - in: path - name: tableDataProfilesId + name: jobTriggersId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/tableDataProfiles: - parameters: *ref_1 - get: - description: Lists table data profiles for an organization. - operationId: dlp.projects.locations.tableDataProfiles.list + delete: + description: >- + Deletes a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.locations.jobTriggers.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10848,8 +11460,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListTableDataProfilesResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10861,28 +11472,19 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter + - in: path + name: jobTriggersId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v2/projects/{projectsId}/locations/{locationsId}/projectDataProfiles/{projectDataProfilesId}: + /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers: parameters: *ref_1 get: - description: Gets a project data profile. - operationId: dlp.projects.locations.projectDataProfiles.get + description: >- + Lists job triggers. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.locations.jobTriggers.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10894,7 +11496,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ProjectDataProfile' + $ref: '#/components/schemas/GooglePrivacyDlpV2ListJobTriggersResponse' parameters: - in: path name: projectsId @@ -10906,42 +11508,24 @@ paths: required: true schema: type: string - - in: path - name: projectDataProfilesId - required: true + - in: query + name: pageToken schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/projectDataProfiles: - parameters: *ref_1 - get: - description: Lists project data profiles for an organization. - operationId: dlp.projects.locations.projectDataProfiles.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListProjectDataProfilesResponse - parameters: - - in: path - name: projectsId - required: true + - in: query + name: orderBy schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: type + schema: + type: string + - in: query + name: filter schema: type: string - in: query - name: orderBy + name: locationId schema: type: string - in: query @@ -10949,24 +11533,18 @@ paths: schema: type: integer format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections: - parameters: *ref_1 post: - description: Create a Connection to an external data source. - operationId: dlp.projects.locations.connections.create + description: >- + Creates a job trigger to run DLP actions such as scanning storage for + sensitive information on a set schedule. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.projects.locations.jobTriggers.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateConnectionRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10978,7 +11556,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: projectsId @@ -10990,11 +11568,20 @@ paths: required: true schema: type: string - get: + /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}:hybridInspect: + parameters: *ref_1 + post: description: >- - Lists Connections in a parent. Use SearchConnections to see all - connections within an organization. - operationId: dlp.projects.locations.connections.list + 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. + operationId: dlp.projects.locations.jobTriggers.hybridInspect + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2HybridInspectJobTriggerRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11006,7 +11593,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListConnectionsResponse' + $ref: '#/components/schemas/GooglePrivacyDlpV2HybridInspectResponse' parameters: - in: path name: projectsId @@ -11018,29 +11605,23 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: jobTriggersId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}: + /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}:activate: parameters: *ref_1 - patch: - description: Update a Connection. - operationId: dlp.projects.locations.connections.patch + post: + description: >- + Activate a job trigger. Causes the immediate execute of a trigger + instead of waiting on the trigger event to occur. + operationId: dlp.projects.locations.jobTriggers.activate requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateConnectionRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2ActivateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11052,7 +11633,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' parameters: - in: path name: projectsId @@ -11065,13 +11646,18 @@ paths: schema: type: string - in: path - name: connectionsId + name: jobTriggersId required: true schema: type: string - get: - description: Get a Connection by name. - operationId: dlp.projects.locations.connections.get + /v2/projects/{projectsId}/locations/{locationsId}/storedInfoTypes/{storedInfoTypesId}: + parameters: *ref_1 + delete: + description: >- + Deletes a stored infoType. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + to learn more. + operationId: dlp.projects.locations.storedInfoTypes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11083,7 +11669,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -11096,13 +11682,16 @@ paths: schema: type: string - in: path - name: connectionsId + name: storedInfoTypesId required: true schema: type: string - delete: - description: Delete a Connection. - operationId: dlp.projects.locations.connections.delete + get: + description: >- + Gets a stored infoType. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + to learn more. + operationId: dlp.projects.locations.storedInfoTypes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11114,7 +11703,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: projectsId @@ -11127,15 +11716,23 @@ paths: schema: type: string - in: path - name: connectionsId + name: storedInfoTypesId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/connections:search: - parameters: *ref_1 - get: - description: Searches for Connections in a parent. - operationId: dlp.projects.locations.connections.search + patch: + description: >- + 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. + operationId: dlp.projects.locations.storedInfoTypes.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateStoredInfoTypeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11147,8 +11744,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2SearchConnectionsResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: projectsId @@ -11160,27 +11756,19 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: storedInfoTypesId + required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates: + /v2/projects/{projectsId}/locations/{locationsId}/storedInfoTypes: parameters: *ref_1 get: description: >- - Lists DeidentifyTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Lists stored infoTypes. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.projects.locations.deidentifyTemplates.list + operationId: dlp.projects.locations.storedInfoTypes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11193,7 +11781,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + #/components/schemas/GooglePrivacyDlpV2ListStoredInfoTypesResponse parameters: - in: path name: projectsId @@ -11206,7 +11794,7 @@ paths: schema: type: string - in: query - name: pageToken + name: locationId schema: type: string - in: query @@ -11219,22 +11807,21 @@ paths: schema: type: string - in: query - name: locationId + name: pageToken schema: type: string post: description: >- - Creates a DeidentifyTemplate for reusing frequently used configuration - for de-identifying content, images, and storage. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Creates a pre-built stored infoType to be used for inspection. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.projects.locations.deidentifyTemplates.create + operationId: dlp.projects.locations.storedInfoTypes.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest + #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11246,7 +11833,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: projectsId @@ -11258,20 +11845,11 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates/{deidentifyTemplatesId}: + /v2/projects/{projectsId}/locations/{locationsId}/projectDataProfiles/{projectDataProfilesId}: parameters: *ref_1 - patch: - description: >- - Updates the DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid - to learn more. - operationId: dlp.projects.locations.deidentifyTemplates.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest + get: + description: Gets a project data profile. + operationId: dlp.projects.locations.projectDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11283,7 +11861,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2ProjectDataProfile' parameters: - in: path name: projectsId @@ -11296,16 +11874,15 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: projectDataProfilesId required: true schema: type: string + /v2/projects/{projectsId}/locations/{locationsId}/projectDataProfiles: + parameters: *ref_1 get: - description: >- - Gets a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid - to learn more. - operationId: dlp.projects.locations.deidentifyTemplates.get + description: Lists project data profiles for an organization. + operationId: dlp.projects.locations.projectDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11317,7 +11894,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListProjectDataProfilesResponse parameters: - in: path name: projectsId @@ -11329,17 +11907,28 @@ paths: required: true schema: type: string - - in: path - name: deidentifyTemplatesId - required: true + - in: query + name: pageToken schema: type: string - delete: - description: >- - Deletes a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid - to learn more. - operationId: dlp.projects.locations.deidentifyTemplates.delete + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/discoveryConfigs/{discoveryConfigsId}: + parameters: *ref_1 + get: + description: Gets a discovery configuration. + operationId: dlp.projects.locations.discoveryConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11351,7 +11940,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' parameters: - in: path name: projectsId @@ -11364,21 +11953,13 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: discoveryConfigsId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/discoveryConfigs/{discoveryConfigsId}: - parameters: *ref_1 - patch: - description: Updates a discovery configuration. - operationId: dlp.projects.locations.discoveryConfigs.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateDiscoveryConfigRequest + delete: + description: Deletes a discovery configuration. + operationId: dlp.projects.locations.discoveryConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11390,7 +11971,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -11407,9 +11988,15 @@ paths: required: true schema: type: string - delete: - description: Deletes a discovery configuration. - operationId: dlp.projects.locations.discoveryConfigs.delete + patch: + description: Updates a discovery configuration. + operationId: dlp.projects.locations.discoveryConfigs.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateDiscoveryConfigRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11421,7 +12008,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' parameters: - in: path name: projectsId @@ -11438,9 +12025,17 @@ paths: required: true schema: type: string - get: - description: Gets a discovery configuration. - operationId: dlp.projects.locations.discoveryConfigs.get + /v2/projects/{projectsId}/locations/{locationsId}/discoveryConfigs: + parameters: *ref_1 + post: + description: Creates a config for discovery to scan and profile storage. + operationId: dlp.projects.locations.discoveryConfigs.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateDiscoveryConfigRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11464,13 +12059,6 @@ paths: required: true schema: type: string - - in: path - name: discoveryConfigsId - required: true - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/discoveryConfigs: - parameters: *ref_1 get: description: Lists discovery configurations. operationId: dlp.projects.locations.discoveryConfigs.list @@ -11499,27 +12087,35 @@ paths: schema: type: string - in: query - name: orderBy + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: orderBy schema: - type: integer - format: int32 + type: string + /v2/projects/{projectsId}/locations/{locationsId}/image:redact: + parameters: *ref_1 post: - description: Creates a config for discovery to scan and profile storage. - operationId: dlp.projects.locations.discoveryConfigs.create + description: >- + 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. + operationId: dlp.projects.locations.image.redact requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateDiscoveryConfigRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11531,7 +12127,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageResponse' parameters: - in: path name: projectsId @@ -11543,14 +12139,11 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers: + /v2/projects/{projectsId}/locations/{locationsId}/columnDataProfiles: parameters: *ref_1 get: - description: >- - Lists job triggers. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.projects.locations.jobTriggers.list + description: Lists column data profiles for an organization. + operationId: dlp.projects.locations.columnDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11562,7 +12155,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListJobTriggersResponse' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListColumnDataProfilesResponse parameters: - in: path name: projectsId @@ -11575,42 +12169,27 @@ paths: schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: type + name: pageToken schema: type: string - in: query name: orderBy schema: type: string - - in: query - name: pageToken - schema: - type: string - in: query name: filter schema: type: string - in: query - name: locationId + name: pageSize schema: - type: string - post: - description: >- - Creates a job trigger to run DLP actions such as scanning storage for - sensitive information on a set schedule. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.projects.locations.jobTriggers.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateJobTriggerRequest' + type: integer + format: int32 + /v2/projects/{projectsId}/locations/{locationsId}/columnDataProfiles/{columnDataProfilesId}: + parameters: *ref_1 + get: + description: Gets a column data profile. + operationId: dlp.projects.locations.columnDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11622,7 +12201,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' parameters: - in: path name: projectsId @@ -11634,14 +12213,18 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}: + - in: path + name: columnDataProfilesId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/tableDataProfiles/{tableDataProfilesId}: parameters: *ref_1 - get: + delete: description: >- - Gets a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.projects.locations.jobTriggers.get + Delete a TableDataProfile. Will not prevent the profile from being + regenerated if the table is still included in a discovery configuration. + operationId: dlp.projects.locations.tableDataProfiles.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11653,7 +12236,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -11666,21 +12249,13 @@ paths: schema: type: string - in: path - name: jobTriggersId + name: tableDataProfilesId required: true schema: type: string - patch: - description: >- - Updates a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.projects.locations.jobTriggers.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateJobTriggerRequest' + get: + description: Gets a table data profile. + operationId: dlp.projects.locations.tableDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11692,7 +12267,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' parameters: - in: path name: projectsId @@ -11705,16 +12280,15 @@ paths: schema: type: string - in: path - name: jobTriggersId + name: tableDataProfilesId required: true schema: type: string - delete: - description: >- - Deletes a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.projects.locations.jobTriggers.delete + /v2/projects/{projectsId}/locations/{locationsId}/tableDataProfiles: + parameters: *ref_1 + get: + description: Lists table data profiles for an organization. + operationId: dlp.projects.locations.tableDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11726,7 +12300,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListTableDataProfilesResponse parameters: - in: path name: projectsId @@ -11738,25 +12313,36 @@ paths: required: true schema: type: string - - in: path - name: jobTriggersId - required: true + - in: query + name: pageToken schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}:hybridInspect: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/content:reidentify: parameters: *ref_1 post: description: >- - 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. - operationId: dlp.projects.locations.jobTriggers.hybridInspect + Re-identifies content that has been de-identified. See + https://cloud.google.com/sensitive-data-protection/docs/pseudonymization#re-identification_in_free_text_code_example + to learn more. + operationId: dlp.projects.locations.content.reidentify requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2HybridInspectJobTriggerRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2ReidentifyContentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11768,7 +12354,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2HybridInspectResponse' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ReidentifyContentResponse parameters: - in: path name: projectsId @@ -11780,23 +12367,23 @@ paths: required: true schema: type: string - - in: path - name: jobTriggersId - required: true - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}:activate: + /v2/projects/{projectsId}/locations/{locationsId}/content:deidentify: parameters: *ref_1 post: description: >- - Activate a job trigger. Causes the immediate execute of a trigger - instead of waiting on the trigger event to occur. - operationId: dlp.projects.locations.jobTriggers.activate + De-identifies potentially sensitive info from a ContentItem. This method + has limits on input size and output size. See + https://cloud.google.com/sensitive-data-protection/docs/deidentify-sensitive-data + 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. + operationId: dlp.projects.locations.content.deidentify requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ActivateJobTriggerRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyContentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11808,7 +12395,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DeidentifyContentResponse parameters: - in: path name: projectsId @@ -11820,19 +12408,25 @@ paths: required: true schema: type: string - - in: path - name: jobTriggersId - required: true - schema: - type: string - /v2/projects/{projectsId}/locations/{locationsId}/storedInfoTypes/{storedInfoTypesId}: + /v2/projects/{projectsId}/locations/{locationsId}/content:inspect: parameters: *ref_1 - delete: + post: description: >- - Deletes a stored infoType. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes - to learn more. - operationId: dlp.projects.locations.storedInfoTypes.delete + Finds potentially sensitive info in content. This method has limits on + input size, processing time, and output size. 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. For how to + guides, see + https://cloud.google.com/sensitive-data-protection/docs/inspecting-images + and + https://cloud.google.com/sensitive-data-protection/docs/inspecting-text, + operationId: dlp.projects.locations.content.inspect + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11844,7 +12438,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentResponse' parameters: - in: path name: projectsId @@ -11855,25 +12449,12 @@ paths: name: locationsId required: true schema: - type: string - - in: path - name: storedInfoTypesId - required: true - schema: - type: string - patch: - description: >- - 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. - operationId: dlp.projects.locations.storedInfoTypes.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateStoredInfoTypeRequest + type: string + /v2/projects/{projectsId}/locations/{locationsId}/fileStoreDataProfiles/{fileStoreDataProfilesId}: + parameters: *ref_1 + get: + description: Gets a file store data profile. + operationId: dlp.projects.locations.fileStoreDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11885,7 +12466,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' parameters: - in: path name: projectsId @@ -11898,16 +12479,16 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: fileStoreDataProfilesId required: true schema: type: string - get: + delete: description: >- - Gets a stored infoType. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes - to learn more. - operationId: dlp.projects.locations.storedInfoTypes.get + Delete a FileStoreDataProfile. Will not prevent the profile from being + regenerated if the resource is still included in a discovery + configuration. + operationId: dlp.projects.locations.fileStoreDataProfiles.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11919,7 +12500,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -11932,18 +12513,15 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: fileStoreDataProfilesId required: true schema: type: string - /v2/projects/{projectsId}/locations/{locationsId}/storedInfoTypes: + /v2/projects/{projectsId}/locations/{locationsId}/fileStoreDataProfiles: parameters: *ref_1 get: - description: >- - Lists stored infoTypes. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes - to learn more. - operationId: dlp.projects.locations.storedInfoTypes.list + description: Lists file store data profiles for an organization. + operationId: dlp.projects.locations.fileStoreDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11956,7 +12534,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListStoredInfoTypesResponse + #/components/schemas/GooglePrivacyDlpV2ListFileStoreDataProfilesResponse parameters: - in: path name: projectsId @@ -11969,15 +12547,15 @@ paths: schema: type: string - in: query - name: orderBy + name: filter schema: type: string - in: query - name: pageToken + name: orderBy schema: type: string - in: query - name: locationId + name: pageToken schema: type: string - in: query @@ -11985,18 +12563,25 @@ paths: schema: type: integer format: int32 + /v2/projects/{projectsId}/content:inspect: + parameters: *ref_1 post: description: >- - Creates a pre-built stored infoType to be used for inspection. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes - to learn more. - operationId: dlp.projects.locations.storedInfoTypes.create + Finds potentially sensitive info in content. This method has limits on + input size, processing time, and output size. 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. For how to + guides, see + https://cloud.google.com/sensitive-data-protection/docs/inspecting-images + and + https://cloud.google.com/sensitive-data-protection/docs/inspecting-text, + operationId: dlp.projects.content.inspect requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12008,62 +12593,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectContentResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - /v2/projects/{projectsId}/dlpJobs: + /v2/projects/{projectsId}/content:deidentify: parameters: *ref_1 post: description: >- - 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 + De-identifies potentially sensitive info from a ContentItem. This method + has limits on input size and output size. See + https://cloud.google.com/sensitive-data-protection/docs/deidentify-sensitive-data to learn more. When no InfoTypes or CustomInfoTypes are specified in - inspect jobs, the system will automatically choose what detectors to + 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. - operationId: dlp.projects.dlpJobs.create + operationId: dlp.projects.content.deidentify requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateDlpJobRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - get: - description: >- - 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. - operationId: dlp.projects.dlpJobs.list + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyContentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12075,55 +12628,27 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListDlpJobsResponse' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2DeidentifyContentResponse parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: type - schema: - type: string - - in: query - name: locationId - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - /v2/projects/{projectsId}/dlpJobs/{dlpJobsId}:cancel: + /v2/projects/{projectsId}/content:reidentify: parameters: *ref_1 post: description: >- - 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 + Re-identifies content that has been de-identified. See + https://cloud.google.com/sensitive-data-protection/docs/pseudonymization#re-identification_in_free_text_code_example to learn more. - operationId: dlp.projects.dlpJobs.cancel + operationId: dlp.projects.content.reidentify requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CancelDlpJobRequest' + $ref: '#/components/schemas/GooglePrivacyDlpV2ReidentifyContentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12135,28 +12660,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ReidentifyContentResponse parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: dlpJobsId - required: true - schema: - type: string - /v2/projects/{projectsId}/dlpJobs/{dlpJobsId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/connections:search: parameters: *ref_1 get: - description: >- - Gets the latest state of a long-running DlpJob. 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. - operationId: dlp.projects.dlpJobs.get + description: Searches for Connections in a parent. + operationId: dlp.organizations.locations.connections.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12168,94 +12684,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DlpJob' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2SearchConnectionsResponse parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string - in: path - name: dlpJobsId + name: locationsId required: true schema: type: string - delete: - description: >- - 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. - operationId: dlp.projects.dlpJobs.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - - in: path - name: projectsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: dlpJobsId - required: true + - in: query + name: pageSize schema: - type: string - /v2/projects/{projectsId}/image:redact: - parameters: *ref_1 - post: - description: >- - 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. - operationId: dlp.projects.image.redact - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2RedactImageResponse' - parameters: - - in: path - name: projectsId - required: true + type: integer + format: int32 + - in: query + name: pageToken schema: - type: string - /v2/projects/{projectsId}/inspectTemplates/{inspectTemplatesId}: - parameters: *ref_1 - get: - description: >- - Gets an InspectTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.projects.inspectTemplates.get + type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/connections/{connectionsId}: + parameters: *ref_1 + delete: + description: Delete a Connection. + operationId: dlp.organizations.locations.connections.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12267,30 +12726,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string - in: path - name: inspectTemplatesId + name: locationsId + required: true + schema: + type: string + - in: path + name: connectionsId required: true schema: type: string patch: - description: >- - Updates the InspectTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.projects.inspectTemplates.patch + description: Update a Connection. + operationId: dlp.organizations.locations.connections.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateConnectionRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12302,24 +12762,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string - in: path - name: inspectTemplatesId + name: locationsId required: true schema: type: string - delete: - description: >- - Deletes an InspectTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.projects.inspectTemplates.delete + - in: path + name: connectionsId + required: true + schema: + type: string + get: + description: Get a Connection by name. + operationId: dlp.organizations.locations.connections.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12331,33 +12793,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string - in: path - name: inspectTemplatesId + name: locationsId required: true schema: type: string - /v2/projects/{projectsId}/inspectTemplates: + - in: path + name: connectionsId + required: true + schema: + type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/connections: parameters: *ref_1 post: - description: >- - Creates an InspectTemplate for reusing frequently used configuration for - inspecting content, images, and storage. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.projects.inspectTemplates.create + description: Create a Connection to an external data source. + operationId: dlp.organizations.locations.connections.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateInspectTemplateRequest + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateConnectionRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12369,19 +12831,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' parameters: - in: path - name: projectsId + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId required: true schema: type: string get: description: >- - Lists InspectTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.projects.inspectTemplates.list + Lists Connections in a parent. Use SearchConnections to see all + connections within an organization. + operationId: dlp.organizations.locations.connections.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12393,20 +12859,24 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListInspectTemplatesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2ListConnectionsResponse' parameters: - in: path - name: projectsId + name: organizationsId + required: true + schema: + type: string + - in: path + name: locationsId required: true schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query - name: orderBy + name: pageToken schema: type: string - in: query @@ -12414,15 +12884,11 @@ paths: schema: type: integer format: int32 - - in: query - name: locationId - schema: - type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/columnDataProfiles/{columnDataProfilesId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/discoveryConfigs/{discoveryConfigsId}: parameters: *ref_1 get: - description: Gets a column data profile. - operationId: dlp.organizations.locations.columnDataProfiles.get + description: Gets a discovery configuration. + operationId: dlp.organizations.locations.discoveryConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12434,7 +12900,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' parameters: - in: path name: organizationsId @@ -12447,64 +12913,13 @@ paths: schema: type: string - in: path - name: columnDataProfilesId - required: true - schema: - type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/columnDataProfiles: - parameters: *ref_1 - get: - description: Lists column data profiles for an organization. - operationId: dlp.organizations.locations.columnDataProfiles.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListColumnDataProfilesResponse - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: locationsId + name: discoveryConfigsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/fileStoreDataProfiles/{fileStoreDataProfilesId}: - parameters: *ref_1 delete: - description: >- - Delete a FileStoreDataProfile. Will not prevent the profile from being - regenerated if the resource is still included in a discovery - configuration. - operationId: dlp.organizations.locations.fileStoreDataProfiles.delete + description: Deletes a discovery configuration. + operationId: dlp.organizations.locations.discoveryConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12529,13 +12944,19 @@ paths: schema: type: string - in: path - name: fileStoreDataProfilesId + name: discoveryConfigsId required: true schema: type: string - get: - description: Gets a file store data profile. - operationId: dlp.organizations.locations.fileStoreDataProfiles.get + patch: + description: Updates a discovery configuration. + operationId: dlp.organizations.locations.discoveryConfigs.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateDiscoveryConfigRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12547,7 +12968,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' parameters: - in: path name: organizationsId @@ -12560,15 +12981,15 @@ paths: schema: type: string - in: path - name: fileStoreDataProfilesId + name: discoveryConfigsId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/fileStoreDataProfiles: + /v2/organizations/{organizationsId}/locations/{locationsId}/discoveryConfigs: parameters: *ref_1 get: - description: Lists file store data profiles for an organization. - operationId: dlp.organizations.locations.fileStoreDataProfiles.list + description: Lists discovery configurations. + operationId: dlp.organizations.locations.discoveryConfigs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12581,7 +13002,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListFileStoreDataProfilesResponse + #/components/schemas/GooglePrivacyDlpV2ListDiscoveryConfigsResponse parameters: - in: path name: organizationsId @@ -12593,10 +13014,6 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageToken schema: @@ -12610,20 +13027,15 @@ paths: name: orderBy schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/jobTriggers: - parameters: *ref_1 post: - description: >- - Creates a job trigger to run DLP actions such as scanning storage for - sensitive information on a set schedule. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.organizations.locations.jobTriggers.create + description: Creates a config for discovery to scan and profile storage. + operationId: dlp.organizations.locations.discoveryConfigs.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateJobTriggerRequest' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateDiscoveryConfigRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12635,7 +13047,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' parameters: - in: path name: organizationsId @@ -12647,12 +13059,11 @@ paths: required: true schema: type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/projectDataProfiles: + parameters: *ref_1 get: - description: >- - Lists job triggers. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.organizations.locations.jobTriggers.list + description: Lists project data profiles for an organization. + operationId: dlp.organizations.locations.projectDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12664,7 +13075,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListJobTriggersResponse' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListProjectDataProfilesResponse parameters: - in: path name: organizationsId @@ -12681,39 +13093,23 @@ paths: schema: type: string - in: query - name: type + name: filter schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: orderBy schema: type: string - in: query - name: locationId - schema: - type: string - - in: query - name: filter + name: pageSize schema: - type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}: + type: integer + format: int32 + /v2/organizations/{organizationsId}/locations/{locationsId}/projectDataProfiles/{projectDataProfilesId}: parameters: *ref_1 - patch: - description: >- - Updates a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.organizations.locations.jobTriggers.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateJobTriggerRequest' + get: + description: Gets a project data profile. + operationId: dlp.organizations.locations.projectDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12725,7 +13121,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GooglePrivacyDlpV2ProjectDataProfile' parameters: - in: path name: organizationsId @@ -12738,16 +13134,20 @@ paths: schema: type: string - in: path - name: jobTriggersId + name: projectDataProfilesId required: true schema: type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/dlpJobs: + parameters: *ref_1 get: description: >- - Gets a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + 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. - operationId: dlp.organizations.locations.jobTriggers.get + operationId: dlp.organizations.locations.dlpJobs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12759,7 +13159,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' + $ref: '#/components/schemas/GooglePrivacyDlpV2ListDlpJobsResponse' parameters: - in: path name: organizationsId @@ -12771,53 +13171,39 @@ paths: required: true schema: type: string - - in: path - name: jobTriggersId - required: true + - in: query + name: type schema: type: string - delete: - description: >- - Deletes a job trigger. See - https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers - to learn more. - operationId: dlp.organizations.locations.jobTriggers.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - - in: path - name: organizationsId - required: true + - in: query + name: pageToken schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: locationId schema: type: string - - in: path - name: jobTriggersId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/storedInfoTypes/{storedInfoTypesId}: + - in: query + name: orderBy + schema: + type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates/{inspectTemplatesId}: parameters: *ref_1 - delete: + get: description: >- - Deletes a stored infoType. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Gets an InspectTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.locations.storedInfoTypes.delete + operationId: dlp.organizations.locations.inspectTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12829,7 +13215,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: organizationsId @@ -12842,23 +13228,22 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: inspectTemplatesId required: true schema: type: string patch: description: >- - 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 + Updates the InspectTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.locations.storedInfoTypes.patch + operationId: dlp.organizations.locations.inspectTemplates.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateStoredInfoTypeRequest + #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12870,7 +13255,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: organizationsId @@ -12883,16 +13268,16 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: inspectTemplatesId required: true schema: type: string - get: + delete: description: >- - Gets a stored infoType. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Deletes an InspectTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.locations.storedInfoTypes.get + operationId: dlp.organizations.locations.inspectTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12904,7 +13289,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -12917,18 +13302,18 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: inspectTemplatesId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/storedInfoTypes: + /v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates: parameters: *ref_1 get: description: >- - Lists stored infoTypes. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Lists InspectTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.locations.storedInfoTypes.list + operationId: dlp.organizations.locations.inspectTemplates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12941,7 +13326,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListStoredInfoTypesResponse + #/components/schemas/GooglePrivacyDlpV2ListInspectTemplatesResponse parameters: - in: path name: organizationsId @@ -12972,16 +13357,17 @@ paths: format: int32 post: description: >- - Creates a pre-built stored infoType to be used for inspection. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Creates an InspectTemplate for reusing frequently used configuration for + inspecting content, images, and storage. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.locations.storedInfoTypes.create + operationId: dlp.organizations.locations.inspectTemplates.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest + #/components/schemas/GooglePrivacyDlpV2CreateInspectTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12993,7 +13379,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: organizationsId @@ -13005,14 +13391,14 @@ paths: required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates/{deidentifyTemplatesId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/storedInfoTypes: parameters: *ref_1 - delete: + get: description: >- - Deletes a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Lists stored infoTypes. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.organizations.locations.deidentifyTemplates.delete + operationId: dlp.organizations.locations.storedInfoTypes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13024,7 +13410,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListStoredInfoTypesResponse parameters: - in: path name: organizationsId @@ -13036,17 +13423,35 @@ paths: required: true schema: type: string - - in: path - name: deidentifyTemplatesId - required: true + - in: query + name: locationId schema: type: string - get: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string + - in: query + name: pageToken + schema: + type: string + post: description: >- - Gets a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Creates a pre-built stored infoType to be used for inspection. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.organizations.locations.deidentifyTemplates.get + operationId: dlp.organizations.locations.storedInfoTypes.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13058,7 +13463,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: organizationsId @@ -13070,23 +13475,21 @@ paths: required: true schema: type: string - - in: path - name: deidentifyTemplatesId - required: true - schema: - type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/storedInfoTypes/{storedInfoTypesId}: + parameters: *ref_1 patch: description: >- - Updates the DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + 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. - operationId: dlp.organizations.locations.deidentifyTemplates.patch + operationId: dlp.organizations.locations.storedInfoTypes.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest + #/components/schemas/GooglePrivacyDlpV2UpdateStoredInfoTypeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13098,7 +13501,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: organizationsId @@ -13111,18 +13514,16 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: storedInfoTypesId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates: - parameters: *ref_1 - get: + delete: description: >- - Lists DeidentifyTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Deletes a stored infoType. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.organizations.locations.deidentifyTemplates.list + operationId: dlp.organizations.locations.storedInfoTypes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13134,8 +13535,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -13147,64 +13547,17 @@ paths: required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: locationId - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - post: - description: >- - Creates a DeidentifyTemplate for reusing frequently used configuration - for de-identifying content, images, and storage. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid - to learn more. - operationId: dlp.organizations.locations.deidentifyTemplates.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - in: path - name: locationsId + name: storedInfoTypesId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/projectDataProfiles: - parameters: *ref_1 get: - description: Lists project data profiles for an organization. - operationId: dlp.organizations.locations.projectDataProfiles.list + description: >- + Gets a stored infoType. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + to learn more. + operationId: dlp.organizations.locations.storedInfoTypes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13216,8 +13569,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListProjectDataProfilesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: organizationsId @@ -13229,28 +13581,25 @@ paths: required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: storedInfoTypesId + required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/projectDataProfiles/{projectDataProfilesId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/jobTriggers: parameters: *ref_1 - get: - description: Gets a project data profile. - operationId: dlp.organizations.locations.projectDataProfiles.get + post: + description: >- + Creates a job trigger to run DLP actions such as scanning storage for + sensitive information on a set schedule. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers + to learn more. + operationId: dlp.organizations.locations.jobTriggers.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2CreateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13262,7 +13611,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ProjectDataProfile' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: organizationsId @@ -13274,21 +13623,12 @@ paths: required: true schema: type: string - - in: path - name: projectDataProfilesId - required: true - schema: - type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/dlpJobs: - parameters: *ref_1 get: description: >- - 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 + Lists job triggers. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. - operationId: dlp.organizations.locations.dlpJobs.list + operationId: dlp.organizations.locations.jobTriggers.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13300,7 +13640,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListDlpJobsResponse' + $ref: '#/components/schemas/GooglePrivacyDlpV2ListJobTriggersResponse' parameters: - in: path name: organizationsId @@ -13313,7 +13653,7 @@ paths: schema: type: string - in: query - name: pageToken + name: filter schema: type: string - in: query @@ -13321,30 +13661,35 @@ paths: schema: type: string - in: query - name: filter + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: type + name: pageToken schema: type: string - in: query - name: pageSize + name: locationId schema: - type: integer - format: int32 + type: string - in: query - name: locationId + name: type schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates/{inspectTemplatesId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/jobTriggers/{jobTriggersId}: parameters: *ref_1 - get: + patch: description: >- - Gets an InspectTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates + Updates a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. - operationId: dlp.organizations.locations.inspectTemplates.get + operationId: dlp.organizations.locations.jobTriggers.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateJobTriggerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13356,7 +13701,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: organizationsId @@ -13369,16 +13714,16 @@ paths: schema: type: string - in: path - name: inspectTemplatesId + name: jobTriggersId required: true schema: type: string - delete: + get: description: >- - Deletes an InspectTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates + Gets a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. - operationId: dlp.organizations.locations.inspectTemplates.delete + operationId: dlp.organizations.locations.jobTriggers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13390,7 +13735,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2JobTrigger' parameters: - in: path name: organizationsId @@ -13403,22 +13748,16 @@ paths: schema: type: string - in: path - name: inspectTemplatesId + name: jobTriggersId required: true schema: type: string - patch: + delete: description: >- - Updates the InspectTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates + Deletes a job trigger. See + https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. - operationId: dlp.organizations.locations.inspectTemplates.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest + operationId: dlp.organizations.locations.jobTriggers.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13430,7 +13769,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -13443,25 +13782,15 @@ paths: schema: type: string - in: path - name: inspectTemplatesId + name: jobTriggersId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates: + /v2/organizations/{organizationsId}/locations/{locationsId}/fileStoreDataProfiles/{fileStoreDataProfilesId}: parameters: *ref_1 - post: - description: >- - Creates an InspectTemplate for reusing frequently used configuration for - inspecting content, images, and storage. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.organizations.locations.inspectTemplates.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateInspectTemplateRequest + get: + description: Gets a file store data profile. + operationId: dlp.organizations.locations.fileStoreDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13473,7 +13802,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2FileStoreDataProfile' parameters: - in: path name: organizationsId @@ -13485,12 +13814,17 @@ paths: required: true schema: type: string - get: + - in: path + name: fileStoreDataProfilesId + required: true + schema: + type: string + delete: description: >- - Lists InspectTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates - to learn more. - operationId: dlp.organizations.locations.inspectTemplates.list + Delete a FileStoreDataProfile. Will not prevent the profile from being + regenerated if the resource is still included in a discovery + configuration. + operationId: dlp.organizations.locations.fileStoreDataProfiles.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13502,8 +13836,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListInspectTemplatesResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -13515,34 +13848,16 @@ paths: required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: locationId + - in: path + name: fileStoreDataProfilesId + required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/discoveryConfigs/{discoveryConfigsId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/fileStoreDataProfiles: parameters: *ref_1 - patch: - description: Updates a discovery configuration. - operationId: dlp.organizations.locations.discoveryConfigs.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateDiscoveryConfigRequest + get: + description: Lists file store data profiles for an organization. + operationId: dlp.organizations.locations.fileStoreDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13554,7 +13869,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListFileStoreDataProfilesResponse parameters: - in: path name: organizationsId @@ -13566,14 +13882,37 @@ paths: required: true schema: type: string - - in: path - name: discoveryConfigsId - required: true + - in: query + name: filter schema: type: string - delete: - description: Deletes a discovery configuration. - operationId: dlp.organizations.locations.discoveryConfigs.delete + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string + - in: query + name: pageToken + schema: + type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates/{deidentifyTemplatesId}: + parameters: *ref_1 + patch: + description: >- + Updates the DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.organizations.locations.deidentifyTemplates.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13585,7 +13924,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: organizationsId @@ -13598,13 +13937,16 @@ paths: schema: type: string - in: path - name: discoveryConfigsId + name: deidentifyTemplatesId required: true schema: type: string - get: - description: Gets a discovery configuration. - operationId: dlp.organizations.locations.discoveryConfigs.get + delete: + description: >- + Deletes a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.organizations.locations.deidentifyTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13616,7 +13958,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -13629,15 +13971,16 @@ paths: schema: type: string - in: path - name: discoveryConfigsId + name: deidentifyTemplatesId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/discoveryConfigs: - parameters: *ref_1 get: - description: Lists discovery configurations. - operationId: dlp.organizations.locations.discoveryConfigs.list + description: >- + Gets a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.organizations.locations.deidentifyTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13649,8 +13992,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListDiscoveryConfigsResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: organizationsId @@ -13662,28 +14004,26 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy + - in: path + name: deidentifyTemplatesId + required: true schema: type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates: + parameters: *ref_1 post: - description: Creates a config for discovery to scan and profile storage. - operationId: dlp.organizations.locations.discoveryConfigs.create + description: >- + Creates a DeidentifyTemplate for reusing frequently used configuration + for de-identifying content, images, and storage. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.organizations.locations.deidentifyTemplates.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateDiscoveryConfigRequest + #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13695,7 +14035,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DiscoveryConfig' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: organizationsId @@ -13707,11 +14047,12 @@ paths: required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/tableDataProfiles: - parameters: *ref_1 get: - description: Lists table data profiles for an organization. - operationId: dlp.organizations.locations.tableDataProfiles.list + description: >- + Lists DeidentifyTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + to learn more. + operationId: dlp.organizations.locations.deidentifyTemplates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13724,7 +14065,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListTableDataProfilesResponse + #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse parameters: - in: path name: organizationsId @@ -13737,11 +14078,7 @@ paths: schema: type: string - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + name: locationId schema: type: string - in: query @@ -13749,17 +14086,19 @@ paths: schema: type: integer format: int32 + - in: query + name: pageToken + schema: + type: string - in: query name: orderBy schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/tableDataProfiles/{tableDataProfilesId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/columnDataProfiles: parameters: *ref_1 - delete: - description: >- - Delete a TableDataProfile. Will not prevent the profile from being - regenerated if the table is still included in a discovery configuration. - operationId: dlp.organizations.locations.tableDataProfiles.delete + get: + description: Lists column data profiles for an organization. + operationId: dlp.organizations.locations.columnDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13771,7 +14110,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListColumnDataProfilesResponse parameters: - in: path name: organizationsId @@ -13783,47 +14123,28 @@ paths: required: true schema: type: string - - in: path - name: tableDataProfilesId - required: true + - in: query + name: orderBy schema: type: string - get: - description: Gets a table data profile. - operationId: dlp.organizations.locations.tableDataProfiles.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' - parameters: - - in: path - name: organizationsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: tableDataProfilesId - required: true + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/connections/{connectionsId}: + /v2/organizations/{organizationsId}/locations/{locationsId}/columnDataProfiles/{columnDataProfilesId}: parameters: *ref_1 get: - description: Get a Connection by name. - operationId: dlp.organizations.locations.connections.get + description: Gets a column data profile. + operationId: dlp.organizations.locations.columnDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13835,7 +14156,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: '#/components/schemas/GooglePrivacyDlpV2ColumnDataProfile' parameters: - in: path name: organizationsId @@ -13848,13 +14169,17 @@ paths: schema: type: string - in: path - name: connectionsId + name: columnDataProfilesId required: true schema: type: string + /v2/organizations/{organizationsId}/locations/{locationsId}/tableDataProfiles/{tableDataProfilesId}: + parameters: *ref_1 delete: - description: Delete a Connection. - operationId: dlp.organizations.locations.connections.delete + description: >- + Delete a TableDataProfile. Will not prevent the profile from being + regenerated if the table is still included in a discovery configuration. + operationId: dlp.organizations.locations.tableDataProfiles.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13879,18 +14204,13 @@ paths: schema: type: string - in: path - name: connectionsId + name: tableDataProfilesId required: true schema: type: string - patch: - description: Update a Connection. - operationId: dlp.organizations.locations.connections.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2UpdateConnectionRequest' + get: + description: Gets a table data profile. + operationId: dlp.organizations.locations.tableDataProfiles.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13902,7 +14222,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: '#/components/schemas/GooglePrivacyDlpV2TableDataProfile' parameters: - in: path name: organizationsId @@ -13915,20 +14235,15 @@ paths: schema: type: string - in: path - name: connectionsId + name: tableDataProfilesId required: true schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/connections: + /v2/organizations/{organizationsId}/locations/{locationsId}/tableDataProfiles: parameters: *ref_1 - post: - description: Create a Connection to an external data source. - operationId: dlp.organizations.locations.connections.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2CreateConnectionRequest' + get: + description: Lists table data profiles for an organization. + operationId: dlp.organizations.locations.tableDataProfiles.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13940,7 +14255,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2Connection' + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListTableDataProfilesResponse parameters: - in: path name: organizationsId @@ -13952,36 +14268,12 @@ paths: required: true schema: type: string - get: - description: >- - Lists Connections in a parent. Use SearchConnections to see all - connections within an organization. - operationId: dlp.organizations.locations.connections.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2ListConnectionsResponse' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true + - in: query + name: filter schema: type: string - in: query - name: pageToken + name: orderBy schema: type: string - in: query @@ -13990,14 +14282,17 @@ paths: type: integer format: int32 - in: query - name: filter + name: pageToken schema: type: string - /v2/organizations/{organizationsId}/locations/{locationsId}/connections:search: + /v2/organizations/{organizationsId}/storedInfoTypes: parameters: *ref_1 get: - description: Searches for Connections in a parent. - operationId: dlp.organizations.locations.connections.search + description: >- + Lists stored infoTypes. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + to learn more. + operationId: dlp.organizations.storedInfoTypes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14010,18 +14305,13 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2SearchConnectionsResponse + #/components/schemas/GooglePrivacyDlpV2ListStoredInfoTypesResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - in: query name: pageToken schema: @@ -14032,48 +14322,25 @@ paths: type: integer format: int32 - in: query - name: filter + name: locationId schema: type: string - /v2/organizations/{organizationsId}/deidentifyTemplates: - parameters: *ref_1 - post: - description: >- - Creates a DeidentifyTemplate for reusing frequently used configuration - for de-identifying content, images, and storage. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid - to learn more. - operationId: dlp.organizations.deidentifyTemplates.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' - parameters: - - in: path - name: organizationsId - required: true + - in: query + name: orderBy schema: type: string - get: + post: description: >- - Lists DeidentifyTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Creates a pre-built stored infoType to be used for inspection. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.organizations.deidentifyTemplates.list + operationId: dlp.organizations.storedInfoTypes.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14085,39 +14352,28 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: locationId - schema: - type: string - - in: query - name: pageToken - schema: - type: string - /v2/organizations/{organizationsId}/deidentifyTemplates/{deidentifyTemplatesId}: + /v2/organizations/{organizationsId}/storedInfoTypes/{storedInfoTypesId}: parameters: *ref_1 - get: + patch: description: >- - Gets a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + 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. - operationId: dlp.organizations.deidentifyTemplates.get + operationId: dlp.organizations.storedInfoTypes.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateStoredInfoTypeRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14129,7 +14385,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: organizationsId @@ -14137,16 +14393,16 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: storedInfoTypesId required: true schema: type: string - delete: + get: description: >- - Deletes a DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Gets a stored infoType. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.organizations.deidentifyTemplates.delete + operationId: dlp.organizations.storedInfoTypes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14158,7 +14414,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' parameters: - in: path name: organizationsId @@ -14166,22 +14422,16 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: storedInfoTypesId required: true schema: type: string - patch: + delete: description: >- - Updates the DeidentifyTemplate. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid + Deletes a stored infoType. See + https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. - operationId: dlp.organizations.deidentifyTemplates.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest + operationId: dlp.organizations.storedInfoTypes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14193,7 +14443,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -14201,18 +14451,18 @@ paths: schema: type: string - in: path - name: deidentifyTemplatesId + name: storedInfoTypesId required: true schema: type: string - /v2/organizations/{organizationsId}/storedInfoTypes/{storedInfoTypesId}: + /v2/organizations/{organizationsId}/deidentifyTemplates/{deidentifyTemplatesId}: parameters: *ref_1 - delete: + get: description: >- - Deletes a stored infoType. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Gets a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.organizations.storedInfoTypes.delete + operationId: dlp.organizations.deidentifyTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14224,7 +14474,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: organizationsId @@ -14232,23 +14482,22 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: deidentifyTemplatesId required: true schema: type: string patch: description: >- - 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 + Updates the DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.organizations.storedInfoTypes.patch + operationId: dlp.organizations.deidentifyTemplates.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateStoredInfoTypeRequest + #/components/schemas/GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14260,7 +14509,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: organizationsId @@ -14268,16 +14517,16 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: deidentifyTemplatesId required: true schema: type: string - get: + delete: description: >- - Gets a stored infoType. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Deletes a DeidentifyTemplate. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.organizations.storedInfoTypes.get + operationId: dlp.organizations.deidentifyTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14289,7 +14538,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -14297,24 +14546,25 @@ paths: schema: type: string - in: path - name: storedInfoTypesId + name: deidentifyTemplatesId required: true schema: type: string - /v2/organizations/{organizationsId}/storedInfoTypes: + /v2/organizations/{organizationsId}/deidentifyTemplates: parameters: *ref_1 post: description: >- - Creates a pre-built stored infoType to be used for inspection. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Creates a DeidentifyTemplate for reusing frequently used configuration + for de-identifying content, images, and storage. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.organizations.storedInfoTypes.create + operationId: dlp.organizations.deidentifyTemplates.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2CreateStoredInfoTypeRequest + #/components/schemas/GooglePrivacyDlpV2CreateDeidentifyTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14326,7 +14576,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2StoredInfoType' + $ref: '#/components/schemas/GooglePrivacyDlpV2DeidentifyTemplate' parameters: - in: path name: organizationsId @@ -14335,10 +14585,10 @@ paths: type: string get: description: >- - Lists stored infoTypes. See - https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes + Lists DeidentifyTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. - operationId: dlp.organizations.storedInfoTypes.list + operationId: dlp.organizations.deidentifyTemplates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14351,44 +14601,38 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListStoredInfoTypesResponse + #/components/schemas/GooglePrivacyDlpV2ListDeidentifyTemplatesResponse parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: locationId - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 - in: query - name: orderBy + name: locationId schema: type: string - in: query name: pageToken schema: type: string + - in: query + name: orderBy + schema: + type: string /v2/organizations/{organizationsId}/inspectTemplates/{inspectTemplatesId}: parameters: *ref_1 - patch: + get: description: >- - Updates the InspectTemplate. See + Gets an InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.inspectTemplates.patch - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest + operationId: dlp.organizations.inspectTemplates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14412,12 +14656,12 @@ paths: required: true schema: type: string - get: + delete: description: >- - Gets an InspectTemplate. See + Deletes an InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.inspectTemplates.get + operationId: dlp.organizations.inspectTemplates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14429,7 +14673,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -14441,12 +14685,18 @@ paths: required: true schema: type: string - delete: + patch: description: >- - Deletes an InspectTemplate. See + Updates the InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. - operationId: dlp.organizations.inspectTemplates.delete + operationId: dlp.organizations.inspectTemplates.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2UpdateInspectTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14458,7 +14708,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GooglePrivacyDlpV2InspectTemplate' parameters: - in: path name: organizationsId @@ -14472,6 +14722,48 @@ paths: type: string /v2/organizations/{organizationsId}/inspectTemplates: parameters: *ref_1 + get: + description: >- + Lists InspectTemplates. See + https://cloud.google.com/sensitive-data-protection/docs/creating-templates + to learn more. + operationId: dlp.organizations.inspectTemplates.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GooglePrivacyDlpV2ListInspectTemplatesResponse + parameters: + - in: path + name: organizationsId + required: true + schema: + type: string + - in: query + name: locationId + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string post: description: >- Creates an InspectTemplate for reusing frequently used configuration for @@ -14503,12 +14795,15 @@ paths: required: true schema: type: string + /v2/infoTypes: + parameters: *ref_1 get: description: >- - Lists InspectTemplates. See - https://cloud.google.com/sensitive-data-protection/docs/creating-templates + Returns a list of the sensitive information types that the DLP API + supports. See + https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. - operationId: dlp.organizations.inspectTemplates.list + operationId: dlp.infoTypes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14520,37 +14815,30 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GooglePrivacyDlpV2ListInspectTemplatesResponse + $ref: '#/components/schemas/GooglePrivacyDlpV2ListInfoTypesResponse' parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - in: query - name: pageSize + name: filter schema: - type: integer - format: int32 + type: string - in: query - name: locationId + name: parent schema: type: string - in: query - name: pageToken + name: locationId schema: type: string - in: query - name: orderBy + name: languageCode schema: type: string /v2/locations/{locationsId}/infoTypes: parameters: *ref_1 get: description: >- - Returns a list of the sensitive information types that DLP API supports. - See + Returns a list of the sensitive information types that the DLP API + supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. operationId: dlp.locations.infoTypes.list @@ -14573,14 +14861,14 @@ paths: schema: type: string - in: query - name: languageCode + name: filter schema: type: string - in: query - name: locationId + name: languageCode schema: type: string - in: query - name: filter + name: locationId schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/dns.yaml b/providers/src/googleapis.com/v00.00.00000/services/dns.yaml index 49ade5dc..6dbea4d7 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/dns.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/dns.yaml @@ -7,8 +7,8 @@ info: title: Cloud DNS API description: '' version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241021' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dns/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/documentai.yaml b/providers/src/googleapis.com/v00.00.00000/services/documentai.yaml index 12d7be92..388b8cdc 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/documentai.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/documentai.yaml @@ -10,8 +10,8 @@ info: documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML. version: v1 - x-discovery-doc-revision: '20240911' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241031' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/document-ai/docs/ servers: @@ -37,220 +37,253 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudDocumentaiV1ReviewDocumentOperationMetadata: + GoogleProtobufEmpty: + properties: {} + id: GoogleProtobufEmpty + type: object + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + GoogleCloudDocumentaiV1ProcessorVersionAlias: + type: object properties: - questionId: - description: The Crowd Compute question ID. + alias: type: string - commonMetadata: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - description: The basic metadata of the long-running operation. - description: The long-running operation metadata for the ReviewDocument method. - type: object - id: GoogleCloudDocumentaiV1ReviewDocumentOperationMetadata - GoogleCloudDocumentaiV1ReviewDocumentRequest: + description: The alias in the form of `processor_version` resource name. + processorVersion: + type: string + description: The resource name of aliased processor version. + description: Contains the alias and the aliased resource name of processor version. + id: GoogleCloudDocumentaiV1ProcessorVersionAlias + GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionResponse: properties: - priority: + evaluation: + description: The resource name of the created evaluation. type: string - enumDescriptions: - - The default priority level. - - >- - The urgent priority level. The labeling manager should allocate - labeler resource to the urgent task queue to respect this priority - level. - description: The priority of the human review task. - enum: - - DEFAULT - - URGENT - documentSchema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' - description: The document schema of the human review task. - inlineDocument: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' - description: An inline document proto. - enableSchemaValidation: - type: boolean - description: >- - Whether the validation should be performed on the ad-hoc review - request. + id: GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionResponse type: object - id: GoogleCloudDocumentaiV1ReviewDocumentRequest - description: Request message for the ReviewDocument method. - GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadata: - id: GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadata + description: Response of the EvaluateProcessorVersion method. + GoogleCloudDocumentaiV1DocumentPageBlock: + properties: + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + deprecated: true + layout: + description: Layout for Block. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + detectedLanguages: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + id: GoogleCloudDocumentaiV1DocumentPageBlock + description: >- + A block has a set of lines (collected into paragraphs) that have a + common line-spacing and orientation. + type: object + GoogleCloudDocumentaiV1DocumentPageDetectedBarcode: + description: A detected barcode. + type: object + id: GoogleCloudDocumentaiV1DocumentPageDetectedBarcode + properties: + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for DetectedBarcode. + barcode: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Barcode' + description: Detailed barcode information of the DetectedBarcode. + GoogleCloudDocumentaiV1EnableProcessorResponse: + id: GoogleCloudDocumentaiV1EnableProcessorResponse + description: >- + Response message for the EnableProcessor method. Intentionally empty + proto for adding fields in future. type: object + properties: {} + GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadata: properties: + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. destDatasetType: - description: The destination dataset split type. + enumDescriptions: + - Default value if the enum is not set. + - Identifies the train documents. + - Identifies the test documents. + - Identifies the unassigned documents. enum: - DATASET_SPLIT_TYPE_UNSPECIFIED - DATASET_SPLIT_TRAIN - DATASET_SPLIT_TEST - DATASET_SPLIT_UNASSIGNED deprecated: true - enumDescriptions: - - Default value if the enum is not set. - - Identifies the train documents. - - Identifies the test documents. - - Identifies the unassigned documents. type: string - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The destination dataset split type. individualBatchMoveStatuses: - type: array description: The list of response details of each document. + type: array items: $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus destSplitType: - enumDescriptions: - - Default value if the enum is not set. - - Identifies the train documents. - - Identifies the test documents. - - Identifies the unassigned documents. enum: - DATASET_SPLIT_TYPE_UNSPECIFIED - DATASET_SPLIT_TRAIN - DATASET_SPLIT_TEST - DATASET_SPLIT_UNASSIGNED + enumDescriptions: + - Default value if the enum is not set. + - Identifies the train documents. + - Identifies the test documents. + - Identifies the unassigned documents. type: string description: The destination dataset split type. - GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus: + id: GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadata type: object - properties: - humanReviewStatus: - description: The status of human review on the processed document. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1HumanReviewStatus' - status: - description: The status processing the document. - $ref: '#/components/schemas/GoogleRpcStatus' - inputGcsSource: - type: string - description: >- - The source of the document, same as the input_gcs_source field in - the request when the batch process started. - outputGcsDestination: - type: string - description: >- - The Cloud Storage output destination (in the request as - DocumentOutputConfig.GcsOutputConfig.gcs_uri) of the processed - document if it was successful, otherwise empty. - id: GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus - description: The status of a each individual document in the batch process. - GoogleCloudDocumentaiV1DocumentPageMatrix: + GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata: + id: GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata type: object - id: GoogleCloudDocumentaiV1DocumentPageMatrix properties: - cols: + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + errorDocumentCount: type: integer format: int32 - description: Number of columns in the matrix. - rows: + description: Total number of documents that failed to be deleted in storage. + individualBatchDeleteStatuses: + description: The list of response details of each document. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus + type: array + totalDocumentCount: format: int32 - description: Number of rows in the matrix. - type: integer - type: + description: Total number of documents deleting from dataset. type: integer - format: int32 - description: >- - This encodes information about what data type the matrix uses. For - example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of - OpenCV primitive data types, please refer to - https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html - data: - format: byte - description: The matrix data. - type: string - description: >- - Representation for transformation matrix, intended to be compatible and - used with OpenCV format for image manipulation. - GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionResponse: - description: The response for TrainProcessorVersion. - id: GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionResponse + GoogleCloudDocumentaiV1HumanReviewStatus: + description: The status of human review on a processed document. + id: GoogleCloudDocumentaiV1HumanReviewStatus + type: object properties: - processorVersion: + state: + enum: + - STATE_UNSPECIFIED + - SKIPPED + - VALIDATION_PASSED + - IN_PROGRESS + - ERROR + enumDescriptions: + - >- + Human review state is unspecified. Most likely due to an internal + error. + - >- + Human review is skipped for the document. This can happen because + human review isn't enabled on the processor or the processing + request has been set to skip this document. + - >- + Human review validation is triggered and passed, so no review is + needed. + - >- + Human review validation is triggered and the document is under + review. + - >- + Some error happened during triggering human review, see the + state_message for details. type: string - description: The resource name of the processor version produced by training. + description: The state of human review on the processing request. + stateMessage: + type: string + description: A message providing more details about the human review state. + humanReviewOperation: + type: string + description: >- + The name of the operation triggered by the processed document. This + field is populated only when the state is + `HUMAN_REVIEW_IN_PROGRESS`. It has the same response type and + metadata as the long-running operation returned by ReviewDocument. + GoogleCloudDocumentaiV1DisableProcessorResponse: + properties: {} + description: >- + Response message for the DisableProcessor method. Intentionally empty + proto for adding fields in future. type: object - GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo: - description: Font and other text style attributes. + id: GoogleCloudDocumentaiV1DisableProcessorResponse + GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata: type: object + description: Metadata of the auto-labeling documents operation. properties: - superscript: + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + totalDocumentCount: + description: Total number of the auto-labeling documents. + format: int32 + type: integer + individualAutoLabelStatuses: + type: array description: >- - Whether the text is a superscript. This feature is not supported - yet. - type: boolean - underlined: - description: Whether the text is underlined. - type: boolean - fontSize: - description: Font size in points (`1` point is `¹⁄₇₂` inches). - format: int32 - type: integer - strikeout: - type: boolean - description: >- - Whether the text is strikethrough. This feature is not supported - yet. - smallcaps: - description: >- - Whether the text is in small caps. This feature is not supported - yet. - type: boolean - pixelFontSize: - type: number - description: >- - Font size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ - `72.0`. - format: double - fontType: - type: string - description: Name or style of the font. - letterSpacing: - format: double - type: number - description: Letter spacing in points. - subscript: - type: boolean - description: Whether the text is a subscript. This feature is not supported yet. - handwritten: - description: Whether the text is handwritten. - type: boolean - backgroundColor: - description: Color of the background. - $ref: '#/components/schemas/GoogleTypeColor' - italic: - description: Whether the text is italic. - type: boolean - fontWeight: - type: integer - description: >- - TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). - Normal is `400`, bold is `700`. - format: int32 - textColor: - $ref: '#/components/schemas/GoogleTypeColor' - description: Color of the text. - bold: - type: boolean - description: >- - Whether the text is bold (equivalent to font_weight is at least - `700`). - id: GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo - GoogleCloudDocumentaiV1ProcessorTypeLocationInfo: + The list of individual auto-labeling statuses of the dataset + documents. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus + id: GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata + GoogleCloudDocumentaiV1beta3DocumentId: + id: GoogleCloudDocumentaiV1beta3DocumentId + properties: + unmanagedDocId: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId + description: A document id within unmanaged dataset. + revisionRef: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3RevisionRef' + description: Points to a specific revision of the document if set. + gcsManagedDocId: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId + description: A document id within user-managed Cloud Storage. + description: Document Identifier. type: object - id: GoogleCloudDocumentaiV1ProcessorTypeLocationInfo + GoogleCloudDocumentaiV1BatchProcessRequest: + id: GoogleCloudDocumentaiV1BatchProcessRequest + type: object + description: Request message for BatchProcessDocuments. properties: - locationId: + labels: description: >- - The location ID. For supported locations, refer to [regional and - multi-regional support](/document-ai/docs/regions). - type: string - description: The location information about where the processor is available. + Optional. The labels with user-defined metadata for the request. + Label keys and values can be no longer than 63 characters (Unicode + codepoints) and can only contain lowercase letters, numeric + characters, underscores, and dashes. International characters are + allowed. Label values are optional. Label keys must start with a + letter. + additionalProperties: + type: string + type: object + inputDocuments: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig + description: The input documents for the BatchProcessDocuments method. + documentOutputConfig: + description: The output configuration for the BatchProcessDocuments method. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentOutputConfig' + skipHumanReview: + type: boolean + description: >- + Whether human review should be skipped for this request. Default to + `false`. + processOptions: + description: Inference-time options for the process API + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessOptions' GoogleCloudDocumentaiUiv1beta3UpdateLabelerPoolOperationMetadata: + description: The long-running operation metadata for UpdateLabelerPool. properties: commonMetadata: description: The basic metadata of the long-running operation. @@ -258,587 +291,799 @@ components: #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata id: GoogleCloudDocumentaiUiv1beta3UpdateLabelerPoolOperationMetadata type: object - description: The long-running operation metadata for UpdateLabelerPool. - GoogleCloudDocumentaiV1BatchDocumentsInputConfig: - description: The common config to specify a set of documents used as input. - type: object - id: GoogleCloudDocumentaiV1BatchDocumentsInputConfig + GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus: properties: - gcsDocuments: - description: The set of documents individually specified on Cloud Storage. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsDocuments' - gcsPrefix: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsPrefix' - description: >- - The set of documents that match the specified Cloud Storage - `gcs_prefix`. - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow: + documentId: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3DocumentId' + description: The document id of the document. + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of deleting the document in storage. + description: The status of each individual document in the batch delete process. + type: object id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow - description: Represents a row in a table. + GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus + GoogleCloudDocumentaiV1DocumentPageSymbol: properties: - cells: + detectedLanguages: + description: A list of detected languages together with confidence. type: array - description: A table row is a list of table cells. items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for Symbol. + id: GoogleCloudDocumentaiV1DocumentPageSymbol type: object - GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig: + description: A detected symbol. + GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus: type: object - id: GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig - description: Configuration specific to the Cloud Storage-based implementation. properties: - gcsPrefix: + documentId: + description: The path to source docproto of the document. + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' + outputGcsDestination: + type: string description: >- - Required. The Cloud Storage URI (a directory) where the documents - belonging to the dataset must be stored. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3GcsPrefix' - GoogleCloudDocumentaiUiv1beta3ExportDocumentsResponse: - properties: {} - description: The response proto of ExportDocuments method. - type: object - id: GoogleCloudDocumentaiUiv1beta3ExportDocumentsResponse - GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsResponse: - id: GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsResponse + The output_gcs_destination of the exported document if it was + successful, otherwise empty. + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of the exporting of the document. + description: The status of each individual document in the export process. + id: >- + GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus + GoogleCloudDocumentaiV1EvaluateProcessorVersionResponse: + description: Response of the EvaluateProcessorVersion method. + id: GoogleCloudDocumentaiV1EvaluateProcessorVersionResponse + properties: + evaluation: + description: The resource name of the created evaluation. + type: string type: object - properties: {} - description: The response proto of AutoLabelDocuments method. - GoogleCloudDocumentaiV1DocumentPage: + GoogleTypeDateTime: + id: GoogleTypeDateTime + description: >- + Represents civil time (or occasionally physical time). This type can + represent a civil time in one of a few possible ways: * When utc_offset + is set and time_zone is unset: a civil time on a calendar day with a + particular offset from UTC. * When time_zone is set and utc_offset is + unset: a civil time on a calendar day in a particular time zone. * When + neither time_zone nor utc_offset is set: a civil time on a calendar day + in local time. The date is relative to the Proleptic Gregorian Calendar. + If year, month, or day are 0, the DateTime is considered not to have a + specific year, month, or day respectively. This type may also be used to + represent a physical time if all the date and time fields are set and + either case of the `time_offset` oneof is set. Consider using + `Timestamp` message for physical time instead. If your use case also + would like to store the user's timezone, that can be done in another + field. This type is more flexible than some applications may want. Make + sure to document and validate your application's limitations. type: object - description: A page in a Document. - id: GoogleCloudDocumentaiV1DocumentPage properties: - transforms: + nanos: + format: int32 description: >- - Transformation matrices that were applied to the original document - image to produce Page.image. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageMatrix' - type: array - tables: - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageTable' - description: A list of visually detected tables on the page. - blocks: + Optional. Fractions of seconds in nanoseconds. Must be from 0 to + 999,999,999, defaults to 0. + type: integer + hours: + type: integer description: >- - A list of visually detected text blocks on the page. A block has a - set of lines (collected into paragraphs) that have a common - line-spacing and orientation. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageBlock' - type: array - pageNumber: + Optional. Hours of day in 24 hour format. Should be from 0 to 23, + defaults to 0 (midnight). An API may choose to allow the value + "24:00:00" for scenarios like business closing time. + format: int32 + month: description: >- - 1-based index for current Page in a parent Document. Useful when a - page is taken out of a Document for individual processing. + Optional. Month of year. Must be from 1 to 12, or 0 if specifying a + datetime without a month. + type: integer + format: int32 + year: + format: int32 + description: >- + Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a + datetime without a year. + type: integer + minutes: format: int32 type: integer - image: description: >- - Rendered image for this page. This image is preprocessed to remove - any skew, rotation, and distortions such that the annotation - bounding boxes can be upright and axis-aligned. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageImage' - detectedLanguages: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - type: array - description: A list of detected languages together with confidence. - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for the page. - provenance: - description: The history of this page. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - deprecated: true - visualElements: + Optional. Minutes of hour of day. Must be from 0 to 59, defaults to + 0. + utcOffset: + type: string + format: google-duration description: >- - A list of detected non-text visual elements e.g. checkbox, signature - etc. on the page. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageVisualElement - type: array - formFields: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageFormField' - description: A list of visually detected form fields on the page. - type: array - detectedBarcodes: - type: array - description: A list of detected barcodes. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedBarcode - symbols: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageSymbol' - type: array - description: A list of visually detected symbols on the page. - imageQualityScores: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScores - description: Image quality scores. - paragraphs: - type: array + UTC offset. Must be whole seconds, between -18 hours and +18 hours. + For example, a UTC offset of -4:00 would be represented as { + seconds: -14400 }. + seconds: description: >- - A list of visually detected text paragraphs on the page. A - collection of lines that a human would perceive as a paragraph. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageParagraph' - tokens: - description: A list of visually detected tokens on the page. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageToken' - dimension: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageDimension' - description: Physical dimension of the page. - lines: + Optional. Seconds of minutes of the time. Must normally be from 0 to + 59, defaults to 0. An API may allow the value 60 if it allows + leap-seconds. + format: int32 + type: integer + timeZone: + $ref: '#/components/schemas/GoogleTypeTimeZone' + description: Time zone. + day: + format: int32 + type: integer description: >- - A list of visually detected text lines on the page. A collection of - tokens that a human would perceive as a line. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLine' - type: array - GoogleCloudLocationLocation: - description: A resource that represents a Google Cloud location. + Optional. Day of month. Must be from 1 to 31 and valid for the year + and month, or 0 if specifying a datetime without a day. + GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata: + id: GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata + description: >- + The long-running operation metadata for the SetDefaultProcessorVersion + method. + properties: + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata type: object + GoogleCloudDocumentaiV1GcsPrefix: properties: - name: - description: >- - Resource name for the location, which may vary between - implementations. For example: - `"projects/example-project/locations/us-east1"` - type: string - labels: - additionalProperties: - type: string - type: object - description: >- - Cross-service attributes for the location. For example - {"cloud.googleapis.com/region": "us-east1"} - locationId: - type: string - description: 'The canonical id for this location. For example: `"us-east1"`.' - metadata: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - description: >- - Service-specific metadata. For example the available capacity at the - given location. - displayName: + gcsUriPrefix: type: string - description: >- - The friendly name for this location, typically a nearby city name. - For example, "Tokyo". - id: GoogleCloudLocationLocation - GoogleCloudDocumentaiV1beta3ReviewDocumentOperationMetadata: + description: The URI prefix. + id: GoogleCloudDocumentaiV1GcsPrefix + description: Specifies all documents on Cloud Storage with a common prefix. type: object - id: GoogleCloudDocumentaiV1beta3ReviewDocumentOperationMetadata - description: The long-running operation metadata for the ReviewDocument method. + GoogleCloudDocumentaiV1DocumentPageLayout: + description: Visual element describing a layout unit on a page. + id: GoogleCloudDocumentaiV1DocumentPageLayout properties: - stateMessage: - type: string + boundingPoly: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' + description: The bounding polygon for the Layout. + confidence: description: >- - A message providing more details about the current state of - processing. For example, the error message if the operation is - failed. - createTime: - type: string - format: google-datetime - description: The creation time of the operation. - updateTime: - format: google-datetime - description: The last update time of the operation. - type: string - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - questionId: - description: The Crowd Compute question ID. - type: string - state: + Confidence of the current Layout within context of the object this + layout is for. e.g. confidence can be for a single token, a table, a + visual element, etc. depending on context. Range `[0, 1]`. + type: number + format: float + textAnchor: + description: Text anchor indexing into the Document.text. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + orientation: enum: - - STATE_UNSPECIFIED - - RUNNING - - CANCELLING - - SUCCEEDED - - FAILED - - CANCELLED + - ORIENTATION_UNSPECIFIED + - PAGE_UP + - PAGE_RIGHT + - PAGE_DOWN + - PAGE_LEFT enumDescriptions: - - Unspecified state. - - Operation is still running. - - Operation is being cancelled. - - Operation succeeded. - - Operation failed. - - Operation is cancelled. - description: Used only when Operation.done is false. + - Unspecified orientation. + - Orientation is aligned with page up. + - >- + Orientation is aligned with page right. Turn the head 90 degrees + clockwise from upright to read. + - >- + Orientation is aligned with page down. Turn the head 180 degrees + from upright to read. + - >- + Orientation is aligned with page left. Turn the head 90 degrees + counterclockwise from upright to read. + description: Detected orientation for the Layout. type: string - GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult: type: object - id: >- - GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult + GoogleCloudDocumentaiUiv1beta3DisableProcessorMetadata: + properties: + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The long-running operation metadata for the DisableProcessor method. + id: GoogleCloudDocumentaiUiv1beta3DisableProcessorMetadata + type: object + GoogleCloudDocumentaiV1DocumentProvenanceParent: + properties: + index: + format: int32 + description: >- + The index of the parent item in the corresponding item list (eg. + list of entities, properties within entities, etc.) in the parent + revision. + type: integer + id: + description: The id of the parent provenance. + format: int32 + type: integer + deprecated: true + revision: + description: The index of the index into current revision's parent_ids list. + type: integer + format: int32 + description: >- + The parent element the current element is based on. Used for + referencing/aligning, removal and replacement operations. + type: object + id: GoogleCloudDocumentaiV1DocumentProvenanceParent + GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult: description: >- The validation status of each import config. Status is set to an error if there are no documents to import in the `import_config`, or `OK` if the operation will try to proceed with at least one document. properties: status: - description: The validation status of import config. $ref: '#/components/schemas/GoogleRpcStatus' + description: The validation status of import config. inputGcsSource: type: string description: The source Cloud Storage URI specified in the import config. - GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig: + id: >- + GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult + type: object + GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig: + type: object + id: GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig + properties: {} + description: Configuration specific to spanner-based indexing. + GoogleCloudDocumentaiV1DocumentPageLine: + type: object + id: GoogleCloudDocumentaiV1DocumentPageLine + description: >- + A collection of tokens that a human would perceive as a line. Does not + cross column boundaries, can be horizontal, vertical, etc. properties: - schema: - description: >- - Output only. The schema in Document AI Warehouse associated with the - dataset. - type: string - readOnly: true - collection: - description: >- - Output only. The collection in Document AI Warehouse associated with - the dataset. - type: string - readOnly: true - id: GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig - description: >- - Configuration specific to the Document AI Warehouse-based - implementation. - type: object - GoogleCloudDocumentaiV1DocumentPageImageQualityScores: - properties: - qualityScore: - format: float - description: >- - The overall quality score. Range `[0, 1]` where `1` is perfect - quality. - type: number - detectedDefects: + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + deprecated: true + detectedLanguages: type: array - description: A list of detected defects. items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect - id: GoogleCloudDocumentaiV1DocumentPageImageQualityScores + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for Line. + GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest: + id: GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest type: object - description: Image quality scores for the page image. + properties: + defaultProcessorVersion: + description: >- + Required. The resource name of child ProcessorVersion to use as + default. Format: + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{version}` + type: string + description: Request message for the SetDefaultProcessorVersion method. + GoogleCloudDocumentaiV1DisableProcessorRequest: + type: object + id: GoogleCloudDocumentaiV1DisableProcessorRequest + properties: {} + description: Request message for the DisableProcessor method. GoogleCloudDocumentaiV1beta3ImportDocumentsMetadata: - id: GoogleCloudDocumentaiV1beta3ImportDocumentsMetadata + type: object properties: commonMetadata: description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata totalDocumentCount: - format: int32 description: Total number of the documents that are qualified for importing. + format: int32 type: integer importConfigValidationResults: - type: array description: Validation statuses of the batch documents import config. + type: array items: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult individualImportStatuses: + description: The list of response details of each document. + type: array items: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus - description: The list of response details of each document. - type: array + description: Metadata of the import document operation. + id: GoogleCloudDocumentaiV1beta3ImportDocumentsMetadata + GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadata: type: object description: Metadata of the import document operation. - GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus: - description: The status of each individual document in the import process. + properties: + individualImportStatuses: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus + description: The list of response details of each document. + totalDocumentCount: + type: integer + description: Total number of the documents that are qualified for importing. + format: int32 + importConfigValidationResults: + type: array + description: Validation statuses of the batch documents import config. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + id: GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadata + GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig: type: object + description: Serving config for layout parser processor. properties: - status: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status of the importing of the document. - inputGcsSource: + chunkingConfig: + description: Optional. Config for chunking in layout parser processor. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig + id: GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig + GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId: + properties: + gcsUri: type: string - description: The source Cloud Storage URI of the document. - outputDocumentId: - description: >- - The document id of imported document if it was successful, otherwise - empty. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3DocumentId' - id: >- - GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus - GoogleTypeDateTime: + description: Required. The Cloud Storage URI where the actual document is stored. + cwDocId: + deprecated: true + type: string + description: Id of the document (indexed) managed by Content Warehouse. + type: object description: >- - Represents civil time (or occasionally physical time). This type can - represent a civil time in one of a few possible ways: * When utc_offset - is set and time_zone is unset: a civil time on a calendar day with a - particular offset from UTC. * When time_zone is set and utc_offset is - unset: a civil time on a calendar day in a particular time zone. * When - neither time_zone nor utc_offset is set: a civil time on a calendar day - in local time. The date is relative to the Proleptic Gregorian Calendar. - If year, month, or day are 0, the DateTime is considered not to have a - specific year, month, or day respectively. This type may also be used to - represent a physical time if all the date and time fields are set and - either case of the `time_offset` oneof is set. Consider using - `Timestamp` message for physical time instead. If your use case also - would like to store the user's timezone, that can be done in another - field. This type is more flexible than some applications may want. Make - sure to document and validate your application's limitations. - id: GoogleTypeDateTime + Identifies a document uniquely within the scope of a dataset in the + user-managed Cloud Storage option. + id: GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId + GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfo: + description: Information about Generative AI model-based processor versions. type: object properties: - seconds: - description: >- - Optional. Seconds of minutes of the time. Must normally be from 0 to - 59, defaults to 0. An API may allow the value 60 if it allows - leap-seconds. - type: integer - format: int32 - hours: - format: int32 - type: integer - description: >- - Optional. Hours of day in 24 hour format. Should be from 0 to 23, - defaults to 0 (midnight). An API may choose to allow the value - "24:00:00" for scenarios like business closing time. - minutes: - description: >- - Optional. Minutes of hour of day. Must be from 0 to 59, defaults to - 0. - type: integer - format: int32 - year: + customGenAiModelInfo: + description: Information for a custom Generative AI model created by the user. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoCustomGenAiModelInfo + foundationGenAiModelInfo: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo + description: Information for a pretrained Google-managed foundation model. + id: GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfo + GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo: + id: GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo + properties: + superscript: + type: boolean description: >- - Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a - datetime without a year. - format: int32 - type: integer - day: - type: integer - format: int32 + Whether the text is a superscript. This feature is not supported + yet. + strikeout: + type: boolean description: >- - Optional. Day of month. Must be from 1 to 31 and valid for the year - and month, or 0 if specifying a datetime without a day. - utcOffset: + Whether the text is strikethrough. This feature is not supported + yet. + italic: + type: boolean + description: Whether the text is italic. + fontType: type: string - format: google-duration + description: Name or style of the font. + pixelFontSize: + format: double description: >- - UTC offset. Must be whole seconds, between -18 hours and +18 hours. - For example, a UTC offset of -4:00 would be represented as { - seconds: -14400 }. - timeZone: - $ref: '#/components/schemas/GoogleTypeTimeZone' - description: Time zone. - month: + Font size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ + `72.0`. + type: number + smallcaps: + type: boolean description: >- - Optional. Month of year. Must be from 1 to 12, or 0 if specifying a - datetime without a month. - type: integer + Whether the text is in small caps. This feature is not supported + yet. + bold: + type: boolean + description: >- + Whether the text is bold (equivalent to font_weight is at least + `700`). + fontWeight: format: int32 - nanos: + type: integer description: >- - Optional. Fractions of seconds in nanoseconds. Must be from 0 to - 999,999,999, defaults to 0. + TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). + Normal is `400`, bold is `700`. + underlined: + description: Whether the text is underlined. + type: boolean + subscript: + type: boolean + description: Whether the text is a subscript. This feature is not supported yet. + handwritten: + type: boolean + description: Whether the text is handwritten. + letterSpacing: + format: double + type: number + description: Letter spacing in points. + backgroundColor: + $ref: '#/components/schemas/GoogleTypeColor' + description: Color of the background. + fontSize: format: int32 type: integer - GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse: - description: The response proto of ResyncDataset method. + description: Font size in points (`1` point is `¹⁄₇₂` inches). + textColor: + description: Color of the text. + $ref: '#/components/schemas/GoogleTypeColor' type: object - properties: {} - id: GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse - GoogleCloudDocumentaiV1DeleteProcessorMetadata: - id: GoogleCloudDocumentaiV1DeleteProcessorMetadata - properties: - commonMetadata: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - description: The basic metadata of the long-running operation. - description: The long-running operation metadata for the DeleteProcessor method. - type: object - GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus: + description: Font and other text style attributes. + GoogleCloudDocumentaiV1DocumentPageFormField: type: object + description: A form field detected on the page. properties: - datasetInconsistencyType: + nameDetectedLanguages: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages for name together with confidence. + correctedValueText: type: string - enumDescriptions: - - Default value. - - The marker file under the dataset folder is not found. - description: The type of the inconsistency of the dataset. - enum: - - DATASET_INCONSISTENCY_TYPE_UNSPECIFIED - - DATASET_INCONSISTENCY_TYPE_NO_STORAGE_MARKER - status: - $ref: '#/components/schemas/GoogleRpcStatus' description: >- - The status of resyncing the dataset with regards to the detected - inconsistency. Empty if ResyncDatasetRequest.validate_only is - `true`. - description: Resync status against inconsistency types on the dataset level. - id: GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus - GoogleCloudDocumentaiV1DocumentPageToken: - description: A detected token. - id: GoogleCloudDocumentaiV1DocumentPageToken - properties: - detectedBreak: - description: Detected break at the end of a Token. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak - styleInfo: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo - description: Text style attributes. - provenance: - description: The history of this annotation. - deprecated: true - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Token. - detectedLanguages: - type: array - description: A list of detected languages together with confidence. + Created for Labeling UI to export value text. If corrections were + made to the text identified by the `field_value.text_anchor`, this + field will contain the correction. + valueType: + description: >- + If the value is non-textual, this field represents the type. Current + valid values are: - blank (this indicates the `field_value` is + normal text) - `unfilled_checkbox` - `filled_checkbox` + type: string + correctedKeyText: + type: string + description: >- + Created for Labeling UI to export key text. If corrections were made + to the text identified by the `field_name.text_anchor`, this field + will contain the correction. + valueDetectedLanguages: items: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages for value together with confidence. + type: array + fieldName: + description: >- + Layout for the FormField name. e.g. `Address`, `Email`, `Grand + total`, `Phone number`, etc. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + fieldValue: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for the FormField value. + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this annotation. + id: GoogleCloudDocumentaiV1DocumentPageFormField + GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsResponse: + id: GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsResponse + properties: {} + description: Response of the batch move documents operation. type: object - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan: - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - description: Represents where the chunk starts and ends in the document. + GoogleCloudDocumentaiUiv1beta3EnableProcessorResponse: + type: object + id: GoogleCloudDocumentaiUiv1beta3EnableProcessorResponse + properties: {} + description: >- + Response message for the EnableProcessor method. Intentionally empty + proto for adding fields in future. + GoogleCloudDocumentaiV1TrainProcessorVersionMetadata: type: object properties: - pageStart: - format: int32 - type: integer - description: Page where chunk starts in the document. - pageEnd: - type: integer - format: int32 - description: Page where chunk ends in the document. - GoogleCloudDocumentaiUiv1beta3DeleteProcessorMetadata: + testDatasetValidation: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation + description: The test dataset validation information. + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + trainingDatasetValidation: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation + description: The training dataset validation information. + id: GoogleCloudDocumentaiV1TrainProcessorVersionMetadata + description: The metadata that represents a processor version being created. + GoogleCloudDocumentaiV1DeployProcessorVersionMetadata: type: object - description: The long-running operation metadata for the DeleteProcessor method. - id: GoogleCloudDocumentaiUiv1beta3DeleteProcessorMetadata + id: GoogleCloudDocumentaiV1DeployProcessorVersionMetadata + properties: + commonMetadata: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The basic metadata of the long-running operation. + description: >- + The long-running operation metadata for the DeployProcessorVersion + method. + GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig: + description: Configuration specific to an unmanaged dataset. + properties: {} + type: object + id: GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig + GoogleCloudDocumentaiUiv1beta3UpdateHumanReviewConfigMetadata: properties: commonMetadata: $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - GoogleCloudDocumentaiV1DocumentPageImage: + id: GoogleCloudDocumentaiUiv1beta3UpdateHumanReviewConfigMetadata + description: >- + The long-running operation metadata for updating the human review + configuration. type: object - id: GoogleCloudDocumentaiV1DocumentPageImage + GoogleTypeDate: + type: object + id: GoogleTypeDate + description: >- + 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 properties: - mimeType: + year: description: >- - Encoding [media type (MIME - type)](https://www.iana.org/assignments/media-types/media-types.xhtml) - for the image. - type: string - width: - description: Width of the image in pixels. + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. format: int32 type: integer - content: - description: Raw byte content of the image. - type: string - format: byte - height: - description: Height of the image in pixels. + day: + format: int32 + description: >- + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + type: integer + month: + description: >- + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. type: integer format: int32 - description: Rendered image contents for this page. - GoogleCloudDocumentaiV1DocumentRevision: + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow: properties: - humanReview: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentRevisionHumanReview - description: Human Review information of this revision. - agent: + cells: + type: array + description: A table row is a list of table cells. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell + description: Represents a row in a table. + type: object + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow + GoogleCloudDocumentaiV1DocumentPage: + properties: + transforms: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageMatrix' + type: array description: >- - If the change was made by a person specify the name or id of that - person. - type: string - id: + Transformation matrices that were applied to the original document + image to produce Page.image. + formFields: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageFormField' + type: array + description: A list of visually detected form fields on the page. + layout: + description: Layout for the page. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + symbols: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageSymbol' + type: array + description: A list of visually detected symbols on the page. + dimension: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageDimension' + description: Physical dimension of the page. + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: The history of this page. + deprecated: true + paragraphs: description: >- - Id of the revision, internally generated by doc proto storage. - Unique within the context of the document. - type: string - parentIds: + A list of visually detected text paragraphs on the page. A + collection of lines that a human would perceive as a paragraph. items: - type: string + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageParagraph' type: array + image: description: >- - The revisions that this revision is based on. Must include all the - ids that have anything to do with this revision - eg. there are - `provenance.parent.revision` fields that index into this field. - createTime: - format: google-datetime + Rendered image for this page. This image is preprocessed to remove + any skew, rotation, and distortions such that the annotation + bounding boxes can be upright and axis-aligned. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageImage' + pageNumber: description: >- - The time that the revision was created, internally generated by doc - proto storage at the time of create. - type: string - processor: - type: string + 1-based index for current Page in a parent Document. Useful when a + page is taken out of a Document for individual processing. + type: integer + format: int32 + detectedBarcodes: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedBarcode + type: array + description: A list of detected barcodes. + tokens: + description: A list of visually detected tokens on the page. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageToken' + type: array + detectedLanguages: + description: A list of detected languages together with confidence. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + type: array + blocks: description: >- - If the annotation was made by processor identify the processor by - its resource name. - parent: + A list of visually detected text blocks on the page. A block has a + set of lines (collected into paragraphs) that have a common + line-spacing and orientation. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageBlock' + type: array + imageQualityScores: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScores + description: Image quality scores. + lines: type: array + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLine' description: >- - The revisions that this revision is based on. This can include one - or more parent (when documents are merged.) This field represents - the index into the `revisions` field. + A list of visually detected text lines on the page. A collection of + tokens that a human would perceive as a line. + tables: items: - format: int32 - type: integer - deprecated: true - description: Contains past or forward revisions of this document. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageTable' + description: A list of visually detected tables on the page. + type: array + visualElements: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageVisualElement + type: array + description: >- + A list of detected non-text visual elements e.g. checkbox, signature + etc. on the page. type: object - id: GoogleCloudDocumentaiV1DocumentRevision - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter: + id: GoogleCloudDocumentaiV1DocumentPage + description: A page in a Document. + GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus: + type: object + id: GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus properties: - text: - description: Footer in text format. + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + The status of resyncing the dataset with regards to the detected + inconsistency. Empty if ResyncDatasetRequest.validate_only is + `true`. + datasetInconsistencyType: + description: The type of the inconsistency of the dataset. + enumDescriptions: + - Default value. + - The marker file under the dataset folder is not found. type: string - pageSpan: - description: Page span of the footer. + enum: + - DATASET_INCONSISTENCY_TYPE_UNSPECIFIED + - DATASET_INCONSISTENCY_TYPE_NO_STORAGE_MARKER + description: Resync status against inconsistency types on the dataset level. + GoogleCloudDocumentaiV1beta3EnableProcessorMetadata: + properties: + commonMetadata: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + id: GoogleCloudDocumentaiV1beta3EnableProcessorMetadata + description: The long-running operation metadata for the EnableProcessor method. type: object - description: Represents the page footer associated with the chunk. - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter - GoogleCloudDocumentaiV1CommonOperationMetadata: + GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse: + id: GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse + type: object + description: Response message for the UndeployProcessorVersion method. + properties: {} + GoogleCloudDocumentaiV1DocumentPageToken: type: object - description: The common metadata for long running operations. - id: GoogleCloudDocumentaiV1CommonOperationMetadata properties: - updateTime: - description: The last update time of the operation. + detectedBreak: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak + description: Detected break at the end of a Token. + styleInfo: + description: Text style attributes. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo + provenance: + deprecated: true + description: The history of this annotation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + detectedLanguages: + description: A list of detected languages together with confidence. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + layout: + description: Layout for Token. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: A detected token. + id: GoogleCloudDocumentaiV1DocumentPageToken + GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata: + type: object + description: >- + The long-running operation metadata for the SetDefaultProcessorVersion + method. + properties: + commonMetadata: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The basic metadata of the long-running operation. + id: GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata + GoogleCloudLocationLocation: + type: object + description: A resource that represents a Google Cloud location. + properties: + locationId: + description: 'The canonical id for this location. For example: `"us-east1"`.' type: string - format: google-datetime - stateMessage: - description: >- - A message providing more details about the current state of - processing. + name: type: string - resource: + description: >- + Resource name for the location, which may vary between + implementations. For example: + `"projects/example-project/locations/us-east1"` + metadata: + description: >- + Service-specific metadata. For example the available capacity at the + given location. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + labels: + additionalProperties: + type: string + description: >- + Cross-service attributes for the location. For example + {"cloud.googleapis.com/region": "us-east1"} + type: object + displayName: type: string - description: A related resource to this operation. + description: >- + The friendly name for this location, typically a nearby city name. + For example, "Tokyo". + id: GoogleCloudLocationLocation + GoogleCloudDocumentaiV1DocumentPageAnchor: + description: >- + Referencing the visual context of the entity in the Document.pages. Page + anchors can be cross-page, consist of multiple bounding polygons and + optionally reference specific layout element types. + properties: + pageRefs: + description: One or more references to visual page elements + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchorPageRef + type: object + id: GoogleCloudDocumentaiV1DocumentPageAnchor + GoogleCloudDocumentaiV1beta3CommonOperationMetadata: + description: The common metadata for long running operations. + type: object + id: GoogleCloudDocumentaiV1beta3CommonOperationMetadata + properties: state: description: The state of the operation. - type: string - enumDescriptions: - - Unspecified state. - - Operation is still running. - - Operation is being cancelled. - - Operation succeeded. - - Operation failed. - - Operation is cancelled. enum: - STATE_UNSPECIFIED - RUNNING @@ -846,492 +1091,504 @@ components: - SUCCEEDED - FAILED - CANCELLED + enumDescriptions: + - Unspecified state. + - Operation is still running. + - Operation is being cancelled. + - Operation succeeded. + - Operation failed. + - Operation is cancelled. + type: string + updateTime: + description: The last update time of the operation. + format: google-datetime + type: string + stateMessage: + type: string + description: >- + A message providing more details about the current state of + processing. createTime: - description: The creation time of the operation. + type: string format: google-datetime + description: The creation time of the operation. + resource: type: string - GoogleCloudDocumentaiV1HumanReviewStatus: + description: A related resource to this operation. + GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics: type: object + id: GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics + description: Evaluations metrics, at a specific confidence level. properties: - stateMessage: - description: A message providing more details about the human review state. + confidenceLevel: + format: float + description: The confidence level. + type: number + metrics: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationMetrics' + description: The metrics at the specific confidence level. + GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics: + description: Metrics across multiple confidence levels. + type: object + properties: + metricsType: + description: The metrics type for the label. type: string - state: - description: The state of human review on the processing request. + enum: + - METRICS_TYPE_UNSPECIFIED + - AGGREGATE enumDescriptions: - >- - Human review state is unspecified. Most likely due to an internal - error. - - >- - Human review is skipped for the document. This can happen because - human review isn't enabled on the processor or the processing - request has been set to skip this document. - - >- - Human review validation is triggered and passed, so no review is - needed. - - >- - Human review validation is triggered and the document is under - review. + The metrics type is unspecified. By default, metrics without a + particular specification are for leaf entity types (i.e., + top-level entity types without child types, or child types which + are not parent types themselves). - >- - Some error happened during triggering human review, see the - state_message for details. + Indicates whether metrics for this particular label type represent + an aggregate of metrics for other types instead of being based on + actual TP/FP/FN values for the label type. Metrics for parent + (i.e., non-leaf) entity types are an aggregate of metrics for + their children. + estimatedCalibrationError: + description: >- + The Estimated Calibration Error (ECE) of the confidence of the + predicted entities. + format: float + type: number + auprcExact: + format: float + description: >- + The AUPRC for metrics with fuzzy matching disabled, i.e., exact + matching only. + type: number + confidenceLevelMetrics: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics + description: Metrics across confidence levels with fuzzy matching enabled. + type: array + estimatedCalibrationErrorExact: + type: number + format: float + description: >- + The ECE for the predicted entities with fuzzy matching disabled, + i.e., exact matching only. + auprc: + format: float + type: number + description: >- + The calculated area under the precision recall curve (AUPRC), + computed by integrating over all confidence thresholds. + confidenceLevelMetricsExact: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics + description: Metrics across confidence levels with only exact matching. + id: GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics + GoogleCloudDocumentaiV1DocumentSchemaEntityType: + description: >- + EntityType is the wrapper of a label of the corresponding model with + detailed attributes and limitations for entity-based processors. + Multiple types can also compose a dependency tree to represent nested + types. + properties: + enumValues: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues + description: >- + If specified, lists all the possible values for this entity. This + should not be more than a handful of values. If the number of values + is >10 or could change frequently use the + `EntityType.value_ontology` field and specify a list of all possible + values in a value ontology file. + baseTypes: + items: + type: string + description: >- + The entity type that this type is derived from. For now, one and + only one should be set. + type: array + properties: + type: array + description: Description the nested structure, or composition of an entity. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaEntityTypeProperty + name: type: string - enum: - - STATE_UNSPECIFIED - - SKIPPED - - VALIDATION_PASSED - - IN_PROGRESS - - ERROR - humanReviewOperation: description: >- - The name of the operation triggered by the processed document. This - field is populated only when the state is - `HUMAN_REVIEW_IN_PROGRESS`. It has the same response type and - metadata as the long-running operation returned by ReviewDocument. + Name of the type. It must be unique within the schema file and + cannot be a "Common Type". The following naming conventions are + used: - Use `snake_casing`. - Name matching is case-sensitive. - + Maximum 64 characters. - Must start with a letter. - Allowed + characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility + internal infrastructure and tooling can handle any ascii character.) + - The `/` is sometimes used to denote a property of a type. For + example `line_item/amount`. This convention is deprecated, but will + still be honored for backward compatibility. + displayName: type: string - description: The status of human review on a processed document. - id: GoogleCloudDocumentaiV1HumanReviewStatus - GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId: + description: User defined name for the type. + id: GoogleCloudDocumentaiV1DocumentSchemaEntityType type: object + GoogleCloudDocumentaiV1ReviewDocumentOperationMetadata: + description: The long-running operation metadata for the ReviewDocument method. + id: GoogleCloudDocumentaiV1ReviewDocumentOperationMetadata properties: - docId: - description: Required. The id of the document. + questionId: type: string - description: >- - Identifies a document uniquely within the scope of a dataset in - unmanaged option. - id: GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId - GoogleCloudDocumentaiV1DisableProcessorResponse: - description: >- - Response message for the DisableProcessor method. Intentionally empty - proto for adding fields in future. - id: GoogleCloudDocumentaiV1DisableProcessorResponse - type: object - properties: {} - GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig: - properties: - chunkingConfig: - description: Optional. Config for chunking in layout parser processor. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig + description: The Crowd Compute question ID. + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' type: object - id: GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig - description: Serving config for layout parser processor. - GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak: - id: GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak + GoogleCloudDocumentaiV1DocumentSchema: + description: The schema defines the output of the processed document by a processor. type: object - description: Detected break at the end of a Token. + id: GoogleCloudDocumentaiV1DocumentSchema properties: - type: - enumDescriptions: - - Unspecified break type. - - A single whitespace. - - A wider whitespace. - - A hyphen that indicates that a token has been split across lines. + entityTypes: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaEntityType + type: array + description: Entity types of the schema. + displayName: type: string - enum: - - TYPE_UNSPECIFIED - - SPACE - - WIDE_SPACE - - HYPHEN - description: Detected break type. - GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata: - description: >- - The long-running operation metadata for the SetDefaultProcessorVersion - method. - id: GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata + description: Display name to show to users. + description: + type: string + description: Description of the schema. + metadata: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaMetadata' + description: Metadata of the schema. + GoogleCloudDocumentaiUiv1beta3SampleDocumentsMetadata: + id: GoogleCloudDocumentaiUiv1beta3SampleDocumentsMetadata + type: object + description: Metadata of the sample documents operation. properties: commonMetadata: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - type: object - GoogleCloudDocumentaiV1EvaluateProcessorVersionResponse: - description: Response of the EvaluateProcessorVersion method. - type: object - id: GoogleCloudDocumentaiV1EvaluateProcessorVersionResponse + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk: properties: - evaluation: - description: The resource name of the created evaluation. + sourceBlockIds: + type: array + items: + type: string + description: Unused. + content: + description: Text content of the chunk. type: string - GoogleLongrunningListOperationsResponse: - description: The response message for Operations.ListOperations. - id: GoogleLongrunningListOperationsResponse + pageHeaders: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader + description: Page headers associated with the chunk. + type: array + pageSpan: + description: Page span of the chunk. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + pageFooters: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter + description: Page footers associated with the chunk. + chunkId: + description: ID of the chunk. + type: string + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk + description: Represents a chunk. type: object + GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation: + id: >- + GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation + type: object + description: >- + The dataset validation information. This includes any and all errors + with documents and the dataset. properties: - operations: + documentErrorCount: + format: int32 + type: integer + description: The total number of document errors. + documentErrors: description: >- - A list of operations that matches the specified filter in the - request. + Error information pertaining to specific documents. A maximum of 10 + document errors will be returned. Any document with errors will not + be used throughout training. type: array items: - $ref: '#/components/schemas/GoogleLongrunningOperation' - nextPageToken: - type: string - description: The standard List next-page token. - GoogleCloudDocumentaiV1OcrConfig: - description: Config for Document OCR. - id: GoogleCloudDocumentaiV1OcrConfig - properties: - computeStyleInfo: - deprecated: true + $ref: '#/components/schemas/GoogleRpcStatus' + datasetErrors: + type: array description: >- - Turn on font identification model and return font style information. - Deprecated, use PremiumFeatures.compute_style_info instead. - type: boolean - hints: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1OcrConfigHints' - description: Hints for the OCR model. - enableNativePdfParsing: - description: >- - Enables special handling for PDFs with existing text information. - Results in better text extraction quality in such PDF inputs. - type: boolean - enableSymbol: - type: boolean - description: Includes symbol level OCR information if set to true. - premiumFeatures: - description: Configurations for premium OCR features. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1OcrConfigPremiumFeatures' - disableCharacterBoxesDetection: - type: boolean - description: >- - Turn off character box detector in OCR engine. Character box - detection is enabled by default in OCR 2.0 (and later) processors. - advancedOcrOptions: - type: array - description: >- - A list of advanced OCR options to further fine-tune OCR behavior. - Current valid values are: - `legacy_layout`: a heuristics layout - detection algorithm, which serves as an alternative to the current - ML-based layout detection algorithm. Customers can choose the best - suitable layout algorithm based on their situation. + Error information for the dataset as a whole. A maximum of 10 + dataset errors will be returned. A single dataset error is terminal + for training. items: - type: string - enableImageQualityScores: - description: >- - Enables intelligent document quality scores after OCR. Can help with - diagnosing why OCR responses are of poor quality for a given input. - Adds additional latency comparable to regular OCR to the process - call. - type: boolean - type: object - GoogleCloudDocumentaiV1ListProcessorTypesResponse: - description: Response message for the ListProcessorTypes method. + $ref: '#/components/schemas/GoogleRpcStatus' + datasetErrorCount: + format: int32 + type: integer + description: The total number of dataset errors. + GoogleCloudDocumentaiV1DocumentTextChange: type: object - id: GoogleCloudDocumentaiV1ListProcessorTypesResponse + description: This message is used for text changes aka. OCR corrections. properties: - nextPageToken: - description: Points to the next page, otherwise empty. - type: string - processorTypes: + provenance: items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorType' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + deprecated: true type: array - description: The processor types. - GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata: + description: The history of this annotation. + changedText: + type: string + description: The text that replaces the text identified in the `text_anchor`. + textAnchor: + description: >- + Provenance of the correction. Text anchor indexing into the + Document.text. There can only be a single `TextAnchor.text_segments` + element. If the start and end index of the text segment are the + same, the text change is inserted before that index. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + id: GoogleCloudDocumentaiV1DocumentTextChange + GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId: + id: GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId properties: - commonMetadata: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata - description: >- - The long-running operation metadata for the SetDefaultProcessorVersion - method. - type: object - GoogleCloudDocumentaiV1beta3DisableProcessorResponse: + docId: + type: string + description: Required. The id of the document. type: object description: >- - Response message for the DisableProcessor method. Intentionally empty - proto for adding fields in future. - properties: {} - id: GoogleCloudDocumentaiV1beta3DisableProcessorResponse - GoogleCloudDocumentaiV1DocumentPageLine: - type: object - id: GoogleCloudDocumentaiV1DocumentPageLine + Identifies a document uniquely within the scope of a dataset in + unmanaged option. + GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues: + id: GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues + description: Defines the a list of enum values. properties: - provenance: - deprecated: true - description: The history of this annotation. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - detectedLanguages: + values: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages together with confidence. + type: string + description: The individual values that this enum values type can include. type: array - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Line. - description: >- - A collection of tokens that a human would perceive as a line. Does not - cross column boundaries, can be horizontal, vertical, etc. - GoogleCloudDocumentaiV1beta3EnableProcessorResponse: - id: GoogleCloudDocumentaiV1beta3EnableProcessorResponse - description: >- - Response message for the EnableProcessor method. Intentionally empty - proto for adding fields in future. - type: object - properties: {} - GoogleCloudDocumentaiV1DeployProcessorVersionResponse: type: object - properties: {} - id: GoogleCloudDocumentaiV1DeployProcessorVersionResponse - description: Response message for the DeployProcessorVersion method. - GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata: + GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponse: type: object - id: GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata - description: >- - The long-running operation metadata for the SetDefaultProcessorVersion - method. properties: - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionResponse: - id: GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionResponse + selectedDocuments: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument + description: The result of the sampling process. + type: array + sampleTestStatus: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of sampling documents in test split. + sampleTrainingStatus: + description: The status of sampling documents in training split. + $ref: '#/components/schemas/GoogleRpcStatus' + description: Response of the sample documents operation. + id: GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponse + GoogleCloudDocumentaiV1beta3GcsPrefix: + type: object properties: - evaluation: - description: The resource name of the created evaluation. + gcsUriPrefix: + description: The URI prefix. type: string - description: Response of the EvaluateProcessorVersion method. - type: object - GoogleCloudDocumentaiV1Document: - id: GoogleCloudDocumentaiV1Document - description: >- - 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. + description: Specifies all documents on Cloud Storage with a common prefix. + id: GoogleCloudDocumentaiV1beta3GcsPrefix + GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse: + id: GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse type: object + properties: {} + description: The response proto of ResyncDataset method. + GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus: + description: The status of a each individual document in the batch process. + id: GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus properties: - text: - description: Optional. UTF-8 encoded text in reading order from the document. - type: string - mimeType: - description: >- - An IANA published [media type (MIME - type)](https://www.iana.org/assignments/media-types/media-types.xhtml). + humanReviewOperation: type: string - chunkedDocument: - description: Document chunked based on chunking config. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocument' - textStyles: - description: Styles for the Document.text. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyle' - type: array deprecated: true - pages: - description: Visual page layout for the Document. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPage' - type: array - entities: - description: >- - A list of entities detected on Document.text. For document shards, - entities in this list may cross shard boundaries. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' - shardInfo: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentShardInfo' - description: >- - Information about the sharding if this document is sharded part of a - larger document. If the document is not sharded, this message is not - specified. - entityRelations: - description: Placeholder. Relationship among Document.entities. - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntityRelation' - textChanges: - type: array - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextChange' description: >- - Placeholder. A list of text corrections made to Document.text. This - is usually used for annotating corrections to OCR mistakes. Text - changes for a given revision may not overlap with each other. - error: - description: Any error that occurred while processing this document. + The name of the operation triggered by the processed document. If + the human review process isn't triggered, this field will be empty. + It has the same response type and metadata as the long-running + operation returned by the ReviewDocument method. + status: $ref: '#/components/schemas/GoogleRpcStatus' - uri: + description: The status processing the document. + outputGcsDestination: description: >- - Optional. Currently supports Google Cloud Storage URI of the form - `gs://bucket_name/object_name`. Object versioning is not supported. - For more information, refer to [Google Cloud Storage Request - URIs](https://cloud.google.com/storage/docs/reference-uris). + The Cloud Storage output destination (in the request as + DocumentOutputConfig.GcsOutputConfig.gcs_uri) of the processed + document if it was successful, otherwise empty. type: string - documentLayout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayout' - description: Parsed layout of the document. - revisions: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentRevision' - description: Placeholder. Revision history of this document. - type: array - content: + humanReviewStatus: + description: The status of human review on the processed document. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3HumanReviewStatus' + inputGcsSource: type: string - format: byte description: >- - Optional. Inline document content, represented as a stream of bytes. - Note: As with all `bytes` fields, protobuffers use a pure binary - representation, whereas JSON representations use base64. - GoogleCloudDocumentaiV1DisableProcessorMetadata: - type: object - properties: - commonMetadata: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiV1DisableProcessorMetadata - description: The long-running operation metadata for the DisableProcessor method. - GoogleCloudDocumentaiV1EnableProcessorResponse: - properties: {} - type: object - id: GoogleCloudDocumentaiV1EnableProcessorResponse - description: >- - Response message for the EnableProcessor method. Intentionally empty - proto for adding fields in future. - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader: - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader - description: Represents the page header associated with the chunk. - type: object - properties: - pageSpan: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - description: Page span of the header. - text: - type: string - description: Header in text format. - GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment: - id: GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment + The source of the document, same as the input_gcs_source field in + the request when the batch process started. type: object + GoogleTypePostalAddress: + id: GoogleTypePostalAddress properties: - startIndex: - description: TextSegment start UTF-8 char index in the Document.text. + sortingCode: + description: >- + Optional. Additional, country-specific, sorting code. This is not + used in most regions. Where it is used, the value is either a string + like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or + just a number alone, representing the "sector code" (Jamaica), + "delivery area indicator" (Malawi) or "post office indicator" (e.g. + Côte d'Ivoire). type: string - format: int64 - endIndex: + revision: + type: integer + format: int32 + description: >- + The schema revision of the `PostalAddress`. This must be set to 0, + which is the latest revision. All new revisions **must** be backward + compatible with old revisions. + postalCode: + description: >- + Optional. Postal code of the address. Not all countries use or + require postal codes to be present, but where they are used, they + may trigger additional validation with other parts of the address + (e.g. state/zip validation in the U.S.A.). type: string - format: int64 - description: TextSegment half open end UTF-8 char index in the Document.text. - description: >- - A text segment in the Document.text. The indices may be out of bounds - which indicate that the text extends into another document shard for - large sharded documents. See ShardInfo.text_offset - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock: - id: GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock - type: object - properties: - pageSpan: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan - description: Page span of the block. - blockId: + languageCode: type: string - description: ID of the block. - tableBlock: - description: Block consisting of table content/structure. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock - listBlock: - description: Block consisting of list content/structure. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock - textBlock: - description: Block consisting of text content. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock - description: >- - Represents a block. A block could be one of the various types (text, - table, list) supported. - GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionResponse: - properties: - evaluation: - description: The resource name of the created evaluation. + description: >- + Optional. BCP-47 language code of the contents of this address (if + known). This is often the UI language of the input form or is + expected to match one of the languages used in the address' + country/region, or their transliterated equivalents. This can affect + formatting in certain countries, but is not critical to the + correctness of the data and will never affect any validation or + other non-formatting related operations. If this value is not known, + it should be omitted (rather than specifying a possibly incorrect + default). Examples: "zh-Hant", "ja", "ja-Latn", "en". + administrativeArea: + description: >- + Optional. Highest administrative subdivision which is used for + postal addresses of a country or region. For example, this can be a + state, a province, an oblast, or a prefecture. Specifically, for + Spain this is the province and not the autonomous community (e.g. + "Barcelona" and not "Catalonia"). Many countries don't use an + administrative area in postal addresses. E.g. in Switzerland this + should be left unpopulated. type: string - description: Response of the EvaluateProcessorVersion method. - type: object - id: GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionResponse - GoogleCloudDocumentaiV1EvaluationReference: - properties: - evaluation: + sublocality: type: string - description: The resource name of the evaluation. - operation: + description: >- + Optional. Sublocality of the address. For example, this can be + neighborhoods, boroughs, districts. + recipients: + items: + type: string + type: array + description: >- + Optional. The recipient at the address. This field may, under + certain circumstances, contain multiline information. For example, + it might contain "care of" information. + addressLines: + type: array + items: + type: string + description: >- + Unstructured address lines describing the lower levels of an + address. Because values in address_lines do not have type + information and may sometimes contain multiple values in a single + field (e.g. "Austin, TX"), it is important that the line order is + clear. The order of address lines should be "envelope order" for the + country/region of the address. In places where this can vary (e.g. + Japan), address_language is used to make it explicit (e.g. "ja" for + large-to-small ordering and "ja-Latn" or "en" for small-to-large). + This way, the most specific line of an address can be selected based + on the language. The minimum permitted structural representation of + an address consists of a region_code with all remaining information + placed in the address_lines. It would be possible to format such an + address very approximately without geocoding, but no semantic + reasoning could be made about any of the address components until it + was at least partially resolved. Creating an address only containing + a region_code and address_lines, and then geocoding is the + recommended way to handle completely unstructured addresses (as + opposed to guessing which parts of the address should be localities + or administrative areas). + regionCode: type: string - description: The resource name of the Long Running Operation for the evaluation. - aggregateMetricsExact: description: >- - An aggregate of the statistics for the evaluation with fuzzy - matching off. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationMetrics' - aggregateMetrics: + Required. CLDR region code of the country/region of the address. + This is never inferred and it is up to the user to ensure the value + is correct. See https://cldr.unicode.org/ and + https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + for details. Example: "CH" for Switzerland. + locality: + type: string description: >- - An aggregate of the statistics for the evaluation with fuzzy - matching on. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationMetrics' + Optional. Generally refers to the city/town portion of the address. + Examples: US city, IT comune, UK post town. In regions of the world + where localities are not well defined or do not fit into this + structure well, leave locality empty and use address_lines. + organization: + description: Optional. The name of the organization at the address. + type: string description: >- - Gives a short summary of an evaluation, and links to the evaluation - itself. - type: object - id: GoogleCloudDocumentaiV1EvaluationReference - GoogleCloudDocumentaiUiv1beta3RevisionRef: - id: GoogleCloudDocumentaiUiv1beta3RevisionRef + Represents a postal address, e.g. for postal delivery or payments + addresses. Given a postal address, a postal service can deliver items to + a premise, P.O. Box or similar. It is not intended to model geographical + locations (roads, towns, mountains). In typical usage an address would + be created via user input or from importing existing data, depending on + the type of process. Advice on address input / editing: - Use an + internationalization-ready address widget such as + https://github.com/google/libaddressinput) - Users should not be + presented with UI elements for input or editing of fields outside + countries where that field is used. For more guidance on how to use this + schema, please see: https://support.google.com/business/answer/6397478 type: object - description: The revision reference specifies which revision on the document to read. + GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus: properties: - latestProcessorVersion: - type: string + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of the document auto-labeling. + documentId: + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' description: >- - Reads the revision generated by the processor version. The format - takes the full resource name of processor version. - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` - revisionCase: - description: Reads the revision by the predefined case. - enumDescriptions: - - Unspecified case, fall back to read the `LATEST_HUMAN_REVIEW`. - - The latest revision made by a human. - - The latest revision based on timestamp. - - The first (OCR) revision. - type: string - enum: - - REVISION_CASE_UNSPECIFIED - - LATEST_HUMAN_REVIEW - - LATEST_TIMESTAMP - - BASE_OCR_REVISION - revisionId: - description: Reads the revision given by the id. - type: string + The document id of the auto-labeled document. This will replace the + gcs_uri. + type: object + description: The status of individual documents in the auto-labeling process. + id: >- + GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus GoogleCloudDocumentaiV1BatchProcessMetadata: - description: The long-running operation metadata for BatchProcessDocuments. - id: GoogleCloudDocumentaiV1BatchProcessMetadata type: object + id: GoogleCloudDocumentaiV1BatchProcessMetadata + description: The long-running operation metadata for BatchProcessDocuments. properties: - stateMessage: - description: >- - A message providing more details about the current state of - processing. For example, the error message if the operation is - failed. + updateTime: + description: The last update time of the operation. + format: google-datetime type: string createTime: - format: google-datetime type: string + format: google-datetime description: The creation time of the operation. individualProcessStatuses: - type: array items: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus + type: array description: The list of response details of each document. - updateTime: - description: The last update time of the operation. - type: string - format: google-datetime state: + description: The state of the current batch processing. + type: string enumDescriptions: - The default value. This value is used if the state is omitted. - Request operation is waiting for scheduling. @@ -1340,8 +1597,6 @@ components: - The batch processing was being cancelled. - The batch processing was cancelled. - The batch processing has failed. - type: string - description: The state of the current batch processing. enum: - STATE_UNSPECIFIED - WAITING @@ -1350,404 +1605,351 @@ components: - CANCELLING - CANCELLED - FAILED - GoogleCloudDocumentaiV1TrainProcessorVersionRequestCustomDocumentExtractionOptions: - type: object - description: >- - Options to control the training of the Custom Document Extraction (CDE) - Processor. - properties: - trainingMethod: - description: Training method to use for CDE training. + stateMessage: type: string - enum: - - TRAINING_METHOD_UNSPECIFIED - - MODEL_BASED - - TEMPLATE_BASED - enumDescriptions: - - '' - - '' - - '' - id: >- - GoogleCloudDocumentaiV1TrainProcessorVersionRequestCustomDocumentExtractionOptions - GoogleCloudDocumentaiV1DocumentPageSymbol: - description: A detected symbol. + description: >- + A message providing more details about the current state of + processing. For example, the error message if the operation is + failed. + GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse: + id: GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse + type: object + properties: {} + description: Response message for the SetDefaultProcessorVersion method. + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry: properties: - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Symbol. - detectedLanguages: + blocks: type: array + description: >- + A list entry is a list of blocks. Repeated blocks support further + hierarchies and nested blocks. items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages together with confidence. - id: GoogleCloudDocumentaiV1DocumentPageSymbol + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry type: object - GoogleCloudDocumentaiV1ReviewDocumentResponse: + description: Represents an entry in the list. + GoogleCloudDocumentaiV1NormalizedVertex: properties: - state: - enumDescriptions: - - The default value. This value is used if the state is omitted. - - The review operation is rejected by the reviewer. - - The review operation is succeeded. - enum: - - STATE_UNSPECIFIED - - REJECTED - - SUCCEEDED - type: string - description: The state of the review operation. - gcsDestination: - type: string - description: >- - The Cloud Storage uri for the human reviewed document if the review - is succeeded. - rejectionReason: - type: string - description: The reason why the review is rejected by reviewer. - id: GoogleCloudDocumentaiV1ReviewDocumentResponse - description: Response message for the ReviewDocument method. + x: + type: number + format: float + description: X coordinate. + 'y': + description: Y coordinate (starts from the top of the image). + format: float + type: number + id: GoogleCloudDocumentaiV1NormalizedVertex type: object - GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionResponse: - id: GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionResponse - description: The response message for the ImportProcessorVersion method. + description: >- + A vertex represents a 2D point in the image. NOTE: the normalized vertex + coordinates are relative to the original image and range from 0 to 1. + GoogleCloudDocumentaiUiv1beta3DeleteProcessorMetadata: type: object + description: The long-running operation metadata for the DeleteProcessor method. properties: - processorVersion: - description: The destination processor version name. + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + id: GoogleCloudDocumentaiUiv1beta3DeleteProcessorMetadata + GoogleCloudLocationListLocationsResponse: + id: GoogleCloudLocationListLocationsResponse + description: The response message for Locations.ListLocations. + type: object + properties: + locations: + items: + $ref: '#/components/schemas/GoogleCloudLocationLocation' + description: >- + A list of locations that matches the specified filter in the + request. + type: array + nextPageToken: + description: The standard List next-page token. type: string - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan: + GoogleCloudDocumentaiUiv1beta3DocumentId: + properties: + revisionRef: + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3RevisionRef' + description: Points to a specific revision of the document if set. + unmanagedDocId: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId + description: A document id within unmanaged dataset. + gcsManagedDocId: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId + description: A document id within user-managed Cloud Storage. + type: object + id: GoogleCloudDocumentaiUiv1beta3DocumentId + description: Document Identifier. + GoogleCloudDocumentaiV1UndeployProcessorVersionRequest: + description: Request message for the UndeployProcessorVersion method. + properties: {} + type: object + id: GoogleCloudDocumentaiV1UndeployProcessorVersionRequest + GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation: type: object id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan + GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation + description: >- + The dataset validation information. This includes any and all errors + with documents and the dataset. properties: - pageStart: - format: int32 + datasetErrorCount: + description: The total number of dataset errors. type: integer - description: Page where block starts in the document. - pageEnd: format: int32 - description: Page where block ends in the document. + datasetErrors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + type: array + description: >- + Error information for the dataset as a whole. A maximum of 10 + dataset errors will be returned. A single dataset error is terminal + for training. + documentErrorCount: + format: int32 type: integer - description: Represents where the block starts and ends in the document. - GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsResponse: + description: The total number of document errors. + documentErrors: + description: >- + Error information pertaining to specific documents. A maximum of 10 + document errors will be returned. Any document with errors will not + be used throughout training. + type: array + items: + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudDocumentaiV1Evaluation: type: object - description: Response of the batch move documents operation. - id: GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsResponse - properties: {} - GoogleCloudDocumentaiV1ProcessorVersion: properties: - googleManaged: - description: >- - Output only. Denotes that this `ProcessorVersion` is managed by - Google. - readOnly: true - type: boolean - state: - readOnly: true - enumDescriptions: - - The processor version is in an unspecified state. - - The processor version is deployed and can be used for processing. - - The processor version is being deployed. - - >- - The processor version is not deployed and cannot be used for - processing. - - The processor version is being undeployed. - - The processor version is being created. - - The processor version is being deleted. - - The processor version failed and is in an indeterminate state. - - The processor version is being imported. - enum: - - STATE_UNSPECIFIED - - DEPLOYED - - DEPLOYING - - UNDEPLOYED - - UNDEPLOYING - - CREATING - - DELETING - - FAILED - - IMPORTING + kmsKeyVersionName: type: string - description: Output only. The state of the processor version. + description: The KMS key version with which data is encrypted. kmsKeyName: type: string description: The KMS key name used for encryption. - satisfiesPzi: - readOnly: true - description: Output only. Reserved for future use. - type: boolean - deprecationInfo: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionDeprecationInfo - description: If set, information about the eventual deprecation of this version. - name: - type: string - description: >- - Identifier. The resource name of the processor version. Format: - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}` - latestEvaluation: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationReference' - description: The most recently invoked evaluation for the processor version. createTime: - description: The time the processor version was created. - format: google-datetime - type: string - satisfiesPzs: - type: boolean - description: Output only. Reserved for future use. - readOnly: true - modelType: - readOnly: true - description: Output only. The model type of this processor version. - enum: - - MODEL_TYPE_UNSPECIFIED - - MODEL_TYPE_GENERATIVE - - MODEL_TYPE_CUSTOM - enumDescriptions: - - The processor version has unspecified model type. - - The processor version has generative model type. - - The processor version has custom model type. - type: string - documentSchema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' - description: The schema of the processor version. Describes the output. - displayName: type: string - description: The display name of the processor version. - kmsKeyVersionName: + description: The time that the evaluation was created. + format: google-datetime + name: type: string - description: The KMS key version with which data is encrypted. - genAiModelInfo: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfo - readOnly: true description: >- - Output only. Information about Generative AI model-based processor - versions. - id: GoogleCloudDocumentaiV1ProcessorVersion - description: >- - A processor version is an implementation of a processor. Each processor - can have multiple versions, pretrained by Google internally or uptrained - by the customer. A processor can only have one default version at a - time. Its document-processing behavior is defined by that version. - type: object - GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionMetadata: + The resource name of the evaluation. Format: + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}` + entityMetrics: + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics + description: Metrics across confidence levels, for different entities. + documentCounters: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationCounters' + description: Counters for the documents used in the evaluation. + allEntitiesMetrics: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics + description: Metrics for all the entities in aggregate. + id: GoogleCloudDocumentaiV1Evaluation + description: An evaluation of a ProcessorVersion's performance. + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter: properties: - commonMetadata: - description: The basic metadata for the long-running operation. + pageSpan: + description: Page span of the footer. $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: >- - The long-running operation metadata for the ImportProcessorVersion - method. - id: GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionMetadata + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + text: + type: string + description: Footer in text format. + description: Represents the page footer associated with the chunk. type: object - GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadata: + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter + GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionResponse: + id: GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionResponse + description: Response message for the UndeployProcessorVersion method. type: object + properties: {} + GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat: properties: - splitExportStats: - description: The list of statistics for each dataset split type. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat - type: array - individualExportStatuses: - type: array - description: The list of response details of each document. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: Metadata of the batch export documents operation. - id: GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadata - GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus: - description: The status of a each individual document in the batch process. - id: GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus - properties: - inputGcsSource: - description: >- - The source of the document, same as the input_gcs_source field in - the request when the batch process started. + splitType: + description: The dataset split type. + enum: + - DATASET_SPLIT_TYPE_UNSPECIFIED + - DATASET_SPLIT_TRAIN + - DATASET_SPLIT_TEST + - DATASET_SPLIT_UNASSIGNED + enumDescriptions: + - Default value if the enum is not set. + - Identifies the train documents. + - Identifies the test documents. + - Identifies the unassigned documents. type: string - outputGcsDestination: + totalDocumentCount: + type: integer + format: int32 description: >- - The Cloud Storage output destination (in the request as - DocumentOutputConfig.GcsOutputConfig.gcs_uri) of the processed - document if it was successful, otherwise empty. + Total number of documents with the given dataset split type to be + exported. + type: object + id: GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat + description: The statistic representing a dataset split type for this export. + GoogleCloudDocumentaiV1beta3HumanReviewStatus: + id: GoogleCloudDocumentaiV1beta3HumanReviewStatus + description: The status of human review on a processed document. + properties: + state: + enum: + - STATE_UNSPECIFIED + - SKIPPED + - VALIDATION_PASSED + - IN_PROGRESS + - ERROR + enumDescriptions: + - >- + Human review state is unspecified. Most likely due to an internal + error. + - >- + Human review is skipped for the document. This can happen because + human review isn't enabled on the processor or the processing + request has been set to skip this document. + - >- + Human review validation is triggered and passed, so no review is + needed. + - >- + Human review validation is triggered and the document is under + review. + - >- + Some error happened during triggering human review, see the + state_message for details. type: string - status: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status processing the document. + description: The state of human review on the processing request. + stateMessage: + type: string + description: A message providing more details about the human review state. humanReviewOperation: description: >- - The name of the operation triggered by the processed document. If - the human review process isn't triggered, this field will be empty. - It has the same response type and metadata as the long-running - operation returned by the ReviewDocument method. - deprecated: true + The name of the operation triggered by the processed document. This + field is populated only when the state is + `HUMAN_REVIEW_IN_PROGRESS`. It has the same response type and + metadata as the long-running operation returned by ReviewDocument. type: string - humanReviewStatus: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3HumanReviewStatus' - description: The status of human review on the processed document. type: object - GoogleCloudDocumentaiV1DocumentPageParagraph: + GoogleCloudDocumentaiV1TrainProcessorVersionRequestInputData: + properties: + testDocuments: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig + description: The documents used for testing the trained version. + trainingDocuments: + description: The documents used for training the new version. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig + type: object + description: The input data used to train a new ProcessorVersion. + id: GoogleCloudDocumentaiV1TrainProcessorVersionRequestInputData + GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsResponse: + type: object + properties: {} + description: Response of the batch update documents operation. + id: GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsResponse + GoogleCloudDocumentaiV1DisableProcessorMetadata: + id: GoogleCloudDocumentaiV1DisableProcessorMetadata + description: The long-running operation metadata for the DisableProcessor method. + type: object + properties: + commonMetadata: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The basic metadata of the long-running operation. + GoogleCloudDocumentaiV1DocumentPageTableTableCell: + description: A cell representation inside the table. type: object - description: A collection of lines that a human would perceive as a paragraph. - id: GoogleCloudDocumentaiV1DocumentPageParagraph properties: - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for Paragraph. detectedLanguages: - type: array items: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage description: A list of detected languages together with confidence. - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: The history of this annotation. - deprecated: true - GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadata: - id: GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadata - type: object - properties: - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - errorDocumentCount: - type: integer - format: int32 - description: Total number of documents that failed to be deleted in storage. - totalDocumentCount: + type: array + colSpan: format: int32 - description: Total number of documents deleting from dataset. + description: How many columns this cell spans. type: integer - individualBatchDeleteStatuses: - description: The list of response details of each document. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus - type: array - GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument: - id: GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument - type: object + rowSpan: + type: integer + format: int32 + description: How many rows this cell spans. + layout: + description: Layout for TableCell. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + id: GoogleCloudDocumentaiV1DocumentPageTableTableCell + GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus: properties: + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of deleting the document in storage. documentId: - description: An internal identifier for document. - type: string - GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata: + description: The document id of the document. + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' type: object - description: The metadata proto of `ResyncDataset` method. - properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - datasetResyncStatuses: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus - description: >- - The list of dataset resync statuses. Not checked when - ResyncDatasetRequest.dataset_documents is specified. - type: array - individualDocumentResyncStatuses: - description: >- - The list of document resync statuses. The same document could have - multiple `individual_document_resync_statuses` if it has multiple - inconsistencies. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus - id: GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata - GoogleCloudDocumentaiUiv1beta3UpdateDatasetOperationMetadata: + id: >- + GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus + description: The status of each individual document in the batch delete process. + GoogleCloudDocumentaiV1ReviewDocumentResponse: + description: Response message for the ReviewDocument method. type: object - id: GoogleCloudDocumentaiUiv1beta3UpdateDatasetOperationMetadata + id: GoogleCloudDocumentaiV1ReviewDocumentResponse properties: - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionResponse: - properties: {} - id: GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionResponse - type: object - description: Response message for the UndeployProcessorVersion method. - GoogleCloudDocumentaiV1DeployProcessorVersionRequest: - type: object - properties: {} - id: GoogleCloudDocumentaiV1DeployProcessorVersionRequest - description: Request message for the DeployProcessorVersion method. - GoogleCloudDocumentaiV1DocumentStyleFontSize: - type: object - id: GoogleCloudDocumentaiV1DocumentStyleFontSize - properties: - unit: + state: + description: The state of the review operation. + type: string + enum: + - STATE_UNSPECIFIED + - REJECTED + - SUCCEEDED + enumDescriptions: + - The default value. This value is used if the state is omitted. + - The review operation is rejected by the reviewer. + - The review operation is succeeded. + rejectionReason: + description: The reason why the review is rejected by reviewer. + type: string + gcsDestination: description: >- - Unit for the font size. Follows CSS naming (such as `in`, `px`, and - `pt`). + The Cloud Storage uri for the human reviewed document if the review + is succeeded. type: string - size: - format: float - type: number - description: Font size for the text. - description: Font size with unit. - GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfigShardingConfig: - description: The sharding config for the output document. - type: object - id: GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfigShardingConfig - properties: - pagesPerShard: - format: int32 - description: The number of pages per shard. - type: integer - pagesOverlap: - description: The number of overlapping pages between consecutive shards. - format: int32 - type: integer - GoogleCloudDocumentaiV1DocumentSchema: + GoogleCloudDocumentaiV1ListProcessorTypesResponse: properties: - displayName: - type: string - description: Display name to show to users. - metadata: - description: Metadata of the schema. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaMetadata' - entityTypes: + processorTypes: type: array - description: Entity types of the schema. items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaEntityType - description: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorType' + description: The processor types. + nextPageToken: + description: Points to the next page, otherwise empty. type: string - description: Description of the schema. - description: The schema defines the output of the processed document by a processor. type: object - id: GoogleCloudDocumentaiV1DocumentSchema + description: Response message for the ListProcessorTypes method. + id: GoogleCloudDocumentaiV1ListProcessorTypesResponse GoogleCloudDocumentaiV1DocumentSchemaEntityTypeProperty: - description: Defines properties that can be part of the entity type. properties: - valueType: - type: string - description: >- - A reference to the value type of the property. This type is subject - to the same conventions as the `Entity.base_types` field. displayName: - description: User defined name for the property. - type: string - name: - description: >- - The name of the property. Follows the same guidelines as the - EntityType name. type: string + description: User defined name for the property. occurrenceType: + description: >- + Occurrence type limits the number of instances an entity type + appears in the document. type: string + enum: + - OCCURRENCE_TYPE_UNSPECIFIED + - OPTIONAL_ONCE + - OPTIONAL_MULTIPLE + - REQUIRED_ONCE + - REQUIRED_MULTIPLE enumDescriptions: - Unspecified occurrence type. - >- @@ -1758,2177 +1960,1999 @@ components: The entity type will only appear exactly once. The same entity instance may be mentioned multiple times. - The entity type will appear once or more times. + name: + type: string description: >- - Occurrence type limits the number of instances an entity type - appears in the document. - enum: - - OCCURRENCE_TYPE_UNSPECIFIED - - OPTIONAL_ONCE - - OPTIONAL_MULTIPLE - - REQUIRED_ONCE - - REQUIRED_MULTIPLE - type: object + The name of the property. Follows the same guidelines as the + EntityType name. + valueType: + type: string + description: >- + A reference to the value type of the property. This type is subject + to the same conventions as the `Entity.base_types` field. + description: Defines properties that can be part of the entity type. id: GoogleCloudDocumentaiV1DocumentSchemaEntityTypeProperty - GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus: - description: The status of each individual document in the batch delete process. - properties: - documentId: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3DocumentId' - description: The document id of the document. - status: - description: The status of deleting the document in storage. - $ref: '#/components/schemas/GoogleRpcStatus' - id: >- - GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus type: object - GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId: + GoogleCloudDocumentaiV1DocumentPageDimension: + id: GoogleCloudDocumentaiV1DocumentPageDimension + description: Dimension for the page. + type: object properties: - gcsUri: - description: Required. The Cloud Storage URI where the actual document is stored. - type: string - cwDocId: - deprecated: true - description: Id of the document (indexed) managed by Content Warehouse. + height: + format: float + type: number + description: Page height. + unit: + description: Dimension unit. type: string - description: >- - Identifies a document uniquely within the scope of a dataset in the - user-managed Cloud Storage option. - id: GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId + width: + type: number + description: Page width. + format: float + GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId: type: object - GoogleCloudDocumentaiV1DocumentShardInfo: - id: GoogleCloudDocumentaiV1DocumentShardInfo + properties: + docId: + description: Required. The id of the document. + type: string + id: GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId description: >- - For a large document, sharding may be performed to produce several - document shards. Each document shard contains this field to detail which - shard it is. + Identifies a document uniquely within the scope of a dataset in + unmanaged option. + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan: type: object + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + description: Represents where the chunk starts and ends in the document. properties: - shardCount: - format: int64 - type: string - description: Total number of shards. - textOffset: - type: string - format: int64 - description: >- - The index of the first character in Document.text in the overall - document global text. - shardIndex: - type: string - description: The 0-based index of this shard. - format: int64 - GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus: + pageStart: + description: Page where chunk starts in the document. + format: int32 + type: integer + pageEnd: + type: integer + description: Page where chunk ends in the document. + format: int32 + GoogleCloudDocumentaiV1EvaluationCounters: + description: Evaluation counters for the documents that were used. properties: - status: - description: The status of updating the document in storage. - $ref: '#/components/schemas/GoogleRpcStatus' - documentId: - description: The document id of the document. - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' - description: The status of each individual document in the batch update process. + evaluatedDocumentsCount: + format: int32 + type: integer + description: How many documents were used in the evaluation. + invalidDocumentsCount: + format: int32 + type: integer + description: >- + How many documents were not included in the evaluation as they + didn't pass validation. + inputDocumentsCount: + format: int32 + description: How many documents were sent for evaluation. + type: integer + failedDocumentsCount: + type: integer + description: >- + How many documents were not included in the evaluation as Document + AI failed to process them. + format: int32 type: object - id: >- - GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus - GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadata: - id: GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadata + id: GoogleCloudDocumentaiV1EvaluationCounters + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock: + description: >- + Represents a block. A block could be one of the various types (text, + table, list) supported. type: object + id: GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock properties: - individualBatchUpdateStatuses: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus - description: The list of response details of each document. - commonMetadata: + pageSpan: + description: Page span of the block. $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - GoogleCloudDocumentaiV1TrainProcessorVersionMetadata: - type: object - id: GoogleCloudDocumentaiV1TrainProcessorVersionMetadata - description: The metadata that represents a processor version being created. - properties: - testDatasetValidation: + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan + listBlock: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation - description: The test dataset validation information. - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - trainingDatasetValidation: + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock + description: Block consisting of list content/structure. + textBlock: + description: Block consisting of text content. $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation - description: The training dataset validation information. - GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus: + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock + tableBlock: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock + description: Block consisting of table content/structure. + blockId: + type: string + description: ID of the block. + GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak: + type: object + id: GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak properties: - status: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status of the importing of the document. - outputGcsDestination: - description: >- - The output_gcs_destination of the processed document if it was - successful, otherwise empty. + type: + enumDescriptions: + - Unspecified break type. + - A single whitespace. + - A wider whitespace. + - A hyphen that indicates that a token has been split across lines. + description: Detected break type. + enum: + - TYPE_UNSPECIFIED + - SPACE + - WIDE_SPACE + - HYPHEN + type: string + description: Detected break at the end of a Token. + GoogleCloudDocumentaiV1beta3ImportProcessorVersionResponse: + properties: + processorVersion: type: string + description: The destination processor version name. + description: The response message for the ImportProcessorVersion method. + id: GoogleCloudDocumentaiV1beta3ImportProcessorVersionResponse + type: object + GoogleCloudDocumentaiV1DocumentDocumentLayout: + type: object + properties: + blocks: + description: List of blocks in the document. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + type: array + description: >- + Represents the parsed layout of a document as a collection of blocks + that the document is divided into. + id: GoogleCloudDocumentaiV1DocumentDocumentLayout + GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus: + type: object + id: >- + GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataIndividualImportStatus + description: The status of each individual document in the import process. + properties: outputDocumentId: - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3DocumentId' description: >- The document id of imported document if it was successful, otherwise empty. inputGcsSource: description: The source Cloud Storage URI of the document. type: string - id: >- - GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus - type: object - description: The status of each individual document in the import process. - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock: - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of the importing of the document. + GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId: type: object - description: Represents a table type block. properties: - bodyRows: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow - description: Body rows containing main table content. - type: array - caption: + cwDocId: + deprecated: true + description: Id of the document (indexed) managed by Content Warehouse. type: string - description: Table caption/title. - headerRows: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow - description: Header rows at the top of the table. - type: array - GoogleCloudDocumentaiV1Barcode: + gcsUri: + type: string + description: Required. The Cloud Storage URI where the actual document is stored. + id: GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId + description: >- + Identifies a document uniquely within the scope of a dataset in the + user-managed Cloud Storage option. + GoogleCloudDocumentaiV1beta3DeleteProcessorVersionMetadata: + properties: + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + description: >- + The long-running operation metadata for the DeleteProcessorVersion + method. + id: GoogleCloudDocumentaiV1beta3DeleteProcessorVersionMetadata type: object + GoogleCloudDocumentaiV1TrainProcessorVersionRequestFoundationModelTuningOptions: properties: - format: - type: string + learningRateMultiplier: + format: float + type: number description: >- - Format of a barcode. The supported formats are: - `CODE_128`: Code - 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E - type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - - `DATABAR`: GS1 DataBar code type. - valueFormat: - type: string + Optional. The multiplier to apply to the recommended learning rate. + Valid values are between 0.1 and 10. If not provided, recommended + learning rate will be used. + trainSteps: + type: integer description: >- - Value format describes the format of the value that a barcode - encodes. The supported formats are: - `CONTACT_INFO`: Contact - information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - - `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - - `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi - information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar - event. - `DRIVER_LICENSE`: Driver's license. - rawValue: + Optional. The number of steps to run for model tuning. Valid values + are between 1 and 400. If not provided, recommended steps will be + used. + format: int32 + id: >- + GoogleCloudDocumentaiV1TrainProcessorVersionRequestFoundationModelTuningOptions + description: Options to control foundation model tuning of the processor. + type: object + GoogleCloudDocumentaiV1DocumentShardInfo: + id: GoogleCloudDocumentaiV1DocumentShardInfo + properties: + textOffset: type: string description: >- - Raw value encoded in the barcode. For example: - `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. - id: GoogleCloudDocumentaiV1Barcode - description: Encodes the detailed information of a barcode. - GoogleCloudDocumentaiV1DocumentPageDimension: - properties: - width: - description: Page width. - format: float - type: number - unit: - description: Dimension unit. + The index of the first character in Document.text in the overall + document global text. + format: int64 + shardIndex: + format: int64 + description: The 0-based index of this shard. type: string - height: - description: Page height. - format: float - type: number - id: GoogleCloudDocumentaiV1DocumentPageDimension + shardCount: + description: Total number of shards. + type: string + format: int64 + description: >- + For a large document, sharding may be performed to produce several + document shards. Each document shard contains this field to detail which + shard it is. type: object - description: Dimension for the page. - GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata: - description: The long-running operation metadata for the DeleteProcessor method. + GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfig: + id: GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfig + description: The configuration used when outputting documents. type: object properties: - commonMetadata: + gcsUri: + type: string + description: The Cloud Storage uri (a directory) of the output. + fieldMask: + description: >- + Specifies which fields to include in the output documents. Only + supports top level document and pages field so it must be in the + form of `{document_field_name}` or `pages.{page_field_name}`. + format: google-fieldmask + type: string + shardingConfig: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata - GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus: - description: The status of each individual document in the batch delete process. + #/components/schemas/GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfigShardingConfig + description: Specifies the sharding config for the output document. + GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadata: type: object - id: >- - GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus - properties: - status: - description: The status of deleting the document in storage. - $ref: '#/components/schemas/GoogleRpcStatus' - documentId: - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' - description: The document id of the document. - GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata: + id: GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadata + description: Metadata of the batch export documents operation. properties: commonMetadata: - description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - errorDocumentCount: - description: Total number of documents that failed to be deleted in storage. - format: int32 - type: integer - individualBatchDeleteStatuses: - description: The list of response details of each document. + description: The basic metadata of the long-running operation. + individualExportStatuses: items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus + #/components/schemas/GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus type: array - totalDocumentCount: - description: Total number of documents deleting from dataset. - type: integer - format: int32 - id: GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata - type: object - GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponse: - type: object - properties: - sampleTrainingStatus: - description: The status of sampling documents in training split. - $ref: '#/components/schemas/GoogleRpcStatus' - selectedDocuments: - description: The result of the sampling process. + description: The list of response details of each document. + splitExportStats: items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument + #/components/schemas/GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat type: array - sampleTestStatus: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status of sampling documents in test split. - description: Response of the sample documents operation. - id: GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponse - GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse: - id: GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse + description: The list of statistics for each dataset split type. + GoogleCloudDocumentaiV1beta3UpdateDatasetOperationMetadata: + type: object + id: GoogleCloudDocumentaiV1beta3UpdateDatasetOperationMetadata + properties: + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + GoogleCloudDocumentaiV1BatchProcessResponse: + description: Response message for BatchProcessDocuments. + id: GoogleCloudDocumentaiV1BatchProcessResponse properties: {} type: object - description: Response message for the DeployProcessorVersion method. - GoogleCloudDocumentaiV1ProcessorVersionAlias: - id: GoogleCloudDocumentaiV1ProcessorVersionAlias + GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsResponse: + id: GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsResponse + properties: {} + description: Response of the delete documents operation. type: object - properties: - processorVersion: - type: string - description: The resource name of aliased processor version. - alias: - type: string - description: The alias in the form of `processor_version` resource name. - description: Contains the alias and the aliased resource name of processor version. - GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation: - description: >- - The dataset validation information. This includes any and all errors - with documents and the dataset. - id: GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation + GoogleCloudDocumentaiV1ListEvaluationsResponse: + description: The response from `ListEvaluations`. + id: GoogleCloudDocumentaiV1ListEvaluationsResponse type: object properties: - datasetErrors: - items: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - Error information for the dataset as a whole. A maximum of 10 - dataset errors will be returned. A single dataset error is terminal - for training. - type: array - documentErrorCount: - description: The total number of document errors. - type: integer - format: int32 - documentErrors: + nextPageToken: + type: string description: >- - Error information pertaining to specific documents. A maximum of 10 - document errors will be returned. Any document with errors will not - be used throughout training. - type: array + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + evaluations: + description: The evaluations requested. items: - $ref: '#/components/schemas/GoogleRpcStatus' - datasetErrorCount: - description: The total number of dataset errors. - format: int32 - type: integer - GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsResponse: - description: Response of the delete documents operation. - properties: {} - id: GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsResponse - type: object - GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata: - id: GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Evaluation' + type: array + GoogleCloudDocumentaiV1beta3DisableProcessorMetadata: type: object properties: commonMetadata: description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - description: >- - The long-running operation metadata for the DeployProcessorVersion - method. - GoogleCloudDocumentaiV1UndeployProcessorVersionResponse: - id: GoogleCloudDocumentaiV1UndeployProcessorVersionResponse - type: object - properties: {} - description: Response message for the UndeployProcessorVersion method. - GoogleCloudDocumentaiUiv1beta3DisableProcessorMetadata: + id: GoogleCloudDocumentaiV1beta3DisableProcessorMetadata description: The long-running operation metadata for the DisableProcessor method. + GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadata: properties: commonMetadata: $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. + trainingDatasetValidation: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation + description: The training dataset validation information. + testDatasetValidation: + description: The test dataset validation information. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation type: object - id: GoogleCloudDocumentaiUiv1beta3DisableProcessorMetadata - GoogleTypeTimeZone: + id: GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadata + description: The metadata that represents a processor version being created. + GoogleCloudDocumentaiV1beta3BatchProcessResponse: + description: Response message for BatchProcessDocuments. + id: GoogleCloudDocumentaiV1beta3BatchProcessResponse type: object - description: >- - Represents a time zone from the [IANA Time Zone - Database](https://www.iana.org/time-zones). - id: GoogleTypeTimeZone - properties: - id: - type: string - description: IANA Time Zone Database time zone, e.g. "America/New_York". - version: - description: Optional. IANA Time Zone Database version number, e.g. "2019a". - type: string - GoogleCloudDocumentaiV1DocumentTextChange: - id: GoogleCloudDocumentaiV1DocumentTextChange - description: This message is used for text changes aka. OCR corrections. - properties: - textAnchor: - description: >- - Provenance of the correction. Text anchor indexing into the - Document.text. There can only be a single `TextAnchor.text_segments` - element. If the start and end index of the text segment are the - same, the text change is inserted before that index. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - provenance: - description: The history of this annotation. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - deprecated: true - type: array - changedText: - description: The text that replaces the text identified in the `text_anchor`. - type: string + properties: {} + GoogleCloudDocumentaiV1UndeployProcessorVersionResponse: type: object - GoogleCloudDocumentaiV1ProcessRequest: - id: GoogleCloudDocumentaiV1ProcessRequest - description: Request message for the ProcessDocument method. + description: Response message for the UndeployProcessorVersion method. + id: GoogleCloudDocumentaiV1UndeployProcessorVersionResponse + properties: {} + GoogleCloudDocumentaiUiv1beta3ExportDocumentsResponse: + description: The response proto of ExportDocuments method. + properties: {} + id: GoogleCloudDocumentaiUiv1beta3ExportDocumentsResponse type: object - properties: - inlineDocument: - description: An inline document proto. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' - skipHumanReview: - description: >- - Whether human review should be skipped for this request. Default to - `false`. - type: boolean - rawDocument: - description: A raw document content (bytes). - $ref: '#/components/schemas/GoogleCloudDocumentaiV1RawDocument' - labels: - description: >- - Optional. The labels with user-defined metadata for the request. - Label keys and values can be no longer than 63 characters (Unicode - codepoints) and can only contain lowercase letters, numeric - characters, underscores, and dashes. International characters are - allowed. Label values are optional. Label keys must start with a - letter. - additionalProperties: - type: string - type: object - processOptions: - description: Inference-time options for the process API - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessOptions' - imagelessMode: - description: Optional. Option to remove images from the document. - type: boolean - gcsDocument: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsDocument' - description: A raw document on Google Cloud Storage. - fieldMask: - format: google-fieldmask - type: string - description: >- - Specifies which fields to include in the ProcessResponse.document - output. Only supports top-level document and pages field, so it must - be in the form of `{document_field_name}` or - `pages.{page_field_name}`. - GoogleCloudDocumentaiV1DocumentPageDetectedBarcode: - description: A detected barcode. + GoogleCloudDocumentaiV1DocumentTextAnchor: + description: Text reference indexing into the Document.text. + id: GoogleCloudDocumentaiV1DocumentTextAnchor type: object properties: - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for DetectedBarcode. - barcode: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Barcode' - description: Detailed barcode information of the DetectedBarcode. - id: GoogleCloudDocumentaiV1DocumentPageDetectedBarcode - GoogleCloudDocumentaiV1DocumentPageVisualElement: - properties: - type: - type: string - description: Type of the VisualElement. - detectedLanguages: - description: A list of detected languages together with confidence. + textSegments: + description: The text segments from the Document.text. type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - layout: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for VisualElement. - type: object - id: GoogleCloudDocumentaiV1DocumentPageVisualElement - description: >- - Detected non-text visual elements e.g. checkbox, signature etc. on the - page. - GoogleCloudDocumentaiV1beta3DisableProcessorMetadata: - id: GoogleCloudDocumentaiV1beta3DisableProcessorMetadata - type: object - description: The long-running operation metadata for the DisableProcessor method. - properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionMetadata: - id: GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionMetadata + #/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment + content: + type: string + description: >- + Contains the content of the text span so that users do not have to + look it up in the text_segments. It is always populated for + formFields. + GoogleCloudDocumentaiUiv1beta3UpdateDatasetOperationMetadata: + id: GoogleCloudDocumentaiUiv1beta3UpdateDatasetOperationMetadata properties: commonMetadata: description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata type: object - description: Metadata of the EvaluateProcessorVersion method. - GoogleCloudDocumentaiV1TrainProcessorVersionRequest: + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell: + type: object properties: - documentSchema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' - description: Optional. The schema the processor version will be trained with. - customDocumentExtractionOptions: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequestCustomDocumentExtractionOptions - description: Options to control Custom Document Extraction (CDE) Processor. - foundationModelTuningOptions: - description: Options to control foundation model tuning of a processor. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequestFoundationModelTuningOptions - processorVersion: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersion' - description: Required. The processor version to be created. - baseProcessorVersion: - type: string - description: >- - Optional. The processor version to use as a base for training. This - processor version must be a child of `parent`. Format: - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`. - inputData: - description: Optional. The input data used to train the ProcessorVersion. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequestInputData - id: GoogleCloudDocumentaiV1TrainProcessorVersionRequest - description: Request message for the TrainProcessorVersion method. - type: object - GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata: - properties: - stateMessage: - description: >- - A message providing more details about the current state of - processing. - type: string - updateTime: - format: google-datetime - type: string - description: The last update time of the operation. - resource: - type: string - description: A related resource to this operation. - createTime: - type: string - description: The creation time of the operation. - format: google-datetime - state: - type: string - description: The state of the operation. - enumDescriptions: - - Unspecified state. - - Operation is still running. - - Operation is being cancelled. - - Operation succeeded. - - Operation failed. - - Operation is cancelled. - enum: - - STATE_UNSPECIFIED - - RUNNING - - CANCELLING - - SUCCEEDED - - FAILED - - CANCELLED - type: object - description: The common metadata for long running operations. - id: GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell: - properties: - rowSpan: - type: integer - format: int32 - description: How many rows this cell spans. - colSpan: - type: integer - description: How many columns this cell spans. - format: int32 blocks: + type: array description: >- A table cell is a list of blocks. Repeated blocks support further hierarchies and nested blocks. - type: array items: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock - type: object + colSpan: + description: How many columns this cell spans. + format: int32 + type: integer + rowSpan: + type: integer + description: How many rows this cell spans. + format: int32 id: >- GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableCell description: Represents a cell in a table row. - GoogleCloudDocumentaiV1beta3BatchProcessMetadata: - description: The long-running operation metadata for BatchProcessDocuments. - id: GoogleCloudDocumentaiV1beta3BatchProcessMetadata + GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus: properties: - state: - description: The state of the current batch processing. - enum: - - STATE_UNSPECIFIED - - WAITING - - RUNNING - - SUCCEEDED - - CANCELLING - - CANCELLED - - FAILED - enumDescriptions: - - The default value. This value is used if the state is omitted. - - Request operation is waiting for scheduling. - - Request is being processed. - - The batch processing completed successfully. - - The batch processing was being cancelled. - - The batch processing was cancelled. - - The batch processing has failed. - type: string - updateTime: - format: google-datetime - type: string - description: The last update time of the operation. - individualProcessStatuses: - description: The list of response details of each document. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus - type: array - stateMessage: - type: string - description: >- - A message providing more details about the current state of - processing. For example, the error message if the operation is - failed. - createTime: - type: string - description: The creation time of the operation. - format: google-datetime + documentId: + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' + description: The document id of the document. + status: + description: The status of moving the document. + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status of each individual document in the batch move process. type: object - GoogleCloudDocumentaiV1beta3CommonOperationMetadata: + id: >- + GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus + GoogleCloudDocumentaiV1ProcessResponse: properties: - state: - type: string - enumDescriptions: - - Unspecified state. - - Operation is still running. - - Operation is being cancelled. - - Operation succeeded. - - Operation failed. - - Operation is cancelled. - enum: - - STATE_UNSPECIFIED - - RUNNING - - CANCELLING - - SUCCEEDED - - FAILED - - CANCELLED - description: The state of the operation. - createTime: - format: google-datetime - type: string - description: The creation time of the operation. - stateMessage: - type: string + document: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' description: >- - A message providing more details about the current state of - processing. - resource: - description: A related resource to this operation. - type: string - updateTime: - format: google-datetime - description: The last update time of the operation. - type: string - description: The common metadata for long running operations. - id: GoogleCloudDocumentaiV1beta3CommonOperationMetadata + The document payload, will populate fields based on the processor's + behavior. + humanReviewStatus: + description: The status of human review on the processed document. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1HumanReviewStatus' type: object - GoogleCloudDocumentaiV1DocumentSchemaEntityType: + description: Response message for the ProcessDocument method. + id: GoogleCloudDocumentaiV1ProcessResponse + GoogleCloudDocumentaiV1BoundingPoly: + id: GoogleCloudDocumentaiV1BoundingPoly properties: - enumValues: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues - description: >- - If specified, lists all the possible values for this entity. This - should not be more than a handful of values. If the number of values - is >10 or could change frequently use the - `EntityType.value_ontology` field and specify a list of all possible - values in a value ontology file. - displayName: - description: User defined name for the type. - type: string - name: - description: >- - Name of the type. It must be unique within the schema file and - cannot be a "Common Type". The following naming conventions are - used: - Use `snake_casing`. - Name matching is case-sensitive. - - Maximum 64 characters. - Must start with a letter. - Allowed - characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility - internal infrastructure and tooling can handle any ascii character.) - - The `/` is sometimes used to denote a property of a type. For - example `line_item/amount`. This convention is deprecated, but will - still be honored for backward compatibility. - type: string - properties: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentSchemaEntityTypeProperty - description: Description the nested structure, or composition of an entity. + normalizedVertices: type: array - baseTypes: - description: >- - The entity type that this type is derived from. For now, one and - only one should be set. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1NormalizedVertex' + description: The bounding polygon normalized vertices. + vertices: + description: The bounding polygon vertices. type: array items: - type: string - type: object - description: >- - EntityType is the wrapper of a label of the corresponding model with - detailed attributes and limitations for entity-based processors. - Multiple types can also compose a dependency tree to represent nested - types. - id: GoogleCloudDocumentaiV1DocumentSchemaEntityType - GoogleCloudDocumentaiV1ProcessorVersionDeprecationInfo: - id: GoogleCloudDocumentaiV1ProcessorVersionDeprecationInfo - type: object - description: Information about the upcoming deprecation of this processor version. - properties: - replacementProcessorVersion: - description: If set, the processor version that will be used as a replacement. - type: string - deprecationTime: - description: The time at which this processor version will be deprecated. - type: string - format: google-datetime - GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata: - description: >- - The long-running operation metadata for the UndeployProcessorVersion - method. - properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - type: object - id: GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata - GoogleCloudDocumentaiV1DocumentPageLayout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Vertex' + description: A bounding polygon for the detected image annotation. type: object + GoogleCloudDocumentaiV1DocumentEntityNormalizedValue: properties: - confidence: - type: number + moneyValue: + $ref: '#/components/schemas/GoogleTypeMoney' description: >- - Confidence of the current Layout within context of the object this - layout is for. e.g. confidence can be for a single token, a table, a - visual element, etc. depending on context. Range `[0, 1]`. - format: float - textAnchor: - description: Text anchor indexing into the Document.text. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - orientation: - description: Detected orientation for the Layout. + Money value. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/money.proto + booleanValue: + type: boolean + description: >- + Boolean value. Can be used for entities with binary values, or for + checkboxes. + text: + type: string + description: >- + Optional. An optional field to store a normalized string. For some + entity types, one of respective `structured_value` fields may also + be populated. Also not all the types of `structured_value` will be + normalized. For example, some processors may not generate `float` or + `integer` normalized text by default. Below are sample formats + mapped to structured values. - Money/Currency type (`money_value`) + is in the ISO 4217 text format. - Date type (`date_value`) is in the + ISO 8601 text format. - Datetime type (`datetime_value`) is in the + ISO 8601 text format. + addressValue: + $ref: '#/components/schemas/GoogleTypePostalAddress' + description: >- + Postal address. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto + integerValue: + type: integer + format: int32 + description: Integer value. + dateValue: + $ref: '#/components/schemas/GoogleTypeDate' + description: >- + Date value. Includes year, month, day. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/date.proto + floatValue: + type: number + format: float + description: Float value. + datetimeValue: + description: >- + DateTime value. Includes date, time, and timezone. See also: + https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto + $ref: '#/components/schemas/GoogleTypeDateTime' + id: GoogleCloudDocumentaiV1DocumentEntityNormalizedValue + description: Parsed and normalized entity value. + type: object + GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse: + id: GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse + properties: {} + type: object + description: Response message for the SetDefaultProcessorVersion method. + GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader: + type: object + properties: + pageSpan: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan + description: Page span of the header. + text: + description: Header in text format. + type: string + description: Represents the page header associated with the chunk. + id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader + GoogleCloudDocumentaiV1ProcessorVersion: + id: GoogleCloudDocumentaiV1ProcessorVersion + type: object + description: >- + A processor version is an implementation of a processor. Each processor + can have multiple versions, pretrained by Google internally or uptrained + by the customer. A processor can only have one default version at a + time. Its document-processing behavior is defined by that version. + properties: + latestEvaluation: + description: The most recently invoked evaluation for the processor version. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationReference' + name: + type: string + description: >- + Identifier. The resource name of the processor version. Format: + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}` + documentSchema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' + description: The schema of the processor version. Describes the output. + googleManaged: + readOnly: true + type: boolean + description: >- + Output only. Denotes that this `ProcessorVersion` is managed by + Google. + kmsKeyVersionName: + description: The KMS key version with which data is encrypted. type: string + satisfiesPzi: + readOnly: true + type: boolean + description: Output only. Reserved for future use. + state: enumDescriptions: - - Unspecified orientation. - - Orientation is aligned with page up. - - >- - Orientation is aligned with page right. Turn the head 90 degrees - clockwise from upright to read. - - >- - Orientation is aligned with page down. Turn the head 180 degrees - from upright to read. + - The processor version is in an unspecified state. + - The processor version is deployed and can be used for processing. + - The processor version is being deployed. - >- - Orientation is aligned with page left. Turn the head 90 degrees - counterclockwise from upright to read. + The processor version is not deployed and cannot be used for + processing. + - The processor version is being undeployed. + - The processor version is being created. + - The processor version is being deleted. + - The processor version failed and is in an indeterminate state. + - The processor version is being imported. + description: Output only. The state of the processor version. + type: string enum: - - ORIENTATION_UNSPECIFIED - - PAGE_UP - - PAGE_RIGHT - - PAGE_DOWN - - PAGE_LEFT - boundingPoly: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' - description: The bounding polygon for the Layout. - id: GoogleCloudDocumentaiV1DocumentPageLayout - description: Visual element describing a layout unit on a page. - GoogleCloudDocumentaiUiv1beta3UpdateHumanReviewConfigMetadata: - description: >- - The long-running operation metadata for updating the human review - configuration. + - STATE_UNSPECIFIED + - DEPLOYED + - DEPLOYING + - UNDEPLOYED + - UNDEPLOYING + - CREATING + - DELETING + - FAILED + - IMPORTING + readOnly: true + satisfiesPzs: + type: boolean + description: Output only. Reserved for future use. + readOnly: true + kmsKeyName: + type: string + description: The KMS key name used for encryption. + genAiModelInfo: + description: >- + Output only. Information about Generative AI model-based processor + versions. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfo + createTime: + type: string + format: google-datetime + description: The time the processor version was created. + modelType: + enum: + - MODEL_TYPE_UNSPECIFIED + - MODEL_TYPE_GENERATIVE + - MODEL_TYPE_CUSTOM + description: Output only. The model type of this processor version. + readOnly: true + enumDescriptions: + - The processor version has unspecified model type. + - The processor version has generative model type. + - The processor version has custom model type. + type: string + deprecationInfo: + description: If set, information about the eventual deprecation of this version. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionDeprecationInfo + displayName: + type: string + description: The display name of the processor version. + GoogleCloudDocumentaiV1ProcessorVersionDeprecationInfo: + description: Information about the upcoming deprecation of this processor version. + properties: + deprecationTime: + format: google-datetime + type: string + description: The time at which this processor version will be deprecated. + replacementProcessorVersion: + description: If set, the processor version that will be used as a replacement. + type: string + id: GoogleCloudDocumentaiV1ProcessorVersionDeprecationInfo + type: object + GoogleCloudDocumentaiV1EnableProcessorMetadata: + id: GoogleCloudDocumentaiV1EnableProcessorMetadata + type: object + properties: + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The long-running operation metadata for the EnableProcessor method. + GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect: + id: GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect + type: object + properties: + type: + type: string + description: >- + Name of the defect type. Supported values are: - + `quality/defect_blurry` - `quality/defect_noisy` - + `quality/defect_dark` - `quality/defect_faint` - + `quality/defect_text_too_small` - `quality/defect_document_cutoff` - + `quality/defect_text_cutoff` - `quality/defect_glare` + confidence: + description: >- + Confidence of detected defect. Range `[0, 1]` where `1` indicates + strong confidence that the defect exists. + format: float + type: number + description: Image Quality Defects + GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionMetadata: + description: Metadata of the EvaluateProcessorVersion method. properties: commonMetadata: $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. type: object - id: GoogleCloudDocumentaiUiv1beta3UpdateHumanReviewConfigMetadata - GoogleTypeMoney: - type: object + id: GoogleCloudDocumentaiUiv1beta3EvaluateProcessorVersionMetadata + GoogleCloudDocumentaiV1GcsDocument: + id: GoogleCloudDocumentaiV1GcsDocument + description: Specifies a document stored on Cloud Storage. properties: - currencyCode: + gcsUri: type: string - description: The three-letter currency code defined in ISO 4217. - units: - format: int64 - description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. + description: The Cloud Storage object uri. + mimeType: + description: An IANA MIME type (RFC6838) of the content. type: string - nanos: - description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - type: integer - format: int32 - description: Represents an amount of money with its currency type. - id: GoogleTypeMoney - GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation: - id: >- - GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation type: object + GoogleCloudDocumentaiV1DocumentPageAnchorPageRef: properties: - documentErrors: - items: - $ref: '#/components/schemas/GoogleRpcStatus' - type: array + confidence: description: >- - Error information pertaining to specific documents. A maximum of 10 - document errors will be returned. Any document with errors will not - be used throughout training. - datasetErrorCount: - format: int32 - description: The total number of dataset errors. - type: integer - datasetErrors: + Optional. Confidence of detected page element, if applicable. Range + `[0, 1]`. + format: float + type: number + page: description: >- - Error information for the dataset as a whole. A maximum of 10 - dataset errors will be returned. A single dataset error is terminal - for training. - type: array - items: - $ref: '#/components/schemas/GoogleRpcStatus' - documentErrorCount: - description: The total number of document errors. - type: integer - format: int32 - description: >- - The dataset validation information. This includes any and all errors - with documents and the dataset. - GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId: + Required. Index into the Document.pages element, for example using + `Document.pages` to locate the related page element. This field is + skipped when its value is the default `0`. See + https://developers.google.com/protocol-buffers/docs/proto3#json. + format: int64 + type: string + layoutId: + deprecated: true + type: string + description: Optional. Deprecated. Use PageRef.bounding_poly instead. + layoutType: + enumDescriptions: + - Layout Unspecified. + - References a Page.blocks element. + - References a Page.paragraphs element. + - References a Page.lines element. + - References a Page.tokens element. + - References a Page.visual_elements element. + - Refrrences a Page.tables element. + - References a Page.form_fields element. + enum: + - LAYOUT_TYPE_UNSPECIFIED + - BLOCK + - PARAGRAPH + - LINE + - TOKEN + - VISUAL_ELEMENT + - TABLE + - FORM_FIELD + type: string + description: >- + Optional. The type of the layout element that is being referenced if + any. + boundingPoly: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' + description: >- + Optional. Identifies the bounding polygon of a layout element on the + page. If `layout_type` is set, the bounding polygon must be exactly + the same to the layout element it's referring to. + description: Represents a weak reference to a page element within a document. + type: object + id: GoogleCloudDocumentaiV1DocumentPageAnchorPageRef + GoogleCloudDocumentaiV1beta3TrainProcessorVersionResponse: + type: object + description: The response for TrainProcessorVersion. properties: - docId: - description: Required. The id of the document. + processorVersion: + description: The resource name of the processor version produced by training. type: string - id: GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId + id: GoogleCloudDocumentaiV1beta3TrainProcessorVersionResponse + GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionResponse: type: object - description: >- - Identifies a document uniquely within the scope of a dataset in - unmanaged option. - GoogleTypeDate: - description: >- - 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 - id: GoogleTypeDate + id: GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionResponse + description: The response for TrainProcessorVersion. properties: - day: - description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. + processorVersion: + description: The resource name of the processor version produced by training. + type: string + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutPageSpan + description: Represents where the block starts and ends in the document. + properties: + pageStart: type: integer + description: Page where block starts in the document. format: int32 - year: - format: int32 - description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. + pageEnd: + description: Page where block ends in the document. type: integer - month: format: int32 - type: integer - description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. type: object - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock: - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock - description: Represents a list type block. - properties: - type: - type: string - description: >- - Type of the list_entries (if exist). Available options are `ordered` - and `unordered`. - listEntries: - description: List entries that constitute a list block. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry - type: array - type: object - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry: + GoogleCloudDocumentaiV1beta3ReviewDocumentResponse: type: object - description: Represents an entry in the list. + id: GoogleCloudDocumentaiV1beta3ReviewDocumentResponse properties: - blocks: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock - type: array + state: + enum: + - STATE_UNSPECIFIED + - REJECTED + - SUCCEEDED + enumDescriptions: + - The default value. This value is used if the state is omitted. + - The review operation is rejected by the reviewer. + - The review operation is succeeded. + type: string + description: The state of the review operation. + rejectionReason: + type: string + description: The reason why the review is rejected by reviewer. + gcsDestination: description: >- - A list entry is a list of blocks. Repeated blocks support further - hierarchies and nested blocks. - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry - GoogleCloudDocumentaiV1EvaluateProcessorVersionMetadata: - description: Metadata of the EvaluateProcessorVersion method. + The Cloud Storage uri for the human reviewed document if the review + is succeeded. + type: string + description: Response message for the ReviewDocument method. + GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionMetadata: type: object properties: commonMetadata: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiV1EvaluateProcessorVersionMetadata - GoogleCloudDocumentaiV1DocumentPageBlock: + id: GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionMetadata + description: >- + The long-running operation metadata for the UndeployProcessorVersion + method. + GoogleCloudDocumentaiV1DocumentOutputConfig: + id: GoogleCloudDocumentaiV1DocumentOutputConfig + type: object properties: - layout: - description: Layout for Block. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + gcsOutputConfig: + description: Output config to write the results to Cloud Storage. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfig + description: >- + Config that controls the output of documents. All documents will be + written as a JSON file. + GoogleCloudDocumentaiV1DocumentPageTable: + type: object + description: A table representation similar to HTML table structure. + properties: + detectedLanguages: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + type: array + headerRows: + type: array + description: Header rows of the table. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow provenance: + description: The history of this table. deprecated: true $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: The history of this annotation. - detectedLanguages: + layout: + description: Layout for Table. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + bodyRows: + description: Body rows of the table. type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages together with confidence. - id: GoogleCloudDocumentaiV1DocumentPageBlock + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow + id: GoogleCloudDocumentaiV1DocumentPageTable + GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus: type: object - description: >- - A block has a set of lines (collected into paragraphs) that have a - common line-spacing and orientation. - GoogleCloudDocumentaiV1beta3HumanReviewStatus: - id: GoogleCloudDocumentaiV1beta3HumanReviewStatus properties: - humanReviewOperation: - description: >- - The name of the operation triggered by the processed document. This - field is populated only when the state is - `HUMAN_REVIEW_IN_PROGRESS`. It has the same response type and - metadata as the long-running operation returned by ReviewDocument. - type: string - state: - enumDescriptions: - - >- - Human review state is unspecified. Most likely due to an internal - error. - - >- - Human review is skipped for the document. This can happen because - human review isn't enabled on the processor or the processing - request has been set to skip this document. - - >- - Human review validation is triggered and passed, so no review is - needed. - - >- - Human review validation is triggered and the document is under - review. - - >- - Some error happened during triggering human review, see the - state_message for details. - enum: - - STATE_UNSPECIFIED - - SKIPPED - - VALIDATION_PASSED - - IN_PROGRESS - - ERROR + humanReviewStatus: + description: The status of human review on the processed document. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1HumanReviewStatus' + inputGcsSource: type: string - description: The state of human review on the processing request. - stateMessage: + description: >- + The source of the document, same as the input_gcs_source field in + the request when the batch process started. + outputGcsDestination: type: string - description: A message providing more details about the human review state. - description: The status of human review on a processed document. + description: >- + The Cloud Storage output destination (in the request as + DocumentOutputConfig.GcsOutputConfig.gcs_uri) of the processed + document if it was successful, otherwise empty. + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The status processing the document. + description: The status of a each individual document in the batch process. + id: GoogleCloudDocumentaiV1BatchProcessMetadataIndividualProcessStatus + GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionResponse: + description: Response message for the SetDefaultProcessorVersion method. + id: GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionResponse + properties: {} type: object - GoogleCloudDocumentaiV1EnableProcessorRequest: - description: Request message for the EnableProcessor method. + GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation: type: object - properties: {} - id: GoogleCloudDocumentaiV1EnableProcessorRequest - GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfo: - id: GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfo + properties: + datasetErrorCount: + description: The total number of dataset errors. + format: int32 + type: integer + documentErrors: + type: array + description: >- + Error information pertaining to specific documents. A maximum of 10 + document errors will be returned. Any document with errors will not + be used throughout training. + items: + $ref: '#/components/schemas/GoogleRpcStatus' + datasetErrors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + Error information for the dataset as a whole. A maximum of 10 + dataset errors will be returned. A single dataset error is terminal + for training. + type: array + documentErrorCount: + format: int32 + type: integer + description: The total number of document errors. + description: >- + The dataset validation information. This includes any and all errors + with documents and the dataset. + id: GoogleCloudDocumentaiV1TrainProcessorVersionMetadataDatasetValidation + GoogleCloudDocumentaiV1DocumentPageImage: type: object + id: GoogleCloudDocumentaiV1DocumentPageImage properties: - foundationGenAiModelInfo: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo - description: Information for a pretrained Google-managed foundation model. - customGenAiModelInfo: + height: + description: Height of the image in pixels. + format: int32 + type: integer + content: + format: byte + description: Raw byte content of the image. + type: string + mimeType: + description: >- + Encoding [media type (MIME + type)](https://www.iana.org/assignments/media-types/media-types.xhtml) + for the image. + type: string + width: + format: int32 + description: Width of the image in pixels. + type: integer + description: Rendered image contents for this page. + GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionMetadata: + id: GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionMetadata + type: object + properties: + commonMetadata: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoCustomGenAiModelInfo - description: Information for a custom Generative AI model created by the user. - description: Information about Generative AI model-based processor versions. - GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult: + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata for the long-running operation. + description: >- + The long-running operation metadata for the ImportProcessorVersion + method. + GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionResponse: properties: - status: - description: The validation status of import config. - $ref: '#/components/schemas/GoogleRpcStatus' - inputGcsSource: + gcsUri: type: string - description: The source Cloud Storage URI specified in the import config. - id: >- - GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult + description: The Cloud Storage URI containing the output artifacts. + id: GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionResponse type: object - description: >- - The validation status of each import config. Status is set to an error - if there are no documents to import in the `import_config`, or `OK` if - the operation will try to proceed with at least one document. - GoogleCloudDocumentaiV1DocumentPageDetectedLanguage: - id: GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: Detected language for a structural component. + description: Response message associated with the ExportProcessorVersion operation. + GoogleCloudDocumentaiV1GcsDocuments: + properties: + documents: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsDocument' + type: array + description: The list of documents. + id: GoogleCloudDocumentaiV1GcsDocuments + type: object + description: Specifies a set of documents on Cloud Storage. + GoogleCloudDocumentaiV1ListProcessorVersionsResponse: + id: GoogleCloudDocumentaiV1ListProcessorVersionsResponse type: object + description: Response message for the ListProcessorVersions method. properties: - confidence: - type: number - description: Confidence of detected language. Range `[0, 1]`. - format: float - languageCode: - description: >- - The [BCP-47 language - code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), - such as `en-US` or `sr-Latn`. + nextPageToken: + description: Points to the next processor, otherwise empty. type: string - GoogleCloudDocumentaiV1BoundingPoly: - id: GoogleCloudDocumentaiV1BoundingPoly - description: A bounding polygon for the detected image annotation. - properties: - vertices: - description: The bounding polygon vertices. + processorVersions: type: array + description: The list of processors. items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Vertex' - normalizedVertices: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1NormalizedVertex' - description: The bounding polygon normalized vertices. - type: array + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersion' + GoogleCloudDocumentaiUiv1beta3RevisionRef: + id: GoogleCloudDocumentaiUiv1beta3RevisionRef + description: The revision reference specifies which revision on the document to read. + properties: + revisionId: + description: Reads the revision given by the id. + type: string + revisionCase: + description: Reads the revision by the predefined case. + enum: + - REVISION_CASE_UNSPECIFIED + - LATEST_HUMAN_REVIEW + - LATEST_TIMESTAMP + - BASE_OCR_REVISION + enumDescriptions: + - Unspecified case, fall back to read the `LATEST_HUMAN_REVIEW`. + - The latest revision made by a human. + - The latest revision based on timestamp. + - The first (OCR) revision. + type: string + latestProcessorVersion: + type: string + description: >- + Reads the revision generated by the processor version. The format + takes the full resource name of processor version. + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` type: object - GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata: + GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata: description: >- - The long-running operation metadata for the UndeployProcessorVersion + The long-running operation metadata for the DeployProcessorVersion method. + id: GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata + type: object properties: commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - id: GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata - type: object - GoogleCloudDocumentaiV1FetchProcessorTypesResponse: + GoogleCloudDocumentaiV1OcrConfigPremiumFeatures: + id: GoogleCloudDocumentaiV1OcrConfigPremiumFeatures properties: - processorTypes: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorType' - type: array - description: The list of processor types. + enableSelectionMarkDetection: + type: boolean + description: >- + Turn on selection mark detector in OCR engine. Only available in OCR + 2.0 (and later) processors. + enableMathOcr: + type: boolean + description: Turn on the model that can extract LaTeX math formulas. + computeStyleInfo: + description: Turn on font identification model and return font style information. + type: boolean + description: Configurations for premium OCR features. type: object - id: GoogleCloudDocumentaiV1FetchProcessorTypesResponse - description: Response message for the FetchProcessorTypes method. - GoogleCloudDocumentaiV1Vertex: + GoogleCloudDocumentaiV1BatchDocumentsInputConfig: + id: GoogleCloudDocumentaiV1BatchDocumentsInputConfig properties: - 'y': - format: int32 - description: Y coordinate (starts from the top of the image). - type: integer - x: - format: int32 - type: integer - description: X coordinate. - id: GoogleCloudDocumentaiV1Vertex - description: >- - A vertex represents a 2D point in the image. NOTE: the vertex - coordinates are in the same scale as the original image. + gcsDocuments: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsDocuments' + description: The set of documents individually specified on Cloud Storage. + gcsPrefix: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsPrefix' + description: >- + The set of documents that match the specified Cloud Storage + `gcs_prefix`. type: object + description: The common config to specify a set of documents used as input. GoogleCloudDocumentaiUiv1beta3DisableProcessorResponse: type: object + id: GoogleCloudDocumentaiUiv1beta3DisableProcessorResponse properties: {} description: >- Response message for the DisableProcessor method. Intentionally empty proto for adding fields in future. - id: GoogleCloudDocumentaiUiv1beta3DisableProcessorResponse - GoogleCloudDocumentaiV1DeleteProcessorVersionMetadata: - description: >- - The long-running operation metadata for the DeleteProcessorVersion - method. - id: GoogleCloudDocumentaiV1DeleteProcessorVersionMetadata - type: object + GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionMetadata: properties: commonMetadata: - description: The basic metadata of the long-running operation. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig: - id: GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The common metadata about the operation. type: object - properties: {} - description: Configuration specific to spanner-based indexing. - GoogleCloudDocumentaiV1DocumentChunkedDocument: + id: GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionMetadata + description: Metadata message associated with the ExportProcessorVersion operation. + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock: type: object - id: GoogleCloudDocumentaiV1DocumentChunkedDocument properties: - chunks: - description: List of chunks. + bodyRows: type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk - description: Represents the chunks that the document is divided into. - GoogleCloudDocumentaiV1DisableProcessorRequest: + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow + description: Body rows containing main table content. + caption: + type: string + description: Table caption/title. + headerRows: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableRow + description: Header rows at the top of the table. + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTableBlock + description: Represents a table type block. + GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse: + description: Response message for the DeployProcessorVersion method. properties: {} - id: GoogleCloudDocumentaiV1DisableProcessorRequest - description: Request message for the DisableProcessor method. - type: object - GoogleCloudDocumentaiUiv1beta3EnableProcessorResponse: + id: GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse type: object - description: >- - Response message for the EnableProcessor method. Intentionally empty - proto for adding fields in future. - properties: {} - id: GoogleCloudDocumentaiUiv1beta3EnableProcessorResponse - GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo: - description: Information for a pretrained Google-managed foundation model. - id: >- - GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo - properties: - minTrainLabeledDocuments: - description: >- - The minimum number of labeled documents in the training dataset - required for finetuning. - format: int32 - type: integer - finetuningAllowed: - description: Whether finetuning is allowed for this base processor version. - type: boolean + GoogleCloudDocumentaiV1ListProcessorsResponse: type: object - GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfig: properties: - shardingConfig: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfigShardingConfig - description: Specifies the sharding config for the output document. - fieldMask: - format: google-fieldmask - description: >- - Specifies which fields to include in the output documents. Only - supports top level document and pages field so it must be in the - form of `{document_field_name}` or `pages.{page_field_name}`. - type: string - gcsUri: + nextPageToken: type: string - description: The Cloud Storage uri (a directory) of the output. - id: GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfig - description: The configuration used when outputting documents. - type: object - GoogleCloudDocumentaiV1beta3Dataset: - id: GoogleCloudDocumentaiV1beta3Dataset + description: Points to the next processor, otherwise empty. + processors: + description: The list of processors. + type: array + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' + description: Response message for the ListProcessors method. + id: GoogleCloudDocumentaiV1ListProcessorsResponse + GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionResponse: + description: Response message for the DeployProcessorVersion method. + id: GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionResponse + properties: {} type: object + GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadata: properties: - satisfiesPzs: - readOnly: true - description: Output only. Reserved for future use. - type: boolean - state: - type: string - enum: - - STATE_UNSPECIFIED - - UNINITIALIZED - - INITIALIZING - - INITIALIZED - description: Required. State of the dataset. Ignored when updating dataset. - enumDescriptions: - - Default unspecified enum, should not be used. - - Dataset has not been initialized. - - Dataset is being initialized. - - Dataset has been initialized. - gcsManagedConfig: - description: >- - Optional. User-managed Cloud Storage dataset configuration. Use this - configuration if the dataset documents are stored under a - user-managed Cloud Storage location. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig - satisfiesPzi: - readOnly: true - type: boolean - description: Output only. Reserved for future use. - unmanagedDatasetConfig: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig - description: >- - Optional. Unmanaged dataset configuration. Use this configuration if - the dataset documents are managed by the document service internally - (not user-managed). - spannerIndexingConfig: - description: >- - Optional. A lightweight indexing source with low latency and high - reliability, but lacking advanced features like CMEK and - content-based search. + testDatasetValidation: + description: The test dataset validation information. $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig - name: - type: string - description: >- - Dataset resource name. Format: - `projects/{project}/locations/{location}/processors/{processor}/dataset` - documentWarehouseConfig: - deprecated: true + #/components/schemas/GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation + trainingDatasetValidation: + description: The training dataset validation information. $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig - description: >- - Optional. Deprecated. Warehouse-based dataset configuration is not - supported. - description: >- - A singleton resource under a Processor which configures a collection of - documents. - GoogleCloudDocumentaiV1RawDocument: - description: Payload message of raw document content (bytes). - type: object - id: GoogleCloudDocumentaiV1RawDocument - properties: - mimeType: - description: >- - An IANA MIME type (RFC6838) indicating the nature and format of the - content. - type: string - content: - description: Inline document content. - type: string - format: byte - displayName: - type: string - description: >- - The display name of the document, it supports all Unicode characters - except the following: `*`, `?`, `[`, `]`, `%`, `{`, `}`,`'`, `\"`, - `,` `~`, `=` and `:` are reserved. If not specified, a default ID is - generated. - GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadata: - description: Metadata of the import document operation. - id: GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadata - type: object - properties: - individualImportStatuses: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus - description: The list of response details of each document. - type: array + #/components/schemas/GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation commonMetadata: $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - totalDocumentCount: - description: Total number of the documents that are qualified for importing. - format: int32 - type: integer - importConfigValidationResults: - type: array - description: Validation statuses of the batch documents import config. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataImportConfigValidationResult - GoogleCloudDocumentaiV1DocumentSchemaMetadata: type: object - id: GoogleCloudDocumentaiV1DocumentSchemaMetadata - description: Metadata for global schema behavior. + id: GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadata + description: The metadata that represents a processor version being created. + GoogleCloudDocumentaiV1EvaluateProcessorVersionMetadata: + description: Metadata of the EvaluateProcessorVersion method. + type: object + id: GoogleCloudDocumentaiV1EvaluateProcessorVersionMetadata properties: - skipNamingValidation: - type: boolean - description: >- - If set, we will skip the naming format validation in the schema. So - the string values in `DocumentSchema.EntityType.name` and - `DocumentSchema.EntityType.Property.name` will not be checked. - prefixedNamingOnProperties: - description: If set, all the nested entities must be prefixed with the parents. - type: boolean - documentSplitter: - description: >- - If true, a `document` entity type can be applied to subdocument - (splitting). Otherwise, it can only be applied to the entire - document (classification). - type: boolean - documentAllowMultipleLabels: - description: >- - If true, on a given page, there can be multiple `document` - annotations covering it. - type: boolean - GoogleCloudDocumentaiV1beta3RevisionRef: + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment: properties: - revisionId: - type: string - description: Reads the revision given by the id. - revisionCase: - description: Reads the revision by the predefined case. + endIndex: + format: int64 type: string - enum: - - REVISION_CASE_UNSPECIFIED - - LATEST_HUMAN_REVIEW - - LATEST_TIMESTAMP - - BASE_OCR_REVISION - enumDescriptions: - - Unspecified case, fall back to read the `LATEST_HUMAN_REVIEW`. - - The latest revision made by a human. - - The latest revision based on timestamp. - - The first (OCR) revision. - latestProcessorVersion: + description: TextSegment half open end UTF-8 char index in the Document.text. + startIndex: + format: int64 type: string - description: >- - Reads the revision generated by the processor version. The format - takes the full resource name of processor version. - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` - id: GoogleCloudDocumentaiV1beta3RevisionRef - description: The revision reference specifies which revision on the document to read. - type: object - GoogleTypePostalAddress: + description: TextSegment start UTF-8 char index in the Document.text. description: >- - Represents a postal address, e.g. for postal delivery or payments - addresses. Given a postal address, a postal service can deliver items to - a premise, P.O. Box or similar. It is not intended to model geographical - locations (roads, towns, mountains). In typical usage an address would - be created via user input or from importing existing data, depending on - the type of process. Advice on address input / editing: - Use an - internationalization-ready address widget such as - https://github.com/google/libaddressinput) - Users should not be - presented with UI elements for input or editing of fields outside - countries where that field is used. For more guidance on how to use this - schema, please see: https://support.google.com/business/answer/6397478 + A text segment in the Document.text. The indices may be out of bounds + which indicate that the text extends into another document shard for + large sharded documents. See ShardInfo.text_offset + id: GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment type: object - id: GoogleTypePostalAddress + GoogleCloudDocumentaiV1OcrConfig: properties: - addressLines: - type: array - items: - type: string + disableCharacterBoxesDetection: + type: boolean description: >- - Unstructured address lines describing the lower levels of an - address. Because values in address_lines do not have type - information and may sometimes contain multiple values in a single - field (e.g. "Austin, TX"), it is important that the line order is - clear. The order of address lines should be "envelope order" for the - country/region of the address. In places where this can vary (e.g. - Japan), address_language is used to make it explicit (e.g. "ja" for - large-to-small ordering and "ja-Latn" or "en" for small-to-large). - This way, the most specific line of an address can be selected based - on the language. The minimum permitted structural representation of - an address consists of a region_code with all remaining information - placed in the address_lines. It would be possible to format such an - address very approximately without geocoding, but no semantic - reasoning could be made about any of the address components until it - was at least partially resolved. Creating an address only containing - a region_code and address_lines, and then geocoding is the - recommended way to handle completely unstructured addresses (as - opposed to guessing which parts of the address should be localities - or administrative areas). - recipients: - items: - type: string + Turn off character box detector in OCR engine. Character box + detection is enabled by default in OCR 2.0 (and later) processors. + advancedOcrOptions: description: >- - Optional. The recipient at the address. This field may, under - certain circumstances, contain multiline information. For example, - it might contain "care of" information. + A list of advanced OCR options to further fine-tune OCR behavior. + Current valid values are: - `legacy_layout`: a heuristics layout + detection algorithm, which serves as an alternative to the current + ML-based layout detection algorithm. Customers can choose the best + suitable layout algorithm based on their situation. type: array - revision: - description: >- - The schema revision of the `PostalAddress`. This must be set to 0, - which is the latest revision. All new revisions **must** be backward - compatible with old revisions. - format: int32 - type: integer - locality: - description: >- - Optional. Generally refers to the city/town portion of the address. - Examples: US city, IT comune, UK post town. In regions of the world - where localities are not well defined or do not fit into this - structure well, leave locality empty and use address_lines. - type: string - sublocality: - type: string - description: >- - Optional. Sublocality of the address. For example, this can be - neighborhoods, boroughs, districts. - administrativeArea: - description: >- - Optional. Highest administrative subdivision which is used for - postal addresses of a country or region. For example, this can be a - state, a province, an oblast, or a prefecture. Specifically, for - Spain this is the province and not the autonomous community (e.g. - "Barcelona" and not "Catalonia"). Many countries don't use an - administrative area in postal addresses. E.g. in Switzerland this - should be left unpopulated. - type: string - languageCode: - description: >- - Optional. BCP-47 language code of the contents of this address (if - known). This is often the UI language of the input form or is - expected to match one of the languages used in the address' - country/region, or their transliterated equivalents. This can affect - formatting in certain countries, but is not critical to the - correctness of the data and will never affect any validation or - other non-formatting related operations. If this value is not known, - it should be omitted (rather than specifying a possibly incorrect - default). Examples: "zh-Hant", "ja", "ja-Latn", "en". - type: string - sortingCode: - type: string + items: + type: string + enableSymbol: + description: Includes symbol level OCR information if set to true. + type: boolean + premiumFeatures: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1OcrConfigPremiumFeatures' + description: Configurations for premium OCR features. + hints: + description: Hints for the OCR model. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1OcrConfigHints' + enableNativePdfParsing: + type: boolean description: >- - Optional. Additional, country-specific, sorting code. This is not - used in most regions. Where it is used, the value is either a string - like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or - just a number alone, representing the "sector code" (Jamaica), - "delivery area indicator" (Malawi) or "post office indicator" (e.g. - Côte d'Ivoire). - regionCode: - type: string + Enables special handling for PDFs with existing text information. + Results in better text extraction quality in such PDF inputs. + enableImageQualityScores: + type: boolean description: >- - Required. CLDR region code of the country/region of the address. - This is never inferred and it is up to the user to ensure the value - is correct. See https://cldr.unicode.org/ and - https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html - for details. Example: "CH" for Switzerland. - postalCode: - type: string + Enables intelligent document quality scores after OCR. Can help with + diagnosing why OCR responses are of poor quality for a given input. + Adds additional latency comparable to regular OCR to the process + call. + computeStyleInfo: + deprecated: true + type: boolean description: >- - Optional. Postal code of the address. Not all countries use or - require postal codes to be present, but where they are used, they - may trigger additional validation with other parts of the address - (e.g. state/zip validation in the U.S.A.). - organization: - type: string - description: Optional. The name of the organization at the address. - GoogleCloudDocumentaiUiv1beta3DeleteProcessorVersionMetadata: + Turn on font identification model and return font style information. + Deprecated, use PremiumFeatures.compute_style_info instead. + id: GoogleCloudDocumentaiV1OcrConfig + type: object + description: Config for Document OCR. + GoogleCloudDocumentaiV1beta3ImportProcessorVersionMetadata: + type: object + description: >- + The long-running operation metadata for the ImportProcessorVersion + method. + id: GoogleCloudDocumentaiV1beta3ImportProcessorVersionMetadata properties: commonMetadata: + description: The basic metadata for the long-running operation. $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - description: >- - The long-running operation metadata for the DeleteProcessorVersion - method. + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfigShardingConfig: + id: GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfigShardingConfig type: object - id: GoogleCloudDocumentaiUiv1beta3DeleteProcessorVersionMetadata - GoogleCloudDocumentaiV1TrainProcessorVersionRequestFoundationModelTuningOptions: - id: >- - GoogleCloudDocumentaiV1TrainProcessorVersionRequestFoundationModelTuningOptions + properties: + pagesOverlap: + type: integer + format: int32 + description: The number of overlapping pages between consecutive shards. + pagesPerShard: + description: The number of pages per shard. + format: int32 + type: integer + description: The sharding config for the output document. + GoogleCloudDocumentaiV1Barcode: + id: GoogleCloudDocumentaiV1Barcode type: object + description: Encodes the detailed information of a barcode. properties: - trainSteps: + format: + description: >- + Format of a barcode. The supported formats are: - `CODE_128`: Code + 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - + `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - + `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - + `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E + type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - + `DATABAR`: GS1 DataBar code type. + type: string + valueFormat: description: >- - Optional. The number of steps to run for model tuning. Valid values - are between 1 and 400. If not provided, recommended steps will be - used. - type: integer - format: int32 - learningRateMultiplier: + Value format describes the format of the value that a barcode + encodes. The supported formats are: - `CONTACT_INFO`: Contact + information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - + `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - + `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi + information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar + event. - `DRIVER_LICENSE`: Driver's license. + type: string + rawValue: + type: string description: >- - Optional. The multiplier to apply to the recommended learning rate. - Valid values are between 0.1 and 10. If not provided, recommended - learning rate will be used. - format: float - type: number - description: Options to control foundation model tuning of the processor. - GoogleCloudDocumentaiV1beta3ImportDocumentsResponse: - description: Response of the import document operation. - id: GoogleCloudDocumentaiV1beta3ImportDocumentsResponse - type: object + Raw value encoded in the barcode. For example: + `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. + GoogleCloudDocumentaiV1EnableProcessorRequest: + description: Request message for the EnableProcessor method. properties: {} - GoogleCloudDocumentaiV1beta3GcsPrefix: - description: Specifies all documents on Cloud Storage with a common prefix. - id: GoogleCloudDocumentaiV1beta3GcsPrefix + id: GoogleCloudDocumentaiV1EnableProcessorRequest + type: object + GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionResponse: type: object properties: - gcsUriPrefix: - description: The URI prefix. + evaluation: + description: The resource name of the created evaluation. type: string - GoogleCloudDocumentaiV1beta3DeleteProcessorVersionMetadata: + description: Response of the EvaluateProcessorVersion method. + id: GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionResponse + GoogleCloudDocumentaiV1ProcessorTypeLocationInfo: + type: object + id: GoogleCloudDocumentaiV1ProcessorTypeLocationInfo + properties: + locationId: + type: string + description: >- + The location ID. For supported locations, refer to [regional and + multi-regional support](/document-ai/docs/regions). + description: The location information about where the processor is available. + GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata: + description: The long-running operation metadata for the DeleteProcessor method. + type: object + id: GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata properties: commonMetadata: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - type: object - description: >- - The long-running operation metadata for the DeleteProcessorVersion - method. - id: GoogleCloudDocumentaiV1beta3DeleteProcessorVersionMetadata - GoogleCloudDocumentaiV1Evaluation: - id: GoogleCloudDocumentaiV1Evaluation + GoogleCloudDocumentaiV1FetchProcessorTypesResponse: + description: Response message for the FetchProcessorTypes method. + id: GoogleCloudDocumentaiV1FetchProcessorTypesResponse type: object properties: - createTime: - format: google-datetime - description: The time that the evaluation was created. - type: string - kmsKeyName: - type: string - description: The KMS key name used for encryption. - documentCounters: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationCounters' - description: Counters for the documents used in the evaluation. - entityMetrics: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics - description: Metrics across confidence levels, for different entities. - type: object - allEntitiesMetrics: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics - description: Metrics for all the entities in aggregate. - kmsKeyVersionName: - description: The KMS key version with which data is encrypted. - type: string - name: - type: string - description: >- - The resource name of the evaluation. Format: - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}` - description: An evaluation of a ProcessorVersion's performance. - GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsResponse: - properties: {} - id: GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsResponse + processorTypes: + type: array + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorType' + description: The list of processor types. + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock: type: object - description: Response of the batch update documents operation. - GoogleCloudDocumentaiV1EvaluateProcessorVersionRequest: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListBlock properties: - evaluationDocuments: + listEntries: + description: List entries that constitute a list block. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutListEntry + type: array + type: description: >- - Optional. The documents used in the evaluation. If unspecified, use - the processor's dataset as evaluation input. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig - description: Evaluates the given ProcessorVersion against the supplied documents. + Type of the list_entries (if exist). Available options are `ordered` + and `unordered`. + type: string + description: Represents a list type block. + GoogleCloudDocumentaiV1TrainProcessorVersionRequest: type: object - id: GoogleCloudDocumentaiV1EvaluateProcessorVersionRequest - GoogleCloudDocumentaiV1ProcessOptions: - description: Options for Process API + id: GoogleCloudDocumentaiV1TrainProcessorVersionRequest properties: - individualPageSelector: + documentSchema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' + description: Optional. The schema the processor version will be trained with. + foundationModelTuningOptions: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessOptionsIndividualPageSelector - description: Which pages to process (1-indexed). - ocrConfig: - description: >- - Only applicable to `OCR_PROCESSOR` and `FORM_PARSER_PROCESSOR`. - Returns error if set on other processor types. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1OcrConfig' - fromStart: + #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequestFoundationModelTuningOptions + description: Options to control foundation model tuning of a processor. + processorVersion: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersion' + description: Required. The processor version to be created. + baseProcessorVersion: + type: string description: >- - Only process certain pages from the start. Process all if the - document has fewer pages. - format: int32 - type: integer - fromEnd: - format: int32 - type: integer - description: Only process certain pages from the end, same as above. - layoutConfig: + Optional. The processor version to use as a base for training. This + processor version must be a child of `parent`. Format: + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`. + inputData: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig - description: >- - Optional. Only applicable to `LAYOUT_PARSER_PROCESSOR`. Returns - error if set on other processor types. - schemaOverride: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' - description: >- - Optional. Override the schema of the ProcessorVersion. Will return - an Invalid Argument error if this field is set when the underlying - ProcessorVersion doesn't support schema override. + #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequestInputData + description: Optional. The input data used to train the ProcessorVersion. + customDocumentExtractionOptions: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequestCustomDocumentExtractionOptions + description: Options to control Custom Document Extraction (CDE) Processor. + description: Request message for the TrainProcessorVersion method. + GoogleCloudDocumentaiV1TrainProcessorVersionRequestCustomDocumentExtractionOptions: + description: >- + Options to control the training of the Custom Document Extraction (CDE) + Processor. + properties: + trainingMethod: + type: string + description: Training method to use for CDE training. + enumDescriptions: + - '' + - '' + - '' + enum: + - TRAINING_METHOD_UNSPECIFIED + - MODEL_BASED + - TEMPLATE_BASED type: object - id: GoogleCloudDocumentaiV1ProcessOptions - GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig: - id: GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig + id: >- + GoogleCloudDocumentaiV1TrainProcessorVersionRequestCustomDocumentExtractionOptions + GoogleCloudDocumentaiV1beta3EnableProcessorResponse: + description: >- + Response message for the EnableProcessor method. Intentionally empty + proto for adding fields in future. + id: GoogleCloudDocumentaiV1beta3EnableProcessorResponse properties: {} - description: Configuration specific to an unmanaged dataset. type: object - GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig: - description: Serving config for chunking. - id: GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig + GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig: + description: Configuration specific to the Cloud Storage-based implementation. + id: GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig + type: object properties: - includeAncestorHeadings: - type: boolean - description: >- - Optional. Whether or not to include ancestor headings when - splitting. - chunkSize: - format: int32 + gcsPrefix: description: >- - Optional. The chunk sizes to use when splitting documents, in order - of level. - type: integer + Required. The Cloud Storage URI (a directory) where the documents + belonging to the dataset must be stored. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3GcsPrefix' + GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata: + description: The metadata proto of `ResyncDataset` method. + id: GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata type: object - GoogleCloudDocumentaiV1DocumentEntityNormalizedValue: - id: GoogleCloudDocumentaiV1DocumentEntityNormalizedValue properties: - booleanValue: - description: >- - Boolean value. Can be used for entities with binary values, or for - checkboxes. + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + individualDocumentResyncStatuses: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus + description: >- + The list of document resync statuses. The same document could have + multiple `individual_document_resync_statuses` if it has multiple + inconsistencies. + datasetResyncStatuses: + type: array + description: >- + The list of dataset resync statuses. Not checked when + ResyncDatasetRequest.dataset_documents is specified. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataDatasetResyncStatus + GoogleCloudDocumentaiV1ProcessRequest: + id: GoogleCloudDocumentaiV1ProcessRequest + properties: + imagelessMode: type: boolean - integerValue: - type: integer - description: Integer value. - format: int32 - moneyValue: - description: >- - Money value. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/money.proto - $ref: '#/components/schemas/GoogleTypeMoney' - text: + description: Optional. Option to remove images from the document. + fieldMask: description: >- - Optional. An optional field to store a normalized string. For some - entity types, one of respective `structured_value` fields may also - be populated. Also not all the types of `structured_value` will be - normalized. For example, some processors may not generate `float` or - `integer` normalized text by default. Below are sample formats - mapped to structured values. - Money/Currency type (`money_value`) - is in the ISO 4217 text format. - Date type (`date_value`) is in the - ISO 8601 text format. - Datetime type (`datetime_value`) is in the - ISO 8601 text format. + Specifies which fields to include in the ProcessResponse.document + output. Only supports top-level document and pages field, so it must + be in the form of `{document_field_name}` or + `pages.{page_field_name}`. type: string - datetimeValue: - $ref: '#/components/schemas/GoogleTypeDateTime' - description: >- - DateTime value. Includes date, time, and timezone. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto - dateValue: + format: google-fieldmask + processOptions: + description: Inference-time options for the process API + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessOptions' + labels: description: >- - Date value. Includes year, month, day. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/date.proto - $ref: '#/components/schemas/GoogleTypeDate' - addressValue: + Optional. The labels with user-defined metadata for the request. + Label keys and values can be no longer than 63 characters (Unicode + codepoints) and can only contain lowercase letters, numeric + characters, underscores, and dashes. International characters are + allowed. Label values are optional. Label keys must start with a + letter. + type: object + additionalProperties: + type: string + gcsDocument: + description: A raw document on Google Cloud Storage. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsDocument' + inlineDocument: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' + description: An inline document proto. + rawDocument: + description: A raw document content (bytes). + $ref: '#/components/schemas/GoogleCloudDocumentaiV1RawDocument' + skipHumanReview: + type: boolean description: >- - Postal address. See also: - https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto - $ref: '#/components/schemas/GoogleTypePostalAddress' - floatValue: - type: number - description: Float value. - format: float - description: Parsed and normalized entity value. + Whether human review should be skipped for this request. Default to + `false`. + description: Request message for the ProcessDocument method. type: object - GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionMetadata: - description: Metadata of the EvaluateProcessorVersion method. - id: GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionMetadata + GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo: + id: >- + GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo type: object + description: Information for a pretrained Google-managed foundation model. properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - GoogleCloudDocumentaiV1beta3TrainProcessorVersionResponse: + minTrainLabeledDocuments: + format: int32 + description: >- + The minimum number of labeled documents in the training dataset + required for finetuning. + type: integer + finetuningAllowed: + type: boolean + description: Whether finetuning is allowed for this base processor version. + GoogleCloudDocumentaiV1beta3BatchProcessMetadata: properties: - processorVersion: - description: The resource name of the processor version produced by training. + state: type: string - description: The response for TrainProcessorVersion. - id: GoogleCloudDocumentaiV1beta3TrainProcessorVersionResponse - type: object - GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest: - description: Request message for the SetDefaultProcessorVersion method. - type: object - properties: - defaultProcessorVersion: + enumDescriptions: + - The default value. This value is used if the state is omitted. + - Request operation is waiting for scheduling. + - Request is being processed. + - The batch processing completed successfully. + - The batch processing was being cancelled. + - The batch processing was cancelled. + - The batch processing has failed. + description: The state of the current batch processing. + enum: + - STATE_UNSPECIFIED + - WAITING + - RUNNING + - SUCCEEDED + - CANCELLING + - CANCELLED + - FAILED + stateMessage: description: >- - Required. The resource name of child ProcessorVersion to use as - default. Format: - `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{version}` + A message providing more details about the current state of + processing. For example, the error message if the operation is + failed. type: string - id: GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest - GoogleCloudDocumentaiV1GcsDocuments: - properties: - documents: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1GcsDocument' + individualProcessStatuses: + description: The list of response details of each document. type: array - description: The list of documents. - id: GoogleCloudDocumentaiV1GcsDocuments - type: object - description: Specifies a set of documents on Cloud Storage. - GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3BatchProcessMetadataIndividualProcessStatus + updateTime: + description: The last update time of the operation. + format: google-datetime + type: string + createTime: + description: The creation time of the operation. + type: string + format: google-datetime + id: GoogleCloudDocumentaiV1beta3BatchProcessMetadata + description: The long-running operation metadata for BatchProcessDocuments. type: object + GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus: + description: Resync status for each document per inconsistency type. properties: - documentId: - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' - description: >- - The document id of the auto-labeled document. This will replace the - gcs_uri. status: + description: >- + The status of resyncing the document with regards to the detected + inconsistency. Empty if ResyncDatasetRequest.validate_only is + `true`. $ref: '#/components/schemas/GoogleRpcStatus' - description: The status of the document auto-labeling. - description: The status of individual documents in the auto-labeling process. + documentInconsistencyType: + description: The type of document inconsistency. + type: string + enumDescriptions: + - Default value. + - The document proto is invalid. + - Indexed docproto metadata is mismatched. + - The page image or thumbnails are missing. + enum: + - DOCUMENT_INCONSISTENCY_TYPE_UNSPECIFIED + - DOCUMENT_INCONSISTENCY_TYPE_INVALID_DOCPROTO + - DOCUMENT_INCONSISTENCY_TYPE_MISMATCHED_METADATA + - DOCUMENT_INCONSISTENCY_TYPE_NO_PAGE_IMAGE + documentId: + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' + description: The document identifier. id: >- - GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus - GoogleLongrunningOperation: + GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus type: object - id: GoogleLongrunningOperation - properties: - done: - type: boolean - description: >- - 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. - name: - description: >- - 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}`. - type: string - error: - description: >- - The error result of the operation in case of failure or - cancellation. - $ref: '#/components/schemas/GoogleRpcStatus' - response: - type: object - description: >- - 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`. - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - metadata: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - description: >- - 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. - type: object - description: >- - This resource represents a long-running operation that is the result of - a network API call. - GoogleCloudDocumentaiV1ProcessOptionsIndividualPageSelector: - description: A list of individual page numbers. + GoogleTypeTimeZone: type: object - id: GoogleCloudDocumentaiV1ProcessOptionsIndividualPageSelector properties: - pages: - items: - format: int32 - type: integer - description: Optional. Indices of the pages (starting from 1). - type: array - GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionMetadata: + id: + type: string + description: IANA Time Zone Database time zone, e.g. "America/New_York". + version: + type: string + description: Optional. IANA Time Zone Database version number, e.g. "2019a". + id: GoogleTypeTimeZone + description: >- + Represents a time zone from the [IANA Time Zone + Database](https://www.iana.org/time-zones). + GoogleCloudDocumentaiV1DocumentEntity: type: object description: >- - The long-running operation metadata for the DeployProcessorVersion - method. - properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionMetadata - GoogleCloudDocumentaiV1DocumentPageAnchor: + An entity that could be a phrase in the text or a property that belongs + to the document. It is a known entity type, such as a person, an + organization, or location. properties: - pageRefs: + redacted: + description: >- + Optional. Whether the entity will be redacted for de-identification + purposes. + type: boolean + properties: type: array + description: >- + Optional. Entities can be nested to form a hierarchical data + structure representing the content in the document. items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchorPageRef - description: One or more references to visual page elements - type: object - description: >- - Referencing the visual context of the entity in the Document.pages. Page - anchors can be cross-page, consist of multiple bounding polygons and - optionally reference specific layout element types. - id: GoogleCloudDocumentaiV1DocumentPageAnchor - GoogleCloudDocumentaiV1DocumentProvenanceParent: - description: >- - The parent element the current element is based on. Used for - referencing/aligning, removal and replacement operations. - properties: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' + textAnchor: + description: >- + Optional. Provenance of the entity. Text anchor indexing into the + Document.text. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + normalizedValue: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentEntityNormalizedValue + description: >- + Optional. Normalized entity value. Absent if the extracted value + could not be converted or the type (e.g. address) is not supported + for certain parsers. This field is also only populated for certain + supported document types. + mentionText: + type: string + description: Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + provenance: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + description: Optional. The history of this annotation. + mentionId: + description: Optional. Deprecated. Use `id` field instead. + type: string + type: + type: string + description: Required. Entity type from a schema e.g. `Address`. id: - deprecated: true - type: integer - format: int32 - description: The id of the parent provenance. - revision: - description: The index of the index into current revision's parent_ids list. - format: int32 - type: integer - index: - type: integer - format: int32 description: >- - The index of the parent item in the corresponding item list (eg. - list of entities, properties within entities, etc.) in the parent - revision. + Optional. Canonical id. This will be a unique value in the entity + list for this document. + type: string + pageAnchor: + description: >- + Optional. Represents the provenance of this entity wrt. the location + on the page where it was found. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchor' + confidence: + description: Optional. Confidence of detected Schema entity. Range `[0, 1]`. + format: float + type: number + id: GoogleCloudDocumentaiV1DocumentEntity + GoogleCloudDocumentaiV1TrainProcessorVersionResponse: + properties: + processorVersion: + type: string + description: The resource name of the processor version produced by training. type: object - id: GoogleCloudDocumentaiV1DocumentProvenanceParent - GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata: - description: Metadata of the auto-labeling documents operation. - id: GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata + id: GoogleCloudDocumentaiV1TrainProcessorVersionResponse + description: The response for TrainProcessorVersion. + GoogleCloudDocumentaiV1EvaluateProcessorVersionRequest: + description: Evaluates the given ProcessorVersion against the supplied documents. + id: GoogleCloudDocumentaiV1EvaluateProcessorVersionRequest type: object properties: - individualAutoLabelStatuses: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadataIndividualAutoLabelStatus + evaluationDocuments: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig description: >- - The list of individual auto-labeling statuses of the dataset - documents. + Optional. The documents used in the evaluation. If unspecified, use + the processor's dataset as evaluation input. + GoogleCloudDocumentaiV1DeleteProcessorMetadata: + properties: commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - totalDocumentCount: - format: int32 - type: integer - description: Total number of the auto-labeling documents. - GoogleCloudDocumentaiV1ListProcessorsResponse: - description: Response message for the ListProcessors method. - properties: - processors: - description: The list of processors. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' - type: array - nextPageToken: - description: Points to the next processor, otherwise empty. - type: string + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The long-running operation metadata for the DeleteProcessor method. + id: GoogleCloudDocumentaiV1DeleteProcessorMetadata type: object - id: GoogleCloudDocumentaiV1ListProcessorsResponse - GoogleCloudDocumentaiV1GcsPrefix: - id: GoogleCloudDocumentaiV1GcsPrefix - properties: - gcsUriPrefix: - type: string - description: The URI prefix. - description: Specifies all documents on Cloud Storage with a common prefix. + GoogleTypeColor: + description: >- + Represents a color in the RGBA color space. This representation is + designed for simplicity of conversion to and from color representations + in various languages over compactness. For example, the fields of this + representation can be trivially provided to the constructor of + `java.awt.Color` in Java; it can also be trivially provided to UIColor's + `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little + work, it can be easily formatted into a CSS `rgba()` string in + JavaScript. This reference page doesn't have information about the + absolute color space that should be used to interpret the RGB value—for + example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications + should assume the sRGB color space. When color equality needs to be + decided, implementations, unless documented otherwise, treat two colors + as equal if all their red, green, blue, and alpha values each differ by + at most `1e-5`. Example (Java): import com.google.type.Color; // ... + public static java.awt.Color fromProto(Color protocolor) { float alpha = + protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return + new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), + protocolor.getBlue(), alpha); } public static Color + toProto(java.awt.Color color) { float red = (float) color.getRed(); + float green = (float) color.getGreen(); float blue = (float) + color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder + = Color .newBuilder() .setRed(red / denominator) .setGreen(green / + denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); + if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() + .setValue(((float) alpha) / denominator) .build()); } return + resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static + UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; + float green = [protocolor green]; float blue = [protocolor blue]; + FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if + (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return + [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static + Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if + (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return + nil; } Color* result = [[Color alloc] init]; [result setRed:red]; + [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { + [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; + return result; } // ... Example (JavaScript): // ... var protoToCssColor + = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var + greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || + 0.0; var red = Math.floor(redFrac * 255); var green = + Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if + (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } + var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, + ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var + rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString + = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var + resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { + resultBuilder.push('0'); } resultBuilder.push(hexString); return + resultBuilder.join(''); }; // ... type: object - GoogleCloudDocumentaiV1DocumentPageTableTableRow: + id: GoogleTypeColor properties: - cells: + blue: + format: float + description: The amount of blue in the color as a value in the interval [0, 1]. + type: number + red: + format: float + type: number + description: The amount of red in the color as a value in the interval [0, 1]. + green: + description: The amount of green in the color as a value in the interval [0, 1]. + type: number + format: float + alpha: + type: number + format: float + description: >- + The fraction of this color that should be applied to the pixel. That + is, the final pixel color is defined by the equation: `pixel color = + alpha * (this color) + (1.0 - alpha) * (background color)` This + means that a value of 1.0 corresponds to a solid color, whereas a + value of 0.0 corresponds to a completely transparent color. This + uses a wrapper message rather than a simple float scalar so that it + is possible to distinguish between a default value and the value + being unset. If omitted, this color object is rendered as a solid + color (as if the alpha value had been explicitly given a value of + 1.0). + GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadata: + properties: + errorDocumentCount: + description: Total number of documents that failed to be deleted in storage. + type: integer + format: int32 + individualBatchDeleteStatuses: + type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableCell - type: array - description: Cells that make up this row. - type: object - description: A row of table cells. - id: GoogleCloudDocumentaiV1DocumentPageTableTableRow - GoogleCloudDocumentaiV1UndeployProcessorVersionRequest: - properties: {} - description: Request message for the UndeployProcessorVersion method. - type: object - id: GoogleCloudDocumentaiV1UndeployProcessorVersionRequest - GoogleCloudDocumentaiUiv1beta3CreateLabelerPoolOperationMetadata: - type: object - properties: + #/components/schemas/GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadataIndividualBatchDeleteStatus + description: The list of response details of each document. + totalDocumentCount: + description: Total number of documents deleting from dataset. + format: int32 + type: integer commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - description: The long-running operation metadata for the CreateLabelerPool method. - id: GoogleCloudDocumentaiUiv1beta3CreateLabelerPoolOperationMetadata - GoogleCloudDocumentaiV1DocumentRevisionHumanReview: - id: GoogleCloudDocumentaiV1DocumentRevisionHumanReview + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + id: GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsMetadata type: object + GoogleTypeMoney: properties: - state: - description: Human review state. e.g. `requested`, `succeeded`, `rejected`. + currencyCode: type: string - stateMessage: + description: The three-letter currency code defined in ISO 4217. + units: + description: >- + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. type: string + format: int64 + nanos: + type: integer description: >- - A message providing more details about the current state of - processing. For example, the rejection reason when the state is - `rejected`. - description: Human Review information of the document. - GoogleCloudDocumentaiV1beta3ImportProcessorVersionMetadata: - id: GoogleCloudDocumentaiV1beta3ImportProcessorVersionMetadata + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. + format: int32 + description: Represents an amount of money with its currency type. type: object - properties: - commonMetadata: - description: The basic metadata for the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + id: GoogleTypeMoney + GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoCustomGenAiModelInfo: + id: >- + GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoCustomGenAiModelInfo description: >- - The long-running operation metadata for the ImportProcessorVersion - method. - GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId: + Information for a custom Generative AI model created by the user. These + are created with `Create New Version` in either the `Call foundation + model` or `Fine tuning` tabs. properties: - gcsUri: - description: Required. The Cloud Storage URI where the actual document is stored. + baseProcessorVersionId: type: string - cwDocId: + description: The base processor version ID for the custom model. + customModelType: type: string - description: Id of the document (indexed) managed by Content Warehouse. - deprecated: true + enum: + - CUSTOM_MODEL_TYPE_UNSPECIFIED + - VERSIONED_FOUNDATION + - FINE_TUNED + description: The type of custom model created by the user. + enumDescriptions: + - The model type is unspecified. + - The model is a versioned foundation model. + - The model is a finetuned foundation model. type: object - id: GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId - description: >- - Identifies a document uniquely within the scope of a dataset in the - user-managed Cloud Storage option. - GoogleCloudDocumentaiUiv1beta3SampleDocumentsMetadata: - description: Metadata of the sample documents operation. + GoogleCloudDocumentaiV1DocumentSchemaMetadata: type: object + id: GoogleCloudDocumentaiV1DocumentSchemaMetadata + description: Metadata for global schema behavior. properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiUiv1beta3SampleDocumentsMetadata - GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk: - description: Represents a chunk. - id: GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk + skipNamingValidation: + type: boolean + description: >- + If set, we will skip the naming format validation in the schema. So + the string values in `DocumentSchema.EntityType.name` and + `DocumentSchema.EntityType.Property.name` will not be checked. + documentAllowMultipleLabels: + type: boolean + description: >- + If true, on a given page, there can be multiple `document` + annotations covering it. + prefixedNamingOnProperties: + type: boolean + description: If set, all the nested entities must be prefixed with the parents. + documentSplitter: + type: boolean + description: >- + If true, a `document` entity type can be applied to subdocument + (splitting). Otherwise, it can only be applied to the entire + document (classification). + GoogleCloudDocumentaiV1DocumentChunkedDocument: + id: GoogleCloudDocumentaiV1DocumentChunkedDocument + description: Represents the chunks that the document is divided into. type: object properties: - content: - type: string - description: Text content of the chunk. - sourceBlockIds: - items: - type: string - description: Unused. - type: array - pageSpan: - description: Page span of the chunk. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageSpan - pageFooters: - description: Page footers associated with the chunk. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageFooter - pageHeaders: + chunks: items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunkChunkPageHeader - description: Page headers associated with the chunk. + #/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocumentChunk type: array - chunkId: - description: ID of the chunk. + description: List of chunks. + GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig: + properties: + schema: type: string - GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsResponse: - id: GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsResponse - properties: {} - type: object - description: Response of the delete documents operation. - GoogleCloudDocumentaiV1DocumentPageFormField: + readOnly: true + description: >- + Output only. The schema in Document AI Warehouse associated with the + dataset. + collection: + type: string + description: >- + Output only. The collection in Document AI Warehouse associated with + the dataset. + readOnly: true + description: >- + Configuration specific to the Document AI Warehouse-based + implementation. type: object - description: A form field detected on the page. + id: GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig + GoogleCloudDocumentaiV1beta3RevisionRef: + id: GoogleCloudDocumentaiV1beta3RevisionRef properties: - correctedValueText: - description: >- - Created for Labeling UI to export value text. If corrections were - made to the text identified by the `field_value.text_anchor`, this - field will contain the correction. + revisionId: + description: Reads the revision given by the id. + type: string + latestProcessorVersion: type: string - fieldName: description: >- - Layout for the FormField name. e.g. `Address`, `Email`, `Grand - total`, `Phone number`, etc. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - valueType: + Reads the revision generated by the processor version. The format + takes the full resource name of processor version. + `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}` + revisionCase: + enumDescriptions: + - Unspecified case, fall back to read the `LATEST_HUMAN_REVIEW`. + - The latest revision made by a human. + - The latest revision based on timestamp. + - The first (OCR) revision. + enum: + - REVISION_CASE_UNSPECIFIED + - LATEST_HUMAN_REVIEW + - LATEST_TIMESTAMP + - BASE_OCR_REVISION + type: string + description: Reads the revision by the predefined case. + description: The revision reference specifies which revision on the document to read. + type: object + GoogleCloudDocumentaiV1ProcessorType: + id: GoogleCloudDocumentaiV1ProcessorType + properties: + availableLocations: + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessorTypeLocationInfo + type: array + description: The locations in which this processor is available. + category: + description: The processor category, used by UI to group processor types. + type: string + launchStage: + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED + enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. + - >- + Prelaunch features are hidden from users and are only visible + internally. + - >- + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible + ways, and are not guaranteed to be released. + - >- + Alpha is a limited availability test for releases before they are + cleared for widespread use. By Alpha, all significant design + issues are resolved and we are in the process of verifying + functionality. Alpha customers need to apply for access, agree to + applicable terms, and have their projects allowlisted. Alpha + releases don't have to be feature complete, no SLAs are provided, + and there are no technical support obligations, but they will be + far enough along that customers can actually use them in test + environments or for limited-use tests -- just like they would in + normal production cases. + - >- + Beta is the point at which we are ready to open a release for any + customer to use. There are no SLA or technical support obligations + in a Beta release. Products will be complete from a feature + perspective, but may have some open outstanding issues. Beta + releases are suitable for limited production use cases. + - >- + GA features are open to all developers and are considered stable + and fully qualified for production use. + - >- + Deprecated features are scheduled to be shut down and removed. For + more information, see the "Deprecation Policy" section of our + [Terms of Service](https://cloud.google.com/terms/) and the + [Google Cloud Platform Subject to the Deprecation + Policy](https://cloud.google.com/terms/deprecation) documentation. type: string + description: Launch stage of the processor type + allowCreation: + type: boolean description: >- - If the value is non-textual, this field represents the type. Current - valid values are: - blank (this indicates the `field_value` is - normal text) - `unfilled_checkbox` - `filled_checkbox` - fieldValue: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: Layout for the FormField value. - valueDetectedLanguages: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages for value together with confidence. - nameDetectedLanguages: + Whether the processor type allows creation. If true, users can + create a processor of this processor type. Otherwise, users need to + request access. + type: + description: 'The processor type, such as: `OCR_PROCESSOR`, `INVOICE_PROCESSOR`.' + type: string + sampleDocumentUris: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages for name together with confidence. + type: string + description: A set of Cloud Storage URIs of sample documents for this processor. type: array - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: The history of this annotation. - correctedKeyText: + name: type: string description: >- - Created for Labeling UI to export key text. If corrections were made - to the text identified by the `field_name.text_anchor`, this field - will contain the correction. - id: GoogleCloudDocumentaiV1DocumentPageFormField - GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse: + The resource name of the processor type. Format: + `projects/{project}/processorTypes/{processor_type}` + description: >- + A processor type is responsible for performing a certain document + understanding task on a certain type of document. type: object - description: Response message for the UndeployProcessorVersion method. - properties: {} - id: GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse - GoogleCloudLocationListLocationsResponse: + GoogleCloudDocumentaiV1DocumentStyle: type: object + id: GoogleCloudDocumentaiV1DocumentStyle + description: >- + Annotation for common text style attributes. This adheres to CSS + conventions as much as possible. properties: - nextPageToken: + textDecoration: type: string - description: The standard List next-page token. - locations: - items: - $ref: '#/components/schemas/GoogleCloudLocationLocation' - description: >- - A list of locations that matches the specified filter in the - request. - type: array - description: The response message for Locations.ListLocations. - id: GoogleCloudLocationListLocationsResponse - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock: - description: Represents a text type block. - id: >- - GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock - properties: - blocks: - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock - type: array description: >- - A text block could further have child blocks. Repeated blocks - support further hierarchies and nested blocks. - type: - type: string + [Text + decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). + Follows CSS standard. + color: + description: Text color. + $ref: '#/components/schemas/GoogleTypeColor' + fontSize: + description: Font size. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyleFontSize' + textStyle: description: >- - Type of the text in the block. Available options are: `paragraph`, - `subtitle`, `heading-1`, `heading-2`, `heading-3`, `heading-4`, - `heading-5`, `header`, `footer`. - text: + [Text + style](https://www.w3schools.com/cssref/pr_font_font-style.asp). + Possible values are `normal`, `italic`, and `oblique`. type: string - description: Text content stored in the block. - type: object - GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus: - properties: - documentId: - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' - description: The document identifier. - status: - description: >- - The status of resyncing the document with regards to the detected - inconsistency. Empty if ResyncDatasetRequest.validate_only is - `true`. - $ref: '#/components/schemas/GoogleRpcStatus' - documentInconsistencyType: - enum: - - DOCUMENT_INCONSISTENCY_TYPE_UNSPECIFIED - - DOCUMENT_INCONSISTENCY_TYPE_INVALID_DOCPROTO - - DOCUMENT_INCONSISTENCY_TYPE_MISMATCHED_METADATA - - DOCUMENT_INCONSISTENCY_TYPE_NO_PAGE_IMAGE - enumDescriptions: - - Default value. - - The document proto is invalid. - - Indexed docproto metadata is mismatched. - - The page image or thumbnails are missing. + textAnchor: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' + description: Text anchor indexing into the Document.text. + backgroundColor: + $ref: '#/components/schemas/GoogleTypeColor' + description: Text background color. + fontWeight: type: string - description: The type of document inconsistency. - id: >- - GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataIndividualDocumentResyncStatus - type: object - description: Resync status for each document per inconsistency type. - GoogleRpcStatus: - description: >- - 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). - id: GoogleRpcStatus - properties: - details: - type: array description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - code: - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - format: int32 - message: + [Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). + Possible values are `normal`, `bold`, `bolder`, and `lighter`. + fontFamily: description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + Font family such as `Arial`, `Times New Roman`. + https://www.w3schools.com/cssref/pr_font_font-family.asp type: string - type: object - GoogleCloudDocumentaiV1beta3EnableProcessorMetadata: - type: object - description: The long-running operation metadata for the EnableProcessor method. + GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata: properties: commonMetadata: $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiV1beta3EnableProcessorMetadata - GoogleCloudDocumentaiV1DocumentDocumentLayout: - id: GoogleCloudDocumentaiV1DocumentDocumentLayout - type: object - properties: - blocks: - type: array - description: List of blocks in the document. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock - description: >- - Represents the parsed layout of a document as a collection of blocks - that the document is divided into. - GoogleCloudDocumentaiV1DocumentOutputConfig: description: >- - Config that controls the output of documents. All documents will be - written as a JSON file. - type: object - properties: - gcsOutputConfig: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentOutputConfigGcsOutputConfig - description: Output config to write the results to Cloud Storage. - id: GoogleCloudDocumentaiV1DocumentOutputConfig - GoogleCloudDocumentaiV1GcsDocument: - properties: - mimeType: - type: string - description: An IANA MIME type (RFC6838) of the content. - gcsUri: - description: The Cloud Storage object uri. - type: string - id: GoogleCloudDocumentaiV1GcsDocument - type: object - description: Specifies a document stored on Cloud Storage. - GoogleCloudDocumentaiV1BatchProcessResponse: - id: GoogleCloudDocumentaiV1BatchProcessResponse - properties: {} - type: object - description: Response message for BatchProcessDocuments. - GoogleCloudDocumentaiV1ProcessResponse: - type: object - properties: - document: - description: >- - The document payload, will populate fields based on the processor's - behavior. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' - humanReviewStatus: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1HumanReviewStatus' - description: The status of human review on the processed document. - id: GoogleCloudDocumentaiV1ProcessResponse - description: Response message for the ProcessDocument method. - GoogleCloudDocumentaiV1beta3BatchProcessResponse: + The long-running operation metadata for the UndeployProcessorVersion + method. + id: GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata type: object - properties: {} - id: GoogleCloudDocumentaiV1beta3BatchProcessResponse - description: Response message for BatchProcessDocuments. GoogleCloudDocumentaiV1Processor: id: GoogleCloudDocumentaiV1Processor - description: >- - The first-class citizen for Document AI. Each processor defines how to - extract structural information from a document. - type: object properties: - satisfiesPzi: + name: + type: string + readOnly: true + description: >- + Output only. Immutable. The resource name of the processor. Format: + `projects/{project}/locations/{location}/processors/{processor}` + displayName: + description: The display name of the processor. + type: string + satisfiesPzs: + readOnly: true description: Output only. Reserved for future use. type: boolean - readOnly: true + defaultProcessorVersion: + description: The default processor version. + type: string processEndpoint: type: string readOnly: true description: >- - Output only. Immutable. The http endpoint that can be called to - invoke processing. - satisfiesPzs: + Output only. Immutable. The http endpoint that can be called to + invoke processing. + processorVersionAliases: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionAlias' + type: array + description: Output only. The processor version aliases. + readOnly: true + type: + description: >- + The processor type, such as: `OCR_PROCESSOR`, `INVOICE_PROCESSOR`. + To get a list of processor types, see FetchProcessorTypes. + type: string + createTime: + description: The time the processor was created. + format: google-datetime + type: string + satisfiesPzi: description: Output only. Reserved for future use. readOnly: true type: boolean - defaultProcessorVersion: - type: string - description: The default processor version. state: - type: string - description: Output only. The state of the processor. - readOnly: true - enum: - - STATE_UNSPECIFIED - - ENABLED - - DISABLED - - ENABLING - - DISABLING - - CREATING - - FAILED - - DELETING enumDescriptions: - The processor is in an unspecified state. - >- @@ -3953,1135 +3977,1107 @@ components: dependencies. The user should delete the processor and recreate one as all the functionalities of the processor are disabled. - The processor is being deleted, will be removed if successful. - createTime: - format: google-datetime - description: The time the processor was created. - type: string - processorVersionAliases: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersionAlias' + enum: + - STATE_UNSPECIFIED + - ENABLED + - DISABLED + - ENABLING + - DISABLING + - CREATING + - FAILED + - DELETING readOnly: true - description: Output only. The processor version aliases. - type: array + type: string + description: Output only. The state of the processor. kmsKeyName: description: >- The [KMS key](https://cloud.google.com/security-key-management) used for encryption and decryption in CMEK scenarios. type: string - name: - description: >- - Output only. Immutable. The resource name of the processor. Format: - `projects/{project}/locations/{location}/processors/{processor}` + type: object + description: >- + The first-class citizen for Document AI. Each processor defines how to + extract structural information from a document. + GoogleCloudDocumentaiUiv1beta3CreateLabelerPoolOperationMetadata: + type: object + properties: + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + description: The long-running operation metadata for the CreateLabelerPool method. + id: GoogleCloudDocumentaiUiv1beta3CreateLabelerPoolOperationMetadata + GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata: + properties: + commonMetadata: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The basic metadata of the long-running operation. + id: GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata + description: >- + The long-running operation metadata for the UndeployProcessorVersion + method. + type: object + GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionMetadata: + description: >- + The long-running operation metadata for the DeployProcessorVersion + method. + id: GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionMetadata + type: object + properties: + commonMetadata: + description: The basic metadata of the long-running operation. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionResponse: + description: The response message for the ImportProcessorVersion method. + id: GoogleCloudDocumentaiUiv1beta3ImportProcessorVersionResponse + properties: + processorVersion: type: string - readOnly: true - type: + description: The destination processor version name. + type: object + GoogleCloudDocumentaiV1EvaluationReference: + id: GoogleCloudDocumentaiV1EvaluationReference + description: >- + Gives a short summary of an evaluation, and links to the evaluation + itself. + properties: + aggregateMetricsExact: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationMetrics' + description: >- + An aggregate of the statistics for the evaluation with fuzzy + matching off. + evaluation: type: string + description: The resource name of the evaluation. + aggregateMetrics: description: >- - The processor type, such as: `OCR_PROCESSOR`, `INVOICE_PROCESSOR`. - To get a list of processor types, see FetchProcessorTypes. - displayName: + An aggregate of the statistics for the evaluation with fuzzy + matching on. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationMetrics' + operation: + description: The resource name of the Long Running Operation for the evaluation. type: string - description: The display name of the processor. - GoogleCloudDocumentaiV1DocumentPageTable: + type: object + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock: + id: >- + GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlockLayoutTextBlock + description: Represents a text type block. + type: object properties: - bodyRows: + text: + type: string + description: Text content stored in the block. + blocks: + description: >- + A text block could further have child blocks. Repeated blocks + support further hierarchies and nested blocks. type: array - description: Body rows of the table. items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow - headerRows: + #/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayoutDocumentLayoutBlock + type: + description: >- + Type of the text in the block. Available options are: `paragraph`, + `subtitle`, `heading-1`, `heading-2`, `heading-3`, `heading-4`, + `heading-5`, `header`, `footer`. + type: string + GoogleLongrunningListOperationsResponse: + description: The response message for Operations.ListOperations. + properties: + nextPageToken: + description: The standard List next-page token. + type: string + operations: + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' type: array + description: >- + A list of operations that matches the specified filter in the + request. + id: GoogleLongrunningListOperationsResponse + type: object + GoogleCloudDocumentaiUiv1beta3DeleteProcessorVersionMetadata: + id: GoogleCloudDocumentaiUiv1beta3DeleteProcessorVersionMetadata + properties: + commonMetadata: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + type: object + description: >- + The long-running operation metadata for the DeleteProcessorVersion + method. + GoogleCloudDocumentaiV1ProcessOptionsIndividualPageSelector: + properties: + pages: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableRow - description: Header rows of the table. - provenance: + format: int32 + type: integer + type: array + description: Optional. Indices of the pages (starting from 1). + type: object + description: A list of individual page numbers. + id: GoogleCloudDocumentaiV1ProcessOptionsIndividualPageSelector + GoogleCloudDocumentaiV1Document: + description: >- + 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. + properties: + entityRelations: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntityRelation' + description: Placeholder. Relationship among Document.entities. + type: array + text: + type: string + description: Optional. UTF-8 encoded text in reading order from the document. + pages: + description: Visual page layout for the Document. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPage' + type: array + revisions: + description: Placeholder. Revision history of this document. + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentRevision' + type: array + textStyles: + description: Styles for the Document.text. + type: array deprecated: true - description: The history of this table. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - detectedLanguages: items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - description: A list of detected languages together with confidence. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyle' + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: Any error that occurred while processing this document. + entities: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' + description: >- + A list of entities detected on Document.text. For document shards, + entities in this list may cross shard boundaries. + type: array + shardInfo: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentShardInfo' + description: >- + Information about the sharding if this document is sharded part of a + larger document. If the document is not sharded, this message is not + specified. + uri: + description: >- + Optional. Currently supports Google Cloud Storage URI of the form + `gs://bucket_name/object_name`. Object versioning is not supported. + For more information, refer to [Google Cloud Storage Request + URIs](https://cloud.google.com/storage/docs/reference-uris). + type: string + documentLayout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentDocumentLayout' + description: Parsed layout of the document. + content: + type: string + format: byte + description: >- + Optional. Inline document content, represented as a stream of bytes. + Note: As with all `bytes` fields, protobuffers use a pure binary + representation, whereas JSON representations use base64. + chunkedDocument: + description: Document chunked based on chunking config. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentChunkedDocument' + mimeType: + type: string + description: >- + An IANA published [media type (MIME + type)](https://www.iana.org/assignments/media-types/media-types.xhtml). + textChanges: + items: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextChange' + description: >- + Placeholder. A list of text corrections made to Document.text. This + is usually used for annotating corrections to OCR mistakes. Text + changes for a given revision may not overlap with each other. type: array - layout: - description: Layout for Table. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - description: A table representation similar to HTML table structure. - type: object - id: GoogleCloudDocumentaiV1DocumentPageTable - GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionResponse: - description: Response message for the SetDefaultProcessorVersion method. - type: object - id: GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionResponse - properties: {} - GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionMetadata: - description: >- - The long-running operation metadata for the UndeployProcessorVersion - method. - id: GoogleCloudDocumentaiUiv1beta3UndeployProcessorVersionMetadata - type: object - properties: - commonMetadata: - description: The basic metadata of the long-running operation. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus: - id: >- - GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataIndividualExportStatus + id: GoogleCloudDocumentaiV1Document type: object - description: The status of each individual document in the export process. + GoogleCloudDocumentaiV1DocumentEntityRelation: + id: GoogleCloudDocumentaiV1DocumentEntityRelation + description: Relationship between Entities. properties: - outputGcsDestination: - description: >- - The output_gcs_destination of the exported document if it was - successful, otherwise empty. + subjectId: + description: Subject entity id. type: string - documentId: - description: The path to source docproto of the document. - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' - status: - description: The status of the exporting of the document. - $ref: '#/components/schemas/GoogleRpcStatus' - GoogleCloudDocumentaiV1DocumentPageAnchorPageRef: + objectId: + description: Object entity id. + type: string + relation: + type: string + description: Relationship description. + type: object + GoogleCloudDocumentaiV1CommonOperationMetadata: + id: GoogleCloudDocumentaiV1CommonOperationMetadata type: object properties: - layoutType: + updateTime: + type: string + format: google-datetime + description: The last update time of the operation. + createTime: + description: The creation time of the operation. + type: string + format: google-datetime + resource: + description: A related resource to this operation. + type: string + state: + description: The state of the operation. enumDescriptions: - - Layout Unspecified. - - References a Page.blocks element. - - References a Page.paragraphs element. - - References a Page.lines element. - - References a Page.tokens element. - - References a Page.visual_elements element. - - Refrrences a Page.tables element. - - References a Page.form_fields element. - description: >- - Optional. The type of the layout element that is being referenced if - any. + - Unspecified state. + - Operation is still running. + - Operation is being cancelled. + - Operation succeeded. + - Operation failed. + - Operation is cancelled. type: string enum: - - LAYOUT_TYPE_UNSPECIFIED - - BLOCK - - PARAGRAPH - - LINE - - TOKEN - - VISUAL_ELEMENT - - TABLE - - FORM_FIELD - confidence: - format: float + - STATE_UNSPECIFIED + - RUNNING + - CANCELLING + - SUCCEEDED + - FAILED + - CANCELLED + stateMessage: + type: string description: >- - Optional. Confidence of detected page element, if applicable. Range - `[0, 1]`. - type: number - page: - format: int64 + A message providing more details about the current state of + processing. + description: The common metadata for long running operations. + GoogleCloudDocumentaiV1RawDocument: + properties: + mimeType: description: >- - Required. Index into the Document.pages element, for example using - `Document.pages` to locate the related page element. This field is - skipped when its value is the default `0`. See - https://developers.google.com/protocol-buffers/docs/proto3#json. + An IANA MIME type (RFC6838) indicating the nature and format of the + content. type: string - layoutId: + content: type: string - description: Optional. Deprecated. Use PageRef.bounding_poly instead. - deprecated: true - boundingPoly: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1BoundingPoly' - description: >- - Optional. Identifies the bounding polygon of a layout element on the - page. If `layout_type` is set, the bounding polygon must be exactly - the same to the layout element it's referring to. - id: GoogleCloudDocumentaiV1DocumentPageAnchorPageRef - description: Represents a weak reference to a page element within a document. - GoogleTypeColor: - properties: - blue: - format: float - type: number - description: The amount of blue in the color as a value in the interval [0, 1]. - red: - type: number - description: The amount of red in the color as a value in the interval [0, 1]. - format: float - alpha: + format: byte + description: Inline document content. + displayName: description: >- - The fraction of this color that should be applied to the pixel. That - is, the final pixel color is defined by the equation: `pixel color = - alpha * (this color) + (1.0 - alpha) * (background color)` This - means that a value of 1.0 corresponds to a solid color, whereas a - value of 0.0 corresponds to a completely transparent color. This - uses a wrapper message rather than a simple float scalar so that it - is possible to distinguish between a default value and the value - being unset. If omitted, this color object is rendered as a solid - color (as if the alpha value had been explicitly given a value of - 1.0). - type: number - format: float - green: - format: float - type: number - description: The amount of green in the color as a value in the interval [0, 1]. - type: object - id: GoogleTypeColor - description: >- - Represents a color in the RGBA color space. This representation is - designed for simplicity of conversion to and from color representations - in various languages over compactness. For example, the fields of this - representation can be trivially provided to the constructor of - `java.awt.Color` in Java; it can also be trivially provided to UIColor's - `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little - work, it can be easily formatted into a CSS `rgba()` string in - JavaScript. This reference page doesn't have information about the - absolute color space that should be used to interpret the RGB value—for - example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications - should assume the sRGB color space. When color equality needs to be - decided, implementations, unless documented otherwise, treat two colors - as equal if all their red, green, blue, and alpha values each differ by - at most `1e-5`. Example (Java): import com.google.type.Color; // ... - public static java.awt.Color fromProto(Color protocolor) { float alpha = - protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return - new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), - protocolor.getBlue(), alpha); } public static Color - toProto(java.awt.Color color) { float red = (float) color.getRed(); - float green = (float) color.getGreen(); float blue = (float) - color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder - = Color .newBuilder() .setRed(red / denominator) .setGreen(green / - denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); - if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() - .setValue(((float) alpha) / denominator) .build()); } return - resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static - UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; - float green = [protocolor green]; float blue = [protocolor blue]; - FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if - (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return - [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static - Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if - (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return - nil; } Color* result = [[Color alloc] init]; [result setRed:red]; - [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { - [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; - return result; } // ... Example (JavaScript): // ... var protoToCssColor - = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var - greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || - 0.0; var red = Math.floor(redFrac * 255); var green = - Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if - (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } - var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, - green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, - ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var - rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString - = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var - resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { - resultBuilder.push('0'); } resultBuilder.push(hexString); return - resultBuilder.join(''); }; // ... - GoogleCloudDocumentaiV1ListProcessorVersionsResponse: - type: object - id: GoogleCloudDocumentaiV1ListProcessorVersionsResponse - description: Response message for the ListProcessorVersions method. - properties: - processorVersions: - type: array - description: The list of processors. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersion' - nextPageToken: + The display name of the document, it supports all Unicode characters + except the following: `*`, `?`, `[`, `]`, `%`, `{`, `}`,`'`, `\"`, + `,` `~`, `=` and `:` are reserved. If not specified, a default ID is + generated. type: string - description: Points to the next processor, otherwise empty. - GoogleCloudDocumentaiV1EvaluationMetrics: - id: GoogleCloudDocumentaiV1EvaluationMetrics - description: Evaluation metrics, either in aggregate or about a specific entity. type: object - properties: - f1Score: - format: float - description: The calculated f1 score. - type: number - groundTruthOccurrencesCount: - description: The amount of occurrences in ground truth documents. - type: integer - format: int32 - totalDocumentsCount: - description: The amount of documents that had an occurrence of this label. + description: Payload message of raw document content (bytes). + id: GoogleCloudDocumentaiV1RawDocument + GoogleCloudDocumentaiV1Vertex: + id: GoogleCloudDocumentaiV1Vertex + properties: + x: format: int32 + description: X coordinate. type: integer - predictedOccurrencesCount: - description: The amount of occurrences in predicted documents. - type: integer - format: int32 - predictedDocumentCount: - description: The amount of documents with a predicted occurrence. + 'y': format: int32 type: integer - groundTruthDocumentCount: - description: The amount of documents with a ground truth occurrence. - type: integer - format: int32 - falsePositivesCount: - description: The amount of false positives. + description: Y coordinate (starts from the top of the image). + description: >- + A vertex represents a 2D point in the image. NOTE: the vertex + coordinates are in the same scale as the original image. + type: object + GoogleRpcStatus: + properties: + details: + type: array + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + code: format: int32 type: integer - precision: - type: number - description: The calculated precision. - format: float - recall: - format: float - description: The calculated recall. - type: number - falseNegativesCount: - description: The amount of false negatives. - format: int32 + description: The status code, which should be an enum value of google.rpc.Code. + id: GoogleRpcStatus + description: >- + 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). + type: object + GoogleCloudDocumentaiV1ProcessOptions: + type: object + properties: + individualPageSelector: + description: Which pages to process (1-indexed). + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessOptionsIndividualPageSelector + layoutConfig: + description: >- + Optional. Only applicable to `LAYOUT_PARSER_PROCESSOR`. Returns + error if set on other processor types. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig + ocrConfig: + description: >- + Only applicable to `OCR_PROCESSOR` and `FORM_PARSER_PROCESSOR`. + Returns error if set on other processor types. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1OcrConfig' + schemaOverride: + description: >- + Optional. Override the schema of the ProcessorVersion. Will return + an Invalid Argument error if this field is set when the underlying + ProcessorVersion doesn't support schema override. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' + fromStart: type: integer - truePositivesCount: + description: >- + Only process certain pages from the start. Process all if the + document has fewer pages. + format: int32 + fromEnd: + description: Only process certain pages from the end, same as above. type: integer - description: The amount of true positives. format: int32 - GoogleCloudDocumentaiV1TrainProcessorVersionResponse: - id: GoogleCloudDocumentaiV1TrainProcessorVersionResponse + description: Options for Process API + id: GoogleCloudDocumentaiV1ProcessOptions + GoogleCloudDocumentaiV1beta3ImportDocumentsResponse: + properties: {} type: object + description: Response of the import document operation. + id: GoogleCloudDocumentaiV1beta3ImportDocumentsResponse + GoogleCloudDocumentaiV1DocumentPageVisualElement: properties: - processorVersion: - description: The resource name of the processor version produced by training. - type: string - description: The response for TrainProcessorVersion. - GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics: - properties: - metricsType: + type: type: string - enum: - - METRICS_TYPE_UNSPECIFIED - - AGGREGATE - enumDescriptions: - - >- - The metrics type is unspecified. By default, metrics without a - particular specification are for leaf entity types (i.e., - top-level entity types without child types, or child types which - are not parent types themselves). - - >- - Indicates whether metrics for this particular label type represent - an aggregate of metrics for other types instead of being based on - actual TP/FP/FN values for the label type. Metrics for parent - (i.e., non-leaf) entity types are an aggregate of metrics for - their children. - description: The metrics type for the label. - estimatedCalibrationError: - format: float - description: >- - The Estimated Calibration Error (ECE) of the confidence of the - predicted entities. - type: number - estimatedCalibrationErrorExact: - type: number - description: >- - The ECE for the predicted entities with fuzzy matching disabled, - i.e., exact matching only. - format: float - confidenceLevelMetricsExact: - description: Metrics across confidence levels with only exact matching. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics - type: array - confidenceLevelMetrics: + description: Type of the VisualElement. + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for VisualElement. + detectedLanguages: type: array - description: Metrics across confidence levels with fuzzy matching enabled. + description: A list of detected languages together with confidence. items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics - auprcExact: - format: float - type: number + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + id: GoogleCloudDocumentaiV1DocumentPageVisualElement + type: object + description: >- + Detected non-text visual elements e.g. checkbox, signature etc. on the + page. + GoogleLongrunningOperation: + id: GoogleLongrunningOperation + description: >- + This resource represents a long-running operation that is the result of + a network API call. + properties: + metadata: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object description: >- - The AUPRC for metrics with fuzzy matching disabled, i.e., exact - matching only. - auprc: + 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. + done: + type: boolean description: >- - The calculated area under the precision recall curve (AUPRC), - computed by integrating over all confidence thresholds. - type: number - format: float - id: GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics - description: Metrics across multiple confidence levels. - type: object - GoogleCloudDocumentaiV1beta3DocumentId: - id: GoogleCloudDocumentaiV1beta3DocumentId + 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. + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + The error result of the operation in case of failure or + cancellation. + name: + description: >- + 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}`. + type: string + response: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + 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`. type: object + GoogleCloudDocumentaiV1beta3ReviewDocumentOperationMetadata: properties: - gcsManagedDocId: - description: A document id within user-managed Cloud Storage. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3DocumentIdGCSManagedDocumentId - revisionRef: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1beta3RevisionRef' - description: Points to a specific revision of the document if set. - unmanagedDocId: + updateTime: + description: The last update time of the operation. + format: google-datetime + type: string + questionId: + description: The Crowd Compute question ID. + type: string + commonMetadata: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3DocumentIdUnmanagedDocumentId - description: A document id within unmanaged dataset. - description: Document Identifier. - GoogleCloudDocumentaiV1beta3ReviewDocumentResponse: - id: GoogleCloudDocumentaiV1beta3ReviewDocumentResponse - properties: - gcsDestination: - description: >- - The Cloud Storage uri for the human reviewed document if the review - is succeeded. + #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + createTime: + type: string + format: google-datetime + description: The creation time of the operation. + stateMessage: type: string + description: >- + A message providing more details about the current state of + processing. For example, the error message if the operation is + failed. state: + enumDescriptions: + - Unspecified state. + - Operation is still running. + - Operation is being cancelled. + - Operation succeeded. + - Operation failed. + - Operation is cancelled. enum: - STATE_UNSPECIFIED - - REJECTED + - RUNNING + - CANCELLING - SUCCEEDED - description: The state of the review operation. - type: string - enumDescriptions: - - The default value. This value is used if the state is omitted. - - The review operation is rejected by the reviewer. - - The review operation is succeeded. - rejectionReason: - description: The reason why the review is rejected by reviewer. + - FAILED + - CANCELLED type: string - description: Response message for the ReviewDocument method. + description: Used only when Operation.done is false. type: object - GoogleCloudDocumentaiV1EvaluationCounters: - id: GoogleCloudDocumentaiV1EvaluationCounters + id: GoogleCloudDocumentaiV1beta3ReviewDocumentOperationMetadata + description: The long-running operation metadata for the ReviewDocument method. + GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsResponse: + id: GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsResponse + type: object + properties: {} + description: The response proto of AutoLabelDocuments method. + GoogleCloudDocumentaiV1EvaluationMetrics: + description: Evaluation metrics, either in aggregate or about a specific entity. properties: - failedDocumentsCount: + precision: + format: float + description: The calculated precision. + type: number + groundTruthOccurrencesCount: + type: integer + description: The amount of occurrences in ground truth documents. + format: int32 + f1Score: + format: float + type: number + description: The calculated f1 score. + recall: + description: The calculated recall. + format: float + type: number + truePositivesCount: + description: The amount of true positives. format: int32 - description: >- - How many documents were not included in the evaluation as Document - AI failed to process them. type: integer - evaluatedDocumentsCount: + falsePositivesCount: + description: The amount of false positives. type: integer - description: How many documents were used in the evaluation. format: int32 - inputDocumentsCount: + predictedOccurrencesCount: + type: integer + description: The amount of occurrences in predicted documents. format: int32 + predictedDocumentCount: type: integer - description: How many documents were sent for evaluation. - invalidDocumentsCount: - description: >- - How many documents were not included in the evaluation as they - didn't pass validation. + description: The amount of documents with a predicted occurrence. + format: int32 + falseNegativesCount: + type: integer + description: The amount of false negatives. + format: int32 + groundTruthDocumentCount: type: integer + description: The amount of documents with a ground truth occurrence. format: int32 + totalDocumentsCount: + type: integer + format: int32 + description: The amount of documents that had an occurrence of this label. + id: GoogleCloudDocumentaiV1EvaluationMetrics type: object - description: Evaluation counters for the documents that were used. - GoogleCloudDocumentaiV1EnableProcessorMetadata: - properties: - commonMetadata: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' - description: The basic metadata of the long-running operation. - id: GoogleCloudDocumentaiV1EnableProcessorMetadata - type: object - description: The long-running operation metadata for the EnableProcessor method. - GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect: - description: Image Quality Defects + GoogleCloudDocumentaiV1DocumentProvenance: + id: GoogleCloudDocumentaiV1DocumentProvenance properties: + parents: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentProvenanceParent + description: References to the original elements that are replaced. type: - description: >- - Name of the defect type. Supported values are: - - `quality/defect_blurry` - `quality/defect_noisy` - - `quality/defect_dark` - `quality/defect_faint` - - `quality/defect_text_too_small` - `quality/defect_document_cutoff` - - `quality/defect_text_cutoff` - `quality/defect_glare` - type: string - confidence: - format: float - description: >- - Confidence of detected defect. Range `[0, 1]` where `1` indicates - strong confidence that the defect exists. - type: number - type: object - id: GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect - GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionResponse: - type: object - id: GoogleCloudDocumentaiUiv1beta3DeployProcessorVersionResponse - properties: {} - description: Response message for the DeployProcessorVersion method. - GoogleCloudDocumentaiUiv1beta3ImportDocumentsResponse: - type: object - id: GoogleCloudDocumentaiUiv1beta3ImportDocumentsResponse - properties: {} - description: Response of the import document operation. - GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse: - id: GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse - description: Response message for the SetDefaultProcessorVersion method. - properties: {} - type: object - GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoCustomGenAiModelInfo: - properties: - baseProcessorVersionId: type: string - description: The base processor version ID for the custom model. - customModelType: - enumDescriptions: - - The model type is unspecified. - - The model is a versioned foundation model. - - The model is a finetuned foundation model. - description: The type of custom model created by the user. enum: - - CUSTOM_MODEL_TYPE_UNSPECIFIED - - VERSIONED_FOUNDATION - - FINE_TUNED - type: string - id: >- - GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoCustomGenAiModelInfo - description: >- - Information for a custom Generative AI model created by the user. These - are created with `Create New Version` in either the `Call foundation - model` or `Fine tuning` tabs. - type: object - GoogleCloudDocumentaiV1DocumentStyle: - id: GoogleCloudDocumentaiV1DocumentStyle - description: >- - Annotation for common text style attributes. This adheres to CSS - conventions as much as possible. - type: object - properties: - textDecoration: - type: string - description: >- - [Text - decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). - Follows CSS standard. - fontSize: - description: Font size. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentStyleFontSize' - backgroundColor: - description: Text background color. - $ref: '#/components/schemas/GoogleTypeColor' - textStyle: - type: string - description: >- - [Text - style](https://www.w3schools.com/cssref/pr_font_font-style.asp). - Possible values are `normal`, `italic`, and `oblique`. - fontWeight: - description: >- - [Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). - Possible values are `normal`, `bold`, `bolder`, and `lighter`. - type: string - textAnchor: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - description: Text anchor indexing into the Document.text. - fontFamily: - type: string - description: >- - Font family such as `Arial`, `Times New Roman`. - https://www.w3schools.com/cssref/pr_font_font-family.asp - color: - $ref: '#/components/schemas/GoogleTypeColor' - description: Text color. - GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionResponse: - description: Response message associated with the ExportProcessorVersion operation. - id: GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionResponse - properties: - gcsUri: - type: string - description: The Cloud Storage URI containing the output artifacts. - type: object - GoogleCloudDocumentaiV1ListEvaluationsResponse: - type: object - properties: - nextPageToken: - type: string + - OPERATION_TYPE_UNSPECIFIED + - ADD + - REMOVE + - UPDATE + - REPLACE + - EVAL_REQUESTED + - EVAL_APPROVED + - EVAL_SKIPPED + enumDescriptions: + - >- + Operation type unspecified. If no operation is specified a + provenance entry is simply used to match against a `parent`. + - Add an element. + - Remove an element identified by `parent`. + - >- + Updates any fields within the given provenance scope of the + message. It overwrites the fields rather than replacing them. Use + this when you want to update a field value of an entity without + also updating all the child properties. + - Currently unused. Replace an element identified by `parent`. + - >- + Deprecated. Request human review for the element identified by + `parent`. + - >- + Deprecated. Element is reviewed and approved at human review, + confidence will be set to 1.0. + - Deprecated. Element is skipped in the validation process. + enumDeprecated: + - false + - false + - false + - false + - false + - true + - true + - true + description: The type of provenance operation. + revision: + type: integer + deprecated: true + description: The index of the revision that produced this element. + format: int32 + id: + deprecated: true + type: integer + format: int32 description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - evaluations: - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Evaluation' - description: The evaluations requested. - type: array - id: GoogleCloudDocumentaiV1ListEvaluationsResponse - description: The response from `ListEvaluations`. - GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat: + The Id of this operation. Needs to be unique within the scope of the + revision. + description: >- + Structure to identify provenance relationships between annotations in + different revisions. type: object - description: The statistic representing a dataset split type for this export. + GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig: + id: GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig properties: - totalDocumentCount: - type: integer + includeAncestorHeadings: description: >- - Total number of documents with the given dataset split type to be - exported. + Optional. Whether or not to include ancestor headings when + splitting. + type: boolean + chunkSize: + type: integer format: int32 - splitType: + description: >- + Optional. The chunk sizes to use when splitting documents, in order + of level. + type: object + description: Serving config for chunking. + GoogleCloudDocumentaiV1beta3Dataset: + properties: + state: + description: Required. State of the dataset. Ignored when updating dataset. + enum: + - STATE_UNSPECIFIED + - UNINITIALIZED + - INITIALIZING + - INITIALIZED enumDescriptions: - - Default value if the enum is not set. - - Identifies the train documents. - - Identifies the test documents. - - Identifies the unassigned documents. + - Default unspecified enum, should not be used. + - Dataset has not been initialized. + - Dataset is being initialized. + - Dataset has been initialized. type: string - enum: - - DATASET_SPLIT_TYPE_UNSPECIFIED - - DATASET_SPLIT_TRAIN - - DATASET_SPLIT_TEST - - DATASET_SPLIT_UNASSIGNED - description: The dataset split type. - id: GoogleCloudDocumentaiUiv1beta3ExportDocumentsMetadataSplitExportStat - GoogleCloudDocumentaiV1NormalizedVertex: - id: GoogleCloudDocumentaiV1NormalizedVertex + gcsManagedConfig: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetGCSManagedConfig + description: >- + Optional. User-managed Cloud Storage dataset configuration. Use this + configuration if the dataset documents are stored under a + user-managed Cloud Storage location. + unmanagedDatasetConfig: + description: >- + Optional. Unmanaged dataset configuration. Use this configuration if + the dataset documents are managed by the document service internally + (not user-managed). + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig + name: + type: string + description: >- + Dataset resource name. Format: + `projects/{project}/locations/{location}/processors/{processor}/dataset` + documentWarehouseConfig: + deprecated: true + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetDocumentWarehouseConfig + description: >- + Optional. Deprecated. Warehouse-based dataset configuration is not + supported. + spannerIndexingConfig: + description: >- + Optional. A lightweight indexing source with low latency and high + reliability, but lacking advanced features like CMEK and + content-based search. + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig + satisfiesPzi: + type: boolean + readOnly: true + description: Output only. Reserved for future use. + satisfiesPzs: + type: boolean + description: Output only. Reserved for future use. + readOnly: true + id: GoogleCloudDocumentaiV1beta3Dataset description: >- - A vertex represents a 2D point in the image. NOTE: the normalized vertex - coordinates are relative to the original image and range from 0 to 1. + A singleton resource under a Processor which configures a collection of + documents. + type: object + GoogleCloudDocumentaiV1DeployProcessorVersionResponse: + id: GoogleCloudDocumentaiV1DeployProcessorVersionResponse + description: Response message for the DeployProcessorVersion method. + type: object + properties: {} + GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument: type: object - properties: - 'y': - type: number - format: float - description: Y coordinate (starts from the top of the image). - x: - format: float - type: number - description: X coordinate. - GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus: properties: documentId: - description: The document id of the document. - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' - status: - $ref: '#/components/schemas/GoogleRpcStatus' - description: The status of moving the document. - description: The status of each individual document in the batch move process. - type: object - id: >- - GoogleCloudDocumentaiUiv1beta3BatchMoveDocumentsMetadataIndividualBatchMoveStatus - GoogleCloudDocumentaiV1BatchProcessRequest: + type: string + description: An internal identifier for document. + id: GoogleCloudDocumentaiUiv1beta3SampleDocumentsResponseSelectedDocument + GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadata: properties: - processOptions: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessOptions' - description: Inference-time options for the process API - inputDocuments: - description: The input documents for the BatchProcessDocuments method. + commonMetadata: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig - documentOutputConfig: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentOutputConfig' - description: The output configuration for the BatchProcessDocuments method. - labels: - description: >- - Optional. The labels with user-defined metadata for the request. - Label keys and values can be no longer than 63 characters (Unicode - codepoints) and can only contain lowercase letters, numeric - characters, underscores, and dashes. International characters are - allowed. Label values are optional. Label keys must start with a - letter. - additionalProperties: - type: string - type: object - skipHumanReview: - type: boolean - description: >- - Whether human review should be skipped for this request. Default to - `false`. - description: Request message for BatchProcessDocuments. + #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. + individualBatchUpdateStatuses: + description: The list of response details of each document. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus + id: GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadata type: object - id: GoogleCloudDocumentaiV1BatchProcessRequest - GoogleCloudDocumentaiV1beta3ImportProcessorVersionResponse: - description: The response message for the ImportProcessorVersion method. + GoogleCloudDocumentaiV1DocumentPageImageQualityScores: + id: GoogleCloudDocumentaiV1DocumentPageImageQualityScores type: object properties: - processorVersion: - description: The destination processor version name. - type: string - id: GoogleCloudDocumentaiV1beta3ImportProcessorVersionResponse - GoogleCloudDocumentaiV1DocumentEntity: + qualityScore: + description: >- + The overall quality score. Range `[0, 1]` where `1` is perfect + quality. + type: number + format: float + detectedDefects: + type: array + description: A list of detected defects. + items: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect + description: Image quality scores for the page image. + GoogleCloudDocumentaiV1DocumentRevision: + description: Contains past or forward revisions of this document. + type: object + id: GoogleCloudDocumentaiV1DocumentRevision properties: - mentionId: + id: type: string - description: Optional. Deprecated. Use `id` field instead. - normalizedValue: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentEntityNormalizedValue description: >- - Optional. Normalized entity value. Absent if the extracted value - could not be converted or the type (e.g. address) is not supported - for certain parsers. This field is also only populated for certain - supported document types. - redacted: - type: boolean + Id of the revision, internally generated by doc proto storage. + Unique within the context of the document. + createTime: + format: google-datetime description: >- - Optional. Whether the entity will be redacted for de-identification - purposes. - provenance: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' - description: Optional. The history of this annotation. - confidence: - description: Optional. Confidence of detected Schema entity. Range `[0, 1]`. - format: float - type: number - textAnchor: + The time that the revision was created, internally generated by doc + proto storage at the time of create. + type: string + agent: description: >- - Optional. Provenance of the entity. Text anchor indexing into the - Document.text. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchor' - type: + If the change was made by a person specify the name or id of that + person. type: string - description: Required. Entity type from a schema e.g. `Address`. - mentionText: - description: Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + processor: type: string - pageAnchor: description: >- - Optional. Represents the provenance of this entity wrt. the location - on the page where it was found. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageAnchor' - properties: + If the annotation was made by processor identify the processor by + its resource name. + humanReview: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DocumentRevisionHumanReview + description: Human Review information of this revision. + parentIds: + items: + type: string + description: >- + The revisions that this revision is based on. Must include all the + ids that have anything to do with this revision - eg. there are + `provenance.parent.revision` fields that index into this field. + type: array + parent: + items: + format: int32 + type: integer + description: >- + The revisions that this revision is based on. This can include one + or more parent (when documents are merged.) This field represents + the index into the `revisions` field. type: array + deprecated: true + GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus: + description: The status of each individual document in the import process. + id: >- + GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus + properties: + status: + description: The status of the importing of the document. + $ref: '#/components/schemas/GoogleRpcStatus' + outputGcsDestination: description: >- - Optional. Entities can be nested to form a hierarchical data - structure representing the content in the document. - items: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentEntity' - id: + The output_gcs_destination of the processed document if it was + successful, otherwise empty. + type: string + inputGcsSource: type: string + description: The source Cloud Storage URI of the document. + outputDocumentId: description: >- - Optional. Canonical id. This will be a unique value in the entity - list for this document. - type: object - id: GoogleCloudDocumentaiV1DocumentEntity - description: >- - An entity that could be a phrase in the text or a property that belongs - to the document. It is a known entity type, such as a person, an - organization, or location. - GoogleCloudDocumentaiV1DocumentTextAnchor: + The document id of imported document if it was successful, otherwise + empty. + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' type: object - description: Text reference indexing into the Document.text. - id: GoogleCloudDocumentaiV1DocumentTextAnchor + GoogleCloudDocumentaiV1DocumentPageDetectedLanguage: properties: - content: + confidence: + description: Confidence of detected language. Range `[0, 1]`. + format: float + type: number + languageCode: type: string description: >- - Contains the content of the text span so that users do not have to - look it up in the text_segments. It is always populated for - formFields. - textSegments: - description: The text segments from the Document.text. + The [BCP-47 language + code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), + such as `en-US` or `sr-Latn`. + type: object + id: GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: Detected language for a structural component. + GoogleCloudDocumentaiV1DocumentPageParagraph: + type: object + properties: + layout: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' + description: Layout for Paragraph. + detectedLanguages: + type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment - type: array - GoogleCloudDocumentaiV1TrainProcessorVersionRequestInputData: - description: The input data used to train a new ProcessorVersion. + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + description: A list of detected languages together with confidence. + provenance: + description: The history of this annotation. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentProvenance' + deprecated: true + description: A collection of lines that a human would perceive as a paragraph. + id: GoogleCloudDocumentaiV1DocumentPageParagraph + GoogleCloudDocumentaiV1OcrConfigHints: type: object - id: GoogleCloudDocumentaiV1TrainProcessorVersionRequestInputData + id: GoogleCloudDocumentaiV1OcrConfigHints + description: Hints for OCR Engine properties: - testDocuments: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig - description: The documents used for testing the trained version. - trainingDocuments: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1BatchDocumentsInputConfig - description: The documents used for training the new version. - GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadata: + languageHints: + items: + type: string + description: >- + List of BCP-47 language codes to use for OCR. In most cases, not + specifying it yields the best results since it enables automatic + language detection. For languages based on the Latin alphabet, + setting hints is not needed. In rare cases, when the language of the + text in the image is known, setting a hint will help get better + results (although it will be a significant hindrance if the hint is + wrong). + type: array + GoogleCloudDocumentaiUiv1beta3DeleteLabelerPoolOperationMetadata: + id: GoogleCloudDocumentaiUiv1beta3DeleteLabelerPoolOperationMetadata + description: The long-running operation metadata for DeleteLabelerPool. type: object properties: - trainingDatasetValidation: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation - description: The training dataset validation information. commonMetadata: - description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - testDatasetValidation: - description: The test dataset validation information. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadataDatasetValidation - id: GoogleCloudDocumentaiUiv1beta3TrainProcessorVersionMetadata - description: The metadata that represents a processor version being created. - GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse: - id: GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse - description: Response message for the SetDefaultProcessorVersion method. - properties: {} + description: The basic metadata of the long-running operation. + GoogleCloudDocumentaiV1DeleteProcessorVersionMetadata: type: object - GoogleCloudDocumentaiV1DeployProcessorVersionMetadata: - description: >- - The long-running operation metadata for the DeployProcessorVersion - method. - id: GoogleCloudDocumentaiV1DeployProcessorVersionMetadata properties: commonMetadata: - description: The basic metadata of the long-running operation. $ref: '#/components/schemas/GoogleCloudDocumentaiV1CommonOperationMetadata' + description: The basic metadata of the long-running operation. + id: GoogleCloudDocumentaiV1DeleteProcessorVersionMetadata + description: >- + The long-running operation metadata for the DeleteProcessorVersion + method. + GoogleCloudDocumentaiV1DocumentRevisionHumanReview: + description: Human Review information of the document. type: object - GoogleCloudDocumentaiV1OcrConfigPremiumFeatures: - type: object - description: Configurations for premium OCR features. - id: GoogleCloudDocumentaiV1OcrConfigPremiumFeatures + id: GoogleCloudDocumentaiV1DocumentRevisionHumanReview properties: - enableSelectionMarkDetection: + stateMessage: + type: string description: >- - Turn on selection mark detector in OCR engine. Only available in OCR - 2.0 (and later) processors. - type: boolean - enableMathOcr: - type: boolean - description: Turn on the model that can extract LaTeX math formulas. - computeStyleInfo: - type: boolean - description: Turn on font identification model and return font style information. - GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionMetadata: - properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The common metadata about the operation. - type: object - description: Metadata message associated with the ExportProcessorVersion operation. - id: GoogleCloudDocumentaiUiv1beta3ExportProcessorVersionMetadata - GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata: - description: The long-running operation metadata for the EnableProcessor method. + A message providing more details about the current state of + processing. For example, the rejection reason when the state is + `rejected`. + state: + type: string + description: Human review state. e.g. `requested`, `succeeded`, `rejected`. + GoogleCloudDocumentaiV1DocumentPageTableTableRow: type: object - id: GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata - properties: - commonMetadata: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata - description: The basic metadata of the long-running operation. - GoogleCloudDocumentaiV1ProcessorType: + description: A row of table cells. + id: GoogleCloudDocumentaiV1DocumentPageTableTableRow properties: - type: - type: string - description: 'The processor type, such as: `OCR_PROCESSOR`, `INVOICE_PROCESSOR`.' - category: - type: string - description: The processor category, used by UI to group processor types. - availableLocations: - description: The locations in which this processor is available. + cells: type: array items: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ProcessorTypeLocationInfo - name: - description: >- - The resource name of the processor type. Format: - `projects/{project}/processorTypes/{processor_type}` - type: string - allowCreation: - type: boolean - description: >- - Whether the processor type allows creation. If true, users can - create a processor of this processor type. Otherwise, users need to - request access. - sampleDocumentUris: - description: A set of Cloud Storage URIs of sample documents for this processor. - items: - type: string - type: array - launchStage: - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible - ways, and are not guaranteed to be released. - - >- - Alpha is a limited availability test for releases before they are - cleared for widespread use. By Alpha, all significant design - issues are resolved and we are in the process of verifying - functionality. Alpha customers need to apply for access, agree to - applicable terms, and have their projects allowlisted. Alpha - releases don't have to be feature complete, no SLAs are provided, - and there are no technical support obligations, but they will be - far enough along that customers can actually use them in test - environments or for limited-use tests -- just like they would in - normal production cases. - - >- - Beta is the point at which we are ready to open a release for any - customer to use. There are no SLA or technical support obligations - in a Beta release. Products will be complete from a feature - perspective, but may have some open outstanding issues. Beta - releases are suitable for limited production use cases. - - >- - GA features are open to all developers and are considered stable - and fully qualified for production use. - - >- - Deprecated features are scheduled to be shut down and removed. For - more information, see the "Deprecation Policy" section of our - [Terms of Service](https://cloud.google.com/terms/) and the - [Google Cloud Platform Subject to the Deprecation - Policy](https://cloud.google.com/terms/deprecation) documentation. + #/components/schemas/GoogleCloudDocumentaiV1DocumentPageTableTableCell + description: Cells that make up this row. + GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult: + id: >- + GoogleCloudDocumentaiV1beta3ImportDocumentsMetadataImportConfigValidationResult + description: >- + The validation status of each import config. Status is set to an error + if there are no documents to import in the `import_config`, or `OK` if + the operation will try to proceed with at least one document. + properties: + inputGcsSource: type: string - description: Launch stage of the processor type - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED + description: The source Cloud Storage URI specified in the import config. + status: + $ref: '#/components/schemas/GoogleRpcStatus' + description: The validation status of import config. type: object - id: GoogleCloudDocumentaiV1ProcessorType + GoogleCloudDocumentaiV1beta3DisableProcessorResponse: description: >- - A processor type is responsible for performing a certain document - understanding task on a certain type of document. - GoogleCloudDocumentaiUiv1beta3DeleteLabelerPoolOperationMetadata: - description: The long-running operation metadata for DeleteLabelerPool. - id: GoogleCloudDocumentaiUiv1beta3DeleteLabelerPoolOperationMetadata + Response message for the DisableProcessor method. Intentionally empty + proto for adding fields in future. + id: GoogleCloudDocumentaiV1beta3DisableProcessorResponse + properties: {} + type: object + GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata: + description: The long-running operation metadata for the EnableProcessor method. properties: commonMetadata: - description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata + description: The basic metadata of the long-running operation. type: object - GoogleCloudDocumentaiV1beta3UpdateDatasetOperationMetadata: + id: GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata + GoogleCloudDocumentaiV1ReviewDocumentRequest: + description: Request message for the ReviewDocument method. + properties: + enableSchemaValidation: + description: >- + Whether the validation should be performed on the ad-hoc review + request. + type: boolean + inlineDocument: + description: An inline document proto. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Document' + priority: + enum: + - DEFAULT + - URGENT + description: The priority of the human review task. + type: string + enumDescriptions: + - The default priority level. + - >- + The urgent priority level. The labeling manager should allocate + labeler resource to the urgent task queue to respect this priority + level. + documentSchema: + description: The document schema of the human review task. + $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentSchema' + type: object + id: GoogleCloudDocumentaiV1ReviewDocumentRequest + GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus: + id: >- + GoogleCloudDocumentaiUiv1beta3BatchUpdateDocumentsMetadataIndividualBatchUpdateStatus + type: object + description: The status of each individual document in the batch update process. + properties: + documentId: + description: The document id of the document. + $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentId' + status: + description: The status of updating the document in storage. + $ref: '#/components/schemas/GoogleRpcStatus' + GoogleCloudDocumentaiV1DeployProcessorVersionRequest: + id: GoogleCloudDocumentaiV1DeployProcessorVersionRequest + description: Request message for the DeployProcessorVersion method. type: object + properties: {} + GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata: + type: object + description: >- + The long-running operation metadata for the SetDefaultProcessorVersion + method. + id: GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata properties: commonMetadata: description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - id: GoogleCloudDocumentaiV1beta3UpdateDatasetOperationMetadata - GoogleCloudDocumentaiV1OcrConfigHints: - id: GoogleCloudDocumentaiV1OcrConfigHints - properties: - languageHints: - items: - type: string - description: >- - List of BCP-47 language codes to use for OCR. In most cases, not - specifying it yields the best results since it enables automatic - language detection. For languages based on the Latin alphabet, - setting hints is not needed. In rare cases, when the language of the - text in the image is known, setting a hint will help get better - results (although it will be a significant hindrance if the hint is - wrong). - type: array - description: Hints for OCR Engine + GoogleCloudDocumentaiV1DocumentStyleFontSize: + description: Font size with unit. type: object - GoogleCloudDocumentaiUiv1beta3DocumentId: properties: - unmanagedDocId: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentIdUnmanagedDocumentId - description: A document id within unmanaged dataset. - gcsManagedDocId: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId - description: A document id within user-managed Cloud Storage. - revisionRef: - $ref: '#/components/schemas/GoogleCloudDocumentaiUiv1beta3RevisionRef' - description: Points to a specific revision of the document if set. - id: GoogleCloudDocumentaiUiv1beta3DocumentId - type: object - description: Document Identifier. - GoogleCloudDocumentaiV1DocumentPageTableTableCell: + unit: + type: string + description: >- + Unit for the font size. Follows CSS naming (such as `in`, `px`, and + `pt`). + size: + description: Font size for the text. + type: number + format: float + id: GoogleCloudDocumentaiV1DocumentStyleFontSize + GoogleCloudDocumentaiUiv1beta3ImportDocumentsResponse: + description: Response of the import document operation. type: object - id: GoogleCloudDocumentaiV1DocumentPageTableTableCell - description: A cell representation inside the table. - properties: - detectedLanguages: - description: A list of detected languages together with confidence. - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - type: array - colSpan: - format: int32 - description: How many columns this cell spans. - type: integer - rowSpan: - description: How many rows this cell spans. - format: int32 - type: integer - layout: - description: Layout for TableCell. - $ref: '#/components/schemas/GoogleCloudDocumentaiV1DocumentPageLayout' - GoogleProtobufEmpty: - id: GoogleProtobufEmpty + properties: {} + id: GoogleCloudDocumentaiUiv1beta3ImportDocumentsResponse + GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsResponse: properties: {} type: object - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation: - description: >- - The dataset validation information. This includes any and all errors - with documents and the dataset. - type: object - id: >- - GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation + id: GoogleCloudDocumentaiV1beta3BatchDeleteDocumentsResponse + description: Response of the delete documents operation. + GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata: properties: - datasetErrors: - items: - $ref: '#/components/schemas/GoogleRpcStatus' - type: array - description: >- - Error information for the dataset as a whole. A maximum of 10 - dataset errors will be returned. A single dataset error is terminal - for training. - documentErrors: + stateMessage: + type: string description: >- - Error information pertaining to specific documents. A maximum of 10 - document errors will be returned. Any document with errors will not - be used throughout training. - type: array - items: - $ref: '#/components/schemas/GoogleRpcStatus' - datasetErrorCount: - format: int32 - description: The total number of dataset errors. - type: integer - documentErrorCount: - format: int32 - description: The total number of document errors. - type: integer - GoogleCloudDocumentaiV1DocumentEntityRelation: - id: GoogleCloudDocumentaiV1DocumentEntityRelation - properties: - subjectId: + A message providing more details about the current state of + processing. + updateTime: + format: google-datetime + description: The last update time of the operation. type: string - description: Subject entity id. - objectId: - description: Object entity id. + createTime: type: string - relation: + description: The creation time of the operation. + format: google-datetime + resource: + description: A related resource to this operation. type: string - description: Relationship description. - description: Relationship between Entities. - type: object - GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues: - type: object - description: Defines the a list of enum values. - id: GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues - properties: - values: - description: The individual values that this enum values type can include. - type: array - items: - type: string - GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics: - id: GoogleCloudDocumentaiV1EvaluationConfidenceLevelMetrics - properties: - metrics: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1EvaluationMetrics' - description: The metrics at the specific confidence level. - confidenceLevel: - format: float - description: The confidence level. - type: number - type: object - description: Evaluations metrics, at a specific confidence level. - GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadata: - id: GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadata - description: The metadata that represents a processor version being created. + state: + description: The state of the operation. + enum: + - STATE_UNSPECIFIED + - RUNNING + - CANCELLING + - SUCCEEDED + - FAILED + - CANCELLED + type: string + enumDescriptions: + - Unspecified state. + - Operation is still running. + - Operation is being cancelled. + - Operation succeeded. + - Operation failed. + - Operation is cancelled. + id: GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata type: object + description: The common metadata for long running operations. + GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionMetadata: properties: - trainingDatasetValidation: - description: The training dataset validation information. - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation - testDatasetValidation: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1beta3TrainProcessorVersionMetadataDatasetValidation - description: The test dataset validation information. commonMetadata: description: The basic metadata of the long-running operation. $ref: >- #/components/schemas/GoogleCloudDocumentaiV1beta3CommonOperationMetadata - GoogleCloudDocumentaiV1DocumentProvenance: - description: >- - Structure to identify provenance relationships between annotations in - different revisions. type: object + description: Metadata of the EvaluateProcessorVersion method. + id: GoogleCloudDocumentaiV1beta3EvaluateProcessorVersionMetadata + GoogleCloudDocumentaiV1DocumentPageMatrix: + id: GoogleCloudDocumentaiV1DocumentPageMatrix + description: >- + Representation for transformation matrix, intended to be compatible and + used with OpenCV format for image manipulation. properties: - id: + data: + format: byte + description: The matrix data. + type: string + type: description: >- - The Id of this operation. Needs to be unique within the scope of the - revision. + This encodes information about what data type the matrix uses. For + example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of + OpenCV primitive data types, please refer to + https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html type: integer - deprecated: true format: int32 - revision: - deprecated: true - description: The index of the revision that produced this element. + rows: format: int32 + description: Number of rows in the matrix. type: integer - parents: - description: References to the original elements that are replaced. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DocumentProvenanceParent - type: - type: string - enumDescriptions: - - >- - Operation type unspecified. If no operation is specified a - provenance entry is simply used to match against a `parent`. - - Add an element. - - Remove an element identified by `parent`. - - >- - Updates any fields within the given provenance scope of the - message. It overwrites the fields rather than replacing them. Use - this when you want to update a field value of an entity without - also updating all the child properties. - - Currently unused. Replace an element identified by `parent`. - - >- - Deprecated. Request human review for the element identified by - `parent`. - - >- - Deprecated. Element is reviewed and approved at human review, - confidence will be set to 1.0. - - Deprecated. Element is skipped in the validation process. - enumDeprecated: - - false - - false - - false - - false - - false - - true - - true - - true - enum: - - OPERATION_TYPE_UNSPECIFIED - - ADD - - REMOVE - - UPDATE - - REPLACE - - EVAL_REQUESTED - - EVAL_APPROVED - - EVAL_SKIPPED - description: The type of provenance operation. - id: GoogleCloudDocumentaiV1DocumentProvenance + cols: + description: Number of columns in the matrix. + type: integer + format: int32 + type: object parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: quotaUser + name: prettyPrint schema: - type: string - alt: - description: Data format for response. + type: boolean + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: alt + name: key schema: type: string - enum: - - json - - media - - proto _.xgafv: description: V1 error format. in: query @@ -5091,237 +5087,179 @@ components: enum: - '1' - '2' - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: key + name: upload_protocol schema: type: string - callback: - description: JSONP + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: callback + name: uploadType + schema: + type: string + alt: + description: Data format for response. + in: query + name: alt schema: type: string + enum: + - json + - media + - proto fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + callback: + description: JSONP in: query - name: oauth_token + name: callback schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean access_token: description: OAuth access token. - in: query - name: access_token - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - x-stackQL-resources: - operations: - id: google.documentai.operations - name: operations - title: Operations - methods: - operations_delete: - operation: - $ref: '#/paths/~1v1~1operations~1{operationsId}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_cancel: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_operations_list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.operations - projects_operations_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1operations~1{operationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_operations_list - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_operations_get - insert: [] - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/operations/methods/operations_delete - human_review_config: - id: google.documentai.human_review_config - name: human_review_config - title: Human_review_config - methods: - projects_locations_processors_human_review_config_review_document: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1humanReviewConfig:reviewDocument/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - processor_versions: - id: google.documentai.processor_versions - name: processor_versions - title: Processor_versions + in: query + name: access_token + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + x-stackQL-resources: + operations: + id: google.documentai.operations + name: operations + title: Operations methods: - projects_locations_processors_processor_versions_deploy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:deploy/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_processors_processor_versions_undeploy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:undeploy/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_processors_processor_versions_process: + operations_delete: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:process/post + $ref: '#/paths/~1v1~1operations~1{operationsId}/delete' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_processor_versions_batch_process: + projects_operations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:batchProcess/post + #/paths/~1v1~1projects~1{projectsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_processor_versions_list: + projects_locations_operations_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.processorVersions - projects_locations_processors_processor_versions_train: + objectKey: $.operations + projects_locations_operations_cancel: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions:train/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_processor_versions_evaluate_processor_version: + projects_locations_operations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:evaluateProcessorVersion/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_processor_versions_delete: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_operations_list + insert: [] + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/operations/methods/operations_delete + locations: + id: google.documentai.locations + name: locations + title: Locations + methods: + projects_locations_get: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}/delete + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_processor_versions_get: + projects_locations_list: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.locations sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/processor_versions/methods/projects_locations_processors_processor_versions_get + #/components/x-stackQL-resources/locations/methods/projects_locations_get - $ref: >- - #/components/x-stackQL-resources/processor_versions/methods/projects_locations_processors_processor_versions_list + #/components/x-stackQL-resources/locations/methods/projects_locations_list insert: [] update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/processor_versions/methods/projects_locations_processors_processor_versions_delete - evaluations: - id: google.documentai.evaluations - name: evaluations - title: Evaluations + delete: [] + processor_types: + id: google.documentai.processor_types + name: processor_types + title: Processor_types methods: - projects_locations_processors_processor_versions_evaluations_get: + projects_locations_fetch_processor_types: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}~1evaluations~1{evaluationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:fetchProcessorTypes/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_processor_versions_evaluations_list: + projects_locations_processor_types_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}~1evaluations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processorTypes~1{processorTypesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.evaluations + projects_locations_processor_types_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processorTypes/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.processorTypes sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/evaluations/methods/projects_locations_processors_processor_versions_evaluations_get + #/components/x-stackQL-resources/processor_types/methods/projects_locations_processor_types_get - $ref: >- - #/components/x-stackQL-resources/evaluations/methods/projects_locations_processors_processor_versions_evaluations_list + #/components/x-stackQL-resources/processor_types/methods/projects_locations_fetch_processor_types + - $ref: >- + #/components/x-stackQL-resources/processor_types/methods/projects_locations_processor_types_list insert: [] update: [] replace: [] @@ -5331,53 +5269,53 @@ components: name: processors title: Processors methods: - projects_locations_processors_delete: + projects_locations_processors_disable: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:disable/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_get: + projects_locations_processors_enable: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:enable/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_disable: + projects_locations_processors_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:disable/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_create: + projects_locations_processors_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_list: + projects_locations_processors_batch_process: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:batchProcess/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.processors - projects_locations_processors_batch_process: + projects_locations_processors_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:batchProcess/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_process: + objectKey: $.processors + projects_locations_processors_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:process/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors/post response: mediaType: application/json openAPIDocKey: '200' @@ -5388,10 +5326,10 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processors_enable: + projects_locations_processors_process: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:enable/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}:process/post response: mediaType: application/json openAPIDocKey: '200' @@ -5409,87 +5347,149 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/processors/methods/projects_locations_processors_delete - processor_types: - id: google.documentai.processor_types - name: processor_types - title: Processor_types + human_review_config: + id: google.documentai.human_review_config + name: human_review_config + title: Human_review_config methods: - projects_locations_processor_types_get: + projects_locations_processors_human_review_config_review_document: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processorTypes~1{processorTypesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1humanReviewConfig:reviewDocument/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_processor_types_list: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + evaluations: + id: google.documentai.evaluations + name: evaluations + title: Evaluations + methods: + projects_locations_processors_processor_versions_evaluations_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processorTypes/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}~1evaluations/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.processorTypes - projects_locations_fetch_processor_types: + objectKey: $.evaluations + projects_locations_processors_processor_versions_evaluations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}:fetchProcessorTypes/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}~1evaluations~1{evaluationsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/processor_types/methods/projects_locations_processor_types_get - - $ref: >- - #/components/x-stackQL-resources/processor_types/methods/projects_locations_processor_types_list + #/components/x-stackQL-resources/evaluations/methods/projects_locations_processors_processor_versions_evaluations_get - $ref: >- - #/components/x-stackQL-resources/processor_types/methods/projects_locations_fetch_processor_types + #/components/x-stackQL-resources/evaluations/methods/projects_locations_processors_processor_versions_evaluations_list insert: [] update: [] replace: [] delete: [] - locations: - id: google.documentai.locations - name: locations - title: Locations + processor_versions: + id: google.documentai.processor_versions + name: processor_versions + title: Processor_versions methods: - projects_locations_get: + projects_locations_processors_processor_versions_get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_processors_processor_versions_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_processors_processor_versions_deploy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:deploy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_processors_processor_versions_undeploy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:undeploy/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_processors_processor_versions_train: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions:train/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_processors_processor_versions_batch_process: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:batchProcess/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_processors_processor_versions_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.processorVersions + projects_locations_processors_processor_versions_process: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:process/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_list: + projects_locations_processors_processor_versions_evaluate_processor_version: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1processors~1{processorsId}~1processorVersions~1{processorVersionsId}:evaluateProcessorVersion/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.locations sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/locations/methods/projects_locations_get + #/components/x-stackQL-resources/processor_versions/methods/projects_locations_processors_processor_versions_get - $ref: >- - #/components/x-stackQL-resources/locations/methods/projects_locations_list + #/components/x-stackQL-resources/processor_versions/methods/projects_locations_processors_processor_versions_list insert: [] update: [] replace: [] - delete: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/processor_versions/methods/projects_locations_processors_processor_versions_delete paths: /v1/operations/{operationsId}: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/oauth_token' delete: description: >- Deletes a long-running operation. This method indicates that the client @@ -5515,103 +5515,14 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/humanReviewConfig:reviewDocument: + /v1/projects/{projectsId}/operations/{operationsId}: parameters: *ref_1 - post: + get: description: >- - Send a document for Human Review. The input document should be processed - by the specified processor. - operationId: >- - documentai.projects.locations.processors.humanReviewConfig.reviewDocument - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ReviewDocumentRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: processorsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:deploy: - parameters: *ref_1 - post: - description: Deploys the processor version. - operationId: documentai.projects.locations.processors.processorVersions.deploy - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DeployProcessorVersionRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: processorsId - required: true - schema: - type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:undeploy: - parameters: *ref_1 - post: - description: Undeploys the processor version. - operationId: documentai.projects.locations.processors.processorVersions.undeploy - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1UndeployProcessorVersionRequest + 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. + operationId: documentai.projects.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5631,30 +5542,15 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: processorsId - required: true - schema: - type: string - - in: path - name: processorVersionsId + name: operationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:process: + /v1/projects/{projectsId}/locations/{locationsId}: parameters: *ref_1 - post: - description: Processes a single document. - operationId: documentai.projects.locations.processors.processorVersions.process - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessRequest' + get: + description: Gets information about a location. + operationId: documentai.projects.locations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5666,7 +5562,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessResponse' + $ref: '#/components/schemas/GoogleCloudLocationLocation' parameters: - in: path name: projectsId @@ -5678,28 +5574,11 @@ paths: required: true schema: type: string - - in: path - name: processorsId - required: true - schema: - type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:batchProcess: + /v1/projects/{projectsId}/locations: parameters: *ref_1 - post: - description: >- - LRO endpoint to batch process many documents. The output is written to - Cloud Storage as JSON in the [Document] format. - operationId: documentai.projects.locations.processors.processorVersions.batchProcess - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1BatchProcessRequest' + get: + description: Lists information about the supported locations for this service. + operationId: documentai.projects.locations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5711,33 +5590,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudLocationListLocationsResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageToken schema: type: string - - in: path - name: processorsId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: processorVersionsId - required: true + type: integer + format: int32 + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions: + /v1/projects/{projectsId}/locations/{locationsId}:fetchProcessorTypes: parameters: *ref_1 get: - description: Lists all versions of a processor. - operationId: documentai.projects.locations.processors.processorVersions.list + description: >- + Fetches processor types. Note that we don't use ListProcessorTypes here, + because it isn't paginated. + operationId: documentai.projects.locations.fetchProcessorTypes security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5750,7 +5629,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ListProcessorVersionsResponse + #/components/schemas/GoogleCloudDocumentaiV1FetchProcessorTypesResponse parameters: - in: path name: projectsId @@ -5762,33 +5641,17 @@ paths: required: true schema: type: string - - in: path - name: processorsId - required: true - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions:train: + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:disable: parameters: *ref_1 post: - description: >- - Trains a new processor version. Operation metadata is returned as - TrainProcessorVersionMetadata. - operationId: documentai.projects.locations.processors.processorVersions.train + description: Disables a processor + operationId: documentai.projects.locations.processors.disable requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequest + #/components/schemas/GoogleCloudDocumentaiV1DisableProcessorRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5817,20 +5680,17 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:evaluateProcessorVersion: - parameters: *ref_1 - post: - description: >- - Evaluates a ProcessorVersion against annotated documents, producing an - Evaluation. - operationId: >- - documentai.projects.locations.processors.processorVersions.evaluateProcessorVersion + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:enable: + parameters: *ref_1 + post: + description: Enables a processor + operationId: documentai.projects.locations.processors.enable requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1EvaluateProcessorVersionRequest + #/components/schemas/GoogleCloudDocumentaiV1EnableProcessorRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5859,18 +5719,13 @@ paths: required: true schema: type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}: + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}: parameters: *ref_1 delete: description: >- - Deletes the processor version, all artifacts under the processor version - will be deleted. - operationId: documentai.projects.locations.processors.processorVersions.delete + Deletes the processor, unloads all deployed model artifacts if it was + enabled and then deletes all artifacts associated with this processor. + operationId: documentai.projects.locations.processors.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5899,14 +5754,9 @@ paths: required: true schema: type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string get: - description: Gets a processor version detail. - operationId: documentai.projects.locations.processors.processorVersions.get + description: Gets a processor detail. + operationId: documentai.projects.locations.processors.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5918,7 +5768,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersion' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' parameters: - in: path name: projectsId @@ -5935,17 +5785,18 @@ paths: required: true schema: type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}/evaluations/{evaluationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:batchProcess: parameters: *ref_1 - get: - description: Retrieves a specific evaluation. - operationId: >- - documentai.projects.locations.processors.processorVersions.evaluations.get + post: + description: >- + LRO endpoint to batch process many documents. The output is written to + Cloud Storage as JSON in the [Document] format. + operationId: documentai.projects.locations.processors.batchProcess + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1BatchProcessRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5957,7 +5808,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Evaluation' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -5974,22 +5825,11 @@ paths: required: true schema: type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string - - in: path - name: evaluationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}/evaluations: + /v1/projects/{projectsId}/locations/{locationsId}/processors: parameters: *ref_1 get: - description: Retrieves a set of evaluations for a given processor version. - operationId: >- - documentai.projects.locations.processors.processorVersions.evaluations.list + description: Lists all processors which belong to this project. + operationId: documentai.projects.locations.processors.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6002,7 +5842,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ListEvaluationsResponse + #/components/schemas/GoogleCloudDocumentaiV1ListProcessorsResponse parameters: - in: path name: projectsId @@ -6014,16 +5854,6 @@ paths: required: true schema: type: string - - in: path - name: processorsId - required: true - schema: - type: string - - in: path - name: processorVersionsId - required: true - schema: - type: string - in: query name: pageToken schema: @@ -6033,13 +5863,56 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}: + post: + description: >- + 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. + operationId: documentai.projects.locations.processors.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:setDefaultProcessorVersion: parameters: *ref_1 - delete: + post: description: >- - Deletes the processor, unloads all deployed model artifacts if it was - enabled and then deletes all artifacts associated with this processor. - operationId: documentai.projects.locations.processors.delete + Set the default (active) version of a Processor that will be used in + ProcessDocument and BatchProcessDocuments. + operationId: documentai.projects.locations.processors.setDefaultProcessorVersion + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6068,9 +5941,16 @@ paths: required: true schema: type: string - get: - description: Gets a processor detail. - operationId: documentai.projects.locations.processors.get + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:process: + parameters: *ref_1 + post: + description: Processes a single document. + operationId: documentai.projects.locations.processors.process + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6082,7 +5962,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessResponse' parameters: - in: path name: projectsId @@ -6099,17 +5979,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:disable: + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/humanReviewConfig:reviewDocument: parameters: *ref_1 post: - description: Disables a processor - operationId: documentai.projects.locations.processors.disable + description: >- + Send a document for Human Review. The input document should be processed + by the specified processor. + operationId: >- + documentai.projects.locations.processors.humanReviewConfig.reviewDocument requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1DisableProcessorRequest + #/components/schemas/GoogleCloudDocumentaiV1ReviewDocumentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6138,22 +6021,12 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors: + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}/evaluations: parameters: *ref_1 - post: - description: >- - 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. - operationId: documentai.projects.locations.processors.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' + get: + description: Retrieves a set of evaluations for a given processor version. + operationId: >- + documentai.projects.locations.processors.processorVersions.evaluations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6165,7 +6038,56 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1Processor' + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ListEvaluationsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: processorsId + required: true + schema: + type: string + - in: path + name: processorVersionsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}/evaluations/{evaluationsId}: + parameters: *ref_1 + get: + description: Retrieves a specific evaluation. + operationId: >- + documentai.projects.locations.processors.processorVersions.evaluations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1Evaluation' parameters: - in: path name: projectsId @@ -6177,9 +6099,26 @@ paths: required: true schema: type: string + - in: path + name: processorsId + required: true + schema: + type: string + - in: path + name: processorVersionsId + required: true + schema: + type: string + - in: path + name: evaluationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}: + parameters: *ref_1 get: - description: Lists all processors which belong to this project. - operationId: documentai.projects.locations.processors.list + description: Gets a processor version detail. + operationId: documentai.projects.locations.processors.processorVersions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6191,8 +6130,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ListProcessorsResponse + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorVersion' parameters: - in: path name: projectsId @@ -6204,27 +6142,21 @@ paths: required: true schema: type: string - - in: query - name: pageSize + - in: path + name: processorsId + required: true schema: - type: integer - format: int32 - - in: query - name: pageToken + type: string + - in: path + name: processorVersionsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:batchProcess: - parameters: *ref_1 - post: + delete: description: >- - LRO endpoint to batch process many documents. The output is written to - Cloud Storage as JSON in the [Document] format. - operationId: documentai.projects.locations.processors.batchProcess - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1BatchProcessRequest' + Deletes the processor version, all artifacts under the processor version + will be deleted. + operationId: documentai.projects.locations.processors.processorVersions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6253,16 +6185,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:process: + - in: path + name: processorVersionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:deploy: parameters: *ref_1 post: - description: Processes a single document. - operationId: documentai.projects.locations.processors.process + description: Deploys the processor version. + operationId: documentai.projects.locations.processors.processorVersions.deploy requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessRequest' + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1DeployProcessorVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6274,7 +6212,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6291,19 +6229,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:setDefaultProcessorVersion: + - in: path + name: processorVersionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:undeploy: parameters: *ref_1 post: - description: >- - Set the default (active) version of a Processor that will be used in - ProcessDocument and BatchProcessDocuments. - operationId: documentai.projects.locations.processors.setDefaultProcessorVersion + description: Undeploys the processor version. + operationId: documentai.projects.locations.processors.processorVersions.undeploy requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest + #/components/schemas/GoogleCloudDocumentaiV1UndeployProcessorVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6332,17 +6273,24 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:enable: + - in: path + name: processorVersionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions:train: parameters: *ref_1 post: - description: Enables a processor - operationId: documentai.projects.locations.processors.enable + description: >- + Trains a new processor version. Operation metadata is returned as + TrainProcessorVersionMetadata. + operationId: documentai.projects.locations.processors.processorVersions.train requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1EnableProcessorRequest + #/components/schemas/GoogleCloudDocumentaiV1TrainProcessorVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6371,11 +6319,18 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processorTypes/{processorTypesId}: + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:batchProcess: parameters: *ref_1 - get: - description: Gets a processor type detail. - operationId: documentai.projects.locations.processorTypes.get + post: + description: >- + LRO endpoint to batch process many documents. The output is written to + Cloud Storage as JSON in the [Document] format. + operationId: documentai.projects.locations.processors.processorVersions.batchProcess + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1BatchProcessRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6387,7 +6342,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorType' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6400,15 +6355,20 @@ paths: schema: type: string - in: path - name: processorTypesId + name: processorsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/processorTypes: + - in: path + name: processorVersionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions: parameters: *ref_1 get: - description: Lists the processor types that exist. - operationId: documentai.projects.locations.processorTypes.list + description: Lists all versions of a processor. + operationId: documentai.projects.locations.processors.processorVersions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6421,7 +6381,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1ListProcessorTypesResponse + #/components/schemas/GoogleCloudDocumentaiV1ListProcessorVersionsResponse parameters: - in: path name: projectsId @@ -6433,8 +6393,9 @@ paths: required: true schema: type: string - - in: query - name: pageToken + - in: path + name: processorsId + required: true schema: type: string - in: query @@ -6442,20 +6403,20 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:process: parameters: *ref_1 post: - description: >- - 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`. - operationId: documentai.projects.locations.operations.cancel + description: Processes a single document. + operationId: documentai.projects.locations.processors.processorVersions.process + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6467,7 +6428,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessResponse' parameters: - in: path name: projectsId @@ -6480,18 +6441,29 @@ paths: schema: type: string - in: path - name: operationsId + name: processorsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + - in: path + name: processorVersionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:evaluateProcessorVersion: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: documentai.projects.locations.operations.get + Evaluates a ProcessorVersion against annotated documents, producing an + Evaluation. + operationId: >- + documentai.projects.locations.processors.processorVersions.evaluateProcessorVersion + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1EvaluateProcessorVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6516,7 +6488,12 @@ paths: schema: type: string - in: path - name: operationsId + name: processorsId + required: true + schema: + type: string + - in: path + name: processorVersionsId required: true schema: type: string @@ -6563,11 +6540,20 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: parameters: *ref_1 - get: - description: Gets information about a location. - operationId: documentai.projects.locations.get + post: + description: >- + 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`. + operationId: documentai.projects.locations.operations.cancel security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6579,7 +6565,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudLocationLocation' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -6591,13 +6577,19 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}:fetchProcessorTypes: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- - Fetches processor types. Note that we don't use ListProcessorTypes here, - because it isn't paginated. - operationId: documentai.projects.locations.fetchProcessorTypes + 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. + operationId: documentai.projects.locations.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6609,8 +6601,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudDocumentaiV1FetchProcessorTypesResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -6622,11 +6613,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/processorTypes/{processorTypesId}: parameters: *ref_1 get: - description: Lists information about the supported locations for this service. - operationId: documentai.projects.locations.list + description: Gets a processor type detail. + operationId: documentai.projects.locations.processorTypes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6638,34 +6634,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudLocationListLocationsResponse' + $ref: '#/components/schemas/GoogleCloudDocumentaiV1ProcessorType' parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: locationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: processorTypesId + required: true schema: type: string - /v1/projects/{projectsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/processorTypes: parameters: *ref_1 get: - description: >- - 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. - operationId: documentai.projects.operations.get + description: Lists the processor types that exist. + operationId: documentai.projects.locations.processorTypes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -6677,7 +6667,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudDocumentaiV1ListProcessorTypesResponse parameters: - in: path name: projectsId @@ -6685,7 +6676,16 @@ paths: schema: type: string - in: path - name: operationsId + name: locationsId required: true schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/domains.yaml b/providers/src/googleapis.com/v00.00.00000/services/domains.yaml index 7e14fd71..3c1492c5 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/domains.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/domains.yaml @@ -7,8 +7,8 @@ info: title: Cloud Domains API description: Enables management and configuration of domain names. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/domains/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/essentialcontacts.yaml b/providers/src/googleapis.com/v00.00.00000/services/essentialcontacts.yaml index 9efc5231..626f7c92 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/essentialcontacts.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/essentialcontacts.yaml @@ -7,8 +7,8 @@ info: title: Essential Contacts API description: '' version: v1 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/essentialcontacts/docs/ servers: @@ -34,38 +34,19 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudEssentialcontactsV1ListContactsResponse: - id: GoogleCloudEssentialcontactsV1ListContactsResponse - type: object - properties: - contacts: - items: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' - type: array - description: The contacts for the specified resource. - nextPageToken: - description: >- - If there are more results than those appearing in this response, - then `next_page_token` is included. To get the next set of results, - call this method again using the value of `next_page_token` as - `page_token` and the rest of the parameters the same as the original - request. - type: string - description: Response message for the ListContacts method. GoogleCloudEssentialcontactsV1SendTestMessageRequest: - id: GoogleCloudEssentialcontactsV1SendTestMessageRequest - description: Request message for the SendTestMessage method. properties: - contacts: - description: >- - Required. The list of names of the contacts to send a test message - to. Format: organizations/{organization_id}/contacts/{contact_id}, - folders/{folder_id}/contacts/{contact_id} or - projects/{project_id}/contacts/{contact_id} - type: array - items: - type: string notificationCategory: + enum: + - NOTIFICATION_CATEGORY_UNSPECIFIED + - ALL + - SUSPENSION + - SECURITY + - TECHNICAL + - BILLING + - LEGAL + - PRODUCT_UPDATES + - TECHNICAL_INCIDENTS enumDescriptions: - Notification category is unrecognized or unspecified. - >- @@ -94,73 +75,30 @@ components: Required. The notification category to send the test message for. All contacts must be subscribed to this category. type: string - enum: - - NOTIFICATION_CATEGORY_UNSPECIFIED - - ALL - - SUSPENSION - - SECURITY - - TECHNICAL - - BILLING - - LEGAL - - PRODUCT_UPDATES - - TECHNICAL_INCIDENTS - type: object - GoogleCloudEssentialcontactsV1ComputeContactsResponse: - id: GoogleCloudEssentialcontactsV1ComputeContactsResponse - description: Response message for the ComputeContacts method. - properties: contacts: - items: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' - description: >- - All contacts for the resource that are subscribed to the specified - notification categories, including contacts inherited from any - parent resources. type: array - nextPageToken: + items: + type: string description: >- - If there are more results than those appearing in this response, - then `next_page_token` is included. To get the next set of results, - call this method again using the value of `next_page_token` as - `page_token` and the rest of the parameters the same as the original - request. - type: string + Required. The list of names of the contacts to send a test message + to. Format: organizations/{organization_id}/contacts/{contact_id}, + folders/{folder_id}/contacts/{contact_id} or + projects/{project_id}/contacts/{contact_id} + description: Request message for the SendTestMessage method. + id: GoogleCloudEssentialcontactsV1SendTestMessageRequest type: object GoogleCloudEssentialcontactsV1Contact: - type: object - description: A contact that will receive notifications from Google Cloud. - id: GoogleCloudEssentialcontactsV1Contact properties: - validationState: - description: >- - Output only. The validity of the contact. A contact is considered - valid if it is the correct recipient for notifications for a - particular resource. - enumDescriptions: - - The validation state is unknown or unspecified. - - >- - The contact is marked as valid. This is usually done manually by - the contact admin. All new contacts begin in the valid state. - - >- - The contact is considered invalid. This may become the state if - the contact's email is found to be unreachable. - readOnly: true - type: string - enum: - - VALIDATION_STATE_UNSPECIFIED - - VALID - - INVALID - email: + languageTag: description: >- - Required. The email address to send notifications to. The email - address does not need to be a Google Account. + 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. type: string notificationCategorySubscriptions: - type: array - description: >- - Required. The categories of notifications that the contact will - receive communications for. items: + type: string enumDescriptions: - Notification category is unrecognized or unspecified. - >- @@ -195,43 +133,115 @@ components: - LEGAL - PRODUCT_UPDATES - TECHNICAL_INCIDENTS - type: string + type: array + description: >- + Required. The categories of notifications that the contact will + receive communications for. validateTime: - type: string description: >- 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. format: google-datetime - languageTag: + type: string + email: description: >- - 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. + Required. The email address to send notifications to. The email + address does not need to be a Google Account. type: string + validationState: + readOnly: true + enumDescriptions: + - The validation state is unknown or unspecified. + - >- + The contact is marked as valid. This is usually done manually by + the contact admin. All new contacts begin in the valid state. + - >- + The contact is considered invalid. This may become the state if + the contact's email is found to be unreachable. + type: string + enum: + - VALIDATION_STATE_UNSPECIFIED + - VALID + - INVALID + description: >- + Output only. The validity of the contact. A contact is considered + valid if it is the correct recipient for notifications for a + particular resource. name: + readOnly: true + type: string description: >- Output only. The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id} - readOnly: true + id: GoogleCloudEssentialcontactsV1Contact + type: object + description: A contact that will receive notifications from Google Cloud. + GoogleCloudEssentialcontactsV1ComputeContactsResponse: + id: GoogleCloudEssentialcontactsV1ComputeContactsResponse + type: object + properties: + contacts: + description: >- + All contacts for the resource that are subscribed to the specified + notification categories, including contacts inherited from any + parent resources. + items: + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + type: array + nextPageToken: type: string + description: >- + If there are more results than those appearing in this response, + then `next_page_token` is included. To get the next set of results, + call this method again using the value of `next_page_token` as + `page_token` and the rest of the parameters the same as the original + request. + description: Response message for the ComputeContacts method. GoogleProtobufEmpty: - id: GoogleProtobufEmpty properties: {} + id: GoogleProtobufEmpty type: object description: >- A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + GoogleCloudEssentialcontactsV1ListContactsResponse: + description: Response message for the ListContacts method. + type: object + properties: + nextPageToken: + type: string + description: >- + If there are more results than those appearing in this response, + then `next_page_token` is included. To get the next set of results, + call this method again using the value of `next_page_token` as + `page_token` and the rest of the parameters the same as the original + request. + contacts: + description: The contacts for the specified resource. + items: + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + type: array + id: GoogleCloudEssentialcontactsV1ListContactsResponse parameters: - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + access_token: + description: OAuth access token. in: query - name: upload_protocol + name: access_token schema: type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto key: description: >- API key. Your API key identifies your project and provides you with API @@ -241,10 +251,10 @@ components: name: key schema: type: string - callback: - description: JSONP + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: callback + name: fields schema: type: string quotaUser: @@ -256,10 +266,19 @@ components: name: quotaUser schema: type: string - fields: - description: Selector specifying which fields to include in a partial response. + _.xgafv: + description: V1 error format. in: query - name: fields + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token schema: type: string uploadType: @@ -268,41 +287,22 @@ components: name: uploadType schema: type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - access_token: - description: OAuth access token. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: access_token + name: upload_protocol schema: type: string x-stackQL-resources: @@ -311,195 +311,200 @@ components: name: contacts title: Contacts methods: - organizations_contacts_get: + projects_contacts_patch: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1contacts~1{contactsId}/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts~1{contactsId}/patch' response: mediaType: application/json openAPIDocKey: '200' - organizations_contacts_patch: + projects_contacts_delete: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1contacts~1{contactsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1contacts~1{contactsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_contacts_delete: + projects_contacts_get: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1contacts~1{contactsId}/delete + $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts~1{contactsId}/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_contacts_compute: + projects_contacts_compute: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1contacts:compute/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts:compute/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_contacts_create: + projects_contacts_create: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1contacts/post' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts/post' response: mediaType: application/json openAPIDocKey: '200' - organizations_contacts_list: + projects_contacts_list: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1contacts/get' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.contacts - organizations_contacts_send_test_message: + projects_contacts_send_test_message: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1contacts:sendTestMessage/post + #/paths/~1v1~1projects~1{projectsId}~1contacts:sendTestMessage/post response: mediaType: application/json openAPIDocKey: '200' - folders_contacts_patch: + organizations_contacts_get: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts~1{contactsId}/patch' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1contacts~1{contactsId}/get response: mediaType: application/json openAPIDocKey: '200' - folders_contacts_get: + organizations_contacts_patch: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts~1{contactsId}/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1contacts~1{contactsId}/patch response: mediaType: application/json openAPIDocKey: '200' - folders_contacts_delete: + organizations_contacts_delete: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts~1{contactsId}/delete' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1contacts~1{contactsId}/delete response: mediaType: application/json openAPIDocKey: '200' - folders_contacts_send_test_message: + organizations_contacts_create: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts:sendTestMessage/post' + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1contacts/post' response: mediaType: application/json openAPIDocKey: '200' - folders_contacts_list: + organizations_contacts_list: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts/get' + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1contacts/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.contacts - folders_contacts_create: + organizations_contacts_send_test_message: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts/post' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1contacts:sendTestMessage/post response: mediaType: application/json openAPIDocKey: '200' - folders_contacts_compute: + organizations_contacts_compute: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts:compute/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1contacts:compute/get response: mediaType: application/json openAPIDocKey: '200' - projects_contacts_list: + folders_contacts_delete: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts/get' + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts~1{contactsId}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.contacts - projects_contacts_create: + folders_contacts_get: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts/post' + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts~1{contactsId}/get' response: mediaType: application/json openAPIDocKey: '200' - projects_contacts_delete: + folders_contacts_patch: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1contacts~1{contactsId}/delete + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts~1{contactsId}/patch' response: mediaType: application/json openAPIDocKey: '200' - projects_contacts_patch: + folders_contacts_send_test_message: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts~1{contactsId}/patch' + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts:sendTestMessage/post' response: mediaType: application/json openAPIDocKey: '200' - projects_contacts_get: + folders_contacts_list: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts~1{contactsId}/get' + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts/get' response: mediaType: application/json openAPIDocKey: '200' - projects_contacts_compute: + objectKey: $.contacts + folders_contacts_create: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1contacts:compute/get' + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts/post' response: mediaType: application/json openAPIDocKey: '200' - projects_contacts_send_test_message: + folders_contacts_compute: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1contacts:sendTestMessage/post + $ref: '#/paths/~1v1~1folders~1{foldersId}~1contacts:compute/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: + - $ref: >- + #/components/x-stackQL-resources/contacts/methods/projects_contacts_get - $ref: >- #/components/x-stackQL-resources/contacts/methods/organizations_contacts_get - $ref: >- #/components/x-stackQL-resources/contacts/methods/folders_contacts_get - $ref: >- - #/components/x-stackQL-resources/contacts/methods/projects_contacts_get + #/components/x-stackQL-resources/contacts/methods/projects_contacts_list - $ref: >- #/components/x-stackQL-resources/contacts/methods/organizations_contacts_list - $ref: >- #/components/x-stackQL-resources/contacts/methods/folders_contacts_list - - $ref: >- - #/components/x-stackQL-resources/contacts/methods/projects_contacts_list insert: + - $ref: >- + #/components/x-stackQL-resources/contacts/methods/projects_contacts_create - $ref: >- #/components/x-stackQL-resources/contacts/methods/organizations_contacts_create - $ref: >- #/components/x-stackQL-resources/contacts/methods/folders_contacts_create - - $ref: >- - #/components/x-stackQL-resources/contacts/methods/projects_contacts_create update: + - $ref: >- + #/components/x-stackQL-resources/contacts/methods/projects_contacts_patch - $ref: >- #/components/x-stackQL-resources/contacts/methods/organizations_contacts_patch - $ref: >- #/components/x-stackQL-resources/contacts/methods/folders_contacts_patch - - $ref: >- - #/components/x-stackQL-resources/contacts/methods/projects_contacts_patch replace: [] delete: + - $ref: >- + #/components/x-stackQL-resources/contacts/methods/projects_contacts_delete - $ref: >- #/components/x-stackQL-resources/contacts/methods/organizations_contacts_delete - $ref: >- #/components/x-stackQL-resources/contacts/methods/folders_contacts_delete - - $ref: >- - #/components/x-stackQL-resources/contacts/methods/projects_contacts_delete paths: - /v1/organizations/{organizationsId}/contacts/{contactsId}: + /v1/projects/{projectsId}/contacts/{contactsId}: parameters: &ref_1 - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/access_token' - get: - description: Gets a single contact. - operationId: essentialcontacts.organizations.contacts.get + - $ref: '#/components/parameters/upload_protocol' + patch: + description: 'Updates a contact. Note: A contact''s email address cannot be changed.' + operationId: essentialcontacts.projects.contacts.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -514,7 +519,7 @@ paths: $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -523,14 +528,14 @@ paths: required: true schema: type: string - patch: - description: 'Updates a contact. Note: A contact''s email address cannot be changed.' - operationId: essentialcontacts.organizations.contacts.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a contact. + operationId: essentialcontacts.projects.contacts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -542,10 +547,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -554,14 +559,9 @@ paths: required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a contact. - operationId: essentialcontacts.organizations.contacts.delete + get: + description: Gets a single contact. + operationId: essentialcontacts.projects.contacts.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -573,10 +573,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -585,14 +585,14 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/contacts:compute: + /v1/projects/{projectsId}/contacts:compute: parameters: *ref_1 get: description: >- Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources. - operationId: essentialcontacts.organizations.contacts.compute + operationId: essentialcontacts.projects.contacts.compute security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -608,10 +608,14 @@ paths: #/components/schemas/GoogleCloudEssentialcontactsV1ComputeContactsResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: notificationCategories schema: @@ -621,15 +625,11 @@ paths: schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/organizations/{organizationsId}/contacts: + /v1/projects/{projectsId}/contacts: parameters: *ref_1 post: description: Adds a new contact for a resource. - operationId: essentialcontacts.organizations.contacts.create + operationId: essentialcontacts.projects.contacts.create requestBody: content: application/json: @@ -649,13 +649,13 @@ paths: $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string get: description: Lists the contacts that have been set on a resource. - operationId: essentialcontacts.organizations.contacts.list + operationId: essentialcontacts.projects.contacts.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -671,7 +671,7 @@ paths: #/components/schemas/GoogleCloudEssentialcontactsV1ListContactsResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -684,13 +684,13 @@ paths: name: pageToken schema: type: string - /v1/organizations/{organizationsId}/contacts:sendTestMessage: + /v1/projects/{projectsId}/contacts:sendTestMessage: parameters: *ref_1 post: description: >- Allows a contact admin to send a test message to contact to verify that it has been configured correctly. - operationId: essentialcontacts.organizations.contacts.sendTestMessage + operationId: essentialcontacts.projects.contacts.sendTestMessage requestBody: content: application/json: @@ -711,20 +711,15 @@ paths: $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - /v1/folders/{foldersId}/contacts/{contactsId}: + /v1/organizations/{organizationsId}/contacts/{contactsId}: parameters: *ref_1 - patch: - description: 'Updates a contact. Note: A contact''s email address cannot be changed.' - operationId: essentialcontacts.folders.contacts.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + get: + description: Gets a single contact. + operationId: essentialcontacts.organizations.contacts.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -739,7 +734,7 @@ paths: $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -748,14 +743,14 @@ paths: required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - get: - description: Gets a single contact. - operationId: essentialcontacts.folders.contacts.get + patch: + description: 'Updates a contact. Note: A contact''s email address cannot be changed.' + operationId: essentialcontacts.organizations.contacts.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -770,7 +765,7 @@ paths: $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -779,9 +774,14 @@ paths: required: true schema: type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask delete: description: Deletes a contact. - operationId: essentialcontacts.folders.contacts.delete + operationId: essentialcontacts.organizations.contacts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -796,7 +796,7 @@ paths: $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -805,19 +805,16 @@ paths: required: true schema: type: string - /v1/folders/{foldersId}/contacts:sendTestMessage: + /v1/organizations/{organizationsId}/contacts: parameters: *ref_1 post: - description: >- - Allows a contact admin to send a test message to contact to verify that - it has been configured correctly. - operationId: essentialcontacts.folders.contacts.sendTestMessage + description: Adds a new contact for a resource. + operationId: essentialcontacts.organizations.contacts.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudEssentialcontactsV1SendTestMessageRequest + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -829,18 +826,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - /v1/folders/{foldersId}/contacts: - parameters: *ref_1 get: description: Lists the contacts that have been set on a resource. - operationId: essentialcontacts.folders.contacts.list + operationId: essentialcontacts.organizations.contacts.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -856,7 +851,7 @@ paths: #/components/schemas/GoogleCloudEssentialcontactsV1ListContactsResponse parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -869,14 +864,19 @@ paths: schema: type: integer format: int32 + /v1/organizations/{organizationsId}/contacts:sendTestMessage: + parameters: *ref_1 post: - description: Adds a new contact for a resource. - operationId: essentialcontacts.folders.contacts.create + description: >- + Allows a contact admin to send a test message to contact to verify that + it has been configured correctly. + operationId: essentialcontacts.organizations.contacts.sendTestMessage requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + $ref: >- + #/components/schemas/GoogleCloudEssentialcontactsV1SendTestMessageRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -888,21 +888,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - /v1/folders/{foldersId}/contacts:compute: + /v1/organizations/{organizationsId}/contacts:compute: parameters: *ref_1 get: description: >- Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources. - operationId: essentialcontacts.folders.contacts.compute + operationId: essentialcontacts.organizations.contacts.compute security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -918,7 +918,7 @@ paths: #/components/schemas/GoogleCloudEssentialcontactsV1ComputeContactsResponse parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -928,18 +928,18 @@ paths: type: integer format: int32 - in: query - name: pageToken + name: notificationCategories schema: type: string - in: query - name: notificationCategories + name: pageToken schema: type: string - /v1/projects/{projectsId}/contacts: + /v1/folders/{foldersId}/contacts/{contactsId}: parameters: *ref_1 - get: - description: Lists the contacts that have been set on a resource. - operationId: essentialcontacts.projects.contacts.list + delete: + description: Deletes a contact. + operationId: essentialcontacts.folders.contacts.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -951,54 +951,21 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudEssentialcontactsV1ListContactsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Adds a new contact for a resource. - operationId: essentialcontacts.projects.contacts.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' - parameters: - in: path - name: projectsId + name: contactsId required: true schema: type: string - /v1/projects/{projectsId}/contacts/{contactsId}: - parameters: *ref_1 - delete: - description: Deletes a contact. - operationId: essentialcontacts.projects.contacts.delete + get: + description: Gets a single contact. + operationId: essentialcontacts.folders.contacts.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1010,10 +977,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -1024,7 +991,7 @@ paths: type: string patch: description: 'Updates a contact. Note: A contact''s email address cannot be changed.' - operationId: essentialcontacts.projects.contacts.patch + operationId: essentialcontacts.folders.contacts.patch requestBody: content: application/json: @@ -1044,7 +1011,7 @@ paths: $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -1058,9 +1025,19 @@ paths: schema: type: string format: google-fieldmask - get: - description: Gets a single contact. - operationId: essentialcontacts.projects.contacts.get + /v1/folders/{foldersId}/contacts:sendTestMessage: + parameters: *ref_1 + post: + description: >- + Allows a contact admin to send a test message to contact to verify that + it has been configured correctly. + operationId: essentialcontacts.folders.contacts.sendTestMessage + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudEssentialcontactsV1SendTestMessageRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1072,26 +1049,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: contactsId + name: foldersId required: true schema: type: string - /v1/projects/{projectsId}/contacts:compute: + /v1/folders/{foldersId}/contacts: parameters: *ref_1 get: - description: >- - Lists all contacts for the resource that are subscribed to the specified - notification categories, including contacts inherited from any parent - resources. - operationId: essentialcontacts.projects.contacts.compute + description: Lists the contacts that have been set on a resource. + operationId: essentialcontacts.folders.contacts.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1104,15 +1073,15 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudEssentialcontactsV1ComputeContactsResponse + #/components/schemas/GoogleCloudEssentialcontactsV1ListContactsResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string - in: query - name: notificationCategories + name: pageToken schema: type: string - in: query @@ -1120,23 +1089,14 @@ paths: schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/projects/{projectsId}/contacts:sendTestMessage: - parameters: *ref_1 post: - description: >- - Allows a contact admin to send a test message to contact to verify that - it has been configured correctly. - operationId: essentialcontacts.projects.contacts.sendTestMessage + description: Adds a new contact for a resource. + operationId: essentialcontacts.folders.contacts.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudEssentialcontactsV1SendTestMessageRequest + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1148,10 +1108,50 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudEssentialcontactsV1Contact' parameters: - in: path - name: projectsId + name: foldersId + required: true + schema: + type: string + /v1/folders/{foldersId}/contacts:compute: + parameters: *ref_1 + get: + description: >- + Lists all contacts for the resource that are subscribed to the specified + notification categories, including contacts inherited from any parent + resources. + operationId: essentialcontacts.folders.contacts.compute + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudEssentialcontactsV1ComputeContactsResponse + parameters: + - in: path + name: foldersId required: true schema: type: string + - in: query + name: notificationCategories + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/eventarc.yaml b/providers/src/googleapis.com/v00.00.00000/services/eventarc.yaml index d4949cbe..121615ca 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/eventarc.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/eventarc.yaml @@ -7,8 +7,8 @@ info: title: Eventarc API description: Build event-driven applications on Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/eventarc servers: @@ -873,507 +873,1361 @@ components: used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`. type: string - ListLocationsResponse: - id: ListLocationsResponse - description: The response message for Locations.ListLocations. + MessageBus: + id: MessageBus + description: >- + MessageBus for the messages flowing through the system. The admin has + visibility and control over the messages being published and consumed + and can restrict publishers and subscribers to only a subset of data + available in the system by defining authorization policies. type: object properties: - locations: + name: description: >- - A list of locations that matches the specified filter in the - request. + Identifier. Resource name of the form + projects/{project}/locations/{location}/messageBuses/{message_bus} + type: string + uid: + description: >- + 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. + readOnly: true + type: string + etag: + description: >- + Output only. This checksum is computed by the server based on the + value of other fields, and might be sent only on update and delete + requests to ensure that the client has an up-to-date value before + proceeding. + readOnly: true + type: string + createTime: + description: Output only. The creation time. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The last-modified time. + readOnly: true + type: string + format: google-datetime + labels: + description: Optional. Resource labels. + type: object + additionalProperties: + type: string + annotations: + description: Optional. Resource annotations. + type: object + additionalProperties: + type: string + displayName: + description: Optional. Resource display name. + type: string + cryptoKeyName: + description: >- + 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/*`. + type: string + loggingConfig: + description: >- + Optional. Config to control Platform logging for the Message Bus. + This log configuration is applied to the Message Bus itself, and all + the Enrollments attached to it. + $ref: '#/components/schemas/LoggingConfig' + LoggingConfig: + id: LoggingConfig + description: >- + The configuration for Platform Telemetry logging for Eventarc Avdvanced + resources. + type: object + properties: + logSeverity: + description: >- + Optional. The minimum severity of logs that will be sent to + Stackdriver/Platform Telemetry. Logs at severitiy ≥ this value will + be sent, unless it is NONE. + type: string + enumDescriptions: + - >- + Log severity is not specified. This value is treated the same as + NONE, but is used to distinguish between no update and update to + NONE in update_masks. + - >- + Default value at resource creation, presence of this value must be + treated as no logging/disable logging. + - Debug or trace level logging. + - Routine information, such as ongoing status or performance. + - >- + Normal but significant events, such as start up, shut down, or a + configuration change. + - Warning events might cause problems. + - Error events are likely to cause problems. + - Critical events cause more severe problems or outages. + - A person must take action immediately. + - One or more systems are unusable. + enum: + - LOG_SEVERITY_UNSPECIFIED + - NONE + - DEBUG + - INFO + - NOTICE + - WARNING + - ERROR + - CRITICAL + - ALERT + - EMERGENCY + ListMessageBusesResponse: + id: ListMessageBusesResponse + description: The response message for the `ListMessageBuses` method. + type: object + properties: + messageBuses: + description: >- + The requested message buses, up to the number specified in + `page_size`. type: array items: - $ref: '#/components/schemas/Location' + $ref: '#/components/schemas/MessageBus' nextPageToken: - description: The standard List next-page token. + description: >- + A page token that can be sent to `ListMessageBuses` to request the + next page. If this is empty, then there are no more pages. type: string - Location: - id: Location - description: A resource that represents a Google Cloud location. + unreachable: + description: Unreachable resources, if any. + type: array + items: + type: string + ListMessageBusEnrollmentsResponse: + id: ListMessageBusEnrollmentsResponse + description: The response message for the `ListMessageBusEnrollments` method.` + type: object + properties: + enrollments: + description: >- + The requested enrollments, up to the number specified in + `page_size`. + type: array + items: + type: string + nextPageToken: + description: >- + A page token that can be sent to `ListMessageBusEnrollments` to + request the next page. If this is empty, then there are no more + pages. + type: string + unreachable: + description: Unreachable resources, if any. + type: array + items: + type: string + Enrollment: + id: Enrollment + description: >- + An enrollment represents a subscription for messages on a particular + message bus. It defines a matching criteria for messages on the bus and + the subscriber endpoint where matched messages should be delivered. type: object properties: name: description: >- - Resource name for the location, which may vary between - implementations. For example: - `"projects/example-project/locations/us-east1"` + Identifier. Resource name of the form + projects/{project}/locations/{location}/enrollments/{enrollment} type: string - locationId: - description: 'The canonical id for this location. For example: `"us-east1"`.' + uid: + description: >- + 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. + readOnly: true type: string - displayName: + etag: description: >- - The friendly name for this location, typically a nearby city name. - For example, "Tokyo". + Output only. This checksum is computed by the server based on the + value of other fields, and might be sent only on update and delete + requests to ensure that the client has an up-to-date value before + proceeding. + readOnly: true + type: string + createTime: + description: Output only. The creation time. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The last-modified time. + readOnly: true type: string + format: google-datetime labels: - description: >- - Cross-service attributes for the location. For example - {"cloud.googleapis.com/region": "us-east1"} + description: Optional. Resource labels. type: object additionalProperties: type: string - metadata: - description: >- - Service-specific metadata. For example the available capacity at the - given location. + annotations: + description: Optional. Resource annotations. type: object additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - SetIamPolicyRequest: - id: SetIamPolicyRequest - description: Request message for `SetIamPolicy` method. - type: object - properties: - policy: + type: string + displayName: + description: Optional. Resource display name. + type: string + celMatch: description: >- - REQUIRED: The complete policy to be applied to the `resource`. The - size of the policy is limited to a few 10s of KB. An empty policy is - a valid policy but certain Google Cloud services (such as Projects) - might reject them. - $ref: '#/components/schemas/Policy' - updateMask: + Required. A CEL expression identifying which messages this + enrollment applies to. + type: string + messageBus: description: >- - OPTIONAL: A FieldMask specifying which fields of the policy to - modify. Only the fields in the mask will be modified. If no mask is - provided, the following default mask is used: `paths: "bindings, - etag"` + Required. Resource name of the message bus identifying the source of + the messages. It matches the form + projects/{project}/locations/{location}/messageBuses/{messageBus}. type: string - format: google-fieldmask - Policy: - id: Policy - description: >- - 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/). + destination: + description: >- + Required. Destination is the Pipeline that the Enrollment is + delivering to. It must point to the full resource name of a + Pipeline. Format: + "projects/{PROJECT_ID}/locations/{region}/pipelines/{PIPELINE_ID)" + type: string + ListEnrollmentsResponse: + id: ListEnrollmentsResponse + description: The response message for the `ListEnrollments` method. type: object properties: - version: - description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - type: integer - format: int32 - bindings: + enrollments: description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. - type: array - items: - $ref: '#/components/schemas/Binding' - auditConfigs: - description: Specifies cloud audit logging configuration for this policy. + The requested Enrollments, up to the number specified in + `page_size`. type: array items: - $ref: '#/components/schemas/AuditConfig' - etag: + $ref: '#/components/schemas/Enrollment' + nextPageToken: description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. + A page token that can be sent to `ListEnrollments` to request the + next page. If this is empty, then there are no more pages. type: string - format: byte - Binding: - id: Binding - description: Associates `members`, or principals, with a `role`. + unreachable: + description: Unreachable resources, if any. + type: array + items: + type: string + Pipeline: + id: Pipeline + description: A representation of the Pipeline resource. type: object properties: - role: + name: description: >- - 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). + Identifier. The resource name of the Pipeline. Must be unique within + the location of the project and must be in + `projects/{project}/locations/{location}/pipelines/{pipeline}` + format. type: string - members: + createTime: description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + Output only. The creation time. A timestamp in RFC3339 UTC "Zulu" + format, with nanosecond resolution and up to nine fractional digits. + Examples: "2014-10-02T15:01:23Z" and + "2014-10-02T15:01:23.045123456Z". + readOnly: true + type: string + format: google-datetime + updateTime: + description: >- + Output only. The last-modified time. A timestamp in RFC3339 UTC + "Zulu" format, with nanosecond resolution and up to nine fractional + digits. Examples: "2014-10-02T15:01:23Z" and + "2014-10-02T15:01:23.045123456Z". + readOnly: true + type: string + format: google-datetime + labels: + description: >- + Optional. User labels attached to the Pipeline that can be used to + group resources. An object containing a list of "key": value pairs. + Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + type: object + additionalProperties: + type: string + uid: + description: >- + Output only. Server-assigned unique identifier for the Pipeline. The + value is a UUID4 string and guaranteed to remain unchanged until the + resource is deleted. + readOnly: true + type: string + annotations: + description: >- + Optional. User-defined annotations. See + https://google.aip.dev/128#annotations. + type: object + additionalProperties: + type: string + displayName: + description: Optional. Display name of resource. + type: string + destinations: + description: >- + Required. List of destinations to which messages will be forwarded. + Currently, exactly one destination is supported per Pipeline. type: array items: - type: string - condition: + $ref: '#/components/schemas/GoogleCloudEventarcV1PipelineDestination' + mediations: description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/Expr' - Expr: - id: Expr - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. + Optional. List of mediation operations to be performed on the + message. Currently, only one Transformation operation is allowed in + each Pipeline. + type: array + items: + $ref: '#/components/schemas/GoogleCloudEventarcV1PipelineMediation' + cryptoKeyName: + description: >- + Optional. Resource name of a KMS crypto key (managed by the user) + used to encrypt/decrypt the event data. If not set, an internal + Google-owned key will be used to encrypt messages. It must match the + pattern + "projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}". + type: string + inputPayloadFormat: + description: >- + Optional. The payload format expected for the messages received by + the Pipeline. If input_payload_format is set then any messages not + matching this format will be treated as persistent errors. If + input_payload_format is not set, then the message data will be + treated as an opaque binary and no output format can be set on the + Pipeline through the Pipeline.Destination.output_payload_format + field. Any Mediations on the Pipeline that involve access to the + data field will fail as persistent errors. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineMessagePayloadFormat + loggingConfig: + description: Optional. Config to control Platform Logging for Pipelines. + $ref: '#/components/schemas/LoggingConfig' + retryPolicy: + description: Optional. The retry policy to use in the pipeline. + $ref: '#/components/schemas/GoogleCloudEventarcV1PipelineRetryPolicy' + etag: + description: >- + Output only. This checksum is computed by the server based on the + value of other fields, and might be sent only on create requests to + ensure that the client has an up-to-date value before proceeding. + type: string + GoogleCloudEventarcV1PipelineDestination: + id: GoogleCloudEventarcV1PipelineDestination + description: Represents a target of an invocation over HTTP. type: object properties: - expression: + networkConfig: description: >- - Textual representation of an expression in Common Expression - Language syntax. - type: string - title: + Optional. Network config is used to configure how Pipeline resolves + and connects to a destination. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineDestinationNetworkConfig + httpEndpoint: description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. + Optional. An HTTP endpoint destination described by an URI. If a DNS + FQDN is provided as the endpoint, Pipeline will create a peering + zone to the consumer VPC and forward DNS requests to the VPC + specified by network config to resolve the service endpoint. See: + https://cloud.google.com/dns/docs/zones/zones-overview#peering_zones + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineDestinationHttpEndpoint + workflow: + description: >- + Optional. The resource name of the Workflow whose Executions are + triggered by the events. The Workflow resource should be deployed in + the same project as the Pipeline. Format: + `projects/{project}/locations/{location}/workflows/{workflow}` type: string - description: + messageBus: description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. + Optional. The resource name of the Message Bus to which events + should be published. The Message Bus resource should exist in the + same project as the Pipeline. Format: + `projects/{project}/locations/{location}/messageBuses/{message_bus}` type: string - location: + topic: description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. + Optional. The resource name of the Pub/Sub topic to which events + should be published. Format: + `projects/{project}/locations/{location}/topics/{topic}` type: string - AuditConfig: - id: AuditConfig + authenticationConfig: + description: >- + Optional. An authentication config used to authenticate message + requests, such that destinations can verify the source. For example, + this can be used with private GCP destinations that require GCP + credentials to access like Cloud Run. This field is optional and + should be set only by users interested in authenticated push + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig + outputPayloadFormat: + description: >- + Optional. The message format before it is delivered to the + destination. If not set, the message will be delivered in the format + it was originally delivered to the Pipeline. This field can only be + set if Pipeline.input_payload_format is also set. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineMessagePayloadFormat + GoogleCloudEventarcV1PipelineDestinationNetworkConfig: + id: GoogleCloudEventarcV1PipelineDestinationNetworkConfig description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - `jose@example.com` from DATA_READ logging, and `aliya@example.com` from - DATA_WRITE logging. + Represents a network config to be used for destination resolution and + connectivity. type: object properties: - service: + networkAttachment: description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. + Required. Name of the NetworkAttachment that allows access to the + consumer VPC. Format: + `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}` type: string - auditLogConfigs: - description: The configuration for logging of each type of permission. - type: array - items: - $ref: '#/components/schemas/AuditLogConfig' - AuditLogConfig: - id: AuditLogConfig - description: >- - Provides the configuration for logging a type of permissions. Example: { - "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ - "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This - enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - jose@example.com from DATA_READ logging. + GoogleCloudEventarcV1PipelineDestinationHttpEndpoint: + id: GoogleCloudEventarcV1PipelineDestinationHttpEndpoint + description: Represents a HTTP endpoint destination. type: object properties: - logType: - description: The log type that this config enables. + uri: + description: >- + Required. The URI of the HTTP enpdoint. The value must be a RFC2396 + URI string. Examples: `https://svc.us-central1.p.local:8080/route`. + Only the HTTPS protocol is supported. type: string - enumDescriptions: - - Default case. Should never be this. - - 'Admin reads. Example: CloudIAM getIamPolicy' - - 'Data writes. Example: CloudSQL Users create' - - 'Data reads. Example: CloudSQL Users list' - enum: - - LOG_TYPE_UNSPECIFIED - - ADMIN_READ - - DATA_WRITE - - DATA_READ - exemptedMembers: + messageBindingTemplate: description: >- - Specifies the identities that do not cause logging for this type of - permission. Follows the same format of Binding.members. - type: array - items: - type: string - TestIamPermissionsRequest: - id: TestIamPermissionsRequest - description: Request message for `TestIamPermissions` method. + Optional. The CEL expression used to modify how the + destination-bound HTTP request is constructed. If a binding + expression is not specified here, the message is treated as a + CloudEvent and is mapped to the HTTP request according to the + CloudEvent HTTP Protocol Binding Binary Content Mode. In this + representation, all fields except the `data` and `datacontenttype` + field on the message are mapped to HTTP request headers with a + prefix of `ce-`. To construct the HTTP request payload and the value + of the content-type HTTP header, the payload format is defined as + follows: 1) Use the output_payload_format_type on the + Pipeline.Destination if it is set, else: 2) Use the + input_payload_format_type on the Pipeline if it is set, else: 3) + Treat the payload as opaque binary data. The `data` field of the + message is converted to the payload format or left as-is for case 3) + and then attached as the payload of the HTTP request. The + `content-type` header on the HTTP request is set to the payload + format type or left empty for case 3). However, if a mediation has + updated the `datacontenttype` field on the message so that it is not + the same as the payload format type but it is still a prefix of the + payload format type, then the `content-type` header on the HTTP + request is set to this `datacontenttype` value. For example, if the + `datacontenttype` is "application/json" and the payload format type + is "application/json; charset=utf-8", then the `content-type` header + on the HTTP request is set to "application/json; charset=utf-8". If + a non-empty binding expression is specified then this expression is + used to modify the default CloudEvent HTTP Protocol Binding Binary + Content representation. The result of the CEL expression must be a + map of key/value pairs which is used as follows: - If a map named + `headers` exists on the result of the expression, then its key/value + pairs are directly mapped to the HTTP request headers. The headers + values are constructed from the corresponding value type's canonical + representation. If the `headers` field doesn't exist then the + resulting HTTP request will be the headers of the CloudEvent HTTP + Binding Binary Content Mode representation of the final message. + Note: If the specified binding expression, has updated the + `datacontenttype` field on the message so that it is not the same as + the payload format type but it is still a prefix of the payload + format type, then the `content-type` header in the `headers` map is + set to this `datacontenttype` value. - If a field named `body` + exists on the result of the expression then its value is directly + mapped to the body of the request. If the value of the `body` field + is of type bytes or string then it is used for the HTTP request body + as-is, with no conversion. If the body field is of any other type + then it is converted to a JSON string. If the body field does not + exist then the resulting payload of the HTTP request will be data + value of the CloudEvent HTTP Binding Binary Content Mode + representation of the final message as described earlier. - Any + other fields in the resulting expression will be ignored. The CEL + expression may access the incoming CloudEvent message in its + definition, as follows: - The `data` field of the incoming + CloudEvent message can be accessed using the `message.data` value. + Subfields of `message.data` may also be accessed if an + input_payload_format has been specified on the Pipeline. - Each + attribute of the incoming CloudEvent message can be accessed using + the `message.` value, where is replaced with the name of the + attribute. - Existing headers can be accessed in the CEL expression + using the `headers` variable. The `headers` variable defines a map + of key/value pairs corresponding to the HTTP headers of the + CloudEvent HTTP Binding Binary Content Mode representation of the + final message as described earlier. For example, the following CEL + expression can be used to construct an HTTP request by adding an + additional header to the HTTP headers of the CloudEvent HTTP Binding + Binary Content Mode representation of the final message and by + overwriting the body of the request: ``` { "headers": + headers.merge({"new-header-key": "new-header-value"}), "body": + "new-body" } ``` Additionally, the following CEL extension functions + are provided for use in this CEL expression: - toBase64Url: + map.toBase64Url() -> string - Converts a CelValue to a base64url + encoded string - toJsonString: map.toJsonString() -> string - + Converts a CelValue to a JSON string - merge: map1.merge(map2) -> + map3 - Merges the passed CEL map with the existing CEL map the + function is applied to. - If the same key exists in both maps, if + the key's value is type map both maps are merged else the value from + the passed map is used. - denormalize: map.denormalize() -> map - + Denormalizes a CEL map such that every value of type map or key in + the map is expanded to return a single level map. - The resulting + keys are "." separated indices of the map keys. - For example: { + "a": 1, "b": { "c": 2, "d": 3 } "e": [4, 5] } .denormalize() -> { + "a": 1, "b.c": 2, "b.d": 3, "e.0": 4, "e.1": 5 } - setField: + map.setField(key, value) -> message - Sets the field of the message + with the given key to the given value. - If the field is not present + it will be added. - If the field is present it will be overwritten. + - The key can be a dot separated path to set a field in a nested + message. - Key must be of type string. - Value may be any valid + type. - removeFields: map.removeFields([key1, key2, ...]) -> message + - Removes the fields of the map with the given keys. - The keys can + be a dot separated path to remove a field in a nested message. - If + a key is not found it will be ignored. - Keys must be of type + string. - toMap: [map1, map2, ...].toMap() -> map - Converts a CEL + list of CEL maps to a single CEL map - toDestinationPayloadFormat(): + message.data.toDestinationPayloadFormat() -> string or bytes - + Converts the message data to the destination payload format + specified in Pipeline.Destination.output_payload_format - This + function is meant to be applied to the message.data field. - If the + destination payload format is not set, the function will return the + message data unchanged. - toCloudEventJsonWithPayloadFormat: + message.toCloudEventJsonWithPayloadFormat() -> map - Converts a + message to the corresponding structure of JSON format for + CloudEvents - This function applies toDestinationPayloadFormat() to + the message data. It also sets the corresponding datacontenttype of + the CloudEvent, as indicated by + Pipeline.Destination.output_payload_format. If no + output_payload_format is set it will use the existing + datacontenttype on the CloudEvent if present, else leave + datacontenttype absent. - This function expects that the content of + the message will adhere to the standard CloudEvent format. If it + doesn't then this function will fail. - The result is a CEL map that + corresponds to the JSON representation of the CloudEvent. To convert + that data to a JSON string it can be chained with the toJsonString + function. The Pipeline expects that the message it receives adheres + to the standard CloudEvent format. If it doesn't then the outgoing + message request may fail with a persistent error. + type: string + GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig: + id: GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig + description: Represents a config used to authenticate message requests. type: object properties: - permissions: + googleOidc: description: >- - The set of permissions to check for the `resource`. Permissions with - wildcards (such as `*` or `storage.*`) are not allowed. For more - information see [IAM - Overview](https://cloud.google.com/iam/docs/overview#permissions). - type: array - items: - type: string - TestIamPermissionsResponse: - id: TestIamPermissionsResponse - description: Response message for `TestIamPermissions` method. + Optional. This authenticate method will apply Google OIDC tokens + signed by a GCP service account to the requests. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken + oauthToken: + description: >- + Optional. If specified, an [OAuth + token](https://developers.google.com/identity/protocols/OAuth2) will + be generated and attached as an `Authorization` header in the HTTP + request. This type of authorization should generally only be used + when calling Google APIs hosted on *.googleapis.com. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken + GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken: + id: GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken + description: >- + Represents a config used to authenticate with a Google OIDC token using + a GCP service account. Use this authentication method to invoke your + Cloud Run and Cloud Functions destinations or HTTP endpoints that + support Google OIDC. type: object properties: - permissions: + serviceAccount: description: >- - A subset of `TestPermissionsRequest.permissions` that the caller is - allowed. - type: array - items: - type: string - OperationMetadata: - id: OperationMetadata - description: Represents the metadata of the long-running operation. + Required. Service account email used to generate the OIDC Token. The + principal who calls this API must have iam.serviceAccounts.actAs + permission in the service account. See + https://cloud.google.com/iam/docs/understanding-service-accounts for + more information. Eventarc service agents must have + roles/roles/iam.serviceAccountTokenCreator role to allow the + Pipeline to create OpenID tokens for authenticated requests. + type: string + audience: + description: >- + Optional. Audience to be used to generate the OIDC Token. The + audience claim identifies the recipient that the JWT is intended + for. If unspecified, the destination URI will be used. + type: string + GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken: + id: GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken + description: >- + Contains information needed for generating an [OAuth + token](https://developers.google.com/identity/protocols/OAuth2). This + type of authorization should generally only be used when calling Google + APIs hosted on *.googleapis.com. type: object properties: - createTime: - description: Output only. The time the operation was created. - readOnly: true - type: string - format: google-datetime - endTime: - description: Output only. The time the operation finished running. - readOnly: true + serviceAccount: + description: >- + Required. Service account email used to generate the [OAuth + token](https://developers.google.com/identity/protocols/OAuth2). The + principal who calls this API must have iam.serviceAccounts.actAs + permission in the service account. See + https://cloud.google.com/iam/docs/understanding-service-accounts for + more information. Eventarc service agents must have + roles/roles/iam.serviceAccountTokenCreator role to allow Pipeline to + create OAuth2 tokens for authenticated requests. type: string - format: google-datetime - target: + scope: description: >- - Output only. Server-defined resource path for the target of the - operation. - readOnly: true + Optional. OAuth scope to be used for generating OAuth access token. + If not specified, "https://www.googleapis.com/auth/cloud-platform" + will be used. type: string - verb: - description: Output only. Name of the verb executed by the operation. - readOnly: true + GoogleCloudEventarcV1PipelineMessagePayloadFormat: + id: GoogleCloudEventarcV1PipelineMessagePayloadFormat + description: Represents the format of message data. + type: object + properties: + protobuf: + description: Optional. Protobuf format. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat + avro: + description: Optional. Avro format. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat + json: + description: Optional. JSON format. + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat + GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat: + id: GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat + description: The format of a Protobuf message payload. + type: object + properties: + schemaDefinition: + description: Optional. The entire schema definition is stored in this field. type: string - statusMessage: - description: Output only. Human-readable status of the operation, if any. + GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat: + id: GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat + description: The format of an AVRO message payload. + type: object + properties: + schemaDefinition: + description: Optional. The entire schema definition is stored in this field. + type: string + GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat: + id: GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat + description: The format of a JSON message payload. + type: object + properties: {} + GoogleCloudEventarcV1PipelineMediation: + id: GoogleCloudEventarcV1PipelineMediation + description: Mediation defines different ways to modify the Pipeline. + type: object + properties: + transformation: + description: Optional. How the Pipeline is to transform messages + $ref: >- + #/components/schemas/GoogleCloudEventarcV1PipelineMediationTransformation + GoogleCloudEventarcV1PipelineMediationTransformation: + id: GoogleCloudEventarcV1PipelineMediationTransformation + description: Transformation defines the way to transform an incoming message. + type: object + properties: + transformationTemplate: + description: >- + Optional. The CEL expression template to apply to transform + messages. The following CEL extension functions are provided for use + in this CEL expression: - merge: map1.merge(map2) -> map3 - Merges + the passed CEL map with the existing CEL map the function is applied + to. - If the same key exists in both maps, if the key's value is + type map both maps are merged else the value from the passed map is + used. - denormalize: map.denormalize() -> map - Denormalizes a CEL + map such that every value of type map or key in the map is expanded + to return a single level map. - The resulting keys are "." separated + indices of the map keys. - For example: { "a": 1, "b": { "c": 2, + "d": 3 } "e": [4, 5] } .denormalize() -> { "a": 1, "b.c": 2, "b.d": + 3, "e.0": 4, "e.1": 5 } - setField: map.setField(key, value) -> + message - Sets the field of the message with the given key to the + given value. - If the field is not present it will be added. - If + the field is present it will be overwritten. - The key can be a dot + separated path to set a field in a nested message. - Key must be of + type string. - Value may be any valid type. - removeFields: + map.removeFields([key1, key2, ...]) -> message - Removes the fields + of the map with the given keys. - The keys can be a dot separated + path to remove a field in a nested message. - If a key is not found + it will be ignored. - Keys must be of type string. - toMap: [map1, + map2, ...].toMap() -> map - Converts a CEL list of CEL maps to a + single CEL map - toDestinationPayloadFormat(): + message.data.toDestinationPayloadFormat() -> string or bytes - + Converts the message data to the destination payload format + specified in Pipeline.Destination.output_payload_format - This + function is meant to be applied to the message.data field. - If the + destination payload format is not set, the function will return the + message data unchanged. - toCloudEventJsonWithPayloadFormat: + message.toCloudEventJsonWithPayloadFormat() -> map - Converts a + message to the corresponding structure of JSON format for + CloudEvents - This function applies toDestinationPayloadFormat() to + the message data. It also sets the corresponding datacontenttype of + the CloudEvent, as indicated by + Pipeline.Destination.output_payload_format. If no + output_payload_format is set it will use the existing + datacontenttype on the CloudEvent if present, else leave + datacontenttype absent. - This function expects that the content of + the message will adhere to the standard CloudEvent format. If it + doesn't then this function will fail. - The result is a CEL map that + corresponds to the JSON representation of the CloudEvent. To convert + that data to a JSON string it can be chained with the toJsonString + function. + type: string + GoogleCloudEventarcV1PipelineRetryPolicy: + id: GoogleCloudEventarcV1PipelineRetryPolicy + description: >- + The retry policy configuration for the Pipeline. The pipeline + exponentially backs off in case the destination is non responsive or + returns a retryable error code. The default semantics are as follows: + The backoff starts with a 5 second delay and doubles the delay after + each failed attempt (10 seconds, 20 seconds, 40 seconds, etc.). The + delay is capped at 60 seconds by default. Please note that if you set + the min_retry_delay and max_retry_delay fields to the same value this + will make the duration between retries constant. + type: object + properties: + maxAttempts: + description: >- + Optional. The maximum number of delivery attempts for any message. + The value must be between 1 and 100. The default value for this + field is 5. + type: integer + format: int32 + minRetryDelay: + description: >- + Optional. The minimum amount of seconds to wait between retry + attempts. The value must be between 1 and 600. The default value for + this field is 5. + type: string + format: google-duration + maxRetryDelay: + description: >- + Optional. The maximum amount of seconds to wait between retry + attempts. The value must be between 1 and 600. The default value for + this field is 60. + type: string + format: google-duration + ListPipelinesResponse: + id: ListPipelinesResponse + description: The response message for the ListPipelines method. + type: object + properties: + pipelines: + description: The requested pipelines, up to the number specified in `page_size`. + type: array + items: + $ref: '#/components/schemas/Pipeline' + nextPageToken: + description: >- + A page token that can be sent to `ListPipelines` to request the next + page. If this is empty, then there are no more pages. + type: string + unreachable: + description: Unreachable resources, if any. + type: array + items: + type: string + GoogleApiSource: + id: GoogleApiSource + description: >- + A GoogleApiSource represents a subscription of 1P events from a + MessageBus. + type: object + properties: + name: + description: >- + Identifier. Resource name of the form + projects/{project}/locations/{location}/googleApiSources/{google_api_source} + type: string + uid: + description: >- + 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. readOnly: true type: string - requestedCancellation: + etag: description: >- - Output only. 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`. + Output only. This checksum is computed by the server based on the + value of other fields, and might be sent only on update and delete + requests to ensure that the client has an up-to-date value before + proceeding. readOnly: true - type: boolean - apiVersion: - description: Output only. API version used to start the operation. + type: string + createTime: + description: Output only. The creation time. readOnly: true type: string - parameters: - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - callback: - description: JSONP - in: query - name: callback - schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - quotaUser: + format: google-datetime + updateTime: + description: Output only. The last-modified time. + readOnly: true + type: string + format: google-datetime + labels: + description: Optional. Resource labels. + type: object + additionalProperties: + type: string + annotations: + description: Optional. Resource annotations. + type: object + additionalProperties: + type: string + displayName: + description: Optional. Resource display name. + type: string + destination: + description: >- + Required. Destination is the message bus that the GoogleApiSource is + delivering to. It must be point to the full resource name of a + MessageBus. Format: + "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID) + type: string + cryptoKeyName: + description: >- + 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/*`. + type: string + loggingConfig: + description: >- + Optional. Config to control Platform logging for the + GoogleApiSource. + $ref: '#/components/schemas/LoggingConfig' + ListGoogleApiSourcesResponse: + id: ListGoogleApiSourcesResponse + description: The response message for the `ListGoogleApiSources` method. + type: object + properties: + googleApiSources: + description: >- + The requested GoogleApiSources, up to the number specified in + `page_size`. + type: array + items: + $ref: '#/components/schemas/GoogleApiSource' + nextPageToken: + description: >- + A page token that can be sent to `ListMessageBusEnrollments` to + request the next page. If this is empty, then there are no more + pages. + type: string + unreachable: + description: Unreachable resources, if any. + type: array + items: + type: string + ListLocationsResponse: + id: ListLocationsResponse + description: The response message for Locations.ListLocations. + type: object + properties: + locations: + description: >- + A list of locations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/Location' + nextPageToken: + description: The standard List next-page token. + type: string + Location: + id: Location + description: A resource that represents a Google Cloud location. + type: object + properties: + name: + description: >- + Resource name for the location, which may vary between + implementations. For example: + `"projects/example-project/locations/us-east1"` + type: string + locationId: + description: 'The canonical id for this location. For example: `"us-east1"`.' + type: string + displayName: + description: >- + The friendly name for this location, typically a nearby city name. + For example, "Tokyo". + type: string + labels: + description: >- + Cross-service attributes for the location. For example + {"cloud.googleapis.com/region": "us-east1"} + type: object + additionalProperties: + type: string + metadata: + description: >- + Service-specific metadata. For example the available capacity at the + given location. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + SetIamPolicyRequest: + id: SetIamPolicyRequest + description: Request message for `SetIamPolicy` method. + type: object + properties: + policy: + description: >- + REQUIRED: The complete policy to be applied to the `resource`. The + size of the policy is limited to a few 10s of KB. An empty policy is + a valid policy but certain Google Cloud services (such as Projects) + might reject them. + $ref: '#/components/schemas/Policy' + updateMask: + description: >- + OPTIONAL: A FieldMask specifying which fields of the policy to + modify. Only the fields in the mask will be modified. If no mask is + provided, the following default mask is used: `paths: "bindings, + etag"` + type: string + format: google-fieldmask + Policy: + id: Policy description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' + 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/). + type: object + properties: + version: + description: >- + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + format: int32 + bindings: + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + type: array + items: + $ref: '#/components/schemas/Binding' + auditConfigs: + description: Specifies cloud audit logging configuration for this policy. + type: array + items: + $ref: '#/components/schemas/AuditConfig' + etag: + description: >- + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + type: string + format: byte + Binding: + id: Binding + description: Associates `members`, or principals, with a `role`. + type: object + properties: + role: + description: >- + 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). + type: string + members: + description: >- + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + type: array + items: + type: string + condition: + description: >- + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/Expr' + Expr: + id: Expr + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + type: object + properties: + expression: + description: >- + Textual representation of an expression in Common Expression + Language syntax. + type: string + title: + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + type: string + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. + type: string + location: + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + type: string + AuditConfig: + id: AuditConfig + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + type: object + properties: + service: + description: >- + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + type: string + auditLogConfigs: + description: The configuration for logging of each type of permission. + type: array + items: + $ref: '#/components/schemas/AuditLogConfig' + AuditLogConfig: + id: AuditLogConfig + description: >- + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. + type: object + properties: + logType: + description: The log type that this config enables. + type: string + enumDescriptions: + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' + enum: + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ + exemptedMembers: + description: >- + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. + type: array + items: + type: string + TestIamPermissionsRequest: + id: TestIamPermissionsRequest + description: Request message for `TestIamPermissions` method. + type: object + properties: + permissions: + description: >- + The set of permissions to check for the `resource`. Permissions with + wildcards (such as `*` or `storage.*`) are not allowed. For more + information see [IAM + Overview](https://cloud.google.com/iam/docs/overview#permissions). + type: array + items: + type: string + TestIamPermissionsResponse: + id: TestIamPermissionsResponse + description: Response message for `TestIamPermissions` method. + type: object + properties: + permissions: + description: >- + A subset of `TestPermissionsRequest.permissions` that the caller is + allowed. + type: array + items: + type: string + OperationMetadata: + id: OperationMetadata + description: Represents the metadata of the long-running operation. + type: object + properties: + createTime: + description: Output only. The time the operation was created. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + readOnly: true + type: string + format: google-datetime + target: + description: >- + Output only. Server-defined resource path for the target of the + operation. + readOnly: true + type: string + verb: + description: Output only. Name of the verb executed by the operation. + readOnly: true + type: string + statusMessage: + description: Output only. Human-readable status of the operation, if any. + readOnly: true + type: string + requestedCancellation: + description: >- + Output only. 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`. + readOnly: true + type: boolean + apiVersion: + description: Output only. API version used to start the operation. + readOnly: true + type: string + parameters: + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto + callback: + description: JSONP + in: query + name: callback + schema: + type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' - '2' x-stackQL-resources: google_channel_config: @@ -1381,167 +2235,566 @@ components: name: google_channel_config title: Google_channel_config methods: - get_google_channel_config: + get_google_channel_config: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleChannelConfig/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_google_channel_config: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleChannelConfig/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/google_channel_config/methods/get_google_channel_config + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/google_channel_config/methods/update_google_channel_config + replace: [] + delete: [] + locations: + id: google.eventarc.locations + name: locations + title: Locations + methods: + list: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.locations + get: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/locations/methods/get' + - $ref: '#/components/x-stackQL-resources/locations/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + operations: + id: google.eventarc.operations + name: operations + title: Operations + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + cancel: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/operations/methods/delete' + triggers: + id: google.eventarc.triggers + name: triggers + title: Triggers + methods: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.triggers + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/triggers/methods/get' + - $ref: '#/components/x-stackQL-resources/triggers/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/triggers/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/triggers/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/triggers/methods/delete' + triggers_iam_policies: + id: google.eventarc.triggers_iam_policies + name: triggers_iam_policies + title: Triggers_iam_policies + methods: + set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/triggers_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/triggers_iam_policies/methods/set_iam_policy + delete: [] + channels: + id: google.eventarc.channels + name: channels + title: Channels + methods: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.channels + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/channels/methods/get' + - $ref: '#/components/x-stackQL-resources/channels/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/channels/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/channels/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/channels/methods/delete' + channels_iam_policies: + id: google.eventarc.channels_iam_policies + name: channels_iam_policies + title: Channels_iam_policies + methods: + set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/channels_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/channels_iam_policies/methods/set_iam_policy + delete: [] + providers: + id: google.eventarc.providers + name: providers + title: Providers + methods: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1providers~1{providersId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1providers/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.providers + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/providers/methods/get' + - $ref: '#/components/x-stackQL-resources/providers/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + channel_connections: + id: google.eventarc.channel_connections + name: channel_connections + title: Channel_connections + methods: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.channelConnections + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/channel_connections/methods/get' + - $ref: '#/components/x-stackQL-resources/channel_connections/methods/list' + insert: + - $ref: >- + #/components/x-stackQL-resources/channel_connections/methods/create + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/channel_connections/methods/delete + channel_connections_iam_policies: + id: google.eventarc.channel_connections_iam_policies + name: channel_connections_iam_policies + title: Channel_connections_iam_policies + methods: + set_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}:setIamPolicy/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_iam_policy: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}:getIamPolicy/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.bindings + test_iam_permissions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}:testIamPermissions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/channel_connections_iam_policies/methods/get_iam_policy + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/channel_connections_iam_policies/methods/set_iam_policy + delete: [] + message_buses: + id: google.eventarc.message_buses + name: message_buses + title: Message_buses + methods: + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleChannelConfig/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}/patch response: mediaType: application/json openAPIDocKey: '200' - update_google_channel_config: + delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleChannelConfig/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/google_channel_config/methods/get_google_channel_config - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/google_channel_config/methods/update_google_channel_config - replace: [] - delete: [] - locations: - id: google.eventarc.locations - name: locations - title: Locations - methods: list: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.locations - get: + objectKey: $.messageBuses + create: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/locations/methods/get' - - $ref: '#/components/x-stackQL-resources/locations/methods/list' - insert: [] - update: [] + - $ref: '#/components/x-stackQL-resources/message_buses/methods/get' + - $ref: '#/components/x-stackQL-resources/message_buses/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/message_buses/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/message_buses/methods/patch' replace: [] - delete: [] - operations: - id: google.eventarc.operations - name: operations - title: Operations + delete: + - $ref: '#/components/x-stackQL-resources/message_buses/methods/delete' + message_buses_enrollments: + id: google.eventarc.message_buses_enrollments + name: message_buses_enrollments + title: Message_buses_enrollments methods: - list: + list_enrollments: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}:listEnrollments/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - get: + objectKey: $.enrollments + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/message_buses_enrollments/methods/list_enrollments + insert: [] + update: [] + replace: [] + delete: [] + message_buses_iam_policies: + id: google.eventarc.message_buses_iam_policies + name: message_buses_iam_policies + title: Message_buses_iam_policies + methods: + set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' - delete: + get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' - cancel: + objectKey: $.bindings + test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1messageBuses~1{messageBusesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - - $ref: '#/components/x-stackQL-resources/operations/methods/list' + - $ref: >- + #/components/x-stackQL-resources/message_buses_iam_policies/methods/get_iam_policy insert: [] update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/operations/methods/delete' - triggers: - id: google.eventarc.triggers - name: triggers - title: Triggers + replace: + - $ref: >- + #/components/x-stackQL-resources/message_buses_iam_policies/methods/set_iam_policy + delete: [] + enrollments: + id: google.eventarc.enrollments + name: enrollments + title: Enrollments methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments~1{enrollmentsId}/get response: mediaType: application/json openAPIDocKey: '200' patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments~1{enrollmentsId}/patch response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments~1{enrollmentsId}/delete response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.triggers + objectKey: $.enrollments create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/triggers/methods/get' - - $ref: '#/components/x-stackQL-resources/triggers/methods/list' + - $ref: '#/components/x-stackQL-resources/enrollments/methods/get' + - $ref: '#/components/x-stackQL-resources/enrollments/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/triggers/methods/create' + - $ref: '#/components/x-stackQL-resources/enrollments/methods/create' update: - - $ref: '#/components/x-stackQL-resources/triggers/methods/patch' + - $ref: '#/components/x-stackQL-resources/enrollments/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/triggers/methods/delete' - triggers_iam_policies: - id: google.eventarc.triggers_iam_policies - name: triggers_iam_policies - title: Triggers_iam_policies + - $ref: '#/components/x-stackQL-resources/enrollments/methods/delete' + enrollments_iam_policies: + id: google.eventarc.enrollments_iam_policies + name: enrollments_iam_policies + title: Enrollments_iam_policies methods: set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments~1{enrollmentsId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments~1{enrollmentsId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' @@ -1549,88 +2802,88 @@ components: test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1triggers~1{triggersId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1enrollments~1{enrollmentsId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/triggers_iam_policies/methods/get_iam_policy + #/components/x-stackQL-resources/enrollments_iam_policies/methods/get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/triggers_iam_policies/methods/set_iam_policy + #/components/x-stackQL-resources/enrollments_iam_policies/methods/set_iam_policy delete: [] - channels: - id: google.eventarc.channels - name: channels - title: Channels + pipelines: + id: google.eventarc.pipelines + name: pipelines + title: Pipelines methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}/get response: mediaType: application/json openAPIDocKey: '200' patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}/patch response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}/delete response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.channels + objectKey: $.pipelines create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/channels/methods/get' - - $ref: '#/components/x-stackQL-resources/channels/methods/list' + - $ref: '#/components/x-stackQL-resources/pipelines/methods/get' + - $ref: '#/components/x-stackQL-resources/pipelines/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/channels/methods/create' + - $ref: '#/components/x-stackQL-resources/pipelines/methods/create' update: - - $ref: '#/components/x-stackQL-resources/channels/methods/patch' + - $ref: '#/components/x-stackQL-resources/pipelines/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/channels/methods/delete' - channels_iam_policies: - id: google.eventarc.channels_iam_policies - name: channels_iam_policies - title: Channels_iam_policies + - $ref: '#/components/x-stackQL-resources/pipelines/methods/delete' + pipelines_iam_policies: + id: google.eventarc.pipelines_iam_policies + name: pipelines_iam_policies + title: Pipelines_iam_policies methods: set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' @@ -1638,110 +2891,88 @@ components: test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channels~1{channelsId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1pipelines~1{pipelinesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/channels_iam_policies/methods/get_iam_policy + #/components/x-stackQL-resources/pipelines_iam_policies/methods/get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/channels_iam_policies/methods/set_iam_policy + #/components/x-stackQL-resources/pipelines_iam_policies/methods/set_iam_policy delete: [] - providers: - id: google.eventarc.providers - name: providers - title: Providers + google_api_sources: + id: google.eventarc.google_api_sources + name: google_api_sources + title: Google_api_sources methods: get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1providers~1{providersId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1providers/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources~1{googleApiSourcesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.providers - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/providers/methods/get' - - $ref: '#/components/x-stackQL-resources/providers/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - channel_connections: - id: google.eventarc.channel_connections - name: channel_connections - title: Channel_connections - methods: - get: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources~1{googleApiSourcesId}/patch response: mediaType: application/json openAPIDocKey: '200' delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources~1{googleApiSourcesId}/delete response: mediaType: application/json openAPIDocKey: '200' list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.channelConnections + objectKey: $.googleApiSources create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/channel_connections/methods/get' - - $ref: '#/components/x-stackQL-resources/channel_connections/methods/list' + - $ref: '#/components/x-stackQL-resources/google_api_sources/methods/get' + - $ref: '#/components/x-stackQL-resources/google_api_sources/methods/list' insert: - - $ref: >- - #/components/x-stackQL-resources/channel_connections/methods/create - update: [] + - $ref: '#/components/x-stackQL-resources/google_api_sources/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/google_api_sources/methods/patch' replace: [] delete: - - $ref: >- - #/components/x-stackQL-resources/channel_connections/methods/delete - channel_connections_iam_policies: - id: google.eventarc.channel_connections_iam_policies - name: channel_connections_iam_policies - title: Channel_connections_iam_policies + - $ref: '#/components/x-stackQL-resources/google_api_sources/methods/delete' + google_api_sources_iam_policies: + id: google.eventarc.google_api_sources_iam_policies + name: google_api_sources_iam_policies + title: Google_api_sources_iam_policies methods: set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources~1{googleApiSourcesId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources~1{googleApiSourcesId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' @@ -1749,19 +2980,19 @@ components: test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1channelConnections~1{channelConnectionsId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1googleApiSources~1{googleApiSourcesId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/channel_connections_iam_policies/methods/get_iam_policy + #/components/x-stackQL-resources/google_api_sources_iam_policies/methods/get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/channel_connections_iam_policies/methods/set_iam_policy + #/components/x-stackQL-resources/google_api_sources_iam_policies/methods/set_iam_policy delete: [] paths: /v1/projects/{projectsId}/locations/{locationsId}/googleChannelConfig: @@ -1778,8 +3009,1204 @@ paths: - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/_.xgafv' get: - description: Get a GoogleChannelConfig - operationId: eventarc.projects.locations.getGoogleChannelConfig + description: Get a GoogleChannelConfig + operationId: eventarc.projects.locations.getGoogleChannelConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleChannelConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + patch: + description: Update a single GoogleChannelConfig + operationId: eventarc.projects.locations.updateGoogleChannelConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleChannelConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleChannelConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations: + parameters: *ref_1 + get: + description: Lists information about the supported locations for this service. + operationId: eventarc.projects.locations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListLocationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}: + parameters: *ref_1 + get: + description: Gets information about a location. + operationId: eventarc.projects.locations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Location' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: eventarc.projects.locations.operations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: eventarc.projects.locations.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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`. + operationId: eventarc.projects.locations.operations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: eventarc.projects.locations.operations.cancel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningCancelOperationRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Empty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}: + parameters: *ref_1 + get: + description: Get a single trigger. + operationId: eventarc.projects.locations.triggers.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Trigger' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: triggersId + required: true + schema: + type: string + patch: + description: Update a single trigger. + operationId: eventarc.projects.locations.triggers.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Trigger' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: triggersId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: allowMissing + schema: + type: boolean + - in: query + name: validateOnly + schema: + type: boolean + delete: + description: Delete a single trigger. + operationId: eventarc.projects.locations.triggers.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: triggersId + required: true + schema: + type: string + - in: query + name: etag + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/triggers: + parameters: *ref_1 + get: + description: List triggers. + operationId: eventarc.projects.locations.triggers.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListTriggersResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Create a new trigger in a particular project and location. + operationId: eventarc.projects.locations.triggers.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Trigger' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: triggerId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: eventarc.projects.locations.triggers.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: triggersId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:getIamPolicy: + parameters: *ref_1 + get: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: eventarc.projects.locations.triggers.getIamPolicy + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: triggersId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: eventarc.projects.locations.triggers.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: triggersId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}: + parameters: *ref_1 + get: + description: Get a single Channel. + operationId: eventarc.projects.locations.channels.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Channel' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelsId + required: true + schema: + type: string + patch: + description: Update a single channel. + operationId: eventarc.projects.locations.channels.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Channel' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: validateOnly + schema: + type: boolean + delete: + description: Delete a single channel. + operationId: eventarc.projects.locations.channels.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelsId + required: true + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/channels: + parameters: *ref_1 + get: + description: List channels. + operationId: eventarc.projects.locations.channels.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListChannelsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + post: + description: Create a new channel in a particular project and location. + operationId: eventarc.projects.locations.channels.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Channel' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: channelId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: eventarc.projects.locations.channels.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:getIamPolicy: + parameters: *ref_1 + get: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: eventarc.projects.locations.channels.getIamPolicy + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelsId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: eventarc.projects.locations.channels.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}: + parameters: *ref_1 + get: + description: Get a single Provider. + operationId: eventarc.projects.locations.providers.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Provider' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: providersId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/providers: + parameters: *ref_1 + get: + description: List providers. + operationId: eventarc.projects.locations.providers.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListProvidersResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}: + parameters: *ref_1 + get: + description: Get a single ChannelConnection. + operationId: eventarc.projects.locations.channelConnections.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ChannelConnection' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelConnectionsId + required: true + schema: + type: string + delete: + description: Delete a single ChannelConnection. + operationId: eventarc.projects.locations.channelConnections.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelConnectionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/channelConnections: + parameters: *ref_1 + get: + description: List channel connections. + operationId: eventarc.projects.locations.channelConnections.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListChannelConnectionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: Create a new ChannelConnection in a particular project and location. + operationId: eventarc.projects.locations.channelConnections.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChannelConnection' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: channelConnectionId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:setIamPolicy: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: eventarc.projects.locations.channelConnections.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelConnectionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:getIamPolicy: + parameters: *ref_1 + get: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: eventarc.projects.locations.channelConnections.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1791,7 +4218,88 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleChannelConfig' + $ref: '#/components/schemas/Policy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelConnectionsId + required: true + schema: + type: string + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:testIamPermissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: eventarc.projects.locations.channelConnections.testIamPermissions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TestIamPermissionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: channelConnectionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}: + parameters: *ref_1 + get: + description: Get a single MessageBus. + operationId: eventarc.projects.locations.messageBuses.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/MessageBus' parameters: - in: path name: projectsId @@ -1803,14 +4311,19 @@ paths: required: true schema: type: string + - in: path + name: messageBusesId + required: true + schema: + type: string patch: - description: Update a single GoogleChannelConfig - operationId: eventarc.projects.locations.updateGoogleChannelConfig + description: Update a single message bus. + operationId: eventarc.projects.locations.messageBuses.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleChannelConfig' + $ref: '#/components/schemas/MessageBus' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1822,7 +4335,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleChannelConfig' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -1834,16 +4347,72 @@ paths: required: true schema: type: string + - in: path + name: messageBusesId + required: true + schema: + type: string - in: query name: updateMask schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/locations: + - in: query + name: allowMissing + schema: + type: boolean + - in: query + name: validateOnly + schema: + type: boolean + delete: + description: Delete a single message bus. + operationId: eventarc.projects.locations.messageBuses.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: messageBusesId + required: true + schema: + type: string + - in: query + name: etag + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/messageBuses: parameters: *ref_1 get: - description: Lists information about the supported locations for this service. - operationId: eventarc.projects.locations.list + description: List message buses. + operationId: eventarc.projects.locations.messageBuses.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1855,15 +4424,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListLocationsResponse' + $ref: '#/components/schemas/ListMessageBusesResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: filter + - in: path + name: locationsId + required: true schema: type: string - in: query @@ -1875,11 +4445,22 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}: - parameters: *ref_1 - get: - description: Gets information about a location. - operationId: eventarc.projects.locations.get + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Create a new MessageBus in a particular project and location. + operationId: eventarc.projects.locations.messageBuses.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MessageBus' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1891,7 +4472,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Location' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -1903,13 +4484,19 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations: + - in: query + name: messageBusId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:listEnrollments: parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: eventarc.projects.locations.operations.list + description: List message bus enrollments. + operationId: eventarc.projects.locations.messageBuses.listEnrollments security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1921,7 +4508,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/ListMessageBusEnrollmentsResponse' parameters: - in: path name: projectsId @@ -1933,8 +4520,9 @@ paths: required: true schema: type: string - - in: query - name: filter + - in: path + name: messageBusesId + required: true schema: type: string - in: query @@ -1946,14 +4534,19 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:setIamPolicy: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: eventarc.projects.locations.operations.get + Sets the access control policy on the specified resource. Replaces any + existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and + `PERMISSION_DENIED` errors. + operationId: eventarc.projects.locations.messageBuses.setIamPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetIamPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1965,7 +4558,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -1978,17 +4571,17 @@ paths: schema: type: string - in: path - name: operationsId + name: messageBusesId required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:getIamPolicy: + parameters: *ref_1 + get: description: >- - 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`. - operationId: eventarc.projects.locations.operations.delete + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: eventarc.projects.locations.messageBuses.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2000,7 +4593,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Policy' parameters: - in: path name: projectsId @@ -2013,29 +4606,30 @@ paths: schema: type: string - in: path - name: operationsId + name: messageBusesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + - in: query + name: options.requestedPolicyVersion + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:testIamPermissions: parameters: *ref_1 post: description: >- - 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`. - operationId: eventarc.projects.locations.operations.cancel + 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. + operationId: eventarc.projects.locations.messageBuses.testIamPermissions requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningCancelOperationRequest' + $ref: '#/components/schemas/TestIamPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2047,7 +4641,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/TestIamPermissionsResponse' parameters: - in: path name: projectsId @@ -2060,15 +4654,15 @@ paths: schema: type: string - in: path - name: operationsId + name: messageBusesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}: + /v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}: parameters: *ref_1 get: - description: Get a single trigger. - operationId: eventarc.projects.locations.triggers.get + description: Get a single Enrollment. + operationId: eventarc.projects.locations.enrollments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2080,7 +4674,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Trigger' + $ref: '#/components/schemas/Enrollment' parameters: - in: path name: projectsId @@ -2093,18 +4687,18 @@ paths: schema: type: string - in: path - name: triggersId + name: enrollmentsId required: true schema: type: string patch: - description: Update a single trigger. - operationId: eventarc.projects.locations.triggers.patch + description: Update a single Enrollment. + operationId: eventarc.projects.locations.enrollments.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/Trigger' + $ref: '#/components/schemas/Enrollment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2129,7 +4723,7 @@ paths: schema: type: string - in: path - name: triggersId + name: enrollmentsId required: true schema: type: string @@ -2147,8 +4741,8 @@ paths: schema: type: boolean delete: - description: Delete a single trigger. - operationId: eventarc.projects.locations.triggers.delete + description: Delete a single Enrollment. + operationId: eventarc.projects.locations.enrollments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2173,7 +4767,7 @@ paths: schema: type: string - in: path - name: triggersId + name: enrollmentsId required: true schema: type: string @@ -2189,11 +4783,11 @@ paths: name: validateOnly schema: type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/triggers: + /v1/projects/{projectsId}/locations/{locationsId}/enrollments: parameters: *ref_1 get: - description: List triggers. - operationId: eventarc.projects.locations.triggers.list + description: List Enrollments. + operationId: eventarc.projects.locations.enrollments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2205,7 +4799,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListTriggersResponse' + $ref: '#/components/schemas/ListEnrollmentsResponse' parameters: - in: path name: projectsId @@ -2235,13 +4829,13 @@ paths: schema: type: string post: - description: Create a new trigger in a particular project and location. - operationId: eventarc.projects.locations.triggers.create + description: Create a new Enrollment in a particular project and location. + operationId: eventarc.projects.locations.enrollments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/Trigger' + $ref: '#/components/schemas/Enrollment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2266,21 +4860,21 @@ paths: schema: type: string - in: query - name: triggerId + name: enrollmentId schema: type: string - in: query name: validateOnly schema: type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:setIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}:setIamPolicy: parameters: *ref_1 post: description: >- Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - operationId: eventarc.projects.locations.triggers.setIamPolicy + operationId: eventarc.projects.locations.enrollments.setIamPolicy requestBody: content: application/json: @@ -2310,17 +4904,17 @@ paths: schema: type: string - in: path - name: triggersId + name: enrollmentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}:getIamPolicy: parameters: *ref_1 get: description: >- Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. - operationId: eventarc.projects.locations.triggers.getIamPolicy + operationId: eventarc.projects.locations.enrollments.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2345,7 +4939,7 @@ paths: schema: type: string - in: path - name: triggersId + name: enrollmentsId required: true schema: type: string @@ -2354,7 +4948,7 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}:testIamPermissions: parameters: *ref_1 post: description: >- @@ -2363,7 +4957,7 @@ paths: 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. - operationId: eventarc.projects.locations.triggers.testIamPermissions + operationId: eventarc.projects.locations.enrollments.testIamPermissions requestBody: content: application/json: @@ -2393,15 +4987,15 @@ paths: schema: type: string - in: path - name: triggersId + name: enrollmentsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}: + /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}: parameters: *ref_1 get: - description: Get a single Channel. - operationId: eventarc.projects.locations.channels.get + description: Get a single Pipeline. + operationId: eventarc.projects.locations.pipelines.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2413,7 +5007,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Channel' + $ref: '#/components/schemas/Pipeline' parameters: - in: path name: projectsId @@ -2426,18 +5020,18 @@ paths: schema: type: string - in: path - name: channelsId + name: pipelinesId required: true schema: type: string patch: - description: Update a single channel. - operationId: eventarc.projects.locations.channels.patch + description: Update a single pipeline. + operationId: eventarc.projects.locations.pipelines.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/Channel' + $ref: '#/components/schemas/Pipeline' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2462,7 +5056,7 @@ paths: schema: type: string - in: path - name: channelsId + name: pipelinesId required: true schema: type: string @@ -2471,13 +5065,17 @@ paths: schema: type: string format: google-fieldmask + - in: query + name: allowMissing + schema: + type: boolean - in: query name: validateOnly schema: type: boolean delete: - description: Delete a single channel. - operationId: eventarc.projects.locations.channels.delete + description: Delete a single pipeline. + operationId: eventarc.projects.locations.pipelines.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2502,19 +5100,27 @@ paths: schema: type: string - in: path - name: channelsId + name: pipelinesId required: true schema: type: string + - in: query + name: etag + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean - in: query name: validateOnly schema: type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/channels: + /v1/projects/{projectsId}/locations/{locationsId}/pipelines: parameters: *ref_1 get: - description: List channels. - operationId: eventarc.projects.locations.channels.list + description: List pipelines. + operationId: eventarc.projects.locations.pipelines.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2526,7 +5132,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListChannelsResponse' + $ref: '#/components/schemas/ListPipelinesResponse' parameters: - in: path name: projectsId @@ -2551,14 +5157,18 @@ paths: name: orderBy schema: type: string + - in: query + name: filter + schema: + type: string post: - description: Create a new channel in a particular project and location. - operationId: eventarc.projects.locations.channels.create + description: Create a new Pipeline in a particular project and location. + operationId: eventarc.projects.locations.pipelines.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/Channel' + $ref: '#/components/schemas/Pipeline' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2583,21 +5193,21 @@ paths: schema: type: string - in: query - name: channelId + name: pipelineId schema: type: string - in: query name: validateOnly schema: type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:setIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:setIamPolicy: parameters: *ref_1 post: description: >- Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - operationId: eventarc.projects.locations.channels.setIamPolicy + operationId: eventarc.projects.locations.pipelines.setIamPolicy requestBody: content: application/json: @@ -2627,17 +5237,17 @@ paths: schema: type: string - in: path - name: channelsId + name: pipelinesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:getIamPolicy: parameters: *ref_1 get: description: >- Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. - operationId: eventarc.projects.locations.channels.getIamPolicy + operationId: eventarc.projects.locations.pipelines.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2662,7 +5272,7 @@ paths: schema: type: string - in: path - name: channelsId + name: pipelinesId required: true schema: type: string @@ -2671,7 +5281,7 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:testIamPermissions: parameters: *ref_1 post: description: >- @@ -2680,7 +5290,7 @@ paths: 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. - operationId: eventarc.projects.locations.channels.testIamPermissions + operationId: eventarc.projects.locations.pipelines.testIamPermissions requestBody: content: application/json: @@ -2710,15 +5320,15 @@ paths: schema: type: string - in: path - name: channelsId + name: pipelinesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}: + /v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}: parameters: *ref_1 get: - description: Get a single Provider. - operationId: eventarc.projects.locations.providers.get + description: Get a single GoogleApiSource. + operationId: eventarc.projects.locations.googleApiSources.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2730,7 +5340,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Provider' + $ref: '#/components/schemas/GoogleApiSource' parameters: - in: path name: projectsId @@ -2743,15 +5353,18 @@ paths: schema: type: string - in: path - name: providersId + name: googleApiSourcesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/providers: - parameters: *ref_1 - get: - description: List providers. - operationId: eventarc.projects.locations.providers.list + patch: + description: Update a single GoogleApiSource. + operationId: eventarc.projects.locations.googleApiSources.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleApiSource' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2763,7 +5376,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListProvidersResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -2775,28 +5388,27 @@ paths: required: true schema: type: string - - in: query - name: pageSize + - in: path + name: googleApiSourcesId + required: true schema: - type: integer - format: int32 + type: string - in: query - name: pageToken + name: updateMask schema: type: string + format: google-fieldmask - in: query - name: orderBy + name: allowMissing schema: - type: string + type: boolean - in: query - name: filter + name: validateOnly schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}: - parameters: *ref_1 - get: - description: Get a single ChannelConnection. - operationId: eventarc.projects.locations.channelConnections.get + type: boolean + delete: + description: Delete a single GoogleApiSource. + operationId: eventarc.projects.locations.googleApiSources.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2808,7 +5420,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ChannelConnection' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path name: projectsId @@ -2821,46 +5433,27 @@ paths: schema: type: string - in: path - name: channelConnectionsId + name: googleApiSourcesId required: true schema: type: string - delete: - description: Delete a single ChannelConnection. - operationId: eventarc.projects.locations.channelConnections.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true + - in: query + name: etag schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: allowMissing schema: - type: string - - in: path - name: channelConnectionsId - required: true + type: boolean + - in: query + name: validateOnly schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/channelConnections: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/googleApiSources: parameters: *ref_1 get: - description: List channel connections. - operationId: eventarc.projects.locations.channelConnections.list + description: List GoogleApiSources. + operationId: eventarc.projects.locations.googleApiSources.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2872,7 +5465,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListChannelConnectionsResponse' + $ref: '#/components/schemas/ListGoogleApiSourcesResponse' parameters: - in: path name: projectsId @@ -2893,14 +5486,22 @@ paths: name: pageToken schema: type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string post: - description: Create a new ChannelConnection in a particular project and location. - operationId: eventarc.projects.locations.channelConnections.create + description: Create a new GoogleApiSource in a particular project and location. + operationId: eventarc.projects.locations.googleApiSources.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/ChannelConnection' + $ref: '#/components/schemas/GoogleApiSource' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2925,17 +5526,21 @@ paths: schema: type: string - in: query - name: channelConnectionId + name: googleApiSourceId schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:setIamPolicy: + - in: query + name: validateOnly + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:setIamPolicy: parameters: *ref_1 post: description: >- Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - operationId: eventarc.projects.locations.channelConnections.setIamPolicy + operationId: eventarc.projects.locations.googleApiSources.setIamPolicy requestBody: content: application/json: @@ -2965,17 +5570,17 @@ paths: schema: type: string - in: path - name: channelConnectionsId + name: googleApiSourcesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:getIamPolicy: + /v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:getIamPolicy: parameters: *ref_1 get: description: >- Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. - operationId: eventarc.projects.locations.channelConnections.getIamPolicy + operationId: eventarc.projects.locations.googleApiSources.getIamPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3000,7 +5605,7 @@ paths: schema: type: string - in: path - name: channelConnectionsId + name: googleApiSourcesId required: true schema: type: string @@ -3009,7 +5614,7 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:testIamPermissions: + /v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:testIamPermissions: parameters: *ref_1 post: description: >- @@ -3018,7 +5623,7 @@ paths: 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. - operationId: eventarc.projects.locations.channelConnections.testIamPermissions + operationId: eventarc.projects.locations.googleApiSources.testIamPermissions requestBody: content: application/json: @@ -3048,7 +5653,7 @@ paths: schema: type: string - in: path - name: channelConnectionsId + name: googleApiSourcesId required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/file.yaml b/providers/src/googleapis.com/v00.00.00000/services/file.yaml index f8f0d27a..bfa0fbd9 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/file.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/file.yaml @@ -9,8 +9,8 @@ info: The Cloud Filestore API is used for creating and managing cloud file servers. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241015' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/filestore/ servers: @@ -622,17 +622,6 @@ components: upwards or downwards accordingly (respectively). type: object properties: - fixedIops: - description: >- - Choose a fixed provisioned IOPS value for the instance, which will - remain constant regardless of instance capacity. Value must be a - multiple of 1000. If the chosen value is outside the supported range - for the instance's capacity during instance creation, instance - creation will fail with an `InvalidArgument` error. Similarly, if an - instance capacity update would result in a value outside the - supported range, the update will fail with an `InvalidArgument` - error. - $ref: '#/components/schemas/FixedIOPS' iopsPerTb: description: >- Provision IOPS dynamically based on the capacity of the instance. @@ -646,22 +635,47 @@ components: would result in a value outside the supported range, the update will fail with an `InvalidArgument` error. $ref: '#/components/schemas/IOPSPerTB' + fixedIops: + description: >- + Choose a fixed provisioned IOPS value for the instance, which will + remain constant regardless of instance capacity. Value must be a + multiple of 1000. If the chosen value is outside the supported range + for the instance's capacity during instance creation, instance + creation will fail with an `InvalidArgument` error. Similarly, if an + instance capacity update would result in a value outside the + supported range, the update will fail with an `InvalidArgument` + error. + $ref: '#/components/schemas/FixedIOPS' + IOPSPerTB: + id: IOPSPerTB + description: IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). + type: object + properties: + maxReadIopsPerTb: + description: >- + Optional. Deprecated: `max_iops_per_tb` should be used instead of + this parameter. Maximum read IOPS per TiB. + deprecated: true + type: string + format: int64 + maxIopsPerTb: + description: Required. Maximum IOPS per TiB. + type: string + format: int64 FixedIOPS: id: FixedIOPS description: Fixed IOPS (input/output operations per second) parameters. type: object properties: maxReadIops: - description: Required. Maximum raw read IOPS. + description: >- + Optional. Deprecated: `max_iops` should be used instead of this + parameter. Maximum raw read IOPS. + deprecated: true type: string format: int64 - IOPSPerTB: - id: IOPSPerTB - description: IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). - type: object - properties: - maxReadIopsPerTb: - description: Required. Maximum read IOPS per TiB. + maxIops: + description: Required. Maximum IOPS. type: string format: int64 PerformanceLimits: @@ -1559,23 +1573,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 WeeklyCycle: diff --git a/providers/src/googleapis.com/v00.00.00000/services/firestore.yaml b/providers/src/googleapis.com/v00.00.00000/services/firestore.yaml index 0529d309..18ec11e4 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/firestore.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/firestore.yaml @@ -9,8 +9,8 @@ info: Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241018' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/firestore servers: @@ -1677,7 +1677,7 @@ components: description: >- A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. - limit + limit 7. find_nearest type: object properties: select: @@ -2036,9 +2036,9 @@ components: documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are - more similar, the comparison is inverted. For EUCLIDEAN, COSINE: - WHERE distance <= distance_threshold For DOT_PRODUCT: WHERE distance - >= distance_threshold + more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: + WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE + distance >= distance_threshold type: number format: double ExplainOptions: diff --git a/providers/src/googleapis.com/v00.00.00000/services/gkebackup.yaml b/providers/src/googleapis.com/v00.00.00000/services/gkebackup.yaml index 851a81b9..01643013 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/gkebackup.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/gkebackup.yaml @@ -9,8 +9,8 @@ info: Backup for GKE is a managed Kubernetes workload backup and restore service for GKE clusters. version: v1 - x-discovery-doc-revision: '20240902' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241016' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke servers: @@ -436,23 +436,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 Date: @@ -1729,6 +1734,9 @@ components: workloads may not yet be operational. - The restore operation has failed. - This Restore resource is in the process of being deleted. + - >- + The Kubernetes resources created by this Restore are being + validated. enum: - STATE_UNSPECIFIED - CREATING @@ -1736,6 +1744,7 @@ components: - SUCCEEDED - FAILED - DELETING + - VALIDATING stateReason: description: >- Output only. Human-readable description of why the Restore is in its diff --git a/providers/src/googleapis.com/v00.00.00000/services/gkehub.yaml b/providers/src/googleapis.com/v00.00.00000/services/gkehub.yaml index 587fb49b..f9af147b 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/gkehub.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/gkehub.yaml @@ -7,8 +7,8 @@ info: title: GKE Hub API description: '' version: v2 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster @@ -146,6 +146,2564 @@ components: { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type: object properties: {} + MembershipFeature: + id: MembershipFeature + description: >- + MembershipFeature represents the settings and status of a Fleet Feature + enabled on a single Fleet Membership. + type: object + properties: + name: + description: >- + Output only. The resource name of the membershipFeature, in the + format: + `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. + Note that `membershipFeatures` is shortened to `features` in the + resource name. (see http://go/aip/122#collection-identifiers) + readOnly: true + type: string + labels: + description: GCP labels for this MembershipFeature. + type: object + additionalProperties: + type: string + featureConfigRef: + description: >- + Reference information for a FeatureConfig applied on the + MembershipFeature. + $ref: '#/components/schemas/FeatureConfigRef' + spec: + description: Spec of this membershipFeature. + $ref: '#/components/schemas/FeatureSpec' + state: + description: Output only. State of the this membershipFeature. + readOnly: true + $ref: '#/components/schemas/FeatureState' + lifecycleState: + description: Output only. Lifecycle information of the resource itself. + readOnly: true + $ref: '#/components/schemas/LifecycleState' + createTime: + description: Output only. When the MembershipFeature resource was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. When the MembershipFeature resource was last updated. + readOnly: true + type: string + format: google-datetime + deleteTime: + description: Output only. When the MembershipFeature resource was deleted. + readOnly: true + type: string + format: google-datetime + FeatureConfigRef: + id: FeatureConfigRef + description: Information of the FeatureConfig applied on the MembershipFeature. + type: object + properties: + config: + description: >- + Input only. Resource name of FeatureConfig, in the format: + `projects/{project}/locations/global/featureConfigs/{feature_config}`. + type: string + uuid: + description: Output only. An id that uniquely identify a FeatureConfig object. + readOnly: true + type: string + configUpdateTime: + description: >- + Output only. When the FeatureConfig was last applied and copied to + FeatureSpec. + readOnly: true + type: string + format: google-datetime + FeatureSpec: + id: FeatureSpec + description: FeatureSpec contains user input per-feature spec information. + type: object + properties: + workloadcertificate: + description: Workloadcertificate-specific FeatureSpec. + $ref: '#/components/schemas/WorkloadCertificateSpec' + cloudbuild: + description: Cloudbuild-specific FeatureSpec. + $ref: '#/components/schemas/CloudBuildSpec' + policycontroller: + description: Policycontroller-specific FeatureSpec. + $ref: '#/components/schemas/PolicyControllerSpec' + identityservice: + description: IdentityService FeatureSpec. + $ref: '#/components/schemas/IdentityServiceSpec' + servicemesh: + description: ServiceMesh Feature Spec. + $ref: '#/components/schemas/ServiceMeshSpec' + configmanagement: + description: Config Management FeatureSpec. + $ref: '#/components/schemas/ConfigManagementSpec' + origin: + description: >- + Whether this per-Feature spec was inherited from a fleet-level + default. This field can be updated by users by either overriding a + Feature config (updated to USER implicitly) or setting to FLEET + explicitly. + $ref: '#/components/schemas/Origin' + WorkloadCertificateSpec: + id: WorkloadCertificateSpec + description: >- + **WorkloadCertificate**: The membership-specific input for + WorkloadCertificate feature. + type: object + properties: + certificateManagement: + description: CertificateManagement specifies workload certificate management. + type: string + enumDescriptions: + - Disable workload certificate feature. + - Disable workload certificate feature. + - Enable workload certificate feature. + enum: + - CERTIFICATE_MANAGEMENT_UNSPECIFIED + - DISABLED + - ENABLED + CloudBuildSpec: + id: CloudBuildSpec + description: '**Cloud Build**: Configurations for each Cloud Build enabled cluster.' + type: object + properties: + version: + description: Version of the cloud build software on the cluster. + type: string + securityPolicy: + description: >- + Whether it is allowed to run the privileged builds on the cluster or + not. + type: string + enumDescriptions: + - Unspecified policy + - Privileged build pods are disallowed + - Privileged build pods are allowed + enum: + - SECURITY_POLICY_UNSPECIFIED + - NON_PRIVILEGED + - PRIVILEGED + PolicyControllerSpec: + id: PolicyControllerSpec + description: >- + **Policy Controller**: Configuration for a single cluster. Intended to + parallel the PolicyController CR. + type: object + properties: + policyControllerHubConfig: + description: Policy Controller configuration for the cluster. + $ref: '#/components/schemas/PolicyControllerHubConfig' + version: + description: Version of Policy Controller installed. + type: string + PolicyControllerHubConfig: + id: PolicyControllerHubConfig + description: Configuration for Policy Controller + type: object + properties: + installSpec: + description: >- + The install_spec represents the intended state specified by the + latest request that mutated install_spec in the feature spec, not + the lifecycle state of the feature observed by the Hub feature + controller that is reported in the feature state. + type: string + enumDescriptions: + - Spec is unknown. + - Request to uninstall Policy Controller. + - Request to install and enable Policy Controller. + - >- + Request to suspend Policy Controller i.e. its webhooks. If Policy + Controller is not installed, it will be installed but suspended. + - >- + Request to stop all reconciliation actions by PoCo Hub controller. + This is a breakglass mechanism to stop PoCo Hub from affecting + cluster resources. + enum: + - INSTALL_SPEC_UNSPECIFIED + - INSTALL_SPEC_NOT_INSTALLED + - INSTALL_SPEC_ENABLED + - INSTALL_SPEC_SUSPENDED + - INSTALL_SPEC_DETACHED + auditIntervalSeconds: + description: >- + Sets the interval for Policy Controller Audit Scans (in seconds). + When set to 0, this disables audit functionality altogether. + type: string + format: int64 + exemptableNamespaces: + description: >- + The set of namespaces that are excluded from Policy Controller + checks. Namespaces do not need to currently exist on the cluster. + type: array + items: + type: string + referentialRulesEnabled: + description: >- + Enables the ability to use Constraint Templates that reference to + objects other than the object currently being evaluated. + type: boolean + logDeniesEnabled: + description: Logs all denies and dry run failures. + type: boolean + mutationEnabled: + description: Enables the ability to mutate resources using Policy Controller. + type: boolean + monitoring: + description: Monitoring specifies the configuration of monitoring. + $ref: '#/components/schemas/PolicyControllerMonitoringConfig' + policyContent: + description: Specifies the desired policy content on the cluster + $ref: '#/components/schemas/PolicyControllerPolicyContentSpec' + constraintViolationLimit: + description: >- + The maximum number of audit violations to be stored in a constraint. + If not set, the internal default (currently 20) will be used. + type: string + format: int64 + deploymentConfigs: + description: >- + Map of deployment configs to deployments (“admission”, “audit”, + “mutation”). + type: object + additionalProperties: + $ref: >- + #/components/schemas/PolicyControllerPolicyControllerDeploymentConfig + PolicyControllerMonitoringConfig: + id: PolicyControllerMonitoringConfig + description: >- + MonitoringConfig specifies the backends Policy Controller should export + metrics to. For example, to specify metrics should be exported to Cloud + Monitoring and Prometheus, specify backends: ["cloudmonitoring", + "prometheus"] + type: object + properties: + backends: + description: >- + Specifies the list of backends Policy Controller will export to. An + empty list would effectively disable metrics export. + type: array + items: + type: string + enumDescriptions: + - Backend cannot be determined + - Prometheus backend for monitoring + - Stackdriver/Cloud Monitoring backend for monitoring + enum: + - MONITORING_BACKEND_UNSPECIFIED + - PROMETHEUS + - CLOUD_MONITORING + PolicyControllerPolicyContentSpec: + id: PolicyControllerPolicyContentSpec + description: >- + PolicyContentSpec defines the user's desired content configuration on + the cluster. + type: object + properties: + bundles: + description: >- + map of bundle name to BundleInstallSpec. The bundle name maps to the + `bundleName` key in the `policycontroller.gke.io/constraintData` + annotation on a constraint. + type: object + additionalProperties: + $ref: '#/components/schemas/PolicyControllerBundleInstallSpec' + templateLibrary: + description: Configures the installation of the Template Library. + $ref: '#/components/schemas/PolicyControllerTemplateLibraryConfig' + PolicyControllerBundleInstallSpec: + id: PolicyControllerBundleInstallSpec + description: >- + BundleInstallSpec is the specification configuration for a single + managed bundle. + type: object + properties: + exemptedNamespaces: + description: the set of namespaces to be exempted from the bundle + type: array + items: + type: string + PolicyControllerTemplateLibraryConfig: + id: PolicyControllerTemplateLibraryConfig + description: The config specifying which default library templates to install. + type: object + properties: + installation: + description: >- + Configures the manner in which the template library is installed on + the cluster. + type: string + enumDescriptions: + - No installation strategy has been specified. + - Do not install the template library. + - Install the entire template library. + enum: + - INSTALLATION_UNSPECIFIED + - NOT_INSTALLED + - ALL + PolicyControllerPolicyControllerDeploymentConfig: + id: PolicyControllerPolicyControllerDeploymentConfig + description: Deployment-specific configuration. + type: object + properties: + replicaCount: + description: Pod replica count. + type: string + format: int64 + containerResources: + description: Container resource requirements. + $ref: '#/components/schemas/PolicyControllerResourceRequirements' + podAntiAffinity: + description: >- + Pod anti-affinity enablement. Deprecated: use `pod_affinity` + instead. + deprecated: true + type: boolean + podTolerations: + description: Pod tolerations of node taints. + type: array + items: + $ref: '#/components/schemas/PolicyControllerToleration' + podAffinity: + description: Pod affinity configuration. + type: string + enumDescriptions: + - No affinity configuration has been specified. + - Affinity configurations will be removed from the deployment. + - >- + Anti-affinity configuration will be applied to this deployment. + Default for admissions deployment. + enum: + - AFFINITY_UNSPECIFIED + - NO_AFFINITY + - ANTI_AFFINITY + PolicyControllerResourceRequirements: + id: PolicyControllerResourceRequirements + description: ResourceRequirements describes the compute resource requirements. + type: object + properties: + limits: + description: >- + Limits describes the maximum amount of compute resources allowed for + use by the running container. + $ref: '#/components/schemas/PolicyControllerResourceList' + requests: + description: >- + Requests describes the amount of compute resources reserved for the + container by the kube-scheduler. + $ref: '#/components/schemas/PolicyControllerResourceList' + PolicyControllerResourceList: + id: PolicyControllerResourceList + description: ResourceList contains container resource requirements. + type: object + properties: + memory: + description: Memory requirement expressed in Kubernetes resource units. + type: string + cpu: + description: CPU requirement expressed in Kubernetes resource units. + type: string + PolicyControllerToleration: + id: PolicyControllerToleration + description: Toleration of a node taint. + type: object + properties: + key: + description: Matches a taint key (not necessarily unique). + type: string + operator: + description: Matches a taint operator. + type: string + value: + description: Matches a taint value. + type: string + effect: + description: Matches a taint effect. + type: string + IdentityServiceSpec: + id: IdentityServiceSpec + description: '**IdentityService**: Configuration for a single membership.' + type: object + properties: + authMethods: + description: A member may support multiple auth methods. + type: array + items: + $ref: '#/components/schemas/IdentityServiceAuthMethod' + identityServiceOptions: + description: Optional. non-protocol-related configuration options. + $ref: '#/components/schemas/IdentityServiceIdentityServiceOptions' + IdentityServiceAuthMethod: + id: IdentityServiceAuthMethod + description: >- + Configuration of an auth method for a member/cluster. Only one + authentication method (e.g., OIDC and LDAP) can be set per AuthMethod. + type: object + properties: + oidcConfig: + description: OIDC specific configuration. + $ref: '#/components/schemas/IdentityServiceOidcConfig' + azureadConfig: + description: AzureAD specific Configuration. + $ref: '#/components/schemas/IdentityServiceAzureADConfig' + googleConfig: + description: GoogleConfig specific configuration + $ref: '#/components/schemas/IdentityServiceGoogleConfig' + samlConfig: + description: SAML specific configuration. + $ref: '#/components/schemas/IdentityServiceSamlConfig' + ldapConfig: + description: LDAP specific configuration. + $ref: '#/components/schemas/IdentityServiceLdapConfig' + name: + description: Identifier for auth config. + type: string + proxy: + description: Proxy server address to use for auth method. + type: string + IdentityServiceOidcConfig: + id: IdentityServiceOidcConfig + description: Configuration for OIDC Auth flow. + type: object + properties: + clientId: + description: ID for OIDC client application. + type: string + certificateAuthorityData: + description: PEM-encoded CA for OIDC provider. + type: string + issuerUri: + description: >- + URI for the OIDC provider. This should point to the level below + .well-known/openid-configuration. + type: string + kubectlRedirectUri: + description: >- + Registered redirect uri to redirect users going through OAuth flow + using kubectl plugin. + type: string + scopes: + description: Comma-separated list of identifiers. + type: string + extraParams: + description: Comma-separated list of key-value pairs. + type: string + userClaim: + description: Claim in OIDC ID token that holds username. + type: string + userPrefix: + description: Prefix to prepend to user name. + type: string + groupsClaim: + description: Claim in OIDC ID token that holds group information. + type: string + groupPrefix: + description: Prefix to prepend to group name. + type: string + deployCloudConsoleProxy: + description: >- + Flag to denote if reverse proxy is used to connect to auth provider. + This flag should be set to true when provider is not reachable by + Google Cloud Console. + type: boolean + clientSecret: + description: >- + Input only. Unencrypted OIDC client secret will be passed to the GKE + Hub CLH. + type: string + encryptedClientSecret: + description: Output only. Encrypted OIDC Client secret + readOnly: true + type: string + format: byte + enableAccessToken: + description: Enable access token. + type: boolean + IdentityServiceAzureADConfig: + id: IdentityServiceAzureADConfig + description: Configuration for the AzureAD Auth flow. + type: object + properties: + clientId: + description: >- + ID for the registered client application that makes authentication + requests to the Azure AD identity provider. + type: string + tenant: + description: >- + Kind of Azure AD account to be authenticated. Supported values are + or for accounts belonging to a specific tenant. + type: string + kubectlRedirectUri: + description: The redirect URL that kubectl uses for authorization. + type: string + clientSecret: + description: >- + Input only. Unencrypted AzureAD client secret will be passed to the + GKE Hub CLH. + type: string + encryptedClientSecret: + description: Output only. Encrypted AzureAD client secret. + readOnly: true + type: string + format: byte + userClaim: + description: Optional. Claim in the AzureAD ID Token that holds the user details. + type: string + groupFormat: + description: >- + Optional. Format of the AzureAD groups that the client wants for + auth. + type: string + IdentityServiceGoogleConfig: + id: IdentityServiceGoogleConfig + description: Configuration for the Google Plugin Auth flow. + type: object + properties: + disable: + description: >- + Disable automatic configuration of Google Plugin on supported + platforms. + type: boolean + IdentityServiceSamlConfig: + id: IdentityServiceSamlConfig + description: Configuration for the SAML Auth flow. + type: object + properties: + identityProviderId: + description: Required. The entity ID of the SAML IdP. + type: string + identityProviderSsoUri: + description: Required. The URI where the SAML IdP exposes the SSO service. + type: string + identityProviderCertificates: + description: >- + Required. The list of IdP certificates to validate the SAML response + against. + type: array + items: + type: string + userAttribute: + description: >- + Optional. The SAML attribute to read username from. If unspecified, + the username will be read from the NameID element of the assertion + in SAML response. This value is expected to be a string and will be + passed along as-is (with the option of being prefixed by the + `user_prefix`). + type: string + groupsAttribute: + description: >- + Optional. The SAML attribute to read groups from. This value is + expected to be a string and will be passed along as-is (with the + option of being prefixed by the `group_prefix`). + type: string + userPrefix: + description: Optional. Prefix to prepend to user name. + type: string + groupPrefix: + description: Optional. Prefix to prepend to group name. + type: string + attributeMapping: + description: >- + Optional. The mapping of additional user attributes like nickname, + birthday and address etc.. `key` is the name of this additional + attribute. `value` is a string presenting as CEL(common expression + language, go/cel) used for getting the value from the resources. + Take nickname as an example, in this case, `key` is + "attribute.nickname" and `value` is "assertion.nickname". + type: object + additionalProperties: + type: string + IdentityServiceLdapConfig: + id: IdentityServiceLdapConfig + description: Configuration for the LDAP Auth flow. + type: object + properties: + server: + description: Required. Server settings for the external LDAP server. + $ref: '#/components/schemas/IdentityServiceServerConfig' + user: + description: Required. Defines where users exist in the LDAP directory. + $ref: '#/components/schemas/IdentityServiceUserConfig' + group: + description: >- + Optional. Contains the properties for locating and authenticating + groups in the directory. + $ref: '#/components/schemas/IdentityServiceGroupConfig' + serviceAccount: + description: >- + Required. Contains the credentials of the service account which is + authorized to perform the LDAP search in the directory. The + credentials can be supplied by the combination of the DN and + password or the client certificate. + $ref: '#/components/schemas/IdentityServiceServiceAccountConfig' + IdentityServiceServerConfig: + id: IdentityServiceServerConfig + description: Server settings for the external LDAP server. + type: object + properties: + host: + description: >- + Required. Defines the hostname or IP of the LDAP server. Port is + optional and will default to 389, if unspecified. For example, + "ldap.server.example" or "10.10.10.10:389". + type: string + connectionType: + description: >- + Optional. Defines the connection type to communicate with the LDAP + server. If `starttls` or `ldaps` is specified, the + certificate_authority_data should not be empty. + type: string + certificateAuthorityData: + description: >- + Optional. Contains a Base64 encoded, PEM formatted certificate + authority certificate for the LDAP server. This must be provided for + the "ldaps" and "startTLS" connections. + type: string + format: byte + IdentityServiceUserConfig: + id: IdentityServiceUserConfig + description: Defines where users exist in the LDAP directory. + type: object + properties: + baseDn: + description: >- + Required. The location of the subtree in the LDAP directory to + search for user entries. + type: string + loginAttribute: + description: >- + Optional. The name of the attribute which matches against the input + username. This is used to find the user in the LDAP database e.g. + "(=)" and is combined with the optional filter field. This defaults + to "userPrincipalName". + type: string + idAttribute: + description: >- + Optional. Determines which attribute to use as the user's identity + after they are authenticated. This is distinct from the + loginAttribute field to allow users to login with a username, but + then have their actual identifier be an email address or full + Distinguished Name (DN). For example, setting loginAttribute to + "sAMAccountName" and identifierAttribute to "userPrincipalName" + would allow a user to login as "bsmith", but actual RBAC policies + for the user would be written as "bsmith@example.com". Using + "userPrincipalName" is recommended since this will be unique for + each user. This defaults to "userPrincipalName". + type: string + filter: + description: >- + Optional. Filter to apply when searching for the user. This can be + used to further restrict the user accounts which are allowed to + login. This defaults to "(objectClass=User)". + type: string + IdentityServiceGroupConfig: + id: IdentityServiceGroupConfig + description: >- + Contains the properties for locating and authenticating groups in the + directory. + type: object + properties: + baseDn: + description: >- + Required. The location of the subtree in the LDAP directory to + search for group entries. + type: string + idAttribute: + description: >- + Optional. The identifying name of each group a user belongs to. For + example, if this is set to "distinguishedName" then RBACs and other + group expectations should be written as full DNs. This defaults to + "distinguishedName". + type: string + filter: + description: >- + Optional. Optional filter to be used when searching for groups a + user belongs to. This can be used to explicitly match only certain + groups in order to reduce the amount of groups returned for each + user. This defaults to "(objectClass=Group)". + type: string + IdentityServiceServiceAccountConfig: + id: IdentityServiceServiceAccountConfig + description: >- + Contains the credentials of the service account which is authorized to + perform the LDAP search in the directory. The credentials can be + supplied by the combination of the DN and password or the client + certificate. + type: object + properties: + simpleBindCredentials: + description: Credentials for basic auth. + $ref: '#/components/schemas/IdentityServiceSimpleBindCredentials' + IdentityServiceSimpleBindCredentials: + id: IdentityServiceSimpleBindCredentials + description: The structure holds the LDAP simple binding credential. + type: object + properties: + dn: + description: >- + Required. The distinguished name(DN) of the service account + object/user. + type: string + password: + description: >- + Required. Input only. The password of the service account + object/user. + type: string + encryptedPassword: + description: >- + Output only. The encrypted password of the service account + object/user. + readOnly: true + type: string + format: byte + IdentityServiceIdentityServiceOptions: + id: IdentityServiceIdentityServiceOptions + description: Holds non-protocol-related configuration options. + type: object + properties: + sessionDuration: + description: >- + Determines the lifespan of STS tokens issued by Anthos Identity + Service. + type: string + format: google-duration + diagnosticInterface: + description: Configuration options for the AIS diagnostic interface. + $ref: '#/components/schemas/IdentityServiceDiagnosticInterface' + IdentityServiceDiagnosticInterface: + id: IdentityServiceDiagnosticInterface + description: Configuration options for the AIS diagnostic interface. + type: object + properties: + enabled: + description: Determines whether to enable the diagnostic interface. + type: boolean + expirationTime: + description: >- + Determines the expiration time of the diagnostic interface + enablement. When reached, requests to the interface would be + automatically rejected. + type: string + format: google-datetime + ServiceMeshSpec: + id: ServiceMeshSpec + description: >- + **Service Mesh**: Spec for a single Membership for the servicemesh + feature + type: object + properties: + controlPlane: + description: >- + Deprecated: use `management` instead Enables automatic control plane + management. + deprecated: true + type: string + enumDescriptions: + - Unspecified + - >- + Google should provision a control plane revision and make it + available in the cluster. Google will enroll this revision in a + release channel and keep it up to date. The control plane revision + may be a managed service, or a managed install. + - >- + User will manually configure the control plane (e.g. via CLI, or + via the ControlPlaneRevision KRM API) + enum: + - CONTROL_PLANE_MANAGEMENT_UNSPECIFIED + - AUTOMATIC + - MANUAL + defaultChannel: + description: >- + Determines which release channel to use for default injection and + service mesh APIs. + deprecated: true + type: string + enumDescriptions: + - Unspecified + - >- + RAPID channel is offered on an early access basis for customers + who want to test new releases. + - >- + REGULAR channel is intended for production users who want to take + advantage of new features. + - >- + STABLE channel includes versions that are known to be stable and + reliable in production. + enum: + - CHANNEL_UNSPECIFIED + - RAPID + - REGULAR + - STABLE + management: + description: Optional. Enables automatic Service Mesh management. + type: string + enumDescriptions: + - Unspecified + - Google should manage my Service Mesh for the cluster. + - User will manually configure their service mesh components. + enum: + - MANAGEMENT_UNSPECIFIED + - MANAGEMENT_AUTOMATIC + - MANAGEMENT_MANUAL + configApi: + description: >- + Optional. Specifies the API that will be used for configuring the + mesh workloads. + type: string + enumDescriptions: + - Unspecified + - Use the Istio API for configuration. + - Use the K8s Gateway API for configuration. + enum: + - CONFIG_API_UNSPECIFIED + - CONFIG_API_ISTIO + - CONFIG_API_GATEWAY + ConfigManagementSpec: + id: ConfigManagementSpec + description: >- + **Anthos Config Management**: Configuration for a single cluster. + Intended to parallel the ConfigManagement CR. + type: object + properties: + configSync: + description: Config Sync configuration for the cluster. + $ref: '#/components/schemas/ConfigManagementConfigSync' + policyController: + description: >- + Policy Controller configuration for the cluster. Deprecated: + Configuring Policy Controller through the configmanagement feature + is no longer recommended. Use the policycontroller feature instead. + $ref: '#/components/schemas/ConfigManagementPolicyController' + binauthz: + description: >- + Binauthz conifguration for the cluster. Deprecated: This field will + be ignored and should not be set. + deprecated: true + $ref: '#/components/schemas/ConfigManagementBinauthzConfig' + hierarchyController: + description: >- + Hierarchy Controller configuration for the cluster. Deprecated: + Configuring Hierarchy Controller through the configmanagement + feature is no longer recommended. Use + https://github.com/kubernetes-sigs/hierarchical-namespaces instead. + $ref: '#/components/schemas/ConfigManagementHierarchyControllerConfig' + version: + description: Version of ACM installed. + type: string + cluster: + description: >- + The user-specified cluster name used by Config Sync + cluster-name-selector annotation or ClusterSelector, for applying + configs to only a subset of clusters. Omit this field if the + cluster's fleet membership name is used by Config Sync + cluster-name-selector annotation or ClusterSelector. Set this field + if a name different from the cluster's fleet membership name is used + by Config Sync cluster-name-selector annotation or ClusterSelector. + type: string + management: + description: Enables automatic Feature management. + type: string + enumDescriptions: + - Unspecified + - Google will manage the Feature for the cluster. + - User will manually manage the Feature for the cluster. + enum: + - MANAGEMENT_UNSPECIFIED + - MANAGEMENT_AUTOMATIC + - MANAGEMENT_MANUAL + ConfigManagementConfigSync: + id: ConfigManagementConfigSync + description: Configuration for Config Sync + type: object + properties: + git: + description: Git repo configuration for the cluster. + $ref: '#/components/schemas/ConfigManagementGitConfig' + sourceFormat: + description: >- + Specifies whether the Config Sync Repo is in "hierarchical" or + "unstructured" mode. + type: string + enabled: + description: >- + Enables the installation of ConfigSync. If set to true, ConfigSync + resources will be created and the other ConfigSync fields will be + applied if exist. If set to false, all other ConfigSync fields will + be ignored, ConfigSync resources will be deleted. If omitted, + ConfigSync resources will be managed depends on the presence of the + git or oci field. + type: boolean + preventDrift: + description: >- + Set to true to enable the Config Sync admission webhook to prevent + drifts. If set to `false`, disables the Config Sync admission + webhook and does not prevent drifts. + type: boolean + oci: + description: OCI repo configuration for the cluster. + $ref: '#/components/schemas/ConfigManagementOciConfig' + allowVerticalScale: + description: >- + Set to true to allow the vertical scaling. Defaults to false which + disallows vertical scaling. This field is deprecated. + deprecated: true + type: boolean + metricsGcpServiceAccountEmail: + description: >- + The Email of the Google Cloud Service Account (GSA) used for + exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch + when Workload Identity is enabled. The GSA should have the + Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. + The Kubernetes ServiceAccount `default` in the namespace + `config-management-monitoring` should be bound to the GSA. + Deprecated: If Workload Identity Federation for GKE is enabled, + Google Cloud Service Account is no longer needed for exporting + Config Sync metrics: + https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + deprecated: true + type: string + stopSyncing: + description: >- + Set to true to stop syncing configs for a single cluster. Default to + false. + type: boolean + ConfigManagementGitConfig: + id: ConfigManagementGitConfig + description: Git repo configuration for a single cluster. + type: object + properties: + syncRepo: + description: The URL of the Git repository to use as the source of truth. + type: string + syncBranch: + description: 'The branch of the repository to sync from. Default: master.' + type: string + policyDir: + description: >- + The path within the Git repository that represents the top level of + the repo to sync. Default: the root directory of the repository. + type: string + syncWaitSecs: + description: 'Period in seconds between consecutive syncs. Default: 15.' + type: string + format: int64 + syncRev: + description: Git revision (tag or hash) to check out. Default HEAD. + type: string + secretType: + description: >- + Type of secret configured for access to the Git repo. Must be one of + ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The + validation of this is case-sensitive. Required. + type: string + httpsProxy: + description: >- + URL for the HTTPS proxy to be used when communicating with the Git + repo. + type: string + gcpServiceAccountEmail: + description: >- + The Google Cloud Service Account Email used for auth when + secret_type is gcpServiceAccount. + type: string + ConfigManagementOciConfig: + id: ConfigManagementOciConfig + description: OCI repo configuration for a single cluster. + type: object + properties: + syncRepo: + description: >- + The OCI image repository URL for the package to sync from. e.g. + `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + type: string + policyDir: + description: >- + The absolute path of the directory that contains the local + resources. Default: the root directory of the image. + type: string + syncWaitSecs: + description: 'Period in seconds between consecutive syncs. Default: 15.' + type: string + format: int64 + secretType: + description: Type of secret configured for access to the Git repo. + type: string + gcpServiceAccountEmail: + description: >- + The Google Cloud Service Account Email used for auth when + secret_type is gcpServiceAccount. + type: string + ConfigManagementPolicyController: + id: ConfigManagementPolicyController + description: Configuration for Policy Controller + type: object + properties: + enabled: + description: >- + Enables the installation of Policy Controller. If false, the rest of + PolicyController fields take no effect. + type: boolean + templateLibraryInstalled: + description: Installs the default template library along with Policy Controller. + type: boolean + auditIntervalSeconds: + description: >- + Sets the interval for Policy Controller Audit Scans (in seconds). + When set to 0, this disables audit functionality altogether. + type: string + format: int64 + exemptableNamespaces: + description: >- + The set of namespaces that are excluded from Policy Controller + checks. Namespaces do not need to currently exist on the cluster. + type: array + items: + type: string + referentialRulesEnabled: + description: >- + Enables the ability to use Constraint Templates that reference to + objects other than the object currently being evaluated. + type: boolean + logDeniesEnabled: + description: Logs all denies and dry run failures. + type: boolean + mutationEnabled: + description: >- + Enable or disable mutation in policy controller. If true, mutation + CRDs, webhook and controller deployment will be deployed to the + cluster. + type: boolean + monitoring: + description: Monitoring specifies the configuration of monitoring. + $ref: '#/components/schemas/ConfigManagementPolicyControllerMonitoring' + updateTime: + description: Output only. Last time this membership spec was updated. + readOnly: true + type: string + format: google-datetime + ConfigManagementPolicyControllerMonitoring: + id: ConfigManagementPolicyControllerMonitoring + description: >- + PolicyControllerMonitoring specifies the backends Policy Controller + should export metrics to. For example, to specify metrics should be + exported to Cloud Monitoring and Prometheus, specify backends: + ["cloudmonitoring", "prometheus"] + type: object + properties: + backends: + description: >- + Specifies the list of backends Policy Controller will export to. An + empty list would effectively disable metrics export. + type: array + items: + type: string + enumDescriptions: + - Backend cannot be determined + - Prometheus backend for monitoring + - Stackdriver/Cloud Monitoring backend for monitoring + enum: + - MONITORING_BACKEND_UNSPECIFIED + - PROMETHEUS + - CLOUD_MONITORING + ConfigManagementBinauthzConfig: + id: ConfigManagementBinauthzConfig + description: Configuration for Binauthz. + type: object + properties: + enabled: + description: Whether binauthz is enabled in this cluster. + type: boolean + ConfigManagementHierarchyControllerConfig: + id: ConfigManagementHierarchyControllerConfig + description: Configuration for Hierarchy Controller. + type: object + properties: + enabled: + description: Whether Hierarchy Controller is enabled in this cluster. + type: boolean + enablePodTreeLabels: + description: Whether pod tree labels are enabled in this cluster. + type: boolean + enableHierarchicalResourceQuota: + description: Whether hierarchical resource quota is enabled in this cluster. + type: boolean + Origin: + id: Origin + description: Origin defines where this FeatureSpec originated from. + type: object + properties: + type: + description: Type specifies which type of origin is set. + type: string + enumDescriptions: + - Type is unknown or not set. + - Per-Feature spec was inherited from the fleet-level default. + - >- + Per-Feature spec was inherited from the fleet-level default but is + now out of sync with the current default. + - Per-Feature spec was inherited from a user specification. + enum: + - TYPE_UNSPECIFIED + - FLEET + - FLEET_OUT_OF_SYNC + - USER + FeatureState: + id: FeatureState + description: >- + FeatureState contains high-level state information and per-feature state + information for this MembershipFeature. + type: object + properties: + clusterupgrade: + description: Cluster upgrade state. + $ref: '#/components/schemas/ClusterUpgradeState' + identityservice: + description: Identity service state + $ref: '#/components/schemas/IdentityServiceState' + servicemesh: + description: Service mesh state + $ref: '#/components/schemas/ServiceMeshState' + metering: + description: Metering state + $ref: '#/components/schemas/MeteringState' + configmanagement: + description: Config Management state + $ref: '#/components/schemas/ConfigManagementState' + policycontroller: + description: Policy Controller state + $ref: '#/components/schemas/PolicyControllerState' + appdevexperience: + description: Appdevexperience specific state. + $ref: '#/components/schemas/AppDevExperienceState' + state: + description: The high-level state of this MembershipFeature. + $ref: '#/components/schemas/State' + ClusterUpgradeState: + id: ClusterUpgradeState + description: Per-membership state for this feature. + type: object + properties: + ignored: + description: >- + Whether this membership is ignored by the feature. For example, + manually upgraded clusters can be ignored if they are newer than the + default versions of its release channel. + $ref: '#/components/schemas/ClusterUpgradeIgnoredMembership' + upgrades: + description: Actual upgrade state against desired. + type: array + items: + $ref: '#/components/schemas/ClusterUpgradeMembershipGKEUpgradeState' + ClusterUpgradeIgnoredMembership: + id: ClusterUpgradeIgnoredMembership + description: >- + IgnoredMembership represents a membership ignored by the feature. A + membership can be ignored because it was manually upgraded to a newer + version than RC default. + type: object + properties: + reason: + description: Reason why the membership is ignored. + type: string + ignoredTime: + description: Time when the membership was first set to ignored. + type: string + format: google-datetime + ClusterUpgradeMembershipGKEUpgradeState: + id: ClusterUpgradeMembershipGKEUpgradeState + description: MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. + type: object + properties: + upgrade: + description: Which upgrade to track the state. + $ref: '#/components/schemas/ClusterUpgradeGKEUpgrade' + status: + description: Status of the upgrade. + $ref: '#/components/schemas/ClusterUpgradeUpgradeStatus' + ClusterUpgradeGKEUpgrade: + id: ClusterUpgradeGKEUpgrade + description: >- + GKEUpgrade represents a GKE provided upgrade, e.g., control plane + upgrade. + type: object + properties: + name: + description: Name of the upgrade, e.g., "k8s_control_plane". + type: string + version: + description: Version of the upgrade, e.g., "1.22.1-gke.100". + type: string + ClusterUpgradeUpgradeStatus: + id: ClusterUpgradeUpgradeStatus + description: UpgradeStatus provides status information for each upgrade. + type: object + properties: + code: + description: Status code of the upgrade. + type: string + enumDescriptions: + - Required by https://linter.aip.dev/126/unspecified. + - >- + The upgrade is ineligible. At the scope level, this means the + upgrade is ineligible for all the clusters in the scope. + - >- + The upgrade is pending. At the scope level, this means the upgrade + is pending for all the clusters in the scope. + - >- + The upgrade is in progress. At the scope level, this means the + upgrade is in progress for at least one cluster in the scope. + - >- + The upgrade has finished and is soaking until the soaking time is + up. At the scope level, this means at least one cluster is in + soaking while the rest are either soaking or complete. + - >- + A cluster will be forced to enter soaking if an upgrade doesn't + finish within a certain limit, despite it's actual status. + - >- + The upgrade has passed all post conditions (soaking). At the scope + level, this means all eligible clusters are in COMPLETE status. + enum: + - CODE_UNSPECIFIED + - INELIGIBLE + - PENDING + - IN_PROGRESS + - SOAKING + - FORCED_SOAKING + - COMPLETE + reason: + description: Reason for this status. + type: string + updateTime: + description: Last timestamp the status was updated. + type: string + format: google-datetime + IdentityServiceState: + id: IdentityServiceState + description: >- + **IdentityService**: State for a single membership, analyzed and + reported by feature controller. + type: object + properties: + installedVersion: + description: >- + Installed AIS version. This is the AIS version installed on this + member. The values makes sense iff state is OK. + type: string + state: + description: Deployment state on this member + type: string + enumDescriptions: + - Unspecified state + - deployment succeeds + - Failure with error. + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - OK + - ERROR + failureReason: + description: The reason of the failure. + type: string + memberConfig: + description: Last reconciled membership configuration + $ref: '#/components/schemas/IdentityServiceSpec' + ServiceMeshState: + id: ServiceMeshState + description: >- + **Service Mesh**: State for a single Membership, as analyzed by the + Service Mesh Hub Controller. + type: object + properties: + analysisMessages: + description: Output only. Results of running Service Mesh analyzers. + readOnly: true + type: array + items: + $ref: '#/components/schemas/ServiceMeshAnalysisMessage' + controlPlaneManagement: + description: Output only. Status of control plane management + readOnly: true + $ref: '#/components/schemas/ServiceMeshControlPlaneManagement' + dataPlaneManagement: + description: Output only. Status of data plane management. + readOnly: true + $ref: '#/components/schemas/ServiceMeshDataPlaneManagement' + configApiVersion: + description: >- + The API version (i.e. Istio CRD version) for configuring service + mesh in this cluster. This version is influenced by the + `default_channel` field. + type: string + conditions: + description: Output only. List of conditions reported for this membership. + readOnly: true + type: array + items: + $ref: '#/components/schemas/ServiceMeshCondition' + ServiceMeshAnalysisMessage: + id: ServiceMeshAnalysisMessage + description: >- + AnalysisMessage is a single message produced by an analyzer, and it used + to communicate to the end user about the state of their Service Mesh + configuration. + type: object + properties: + messageBase: + description: >- + Details common to all types of Istio and ServiceMesh analysis + messages. + $ref: '#/components/schemas/ServiceMeshAnalysisMessageBase' + description: + description: >- + A human readable description of what the error means. It is suitable + for non-internationalize display purposes. + type: string + resourcePaths: + description: >- + A list of strings specifying the resource identifiers that were the + cause of message generation. A "path" here may be: * MEMBERSHIP_ID + if the cause is a specific member cluster * + MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a + resource in a cluster + type: array + items: + type: string + args: + description: >- + A UI can combine these args with a template (based on + message_base.type) to produce an internationalized message. + type: object + additionalProperties: + type: any + description: Properties of the object. + ServiceMeshAnalysisMessageBase: + id: ServiceMeshAnalysisMessageBase + description: >- + AnalysisMessageBase describes some common information that is needed for + all messages. + type: object + properties: + type: + description: Represents the specific type of a message. + $ref: '#/components/schemas/ServiceMeshType' + level: + description: Represents how severe a message is. + type: string + enumDescriptions: + - >- + Illegal. Same + istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN. + - ERROR represents a misconfiguration that must be fixed. + - WARNING represents a misconfiguration that should be fixed. + - INFO represents an informational finding. + enum: + - LEVEL_UNSPECIFIED + - ERROR + - WARNING + - INFO + documentationUrl: + description: >- + A url pointing to the Service Mesh or Istio documentation for this + specific error type. + type: string + ServiceMeshType: + id: ServiceMeshType + description: >- + A unique identifier for the type of message. Display_name is intended to + be human-readable, code is intended to be machine readable. There should + be a one-to-one mapping between display_name and code. (i.e. do not + re-use display_names or codes between message types.) See + istio.analysis.v1alpha1.AnalysisMessageBase.Type + type: object + properties: + displayName: + description: >- + A human-readable name for the message type. e.g. "InternalError", + "PodMissingProxy". This should be the same for all messages of the + same type. (This corresponds to the `name` field in open-source + Istio.) + type: string + code: + description: >- + A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, + intended to uniquely identify the message type. (e.g. "IST0001" is + mapped to the "InternalError" message type.) + type: string + ServiceMeshControlPlaneManagement: + id: ServiceMeshControlPlaneManagement + description: Status of control plane management. + type: object + properties: + details: + description: Explanation of state. + type: array + items: + $ref: '#/components/schemas/ServiceMeshStatusDetails' + state: + description: LifecycleState of control plane management. + type: string + enumDescriptions: + - Unspecified + - DISABLED means that the component is not enabled. + - >- + FAILED_PRECONDITION means that provisioning cannot proceed because + of some characteristic of the member cluster. + - PROVISIONING means that provisioning is in progress. + - ACTIVE means that the component is ready for use. + - STALLED means that provisioning could not be done. + - >- + NEEDS_ATTENTION means that the component is ready, but some user + intervention is required. (For example that the user should + migrate workloads to a new control plane revision.) + - >- + DEGRADED means that the component is ready, but operating in a + degraded state. + enum: + - LIFECYCLE_STATE_UNSPECIFIED + - DISABLED + - FAILED_PRECONDITION + - PROVISIONING + - ACTIVE + - STALLED + - NEEDS_ATTENTION + - DEGRADED + implementation: + description: Output only. Implementation of managed control plane. + readOnly: true + type: string + enumDescriptions: + - Unspecified + - A Google build of istiod is used for the managed control plane. + - Traffic director is used for the managed control plane. + - The control plane implementation is being updated. + enum: + - IMPLEMENTATION_UNSPECIFIED + - ISTIOD + - TRAFFIC_DIRECTOR + - UPDATING + ServiceMeshStatusDetails: + id: ServiceMeshStatusDetails + description: Structured and human-readable details for a status. + type: object + properties: + code: + description: A machine-readable code that further describes a broad status. + type: string + details: + description: Human-readable explanation of code. + type: string + ServiceMeshDataPlaneManagement: + id: ServiceMeshDataPlaneManagement + description: Status of data plane management. Only reported per-member. + type: object + properties: + state: + description: Lifecycle status of data plane management. + type: string + enumDescriptions: + - Unspecified + - DISABLED means that the component is not enabled. + - >- + FAILED_PRECONDITION means that provisioning cannot proceed because + of some characteristic of the member cluster. + - PROVISIONING means that provisioning is in progress. + - ACTIVE means that the component is ready for use. + - STALLED means that provisioning could not be done. + - >- + NEEDS_ATTENTION means that the component is ready, but some user + intervention is required. (For example that the user should + migrate workloads to a new control plane revision.) + - >- + DEGRADED means that the component is ready, but operating in a + degraded state. + enum: + - LIFECYCLE_STATE_UNSPECIFIED + - DISABLED + - FAILED_PRECONDITION + - PROVISIONING + - ACTIVE + - STALLED + - NEEDS_ATTENTION + - DEGRADED + details: + description: Explanation of the status. + type: array + items: + $ref: '#/components/schemas/ServiceMeshStatusDetails' + ServiceMeshCondition: + id: ServiceMeshCondition + description: Condition being reported. + type: object + properties: + code: + description: >- + Unique identifier of the condition which describes the condition + recognizable to the user. + type: string + enumDescriptions: + - Default Unspecified code + - Mesh IAM permission denied error code + - Permission denied error code for cross-project + - CNI config unsupported error code + - GKE sandbox unsupported error code + - Nodepool workload identity federation required error code + - CNI installation failed error code + - CNI pod unschedulable error code + - Cluster has zero node code + - Multiple control planes unsupported error code + - VPC-SC GA is supported for this control plane. + - >- + User is using deprecated ControlPlaneManagement and they have not + yet set Management. + - >- + User is using deprecated ControlPlaneManagement and they have + already set Management. + - >- + Configuration (Istio/k8s resources) failed to apply due to + internal error. + - Configuration failed to be applied due to being invalid. + - >- + Encountered configuration(s) with possible unintended behavior or + invalid configuration. These configs may not have been applied. + - BackendService quota exceeded error code. + - HealthCheck quota exceeded error code. + - HTTPRoute quota exceeded error code. + - TCPRoute quota exceeded error code. + - TLS routes quota exceeded error code. + - TrafficPolicy quota exceeded error code. + - EndpointPolicy quota exceeded error code. + - Gateway quota exceeded error code. + - Mesh quota exceeded error code. + - ServerTLSPolicy quota exceeded error code. + - ClientTLSPolicy quota exceeded error code. + - ServiceLBPolicy quota exceeded error code. + - HTTPFilter quota exceeded error code. + - TCPFilter quota exceeded error code. + - NetworkEndpointGroup quota exceeded error code. + - Modernization is scheduled for a cluster. + - Modernization is in progress for a cluster. + - Modernization is completed for a cluster. + - Modernization is aborted for a cluster. + enum: + - CODE_UNSPECIFIED + - MESH_IAM_PERMISSION_DENIED + - MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED + - CNI_CONFIG_UNSUPPORTED + - GKE_SANDBOX_UNSUPPORTED + - NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED + - CNI_INSTALLATION_FAILED + - CNI_POD_UNSCHEDULABLE + - CLUSTER_HAS_ZERO_NODES + - UNSUPPORTED_MULTIPLE_CONTROL_PLANES + - VPCSC_GA_SUPPORTED + - DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT + - DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE + - CONFIG_APPLY_INTERNAL_ERROR + - CONFIG_VALIDATION_ERROR + - CONFIG_VALIDATION_WARNING + - QUOTA_EXCEEDED_BACKEND_SERVICES + - QUOTA_EXCEEDED_HEALTH_CHECKS + - QUOTA_EXCEEDED_HTTP_ROUTES + - QUOTA_EXCEEDED_TCP_ROUTES + - QUOTA_EXCEEDED_TLS_ROUTES + - QUOTA_EXCEEDED_TRAFFIC_POLICIES + - QUOTA_EXCEEDED_ENDPOINT_POLICIES + - QUOTA_EXCEEDED_GATEWAYS + - QUOTA_EXCEEDED_MESHES + - QUOTA_EXCEEDED_SERVER_TLS_POLICIES + - QUOTA_EXCEEDED_CLIENT_TLS_POLICIES + - QUOTA_EXCEEDED_SERVICE_LB_POLICIES + - QUOTA_EXCEEDED_HTTP_FILTERS + - QUOTA_EXCEEDED_TCP_FILTERS + - QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS + - MODERNIZATION_SCHEDULED + - MODERNIZATION_IN_PROGRESS + - MODERNIZATION_COMPLETED + - MODERNIZATION_ABORTED + documentationLink: + description: Links contains actionable information. + type: string + details: + description: A short summary about the issue. + type: string + severity: + description: Severity level of the condition. + type: string + enumDescriptions: + - Unspecified severity + - Indicates an issue that prevents the mesh from operating correctly + - >- + Indicates a setting is likely wrong, but the mesh is still able to + operate + - An informational message, not requiring any action + enum: + - SEVERITY_UNSPECIFIED + - ERROR + - WARNING + - INFO + MeteringState: + id: MeteringState + description: >- + **Metering**: State for a single membership, analyzed and reported by + feature controller. + type: object + properties: + lastMeasurementTime: + description: >- + The time stamp of the most recent measurement of the number of vCPUs + in the cluster. + type: string + format: google-datetime + preciseLastMeasuredClusterVcpuCapacity: + description: >- + The vCPUs capacity in the cluster according to the most recent + measurement (1/1000 precision). + type: number + format: float + ConfigManagementState: + id: ConfigManagementState + description: '**Anthos Config Management**: State for a single cluster.' + type: object + properties: + clusterName: + description: >- + This field is set to the `cluster_name` field of the Membership Spec + if it is not empty. Otherwise, it is set to the cluster's fleet + membership name. + type: string + membershipSpec: + description: >- + Membership configuration in the cluster. This represents the actual + state in the cluster, while the MembershipSpec in the FeatureSpec + represents the intended state. + $ref: '#/components/schemas/ConfigManagementSpec' + operatorState: + description: Current install status of ACM's Operator. + $ref: '#/components/schemas/ConfigManagementOperatorState' + configSyncState: + description: Current sync status. + $ref: '#/components/schemas/ConfigManagementConfigSyncState' + policyControllerState: + description: PolicyController status. + $ref: '#/components/schemas/ConfigManagementPolicyControllerState' + binauthzState: + description: Binauthz status. + $ref: '#/components/schemas/ConfigManagementBinauthzState' + hierarchyControllerState: + description: Hierarchy Controller status. + $ref: '#/components/schemas/ConfigManagementHierarchyControllerState' + ConfigManagementOperatorState: + id: ConfigManagementOperatorState + description: State information for an ACM's Operator. + type: object + properties: + version: + description: The semenatic version number of the operator. + type: string + deploymentState: + description: The state of the Operator's deployment. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + errors: + description: Install errors. + type: array + items: + $ref: '#/components/schemas/ConfigManagementInstallError' + ConfigManagementInstallError: + id: ConfigManagementInstallError + description: Errors pertaining to the installation of ACM. + type: object + properties: + errorMessage: + description: A string representing the user facing error message. + type: string + ConfigManagementConfigSyncState: + id: ConfigManagementConfigSyncState + description: State information for ConfigSync. + type: object + properties: + version: + description: The version of ConfigSync deployed. + $ref: '#/components/schemas/ConfigManagementConfigSyncVersion' + deploymentState: + description: >- + Information about the deployment of ConfigSync, including the + version. of the various Pods deployed + $ref: '#/components/schemas/ConfigManagementConfigSyncDeploymentState' + syncState: + description: The state of ConfigSync's process to sync configs to a cluster. + $ref: '#/components/schemas/ConfigManagementSyncState' + errors: + description: Errors pertaining to the installation of Config Sync. + type: array + items: + $ref: '#/components/schemas/ConfigManagementConfigSyncError' + rootsyncCrd: + description: The state of the RootSync CRD + type: string + enumDescriptions: + - CRD's state cannot be determined + - CRD is not installed + - CRD is installed + - CRD is terminating (i.e., it has been deleted and is cleaning up) + - CRD is installing + enum: + - CRD_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - TERMINATING + - INSTALLING + reposyncCrd: + description: The state of the Reposync CRD + type: string + enumDescriptions: + - CRD's state cannot be determined + - CRD is not installed + - CRD is installed + - CRD is terminating (i.e., it has been deleted and is cleaning up) + - CRD is installing + enum: + - CRD_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - TERMINATING + - INSTALLING + state: + description: >- + The state of CS This field summarizes the other fields in this + message. + type: string + enumDescriptions: + - CS's state cannot be determined. + - CS is not installed. + - The expected CS version is installed successfully. + - CS encounters errors. + - CS is installing or terminating. + enum: + - STATE_UNSPECIFIED + - CONFIG_SYNC_NOT_INSTALLED + - CONFIG_SYNC_INSTALLED + - CONFIG_SYNC_ERROR + - CONFIG_SYNC_PENDING + clusterLevelStopSyncingState: + description: >- + Whether syncing resources to the cluster is stopped at the cluster + level. + type: string + enumDescriptions: + - State cannot be determined + - >- + Syncing resources to the cluster is not stopped at the cluster + level. + - >- + Some reconcilers stop syncing resources to the cluster, while + others are still syncing. + - Syncing resources to the cluster is stopped at the cluster level. + enum: + - STOP_SYNCING_STATE_UNSPECIFIED + - NOT_STOPPED + - PENDING + - STOPPED + crCount: + description: Output only. The number of RootSync and RepoSync CRs in the cluster. + readOnly: true + type: integer + format: int32 + ConfigManagementConfigSyncVersion: + id: ConfigManagementConfigSyncVersion + description: Specific versioning information pertaining to ConfigSync's Pods. + type: object + properties: + importer: + description: Version of the deployed importer pod. + type: string + syncer: + description: Version of the deployed syncer pod. + type: string + gitSync: + description: Version of the deployed git-sync pod. + type: string + monitor: + description: Version of the deployed monitor pod. + type: string + reconcilerManager: + description: Version of the deployed reconciler-manager pod. + type: string + rootReconciler: + description: Version of the deployed reconciler container in root-reconciler pod. + type: string + admissionWebhook: + description: Version of the deployed admission-webhook pod. + type: string + resourceGroupControllerManager: + description: Version of the deployed resource-group-controller-manager pod + type: string + otelCollector: + description: Version of the deployed otel-collector pod + type: string + ConfigManagementConfigSyncDeploymentState: + id: ConfigManagementConfigSyncDeploymentState + description: The state of ConfigSync's deployment on a cluster. + type: object + properties: + importer: + description: Deployment state of the importer pod. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + syncer: + description: Deployment state of the syncer pod. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + gitSync: + description: Deployment state of the git-sync pod. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + monitor: + description: Deployment state of the monitor pod. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + reconcilerManager: + description: Deployment state of reconciler-manager pod. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + rootReconciler: + description: Deployment state of root-reconciler. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + admissionWebhook: + description: Deployment state of admission-webhook. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + resourceGroupControllerManager: + description: Deployment state of resource-group-controller-manager + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + otelCollector: + description: Deployment state of otel-collector + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + ConfigManagementSyncState: + id: ConfigManagementSyncState + description: State indicating an ACM's progress syncing configurations to a cluster. + type: object + properties: + sourceToken: + description: Token indicating the state of the repo. + type: string + importToken: + description: Token indicating the state of the importer. + type: string + syncToken: + description: Token indicating the state of the syncer. + type: string + lastSync: + description: >- + Deprecated: use last_sync_time instead. Timestamp of when ACM last + successfully synced the repo. The time format is specified in + https://golang.org/pkg/time/#Time.String + deprecated: true + type: string + lastSyncTime: + description: Timestamp type of when ACM last successfully synced the repo. + type: string + format: google-datetime + code: + description: Sync status code. + type: string + enumDescriptions: + - Config Sync cannot determine a sync code + - Config Sync successfully synced the git Repo with the cluster + - Config Sync is in the progress of syncing a new change + - >- + Indicates an error configuring Config Sync, and user action is + required + - Config Sync has been installed but not configured + - Config Sync has not been installed + - Error authorizing with the cluster + - Cluster could not be reached + enum: + - SYNC_CODE_UNSPECIFIED + - SYNCED + - PENDING + - ERROR + - NOT_CONFIGURED + - NOT_INSTALLED + - UNAUTHORIZED + - UNREACHABLE + errors: + description: >- + A list of errors resulting from problematic configs. This list will + be truncated after 100 errors, although it is unlikely for that many + errors to simultaneously exist. + type: array + items: + $ref: '#/components/schemas/ConfigManagementSyncError' + ConfigManagementSyncError: + id: ConfigManagementSyncError + description: An ACM created error representing a problem syncing configurations. + type: object + properties: + code: + description: An ACM defined error code + type: string + errorMessage: + description: A description of the error + type: string + errorResources: + description: A list of config(s) associated with the error, if any + type: array + items: + $ref: '#/components/schemas/ConfigManagementErrorResource' + ConfigManagementErrorResource: + id: ConfigManagementErrorResource + description: Model for a config file in the git repo with an associated Sync error. + type: object + properties: + sourcePath: + description: Path in the git repo of the erroneous config + type: string + resourceName: + description: Metadata name of the resource that is causing an error + type: string + resourceNamespace: + description: Namespace of the resource that is causing an error + type: string + resourceGvk: + description: Group/version/kind of the resource that is causing an error + $ref: '#/components/schemas/ConfigManagementGroupVersionKind' + ConfigManagementGroupVersionKind: + id: ConfigManagementGroupVersionKind + description: A Kubernetes object's GVK. + type: object + properties: + group: + description: Kubernetes Group + type: string + version: + description: Kubernetes Version + type: string + kind: + description: Kubernetes Kind + type: string + ConfigManagementConfigSyncError: + id: ConfigManagementConfigSyncError + description: Errors pertaining to the installation of Config Sync + type: object + properties: + errorMessage: + description: A string representing the user facing error message + type: string + ConfigManagementPolicyControllerState: + id: ConfigManagementPolicyControllerState + description: State for PolicyControllerState. + type: object + properties: + version: + description: The version of Gatekeeper Policy Controller deployed. + $ref: '#/components/schemas/ConfigManagementPolicyControllerVersion' + deploymentState: + description: The state about the policy controller installation. + $ref: '#/components/schemas/ConfigManagementGatekeeperDeploymentState' + migration: + description: Record state of ACM -> PoCo Hub migration for this feature. + $ref: '#/components/schemas/ConfigManagementPolicyControllerMigration' + ConfigManagementPolicyControllerVersion: + id: ConfigManagementPolicyControllerVersion + description: The build version of Gatekeeper Policy Controller is using. + type: object + properties: + version: + description: >- + The gatekeeper image tag that is composed of ACM version, git tag, + build number. + type: string + ConfigManagementGatekeeperDeploymentState: + id: ConfigManagementGatekeeperDeploymentState + description: State of Policy Controller installation. + type: object + properties: + gatekeeperControllerManagerState: + description: Status of gatekeeper-controller-manager pod. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + gatekeeperAudit: + description: Status of gatekeeper-audit deployment. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + gatekeeperMutation: + description: Status of the pod serving the mutation webhook. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + ConfigManagementPolicyControllerMigration: + id: ConfigManagementPolicyControllerMigration + description: State for the migration of PolicyController from ACM -> PoCo Hub. + type: object + properties: + stage: + description: Stage of the migration. + type: string + enumDescriptions: + - Unknown state of migration. + - >- + ACM Hub/Operator manages policycontroller. No migration yet + completed. + - >- + All migrations steps complete; Poco Hub now manages + policycontroller. + enum: + - STAGE_UNSPECIFIED + - ACM_MANAGED + - POCO_MANAGED + copyTime: + description: Last time this membership spec was copied to PoCo feature. + type: string + format: google-datetime + ConfigManagementBinauthzState: + id: ConfigManagementBinauthzState + description: State for Binauthz. + type: object + properties: + webhook: + description: The state of the binauthz webhook. + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + version: + description: The version of binauthz that is installed. + $ref: '#/components/schemas/ConfigManagementBinauthzVersion' + ConfigManagementBinauthzVersion: + id: ConfigManagementBinauthzVersion + description: The version of binauthz. + type: object + properties: + webhookVersion: + description: The version of the binauthz webhook. + type: string + ConfigManagementHierarchyControllerState: + id: ConfigManagementHierarchyControllerState + description: State for Hierarchy Controller. + type: object + properties: + version: + description: The version for Hierarchy Controller. + $ref: '#/components/schemas/ConfigManagementHierarchyControllerVersion' + state: + description: The deployment state for Hierarchy Controller. + $ref: >- + #/components/schemas/ConfigManagementHierarchyControllerDeploymentState + ConfigManagementHierarchyControllerVersion: + id: ConfigManagementHierarchyControllerVersion + description: Version for Hierarchy Controller. + type: object + properties: + hnc: + description: Version for open source HNC. + type: string + extension: + description: Version for Hierarchy Controller extension. + type: string + ConfigManagementHierarchyControllerDeploymentState: + id: ConfigManagementHierarchyControllerDeploymentState + description: Deployment state for Hierarchy Controller + type: object + properties: + hnc: + description: The deployment state for open source HNC (e.g. v0.7.0-hc.0). + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + extension: + description: >- + The deployment state for Hierarchy Controller extension (e.g. + v0.7.0-hc.1). + type: string + enumDescriptions: + - Deployment's state cannot be determined. + - Deployment is not installed. + - Deployment is installed. + - Deployment was attempted to be installed, but has errors. + - Deployment is installing or terminating + enum: + - DEPLOYMENT_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLED + - ERROR + - PENDING + PolicyControllerState: + id: PolicyControllerState + description: '**Policy Controller**: State for a single cluster.' + type: object + properties: + componentStates: + description: >- + Currently these include (also serving as map keys): 1. "admission" + 2. "audit" 3. "mutation" + type: object + additionalProperties: + $ref: '#/components/schemas/PolicyControllerOnClusterState' + state: + description: >- + The overall Policy Controller lifecycle state observed by the Hub + Feature controller. + type: string + enumDescriptions: + - The lifecycle state is unspecified. + - >- + The PC does not exist on the given cluster, and no k8s resources + of any type that are associated with the PC should exist there. + The cluster does not possess a membership with the PCH. + - >- + The PCH possesses a Membership, however the PC is not fully + installed on the cluster. In this state the hub can be expected to + be taking actions to install the PC on the cluster. + - >- + The PC is fully installed on the cluster and in an operational + mode. In this state PCH will be reconciling state with the PC, and + the PC will be performing it's operational tasks per that + software. Entering a READY state requires that the hub has + confirmed the PC is installed and its pods are operational with + the version of the PC the PCH expects. + - >- + The PC is fully installed, but in the process of changing the + configuration (including changing the version of PC either up and + down, or modifying the manifests of PC) of the resources running + on the cluster. The PCH has a Membership, is aware of the version + the cluster should be running in, but has not confirmed for itself + that the PC is running with that version. + - >- + The PC may have resources on the cluster, but the PCH wishes to + remove the Membership. The Membership still exists. + - >- + The PC is not operational, and the PCH is unable to act to make it + operational. Entering a CLUSTER_ERROR state happens automatically + when the PCH determines that a PC installed on the cluster is + non-operative or that the cluster does not meet requirements set + for the PCH to administer the cluster but has nevertheless been + given an instruction to do so (such as ‘install'). + - >- + In this state, the PC may still be operational, and only the PCH + is unable to act. The hub should not issue instructions to change + the PC state, or otherwise interfere with the on-cluster + resources. Entering a HUB_ERROR state happens automatically when + the PCH determines the hub is in an unhealthy state and it wishes + to ‘take hands off' to avoid corrupting the PC or other data. + - >- + Policy Controller (PC) is installed but suspended. This means that + the policies are not enforced, but violations are still recorded + (through audit). + - >- + PoCo Hub is not taking any action to reconcile cluster objects. + Changes to those objects will not be overwritten by PoCo Hub. + enum: + - LIFECYCLE_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLING + - ACTIVE + - UPDATING + - DECOMMISSIONING + - CLUSTER_ERROR + - HUB_ERROR + - SUSPENDED + - DETACHED + policyContentState: + description: The overall content state observed by the Hub Feature controller. + $ref: '#/components/schemas/PolicyControllerPolicyContentState' + PolicyControllerOnClusterState: + id: PolicyControllerOnClusterState + description: >- + OnClusterState represents the state of a sub-component of Policy + Controller. + type: object + properties: + state: + description: The lifecycle state of this component. + type: string + enumDescriptions: + - The lifecycle state is unspecified. + - >- + The PC does not exist on the given cluster, and no k8s resources + of any type that are associated with the PC should exist there. + The cluster does not possess a membership with the PCH. + - >- + The PCH possesses a Membership, however the PC is not fully + installed on the cluster. In this state the hub can be expected to + be taking actions to install the PC on the cluster. + - >- + The PC is fully installed on the cluster and in an operational + mode. In this state PCH will be reconciling state with the PC, and + the PC will be performing it's operational tasks per that + software. Entering a READY state requires that the hub has + confirmed the PC is installed and its pods are operational with + the version of the PC the PCH expects. + - >- + The PC is fully installed, but in the process of changing the + configuration (including changing the version of PC either up and + down, or modifying the manifests of PC) of the resources running + on the cluster. The PCH has a Membership, is aware of the version + the cluster should be running in, but has not confirmed for itself + that the PC is running with that version. + - >- + The PC may have resources on the cluster, but the PCH wishes to + remove the Membership. The Membership still exists. + - >- + The PC is not operational, and the PCH is unable to act to make it + operational. Entering a CLUSTER_ERROR state happens automatically + when the PCH determines that a PC installed on the cluster is + non-operative or that the cluster does not meet requirements set + for the PCH to administer the cluster but has nevertheless been + given an instruction to do so (such as ‘install'). + - >- + In this state, the PC may still be operational, and only the PCH + is unable to act. The hub should not issue instructions to change + the PC state, or otherwise interfere with the on-cluster + resources. Entering a HUB_ERROR state happens automatically when + the PCH determines the hub is in an unhealthy state and it wishes + to ‘take hands off' to avoid corrupting the PC or other data. + - >- + Policy Controller (PC) is installed but suspended. This means that + the policies are not enforced, but violations are still recorded + (through audit). + - >- + PoCo Hub is not taking any action to reconcile cluster objects. + Changes to those objects will not be overwritten by PoCo Hub. + enum: + - LIFECYCLE_STATE_UNSPECIFIED + - NOT_INSTALLED + - INSTALLING + - ACTIVE + - UPDATING + - DECOMMISSIONING + - CLUSTER_ERROR + - HUB_ERROR + - SUSPENDED + - DETACHED + details: + description: Surface potential errors or information logs. + type: string + PolicyControllerPolicyContentState: + id: PolicyControllerPolicyContentState + description: The state of the policy controller policy content + type: object + properties: + templateLibraryState: + description: The state of the template library + $ref: '#/components/schemas/PolicyControllerOnClusterState' + bundleStates: + description: >- + The state of the any bundles included in the chosen version of the + manifest + type: object + additionalProperties: + $ref: '#/components/schemas/PolicyControllerOnClusterState' + referentialSyncConfigState: + description: >- + The state of the referential data sync configuration. This could + represent the state of either the syncSet object(s) or the config + object, depending on the version of PoCo configured by the user. + $ref: '#/components/schemas/PolicyControllerOnClusterState' + AppDevExperienceState: + id: AppDevExperienceState + description: State for App Dev Exp Feature. + type: object + properties: + networkingInstallSucceeded: + description: >- + Status of subcomponent that detects configured Service Mesh + resources. + $ref: '#/components/schemas/AppDevExperienceStatus' + AppDevExperienceStatus: + id: AppDevExperienceStatus + description: Status specifies state for the subcomponent. + type: object + properties: + code: + description: Code specifies AppDevExperienceFeature's subcomponent ready state. + type: string + enumDescriptions: + - Not set. + - AppDevExperienceFeature's specified subcomponent is ready. + - >- + AppDevExperienceFeature's specified subcomponent ready state is + false. This means AppDevExperienceFeature has encountered an issue + that blocks all, or a portion, of its normal operation. See the + `description` for more details. + - >- + AppDevExperienceFeature's specified subcomponent has a pending or + unknown state. + enum: + - CODE_UNSPECIFIED + - OK + - FAILED + - UNKNOWN + description: + description: >- + Description is populated if Code is Failed, explaining why it has + failed. + type: string + State: + id: State + description: High-level state of a MembershipFeature. + type: object + properties: + code: + description: The high-level, machine-readable status of this MembershipFeature. + type: string + enumDescriptions: + - Unknown or not set. + - The MembershipFeature is operating normally. + - >- + The MembershipFeature has encountered an issue, and is operating + in a degraded state. The MembershipFeature may need intervention + to return to normal operation. See the description and any + associated MembershipFeature-specific details for more + information. + - >- + The MembershipFeature is not operating or is in a severely + degraded state. The MembershipFeature may need intervention to + return to normal operation. See the description and any associated + MembershipFeature-specific details for more information. + enum: + - CODE_UNSPECIFIED + - OK + - WARNING + - ERROR + description: + description: A human-readable description of the current status. + type: string + updateTime: + description: >- + The time this status and any related Feature-specific details were + updated. + type: string + format: google-datetime + LifecycleState: + id: LifecycleState + description: >- + LifecycleState describes the state of a MembershipFeature *resource* in + the GkeHub API. See `FeatureState` for the "running state" of the + MembershipFeature. + type: object + properties: + state: + description: >- + Output only. The current state of the Feature resource in the Hub + API. + readOnly: true + type: string + enumDescriptions: + - State is unknown or not set. + - >- + The MembershipFeature is being enabled, and the MembershipFeature + resource is being created. Once complete, the corresponding + MembershipFeature will be enabled in this Hub. + - >- + The MembershipFeature is enabled in this Hub, and the + MembershipFeature resource is fully available. + - >- + The MembershipFeature is being disabled in this Hub, and the + MembershipFeature resource is being deleted. + - The MembershipFeature resource is being updated. + - >- + The MembershipFeature resource is being updated by the Hub + Service. + enum: + - STATE_UNSPECIFIED + - ENABLING + - ACTIVE + - DISABLING + - UPDATING + - SERVICE_UPDATING + ListMembershipFeaturesResponse: + id: ListMembershipFeaturesResponse + description: Response message for the `GkeHubFeature.ListMembershipFeatures` method. + type: object + properties: + membershipFeatures: + description: The list of matching MembershipFeatures. + type: array + items: + $ref: '#/components/schemas/MembershipFeature' + nextPageToken: + description: >- + A token to request the next page of resources from the + `ListMembershipFeatures` method. The value of an empty string means + that there are no more resources to return. + type: string + unreachable: + description: >- + List of locations that could not be reached while fetching this + list. + type: array + items: + type: string ListLocationsResponse: id: ListLocationsResponse description: The response message for Locations.ListLocations. @@ -195,6 +2753,47 @@ components: additionalProperties: type: any description: Properties of the object. Contains field @type with type URL. + OperationMetadata: + id: OperationMetadata + description: Metadata of the long-running operation. + type: object + properties: + createTime: + description: Output only. The time the operation was created. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + readOnly: true + type: string + format: google-datetime + target: + description: >- + Output only. Server-defined resource path for the target of the + operation. + readOnly: true + type: string + verb: + description: Output only. Name of the verb executed by the operation. + readOnly: true + type: string + statusDetail: + description: Output only. Human-readable status of the operation, if any. + readOnly: true + type: string + cancelRequested: + description: >- + Output only. 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`. + readOnly: true + type: boolean + apiVersion: + description: Output only. API version used to start the operation. + readOnly: true + type: string parameters: access_token: description: OAuth access token. @@ -341,6 +2940,63 @@ components: update: [] replace: [] delete: [] + features: + id: google.gkehub.features + name: features + title: Features + methods: + projects_locations_memberships_features_get: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1memberships~1{membershipsId}~1features~1{featuresId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_memberships_features_delete: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1memberships~1{membershipsId}~1features~1{featuresId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_memberships_features_patch: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1memberships~1{membershipsId}~1features~1{featuresId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_memberships_features_list: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1memberships~1{membershipsId}~1features/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.membershipFeatures + projects_locations_memberships_features_create: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1memberships~1{membershipsId}~1features/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/features/methods/projects_locations_memberships_features_get + - $ref: >- + #/components/x-stackQL-resources/features/methods/projects_locations_memberships_features_list + insert: + - $ref: >- + #/components/x-stackQL-resources/features/methods/projects_locations_memberships_features_create + update: + - $ref: >- + #/components/x-stackQL-resources/features/methods/projects_locations_memberships_features_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/features/methods/projects_locations_memberships_features_delete paths: /v2/projects/{projectsId}/locations: parameters: &ref_1 @@ -543,3 +3199,231 @@ paths: required: true schema: type: string + /v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}: + parameters: *ref_1 + get: + description: >- + ========= MembershipFeature Services ========= Gets details of a + membershipFeature. + operationId: gkehub.projects.locations.memberships.features.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/MembershipFeature' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: membershipsId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + delete: + description: Removes a membershipFeature. + operationId: gkehub.projects.locations.memberships.features.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: membershipsId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: query + name: requestId + schema: + type: string + patch: + description: Updates an existing MembershipFeature. + operationId: gkehub.projects.locations.memberships.features.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MembershipFeature' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: membershipsId + required: true + schema: + type: string + - in: path + name: featuresId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: requestId + schema: + type: string + - in: query + name: allowMissing + schema: + type: boolean + /v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features: + parameters: *ref_1 + get: + description: Lists MembershipFeatures in a given project and location. + operationId: gkehub.projects.locations.memberships.features.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListMembershipFeaturesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: membershipsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + post: + description: Creates membershipFeature under a given parent. + operationId: gkehub.projects.locations.memberships.features.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MembershipFeature' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: membershipsId + required: true + schema: + type: string + - in: query + name: requestId + schema: + type: string + - in: query + name: featureId + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/gkeonprem.yaml b/providers/src/googleapis.com/v00.00.00000/services/gkeonprem.yaml index 7bbb45e1..5b04e483 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/gkeonprem.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/gkeonprem.yaml @@ -7,8 +7,8 @@ info: title: GDC Virtual API description: '' version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/anthos/clusters/docs/on-prem/ servers: @@ -2377,28 +2377,6 @@ components: vmwareNodePoolId: description: The target node pool id to be enrolled. type: string - ListVmwareAdminClustersResponse: - id: ListVmwareAdminClustersResponse - description: Response message for listing VMware admin clusters. - type: object - properties: - vmwareAdminClusters: - description: The list of VMware admin cluster. - type: array - items: - $ref: '#/components/schemas/VmwareAdminCluster' - nextPageToken: - description: >- - A token identifying a page of results the server should return. If - the token is not empty this means that more results are available - and should be retrieved by repeating the request with the provided - page token. - type: string - unreachable: - description: Locations that could not be reached. - type: array - items: - type: string VmwareAdminCluster: id: VmwareAdminCluster description: Resource that represents a VMware admin cluster. @@ -2879,6 +2857,28 @@ components: type: array items: $ref: '#/components/schemas/ClusterUser' + ListVmwareAdminClustersResponse: + id: ListVmwareAdminClustersResponse + description: Response message for listing VMware admin clusters. + type: object + properties: + vmwareAdminClusters: + description: The list of VMware admin cluster. + type: array + items: + $ref: '#/components/schemas/VmwareAdminCluster' + nextPageToken: + description: >- + A token identifying a page of results the server should return. If + the token is not empty this means that more results are available + and should be retrieved by repeating the request with the provided + page token. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string EnrollVmwareAdminClusterRequest: id: EnrollVmwareAdminClusterRequest description: >- @@ -4653,6 +4653,13 @@ components: name: vmware_admin_clusters title: Vmware_admin_clusters methods: + projects_locations_vmware_admin_clusters_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1vmwareAdminClusters/post + response: + mediaType: application/json + openAPIDocKey: '200' projects_locations_vmware_admin_clusters_list: operation: $ref: >- @@ -4695,7 +4702,9 @@ components: #/components/x-stackQL-resources/vmware_admin_clusters/methods/projects_locations_vmware_admin_clusters_get - $ref: >- #/components/x-stackQL-resources/vmware_admin_clusters/methods/projects_locations_vmware_admin_clusters_list - insert: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/vmware_admin_clusters/methods/projects_locations_vmware_admin_clusters_create update: - $ref: >- #/components/x-stackQL-resources/vmware_admin_clusters/methods/projects_locations_vmware_admin_clusters_patch @@ -7382,6 +7391,51 @@ paths: type: string /v1/projects/{projectsId}/locations/{locationsId}/vmwareAdminClusters: parameters: *ref_1 + post: + description: >- + Creates a new VMware admin cluster in a given project and location. The + API needs to be combined with creating a bootstrap cluster to work. + operationId: gkeonprem.projects.locations.vmwareAdminClusters.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VmwareAdminCluster' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: vmwareAdminClusterId + schema: + type: string + - in: query + name: validateOnly + schema: + type: boolean + - in: query + name: allowPreflightFailure + schema: + type: boolean get: description: Lists VMware admin clusters in a given project and location. operationId: gkeonprem.projects.locations.vmwareAdminClusters.list diff --git a/providers/src/googleapis.com/v00.00.00000/services/healthcare.yaml b/providers/src/googleapis.com/v00.00.00000/services/healthcare.yaml index cd291133..29ab4ba0 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/healthcare.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/healthcare.yaml @@ -7,8 +7,8 @@ info: title: Cloud Healthcare API description: Manage, store, and access healthcare data in Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240828' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/healthcare servers: @@ -1949,8 +1949,8 @@ components: type: string notificationConfig: description: >- - Notification destination for new DICOM instances. Supplied by the - client. + Optional. Notification destination for new DICOM instances. Supplied + by the client. $ref: '#/components/schemas/NotificationConfig' labels: description: >- @@ -2048,21 +2048,21 @@ components: properties: tableUri: description: >- - BigQuery URI to a table, up to 2000 characters long, in the format - `bq://projectId.bqDatasetId.tableId` + Optional. BigQuery URI to a table, up to 2000 characters long, in + the format `bq://projectId.bqDatasetId.tableId` type: string force: description: >- - Use `write_disposition` instead. If `write_disposition` is + Optional. Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE. type: boolean writeDisposition: description: >- - Determines whether the existing table in the destination is to be - overwritten or appended to. If a write_disposition is specified, the - `force` parameter is ignored. + Optional. Determines whether the existing table in the destination + is to be overwritten or appended to. If a write_disposition is + specified, the `force` parameter is ignored. type: string enumDescriptions: - Default behavior is the same as WRITE_EMPTY. @@ -2335,8 +2335,8 @@ components: type: string parserConfig: description: >- - The configuration for the parser. It determines how the server - parses the messages. + Optional. The configuration for the parser. It determines how the + server parses the messages. $ref: '#/components/schemas/ParserConfig' labels: description: >- @@ -2353,25 +2353,26 @@ components: type: string notificationConfigs: description: >- - 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. + Optional. 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. type: array items: $ref: '#/components/schemas/Hl7V2NotificationConfig' rejectDuplicateMessage: description: >- - 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. + Optional. 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. type: boolean ParserConfig: id: ParserConfig @@ -2381,19 +2382,19 @@ components: type: object properties: allowNullHeader: - description: Determines whether messages with no header are allowed. + description: Optional. Determines whether messages with no header are allowed. type: boolean segmentTerminator: description: >- - Byte(s) to use as the segment terminator. If this is unset, '\r' is - used as segment terminator, matching the HL7 version 2 - specification. + Optional. Byte(s) to use as the segment terminator. If this is + unset, '\r' is used as segment terminator, matching the HL7 version + 2 specification. type: string format: byte schema: description: >- - Schemas used to parse messages in this store, if schematized parsing - is desired. + Optional. Schemas used to parse messages in this store, if + schematized parsing is desired. $ref: '#/components/schemas/SchemaPackage' version: description: >- @@ -2428,7 +2429,7 @@ components: type: object properties: schematizedParsingType: - description: Determines how messages that fail to parse are handled. + description: Optional. Determines how messages that fail to parse are handled. type: string enumDescriptions: - Unspecified schematized parsing type, equivalent to `SOFT_FAIL`. @@ -2444,16 +2445,17 @@ components: - HARD_FAIL schemas: description: >- - Schema configs that are layered based on their VersionSources that - match the incoming message. Schema configs present in higher indices - override those in lower indices with the same message type and - trigger event if their VersionSources all match an incoming message. + Optional. Schema configs that are layered based on their + VersionSources that match the incoming message. Schema configs + present in higher indices override those in lower indices with the + same message type and trigger event if their VersionSources all + match an incoming message. type: array items: $ref: '#/components/schemas/Hl7SchemaConfig' types: description: >- - Schema type definitions that are layered based on their + Optional. Schema type definitions that are layered based on their VersionSources that match the incoming message. Type definitions present in higher indices override those in lower indices with the same type name if their VersionSources all match an incoming @@ -2463,14 +2465,14 @@ components: $ref: '#/components/schemas/Hl7TypesConfig' ignoreMinOccurs: description: >- - Flag to ignore all min_occurs restrictions in the schema. This means - that incoming messages can omit any group, segment, field, - component, or subcomponent. + Optional. Flag to ignore all min_occurs restrictions in the schema. + This means that incoming messages can omit any group, segment, + field, component, or subcomponent. type: boolean unexpectedSegmentHandling: description: >- - Determines how unexpected segments (segments not matched to the - schema) are handled. + Optional. Determines how unexpected segments (segments not matched + to the schema) are handled. type: string enumDescriptions: - Unspecified handling mode, equivalent to FAIL. @@ -2687,10 +2689,10 @@ components: type: string filter: description: >- - Restricts notifications sent for messages matching a filter. If this - is empty, all messages are matched. The following syntax is - available: * A string field value can be written as text inside - quotation marks, for example `"query text"`. The only valid + Optional. Restricts notifications sent for messages matching a + filter. If this is empty, all messages are matched. The following + syntax is available: * A string field value can be written as text + inside quotation marks, for example `"query text"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `"Comment = great"` returns messages with @@ -3241,7 +3243,7 @@ components: type: string enableUpdateCreate: description: >- - Whether this FHIR store has the [updateCreate + Optional. 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 @@ -3319,13 +3321,13 @@ components: - R4 streamConfigs: description: >- - 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 + Optional. 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 @@ -3336,30 +3338,31 @@ components: $ref: '#/components/schemas/StreamConfig' validationConfig: description: >- - Configuration for how to validate incoming FHIR resources against - configured profiles. + Optional. Configuration for how to validate incoming FHIR resources + against configured profiles. $ref: '#/components/schemas/ValidationConfig' defaultSearchHandlingStrict: description: >- - 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. + Optional. 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. type: boolean complexDataTypeReferenceParsing: description: >- - Enable parsing of references within complex FHIR data types such as - Extensions. If this value is set to ENABLED, then features like - referential integrity and Bundle reference rewriting apply to all - references. If this flag has not been specified the behavior of the - FHIR store will not change, references in complex data types will - not be parsed. New stores will have this value set to ENABLED after - a notification period. Warning: turning on this flag causes - processing existing resources to fail if they contain references to - non-existent resources. + Optional. 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. type: string enumDescriptions: - >- @@ -3373,8 +3376,8 @@ components: - ENABLED notificationConfigs: description: >- - Specifies where and whether to send notifications upon changes to a - FHIR store. + Optional. Specifies where and whether to send notifications upon + changes to a FHIR store. type: array items: $ref: '#/components/schemas/FhirNotificationConfig' @@ -3385,9 +3388,10 @@ components: properties: resourceTypes: description: >- - Supply a FHIR resource type (such as "Patient" or "Observation"). - See https://www.hl7.org/fhir/valueset-resource-types.html for a list - of all FHIR resource types. The server treats an empty list as an + Optional. Supply a FHIR resource type (such as "Patient" or + "Observation"). See + https://www.hl7.org/fhir/valueset-resource-types.html for a list of + all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store. type: array @@ -3395,14 +3399,14 @@ components: type: string bigqueryDestination: description: >- - The destination BigQuery structure that contains both the dataset - location and corresponding schema config. The output is organized in - one table per resource type. The server reuses the existing tables - (if any) that are named after the resource types. For example, - "Patient", "Observation". When there is no existing table for a - given resource type, the server attempts to create one. When a table - schema doesn't align with the schema config, either because of - existing incompatible schema or out of band incompatible + Optional. The destination BigQuery structure that contains both the + dataset location and corresponding schema config. The output is + organized in one table per resource type. The server reuses the + existing tables (if any) that are named after the resource types. + For example, "Patient", "Observation". When there is no existing + table for a given resource type, the server attempts to create one. + When a table schema doesn't align with the schema config, either + because of existing incompatible schema or out of band incompatible modification, the server does not stream in new data. BigQuery imposes a 1 MB limit on streaming insert row size, therefore any resource mutation that generates more than 1 MB of BigQuery data is @@ -3433,14 +3437,15 @@ components: The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and - applied to the destination store. Importing resources to the source - store will not trigger the streaming. If the source store already - contains resources when this option is enabled, those resources will - not be copied to the destination store unless they are subsequently - updated. This may result in invalid references in the destination - store. Before adding this config, you must grant the - healthcare.fhirResources.update permission on the destination store - to your project's **Cloud Healthcare Service Agent** [service + applied to the destination store. Resources deleted from the source + store will be deleted from the destination store. Importing + resources to the source store will not trigger the streaming. If the + source store already contains resources when this option is enabled, + those resources will not be copied to the destination store unless + they are subsequently updated. This may result in invalid references + in the destination store. Before adding this config, you must grant + the healthcare.fhirResources.update permission on the destination + store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to @@ -3455,25 +3460,25 @@ components: properties: datasetUri: description: >- - BigQuery URI to an existing dataset, up to 2000 characters long, in - the format `bq://projectId.bqDatasetId`. + Optional. BigQuery URI to an existing dataset, up to 2000 characters + long, in the format `bq://projectId.bqDatasetId`. type: string schemaConfig: - description: The configuration for the exported BigQuery schema. + description: Optional. The configuration for the exported BigQuery schema. $ref: '#/components/schemas/SchemaConfig' force: description: >- - The default value is false. If this flag is `TRUE`, all tables are - deleted from the dataset before the new exported tables are written. - If the flag is not set and the destination dataset contains tables, - the export call returns an error. If `write_disposition` is - specified, this parameter is ignored. force=false is equivalent to - write_disposition=WRITE_EMPTY and force=true is equivalent to - write_disposition=WRITE_TRUNCATE. + Optional. The default value is false. If this flag is `TRUE`, all + tables are deleted from the dataset before the new exported tables + are written. If the flag is not set and the destination dataset + contains tables, the export call returns an error. If + `write_disposition` is specified, this parameter is ignored. + force=false is equivalent to write_disposition=WRITE_EMPTY and + force=true is equivalent to write_disposition=WRITE_TRUNCATE. type: boolean writeDisposition: description: >- - Determines if existing data in the destination dataset is + Optional. Determines if existing data in the destination dataset is overwritten, appended to, or not written if the tables contain data. If a write_disposition is specified, the `force` parameter is ignored. @@ -3574,8 +3579,8 @@ components: properties: store: description: >- - The full resource name of a Cloud Healthcare FHIR store, for - example, + Optional. The full resource name of a Cloud Healthcare FHIR store, + for example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. type: string config: @@ -3590,16 +3595,16 @@ components: properties: disableProfileValidation: description: >- - Whether to disable profile validation for this FHIR store. The - default value is false. Set this to true to disable checking + Optional. Whether to disable profile validation for this FHIR store. + The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store. type: boolean enabledImplementationGuides: description: >- - A list of implementation guide URLs in this FHIR store that are used - to configure the profiles to use for validation. For example, to use - the US Core profiles for validation, set + Optional. A list of implementation guide URLs in this FHIR store + that are used to configure the profiles to use for validation. For + example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If `enabled_implementation_guides` is empty or omitted, then incoming @@ -3617,7 +3622,7 @@ components: type: string disableRequiredFieldValidation: description: >- - Whether to disable required fields validation for incoming + Optional. Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only @@ -3627,9 +3632,9 @@ components: type: boolean disableReferenceTypeValidation: description: >- - Whether to disable reference type validation for incoming resources. - The default value is false. Set this to true to disable checking - incoming resources for conformance against reference type + Optional. Whether to disable reference type validation for incoming + resources. The default value is false. Set this to true to disable + checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be @@ -3637,12 +3642,13 @@ components: type: boolean disableFhirpathValidation: description: >- - Whether to disable FHIRPath validation for incoming resources. The - default value is false. Set this to true to disable checking - incoming resources for conformance against FHIRPath requirement - defined in the FHIR specification. This property only affects - resource types that do not have profiles configured for them, any - rules in enabled implementation guides will still be enforced. + Optional. Whether to disable FHIRPath validation for incoming + resources. The default value is false. Set this to true to disable + checking incoming resources for conformance against FHIRPath + requirement defined in the FHIR specification. This property only + affects resource types that do not have profiles configured for + them, any rules in enabled implementation guides will still be + enforced. type: boolean FhirNotificationConfig: id: FhirNotificationConfig @@ -3651,10 +3657,10 @@ components: properties: pubsubTopic: description: >- - The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that - notifications of changes are published on. Supplied by the client. - The notification is a `PubsubMessage` with the following fields: * - `PubsubMessage.Data` contains the resource name. * + Optional. The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic + that notifications of changes are published on. Supplied by the + client. The notification is a `PubsubMessage` with the following + fields: * `PubsubMessage.Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of this notification. It is guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is the time when the message was @@ -3674,13 +3680,13 @@ components: type: string sendFullResource: description: >- - Whether to send full FHIR resource to this Pub/Sub topic. The - default value is false. + Optional. Whether to send full FHIR resource to this Pub/Sub topic. + The default value is false. type: boolean sendPreviousResourceOnDelete: description: >- - Whether to send full FHIR resource to this Pub/Sub topic for - deleting FHIR resource. The default value is false. Note that + Optional. Whether to send full FHIR resource to this Pub/Sub topic + for deleting FHIR resource. The default value is false. Note that setting this to true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name diff --git a/providers/src/googleapis.com/v00.00.00000/services/iam.yaml b/providers/src/googleapis.com/v00.00.00000/services/iam.yaml index 095ac3b2..b34a4938 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/iam.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/iam.yaml @@ -12,8 +12,8 @@ info: Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API. version: v1 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/iam/ servers: @@ -1144,9 +1144,7 @@ components: description: The title of this Permission. type: string description: - description: >- - A brief description of what this Permission is used for. This - permission can ONLY be used in predefined roles. + description: A brief description of what this Permission is used for. type: string onlyInPredefinedRoles: deprecated: true @@ -1518,13 +1516,13 @@ components: type: string displayName: description: >- - A user-specified display name of the pool in Google Cloud Console. - Cannot exceed 32 characters. + Optional. A user-specified display name of the pool in Google Cloud + Console. Cannot exceed 32 characters. type: string description: description: >- - A user-specified description of the pool. Cannot exceed 256 - characters. + Optional. A user-specified description of the pool. Cannot exceed + 256 characters. type: string state: description: Output only. The state of the pool. @@ -1547,15 +1545,15 @@ components: - DELETED disabled: description: >- - 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. + Optional. 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. type: boolean sessionDuration: description: >- - 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 + Optional. 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 @@ -1666,13 +1664,13 @@ components: type: string displayName: description: >- - A user-specified display name for the provider. Cannot exceed 32 - characters. + Optional. A user-specified display name for the provider. Cannot + exceed 32 characters. type: string description: description: >- - A user-specified description of the provider. Cannot exceed 256 - characters. + Optional. A user-specified description of the provider. Cannot + exceed 256 characters. type: string state: description: Output only. The state of the provider. @@ -1693,9 +1691,9 @@ components: - DELETED disabled: description: >- - Disables the workforce pool provider. You cannot use a disabled - provider to exchange tokens. However, existing tokens still grant - access. + Optional. Disables the workforce pool provider. You cannot use a + disabled provider to exchange tokens. However, existing tokens still + grant access. type: boolean attributeMapping: description: >- @@ -1752,7 +1750,7 @@ components: type: string attributeCondition: description: >- - A [Common Expression + Optional. 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 @@ -1830,8 +1828,8 @@ components: type: string clientSecret: description: >- - The optional client secret. Required to enable Authorization Code - flow for web sign-in. + Optional. The optional client secret. Required to enable + Authorization Code flow for web sign-in. $ref: >- #/components/schemas/GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret webSsoConfig: @@ -1843,14 +1841,14 @@ components: #/components/schemas/GoogleIamAdminV1WorkforcePoolProviderOidcWebSsoConfig jwksJson: description: >- - OIDC JWKs in JSON String format. For details on the definition of a - JWK, see https://tools.ietf.org/html/rfc7517. If not set, the - `jwks_uri` from the discovery document(fetched from the .well-known - path of the `issuer_uri`) will be used. Currently, RSA and EC - asymmetric keys are supported. The JWK must use following format and - include only the following fields: { "keys": [ { "kty": "RSA/EC", - "alg": "", "use": "sig", "kid": "", "n": "", "e": "", "x": "", "y": - "", "crv": "" } ] } + Optional. OIDC JWKs in JSON String format. For details on the + definition of a JWK, see https://tools.ietf.org/html/rfc7517. If not + set, the `jwks_uri` from the discovery document(fetched from the + .well-known path of the `issuer_uri`) will be used. Currently, RSA + and EC asymmetric keys are supported. The JWK must use following + format and include only the following fields: { "keys": [ { "kty": + "RSA/EC", "alg": "", "use": "sig", "kid": "", "n": "", "e": "", "x": + "", "y": "", "crv": "" } ] } type: string GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret: id: GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret @@ -1868,9 +1866,9 @@ components: properties: plainText: description: >- - Input only. The plain text of the client secret value. For security - reasons, this field is only used for input and will never be - populated in any response. + Optional. Input only. The plain text of the client secret value. For + security reasons, this field is only used for input and will never + be populated in any response. type: string thumbprint: description: >- @@ -1920,11 +1918,12 @@ components: - ONLY_ID_TOKEN_CLAIMS additionalScopes: description: >- - Additional scopes to request for in the OIDC authentication request - on top of scopes requested by default. By default, the `openid`, - `profile` and `email` scopes that are supported by the identity - provider are requested. Each additional scope may be at most 256 - characters. A maximum of 10 additional scopes may be configured. + Optional. Additional scopes to request for in the OIDC + authentication request on top of scopes requested by default. By + default, the `openid`, `profile` and `email` scopes that are + supported by the identity provider are requested. Each additional + scope may be at most 256 characters. A maximum of 10 additional + scopes may be configured. type: array items: type: string @@ -1965,8 +1964,8 @@ components: enumDescriptions: - No AttributesType specified. - >- - Used to get the user's group claims from the Azure AD identity - provider using configuration provided in + Used to get the user's group claims from the Microsoft Entra ID + identity provider using configuration provided in ExtraAttributesOAuth2Client and `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties diff --git a/providers/src/googleapis.com/v00.00.00000/services/iamcredentials.yaml b/providers/src/googleapis.com/v00.00.00000/services/iamcredentials.yaml index c430c948..08d251e6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/iamcredentials.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/iamcredentials.yaml @@ -10,8 +10,8 @@ info: Disabling this API also disables the IAM API (iam.googleapis.com). However, enabling this API doesn't enable the IAM API. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials @@ -233,6 +233,23 @@ components: longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature. type: string + ServiceAccountAllowedLocations: + id: ServiceAccountAllowedLocations + description: Represents a list of allowed locations for given service account. + type: object + properties: + locations: + description: >- + Output only. The human readable trust boundary locations. For + example, ["us-central1", "europe-west1"] + readOnly: true + type: array + items: + type: string + encodedLocations: + description: Output only. The hex encoded bitmap of the trust boundary locations + readOnly: true + type: string parameters: access_token: description: OAuth access token. @@ -353,6 +370,26 @@ components: update: [] replace: [] delete: [] + service_accounts_allowed_locations: + id: google.iamcredentials.service_accounts_allowed_locations + name: service_accounts_allowed_locations + title: Service_accounts_allowed_locations + methods: + get_allowed_locations: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1serviceAccounts~1{serviceAccountsId}~1allowedLocations/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/service_accounts_allowed_locations/methods/get_allowed_locations + insert: [] + update: [] + replace: [] + delete: [] paths: /v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken: parameters: &ref_1 @@ -497,3 +534,27 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/allowedLocations: + parameters: *ref_1 + get: + description: Returns the trust boundary info for a given service account. + operationId: iamcredentials.projects.serviceAccounts.getAllowedLocations + security: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountAllowedLocations' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: serviceAccountsId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/iamv2.yaml b/providers/src/googleapis.com/v00.00.00000/services/iamv2.yaml index 66611bcf..d814d1f2 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/iamv2.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/iamv2.yaml @@ -12,8 +12,8 @@ info: Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API. version: v2 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/iam/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/iamv2beta.yaml b/providers/src/googleapis.com/v00.00.00000/services/iamv2beta.yaml index 915c9fba..8d277727 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/iamv2beta.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/iamv2beta.yaml @@ -12,8 +12,8 @@ info: Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API. version: v2beta - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/iam/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/iap.yaml b/providers/src/googleapis.com/v00.00.00000/services/iap.yaml index be759fbe..f8faf810 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/iap.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/iap.yaml @@ -7,8 +7,8 @@ info: title: Cloud Identity-Aware Proxy API description: Controls access to cloud applications running on Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/iap servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/identitytoolkit.yaml b/providers/src/googleapis.com/v00.00.00000/services/identitytoolkit.yaml index e36ba1e6..1962f4b3 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/identitytoolkit.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/identitytoolkit.yaml @@ -8,7 +8,7 @@ info: description: Help the third party sites to implement federated login. version: v3 x-discovery-doc-revision: '20180723' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/identity-toolkit/v3/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/ids.yaml b/providers/src/googleapis.com/v00.00.00000/services/ids.yaml index ed24a162..05edc083 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/ids.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/ids.yaml @@ -13,7 +13,7 @@ info: will be shared with Palo Alto Networks. version: v1 x-discovery-doc-revision: '20240815' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/integrations.yaml b/providers/src/googleapis.com/v00.00.00000/services/integrations.yaml index baf3e495..d96bd8b2 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/integrations.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/integrations.yaml @@ -7,8 +7,8 @@ info: title: Application Integration API description: '' version: v1 - x-discovery-doc-revision: '20240902' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/application-integration servers: @@ -34,621 +34,412 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudIntegrationsV1alphaExecutionReplayInfo: + GoogleCloudConnectorsV1HPAConfig: + type: object properties: - replayReason: + memoryUtilizationThreshold: + format: int64 + description: >- + Output only. Percent Memory utilization where HPA triggers + autoscaling. type: string - description: reason for replay - originalExecutionInfoId: + readOnly: true + cpuUtilizationThreshold: + readOnly: true + format: int64 + description: Output only. Percent CPU utilization where HPA triggers autoscaling. type: string - description: >- - If this execution is a replay of another execution, then this field - contains the original execution id. - replayedExecutionInfoIds: - type: array - description: >- - If this execution has been replayed, then this field contains the - execution ids of the replayed executions. - items: - type: string - description: >- - Contains the details of the execution info: this includes the replay - reason and replay tree connecting executions in a parent-child - relationship - id: GoogleCloudIntegrationsV1alphaExecutionReplayInfo + id: GoogleCloudConnectorsV1HPAConfig + description: Autoscaling config for connector deployment system metrics. + EnterpriseCrmEventbusProtoTaskUiModuleConfig: + description: Task author would use this type to configure a config module. type: object - EnterpriseCrmEventbusProtoNotification: properties: - escalatorQueue: + moduleId: + description: ID of the config module. + enumDescriptions: + - Default + - Supports editing label of a task config. + - Supports editing error handling settings such as retry strategy. + - >- + Supports adding, removing and editing task parameter values in a + table with little assistance or restriction. + - >- + Supports editing values of declared input parameters of a task. + Think of it as a "strongly typed" upgrade to the TASK_PARAM_TABLE. + - Supports editing preconditions of a task config. + - >- + Supports adding, editing, and deleting the scripts associated with + a script task, as well as modifying the input/output parameters. + - >- + Supports editing task parameters associated with an RPC/stubby + task. + - >- + Contains readonly task information, including input/output type + info. + - Configures a SuspensionTask. + - Configures a GenericStubbyTypedTask. + - Configures a SubWorkflowExecutorTask. + - Supports navigating to Apps Script editor + - Configures a SubWorkflowForEachLoopTask. + - Configures a FieldMappingTask. + - Contains embedded in-product documentation for a task. + - UI widget for the rest caller task. + - Configures a SubWorkflowScatterGatherTask. + - Configures a CloudSql Task. + - Configure a GenericConnectorTask. type: string - emailAddress: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoAddress' - request: - description: >- - If the out-of-the-box email/pubsub notifications are not suitable - and custom logic is required, fire a workflow containing all info - needed to notify users to resume execution. - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoCustomSuspensionRequest - pubsubTopic: + enum: + - UNSPECIFIED_TASK_MODULE + - LABEL + - ERROR_HANDLING + - TASK_PARAM_TABLE + - TASK_PARAM_FORM + - PRECONDITION + - SCRIPT_EDITOR + - RPC + - TASK_SUMMARY + - SUSPENSION + - RPC_TYPED + - SUB_WORKFLOW + - APPS_SCRIPT_NAVIGATOR + - SUB_WORKFLOW_FOR_EACH_LOOP + - FIELD_MAPPING + - README + - REST_CALLER + - SUB_WORKFLOW_SCATTER_GATHER + - CLOUD_SQL + - GENERIC_CONNECTOR_TASK + id: EnterpriseCrmEventbusProtoTaskUiModuleConfig + GoogleCloudIntegrationsV1alphaTemplateComponent: + type: object + id: GoogleCloudIntegrationsV1alphaTemplateComponent + properties: + name: + description: Optional. Name of the component. type: string - buganizerNotification: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBuganizerNotification' - id: EnterpriseCrmEventbusProtoNotification + type: + enumDescriptions: + - Component type is unspecified + - Trigger component + - Task component + - Connector component + type: string + description: Optional. Type of the component. + enum: + - TYPE_UNSPECIFIED + - TRIGGER + - TASK + - CONNECTOR + description: Define the components that are present in a template. + GoogleCloudIntegrationsV1alphaListIntegrationsResponse: type: object - EnterpriseCrmEventbusProtoExecutionTraceInfo: properties: - parentEventExecutionInfoId: + nextPageToken: type: string - description: >- - Parent event execution info id that triggers the current execution - through SubWorkflowExecutorTask. - traceId: - description: Used to aggregate ExecutionTraceInfo. + description: The next page token for the response. + integrations: + description: The integrations which match the request. + type: array + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaIntegration' + description: Response for ListIntegrations. + id: GoogleCloudIntegrationsV1alphaListIntegrationsResponse + GoogleCloudIntegrationsV1alphaAttemptStats: + description: Status for the execution attempt. + type: object + properties: + endTime: + description: The end time of the integration execution for current attempt. type: string + format: google-datetime + startTime: + type: string + description: >- + The start time of the integration execution for current attempt. + This could be in the future if it's been scheduled. + format: google-datetime + id: GoogleCloudIntegrationsV1alphaAttemptStats + GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer: + type: object description: >- - Message that helps aggregate all sub-executions triggered by one - execution and keeps track of child-parent relationships. + Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0 + Authorization Grant based authentication. See + https://tools.ietf.org/html/rfc7523 for more details. + properties: + jwtClaims: + $ref: >- + #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims + description: JwtClaims providers fields to generate the token. + clientKey: + description: >- + Secret version reference containing a PKCS#8 PEM-encoded private key + associated with the Client Certificate. This private key will be + used to sign JWTs used for the jwt-bearer authorization grant. + Specified in the form as: `projects/*/secrets/*/versions/*`. + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + id: GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer + GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest: + properties: {} type: object - id: EnterpriseCrmEventbusProtoExecutionTraceInfo - GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse: + id: GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest + description: Request for TakeoverEditLock. + GoogleCloudConnectorsV1ResourceLimits: type: object - description: Response for DownloadJsonPackage. - id: GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse + id: GoogleCloudConnectorsV1ResourceLimits + description: Resource limits defined for connection pods of a given connector type. properties: - files: - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFile' - type: array - description: List containing JSON for multiple file with type information. - GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse: - type: object - id: GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse - description: Response for listing RuntimeEntitySchemas for a specific Connection. + memory: + description: Output only. Memory limit. + type: string + readOnly: true + cpu: + type: string + readOnly: true + description: Output only. CPU limit. + EnterpriseCrmEventbusProtoConditionResult: + id: EnterpriseCrmEventbusProtoConditionResult properties: - nextPageToken: + result: + description: >- + the result comes out after evaluate the combined condition. True if + there's no combined condition specified. + type: boolean + currentTaskNumber: type: string - description: Next page token. - runtimeEntitySchemas: - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaRuntimeEntitySchema - description: Runtime entity schemas. - type: array - EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam: + description: the current task number. + nextTaskNumber: + type: string + description: the next task number. + description: Contains the combined condition calculation results. type: object - id: EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam + EnterpriseCrmFrontendsEventbusProtoTriggerConfig: + type: object + id: EnterpriseCrmFrontendsEventbusProtoTriggerConfig properties: - useServiceAccountInContext: + triggerName: + description: >- + Optional. Name of the trigger This is added to identify the type of + trigger. This is avoid the logic on triggerId to identify the + trigger_type and push the same to monitoring. + type: string + properties: + type: object + description: >- + Configurable properties of the trigger, not to be confused with + workflow parameters. E.g. "name" is a property for API triggers and + "subscription" is a property for Cloud Pubsub triggers. + additionalProperties: + type: string + pauseWorkflowExecutions: + description: >- + Optional. If set to true, any upcoming requests for this trigger + config will be paused and the executions will be resumed later when + the flag is reset. The workflow to which this trigger config belongs + has to be in ACTIVE status for the executions to be paused or + resumed. type: boolean - scope: - description: A space-delimited list of requested scope permissions. + description: type: string - allowedCredentialTypes: description: >- - Defines the credential types to be supported as Task may restrict - specific types to use, e.g. Cloud SQL Task will use - username/password type only. - type: array - items: - enumDescriptions: - - '' - - Regular username/password pair. - - API key. - - OAuth 2.0 Authorization Code Grant Type. - - OAuth 2.0 Implicit Grant Type. - - OAuth 2.0 Client Credentials Grant Type. - - OAuth 2.0 Resource Owner Credentials Grant Type. - - JWT Token. - - Auth Token, e.g. bearer token. - - >- - Service Account which can be used to generate token for - authentication. - - Client Certificate only. - - Google OIDC ID Token - enum: - - CREDENTIAL_TYPE_UNSPECIFIED - - USERNAME_AND_PASSWORD - - API_KEY - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT - - OAUTH2_CLIENT_CREDENTIALS - - OAUTH2_RESOURCE_OWNER_CREDENTIALS - - JWT - - AUTH_TOKEN - - SERVICE_ACCOUNT - - CLIENT_CERTIFICATE_ONLY - - OIDC_TOKEN - type: string - allowedServiceAccountInContext: - type: boolean - authConfigId: - description: UUID of the AuthConfig. - type: string - EnterpriseCrmEventbusProtoErrorDetail: - properties: - severity: - enumDescriptions: - - '' - - '' - - '' - - '' - description: 'The severity of the error: ERROR|WARN|INFO.' - enum: - - SEVERITY_UNSPECIFIED - - ERROR - - WARN - - INFO - type: string - errorMessage: + User-provided description intended to give more business context + about the task. + errorCatcherId: type: string description: >- - The full text of the error message, including any parameters that - were thrown along with the exception. - taskNumber: - type: integer - format: int32 + Optional Error catcher id of the error catch flow which will be + executed when execution error happens in the task + position: description: >- - The task try-number, in which, the error occurred. If zero, the - error happened at the event level. - errorCode: - $ref: '#/components/schemas/CrmlogErrorCode' - description: The associated error-code, which can be a common or internal code. - id: EnterpriseCrmEventbusProtoErrorDetail - type: object - description: An error, warning, or information message associated with a workflow. - GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse: - description: The response for executing an integration. - id: GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse - type: object - properties: - outputParameters: - additionalProperties: - type: any - description: Properties of the object. + Optional. Informs the front-end application where to draw this + trigger config on the UI. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCoordinate' + enabledClients: description: >- - OUTPUT parameters in format of Map. Where Key is the name of the - parameter. Note: Name of the system generated parameters are wrapped - by backtick(`) to distinguish them from the user defined parameters. - type: object - executionFailed: - deprecated: true - description: Is true if any execution in the integration failed. False otherwise. - type: boolean - parameterEntries: - deprecated: true - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry + Required. The list of client ids which are enabled to execute the + workflow using this trigger. In other words, these clients have the + workflow execution privledges for this trigger. For API trigger, the + client id in the incoming request is validated against the list of + enabled clients. For non-API triggers, one workflow execution is + triggered on behalf of each enabled client. type: array - description: >- - Parameters are a part of Event and can be used to communicate - between different tasks that are part of the same integration - execution. - executionId: - description: The id of the execution corresponding to this run of integration. - type: string - eventParameters: - deprecated: true - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - description: Details for the integration that were executed. - EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo: - type: object - id: EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo - properties: - eventExecutionDetails: + items: + type: string + outputVariables: + description: Optional. List of output variables for the api trigger. $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails - description: The execution info about this event. - triggerId: - description: >- - The trigger id of the workflow trigger config. If both trigger_id - and client_id is present, the workflow is executed from the start - tasks provided by the matching trigger config otherwise it is - executed from the default start tasks. - type: string - snapshotNumber: - format: int64 - type: string - description: Workflow snapshot number. - errorCode: - $ref: '#/components/schemas/CrmlogErrorCode' - description: Final error-code if event failed. - executionTraceInfo: - description: Execution trace info to aggregate parent-child executions. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoExecutionTraceInfo' - integrationVersionUserLabel: + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables + cloudSchedulerConfig: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCloudSchedulerConfig' + triggerNumber: type: string - description: User-defined label that annotates the executed integration version. - responseParams: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - description: Event parameters come out as part of the response. - replayInfo: - description: Replay info for the execution - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo - requestParams: - description: Event parameters come in as part of the request. + description: >- + Required. A number to uniquely identify each trigger config within + the workflow on UI. + inputVariables: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - workflowRetryBackoffIntervalSeconds: + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables + description: Optional. List of input variables for the api trigger. + nextTasksExecutionPolicy: + enumDescriptions: + - Default + - Execute all the tasks that satisfy their associated condition. + - Execute the first task that satisfies the associated condition. + enum: + - UNSPECIFIED + - RUN_ALL_MATCH + - RUN_FIRST_MATCH + description: Dictates how next tasks will be executed. type: string - format: int64 - description: >- - Time interval in seconds to schedule retry of workflow in manifold - when workflow is already running - product: + triggerId: type: string + description: The backend trigger ID. + triggerType: enum: - - UNSPECIFIED_PRODUCT - - IP - - APIGEE - - SECURITY - description: >- - Which Google product the execution_info belongs to. If not set, the - execution_info belongs to Integration Platform by default. + - UNKNOWN + - CLOUD_PUBSUB + - GOOPS + - SFDC_SYNC + - CRON + - API + - MANIFOLD_TRIGGER + - DATALAYER_DATA_CHANGE + - SFDC_CHANNEL + - CLOUD_PUBSUB_EXTERNAL + - SFDC_CDC_CHANNEL + - SFDC_PLATFORM_EVENTS_CHANNEL + - CLOUD_SCHEDULER + - INTEGRATION_CONNECTOR_TRIGGER + - PRIVATE_TRIGGER enumDescriptions: - '' - '' - '' - '' - requestId: - type: string - description: Optional. This is used to de-dup incoming request. - eventExecutionInfoId: - description: Auto-generated primary key. - type: string - lastModifiedTime: - format: int64 - description: Auto-generated. - type: string - tenant: - description: >- - Tenant this event is created. Used to reschedule the event to - correct tenant. - type: string - errors: - description: >- - Errors, warnings, and informationals associated with the - workflow/task. The order in which the errors were added by the - workflow/task is maintained. - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoErrorDetail' - type: array - cloudLoggingDetails: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCloudLoggingDetails' - description: Cloud Logging details for execution info - clientId: - type: string - description: The event data user sends as request. - postMethod: - enum: - - UNSPECIFIED - - POST - - POST_TO_QUEUE - - SCHEDULE - - POST_BY_EVENT_CONFIG_ID - - POST_WITH_EVENT_DETAILS - type: string - enumDescriptions: - '' - '' - '' - '' - '' - '' - description: The ways user posts this event. - workflowId: - type: string - description: Required. Pointer to the workflow it is executing. - workflowName: - type: string - description: Name of the workflow. - createTime: - description: Auto-generated. - type: string - format: int64 - description: >- - Contains all the execution details for a workflow instance. Next - available id: 27 - EnterpriseCrmEventbusProtoCloudLoggingDetails: - id: EnterpriseCrmEventbusProtoCloudLoggingDetails - description: >- - Cloud Logging details, selected by the user for the integration version - (workflow). This message field will be also used in ExecutionInfo, to - indicate the CloudLoggingDetails config at the time of workflow - (integration version) execution, since this field value can be changed - for an unpublished workflow. - properties: - cloudLoggingSeverity: + - '' + - '' + - '' + - '' + - '' type: string + triggerCriteria: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTriggerCriteria' description: >- - Severity selected by the customer for the logs to be sent to Cloud - Logging, for the integration version getting executed. - enum: - - CLOUD_LOGGING_SEVERITY_UNSPECIFIED - - INFO - - ERROR - - WARNING - enumDescriptions: - - Unspecified - - >- - If Severity selected is `INFO`, then all the Integration Execution - States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, - `ERROR`, `CANCELLED`) will be sent to Cloud Logging. - - >- - If Severity selected is `ERROR`, then only the following - Integration Execution States (`ERROR`, `CANCELLED`) will be sent - to Cloud Logging. - - >- - If Severity selected is `WARNING`, then only the following - Integration Execution States (`ERROR`, `CANCELLED`) will be sent - to Cloud Logging. - enableCloudLogging: - type: boolean + Optional. When set, Eventbus will run the task specified in the + trigger_criteria and validate the result using the + trigger_criteria.condition, and only execute the workflow when + result is true. + label: + type: string + description: The user created label for a particular trigger. + startTasks: description: >- - Status of whether Cloud Logging is enabled or not for the - integration version getting executed. - type: object - GoogleCloudConnectorsV1DestinationConfig: - type: object - description: Define the Connectors target endpoint. - id: GoogleCloudConnectorsV1DestinationConfig - properties: - destinations: - description: The destinations for the key. + Set of tasks numbers from where the workflow execution is started by + this trigger. If this is empty, then workflow is executed with + default start tasks. In the list of start tasks, none of two tasks + can have direct ancestor-descendant relationships (i.e. in a same + workflow execution graph). type: array items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Destination' - key: - type: string + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNextTask' + alertConfig: description: >- - The key is the destination identifier that is supported by the - Connector. - GoogleCloudIntegrationsV1alphaAuthConfig: + An alert threshold configuration for the [trigger + client + + workflow] tuple. If these values are not specified in the trigger + config, default values will be populated by the system. Note that + there must be exactly one alert threshold configured per [client + + trigger + workflow] when published. + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoWorkflowAlertConfig' + type: array + description: 'Configuration detail of a trigger. Next available id: 22' + EnterpriseCrmEventbusProtoExecutionTraceInfo: type: object - id: GoogleCloudIntegrationsV1alphaAuthConfig properties: - description: - type: string - description: A description of the auth config. - certificateId: - description: Certificate id for client certificate - type: string - name: - type: string - description: >- - Resource name of the auth config. For more information, see Manage - authentication profiles. - projects/{project}/locations/{location}/authConfigs/{authConfig}. - decryptedCredential: - description: Raw auth credentials. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCredential' - visibility: - enumDescriptions: - - Visibility not specified. - - Profile visible to the creator only. - - Profile visible within the client. - type: string - enum: - - AUTH_CONFIG_VISIBILITY_UNSPECIFIED - - PRIVATE - - CLIENT_VISIBLE - description: The visibility of the auth config. - encryptedCredential: - type: string - description: >- - Auth credential encrypted by Cloud KMS. Can be decrypted as - Credential with proper KMS key. - format: byte - creatorEmail: - description: >- - The creator's email address. Generated based on the End User - Credentials/LOAS role of the user making the call. - type: string - lastModifierEmail: - type: string - description: >- - The last modifier's email address. Generated based on the End User - Credentials/LOAS role of the user making the call. - reason: - description: The reason / details of the current status. + traceId: + description: Used to aggregate ExecutionTraceInfo. type: string - validTime: - format: google-datetime + parentEventExecutionInfoId: description: >- - The time until the auth config is valid. Empty or max value is - considered the auth config won't expire. + Parent event execution info id that triggers the current execution + through SubWorkflowExecutorTask. type: string - createTime: + description: >- + Message that helps aggregate all sub-executions triggered by one + execution and keeps track of child-parent relationships. + id: EnterpriseCrmEventbusProtoExecutionTraceInfo + EnterpriseCrmFrontendsEventbusProtoStringParameterArray: + properties: + stringValues: + type: array + items: + type: string + type: object + id: EnterpriseCrmFrontendsEventbusProtoStringParameterArray + GoogleCloudIntegrationsV1alphaLiftSuspensionResponse: + properties: + eventExecutionInfoId: type: string - readOnly: true - format: google-datetime - description: Output only. The timestamp when the auth config is created. - credentialType: + description: Execution Id that will be returned + description: Response of lift Suspense + type: object + id: GoogleCloudIntegrationsV1alphaLiftSuspensionResponse + GoogleCloudConnectorsV1ConnectionStatus: + id: GoogleCloudConnectorsV1ConnectionStatus + description: ConnectionStatus indicates the state of the connection. + type: object + properties: + description: + description: Description. type: string - enumDescriptions: - - Unspecified credential type - - Regular username/password pair. - - API key. - - OAuth 2.0 Authorization Code Grant Type. - - OAuth 2.0 Implicit Grant Type. - - OAuth 2.0 Client Credentials Grant Type. - - OAuth 2.0 Resource Owner Credentials Grant Type. - - JWT Token. - - Auth Token, e.g. bearer token. - - >- - Service Account which can be used to generate token for - authentication. - - Client Certificate only. - - Google OIDC ID Token - enum: - - CREDENTIAL_TYPE_UNSPECIFIED - - USERNAME_AND_PASSWORD - - API_KEY - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT - - OAUTH2_CLIENT_CREDENTIALS - - OAUTH2_RESOURCE_OWNER_CREDENTIALS - - JWT - - AUTH_TOKEN - - SERVICE_ACCOUNT - - CLIENT_CERTIFICATE_ONLY - - OIDC_TOKEN - description: Credential type of the encrypted credential. state: + description: State. type: string - description: The status of the auth config. enumDescriptions: - - Status not specified. - - Valid Auth config. + - Connection does not have a state yet. + - Connection is being created. + - Connection is running and ready for requests. + - Connection is stopped. + - Connection is being deleted. + - Connection is being updated. + - Connection is not running due to an error. - >- - General invalidity, if it doesn't fits in the detailed issue - below. - - Auth config soft deleted. - - Auth config expired. - - Auth config unauthorized. - - Auth config not supported. + Connection is not running because the authorization configuration + is not complete. enum: - STATE_UNSPECIFIED - - VALID - - INVALID - - SOFT_DELETED - - EXPIRED - - UNAUTHORIZED - - UNSUPPORTED - displayName: - type: string - description: Required. The name of the auth config. - expiryNotificationDuration: - type: array - description: >- - User can define the time to receive notification after which the - auth config becomes invalid. Support up to 30 days. Support - granularity in hours. - items: - type: string - format: google-duration - overrideValidTime: - description: >- - User provided expiry time to override. For the example of - Salesforce, username/password credentials can be valid for 6 months - depending on the instance settings. - format: google-datetime - type: string - updateTime: - readOnly: true - description: Output only. The timestamp when the auth config is modified. - format: google-datetime + - CREATING + - ACTIVE + - INACTIVE + - DELETING + - UPDATING + - ERROR + - AUTHORIZATION_REQUIRED + status: + description: Status provides detailed information for the state. type: string - description: The AuthConfig resource use to hold channels and connection config data. - GoogleCloudIntegrationsV1alphaRuntimeActionSchema: - type: object - description: Metadata of an action, including schemas for its inputs and outputs. - id: GoogleCloudIntegrationsV1alphaRuntimeActionSchema - properties: - outputSchema: - description: Output parameter schema for the action. - type: string - action: - description: Name of the action. - type: string - inputSchema: - description: Input parameter schema for the action. - type: string - GoogleCloudIntegrationsV1alphaOidcToken: - id: GoogleCloudIntegrationsV1alphaOidcToken - description: OIDC Token - properties: - tokenExpireTime: - format: google-datetime - type: string - description: The approximate time until the token retrieved is valid. - token: - description: ID token obtained for the service account - type: string - audience: - description: >- - Audience to be used when generating OIDC token. The audience claim - identifies the recipients that the JWT is intended for. - type: string - serviceAccountEmail: - description: The service account email to be used as the identity for the token. - type: string - type: object - GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest: - id: GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest - properties: {} - description: Request for UnpublishIntegrationVersion. - type: object - GoogleCloudConnectorsV1ResourceLimits: - id: GoogleCloudConnectorsV1ResourceLimits - type: object - description: Resource limits defined for connection pods of a given connector type. - properties: - cpu: - readOnly: true - type: string - description: Output only. CPU limit. - memory: - description: Output only. Memory limit. - readOnly: true - type: string - EnterpriseCrmEventbusProtoConnectorsConnection: - properties: - connectorVersion: - description: >- - Connector version Format: - projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version} - type: string - serviceName: - description: >- - Service name Format: - projects/{project}/locations/{location}/namespaces/{namespace}/services/{service} - type: string - host: - type: string - description: >- - The name of the Hostname of the Service Directory service with TLS - if used. - connectionName: - type: string - description: >- - Connection name Format: - projects/{project}/locations/{location}/connections/{connection} - id: EnterpriseCrmEventbusProtoConnectorsConnection - type: object - GoogleCloudIntegrationsV1alphaParameterMapField: - properties: - referenceKey: - type: string - description: Referencing one of the Integration variables. - literalValue: - description: Passing a literal value. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - id: GoogleCloudIntegrationsV1alphaParameterMapField - type: object - description: Field represents either the key or value in an entry. - EnterpriseCrmEventbusProtoBooleanFunction: - id: EnterpriseCrmEventbusProtoBooleanFunction + EnterpriseCrmEventbusProtoBaseFunction: + id: EnterpriseCrmEventbusProtoBaseFunction type: object properties: functionName: - type: string enum: - UNSPECIFIED - - TO_JSON - - NOT - - AND - - NAND - - OR - - XOR - - NOR - - XNOR - - TO_STRING - - EQUALS + - NOW_IN_MILLIS + - INT_LIST + - ENVIRONMENT + - GET_EXECUTION_ID + - GET_INTEGRATION_NAME + - GET_REGION + - GET_UUID + - GET_PROJECT_ID + type: string enumDescriptions: - '' - '' @@ -659,81 +450,30 @@ components: - '' - '' - '' - - '' - - '' - EnterpriseCrmEventbusProtoCloudSchedulerConfig: - description: Cloud Scheduler Trigger configuration - id: EnterpriseCrmEventbusProtoCloudSchedulerConfig - type: object - properties: - errorMessage: - description: >- - Optional. When the job was deleted from Pantheon UI, error_message - will be populated when Get/List integrations - type: string - cronTab: - type: string - description: Required. The cron tab of cloud scheduler trigger. - location: - description: >- - Required. The location where associated cloud scheduler job will be - created - type: string - serviceAccountEmail: - type: string - description: >- - Required. Service account used by Cloud Scheduler to trigger the - integration at scheduled time - GoogleCloudIntegrationsV1alphaDoubleParameterArray: + EnterpriseCrmEventbusProtoMappedField: + description: Mapped field is a pair of input field and output field. + id: EnterpriseCrmEventbusProtoMappedField properties: - doubleValues: - type: array - description: Double number array. - items: - format: double - type: number - description: This message only contains a field of double number array. + outputField: + description: The output field being mapped to. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoField' + inputField: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoField' + description: The input field being mapped from. type: object - id: GoogleCloudIntegrationsV1alphaDoubleParameterArray - GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest: - description: Request to enable/disable variable masking for a provisioned client + GoogleCloudIntegrationsV1alphaUploadTemplateResponse: + description: Response for UploadTemplate. + id: GoogleCloudIntegrationsV1alphaUploadTemplateResponse properties: - enableVariableMasking: - type: boolean - description: >- - Required. REQUIRED: True if variable masking feature should be - turned on for this region - type: object - id: GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest - EnterpriseCrmFrontendsEventbusProtoParamSpecEntry: - id: EnterpriseCrmFrontendsEventbusProtoParamSpecEntry + template: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + description: The uploaded Template type: object + EnterpriseCrmEventbusProtoBooleanArrayFunction: + id: EnterpriseCrmEventbusProtoBooleanArrayFunction properties: - config: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryConfig' - description: Optional fields, such as help text and other useful info. - validationRule: - description: >- - Rule used to validate inputs (individual values and collection - elements) for this parameter. - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRule - protoDef: - description: Populated if this represents a proto or proto array. - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition - isOutput: - type: boolean - jsonSchema: - type: string - description: If the data_type is JSON_VALUE, then this will define its schema. - key: + functionName: type: string - description: >- - Key is used to retrieve the corresponding parameter value. This - should be unique for a given task. These parameters must be - predefined in the workflow definition. - dataType: enumDescriptions: - '' - '' @@ -748,3261 +488,3376 @@ components: - '' - '' - '' - - '' - - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' - type: string - description: The data type of the parameter. enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - collectionElementClassName: - type: string - description: >- - If it is a collection of objects, this would be the FCQN of every - individual element in the collection. If this is "java.lang.Object", - the parameter is a collection of any type. - required: - type: boolean - description: If set, the user must provide an input value for this parameter. - className: + - UNSPECIFIED + - GET + - APPEND + - SIZE + - TO_SET + - APPEND_ALL + - TO_JSON + - SET + - REMOVE + - REMOVE_AT + - CONTAINS + - FOR_EACH + - FILTER + type: object + GoogleCloudConnectorsV1EventingRuntimeData: + type: object + id: GoogleCloudConnectorsV1EventingRuntimeData + description: >- + Eventing runtime data has the details related to eventing managed by the + system. + properties: + eventsListenerPscSa: description: >- - The FQCN of the Java object this represents. A string, for example, - would be "java.lang.String". If this is "java.lang.Object", the - parameter can be of any type. + Output only. Events listener PSC Service attachment. The value will + be populated after provisioning the events listener with private + connectivity enabled. + readOnly: true type: string - isDeprecated: - type: boolean - description: >- - If set, this entry is deprecated, so further use of this parameter - should be prohibited. - defaultValue: + status: + $ref: '#/components/schemas/GoogleCloudConnectorsV1EventingStatus' + description: Output only. Current status of eventing. + readOnly: true + webhookData: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType + #/components/schemas/GoogleCloudConnectorsV1EventingRuntimeDataWebhookData + readOnly: true + description: Output only. Webhook data. + webhookSubscriptions: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions + description: Output only. Webhook subscriptions. + eventsListenerEndpoint: + readOnly: true description: >- - Default values for the defined keys. Each value can either be - string, int, double or any proto message or a serialized object. - description: 'Key-value pair of EventBus task parameters. Next id: 13' - GoogleCloudConnectorsV1EventingConfig: - description: Eventing Configuration of a connection - id: GoogleCloudConnectorsV1EventingConfig + Output only. Events listener endpoint. The value will populated + after provisioning the events listener. + type: string + GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest: + type: object + description: 'The request for scheduling an integration. Next available id: 11' properties: - listenerAuthConfig: - description: Optional. Auth details for the event listener. - $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfig' - deadLetterConfig: - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1EventingConfigDeadLetterConfig - description: Optional. Dead letter configuration for eventing of a connection. - enrichmentEnabled: - type: boolean - description: Enrichment Enabled. - proxyDestinationConfig: - $ref: '#/components/schemas/GoogleCloudConnectorsV1DestinationConfig' - description: Optional. Proxy for Eventing auto-registration. - additionalVariables: - items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + userGeneratedExecutionId: + type: string + description: >- + Optional. This is a unique id provided by the method caller. If + provided this will be used as the execution_id when a new execution + info is created. This is a string representation of a UUID. Must + have no more than 36 characters and contain only alphanumeric + characters and hyphens. + requestId: + description: >- + This is used to de-dup incoming request: if the duplicate request + was detected, the response from the previous execution is returned. + type: string + inputParameters: + description: Optional. Input parameters used by integration execution. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + parameters: + description: Passed in as parameters to each integration execution. + deprecated: true + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' + parameterEntries: + description: >- + Parameters are a part of Event and can be used to communicate + between different tasks that are part of the same integration + execution. type: array - description: Additional eventing related field values - eventsListenerIngressEndpoint: + deprecated: true + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry + scheduleTime: + format: google-datetime description: >- - Optional. Ingress endpoint of the event listener. This is used only - when private connectivity is enabled. + The time that the integration should be executed. If the time is + less or equal to the current time, the integration is executed + immediately. type: string - registrationDestinationConfig: - description: Registration endpoint for auto registration. - $ref: '#/components/schemas/GoogleCloudConnectorsV1DestinationConfig' - privateConnectivityEnabled: - type: boolean - description: Optional. Private Connectivity Enabled. - authConfig: - description: Auth details for the webhook adapter. - $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfig' - type: object - GoogleCloudIntegrationsV1alphaListAuthConfigsResponse: - description: Response to list AuthConfigs. + triggerId: + type: string + description: >- + Required. Matched against all {@link TriggerConfig}s across all + integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id) + id: GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest + GoogleCloudIntegrationsV1alphaConditionalFailurePolicies: type: object - id: GoogleCloudIntegrationsV1alphaListAuthConfigsResponse + id: GoogleCloudIntegrationsV1alphaConditionalFailurePolicies + description: Conditional task failur retry strategies properties: - nextPageToken: - type: string - description: The token used to retrieve the next page of results. - authConfigs: + failurePolicies: + description: >- + The list of failure policies that will be applied to the task in + order. items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' type: array - description: The list of AuthConfigs retrieved. - GoogleCloudConnectorsV1NodeConfig: + defaultFailurePolicy: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' + description: >- + The default failure policy to be applied if no conditional failure + policy matches. + EnterpriseCrmEventbusProtoParameterMapEntry: type: object properties: - maxNodeCount: - format: int32 - description: Maximum number of nodes in the runtime nodes. - type: integer - minNodeCount: - description: Minimum number of nodes in the runtime nodes. - type: integer - format: int32 - id: GoogleCloudConnectorsV1NodeConfig - description: Node configuration for the connection. - GoogleCloudIntegrationsV1alphaParameterMap: - type: object - description: >- - A generic multi-map that holds key value pairs. They keys and values can - be of any type, unless specified. + value: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterMapField' + key: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterMapField' + id: EnterpriseCrmEventbusProtoParameterMapEntry + description: Entry is a pair of key and value. + GoogleCloudIntegrationsV1alphaTriggerConfigVariables: properties: - entries: + names: type: array - description: A list of parameter map entries. items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaParameterMapEntry - keyType: + type: string + description: Optional. List of variable names. + type: object + id: GoogleCloudIntegrationsV1alphaTriggerConfigVariables + description: Variables names mapped to api trigger. + GoogleCloudIntegrationsV1alphaGetClientMetadataResponse: + type: object + id: GoogleCloudIntegrationsV1alphaGetClientMetadataResponse + description: Response for the GetClientMetadata rpc + properties: + properties: + description: 'Required. Required: The client configuration that was requested' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaProjectProperties' + EnterpriseCrmFrontendsEventbusProtoParamSpecEntry: + properties: + collectionElementClassName: + type: string + description: >- + If it is a collection of objects, this would be the FCQN of every + individual element in the collection. If this is "java.lang.Object", + the parameter is a collection of any type. + protoDef: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition + description: Populated if this represents a proto or proto array. + defaultValue: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType + description: >- + Default values for the defined keys. Each value can either be + string, int, double or any proto message or a serialized object. + isOutput: + type: boolean + required: + description: If set, the user must provide an input value for this parameter. + type: boolean + validationRule: + description: >- + Rule used to validate inputs (individual values and collection + elements) for this parameter. + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRule + className: + description: >- + The FQCN of the Java object this represents. A string, for example, + would be "java.lang.String". If this is "java.lang.Object", the + parameter can be of any type. + type: string + config: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryConfig' + description: Optional fields, such as help text and other useful info. + jsonSchema: + description: If the data_type is JSON_VALUE, then this will define its schema. + type: string + key: + type: string + description: >- + Key is used to retrieve the corresponding parameter value. This + should be unique for a given task. These parameters must be + predefined in the workflow definition. + dataType: + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' enum: - - INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED + - DATA_TYPE_UNSPECIFIED - STRING_VALUE - INT_VALUE - DOUBLE_VALUE - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE - STRING_ARRAY - INT_ARRAY - DOUBLE_ARRAY - - BOOLEAN_ARRAY - - JSON_VALUE - - PROTO_VALUE - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY - NON_SERIALIZABLE_OBJECT - enumDescriptions: - - Unspecified. - - String. - - Integer. - - Double Number. - - Boolean. - - String Array. - - Integer Array. - - Double Number Array. - - Boolean Array. - - Json. - - Proto Value (Internal use only). - - Proto Array (Internal use only). - - // Non-serializable object (Internal use only). - type: string - description: >- - Option to specify key type for all entries of the map. If provided - then field types for all entries must conform to this. - valueType: - type: string - description: >- - Option to specify value type for all entries of the map. If provided - then field types for all entries must conform to this. - enum: - - INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - BOOLEAN_ARRAY - JSON_VALUE - - PROTO_VALUE - - PROTO_ARRAY - - NON_SERIALIZABLE_OBJECT - enumDescriptions: - - Unspecified. - - String. - - Integer. - - Double Number. - - Boolean. - - String Array. - - Integer Array. - - Double Number Array. - - Boolean Array. - - Json. - - Proto Value (Internal use only). - - Proto Array (Internal use only). - - // Non-serializable object (Internal use only). - id: GoogleCloudIntegrationsV1alphaParameterMap - GoogleCloudIntegrationsV1alphaStringParameterArray: - id: GoogleCloudIntegrationsV1alphaStringParameterArray + description: The data type of the parameter. + isDeprecated: + type: boolean + description: >- + If set, this entry is deprecated, so further use of this parameter + should be prohibited. + id: EnterpriseCrmFrontendsEventbusProtoParamSpecEntry + description: 'Key-value pair of EventBus task parameters. Next id: 13' type: object - description: This message only contains a field of string array. + EnterpriseCrmEventbusProtoDoubleArray: properties: - stringValues: + values: items: - type: string - description: String array. + format: double + type: number type: array - GoogleCloudIntegrationsV1alphaUsernameAndPassword: + id: EnterpriseCrmEventbusProtoDoubleArray type: object + EnterpriseCrmEventbusProtoTeardown: properties: - password: - description: Password to be used - type: string - username: + teardownTaskConfigs: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTeardownTaskConfig' + type: array + description: Required. + type: object + id: EnterpriseCrmEventbusProtoTeardown + GoogleCloudIntegrationsV1alphaGenerateTokenResponse: + id: GoogleCloudIntegrationsV1alphaGenerateTokenResponse + type: object + description: Returns success or error message + properties: + message: type: string - description: Username to be used - id: GoogleCloudIntegrationsV1alphaUsernameAndPassword - description: Username and password pair. - EnterpriseCrmFrontendsEventbusProtoTaskEntity: + description: The message that notifies the user if the request succeeded or not. + GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse: + description: Response for Creating Cloud Function rpc call. properties: - taskType: - enumDescriptions: - - Normal IP task - - Task is of As-Is Template type - - Task is of I/O template type with a different underlying task - description: Defines the type of the task + triggerUrl: + description: The trigger url that will be returned type: string - enum: - - TASK - - ASIS_TEMPLATE - - IO_TEMPLATE - stats: - description: Deprecated - statistics from the Monarch query. - deprecated: true - $ref: '#/components/schemas/EnterpriseCrmEventbusStats' - paramSpecs: - description: >- - Declarations for inputs/outputs for a TypedTask. This is also - associated with the METADATA mask. - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage - uiConfig: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskUiConfig' - description: >- - UI configuration for this task Also associated with the METADATA - mask. - metadata: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskMetadata' - description: Metadata inclueds the task name, author and so on. - disabledForVpcSc: - description: True if the task has conflict with vpcsc - type: boolean + id: GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse type: object - description: >- - Contains a task's metadata and associated information. Next available - id: 7 - id: EnterpriseCrmFrontendsEventbusProtoTaskEntity - GoogleCloudConnectorsV1EventingConfigDeadLetterConfig: + GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse: properties: - projectId: - type: string - description: Optional. Project which has the topic given. - topic: + scriptId: type: string - description: Optional. Topic to push events which couldn't be processed. + description: The id of the linked Apps Script project. type: object - description: Dead Letter configuration details provided by the user. - id: GoogleCloudConnectorsV1EventingConfigDeadLetterConfig - GoogleCloudIntegrationsV1alphaSuspension: - description: A record representing a suspension. + description: Response for LinkAppsScriptProject rpc call. + id: GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse + GoogleCloudIntegrationsV1alphaClientCertificate: + id: GoogleCloudIntegrationsV1alphaClientCertificate type: object - id: GoogleCloudIntegrationsV1alphaSuspension + description: Contains client certificate information properties: - approvalConfig: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig - description: >- - Controls the notifications and approval permissions for this - suspension. - lastModifyTime: - readOnly: true - type: string - format: google-datetime - description: Output only. Auto-generated. - createTime: + sslCertificate: type: string - readOnly: true - description: Output only. Auto-generated. - format: google-datetime - audit: - description: Metadata pertaining to the resolution of this suspension. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuspensionAudit' - state: - enum: - - RESOLUTION_STATE_UNSPECIFIED - - PENDING - - REJECTED - - LIFTED - enumDescriptions: - - Unset state. - - The suspension has not yet been resolved. - - The resolver has rejected the suspension. - - The resolver has lifted the suspension. description: >- - Required. State of this suspension, indicating what action a - resolver has taken. + The ssl certificate encoded in PEM format. This string must include + the begin header and end footer lines. For example, -----BEGIN + CERTIFICATE----- + MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV + BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw + MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET + MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 + JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB + xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P + AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB + Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey + Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW + JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr + 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H + wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE----- + passphrase: type: string - suspensionConfig: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuspensionConfig' description: >- - Controls the notifications and resolver permissions for this - suspension. - deprecated: true - taskId: - type: string - description: Required. Task id of the associated SuspensionTask. - eventExecutionInfoId: - description: Required. ID of the associated execution. + 'passphrase' should be left unset if private key is not encrypted. + Note that 'passphrase' is not the password for web server, but an + extra layer of security to protected private key. + encryptedPrivateKey: type: string - name: + description: >- + The ssl certificate encoded in PEM format. This string must include + the begin header and end footer lines. For example, -----BEGIN + CERTIFICATE----- + MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV + BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw + MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET + MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 + JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB + xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P + AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB + Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey + Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW + JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr + 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H + wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE----- + GoogleCloudIntegrationsV1alphaUsernameAndPassword: + properties: + password: type: string - description: Resource name for suspensions suspension/{suspension_id} - integration: - description: Required. The name of the originating integration. + description: Password to be used + username: type: string - GoogleCloudIntegrationsV1alphaEventParameter: + description: Username to be used + type: object + description: Username and password pair. + id: GoogleCloudIntegrationsV1alphaUsernameAndPassword + GoogleCloudIntegrationsV1alphaImportTemplateRequest: + description: Request to Import template properties: - key: + integration: type: string description: >- - Key is used to retrieve the corresponding parameter value. This - should be unique for a given fired event. These parameters must be - predefined in the integration definition. - value: - description: >- - Values for the defined keys. Each value can either be string, int, - double or any proto message. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - masked: - type: boolean - description: True if this parameter should be masked in the logs + Required. Name of the integration where template needs to be + imported. + subIntegrations: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails + type: object + description: Optional. Sub Integration which would be created via templates. + integrationRegion: + type: string + description: Required. The region of the Integration to be created. type: object - id: GoogleCloudIntegrationsV1alphaEventParameter - description: >- - This message is used for processing and persisting (when applicable) key - value pair parameters for each event in the event bus. Next available - id: 4 - GoogleCloudConnectorsV1ConfigVariable: + id: GoogleCloudIntegrationsV1alphaImportTemplateRequest + GoogleCloudIntegrationsV1alphaAuthToken: + properties: + token: + description: The token for the auth type. + type: string + type: + description: Authentication type, e.g. "Basic", "Bearer", etc. + type: string type: object - id: GoogleCloudConnectorsV1ConfigVariable description: >- - ConfigVariable represents a configuration variable present in a - Connection. or AuthConfig. + The credentials to authenticate a user agent with a server that is put + in HTTP Authorization request header. + id: GoogleCloudIntegrationsV1alphaAuthToken + EnterpriseCrmEventbusProtoTaskAlertConfig: + description: >- + Message to be used to configure alerting in the {@code TaskConfig} + protos for tasks in an event. properties: - boolValue: - description: Value is a bool. - type: boolean - key: - description: Key of the config variable. + clientId: type: string - encryptionKeyValue: - $ref: '#/components/schemas/GoogleCloudConnectorsV1EncryptionKey' - description: Value is a Encryption Key. - stringValue: + description: >- + Client associated with this alert configuration. Must be a client + enabled in one of the containing workflow's triggers. + warningEnumList: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList + metricType: + enum: + - METRIC_TYPE_UNSPECIFIED + - TASK_ERROR_RATE + - TASK_WARNING_RATE + - TASK_RATE + - TASK_AVERAGE_DURATION + - TASK_PERCENTILE_DURATION + enumDescriptions: + - >- + The default value. Metric type should always be set to one of the + other non-default values, otherwise it will result in an + INVALID_ARGUMENT error. + - >- + Specifies alerting on the rate of errors (potentially for a + specific set of enum values) for the enclosing TaskConfig. + - >- + Specifies alerting on the rate of warnings (potentially for a + specific set of enum values) for the enclosing TaskConfig. + Warnings use the same enum values as errors. + - >- + Specifies alerting on the number of instances for the enclosing + TaskConfig executed in the given aggregation_period. + - >- + Specifies alerting on the average duration of execution for the + enclosing task. + - >- + Specifies alerting on the duration of a particular percentile of + task executions. E.g. If 10% or more of the task executions have + durations above 5 seconds, alert. type: string - description: Value is a string. - secretValue: - description: Value is a secret. - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - intValue: - description: Value is an integer + thresholdType: + description: >- + The threshold type for which this alert is being configured. If + value falls below expected_min or exceeds expected_max, an alert + will be fired. + enumDescriptions: + - '' + - >- + Note that this field will only trigger alerts if the workflow + specifying it runs at least once in 24 hours (which is our + in-memory retention period for monarch streams). Also note that + `aggregation_period` for this alert configuration must be less + than 24 hours. + - '' + type: string + enum: + - UNSPECIFIED_THRESHOLD_TYPE + - EXPECTED_MIN + - EXPECTED_MAX + onlyFinalAttempt: + type: boolean + description: Only count final task attempts, not retries. + errorEnumList: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList + numAggregationPeriods: + format: int32 + description: >- + For how many contiguous aggregation periods should the expected min + or max be violated for the alert to be fired. + type: integer + thresholdValue: + description: >- + The metric value, above or below which the alert should be + triggered. + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue + durationThresholdMs: + description: >- + Should be specified only for TASK_AVERAGE_DURATION and + TASK_PERCENTILE_DURATION metrics. This member should be used to + specify what duration value the metrics should exceed for the alert + to trigger. format: int64 type: string - EnterpriseCrmEventbusProtoPropertyEntry: - properties: - key: + playbookUrl: description: >- - Key is used to retrieve the corresponding property value. This - should be unique for a given fired event. The Tasks should be aware - of the keys used while firing the events for them to be able to - retrieve the values. + Link to a playbook for resolving the issue that triggered this + alert. type: string - value: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoValueType' + alertDisabled: + type: boolean description: >- - Values for the defined keys. Each value can either be string, int, - double or any proto message. - id: EnterpriseCrmEventbusProtoPropertyEntry - type: object - description: Key-value pair of EventBus property. - EnterpriseCrmEventbusProtoDoubleArray: + Set to false by default. When set to true, the metrics are not + aggregated or pushed to Monarch for this workflow alert. + aggregationPeriod: + description: >- + The period over which the metric value should be aggregated and + evaluated. Format is , where integer should be a positive integer + and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, + day, week). + type: string + alertName: + type: string + description: >- + A name to identify this alert. This will be displayed in the alert + subject. If set, this name should be unique in within the scope of + the containing workflow. + id: EnterpriseCrmEventbusProtoTaskAlertConfig type: object + GoogleCloudIntegrationsV1alphaNextTask: properties: - values: - type: array - items: - type: number - format: double - id: EnterpriseCrmEventbusProtoDoubleArray - EnterpriseCrmEventbusProtoConditionalFailurePolicies: + taskConfigId: + type: string + description: ID of the next task. + description: + type: string + description: >- + User-provided description intended to give additional business + context about the task. + condition: + type: string + description: >- + Standard filter expression for this task to become an eligible next + task. + displayName: + type: string + description: User-provided label that is attached to this edge in the UI. + taskId: + type: string + description: Task number of the next task. + id: GoogleCloudIntegrationsV1alphaNextTask + description: >- + The task that is next in line to be executed, if the condition specified + evaluated to true. + type: object + GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata: + id: GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata properties: - defaultFailurePolicy: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' + integrationName: + type: string description: >- - The default failure policy to be applied if no conditional failure - policy matches - failurePolicies: + The direct integration which the event execution snapshots belongs + to + task: + description: the task name associated with this snapshot. + type: string + taskAttempt: + description: the task attempt number this snapshot belongs to. + type: integer + format: int32 + ancestorTaskNumbers: items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' + type: string + type: array description: >- - The list of failure policies that will be applied to the task in - order. + Ancestor task number for the task(it will only be non-empty if the + task is under 'private workflow') + taskNumber: + description: The task number associated with this snapshot. + type: string + executionAttempt: + type: integer + format: int32 + description: the execution attempt number this snapshot belongs to. + ancestorIterationNumbers: + items: + type: string type: array - id: EnterpriseCrmEventbusProtoConditionalFailurePolicies - type: object - GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest: - id: GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest - properties: {} + description: >- + Ancestor iteration number for the task(it will only be non-empty if + the task is under 'private workflow') + taskLabel: + type: string + description: the task label associated with this snapshot. Could be empty. type: object - description: Request for TakeoverEditLock. - CrmlogErrorCode: + description: Metadata of the execution snapshot. + GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse: properties: - commonErrorCode: - enumDeprecated: - - false - - true - - false - - false - - true - - true - - true - - false - - false - - true - - false - - false - - false - - false - - true - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - - false - enum: - - COMMON_ERROR_CODE_UNSPECIFIED - - INVALID_CREDENTIALS - - REQUIRED_FIELDS_MISSING - - INVALID_FIELDS - - BACKEND - - GENERAL - - INTERNAL - - IO_ERROR - - NOT_FOUND - - EVENT_BUS - - ALREADY_EXISTS - - CONCORD - - CONVERSION - - FLUME - - PERMISSION - - SALES_FORCE - - SPANNER - - UNIMPLEMENTED - - RELTIO - - WORKFLOW_NOT_FOUND - - QUOTA_THROTTLED - - QUOTA_ENQUEUED - - INVALID_QUOTA_CONFIGURATION - - TASK_NOT_FOUND - - EXECUTION_TIMEOUT - - INVALID_EVENT_EXECUTION_STATE - - INVALID_ATTRIBUTE - - MISSING_ATTRIBUTE - - CLIENT_UNAUTHORIZED_FOR_WORKFLOW - - INVALID_PARAMETER - - MISSING_PARAMETER - - UNAUTHROIZED_WORKFLOW_EDITOR_ACTION - - FAILED_PRECONDITION - - INVALID_CLIENT - - MISSING_CLIENT - - INVALID_WORKFLOW - - MISSING_QUOTA_CONFIGURATION - - UNHANDLED_TASK_ERROR - - SCRIPT_TASK_RUNTIME_ERROR - - RPC - - INVALID_PROTO - - UNHANDLED_EVENTBUS_ERROR - - INVALID_TASK_STATE - - TYPED_TASK_INVALID_INPUT_OPERATION - - TYPED_TASK_INVALID_OUTPUT_OPERATION - - VALIDATION_ERROR - - RESUME_ERROR - - APPS_SCRIPT_EXECUTION_ERROR - - INVALID_VECTOR_USER - - INFORMATICA - - RETRYABLE_TASK_ERROR - - INVALID_TENANT - - WRONG_TENANT - - INFORMATICA_BACKEND_UNAVAILABLE - - RPC_PERMISSION_DENIED - - SYNC_EVENTBUS_EXECUTION_TIMEOUT - - ASYNC_EVENTBUS_EXECUTION_TIMEOUT - - NOT_SUPPORTED_DATA_TYPE - - UNSANITIZED_USER_INPUT - - TRANSFORM_EXPRESSION_EVALUATION_ERROR - - HTTP_EXCEPTION - - EXECUTION_CANCELLED - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - SYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use only. - - >- - ASYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use - only. This error will be counted as server availability error. - - '' - - '' - - '' - - '' - - '' - type: string - description: >- - Registered ids for errors, as "oneof" enums. Each task or logical - grouping of tasks may share the same enum. - type: object - id: CrmlogErrorCode - EnterpriseCrmEventbusStatsDimensions: - id: EnterpriseCrmEventbusStatsDimensions - properties: - triggerId: - type: string - description: >- - Stats have been or will be aggregated on set fields for any - semantically-meaningful combination. - taskName: - type: string - warningEnumString: - type: string - clientId: - type: string - errorEnumString: - type: string - retryAttempt: - enum: - - UNSPECIFIED - - FINAL - - RETRYABLE - - CANCELED - enumDescriptions: - - '' - - >- - Task has completed successfully or has depleted all retry - attempts. - - Task has failed but may be retried. - - Task has been deliberately canceled. - type: string - workflowName: - type: string - enumFilterType: - description: Whether to include or exclude the enums matching the regex. - type: string - enumDescriptions: - - '' - - '' - enum: - - DEFAULT_INCLUSIVE - - EXCLUSIVE - taskNumber: - type: string - workflowId: - type: string - type: object - EnterpriseCrmEventbusProtoIntFunction: - properties: - functionName: - enum: - - UNSPECIFIED - - ADD - - SUBTRACT - - MULTIPLY - - DIVIDE - - EXPONENT - - GREATER_THAN_EQUAL_TO - - GREATER_THAN - - LESS_THAN_EQUAL_TO - - LESS_THAN - - TO_DOUBLE - - TO_STRING - - EQUALS - - TO_JSON - - MOD - - EPOCH_TO_HUMAN_READABLE_TIME - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - type: string - type: object - id: EnterpriseCrmEventbusProtoIntFunction - EnterpriseCrmEventbusProtoFieldMappingConfig: - id: EnterpriseCrmEventbusProtoFieldMappingConfig - properties: - mappedFields: - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoMappedField' - type: array - type: object - description: >- - Field Mapping Config to map multiple output fields values from input - fields values. - EnterpriseCrmFrontendsEventbusProtoParameterEntry: - description: Key-value pair of EventBus parameters. - properties: - key: - description: >- - Key is used to retrieve the corresponding parameter value. This - should be unique for a given fired event. These parameters must be - predefined in the workflow definition. - type: string - dataType: - enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' - type: string - description: Explicitly getting the type of the parameter. - masked: - type: boolean - description: True if this parameter should be masked in the logs - value: - description: >- - Values for the defined keys. Each value can either be string, int, - double or any proto message. - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType - type: object - id: EnterpriseCrmFrontendsEventbusProtoParameterEntry - GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged: - id: GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged - properties: - authCode: - type: string - description: >- - Optional. Authorization code to be exchanged for access and refresh - tokens. - redirectUri: - type: string - description: Optional. Redirect URI to be provided during the auth code exchange. - scopes: - description: >- - Required. Scopes the connection will request when the user performs - the auth code flow. - type: array - items: - type: string - type: object - description: >- - Parameters to support Oauth 2.0 Auth Code Grant Authentication using - Google Provided OAuth Client. See - https://tools.ietf.org/html/rfc6749#section-1.3.1 for more details. - GoogleCloudIntegrationsV1alphaLiftSuspensionRequest: - properties: - suspensionResult: - type: string - description: >- - User passed in suspension result and will be used to control - workflow execution branching behavior by setting up corresponnding - edge condition with suspension result. For example, if you want to - lift the suspension, you can pass "Approved", or if you want to - reject the suspension and terminate workfloe execution, you can pass - "Rejected" and terminate the workflow execution with configuring the - edge condition. - type: object - id: GoogleCloudIntegrationsV1alphaLiftSuspensionRequest - description: Request for lift Suspension - GoogleCloudIntegrationsV1alphaUploadTemplateRequest: - id: GoogleCloudIntegrationsV1alphaUploadTemplateRequest - type: object - description: Request for UploadTemplate. - properties: - fileFormat: - enum: - - FILE_FORMAT_UNSPECIFIED - - JSON - - YAML - type: string - enumDescriptions: - - Unspecified file format - - JSON File Format - - YAML File Format - description: Required. File format for upload request. - content: - type: string - description: Required. The textproto of the template. - GoogleCloudIntegrationsV1alphaUseTemplateRequest: - properties: - subIntegrations: - description: Optional. Sub Integration which would be created via templates. + outputParameters: + type: object additionalProperties: + description: Properties of the object. + type: any + description: >- + OUTPUT parameters in format of Map. Where Key is the name of the + parameter. Note: Name of the system generated parameters are wrapped + by backtick(`) to distinguish them from the user defined parameters. + parameterEntries: + items: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails - type: object - integrationRegion: - description: Required. The region of the Integration to be created. - type: string - integrationDetails: + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry + deprecated: true + type: array + description: >- + Parameters are a part of Event and can be used to communicate + between different tasks that are part of the same integration + execution. + eventParameters: + description: Details for the integration that were executed. + deprecated: true $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails - description: Required. Integration details which would be created via templates. - description: Request to Use template - id: GoogleCloudIntegrationsV1alphaUseTemplateRequest + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + executionId: + type: string + description: The id of the execution corresponding to this run of integration. + executionFailed: + deprecated: true + type: boolean + description: Is true if any execution in the integration failed. False otherwise. + id: GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse + description: The response for executing an integration. + type: object + EnterpriseCrmEventbusProtoTriggerCriteria: + id: EnterpriseCrmEventbusProtoTriggerCriteria type: object - EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit: properties: - resolvedBy: - type: string - resolvedByCpi: + triggerCriteriaTaskImplementationClassName: + description: >- + Optional. Implementation class name. The class should implement the + “TypedTask” interface. type: string - timestamp: + parameters: + description: Optional. To be used in TaskConfig for the implementation class. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' + condition: type: string - format: google-datetime - id: EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit + description: >- + Required. Standard filter expression, when true the workflow will be + executed. If there's no + trigger_criteria_task_implementation_class_name specified, the + condition will be validated directly. + GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse: type: object - EnterpriseCrmEventbusProtoSerializedObjectParameter: + description: Response to list SfdcInstances. properties: - objectValue: + nextPageToken: type: string - format: byte - type: object - id: EnterpriseCrmEventbusProtoSerializedObjectParameter - EnterpriseCrmEventbusProtoParamSpecEntryValidationRule: - id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRule - properties: - doubleRange: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange - intRange: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange - stringRegex: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex - type: object - GoogleCloudIntegrationsV1alphaIntegration: - description: The integration definition. - id: GoogleCloudIntegrationsV1alphaIntegration - type: object + description: The token used to retrieve the next page of results. + sfdcInstances: + description: The list of SfdcInstances retrieved. + type: array + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' + id: GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse + GoogleCloudIntegrationsV1alphaCloudSchedulerConfig: properties: - name: - type: string - description: Required. The resource name of the integration. - description: - type: string - description: Optional. - createTime: + cronTab: type: string - format: google-datetime - readOnly: true - description: Required. Output only. Auto-generated. - active: - description: Required. If any integration version is published. - type: boolean - updateTime: - readOnly: true + description: Required. The cron tab of cloud scheduler trigger. + serviceAccountEmail: type: string - format: google-datetime - description: Output only. Auto-generated. - creatorEmail: - readOnly: true + description: >- + Required. Service account used by Cloud Scheduler to trigger the + integration at scheduled time + errorMessage: type: string description: >- - Output only. The creator's email address. Generated based on the End - User Credentials/LOAS role of the user making the call. - lastModifierEmail: + Optional. When the job was deleted from Pantheon UI, error_message + will be populated when Get/List integrations + location: + description: >- + Required. The location where associated cloud scheduler job will be + created type: string - description: Required. The last modifier of this integration - GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow: - description: >- - Parameters to support Oauth 2.0 Auth Code Grant Authentication. See - https://www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details. type: object - id: GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow + id: GoogleCloudIntegrationsV1alphaCloudSchedulerConfig + description: Cloud Scheduler Trigger configuration + GoogleCloudConnectorsV1LogConfig: properties: - redirectUri: - type: string - description: Redirect URI to be provided during the auth code exchange. - clientId: - type: string - description: Client ID for user-provided OAuth app. - pkceVerifier: - type: string - description: PKCE verifier to be used during the auth code exchange. - clientSecret: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: Client secret for user-provided OAuth app. - scopes: - type: array - items: - type: string - description: >- - Scopes the connection will request when the user performs the auth - code flow. - enablePkce: + enabled: type: boolean - description: Whether to enable PKCE when the user performs the auth code flow. - authUri: + description: >- + Enabled represents whether logging is enabled or not for a + connection. + level: + description: Optional. Log configuration level. type: string - description: Auth URL for Authorization Code Flow - authCode: + enum: + - LOG_LEVEL_UNSPECIFIED + - ERROR + - INFO + - DEBUG + enumDescriptions: + - Log level unspecified. + - Only error logs are enabled. + - Info and error logs are enabled. + - Debug and high verbosity logs are enabled. + id: GoogleCloudConnectorsV1LogConfig + type: object + description: Log configuration for the connection. + EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex: + description: Rule used to validate strings. + properties: + exclusive: + type: boolean + description: >- + Whether the regex matcher is applied exclusively (if true, matching + values will be rejected). + regex: type: string - description: Authorization code to be exchanged for access and refresh tokens. - GoogleCloudIntegrationsV1alphaIntegrationVersion: - id: GoogleCloudIntegrationsV1alphaIntegrationVersion + description: The regex applied to the input value(s). type: object - description: The integration version definition. + id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex + GoogleCloudIntegrationsV1alphaJwt: + type: object + id: GoogleCloudIntegrationsV1alphaJwt properties: - origin: + jwt: + description: The token calculated by the header, payload and signature. type: string - description: >- - Optional. The origin that indicates where this integration is coming - from. - enum: - - UNSPECIFIED - - UI - - PIPER_V2 - - PIPER_V3 - - APPLICATION_IP_PROVISIONING - - TEST_CASE - deprecated: true - enumDescriptions: - - '' - - Workflow is being created via event bus UI. - - >- - User checked in this workflow in Piper as v2 textproto format and - we synced it into spanner. - - >- - User checked in this workflow in piper as v3 textproto format and - we synced it into spanner. - - Workflow is being created via Standalone IP Provisioning - - Workflow is being created via Test Case. - enumDeprecated: - - false - - false - - true - - false - - false - - false - userLabel: + jwtPayload: type: string description: >- - Optional. A user-defined label that annotates an integration - version. Typically, this is only set when the integration version is - created. - triggerConfigs: - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTriggerConfig' - description: Optional. Trigger configurations. - type: array - taskConfigs: - type: array - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTaskConfig' - description: >- - Optional. Task configuration for the integration. It's optional, but - the integration doesn't do anything without task_configs. - triggerConfigsInternal: - description: Optional. Trigger configurations. - deprecated: true - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoTriggerConfig - type: array - createTime: + Contains a set of claims. The JWT specification defines seven + Registered Claim Names which are the standard fields commonly + included in tokens. Custom claims are usually also included, + depending on the purpose of the token. + secret: + description: User's pre-shared secret to sign the token. + type: string + jwtHeader: + description: Identifies which algorithm is used to generate the signature. type: string - readOnly: true - description: Output only. Auto-generated. - format: google-datetime - createdFromTemplate: + description: >- + Represents JSON web token(JWT), which is a compact, URL-safe means of + representing claims to be transferred between two parties, enabling the + claims to be digitally signed or integrity protected. + GoogleCloudIntegrationsV1alphaTriggerConfig: + type: object + properties: + triggerType: + enumDescriptions: + - Unknown. + - Trigger by scheduled time. + - Trigger by API call. + - Trigger by Salesforce Channel. + - Trigger by Pub/Sub external. + - SFDC Channel Trigger for CDC. + - Trigger by Cloud Scheduler job. + - Trigger by Connector Event + - Trigger for private workflow + - Trigger by cloud pub/sub for internal ip + type: string + description: Optional. Type of trigger + enum: + - TRIGGER_TYPE_UNSPECIFIED + - CRON + - API + - SFDC_CHANNEL + - CLOUD_PUBSUB_EXTERNAL + - SFDC_CDC_CHANNEL + - CLOUD_SCHEDULER + - INTEGRATION_CONNECTOR_TRIGGER + - PRIVATE_TRIGGER + - CLOUD_PUBSUB + triggerNumber: description: >- - Optional. Optional. The resource name of the template from which the - integration is created. + Required. A number to uniquely identify each trigger config within + the integration on UI. type: string description: type: string - description: Optional. The integration description. - teardown: - deprecated: true description: >- - Optional. Contains a graph of tasks that will be executed before - putting the event in a terminal state (SUCCEEDED/FAILED/FATAL), - regardless of success or failure, similar to "finally" in code. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTeardown' - enableVariableMasking: - type: boolean + Optional. User-provided description intended to give additional + business context about the task. + properties: + type: object description: >- - Optional. True if variable masking feature should be turned on for - this version - snapshotNumber: - format: int64 + Optional. Configurable properties of the trigger, not to be confused + with integration parameters. E.g. "name" is a property for API + triggers and "subscription" is a property for Pub/sub triggers. + additionalProperties: + type: string + errorCatcherId: type: string description: >- - Optional. An increasing sequence that is set when a new snapshot is - created. The last created snapshot can be identified by - [workflow_name, org_id latest(snapshot_number)]. However, last - created snapshot need not be same as the HEAD. So users should - always use "HEAD" tag to identify the head. - parentTemplateId: + Optional. Optional Error catcher id of the error catch flow which + will be executed when execution error happens in the task + alertConfig: + type: array description: >- - Optional. The id of the template which was used to create this - integration_version. - type: string - lastModifierEmail: + Optional. An alert threshold configuration for the [trigger + client + + integration] tuple. If these values are not specified in the + trigger config, default values will be populated by the system. Note + that there must be exactly one alert threshold configured per + [client + trigger + integration] when published. + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationAlertConfig + startTasks: + description: >- + Optional. Set of tasks numbers from where the integration execution + is started by this trigger. If this is empty, then integration is + executed with default start tasks. In the list of start tasks, none + of two tasks can have direct ancestor-descendant relationships (i.e. + in a same integration execution graph). + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaNextTask' + type: array + triggerId: type: string description: >- - Optional. The last modifier's email address. Generated based on the - End User Credentials/LOAS role of the user making the call. - state: - enum: - - INTEGRATION_STATE_UNSPECIFIED - - DRAFT - - ACTIVE - - ARCHIVED - - SNAPSHOT - description: Output only. User should not set it as an input. + Optional. Auto-generated trigger ID. The ID is based on the + properties that you define in the trigger config. For example, for + an API trigger, the trigger ID follows the format: + api_trigger/TRIGGER_NAME Where trigger config has properties with + value {"Trigger name": TRIGGER_NAME} + position: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCoordinate' + description: >- + Optional. Informs the front-end application where to draw this error + catcher config on the UI. + outputVariables: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaTriggerConfigVariables + description: Optional. List of output variables for the api trigger. + cloudSchedulerConfig: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaCloudSchedulerConfig + description: Optional. Cloud Scheduler Trigger related metadata + trigger: type: string + description: >- + Optional. Name of the trigger. Example: "API Trigger", "Cloud Pub + Sub Trigger" When set will be sent out to monitoring dashabord for + tracking purpose. + nextTasksExecutionPolicy: enumDescriptions: - Default. - - Draft. - - Active. - - Archived. - - Snapshot. - readOnly: true - cloudLoggingDetails: + - Execute all the tasks that satisfy their associated condition. + - Execute the first task that satisfies the associated condition. + description: Optional. Dictates how next tasks will be executed. + enum: + - NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED + - RUN_ALL_MATCH + - RUN_FIRST_MATCH + type: string + inputVariables: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCloudLoggingDetails - description: Optional. Cloud Logging details for the integration version - updateTime: - description: Output only. Auto-generated. - readOnly: true - format: google-datetime + #/components/schemas/GoogleCloudIntegrationsV1alphaTriggerConfigVariables + description: Optional. List of input variables for the api trigger. + label: + description: Optional. The user created label for a particular trigger. type: string - runAsServiceAccount: + description: Configuration detail of a trigger. + id: GoogleCloudIntegrationsV1alphaTriggerConfig + EnterpriseCrmEventbusProtoEventExecutionDetails: + properties: + cancelReason: description: >- - Optional. The run-as service account email, if set and auth config - is not configured, that will be used to generate auth token to be - used in Connector task, Rest caller task and Cloud function task. + If the execution is manually canceled, this field will contain the + reason for cancellation. type: string - integrationConfigParameters: - description: >- - Optional. Config Parameters that are expected to be passed to the - integration when an integration is published. This consists of all - the parameters that are expected to provide configuration in the - integration execution. This gives the user the ability to provide - default values, value, add information like connection url, project - based configuration value and also provide data types of each - parameter. + eventExecutionSnapshotsSize: + description: Total size of all event_execution_snapshots for an execution + type: string + format: int64 + eventAttemptStats: + type: array items: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationConfigParameter - type: array - errorCatcherConfigs: - type: array + #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats + networkAddress: + description: >- + The network address (aka. bns address) that indicates where the + event executor is running. + type: string + eventExecutionSnapshot: items: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaErrorCatcherConfig + #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionSnapshot + type: array + ryeLockUnheldCount: + format: int32 description: >- - Optional. Error Catch Task configuration for the integration. It's - optional. - status: - deprecated: true + Used internally and shouldn't be exposed to users. A counter for the + cron job to record how many times this event is in in_process state + but don't have a lock consecutively/ + type: integer + nextExecutionTime: + type: string + description: >- + Next scheduled execution time in case the execution status was + RETRY_ON_HOLD. + format: int64 + logFilePath: + description: The log file path (aka. cns address) for this event. + type: string + eventExecutionState: + type: string + enum: + - UNSPECIFIED + - ON_HOLD + - IN_PROCESS + - SUCCEEDED + - FAILED + - CANCELED + - RETRY_ON_HOLD + - SUSPENDED enumDescriptions: - '' - - '' - - '' - - '' - - '' + - >- + Event is received and waiting for the execution. This happens when + firing the event via "postToQueue" or "schedule". + - Event is under processing. + - >- + Event execution successfully finished. There's no more change + after this state. + - Event execution failed. There's no more change after this state. + - >- + Event execution canceled by user. There's no more change after + this state. + - Event execution failed and waiting for retry. + - Event execution suspended and waiting for manual intervention. + eventRetriesFromBeginningCount: + type: integer + format: int32 + description: >- + Indicates the number of times the execution has restarted from the + beginning. + id: EnterpriseCrmEventbusProtoEventExecutionDetails + type: object + description: >- + 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 + GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged: + type: object + id: GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged + description: >- + Parameters to support Oauth 2.0 Auth Code Grant Authentication using + Google Provided OAuth Client. See + https://tools.ietf.org/html/rfc6749#section-1.3.1 for more details. + properties: + redirectUri: + type: string + description: Optional. Redirect URI to be provided during the auth code exchange. + authCode: type: string description: >- - Output only. Generated by eventbus. User should not set it as an - input. + Optional. Authorization code to be exchanged for access and refresh + tokens. + scopes: + items: + type: string + description: >- + Required. Scopes the connection will request when the user performs + the auth code flow. + type: array + GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse: + properties: + files: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFile' + description: List containing JSON for multiple file with type information. + type: array + description: Response for DownloadJsonPackage. + type: object + id: GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse + GoogleCloudConnectorsV1EventingStatus: + type: object + id: GoogleCloudConnectorsV1EventingStatus + properties: + state: readOnly: true + type: string enum: - - UNKNOWN - - DRAFT + - STATE_UNSPECIFIED - ACTIVE - - ARCHIVED - - SNAPSHOT - name: - type: string - readOnly: true - description: Output only. Auto-generated primary key. - databasePersistencePolicy: + - ERROR + - INGRESS_ENDPOINT_REQUIRED + description: Output only. State. enumDescriptions: - - Enables persistence for all execution data. - - Disables persistence for all execution data. - - Asynchronously persist all execution data. - enum: - - DATABASE_PERSISTENCE_POLICY_UNSPECIFIED - - DATABASE_PERSISTENCE_DISABLED - - DATABASE_PERSISTENCE_ASYNC - description: >- - Optional. Flag to disable database persistence for execution data, - including event execution info, execution export info, execution - metadata index and execution param index. + - Default state. + - Eventing is enabled and ready to receive events. + - Eventing is not active due to an error. + - Ingress endpoint required. + description: + readOnly: true type: string - lockHolder: - description: >- - Optional. The edit lock holder's email address. Generated based on - the End User Credentials/LOAS role of the user making the call. + description: Output only. Description of error if State is set to "ERROR". + description: EventingStatus indicates the state of eventing. + GoogleCloudIntegrationsV1alphaMockConfig: + id: GoogleCloudIntegrationsV1alphaMockConfig + description: >- + The configuration for mocking of a task during test execution Next + available id: 4 + properties: + failedExecutions: + format: int64 type: string - taskConfigsInternal: description: >- - Optional. Task configuration for the integration. It's optional, but - the integration doesn't do anything without task_configs. - deprecated: true - items: - $ref: '#/components/schemas/EnterpriseCrmFrontendsEventbusProtoTaskConfig' - type: array - integrationParametersInternal: - deprecated: true + Optional. Number of times the given task should fail for failure + mock strategy + mockStrategy: + enum: + - MOCK_STRATEGY_UNSPECIFIED + - NO_MOCK_STRATEGY + - SPECIFIC_MOCK_STRATEGY + - FAILURE_MOCK_STRATEGY + - SKIP_MOCK_STRATEGY + enumDescriptions: + - This should never be used to annotate a field + - Execute actual task + - >- + Don't execute actual task, instead use the values specified by + user for output of the task + - Don't execute actual task, instead return task failure + - Don't execute actual task, instead mark it as successful description: >- - Optional. Parameters that are expected to be passed to the - integration when an event is triggered. This consists of all the - parameters that are expected in the integration execution. This - gives the user the ability to provide default values, add - information like PII and also provide data types of each parameter. - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoWorkflowParameters - integrationParameters: + Mockstrategy defines how the particular task should be mocked during + test execution + type: string + parameters: items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationParameter - description: >- - Optional. Parameters that are expected to be passed to the - integration when an event is triggered. This consists of all the - parameters that are expected in the integration execution. This - gives the user the ability to provide default values, add - information like PII and also provide data types of each parameter. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaEventParameter' type: array - EnterpriseCrmFrontendsEventbusProtoTriggerConfig: - id: EnterpriseCrmFrontendsEventbusProtoTriggerConfig + description: Optional. List of key-value pairs for specific mock strategy + type: object + GoogleCloudIntegrationsV1alphaCertificate: + description: The certificate definition + id: GoogleCloudIntegrationsV1alphaCertificate type: object properties: - nextTasksExecutionPolicy: - enum: - - UNSPECIFIED - - RUN_ALL_MATCH - - RUN_FIRST_MATCH + description: type: string + description: Description of the certificate + certificateStatus: + enum: + - STATE_UNSPECIFIED + - ACTIVE + - EXPIRED enumDescriptions: - - Default - - Execute all the tasks that satisfy their associated condition. - - Execute the first task that satisfies the associated condition. - description: Dictates how next tasks will be executed. - position: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCoordinate' - description: >- - Optional. Informs the front-end application where to draw this - trigger config on the UI. - triggerName: + - Unspecified certificate status + - Certificate in active state will be able to use + - Certificate in expired state needs to be updated + description: Status of the certificate type: string - description: >- - Optional. Name of the trigger This is added to identify the type of - trigger. This is avoid the logic on triggerId to identify the - trigger_type and push the same to monitoring. - startTasks: - description: >- - Set of tasks numbers from where the workflow execution is started by - this trigger. If this is empty, then workflow is executed with - default start tasks. In the list of start tasks, none of two tasks - can have direct ancestor-descendant relationships (i.e. in a same - workflow execution graph). - type: array - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNextTask' - triggerNumber: + validStartTime: + description: Output only. The timestamp after which certificate will be valid + format: google-datetime type: string - description: >- - Required. A number to uniquely identify each trigger config within - the workflow on UI. - triggerCriteria: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTriggerCriteria' - description: >- - Optional. When set, Eventbus will run the task specified in the - trigger_criteria and validate the result using the - trigger_criteria.condition, and only execute the workflow when - result is true. - description: - description: >- - User-provided description intended to give more business context - about the task. + readOnly: true + requestorId: type: string - properties: description: >- - Configurable properties of the trigger, not to be confused with - workflow parameters. E.g. "name" is a property for API triggers and - "subscription" is a property for Cloud Pubsub triggers. - additionalProperties: - type: string - type: object - pauseWorkflowExecutions: + Immutable. Requestor ID to be used to register certificate with + trawler + credentialId: + type: string + description: Immutable. Credential id that will be used to register with trawler + name: + description: Output only. Auto generated primary key + readOnly: true + type: string + validEndTime: + type: string + format: google-datetime + readOnly: true + description: Output only. The timestamp after which certificate will expire + displayName: + description: Required. Name of the certificate + type: string + rawCertificate: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaClientCertificate' description: >- - Optional. If set to true, any upcoming requests for this trigger - config will be paused and the executions will be resumed later when - the flag is reset. The workflow to which this trigger config belongs - has to be in ACTIVE status for the executions to be paused or - resumed. - type: boolean - triggerType: - enum: - - UNKNOWN - - CLOUD_PUBSUB - - GOOPS - - SFDC_SYNC - - CRON - - API - - MANIFOLD_TRIGGER - - DATALAYER_DATA_CHANGE - - SFDC_CHANNEL - - CLOUD_PUBSUB_EXTERNAL - - SFDC_CDC_CHANNEL - - SFDC_PLATFORM_EVENTS_CHANNEL - - CLOUD_SCHEDULER - - INTEGRATION_CONNECTOR_TRIGGER - - PRIVATE_TRIGGER - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + Input only. Raw client certificate which would be registered with + trawler + EnterpriseCrmEventbusProtoTaskUiConfig: + properties: + taskUiModuleConfigs: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskUiModuleConfig' + description: Configurations of included config modules. + type: array + type: object + description: >- + Task authors would use this type to configure the UI for a particular + task by specifying what UI config modules should be included to compose + the UI. Learn more about config module framework: + id: EnterpriseCrmEventbusProtoTaskUiConfig + GoogleCloudIntegrationsV1alphaParameterMapField: + type: object + properties: + literalValue: + description: Passing a literal value. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + referenceKey: type: string - alertConfig: - description: >- - An alert threshold configuration for the [trigger + client + - workflow] tuple. If these values are not specified in the trigger - config, default values will be populated by the system. Note that - there must be exactly one alert threshold configured per [client + - trigger + workflow] when published. - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoWorkflowAlertConfig' + description: Referencing one of the Integration variables. + id: GoogleCloudIntegrationsV1alphaParameterMapField + description: Field represents either the key or value in an entry. + GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse: + description: The response for executing a functional test. + properties: + assertionResults: type: array - triggerId: - description: The backend trigger ID. - type: string - enabledClients: items: - type: string - description: >- - Required. The list of client ids which are enabled to execute the - workflow using this trigger. In other words, these clients have the - workflow execution privledges for this trigger. For API trigger, the - client id in the incoming request is validated against the list of - enabled clients. For non-API triggers, one workflow execution is - triggered on behalf of each enabled client. - type: array - errorCatcherId: - type: string + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAssertionResult' + description: Results of each assertions ran during execution of test case. + outputParameters: description: >- - Optional Error catcher id of the error catch flow which will be - executed when execution error happens in the task - cloudSchedulerConfig: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCloudSchedulerConfig' - label: + OUTPUT parameters in format of Map. Where Key is the name of the + parameter. Note: Name of the system generated parameters are wrapped + by backtick(`) to distinguish them from the user defined parameters. + additionalProperties: + description: Properties of the object. + type: any + type: object + testExecutionState: + enum: + - STATE_UNSPECIFIED + - PASSED + - FAILED + enumDescriptions: + - Unspecified state + - Test case execution passed + - Test case execution failed + description: State of the test case execution type: string - description: The user created label for a particular trigger. - description: 'Configuration detail of a trigger. Next available id: 20' - GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse: - description: Response for LinkAppsScriptProject rpc call. - properties: - scriptId: + executionId: type: string - description: The id of the linked Apps Script project. - id: GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse - type: object - GoogleProtobufEmpty: - properties: {} - id: GoogleProtobufEmpty - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + description: The id of the execution corresponding to this run of integration. type: object - EnterpriseCrmEventbusProtoBooleanParameterArray: + id: GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse + EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray: type: object - id: EnterpriseCrmEventbusProtoBooleanParameterArray + id: EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray properties: booleanValues: - type: array items: type: boolean - GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse: - description: Response for DownloadIntegrationVersion. - type: object - properties: - files: type: array - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSerializedFile' - description: List containing String represendation for multiple file with type. - content: - type: string - description: String representation of the requested file. - id: GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse - GoogleCloudIntegrationsV1alphaJwt: - description: >- - Represents JSON web token(JWT), which is a compact, URL-safe means of - representing claims to be transferred between two parties, enabling the - claims to be digitally signed or integrity protected. - id: GoogleCloudIntegrationsV1alphaJwt + GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest: + id: GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest + type: object properties: - jwt: - description: The token calculated by the header, payload and signature. - type: string - secret: - description: User's pre-shared secret to sign the token. + functionName: type: string - jwtPayload: + description: The function name of CF to be created + functionRegion: type: string + description: The function region of CF to be created + projectId: description: >- - Contains a set of claims. The JWT specification defines seven - Registered Claim Names which are the standard fields commonly - included in tokens. Custom claims are usually also included, - depending on the purpose of the token. - jwtHeader: - description: Identifies which algorithm is used to generate the signature. - type: string - type: object - GoogleCloudConnectorsV1ResourceRequests: - description: Resource requests defined for connection pods of a given connector type. - properties: - memory: - type: string - description: Output only. Memory request. - readOnly: true - cpu: - readOnly: true + Indicates the id of the GCP project that the function will be + created in. type: string - description: Output only. CPU request. - type: object - id: GoogleCloudConnectorsV1ResourceRequests - GoogleCloudIntegrationsV1alphaProjectProperties: - id: GoogleCloudIntegrationsV1alphaProjectProperties - description: Metadata information for the given project + description: Request for Creating Cloud Function rpc call. + GoogleCloudIntegrationsV1alphaTestIntegrationsResponse: + id: GoogleCloudIntegrationsV1alphaTestIntegrationsResponse properties: - ipEnablementState: - type: string - enumDescriptions: - - The client enablement status is unspecified - - The client is enabled on Standalone IP - - The client is enabled on Apigee - - The client is entitled for Apigee but not enabled - description: An enum value of what the enablement state is for the given project - enum: - - IP_ENABLEMENT_STATE_UNSPECIFIED - - IP_ENABLEMENT_STATE_STANDALONE - - IP_ENABLEMENT_STATE_APIGEE - - IP_ENABLEMENT_STATE_APIGEE_ENTITLED - billingType: - description: 'Required. Required: The client billing type that was requested' + executionId: type: string - enum: - - BILLING_TYPE_UNSPECIFIED - - APIGEE_TRIALS - - APIGEE_SUBSCRIPTION - - PAYG - - SUBSCRIPTION - - NO_BILLING - enumDescriptions: - - '' - - A trial org provisioned through Apigee Provisioning Wizard - - >- - Subscription based on concurrency model for Apigee and Application - Integration users. - - Consumption based users of IP - - >- - Argentum subscription for Application Integration users. To be - used in the future. - - >- - Special billing type to avoid any billing to clients (eg: trusted - tester program). This should not be used without consulting with - the leads. - provisionedRegions: - description: A list of provisioned regions on the current project - items: - type: string + description: The id of the execution corresponding to this run of integration. + parameters: + type: object + description: >- + Optional. Parameters are a part of Event and can be used to + communicate between different tasks that are part of the same + integration execution. + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + eventParameters: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + description: Details for the integration that were executed. + deprecated: true + executionFailed: + description: Is true if any execution in the integration failed. False otherwise. + type: boolean + parameterEntries: type: array + description: >- + Parameters are a part of Event and can be used to communicate + between different tasks that are part of the same integration + execution. + deprecated: true + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry type: object - GoogleCloudIntegrationsV1alphaDownloadExecutionResponse: + description: The response for testing an integration. + EnterpriseCrmEventbusProtoProtoParameterArray: type: object properties: - content: - type: string - description: The content of downloaded execution. - description: Response for downloading an execution. - id: GoogleCloudIntegrationsV1alphaDownloadExecutionResponse - GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse: + protoValues: + type: array + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + id: EnterpriseCrmEventbusProtoProtoParameterArray + EnterpriseCrmEventbusProtoEventBusProperties: + id: EnterpriseCrmEventbusProtoEventBusProperties properties: - nextPageToken: - type: string - description: The token used to retrieve the next page of results. - sfdcInstances: + properties: items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoPropertyEntry' + description: An unordered list of property entries. type: array - description: The list of SfdcInstances retrieved. - id: GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse - description: Response to list SfdcInstances. - type: object - EnterpriseCrmEventbusProtoToken: + description: >- + LINT.IfChange This message is used for storing key value pair properties + for each Event / Task in the EventBus. type: object - id: EnterpriseCrmEventbusProtoToken + EnterpriseCrmEventbusProtoDoubleFunction: properties: - name: - type: string - value: + functionName: + enum: + - UNSPECIFIED + - TO_JSON + - TO_STRING + - ADD + - SUBTRACT + - MULTIPLY + - DIVIDE + - EXPONENT + - ROUND + - FLOOR + - CEIL + - GREATER_THAN + - LESS_THAN + - EQUALS + - GREATER_THAN_EQUALS + - LESS_THAN_EQUALS + - MOD type: string - GoogleCloudIntegrationsV1alphaRuntimeEntitySchema: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + id: EnterpriseCrmEventbusProtoDoubleFunction type: object + GoogleCloudIntegrationsV1alphaSuspension: + description: A record representing a suspension. properties: - entity: + integration: + description: Required. The name of the originating integration. type: string - description: Name of the entity. - arrayFieldSchema: + name: type: string - description: The above schema, but for an array of the associated entity. - fieldSchema: - description: List of fields in the entity. + description: Resource name for suspensions suspension/{suspension_id} + audit: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuspensionAudit' + description: Metadata pertaining to the resolution of this suspension. + eventExecutionInfoId: type: string - description: Metadata of an entity, including a schema for its properties. - id: GoogleCloudIntegrationsV1alphaRuntimeEntitySchema - GoogleCloudIntegrationsV1alphaCertificate: - description: The certificate definition - type: object - id: GoogleCloudIntegrationsV1alphaCertificate - properties: - credentialId: + description: Required. ID of the associated execution. + taskId: type: string - description: Immutable. Credential id that will be used to register with trawler - rawCertificate: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaClientCertificate' + description: Required. Task id of the associated SuspensionTask. + suspensionConfig: description: >- - Input only. Raw client certificate which would be registered with - trawler - validEndTime: + Controls the notifications and resolver permissions for this + suspension. + deprecated: true + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuspensionConfig' + createTime: format: google-datetime - description: Output only. The timestamp after which certificate will expire type: string + description: Output only. Auto-generated. readOnly: true - validStartTime: - readOnly: true - description: Output only. The timestamp after which certificate will be valid - format: google-datetime - type: string - description: - description: Description of the certificate + lastModifyTime: + description: Output only. Auto-generated. type: string - requestorId: + format: google-datetime + readOnly: true + approvalConfig: description: >- - Immutable. Requestor ID to be used to register certificate with - trawler - type: string - displayName: - description: Required. Name of the certificate + Controls the notifications and approval permissions for this + suspension. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig + state: + description: >- + Required. State of this suspension, indicating what action a + resolver has taken. type: string - name: + enumDescriptions: + - Unset state. + - The suspension has not yet been resolved. + - The resolver has rejected the suspension. + - The resolver has lifted the suspension. + enum: + - RESOLUTION_STATE_UNSPECIFIED + - PENDING + - REJECTED + - LIFTED + id: GoogleCloudIntegrationsV1alphaSuspension + type: object + EnterpriseCrmEventbusProtoSuspensionConfig: + properties: + whoMayResolve: + type: array + items: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoSuspensionAuthPermissions + description: Identities able to resolve this suspension. + customMessage: type: string - description: Output only. Auto generated primary key - readOnly: true - certificateStatus: + description: >- + Optional information to provide recipients of the suspension in + addition to the resolution URL, typically containing relevant + parameter values from the originating workflow. + notifications: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNotification' + type: array + suspensionExpiration: + description: >- + Indicates the next steps when no external actions happen on the + suspension. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuspensionExpiration' + type: object + id: EnterpriseCrmEventbusProtoSuspensionConfig + GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse: + id: GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse + properties: + content: + description: String representation of the test case. type: string - description: Status of the certificate - enum: - - STATE_UNSPECIFIED - - ACTIVE - - EXPIRED - enumDescriptions: - - Unspecified certificate status - - Certificate in active state will be able to use - - Certificate in expired state needs to be updated - EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange: - id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange + description: Response for DownloadTestCase. type: object + EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange: description: Range used to validate longs and ints. properties: - min: - format: int64 - description: The inclusive minimum of the acceptable range. - type: string max: - type: string - format: int64 description: The inclusive maximum of the acceptable range. - EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats: - id: EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats - properties: - endTime: - type: string format: int64 - description: The end time of the task execution for current attempt. - startTime: - description: >- - The start time of the task execution for current attempt. This could - be in the future if it's been scheduled. type: string + min: format: int64 - type: object - EnterpriseCrmEventbusProtoSuspensionAuthPermissions: - type: object - description: LINT.IfChange - properties: - googleGroup: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity - mdbGroup: - type: string - loasRole: + description: The inclusive minimum of the acceptable range. type: string - gaiaIdentity: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity - description: Represents a Gaia identity for a person or service account. - id: EnterpriseCrmEventbusProtoSuspensionAuthPermissions - GoogleCloudIntegrationsV1alphaListExecutionsResponse: - id: GoogleCloudIntegrationsV1alphaListExecutionsResponse - description: Response for listing the integration execution data. type: object + id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange + EnterpriseCrmEventbusProtoIntArray: properties: - executions: - type: array - description: The detailed information of requested executions - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' - nextPageToken: - type: string - description: The token used to retrieve the next page results. - executionInfos: + values: type: array items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo - description: Required. The detailed information of requested executions. - deprecated: true - GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest: + format: int64 + type: string + type: object + id: EnterpriseCrmEventbusProtoIntArray + EnterpriseCrmEventbusProtoStringFunction: + type: object + id: EnterpriseCrmEventbusProtoStringFunction properties: - content: - type: string - description: The textproto of the integration_version. - fileFormat: - description: File format for upload request. + functionName: enum: - - FILE_FORMAT_UNSPECIFIED - - JSON - - YAML + - UNSPECIFIED + - CONCAT + - TO_UPPERCASE + - TO_LOWERCASE + - CONTAINS + - SPLIT + - LENGTH + - EQUALS + - TO_INT + - TO_DOUBLE + - TO_BOOLEAN + - TO_BASE_64 + - TO_JSON + - EQUALS_IGNORE_CASE + - REPLACE_ALL + - SUBSTRING + - RESOLVE_TEMPLATE + - DECODE_BASE64_STRING type: string enumDescriptions: - - Unspecified file format - - JSON File Format - - YAML File Format - description: Request for UploadIntegrationVersion. - id: GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest - type: object - EnterpriseCrmFrontendsEventbusProtoProtoParameterArray: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + GoogleCloudIntegrationsV1alphaListSuspensionsResponse: + id: GoogleCloudIntegrationsV1alphaListSuspensionsResponse type: object - id: EnterpriseCrmFrontendsEventbusProtoProtoParameterArray properties: - protoValues: + suspensions: items: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuspension' type: array - GoogleCloudConnectorsV1HPAConfig: - id: GoogleCloudConnectorsV1HPAConfig - properties: - memoryUtilizationThreshold: - format: int64 description: >- - Output only. Percent Memory utilization where HPA triggers - autoscaling. - type: string - readOnly: true - cpuUtilizationThreshold: - format: int64 - readOnly: true + The suspensions for the relevant execution which the caller has + permissions to view and resolve. + nextPageToken: + description: Token to retrieve the next page of results. type: string - description: Output only. Percent CPU utilization where HPA triggers autoscaling. + description: Response for Suspensions.ListSuspensions. + GoogleCloudIntegrationsV1alphaCancelExecutionResponse: + description: Response for cancelling an execution. type: object - description: Autoscaling config for connector deployment system metrics. - GoogleCloudIntegrationsV1alphaErrorCatcherConfig: + id: GoogleCloudIntegrationsV1alphaCancelExecutionResponse + properties: + isCanceled: + type: boolean + description: True if cancellation performed successfully. + GoogleCloudIntegrationsV1alphaParameterMap: + id: GoogleCloudIntegrationsV1alphaParameterMap + description: >- + A generic multi-map that holds key value pairs. They keys and values can + be of any type, unless specified. type: object - id: GoogleCloudIntegrationsV1alphaErrorCatcherConfig properties: - position: + keyType: description: >- - Optional. Informs the front-end application where to draw this error - catcher config on the UI. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCoordinate' - description: + Option to specify key type for all entries of the map. If provided + then field types for all entries must conform to this. type: string - description: >- - Optional. User-provided description intended to give more business - context about the error catcher config. - startErrorTasks: - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaNextTask' - description: >- - Required. The set of start tasks that are to be executed for the - error catch flow + enumDescriptions: + - Unspecified. + - String. + - Integer. + - Double Number. + - Boolean. + - String Array. + - Integer Array. + - Double Number Array. + - Boolean Array. + - Json. + - Proto Value (Internal use only). + - Proto Array (Internal use only). + - // Non-serializable object (Internal use only). + - Proto Enum (Internal use only). + - Serialized object (Internal use only). + - Proto Enum Array (Internal use only). + - >- + BYTES data types are not allowed for top-level params. They're + only meant to support protobufs with BYTES (sub)fields. + - >- + BYTES_ARRAY data types are not allowed for top-level params. + They're only meant to support protobufs with BYTES (sub)fields. + enum: + - INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - BOOLEAN_ARRAY + - JSON_VALUE + - PROTO_VALUE + - PROTO_ARRAY + - NON_SERIALIZABLE_OBJECT + - PROTO_ENUM + - SERIALIZED_OBJECT_VALUE + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + entries: + description: A list of parameter map entries. type: array - label: - description: >- - Optional. The user created label for a particular error catcher. - Optional. - type: string - errorCatcherNumber: - description: >- - Required. A number to uniquely identify each error catcher config - within the workflow on UI. - type: string - errorCatcherId: + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaParameterMapEntry + valueType: type: string + enumDescriptions: + - Unspecified. + - String. + - Integer. + - Double Number. + - Boolean. + - String Array. + - Integer Array. + - Double Number Array. + - Boolean Array. + - Json. + - Proto Value (Internal use only). + - Proto Array (Internal use only). + - // Non-serializable object (Internal use only). + - Proto Enum (Internal use only). + - Serialized object (Internal use only). + - Proto Enum Array (Internal use only). + - >- + BYTES data types are not allowed for top-level params. They're + only meant to support protobufs with BYTES (sub)fields. + - >- + BYTES_ARRAY data types are not allowed for top-level params. + They're only meant to support protobufs with BYTES (sub)fields. description: >- - Required. An error catcher id is string representation for the error - catcher config. Within a workflow, error_catcher_id uniquely - identifies an error catcher config among all error catcher configs - for the workflow - description: Configuration detail of a error catch task - EnterpriseCrmEventbusProtoSuspensionConfig: + Option to specify value type for all entries of the map. If provided + then field types for all entries must conform to this. + enum: + - INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - BOOLEAN_ARRAY + - JSON_VALUE + - PROTO_VALUE + - PROTO_ARRAY + - NON_SERIALIZABLE_OBJECT + - PROTO_ENUM + - SERIALIZED_OBJECT_VALUE + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + EnterpriseCrmEventbusProtoField: type: object properties: - whoMayResolve: - description: Identities able to resolve this suspension. - items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoSuspensionAuthPermissions - type: array - customMessage: + cardinality: + enumDescriptions: + - For fields with unspecified cardinality. + - >- + If field cardinality is set to optional, ignore errors if input + field value is null or the reference_key is not found. + enum: + - UNSPECIFIED + - OPTIONAL type: string description: >- - Optional information to provide recipients of the suspension in - addition to the resolution URL, typically containing relevant - parameter values from the originating workflow. - suspensionExpiration: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuspensionExpiration' + By default, if the cardinality is unspecified the field is + considered required while mapping. + protoDefPath: + type: string description: >- - Indicates the next steps when no external actions happen on the - suspension. - notifications: - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNotification' - type: array - id: EnterpriseCrmEventbusProtoSuspensionConfig - GoogleCloudIntegrationsV1alphaExecution: - id: GoogleCloudIntegrationsV1alphaExecution + Optional. The fully qualified proto name (e.g. + enterprise.crm.storage.Account). Required for output field of type + PROTO_VALUE or PROTO_ARRAY. For e.g., if input field_type is BYTES + and output field_type is PROTO_VALUE, then fully qualified proto + type url should be provided to parse the input bytes. If field_type + is *_ARRAY, then all the converted protos are of the same type. + transformExpression: + description: >- + This is the transform expression to fetch the input field value. for + e.g. $param1$.CONCAT('test'). Keep points - 1. Only input field can + have a transform expression. 2. If a transform expression is + provided, reference_key will be ignored. 3. If no value is returned + after evaluation of transform expression, default_value can be + mapped if provided. 4. The field_type should be the type of the + final object returned after the transform expression is evaluated. + Scrubs the transform expression before logging as value provided by + user so may or may not contain PII or SPII data. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTransformExpression' + defaultValue: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' + description: >- + This holds the default values for the fields. This value is supplied + by user so may or may not contain PII or SPII data. + referenceKey: + type: string + description: >- + This holds the reference key of the workflow or task parameter. 1. + Any workflow parameter, for e.g. $workflowParam1$. 2. Any task input + or output parameter, for e.g. $task1_param1$. 3. Any workflow or + task parameters with subfield references, for e.g., + $task1_param1.employee.id$ + fieldType: + enum: + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' + type: string + description: Specifies the data type of the field. + id: EnterpriseCrmEventbusProtoField + description: Information about the value and type of the field. + GoogleCloudIntegrationsV1alphaAssertion: type: object + description: >- + An assertion which will check for a condition over task execution status + or an expression for task output variables Next available id: 5 properties: - updateTime: - description: Output only. Last modified time of the execution. - readOnly: true - format: google-datetime - type: string - createTime: - type: string - readOnly: true - format: google-datetime - description: Output only. Created time of the execution. - executionDetails: - description: Detailed info of this execution. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecutionDetails' - directSubExecutions: - description: Direct sub executions of the following Execution. - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' - type: array - replayInfo: - readOnly: true - description: Output only. Replay info for the execution - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecutionReplayInfo - cloudLoggingDetails: - description: Cloud Logging details for the integration version - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCloudLoggingDetails - triggerId: + condition: type: string + description: Optional. Standard filter expression for ASSERT_CONDITION to succeed + retryCount: + format: int32 description: >- - 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. - eventExecutionDetails: - deprecated: true - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventExecutionDetails' - description: The execution info about this event. - integrationVersionState: + Number of times given task should be retried in case of + ASSERT_FAILED_EXECUTION + type: integer + assertionStrategy: enumDescriptions: - - Default. - - Draft. - - Active. - - Archived. - - Snapshot. - type: string - description: Output only. State of the integration version + - Unspecified Assertion strategy + - Test a successful execution + - Test a failed execution + - Test that the task was never executed + - Test the parameter selected is equal to the expected value + - Test the parameter selected is not equal to the expected value + - Test the parameter selected contains the configured value + - Test a specific condition + type: string + description: The type of assertion to perform. enum: - - INTEGRATION_STATE_UNSPECIFIED - - DRAFT - - ACTIVE - - ARCHIVED - - SNAPSHOT - readOnly: true - snapshotNumber: + - ASSERTION_STRATEGY_UNSPECIFIED + - ASSERT_SUCCESSFUL_EXECUTION + - ASSERT_FAILED_EXECUTION + - ASSERT_NO_EXECUTION + - ASSERT_EQUALS + - ASSERT_NOT_EQUALS + - ASSERT_CONTAINS + - ASSERT_CONDITION + parameter: description: >- - Output only. An increasing sequence that is set when a new snapshot - is created + Optional. Key-value pair for ASSERT_EQUALS, ASSERT_NOT_EQUALS, + ASSERT_CONTAINS to succeed + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaEventParameter' + id: GoogleCloudIntegrationsV1alphaAssertion + EnterpriseCrmEventbusProtoBuganizerNotification: + id: EnterpriseCrmEventbusProtoBuganizerNotification + properties: + assigneeEmailAddress: + type: string + description: Whom to assign the new bug. Optional. + componentId: + description: >- + ID of the buganizer component within which to create a new issue. + Required. type: string format: int64 - readOnly: true - requestParams: - deprecated: true - description: Event parameters come in as part of the request. - type: array - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry - responseParams: - deprecated: true - description: Event parameters come out as part of the response. - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry - type: array - name: - description: Auto-generated primary key. + templateId: type: string - requestParameters: - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - description: Event parameters come in as part of the request. - executionMethod: - description: The ways user posts this event. - enumDescriptions: - - Default value. - - Sync post. - - Async post. - - Async post with schedule time. + description: ID of the buganizer template to use. Optional. + format: int64 + title: type: string + description: Title of the issue to be created. Required. + type: object + EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig: + type: object + id: EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig + properties: + operation: enum: - - EXECUTION_METHOD_UNSPECIFIED - - POST - - POST_TO_QUEUE - - SCHEDULE - responseParameters: - description: Event parameters returned as part of the response. - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - description: >- - The Execution resource contains detailed information of an individual - integration execution. - GoogleCloudIntegrationsV1alphaFile: - description: >- - To store Integration version related file i.e. Integration Version, - Config variable etc. - id: GoogleCloudIntegrationsV1alphaFile + - OPERATION_UNSPECIFIED + - EXECUTE_ACTION + - LIST_ENTITIES + - GET_ENTITY + - CREATE_ENTITY + - UPDATE_ENTITY + - DELETE_ENTITY + - EXECUTE_QUERY + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + type: string + description: Operation to perform using the configured connection. + connection: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoConnectorsConnection' + description: User-selected connection. + EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter: + type: object + properties: + objectValue: + format: byte + type: string + id: EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter + EnterpriseCrmEventbusProtoStringParameterArray: + id: EnterpriseCrmEventbusProtoStringParameterArray + properties: + stringValues: + items: + type: string + type: array + type: object + GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse: + id: GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse + description: Response for TakeoverEditLock. + type: object properties: - integrationConfig: - type: object - description: Integration version config file - additionalProperties: - description: Properties of the object. - type: any integrationVersion: - description: Integration version + description: Version after the lock is acquired by the new user. $ref: >- #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - type: - type: string - description: >- - File information like Integration version, Integration Config - variables etc. + GoogleCloudIntegrationsV1alphaSuccessPolicy: + id: GoogleCloudIntegrationsV1alphaSuccessPolicy + properties: + finalState: enumDescriptions: - - Default value. - - Integration file. - - Integration Config variables. + - UNSPECIFIED. + - >- + The default behavior, where successful tasks will be marked as + SUCCEEDED. + - >- + Sets the state to SUSPENDED after executing. This is required for + SuspensionTask; event execution will continue once the user calls + ResolveSuspensions with the event_execution_info_id and the task + number. + description: >- + State to which the execution snapshot status will be set if the task + succeeds. enum: - - INTEGRATION_FILE_UNSPECIFIED - - INTEGRATION - - INTEGRATION_CONFIG_VARIABLES + - FINAL_STATE_UNSPECIFIED + - SUCCEEDED + - SUSPENDED + type: string + description: >- + Policy that dictates the behavior for the task after it completes + successfully. + type: object + GoogleCloudIntegrationsV1alphaExecuteEventResponse: + description: The response for executing an integration. + properties: + executionId: + type: string + description: The id of the execution corresponding to this run of integration. + type: object + id: GoogleCloudIntegrationsV1alphaExecuteEventResponse + GoogleCloudIntegrationsV1alphaEventParameter: + type: object + id: GoogleCloudIntegrationsV1alphaEventParameter + description: >- + This message is used for processing and persisting (when applicable) key + value pair parameters for each event in the event bus. Next available + id: 4 + properties: + masked: + description: True if this parameter should be masked in the logs + type: boolean + value: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + description: >- + Values for the defined keys. Each value can either be string, int, + double or any proto message. + key: + type: string + description: >- + Key is used to retrieve the corresponding parameter value. This + should be unique for a given fired event. These parameters must be + predefined in the integration definition. + EnterpriseCrmEventbusProtoTransformExpression: + id: EnterpriseCrmEventbusProtoTransformExpression + properties: + transformationFunctions: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFunction' + type: array + description: Transformations to be applied sequentially. + initialValue: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBaseValue' + description: Initial value upon which to perform transformations. + type: object + GoogleCloudIntegrationsV1alphaDeprovisionClientRequest: + properties: {} + description: Request for the Deprovision rpc + type: object + id: GoogleCloudIntegrationsV1alphaDeprovisionClientRequest + GoogleCloudIntegrationsV1alphaResolveSuspensionResponse: + type: object + description: Response for Suspensions.ResolveSuspensions. + properties: {} + id: GoogleCloudIntegrationsV1alphaResolveSuspensionResponse + EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue: + id: EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue type: object - GoogleCloudIntegrationsV1alphaCoordinate: properties: - x: - format: int32 + percentage: type: integer - description: Required. X axis of the coordinate - 'y': format: int32 - type: integer - description: Required. Y axis of the coordinate - type: object - description: Configuration detail of coordinate, it used for UI - id: GoogleCloudIntegrationsV1alphaCoordinate - EnterpriseCrmEventbusProtoCloudKmsConfig: - type: object - properties: - serviceAccount: - description: >- - Optional. The service account used for authentication of this KMS - key. If this is not provided, the service account in - Client.clientSource will be used. - type: string - gcpProjectId: - type: string - description: >- - Optional. The id of GCP project where the KMS key is stored. If not - provided, assume the key is stored in the same GCP project defined - in Client (tag 14). - keyVersionName: + absolute: type: string + format: int64 + description: >- + The threshold value of the metric, above or below which the alert should + be triggered. See EventAlertConfig or TaskAlertConfig for the different + alert metric types in each case. For the *RATE metrics, one or both of + these fields may be set. Zero is the default value and can be left at + that. For *PERCENTILE_DURATION metrics, one or both of these fields may + be set, and also, the duration threshold value should be specified in + the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, + these fields should not be set at all. A different member, + threshold_duration_ms, must be set in the EventAlertConfig or the + TaskAlertConfig. + EnterpriseCrmFrontendsEventbusProtoParameterEntry: + properties: + value: description: >- - Optional. Each version of a key contains key material used for - encryption or signing. A key's version is represented by an integer, - starting at 1. To decrypt data or verify a signature, you must use - the same key version that was used to encrypt or sign the data. - keyName: - type: string + Values for the defined keys. Each value can either be string, int, + double or any proto message. + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType + key: description: >- - A Cloud KMS key is a named object containing one or more key - versions, along with metadata for the key. A key exists on exactly - one key ring tied to a specific location. - keyRingName: + Key is used to retrieve the corresponding parameter value. This + should be unique for a given fired event. These parameters must be + predefined in the workflow definition. type: string - description: >- - A key ring organizes keys in a specific Google Cloud location and - allows you to manage access control on groups of keys. A key ring's - name does not need to be unique across a Google Cloud project, but - must be unique within a given location. - locationName: - description: Location name of the key ring, e.g. "us-west1". + dataType: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' + description: Explicitly getting the type of the parameter. type: string - id: EnterpriseCrmEventbusProtoCloudKmsConfig - GoogleCloudIntegrationsV1alphaExecutionDetails: + enum: + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE + masked: + type: boolean + description: True if this parameter should be masked in the logs + id: EnterpriseCrmFrontendsEventbusProtoParameterEntry + description: Key-value pair of EventBus parameters. + type: object + EnterpriseCrmEventbusProtoTaskExecutionDetails: properties: - state: - description: Status of the execution. + taskExecutionState: enum: - - STATE_UNSPECIFIED - - PENDING - - PROCESSING - - SUCCEEDED + - UNSPECIFIED + - PENDING_EXECUTION + - IN_PROCESS + - SUCCEED - FAILED - - CANCELLED + - FATAL - RETRY_ON_HOLD + - SKIPPED + - CANCELED + - PENDING_ROLLBACK + - ROLLBACK_IN_PROCESS + - ROLLEDBACK - SUSPENDED - type: string enumDescriptions: - - Default. - - Execution is scheduled and awaiting to be triggered. - - Execution is processing. + - '' - >- - Execution successfully finished. There's no more change after this - state. - - Execution failed. There's no more change after this state. + Task is waiting for its precondition tasks to finish to start the + execution. + - Task is under processing. - >- - Execution canceled by user. There's no more change after this - state. - - Execution failed and waiting for retry. - - Execution suspended and waiting for manual intervention. - eventExecutionSnapshotsSize: - description: Total size of all event_execution_snapshots for an execution - format: int64 + Task execution successfully finished. There's no more change after + this state. + - Task execution failed. There's no more change after this state. + - >- + Task execution failed and cause the whole event execution to fail + immediately. There's no more change after this state. + - Task execution failed and waiting for retry. + - >- + Task execution skipped. This happens when its precondition wasn't + met, or the event execution been canceled before reach to the + task. There's no more changes after this state. + - >- + Task execution canceled when in progress. This happens when event + execution been canceled or any other task fall in fatal state. + - >- + Task is waiting for its dependency tasks' rollback to finish to + start its rollback. + - Task is rolling back. + - >- + Task is rolled back. This is the state we will set regardless of + rollback succeeding or failing. + - >- + Task is a SuspensionTask which has executed once, creating a + pending suspension. type: string - attemptStats: + taskAttemptStats: type: array items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAttemptStats' - description: List of Start and end time of the execution attempts. - executionSnapshots: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats + taskNumber: + type: string + description: Pointer to the task config it used for execution. + type: object + id: EnterpriseCrmEventbusProtoTaskExecutionDetails + description: >- + Contains the details of the execution of this task. Next available id: + 11 + GoogleCloudIntegrationsV1alphaImportTemplateResponse: + description: Response for import template + id: GoogleCloudIntegrationsV1alphaImportTemplateResponse + properties: + subIntegrationVersions: items: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecutionSnapshot - description: List of snapshots taken during the execution. + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion type: array - id: GoogleCloudIntegrationsV1alphaExecutionDetails - description: >- - Contains the details of the execution info: this includes the tasks - execution details plus the event execution statistics. - type: object - EnterpriseCrmEventbusProtoTransformExpression: - id: EnterpriseCrmEventbusProtoTransformExpression + description: Sub integration versions which are imported. + integrationVersion: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + description: IntegrationVersion after the import. type: object + EnterpriseCrmFrontendsEventbusProtoTaskEntity: properties: - transformationFunctions: - type: array - description: Transformations to be applied sequentially. - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFunction' - initialValue: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBaseValue' - description: Initial value upon which to perform transformations. - EnterpriseCrmEventbusProtoLogSettings: - id: EnterpriseCrmEventbusProtoLogSettings + uiConfig: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskUiConfig' + description: >- + UI configuration for this task Also associated with the METADATA + mask. + taskType: + enumDescriptions: + - Normal IP task + - Task is of As-Is Template type + - Task is of I/O template type with a different underlying task + enum: + - TASK + - ASIS_TEMPLATE + - IO_TEMPLATE + description: Defines the type of the task + type: string + metadata: + description: Metadata inclueds the task name, author and so on. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskMetadata' + paramSpecs: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage + description: >- + Declarations for inputs/outputs for a TypedTask. This is also + associated with the METADATA mask. + stats: + $ref: '#/components/schemas/EnterpriseCrmEventbusStats' + deprecated: true + description: Deprecated - statistics from the Monarch query. + disabledForVpcSc: + type: boolean + description: True if the task has conflict with vpcsc description: >- - The LogSettings define the logging attributes for an event property. - These attributes are used to map the property to the parameter in the - log proto. Also used to define scrubbing/truncation behavior and PII - information. + Contains a task's metadata and associated information. Next available + id: 7 + id: EnterpriseCrmFrontendsEventbusProtoTaskEntity type: object + GoogleCloudIntegrationsV1alphaAssertionResult: + id: GoogleCloudIntegrationsV1alphaAssertionResult properties: - seedPeriod: + assertion: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAssertion' + description: Assertion that was run. + status: enum: - - SEED_PERIOD_UNSPECIFIED - - DAY - - WEEK - - MONTH - type: string - enumDescriptions: - - '' - - Sanitized values remain constant for the day of the event. - - >- - Sanitized values remain constant for the week of the event; may - cross month boundaries. - - Sanitized values remain constant for the month of the event. - seedScope: + - ASSERTION_STATUS_UNSPECIFIED + - SUCCEEDED + - FAILED enumDescriptions: - - '' - - Hash computations include the event name. - - Hash computations include a time period. - - Hash computations include the param name. + - Unspecified assertion status + - Assertion succeeded + - Assertion failed type: string - enum: - - SEED_SCOPE_UNSPECIFIED - - EVENT_NAME - - TIME_PERIOD - - PARAM_NAME - logFieldName: + description: Status of assertion to signify if the assertion succeeded or failed + failureMessage: + description: Details of the assertion failure type: string - description: >- - The name of corresponding logging field of the event property. If - omitted, assumes the same name as the event property key. - GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest: + taskNumber: + description: Task number of task where the assertion was run. + type: string + taskName: + type: string + description: Task name of task where the assertion was run. type: object + description: The result of an assertion. + GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials: + type: object + description: >- + Parameters to support Oauth 2.0 Client Credentials Grant Authentication. + See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details. properties: - cloudKmsConfig: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCloudKmsConfig' - description: >- - Required. REQUIRED: Cloud KMS config for AuthModule to - encrypt/decrypt credentials. - description: Request for the SwitchEncryption rpc - id: GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest - EnterpriseCrmEventbusProtoStringFunction: + clientId: + description: The client identifier. + type: string + clientSecret: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: Secret version reference containing the client secret. + id: GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials + GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse: + id: GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse + type: object + description: Response to list SfdcChannels. properties: - functionName: + nextPageToken: type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - CONCAT - - TO_UPPERCASE - - TO_LOWERCASE - - CONTAINS - - SPLIT - - LENGTH - - EQUALS - - TO_INT - - TO_DOUBLE - - TO_BOOLEAN - - TO_BASE_64 - - TO_JSON - - EQUALS_IGNORE_CASE - - REPLACE_ALL - - SUBSTRING - - RESOLVE_TEMPLATE - - DECODE_BASE64_STRING + description: The token used to retrieve the next page of results. + sfdcChannels: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + description: The list of SfdcChannels retrieved. + type: array + GoogleCloudIntegrationsV1alphaParameterMapEntry: + properties: + key: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMapField' + description: Key of the map entry. + value: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMapField' + description: Value of the map entry. + description: Entry is a pair of key and value. + id: GoogleCloudIntegrationsV1alphaParameterMapEntry + type: object + GoogleCloudConnectorsV1Secret: + description: Secret provides a reference to entries in Secret Manager. type: object - id: EnterpriseCrmEventbusProtoStringFunction - GoogleCloudIntegrationsV1alphaIntegrationParameter: properties: - description: + secretVersion: + description: >- + The resource name of the secret version in the format, format as: + `projects/*/secrets/*/versions/*`. type: string - description: Optional. Description of the parameter. - inputOutputType: + id: GoogleCloudConnectorsV1Secret + GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse: + id: GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse + type: object + description: Response for listing RuntimeEntitySchemas for a specific Connection. + properties: + runtimeEntitySchemas: + description: Runtime entity schemas. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaRuntimeEntitySchema + nextPageToken: + description: Next page token. type: string - description: Specifies the input/output type for the parameter. - enum: - - IN_OUT_TYPE_UNSPECIFIED - - IN - - OUT - - IN_OUT - enumDescriptions: - - Default. - - >- - Input parameters for the integration. EventBus validates that - these parameters exist in the integrations before execution. - - >- - Output Parameters for the integration. EventBus will only return - the integration parameters tagged with OUT in the response back. - - >- - Input and Output Parameters. These can be used as both input and - output. EventBus will validate for the existence of these - parameters before execution and will also return this parameter - back in the response. - isTransient: - type: boolean - description: Whether this parameter is a transient parameter. - producer: + GoogleCloudIntegrationsV1alphaSearchTemplatesResponse: + id: GoogleCloudIntegrationsV1alphaSearchTemplatesResponse + description: Response for a request to search templates + type: object + properties: + nextPageToken: + description: The token used to retrieve the next page results. + type: string + templates: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + description: List of templates retrieved. + type: array + EnterpriseCrmEventbusProtoFunction: + id: EnterpriseCrmEventbusProtoFunction + properties: + functionType: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFunctionType' + description: The name of the function to perform. + parameters: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTransformExpression' + description: List of parameters required for the transformation. + type: array + type: object + GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest: + description: Request for UnpublishIntegrationVersion. + type: object + properties: {} + id: GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest + GoogleCloudIntegrationsV1alphaListTestCasesResponse: + id: GoogleCloudIntegrationsV1alphaListTestCasesResponse + description: Response for ListTestCases + type: object + properties: + nextPageToken: type: string description: >- - The identifier of the node (TaskConfig/TriggerConfig) this parameter - was produced by, if it is a transient param or a copy of an input - param. - dataType: + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + testCases: + type: array + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' + description: The test cases corresponding to the specified filter + GoogleCloudConnectorsV1ResourceRequests: + properties: + memory: type: string - enum: - - INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - BOOLEAN_ARRAY - - JSON_VALUE - - PROTO_VALUE - - PROTO_ARRAY - - NON_SERIALIZABLE_OBJECT - description: Type of the parameter. - enumDescriptions: - - Unspecified. - - String. - - Integer. - - Double Number. - - Boolean. - - String Array. - - Integer Array. - - Double Number Array. - - Boolean Array. - - Json. - - Proto Value (Internal use only). - - Proto Array (Internal use only). - - // Non-serializable object (Internal use only). - jsonSchema: + description: Output only. Memory request. + readOnly: true + cpu: type: string + readOnly: true + description: Output only. CPU request. + id: GoogleCloudConnectorsV1ResourceRequests + description: Resource requests defined for connection pods of a given connector type. + type: object + EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails: + properties: + networkAddress: description: >- - This schema will be used to validate runtime JSON-typed values of - this parameter. - searchable: - type: boolean - description: Searchable in the execution log or not. - containsLargeData: + The network address (aka. bns address) that indicates where the + event executor is running. + type: string + ryeLockUnheldCount: + format: int32 description: >- - Indicates whether this variable contains large data and need to be - uploaded to Cloud Storage. - type: boolean - masked: - type: boolean - description: True if this parameter should be masked in the logs - defaultValue: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + Used internally and shouldn't be exposed to users. A counter for the + cron job to record how many times this event is in in_process state + but don't have a lock consecutively/ + type: integer + eventExecutionSnapshotsSize: + description: Total size of all event_execution_snapshots for an execution + type: string + format: int64 + eventAttemptStats: + type: array + items: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats + eventRetriesFromBeginningCount: description: >- - Default values for the defined keys. Each value can either be - string, int, double or any proto message or a serialized object. - key: + Indicates the number of times the execution has restarted from the + beginning. + type: integer + format: int32 + logFilePath: + description: The log file path (aka. cns address) for this event. + type: string + cancelReason: type: string description: >- - Key is used to retrieve the corresponding parameter value. This - should be unique for a given fired event. These parameters must be - predefined in the integration definition. - displayName: + If the execution is manually canceled, this field will contain the + reason for cancellation. + nextExecutionTime: + format: int64 type: string description: >- - The name (without prefix) to be displayed in the UI for this - parameter. E.g. if the key is "foo.bar.myName", then the name would - be "myName". - id: GoogleCloudIntegrationsV1alphaIntegrationParameter - type: object - description: >- - Integration Parameter is defined in the integration config and are used - to provide information about data types of the expected parameters and - provide any default values if needed. They can also be used to add - custom attributes. These are static in nature and should not be used for - dynamic event definition. - GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest: - properties: - priority: + Next scheduled execution time in case the execution status was + RETRY_ON_HOLD. + eventExecutionState: + type: string enum: - - UNSPCIFIED - - SHEDDABLE - - SHEDDABLE_PLUS - - CRITICAL - - CRITICAL_PLUS + - UNSPECIFIED + - ON_HOLD + - IN_PROCESS + - SUCCEEDED + - FAILED + - CANCELED + - RETRY_ON_HOLD + - SUSPENDED + description: The execution state of this event. enumDescriptions: - - Unspecified - - >- - Frequent partial and occasional full unavailability is expected - and not pageable. * Requests to this band will be shed before all - other requests. * This is the default for async calls sent from - batch jobs. + - '' - >- - Partial unavailability is expected and is not necessarily - pageable. * Requests to this band will be shed before any critical - traffic. * This is the default for async calls sent from - production jobs. + Event is received and waiting for the execution. This happens when + firing the event via "postToQueue" or "schedule". + - Event is under processing. - >- - Any outage is a pageable event. * During a production outage - requests in this band will only be shed before CRITICAL_PLUS. * - This is the default for sync calls sent from production jobs. + Event execution successfully finished. There's no more change + after this state. + - Event execution failed. There's no more change after this state. - >- - Any outage is a pageable event. * The guideline is for < 10% of - requests to a service to be in this band. * During a production - outage requests in this band will be prioritized above all others. - * Opt-in to CRITICAL_PLUS when your workflow triggers by human. + Event execution canceled by user. There's no more change after + this state. + - Event execution failed and waiting for retry. + - Event execution suspended and waiting for manual intervention. + eventExecutionSnapshot: description: >- - The request priority this request should be processed at. For - internal users: + After snapshot migration, this field will no longer be populated, + but old execution snapshots will still be accessible. + type: array + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot + description: >- + 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 + id: EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails + type: object + GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse: + id: GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse + properties: + executionInfoIds: + description: The execution info id for the executed integrations. + items: + type: string + type: array + description: The response for executing an integration. + type: object + GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials: + id: GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials + properties: + tokenParams: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' + description: Token parameters for the auth request. + clientId: type: string - workflowName: - description: >- - Optional. If provided, the workflow_name is used to filter all the - matched workflows having same trigger_id+client_id. A combination of - trigger_id, client_id and workflow_name identifies a unique - workflow. + description: The client's ID. + accessToken: + description: Access token fetched from the authorization server. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAccessToken' + password: + description: The user's password. type: string - triggerId: - description: >- - Matched against all {@link TriggerConfig}s across all workflows. - i.e. TriggerConfig.trigger_id.equals(trigger_id) Required. + requestType: + enum: + - REQUEST_TYPE_UNSPECIFIED + - REQUEST_BODY + - QUERY_PARAMETERS + - ENCODED_HEADER + description: Represent how to pass parameters to fetch access token + enumDescriptions: + - Unspecified request type + - To pass all the parameters in post body. + - To pass all the parameters as a part of query parameter. + - >- + To pass client id and client secret as base 64 encoding of + client_id:client_password and rest parameters in post body. + type: string + tokenEndpoint: type: string - testMode: - description: >- - Optional. Sets test mode in {@link - enterprise/crm/eventbus/event_message.proto}. - type: boolean - parameters: - description: Passed in as parameters to each workflow execution. Optional. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' - requestId: description: >- - Optional. This is used to de-dup incoming request: if the duplicate - request was detected, the response from the previous execution is - returned. Must have no more than 36 characters and contain only - alphanumeric characters and hyphens. + The token endpoint is used by the client to obtain an access token + by presenting its authorization grant or refresh token. + clientSecret: + description: The client's secret. type: string - resourceName: + scope: + description: A space-delimited list of requested scope permissions. type: string + username: + type: string + description: The user's username. + description: >- + For resource owner credentials grant, the client will ask the user for + their authorization credentials (ususally a username and password) and + send a POST request to the authorization server. The authorization + server will respond with a JSON object containing the access token. + type: object + EnterpriseCrmEventbusProtoScatterResponse: + type: object + properties: + executionIds: + description: The execution ids of each Subworkflow fired by this scatter. + items: + type: string + type: array + isSuccessful: description: >- - This field is only required when using Admin Access. The resource - name of target, or the parent resource name. For example: - "projects/*/locations/*/integrations/*" - quotaRetryCount: - format: int32 - type: integer - description: >- - Optional. This is a field to see the quota retry count for - integration execution - ignoreErrorIfNoActiveWorkflow: + If execution is sync, this is true if the execution passed and false + if it failed. If the execution is async, this is true if the WF was + fired off successfully, and false if it failed to execute. The + success or failure of the subworkflows executed are not captured. type: boolean + scatterElement: + description: The element that was scattered for this execution. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' + errorMsg: + type: string + description: The error message of the failure if applicable. + responseParams: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterEntry' description: >- - Optional. Flag to determine whether clients would suppress a warning - when no ACTIVE workflows are not found. If this flag is set to be - true, an error will not be thrown if the requested trigger_id or - client_id is not found in any ACTIVE workflow. Otherwise, the error - is always thrown. The flag is set to be false by default. - userGeneratedExecutionId: + A list of all the response parameters in the aggregtorMap stored + with the remapped key. + type: array + id: EnterpriseCrmEventbusProtoScatterResponse + GoogleCloudIntegrationsV1alphaServiceAccountCredentials: + description: >- + Represents the service account which can be used to generate access + token for authenticating the service call. + id: GoogleCloudIntegrationsV1alphaServiceAccountCredentials + properties: + serviceAccount: type: string description: >- - This is a unique id provided by the method caller. If provided this - will be used as the execution_id when a new execution info is - created. This is a string representation of a UUID. Must have no - more than 36 characters and contain only alphanumeric characters and - hyphens. - scheduledTime: - description: >- - Optional. Time in milliseconds since epoch when the given event - would be scheduled. - format: int64 + Name of the service account that has the permission to make the + request. + scope: + description: A space-delimited list of requested scope permissions. type: string - clientId: + type: object + GoogleCloudIntegrationsV1alphaValueType: + properties: + intArray: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaIntParameterArray' + description: Integer Array. + stringValue: type: string - description: >- - Optional. If the client id is provided, then the combination of - trigger id and client id is matched across all the workflows. If the - client id is not provided, then workflows with matching trigger id - are executed for each client id in the {@link TriggerConfig}. For - Api Trigger, the client id is required and will be validated against - the allowed clients. - id: GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest + description: String. + intValue: + description: Integer. + type: string + format: int64 + doubleValue: + type: number + format: double + description: Double Number. + doubleArray: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaDoubleParameterArray + description: Double Number Array. + booleanArray: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaBooleanParameterArray + description: Boolean Array. + booleanValue: + type: boolean + description: Boolean. + jsonValue: + description: Json. + type: string + stringArray: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaStringParameterArray + description: String Array. + description: The type of the parameter. + id: GoogleCloudIntegrationsV1alphaValueType type: object - description: >- - LINT.IfChange Use this request to post all workflows associated with a - given trigger id. Next available id: 13 - EnterpriseCrmEventbusProtoNodeIdentifier: + EnterpriseCrmEventbusProtoStringArrayFunction: type: object - id: EnterpriseCrmEventbusProtoNodeIdentifier + id: EnterpriseCrmEventbusProtoStringArrayFunction properties: - elementIdentifier: - description: Configuration of the edge. - type: string - elementType: + functionName: enum: - - UNKNOWN_TYPE - - TASK_CONFIG - - TRIGGER_CONFIG - description: Destination node where the edge ends. It can only be a task config. + - UNSPECIFIED + - GET + - APPEND + - SIZE + - TO_SET + - APPEND_ALL + - TO_JSON + - SET + - REMOVE + - REMOVE_AT + - CONTAINS + - FOR_EACH + - FILTER enumDescriptions: - '' - '' - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' type: string - description: 'Represents a node identifier (type + id). Next highest id: 3' - EnterpriseCrmFrontendsEventbusProtoWorkflowParameters: - id: EnterpriseCrmFrontendsEventbusProtoWorkflowParameters - description: >- - LINT.IfChange This is the frontend version of WorkflowParameters. It's - exactly like the backend version except that instead of flattening - protobuf parameters and treating every field and subfield of a protobuf - parameter as a separate parameter, the fields/subfields of a protobuf - parameter will be nested as "children" (see 'children' field below) - parameters of the parent parameter. Please refer to - enterprise/crm/eventbus/proto/workflow_parameters.proto for more - information about WorkflowParameters. - type: object + GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata: + description: Metadata of runtime connection schema. properties: - parameters: - description: >- - Parameters are a part of Event and can be used to communiticate - between different tasks that are part of the same workflow - execution. - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry + actions: + description: List of actions. type: array - GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata: - description: Metadata of the execution snapshot. - id: GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata - type: object - properties: - ancestorTaskNumbers: - description: >- - Ancestor task number for the task(it will only be non-empty if the - task is under 'private workflow') items: type: string - type: array - task: - description: the task name associated with this snapshot. - type: string - taskAttempt: - format: int32 - type: integer - description: the task attempt number this snapshot belongs to. - taskLabel: - description: the task label associated with this snapshot. Could be empty. - type: string - taskNumber: - type: string - description: The task number associated with this snapshot. - ancestorIterationNumbers: + entities: type: array items: type: string - description: >- - Ancestor iteration number for the task(it will only be non-empty if - the task is under 'private workflow') - integrationName: - description: >- - The direct integration which the event execution snapshots belongs - to + description: List of entity names. + type: object + id: GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata + EnterpriseCrmEventbusProtoIntFunction: + id: EnterpriseCrmEventbusProtoIntFunction + properties: + functionName: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - UNSPECIFIED + - ADD + - SUBTRACT + - MULTIPLY + - DIVIDE + - EXPONENT + - GREATER_THAN_EQUAL_TO + - GREATER_THAN + - LESS_THAN_EQUAL_TO + - LESS_THAN + - TO_DOUBLE + - TO_STRING + - EQUALS + - TO_JSON + - MOD + - EPOCH_TO_HUMAN_READABLE_TIME type: string - executionAttempt: - description: the execution attempt number this snapshot belongs to. - format: int32 - type: integer - GoogleCloudIntegrationsV1alphaBooleanParameterArray: type: object + GoogleCloudIntegrationsV1alphaCoordinate: + description: Configuration detail of coordinate, it used for UI + type: object + id: GoogleCloudIntegrationsV1alphaCoordinate properties: - booleanValues: - description: Boolean array. - items: - type: boolean - type: array - id: GoogleCloudIntegrationsV1alphaBooleanParameterArray - description: This message only contains a field of boolean array. - GoogleCloudIntegrationsV1alphaSerializedFile: - id: GoogleCloudIntegrationsV1alphaSerializedFile + x: + format: int32 + type: integer + description: Required. X axis of the coordinate + 'y': + type: integer + format: int32 + description: Required. Y axis of the coordinate + EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot: properties: - file: + checkpointTaskNumber: type: string description: >- - File information like Integration version, Integration Config - variables etc. - enumDescriptions: - - Default value. - - Integration file. - - Integration Config variables. - enum: - - INTEGRATION_FILE_UNSPECIFIED - - INTEGRATION - - INTEGRATION_CONFIG_VARIABLES - content: + Indicates "right after which checkpoint task's execution" this + snapshot is taken. + diffParams: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + description: The parameters in Event object that differs from last snapshot. + conditionResults: + type: array + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoConditionResult' + description: All of the computed conditions that been calculated. + taskName: type: string - description: String representation of the file content. - description: To store string representation of Integration file. - type: object - GoogleCloudIntegrationsV1alphaSuspensionAudit: - description: Contains when and by whom the suspension was resolved. - type: object - properties: - resolveTime: + description: The task name associated with this snapshot. Could be empty. + deprecated: true + eventExecutionSnapshotMetadata: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata + eventExecutionInfoId: + description: Points to the event execution info this snapshot belongs to. type: string - format: google-datetime - description: Time at which this suspension was resolved. - resolver: + eventExecutionSnapshotId: + description: >- + Auto-generated. Used as primary key for EventExecutionSnapshots + table. type: string - description: Email address of the person who resolved this suspension. - id: GoogleCloudIntegrationsV1alphaSuspensionAudit - EnterpriseCrmEventbusProtoCondition: - id: EnterpriseCrmEventbusProtoCondition - description: Condition that uses `operator` to evaluate the key against the value. + snapshotTime: + description: Indicates when this snapshot is taken. + format: int64 + type: string + eventParams: + description: The parameters in Event object. + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + taskExecutionDetails: + items: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoTaskExecutionDetails + description: All of the task execution details at the given point of time. + type: array + id: EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot type: object + EnterpriseCrmEventbusProtoToken: properties: - value: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoValueType' - description: Value that's checked for the key. - eventPropertyKey: - description: >- - Key that's evaluated against the `value`. Please note the data type - of the runtime value associated with the key should match the data - type of `value`, else an IllegalArgumentException is thrown. + name: type: string - operator: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + value: type: string - enum: - - UNSET - - EQUALS - - CONTAINS - - LESS_THAN - - GREATER_THAN - - EXISTS - - DOES_NOT_EXIST - - IS_EMPTY - - IS_NOT_EMPTY - description: >- - Operator used to evaluate the condition. Please note that an - operator with an inappropriate key/value operand will result in - IllegalArgumentException, e.g. CONTAINS with boolean key/value pair. - deprecated: true - GoogleCloudIntegrationsV1alphaListCertificatesResponse: + type: object + id: EnterpriseCrmEventbusProtoToken + GoogleCloudIntegrationsV1alphaIntParameterArray: type: object properties: - certificates: + intValues: type: array + description: Integer array. items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' - description: The list of Certificates retrieved. - nextPageToken: - type: string - description: The token used to retrieve the next page of results. - id: GoogleCloudIntegrationsV1alphaListCertificatesResponse - description: Response to list Certificates. - EnterpriseCrmEventbusProtoParamSpecEntryConfig: - id: EnterpriseCrmEventbusProtoParamSpecEntryConfig + type: string + format: int64 + id: GoogleCloudIntegrationsV1alphaIntParameterArray + description: This message only contains a field of integer array. + GoogleCloudIntegrationsV1alphaExecutionReplayInfo: + description: >- + Contains the details of the execution info: this includes the replay + reason and replay tree connecting executions in a parent-child + relationship + type: object properties: - helpText: - description: >- - Detailed help text for this parameter containing information not - provided elsewhere. For example, instructions on how to migrate from - a deprecated parameter. - type: string - isHidden: - type: boolean - description: Whether this field is hidden in the UI. - label: - type: string - description: A user-friendly label for the parameter. - uiPlaceholderText: + originalExecutionInfoId: description: >- - Placeholder text which will appear in the UI input form for this - parameter. - type: string - subSectionLabel: + If this execution is a replay of another execution, then this field + contains the original execution id. type: string + replayedExecutionInfoIds: description: >- - A user-friendly label for subSection under which the parameter will - be displayed. - parameterNameOption: - type: string - enumDescriptions: - - This field is not a parameter name. - - >- - If this field is a string and this option is selected, the field - will be interpreted as a parameter name. Users will be able to - choose a variable using the autocomplete, but the name will be - stored as a literal string. - - >- - If this field is a ParameterMap and this option is selected, the - map's keys will be interpreted as parameter names. Ignored if this - field is not a ParameterMap. - - >- - If this field is a ParameterMap and this option is selected, the - map's values will be interpreted as parameter names. Ignored if - this field is not a ParameterMap. - enum: - - DEFAULT_NOT_PARAMETER_NAME - - IS_PARAMETER_NAME - - KEY_IS_PARAMETER_NAME - - VALUE_IS_PARAMETER_NAME - inputDisplayOption: - enum: - - DEFAULT - - STRING_MULTI_LINE - - NUMBER_SLIDER - - BOOLEAN_TOGGLE - type: string - enumDescriptions: - - >- - A single-line input for strings, a numeric input box for numbers, - or a checkbox for booleans. - - A multi-line input box for longer strings/string templates. - - >- - A slider to select a numerical value. The default range is [0, - 100]. - - A toggle button for boolean parameters. - descriptivePhrase: - description: A short phrase to describe what this parameter contains. + If this execution has been replayed, then this field contains the + execution ids of the replayed executions. + type: array + items: + type: string + replayReason: + description: reason for replay type: string - hideDefaultValue: - description: Whether the default value is hidden in the UI. - type: boolean + id: GoogleCloudIntegrationsV1alphaExecutionReplayInfo + GoogleCloudIntegrationsV1alphaCloudKmsConfig: type: object - EnterpriseCrmEventbusProtoParameterEntry: - description: Key-value pair of EventBus parameters. + description: Configuration information for Client's Cloud KMS information properties: - value: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' + kmsRing: + type: string description: >- - Values for the defined keys. Each value can either be string, int, - double or any proto message. + Required. A key ring organizes keys in a specific Google Cloud + location and allows you to manage access control on groups of keys. + A key ring's name does not need to be unique across a Google Cloud + project, but must be unique within a given location. key: type: string description: >- - Key is used to retrieve the corresponding parameter value. This - should be unique for a given fired event. These parameters must be - predefined in the integration definition. - masked: - type: boolean - description: True if this parameter should be masked in the logs - type: object - id: EnterpriseCrmEventbusProtoParameterEntry - GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration: - description: Expiration configs for the approval request. - type: object - id: GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration - properties: - remindTime: + Required. A Cloud KMS key is a named object containing one or more + key versions, along with metadata for the key. A key exists on + exactly one key ring tied to a specific location. + keyVersion: description: >- - Time after the previous suspension action reminder, if any, is sent - using the selected notification option, for a suspension which is - still PENDING_UNSPECIFIED. - format: google-datetime + Optional. Each version of a key contains key material used for + encryption or signing. A key's version is represented by an integer, + starting at 1. To decrypt data or verify a signature, you must use + the same key version that was used to encrypt or sign the data. type: string - liftWhenExpired: - type: boolean - description: >- - Whether the suspension will be REJECTED or LIFTED upon expiration. - REJECTED is the default behavior. - expireTime: - format: google-datetime - readOnly: true + kmsLocation: type: string - description: >- - Output only. Time after which the suspension expires, if no action - taken. - GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse: - properties: - integrationVersions: - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - description: The integrations which match the request. - type: array - noPermission: - description: Whether the user has no permission on the version or not. - type: boolean - nextPageToken: + description: Required. Location name of the key ring, e.g. "us-west1". + kmsProjectId: type: string description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - description: Response for ListIntegrationVersions. - id: GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse + Optional. The gcp project id of the project where the kms key + stored. If empty, the kms key is stored at the same project as + customer's project and ecrypted with CMEK, otherwise, the kms key is + stored in the tenant project and encrypted with GMEK + id: GoogleCloudIntegrationsV1alphaCloudKmsConfig + GoogleCloudIntegrationsV1alphaDownloadExecutionResponse: + type: object + id: GoogleCloudIntegrationsV1alphaDownloadExecutionResponse + properties: + content: + type: string + description: The content of downloaded execution. + description: Response for downloading an execution. + EnterpriseCrmEventbusProtoProtoArrayFunction: + id: EnterpriseCrmEventbusProtoProtoArrayFunction type: object - EnterpriseCrmEventbusProtoCoordinate: - description: Represents two-dimensional positions. - id: EnterpriseCrmEventbusProtoCoordinate + properties: + functionName: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - UNSPECIFIED + - GET + - APPEND + - SIZE + - TO_SET + - APPEND_ALL + - TO_JSON + - SET + - REMOVE + - REMOVE_AT + - CONTAINS + - FOR_EACH + - FILTER + type: string + EnterpriseCrmEventbusProtoBooleanFunction: type: object properties: - 'y': - type: integer - format: int32 - x: - type: integer - format: int32 + functionName: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - UNSPECIFIED + - TO_JSON + - NOT + - AND + - NAND + - OR + - XOR + - NOR + - XNOR + - TO_STRING + - EQUALS + type: string + id: EnterpriseCrmEventbusProtoBooleanFunction GoogleCloudConnectorsV1EncryptionKey: + description: Encryption Key value. + id: GoogleCloudConnectorsV1EncryptionKey + type: object properties: - kmsKeyName: - type: string - description: >- - The [KMS key name] with which the content of the Operation is - encrypted. The expected format: - `projects/*/locations/*/keyRings/*/cryptoKeys/*`. Will be empty - string if google managed. type: - type: string enumDescriptions: - Value type is not specified. - Google Managed. - Customer Managed. - description: Type. enum: - TYPE_UNSPECIFIED - GOOGLE_MANAGED - CUSTOMER_MANAGED - description: Encryption Key value. - id: GoogleCloudConnectorsV1EncryptionKey - type: object - EnterpriseCrmEventbusProtoCombinedCondition: + description: Type. + type: string + kmsKeyName: + type: string + description: >- + The [KMS key name] with which the content of the Operation is + encrypted. The expected format: + `projects/*/locations/*/keyRings/*/cryptoKeys/*`. Will be empty + string if google managed. + EnterpriseCrmFrontendsEventbusProtoWorkflowParameters: + id: EnterpriseCrmFrontendsEventbusProtoWorkflowParameters description: >- - This message recursively combines constituent conditions using logical - AND. - deprecated: true - properties: - conditions: - description: A set of individual constituent conditions. - type: array - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCondition' - id: EnterpriseCrmEventbusProtoCombinedCondition - type: object - EnterpriseCrmEventbusProtoTaskUiModuleConfig: + LINT.IfChange This is the frontend version of WorkflowParameters. It's + exactly like the backend version except that instead of flattening + protobuf parameters and treating every field and subfield of a protobuf + parameter as a separate parameter, the fields/subfields of a protobuf + parameter will be nested as "children" (see 'children' field below) + parameters of the parent parameter. Please refer to + enterprise/crm/eventbus/proto/workflow_parameters.proto for more + information about WorkflowParameters. type: object - id: EnterpriseCrmEventbusProtoTaskUiModuleConfig - description: Task author would use this type to configure a config module. - properties: - moduleId: - type: string - enum: - - UNSPECIFIED_TASK_MODULE - - LABEL - - ERROR_HANDLING - - TASK_PARAM_TABLE - - TASK_PARAM_FORM - - PRECONDITION - - SCRIPT_EDITOR - - RPC - - TASK_SUMMARY - - SUSPENSION - - RPC_TYPED - - SUB_WORKFLOW - - APPS_SCRIPT_NAVIGATOR - - SUB_WORKFLOW_FOR_EACH_LOOP - - FIELD_MAPPING - - README - - REST_CALLER - - SUB_WORKFLOW_SCATTER_GATHER - - CLOUD_SQL - - GENERIC_CONNECTOR_TASK - description: ID of the config module. - enumDescriptions: - - Default - - Supports editing label of a task config. - - Supports editing error handling settings such as retry strategy. - - >- - Supports adding, removing and editing task parameter values in a - table with little assistance or restriction. - - >- - Supports editing values of declared input parameters of a task. - Think of it as a "strongly typed" upgrade to the TASK_PARAM_TABLE. - - Supports editing preconditions of a task config. - - >- - Supports adding, editing, and deleting the scripts associated with - a script task, as well as modifying the input/output parameters. - - >- - Supports editing task parameters associated with an RPC/stubby - task. - - >- - Contains readonly task information, including input/output type - info. - - Configures a SuspensionTask. - - Configures a GenericStubbyTypedTask. - - Configures a SubWorkflowExecutorTask. - - Supports navigating to Apps Script editor - - Configures a SubWorkflowForEachLoopTask. - - Configures a FieldMappingTask. - - Contains embedded in-product documentation for a task. - - UI widget for the rest caller task. - - Configures a SubWorkflowScatterGatherTask. - - Configures a CloudSql Task. - - Configure a GenericConnectorTask. - GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse: - description: Response to list SfdcChannels. - id: GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse properties: - sfdcChannels: - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' - description: The list of SfdcChannels retrieved. + parameters: type: array - nextPageToken: - type: string - description: The token used to retrieve the next page of results. + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry + description: >- + Parameters are a part of Event and can be used to communiticate + between different tasks that are part of the same workflow + execution. + GoogleCloudConnectorsV1EventingConfig: type: object - GoogleCloudConnectorsV1LogConfig: properties: - level: - enumDescriptions: - - Log level unspecified. - - Only error logs are enabled. - - Info and error logs are enabled. - - Debug and high verbosity logs are enabled. - enum: - - LOG_LEVEL_UNSPECIFIED - - ERROR - - INFO - - DEBUG - type: string - description: Optional. Log configuration level. - enabled: + authConfig: + $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfig' + description: Auth details for the webhook adapter. + listenerAuthConfig: + $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfig' + description: Optional. Auth details for the event listener. + registrationDestinationConfig: + description: Registration endpoint for auto registration. + $ref: '#/components/schemas/GoogleCloudConnectorsV1DestinationConfig' + proxyDestinationConfig: + $ref: '#/components/schemas/GoogleCloudConnectorsV1DestinationConfig' + description: Optional. Proxy for Eventing auto-registration. + enrichmentEnabled: type: boolean + description: Enrichment Enabled. + deadLetterConfig: + $ref: >- + #/components/schemas/GoogleCloudConnectorsV1EventingConfigDeadLetterConfig + description: Optional. Dead letter configuration for eventing of a connection. + eventsListenerIngressEndpoint: description: >- - Enabled represents whether logging is enabled or not for a - connection. - id: GoogleCloudConnectorsV1LogConfig - description: Log configuration for the connection. - type: object - GoogleCloudIntegrationsV1alphaTemplateComponent: - properties: - type: - enumDescriptions: - - Component type is unspecified - - Trigger component - - Task component - - Connector component - enum: - - TYPE_UNSPECIFIED - - TRIGGER - - TASK - - CONNECTOR - description: Optional. Type of the component. - type: string - name: + Optional. Ingress endpoint of the event listener. This is used only + when private connectivity is enabled. type: string - description: Optional. Name of the component. - id: GoogleCloudIntegrationsV1alphaTemplateComponent - description: Define the components that are present in a template. + privateConnectivityEnabled: + type: boolean + description: Optional. Private Connectivity Enabled. + additionalVariables: + items: + $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + description: Additional eventing related field values + type: array + id: GoogleCloudConnectorsV1EventingConfig + description: Eventing Configuration of a connection + EnterpriseCrmEventbusProtoEventParameters: type: object - EnterpriseCrmEventbusProtoFunction: - id: EnterpriseCrmEventbusProtoFunction properties: parameters: - type: array + description: >- + Parameters are a part of Event and can be used to communicate + between different tasks that are part of the same integration + execution. items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTransformExpression' - description: List of parameters required for the transformation. - functionType: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFunctionType' - description: The name of the function to perform. - type: object - GoogleCloudConnectorsV1EventingStatus: - type: object + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterEntry' + type: array + description: >- + LINT.IfChange This message is used for processing and persisting (when + applicable) key value pair parameters for each event in the event bus. + Please see + id: EnterpriseCrmEventbusProtoEventParameters + EnterpriseCrmEventbusProtoPropertyEntry: properties: - state: - enum: - - STATE_UNSPECIFIED - - ACTIVE - - ERROR - - INGRESS_ENDPOINT_REQUIRED - description: Output only. State. - enumDescriptions: - - Default state. - - Eventing is enabled and ready to receive events. - - Eventing is not active due to an error. - - Ingress endpoint required. - readOnly: true - type: string - description: + key: + description: >- + Key is used to retrieve the corresponding property value. This + should be unique for a given fired event. The Tasks should be aware + of the keys used while firing the events for them to be able to + retrieve the values. type: string - readOnly: true - description: Output only. Description of error if State is set to "ERROR". - description: EventingStatus indicates the state of eventing. - id: GoogleCloudConnectorsV1EventingStatus - EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats: + value: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoValueType' + description: >- + Values for the defined keys. Each value can either be string, int, + double or any proto message. + id: EnterpriseCrmEventbusProtoPropertyEntry + description: Key-value pair of EventBus property. type: object + EnterpriseCrmEventbusStats: properties: - startTime: - format: int64 - type: string - description: >- - The start time of the event execution for current attempt. This - could be in the future if it's been scheduled. - endTime: - description: The end time of the event execution for current attempt. - type: string - format: int64 - id: EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats - EnterpriseCrmEventbusProtoTaskUiConfig: - id: EnterpriseCrmEventbusProtoTaskUiConfig + warningRate: + description: Average warning rate. + type: number + format: double + errorRate: + type: number + description: Average error rate. + format: double + dimensions: + $ref: '#/components/schemas/EnterpriseCrmEventbusStatsDimensions' + description: Dimensions that these stats have been aggregated on. + qps: + description: Queries per second. + type: number + format: double + durationInSeconds: + format: double + type: number + description: Average duration in seconds. description: >- - Task authors would use this type to configure the UI for a particular - task by specifying what UI config modules should be included to compose - the UI. Learn more about config module framework: + Stats for the requested dimensions: QPS, duration, and error/warning + rate + id: EnterpriseCrmEventbusStats + type: object + GoogleCloudConnectorsV1NodeConfig: + description: Node configuration for the connection. + id: GoogleCloudConnectorsV1NodeConfig + type: object properties: - taskUiModuleConfigs: - type: array - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskUiModuleConfig' - description: Configurations of included config modules. + minNodeCount: + format: int32 + description: Minimum number of nodes in the runtime nodes. + type: integer + maxNodeCount: + format: int32 + type: integer + description: Maximum number of nodes in the runtime nodes. + EnterpriseCrmEventbusProtoParameterMap: + id: EnterpriseCrmEventbusProtoParameterMap type: object - GoogleCloudIntegrationsV1alphaNextTask: - id: GoogleCloudIntegrationsV1alphaNextTask properties: - displayName: - description: User-provided label that is attached to this edge in the UI. - type: string - taskId: - type: string - description: Task number of the next task. - taskConfigId: - type: string - description: ID of the next task. - description: + keyType: + enum: + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE type: string description: >- - User-provided description intended to give additional business - context about the task. - condition: + Option to specify key value type for all entries of the map. If + provided then field types for all entries must conform to this. + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' + valueType: + enum: + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE type: string - description: >- - Standard filter expression for this task to become an eligible next - task. - type: object - description: >- - The task that is next in line to be executed, if the condition specified - evaluated to true. - GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer: - description: >- - Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0 - Authorization Grant based authentication. See - https://tools.ietf.org/html/rfc7523 for more details. - id: GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer - type: object - properties: - jwtClaims: - description: JwtClaims providers fields to generate the token. - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims - clientKey: - description: >- - Secret version reference containing a PKCS#8 PEM-encoded private key - associated with the Client Certificate. This private key will be - used to sign JWTs used for the jwt-bearer authorization grant. - Specified in the form as: `projects/*/secrets/*/versions/*`. - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - GoogleCloudIntegrationsV1alphaListConnectionsResponse: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' + entries: + type: array + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterMapEntry' + description: >- + A generic multi-map that holds key value pairs. They keys and values can + be of any type, unless specified. + GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse: + type: object + id: GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse properties: nextPageToken: - description: Next page token. type: string - connections: - description: Connections. + description: Next page token. + runtimeActionSchemas: items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Connection' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaRuntimeActionSchema + description: Runtime action schemas. type: array - description: Response containing Connections listed by region. + description: Response for listing RuntimeActionSchemas for a specific Connection. + GoogleCloudIntegrationsV1alphaRuntimeEntitySchema: + description: Metadata of an entity, including a schema for its properties. + id: GoogleCloudIntegrationsV1alphaRuntimeEntitySchema type: object - id: GoogleCloudIntegrationsV1alphaListConnectionsResponse - GoogleCloudIntegrationsV1alphaAccessToken: - id: GoogleCloudIntegrationsV1alphaAccessToken properties: - accessTokenExpireTime: - description: >- - Required. The approximate time until the access token retrieved is - valid. - format: google-datetime - type: string - refreshToken: + entity: + description: Name of the entity. type: string - description: >- - If the access token will expire, use the refresh token to obtain - another access token. - tokenType: - description: >- - Only support "bearer" token in v1 as bearer token is the predominant - type used with OAuth 2.0. + fieldSchema: type: string - accessToken: + description: List of fields in the entity. + arrayFieldSchema: + description: The above schema, but for an array of the associated entity. type: string + GoogleCloudIntegrationsV1alphaCancelExecutionRequest: + description: Request for cancelling an execution. + properties: + cancelReason: description: >- - The access token encapsulating the security identity of a process or - thread. - refreshTokenExpireTime: - format: google-datetime - description: The approximate time until the refresh token retrieved is valid. + Required. Reason for cancelling the execution. This is provided by + the client requesting the cancellation, and is not used by the + Platform. type: string - description: >- - The access token represents the authorization of a specific application - to access specific parts of a user’s data. type: object - GoogleCloudIntegrationsV1alphaIntegrationConfigParameter: + id: GoogleCloudIntegrationsV1alphaCancelExecutionRequest + EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo: + type: object + description: >- + Contains all the execution details for a workflow instance. Next + available id: 27 properties: - value: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + tenant: + type: string description: >- - Values for the defined keys. Each value can either be string, int, - double or any proto message or a serialized object. - parameter: + Tenant this event is created. Used to reschedule the event to + correct tenant. + workflowRetryBackoffIntervalSeconds: + format: int64 + type: string + description: >- + Time interval in seconds to schedule retry of workflow in manifold + when workflow is already running + cloudLoggingDetails: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCloudLoggingDetails' + description: Cloud Logging details for execution info + createTime: + description: Auto-generated. + format: int64 + type: string + workflowName: + description: Name of the workflow. + type: string + executionTraceInfo: + description: Execution trace info to aggregate parent-child executions. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoExecutionTraceInfo' + clientId: + type: string + description: The event data user sends as request. + requestId: + type: string + description: Optional. This is used to de-dup incoming request. + responseParams: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationParameter + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + description: Event parameters come out as part of the response. + eventExecutionDetails: + description: The execution info about this event. + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails + errorCode: + $ref: '#/components/schemas/CrmlogErrorCode' + description: Final error-code if event failed. + errors: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoErrorDetail' + type: array description: >- - Optional. Integration Parameter to provide the default value, data - type and attributes required for the Integration config variables. - id: GoogleCloudIntegrationsV1alphaIntegrationConfigParameter - description: >- - Integration Config Parameter is defined in the integration config and - are used to provide external configuration for integration. It provide - information about data types of the expected parameters and provide any - default values or value. They can also be used to add custom attributes. - type: object - GoogleCloudIntegrationsV1alphaTaskExecutionDetails: - description: Contains the details of the execution of this task. - type: object - id: GoogleCloudIntegrationsV1alphaTaskExecutionDetails - properties: - taskNumber: + Errors, warnings, and informationals associated with the + workflow/task. The order in which the errors were added by the + workflow/task is maintained. + triggerId: + description: >- + The trigger id of the workflow trigger config. If both trigger_id + and client_id is present, the workflow is executed from the start + tasks provided by the matching trigger config otherwise it is + executed from the default start tasks. type: string - description: Pointer to the task config it used for execution. - taskExecutionState: - description: The execution state of this task. + replayInfo: + description: Replay info for the execution + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo + snapshotNumber: + description: Workflow snapshot number. + format: int64 + type: string + postMethod: + enum: + - UNSPECIFIED + - POST + - POST_TO_QUEUE + - SCHEDULE + - POST_BY_EVENT_CONFIG_ID + - POST_WITH_EVENT_DETAILS + description: The ways user posts this event. type: string enumDescriptions: - - Default value. - - >- - Task is waiting for its precondition tasks to finish to start the - execution. - - Task is under processing. - - >- - Task execution successfully finished. There's no more change after - this state. - - Task execution failed. There's no more change after this state. - - >- - Task execution failed and cause the whole integration execution to - fail immediately. There's no more change after this state. - - Task execution failed and waiting for retry. - - >- - Task execution skipped. This happens when its precondition wasn't - met, or the integration execution been canceled before reach to - the task. There's no more changes after this state. - - >- - Task execution canceled when in progress. This happens when - integration execution been canceled or any other task fall in - fatal state. - - >- - Task is waiting for its dependency tasks' rollback to finish to - start its rollback. - - Task is rolling back. - - >- - Task is rolled back. This is the state we will set regardless of - rollback succeeding or failing. - - >- - Task is a SuspensionTask which has executed once, creating a - pending suspension. + - '' + - '' + - '' + - '' + - '' + - '' + lastModifiedTime: + description: Auto-generated. + type: string + format: int64 + requestParams: + description: Event parameters come in as part of the request. + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + eventExecutionInfoId: + type: string + description: Auto-generated primary key. + workflowId: + type: string + description: Required. Pointer to the workflow it is executing. + integrationVersionUserLabel: + description: User-defined label that annotates the executed integration version. + type: string + product: enum: - - TASK_EXECUTION_STATE_UNSPECIFIED - - PENDING_EXECUTION - - IN_PROCESS - - SUCCEED - - FAILED - - FATAL - - RETRY_ON_HOLD - - SKIPPED - - CANCELLED - - PENDING_ROLLBACK - - ROLLBACK_IN_PROCESS - - ROLLEDBACK - - SUSPENDED - taskAttemptStats: - description: Status for the current task execution attempt. + - UNSPECIFIED_PRODUCT + - IP + - APIGEE + - SECURITY + description: >- + Which Google product the execution_info belongs to. If not set, the + execution_info belongs to Integration Platform by default. + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + id: EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo + GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest: + id: GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest + description: Request for the ReplaceServiceAccount rpc + type: object + properties: + runAsServiceAccount: + type: string + description: 'Required. REQUIRED: Run-as service account to be updated' + GoogleCloudIntegrationsV1alphaListTemplatesResponse: + id: GoogleCloudIntegrationsV1alphaListTemplatesResponse + type: object + properties: + nextPageToken: + description: The token used to retrieve the next page results. + type: string + templates: type: array + description: List of templates retrieved. items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAttemptStats' - GoogleCloudIntegrationsV1alphaResolveSuspensionResponse: - properties: {} - id: GoogleCloudIntegrationsV1alphaResolveSuspensionResponse - type: object - description: Response for Suspensions.ResolveSuspensions. - EnterpriseCrmFrontendsEventbusProtoIntParameterArray: - id: EnterpriseCrmFrontendsEventbusProtoIntParameterArray + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + description: Response for a request to list templates + GoogleCloudIntegrationsV1alphaUnshareTemplateRequest: + description: Request to Unshare template + id: GoogleCloudIntegrationsV1alphaUnshareTemplateRequest type: object properties: - intValues: - type: array + resourceNames: items: type: string - format: int64 - GoogleCloudIntegrationsV1alphaServiceAccountCredentials: - description: >- - Represents the service account which can be used to generate access - token for authenticating the service call. - type: object - id: GoogleCloudIntegrationsV1alphaServiceAccountCredentials + description: >- + Optional. Project name resources to unshare the template. The + project names is expected in resource format Ex: + projects/{project-number} + type: array + EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry: properties: - scope: + dataType: + enum: + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' + description: The data type of the parameter. + protoDefPath: type: string - description: A space-delimited list of requested scope permissions. - serviceAccount: description: >- - Name of the service account that has the permission to make the - request. + If the data type is of type proto or proto array, this field needs + to be populated with the fully qualified proto name. This message, + for example, would be + "enterprise.crm.frontends.eventbus.proto.WorkflowParameterEntry". + jsonSchema: + description: >- + This schema will be used to validate runtime JSON-typed values of + this parameter. type: string - GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest: - id: GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest - description: 'The request for scheduling an integration. Next available id: 11' - properties: - scheduleTime: - format: google-datetime + attributes: + description: Metadata information about the parameters. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoAttributes' + key: type: string description: >- - The time that the integration should be executed. If the time is - less or equal to the current time, the integration is executed - immediately. - userGeneratedExecutionId: + Key is used to retrieve the corresponding parameter value. This + should be unique for a given fired event. These parameters must be + predefined in the workflow definition. + containsLargeData: + type: boolean + description: >- + Indicates whether this variable contains large data and need to be + uploaded to Cloud Storage. + inOutType: + type: string + enum: + - IN_OUT_TYPE_UNSPECIFIED + - IN + - OUT + - IN_OUT + description: Specifies the input/output type for the parameter. + enumDescriptions: + - '' + - >- + Input parameters for the workflow. EventBus validates that these + parameters exist in the workflows before execution. + - >- + Output Parameters for the workflow. EventBus will only return the + workflow parameters tagged with OUT in the response back. + - >- + Input or Output Parameters. These can be used as both input and + output. EventBus will validate for the existence of these + parameters before execution and will also return this parameter + back in the response. + protoDefName: type: string description: >- - Optional. This is a unique id provided by the method caller. If - provided this will be used as the execution_id when a new execution - info is created. This is a string representation of a UUID. Must - have no more than 36 characters and contain only alphanumeric - characters and hyphens. - requestId: + The name of the protobuf type if the parameter has a protobuf data + type. + producer: + type: string + defaultValue: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType description: >- - This is used to de-dup incoming request: if the duplicate request - was detected, the response from the previous execution is returned. + Default values for the defined keys. Each value can either be + string, int, double or any proto message or a serialized object. + producedBy: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNodeIdentifier' + description: >- + The identifier of the node (TaskConfig/TriggerConfig) this parameter + was produced by, if it is a transient param or a copy of an input + param. + required: + type: boolean + isTransient: + type: boolean + description: Whether this parameter is a transient parameter. + description: + description: Optional. The description about the parameter + type: string + name: type: string - inputParameters: - description: Optional. Input parameters used by integration execution. - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - parameterEntries: - type: array description: >- - Parameters are a part of Event and can be used to communicate - between different tasks that are part of the same integration - execution. - deprecated: true + The name (without prefix) to be displayed in the UI for this + parameter. E.g. if the key is "foo.bar.myName", then the name would + be "myName". + children: items: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry - parameters: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' - deprecated: true - description: Passed in as parameters to each integration execution. - triggerId: + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry description: >- - Required. Matched against all {@link TriggerConfig}s across all - integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id) - type: string + Child parameters nested within this parameter. This field only + applies to protobuf parameters + type: array type: object - GoogleCloudIntegrationsV1alphaListIntegrationsResponse: - id: GoogleCloudIntegrationsV1alphaListIntegrationsResponse - description: Response for ListIntegrations. + id: EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry + EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables: + description: Variables names mapped to api trigger. properties: - nextPageToken: - type: string - description: The next page token for the response. - integrations: + names: items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaIntegration' + type: string type: array - description: The integrations which match the request. - type: object - GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest: - description: Request for the ReplaceServiceAccount rpc - id: GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest - properties: - runAsServiceAccount: - type: string - description: 'Required. REQUIRED: Run-as service account to be updated' - type: object - GoogleCloudIntegrationsV1alphaProvisionClientRequest: - type: object - id: GoogleCloudIntegrationsV1alphaProvisionClientRequest - properties: - skipCpProvision: - type: boolean - description: Optional. Indicates if skip CP provision or not - provisionGmek: - type: boolean - description: >- - Optional. Deprecated. Indicates provision with GMEK or CMEK. This - field is deprecated and the provision would always be GMEK if - cloud_kms_config is not present in the request. - deprecated: true - createSampleWorkflows: - type: boolean - description: >- - Optional. Indicates if sample workflow should be created along with - provisioning - runAsServiceAccount: - description: >- - Optional. User input run-as service account, if empty, will bring up - a new default service account - type: string - cloudKmsConfig: - description: >- - Optional. OPTIONAL: Cloud KMS config for AuthModule to - encrypt/decrypt credentials. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCloudKmsConfig' - description: Request for the Provision rpc - GoogleCloudIntegrationsV1alphaListSuspensionsResponse: + description: Optional. List of variable names. + id: EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables type: object - description: Response for Suspensions.ListSuspensions. - id: GoogleCloudIntegrationsV1alphaListSuspensionsResponse - properties: - nextPageToken: - description: Token to retrieve the next page of results. - type: string - suspensions: - description: >- - The suspensions for the relevant execution which the caller has - permissions to view and resolve. + EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray: + type: object + properties: + doubleValues: items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuspension' + format: double + type: number type: array - EnterpriseCrmEventbusProtoJsonFunction: + id: EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray + EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList: + id: EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList properties: - functionName: + filterType: type: string + enum: + - DEFAULT_INCLUSIVE + - EXCLUSIVE enumDescriptions: - '' - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - GET_PROPERTY - - GET_ELEMENT - - APPEND_ELEMENT - - SIZE - - SET_PROPERTY - - FLATTEN - - FLATTEN_ONCE - - MERGE - - TO_STRING - - TO_INT - - TO_DOUBLE - - TO_BOOLEAN - - TO_PROTO - - TO_STRING_ARRAY - - TO_INT_ARRAY - - TO_DOUBLE_ARRAY - - TO_PROTO_ARRAY - - TO_BOOLEAN_ARRAY - - REMOVE_PROPERTY - - RESOLVE_TEMPLATE - - EQUALS - - FOR_EACH - - FILTER_ELEMENTS - id: EnterpriseCrmEventbusProtoJsonFunction + enumStrings: + type: array + items: + type: string type: object - EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage: - id: EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage + description: List of error enums for alerts. + GoogleCloudIntegrationsV1alphaLiftSuspensionRequest: + description: Request for lift Suspension + properties: + suspensionResult: + description: >- + User passed in suspension result and will be used to control + workflow execution branching behavior by setting up corresponnding + edge condition with suspension result. For example, if you want to + lift the suspension, you can pass "Approved", or if you want to + reject the suspension and terminate workfloe execution, you can pass + "Rejected" and terminate the workflow execution with configuring the + edge condition. + type: string + id: GoogleCloudIntegrationsV1alphaLiftSuspensionRequest type: object + GoogleCloudConnectorsV1Destination: properties: - parameters: + port: + format: int32 + type: integer + description: >- + The port is the target port number that is accepted by the + destination. + serviceAttachment: + type: string + description: >- + PSC service attachments. Format: + projects/*/regions/*/serviceAttachments/* + deprecated: true + host: + type: string + description: For publicly routable host. + id: GoogleCloudConnectorsV1Destination + type: object + GoogleCloudIntegrationsV1alphaExecutionSnapshot: + properties: + executionSnapshotMetadata: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata + description: Metadata of the execution snapshot. + taskExecutionDetails: items: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParamSpecEntry + #/components/schemas/GoogleCloudIntegrationsV1alphaTaskExecutionDetails + description: All of the task execution details at the given point of time. type: array - GoogleCloudIntegrationsV1alphaCloudLoggingDetails: + checkpointTaskNumber: + description: >- + Indicates "after which checkpoint task's execution" this snapshot is + taken. + type: string + params: + description: Parameters used during the execution. + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + id: GoogleCloudIntegrationsV1alphaExecutionSnapshot + type: object + description: Contains the snapshot of the execution for a given checkpoint. + GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails: + id: GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails properties: - enableCloudLogging: + integrationDescription: + type: string description: >- - Optional. Status of whether Cloud Logging is enabled or not for the - integration version getting executed. - type: boolean - cloudLoggingSeverity: + Optional. Description of the sub integration which would be created + via templates. + integration: type: string - enumDescriptions: - - Unspecified - - >- - If Severity selected is `INFO`, then all the Integration Execution - States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, - `ERROR`, `CANCELLED`) will be sent to Cloud Logging. - - >- - If Severity selected is `ERROR`, then only the following - Integration Execution States (`ERROR`, `CANCELLED`) will be sent - to Cloud Logging. - - >- - If Severity selected is `WARNING`, then only the following - Integration Execution States (`ERROR`, `CANCELLED`) will be sent - to Cloud Logging. - enum: - - CLOUD_LOGGING_SEVERITY_UNSPECIFIED - - INFO - - ERROR - - WARNING description: >- - Optional. Severity selected by the customer for the logs to be sent - to Cloud Logging, for the integration version getting executed. - id: GoogleCloudIntegrationsV1alphaCloudLoggingDetails + Required. Name of the sub integration which would be created via + templates. type: object - description: Cloud Logging details for execution info - GoogleCloudIntegrationsV1alphaParameterMapEntry: + description: Sub Integration which would be created via templates. + EnterpriseCrmEventbusProtoProtoFunction: type: object - properties: - key: - description: Key of the map entry. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMapField' - value: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMapField' - description: Value of the map entry. - description: Entry is a pair of key and value. - id: GoogleCloudIntegrationsV1alphaParameterMapEntry - EnterpriseCrmEventbusProtoDoubleFunction: - id: EnterpriseCrmEventbusProtoDoubleFunction properties: functionName: - type: string - enum: - - UNSPECIFIED - - TO_JSON - - TO_STRING - - ADD - - SUBTRACT - - MULTIPLY - - DIVIDE - - EXPONENT - - ROUND - - FLOOR - - CEIL - - GREATER_THAN - - LESS_THAN - - EQUALS - - GREATER_THAN_EQUALS - - LESS_THAN_EQUALS - - MOD enumDescriptions: - '' - '' @@ -4019,527 +3874,834 @@ components: - '' - '' - '' - - '' - - '' - type: object - GoogleCloudIntegrationsV1alphaImportTemplateResponse: - id: GoogleCloudIntegrationsV1alphaImportTemplateResponse - type: object - properties: - integrationVersion: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - description: IntegrationVersion after the import. - subIntegrationVersions: - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - description: Sub integration versions which are imported. - type: array - description: Response for import template - EnterpriseCrmEventbusProtoTaskMetadataAdmin: + type: string + enum: + - UNSPECIFIED + - GET_STRING_SUBFIELD + - GET_INT_SUBFIELD + - GET_DOUBLE_SUBFIELD + - GET_BOOLEAN_SUBFIELD + - GET_STRING_ARRAY_SUBFIELD + - GET_INT_ARRAY_SUBFIELD + - GET_DOUBLE_ARRAY_SUBFIELD + - GET_BOOLEAN_ARRAY_SUBFIELD + - GET_PROTO_ARRAY_SUBFIELD + - GET_PROTO_SUBFIELD + - TO_JSON + - GET_BYTES_SUBFIELD_AS_UTF_8_STRING + - GET_BYTES_SUBFIELD_AS_PROTO + - EQUALS + id: EnterpriseCrmEventbusProtoProtoFunction + GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest: type: object - id: EnterpriseCrmEventbusProtoTaskMetadataAdmin - description: >- - Admins are owners of a Task, and have all permissions on a particular - task identified by the task name. By default, Eventbus periodically - scans all task metadata and syncs (adds) any new admins defined here to - Zanzibar. properties: - googleGroupEmail: - type: string - userEmail: + ignoreErrorIfNoActiveWorkflow: + description: >- + Optional. Flag to determine whether clients would suppress a warning + when no ACTIVE workflows are not found. If this flag is set to be + true, an error will not be thrown if the requested trigger_id or + client_id is not found in any ACTIVE workflow. Otherwise, the error + is always thrown. The flag is set to be false by default. + type: boolean + testMode: + description: >- + Optional. Sets test mode in {@link + enterprise/crm/eventbus/event_message.proto}. + type: boolean + requestId: + description: >- + Optional. This is used to de-dup incoming request: if the duplicate + request was detected, the response from the previous execution is + returned. Must have no more than 36 characters and contain only + alphanumeric characters and hyphens. type: string - GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials: - type: object - id: GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials - properties: - scope: + triggerId: type: string - description: A space-delimited list of requested scope permissions. - clientSecret: - description: The client's secret. + description: >- + Matched against all {@link TriggerConfig}s across all workflows. + i.e. TriggerConfig.trigger_id.equals(trigger_id) Required. + workflowName: type: string - tokenParams: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' - description: Token parameters for the auth request. - clientId: + description: >- + Optional. If provided, the workflow_name is used to filter all the + matched workflows having same trigger_id+client_id. A combination of + trigger_id, client_id and workflow_name identifies a unique + workflow. + scheduledTime: + description: >- + Optional. Time in milliseconds since epoch when the given event + would be scheduled. type: string - description: The client's ID. - tokenEndpoint: + format: int64 + parameters: + description: Passed in as parameters to each workflow execution. Optional. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' + quotaRetryCount: description: >- - The token endpoint is used by the client to obtain an access token - by presenting its authorization grant or refresh token. + Optional. This is a field to see the quota retry count for + integration execution + type: integer + format: int32 + priority: + enum: + - UNSPCIFIED + - SHEDDABLE + - SHEDDABLE_PLUS + - CRITICAL + - CRITICAL_PLUS + description: >- + The request priority this request should be processed at. For + internal users: type: string - accessToken: - description: Access token fetched from the authorization server. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAccessToken' - requestType: - description: Represent how to pass parameters to fetch access token enumDescriptions: - - Unspecified request type - - To pass all the parameters in post body. - - To pass all the parameters as a part of query parameter. + - Unspecified - >- - To pass client id and client secret as base 64 encoding of - client_id:client_password and rest parameters in post body. + Frequent partial and occasional full unavailability is expected + and not pageable. * Requests to this band will be shed before all + other requests. * This is the default for async calls sent from + batch jobs. + - >- + Partial unavailability is expected and is not necessarily + pageable. * Requests to this band will be shed before any critical + traffic. * This is the default for async calls sent from + production jobs. + - >- + Any outage is a pageable event. * During a production outage + requests in this band will only be shed before CRITICAL_PLUS. * + This is the default for sync calls sent from production jobs. + - >- + Any outage is a pageable event. * The guideline is for < 10% of + requests to a service to be in this band. * During a production + outage requests in this band will be prioritized above all others. + * Opt-in to CRITICAL_PLUS when your workflow triggers by human. + clientId: + type: string + description: >- + Optional. If the client id is provided, then the combination of + trigger id and client id is matched across all the workflows. If the + client id is not provided, then workflows with matching trigger id + are executed for each client id in the {@link TriggerConfig}. For + Api Trigger, the client id is required and will be validated against + the allowed clients. + resourceName: + type: string + description: >- + This field is only required when using Admin Access. The resource + name of target, or the parent resource name. For example: + "projects/*/locations/*/integrations/*" + userGeneratedExecutionId: + description: >- + This is a unique id provided by the method caller. If provided this + will be used as the execution_id when a new execution info is + created. This is a string representation of a UUID. Must have no + more than 36 characters and contain only alphanumeric characters and + hyphens. type: string - enum: - - REQUEST_TYPE_UNSPECIFIED - - REQUEST_BODY - - QUERY_PARAMETERS - - ENCODED_HEADER description: >- - For client credentials grant, the client sends a POST request with - grant_type as 'client_credentials' to the authorization server. The - authorization server will respond with a JSON object containing the - access token. - EnterpriseCrmEventbusProtoConditionResult: + LINT.IfChange Use this request to post all workflows associated with a + given trigger id. Next available id: 13 + id: GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest + GoogleCloudIntegrationsV1alphaUploadTemplateRequest: type: object - id: EnterpriseCrmEventbusProtoConditionResult + id: GoogleCloudIntegrationsV1alphaUploadTemplateRequest properties: - nextTaskNumber: + content: + description: Required. The textproto of the template. type: string - description: the next task number. - currentTaskNumber: - description: the current task number. + fileFormat: + enumDescriptions: + - Unspecified file format + - JSON File Format + - YAML File Format type: string - result: - type: boolean - description: >- - the result comes out after evaluate the combined condition. True if - there's no combined condition specified. - description: Contains the combined condition calculation results. - EnterpriseCrmEventbusProtoFunctionType: - properties: - booleanArrayFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBooleanArrayFunction' - booleanFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBooleanFunction' - doubleFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleFunction' - jsonFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoJsonFunction' - stringFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringFunction' - intArrayFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntArrayFunction' - protoArrayFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoProtoArrayFunction' - intFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntFunction' - baseFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBaseFunction' - description: LINT.IfChange - stringArrayFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringArrayFunction' - doubleArrayFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleArrayFunction' - protoFunction: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoProtoFunction' + description: Required. File format for upload request. + enum: + - FILE_FORMAT_UNSPECIFIED + - JSON + - YAML + description: Request for UploadTemplate. + EnterpriseCrmEventbusProtoSerializedObjectParameter: + id: EnterpriseCrmEventbusProtoSerializedObjectParameter type: object - id: EnterpriseCrmEventbusProtoFunctionType - EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex: properties: - regex: - description: The regex applied to the input value(s). + objectValue: + format: byte type: string - exclusive: - type: boolean - description: >- - Whether the regex matcher is applied exclusively (if true, matching - values will be rejected). - id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex - description: Rule used to validate strings. - type: object - EnterpriseCrmEventbusProtoParameterMapEntry: - id: EnterpriseCrmEventbusProtoParameterMapEntry + GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest: properties: - key: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterMapField' - value: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterMapField' - description: Entry is a pair of key and value. + appsScriptProject: + type: string + description: The name of the Apps Script project to be created. + authConfigId: + type: string + description: >- + The auth config id necessary to fetch the necessary credentials to + create the project for external clients + id: GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest type: object - GoogleCloudIntegrationsV1alphaSfdcInstance: + description: Request for CreateAppsScriptProject rpc call. + EnterpriseCrmEventbusProtoCondition: + description: Condition that uses `operator` to evaluate the key against the value. properties: - sfdcOrgId: - description: The SFDC Org Id. This is defined in salesforce. + eventPropertyKey: + description: >- + Key that's evaluated against the `value`. Please note the data type + of the runtime value associated with the key should match the data + type of `value`, else an IllegalArgumentException is thrown. type: string - serviceAuthority: + value: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoValueType' + description: Value that's checked for the key. + operator: type: string + enum: + - UNSET + - EQUALS + - CONTAINS + - LESS_THAN + - GREATER_THAN + - EXISTS + - DOES_NOT_EXIST + - IS_EMPTY + - IS_NOT_EMPTY description: >- - URL used for API calls after authentication (the login authority is - configured within the referenced AuthConfig). - authConfigId: - items: - type: string - description: A list of AuthConfigs that can be tried to open the channel to SFDC - type: array - deleteTime: + Operator used to evaluate the condition. Please note that an + operator with an inappropriate key/value operand will result in + IllegalArgumentException, e.g. CONTAINS with boolean key/value pair. + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + type: object + id: EnterpriseCrmEventbusProtoCondition + deprecated: true + GoogleCloudIntegrationsV1alphaIntegrationAlertConfig: + description: >- + Message to be used to configure custom alerting in the {@code + EventConfig} protos for an event. + type: object + properties: + disableAlert: description: >- - Output only. Time when the instance was deleted. Empty if not - deleted. - type: string - readOnly: true - format: google-datetime - updateTime: - readOnly: true + Set to false by default. When set to true, the metrics are not + aggregated or pushed to Monarch for this integration alert. + type: boolean + thresholdType: + enumDescriptions: + - Default. + - >- + Note that this field will only trigger alerts if the integration + specifying it runs at least once in 24 hours (which is our + in-memory retention period for monarch streams). Also note that + `aggregation_period` for this alert configuration must be less + than 24 hours. Min value threshold. + - Max value threshold. type: string - format: google-datetime - description: Output only. Time when the instance was last updated + description: >- + The threshold type, whether lower(expected_min) or + upper(expected_max), for which this alert is being configured. If + value falls below expected_min or exceeds expected_max, an alert + will be fired. + enum: + - THRESHOLD_TYPE_UNSPECIFIED + - EXPECTED_MIN + - EXPECTED_MAX displayName: type: string - description: User selected unique name/alias to easily reference an instance. - createTime: - format: google-datetime - readOnly: true - description: Output only. Time when the instance is created + description: >- + Name of the alert. This will be displayed in the alert subject. If + set, this name should be unique within the scope of the integration. + alertThreshold: + type: integer + format: int32 + description: >- + For how many contiguous aggregation periods should the expected min + or max be violated for the alert to be fired. + onlyFinalAttempt: + description: >- + For either events or tasks, depending on the type of alert, count + only final attempts, not retries. + type: boolean + aggregationPeriod: + description: >- + The period over which the metric value should be aggregated and + evaluated. Format is , where integer should be a positive integer + and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, + day, week). For an EXPECTED_MIN threshold, this aggregation_period + must be lesser than 24 hours. type: string - name: + durationThreshold: + description: >- + Should be specified only for *AVERAGE_DURATION and + *PERCENTILE_DURATION metrics. This member should be used to specify + what duration value the metrics should exceed for the alert to + trigger. type: string + format: google-duration + thresholdValue: description: >- - Resource name of the SFDC instance - projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}. - description: + The metric value, above or below which the alert should be + triggered. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue + metricType: + enum: + - METRIC_TYPE_UNSPECIFIED + - EVENT_ERROR_RATE + - EVENT_WARNING_RATE + - TASK_ERROR_RATE + - TASK_WARNING_RATE + - TASK_RATE + - EVENT_RATE + - EVENT_AVERAGE_DURATION + - EVENT_PERCENTILE_DURATION + - TASK_AVERAGE_DURATION + - TASK_PERCENTILE_DURATION + enumDescriptions: + - >- + The default value. Metric type should always be set to one of the + other non-default values, otherwise it will result in an + INVALID_ARGUMENT error. + - >- + Specifies alerting on the rate of errors for the enclosing + integration. + - >- + Specifies alerting on the rate of warnings for the enclosing + integration. Warnings use the same enum values as errors. + - >- + Specifies alerting on the rate of errors for any task in the + enclosing integration. + - >- + Specifies alerting on the rate of warnings for any task in the + enclosing integration. + - >- + Specifies alerting on the rate of executions over all tasks in the + enclosing integration. + - >- + Specifies alerting on the number of events executed in the given + aggregation_period. + - >- + Specifies alerting on the average duration of executions for this + integration. + - >- + Specifies alerting on the duration value of a particular + percentile of integration executions. E.g. If 10% or more of the + integration executions have durations above 5 seconds, alert. + - >- + Specifies alerting on the average duration of any task in the + enclosing integration, + - >- + Specifies alerting on the duration value of a particular + percentile of any task executions within the enclosing + integration. E.g. If 10% or more of the task executions in the + integration have durations above 5 seconds, alert. type: string - description: A description of the sfdc instance. - id: GoogleCloudIntegrationsV1alphaSfdcInstance - description: >- - The SfdcInstance resource use to hold channels and connection config - data. - type: object - GoogleCloudIntegrationsV1alphaExecutionSnapshot: + description: The type of metric. + id: GoogleCloudIntegrationsV1alphaIntegrationAlertConfig + GoogleCloudIntegrationsV1alphaTaskExecutionDetails: type: object - id: GoogleCloudIntegrationsV1alphaExecutionSnapshot + id: GoogleCloudIntegrationsV1alphaTaskExecutionDetails properties: - params: - description: Parameters used during the execution. - type: object - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - taskExecutionDetails: - type: array - description: All of the task execution details at the given point of time. - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTaskExecutionDetails - checkpointTaskNumber: + taskNumber: type: string - description: >- - Indicates "after which checkpoint task's execution" this snapshot is - taken. - executionSnapshotMetadata: - description: Metadata of the execution snapshot. - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata - description: Contains the snapshot of the execution for a given checkpoint. - GoogleCloudIntegrationsV1alphaShareTemplateRequest: - id: GoogleCloudIntegrationsV1alphaShareTemplateRequest - properties: - resourceNames: - description: >- - Optional. Project name resources to share the template. The project - names is expected in resource format Ex: projects/{project-number} - or organization/{org-id} - type: array + description: Pointer to the task config it used for execution. + taskExecutionState: + enumDescriptions: + - Default value. + - >- + Task is waiting for its precondition tasks to finish to start the + execution. + - Task is under processing. + - >- + Task execution successfully finished. There's no more change after + this state. + - Task execution failed. There's no more change after this state. + - >- + Task execution failed and cause the whole integration execution to + fail immediately. There's no more change after this state. + - Task execution failed and waiting for retry. + - >- + Task execution skipped. This happens when its precondition wasn't + met, or the integration execution been canceled before reach to + the task. There's no more changes after this state. + - >- + Task execution canceled when in progress. This happens when + integration execution been canceled or any other task fall in + fatal state. + - >- + Task is waiting for its dependency tasks' rollback to finish to + start its rollback. + - Task is rolling back. + - >- + Task is rolled back. This is the state we will set regardless of + rollback succeeding or failing. + - >- + Task is a SuspensionTask which has executed once, creating a + pending suspension. + enum: + - TASK_EXECUTION_STATE_UNSPECIFIED + - PENDING_EXECUTION + - IN_PROCESS + - SUCCEED + - FAILED + - FATAL + - RETRY_ON_HOLD + - SKIPPED + - CANCELLED + - PENDING_ROLLBACK + - ROLLBACK_IN_PROCESS + - ROLLEDBACK + - SUSPENDED + type: string + description: The execution state of this task. + taskAttemptStats: items: - type: string - description: Request to Share template - type: object - GoogleCloudIntegrationsV1alphaAuthToken: - id: GoogleCloudIntegrationsV1alphaAuthToken + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAttemptStats' + type: array + description: Status for the current task execution attempt. + description: Contains the details of the execution of this task. + EnterpriseCrmEventbusProtoNotification: + id: EnterpriseCrmEventbusProtoNotification type: object properties: - type: - type: string - description: Authentication type, e.g. "Basic", "Bearer", etc. - token: + escalatorQueue: type: string - description: The token for the auth type. - description: >- - The credentials to authenticate a user agent with a server that is put - in HTTP Authorization request header. - EnterpriseCrmFrontendsEventbusProtoRollbackStrategy: - id: EnterpriseCrmFrontendsEventbusProtoRollbackStrategy - description: 'Next available id: 4' + request: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoCustomSuspensionRequest + description: >- + If the out-of-the-box email/pubsub notifications are not suitable + and custom logic is required, fire a workflow containing all info + needed to notify users to resume execution. + emailAddress: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoAddress' + pubsubTopic: + type: string + buganizerNotification: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBuganizerNotification' + EnterpriseCrmEventbusProtoParamSpecEntryValidationRule: + id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRule + properties: + intRange: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange + doubleRange: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange + stringRegex: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex type: object + GoogleCloudIntegrationsV1alphaReplayExecutionResponse: + id: GoogleCloudIntegrationsV1alphaReplayExecutionResponse properties: - rollbackTaskImplementationClassName: + executionId: description: >- - Required. This is the name of the task that needs to be executed - upon rollback of this task. + Next ID: 4 The id of the execution corresponding to this run of the + integration. type: string - parameters: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - description: Optional. The customized parameters the user can pass to this task. - taskNumbersToRollback: - type: array - items: - type: string + outputParameters: + type: object description: >- - Required. These are the tasks numbers of the tasks whose - `rollback_strategy.rollback_task_implementation_class_name` needs to - be executed upon failure of this task. - GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse: - description: The response for executing an integration. - properties: - executionInfoIds: - type: array - description: The execution info id for the executed integrations. - items: - type: string + OUTPUT parameters in format of Map. Where Key is the name of the + parameter. The parameters would only be present in case of + synchrounous execution. Note: Name of the system generated + parameters are wrapped by backtick(`) to distinguish them from the + user defined parameters. + additionalProperties: + type: any + description: Properties of the object. + replayedExecutionId: + type: string + description: The execution id which is replayed. type: object - id: GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse - GoogleCloudIntegrationsV1alphaClientConfig: - description: The configuration information for the Client + description: Response for replaying an execution. + GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse: + type: object + properties: {} + description: Response for PublishIntegrationVersion. + id: GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse + GoogleCloudIntegrationsV1alphaTaskConfig: type: object + id: GoogleCloudIntegrationsV1alphaTaskConfig properties: - enableVariableMasking: - description: >- - Optional. True if variable masking feature should be turned on for - this region - type: boolean - runAsServiceAccount: + errorCatcherId: type: string description: >- - Default run-as service account email, set up during project - provision time, that will be used to generate auth token to be used - in Connector task, Rest caller task, Cloud function task and - Subworkflows. - createTime: - type: string - format: google-datetime - description: The timestamp when the client was first created. - projectId: - description: The GCP project id of the client associated with + Optional. Optional Error catcher id of the error catch flow which + will be executed when execution error happens in the task + displayName: type: string - description: + description: >- + Optional. User-provided label that is attached to this TaskConfig in + the UI. + externalTaskType: + description: Optional. External task type of the task type: string - description: Description of what the client is used for - billingType: - description: Indicates the billing type of the client enumDescriptions: - - Unspecified billing type - - A trial org provisioned through Apigee Provisioning Wizard - - Subscription based users of Apigee - - Consumption based users of IP + - Default value. External task type is not specified + - Tasks belongs to the normal task flows + - Task belongs to the error catch task flows enum: - - BILLING_TYPE_UNSPECIFIED - - BILLING_TYPE_APIGEE_TRIALS - - BILLING_TYPE_APIGEE_SUBSCRIPTION - - BILLING_TYPE_PAYG - type: string - isGmek: - type: boolean - description: Optional. Indicates the client is provisioned with CMEK or GMEK. - region: - description: The region the client is linked to. - type: string - cloudKmsConfig: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCloudKmsConfig' - description: Cloud KMS config for Auth Module to encrypt/decrypt credentials. - enableInternalIp: - type: boolean + - EXTERNAL_TASK_TYPE_UNSPECIFIED + - NORMAL_TASK + - ERROR_TASK + synchronousCallFailurePolicy: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' description: >- - Optional. Indicates the client enables internal IP feature, this is - applicable for internal clients only. - clientState: - enum: - - CLIENT_STATE_UNSPECIFIED - - CLIENT_STATE_ACTIVE - - CLIENT_STATE_DISABLED - description: Indicates the activity state the client - enumDescriptions: - - The client state is unspecified - - The client is active and able to make calls to the IP APIs - - The client is disabled and will soon be deleted - type: string - p4ServiceAccount: - description: The service agent associated with this client - type: string - id: - type: string - description: Globally unique ID (project_id + region) - id: GoogleCloudIntegrationsV1alphaClientConfig - EnterpriseCrmEventbusProtoTeardownTaskConfig: - type: object - properties: - teardownTaskImplementationClassName: - description: Required. Implementation class name. - type: string + Optional. Determines the number of times the task will be retried on + failure and with what retry strategy. This is applicable for + synchronous calls to Eventbus alone (Post). + nextTasks: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaNextTask' + type: array + description: >- + Optional. The set of tasks that are next in line to be executed as + per the execution graph defined for the parent event, specified by + `event_config_id`. Each of these next tasks are executed only if the + condition associated with them evaluates to true. parameters: - description: The parameters the user can pass to this task. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' - name: + type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaEventParameter' + description: Optional. The customized parameters the user can pass to this task. + nextTasksExecutionPolicy: + type: string + enumDescriptions: + - Default. + - Execute all the tasks that satisfy their associated condition. + - Execute the first task that satisfies the associated condition. + enum: + - NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED + - RUN_ALL_MATCH + - RUN_FIRST_MATCH description: >- - Required. Unique identifier of the teardown task within this Config. - We use this field as the identifier to find next teardown tasks. + Optional. The policy dictating the execution of the next set of + tasks for the current task. + conditionalFailurePolicies: + description: >- + Optional. The list of conditional failure policies that will be + applied to the task in order. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaConditionalFailurePolicies + taskExecutionStrategy: type: string - properties: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventBusProperties' - creatorEmail: + description: Optional. The policy dictating the execution strategy of this task. + enumDescriptions: + - >- + Default. If the strategy is not set explicitly, it will default to + `WHEN_ALL_SUCCEED`. + - >- + Wait until all of its previous tasks finished execution, then + verify at least one of the edge conditions is met, and execute if + possible. This should be considered as WHEN_ALL_TASKS_SUCCEED. + - >- + Start execution as long as any of its previous tasks finished + execution and the corresponding edge condition is met (since we + will execute if only that succeeding edge condition is met). + - >- + Wait until all of its previous tasks finished execution, then + verify the all edge conditions are met and execute if possible. + enum: + - TASK_EXECUTION_STRATEGY_UNSPECIFIED + - WHEN_ALL_SUCCEED + - WHEN_ANY_SUCCEED + - WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED + failurePolicy: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' + description: >- + Optional. Determines the number of times the task will be retried on + failure and with what retry strategy. This is applicable for + asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.). + taskTemplate: type: string - description: The creator's email address. - nextTeardownTask: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNextTeardownTask' - id: EnterpriseCrmEventbusProtoTeardownTaskConfig - EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity: - id: EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity - properties: - emailAddress: + description: >- + Optional. Used to define task-template name if task is of type + task-template + taskId: type: string - gaiaId: + description: >- + Required. The identifier of this task within its parent event + config, specified by the client. This should be unique among all the + tasks belong to the same event config. We use this field as the + identifier to find next tasks (via field `next_tasks.task_id`). + task: + description: Optional. The name for the task. type: string - format: int64 - type: object - EnterpriseCrmEventbusProtoFailurePolicy: - properties: - retryStrategy: + successPolicy: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuccessPolicy' + description: >- + Optional. Determines what action to take upon successful task + completion. + description: + description: >- + Optional. User-provided description intended to give additional + business context about the task. type: string - enum: - - UNSPECIFIED - - IGNORE - - NONE - - FATAL - - FIXED_INTERVAL - - LINEAR_BACKOFF - - EXPONENTIAL_BACKOFF - - RESTART_WORKFLOW_WITH_BACKOFF + position: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCoordinate' + description: >- + Optional. Informs the front-end application where to draw this error + catcher config on the UI. + jsonValidationOption: enumDescriptions: - - '' - - >- - Ignores the failure of this task. The rest of the workflow will be - executed Assuming this task succeeded. - - >- - Causes a permanent failure of the task. However, if the last - task(s) of event was successfully completed despite the failure of - this task, it has no impact on the workflow. - - >- - Causes a permanent failure of the event. It is different from NONE - because this will mark the event as FAILED by shutting down the - event execution. - >- - The task will be retried from the failed task onwards after a - fixed delay. A max-retry count is required to be specified with - this strategy. A jitter is added to each exponential interval so - that concurrently failing tasks of the same type do not end up - retrying after the exact same exponential interval. - Max_num_retries and interval_in_seconds must be specified. - - >- - The task will be retried from the failed task onwards after a - fixed delay that linearly increases with each retry attempt. A - jitter is added to each exponential interval so that concurrently - failing tasks of the same type do not end up retrying after the - exact same exponential interval. A max-retry count is required to - be specified with this strategy. Max_num_retries and - interval_in_seconds must be specified. + As per the default behavior, no validation will be run. Will not + override any option set in a Task. + - Do not run any validation against JSON schemas. - >- - The task will be retried after an exponentially increasing period - of time with each failure. A jitter is added to each exponential - interval so that concurrently failing tasks of the same type do - not end up retrying after the exact same exponential interval. A - max-retry count is required to be specified with this strategy. - `max_num_retries` and `interval_in_seconds` must be specified. + Validate all potential input JSON parameters against schemas + specified in IntegrationParameter. - >- - The entire workflow will be restarted with the initial parameters - that were set when the event was fired. A max-retry count is - required to be specified with this strategy. `max_num_retries` and - `interval_in_seconds` must be specified. - description: Defines what happens to the task upon failure. - retryCondition: - type: string - description: >- - Optional. The retry condition that will be evaluated for this - failure policy with the corresponding retry strategy. - maxNumRetries: - format: int32 - type: integer - description: >- - Required if retry_strategy is FIXED_INTERVAL or - LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines - the number of times the task will be retried if failed. - intervalInSeconds: + Validate all potential output JSON parameters against schemas + specified in IntegrationParameter. + - Perform both PRE_EXECUTION and POST_EXECUTION validations. + enum: + - JSON_VALIDATION_OPTION_UNSPECIFIED + - SKIP + - PRE_EXECUTION + - POST_EXECUTION + - PRE_POST_EXECUTION description: >- - Required if retry_strategy is FIXED_INTERVAL or - LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines - the initial interval for backoff. + Optional. If set, overrides the option configured in the Task + implementation class. type: string - format: int64 - type: object - id: EnterpriseCrmEventbusProtoFailurePolicy description: >- - Policy that defines the task retry logic and failure type. If no - FailurePolicy is defined for a task, all its dependent tasks will not be - executed (i.e, a `retry_strategy` of NONE will be applied). - GoogleCloudIntegrationsV1alphaUploadTemplateResponse: - type: object - id: GoogleCloudIntegrationsV1alphaUploadTemplateResponse - properties: - template: - description: The uploaded Template - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' - description: Response for UploadTemplate. - EnterpriseCrmEventbusProtoTeardown: + The task configuration details. This is not the implementation of Task. + There might be multiple TaskConfigs for the same Task. + GoogleCloudIntegrationsV1alphaCloudLoggingDetails: properties: - teardownTaskConfigs: - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTeardownTaskConfig' - type: array - description: Required. - id: EnterpriseCrmEventbusProtoTeardown + enableCloudLogging: + description: >- + Optional. Status of whether Cloud Logging is enabled or not for the + integration version getting executed. + type: boolean + cloudLoggingSeverity: + description: >- + Optional. Severity selected by the customer for the logs to be sent + to Cloud Logging, for the integration version getting executed. + enum: + - CLOUD_LOGGING_SEVERITY_UNSPECIFIED + - INFO + - ERROR + - WARNING + type: string + enumDescriptions: + - Unspecified + - >- + If Severity selected is `INFO`, then all the Integration Execution + States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, + `ERROR`, `CANCELLED`) will be sent to Cloud Logging. + - >- + If Severity selected is `ERROR`, then only the following + Integration Execution States (`ERROR`, `CANCELLED`) will be sent + to Cloud Logging. + - >- + If Severity selected is `WARNING`, then only the following + Integration Execution States (`ERROR`, `CANCELLED`) will be sent + to Cloud Logging. + description: Cloud Logging details for execution info type: object - EnterpriseCrmEventbusProtoStringParameterArray: + id: GoogleCloudIntegrationsV1alphaCloudLoggingDetails + GoogleCloudConnectorsV1EventingRuntimeDataWebhookData: + description: WebhookData has details of webhook configuration. properties: - stringValues: + name: + type: string + readOnly: true + description: Output only. Name of the Webhook + nextRefreshTime: + readOnly: true + format: google-datetime + type: string + description: >- + Output only. Next webhook refresh time. Will be null if refresh is + not supported. + id: + readOnly: true + type: string + description: Output only. ID to uniquely identify webhook. + createTime: + description: Output only. Timestamp when the webhook was created. + type: string + format: google-datetime + readOnly: true + additionalVariables: + readOnly: true type: array + description: Output only. Additional webhook related field values. items: - type: string - id: EnterpriseCrmEventbusProtoStringParameterArray - type: object - GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse: + $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + updateTime: + format: google-datetime + readOnly: true + type: string + description: Output only. Timestamp when the webhook was last updated. type: object - id: GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse - description: Response for Creating Cloud Function rpc call. + id: GoogleCloudConnectorsV1EventingRuntimeDataWebhookData + GoogleCloudConnectorsV1ConfigVariable: properties: - triggerUrl: - description: The trigger url that will be returned + encryptionKeyValue: + $ref: '#/components/schemas/GoogleCloudConnectorsV1EncryptionKey' + description: Value is a Encryption Key. + intValue: + format: int64 type: string - EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray: - id: EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray - properties: - doubleValues: - items: - format: double - type: number - type: array - type: object - GoogleCloudIntegrationsV1alphaDeprovisionClientRequest: - properties: {} - description: Request for the Deprovision rpc - type: object - id: GoogleCloudIntegrationsV1alphaDeprovisionClientRequest - EnterpriseCrmEventbusProtoBooleanArrayFunction: + description: Value is an integer + boolValue: + description: Value is a bool. + type: boolean + key: + type: string + description: Key of the config variable. + stringValue: + type: string + description: Value is a string. + secretValue: + description: Value is a secret. + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + id: GoogleCloudConnectorsV1ConfigVariable type: object - id: EnterpriseCrmEventbusProtoBooleanArrayFunction + description: >- + ConfigVariable represents a configuration variable present in a + Connection. or AuthConfig. + CrmlogErrorCode: properties: - functionName: + commonErrorCode: + type: string + enumDeprecated: + - false + - true + - false + - false + - true + - true + - true + - false + - false + - true + - false + - false + - false + - false + - true + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false + - false enum: - - UNSPECIFIED - - GET - - APPEND - - SIZE - - TO_SET - - APPEND_ALL - - TO_JSON - - SET - - REMOVE - - REMOVE_AT - - CONTAINS - - FOR_EACH - - FILTER - type: string + - COMMON_ERROR_CODE_UNSPECIFIED + - INVALID_CREDENTIALS + - REQUIRED_FIELDS_MISSING + - INVALID_FIELDS + - BACKEND + - GENERAL + - INTERNAL + - IO_ERROR + - NOT_FOUND + - EVENT_BUS + - ALREADY_EXISTS + - CONCORD + - CONVERSION + - FLUME + - PERMISSION + - SALES_FORCE + - SPANNER + - UNIMPLEMENTED + - RELTIO + - WORKFLOW_NOT_FOUND + - QUOTA_THROTTLED + - QUOTA_ENQUEUED + - INVALID_QUOTA_CONFIGURATION + - TASK_NOT_FOUND + - EXECUTION_TIMEOUT + - INVALID_EVENT_EXECUTION_STATE + - INVALID_ATTRIBUTE + - MISSING_ATTRIBUTE + - CLIENT_UNAUTHORIZED_FOR_WORKFLOW + - INVALID_PARAMETER + - MISSING_PARAMETER + - UNAUTHROIZED_WORKFLOW_EDITOR_ACTION + - FAILED_PRECONDITION + - INVALID_CLIENT + - MISSING_CLIENT + - INVALID_WORKFLOW + - MISSING_QUOTA_CONFIGURATION + - UNHANDLED_TASK_ERROR + - SCRIPT_TASK_RUNTIME_ERROR + - RPC + - INVALID_PROTO + - UNHANDLED_EVENTBUS_ERROR + - INVALID_TASK_STATE + - TYPED_TASK_INVALID_INPUT_OPERATION + - TYPED_TASK_INVALID_OUTPUT_OPERATION + - VALIDATION_ERROR + - RESUME_ERROR + - APPS_SCRIPT_EXECUTION_ERROR + - INVALID_VECTOR_USER + - INFORMATICA + - RETRYABLE_TASK_ERROR + - INVALID_TENANT + - WRONG_TENANT + - INFORMATICA_BACKEND_UNAVAILABLE + - RPC_PERMISSION_DENIED + - SYNC_EVENTBUS_EXECUTION_TIMEOUT + - ASYNC_EVENTBUS_EXECUTION_TIMEOUT + - NOT_SUPPORTED_DATA_TYPE + - UNSANITIZED_USER_INPUT + - TRANSFORM_EXPRESSION_EVALUATION_ERROR + - HTTP_EXCEPTION + - EXECUTION_CANCELLED enumDescriptions: - '' - '' @@ -4554,690 +4716,776 @@ components: - '' - '' - '' - EnterpriseCrmEventbusProtoNextTask: - properties: - combinedConditions: - description: >- - Combined condition for this task to become an eligible next task. - Each of these combined_conditions are joined with logical OR. - DEPRECATED: use `condition` - deprecated: true - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCombinedCondition' - type: array - condition: - type: string - description: >- - Standard filter expression for this task to become an eligible next - task. - taskNumber: - type: string - description: Task number of the next task. - taskConfigId: - description: ID of the next task. - type: string - label: - type: string - description: User-provided label that is attached to this edge in the UI. - description: - type: string - description: >- - User-provided description intended to give more business context - about the next task edge or condition. - description: >- - The task that is next in line to be executed, if the condition specified - evaluated to true. - type: object - id: EnterpriseCrmEventbusProtoNextTask - GoogleCloudIntegrationsV1alphaTemplateBundle: - properties: - subIntegrationVersionTemplates: - description: >- - Optional. Sub integration templates which would be added along with - main integration. - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate - integrationVersionTemplate: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate - description: Required. Main integration templates of the template bundle. - id: GoogleCloudIntegrationsV1alphaTemplateBundle - description: Define the bundle of the template. + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - SYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use only. + - >- + ASYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use + only. This error will be counted as server availability error. + - '' + - '' + - '' + - '' + - '' + id: CrmlogErrorCode type: object - GoogleCloudIntegrationsV1alphaIntegrationAlertConfig: - id: GoogleCloudIntegrationsV1alphaIntegrationAlertConfig description: >- - Message to be used to configure custom alerting in the {@code - EventConfig} protos for an event. + Registered ids for errors, as "oneof" enums. Each task or logical + grouping of tasks may share the same enum. + EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats: type: object properties: - alertThreshold: - format: int32 - description: >- - For how many contiguous aggregation periods should the expected min - or max be violated for the alert to be fired. - type: integer - thresholdType: + endTime: type: string - enum: - - THRESHOLD_TYPE_UNSPECIFIED - - EXPECTED_MIN - - EXPECTED_MAX + format: int64 + description: The end time of the event execution for current attempt. + startTime: + format: int64 description: >- - The threshold type, whether lower(expected_min) or - upper(expected_max), for which this alert is being configured. If - value falls below expected_min or exceeds expected_max, an alert - will be fired. - enumDescriptions: - - Default. - - >- - Note that this field will only trigger alerts if the integration - specifying it runs at least once in 24 hours (which is our - in-memory retention period for monarch streams). Also note that - `aggregation_period` for this alert configuration must be less - than 24 hours. Min value threshold. - - Max value threshold. - durationThreshold: + The start time of the event execution for current attempt. This + could be in the future if it's been scheduled. type: string - format: google-duration - description: >- - Should be specified only for *AVERAGE_DURATION and - *PERCENTILE_DURATION metrics. This member should be used to specify - what duration value the metrics should exceed for the alert to - trigger. - thresholdValue: - description: >- - The metric value, above or below which the alert should be - triggered. - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue - metricType: - description: The type of metric. + id: EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats + GoogleCloudIntegrationsV1alphaClientConfig: + properties: + billingType: enum: - - METRIC_TYPE_UNSPECIFIED - - EVENT_ERROR_RATE - - EVENT_WARNING_RATE - - TASK_ERROR_RATE - - TASK_WARNING_RATE - - TASK_RATE - - EVENT_RATE - - EVENT_AVERAGE_DURATION - - EVENT_PERCENTILE_DURATION - - TASK_AVERAGE_DURATION - - TASK_PERCENTILE_DURATION + - BILLING_TYPE_UNSPECIFIED + - BILLING_TYPE_APIGEE_TRIALS + - BILLING_TYPE_APIGEE_SUBSCRIPTION + - BILLING_TYPE_PAYG enumDescriptions: - - >- - The default value. Metric type should always be set to one of the - other non-default values, otherwise it will result in an - INVALID_ARGUMENT error. - - >- - Specifies alerting on the rate of errors for the enclosing - integration. - - >- - Specifies alerting on the rate of warnings for the enclosing - integration. Warnings use the same enum values as errors. - - >- - Specifies alerting on the rate of errors for any task in the - enclosing integration. - - >- - Specifies alerting on the rate of warnings for any task in the - enclosing integration. - - >- - Specifies alerting on the rate of executions over all tasks in the - enclosing integration. - - >- - Specifies alerting on the number of events executed in the given - aggregation_period. - - >- - Specifies alerting on the average duration of executions for this - integration. - - >- - Specifies alerting on the duration value of a particular - percentile of integration executions. E.g. If 10% or more of the - integration executions have durations above 5 seconds, alert. - - >- - Specifies alerting on the average duration of any task in the - enclosing integration, - - >- - Specifies alerting on the duration value of a particular - percentile of any task executions within the enclosing - integration. E.g. If 10% or more of the task executions in the - integration have durations above 5 seconds, alert. + - Unspecified billing type + - A trial org provisioned through Apigee Provisioning Wizard + - Subscription based users of Apigee + - Consumption based users of IP + description: Indicates the billing type of the client type: string - aggregationPeriod: + runAsServiceAccount: type: string description: >- - The period over which the metric value should be aggregated and - evaluated. Format is , where integer should be a positive integer - and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, - day, week). For an EXPECTED_MIN threshold, this aggregation_period - must be lesser than 24 hours. - disableAlert: + Default run-as service account email, set up during project + provision time, that will be used to generate auth token to be used + in Connector task, Rest caller task, Cloud function task and + Subworkflows. + projectId: + type: string + description: The GCP project id of the client associated with + enableInternalIp: type: boolean description: >- - Set to false by default. When set to true, the metrics are not - aggregated or pushed to Monarch for this integration alert. - displayName: + Optional. Indicates the client enables internal IP feature, this is + applicable for internal clients only. + description: type: string - description: >- - Name of the alert. This will be displayed in the alert subject. If - set, this name should be unique within the scope of the integration. - onlyFinalAttempt: + description: Description of what the client is used for + enableVariableMasking: type: boolean description: >- - For either events or tasks, depending on the type of alert, count - only final attempts, not retries. - EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig: + Optional. True if variable masking feature should be turned on for + this region + isGmek: + type: boolean + description: Optional. Indicates the client is provisioned with CMEK or GMEK. + p4ServiceAccount: + description: The service agent associated with this client + type: string + region: + type: string + description: The region the client is linked to. + createTime: + description: The timestamp when the client was first created. + format: google-datetime + type: string + clientState: + enum: + - CLIENT_STATE_UNSPECIFIED + - CLIENT_STATE_ACTIVE + - CLIENT_STATE_DISABLED + enumDescriptions: + - The client state is unspecified + - The client is active and able to make calls to the IP APIs + - The client is disabled and will soon be deleted + description: Indicates the activity state the client + type: string + id: + type: string + description: Globally unique ID (project_id + region) + cloudKmsConfig: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCloudKmsConfig' + description: Cloud KMS config for Auth Module to encrypt/decrypt credentials. type: object - id: EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig + description: The configuration information for the Client + id: GoogleCloudIntegrationsV1alphaClientConfig + GoogleCloudIntegrationsV1alphaCredential: + type: object + description: Defines parameters for a single, canonical credential. + id: GoogleCloudIntegrationsV1alphaCredential properties: - operation: - description: Operation to perform using the configured connection. + credentialType: enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + - Unspecified credential type + - Regular username/password pair. + - API key. + - OAuth 2.0 Authorization Code Grant Type. + - OAuth 2.0 Implicit Grant Type. + - OAuth 2.0 Client Credentials Grant Type. + - OAuth 2.0 Resource Owner Credentials Grant Type. + - JWT Token. + - Auth Token, e.g. bearer token. + - >- + Service Account which can be used to generate token for + authentication. + - Client Certificate only. + - Google OIDC ID Token type: string enum: - - OPERATION_UNSPECIFIED - - EXECUTE_ACTION - - LIST_ENTITIES - - GET_ENTITY - - CREATE_ENTITY - - UPDATE_ENTITY - - DELETE_ENTITY - - EXECUTE_QUERY - connection: - description: User-selected connection. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoConnectorsConnection' - GoogleCloudConnectorsV1SslConfig: - description: SSL Configuration of a connection + - CREDENTIAL_TYPE_UNSPECIFIED + - USERNAME_AND_PASSWORD + - API_KEY + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_IMPLICIT + - OAUTH2_CLIENT_CREDENTIALS + - OAUTH2_RESOURCE_OWNER_CREDENTIALS + - JWT + - AUTH_TOKEN + - SERVICE_ACCOUNT + - CLIENT_CERTIFICATE_ONLY + - OIDC_TOKEN + description: Credential type associated with auth config. + jwt: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaJwt' + description: JWT credential + oauth2ClientCredentials: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials + description: OAuth2Implicit oauth2_implicit = 5; OAuth2 client credentials + authToken: + description: Auth token credential + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthToken' + oidcToken: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaOidcToken' + description: Google OIDC ID Token + oauth2ResourceOwnerCredentials: + description: OAuth2 resource owner credentials + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials + usernameAndPassword: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUsernameAndPassword + description: Username and password credential + serviceAccountCredentials: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaServiceAccountCredentials + description: Service account credential + oauth2AuthorizationCode: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode + description: >- + The api_key and oauth2_implicit are not covered in v1 and will be + picked up once v1 is implemented. ApiKey api_key = 3; OAuth2 + authorization code credential + EnterpriseCrmEventbusProtoSuccessPolicy: type: object - id: GoogleCloudConnectorsV1SslConfig properties: - clientPrivateKeyPass: - description: Secret containing the passphrase protecting the Client Private Key - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - useSsl: + finalState: + enum: + - UNSPECIFIED + - SUCCEEDED + - SUSPENDED + enumDescriptions: + - '' + - >- + The default behavior, where successful tasks will be marked as + SUCCEEDED. + - >- + Sets the state to SUSPENDED after executing. This is required for + SuspensionTask; event execution will continue once the user calls + ResolveSuspensions with the event_execution_info_id and the task + number. + type: string + description: >- + State to which the execution snapshot status will be set if the task + succeeds. + description: >- + Policy that dictates the behavior for the task after it completes + successfully. + id: EnterpriseCrmEventbusProtoSuccessPolicy + EnterpriseCrmEventbusProtoSuspensionExpiration: + id: EnterpriseCrmEventbusProtoSuspensionExpiration + properties: + expireAfterMs: + type: integer + description: Milliseconds after which the suspension expires, if no action taken. + format: int32 + remindAfterMs: + description: >- + Milliseconds after which the previous suspension action reminder, if + any, is sent using the selected notification option, for a + suspension which is still PENDING_UNSPECIFIED. + type: integer + format: int32 + liftWhenExpired: + description: >- + Whether the suspension will be REJECTED or LIFTED upon expiration. + REJECTED is the default behavior. type: boolean - description: Bool for enabling SSL - clientPrivateKey: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: Client Private Key - additionalVariables: - items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' - description: Additional SSL related field values - type: array - type: - description: Controls the ssl type for the given connector version. - type: string - enumDescriptions: - - No SSL configuration required. - - TLS Handshake - - mutual TLS (MTLS) Handshake - enum: - - SSL_TYPE_UNSPECIFIED - - TLS - - MTLS - serverCertType: - enumDescriptions: - - Cert type unspecified. - - Privacy Enhanced Mail (PEM) Type - description: Type of Server Cert (PEM/JKS/.. etc.) + type: object + EnterpriseCrmEventbusProtoLoopMetadata: + properties: + currentIterationCount: + description: Starting from 1, not 0. type: string - enum: - - CERT_TYPE_UNSPECIFIED - - PEM - trustModel: - enum: - - PUBLIC - - PRIVATE - - INSECURE - description: Trust Model of the SSL connection + format: int64 + currentIterationDetail: type: string - enumDescriptions: - - Public Trust Model. Takes the Default Java trust store. - - Private Trust Model. Takes custom/private trust store. - - Insecure Trust Model. Accept all certificates. - clientCertificate: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: Client Certificate - privateServerCertificate: description: >- - Private Server Certificate. Needs to be specified if trust model is - `PRIVATE`. - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - clientCertType: + Needs to be set by the loop impl class before each iteration. The + abstract loop class will append the request and response to it. Eg. + The foreach Loop will clean up and set it as the current iteration + element at the start of each loop. The post request and response + will be appended to the value once they are available. + errorMsg: + type: string + description: Add the error message when loops fail. + failureLocation: enum: - - CERT_TYPE_UNSPECIFIED - - PEM - enumDescriptions: - - Cert type unspecified. - - Privacy Enhanced Mail (PEM) Type + - UNKNOWN + - SUBWORKFLOW + - PARAM_OVERRIDING + - PARAM_AGGREGATING + - SETTING_ITERATION_ELEMENT + - GETTING_LIST_TO_ITERATE + - CONDITION_EVALUATION + - BUILDING_REQUEST type: string - description: Type of Client Cert (PEM/JKS/.. etc.) - GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse: - description: Response for listing RuntimeActionSchemas for a specific Connection. - id: GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse + description: Indicates where in the loop logic did it error out. + enumDescriptions: + - No error or Unknown. + - Subworkflow failed while firing/running. + - Param overrides failed. + - Param aggregation failed. + - Setting for loop current element failed. + - Getting the list to iterate. + - Evaluating the while loop condition. + - Building the iteration request + id: EnterpriseCrmEventbusProtoLoopMetadata + type: object + GoogleCloudIntegrationsV1alphaAuthConfig: + description: The AuthConfig resource use to hold channels and connection config data. type: object properties: - nextPageToken: + certificateId: type: string - description: Next page token. - runtimeActionSchemas: - type: array - description: Runtime action schemas. + description: Certificate id for client certificate + creatorEmail: + type: string + description: >- + The creator's email address. Generated based on the End User + Credentials/LOAS role of the user making the call. + expiryNotificationDuration: + description: >- + User can define the time to receive notification after which the + auth config becomes invalid. Support up to 30 days. Support + granularity in hours. items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaRuntimeActionSchema - GoogleCloudIntegrationsV1alphaGetClientMetadataResponse: - type: object - description: Response for the GetClientMetadata rpc - properties: - properties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaProjectProperties' - description: 'Required. Required: The client configuration that was requested' - id: GoogleCloudIntegrationsV1alphaGetClientMetadataResponse - EnterpriseCrmEventbusStats: - description: >- - Stats for the requested dimensions: QPS, duration, and error/warning - rate - id: EnterpriseCrmEventbusStats - type: object - properties: - dimensions: - $ref: '#/components/schemas/EnterpriseCrmEventbusStatsDimensions' - description: Dimensions that these stats have been aggregated on. - warningRate: - format: double - description: Average warning rate. - type: number - qps: - description: Queries per second. - type: number - format: double - durationInSeconds: - format: double - description: Average duration in seconds. - type: number - errorRate: - description: Average error rate. - type: number - format: double - GoogleCloudIntegrationsV1alphaFailurePolicy: - properties: - condition: + format: google-duration + type: string + type: array + lastModifierEmail: description: >- - Optional. The string condition that will be evaluated to determine - if the task should be retried with this failure policy. + The last modifier's email address. Generated based on the End User + Credentials/LOAS role of the user making the call. type: string - intervalTime: - format: google-datetime + encryptedCredential: + format: byte type: string description: >- - Required if retry_strategy is FIXED_INTERVAL or - LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines - the initial interval in seconds for backoff. - maxRetries: - format: int32 - description: >- - Required if retry_strategy is FIXED_INTERVAL or - LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines - the number of times the task will be retried if failed. - type: integer - retryStrategy: - enumDescriptions: - - UNSPECIFIED. - - >- - Ignores the failure of this task. The rest of the integration will - be executed Assuming this task succeeded. - - >- - Causes a permanent failure of the task. However, if the last - task(s) of event was successfully completed despite the failure of - this task, it has no impact on the integration. - - >- - Causes a permanent failure of the event. It is different from NONE - because this will mark the event as FAILED by shutting down the - event execution. - - >- - The task will be retried from the failed task onwards after a - fixed delay. A max-retry count is required to be specified with - this strategy. A jitter is added to each exponential interval so - that concurrently failing tasks of the same type do not end up - retrying after the exact same exponential interval. max_retries - and interval_in_seconds must be specified. - - >- - The task will be retried from the failed task onwards after a - fixed delay that linearly increases with each retry attempt. A - jitter is added to each exponential interval so that concurrently - failing tasks of the same type do not end up retrying after the - exact same exponential interval. A max-retry count is required to - be specified with this strategy. max_retries and - interval_in_seconds must be specified. - - >- - The task will be retried after an exponentially increasing period - of time with each failure. A jitter is added to each exponential - interval so that concurrently failing tasks of the same type do - not end up retrying after the exact same exponential interval. A - max-retry count is required to be specified with this strategy. - `max_retries` and `interval_in_seconds` must be specified. - - >- - The entire integration will be restarted with the initial - parameters that were set when the event was fired. A max-retry - count is required to be specified with this strategy. - `max_retries` and `interval_in_seconds` must be specified. + Auth credential encrypted by Cloud KMS. Can be decrypted as + Credential with proper KMS key. + createTime: + readOnly: true + format: google-datetime type: string - enum: - - RETRY_STRATEGY_UNSPECIFIED - - IGNORE - - NONE - - FATAL - - FIXED_INTERVAL - - LINEAR_BACKOFF - - EXPONENTIAL_BACKOFF - - RESTART_INTEGRATION_WITH_BACKOFF - description: Defines what happens to the task upon failure. - description: >- - Policy that defines the task retry logic and failure type. If no - FailurePolicy is defined for a task, all its dependent tasks will not be - executed (i.e, a `retry_strategy` of NONE will be applied). - id: GoogleCloudIntegrationsV1alphaFailurePolicy - type: object - EnterpriseCrmEventbusProtoBaseFunction: - id: EnterpriseCrmEventbusProtoBaseFunction - properties: - functionName: - enum: - - UNSPECIFIED - - NOW_IN_MILLIS - - INT_LIST - - ENVIRONMENT - - GET_EXECUTION_ID - - GET_INTEGRATION_NAME - - GET_REGION - - GET_UUID - - GET_PROJECT_ID + description: Output only. The timestamp when the auth config is created. + decryptedCredential: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCredential' + description: Raw auth credentials. + reason: + description: The reason / details of the current status. + type: string + validTime: + format: google-datetime + type: string + description: >- + The time until the auth config is valid. Empty or max value is + considered the auth config won't expire. + overrideValidTime: + type: string + description: >- + User provided expiry time to override. For the example of + Salesforce, username/password credentials can be valid for 6 months + depending on the instance settings. + format: google-datetime + description: + description: A description of the auth config. type: string + visibility: + description: The visibility of the auth config. enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - type: object - EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray: - id: EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray - type: object - properties: - booleanValues: - type: array - items: - type: boolean - EnterpriseCrmEventbusProtoMappedField: - description: Mapped field is a pair of input field and output field. - properties: - outputField: - description: The output field being mapped to. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoField' - inputField: - description: The input field being mapped from. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoField' - type: object - id: EnterpriseCrmEventbusProtoMappedField - GoogleCloudConnectorsV1ConnectionStatus: - type: object - description: ConnectionStatus indicates the state of the connection. - properties: - status: + - Visibility not specified. + - Profile visible to the creator only. + - Profile visible within the client. + enum: + - AUTH_CONFIG_VISIBILITY_UNSPECIFIED + - PRIVATE + - CLIENT_VISIBLE type: string - description: Status provides detailed information for the state. state: - description: State. type: string - enumDescriptions: - - Connection does not have a state yet. - - Connection is being created. - - Connection is running and ready for requests. - - Connection is stopped. - - Connection is being deleted. - - Connection is being updated. - - Connection is not running due to an error. - - >- - Connection is not running because the authorization configuration - is not complete. + description: The status of the auth config. enum: - STATE_UNSPECIFIED - - CREATING - - ACTIVE - - INACTIVE - - DELETING - - UPDATING - - ERROR - - AUTHORIZATION_REQUIRED - description: + - VALID + - INVALID + - SOFT_DELETED + - EXPIRED + - UNAUTHORIZED + - UNSUPPORTED + enumDescriptions: + - Status not specified. + - Valid Auth config. + - >- + General invalidity, if it doesn't fits in the detailed issue + below. + - Auth config soft deleted. + - Auth config expired. + - Auth config unauthorized. + - Auth config not supported. + displayName: + description: Required. The name of the auth config. type: string - description: Description. - id: GoogleCloudConnectorsV1ConnectionStatus - GoogleCloudIntegrationsV1alphaClientCertificate: - type: object - description: Contains client certificate information - properties: - passphrase: + updateTime: + format: google-datetime type: string - description: >- - 'passphrase' should be left unset if private key is not encrypted. - Note that 'passphrase' is not the password for web server, but an - extra layer of security to protected private key. - encryptedPrivateKey: + description: Output only. The timestamp when the auth config is modified. + readOnly: true + credentialType: type: string - description: >- - The ssl certificate encoded in PEM format. This string must include - the begin header and end footer lines. For example, -----BEGIN - CERTIFICATE----- - MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV - BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw - MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET - MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA - vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 - JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB - xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P - AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB - Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey - Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW - JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr - 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H - wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE----- - sslCertificate: - description: >- - The ssl certificate encoded in PEM format. This string must include - the begin header and end footer lines. For example, -----BEGIN - CERTIFICATE----- - MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV - BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw - MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET - MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA - vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 - JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB - xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P - AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB - Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey - Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW - JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr - 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H - wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE----- + enum: + - CREDENTIAL_TYPE_UNSPECIFIED + - USERNAME_AND_PASSWORD + - API_KEY + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_IMPLICIT + - OAUTH2_CLIENT_CREDENTIALS + - OAUTH2_RESOURCE_OWNER_CREDENTIALS + - JWT + - AUTH_TOKEN + - SERVICE_ACCOUNT + - CLIENT_CERTIFICATE_ONLY + - OIDC_TOKEN + description: Credential type of the encrypted credential. + enumDescriptions: + - Unspecified credential type + - Regular username/password pair. + - API key. + - OAuth 2.0 Authorization Code Grant Type. + - OAuth 2.0 Implicit Grant Type. + - OAuth 2.0 Client Credentials Grant Type. + - OAuth 2.0 Resource Owner Credentials Grant Type. + - JWT Token. + - Auth Token, e.g. bearer token. + - >- + Service Account which can be used to generate token for + authentication. + - Client Certificate only. + - Google OIDC ID Token + name: type: string - id: GoogleCloudIntegrationsV1alphaClientCertificate - EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition: - type: object - properties: - fullName: description: >- - The fully-qualified proto name. This message, for example, would be - "enterprise.crm.eventbus.proto.ParamSpecEntry.ProtoDefinition". + Resource name of the auth config. For more information, see Manage + authentication profiles. + projects/{project}/locations/{location}/authConfigs/{authConfig}. + id: GoogleCloudIntegrationsV1alphaAuthConfig + GoogleCloudIntegrationsV1alphaIntegration: + properties: + lastModifierEmail: type: string - path: - description: Path to the proto file that contains the message type's definition. + description: Required. The last modifier of this integration + updateTime: + description: Output only. Auto-generated. + readOnly: true + format: google-datetime type: string - id: EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition - GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest: - id: GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest - description: Request for Creating Cloud Function rpc call. - properties: - functionName: + description: type: string - description: The function name of CF to be created - functionRegion: + description: Optional. + name: + type: string + description: Required. The resource name of the integration. + creatorEmail: + readOnly: true type: string - description: The function region of CF to be created - projectId: description: >- - Indicates the id of the GCP project that the function will be - created in. + Output only. The creator's email address. Generated based on the End + User Credentials/LOAS role of the user making the call. + createTime: + readOnly: true type: string + format: google-datetime + description: Required. Output only. Auto-generated. + active: + description: Required. If any integration version is published. + type: boolean type: object - GoogleCloudIntegrationsV1alphaCloudSchedulerConfig: + id: GoogleCloudIntegrationsV1alphaIntegration + description: The integration definition. + GoogleCloudIntegrationsV1alphaShareTemplateRequest: + id: GoogleCloudIntegrationsV1alphaShareTemplateRequest + properties: + resourceNames: + items: + type: string + description: >- + Optional. Project name resources to share the template. The project + names is expected in resource format Ex: projects/{project-number} + or organization/{org-id} + type: array + description: Request to Share template type: object - id: GoogleCloudIntegrationsV1alphaCloudSchedulerConfig - description: Cloud Scheduler Trigger configuration + GoogleCloudIntegrationsV1alphaUploadTestCaseResponse: + type: object + id: GoogleCloudIntegrationsV1alphaUploadTestCaseResponse + description: Response for UploadTestCase. properties: - cronTab: - description: Required. The cron tab of cloud scheduler trigger. + testCase: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' + description: The uploaded TestCase + GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest: + type: object + description: The request for executing a functional test. + properties: + inputParameters: + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + description: Optional. Input parameters used by test case execution. + type: object + id: GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest + EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata: + properties: + taskNumber: + description: The task number associated with this snapshot. Could be empty. type: string - location: + taskName: + description: the task name associated with this snapshot. Could be empty. type: string + ancestorTaskNumbers: + type: array description: >- - Required. The location where associated cloud scheduler job will be - created - serviceAccountEmail: - type: string + Ancestor task number for the task(it will only be non-empty if the + task is under 'private workflow') + items: + type: string + taskAttemptNum: + description: the task attempt number this snapshot belongs to. Could be empty. + format: int32 + type: integer + eventAttemptNum: + description: the event attempt number this snapshot belongs to. + type: integer + format: int32 + ancestorIterationNumbers: + items: + type: string + type: array description: >- - Required. Service account used by Cloud Scheduler to trigger the - integration at scheduled time - errorMessage: + Ancestor iteration number for the task(it will only be non-empty if + the task is under 'private workflow') + integrationName: description: >- - Optional. When the job was deleted from Pantheon UI, error_message - will be populated when Get/List integrations + The direct integration which the event execution snapshots belongs + to type: string - GoogleCloudConnectorsV1LockConfig: - description: >- - Determines whether or no a connection is locked. If locked, a reason - must be specified. - id: GoogleCloudConnectorsV1LockConfig + taskLabel: + type: string + description: the task label associated with this snapshot. Could be empty. type: object + id: >- + EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata + GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions: properties: - locked: - description: Indicates whether or not the connection is locked. - type: boolean - reason: - type: string - description: Describes why a connection is locked. - GoogleCloudIntegrationsV1alphaSuccessPolicy: + webhookData: + items: + $ref: >- + #/components/schemas/GoogleCloudConnectorsV1EventingRuntimeDataWebhookData + type: array + description: Output only. Webhook data. + readOnly: true + description: WebhookSubscriptions has details of webhook subscriptions. + id: GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions + type: object + EnterpriseCrmFrontendsEventbusProtoParameterMap: properties: - finalState: + keyType: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - >- + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' enum: - - FINAL_STATE_UNSPECIFIED - - SUCCEEDED - - SUSPENDED + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE description: >- - State to which the execution snapshot status will be set if the task - succeeds. + Option to specify key value type for all entries of the map. If + provided then field types for all entries must conform to this. + type: string + valueType: enumDescriptions: - - UNSPECIFIED. - - >- - The default behavior, where successful tasks will be marked as - SUCCEEDED. + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' - >- - Sets the state to SUSPENDED after executing. This is required for - SuspensionTask; event execution will continue once the user calls - ResolveSuspensions with the event_execution_info_id and the task - number. + BYTES and BYTES_ARRAY data types are not allowed for top-level + params. They're only meant to support protobufs with BYTES + (sub)fields. + - '' + - '' + - '' type: string - description: >- - Policy that dictates the behavior for the task after it completes - successfully. + enum: + - DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - PROTO_VALUE + - SERIALIZED_OBJECT_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - PROTO_ARRAY + - PROTO_ENUM + - BOOLEAN_ARRAY + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + - NON_SERIALIZABLE_OBJECT + - JSON_VALUE + entries: + type: array + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterMapEntry + id: EnterpriseCrmFrontendsEventbusProtoParameterMap type: object - id: GoogleCloudIntegrationsV1alphaSuccessPolicy - GoogleCloudIntegrationsV1alphaUseTemplateResponse: - description: Response for use template + description: >- + A generic multi-map that holds key value pairs. They keys and values can + be of any type, unless specified. + EnterpriseCrmEventbusProtoParameterMapField: + description: Field represents either the key or value in an entry. + id: EnterpriseCrmEventbusProtoParameterMapField + properties: + referenceKey: + type: string + description: Referencing one of the WF variables. + literalValue: + description: Passing a literal value. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' type: object - id: GoogleCloudIntegrationsV1alphaUseTemplateResponse + EnterpriseCrmEventbusProtoBooleanParameterArray: properties: - subIntegrationVersions: + booleanValues: items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + type: boolean type: array - description: Sub integration versions which are created. + type: object + id: EnterpriseCrmEventbusProtoBooleanParameterArray + GoogleCloudIntegrationsV1alphaTestIntegrationsRequest: + type: object + description: The request for testing an integration. + id: GoogleCloudIntegrationsV1alphaTestIntegrationsRequest + properties: + inputParameters: + description: Optional. Input parameters used during integration execution. + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + type: object integrationVersion: - description: IntegrationVersion which is created. $ref: >- #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims: - id: GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims - properties: - subject: - description: Value for the "sub" claim. - type: string - audience: - description: Value for the "aud" claim. - type: string - issuer: + description: Required. integration config to execute the workflow + triggerId: type: string - description: Value for the "iss" claim. - type: object - description: JWT claims used for the jwt-bearer authorization grant. - GoogleCloudIntegrationsV1alphaUnshareTemplateRequest: - id: GoogleCloudIntegrationsV1alphaUnshareTemplateRequest - properties: - resourceNames: - type: array description: >- - Optional. Project name resources to unshare the template. The - project names is expected in resource format Ex: - projects/{project-number} - items: - type: string - type: object - description: Request to Unshare template - EnterpriseCrmEventbusProtoField: + Required. 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. + clientId: + description: >- + Required. This is used to identify the client on whose behalf the + event will be executed. + type: string + parameters: + deprecated: true + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + description: Optional. Passed in as parameters to each integration execution. + configParameters: + type: object + additionalProperties: + type: any + description: Properties of the object. + description: Optional. Config parameters used during integration execution. + deadlineSecondsTime: + description: Optional. custom deadline of the rpc + type: string + format: google-datetime + testMode: + description: >- + Optional. Can be specified in the event request, otherwise false + (default). If true, enables tasks with condition "test_mode = true". + If false, disables tasks with condition "test_mode = true" if global + test mode (set by platform) is also false {@link EventBusConfig}. + type: boolean + GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue: type: object - id: EnterpriseCrmEventbusProtoField - description: Information about the value and type of the field. + description: >- + The threshold value of the metric, above or below which the alert should + be triggered. See EventAlertConfig or TaskAlertConfig for the different + alert metric types in each case. For the *RATE metrics, one or both of + these fields may be set. Zero is the default value and can be left at + that. For *PERCENTILE_DURATION metrics, one or both of these fields may + be set, and also, the duration threshold value should be specified in + the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, + these fields should not be set at all. A different member, + threshold_duration_ms, must be set in the EventAlertConfig or the + TaskAlertConfig. + id: GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue properties: - fieldType: + percentage: + format: int32 + type: integer + description: Percentage threshold. + absolute: + format: int64 + type: string + description: Absolute value threshold. + EnterpriseCrmEventbusProtoJsonFunction: + id: EnterpriseCrmEventbusProtoJsonFunction + properties: + functionName: type: string enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - description: Specifies the data type of the field. + - UNSPECIFIED + - GET_PROPERTY + - GET_ELEMENT + - APPEND_ELEMENT + - SIZE + - SET_PROPERTY + - FLATTEN + - FLATTEN_ONCE + - MERGE + - TO_STRING + - TO_INT + - TO_DOUBLE + - TO_BOOLEAN + - TO_PROTO + - TO_STRING_ARRAY + - TO_INT_ARRAY + - TO_DOUBLE_ARRAY + - TO_PROTO_ARRAY + - TO_BOOLEAN_ARRAY + - REMOVE_PROPERTY + - RESOLVE_TEMPLATE + - EQUALS + - FOR_EACH + - FILTER_ELEMENTS enumDescriptions: - '' - '' @@ -5253,2716 +5501,2897 @@ components: - '' - '' - '' - - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - '' - '' - '' - transformExpression: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTransformExpression' - description: >- - This is the transform expression to fetch the input field value. for - e.g. $param1$.CONCAT('test'). Keep points - 1. Only input field can - have a transform expression. 2. If a transform expression is - provided, reference_key will be ignored. 3. If no value is returned - after evaluation of transform expression, default_value can be - mapped if provided. 4. The field_type should be the type of the - final object returned after the transform expression is evaluated. - Scrubs the transform expression before logging as value provided by - user so may or may not contain PII or SPII data. - referenceKey: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + type: object + GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest: + description: Request for TakeoverTestCaseEditLock. + type: object + properties: {} + id: GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest + GoogleCloudIntegrationsV1alphaUseTemplateResponse: + description: Response for use template + type: object + properties: + integrationVersion: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + description: IntegrationVersion which is created. + subIntegrationVersions: + description: Sub integration versions which are created. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + id: GoogleCloudIntegrationsV1alphaUseTemplateResponse + GoogleCloudIntegrationsV1alphaResolveSuspensionRequest: + id: GoogleCloudIntegrationsV1alphaResolveSuspensionRequest + properties: + suspension: description: >- - This holds the reference key of the workflow or task parameter. 1. - Any workflow parameter, for e.g. $workflowParam1$. 2. Any task input - or output parameter, for e.g. $task1_param1$. 3. Any workflow or - task parameters with subfield references, for e.g., - $task1_param1.employee.id$ - type: string - cardinality: - enumDescriptions: - - For fields with unspecified cardinality. - - >- - If field cardinality is set to optional, ignore errors if input - field value is null or the reference_key is not found. + Suspension, containing the event_execution_info_id, task_id, and + state to set on the corresponding suspension record. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuspension' + type: object + description: Request for [Suspensions.ResolveSuspensions]. + EnterpriseCrmEventbusProtoConnectorsConnection: + id: EnterpriseCrmEventbusProtoConnectorsConnection + type: object + properties: + connectionName: type: string description: >- - By default, if the cardinality is unspecified the field is - considered required while mapping. - enum: - - UNSPECIFIED - - OPTIONAL - defaultValue: + Connection name Format: + projects/{project}/locations/{location}/connections/{connection} + serviceName: description: >- - This holds the default values for the fields. This value is supplied - by user so may or may not contain PII or SPII data. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' - protoDefPath: + Service name Format: + projects/{project}/locations/{location}/namespaces/{namespace}/services/{service} type: string + host: description: >- - Optional. The fully qualified proto name (e.g. - enterprise.crm.storage.Account). Required for output field of type - PROTO_VALUE or PROTO_ARRAY. For e.g., if input field_type is BYTES - and output field_type is PROTO_VALUE, then fully qualified proto - type url should be provided to parse the input bytes. If field_type - is *_ARRAY, then all the converted protos are of the same type. - EnterpriseCrmEventbusProtoSuspensionExpiration: - id: EnterpriseCrmEventbusProtoSuspensionExpiration - type: object - properties: - remindAfterMs: - description: >- - Milliseconds after which the previous suspension action reminder, if - any, is sent using the selected notification option, for a - suspension which is still PENDING_UNSPECIFIED. - type: integer - format: int32 - liftWhenExpired: + The name of the Hostname of the Service Directory service with TLS + if used. + type: string + connectorVersion: description: >- - Whether the suspension will be REJECTED or LIFTED upon expiration. - REJECTED is the default behavior. - type: boolean - expireAfterMs: - type: integer - format: int32 - description: Milliseconds after which the suspension expires, if no action taken. - GoogleCloudIntegrationsV1alphaTriggerConfig: - id: GoogleCloudIntegrationsV1alphaTriggerConfig + Connector version Format: + projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version} + type: string + GoogleCloudConnectorsV1ConnectorVersionInfraConfig: + description: >- + This cofiguration provides infra configs like rate limit threshold which + need to be configurable for every connector version properties: - startTasks: - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaNextTask' - description: >- - Optional. Set of tasks numbers from where the integration execution - is started by this trigger. If this is empty, then integration is - executed with default start tasks. In the list of start tasks, none - of two tasks can have direct ancestor-descendant relationships (i.e. - in a same integration execution graph). - type: array - alertConfig: - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationAlertConfig - description: >- - Optional. An alert threshold configuration for the [trigger + client - + integration] tuple. If these values are not specified in the - trigger config, default values will be populated by the system. Note - that there must be exactly one alert threshold configured per - [client + trigger + integration] when published. - type: array - properties: - description: >- - Optional. Configurable properties of the trigger, not to be confused - with integration parameters. E.g. "name" is a property for API - triggers and "subscription" is a property for Pub/sub triggers. - additionalProperties: - type: string - type: object - triggerId: + connectionRatelimitWindowSeconds: + format: int64 type: string description: >- - Optional. Auto-generated trigger ID. The ID is based on the - properties that you define in the trigger config. For example, for - an API trigger, the trigger ID follows the format: - api_trigger/TRIGGER_NAME Where trigger config has properties with - value {"Trigger name": TRIGGER_NAME} - nextTasksExecutionPolicy: - enum: - - NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED - - RUN_ALL_MATCH - - RUN_FIRST_MATCH + Output only. The window used for ratelimiting runtime requests to + connections. + readOnly: true + resourceRequests: + readOnly: true + description: Output only. System resource requests. + $ref: '#/components/schemas/GoogleCloudConnectorsV1ResourceRequests' + internalclientRatelimitThreshold: + format: int64 + description: >- + Output only. Max QPS supported for internal requests originating + from Connd. + readOnly: true type: string - description: Optional. Dictates how next tasks will be executed. + tlsMigrationState: + enum: + - TLS_MIGRATION_STATE_UNSPECIFIED + - TLS_MIGRATION_NOT_STARTED + - TLS_MIGRATION_COMPLETED + readOnly: true enumDescriptions: - - Default. - - Execute all the tasks that satisfy their associated condition. - - Execute the first task that satisfies the associated condition. - label: + - TLS migration state is not specified. + - TLS migration is in progress. + - TLS migration is completed. type: string - description: Optional. The user created label for a particular trigger. - position: - description: >- - Optional. Informs the front-end application where to draw this error - catcher config on the UI. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCoordinate' - cloudSchedulerConfig: - description: Optional. Cloud Scheduler Trigger related metadata - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCloudSchedulerConfig - description: - description: >- - Optional. User-provided description intended to give additional - business context about the task. + description: Output only. Status of the TLS migration. + deploymentModelMigrationState: + enum: + - DEPLOYMENT_MODEL_MIGRATION_STATE_UNSPECIFIED + - IN_PROGRESS + - COMPLETED + - ROLLEDBACK + - ROLLBACK_IN_PROGRESS + description: Output only. Status of the deployment model migration. type: string - trigger: + readOnly: true + enumDescriptions: + - Deployment model migration state is not specified. + - Deployment model migration is in progress. + - Deployment model migration is completed. + - Deployment model migration rolledback. + - Deployment model migration rollback in progress. + resourceLimits: + readOnly: true + $ref: '#/components/schemas/GoogleCloudConnectorsV1ResourceLimits' + description: Output only. System resource limits. + ratelimitThreshold: + readOnly: true type: string description: >- - Optional. Name of the trigger. Example: "API Trigger", "Cloud Pub - Sub Trigger" When set will be sent out to monitoring dashabord for - tracking purpose. - triggerNumber: + Output only. Max QPS supported by the connector version before + throttling of requests. + format: int64 + maxInstanceRequestConcurrency: + type: integer + format: int32 + description: Output only. Max instance request concurrency. + readOnly: true + hpaConfig: + description: Output only. HPA autoscaling config. + readOnly: true + $ref: '#/components/schemas/GoogleCloudConnectorsV1HPAConfig' + sharedDeployment: + description: Output only. The name of shared connector deployment. type: string - description: >- - Required. A number to uniquely identify each trigger config within - the integration on UI. - errorCatcherId: - description: >- - Optional. Optional Error catcher id of the error catch flow which - will be executed when execution error happens in the task + readOnly: true + deploymentModel: type: string - triggerType: enumDescriptions: - - Unknown. - - Trigger by scheduled time. - - Trigger by API call. - - Trigger by Salesforce Channel. - - Trigger by Pub/Sub external. - - SFDC Channel Trigger for CDC. - - Trigger by Cloud Scheduler job. - - Trigger by Connector Event - - Trigger for private workflow - type: string + - Deployment model is not specified. + - Default model gke mst. + - Cloud run mst. + description: Optional. Indicates whether connector is deployed on GKE/CloudRun enum: - - TRIGGER_TYPE_UNSPECIFIED - - CRON - - API - - SFDC_CHANNEL - - CLOUD_PUBSUB_EXTERNAL - - SFDC_CDC_CHANNEL - - CLOUD_SCHEDULER - - INTEGRATION_CONNECTOR_TRIGGER - - PRIVATE_TRIGGER - description: Optional. Type of trigger - type: object - description: Configuration detail of a trigger. - EnterpriseCrmEventbusProtoDoubleParameterArray: - id: EnterpriseCrmEventbusProtoDoubleParameterArray + - DEPLOYMENT_MODEL_UNSPECIFIED + - GKE_MST + - CLOUD_RUN_MST + id: GoogleCloudConnectorsV1ConnectorVersionInfraConfig type: object + EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange: properties: - doubleValues: - items: - type: number - format: double - type: array - EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter: - id: EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter - properties: - objectValue: - format: byte - type: string + min: + format: double + type: number + description: The inclusive minimum of the acceptable range. + max: + type: number + format: double + description: The inclusive maximum of the acceptable range. + description: Range used to validate doubles and floats. type: object - GoogleCloudIntegrationsV1alphaSearchTemplatesResponse: - description: Response for a request to search templates - id: GoogleCloudIntegrationsV1alphaSearchTemplatesResponse + id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange + GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse: + id: GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse properties: - templates: - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + regions: type: array - description: List of templates retrieved. - nextPageToken: - type: string - description: The token used to retrieve the next page results. - type: object - EnterpriseCrmEventbusProtoTaskExecutionDetails: - properties: - taskExecutionState: - type: string - enum: - - UNSPECIFIED - - PENDING_EXECUTION - - IN_PROCESS - - SUCCEED - - FAILED - - FATAL - - RETRY_ON_HOLD - - SKIPPED - - CANCELED - - PENDING_ROLLBACK - - ROLLBACK_IN_PROCESS - - ROLLEDBACK - - SUSPENDED - enumDescriptions: - - '' - - >- - Task is waiting for its precondition tasks to finish to start the - execution. - - Task is under processing. - - >- - Task execution successfully finished. There's no more change after - this state. - - Task execution failed. There's no more change after this state. - - >- - Task execution failed and cause the whole event execution to fail - immediately. There's no more change after this state. - - Task execution failed and waiting for retry. - - >- - Task execution skipped. This happens when its precondition wasn't - met, or the event execution been canceled before reach to the - task. There's no more changes after this state. - - >- - Task execution canceled when in progress. This happens when event - execution been canceled or any other task fall in fatal state. - - >- - Task is waiting for its dependency tasks' rollback to finish to - start its rollback. - - Task is rolling back. - - >- - Task is rolled back. This is the state we will set regardless of - rollback succeeding or failing. - - >- - Task is a SuspensionTask which has executed once, creating a - pending suspension. - taskAttemptStats: items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats - type: array - taskNumber: - description: Pointer to the task config it used for execution. - type: string - description: >- - Contains the details of the execution of this task. Next available id: - 11 - id: EnterpriseCrmEventbusProtoTaskExecutionDetails - type: object - GoogleCloudIntegrationsV1alphaSfdcChannel: - description: The SfdcChannel that points to a CDC or Platform Event Channel. + type: string + description: All regions where Connector Platform is provisioned. type: object + description: Response containing all provisioned regions for Connector Platform. + GoogleCloudIntegrationsV1alphaIntegrationConfigParameter: + id: GoogleCloudIntegrationsV1alphaIntegrationConfigParameter properties: - description: - type: string - description: The description for this channel - name: + value: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' description: >- - Resource name of the SFDC channel - projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}. - type: string - updateTime: - type: string - description: Output only. Time when the channel was last updated - format: google-datetime - readOnly: true - isActive: - type: boolean + Values for the defined keys. Each value can either be string, int, + double or any proto message or a serialized object. + parameter: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationParameter description: >- - 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. - displayName: - type: string - description: Client level unique name/alias to easily reference a channel. - lastReplayId: + Optional. Integration Parameter to provide the default value, data + type and attributes required for the Integration config variables. + type: object + description: >- + Integration Config Parameter is defined in the integration config and + are used to provide external configuration for integration. It provide + information about data types of the expected parameters and provide any + default values or value. They can also be used to add custom attributes. + EnterpriseCrmEventbusProtoNextTask: + type: object + description: >- + The task that is next in line to be executed, if the condition specified + evaluated to true. + id: EnterpriseCrmEventbusProtoNextTask + properties: + label: + description: User-provided label that is attached to this edge in the UI. type: string - description: Last sfdc messsage replay id for channel - channelTopic: + description: type: string - description: The Channel topic defined by salesforce once an channel is opened - deleteTime: description: >- - Output only. Time when the channel was deleted. Empty if not - deleted. - format: google-datetime - readOnly: true + User-provided description intended to give more business context + about the next task edge or condition. + combinedConditions: + type: array + description: >- + Combined condition for this task to become an eligible next task. + Each of these combined_conditions are joined with logical OR. + DEPRECATED: use `condition` + deprecated: true + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCombinedCondition' + taskConfigId: + description: ID of the next task. type: string - createTime: - readOnly: true + taskNumber: type: string - description: Output only. Time when the channel is created - format: google-datetime - id: GoogleCloudIntegrationsV1alphaSfdcChannel - GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest: - type: object - properties: - appsScriptProject: - description: The name of the Apps Script project to be created. + description: Task number of the next task. + condition: + description: >- + Standard filter expression for this task to become an eligible next + task. type: string - authConfigId: + GoogleCloudIntegrationsV1alphaFile: + properties: + integrationConfig: + description: Integration version config file + additionalProperties: + description: Properties of the object. + type: any + type: object + type: type: string + enum: + - INTEGRATION_FILE_UNSPECIFIED + - INTEGRATION + - INTEGRATION_CONFIG_VARIABLES + enumDescriptions: + - Default value. + - Integration file. + - Integration Config variables. description: >- - The auth config id necessary to fetch the necessary credentials to - create the project for external clients - description: Request for CreateAppsScriptProject rpc call. - id: GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest - GoogleCloudIntegrationsV1alphaTestIntegrationsRequest: - description: The request for testing an integration. + File information like Integration version, Integration Config + variables etc. + integrationVersion: + description: Integration version + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + description: >- + To store Integration version related file i.e. Integration Version, + Config variable etc. type: object + id: GoogleCloudIntegrationsV1alphaFile + GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest: properties: - parameters: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - description: Optional. Passed in as parameters to each integration execution. - deprecated: true configParameters: description: Optional. Config parameters used during integration execution. type: object additionalProperties: type: any description: Properties of the object. - clientId: - description: >- - Required. This is used to identify the client on whose behalf the - event will be executed. + id: GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest + type: object + description: Request for PublishIntegrationVersion. + EnterpriseCrmFrontendsEventbusProtoParameterMapField: + type: object + id: EnterpriseCrmFrontendsEventbusProtoParameterMapField + properties: + referenceKey: type: string - integrationVersion: + description: Referencing one of the WF variables. + literalValue: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - description: Required. integration config to execute the workflow - inputParameters: - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - type: object - description: Optional. Input parameters used during integration execution. - deadlineSecondsTime: - description: Optional. custom deadline of the rpc - type: string - format: google-datetime - triggerId: - type: string - description: >- - Required. 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. - testMode: - type: boolean - description: >- - Optional. Can be specified in the event request, otherwise false - (default). If true, enables tasks with condition "test_mode = true". - If false, disables tasks with condition "test_mode = true" if global - test mode (set by platform) is also false {@link EventBusConfig}. - id: GoogleCloudIntegrationsV1alphaTestIntegrationsRequest - EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList: - id: EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType + description: Passing a literal value. + description: Field represents either the key or value in an entry. + GoogleCloudConnectorsV1BillingConfig: + description: Billing config for the connection. + type: object + id: GoogleCloudConnectorsV1BillingConfig properties: - filterType: + billingCategory: + readOnly: true type: string - enumDescriptions: - - '' - - '' enum: - - DEFAULT_INCLUSIVE - - EXCLUSIVE - enumStrings: - type: array - items: - type: string - description: List of error enums for alerts. - type: object - EnterpriseCrmEventbusProtoAddress: - type: object - description: >- - Email address along with optional name and tokens. These tokens will be - substituted for the variables in the form of [{var_name}], where - var_name could be any string of no more than 32 bytes. - id: EnterpriseCrmEventbusProtoAddress + - BILLING_CATEGORY_UNSPECIFIED + - GCP_AND_TECHNICAL_CONNECTOR + - NON_GCP_CONNECTOR + description: Output only. Billing category for the connector. + enumDescriptions: + - Billing category is not specified. + - GCP/Technical connector. + - Non-GCP connector. + GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims: properties: - name: + audience: type: string - email: - description: Required. + description: Value for the "aud" claim. + subject: + description: Value for the "sub" claim. type: string - tokens: - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoToken' - type: array - EnterpriseCrmEventbusProtoAttributes: - id: EnterpriseCrmEventbusProtoAttributes + issuer: + type: string + description: Value for the "iss" claim. + description: JWT claims used for the jwt-bearer authorization grant. + id: GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims + type: object + GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow: type: object properties: - readOnly: - description: Used to indicate if the ParameterEntry is a read only field or not. + pkceVerifier: + description: PKCE verifier to be used during the auth code exchange. + type: string + clientSecret: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: Client secret for user-provided OAuth app. + enablePkce: + description: Whether to enable PKCE when the user performs the auth code flow. type: boolean - dataType: - enum: - - DATA_TYPE_UNSPECIFIED - - EMAIL - - URL - - CURRENCY - - TIMESTAMP - - DOMAIN_NAME - description: >- - Things like URL, Email, Currency, Timestamp (rather than string, - int64...) + redirectUri: type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - >- - Domain is a web url string with one top-level private domain and a - suffix (for example: google.com, walmart.com) - searchable: - enum: - - UNSPECIFIED - - 'YES' - - 'NO' + description: Redirect URI to be provided during the auth code exchange. + clientId: type: string - enumDescriptions: - - '' - - >- - If yes, the parameter key and value will be full-text indexed. In - a proto, this value will propagate to all children whose - searchable is unspecified. - - >- - If no, the parameter key and value will not be full-text indexed. - In a proto, this value will propagate to all children whose - searchable is unspecified. - isRequired: - description: >- - Required for event execution. The validation will be done by the - event bus when the event is triggered. - type: boolean - masked: - description: True if this workflow parameter should be masked in the logs - type: boolean - isSearchable: - type: boolean - deprecated: true + description: Client ID for user-provided OAuth app. + authUri: + type: string + description: Auth URL for Authorization Code Flow + scopes: + type: array description: >- - Used to indicate if a ParameterEntry should be converted to - ParamIndexes for ST-Spanner full-text search. DEPRECATED: use - searchable. - logSettings: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoLogSettings' - description: See - taskVisibility: - description: List of tasks that can view this property, if empty then all. + Scopes the connection will request when the user performs the auth + code flow. items: type: string - type: array - defaultValue: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoValueType' - description: Used to define defaults. + authCode: + description: Authorization code to be exchanged for access and refresh tokens. + type: string description: >- - Attributes are additional options that can be associated with each event - property. For more information, see - GoogleCloudIntegrationsV1alphaResolveSuspensionRequest: - id: GoogleCloudIntegrationsV1alphaResolveSuspensionRequest + Parameters to support Oauth 2.0 Auth Code Grant Authentication. See + https://www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details. + id: GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow + GoogleCloudIntegrationsV1alphaUseTemplateRequest: + id: GoogleCloudIntegrationsV1alphaUseTemplateRequest properties: - suspension: - description: >- - Suspension, containing the event_execution_info_id, task_id, and - state to set on the corresponding suspension record. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuspension' + subIntegrations: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails + description: Optional. Sub Integration which would be created via templates. + type: object + integrationRegion: + type: string + description: Required. The region of the Integration to be created. + integrationDetails: + description: Required. Integration details which would be created via templates. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails type: object - description: Request for [Suspensions.ResolveSuspensions]. - EnterpriseCrmEventbusProtoSuccessPolicy: - description: >- - Policy that dictates the behavior for the task after it completes - successfully. + description: Request to Use template + GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest: + description: Request to enable/disable variable masking for a provisioned client type: object properties: - finalState: - type: string - enum: - - UNSPECIFIED - - SUCCEEDED - - SUSPENDED - enumDescriptions: - - '' - - >- - The default behavior, where successful tasks will be marked as - SUCCEEDED. - - >- - Sets the state to SUSPENDED after executing. This is required for - SuspensionTask; event execution will continue once the user calls - ResolveSuspensions with the event_execution_info_id and the task - number. + enableVariableMasking: + type: boolean description: >- - State to which the execution snapshot status will be set if the task - succeeds. - id: EnterpriseCrmEventbusProtoSuccessPolicy - GoogleCloudIntegrationsV1alphaConditionalFailurePolicies: - id: GoogleCloudIntegrationsV1alphaConditionalFailurePolicies + Required. REQUIRED: True if variable masking feature should be + turned on for this region + id: GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest + EnterpriseCrmEventbusProtoConditionalFailurePolicies: + type: object properties: defaultFailurePolicy: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' description: >- The default failure policy to be applied if no conditional failure - policy matches. + policy matches + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' failurePolicies: + type: array + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' description: >- The list of failure policies that will be applied to the task in order. - type: array - items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' - description: Conditional task failur retry strategies - type: object - GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest: - type: object - description: The request for executing an integration. + id: EnterpriseCrmEventbusProtoConditionalFailurePolicies + EnterpriseCrmEventbusProtoParameterEntry: properties: - parameterEntries: - type: array - description: >- - Optional. Parameters are a part of Event and can be used to - communicate between different tasks that are part of the same - integration execution. - deprecated: true - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry - triggerId: + key: type: string description: >- - Required. Matched against all {@link TriggerConfig}s across all - integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id). The - trigger_id is in the format of `api_trigger/TRIGGER_NAME`. - executionId: - description: Optional. The id of the ON_HOLD execution to be resumed. - type: string - doNotPropagateError: + Key is used to retrieve the corresponding parameter value. This + should be unique for a given fired event. These parameters must be + predefined in the integration definition. + value: + description: >- + Values for the defined keys. Each value can either be string, int, + double or any proto message. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' + masked: type: boolean + description: True if this parameter should be masked in the logs + description: Key-value pair of EventBus parameters. + type: object + id: EnterpriseCrmEventbusProtoParameterEntry + GoogleCloudIntegrationsV1alphaTestTaskConfig: + description: >- + The task mock configuration details and assertions for functional tests. + Next available id: 6 + id: GoogleCloudIntegrationsV1alphaTestTaskConfig + type: object + properties: + assertions: description: >- - Optional. Flag to determine how to should propagate errors. If this - flag is set to be true, it will not throw an exception. Instead, it - will return a {@link ExecuteIntegrationsResponse} with an execution - id and error messages as PostWithTriggerIdExecutionException in - {@link EventParameters}. The flag is set to be false by default. - inputParameters: - description: Optional. Input parameters used by integration execution. - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' - type: object - requestId: + Optional. List of conditions or expressions which should be + evaluated to true unless there is a bug/problem in the integration. + These are evaluated one the task execution is completed as per the + mock strategy in test case + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAssertion' + type: array + mockConfig: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaMockConfig' + description: Optional. Defines how to mock the given task during test execution + taskConfig: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTaskConfig' + description: Optional. Auto-generated. + taskNumber: type: string description: >- - Optional. This is used to de-dup incoming request: if the duplicate - request was detected, the response from the previous execution is - returned. - parameters: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - deprecated: true + Required. This defines in the test case, the task in integration + which will be mocked by this test task config + task: description: >- - Optional. Passed in as parameters to each integration execution. - Redacted - id: GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest - GoogleCloudIntegrationsV1alphaValueType: - properties: - intArray: - description: Integer Array. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaIntParameterArray' - doubleArray: - description: Double Number Array. - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDoubleParameterArray - intValue: - type: string - format: int64 - description: Integer. - stringArray: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaStringParameterArray - description: String Array. - doubleValue: - format: double - type: number - description: Double Number. - stringValue: - description: String. + Required. This defines in the test case, the task name in + integration which will be mocked by this test task config type: string - jsonValue: - type: string - description: Json. - booleanArray: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaBooleanParameterArray - description: Boolean Array. - booleanValue: - type: boolean - description: Boolean. - type: object - id: GoogleCloudIntegrationsV1alphaValueType - description: The type of the parameter. - EnterpriseCrmEventbusProtoIntParameterArray: - properties: - intValues: - type: array - items: - format: int64 - type: string - id: EnterpriseCrmEventbusProtoIntParameterArray - type: object - GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse: - id: GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse - type: object - properties: {} - description: Response for PublishIntegrationVersion. - GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse: - description: Response for TakeoverEditLock. - properties: - integrationVersion: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - description: Version after the lock is acquired by the new user. + EnterpriseCrmFrontendsEventbusProtoParameterValueType: + id: EnterpriseCrmFrontendsEventbusProtoParameterValueType type: object - id: GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse - GoogleCloudIntegrationsV1alphaCredential: - id: GoogleCloudIntegrationsV1alphaCredential + description: 'To support various types of parameter values. Next available id: 14' properties: - usernameAndPassword: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUsernameAndPassword - description: Username and password credential - oidcToken: - description: Google OIDC ID Token - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaOidcToken' - oauth2ClientCredentials: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials - description: OAuth2Implicit oauth2_implicit = 5; OAuth2 client credentials - oauth2ResourceOwnerCredentials: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials - description: OAuth2 resource owner credentials - credentialType: - enum: - - CREDENTIAL_TYPE_UNSPECIFIED - - USERNAME_AND_PASSWORD - - API_KEY - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT - - OAUTH2_CLIENT_CREDENTIALS - - OAUTH2_RESOURCE_OWNER_CREDENTIALS - - JWT - - AUTH_TOKEN - - SERVICE_ACCOUNT - - CLIENT_CERTIFICATE_ONLY - - OIDC_TOKEN - enumDescriptions: - - Unspecified credential type - - Regular username/password pair. - - API key. - - OAuth 2.0 Authorization Code Grant Type. - - OAuth 2.0 Implicit Grant Type. - - OAuth 2.0 Client Credentials Grant Type. - - OAuth 2.0 Resource Owner Credentials Grant Type. - - JWT Token. - - Auth Token, e.g. bearer token. - - >- - Service Account which can be used to generate token for - authentication. - - Client Certificate only. - - Google OIDC ID Token + protoArray: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoProtoParameterArray + serializedObjectValue: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter + stringArray: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoStringParameterArray + doubleArray: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray + jsonValue: type: string - description: Credential type associated with auth config. - oauth2AuthorizationCode: + booleanValue: + type: boolean + intValue: + type: string + format: int64 + stringValue: + type: string + doubleValue: + format: double + type: number + intArray: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode - description: >- - The api_key and oauth2_implicit are not covered in v1 and will be - picked up once v1 is implemented. ApiKey api_key = 3; OAuth2 - authorization code credential - serviceAccountCredentials: - description: Service account credential + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoIntParameterArray + booleanArray: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaServiceAccountCredentials - jwt: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaJwt' - description: JWT credential - authToken: - description: Auth token credential - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthToken' - type: object - description: Defines parameters for a single, canonical credential. - GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest: - id: GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest - description: Request for PublishIntegrationVersion. - properties: - configParameters: + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray + protoValue: additionalProperties: - description: Properties of the object. type: any + description: Properties of the object. Contains field @type with type URL. type: object - description: Optional. Config parameters used during integration execution. - type: object - EnterpriseCrmEventbusProtoTaskMetadata: - description: >- - TaskMetadata are attributes that are associated to every common Task we - have. - type: object + EnterpriseCrmEventbusProtoEventExecutionSnapshot: properties: - activeTaskName: - description: >- - The new task name to replace the current task if it is deprecated. - Otherwise, it is the same as the current task name. + eventParams: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' + description: The parameters in Event object. + exceedMaxSize: + description: indicate whether snapshot exceeded maximum size before clean up + type: boolean + clientId: + description: Client that the execution snapshot is associated to. type: string - externalDocHtml: + snapshotTime: type: string - description: External-facing documention embedded in the RHP for this task. - isDeprecated: - type: boolean - description: The deprecation status of the current task. Default value is false; - externalDocMarkdown: + description: Indicates when this snapshot is taken. + format: int64 + workflowName: type: string - description: 'DEPRECATED: Use external_doc_html.' - tags: - items: - type: string + description: Name of the workflow this event execution snapshot belongs to. + taskName: + type: string + description: The task name associated with this snapshot. Could be empty. + deprecated: true + eventExecutionSnapshotId: description: >- - A set of tags that pertain to a particular task. This can be used to - improve the searchability of tasks with several names ("REST Caller" - vs. "Call REST Endpoint") or to help users find tasks based on - related words. + Auto-generated. Used as primary key for EventExecutionSnapshots + table. + type: string + checkpointTaskNumber: + type: string + description: >- + Indicates "right after which checkpoint task's execution" this + snapshot is taken. + eventExecutionSnapshotMetadata: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata + conditionResults: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoConditionResult' type: array - externalDocLink: + description: All of the computed conditions that been calculated. + eventExecutionInfoId: type: string - description: Doc link for external-facing documentation (separate from g3doc). - admins: + description: Points to the event execution info this snapshot belongs to. + diffParams: + description: The parameters in Event object that differs from last snapshot. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' + taskExecutionDetails: + description: All of the task execution details at the given point of time. items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskMetadataAdmin' + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoTaskExecutionDetails type: array - externalCategorySequence: + type: object + description: >- + Contains the snapshot of the event execution for a given checkpoint. + Next available id: 15 + id: EnterpriseCrmEventbusProtoEventExecutionSnapshot + EnterpriseCrmEventbusProtoCoordinate: + properties: + x: + format: int32 + type: integer + 'y': type: integer format: int32 + type: object + description: Represents two-dimensional positions. + id: EnterpriseCrmEventbusProtoCoordinate + GoogleCloudIntegrationsV1alphaExecution: + type: object + id: GoogleCloudIntegrationsV1alphaExecution + properties: + triggerId: description: >- - Sequence with which the task in specific category to be displayed in - task discovery panel for external users. - iconLink: + 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. + type: string + executionMethod: + type: string + enumDescriptions: + - Default value. + - Sync post. + - Async post. + - Async post with schedule time. + enum: + - EXECUTION_METHOD_UNSPECIFIED + - POST + - POST_TO_QUEUE + - SCHEDULE + description: The ways user posts this event. + updateTime: + type: string + readOnly: true + description: Output only. Last modified time of the execution. + format: google-datetime + snapshotNumber: + type: string + format: int64 description: >- - URL to gstatic image icon for this task. This icon shows up on the - task list panel along with the task name in the Workflow Editor - screen. Use the 24p, 2x, gray color icon image format. + Output only. An increasing sequence that is set when a new snapshot + is created + readOnly: true + eventExecutionDetails: + description: The execution info about this event. + deprecated: true + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventExecutionDetails' + createTime: + readOnly: true + format: google-datetime type: string - docMarkdown: + description: Output only. Created time of the execution. + cloudLoggingDetails: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaCloudLoggingDetails + description: Cloud Logging details for the integration version + name: type: string - description: Snippet of markdown documentation to embed in the RHP for this task. - descriptiveName: + description: Auto-generated primary key. + requestParameters: + description: Event parameters come in as part of the request. + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + type: object + replayInfo: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecutionReplayInfo + description: Output only. Replay info for the execution + responseParameters: description: >- - The string name to show on the task list on the Workflow editor - screen. This should be a very short, one to two words name for the - task. (e.g. "Send Mail") + Event parameters returned as part of the response. In the case of + error, the `ErrorInfo` field is returned in the following format: { + "ErrorInfo": { "message": String, "code": Number } } + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + type: object + integrationVersionState: + enum: + - INTEGRATION_STATE_UNSPECIFIED + - DRAFT + - ACTIVE + - ARCHIVED + - SNAPSHOT + readOnly: true + description: Output only. State of the integration version + type: string + enumDescriptions: + - Default. + - Draft. + - Active. + - Archived. + - Snapshot. + directSubExecutions: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' + type: array + description: Direct sub executions of the following Execution. + executionDetails: + description: Detailed info of this execution. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecutionDetails' + responseParams: + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry + deprecated: true + type: array + requestParams: + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry + description: Event parameters come in as part of the request. + type: array + deprecated: true + description: >- + The Execution resource contains detailed information of an individual + integration execution. + EnterpriseCrmEventbusProtoNextTeardownTask: + id: EnterpriseCrmEventbusProtoNextTeardownTask + properties: + name: + description: Required. Name of the next teardown task. type: string - system: - enum: - - UNSPECIFIED_SYSTEM - - GENERIC - - BUGANIZER - - SALESFORCE - - CLOUD_SQL - - PLX - - SHEETS - - GOOGLE_GROUPS - - EMAIL - - SPANNER - - DATA_BRIDGE + type: object + description: >- + The teardown task that is next in line to be executed. We support only + sequential execution of teardown tasks (i.e. no branching). + EnterpriseCrmEventbusProtoSuspensionResolutionInfo: + type: object + id: EnterpriseCrmEventbusProtoSuspensionResolutionInfo + properties: + eventExecutionInfoId: + description: Required. ID of the associated execution. type: string + product: + description: >- + Which Google product the suspension belongs to. If not set, the + suspension belongs to Integration Platform by default. enumDescriptions: - '' - '' - '' - '' + enum: + - UNSPECIFIED_PRODUCT + - IP + - APIGEE + - SECURITY + type: string + externalTraffic: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoExternalTraffic' + description: The origin of the suspension for periodic notifications. + workflowName: + type: string + description: Required. The name of the originating workflow. + status: + enum: + - PENDING_UNSPECIFIED + - REJECTED + - LIFTED + - CANCELED + enumDescriptions: - '' - '' - '' - '' - - '' - - '' - - '' - standaloneExternalDocHtml: - description: >- - External-facing documention for standalone IP in pantheon embedded - in the RHP for this task. Non null only if different from - external_doc_html type: string - defaultSpec: - description: >- - Contains the initial configuration of the task with default values - set. For now, The string should be compatible to an ASCII-proto - format. + clientId: + description: The event data user sends as request. type: string - name: + cloudKmsConfig: + description: KMS info, used by cmek/gmek integration + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCloudKmsConfig' + taskNumber: type: string - description: >- - The actual class name or the annotated name of the task. Task Author - should initialize this field with value from the getName() method of - the Task class. - g3DocLink: - description: URL to the associated G3 Doc for the task if available + description: Required. Task number of the associated SuspensionTask. + createdTimestamp: + description: Auto-generated. type: string - category: - enum: - - UNSPECIFIED_CATEGORY - - CUSTOM - - FLOW_CONTROL - - DATA_MANIPULATION - - SCRIPTING - - CONNECTOR - - HIDDEN - - CLOUD_SYSTEMS - - CUSTOM_TASK_TEMPLATE - - TASK_RECOMMENDATIONS + format: google-datetime + suspensionConfig: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuspensionConfig' + encryptedSuspensionResolutionInfo: type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - Internal IP tasks that should not be available in the UI. - - Tasks that are relevant to cloud systems teams and typically - - Task entities that derive from a custom task template. - - Category to show task recommendations - externalCategory: - enumDescriptions: - - '' - - '' - - '' - - HTTP tasks, e.g. rest api call task - - Integration services, e.g. connector task - - Customer ations, e.g. email task - - Flow control, e.g. while loop task - - Workspace tasks, e.g. list drive task - - Security, e.g. kms related tasks - - Database operation tasks, e.g. read firestore info tasks - - Analytics tasks, e.g. dataflow creattion tasks - - BYOC tasks - - BYOT tasks - - AI related tasks. - - Data manipulation related tasks, e.g. data mapping task - enum: - - UNSPECIFIED_EXTERNAL_CATEGORY - - CORE - - CONNECTORS - - EXTERNAL_HTTP - - EXTERNAL_INTEGRATION_SERVICES - - EXTERNAL_CUSTOMER_ACTIONS - - EXTERNAL_FLOW_CONTROL - - EXTERNAL_WORKSPACE - - EXTERNAL_SECURITY - - EXTERNAL_DATABASES - - EXTERNAL_ANALYTICS - - EXTERNAL_BYOC - - EXTERNAL_BYOT - - EXTERNAL_ARTIFICIAL_INTELIGENCE - - EXTERNAL_DATA_MANIPULATION + format: byte + description: Encrypted SuspensionResolutionInfo + wrappedDek: + description: Wrapped dek type: string - codeSearchLink: + format: byte + suspensionId: type: string - description: The Code Search link to the Task Java file. - defaultJsonValidationOption: + description: Primary key for the SuspensionResolutionInfoTable. + audit: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit + lastModifiedTimestamp: + format: google-datetime type: string - enum: - - UNSPECIFIED_JSON_VALIDATION_OPTION - - SKIP - - PRE_EXECUTION - - POST_EXECUTION - - PRE_POST_EXECUTION + description: Auto-generated. + GoogleCloudIntegrationsV1alphaIntegrationParameter: + description: >- + Integration Parameter is defined in the integration config and are used + to provide information about data types of the expected parameters and + provide any default values if needed. They can also be used to add + custom attributes. These are static in nature and should not be used for + dynamic event definition. + id: GoogleCloudIntegrationsV1alphaIntegrationParameter + type: object + properties: + producer: description: >- - Controls whether JSON workflow parameters are validated against - provided schemas before and/or after this task's execution. + The identifier of the node (TaskConfig/TriggerConfig) this parameter + was produced by, if it is a transient param or a copy of an input + param. + type: string + containsLargeData: + type: boolean + description: >- + Indicates whether this variable contains large data and need to be + uploaded to Cloud Storage. + jsonSchema: + type: string + description: >- + This schema will be used to validate runtime JSON-typed values of + this parameter. + isTransient: + type: boolean + description: Whether this parameter is a transient parameter. + displayName: + description: >- + The name (without prefix) to be displayed in the UI for this + parameter. E.g. if the key is "foo.bar.myName", then the name would + be "myName". + type: string + dataType: + type: string enumDescriptions: + - Unspecified. + - String. + - Integer. + - Double Number. + - Boolean. + - String Array. + - Integer Array. + - Double Number Array. + - Boolean Array. + - Json. + - Proto Value (Internal use only). + - Proto Array (Internal use only). + - // Non-serializable object (Internal use only). + - Proto Enum (Internal use only). + - Serialized object (Internal use only). + - Proto Enum Array (Internal use only). - >- - As per the default behavior, no validation will be run. Will not - override any option set in a Task. - - Do not run any validation against JSON schemas. - - >- - Validate all potential input JSON parameters against schemas - specified in WorkflowParameters. + BYTES data types are not allowed for top-level params. They're + only meant to support protobufs with BYTES (sub)fields. - >- - Validate all potential output JSON parameters against schemas - specified in WorkflowParameters. - - Perform both PRE_EXECUTION and POST_EXECUTION validations. - status: + BYTES_ARRAY data types are not allowed for top-level params. + They're only meant to support protobufs with BYTES (sub)fields. + description: Type of the parameter. enum: - - UNSPECIFIED_STATUS - - DEFAULT_INACTIVE - - ACTIVE + - INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED + - STRING_VALUE + - INT_VALUE + - DOUBLE_VALUE + - BOOLEAN_VALUE + - STRING_ARRAY + - INT_ARRAY + - DOUBLE_ARRAY + - BOOLEAN_ARRAY + - JSON_VALUE + - PROTO_VALUE + - PROTO_ARRAY + - NON_SERIALIZABLE_OBJECT + - PROTO_ENUM + - SERIALIZED_OBJECT_VALUE + - PROTO_ENUM_ARRAY + - BYTES + - BYTES_ARRAY + searchable: + description: Searchable in the execution log or not. + type: boolean + key: description: >- - Allows author to indicate if the task is ready to use or not. If not - set, then it will default to INACTIVE. - enumDescriptions: - - >- - Default value. Actual Task Status should always be set to either - INACTIVE or ACTIVE. If none is specified at runtime, it will be - set to INACTIVE. - - Still in-progress or incomplete, and not intended for use. - - Available for use. + Key is used to retrieve the corresponding parameter value. This + should be unique for a given fired event. These parameters must be + predefined in the integration definition. type: string description: type: string - description: In a few sentences, describe the purpose and usage of the task. - id: EnterpriseCrmEventbusProtoTaskMetadata - EnterpriseCrmEventbusProtoStringArray: - id: EnterpriseCrmEventbusProtoStringArray - type: object - properties: - values: - items: - type: string - type: array - GoogleCloudConnectorsV1EventingRuntimeData: - properties: - eventsListenerPscSa: - type: string - readOnly: true - description: >- - Output only. Events listener PSC Service attachment. The value will - be populated after provisioning the events listener with private - connectivity enabled. - status: - description: Output only. Current status of eventing. - readOnly: true - $ref: '#/components/schemas/GoogleCloudConnectorsV1EventingStatus' - webhookData: - description: Output only. Webhook data. - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1EventingRuntimeDataWebhookData - eventsListenerEndpoint: + description: Optional. Description of the parameter. + defaultValue: description: >- - Output only. Events listener endpoint. The value will populated - after provisioning the events listener. - readOnly: true + Default values for the defined keys. Each value can either be + string, int, double or any proto message or a serialized object. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + masked: + type: boolean + description: True if this parameter should be masked in the logs + inputOutputType: type: string - type: object - description: >- - Eventing runtime data has the details related to eventing managed by the - system. - id: GoogleCloudConnectorsV1EventingRuntimeData - GoogleCloudIntegrationsV1alphaTemplate: - type: object - id: GoogleCloudIntegrationsV1alphaTemplate - description: Defines the template for Application Integration + enumDescriptions: + - Default. + - >- + Input parameters for the integration. EventBus validates that + these parameters exist in the integrations before execution. + - >- + Output Parameters for the integration. EventBus will only return + the integration parameters tagged with OUT in the response back. + - >- + Input and Output Parameters. These can be used as both input and + output. EventBus will validate for the existence of these + parameters before execution and will also return this parameter + back in the response. + description: Specifies the input/output type for the parameter. + enum: + - IN_OUT_TYPE_UNSPECIFIED + - IN + - OUT + - IN_OUT + GoogleCloudIntegrationsV1alphaListAuthConfigsResponse: properties: - tags: - description: >- - Required. Tags which are used to identify templates. These tags - could be for business use case, connectors etc. - items: - type: string - type: array - sharedWith: - description: >- - Required. Resource names with which the template is shared for - example ProjectNumber/Ord id - type: array + authConfigs: items: - type: string - components: - description: >- - Optional. Components being used in the template. This could be used - to categorize and filter. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' type: array - items: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTemplateComponent - lastUsedTime: - type: string - description: Optional. Time the template was last used. - format: google-datetime - createTime: - description: Output only. Auto-generated. + description: The list of AuthConfigs retrieved. + nextPageToken: type: string - readOnly: true - format: google-datetime - docLink: - description: Optional. Link to template documentation. + description: The token used to retrieve the next page of results. + description: Response to list AuthConfigs. + id: GoogleCloudIntegrationsV1alphaListAuthConfigsResponse + type: object + EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit: + properties: + resolvedBy: type: string - updateTime: + timestamp: type: string format: google-datetime - readOnly: true - description: Output only. Auto-generated - displayName: - type: string - description: Required. The name of the template - description: - description: >- - Optional. Description of the template. The length should not be more - than 255 characters - type: string - usageInfo: + resolvedByCpi: type: string - description: >- - Optional. Information on how to use the template. This should - contain detailed information about usage of the template. - categories: + id: EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit + type: object + EnterpriseCrmFrontendsEventbusProtoEventParameters: + properties: + parameters: + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry type: array description: >- - Required. Categories associated with the Template. The categories - listed below will be utilized for the Template listing. - items: - type: string - enumDescriptions: - - Category is unspecified - - AI_MACHINE_LEARNING - - BUSINESS_INTELLIGENCE - - COLLABORATION - - CUSTOMER_SERVICE - - DATAABASES - - DEVOPS_IT - - CONTENT_AND_FILES - - FINANCE_AND_ACCOUNTING - - HUMAN_RESOURCES - - OPERATIONS - - PRODUCT_PROJECT_MANAGEMENT - - PRODUCTIVITY - - SALES_AND_MARKETING - - UNIVERSAL_CONNECTORS - - UTILITY - - OTHERS - enum: - - CATEGORY_UNSPECIFIED - - AI_MACHINE_LEARNING - - BUSINESS_INTELLIGENCE - - COLLABORATION - - CUSTOMER_SERVICE - - DATABASES - - DEVOPS_IT - - CONTENT_AND_FILES - - FINANCE_AND_ACCOUNTING - - HUMAN_RESOURCES - - OPERATIONS - - PRODUCT_PROJECT_MANAGEMENT - - PRODUCTIVITY - - SALES_AND_MARKETING - - UNIVERSAL_CONNECTORS - - UTILITY - - OTHERS - templateBundle: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplateBundle' + Parameters are a part of Event and can be used to communicate + between different tasks that are part of the same workflow + execution. + description: >- + LINT.IfChange This message is used for processing and persisting (when + applicable) key value pair parameters for each event in the event bus. + Please see + id: EnterpriseCrmFrontendsEventbusProtoEventParameters + type: object + EnterpriseCrmEventbusProtoIntArrayFunction: + type: object + properties: + functionName: + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - UNSPECIFIED + - GET + - APPEND + - SIZE + - SUM + - AVG + - MAX + - MIN + - TO_SET + - APPEND_ALL + - TO_JSON + - SET + - REMOVE + - REMOVE_AT + - CONTAINS + - FOR_EACH + - FILTER + id: EnterpriseCrmEventbusProtoIntArrayFunction + EnterpriseCrmFrontendsEventbusProtoParameterMapEntry: + id: EnterpriseCrmFrontendsEventbusProtoParameterMapEntry + type: object + properties: + key: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterMapField + value: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterMapField + description: Entry is a pair of key and value. + GoogleCloudIntegrationsV1alphaGetClientResponse: + type: object + description: Response for the GetClient rpc + properties: + client: + description: 'Required. Required: The client configuration that was requested' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaClientConfig' + id: GoogleCloudIntegrationsV1alphaGetClientResponse + GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest: + properties: + cloudKmsConfig: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCloudKmsConfig' description: >- - Required. Bundle which is part of the templates. The template - entities in the bundle would be converted to an actual entity. - visibility: + Required. REQUIRED: Cloud KMS config for AuthModule to + encrypt/decrypt credentials. + description: Request for the SwitchEncryption rpc + type: object + id: GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest + GoogleCloudIntegrationsV1alphaExecutionDetails: + type: object + id: GoogleCloudIntegrationsV1alphaExecutionDetails + properties: + state: type: string - description: Required. Visibility of the template. + description: Status of the execution. enum: - - VISIBILITY_UNSPECIFIED - - PRIVATE - - SHARED - - PUBLIC + - STATE_UNSPECIFIED + - PENDING + - PROCESSING + - SUCCEEDED + - FAILED + - CANCELLED + - RETRY_ON_HOLD + - SUSPENDED enumDescriptions: - - Visibility is unspecified - - Visibility is private - - Visibility is shared - - Visibility is public - author: - type: string - description: Optional. Creator of the template. - usageCount: + - Default. + - Execution is scheduled and awaiting to be triggered. + - Execution is processing. + - >- + Execution successfully finished. There's no more change after this + state. + - Execution failed. There's no more change after this state. + - >- + Execution canceled by user. There's no more change after this + state. + - Execution failed and waiting for retry. + - Execution suspended and waiting for manual intervention. + attemptStats: + type: array + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAttemptStats' + description: List of Start and end time of the execution attempts. + executionSnapshots: + description: List of snapshots taken during the execution. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecutionSnapshot + eventExecutionSnapshotsSize: format: int64 - description: Optional. Number of template usages. type: string - name: - type: string - description: Identifier. Resource name of the template. - EnterpriseCrmEventbusProtoSuspensionResolutionInfo: + description: Total size of all event_execution_snapshots for an execution + description: >- + Contains the details of the execution info: this includes the tasks + execution details plus the event execution statistics. + EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats: type: object - id: EnterpriseCrmEventbusProtoSuspensionResolutionInfo properties: - cloudKmsConfig: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCloudKmsConfig' - description: KMS info, used by cmek/gmek integration - eventExecutionInfoId: - description: Required. ID of the associated execution. + startTime: + description: >- + The start time of the task execution for current attempt. This could + be in the future if it's been scheduled. type: string - wrappedDek: - description: Wrapped dek - format: byte + format: int64 + endTime: type: string - lastModifiedTimestamp: + format: int64 + description: The end time of the task execution for current attempt. + id: EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats + GoogleCloudIntegrationsV1alphaErrorCatcherConfig: + properties: + errorCatcherNumber: type: string - description: Auto-generated. - format: google-datetime - taskNumber: + description: >- + Required. A number to uniquely identify each error catcher config + within the workflow on UI. + position: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCoordinate' + description: >- + Optional. Informs the front-end application where to draw this error + catcher config on the UI. + errorCatcherId: + description: >- + Required. An error catcher id is string representation for the error + catcher config. Within a workflow, error_catcher_id uniquely + identifies an error catcher config among all error catcher configs + for the workflow type: string - description: Required. Task number of the associated SuspensionTask. - product: - enum: - - UNSPECIFIED_PRODUCT - - IP - - APIGEE - - SECURITY + startErrorTasks: + type: array + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaNextTask' + description: >- + Required. The set of start tasks that are to be executed for the + error catch flow + description: type: string description: >- - Which Google product the suspension belongs to. If not set, the - suspension belongs to Integration Platform by default. - enumDescriptions: - - '' - - '' - - '' - - '' - clientId: - description: The event data user sends as request. + Optional. User-provided description intended to give more business + context about the error catcher config. + label: type: string - externalTraffic: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoExternalTraffic' - description: The origin of the suspension for periodic notifications. - status: + description: >- + Optional. The user created label for a particular error catcher. + Optional. + description: Configuration detail of a error catch task + type: object + id: GoogleCloudIntegrationsV1alphaErrorCatcherConfig + EnterpriseCrmEventbusProtoAttributes: + type: object + description: >- + Attributes are additional options that can be associated with each event + property. For more information, see + properties: + defaultValue: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoValueType' + description: Used to define defaults. + readOnly: + description: Used to indicate if the ParameterEntry is a read only field or not. + type: boolean + taskVisibility: + type: array + items: + type: string + description: List of tasks that can view this property, if empty then all. + dataType: enum: - - PENDING_UNSPECIFIED - - REJECTED - - LIFTED - - CANCELED - type: string + - DATA_TYPE_UNSPECIFIED + - EMAIL + - URL + - CURRENCY + - TIMESTAMP + - DOMAIN_NAME + description: >- + Things like URL, Email, Currency, Timestamp (rather than string, + int64...) enumDescriptions: - '' - '' - '' - '' - audit: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit - suspensionId: - type: string - description: Primary key for the SuspensionResolutionInfoTable. - createdTimestamp: - description: Auto-generated. - type: string - format: google-datetime - workflowName: - description: Required. The name of the originating workflow. - type: string - encryptedSuspensionResolutionInfo: - description: Encrypted SuspensionResolutionInfo - type: string - format: byte - suspensionConfig: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuspensionConfig' - EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot: - id: EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot - type: object - properties: - diffParams: - description: The parameters in Event object that differs from last snapshot. - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - taskExecutionDetails: - description: All of the task execution details at the given point of time. - items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoTaskExecutionDetails - type: array - eventExecutionSnapshotMetadata: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata - eventExecutionInfoId: - type: string - description: Points to the event execution info this snapshot belongs to. - eventExecutionSnapshotId: + - '' + - >- + Domain is a web url string with one top-level private domain and a + suffix (for example: google.com, walmart.com) type: string + isSearchable: + type: boolean + deprecated: true description: >- - Auto-generated. Used as primary key for EventExecutionSnapshots - table. - eventParams: - description: The parameters in Event object. - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - checkpointTaskNumber: + Used to indicate if a ParameterEntry should be converted to + ParamIndexes for ST-Spanner full-text search. DEPRECATED: use + searchable. + isRequired: + type: boolean description: >- - Indicates "right after which checkpoint task's execution" this - snapshot is taken. - type: string - conditionResults: - description: All of the computed conditions that been calculated. - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoConditionResult' - type: array - snapshotTime: - format: int64 - description: Indicates when this snapshot is taken. - type: string - taskName: - deprecated: true + Required for event execution. The validation will be done by the + event bus when the event is triggered. + logSettings: + description: See + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoLogSettings' + masked: + type: boolean + description: True if this workflow parameter should be masked in the logs + searchable: + enumDescriptions: + - '' + - >- + If yes, the parameter key and value will be full-text indexed. In + a proto, this value will propagate to all children whose + searchable is unspecified. + - >- + If no, the parameter key and value will not be full-text indexed. + In a proto, this value will propagate to all children whose + searchable is unspecified. + enum: + - UNSPECIFIED + - 'YES' + - 'NO' type: string - description: The task name associated with this snapshot. Could be empty. - EnterpriseCrmEventbusProtoProtoParameterArray: - properties: - protoValues: - items: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: array - type: object - id: EnterpriseCrmEventbusProtoProtoParameterArray - GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails: - description: Sub Integration which would be created via templates. - id: GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails + id: EnterpriseCrmEventbusProtoAttributes + EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition: type: object + id: EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition properties: - integration: - description: >- - Required. Name of the sub integration which would be created via - templates. - type: string - integrationDescription: + fullName: type: string description: >- - Optional. Description of the sub integration which would be created - via templates. - GoogleCloudConnectorsV1Destination: + The fully-qualified proto name. This message, for example, would be + "enterprise.crm.eventbus.proto.ParamSpecEntry.ProtoDefinition". + path: + type: string + description: Path to the proto file that contains the message type's definition. + GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest: + id: GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest + description: Request for UploadIntegrationVersion. type: object properties: - port: - format: int32 - type: integer - description: >- - The port is the target port number that is accepted by the - destination. - serviceAttachment: - description: >- - PSC service attachments. Format: - projects/*/regions/*/serviceAttachments/* - deprecated: true + fileFormat: + enumDescriptions: + - Unspecified file format + - JSON File Format + - YAML File Format + enum: + - FILE_FORMAT_UNSPECIFIED + - JSON + - YAML + description: File format for upload request. type: string - host: - description: For publicly routable host. + content: type: string - id: GoogleCloudConnectorsV1Destination - EnterpriseCrmFrontendsEventbusProtoParameterValueType: - description: 'To support various types of parameter values. Next available id: 14' - id: EnterpriseCrmFrontendsEventbusProtoParameterValueType + description: The textproto of the IntegrationVersion. + EnterpriseCrmEventbusProtoDoubleParameterArray: + properties: + doubleValues: + type: array + items: + format: double + type: number + type: object + id: EnterpriseCrmEventbusProtoDoubleParameterArray + EnterpriseCrmEventbusProtoParameterValueType: + id: EnterpriseCrmEventbusProtoParameterValueType + description: >- + LINT.IfChange To support various types of parameter values. Next + available id: 14 type: object properties: stringValue: type: string + protoArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoProtoParameterArray' doubleValue: - type: number format: double + type: number + intValue: + type: string + format: int64 + doubleArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleParameterArray' + serializedObjectValue: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoSerializedObjectParameter + intArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntParameterArray' protoValue: additionalProperties: - description: Properties of the object. Contains field @type with type URL. type: any + description: Properties of the object. Contains field @type with type URL. type: object stringArray: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoStringParameterArray + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringParameterArray' booleanValue: type: boolean - intArray: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoIntParameterArray - jsonValue: - type: string - serializedObjectValue: + booleanArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBooleanParameterArray' + GoogleCloudConnectorsV1AuthConfig: + id: GoogleCloudConnectorsV1AuthConfig + description: AuthConfig defines details of a authentication type. + properties: + additionalVariables: + type: array + description: List containing additional auth configs. + items: + $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + oauth2ClientCredentials: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter - doubleArray: + #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials + description: Oauth2ClientCredentials. + oauth2JwtBearer: + description: Oauth2JwtBearer. $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray - booleanArray: + #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer + oauth2AuthCodeFlow: + description: Oauth2AuthCodeFlow. $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray - protoArray: + #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow + oauth2AuthCodeFlowGoogleManaged: + description: Oauth2AuthCodeFlowGoogleManaged. $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoProtoParameterArray - intValue: + #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged + sshPublicKey: + description: SSH Public Key. + $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfigSshPublicKey' + authType: + description: The type of authentication configured. + enum: + - AUTH_TYPE_UNSPECIFIED + - USER_PASSWORD + - OAUTH2_JWT_BEARER + - OAUTH2_CLIENT_CREDENTIALS + - SSH_PUBLIC_KEY + - OAUTH2_AUTH_CODE_FLOW + - GOOGLE_AUTHENTICATION + - OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED + enumDescriptions: + - Authentication type not specified. + - Username and Password Authentication. + - >- + JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant + based authentication + - Oauth 2.0 Client Credentials Grant Authentication + - SSH Public Key Authentication + - Oauth 2.0 Authorization Code Flow + - Google authentication + - >- + Oauth 2.0 Authorization Code Flow with Google Provided OAuth + Client type: string - format: int64 - EnterpriseCrmEventbusProtoCustomSuspensionRequest: - properties: - postToQueueWithTriggerIdRequest: - $ref: >- - #/components/schemas/GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest - description: Request to fire an event containing the SuspensionInfo message. - suspensionInfoEventParameterKey: - description: >- - In the fired event, set the SuspensionInfo message as the value for - this key. + userPassword: + description: UserPassword. + $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfigUserPassword' + authKey: + description: Identifier key for auth config type: string - id: EnterpriseCrmEventbusProtoCustomSuspensionRequest type: object - EnterpriseCrmEventbusProtoEventExecutionDetails: + GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest: + properties: + scriptId: + description: The id of the Apps Script project to be linked. + type: string type: object - description: >- - 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 + description: Request for LinkAppsScriptProject rpc call. + id: GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest + EnterpriseCrmEventbusProtoTaskMetadata: properties: - nextExecutionTime: - format: int64 + tags: + type: array description: >- - Next scheduled execution time in case the execution status was - RETRY_ON_HOLD. - type: string - eventExecutionSnapshot: + A set of tags that pertain to a particular task. This can be used to + improve the searchability of tasks with several names ("REST Caller" + vs. "Call REST Endpoint") or to help users find tasks based on + related words. items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionSnapshot - type: array - eventAttemptStats: + type: string + defaultJsonValidationOption: + enum: + - UNSPECIFIED_JSON_VALIDATION_OPTION + - SKIP + - PRE_EXECUTION + - POST_EXECUTION + - PRE_POST_EXECUTION + type: string + enumDescriptions: + - >- + As per the default behavior, no validation will be run. Will not + override any option set in a Task. + - Do not run any validation against JSON schemas. + - >- + Validate all potential input JSON parameters against schemas + specified in WorkflowParameters. + - >- + Validate all potential output JSON parameters against schemas + specified in WorkflowParameters. + - Perform both PRE_EXECUTION and POST_EXECUTION validations. + description: >- + Controls whether JSON workflow parameters are validated against + provided schemas before and/or after this task's execution. + admins: items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskMetadataAdmin' type: array - logFilePath: - type: string - description: The log file path (aka. cns address) for this event. - cancelReason: + standaloneExternalDocHtml: type: string description: >- - If the execution is manually canceled, this field will contain the - reason for cancellation. - ryeLockUnheldCount: + External-facing documention for standalone IP in pantheon embedded + in the RHP for this task. Non null only if different from + external_doc_html + externalDocLink: + description: Doc link for external-facing documentation (separate from g3doc). + type: string + status: description: >- - Used internally and shouldn't be exposed to users. A counter for the - cron job to record how many times this event is in in_process state - but don't have a lock consecutively/ - type: integer - format: int32 - eventExecutionState: + Allows author to indicate if the task is ready to use or not. If not + set, then it will default to INACTIVE. + enum: + - UNSPECIFIED_STATUS + - DEFAULT_INACTIVE + - ACTIVE enumDescriptions: - - '' - - >- - Event is received and waiting for the execution. This happens when - firing the event via "postToQueue" or "schedule". - - Event is under processing. - - >- - Event execution successfully finished. There's no more change - after this state. - - Event execution failed. There's no more change after this state. - >- - Event execution canceled by user. There's no more change after - this state. - - Event execution failed and waiting for retry. - - Event execution suspended and waiting for manual intervention. + Default value. Actual Task Status should always be set to either + INACTIVE or ACTIVE. If none is specified at runtime, it will be + set to INACTIVE. + - Still in-progress or incomplete, and not intended for use. + - Available for use. type: string - enum: - - UNSPECIFIED - - ON_HOLD - - IN_PROCESS - - SUCCEEDED - - FAILED - - CANCELED - - RETRY_ON_HOLD - - SUSPENDED - eventExecutionSnapshotsSize: - format: int64 + isDeprecated: + description: The deprecation status of the current task. Default value is false; + type: boolean + iconLink: + description: >- + URL to gstatic image icon for this task. This icon shows up on the + task list panel along with the task name in the Workflow Editor + screen. Use the 24p, 2x, gray color icon image format. type: string - description: Total size of all event_execution_snapshots for an execution - eventRetriesFromBeginningCount: - type: integer + externalCategorySequence: format: int32 + type: integer description: >- - Indicates the number of times the execution has restarted from the - beginning. - networkAddress: - description: >- - The network address (aka. bns address) that indicates where the - event executor is running. + Sequence with which the task in specific category to be displayed in + task discovery panel for external users. + descriptiveName: type: string - id: EnterpriseCrmEventbusProtoEventExecutionDetails - GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue: - description: >- - The threshold value of the metric, above or below which the alert should - be triggered. See EventAlertConfig or TaskAlertConfig for the different - alert metric types in each case. For the *RATE metrics, one or both of - these fields may be set. Zero is the default value and can be left at - that. For *PERCENTILE_DURATION metrics, one or both of these fields may - be set, and also, the duration threshold value should be specified in - the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, - these fields should not be set at all. A different member, - threshold_duration_ms, must be set in the EventAlertConfig or the - TaskAlertConfig. - properties: - absolute: - format: int64 + description: >- + The string name to show on the task list on the Workflow editor + screen. This should be a very short, one to two words name for the + task. (e.g. "Send Mail") + externalDocMarkdown: type: string - description: Absolute value threshold. - percentage: - format: int32 - description: Percentage threshold. - type: integer - id: GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue - type: object - GoogleCloudConnectorsV1ConnectorVersionInfraConfig: - id: GoogleCloudConnectorsV1ConnectorVersionInfraConfig - description: >- - This cofiguration provides infra configs like rate limit threshold which - need to be configurable for every connector version - type: object - properties: - deploymentModelMigrationState: + description: 'DEPRECATED: Use external_doc_html.' + system: type: string - enumDescriptions: - - Deployment model migration state is not specified. - - Deployment model migration is in progress. - - Deployment model migration is completed. - - Deployment model migration rolledback. - - Deployment model migration rollback in progress. - readOnly: true - description: Output only. Status of the deployment model migration. enum: - - DEPLOYMENT_MODEL_MIGRATION_STATE_UNSPECIFIED - - IN_PROGRESS - - COMPLETED - - ROLLEDBACK - - ROLLBACK_IN_PROGRESS - resourceRequests: - $ref: '#/components/schemas/GoogleCloudConnectorsV1ResourceRequests' - description: Output only. System resource requests. - readOnly: true - resourceLimits: - description: Output only. System resource limits. - readOnly: true - $ref: '#/components/schemas/GoogleCloudConnectorsV1ResourceLimits' - deploymentModel: + - UNSPECIFIED_SYSTEM + - GENERIC + - BUGANIZER + - SALESFORCE + - CLOUD_SQL + - PLX + - SHEETS + - GOOGLE_GROUPS + - EMAIL + - SPANNER + - DATA_BRIDGE + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + g3DocLink: type: string + description: URL to the associated G3 Doc for the task if available + externalCategory: enumDescriptions: - - Deployment model is not specified. - - Default model gke mst. - - Cloud run mst. - enum: - - DEPLOYMENT_MODEL_UNSPECIFIED - - GKE_MST - - CLOUD_RUN_MST - description: Optional. Indicates whether connector is deployed on GKE/CloudRun - maxInstanceRequestConcurrency: - format: int32 - type: integer - readOnly: true - description: Output only. Max instance request concurrency. - hpaConfig: - readOnly: true - $ref: '#/components/schemas/GoogleCloudConnectorsV1HPAConfig' - description: Output only. HPA autoscaling config. - sharedDeployment: - description: Output only. The name of shared connector deployment. - readOnly: true + - '' + - '' + - '' + - HTTP tasks, e.g. rest api call task + - Integration services, e.g. connector task + - Customer ations, e.g. email task + - Flow control, e.g. while loop task + - Workspace tasks, e.g. list drive task + - Security, e.g. kms related tasks + - Database operation tasks, e.g. read firestore info tasks + - Analytics tasks, e.g. dataflow creattion tasks + - BYOC tasks + - BYOT tasks + - AI related tasks. + - Data manipulation related tasks, e.g. data mapping task type: string - ratelimitThreshold: + enum: + - UNSPECIFIED_EXTERNAL_CATEGORY + - CORE + - CONNECTORS + - EXTERNAL_HTTP + - EXTERNAL_INTEGRATION_SERVICES + - EXTERNAL_CUSTOMER_ACTIONS + - EXTERNAL_FLOW_CONTROL + - EXTERNAL_WORKSPACE + - EXTERNAL_SECURITY + - EXTERNAL_DATABASES + - EXTERNAL_ANALYTICS + - EXTERNAL_BYOC + - EXTERNAL_BYOT + - EXTERNAL_ARTIFICIAL_INTELIGENCE + - EXTERNAL_DATA_MANIPULATION + name: type: string description: >- - Output only. Max QPS supported by the connector version before - throttling of requests. - format: int64 - readOnly: true - internalclientRatelimitThreshold: - readOnly: true + The actual class name or the annotated name of the task. Task Author + should initialize this field with value from the getName() method of + the Task class. + defaultSpec: + type: string description: >- - Output only. Max QPS supported for internal requests originating - from Connd. - format: int64 + Contains the initial configuration of the task with default values + set. For now, The string should be compatible to an ASCII-proto + format. + category: + type: string + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - Internal IP tasks that should not be available in the UI. + - Tasks that are relevant to cloud systems teams and typically + - Task entities that derive from a custom task template. + - Category to show task recommendations + enum: + - UNSPECIFIED_CATEGORY + - CUSTOM + - FLOW_CONTROL + - DATA_MANIPULATION + - SCRIPTING + - CONNECTOR + - HIDDEN + - CLOUD_SYSTEMS + - CUSTOM_TASK_TEMPLATE + - TASK_RECOMMENDATIONS + activeTaskName: type: string - connectionRatelimitWindowSeconds: - readOnly: true description: >- - Output only. The window used for ratelimiting runtime requests to - connections. + The new task name to replace the current task if it is deprecated. + Otherwise, it is the same as the current task name. + externalDocHtml: type: string - format: int64 - GoogleCloudConnectorsV1BillingConfig: - description: Billing config for the connection. - type: object - id: GoogleCloudConnectorsV1BillingConfig - properties: - billingCategory: - description: Output only. Billing category for the connector. - enumDescriptions: - - Billing category is not specified. - - GCP/Technical connector. - - Non-GCP connector. - enum: - - BILLING_CATEGORY_UNSPECIFIED - - GCP_AND_TECHNICAL_CONNECTOR - - NON_GCP_CONNECTOR + description: External-facing documention embedded in the RHP for this task. + docMarkdown: type: string - readOnly: true - GoogleCloudIntegrationsV1alphaDownloadTemplateResponse: - type: object - properties: - content: - description: String representation of the template. + description: Snippet of markdown documentation to embed in the RHP for this task. + codeSearchLink: + description: The Code Search link to the Task Java file. type: string - description: Response for DownloadTemplate. - id: GoogleCloudIntegrationsV1alphaDownloadTemplateResponse - EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails: + description: + description: In a few sentences, describe the purpose and usage of the task. + type: string + id: EnterpriseCrmEventbusProtoTaskMetadata + type: object description: >- - 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 - id: EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails + TaskMetadata are attributes that are associated to every common Task we + have. + EnterpriseCrmEventbusProtoBaseValue: + type: object properties: - eventAttemptStats: - items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats - type: array - eventExecutionSnapshotsSize: - format: int64 - description: Total size of all event_execution_snapshots for an execution - type: string - ryeLockUnheldCount: - format: int32 - type: integer - description: >- - Used internally and shouldn't be exposed to users. A counter for the - cron job to record how many times this event is in in_process state - but don't have a lock consecutively/ - cancelReason: + referenceValue: type: string + description: Start with a reference value to dereference. + literalValue: + description: Start with a literal value. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' + baseFunction: description: >- - If the execution is manually canceled, this field will contain the - reason for cancellation. - eventExecutionState: + Start with a function that does not build on existing values. Eg. + CurrentTime, Min, Max, Exists, etc. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFunction' + id: EnterpriseCrmEventbusProtoBaseValue + EnterpriseCrmEventbusProtoErrorDetail: + description: An error, warning, or information message associated with a workflow. + type: object + id: EnterpriseCrmEventbusProtoErrorDetail + properties: + severity: + enum: + - SEVERITY_UNSPECIFIED + - ERROR + - WARN + - INFO + description: 'The severity of the error: ERROR|WARN|INFO.' type: string enumDescriptions: - '' - - >- - Event is received and waiting for the execution. This happens when - firing the event via "postToQueue" or "schedule". - - Event is under processing. - - >- - Event execution successfully finished. There's no more change - after this state. - - Event execution failed. There's no more change after this state. - - >- - Event execution canceled by user. There's no more change after - this state. - - Event execution failed and waiting for retry. - - Event execution suspended and waiting for manual intervention. - description: The execution state of this event. - enum: - - UNSPECIFIED - - ON_HOLD - - IN_PROCESS - - SUCCEEDED - - FAILED - - CANCELED - - RETRY_ON_HOLD - - SUSPENDED - nextExecutionTime: - description: >- - Next scheduled execution time in case the execution status was - RETRY_ON_HOLD. - format: int64 - type: string - eventRetriesFromBeginningCount: + - '' + - '' + - '' + taskNumber: description: >- - Indicates the number of times the execution has restarted from the - beginning. + The task try-number, in which, the error occurred. If zero, the + error happened at the event level. type: integer format: int32 - networkAddress: + errorMessage: description: >- - The network address (aka. bns address) that indicates where the - event executor is running. + The full text of the error message, including any parameters that + were thrown along with the exception. type: string - eventExecutionSnapshot: + errorCode: + description: The associated error-code, which can be a common or internal code. + $ref: '#/components/schemas/CrmlogErrorCode' + EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam: + id: EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam + type: object + properties: + scope: + type: string + description: A space-delimited list of requested scope permissions. + allowedServiceAccountInContext: + type: boolean + allowedCredentialTypes: + items: + type: string + enum: + - CREDENTIAL_TYPE_UNSPECIFIED + - USERNAME_AND_PASSWORD + - API_KEY + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_IMPLICIT + - OAUTH2_CLIENT_CREDENTIALS + - OAUTH2_RESOURCE_OWNER_CREDENTIALS + - JWT + - AUTH_TOKEN + - SERVICE_ACCOUNT + - CLIENT_CERTIFICATE_ONLY + - OIDC_TOKEN + enumDescriptions: + - '' + - Regular username/password pair. + - API key. + - OAuth 2.0 Authorization Code Grant Type. + - OAuth 2.0 Implicit Grant Type. + - OAuth 2.0 Client Credentials Grant Type. + - OAuth 2.0 Resource Owner Credentials Grant Type. + - JWT Token. + - Auth Token, e.g. bearer token. + - >- + Service Account which can be used to generate token for + authentication. + - Client Certificate only. + - Google OIDC ID Token type: array description: >- - After snapshot migration, this field will no longer be populated, - but old execution snapshots will still be accessible. - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot - logFilePath: - description: The log file path (aka. cns address) for this event. + Defines the credential types to be supported as Task may restrict + specific types to use, e.g. Cloud SQL Task will use + username/password type only. + useServiceAccountInContext: + type: boolean + authConfigId: + description: UUID of the AuthConfig. type: string + GoogleCloudIntegrationsV1alphaFailurePolicy: + description: >- + Policy that defines the task retry logic and failure type. If no + FailurePolicy is defined for a task, all its dependent tasks will not be + executed (i.e, a `retry_strategy` of NONE will be applied). type: object - GoogleCloudIntegrationsV1alphaGenerateTokenResponse: - description: Returns success or error message - id: GoogleCloudIntegrationsV1alphaGenerateTokenResponse + id: GoogleCloudIntegrationsV1alphaFailurePolicy properties: - message: + maxRetries: + type: integer + description: >- + Required if retry_strategy is FIXED_INTERVAL or + LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines + the number of times the task will be retried if failed. + format: int32 + retryStrategy: + type: string + enumDescriptions: + - UNSPECIFIED. + - >- + Ignores the failure of this task. The rest of the integration will + be executed Assuming this task succeeded. + - >- + Causes a permanent failure of the task. However, if the last + task(s) of event was successfully completed despite the failure of + this task, it has no impact on the integration. + - >- + Causes a permanent failure of the event. It is different from NONE + because this will mark the event as FAILED by shutting down the + event execution. + - >- + The task will be retried from the failed task onwards after a + fixed delay. A max-retry count is required to be specified with + this strategy. A jitter is added to each exponential interval so + that concurrently failing tasks of the same type do not end up + retrying after the exact same exponential interval. max_retries + and interval_in_seconds must be specified. + - >- + The task will be retried from the failed task onwards after a + fixed delay that linearly increases with each retry attempt. A + jitter is added to each exponential interval so that concurrently + failing tasks of the same type do not end up retrying after the + exact same exponential interval. A max-retry count is required to + be specified with this strategy. max_retries and + interval_in_seconds must be specified. + - >- + The task will be retried after an exponentially increasing period + of time with each failure. A jitter is added to each exponential + interval so that concurrently failing tasks of the same type do + not end up retrying after the exact same exponential interval. A + max-retry count is required to be specified with this strategy. + `max_retries` and `interval_in_seconds` must be specified. + - >- + The entire integration will be restarted with the initial + parameters that were set when the event was fired. A max-retry + count is required to be specified with this strategy. + `max_retries` and `interval_in_seconds` must be specified. + description: Defines what happens to the task upon failure. + enum: + - RETRY_STRATEGY_UNSPECIFIED + - IGNORE + - NONE + - FATAL + - FIXED_INTERVAL + - LINEAR_BACKOFF + - EXPONENTIAL_BACKOFF + - RESTART_INTEGRATION_WITH_BACKOFF + intervalTime: type: string - description: The message that notifies the user if the request succeeded or not. - type: object - GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials: - description: >- - Parameters to support Oauth 2.0 Client Credentials Grant Authentication. - See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details. - type: object - properties: - clientId: - description: The client identifier. + format: google-datetime + description: >- + Required if retry_strategy is FIXED_INTERVAL or + LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines + the initial interval in seconds for backoff. + condition: type: string - clientSecret: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: Secret version reference containing the client secret. - id: GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials - EnterpriseCrmEventbusProtoParameterValueType: + description: >- + Optional. The string condition that will be evaluated to determine + if the task should be retried with this failure policy. + GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig: type: object - description: >- - LINT.IfChange To support various types of parameter values. Next - available id: 14 - id: EnterpriseCrmEventbusProtoParameterValueType properties: - protoArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoProtoParameterArray' - doubleArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleParameterArray' - stringValue: - type: string - intValue: - type: string - format: int64 - doubleValue: - type: number - format: double - booleanValue: - type: boolean - serializedObjectValue: + expiration: $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoSerializedObjectParameter - intArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntParameterArray' - booleanArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBooleanParameterArray' - stringArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringParameterArray' - protoValue: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - EnterpriseCrmEventbusProtoIntArray: - type: object - properties: - values: + #/components/schemas/GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration + description: >- + Indicates the next steps when no external actions happen on the + suspension. + emailAddresses: + description: Email addresses to send approval request to. type: array items: type: string - format: int64 - id: EnterpriseCrmEventbusProtoIntArray - EnterpriseCrmEventbusProtoParameterMapField: - id: EnterpriseCrmEventbusProtoParameterMapField - properties: - literalValue: - description: Passing a literal value. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' - referenceKey: - description: Referencing one of the WF variables. + customMessage: type: string - type: object - description: Field represents either the key or value in an entry. - EnterpriseCrmEventbusProtoIntArrayFunction: + description: Information to provide for recipients. + id: GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig + description: Configurations for approving the Suspension. + GoogleCloudIntegrationsV1alphaListCertificatesResponse: + description: Response to list Certificates. + id: GoogleCloudIntegrationsV1alphaListCertificatesResponse properties: - functionName: + nextPageToken: + description: The token used to retrieve the next page of results. type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - GET - - APPEND - - SIZE - - SUM - - AVG - - MAX - - MIN - - TO_SET - - APPEND_ALL - - TO_JSON - - SET - - REMOVE - - REMOVE_AT - - CONTAINS - - FOR_EACH - - FILTER - id: EnterpriseCrmEventbusProtoIntArrayFunction + certificates: + type: array + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + description: The list of Certificates retrieved. type: object - EnterpriseCrmEventbusProtoEventExecutionSnapshot: - description: >- - Contains the snapshot of the event execution for a given checkpoint. - Next available id: 15 - id: EnterpriseCrmEventbusProtoEventExecutionSnapshot + GoogleCloudIntegrationsV1alphaSfdcInstance: type: object properties: - eventParams: - description: The parameters in Event object. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' - diffParams: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' - description: The parameters in Event object that differs from last snapshot. - eventExecutionInfoId: + description: type: string - description: Points to the event execution info this snapshot belongs to. - clientId: + description: A description of the sfdc instance. + updateTime: + format: google-datetime + readOnly: true + description: Output only. Time when the instance was last updated type: string - description: Client that the execution snapshot is associated to. - checkpointTaskNumber: + displayName: type: string - description: >- - Indicates "right after which checkpoint task's execution" this - snapshot is taken. - snapshotTime: - format: int64 - description: Indicates when this snapshot is taken. + description: User selected unique name/alias to easily reference an instance. + sfdcOrgId: + description: The SFDC Org Id. This is defined in salesforce. type: string - conditionResults: - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoConditionResult' + authConfigId: + description: A list of AuthConfigs that can be tried to open the channel to SFDC type: array - description: All of the computed conditions that been calculated. - eventExecutionSnapshotMetadata: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata - taskExecutionDetails: items: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoTaskExecutionDetails - description: All of the task execution details at the given point of time. - type: array - exceedMaxSize: - type: boolean - description: indicate whether snapshot exceeded maximum size before clean up - eventExecutionSnapshotId: + type: string + deleteTime: type: string + readOnly: true description: >- - Auto-generated. Used as primary key for EventExecutionSnapshots - table. - workflowName: + Output only. Time when the instance was deleted. Empty if not + deleted. + format: google-datetime + serviceAuthority: + description: >- + URL used for API calls after authentication (the login authority is + configured within the referenced AuthConfig). type: string - description: Name of the workflow this event execution snapshot belongs to. - taskName: - description: The task name associated with this snapshot. Could be empty. + createTime: + readOnly: true type: string - deprecated: true - GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest: - type: object - description: Request for LinkAppsScriptProject rpc call. - id: GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest - properties: - scriptId: - description: The id of the Apps Script project to be linked. + format: google-datetime + description: Output only. Time when the instance is created + name: + description: >- + Resource name of the SFDC instance + projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}. type: string - GoogleCloudIntegrationsV1alphaExecuteEventResponse: - description: The response for executing an integration. + description: >- + The SfdcInstance resource use to hold channels and connection config + data. + id: GoogleCloudIntegrationsV1alphaSfdcInstance + GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode: + id: GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode + description: >- + The OAuth Type where the client sends request with the client id and + requested scopes to auth endpoint. User sees a consent screen and auth + code is received at specified redirect url afterwards. The auth code is + then combined with the client id and secret and sent to the token + endpoint in exchange for the access and refresh token. The refresh token + can be used to fetch new access tokens. properties: - executionId: + tokenEndpoint: + description: The token url endpoint to send the token request to. type: string - description: The id of the execution corresponding to this run of integration. - type: object - id: GoogleCloudIntegrationsV1alphaExecuteEventResponse - EnterpriseCrmEventbusProtoBuganizerNotification: - type: object - properties: - componentId: - format: int64 + tokenParams: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' + description: The token parameters sent along with the token request. + applyReauthPolicy: + type: boolean description: >- - ID of the buganizer component within which to create a new issue. - Required. + Indicates if the user has opted in Google Reauth Policy. If opted + in, the refresh token will be valid for 20 hours, after which time + users must re-authenticate in order to obtain a new one. + authEndpoint: type: string - assigneeEmailAddress: - description: Whom to assign the new bug. Optional. + description: The auth url endpoint to send the auth code request to. + scope: + description: A space-delimited list of requested scope permissions. type: string - templateId: - format: int64 + requestType: + description: Represent how to pass parameters to fetch access token + enum: + - REQUEST_TYPE_UNSPECIFIED + - REQUEST_BODY + - QUERY_PARAMETERS + - ENCODED_HEADER + enumDescriptions: + - Unspecified request type + - To pass all the parameters in post body. + - To pass all the parameters as a part of query parameter. + - >- + To pass client id and client secret as base 64 encoding of + client_id:client_password and rest parameters in post body. type: string - description: ID of the buganizer template to use. Optional. - title: - description: Title of the issue to be created. Required. + clientSecret: type: string - id: EnterpriseCrmEventbusProtoBuganizerNotification - EnterpriseCrmEventbusProtoBaseValue: - id: EnterpriseCrmEventbusProtoBaseValue + description: The client's secret. + clientId: + description: The client's id. + type: string + authCode: + description: The Auth Code that is used to initially retrieve the access token. + type: string + accessToken: + description: The access token received from the token endpoint. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAccessToken' + authParams: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' + description: The auth parameters sent along with the auth code request. type: object + GoogleCloudConnectorsV1LockConfig: + id: GoogleCloudConnectorsV1LockConfig + type: object + description: >- + Determines whether or no a connection is locked. If locked, a reason + must be specified. properties: - referenceValue: + locked: + type: boolean + description: Indicates whether or not the connection is locked. + reason: type: string - description: Start with a reference value to dereference. - literalValue: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' - description: Start with a literal value. - baseFunction: - description: >- - Start with a function that does not build on existing values. Eg. - CurrentTime, Min, Max, Exists, etc. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFunction' - GoogleCloudIntegrationsV1alphaListTemplatesResponse: - description: Response for a request to list templates - id: GoogleCloudIntegrationsV1alphaListTemplatesResponse + description: Describes why a connection is locked. + GoogleCloudIntegrationsV1alphaBooleanParameterArray: properties: - templates: - type: array - description: List of templates retrieved. + booleanValues: + description: Boolean array. items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' - nextPageToken: - description: The token used to retrieve the next page results. - type: string + type: boolean + type: array + description: This message only contains a field of boolean array. + id: GoogleCloudIntegrationsV1alphaBooleanParameterArray type: object - GoogleCloudIntegrationsV1alphaTaskConfig: + GoogleCloudIntegrationsV1alphaIntegrationVersion: properties: - taskTemplate: - description: >- - Optional. Used to define task-template name if task is of type - task-template + lastModifierEmail: type: string - failurePolicy: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' - description: >- - Optional. Determines the number of times the task will be retried on - failure and with what retry strategy. This is applicable for - asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.). - taskId: description: >- - Required. The identifier of this task within its parent event - config, specified by the client. This should be unique among all the - tasks belong to the same event config. We use this field as the - identifier to find next tasks (via field `next_tasks.task_id`). + Optional. The last modifier's email address. Generated based on the + End User Credentials/LOAS role of the user making the call. + createdFromTemplate: type: string - nextTasksExecutionPolicy: - enumDescriptions: - - Default. - - Execute all the tasks that satisfy their associated condition. - - Execute the first task that satisfies the associated condition. - enum: - - NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED - - RUN_ALL_MATCH - - RUN_FIRST_MATCH description: >- - Optional. The policy dictating the execution of the next set of - tasks for the current task. - type: string - description: + Optional. Optional. The resource name of the template from which the + integration is created. + runAsServiceAccount: description: >- - Optional. User-provided description intended to give additional - business context about the task. + Optional. The run-as service account email, if set and auth config + is not configured, that will be used to generate auth token to be + used in Connector task, Rest caller task and Cloud function task. type: string - conditionalFailurePolicies: - description: >- - Optional. The list of conditional failure policies that will be - applied to the task in order. - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaConditionalFailurePolicies - successPolicy: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSuccessPolicy' + origin: + enumDeprecated: + - false + - false + - true + - false + - false + - false description: >- - Optional. Determines what action to take upon successful task - completion. - parameters: - description: Optional. The customized parameters the user can pass to this task. - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaEventParameter' - type: object - taskExecutionStrategy: - description: Optional. The policy dictating the execution strategy of this task. + Optional. The origin that indicates where this integration is coming + from. + type: string + deprecated: true enumDescriptions: + - '' + - Workflow is being created via event bus UI. - >- - Default. If the strategy is not set explicitly, it will default to - `WHEN_ALL_SUCCEED`. - - >- - Wait until all of its previous tasks finished execution, then - verify at least one of the edge conditions is met, and execute if - possible. This should be considered as WHEN_ALL_TASKS_SUCCEED. - - >- - Start execution as long as any of its previous tasks finished - execution and the corresponding edge condition is met (since we - will execute if only that succeeding edge condition is met). + User checked in this workflow in Piper as v2 textproto format and + we synced it into spanner. - >- - Wait until all of its previous tasks finished execution, then - verify the all edge conditions are met and execute if possible. + User checked in this workflow in piper as v3 textproto format and + we synced it into spanner. + - Workflow is being created via Standalone IP Provisioning + - Workflow is being created via Test Case. enum: - - TASK_EXECUTION_STRATEGY_UNSPECIFIED - - WHEN_ALL_SUCCEED - - WHEN_ANY_SUCCEED - - WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED - type: string - errorCatcherId: + - UNSPECIFIED + - UI + - PIPER_V2 + - PIPER_V3 + - APPLICATION_IP_PROVISIONING + - TEST_CASE + triggerConfigsInternal: + deprecated: true + description: Optional. Trigger configurations. + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoTriggerConfig + type: array + parentTemplateId: type: string description: >- - Optional. Optional Error catcher id of the error catch flow which - will be executed when execution error happens in the task - nextTasks: - type: array + Optional. The id of the template which was used to create this + integration_version. + updateTime: + description: Output only. Auto-generated. + readOnly: true + type: string + format: google-datetime + triggerConfigs: items: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaNextTask' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTriggerConfig' + description: Optional. Trigger configurations. + type: array + snapshotNumber: description: >- - Optional. The set of tasks that are next in line to be executed as - per the execution graph defined for the parent event, specified by - `event_config_id`. Each of these next tasks are executed only if the - condition associated with them evaluates to true. - synchronousCallFailurePolicy: + Optional. An increasing sequence that is set when a new snapshot is + created. The last created snapshot can be identified by + [workflow_name, org_id latest(snapshot_number)]. However, last + created snapshot need not be same as the HEAD. So users should + always use "HEAD" tag to identify the head. + format: int64 + type: string + errorCatcherConfigs: description: >- - Optional. Determines the number of times the task will be retried on - failure and with what retry strategy. This is applicable for - synchronous calls to Eventbus alone (Post). - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaFailurePolicy' - externalTaskType: - description: Optional. External task type of the task + Optional. Error Catch Task configuration for the integration. It's + optional. + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaErrorCatcherConfig + type: array + lockHolder: type: string - enumDescriptions: - - Default value. External task type is not specified - - Tasks belongs to the normal task flows - - Task belongs to the error catch task flows + description: >- + Optional. The edit lock holder's email address. Generated based on + the End User Credentials/LOAS role of the user making the call. + description: + type: string + description: Optional. The integration description. + databasePersistencePolicy: enum: - - EXTERNAL_TASK_TYPE_UNSPECIFIED - - NORMAL_TASK - - ERROR_TASK - displayName: + - DATABASE_PERSISTENCE_POLICY_UNSPECIFIED + - DATABASE_PERSISTENCE_DISABLED + - DATABASE_PERSISTENCE_ASYNC + enumDescriptions: + - Enables persistence for all execution data. + - Disables persistence for all execution data. + - Asynchronously persist all execution data. description: >- - Optional. User-provided label that is attached to this TaskConfig in - the UI. + Optional. Flag to disable database persistence for execution data, + including event execution info, execution export info, execution + metadata index and execution param index. type: string - jsonValidationOption: + integrationParametersInternal: description: >- - Optional. If set, overrides the option configured in the Task - implementation class. + Optional. Parameters that are expected to be passed to the + integration when an event is triggered. This consists of all the + parameters that are expected in the integration execution. This + gives the user the ability to provide default values, add + information like PII and also provide data types of each parameter. + deprecated: true + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoWorkflowParameters + state: enum: - - JSON_VALIDATION_OPTION_UNSPECIFIED - - SKIP - - PRE_EXECUTION - - POST_EXECUTION - - PRE_POST_EXECUTION - enumDescriptions: - - >- - As per the default behavior, no validation will be run. Will not - override any option set in a Task. - - Do not run any validation against JSON schemas. - - >- - Validate all potential input JSON parameters against schemas - specified in IntegrationParameter. - - >- - Validate all potential output JSON parameters against schemas - specified in IntegrationParameter. - - Perform both PRE_EXECUTION and POST_EXECUTION validations. + - INTEGRATION_STATE_UNSPECIFIED + - DRAFT + - ACTIVE + - ARCHIVED + - SNAPSHOT type: string - position: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCoordinate' + description: Output only. User should not set it as an input. + enumDescriptions: + - Default. + - Draft. + - Active. + - Archived. + - Snapshot. + readOnly: true + enableVariableMasking: + type: boolean description: >- - Optional. Informs the front-end application where to draw this error - catcher config on the UI. - task: - type: string - description: Optional. The name for the task. - description: >- - The task configuration details. This is not the implementation of Task. - There might be multiple TaskConfigs for the same Task. - type: object - id: GoogleCloudIntegrationsV1alphaTaskConfig - EnterpriseCrmEventbusProtoStringArrayFunction: - type: object - properties: - functionName: + Optional. True if variable masking feature should be turned on for + this version + status: + description: >- + Output only. Generated by eventbus. User should not set it as an + input. type: string + deprecated: true + readOnly: true + enum: + - UNKNOWN + - DRAFT + - ACTIVE + - ARCHIVED + - SNAPSHOT enumDescriptions: - '' - '' - '' - '' - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - GET - - APPEND - - SIZE - - TO_SET - - APPEND_ALL - - TO_JSON - - SET - - REMOVE - - REMOVE_AT - - CONTAINS - - FOR_EACH - - FILTER - id: EnterpriseCrmEventbusProtoStringArrayFunction - GoogleCloudIntegrationsV1alphaLiftSuspensionResponse: - properties: - eventExecutionInfoId: - type: string - description: Execution Id that will be returned - id: GoogleCloudIntegrationsV1alphaLiftSuspensionResponse - description: Response of lift Suspense - type: object - GoogleCloudConnectorsV1AuthConfigSshPublicKey: - id: GoogleCloudConnectorsV1AuthConfigSshPublicKey - description: Parameters to support Ssh public key Authentication. - type: object - properties: - sshClientCertPass: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: Password (passphrase) for ssh client certificate if it has one. - sshClientCert: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: SSH Client Cert. It should contain both public and private key. - username: - type: string - description: The user account used to authenticate. - certType: - type: string - description: Format of SSH Client cert. - GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate: - properties: - integrationVersion: + taskConfigs: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTaskConfig' + type: array + description: >- + Optional. Task configuration for the integration. It's optional, but + the integration doesn't do anything without task_configs. + integrationParameters: + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationParameter + description: >- + Optional. Parameters that are expected to be passed to the + integration when an event is triggered. This consists of all the + parameters that are expected in the integration execution. This + gives the user the ability to provide default values, add + information like PII and also provide data types of each parameter. + type: array + cloudLoggingDetails: + description: Optional. Cloud Logging details for the integration version $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - description: Required. Templatized version of integration. - key: - description: Required. Unique Key of the IntegrationVersion. - type: string - type: object - description: Define the template of IntegrationVersion. - id: GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate - EnterpriseCrmFrontendsEventbusProtoParameterMapField: - type: object - description: Field represents either the key or value in an entry. - id: EnterpriseCrmFrontendsEventbusProtoParameterMapField - properties: - referenceKey: - description: Referencing one of the WF variables. + #/components/schemas/GoogleCloudIntegrationsV1alphaCloudLoggingDetails + userLabel: + description: >- + Optional. A user-defined label that annotates an integration + version. Typically, this is only set when the integration version is + created. type: string - literalValue: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType - description: Passing a literal value. - EnterpriseCrmEventbusProtoScatterResponse: - id: EnterpriseCrmEventbusProtoScatterResponse - type: object - properties: - isSuccessful: + teardown: description: >- - If execution is sync, this is true if the execution passed and false - if it failed. If the execution is async, this is true if the WF was - fired off successfully, and false if it failed to execute. The - success or failure of the subworkflows executed are not captured. - type: boolean - scatterElement: - description: The element that was scattered for this execution. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterValueType' - executionIds: - description: The execution ids of each Subworkflow fired by this scatter. + Optional. Contains a graph of tasks that will be executed before + putting the event in a terminal state (SUCCEEDED/FAILED/FATAL), + regardless of success or failure, similar to "finally" in code. + deprecated: true + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTeardown' + taskConfigsInternal: + description: >- + Optional. Task configuration for the integration. It's optional, but + the integration doesn't do anything without task_configs. + deprecated: true type: array items: - type: string - responseParams: + $ref: '#/components/schemas/EnterpriseCrmFrontendsEventbusProtoTaskConfig' + name: + readOnly: true + type: string + description: Output only. Auto-generated primary key. + createTime: + description: Output only. Auto-generated. + format: google-datetime + readOnly: true + type: string + integrationConfigParameters: description: >- - A list of all the response parameters in the aggregtorMap stored - with the remapped key. + Optional. Config Parameters that are expected to be passed to the + integration when an integration is published. This consists of all + the parameters that are expected to provide configuration in the + integration execution. This gives the user the ability to provide + default values, value, add information like connection url, project + based configuration value and also provide data types of each + parameter. type: array items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterEntry' - errorMsg: - description: The error message of the failure if applicable. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationConfigParameter + type: object + id: GoogleCloudIntegrationsV1alphaIntegrationVersion + description: The integration version definition. + GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse: + type: object + properties: + files: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSerializedFile' + type: array + description: List containing String represendation for multiple file with type. + content: + description: String representation of the requested file. type: string - GoogleCloudIntegrationsV1alphaIntParameterArray: + description: Response for DownloadIntegrationVersion. + id: GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse + GoogleCloudIntegrationsV1alphaStringParameterArray: + description: This message only contains a field of string array. + type: object properties: - intValues: - description: Integer array. + stringValues: + type: array + description: String array. items: - format: int64 type: string - type: array - id: GoogleCloudIntegrationsV1alphaIntParameterArray + id: GoogleCloudIntegrationsV1alphaStringParameterArray + EnterpriseCrmEventbusProtoCustomSuspensionRequest: + id: EnterpriseCrmEventbusProtoCustomSuspensionRequest type: object - description: This message only contains a field of integer array. - GoogleCloudConnectorsV1Connection: + properties: + postToQueueWithTriggerIdRequest: + description: Request to fire an event containing the SuspensionInfo message. + $ref: >- + #/components/schemas/GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest + suspensionInfoEventParameterKey: + type: string + description: >- + In the fired event, set the SuspensionInfo message as the value for + this key. + GoogleCloudIntegrationsV1alphaAccessToken: + description: >- + The access token represents the authorization of a specific application + to access specific parts of a user’s data. type: object - id: GoogleCloudConnectorsV1Connection properties: - serviceAccount: + refreshTokenExpireTime: + format: google-datetime + type: string + description: The approximate time until the refresh token retrieved is valid. + refreshToken: description: >- - Optional. Service account needed for runtime plane to access Google - Cloud resources. + If the access token will expire, use the refresh token to obtain + another access token. type: string - suspended: - type: boolean + accessToken: description: >- - Optional. Suspended indicates if a user has suspended a connection - or not. - connectionRevision: - readOnly: true - format: int64 + The access token encapsulating the security identity of a process or + thread. + type: string + tokenType: type: string description: >- - Output only. Connection revision. This field is only updated when - the connection is created or updated by User. - envoyImageLocation: + Only support "bearer" token in v1 as bearer token is the predominant + type used with OAuth 2.0. + accessTokenExpireTime: + type: string description: >- - Output only. GCR location where the envoy image is stored. formatted - like: gcr.io/{bucketName}/{imageName} - readOnly: true + Required. The approximate time until the access token retrieved is + valid. + format: google-datetime + id: GoogleCloudIntegrationsV1alphaAccessToken + EnterpriseCrmEventbusProtoCloudSchedulerConfig: + id: EnterpriseCrmEventbusProtoCloudSchedulerConfig + type: object + description: Cloud Scheduler Trigger configuration + properties: + location: type: string - connectorVersionInfraConfig: - description: Output only. Infra configs supported by Connector Version. - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1ConnectorVersionInfraConfig - readOnly: true - name: description: >- - Output only. Resource name of the Connection. Format: - projects/{project}/locations/{location}/connections/{connection} - readOnly: true + Required. The location where associated cloud scheduler job will be + created + serviceAccountEmail: + description: >- + Required. Service account used by Cloud Scheduler to trigger the + integration at scheduled time type: string - isTrustedTester: - description: Output only. Is trusted tester program enabled for the project. - type: boolean - readOnly: true - sslConfig: - description: Optional. Ssl config of a connection - $ref: '#/components/schemas/GoogleCloudConnectorsV1SslConfig' - connectorVersion: + cronTab: + type: string + description: Required. The cron tab of cloud scheduler trigger. + errorMessage: type: string description: >- - Required. Connector version on which the connection is created. The - format is: - projects/*/locations/*/providers/*/connectors/*/versions/* Only - global location is supported for ConnectorVersion resource. - connectorVersionLaunchStage: + Optional. When the job was deleted from Pantheon UI, error_message + will be populated when Get/List integrations + EnterpriseCrmEventbusProtoLogSettings: + properties: + seedPeriod: + enum: + - SEED_PERIOD_UNSPECIFIED + - DAY + - WEEK + - MONTH enumDescriptions: - - LAUNCH_STAGE_UNSPECIFIED. - - PREVIEW. - - GA. - - DEPRECATED. - - PRIVATE_PREVIEW. + - '' + - Sanitized values remain constant for the day of the event. + - >- + Sanitized values remain constant for the week of the event; may + cross month boundaries. + - Sanitized values remain constant for the month of the event. type: string - description: Output only. Flag to mark the version indicating the launch stage. - readOnly: true - enum: - - LAUNCH_STAGE_UNSPECIFIED - - PREVIEW - - GA - - DEPRECATED - - PRIVATE_PREVIEW - tlsMigrationState: + seedScope: enumDescriptions: - - TLS migration state is not specified. - - TLS migration is in progress. - - TLS migration is completed. - description: Output only. Status of the TLS migration. + - '' + - Hash computations include the event name. + - Hash computations include a time period. + - Hash computations include the param name. type: string enum: - - TLS_MIGRATION_STATE_UNSPECIFIED - - TLS_MIGRATION_NOT_STARTED - - TLS_MIGRATION_COMPLETED - readOnly: true - labels: - additionalProperties: - type: string - type: object + - SEED_SCOPE_UNSPECIFIED + - EVENT_NAME + - TIME_PERIOD + - PARAM_NAME + logFieldName: + type: string description: >- - 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 - authConfig: - $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfig' + The name of corresponding logging field of the event property. If + omitted, assumes the same name as the event property key. + description: >- + The LogSettings define the logging attributes for an event property. + These attributes are used to map the property to the parameter in the + log proto. Also used to define scrubbing/truncation behavior and PII + information. + id: EnterpriseCrmEventbusProtoLogSettings + type: object + GoogleCloudIntegrationsV1alphaTemplate: + type: object + description: Defines the template for Application Integration + id: GoogleCloudIntegrationsV1alphaTemplate + properties: + visibility: + enum: + - VISIBILITY_UNSPECIFIED + - PRIVATE + - SHARED + - PUBLIC + enumDescriptions: + - Visibility is unspecified + - Visibility is private + - Visibility is shared + - Visibility is public + description: Required. Visibility of the template. + type: string + description: description: >- - Optional. Configuration for establishing the connection's - authentication with an external system. - host: - readOnly: true + Optional. Description of the template. The length should not be more + than 255 characters + type: string + components: + items: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaTemplateComponent description: >- - Output only. The name of the Hostname of the Service Directory - service with TLS. + Optional. Components being used in the template. This could be used + to categorize and filter. + type: array + templateBundle: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplateBundle' + description: >- + Required. Bundle which is part of the templates. The template + entities in the bundle would be converted to an actual entity. + usageInfo: + description: >- + Optional. Information on how to use the template. This should + contain detailed information about usage of the template. type: string - billingConfig: - description: Output only. Billing config for the connection. - readOnly: true - $ref: '#/components/schemas/GoogleCloudConnectorsV1BillingConfig' - asyncOperationsEnabled: - type: boolean + name: + description: Identifier. Resource name of the template. + type: string + categories: + description: >- + Required. Categories associated with the Template. The categories + listed below will be utilized for the Template listing. + type: array + items: + enumDescriptions: + - Category is unspecified + - AI_MACHINE_LEARNING + - BUSINESS_INTELLIGENCE + - COLLABORATION + - CUSTOMER_SERVICE + - DATAABASES + - DEVOPS_IT + - CONTENT_AND_FILES + - FINANCE_AND_ACCOUNTING + - HUMAN_RESOURCES + - OPERATIONS + - PRODUCT_PROJECT_MANAGEMENT + - PRODUCTIVITY + - SALES_AND_MARKETING + - UNIVERSAL_CONNECTORS + - UTILITY + - OTHERS + type: string + enum: + - CATEGORY_UNSPECIFIED + - AI_MACHINE_LEARNING + - BUSINESS_INTELLIGENCE + - COLLABORATION + - CUSTOMER_SERVICE + - DATABASES + - DEVOPS_IT + - CONTENT_AND_FILES + - FINANCE_AND_ACCOUNTING + - HUMAN_RESOURCES + - OPERATIONS + - PRODUCT_PROJECT_MANAGEMENT + - PRODUCTIVITY + - SALES_AND_MARKETING + - UNIVERSAL_CONNECTORS + - UTILITY + - OTHERS + sharedWith: + items: + type: string + type: array description: >- - 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. - tlsServiceDirectory: - description: Output only. The name of the Service Directory service with TLS. - readOnly: true - type: string - createTime: + Required. Resource names with which the template is shared for + example ProjectNumber/Ord id + lastUsedTime: + description: Optional. Time the template was last used. type: string format: google-datetime - description: Output only. Created time. - readOnly: true - configVariables: - items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + tags: type: array + items: + type: string description: >- - Optional. Configuration for configuring the connection with an - external system. - serviceDirectory: + Required. Tags which are used to identify templates. These tags + could be for business use case, connectors etc. + updateTime: readOnly: true - description: >- - Output only. The name of the Service Directory service name. Used - for Private Harpoon to resolve the ILB address. e.g. - "projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors" type: string - subscriptionType: - description: >- - Output only. This subscription type enum states the subscription - type of the project. + description: Output only. Auto-generated + format: google-datetime + docLink: + description: Optional. Link to template documentation. type: string - enum: - - SUBSCRIPTION_TYPE_UNSPECIFIED - - PAY_G - - PAID - readOnly: true - enumDescriptions: - - Unspecified subscription type. - - PayG subscription. - - Paid Subscription. - destinationConfigs: - description: >- - Optional. Configuration of the Connector's destination. Only - accepted for Connectors that accepts user defined destination(s). - items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1DestinationConfig' - type: array - lockConfig: - description: >- - Optional. Configuration that indicates whether or not the Connection - can be edited. - $ref: '#/components/schemas/GoogleCloudConnectorsV1LockConfig' - status: - readOnly: true - description: Output only. Current status of the connection. - $ref: '#/components/schemas/GoogleCloudConnectorsV1ConnectionStatus' - description: + usageCount: type: string - description: Optional. Description of the resource. - eventingRuntimeData: - readOnly: true - $ref: '#/components/schemas/GoogleCloudConnectorsV1EventingRuntimeData' - description: Output only. Eventing Runtime Data. - imageLocation: + description: Optional. Number of template usages. + format: int64 + author: + description: Optional. Creator of the template. type: string - description: >- - Output only. GCR location where the runtime image is stored. - formatted like: gcr.io/{bucketName}/{imageName} + createTime: + description: Output only. Auto-generated. + format: google-datetime readOnly: true - nodeConfig: - $ref: '#/components/schemas/GoogleCloudConnectorsV1NodeConfig' - description: Optional. Node configuration for the connection. - logConfig: - $ref: '#/components/schemas/GoogleCloudConnectorsV1LogConfig' - description: Optional. Log configuration for the connection. - eventingEnablementType: - enum: - - EVENTING_ENABLEMENT_TYPE_UNSPECIFIED - - EVENTING_AND_CONNECTION - - ONLY_EVENTING type: string - description: >- - Optional. Eventing enablement type. Will be nil if eventing is not - enabled. - enumDescriptions: - - Eventing Enablement Type Unspecifeied. - - Both connection and eventing. - - Only Eventing. - eventingConfig: - description: Optional. Eventing config of a connection - $ref: '#/components/schemas/GoogleCloudConnectorsV1EventingConfig' - updateTime: + displayName: type: string + description: Required. The name of the template + GoogleCloudIntegrationsV1alphaSuspensionAudit: + properties: + resolveTime: format: google-datetime - readOnly: true - description: Output only. Updated time. - description: Connection represents an instance of connector. - GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode: - id: GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode + type: string + description: Time at which this suspension was resolved. + resolver: + description: Email address of the person who resolved this suspension. + type: string type: object - description: >- - The OAuth Type where the client sends request with the client id and - requested scopes to auth endpoint. User sees a consent screen and auth - code is received at specified redirect url afterwards. The auth code is - then combined with the client id and secret and sent to the token - endpoint in exchange for the access and refresh token. The refresh token - can be used to fetch new access tokens. + id: GoogleCloudIntegrationsV1alphaSuspensionAudit + description: Contains when and by whom the suspension was resolved. + EnterpriseCrmEventbusProtoTeardownTaskConfig: + type: object + id: EnterpriseCrmEventbusProtoTeardownTaskConfig properties: - clientSecret: + name: type: string - description: The client's secret. - authParams: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' - description: The auth parameters sent along with the auth code request. - accessToken: - description: The access token received from the token endpoint. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAccessToken' - tokenParams: - description: The token parameters sent along with the token request. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' - requestType: - enum: - - REQUEST_TYPE_UNSPECIFIED - - REQUEST_BODY - - QUERY_PARAMETERS - - ENCODED_HEADER + description: >- + Required. Unique identifier of the teardown task within this Config. + We use this field as the identifier to find next teardown tasks. + creatorEmail: type: string - description: Represent how to pass parameters to fetch access token - enumDescriptions: - - Unspecified request type - - To pass all the parameters in post body. - - To pass all the parameters as a part of query parameter. - - >- - To pass client id and client secret as base 64 encoding of - client_id:client_password and rest parameters in post body. - authCode: - description: The Auth Code that is used to initially retrieve the access token. + description: The creator's email address. + nextTeardownTask: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNextTeardownTask' + properties: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventBusProperties' + teardownTaskImplementationClassName: type: string - scope: - description: A space-delimited list of requested scope permissions. + description: Required. Implementation class name. + parameters: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' + description: The parameters the user can pass to this task. + EnterpriseCrmEventbusProtoIntParameterArray: + id: EnterpriseCrmEventbusProtoIntParameterArray + type: object + properties: + intValues: + items: + format: int64 + type: string + type: array + EnterpriseCrmEventbusProtoExternalTraffic: + properties: + retryRequestForQuota: + description: Enqueue the execution request due to quota issue + type: boolean + enableInternalIp: + description: >- + Indicates the client enables internal IP feature, this is applicable + for internal clients only. + type: boolean + gcpProjectId: + description: User’s GCP project id the traffic is referring to. type: string - authEndpoint: - description: The auth url endpoint to send the auth code request to. + location: type: string - tokenEndpoint: - description: The token url endpoint to send the token request to. + description: Location for the user's request. + gcpProjectNumber: type: string - applyReauthPolicy: - type: boolean - description: >- - Indicates if the user has opted in Google Reauth Policy. If opted - in, the refresh token will be valid for 20 hours, after which time - users must re-authenticate in order to obtain a new one. - clientId: + description: User’s GCP project number the traffic is referring to. + source: + enumDescriptions: + - '' + - '' + - '' + enum: + - SOURCE_UNSPECIFIED + - APIGEE + - SECURITY type: string - description: The client's id. - GoogleCloudConnectorsV1Secret: - id: GoogleCloudConnectorsV1Secret + id: EnterpriseCrmEventbusProtoExternalTraffic + type: object + description: Represents external traffic type and id. + GoogleCloudIntegrationsV1alphaDoubleParameterArray: properties: - secretVersion: + doubleValues: + description: Double number array. + type: array + items: + type: number + format: double + type: object + description: This message only contains a field of double number array. + id: GoogleCloudIntegrationsV1alphaDoubleParameterArray + EnterpriseCrmEventbusProtoValueType: + properties: + protoValue: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + stringValue: + type: string + stringArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringArray' + doubleArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleArray' + booleanValue: + type: boolean + doubleValue: + type: number + format: double + intValue: type: string - description: >- - The resource name of the secret version in the format, format as: - `projects/*/secrets/*/versions/*`. - description: Secret provides a reference to entries in Secret Manager. + format: int64 + intArray: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntArray' type: object - EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo: - id: EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo description: >- - Contains the details of the execution info: this includes the replay - reason and replay tree connecting executions in a parent-child - relationship + Used for define type for values. Currently supported value types include + int, string, double, array, and any proto message. + id: EnterpriseCrmEventbusProtoValueType + EnterpriseCrmEventbusProtoFieldMappingConfig: + id: EnterpriseCrmEventbusProtoFieldMappingConfig properties: - replayReason: - type: string - description: reason for replay - replayedExecutionInfoIds: - items: - type: string - description: >- - If this execution has been replayed, then this field contains the - execution ids of the replayed executions. + mappedFields: type: array - originalExecutionInfoId: - type: string - description: >- - If this execution is a replay of another execution, then this field - contains the original execution id. + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoMappedField' + description: >- + Field Mapping Config to map multiple output fields values from input + fields values. type: object - EnterpriseCrmEventbusProtoParameterMap: + EnterpriseCrmEventbusProtoFailurePolicy: description: >- - A generic multi-map that holds key value pairs. They keys and values can - be of any type, unless specified. + Policy that defines the task retry logic and failure type. If no + FailurePolicy is defined for a task, all its dependent tasks will not be + executed (i.e, a `retry_strategy` of NONE will be applied). + type: object + id: EnterpriseCrmEventbusProtoFailurePolicy properties: - keyType: + intervalInSeconds: type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' description: >- - Option to specify key value type for all entries of the map. If - provided then field types for all entries must conform to this. + Required if retry_strategy is FIXED_INTERVAL or + LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines + the initial interval for backoff. + format: int64 + retryCondition: + description: >- + Optional. The retry condition that will be evaluated for this + failure policy with the corresponding retry strategy. + type: string + maxNumRetries: + type: integer + description: >- + Required if retry_strategy is FIXED_INTERVAL or + LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines + the number of times the task will be retried if failed. + format: int32 + retryStrategy: + description: Defines what happens to the task upon failure. enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - valueType: + - UNSPECIFIED + - IGNORE + - NONE + - FATAL + - FIXED_INTERVAL + - LINEAR_BACKOFF + - EXPONENTIAL_BACKOFF + - RESTART_WORKFLOW_WITH_BACKOFF enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - '' - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' - enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE + Ignores the failure of this task. The rest of the workflow will be + executed Assuming this task succeeded. + - >- + Causes a permanent failure of the task. However, if the last + task(s) of event was successfully completed despite the failure of + this task, it has no impact on the workflow. + - >- + Causes a permanent failure of the event. It is different from NONE + because this will mark the event as FAILED by shutting down the + event execution. + - >- + The task will be retried from the failed task onwards after a + fixed delay. A max-retry count is required to be specified with + this strategy. A jitter is added to each exponential interval so + that concurrently failing tasks of the same type do not end up + retrying after the exact same exponential interval. + Max_num_retries and interval_in_seconds must be specified. + - >- + The task will be retried from the failed task onwards after a + fixed delay that linearly increases with each retry attempt. A + jitter is added to each exponential interval so that concurrently + failing tasks of the same type do not end up retrying after the + exact same exponential interval. A max-retry count is required to + be specified with this strategy. Max_num_retries and + interval_in_seconds must be specified. + - >- + The task will be retried after an exponentially increasing period + of time with each failure. A jitter is added to each exponential + interval so that concurrently failing tasks of the same type do + not end up retrying after the exact same exponential interval. A + max-retry count is required to be specified with this strategy. + `max_num_retries` and `interval_in_seconds` must be specified. + - >- + The entire workflow will be restarted with the initial parameters + that were set when the event was fired. A max-retry count is + required to be specified with this strategy. `max_num_retries` and + `interval_in_seconds` must be specified. type: string - entries: - type: array + GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse: + id: GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse + properties: + noPermission: + type: boolean + description: Whether the user has no permission on the version or not. + nextPageToken: + type: string + description: >- + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + integrationVersions: items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterMapEntry' - id: EnterpriseCrmEventbusProtoParameterMap + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + type: array + description: The integrations which match the request. type: object - GoogleCloudIntegrationsV1alphaGetClientResponse: - description: Response for the GetClient rpc - id: GoogleCloudIntegrationsV1alphaGetClientResponse + description: Response for ListIntegrationVersions. + GoogleCloudIntegrationsV1alphaRuntimeActionSchema: + type: object + id: GoogleCloudIntegrationsV1alphaRuntimeActionSchema properties: - client: - description: 'Required. Required: The client configuration that was requested' - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaClientConfig' + outputSchema: + description: Output parameter schema for the action. + type: string + inputSchema: + description: Input parameter schema for the action. + type: string + action: + description: Name of the action. + type: string + description: Metadata of an action, including schemas for its inputs and outputs. + EnterpriseCrmEventbusProtoAddress: + type: object + id: EnterpriseCrmEventbusProtoAddress + description: >- + Email address along with optional name and tokens. These tokens will be + substituted for the variables in the form of [{var_name}], where + var_name could be any string of no more than 32 bytes. + properties: + email: + description: Required. + type: string + name: + type: string + tokens: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoToken' + type: array + GoogleCloudConnectorsV1DestinationConfig: + id: GoogleCloudConnectorsV1DestinationConfig + description: Define the Connectors target endpoint. type: object - EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata: properties: - taskLabel: - description: the task label associated with this snapshot. Could be empty. - type: string - ancestorIterationNumbers: + destinations: items: - type: string + $ref: '#/components/schemas/GoogleCloudConnectorsV1Destination' + description: The destinations for the key. type: array + key: description: >- - Ancestor iteration number for the task(it will only be non-empty if - the task is under 'private workflow') - taskAttemptNum: - type: integer - format: int32 - description: the task attempt number this snapshot belongs to. Could be empty. - taskName: + The key is the destination identifier that is supported by the + Connector. type: string - description: the task name associated with this snapshot. Could be empty. - integrationName: + GoogleCloudIntegrationsV1alphaSerializedFile: + type: object + properties: + file: type: string description: >- - The direct integration which the event execution snapshots belongs - to - eventAttemptNum: - type: integer - description: the event attempt number this snapshot belongs to. - format: int32 - ancestorTaskNumbers: + File information like Integration version, Integration Config + variables etc. + enum: + - INTEGRATION_FILE_UNSPECIFIED + - INTEGRATION + - INTEGRATION_CONFIG_VARIABLES + enumDescriptions: + - Default value. + - Integration file. + - Integration Config variables. + content: + description: String representation of the file content. + type: string + description: To store string representation of Integration file. + id: GoogleCloudIntegrationsV1alphaSerializedFile + EnterpriseCrmEventbusProtoCloudLoggingDetails: + description: >- + Cloud Logging details, selected by the user for the integration version + (workflow). This message field will be also used in ExecutionInfo, to + indicate the CloudLoggingDetails config at the time of workflow + (integration version) execution, since this field value can be changed + for an unpublished workflow. + id: EnterpriseCrmEventbusProtoCloudLoggingDetails + properties: + cloudLoggingSeverity: + enum: + - CLOUD_LOGGING_SEVERITY_UNSPECIFIED + - INFO + - ERROR + - WARNING + enumDescriptions: + - Unspecified + - >- + If Severity selected is `INFO`, then all the Integration Execution + States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, + `ERROR`, `CANCELLED`) will be sent to Cloud Logging. + - >- + If Severity selected is `ERROR`, then only the following + Integration Execution States (`ERROR`, `CANCELLED`) will be sent + to Cloud Logging. + - >- + If Severity selected is `WARNING`, then only the following + Integration Execution States (`ERROR`, `CANCELLED`) will be sent + to Cloud Logging. description: >- - Ancestor task number for the task(it will only be non-empty if the - task is under 'private workflow') + Severity selected by the customer for the logs to be sent to Cloud + Logging, for the integration version getting executed. + type: string + enableCloudLogging: + type: boolean + description: >- + Status of whether Cloud Logging is enabled or not for the + integration version getting executed. + type: object + EnterpriseCrmEventbusProtoStringArray: + type: object + id: EnterpriseCrmEventbusProtoStringArray + properties: + values: + type: array items: type: string - type: array - taskNumber: - description: The task number associated with this snapshot. Could be empty. - type: string + GoogleCloudIntegrationsV1alphaDownloadTemplateResponse: + description: Response for DownloadTemplate. type: object - id: >- - EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata - EnterpriseCrmEventbusProtoTaskAlertConfig: - id: EnterpriseCrmEventbusProtoTaskAlertConfig + id: GoogleCloudIntegrationsV1alphaDownloadTemplateResponse properties: - thresholdValue: + content: + type: string + description: String representation of the template. + GoogleCloudIntegrationsV1alphaOidcToken: + properties: + serviceAccountEmail: + description: The service account email to be used as the identity for the token. + type: string + audience: description: >- - The metric value, above or below which the alert should be - triggered. - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue - numAggregationPeriods: - type: integer + Audience to be used when generating OIDC token. The audience claim + identifies the recipients that the JWT is intended for. + type: string + token: + description: ID token obtained for the service account + type: string + tokenExpireTime: + format: google-datetime + type: string + description: The approximate time until the token retrieved is valid. + id: GoogleCloudIntegrationsV1alphaOidcToken + description: OIDC Token + type: object + GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration: + properties: + liftWhenExpired: + type: boolean description: >- - For how many contiguous aggregation periods should the expected min - or max be violated for the alert to be fired. - format: int32 - alertName: + Whether the suspension will be REJECTED or LIFTED upon expiration. + REJECTED is the default behavior. + remindTime: description: >- - A name to identify this alert. This will be displayed in the alert - subject. If set, this name should be unique in within the scope of - the containing workflow. + Time after the previous suspension action reminder, if any, is sent + using the selected notification option, for a suspension which is + still PENDING_UNSPECIFIED. + format: google-datetime type: string - thresholdType: + expireTime: + format: google-datetime + description: >- + Output only. Time after which the suspension expires, if no action + taken. + readOnly: true type: string - enumDescriptions: - - '' - - >- - Note that this field will only trigger alerts if the workflow - specifying it runs at least once in 24 hours (which is our - in-memory retention period for monarch streams). Also note that - `aggregation_period` for this alert configuration must be less - than 24 hours. - - '' + type: object + id: GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration + description: Expiration configs for the approval request. + GoogleCloudIntegrationsV1alphaProvisionClientRequest: + description: Request for the Provision rpc + properties: + createSampleWorkflows: + type: boolean description: >- - The threshold type for which this alert is being configured. If - value falls below expected_min or exceeds expected_max, an alert - will be fired. - enum: - - UNSPECIFIED_THRESHOLD_TYPE - - EXPECTED_MIN - - EXPECTED_MAX - warningEnumList: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList - alertDisabled: + Optional. Indicates if sample workflow should be created along with + provisioning + cloudKmsConfig: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCloudKmsConfig' description: >- - Set to false by default. When set to true, the metrics are not - aggregated or pushed to Monarch for this workflow alert. + Optional. OPTIONAL: Cloud KMS config for AuthModule to + encrypt/decrypt credentials. + skipCpProvision: + description: Optional. Indicates if skip CP provision or not + type: boolean + provisionGmek: type: boolean - playbookUrl: description: >- - Link to a playbook for resolving the issue that triggered this - alert. + Optional. Deprecated. Indicates provision with GMEK or CMEK. This + field is deprecated and the provision would always be GMEK if + cloud_kms_config is not present in the request. + deprecated: true + runAsServiceAccount: + description: >- + Optional. User input run-as service account, if empty, will bring up + a new default service account + type: string + id: GoogleCloudIntegrationsV1alphaProvisionClientRequest + type: object + EnterpriseCrmFrontendsEventbusProtoProtoParameterArray: + id: EnterpriseCrmFrontendsEventbusProtoProtoParameterArray + type: object + properties: + protoValues: + type: array + items: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + GoogleCloudConnectorsV1AuthConfigSshPublicKey: + description: Parameters to support Ssh public key Authentication. + type: object + properties: + sshClientCert: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: SSH Client Cert. It should contain both public and private key. + sshClientCertPass: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: Password (passphrase) for ssh client certificate if it has one. + certType: + description: Format of SSH Client cert. + type: string + username: + type: string + description: The user account used to authenticate. + id: GoogleCloudConnectorsV1AuthConfigSshPublicKey + GoogleCloudIntegrationsV1alphaReplayExecutionRequest: + id: GoogleCloudIntegrationsV1alphaReplayExecutionRequest + type: object + properties: + replayReason: + type: string + description: Required. The user provided reason for replaying the execution. + description: Request for replaying an execution. + GoogleCloudIntegrationsV1alphaUploadTestCaseRequest: + properties: + fileFormat: + enum: + - FILE_FORMAT_UNSPECIFIED + - JSON + - YAML + description: File format for upload request. + enumDescriptions: + - Unspecified file format + - JSON File Format + - YAML File Format type: string - errorEnumList: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList - aggregationPeriod: - description: >- - The period over which the metric value should be aggregated and - evaluated. Format is , where integer should be a positive integer - and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, - day, week). + content: type: string - clientId: - description: >- - Client associated with this alert configuration. Must be a client - enabled in one of the containing workflow's triggers. + description: The textproto of the test case. + type: object + id: GoogleCloudIntegrationsV1alphaUploadTestCaseRequest + description: Request for UploadTestCase. + EnterpriseCrmEventbusProtoTaskMetadataAdmin: + type: object + id: EnterpriseCrmEventbusProtoTaskMetadataAdmin + properties: + googleGroupEmail: type: string - onlyFinalAttempt: - description: Only count final task attempts, not retries. - type: boolean - metricType: - enumDescriptions: - - >- - The default value. Metric type should always be set to one of the - other non-default values, otherwise it will result in an - INVALID_ARGUMENT error. - - >- - Specifies alerting on the rate of errors (potentially for a - specific set of enum values) for the enclosing TaskConfig. - - >- - Specifies alerting on the rate of warnings (potentially for a - specific set of enum values) for the enclosing TaskConfig. - Warnings use the same enum values as errors. - - >- - Specifies alerting on the number of instances for the enclosing - TaskConfig executed in the given aggregation_period. - - >- - Specifies alerting on the average duration of execution for the - enclosing task. - - >- - Specifies alerting on the duration of a particular percentile of - task executions. E.g. If 10% or more of the task executions have - durations above 5 seconds, alert. + userEmail: type: string - enum: - - METRIC_TYPE_UNSPECIFIED - - TASK_ERROR_RATE - - TASK_WARNING_RATE - - TASK_RATE - - TASK_AVERAGE_DURATION - - TASK_PERCENTILE_DURATION - durationThresholdMs: - description: >- - Should be specified only for TASK_AVERAGE_DURATION and - TASK_PERCENTILE_DURATION metrics. This member should be used to - specify what duration value the metrics should exceed for the alert - to trigger. - format: int64 + description: >- + Admins are owners of a Task, and have all permissions on a particular + task identified by the task name. By default, Eventbus periodically + scans all task metadata and syncs (adds) any new admins defined here to + Zanzibar. + GoogleCloudConnectorsV1AuthConfigUserPassword: + properties: + password: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: Secret version reference containing the password. + username: + description: Username. type: string + description: Parameters to support Username and Password Authentication. + type: object + id: GoogleCloudConnectorsV1AuthConfigUserPassword + GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate: + id: GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate type: object + properties: + key: + description: Required. Unique Key of the IntegrationVersion. + type: string + integrationVersion: + description: Required. Templatized version of integration. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + description: Define the template of IntegrationVersion. + EnterpriseCrmEventbusProtoCombinedCondition: description: >- - Message to be used to configure alerting in the {@code TaskConfig} - protos for tasks in an event. + This message recursively combines constituent conditions using logical + AND. + properties: + conditions: + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCondition' + type: array + description: A set of individual constituent conditions. + type: object + id: EnterpriseCrmEventbusProtoCombinedCondition + deprecated: true + EnterpriseCrmEventbusProtoSuspensionAuthPermissions: + description: LINT.IfChange + properties: + googleGroup: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity + loasRole: + type: string + gaiaIdentity: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity + description: Represents a Gaia identity for a person or service account. + mdbGroup: + type: string + id: EnterpriseCrmEventbusProtoSuspensionAuthPermissions + type: object + GoogleProtobufEmpty: + properties: {} + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + id: GoogleProtobufEmpty + type: object EnterpriseCrmFrontendsEventbusProtoTaskConfig: properties: taskNumber: + type: string description: >- REQUIRED: the identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_number`). - type: string - lastModifiedTime: - description: Auto-generated. - type: string - format: google-datetime - taskType: - enumDescriptions: - - Normal IP task - - Task is of As-Is Template type - - Task is of I/O template type with a different underlying task - type: string - description: Defines the type of the task - enum: - - TASK - - ASIS_TEMPLATE - - IO_TEMPLATE - nextTasks: - type: array + failurePolicy: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' description: >- - The set of tasks that are next in line to be executed as per the - execution graph defined for the parent event, specified by - `event_config_id`. Each of these next tasks are executed only if the - condition associated with them evaluates to true. - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNextTask' + Optional. Determines the number of times the task will be retried on + failure and with what retry strategy. This is applicable for + asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.). disableStrictTypeValidation: type: boolean description: >- @@ -7972,51 +8401,62 @@ components: instance, if the previous task declares an output of type Message, any task with this flag enabled will pass validation when attempting to read any proto Message type from the resultant Event parameter. - taskExecutionStrategy: + label: + description: User-provided label that is attached to this TaskConfig in the UI. type: string + precondition: + description: >- + Optional. Standard filter expression evaluated before execution. + Independent of other conditions and tasks. Can be used to enable + rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to + task. + type: string + taskSpec: + type: string + description: >- + A string template that allows user to configure task parameters + (with either literal default values or tokens which will be resolved + at execution time) for the task. It will eventually replace the old + "parameters" field. + nextTasksExecutionPolicy: enumDescriptions: - - >- - Wait until all of its previous tasks finished execution, then - verify at least one of the edge conditions is met, and execute if - possible. This should be considered as WHEN_ALL_TASKS_SUCCEED. - - >- - Start execution as long as any of its previous tasks finished - execution and the corresponding edge condition is met (since we - will execute if only that succeeding edge condition is met). - - >- - Wait until all of its previous tasks finished execution, then - verify the all edge conditions are met and execute if possible. - description: The policy dictating the execution strategy of this task. + - Default + - Execute all the tasks that satisfy their associated condition. + - Execute the first task that satisfies the associated condition. + type: string + description: >- + The policy dictating the execution of the next set of tasks for the + current task. enum: - - WHEN_ALL_SUCCEED - - WHEN_ANY_SUCCEED - - WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED - errorCatcherId: + - UNSPECIFIED + - RUN_ALL_MATCH + - RUN_FIRST_MATCH + alertConfigs: + type: array description: >- - Optional Error catcher id of the error catch flow which will be - executed when execution error happens in the task + Alert configurations on error rate, warning rate, number of runs, + durations, etc. + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskAlertConfig' + taskTemplateName: type: string - failurePolicy: + description: Used to define task-template name if task is of type task-template + synchronousCallFailurePolicy: $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' description: >- Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for - asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.). - taskEntity: - description: Copy of the task entity that this task config is an instance of. - $ref: '#/components/schemas/EnterpriseCrmFrontendsEventbusProtoTaskEntity' - position: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCoordinate' + synchronous calls to Eventbus alone (Post). + successPolicy: + description: Determines what action to take upon successful task completion. + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuccessPolicy' + description: + type: string description: >- - Optional. Informs the front-end application where to draw this task - config on the UI. + User-provided description intended to give more business context + about the task. jsonValidationOption: - enum: - - UNSPECIFIED_JSON_VALIDATION_OPTION - - SKIP - - PRE_EXECUTION - - POST_EXECUTION - - PRE_POST_EXECUTION + type: string enumDescriptions: - >- As per the default behavior, no validation will be run. Will not @@ -8029,13 +8469,27 @@ components: Validate all potential output JSON parameters against schemas specified in WorkflowParameters. - Perform both PRE_EXECUTION and POST_EXECUTION validations. - type: string + enum: + - UNSPECIFIED_JSON_VALIDATION_OPTION + - SKIP + - PRE_EXECUTION + - POST_EXECUTION + - PRE_POST_EXECUTION description: >- If set, overrides the option configured in the Task implementation class. - taskName: - description: The name for the task. + position: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoCoordinate' + description: >- + Optional. Informs the front-end application where to draw this task + config on the UI. + incomingEdgeCount: + type: integer + description: The number of edges leading into this TaskConfig. + format: int32 + creatorEmail: type: string + description: The creator's email address. Auto-generated from the user's email. externalTaskType: type: string enum: @@ -8046,928 +8500,820 @@ components: - Default value. External task type is not specified - Tasks belongs to the normal task flows - Task belongs to the error catch task flows - alertConfigs: - type: array - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoTaskAlertConfig' - description: >- - Alert configurations on error rate, warning rate, number of runs, - durations, etc. - synchronousCallFailurePolicy: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoFailurePolicy' + createTime: + format: google-datetime + description: Auto-generated. + type: string + conditionalFailurePolicies: description: >- Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post). - preconditionLabel: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoConditionalFailurePolicies + rollbackStrategy: description: >- - Optional. User-provided label that is attached to precondition in - the UI. - type: string - label: + Optional. Contains information about what needs to be done upon + failure (either a permanent error or after it has been retried too + many times). + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoRollbackStrategy + taskName: + description: The name for the task. type: string - description: User-provided label that is attached to this TaskConfig in the UI. parameters: type: object additionalProperties: $ref: >- #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry description: The customized parameters the user can pass to this task. - precondition: - type: string + errorCatcherId: description: >- - Optional. Standard filter expression evaluated before execution. - Independent of other conditions and tasks. Can be used to enable - rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to - task. - createTime: + Optional Error catcher id of the error catch flow which will be + executed when execution error happens in the task type: string - description: Auto-generated. + lastModifiedTime: format: google-datetime - creatorEmail: - type: string - description: The creator's email address. Auto-generated from the user's email. - conditionalFailurePolicies: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoConditionalFailurePolicies - description: >- - Optional. Determines the number of times the task will be retried on - failure and with what retry strategy. This is applicable for - synchronous calls to Eventbus alone (Post). - description: + description: Auto-generated. type: string - description: >- - User-provided description intended to give more business context - about the task. - incomingEdgeCount: - format: int32 - type: integer - description: The number of edges leading into this TaskConfig. - successPolicy: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoSuccessPolicy' - description: Determines what action to take upon successful task completion. - nextTasksExecutionPolicy: - enumDescriptions: - - Default - - Execute all the tasks that satisfy their associated condition. - - Execute the first task that satisfies the associated condition. + taskExecutionStrategy: enum: - - UNSPECIFIED - - RUN_ALL_MATCH - - RUN_FIRST_MATCH - description: >- - The policy dictating the execution of the next set of tasks for the - current task. + - WHEN_ALL_SUCCEED + - WHEN_ANY_SUCCEED + - WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED + description: The policy dictating the execution strategy of this task. type: string - rollbackStrategy: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoRollbackStrategy + enumDescriptions: + - >- + Wait until all of its previous tasks finished execution, then + verify at least one of the edge conditions is met, and execute if + possible. This should be considered as WHEN_ALL_TASKS_SUCCEED. + - >- + Start execution as long as any of its previous tasks finished + execution and the corresponding edge condition is met (since we + will execute if only that succeeding edge condition is met). + - >- + Wait until all of its previous tasks finished execution, then + verify the all edge conditions are met and execute if possible. + taskEntity: + description: Copy of the task entity that this task config is an instance of. + $ref: '#/components/schemas/EnterpriseCrmFrontendsEventbusProtoTaskEntity' + nextTasks: description: >- - Optional. Contains information about what needs to be done upon - failure (either a permanent error or after it has been retried too - many times). - taskTemplateName: + The set of tasks that are next in line to be executed as per the + execution graph defined for the parent event, specified by + `event_config_id`. Each of these next tasks are executed only if the + condition associated with them evaluates to true. + items: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNextTask' + type: array + taskType: + enum: + - TASK + - ASIS_TEMPLATE + - IO_TEMPLATE type: string - description: Used to define task-template name if task is of type task-template - taskSpec: + enumDescriptions: + - Normal IP task + - Task is of As-Is Template type + - Task is of I/O template type with a different underlying task + description: Defines the type of the task + preconditionLabel: type: string description: >- - A string template that allows user to configure task parameters - (with either literal default values or tokens which will be resolved - at execution time) for the task. It will eventually replace the old - "parameters" field. - type: object + Optional. User-provided label that is attached to precondition in + the UI. id: EnterpriseCrmFrontendsEventbusProtoTaskConfig description: >- The task configuration details. This is not the implementation of Task. There might be multiple TaskConfigs for the same Task. - EnterpriseCrmEventbusProtoEventParameters: - type: object - properties: - parameters: - description: >- - Parameters are a part of Event and can be used to communicate - between different tasks that are part of the same integration - execution. - type: array - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoParameterEntry' - description: >- - LINT.IfChange This message is used for processing and persisting (when - applicable) key value pair parameters for each event in the event bus. - Please see - id: EnterpriseCrmEventbusProtoEventParameters - GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse: - id: GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse - description: Response for UploadIntegrationVersion. - properties: - integrationVersion: - description: The uploaded integration. - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion - type: object - EnterpriseCrmEventbusProtoWorkflowAlertConfig: - description: >- - Message to be used to configure custom alerting in the {@code - EventConfig} protos for an event. type: object - id: EnterpriseCrmEventbusProtoWorkflowAlertConfig + GoogleCloudIntegrationsV1alphaTestCase: + id: GoogleCloudIntegrationsV1alphaTestCase properties: - alertName: - type: string - description: >- - A name to identify this alert. This will be displayed in the alert - subject. If set, this name should be unique within the scope of the - workflow. - durationThresholdMs: - format: int64 - type: string - description: >- - Should be specified only for *AVERAGE_DURATION and - *PERCENTILE_DURATION metrics. This member should be used to specify - what duration value the metrics should exceed for the alert to - trigger. - playbookUrl: - type: string - description: >- - Link to a playbook for resolving the issue that triggered this - alert. - warningEnumList: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList - onlyFinalAttempt: - type: boolean - description: >- - For either events or tasks, depending on the type of alert, count - only final attempts, not retries. - aggregationPeriod: - description: >- - For an EXPECTED_MIN threshold, this aggregation_period must be - lesser than 24 hours. - type: string - metricType: - enum: - - METRIC_TYPE_UNSPECIFIED - - EVENT_ERROR_RATE - - EVENT_WARNING_RATE - - TASK_ERROR_RATE - - TASK_WARNING_RATE - - TASK_RATE - - EVENT_RATE - - EVENT_AVERAGE_DURATION - - EVENT_PERCENTILE_DURATION - - TASK_AVERAGE_DURATION - - TASK_PERCENTILE_DURATION - enumDescriptions: - - >- - The default value. Metric type should always be set to one of the - other non-default values, otherwise it will result in an - INVALID_ARGUMENT error. - - >- - Specifies alerting on the rate of errors for the enclosing - workflow. - - >- - Specifies alerting on the rate of warnings for the enclosing - workflow. Warnings use the same enum values as errors. - - >- - Specifies alerting on the rate of errors for any task in the - enclosing workflow. - - >- - Specifies alerting on the rate of warnings for any task in the - enclosing workflow. - - >- - Specifies alerting on the rate of executions over all tasks in the - enclosing workflow. - - >- - Specifies alerting on the number of events executed in the given - aggregation_period. - - >- - Specifies alerting on the average duration of executions for this - workflow. - - >- - Specifies alerting on the duration value of a particular - percentile of workflow executions. E.g. If 10% or more of the - workflow executions have durations above 5 seconds, alert. - - >- - Specifies alerting on the average duration of any task in the - enclosing workflow, - - >- - Specifies alerting on the duration value of a particular - percentile of any task executions within the enclosing workflow. - E.g. If 10% or more of the task executions in the workflow have - durations above 5 seconds, alert. + triggerId: type: string - numAggregationPeriods: - type: integer description: >- - For how many contiguous aggregation periods should the expected min - or max be violated for the alert to be fired. - format: int32 - thresholdType: + Required. This defines the trigger ID in workflow which is + considered to be executed as starting point of the test case + creatorEmail: description: >- - The threshold type, whether lower(expected_min) or - upper(expected_max), for which this alert is being configured. If - value falls below expected_min or exceeds expected_max, an alert - will be fired. + Optional. The creator's email address. Generated based on the End + User Credentials/LOAS role of the user making the call. type: string + lastModifierEmail: + description: >- + The last modifier's email address. Generated based on the End User + Credentials/LOAS role of the user making the call. + type: string + description: + type: string + description: Optional. Description of the test case. + databasePersistencePolicy: enum: - - UNSPECIFIED_THRESHOLD_TYPE - - EXPECTED_MIN - - EXPECTED_MAX + - DATABASE_PERSISTENCE_POLICY_UNSPECIFIED + - DATABASE_PERSISTENCE_DISABLED + - DATABASE_PERSISTENCE_ASYNC + description: >- + Optional. Various policies for how to persist the test execution + info including execution info, execution export info, execution + metadata index and execution param index.. enumDescriptions: - - '' - - >- - Note that this field will only trigger alerts if the workflow - specifying it runs at least once in 24 hours (which is our - in-memory retention period for monarch streams). Also note that - `aggregation_period` for this alert configuration must be less - than 24 hours. - - '' - errorEnumList: - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList - clientId: - description: Client associated with this alert configuration. + - Enables persistence for all execution data. + - Disables persistence for all execution data. + - Asynchronously persist all execution data. + type: string + lockHolderEmail: type: string - thresholdValue: description: >- - The metric value, above or below which the alert should be - triggered. - $ref: >- - #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue - alertDisabled: + Optional. The edit lock holder's email address. Generated based on + the End User Credentials/LOAS role of the user making the call. + createTime: + type: string + format: google-datetime + description: Auto-generated. + displayName: + description: Required. The display name of test case. + type: string + triggerConfig: + description: Optional. Auto-generated. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTriggerConfig' + testTaskConfigs: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestTaskConfig' description: >- - Set to false by default. When set to true, the metrics are not - aggregated or pushed to Monarch for this workflow alert. - type: boolean - EnterpriseCrmFrontendsEventbusProtoEventParameters: - description: >- - LINT.IfChange This message is used for processing and persisting (when - applicable) key value pair parameters for each event in the event bus. - Please see - type: object - id: EnterpriseCrmFrontendsEventbusProtoEventParameters - properties: - parameters: + Optional. However, the test case doesn't mock or assert anything + without test_task_configs. + type: array + updateTime: + type: string + description: Auto-generated. + format: google-datetime + name: + type: string + readOnly: true + description: Output only. Auto-generated primary key. + testInputParameters: + description: >- + Optional. Parameters that are expected to be passed to the test case + when the test case is triggered. This gives the user the ability to + provide default values. This should include all the output variables + of the trigger as input variables. type: array items: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry - description: >- - Parameters are a part of Event and can be used to communicate - between different tasks that are part of the same workflow - execution. - EnterpriseCrmEventbusProtoValueType: - id: EnterpriseCrmEventbusProtoValueType + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationParameter type: object description: >- - Used for define type for values. Currently supported value types include - int, string, double, array, and any proto message. + Defines the functional test case for Application Integration. Next + available id: 15 + EnterpriseCrmEventbusProtoCloudKmsConfig: properties: - stringValue: + keyRingName: type: string - intValue: - format: int64 + description: >- + A key ring organizes keys in a specific Google Cloud location and + allows you to manage access control on groups of keys. A key ring's + name does not need to be unique across a Google Cloud project, but + must be unique within a given location. + keyName: type: string - stringArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringArray' - intArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntArray' - doubleValue: - format: double - type: number - booleanValue: - type: boolean - doubleArray: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleArray' - protoValue: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - EnterpriseCrmEventbusProtoProtoArrayFunction: + description: >- + A Cloud KMS key is a named object containing one or more key + versions, along with metadata for the key. A key exists on exactly + one key ring tied to a specific location. + serviceAccount: + type: string + description: >- + Optional. The service account used for authentication of this KMS + key. If this is not provided, the service account in + Client.clientSource will be used. + keyVersionName: + description: >- + Optional. Each version of a key contains key material used for + encryption or signing. A key's version is represented by an integer, + starting at 1. To decrypt data or verify a signature, you must use + the same key version that was used to encrypt or sign the data. + type: string + gcpProjectId: + description: >- + Optional. The id of GCP project where the KMS key is stored. If not + provided, assume the key is stored in the same GCP project defined + in Client (tag 14). + type: string + locationName: + description: Location name of the key ring, e.g. "us-west1". + type: string + id: EnterpriseCrmEventbusProtoCloudKmsConfig type: object - id: EnterpriseCrmEventbusProtoProtoArrayFunction + GoogleCloudIntegrationsV1alphaListExecutionsResponse: + id: GoogleCloudIntegrationsV1alphaListExecutionsResponse + description: Response for listing the integration execution data. properties: - functionName: + nextPageToken: + type: string + description: The token used to retrieve the next page results. + executions: + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' + description: The detailed information of requested executions + type: array + executionInfos: + description: Required. The detailed information of requested executions. + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo + deprecated: true + type: array + type: object + EnterpriseCrmEventbusStatsDimensions: + type: object + properties: + warningEnumString: + type: string + retryAttempt: enumDescriptions: - '' + - >- + Task has completed successfully or has depleted all retry + attempts. + - Task has failed but may be retried. + - Task has been deliberately canceled. + enum: + - UNSPECIFIED + - FINAL + - RETRYABLE + - CANCELED + type: string + taskNumber: + type: string + enumFilterType: + type: string + enumDescriptions: - '' - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - type: string enum: - - UNSPECIFIED - - GET - - APPEND - - SIZE - - TO_SET - - APPEND_ALL - - TO_JSON - - SET - - REMOVE - - REMOVE_AT - - CONTAINS - - FOR_EACH - - FILTER - EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange: - description: Range used to validate doubles and floats. - type: object - properties: - max: - type: number - format: double - description: The inclusive maximum of the acceptable range. - min: - description: The inclusive minimum of the acceptable range. - type: number - format: double - id: EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange - GoogleCloudConnectorsV1AuthConfigUserPassword: - description: Parameters to support Username and Password Authentication. - type: object - properties: - username: - description: Username. + - DEFAULT_INCLUSIVE + - EXCLUSIVE + description: Whether to include or exclude the enums matching the regex. + workflowName: type: string - password: - $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' - description: Secret version reference containing the password. - id: GoogleCloudConnectorsV1AuthConfigUserPassword - EnterpriseCrmFrontendsEventbusProtoParameterMapEntry: + clientId: + type: string + taskName: + type: string + errorEnumString: + type: string + triggerId: + type: string + description: >- + Stats have been or will be aggregated on set fields for any + semantically-meaningful combination. + workflowId: + type: string + id: EnterpriseCrmEventbusStatsDimensions + EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity: type: object - description: Entry is a pair of key and value. + id: EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity properties: - key: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterMapField - value: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterMapField - id: EnterpriseCrmFrontendsEventbusProtoParameterMapEntry - GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata: + gaiaId: + format: int64 + type: string + emailAddress: + type: string + GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials: type: object - id: GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata - properties: - actions: - items: - type: string - description: List of actions. - type: array - entities: - type: array - items: - type: string - description: List of entity names. - description: Metadata of runtime connection schema. - GoogleCloudConnectorsV1AuthConfig: - description: AuthConfig defines details of a authentication type. + id: GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials properties: - authType: - enumDescriptions: - - Authentication type not specified. - - Username and Password Authentication. - - >- - JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant - based authentication - - Oauth 2.0 Client Credentials Grant Authentication - - SSH Public Key Authentication - - Oauth 2.0 Authorization Code Flow - - Google authentication - - >- - Oauth 2.0 Authorization Code Flow with Google Provided OAuth - Client - description: The type of authentication configured. - enum: - - AUTH_TYPE_UNSPECIFIED - - USER_PASSWORD - - OAUTH2_JWT_BEARER - - OAUTH2_CLIENT_CREDENTIALS - - SSH_PUBLIC_KEY - - OAUTH2_AUTH_CODE_FLOW - - GOOGLE_AUTHENTICATION - - OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED + scope: + description: A space-delimited list of requested scope permissions. type: string - oauth2JwtBearer: - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer - description: Oauth2JwtBearer. - authKey: - description: Identifier key for auth config + clientSecret: type: string - additionalVariables: - type: array - description: List containing additional auth configs. - items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' - oauth2ClientCredentials: - description: Oauth2ClientCredentials. - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials - oauth2AuthCodeFlowGoogleManaged: - description: Oauth2AuthCodeFlowGoogleManaged. - $ref: >- - #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged - sshPublicKey: - $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfigSshPublicKey' - description: SSH Public Key. - oauth2AuthCodeFlow: + description: The client's secret. + clientId: + description: The client's ID. + type: string + tokenParams: + description: Token parameters for the auth request. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' + accessToken: + description: Access token fetched from the authorization server. + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAccessToken' + tokenEndpoint: + description: >- + The token endpoint is used by the client to obtain an access token + by presenting its authorization grant or refresh token. + type: string + requestType: + description: Represent how to pass parameters to fetch access token + enum: + - REQUEST_TYPE_UNSPECIFIED + - REQUEST_BODY + - QUERY_PARAMETERS + - ENCODED_HEADER + type: string + enumDescriptions: + - Unspecified request type + - To pass all the parameters in post body. + - To pass all the parameters as a part of query parameter. + - >- + To pass client id and client secret as base 64 encoding of + client_id:client_password and rest parameters in post body. + description: >- + For client credentials grant, the client sends a POST request with + grant_type as 'client_credentials' to the authorization server. The + authorization server will respond with a JSON object containing the + access token. + GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse: + description: Response for UploadIntegrationVersion. + properties: + integrationVersion: $ref: >- - #/components/schemas/GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow - description: Oauth2AuthCodeFlow. - userPassword: - description: UserPassword. - $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfigUserPassword' + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + description: The uploaded integration. + id: GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse type: object - id: GoogleCloudConnectorsV1AuthConfig - GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig: - id: GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig - description: Configurations for approving the Suspension. + GoogleCloudIntegrationsV1alphaSfdcChannel: + description: The SfdcChannel that points to a CDC or Platform Event Channel. + id: GoogleCloudIntegrationsV1alphaSfdcChannel type: object properties: - emailAddresses: - description: Email addresses to send approval request to. - items: - type: string - type: array - customMessage: + displayName: type: string - description: Information to provide for recipients. - expiration: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration + description: Client level unique name/alias to easily reference a channel. + name: description: >- - Indicates the next steps when no external actions happen on the - suspension. - GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse: - id: GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse - description: Response containing all provisioned regions for Connector Platform. + Resource name of the SFDC channel + projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}. + type: string + description: + type: string + description: The description for this channel + updateTime: + type: string + description: Output only. Time when the channel was last updated + readOnly: true + format: google-datetime + createTime: + type: string + format: google-datetime + readOnly: true + description: Output only. Time when the channel is created + deleteTime: + format: google-datetime + type: string + readOnly: true + description: >- + Output only. Time when the channel was deleted. Empty if not + deleted. + isActive: + type: boolean + description: >- + 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. + channelTopic: + type: string + description: The Channel topic defined by salesforce once an channel is opened + lastReplayId: + description: Last sfdc messsage replay id for channel + type: string + EnterpriseCrmFrontendsEventbusProtoRollbackStrategy: + description: 'Next available id: 4' properties: - regions: - description: All regions where Connector Platform is provisioned. - items: - type: string + parameters: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + description: Optional. The customized parameters the user can pass to this task. + rollbackTaskImplementationClassName: + description: >- + Required. This is the name of the task that needs to be executed + upon rollback of this task. + type: string + taskNumbersToRollback: type: array - type: object - EnterpriseCrmFrontendsEventbusProtoStringParameterArray: - properties: - stringValues: items: type: string - type: array - type: object - id: EnterpriseCrmFrontendsEventbusProtoStringParameterArray - GoogleCloudIntegrationsV1alphaImportTemplateRequest: - description: Request to Import template + description: >- + Required. These are the tasks numbers of the tasks whose + `rollback_strategy.rollback_task_implementation_class_name` needs to + be executed upon failure of this task. type: object + id: EnterpriseCrmFrontendsEventbusProtoRollbackStrategy + GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest: properties: - subIntegrations: - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails + inputParameters: type: object - description: Optional. Sub Integration which would be created via templates. - integrationRegion: + additionalProperties: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + description: Optional. Input parameters used by integration execution. + parameters: + deprecated: true + description: >- + Optional. Passed in as parameters to each integration execution. + Redacted + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters + executionId: + description: Optional. The id of the ON_HOLD execution to be resumed. + type: string + triggerId: type: string - description: Required. The region of the Integration to be created. - integration: description: >- - Required. Name of the integration where template needs to be - imported. + Required. Matched against all {@link TriggerConfig}s across all + integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id). The + trigger_id is in the format of `api_trigger/TRIGGER_NAME`. + doNotPropagateError: + description: >- + Optional. Flag to determine how to should propagate errors. If this + flag is set to be true, it will not throw an exception. Instead, it + will return a {@link ExecuteIntegrationsResponse} with an execution + id and error messages as PostWithTriggerIdExecutionException in + {@link EventParameters}. The flag is set to be false by default. + type: boolean + parameterEntries: + type: array + deprecated: true + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry + description: >- + Optional. Parameters are a part of Event and can be used to + communicate between different tasks that are part of the same + integration execution. + requestId: + description: >- + Optional. This is used to de-dup incoming request: if the duplicate + request was detected, the response from the previous execution is + returned. type: string - id: GoogleCloudIntegrationsV1alphaImportTemplateRequest - EnterpriseCrmFrontendsEventbusProtoParameterMap: - id: EnterpriseCrmFrontendsEventbusProtoParameterMap + description: The request for executing an integration. + id: GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest + type: object + GoogleCloudConnectorsV1SslConfig: + id: GoogleCloudConnectorsV1SslConfig properties: - entries: - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterMapEntry - type: array - keyType: + clientPrivateKey: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: Client Private Key + clientCertType: + enum: + - CERT_TYPE_UNSPECIFIED + - PEM enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' - description: >- - Option to specify key value type for all entries of the map. If - provided then field types for all entries must conform to this. + - Cert type unspecified. + - Privacy Enhanced Mail (PEM) Type type: string + description: Type of Client Cert (PEM/JKS/.. etc.) + clientCertificate: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + description: Client Certificate + type: enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - valueType: + - SSL_TYPE_UNSPECIFIED + - TLS + - MTLS + description: Controls the ssl type for the given connector version. type: string enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' + - No SSL configuration required. + - TLS Handshake + - mutual TLS (MTLS) Handshake + privateServerCertificate: + description: >- + Private Server Certificate. Needs to be specified if trust model is + `PRIVATE`. + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + clientPrivateKeyPass: + description: Secret containing the passphrase protecting the Client Private Key + $ref: '#/components/schemas/GoogleCloudConnectorsV1Secret' + serverCertType: enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - description: >- - A generic multi-map that holds key value pairs. They keys and values can - be of any type, unless specified. + - CERT_TYPE_UNSPECIFIED + - PEM + enumDescriptions: + - Cert type unspecified. + - Privacy Enhanced Mail (PEM) Type + type: string + description: Type of Server Cert (PEM/JKS/.. etc.) + useSsl: + type: boolean + description: Bool for enabling SSL + trustModel: + enumDescriptions: + - Public Trust Model. Takes the Default Java trust store. + - Private Trust Model. Takes custom/private trust store. + - Insecure Trust Model. Accept all certificates. + type: string + description: Trust Model of the SSL connection + enum: + - PUBLIC + - PRIVATE + - INSECURE + additionalVariables: + type: array + items: + $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + description: Additional SSL related field values + description: SSL Configuration of a connection type: object - EnterpriseCrmEventbusProtoDoubleArrayFunction: + EnterpriseCrmEventbusProtoFunctionType: properties: - functionName: + stringFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringFunction' + jsonFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoJsonFunction' + baseFunction: + description: LINT.IfChange + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBaseFunction' + doubleArrayFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleArrayFunction' + protoArrayFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoProtoArrayFunction' + doubleFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoDoubleFunction' + stringArrayFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoStringArrayFunction' + intFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntFunction' + booleanFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBooleanFunction' + intArrayFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoIntArrayFunction' + booleanArrayFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoBooleanArrayFunction' + protoFunction: + $ref: '#/components/schemas/EnterpriseCrmEventbusProtoProtoFunction' + type: object + id: EnterpriseCrmEventbusProtoFunctionType + EnterpriseCrmEventbusProtoNodeIdentifier: + properties: + elementIdentifier: + description: Configuration of the edge. + type: string + elementType: + type: string enum: - - UNSPECIFIED - - GET - - APPEND - - SIZE - - SUM - - AVG - - MAX - - MIN - - TO_SET - - APPEND_ALL - - TO_JSON - - SET - - REMOVE - - REMOVE_AT - - CONTAINS - - FOR_EACH - - FILTER + - UNKNOWN_TYPE + - TASK_CONFIG + - TRIGGER_CONFIG enumDescriptions: - '' - '' - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - type: string - type: object - id: EnterpriseCrmEventbusProtoDoubleArrayFunction - GoogleCloudIntegrationsV1alphaTestIntegrationsResponse: - id: GoogleCloudIntegrationsV1alphaTestIntegrationsResponse - description: The response for testing an integration. - type: object - properties: - eventParameters: - deprecated: true - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoEventParameters - description: Details for the integration that were executed. - executionId: - type: string - description: The id of the execution corresponding to this run of integration. - executionFailed: - description: Is true if any execution in the integration failed. False otherwise. - type: boolean - parameterEntries: - description: >- - Parameters are a part of Event and can be used to communicate - between different tasks that are part of the same integration - execution. + description: Destination node where the edge ends. It can only be a task config. + id: EnterpriseCrmEventbusProtoNodeIdentifier + type: object + description: 'Represents a node identifier (type + id). Next highest id: 3' + GoogleCloudIntegrationsV1alphaTemplateBundle: + type: object + id: GoogleCloudIntegrationsV1alphaTemplateBundle + properties: + integrationVersionTemplate: + description: Required. Main integration templates of the template bundle. + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate + subIntegrationVersionTemplates: + type: array items: $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterEntry - type: array - deprecated: true - parameters: - additionalProperties: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaValueType' + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate description: >- - Optional. Parameters are a part of Event and can be used to - communicate between different tasks that are part of the same - integration execution. - type: object - EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry: - id: EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry + Optional. Sub integration templates which would be added along with + main integration. + description: Define the bundle of the template. + EnterpriseCrmEventbusProtoWorkflowAlertConfig: + type: object + description: >- + Message to be used to configure custom alerting in the {@code + EventConfig} protos for an event. + id: EnterpriseCrmEventbusProtoWorkflowAlertConfig properties: - defaultValue: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParameterValueType + playbookUrl: description: >- - Default values for the defined keys. Each value can either be - string, int, double or any proto message or a serialized object. - producer: + Link to a playbook for resolving the issue that triggered this + alert. type: string - producedBy: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoNodeIdentifier' - description: >- - The identifier of the node (TaskConfig/TriggerConfig) this parameter - was produced by, if it is a transient param or a copy of an input - param. - containsLargeData: - type: boolean - description: >- - Indicates whether this variable contains large data and need to be - uploaded to Cloud Storage. - inOutType: + metricType: enumDescriptions: - - '' - >- - Input parameters for the workflow. EventBus validates that these - parameters exist in the workflows before execution. + The default value. Metric type should always be set to one of the + other non-default values, otherwise it will result in an + INVALID_ARGUMENT error. - >- - Output Parameters for the workflow. EventBus will only return the - workflow parameters tagged with OUT in the response back. + Specifies alerting on the rate of errors for the enclosing + workflow. - >- - Input or Output Parameters. These can be used as both input and - output. EventBus will validate for the existence of these - parameters before execution and will also return this parameter - back in the response. - enum: - - IN_OUT_TYPE_UNSPECIFIED - - IN - - OUT - - IN_OUT - description: Specifies the input/output type for the parameter. - type: string - required: - type: boolean - key: - description: >- - Key is used to retrieve the corresponding parameter value. This - should be unique for a given fired event. These parameters must be - predefined in the workflow definition. - type: string - dataType: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + Specifies alerting on the rate of warnings for the enclosing + workflow. Warnings use the same enum values as errors. - >- - BYTES and BYTES_ARRAY data types are not allowed for top-level - params. They're only meant to support protobufs with BYTES - (sub)fields. - - '' - - '' - - '' + Specifies alerting on the rate of errors for any task in the + enclosing workflow. + - >- + Specifies alerting on the rate of warnings for any task in the + enclosing workflow. + - >- + Specifies alerting on the rate of executions over all tasks in the + enclosing workflow. + - >- + Specifies alerting on the number of events executed in the given + aggregation_period. + - >- + Specifies alerting on the average duration of executions for this + workflow. + - >- + Specifies alerting on the duration value of a particular + percentile of workflow executions. E.g. If 10% or more of the + workflow executions have durations above 5 seconds, alert. + - >- + Specifies alerting on the average duration of any task in the + enclosing workflow, + - >- + Specifies alerting on the duration value of a particular + percentile of any task executions within the enclosing workflow. + E.g. If 10% or more of the task executions in the workflow have + durations above 5 seconds, alert. type: string enum: - - DATA_TYPE_UNSPECIFIED - - STRING_VALUE - - INT_VALUE - - DOUBLE_VALUE - - BOOLEAN_VALUE - - PROTO_VALUE - - SERIALIZED_OBJECT_VALUE - - STRING_ARRAY - - INT_ARRAY - - DOUBLE_ARRAY - - PROTO_ARRAY - - PROTO_ENUM - - BOOLEAN_ARRAY - - PROTO_ENUM_ARRAY - - BYTES - - BYTES_ARRAY - - NON_SERIALIZABLE_OBJECT - - JSON_VALUE - description: The data type of the parameter. - attributes: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoAttributes' - description: Metadata information about the parameters. - protoDefName: + - METRIC_TYPE_UNSPECIFIED + - EVENT_ERROR_RATE + - EVENT_WARNING_RATE + - TASK_ERROR_RATE + - TASK_WARNING_RATE + - TASK_RATE + - EVENT_RATE + - EVENT_AVERAGE_DURATION + - EVENT_PERCENTILE_DURATION + - TASK_AVERAGE_DURATION + - TASK_PERCENTILE_DURATION + onlyFinalAttempt: + type: boolean description: >- - The name of the protobuf type if the parameter has a protobuf data - type. - type: string - jsonSchema: + For either events or tasks, depending on the type of alert, count + only final attempts, not retries. + alertDisabled: description: >- - This schema will be used to validate runtime JSON-typed values of - this parameter. - type: string - protoDefPath: + Set to false by default. When set to true, the metrics are not + aggregated or pushed to Monarch for this workflow alert. + type: boolean + errorEnumList: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList + numAggregationPeriods: + type: integer description: >- - If the data type is of type proto or proto array, this field needs - to be populated with the fully qualified proto name. This message, - for example, would be - "enterprise.crm.frontends.eventbus.proto.WorkflowParameterEntry". + For how many contiguous aggregation periods should the expected min + or max be violated for the alert to be fired. + format: int32 + aggregationPeriod: type: string - name: description: >- - The name (without prefix) to be displayed in the UI for this - parameter. E.g. if the key is "foo.bar.myName", then the name would - be "myName". - type: string - description: - description: Optional. The description about the parameter + For an EXPECTED_MIN threshold, this aggregation_period must be + lesser than 24 hours. + alertName: type: string - children: - type: array - items: - $ref: >- - #/components/schemas/EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry description: >- - Child parameters nested within this parameter. This field only - applies to protobuf parameters - isTransient: - description: Whether this parameter is a transient parameter. - type: boolean - type: object - EnterpriseCrmEventbusProtoTriggerCriteria: - properties: - triggerCriteriaTaskImplementationClassName: + A name to identify this alert. This will be displayed in the alert + subject. If set, this name should be unique within the scope of the + workflow. + thresholdValue: + description: >- + The metric value, above or below which the alert should be + triggered. + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue + warningEnumList: + $ref: >- + #/components/schemas/EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList + thresholdType: type: string + enum: + - UNSPECIFIED_THRESHOLD_TYPE + - EXPECTED_MIN + - EXPECTED_MAX + enumDescriptions: + - '' + - >- + Note that this field will only trigger alerts if the workflow + specifying it runs at least once in 24 hours (which is our + in-memory retention period for monarch streams). Also note that + `aggregation_period` for this alert configuration must be less + than 24 hours. + - '' description: >- - Optional. Implementation class name. The class should implement the - “TypedTask” interface. - parameters: - description: Optional. To be used in TaskConfig for the implementation class. - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoEventParameters' - condition: + The threshold type, whether lower(expected_min) or + upper(expected_max), for which this alert is being configured. If + value falls below expected_min or exceeds expected_max, an alert + will be fired. + clientId: + description: Client associated with this alert configuration. + type: string + durationThresholdMs: + format: int64 type: string description: >- - Required. Standard filter expression, when true the workflow will be - executed. If there's no - trigger_criteria_task_implementation_class_name specified, the - condition will be validated directly. - type: object - id: EnterpriseCrmEventbusProtoTriggerCriteria - EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue: - description: >- - The threshold value of the metric, above or below which the alert should - be triggered. See EventAlertConfig or TaskAlertConfig for the different - alert metric types in each case. For the *RATE metrics, one or both of - these fields may be set. Zero is the default value and can be left at - that. For *PERCENTILE_DURATION metrics, one or both of these fields may - be set, and also, the duration threshold value should be specified in - the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, - these fields should not be set at all. A different member, - threshold_duration_ms, must be set in the EventAlertConfig or the - TaskAlertConfig. + Should be specified only for *AVERAGE_DURATION and + *PERCENTILE_DURATION metrics. This member should be used to specify + what duration value the metrics should exceed for the alert to + trigger. + GoogleCloudConnectorsV1EventingConfigDeadLetterConfig: properties: - percentage: - format: int32 - type: integer - absolute: + projectId: + description: Optional. Project which has the topic given. + type: string + topic: + description: Optional. Topic to push events which couldn't be processed. type: string - format: int64 - id: EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue type: object - GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials: + description: Dead Letter configuration details provided by the user. + id: GoogleCloudConnectorsV1EventingConfigDeadLetterConfig + EnterpriseCrmEventbusProtoParamSpecEntryConfig: + id: EnterpriseCrmEventbusProtoParamSpecEntryConfig + type: object properties: - scope: + parameterNameOption: + enum: + - DEFAULT_NOT_PARAMETER_NAME + - IS_PARAMETER_NAME + - KEY_IS_PARAMETER_NAME + - VALUE_IS_PARAMETER_NAME type: string - description: A space-delimited list of requested scope permissions. - clientId: + enumDescriptions: + - This field is not a parameter name. + - >- + If this field is a string and this option is selected, the field + will be interpreted as a parameter name. Users will be able to + choose a variable using the autocomplete, but the name will be + stored as a literal string. + - >- + If this field is a ParameterMap and this option is selected, the + map's keys will be interpreted as parameter names. Ignored if this + field is not a ParameterMap. + - >- + If this field is a ParameterMap and this option is selected, the + map's values will be interpreted as parameter names. Ignored if + this field is not a ParameterMap. + helpText: type: string - description: The client's ID. - accessToken: - description: Access token fetched from the authorization server. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAccessToken' - username: + description: >- + Detailed help text for this parameter containing information not + provided elsewhere. For example, instructions on how to migrate from + a deprecated parameter. + label: + description: A user-friendly label for the parameter. type: string - description: The user's username. - clientSecret: + isHidden: + type: boolean + description: Whether this field is hidden in the UI. + subSectionLabel: + description: >- + A user-friendly label for subSection under which the parameter will + be displayed. type: string - description: The client's secret. - password: - description: The user's password. + hideDefaultValue: + description: Whether the default value is hidden in the UI. + type: boolean + descriptivePhrase: type: string - tokenParams: - description: Token parameters for the auth request. - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaParameterMap' - tokenEndpoint: - description: >- - The token endpoint is used by the client to obtain an access token - by presenting its authorization grant or refresh token. + description: A short phrase to describe what this parameter contains. + uiPlaceholderText: type: string - requestType: + description: >- + Placeholder text which will appear in the UI input form for this + parameter. + inputDisplayOption: + enum: + - DEFAULT + - STRING_MULTI_LINE + - NUMBER_SLIDER + - BOOLEAN_TOGGLE enumDescriptions: - - Unspecified request type - - To pass all the parameters in post body. - - To pass all the parameters as a part of query parameter. - >- - To pass client id and client secret as base 64 encoding of - client_id:client_password and rest parameters in post body. - description: Represent how to pass parameters to fetch access token - enum: - - REQUEST_TYPE_UNSPECIFIED - - REQUEST_BODY - - QUERY_PARAMETERS - - ENCODED_HEADER + A single-line input for strings, a numeric input box for numbers, + or a checkbox for booleans. + - A multi-line input box for longer strings/string templates. + - >- + A slider to select a numerical value. The default range is [0, + 100]. + - A toggle button for boolean parameters. type: string - description: >- - For resource owner credentials grant, the client will ask the user for - their authorization credentials (ususally a username and password) and - send a POST request to the authorization server. The authorization - server will respond with a JSON object containing the access token. + GoogleCloudIntegrationsV1alphaListConnectionsResponse: + id: GoogleCloudIntegrationsV1alphaListConnectionsResponse type: object - id: GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials - EnterpriseCrmEventbusProtoProtoFunction: properties: - functionName: - enum: - - UNSPECIFIED - - GET_STRING_SUBFIELD - - GET_INT_SUBFIELD - - GET_DOUBLE_SUBFIELD - - GET_BOOLEAN_SUBFIELD - - GET_STRING_ARRAY_SUBFIELD - - GET_INT_ARRAY_SUBFIELD - - GET_DOUBLE_ARRAY_SUBFIELD - - GET_BOOLEAN_ARRAY_SUBFIELD - - GET_PROTO_ARRAY_SUBFIELD - - GET_PROTO_SUBFIELD - - TO_JSON - - GET_BYTES_SUBFIELD_AS_UTF_8_STRING - - GET_BYTES_SUBFIELD_AS_PROTO - - EQUALS + connections: + type: array + description: Connections. + items: + $ref: '#/components/schemas/GoogleCloudConnectorsV1Connection' + nextPageToken: + description: Next page token. type: string + description: Response containing Connections listed by region. + EnterpriseCrmEventbusProtoDoubleArrayFunction: + properties: + functionName: enumDescriptions: - '' - '' @@ -8984,206 +9330,342 @@ components: - '' - '' - '' - type: object - id: EnterpriseCrmEventbusProtoProtoFunction - GoogleCloudIntegrationsV1alphaAttemptStats: - id: GoogleCloudIntegrationsV1alphaAttemptStats - properties: - endTime: - description: The end time of the integration execution for current attempt. - format: google-datetime - type: string - startTime: - format: google-datetime + - '' + - '' + enum: + - UNSPECIFIED + - GET + - APPEND + - SIZE + - SUM + - AVG + - MAX + - MIN + - TO_SET + - APPEND_ALL + - TO_JSON + - SET + - REMOVE + - REMOVE_AT + - CONTAINS + - FOR_EACH + - FILTER type: string - description: >- - The start time of the integration execution for current attempt. - This could be in the future if it's been scheduled. - description: Status for the execution attempt. + id: EnterpriseCrmEventbusProtoDoubleArrayFunction type: object - EnterpriseCrmEventbusProtoExternalTraffic: - id: EnterpriseCrmEventbusProtoExternalTraffic + GoogleCloudConnectorsV1Connection: type: object + id: GoogleCloudConnectorsV1Connection properties: - retryRequestForQuota: + asyncOperationsEnabled: type: boolean - description: Enqueue the execution request due to quota issue - gcpProjectNumber: - description: User’s GCP project number the traffic is referring to. + description: >- + 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. + serviceAccount: + description: >- + Optional. Service account needed for runtime plane to access Google + Cloud resources. type: string - source: - enumDescriptions: - - '' - - '' - - '' + suspended: + description: >- + Optional. Suspended indicates if a user has suspended a connection + or not. + type: boolean + logConfig: + description: Optional. Log configuration for the connection. + $ref: '#/components/schemas/GoogleCloudConnectorsV1LogConfig' + serviceDirectory: + description: >- + Output only. The name of the Service Directory service name. Used + for Private Harpoon to resolve the ILB address. e.g. + "projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors" + readOnly: true type: string - enum: - - SOURCE_UNSPECIFIED - - APIGEE - - SECURITY - gcpProjectId: - description: User’s GCP project id the traffic is referring to. + eventingConfig: + $ref: '#/components/schemas/GoogleCloudConnectorsV1EventingConfig' + description: Optional. Eventing config of a connection + createTime: + format: google-datetime type: string - location: - description: Location for the user's request. + readOnly: true + description: Output only. Created time. + connectorVersion: + description: >- + Required. Connector version on which the connection is created. The + format is: + projects/*/locations/*/providers/*/connectors/*/versions/* Only + global location is supported for ConnectorVersion resource. + type: string + eventingRuntimeData: + description: Output only. Eventing Runtime Data. + readOnly: true + $ref: '#/components/schemas/GoogleCloudConnectorsV1EventingRuntimeData' + imageLocation: + readOnly: true type: string - enableInternalIp: - type: boolean description: >- - Indicates the client enables internal IP feature, this is applicable - for internal clients only. - description: Represents external traffic type and id. - GoogleCloudConnectorsV1EventingRuntimeDataWebhookData: - properties: + Output only. GCR location where the runtime image is stored. + formatted like: gcr.io/{bucketName}/{imageName} updateTime: format: google-datetime - description: Output only. Timestamp when the webhook was last updated. readOnly: true + description: Output only. Updated time. type: string - additionalVariables: - description: Output only. Additional webhook related field values. - type: array - items: - $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + labels: + description: >- + 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 + additionalProperties: + type: string + type: object + nodeConfig: + $ref: '#/components/schemas/GoogleCloudConnectorsV1NodeConfig' + description: Optional. Node configuration for the connection. + eventingEnablementType: + enum: + - EVENTING_ENABLEMENT_TYPE_UNSPECIFIED + - EVENTING_AND_CONNECTION + - ONLY_EVENTING + enumDescriptions: + - Eventing Enablement Type Unspecifeied. + - Both connection and eventing. + - Only Eventing. + type: string + description: >- + Optional. Eventing enablement type. Will be nil if eventing is not + enabled. + billingConfig: + readOnly: true + $ref: '#/components/schemas/GoogleCloudConnectorsV1BillingConfig' + description: Output only. Billing config for the connection. + lockConfig: + description: >- + Optional. Configuration that indicates whether or not the Connection + can be edited. + $ref: '#/components/schemas/GoogleCloudConnectorsV1LockConfig' + host: readOnly: true - id: - description: Output only. ID to uniquely identify webhook. type: string + description: >- + Output only. The name of the Hostname of the Service Directory + service with TLS. + sslConfig: + $ref: '#/components/schemas/GoogleCloudConnectorsV1SslConfig' + description: Optional. Ssl config of a connection + authConfig: + description: >- + Optional. Configuration for establishing the connection's + authentication with an external system. + $ref: '#/components/schemas/GoogleCloudConnectorsV1AuthConfig' + connectorVersionInfraConfig: readOnly: true + description: Output only. Infra configs supported by Connector Version. + $ref: >- + #/components/schemas/GoogleCloudConnectorsV1ConnectorVersionInfraConfig + authOverrideEnabled: + type: boolean + description: >- + Optional. Auth override enabled for the connection. If Auth Override + is enabled, Connection allows the backend service auth to be + overridden in the entities/actions API. name: - description: Output only. Name of the Webhook type: string readOnly: true - nextRefreshTime: + description: >- + Output only. Resource name of the Connection. Format: + projects/{project}/locations/{location}/connections/{connection} + tlsServiceDirectory: + type: string + readOnly: true + description: Output only. The name of the Service Directory service with TLS. + status: + description: Output only. Current status of the connection. + readOnly: true + $ref: '#/components/schemas/GoogleCloudConnectorsV1ConnectionStatus' + subscriptionType: readOnly: true + description: >- + Output only. This subscription type enum states the subscription + type of the project. + enum: + - SUBSCRIPTION_TYPE_UNSPECIFIED + - PAY_G + - PAID type: string + enumDescriptions: + - Unspecified subscription type. + - PayG subscription. + - Paid Subscription. + destinationConfigs: + type: array description: >- - Output only. Next webhook refresh time. Will be null if refresh is - not supported. - format: google-datetime - createTime: - format: google-datetime + Optional. Configuration of the Connector's destination. Only + accepted for Connectors that accepts user defined destination(s). + items: + $ref: '#/components/schemas/GoogleCloudConnectorsV1DestinationConfig' + envoyImageLocation: readOnly: true type: string - description: Output only. Timestamp when the webhook was created. - id: GoogleCloudConnectorsV1EventingRuntimeDataWebhookData - description: WebhookData has details of webhook configuration. - type: object - GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse: - description: Response for CreateAppsScriptProject rpc call. - type: object - id: GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse - properties: - projectId: - type: string - description: The created AppsScriptProject ID. - EnterpriseCrmEventbusProtoLoopMetadata: - properties: - currentIterationCount: + description: >- + Output only. GCR location where the envoy image is stored. formatted + like: gcr.io/{bucketName}/{imageName} + isTrustedTester: + description: Output only. Is trusted tester program enabled for the project. + type: boolean + readOnly: true + connectorVersionLaunchStage: + readOnly: true type: string - description: Starting from 1, not 0. - format: int64 - failureLocation: enum: - - UNKNOWN - - SUBWORKFLOW - - PARAM_OVERRIDING - - PARAM_AGGREGATING - - SETTING_ITERATION_ELEMENT - - GETTING_LIST_TO_ITERATE - - CONDITION_EVALUATION - - BUILDING_REQUEST + - LAUNCH_STAGE_UNSPECIFIED + - PREVIEW + - GA + - DEPRECATED + - PRIVATE_PREVIEW + description: Output only. Flag to mark the version indicating the launch stage. enumDescriptions: - - No error or Unknown. - - Subworkflow failed while firing/running. - - Param overrides failed. - - Param aggregation failed. - - Setting for loop current element failed. - - Getting the list to iterate. - - Evaluating the while loop condition. - - Building the iteration request - description: Indicates where in the loop logic did it error out. + - LAUNCH_STAGE_UNSPECIFIED. + - PREVIEW. + - GA. + - DEPRECATED. + - PRIVATE_PREVIEW. + configVariables: + type: array + items: + $ref: '#/components/schemas/GoogleCloudConnectorsV1ConfigVariable' + description: >- + Optional. Configuration for configuring the connection with an + external system. + description: + description: Optional. Description of the resource. type: string - currentIterationDetail: + connectionRevision: + readOnly: true type: string + format: int64 description: >- - Needs to be set by the loop impl class before each iteration. The - abstract loop class will append the request and response to it. Eg. - The foreach Loop will clean up and set it as the current iteration - element at the start of each loop. The post request and response - will be appended to the value once they are available. - errorMsg: - description: Add the error message when loops fail. - type: string - id: EnterpriseCrmEventbusProtoLoopMetadata + Output only. Connection revision. This field is only updated when + the connection is created or updated by User. + description: Connection represents an instance of connector. + EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage: + properties: + parameters: + items: + $ref: >- + #/components/schemas/EnterpriseCrmFrontendsEventbusProtoParamSpecEntry + type: array type: object - GoogleCloudIntegrationsV1alphaCloudKmsConfig: + id: EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage + GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse: + description: The response for listing the functional test execution data. type: object - description: Configuration information for Client's Cloud KMS information + id: GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse properties: - kmsLocation: - type: string - description: Required. Location name of the key ring, e.g. "us-west1". - kmsProjectId: - description: >- - Optional. The gcp project id of the project where the kms key - stored. If empty, the kms key is stored at the same project as - customer's project and ecrypted with CMEK, otherwise, the kms key is - stored in the tenant project and encrypted with GMEK + executions: + description: The detailed information of requested executions + items: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' + type: array + nextPageToken: + description: The token used to retrieve the next page results. type: string - key: + GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse: + type: object + description: Response for CreateAppsScriptProject rpc call. + id: GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse + properties: + projectId: type: string - description: >- - Required. A Cloud KMS key is a named object containing one or more - key versions, along with metadata for the key. A key exists on - exactly one key ring tied to a specific location. - keyVersion: + description: The created AppsScriptProject ID. + EnterpriseCrmFrontendsEventbusProtoIntParameterArray: + properties: + intValues: + items: + format: int64 + type: string + type: array + id: EnterpriseCrmFrontendsEventbusProtoIntParameterArray + type: object + EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo: + description: >- + Contains the details of the execution info: this includes the replay + reason and replay tree connecting executions in a parent-child + relationship + id: EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo + properties: + originalExecutionInfoId: type: string description: >- - Optional. Each version of a key contains key material used for - encryption or signing. A key's version is represented by an integer, - starting at 1. To decrypt data or verify a signature, you must use - the same key version that was used to encrypt or sign the data. - kmsRing: + If this execution is a replay of another execution, then this field + contains the original execution id. + replayedExecutionInfoIds: + type: array + items: + type: string description: >- - Required. A key ring organizes keys in a specific Google Cloud - location and allows you to manage access control on groups of keys. - A key ring's name does not need to be unique across a Google Cloud - project, but must be unique within a given location. + If this execution has been replayed, then this field contains the + execution ids of the replayed executions. + replayReason: + description: reason for replay type: string - id: GoogleCloudIntegrationsV1alphaCloudKmsConfig - EnterpriseCrmEventbusProtoEventBusProperties: - description: >- - LINT.IfChange This message is used for storing key value pair properties - for each Event / Task in the EventBus. type: object + GoogleCloudIntegrationsV1alphaProjectProperties: + id: GoogleCloudIntegrationsV1alphaProjectProperties properties: - properties: - items: - $ref: '#/components/schemas/EnterpriseCrmEventbusProtoPropertyEntry' - description: An unordered list of property entries. + ipEnablementState: + enum: + - IP_ENABLEMENT_STATE_UNSPECIFIED + - IP_ENABLEMENT_STATE_STANDALONE + - IP_ENABLEMENT_STATE_APIGEE + - IP_ENABLEMENT_STATE_APIGEE_ENTITLED + type: string + enumDescriptions: + - The client enablement status is unspecified + - The client is enabled on Standalone IP + - The client is enabled on Apigee + - The client is entitled for Apigee but not enabled + description: An enum value of what the enablement state is for the given project + provisionedRegions: type: array - id: EnterpriseCrmEventbusProtoEventBusProperties - EnterpriseCrmEventbusProtoNextTeardownTask: - properties: - name: + description: A list of provisioned regions on the current project + items: + type: string + billingType: + enumDescriptions: + - '' + - A trial org provisioned through Apigee Provisioning Wizard + - >- + Subscription based on concurrency model for Apigee and Application + Integration users. + - Consumption based users of IP + - >- + Argentum subscription for Application Integration users. To be + used in the future. + - >- + Special billing type to avoid any billing to clients (eg: trusted + tester program). This should not be used without consulting with + the leads. + description: 'Required. Required: The client billing type that was requested' + enum: + - BILLING_TYPE_UNSPECIFIED + - APIGEE_TRIALS + - APIGEE_SUBSCRIPTION + - PAYG + - SUBSCRIPTION + - NO_BILLING type: string - description: Required. Name of the next teardown task. - description: >- - The teardown task that is next in line to be executed. We support only - sequential execution of teardown tasks (i.e. no branching). type: object - id: EnterpriseCrmEventbusProtoNextTeardownTask + description: Metadata information for the given project parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: quotaUser + name: prettyPrint schema: - type: string + type: boolean _.xgafv: description: V1 error format. in: query @@ -9193,27 +9675,6 @@ components: enum: - '1' - '2' - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean oauth_token: description: OAuth 2.0 token for the current user. in: query @@ -9236,10 +9697,10 @@ components: - json - media - proto - fields: - description: Selector specifying which fields to include in a partial response. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: fields + name: uploadType schema: type: string upload_protocol: @@ -9248,652 +9709,812 @@ components: name: upload_protocol schema: type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string access_token: description: OAuth access token. in: query name: access_token schema: type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string x-stackQL-resources: - callback: - id: google.integrations.callback - name: callback - title: Callback + sfdc_channels: + id: google.integrations.sfdc_channels + name: sfdc_channels + title: Sfdc_channels + methods: + projects_locations_sfdc_instances_sfdc_channels_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sfdc_instances_sfdc_channels_get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sfdc_instances_sfdc_channels_patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_sfdc_instances_sfdc_channels_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.sfdcChannels + projects_locations_sfdc_instances_sfdc_channels_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_sfdc_instances_sfdc_channels_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_sfdc_instances_sfdc_channels_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.sfdcChannels + projects_locations_products_sfdc_instances_sfdc_channels_patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_sfdc_instances_sfdc_channels_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_sfdc_instances_sfdc_channels_get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_get + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_get + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_list + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_list + insert: + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_create + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_create + update: + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_patch + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_delete + - $ref: >- + #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_delete + sfdc_instances: + id: google.integrations.sfdc_instances + name: sfdc_instances + title: Sfdc_instances methods: - callback_generate_token: + projects_locations_sfdc_instances_list: operation: - $ref: '#/paths/~1v1~1callback:generateToken/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - clientmetadata: - id: google.integrations.clientmetadata - name: clientmetadata - title: Clientmetadata - methods: - projects_get_clientmetadata: + objectKey: $.sfdcInstances + projects_locations_sfdc_instances_create: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1clientmetadata/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/clientmetadata/methods/projects_get_clientmetadata - insert: [] - update: [] - replace: [] - delete: [] - clients: - id: google.integrations.clients - name: clients - title: Clients - methods: - projects_locations_clients_provision: + projects_locations_sfdc_instances_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:provision/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_clients_switch: + projects_locations_sfdc_instances_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:switch/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_clients_replace: + projects_locations_sfdc_instances_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:replace/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_clients_switch_variable_masking: + projects_locations_products_sfdc_instances_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:switchVariableMasking/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_clients_deprovision: + objectKey: $.sfdcInstances + projects_locations_products_sfdc_instances_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:deprovision/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_get_clients: + projects_locations_products_sfdc_instances_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_sfdc_instances_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_sfdc_instances_patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}/patch response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/clients/methods/projects_locations_get_clients - insert: [] - update: [] - replace: + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_get - $ref: >- - #/components/x-stackQL-resources/clients/methods/projects_locations_clients_replace + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_get + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_list + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_list + insert: + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_create + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_create + update: + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_patch + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_patch + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_delete + - $ref: >- + #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_delete + apps_script_projects: + id: google.integrations.apps_script_projects + name: apps_script_projects + title: Apps_script_projects + methods: + projects_locations_apps_script_projects_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1appsScriptProjects/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_apps_script_projects_link: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1appsScriptProjects:link/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/apps_script_projects/methods/projects_locations_apps_script_projects_create + update: [] + replace: [] delete: [] - auth_configs: - id: google.integrations.auth_configs - name: auth_configs - title: Auth_configs + certificates: + id: google.integrations.certificates + name: certificates + title: Certificates methods: - projects_locations_auth_configs_create: + projects_locations_certificates_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_auth_configs_list: + objectKey: $.certificates + projects_locations_certificates_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.authConfigs - projects_locations_auth_configs_get: + projects_locations_certificates_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs~1{authConfigsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates~1{certificatesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_auth_configs_patch: + projects_locations_certificates_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs~1{authConfigsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates~1{certificatesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_auth_configs_delete: + projects_locations_certificates_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs~1{authConfigsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates~1{certificatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_auth_configs_list: + projects_locations_products_certificates_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates~1{certificatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.authConfigs - projects_locations_products_auth_configs_create: + projects_locations_products_certificates_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates~1{certificatesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_auth_configs_delete: + projects_locations_products_certificates_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs~1{authConfigsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates~1{certificatesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_auth_configs_get: + projects_locations_products_certificates_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs~1{authConfigsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_auth_configs_patch: + objectKey: $.certificates + projects_locations_products_certificates_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs~1{authConfigsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_get + #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_get - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_get + #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_get - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_list + #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_list - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_list + #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_list insert: - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_create + #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_create - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_create + #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_create update: - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_patch + #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_patch - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_patch + #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_delete + #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_delete - $ref: >- - #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_delete - apps_script_projects: - id: google.integrations.apps_script_projects - name: apps_script_projects - title: Apps_script_projects + #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_delete + cloud_functions: + id: google.integrations.cloud_functions + name: cloud_functions + title: Cloud_functions methods: - projects_locations_apps_script_projects_create: + projects_locations_cloud_functions_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1cloudFunctions/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_cloud_functions_create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1cloudFunctions/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/cloud_functions/methods/projects_locations_products_cloud_functions_create + - $ref: >- + #/components/x-stackQL-resources/cloud_functions/methods/projects_locations_cloud_functions_create + update: [] + replace: [] + delete: [] + integrations: + id: google.integrations.integrations + name: integrations + title: Integrations + methods: + projects_locations_integrations_test: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:test/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_integrations_delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_integrations_list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.integrations + projects_locations_integrations_execute: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1appsScriptProjects/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:execute/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_apps_script_projects_link: + projects_locations_integrations_schedule: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1appsScriptProjects:link/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:schedule/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/apps_script_projects/methods/projects_locations_apps_script_projects_create - update: [] - replace: [] - delete: [] - runtime_action_schemas: - id: google.integrations.runtime_action_schemas - name: runtime_action_schemas - title: Runtime_action_schemas - methods: - projects_locations_connections_runtime_action_schemas_list: + projects_locations_products_integrations_execute: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1runtimeActionSchemas/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}:execute/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.runtimeActionSchemas - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/runtime_action_schemas/methods/projects_locations_connections_runtime_action_schemas_list - insert: [] - update: [] - replace: [] - delete: [] - runtime_entity_schemas: - id: google.integrations.runtime_entity_schemas - name: runtime_entity_schemas - title: Runtime_entity_schemas - methods: - projects_locations_connections_runtime_entity_schemas_list: + projects_locations_products_integrations_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1runtimeEntitySchemas/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.runtimeEntitySchemas - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/runtime_entity_schemas/methods/projects_locations_connections_runtime_entity_schemas_list - insert: [] - update: [] - replace: [] - delete: [] - connections_connection_schema_metadata: - id: google.integrations.connections_connection_schema_metadata - name: connections_connection_schema_metadata - title: Connections_connection_schema_metadata - methods: - projects_locations_connections_get_connection_schema_metadata: + objectKey: $.integrations + projects_locations_products_integrations_test: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1connectionSchemaMetadata/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}:test/post + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_integrations_schedule: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}:schedule/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/connections_connection_schema_metadata/methods/projects_locations_connections_get_connection_schema_metadata + #/components/x-stackQL-resources/integrations/methods/projects_locations_products_integrations_list + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/projects_locations_integrations_list insert: [] update: [] replace: [] - delete: [] - connections: - id: google.integrations.connections - name: connections - title: Connections + delete: + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/projects_locations_integrations_delete + skip_this_resource: + id: google.integrations.skip_this_resource + name: skip_this_resource + title: Skip_this_resource methods: - projects_locations_connections_list: + projects_locations_integrations_execute_event: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:executeEvent/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.connections sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/projects_locations_connections_list + select: [] insert: [] update: [] replace: [] delete: [] - certificates: - id: google.integrations.certificates - name: certificates - title: Certificates + test_cases: + id: google.integrations.test_cases + name: test_cases + title: Test_cases methods: - projects_locations_certificates_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates~1{certificatesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_certificates_delete: + projects_locations_integrations_versions_test_cases_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates~1{certificatesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_certificates_patch: + projects_locations_integrations_versions_test_cases_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates~1{certificatesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_certificates_create: + projects_locations_integrations_versions_test_cases_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_certificates_list: + projects_locations_integrations_versions_test_cases_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1certificates/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.certificates - projects_locations_products_certificates_create: + projects_locations_integrations_versions_test_cases_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_certificates_list: + objectKey: $.testCases + projects_locations_integrations_versions_test_cases_upload: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases:upload/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.certificates - projects_locations_products_certificates_delete: + projects_locations_integrations_versions_test_cases_execute_test: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates~1{certificatesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}:executeTest/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_certificates_get: + projects_locations_integrations_versions_test_cases_takeover_edit_lock: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates~1{certificatesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}:takeoverEditLock/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_certificates_patch: + projects_locations_integrations_versions_test_cases_download: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1certificates~1{certificatesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}:download/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_get - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_get - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_list + #/components/x-stackQL-resources/test_cases/methods/projects_locations_integrations_versions_test_cases_get - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_list + #/components/x-stackQL-resources/test_cases/methods/projects_locations_integrations_versions_test_cases_list insert: - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_create - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_create + #/components/x-stackQL-resources/test_cases/methods/projects_locations_integrations_versions_test_cases_create update: - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_patch - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_patch + #/components/x-stackQL-resources/test_cases/methods/projects_locations_integrations_versions_test_cases_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_products_certificates_delete + #/components/x-stackQL-resources/test_cases/methods/projects_locations_integrations_versions_test_cases_delete + test_cases_executions: + id: google.integrations.test_cases_executions + name: test_cases_executions + title: Test_cases_executions + methods: + projects_locations_integrations_versions_test_cases_list_executions: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}~1testCases~1{testCasesId}:executions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.executions + sqlVerbs: + select: - $ref: >- - #/components/x-stackQL-resources/certificates/methods/projects_locations_certificates_delete - sfdc_instances: - id: google.integrations.sfdc_instances - name: sfdc_instances - title: Sfdc_instances + #/components/x-stackQL-resources/test_cases_executions/methods/projects_locations_integrations_versions_test_cases_list_executions + insert: [] + update: [] + replace: [] + delete: [] + versions: + id: google.integrations.versions + name: versions + title: Versions methods: - projects_locations_sfdc_instances_delete: + projects_locations_integrations_versions_upload: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions:upload/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_get: + projects_locations_integrations_versions_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_patch: + projects_locations_integrations_versions_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_create: + projects_locations_integrations_versions_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_list: + projects_locations_integrations_versions_publish: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:publish/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.sfdcInstances - projects_locations_products_sfdc_instances_delete: + projects_locations_integrations_versions_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_patch: + objectKey: $.integrationVersions + projects_locations_integrations_versions_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_get: + projects_locations_integrations_versions_unpublish: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:unpublish/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_create: + projects_locations_integrations_versions_download: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:download/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_list: + projects_locations_integrations_versions_download_json_package: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:downloadJsonPackage/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.sfdcInstances - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_get - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_get - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_list - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_list - insert: - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_create - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_create - update: - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_patch - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_products_sfdc_instances_delete - - $ref: >- - #/components/x-stackQL-resources/sfdc_instances/methods/projects_locations_sfdc_instances_delete - sfdc_channels: - id: google.integrations.sfdc_channels - name: sfdc_channels - title: Sfdc_channels - methods: - projects_locations_sfdc_instances_sfdc_channels_get: + projects_locations_products_integrations_versions_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_sfdc_channels_delete: + projects_locations_products_integrations_versions_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_sfdc_channels_patch: + objectKey: $.integrationVersions + projects_locations_products_integrations_versions_download: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:download/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_sfdc_instances_sfdc_channels_list: + projects_locations_products_integrations_versions_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.sfdcChannels - projects_locations_sfdc_instances_sfdc_channels_create: + projects_locations_products_integrations_versions_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_sfdc_channels_get: + projects_locations_products_integrations_versions_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_sfdc_channels_patch: + projects_locations_products_integrations_versions_publish: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:publish/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_sfdc_channels_delete: + projects_locations_products_integrations_versions_upload: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels~1{sfdcChannelsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions:upload/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_sfdc_instances_sfdc_channels_list: + projects_locations_products_integrations_versions_unpublish: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:unpublish/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.sfdcChannels - projects_locations_products_sfdc_instances_sfdc_channels_create: + projects_locations_products_integrations_versions_takeover_edit_lock: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1sfdcInstances~1{sfdcInstancesId}~1sfdcChannels/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:takeoverEditLock/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_get + #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_get - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_get + #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_get - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_list + #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_list - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_list + #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_list insert: - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_create + #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_create - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_create + #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_create update: - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_patch + #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_patch - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_patch + #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_products_sfdc_instances_sfdc_channels_delete + #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_delete - $ref: >- - #/components/x-stackQL-resources/sfdc_channels/methods/projects_locations_sfdc_instances_sfdc_channels_delete + #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_delete executions: id: google.integrations.executions name: executions title: Executions methods: - projects_locations_products_integrations_executions_download: + projects_locations_integrations_executions_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}:download/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_integrations_executions_list: + objectKey: $.executions + projects_locations_integrations_executions_replay: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}:replay/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.executions - projects_locations_products_integrations_executions_get: + projects_locations_integrations_executions_download: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}:download/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_integrations_executions_cancel: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}:cancel/post response: mediaType: application/json openAPIDocKey: '200' @@ -9904,29 +10525,36 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_executions_download: + projects_locations_products_integrations_executions_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}:download/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_executions_list: + objectKey: $.executions + projects_locations_products_integrations_executions_download: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}:download/get + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_products_integrations_executions_get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.executions sqlVerbs: select: - $ref: >- #/components/x-stackQL-resources/executions/methods/projects_locations_products_integrations_executions_get - - $ref: >- - #/components/x-stackQL-resources/executions/methods/projects_locations_products_integrations_executions_list - $ref: >- #/components/x-stackQL-resources/executions/methods/projects_locations_integrations_executions_get + - $ref: >- + #/components/x-stackQL-resources/executions/methods/projects_locations_products_integrations_executions_list - $ref: >- #/components/x-stackQL-resources/executions/methods/projects_locations_integrations_executions_list insert: [] @@ -9938,50 +10566,50 @@ components: name: suspensions title: Suspensions methods: - projects_locations_products_integrations_executions_suspensions_list: + projects_locations_integrations_executions_suspensions_resolve: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:resolve/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.suspensions - projects_locations_products_integrations_executions_suspensions_resolve: + projects_locations_integrations_executions_suspensions_lift: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:resolve/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:lift/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_integrations_executions_suspensions_lift: + projects_locations_integrations_executions_suspensions_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:lift/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_executions_suspensions_resolve: + objectKey: $.suspensions + projects_locations_products_integrations_executions_suspensions_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:resolve/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_executions_suspensions_lift: + objectKey: $.suspensions + projects_locations_products_integrations_executions_suspensions_lift: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:lift/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:lift/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_executions_suspensions_list: + projects_locations_products_integrations_executions_suspensions_resolve: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1executions~1{executionsId}~1suspensions~1{suspensionsId}:resolve/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.suspensions sqlVerbs: select: - $ref: >- @@ -9992,304 +10620,245 @@ components: update: [] replace: [] delete: [] - versions: - id: google.integrations.versions - name: versions - title: Versions + auth_configs: + id: google.integrations.auth_configs + name: auth_configs + title: Auth_configs methods: - projects_locations_products_integrations_versions_publish: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:publish/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_takeover_edit_lock: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:takeoverEditLock/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_unpublish: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:unpublish/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.integrationVersions - projects_locations_products_integrations_versions_create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_upload: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions:upload/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_versions_download: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:download/get - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_integrations_versions_publish: + projects_locations_auth_configs_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:publish/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_list: + objectKey: $.authConfigs + projects_locations_auth_configs_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.integrationVersions - projects_locations_integrations_versions_create: + projects_locations_auth_configs_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs~1{authConfigsId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_get: + projects_locations_auth_configs_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs~1{authConfigsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_delete: + projects_locations_auth_configs_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1authConfigs~1{authConfigsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_patch: + projects_locations_products_auth_configs_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs~1{authConfigsId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_download: + projects_locations_products_auth_configs_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:download/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs~1{authConfigsId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_upload: + projects_locations_products_auth_configs_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions:upload/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs~1{authConfigsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_unpublish: + projects_locations_products_auth_configs_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:unpublish/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_versions_download_json_package: + objectKey: $.authConfigs + projects_locations_products_auth_configs_create: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}~1versions~1{versionsId}:downloadJsonPackage/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1authConfigs/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_get + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_get - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_list + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_get - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_get + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_list - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_list + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_list insert: - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_create + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_create - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_create + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_create update: - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_patch + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_patch - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_patch + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_patch replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_products_integrations_versions_delete - - $ref: >- - #/components/x-stackQL-resources/versions/methods/projects_locations_integrations_versions_delete - integrations: - id: google.integrations.integrations - name: integrations - title: Integrations + delete: + - $ref: >- + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_products_auth_configs_delete + - $ref: >- + #/components/x-stackQL-resources/auth_configs/methods/projects_locations_auth_configs_delete + clients: + id: google.integrations.clients + name: clients + title: Clients methods: - projects_locations_products_integrations_test: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}:test/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_execute: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}:execute/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_products_integrations_schedule: + projects_locations_clients_deprovision: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations~1{integrationsId}:schedule/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:deprovision/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_products_integrations_list: + projects_locations_clients_switch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1integrations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:switch/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.integrations - projects_locations_integrations_test: + projects_locations_clients_replace: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:test/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:replace/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_execute: + projects_locations_clients_provision: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:execute/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:provision/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_list: + projects_locations_clients_switch_variable_masking: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients:switchVariableMasking/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.integrations - projects_locations_integrations_delete: + projects_locations_get_clients: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1clients/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_integrations_schedule: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/clients/methods/projects_locations_get_clients + insert: [] + update: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/clients/methods/projects_locations_clients_replace + delete: [] + runtime_entity_schemas: + id: google.integrations.runtime_entity_schemas + name: runtime_entity_schemas + title: Runtime_entity_schemas + methods: + projects_locations_connections_runtime_entity_schemas_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:schedule/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1runtimeEntitySchemas/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.runtimeEntitySchemas sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/integrations/methods/projects_locations_products_integrations_list - - $ref: >- - #/components/x-stackQL-resources/integrations/methods/projects_locations_integrations_list + #/components/x-stackQL-resources/runtime_entity_schemas/methods/projects_locations_connections_runtime_entity_schemas_list insert: [] update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/integrations/methods/projects_locations_integrations_delete - cloud_functions: - id: google.integrations.cloud_functions - name: cloud_functions - title: Cloud_functions + delete: [] + runtime_action_schemas: + id: google.integrations.runtime_action_schemas + name: runtime_action_schemas + title: Runtime_action_schemas methods: - projects_locations_products_cloud_functions_create: + projects_locations_connections_runtime_action_schemas_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1products~1{productsId}~1cloudFunctions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1runtimeActionSchemas/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_cloud_functions_create: + objectKey: $.runtimeActionSchemas + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/runtime_action_schemas/methods/projects_locations_connections_runtime_action_schemas_list + insert: [] + update: [] + replace: [] + delete: [] + connections_connection_schema_metadata: + id: google.integrations.connections_connection_schema_metadata + name: connections_connection_schema_metadata + title: Connections_connection_schema_metadata + methods: + projects_locations_connections_get_connection_schema_metadata: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1cloudFunctions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections~1{connectionsId}~1connectionSchemaMetadata/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/cloud_functions/methods/projects_locations_products_cloud_functions_create + select: - $ref: >- - #/components/x-stackQL-resources/cloud_functions/methods/projects_locations_cloud_functions_create + #/components/x-stackQL-resources/connections_connection_schema_metadata/methods/projects_locations_connections_get_connection_schema_metadata + insert: [] update: [] replace: [] delete: [] - skip_this_resource: - id: google.integrations.skip_this_resource - name: skip_this_resource - title: Skip_this_resource + connections: + id: google.integrations.connections + name: connections + title: Connections methods: - projects_locations_integrations_execute_event: + projects_locations_connections_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1integrations~1{integrationsId}:executeEvent/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1connections/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.connections sqlVerbs: - select: [] + select: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/projects_locations_connections_list insert: [] update: [] replace: [] @@ -10299,48 +10868,49 @@ components: name: templates title: Templates methods: - projects_locations_templates_get: + projects_locations_templates_import: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:import/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_delete: + projects_locations_templates_patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}/delete + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_patch: + projects_locations_templates_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_download: + projects_locations_templates_delete: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:download/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}/delete response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_unshare: + projects_locations_templates_share: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:unshare/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:share/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_upload: + projects_locations_templates_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates:upload/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.templates projects_locations_templates_create: operation: $ref: >- @@ -10348,18 +10918,17 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_list: + projects_locations_templates_search: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates:search/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.templates - projects_locations_templates_import: + projects_locations_templates_unshare: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:import/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:unshare/post response: mediaType: application/json openAPIDocKey: '200' @@ -10370,17 +10939,17 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_search: + projects_locations_templates_download: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates:search/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:download/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_templates_share: + projects_locations_templates_upload: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates~1{templatesId}:share/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1templates:upload/post response: mediaType: application/json openAPIDocKey: '200' @@ -10400,6 +10969,42 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/templates/methods/projects_locations_templates_delete + clientmetadata: + id: google.integrations.clientmetadata + name: clientmetadata + title: Clientmetadata + methods: + projects_get_clientmetadata: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1clientmetadata/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/clientmetadata/methods/projects_get_clientmetadata + insert: [] + update: [] + replace: [] + delete: [] + callback: + id: google.integrations.callback + name: callback + title: Callback + methods: + callback_generate_token: + operation: + $ref: '#/paths/~1v1~1callback:generateToken/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] connector_platform_regions: id: google.integrations.connector_platform_regions name: connector_platform_regions @@ -10418,25 +11023,60 @@ components: replace: [] delete: [] paths: - /v1/callback:generateToken: + /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/quotaUser' + delete: + description: Deletes an sfdc channel. + operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: path + name: sfdcChannelsId + required: true + schema: + type: string get: description: >- - 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. - operationId: integrations.callback.generateToken + Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND + exception will be thrown. + operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10448,34 +11088,175 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaGenerateTokenResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' parameters: - - in: query - name: state + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: path + name: sfdcChannelsId + required: true + schema: + type: string + patch: + description: >- + Updates an sfdc channel. Updates the sfdc channel in spanner. Returns + the sfdc channel. + operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: path + name: sfdcChannelsId + required: true schema: type: string - in: query - name: gcpProjectId + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels: + parameters: *ref_1 + get: + description: >- + Lists all sfdc channels that match the filter. Restrict to sfdc channels + belonging to the current client only. + operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true schema: type: string - in: query - name: code + name: pageToken schema: type: string - in: query - name: product + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter schema: type: string - in: query - name: redirectUri + name: readMask schema: type: string - /v1/projects/{projectsId}/clientmetadata: + format: google-fieldmask + post: + description: >- + Creates an sfdc channel record. Store the sfdc channel in Spanner. + Returns the sfdc channel. + operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances: parameters: *ref_1 get: - description: Gets the metadata info for the requested client - operationId: integrations.projects.getClientmetadata + description: >- + Lists all sfdc instances that match the filter. Restrict to sfdc + instances belonging to the current client only. + operationId: integrations.projects.locations.sfdcInstances.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10488,27 +11269,109 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaGetClientMetadataResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse parameters: - in: path name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/clients:provision: - parameters: *ref_1 + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string post: description: >- - Perform the provisioning steps to enable a user GCP project to use IP. - If GCP project already registered on IP end via Apigee Integration, - provisioning will fail. - operationId: integrations.projects.locations.clients.provision + Creates an sfdc instance record. Store the sfdc instance in Spanner. + Returns the sfdc instance. + operationId: integrations.projects.locations.sfdcInstances.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaProvisionClientRequest + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}: + parameters: *ref_1 + get: + description: >- + Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND + exception will be thrown. + operationId: integrations.projects.locations.sfdcInstances.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + delete: + description: Deletes an sfdc instance. + operationId: integrations.projects.locations.sfdcInstances.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10532,17 +11395,21 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/clients:switch: - parameters: *ref_1 - post: - description: Update client from GMEK to CMEK - operationId: integrations.projects.locations.clients.switch + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + patch: + description: >- + Updates an sfdc instance. Updates the sfdc instance in spanner. Returns + the sfdc instance. + operationId: integrations.projects.locations.sfdcInstances.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10554,7 +11421,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance parameters: - in: path name: projectsId @@ -10566,17 +11434,27 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/clients:replace: + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/appsScriptProjects: parameters: *ref_1 post: - description: Update run-as service account for provisioned client - operationId: integrations.projects.locations.clients.replace + description: Creates an Apps Script project. + operationId: integrations.projects.locations.appsScriptProjects.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10588,7 +11466,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse parameters: - in: path name: projectsId @@ -10600,17 +11479,17 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/clients:switchVariableMasking: + /v1/projects/{projectsId}/locations/{locationsId}/appsScriptProjects:link: parameters: *ref_1 post: - description: Update variable masking for provisioned client - operationId: integrations.projects.locations.clients.switchVariableMasking + description: Links a existing Apps Script project. + operationId: integrations.projects.locations.appsScriptProjects.link requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10622,7 +11501,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse parameters: - in: path name: projectsId @@ -10634,19 +11514,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/clients:deprovision: + /v1/projects/{projectsId}/locations/{locationsId}/certificates: parameters: *ref_1 - post: + get: description: >- - Perform the deprovisioning steps to disable a user GCP project to use IP - and purge all related data in a wipeout-compliant way. - operationId: integrations.projects.locations.clients.deprovision - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDeprovisionClientRequest + List all the certificates that match the filter. Restrict to certificate + of current client only. + operationId: integrations.projects.locations.certificates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10658,7 +11532,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaListCertificatesResponse parameters: - in: path name: projectsId @@ -10670,20 +11545,35 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/authConfigs: - parameters: *ref_1 + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask post: description: >- - Creates an auth config record. Fetch corresponding credentials for - specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. - Encrypt the auth config with Cloud KMS and store the encrypted - credentials in Spanner. Returns the encrypted auth config. - operationId: integrations.projects.locations.authConfigs.create + Creates a new certificate. The certificate will be registered to the + trawler service and will be encrypted using cloud KMS and stored in + Spanner Returns the certificate. + operationId: integrations.projects.locations.certificates.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10695,7 +11585,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' parameters: - in: path name: projectsId @@ -10707,23 +11597,20 @@ paths: required: true schema: type: string - - in: query - name: clientCertificate.sslCertificate - schema: - type: string - - in: query - name: clientCertificate.encryptedPrivateKey - schema: - type: string - - in: query - name: clientCertificate.passphrase - schema: - type: string - get: + /v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}: + parameters: *ref_1 + patch: description: >- - Lists all auth configs that match the filter. Restrict to auth configs - belong to the current client only. - operationId: integrations.projects.locations.authConfigs.list + 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. + operationId: integrations.projects.locations.certificates.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10735,8 +11622,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListAuthConfigsResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' parameters: - in: path name: projectsId @@ -10748,32 +11634,19 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: certificatesId + required: true schema: type: string - in: query - name: readMask + name: updateMask schema: type: string format: google-fieldmask - - in: query - name: pageToken - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}: - parameters: *ref_1 get: - description: >- - Gets a complete auth config. If the auth config doesn't exist, - Code.NOT_FOUND exception will be thrown. Returns the decrypted auth - config. - operationId: integrations.projects.locations.authConfigs.get + description: Get a certificates in the specified project. + operationId: integrations.projects.locations.certificates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10785,7 +11658,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' parameters: - in: path name: projectsId @@ -10798,23 +11671,13 @@ paths: schema: type: string - in: path - name: authConfigsId + name: certificatesId required: true schema: type: string - patch: - description: >- - 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. - operationId: integrations.projects.locations.authConfigs.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + delete: + description: Delete a certificate + operationId: integrations.projects.locations.certificates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10826,7 +11689,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10839,30 +11702,21 @@ paths: schema: type: string - in: path - name: authConfigsId + name: certificatesId required: true schema: type: string - - in: query - name: clientCertificate.sslCertificate - schema: - type: string - - in: query - name: clientCertificate.encryptedPrivateKey - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - - in: query - name: clientCertificate.passphrase - schema: - type: string - delete: - description: Deletes an auth config. - operationId: integrations.projects.locations.authConfigs.delete + /v1/projects/{projectsId}/locations/{locationsId}/cloudFunctions: + parameters: *ref_1 + post: + description: Creates a cloud function project. + operationId: integrations.projects.locations.cloudFunctions.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10874,7 +11728,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse parameters: - in: path name: projectsId @@ -10886,22 +11741,17 @@ paths: required: true schema: type: string - - in: path - name: authConfigsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/appsScriptProjects: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:test: parameters: *ref_1 post: - description: Creates an Apps Script project. - operationId: integrations.projects.locations.appsScriptProjects.create + description: Execute the integration in draft state + operationId: integrations.projects.locations.integrations.test requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10914,29 +11764,28 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsResponse parameters: - in: path - name: projectsId + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId required: true schema: type: string - in: path - name: locationsId + name: integrationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/appsScriptProjects:link: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}: parameters: *ref_1 - post: - description: Links a existing Apps Script project. - operationId: integrations.projects.locations.appsScriptProjects.link - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest + delete: + description: Delete the selected integration and all versions inside + operationId: integrations.projects.locations.integrations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10948,8 +11797,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -10961,13 +11809,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas: + - in: path + name: integrationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations: parameters: *ref_1 get: - description: >- - Lists the JSON schemas for the inputs and outputs of actions, filtered - by action name. - operationId: integrations.projects.locations.connections.runtimeActionSchemas.list + description: Returns the list of all integrations in the specified project. + operationId: integrations.projects.locations.integrations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -10980,7 +11831,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationsResponse parameters: - in: path name: projectsId @@ -10992,13 +11843,12 @@ paths: required: true schema: type: string - - in: path - name: connectionsId - required: true + - in: query + name: pageToken schema: type: string - in: query - name: pageToken + name: orderBy schema: type: string - in: query @@ -11010,13 +11860,14 @@ paths: name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:executeEvent: parameters: *ref_1 - get: + post: description: >- - Lists the JSON schemas for the properties of runtime entities, filtered - by entity name. - operationId: integrations.projects.locations.connections.runtimeEntitySchemas.list + 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 + operationId: integrations.projects.locations.integrations.executeEvent security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11029,7 +11880,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteEventResponse parameters: - in: path name: projectsId @@ -11042,28 +11893,32 @@ paths: schema: type: string - in: path - name: connectionsId + name: integrationsId required: true schema: type: string - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + name: triggerId schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:execute: parameters: *ref_1 - get: - description: Lists the available entities and actions associated with a Connection. - operationId: integrations.projects.locations.connections.getConnectionSchemaMetadata + post: + description: >- + 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. + operationId: integrations.projects.locations.integrations.execute + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11076,7 +11931,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse parameters: - in: path name: projectsId @@ -11089,15 +11944,23 @@ paths: schema: type: string - in: path - name: connectionsId + name: integrationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/connections: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:schedule: parameters: *ref_1 - get: - description: Lists Connections in a given project and location. - operationId: integrations.projects.locations.connections.list + post: + description: >- + Schedules an integration for execution by passing the trigger id and the + scheduled time in the request body. + operationId: integrations.projects.locations.integrations.schedule + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11110,7 +11973,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListConnectionsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse parameters: - in: path name: projectsId @@ -11122,28 +11985,16 @@ paths: required: true schema: type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: integrationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}: parameters: *ref_1 - get: - description: Get a certificates in the specified project. - operationId: integrations.projects.locations.certificates.get + delete: + description: Deletes a test case + operationId: integrations.projects.locations.integrations.versions.testCases.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11155,7 +12006,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -11168,13 +12019,28 @@ paths: schema: type: string - in: path - name: certificatesId + name: integrationsId required: true schema: type: string - delete: - description: Delete a certificate - operationId: integrations.projects.locations.certificates.delete + - in: path + name: versionsId + required: true + schema: + type: string + - in: path + name: testCasesId + required: true + schema: + type: string + patch: + description: Updates a test case + operationId: integrations.projects.locations.integrations.versions.testCases.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11186,7 +12052,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' parameters: - in: path name: projectsId @@ -11199,22 +12065,28 @@ paths: schema: type: string - in: path - name: certificatesId + name: integrationsId required: true schema: type: string - patch: - description: >- - 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. - operationId: integrations.projects.locations.certificates.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + - in: path + name: versionsId + required: true + schema: + type: string + - in: path + name: testCasesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Get a test case + operationId: integrations.projects.locations.integrations.versions.testCases.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11226,7 +12098,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' parameters: - in: path name: projectsId @@ -11239,28 +12111,30 @@ paths: schema: type: string - in: path - name: certificatesId + name: integrationsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: versionsId + required: true schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/certificates: + - in: path + name: testCasesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases: parameters: *ref_1 post: - description: >- - Creates a new certificate. The certificate will be registered to the - trawler service and will be encrypted using cloud KMS and stored in - Spanner Returns the certificate. - operationId: integrations.projects.locations.certificates.create + description: Creates a new test case + operationId: integrations.projects.locations.integrations.versions.testCases.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11272,7 +12146,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' parameters: - in: path name: projectsId @@ -11284,11 +12158,23 @@ paths: required: true schema: type: string + - in: path + name: integrationsId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string + - in: query + name: testCaseId + schema: + type: string get: - description: >- - List all the certificates that match the filter. Restrict to certificate - of current client only. - operationId: integrations.projects.locations.certificates.list + description: Lists all the test cases that satisfy the filters. + operationId: integrations.projects.locations.integrations.versions.testCases.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11301,7 +12187,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListCertificatesResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListTestCasesResponse parameters: - in: path name: projectsId @@ -11313,29 +12199,53 @@ paths: required: true schema: type: string + - in: path + name: integrationsId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string - in: query name: pageToken schema: type: string - in: query - name: pageSize + name: readMask schema: - type: integer - format: int32 + type: string + format: google-fieldmask - in: query name: filter schema: type: string - in: query - name: readMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases:upload: parameters: *ref_1 - delete: - description: Deletes an sfdc instance. - operationId: integrations.projects.locations.sfdcInstances.delete + post: + description: >- + Uploads a test case. The content can be a previously downloaded test + case. Performs the same function as CreateTestCase, but accepts input in + a string format, which holds the complete representation of the TestCase + content. + operationId: integrations.projects.locations.integrations.versions.testCases.upload + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadTestCaseRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11347,7 +12257,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadTestCaseResponse parameters: - in: path name: projectsId @@ -11360,15 +12271,27 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - get: - description: >- - Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND - exception will be thrown. - operationId: integrations.projects.locations.sfdcInstances.get + - in: path + name: versionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executeTest: + parameters: *ref_1 + post: + description: Executes functional test + operationId: >- + integrations.projects.locations.integrations.versions.testCases.executeTest + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11381,7 +12304,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse parameters: - in: path name: projectsId @@ -11394,20 +12317,30 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - patch: + - in: path + name: versionsId + required: true + schema: + type: string + - in: path + name: testCasesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executions: + parameters: *ref_1 + get: description: >- - Updates an sfdc instance. Updates the sfdc instance in spanner. Returns - the sfdc instance. - operationId: integrations.projects.locations.sfdcInstances.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' + Lists the results of all functional test executions. The response + includes the same information as the [execution + log](https://cloud.google.com/application-integration/docs/viewing-logs) + in the Integration UI. + operationId: >- + integrations.projects.locations.integrations.versions.testCases.listExecutions security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11420,7 +12353,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + #/components/schemas/GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse parameters: - in: path name: projectsId @@ -11433,27 +12366,58 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string + - in: path + name: testCasesId required: true schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: truncateParams + schema: + type: boolean + - in: query + name: orderBy + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances: + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:takeoverEditLock: parameters: *ref_1 post: - description: >- - Creates an sfdc instance record. Store the sfdc instance in Spanner. - Returns the sfdc instance. - operationId: integrations.projects.locations.sfdcInstances.create + description: Clear the lock fields and assign them to current user + operationId: >- + integrations.projects.locations.integrations.versions.testCases.takeoverEditLock requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11465,8 +12429,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTestCase' parameters: - in: path name: projectsId @@ -11478,60 +12441,28 @@ paths: required: true schema: type: string - get: - description: >- - Lists all sfdc instances that match the filter. Restrict to sfdc - instances belonging to the current client only. - operationId: integrations.projects.locations.sfdcInstances.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse - parameters: - in: path - name: projectsId + name: integrationsId required: true schema: type: string - in: path - name: locationsId + name: versionsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: testCasesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:download: parameters: *ref_1 get: description: >- - Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND - exception will be thrown. - operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.get + Downloads a test case. Retrieves the `TestCase` for a given + `test_case_id` and returns the response as a string. + operationId: integrations.projects.locations.integrations.versions.testCases.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11543,7 +12474,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse parameters: - in: path name: projectsId @@ -11556,18 +12488,40 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - in: path - name: sfdcChannelsId + name: versionsId required: true schema: type: string - delete: - description: Deletes an sfdc channel. - operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.delete + - in: path + name: testCasesId + required: true + schema: + type: string + - in: query + name: fileFormat + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions:upload: + parameters: *ref_1 + post: + description: >- + 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. + operationId: integrations.projects.locations.integrations.versions.upload + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11579,7 +12533,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse parameters: - in: path name: projectsId @@ -11592,25 +12547,21 @@ paths: schema: type: string - in: path - name: sfdcInstancesId - required: true - schema: - type: string - - in: path - name: sfdcChannelsId + name: integrationsId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}: + parameters: *ref_1 patch: - description: >- - Updates an sfdc channel. Updates the sfdc channel in spanner. Returns - the sfdc channel. - operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.patch + description: Update a integration with a draft version in the specified project. + operationId: integrations.projects.locations.integrations.versions.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11622,7 +12573,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion parameters: - in: path name: projectsId @@ -11635,12 +12587,12 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - in: path - name: sfdcChannelsId + name: versionsId required: true schema: type: string @@ -11649,13 +12601,18 @@ paths: schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels: - parameters: *ref_1 - get: + delete: description: >- - Lists all sfdc channels that match the filter. Restrict to sfdc channels - belonging to the current client only. - operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.list + 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. + operationId: integrations.projects.locations.integrations.versions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11667,8 +12624,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -11681,38 +12637,18 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - - in: query - name: readMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: versionsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: >- - Creates an sfdc channel record. Store the sfdc channel in Spanner. - Returns the sfdc channel. - operationId: integrations.projects.locations.sfdcInstances.sfdcChannels.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + get: + description: Get a integration in the specified project. + operationId: integrations.projects.locations.integrations.versions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11724,7 +12660,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion parameters: - in: path name: projectsId @@ -11737,16 +12674,32 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}:download: + - in: path + name: versionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:publish: parameters: *ref_1 - get: - description: Download the execution. - operationId: >- - integrations.projects.locations.products.integrations.executions.download + post: + description: >- + 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. + operationId: integrations.projects.locations.integrations.versions.publish + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11759,7 +12712,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadExecutionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse parameters: - in: path name: projectsId @@ -11771,30 +12724,21 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: executionsId + name: versionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions: parameters: *ref_1 get: - description: >- - 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. - operationId: integrations.projects.locations.products.integrations.executions.list + description: Returns the list of all integration versions in the specified project. + operationId: integrations.projects.locations.integrations.versions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11807,7 +12751,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListExecutionsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse parameters: - in: path name: projectsId @@ -11819,105 +12763,135 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true schema: type: string - in: query - name: filterParams.workflowName + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: filterParams.eventStatuses + name: fieldMask schema: type: string + format: google-fieldmask - in: query - name: refreshAcl - schema: - type: boolean - - in: query - name: truncateParams - schema: - type: boolean - - in: query - name: filterParams.startTime + name: pageToken schema: type: string - format: int64 - in: query - name: filterParams.customFilter + name: orderBy schema: type: string - in: query name: filter schema: type: string - - in: query - name: filterParams.executionId - schema: - type: string - - in: query - name: filterParams.parameterKey - schema: - type: string - - in: query - name: filterParams.taskStatuses + post: + description: Create a integration with a draft version in the specified project. + operationId: integrations.projects.locations.integrations.versions.create + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: filterParams.endTime + - in: path + name: locationsId + required: true schema: type: string - format: int64 - - in: query - name: filterParams.parameterPairKey + - in: path + name: integrationsId + required: true schema: type: string - in: query - name: snapshotMetadataWithoutParams + name: createSampleIntegrations schema: type: boolean - in: query - name: filterParams.parameterPairValue - schema: - type: string - - in: query - name: pageToken + name: newIntegration schema: - type: string - - in: query - name: orderBy + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish: + parameters: *ref_1 + post: + description: >- + 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. + operationId: integrations.projects.locations.integrations.versions.unpublish + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filterParams.parameterValue + - in: path + name: locationsId + required: true schema: type: string - - in: query - name: readMask + - in: path + name: integrationsId + required: true schema: type: string - format: google-fieldmask - - in: query - name: filterParams.parameterType + - in: path + name: versionsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:download: parameters: *ref_1 get: - description: Get an execution in the specified project. - operationId: integrations.projects.locations.products.integrations.executions.get + description: >- + Downloads an integration. Retrieves the `IntegrationVersion` for a given + `integration_id` and returns the response as a string. + operationId: integrations.projects.locations.integrations.versions.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11929,7 +12903,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse parameters: - in: path name: projectsId @@ -11942,29 +12917,33 @@ paths: schema: type: string - in: path - name: productsId + name: integrationsId required: true schema: type: string - in: path - name: integrationsId + name: versionsId required: true schema: type: string - - in: path - name: executionsId - required: true + - in: query + name: files schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions: + - in: query + name: fileFormat + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:downloadJsonPackage: parameters: *ref_1 get: description: >- - * Lists suspensions associated with a specific execution. Only those - with permissions to resolve the relevant suspensions will be able to - view them. + 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. operationId: >- - integrations.projects.locations.products.integrations.executions.suspensions.list + integrations.projects.locations.integrations.versions.downloadJsonPackage security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11977,7 +12956,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListSuspensionsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse parameters: - in: path name: projectsId @@ -11989,53 +12968,29 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: executionsId + name: versionsId required: true schema: type: string - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: orderBy + name: files schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions: parameters: *ref_1 - post: + get: description: >- - * 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. - operationId: >- - integrations.projects.locations.products.integrations.executions.suspensions.resolve - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionRequest + 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. + operationId: integrations.projects.locations.integrations.executions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12048,7 +13003,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListExecutionsResponse parameters: - in: path name: projectsId @@ -12061,40 +13016,107 @@ paths: schema: type: string - in: path - name: productsId + name: integrationsId required: true schema: type: string - - in: path - name: integrationsId - required: true + - in: query + name: filterParams.executionId schema: type: string - - in: path - name: executionsId - required: true + - in: query + name: readMask schema: type: string - - in: path - name: suspensionsId - required: true + format: google-fieldmask + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: orderBy + schema: + type: string + - in: query + name: filterParams.endTime + schema: + type: string + format: int64 + - in: query + name: snapshotMetadataWithoutParams + schema: + type: boolean + - in: query + name: filterParams.parameterValue + schema: + type: string + - in: query + name: filterParams.eventStatuses + schema: + type: string + - in: query + name: filterParams.parameterPairKey + schema: + type: string + - in: query + name: filterParams.taskStatuses + schema: + type: string + - in: query + name: filterParams.startTime + schema: + type: string + format: int64 + - in: query + name: filterParams.customFilter + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: refreshAcl + schema: + type: boolean + - in: query + name: filterParams.parameterPairValue + schema: + type: string + - in: query + name: filterParams.parameterKey + schema: + type: string + - in: query + name: truncateParams + schema: + type: boolean + - in: query + name: filterParams.parameterType + schema: + type: string + - in: query + name: filterParams.workflowName + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:replay: parameters: *ref_1 post: description: >- - * Lifts suspension for the Suspension task. Fetch corresponding - suspension with provided suspension Id, resolve suspension, and set up - suspension result for the Suspension Task. - operationId: >- - integrations.projects.locations.products.integrations.executions.suspensions.lift + Re-execute an existing execution, with same request parameters and + execution strategy. + operationId: integrations.projects.locations.integrations.executions.replay requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaReplayExecutionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12107,7 +13129,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaReplayExecutionResponse parameters: - in: path name: projectsId @@ -12119,11 +13141,6 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true @@ -12134,28 +13151,11 @@ paths: required: true schema: type: string - - in: path - name: suspensionsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:publish: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:download: parameters: *ref_1 - post: - description: >- - 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. - operationId: integrations.projects.locations.products.integrations.versions.publish - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest + get: + description: Download the execution. + operationId: integrations.projects.locations.integrations.executions.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12168,7 +13168,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadExecutionResponse parameters: - in: path name: projectsId @@ -12180,45 +13180,30 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: versionsId + name: executionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:takeoverEditLock: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:cancel: parameters: *ref_1 post: description: >- - 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. - operationId: >- - integrations.projects.locations.products.integrations.versions.takeoverEditLock + Cancellation of an execution and associated sub-executions. This will + not cancel an IN_PROCESS or completed(SUCCESSFUL, FAILED or CANCELLED) + executions. + operationId: integrations.projects.locations.integrations.executions.cancel requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaCancelExecutionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12231,7 +13216,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaCancelExecutionResponse parameters: - in: path name: projectsId @@ -12243,37 +13228,21 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: versionsId + name: executionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: integrations.projects.locations.products.integrations.versions.unpublish - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest + get: + description: Get an execution in the specified project. + operationId: integrations.projects.locations.integrations.executions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12285,7 +13254,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' parameters: - in: path name: projectsId @@ -12297,32 +13266,31 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: versionsId + name: executionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve: parameters: *ref_1 - patch: - description: Update a integration with a draft version in the specified project. - operationId: integrations.projects.locations.products.integrations.versions.patch + post: + description: >- + * 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. + operationId: >- + integrations.projects.locations.integrations.executions.suspensions.resolve requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12335,7 +13303,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionResponse parameters: - in: path name: projectsId @@ -12348,37 +13316,34 @@ paths: schema: type: string - in: path - name: productsId + name: integrationsId required: true schema: type: string - in: path - name: integrationsId + name: executionsId required: true schema: type: string - in: path - name: versionsId + name: suspensionsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift: + parameters: *ref_1 + post: description: >- - 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. - operationId: integrations.projects.locations.products.integrations.versions.delete + * Lifts suspension for the Suspension task. Fetch corresponding + suspension with provided suspension Id, resolve suspension, and set up + suspension result for the Suspension Task. + operationId: integrations.projects.locations.integrations.executions.suspensions.lift + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12390,7 +13355,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionResponse parameters: - in: path name: projectsId @@ -12403,23 +13369,28 @@ paths: schema: type: string - in: path - name: productsId + name: integrationsId required: true schema: type: string - in: path - name: integrationsId + name: executionsId required: true schema: type: string - in: path - name: versionsId + name: suspensionsId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions: + parameters: *ref_1 get: - description: Get a integration in the specified project. - operationId: integrations.projects.locations.products.integrations.versions.get + description: >- + * Lists suspensions associated with a specific execution. Only those + with permissions to resolve the relevant suspensions will be able to + view them. + operationId: integrations.projects.locations.integrations.executions.suspensions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12432,7 +13403,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaListSuspensionsResponse parameters: - in: path name: projectsId @@ -12445,25 +13416,39 @@ paths: schema: type: string - in: path - name: productsId + name: integrationsId required: true schema: type: string - in: path - name: integrationsId + name: executionsId required: true schema: type: string - - in: path - name: versionsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions: + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/authConfigs: parameters: *ref_1 get: - description: Returns the list of all integration versions in the specified project. - operationId: integrations.projects.locations.products.integrations.versions.list + description: >- + Lists all auth configs that match the filter. Restrict to auth configs + belong to the current client only. + operationId: integrations.projects.locations.authConfigs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12476,7 +13461,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListAuthConfigsResponse parameters: - in: path name: projectsId @@ -12488,14 +13473,17 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true + - in: query + name: filter schema: type: string - - in: path - name: integrationsId - required: true + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: pageToken schema: type: string - in: query @@ -12503,32 +13491,68 @@ paths: schema: type: integer format: int32 - - in: query - name: orderBy + post: + description: >- + Creates an auth config record. Fetch corresponding credentials for + specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. + Encrypt the auth config with Cloud KMS and store the encrypted + credentials in Spanner. Returns the encrypted auth config. + operationId: integrations.projects.locations.authConfigs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true schema: type: string - in: query - name: filter + name: clientCertificate.sslCertificate schema: type: string - in: query - name: fieldMask + name: clientCertificate.passphrase schema: type: string - format: google-fieldmask - in: query - name: pageToken + name: clientCertificate.encryptedPrivateKey schema: type: string - post: - description: Create a integration with a draft version in the specified project. - operationId: integrations.projects.locations.products.integrations.versions.create + /v1/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}: + parameters: *ref_1 + patch: + description: >- + 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. + operationId: integrations.projects.locations.authConfigs.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12540,8 +13564,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' parameters: - in: path name: projectsId @@ -12554,39 +13577,33 @@ paths: schema: type: string - in: path - name: productsId + name: authConfigsId required: true schema: type: string - - in: path - name: integrationsId - required: true + - in: query + name: clientCertificate.sslCertificate schema: type: string - in: query - name: createSampleIntegrations + name: clientCertificate.passphrase schema: - type: boolean + type: string - in: query - name: newIntegration + name: updateMask schema: - type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions:upload: - parameters: *ref_1 - post: + type: string + format: google-fieldmask + - in: query + name: clientCertificate.encryptedPrivateKey + schema: + type: string + get: description: >- - 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. - operationId: integrations.projects.locations.products.integrations.versions.upload - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest + Gets a complete auth config. If the auth config doesn't exist, + Code.NOT_FOUND exception will be thrown. Returns the decrypted auth + config. + operationId: integrations.projects.locations.authConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12598,8 +13615,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' parameters: - in: path name: projectsId @@ -12612,22 +13628,13 @@ paths: schema: type: string - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: integrationsId + name: authConfigsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:download: - parameters: *ref_1 - get: - description: >- - Downloads an integration. Retrieves the `IntegrationVersion` for a given - `integration_id` and returns the response as a string. - operationId: integrations.projects.locations.products.integrations.versions.download + delete: + description: Deletes an auth config. + operationId: integrations.projects.locations.authConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12639,8 +13646,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -12653,39 +13659,91 @@ paths: schema: type: string - in: path - name: productsId + name: authConfigsId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/clients:deprovision: + parameters: *ref_1 + post: + description: >- + Perform the deprovisioning steps to disable a user GCP project to use IP + and purge all related data in a wipeout-compliant way. + operationId: integrations.projects.locations.clients.deprovision + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaDeprovisionClientRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: - in: path - name: integrationsId + name: projectsId required: true schema: type: string - in: path - name: versionsId + name: locationsId required: true schema: type: string - - in: query - name: files + /v1/projects/{projectsId}/locations/{locationsId}/clients:switch: + parameters: *ref_1 + post: + description: Update client from GMEK to CMEK + operationId: integrations.projects.locations.clients.switch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true schema: - type: string - - in: query - name: fileFormat + type: string + - in: path + name: locationsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:test: + /v1/projects/{projectsId}/locations/{locationsId}/clients:replace: parameters: *ref_1 post: - description: Execute the integration in draft state - operationId: integrations.projects.locations.products.integrations.test + description: Update run-as service account for provisioned client + operationId: integrations.projects.locations.clients.replace requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12697,8 +13755,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -12710,34 +13767,20 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: integrationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:execute: + /v1/projects/{projectsId}/locations/{locationsId}/clients:provision: parameters: *ref_1 post: description: >- - 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. - operationId: integrations.projects.locations.products.integrations.execute + Perform the provisioning steps to enable a user GCP project to use IP. + If GCP project already registered on IP end via Apigee Integration, + provisioning will fail. + operationId: integrations.projects.locations.clients.provision requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaProvisionClientRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12749,8 +13792,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -12762,29 +13804,47 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/clients:switchVariableMasking: + parameters: *ref_1 + post: + description: Update variable masking for provisioned client + operationId: integrations.projects.locations.clients.switchVariableMasking + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: - in: path - name: productsId + name: projectsId required: true schema: type: string - in: path - name: integrationsId + name: locationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:schedule: + /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas: parameters: *ref_1 - post: + get: description: >- - Schedules an integration for execution by passing the trigger id and the - scheduled time in the request body. - operationId: integrations.projects.locations.products.integrations.schedule - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest + Lists the JSON schemas for the properties of runtime entities, filtered + by entity name. + operationId: integrations.projects.locations.connections.runtimeEntitySchemas.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12797,7 +13857,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse parameters: - in: path name: projectsId @@ -12810,20 +13870,30 @@ paths: schema: type: string - in: path - name: productsId + name: connectionsId required: true schema: type: string - - in: path - name: integrationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations: + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas: parameters: *ref_1 get: - description: Returns the list of all integrations in the specified project. - operationId: integrations.projects.locations.products.integrations.list + description: >- + Lists the JSON schemas for the inputs and outputs of actions, filtered + by action name. + operationId: integrations.projects.locations.connections.runtimeActionSchemas.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12836,7 +13906,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse parameters: - in: path name: projectsId @@ -12849,40 +13919,28 @@ paths: schema: type: string - in: path - name: productsId + name: connectionsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 - in: query - name: pageToken + name: filter schema: type: string - in: query - name: orderBy + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates: + /v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata: parameters: *ref_1 - post: - description: >- - Creates a new certificate. The certificate will be registered to the - trawler service and will be encrypted using cloud KMS and stored in - Spanner Returns the certificate. - operationId: integrations.projects.locations.products.certificates.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + get: + description: Lists the available entities and actions associated with a Connection. + operationId: integrations.projects.locations.connections.getConnectionSchemaMetadata security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12894,7 +13952,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata parameters: - in: path name: projectsId @@ -12907,15 +13966,15 @@ paths: schema: type: string - in: path - name: productsId + name: connectionsId required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/connections: + parameters: *ref_1 get: - description: >- - List all the certificates that match the filter. Restrict to certificate - of current client only. - operationId: integrations.projects.locations.products.certificates.list + description: Lists Connections in a given project and location. + operationId: integrations.projects.locations.connections.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12928,7 +13987,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListCertificatesResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListConnectionsResponse parameters: - in: path name: projectsId @@ -12940,34 +13999,37 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: query - name: filter + name: pageToken schema: type: string - in: query - name: pageToken + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: readMask + name: filter schema: type: string - format: google-fieldmask - in: query - name: pageSize + name: orderBy schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:import: parameters: *ref_1 - delete: - description: Delete a certificate - operationId: integrations.projects.locations.products.certificates.delete + post: + description: >- + 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. + operationId: integrations.projects.locations.templates.import + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaImportTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12979,7 +14041,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaImportTemplateResponse parameters: - in: path name: projectsId @@ -12992,18 +14055,20 @@ paths: schema: type: string - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: certificatesId + name: templatesId required: true schema: type: string - get: - description: Get a certificates in the specified project. - operationId: integrations.projects.locations.products.certificates.get + /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}: + parameters: *ref_1 + patch: + description: Updates the template by given id. + operationId: integrations.projects.locations.templates.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13015,7 +14080,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' parameters: - in: path name: projectsId @@ -13028,27 +14093,49 @@ paths: schema: type: string - in: path - name: productsId + name: templatesId required: true schema: type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Get a template in the specified project. + operationId: integrations.projects.locations.templates.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + parameters: - in: path - name: certificatesId + name: projectsId required: true schema: type: string - patch: - description: >- - 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. - operationId: integrations.projects.locations.products.certificates.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: templatesId + required: true + schema: + type: string + delete: + description: Deletes a template + operationId: integrations.projects.locations.templates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13060,7 +14147,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -13073,31 +14160,24 @@ paths: schema: type: string - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: certificatesId + name: templatesId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/cloudFunctions: + /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:share: parameters: *ref_1 post: - description: Creates a cloud function project. - operationId: integrations.projects.locations.products.cloudFunctions.create + description: >- + 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. + operationId: integrations.projects.locations.templates.share requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaShareTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13109,8 +14189,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -13123,17 +14202,15 @@ paths: schema: type: string - in: path - name: productsId + name: templatesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs: + /v1/projects/{projectsId}/locations/{locationsId}/templates: parameters: *ref_1 get: - description: >- - Lists all auth configs that match the filter. Restrict to auth configs - belong to the current client only. - operationId: integrations.projects.locations.products.authConfigs.list + description: Lists all templates matching the filter. + operationId: integrations.projects.locations.templates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13146,7 +14223,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListAuthConfigsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListTemplatesResponse parameters: - in: path name: projectsId @@ -13158,16 +14235,10 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - in: query - name: readMask + name: orderBy schema: type: string - format: google-fieldmask - in: query name: filter schema: @@ -13181,18 +14252,19 @@ paths: name: pageToken schema: type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask post: - description: >- - Creates an auth config record. Fetch corresponding credentials for - specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. - Encrypt the auth config with Cloud KMS and store the encrypted - credentials in Spanner. Returns the encrypted auth config. - operationId: integrations.projects.locations.products.authConfigs.create + description: Creates a new template + operationId: integrations.projects.locations.templates.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13204,7 +14276,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' parameters: - in: path name: projectsId @@ -13216,28 +14288,13 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - - in: query - name: clientCertificate.sslCertificate - schema: - type: string - - in: query - name: clientCertificate.passphrase - schema: - type: string - - in: query - name: clientCertificate.encryptedPrivateKey - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}: + /v1/projects/{projectsId}/locations/{locationsId}/templates:search: parameters: *ref_1 - delete: - description: Deletes an auth config. - operationId: integrations.projects.locations.products.authConfigs.delete + get: + description: >- + 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. + operationId: integrations.projects.locations.templates.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13249,7 +14306,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSearchTemplatesResponse parameters: - in: path name: projectsId @@ -13261,68 +14319,43 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: authConfigsId - required: true + - in: query + name: pageToken schema: type: string - get: - description: >- - Gets a complete auth config. If the auth config doesn't exist, - Code.NOT_FOUND exception will be thrown. Returns the decrypted auth - config. - operationId: integrations.projects.locations.products.authConfigs.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' - parameters: - - in: path - name: projectsId - required: true + - in: query + name: readMask schema: type: string - - in: path - name: locationsId - required: true + format: google-fieldmask + - in: query + name: orderBy schema: type: string - - in: path - name: productsId - required: true + - in: query + name: pageSize schema: - type: string - - in: path - name: authConfigsId - required: true + type: integer + format: int32 + - in: query + name: filter schema: type: string - patch: + /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:unshare: + parameters: *ref_1 + post: description: >- - 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. - operationId: integrations.projects.locations.products.authConfigs.patch + 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. + operationId: integrations.projects.locations.templates.unshare requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUnshareTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13334,7 +14367,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -13347,39 +14380,24 @@ paths: schema: type: string - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: authConfigsId + name: templatesId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - - in: query - name: clientCertificate.encryptedPrivateKey - schema: - type: string - - in: query - name: clientCertificate.passphrase - schema: - type: string - - in: query - name: clientCertificate.sslCertificate - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}: + /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:use: parameters: *ref_1 - get: + post: description: >- - Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND - exception will be thrown. - operationId: integrations.projects.locations.products.sfdcInstances.sfdcChannels.get + 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. + operationId: integrations.projects.locations.templates.use + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13391,7 +14409,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateResponse parameters: - in: path name: projectsId @@ -13404,31 +14423,17 @@ paths: schema: type: string - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: sfdcInstancesId - required: true - schema: - type: string - - in: path - name: sfdcChannelsId + name: templatesId required: true schema: type: string - patch: + /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:download: + parameters: *ref_1 + get: description: >- - Updates an sfdc channel. Updates the sfdc channel in spanner. Returns - the sfdc channel. - operationId: >- - integrations.projects.locations.products.sfdcInstances.sfdcChannels.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + Downloads a template. Retrieves the `Template` and returns the response + as a string. + operationId: integrations.projects.locations.templates.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13440,7 +14445,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadTemplateResponse parameters: - in: path name: projectsId @@ -13453,29 +14459,29 @@ paths: schema: type: string - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: sfdcInstancesId - required: true - schema: - type: string - - in: path - name: sfdcChannelsId + name: templatesId required: true schema: type: string - in: query - name: updateMask + name: fileFormat schema: type: string - format: google-fieldmask - delete: - description: Deletes an sfdc channel. - operationId: >- - integrations.projects.locations.products.sfdcInstances.sfdcChannels.delete + /v1/projects/{projectsId}/locations/{locationsId}/templates:upload: + parameters: *ref_1 + post: + description: >- + 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. + operationId: integrations.projects.locations.templates.upload + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadTemplateRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13487,7 +14493,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadTemplateResponse parameters: - in: path name: projectsId @@ -13499,28 +14506,15 @@ paths: required: true schema: type: string - - in: path - name: productsId - required: true - schema: - type: string - - in: path - name: sfdcInstancesId - required: true - schema: - type: string - - in: path - name: sfdcChannelsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions: parameters: *ref_1 get: description: >- - Lists all sfdc channels that match the filter. Restrict to sfdc channels - belonging to the current client only. - operationId: integrations.projects.locations.products.sfdcInstances.sfdcChannels.list + * Lists suspensions associated with a specific execution. Only those + with permissions to resolve the relevant suspensions will be able to + view them. + operationId: >- + integrations.projects.locations.products.integrations.executions.suspensions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13533,7 +14527,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListSuspensionsResponse parameters: - in: path name: projectsId @@ -13551,15 +14545,15 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - - in: query - name: readMask + - in: path + name: executionsId + required: true schema: type: string - format: google-fieldmask - in: query name: filter schema: @@ -13568,22 +14562,30 @@ paths: name: pageToken schema: type: string + - in: query + name: orderBy + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift: + parameters: *ref_1 post: description: >- - Creates an sfdc channel record. Store the sfdc channel in Spanner. - Returns the sfdc channel. + * Lifts suspension for the Suspension task. Fetch corresponding + suspension with provided suspension Id, resolve suspension, and set up + suspension result for the Suspension Task. operationId: >- - integrations.projects.locations.products.sfdcInstances.sfdcChannels.create + integrations.projects.locations.products.integrations.executions.suspensions.lift requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13595,7 +14597,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionResponse parameters: - in: path name: projectsId @@ -13613,58 +14616,35 @@ paths: schema: type: string - in: path - name: sfdcInstancesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}: - parameters: *ref_1 - delete: - description: Deletes an sfdc instance. - operationId: integrations.projects.locations.products.sfdcInstances.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId + name: integrationsId required: true schema: type: string - in: path - name: productsId + name: executionsId required: true schema: type: string - in: path - name: sfdcInstancesId + name: suspensionsId required: true schema: type: string - patch: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve: + parameters: *ref_1 + post: description: >- - Updates an sfdc instance. Updates the sfdc instance in spanner. Returns - the sfdc instance. - operationId: integrations.projects.locations.products.sfdcInstances.patch + * 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. + operationId: >- + integrations.projects.locations.products.integrations.executions.suspensions.resolve requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13677,7 +14657,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionResponse parameters: - in: path name: projectsId @@ -13695,20 +14675,29 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: executionsId + required: true schema: type: string - format: google-fieldmask + - in: path + name: suspensionsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions: + parameters: *ref_1 get: description: >- - Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND - exception will be thrown. - operationId: integrations.projects.locations.products.sfdcInstances.get + 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. + operationId: integrations.projects.locations.products.integrations.executions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13721,7 +14710,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance + #/components/schemas/GoogleCloudIntegrationsV1alphaListExecutionsResponse parameters: - in: path name: projectsId @@ -13739,56 +14728,100 @@ paths: schema: type: string - in: path - name: sfdcInstancesId + name: integrationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances: - parameters: *ref_1 - post: - description: >- - Creates an sfdc instance record. Store the sfdc instance in Spanner. - Returns the sfdc instance. - operationId: integrations.projects.locations.products.sfdcInstances.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance - parameters: - - in: path - name: projectsId - required: true + - in: query + name: truncateParams + schema: + type: boolean + - in: query + name: refreshAcl + schema: + type: boolean + - in: query + name: filterParams.endTime + schema: + type: string + format: int64 + - in: query + name: filterParams.customFilter + schema: + type: string + - in: query + name: filterParams.parameterKey + schema: + type: string + - in: query + name: filterParams.startTime + schema: + type: string + format: int64 + - in: query + name: filterParams.parameterType + schema: + type: string + - in: query + name: filterParams.parameterPairKey + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: filterParams.taskStatuses + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filterParams.parameterPairValue + schema: + type: string + - in: query + name: filterParams.executionId + schema: + type: string + - in: query + name: filterParams.workflowName + schema: + type: string + - in: query + name: snapshotMetadataWithoutParams + schema: + type: boolean + - in: query + name: orderBy schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageToken schema: type: string - - in: path - name: productsId - required: true + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: filterParams.parameterValue + schema: + type: string + - in: query + name: filterParams.eventStatuses schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}:download: + parameters: *ref_1 get: - description: >- - Lists all sfdc instances that match the filter. Restrict to sfdc - instances belonging to the current client only. - operationId: integrations.projects.locations.products.sfdcInstances.list + description: Download the execution. + operationId: >- + integrations.projects.locations.products.integrations.executions.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13801,7 +14834,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadExecutionResponse parameters: - in: path name: projectsId @@ -13818,39 +14851,21 @@ paths: required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: integrationsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: readMask + - in: path + name: executionsId + required: true schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}: parameters: *ref_1 - post: - description: >- - * 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. - operationId: >- - integrations.projects.locations.integrations.executions.suspensions.resolve - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionRequest + get: + description: Get an execution in the specified project. + operationId: integrations.projects.locations.products.integrations.executions.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13862,8 +14877,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaResolveSuspensionResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' parameters: - in: path name: projectsId @@ -13876,34 +14890,31 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: executionsId + name: integrationsId required: true schema: type: string - in: path - name: suspensionsId + name: executionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions: parameters: *ref_1 post: - description: >- - * Lifts suspension for the Suspension task. Fetch corresponding - suspension with provided suspension Id, resolve suspension, and set up - suspension result for the Suspension Task. - operationId: integrations.projects.locations.integrations.executions.suspensions.lift + description: Create a integration with a draft version in the specified project. + operationId: integrations.projects.locations.products.integrations.versions.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13916,7 +14927,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaLiftSuspensionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion parameters: - in: path name: projectsId @@ -13929,28 +14940,26 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: executionsId + name: integrationsId required: true schema: type: string - - in: path - name: suspensionsId - required: true + - in: query + name: createSampleIntegrations schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions: - parameters: *ref_1 + type: boolean + - in: query + name: newIntegration + schema: + type: boolean get: - description: >- - * Lists suspensions associated with a specific execution. Only those - with permissions to resolve the relevant suspensions will be able to - view them. - operationId: integrations.projects.locations.integrations.executions.suspensions.list + description: Returns the list of all integration versions in the specified project. + operationId: integrations.projects.locations.products.integrations.versions.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13963,7 +14972,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListSuspensionsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse parameters: - in: path name: projectsId @@ -13976,12 +14985,12 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: executionsId + name: integrationsId required: true schema: type: string @@ -13989,10 +14998,6 @@ paths: name: filter schema: type: string - - in: query - name: orderBy - schema: - type: string - in: query name: pageSize schema: @@ -14002,11 +15007,22 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}: + - in: query + name: orderBy + schema: + type: string + - in: query + name: fieldMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:download: parameters: *ref_1 get: - description: Get an execution in the specified project. - operationId: integrations.projects.locations.integrations.executions.get + description: >- + Downloads an integration. Retrieves the `IntegrationVersion` for a given + `integration_id` and returns the response as a string. + operationId: integrations.projects.locations.products.integrations.versions.download security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14018,7 +15034,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaExecution' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse parameters: - in: path name: projectsId @@ -14030,21 +15047,43 @@ paths: required: true schema: type: string + - in: path + name: productsId + required: true + schema: + type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: executionsId + name: versionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:download: + - in: query + name: files + schema: + type: string + - in: query + name: fileFormat + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}: parameters: *ref_1 - get: - description: Download the execution. - operationId: integrations.projects.locations.integrations.executions.download + delete: + description: >- + 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. + operationId: integrations.projects.locations.products.integrations.versions.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14056,8 +15095,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadExecutionResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -14069,25 +15107,30 @@ paths: required: true schema: type: string + - in: path + name: productsId + required: true + schema: + type: string - in: path name: integrationsId required: true schema: type: string - in: path - name: executionsId + name: versionsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions: - parameters: *ref_1 - get: - description: >- - 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. - operationId: integrations.projects.locations.integrations.executions.list + patch: + description: Update a integration with a draft version in the specified project. + operationId: integrations.projects.locations.products.integrations.versions.patch + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14100,108 +15143,81 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListExecutionsResponse - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: integrationsId - required: true - schema: - type: string - - in: query - name: filterParams.endTime - schema: - type: string - format: int64 - - in: query - name: truncateParams - schema: - type: boolean - - in: query - name: filterParams.parameterValue - schema: - type: string - - in: query - name: orderBy - schema: - type: string - - in: query - name: filterParams.executionId - schema: - type: string - - in: query - name: filterParams.parameterKey - schema: - type: string - - in: query - name: filterParams.parameterPairValue + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: refreshAcl - schema: - type: boolean - - in: query - name: snapshotMetadataWithoutParams - schema: - type: boolean - - in: query - name: filterParams.parameterType + - in: path + name: locationsId + required: true schema: type: string - - in: query - name: filterParams.workflowName + - in: path + name: productsId + required: true schema: type: string - - in: query - name: readMask + - in: path + name: integrationsId + required: true schema: type: string - format: google-fieldmask - - in: query - name: pageToken + - in: path + name: versionsId + required: true schema: type: string - in: query - name: filterParams.eventStatuses + name: updateMask schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filterParams.customFilter + format: google-fieldmask + get: + description: Get a integration in the specified project. + operationId: integrations.projects.locations.products.integrations.versions.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + parameters: + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: filter + - in: path + name: locationsId + required: true schema: type: string - - in: query - name: filterParams.parameterPairKey + - in: path + name: productsId + required: true schema: type: string - - in: query - name: filterParams.taskStatuses + - in: path + name: integrationsId + required: true schema: type: string - - in: query - name: filterParams.startTime + - in: path + name: versionsId + required: true schema: type: string - format: int64 - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:publish: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:publish: parameters: *ref_1 post: description: >- @@ -14211,7 +15227,7 @@ paths: 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. - operationId: integrations.projects.locations.integrations.versions.publish + operationId: integrations.projects.locations.products.integrations.versions.publish requestBody: content: application/json: @@ -14242,6 +15258,11 @@ paths: required: true schema: type: string + - in: path + name: productsId + required: true + schema: + type: string - in: path name: integrationsId required: true @@ -14252,11 +15273,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions:upload: parameters: *ref_1 - get: - description: Returns the list of all integration versions in the specified project. - operationId: integrations.projects.locations.integrations.versions.list + post: + description: >- + 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. + operationId: integrations.projects.locations.products.integrations.versions.upload + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14269,7 +15301,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse parameters: - in: path name: projectsId @@ -14282,41 +15314,31 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - - in: query - name: fieldMask - schema: - type: string - format: google-fieldmask - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy - schema: - type: string - - in: query - name: filter + - in: path + name: integrationsId + required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish: + parameters: *ref_1 post: - description: Create a integration with a draft version in the specified project. - operationId: integrations.projects.locations.integrations.versions.create + description: >- + 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. + operationId: integrations.projects.locations.products.integrations.versions.unpublish requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14328,8 +15350,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -14342,23 +15363,44 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - - in: query - name: createSampleIntegrations + - in: path + name: integrationsId + required: true schema: - type: boolean - - in: query - name: newIntegration + type: string + - in: path + name: versionsId + required: true schema: - type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:takeoverEditLock: parameters: *ref_1 - get: - description: Get a integration in the specified project. - operationId: integrations.projects.locations.integrations.versions.get + post: + description: >- + 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. + operationId: >- + integrations.projects.locations.products.integrations.versions.takeoverEditLock + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14371,7 +15413,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse parameters: - in: path name: projectsId @@ -14383,6 +15425,11 @@ paths: required: true schema: type: string + - in: path + name: productsId + required: true + schema: + type: string - in: path name: integrationsId required: true @@ -14393,18 +15440,63 @@ paths: required: true schema: type: string - delete: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:execute: + parameters: *ref_1 + post: description: >- - 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. - operationId: integrations.projects.locations.integrations.versions.delete + 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. + operationId: integrations.projects.locations.products.integrations.execute + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: productsId + required: true + schema: + type: string + - in: path + name: integrationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations: + parameters: *ref_1 + get: + description: Returns the list of all integrations in the specified project. + operationId: integrations.projects.locations.products.integrations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14416,7 +15508,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationsResponse parameters: - in: path name: projectsId @@ -14429,24 +15522,38 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - - in: path - name: versionsId - required: true + - in: query + name: orderBy schema: type: string - patch: - description: Update a integration with a draft version in the specified project. - operationId: integrations.projects.locations.integrations.versions.patch + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:test: + parameters: *ref_1 + post: + description: Execute the integration in draft state + operationId: integrations.projects.locations.products.integrations.test requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14459,7 +15566,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaIntegrationVersion + #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsResponse parameters: - in: path name: projectsId @@ -14472,27 +15579,28 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: versionsId + name: integrationsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:download: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:schedule: parameters: *ref_1 - get: + post: description: >- - Downloads an integration. Retrieves the `IntegrationVersion` for a given - `integration_id` and returns the response as a string. - operationId: integrations.projects.locations.integrations.versions.download + Schedules an integration for execution by passing the trigger id and the + scheduled time in the request body. + operationId: integrations.projects.locations.products.integrations.schedule + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14505,7 +15613,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse parameters: - in: path name: projectsId @@ -14518,39 +15626,26 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: versionsId + name: integrationsId required: true schema: type: string - - in: query - name: fileFormat - schema: - type: string - - in: query - name: files - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions:upload: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/cloudFunctions: parameters: *ref_1 post: - description: >- - 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. - operationId: integrations.projects.locations.integrations.versions.upload + description: Creates a cloud function project. + operationId: integrations.projects.locations.products.cloudFunctions.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest + #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14563,7 +15658,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse parameters: - in: path name: projectsId @@ -14576,26 +15671,15 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: integrations.projects.locations.integrations.versions.unpublish - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest + delete: + description: Deletes an auth config. + operationId: integrations.projects.locations.products.authConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14620,25 +15704,28 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: versionsId + name: authConfigsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:downloadJsonPackage: - parameters: *ref_1 - get: + patch: description: >- - 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. - operationId: >- - integrations.projects.locations.integrations.versions.downloadJsonPackage + 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. + operationId: integrations.projects.locations.products.authConfigs.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14650,8 +15737,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' parameters: - in: path name: projectsId @@ -14664,30 +15750,38 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - in: path - name: versionsId + name: authConfigsId required: true schema: type: string - in: query - name: files + name: clientCertificate.sslCertificate schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:test: - parameters: *ref_1 - post: - description: Execute the integration in draft state - operationId: integrations.projects.locations.integrations.test - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsRequest + - in: query + name: clientCertificate.passphrase + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: clientCertificate.encryptedPrivateKey + schema: + type: string + get: + description: >- + Gets a complete auth config. If the auth config doesn't exist, + Code.NOT_FOUND exception will be thrown. Returns the decrypted auth + config. + operationId: integrations.projects.locations.products.authConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14699,8 +15793,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaTestIntegrationsResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' parameters: - in: path name: projectsId @@ -14713,28 +15806,22 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:execute: + - in: path + name: authConfigsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: integrations.projects.locations.integrations.execute - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest + Lists all auth configs that match the filter. Restrict to auth configs + belong to the current client only. + operationId: integrations.projects.locations.products.authConfigs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14747,7 +15834,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListAuthConfigsResponse parameters: - in: path name: projectsId @@ -14760,15 +15847,40 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations: - parameters: *ref_1 - get: - description: Returns the list of all integrations in the specified project. - operationId: integrations.projects.locations.integrations.list + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + post: + description: >- + Creates an auth config record. Fetch corresponding credentials for + specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. + Encrypt the auth config with Cloud KMS and store the encrypted + credentials in Spanner. Returns the encrypted auth config. + operationId: integrations.projects.locations.products.authConfigs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14780,8 +15892,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListIntegrationsResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaAuthConfig' parameters: - in: path name: projectsId @@ -14793,28 +15904,28 @@ paths: required: true schema: type: string - - in: query - name: filter + - in: path + name: productsId + required: true schema: type: string - in: query - name: orderBy + name: clientCertificate.passphrase schema: type: string - in: query - name: pageToken + name: clientCertificate.encryptedPrivateKey schema: type: string - in: query - name: pageSize + name: clientCertificate.sslCertificate schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}: parameters: *ref_1 delete: - description: Delete the selected integration and all versions inside - operationId: integrations.projects.locations.integrations.delete + description: Delete a certificate + operationId: integrations.projects.locations.products.certificates.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14839,23 +15950,18 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:schedule: - parameters: *ref_1 - post: - description: >- - Schedules an integration for execution by passing the trigger id and the - scheduled time in the request body. - operationId: integrations.projects.locations.integrations.schedule - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest + - in: path + name: certificatesId + required: true + schema: + type: string + get: + description: Get a certificates in the specified project. + operationId: integrations.projects.locations.products.certificates.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14867,8 +15973,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' parameters: - in: path name: projectsId @@ -14881,18 +15986,27 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:executeEvent: - parameters: *ref_1 - post: + - in: path + name: certificatesId + required: true + schema: + type: string + patch: description: >- - 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 - operationId: integrations.projects.locations.integrations.executeEvent + 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. + operationId: integrations.projects.locations.products.certificates.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14904,8 +16018,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaExecuteEventResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' parameters: - in: path name: projectsId @@ -14918,25 +16031,27 @@ paths: schema: type: string - in: path - name: integrationsId + name: productsId + required: true + schema: + type: string + - in: path + name: certificatesId required: true schema: type: string - in: query - name: triggerId + name: updateMask schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/cloudFunctions: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates: parameters: *ref_1 - post: - description: Creates a cloud function project. - operationId: integrations.projects.locations.cloudFunctions.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest + get: + description: >- + List all the certificates that match the filter. Restrict to certificate + of current client only. + operationId: integrations.projects.locations.products.certificates.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14949,7 +16064,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListCertificatesResponse parameters: - in: path name: projectsId @@ -14961,11 +16076,40 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}: - parameters: *ref_1 - get: - description: Get a template in the specified project. - operationId: integrations.projects.locations.templates.get + - in: path + name: productsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + - in: query + name: filter + schema: + type: string + post: + description: >- + Creates a new certificate. The certificate will be registered to the + trawler service and will be encrypted using cloud KMS and stored in + Spanner Returns the certificate. + operationId: integrations.projects.locations.products.certificates.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -14977,7 +16121,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaCertificate' parameters: - in: path name: projectsId @@ -14990,13 +16134,17 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId required: true schema: type: string - delete: - description: Deletes a template - operationId: integrations.projects.locations.templates.delete + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances: + parameters: *ref_1 + get: + description: >- + Lists all sfdc instances that match the filter. Restrict to sfdc + instances belonging to the current client only. + operationId: integrations.projects.locations.products.sfdcInstances.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15008,7 +16156,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse parameters: - in: path name: projectsId @@ -15021,18 +16170,38 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId required: true schema: type: string - patch: - description: Updates the template by given id. - operationId: integrations.projects.locations.templates.patch + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: readMask + schema: + type: string + format: google-fieldmask + post: + description: >- + Creates an sfdc instance record. Store the sfdc instance in Spanner. + Returns the sfdc instance. + operationId: integrations.projects.locations.products.sfdcInstances.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15044,7 +16213,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance parameters: - in: path name: projectsId @@ -15057,22 +16227,17 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:download: + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}: parameters: *ref_1 get: description: >- - Downloads a template. Retrieves the `Template` and returns the response - as a string. - operationId: integrations.projects.locations.templates.download + Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND + exception will be thrown. + operationId: integrations.projects.locations.products.sfdcInstances.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15085,7 +16250,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaDownloadTemplateResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance parameters: - in: path name: projectsId @@ -15098,29 +16263,18 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId required: true schema: type: string - - in: query - name: fileFormat + - in: path + name: sfdcInstancesId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:unshare: - parameters: *ref_1 - post: - description: >- - 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. - operationId: integrations.projects.locations.templates.unshare - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUnshareTemplateRequest + delete: + description: Deletes an sfdc instance. + operationId: integrations.projects.locations.products.sfdcInstances.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15145,25 +16299,25 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates:upload: - parameters: *ref_1 - post: - description: >- - 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. - operationId: integrations.projects.locations.templates.upload + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + patch: + description: >- + Updates an sfdc instance. Updates the sfdc instance in spanner. Returns + the sfdc instance. + operationId: integrations.projects.locations.products.sfdcInstances.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUploadTemplateRequest + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15176,7 +16330,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUploadTemplateResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaSfdcInstance parameters: - in: path name: projectsId @@ -15188,16 +16342,34 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates: + - in: path + name: productsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels: parameters: *ref_1 post: - description: Creates a new template - operationId: integrations.projects.locations.templates.create + description: >- + Creates an sfdc channel record. Store the sfdc channel in Spanner. + Returns the sfdc channel. + operationId: >- + integrations.projects.locations.products.sfdcInstances.sfdcChannels.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15209,7 +16381,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaTemplate' + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' parameters: - in: path name: projectsId @@ -15221,9 +16393,21 @@ paths: required: true schema: type: string + - in: path + name: productsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string get: - description: Lists all templates matching the filter. - operationId: integrations.projects.locations.templates.list + description: >- + Lists all sfdc channels that match the filter. Restrict to sfdc channels + belonging to the current client only. + operationId: integrations.projects.locations.products.sfdcInstances.sfdcChannels.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15236,7 +16420,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaListTemplatesResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse parameters: - in: path name: projectsId @@ -15248,42 +16432,47 @@ paths: required: true schema: type: string - - in: query - name: orderBy + - in: path + name: productsId + required: true schema: type: string - - in: query - name: pageSize + - in: path + name: sfdcInstancesId + required: true schema: - type: integer - format: int32 + type: string - in: query name: readMask schema: type: string format: google-fieldmask - in: query - name: filter + name: pageToken schema: type: string - in: query - name: pageToken + name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:import: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}: parameters: *ref_1 - post: + patch: description: >- - 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. - operationId: integrations.projects.locations.templates.import + Updates an sfdc channel. Updates the sfdc channel in spanner. Returns + the sfdc channel. + operationId: >- + integrations.projects.locations.products.sfdcInstances.sfdcChannels.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaImportTemplateRequest + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15295,8 +16484,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaImportTemplateResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' parameters: - in: path name: projectsId @@ -15309,24 +16497,29 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:use: - parameters: *ref_1 - post: - description: >- - 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. - operationId: integrations.projects.locations.templates.use - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateRequest + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: path + name: sfdcChannelsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes an sfdc channel. + operationId: >- + integrations.projects.locations.products.sfdcInstances.sfdcChannels.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15338,8 +16531,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaUseTemplateResponse + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -15352,17 +16544,25 @@ paths: schema: type: string - in: path - name: templatesId + name: productsId + required: true + schema: + type: string + - in: path + name: sfdcInstancesId + required: true + schema: + type: string + - in: path + name: sfdcChannelsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates:search: - parameters: *ref_1 get: description: >- - 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. - operationId: integrations.projects.locations.templates.search + Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND + exception will be thrown. + operationId: integrations.projects.locations.products.sfdcInstances.sfdcChannels.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15374,8 +16574,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaSearchTemplatesResponse + $ref: '#/components/schemas/GoogleCloudIntegrationsV1alphaSfdcChannel' parameters: - in: path name: projectsId @@ -15387,42 +16586,28 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: productsId + required: true schema: type: string - - in: query - name: readMask + - in: path + name: sfdcInstancesId + required: true schema: type: string - format: google-fieldmask - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: orderBy + - in: path + name: sfdcChannelsId + required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:share: + /v1/projects/{projectsId}/locations/{locationsId}/clients: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: integrations.projects.locations.templates.share - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaShareTemplateRequest + Gets the client configuration for the given project and location + resource name + operationId: integrations.projects.locations.getClients security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15434,7 +16619,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaGetClientResponse parameters: - in: path name: projectsId @@ -15446,18 +16632,38 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/clientmetadata: + parameters: *ref_1 + get: + description: Gets the metadata info for the requested client + operationId: integrations.projects.getClientmetadata + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudIntegrationsV1alphaGetClientMetadataResponse + parameters: - in: path - name: templatesId + name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/clients: + /v1/callback:generateToken: parameters: *ref_1 get: description: >- - Gets the client configuration for the given project and location - resource name - operationId: integrations.projects.locations.getClients + 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. + operationId: integrations.callback.generateToken security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -15470,16 +16676,26 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudIntegrationsV1alphaGetClientResponse + #/components/schemas/GoogleCloudIntegrationsV1alphaGenerateTokenResponse parameters: - - in: path - name: projectsId - required: true + - in: query + name: code schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: state + schema: + type: string + - in: query + name: product + schema: + type: string + - in: query + name: redirectUri + schema: + type: string + - in: query + name: gcpProjectId schema: type: string /v1/connectorPlatformRegions:enumerate: diff --git a/providers/src/googleapis.com/v00.00.00000/services/jobs.yaml b/providers/src/googleapis.com/v00.00.00000/services/jobs.yaml index b57252a1..e811b595 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/jobs.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/jobs.yaml @@ -9,8 +9,8 @@ info: Cloud Talent Solution provides the capability to create, read, update, and delete job postings, as well as search jobs based on keywords and filters. version: v4 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241011' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/talent-solution/job-search/docs/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/kmsinventory.yaml b/providers/src/googleapis.com/v00.00.00000/services/kmsinventory.yaml index ba461d12..ed6c9a09 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/kmsinventory.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/kmsinventory.yaml @@ -7,8 +7,8 @@ info: title: KMS Inventory API description: '' version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/kms/ servers: @@ -34,77 +34,183 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudKmsV1KeyOperationAttestation: - id: GoogleCloudKmsV1KeyOperationAttestation - type: object - properties: - format: - type: string - enum: - - ATTESTATION_FORMAT_UNSPECIFIED - - CAVIUM_V1_COMPRESSED - - CAVIUM_V2_COMPRESSED - readOnly: true - enumDescriptions: - - Not specified. - - >- - Cavium HSM attestation compressed with gzip. Note that this format - is defined by Cavium and subject to change at any time. See - https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html. - - >- - Cavium HSM attestation V2 compressed with gzip. This is a new - format introduced in Cavium's version 3.2-08. - description: Output only. The format of the attestation data. - certChains: - description: >- - Output only. The certificate chains needed to validate the - attestation - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudKmsV1KeyOperationAttestationCertificateChains - content: - readOnly: true - type: string - description: >- - Output only. The attestation data provided by the HSM when the key - operation was performed. - format: byte + GoogleCloudKmsV1KeyOperationAttestationCertificateChains: description: >- - Contains an HSM-generated attestation about a key operation. For more - information, see [Verifying attestations] - (https://cloud.google.com/kms/docs/attest-key). - GoogleCloudKmsV1ExternalProtectionLevelOptions: - id: GoogleCloudKmsV1ExternalProtectionLevelOptions + Certificate chains needed to verify the attestation. Certificates in + chains are PEM-encoded and are ordered based on + https://tools.ietf.org/html/rfc5246#section-7.4.2. + properties: + googleCardCerts: + description: Google card certificate chain corresponding to the attestation. + type: array + items: + type: string + googlePartitionCerts: + description: Google partition certificate chain corresponding to the attestation. + items: + type: string + type: array + caviumCerts: + items: + type: string + description: Cavium certificate chain corresponding to the attestation. + type: array + type: object + id: GoogleCloudKmsV1KeyOperationAttestationCertificateChains + GoogleCloudKmsV1KeyAccessJustificationsPolicy: + id: GoogleCloudKmsV1KeyAccessJustificationsPolicy + type: object description: >- - ExternalProtectionLevelOptions stores a group of additional fields for - configuring a CryptoKeyVersion that are specific to the EXTERNAL - protection level and EXTERNAL_VPC protection levels. + A KeyAccessJustificationsPolicy specifies zero or more allowed + AccessReason values for encrypt, decrypt, and sign operations on a + CryptoKey. properties: - externalKeyUri: + allowedAccessReasons: + type: array + items: + enumDescriptions: + - Unspecified access reason. + - Customer-initiated support. + - >- + Google-initiated access for system management and + troubleshooting. + - >- + Google-initiated access in response to a legal request or legal + process. + - >- + Google-initiated access for security, fraud, abuse, or + compliance purposes. + - >- + Customer uses their account to perform any access to their own + data which their IAM policy authorizes. + - >- + Google systems access customer data to help optimize the + structure of the data or quality for future uses by the + customer. + - No reason is expected for this key request. + - >- + Customer uses their account to perform any access to their own + data which their IAM policy authorizes, and one of the following + is true: * A Google administrator has reset the root-access + account associated with the user's organization within the past + 7 days. * A Google-initiated emergency access operation has + interacted with a resource in the same project or folder as the + currently accessed resource within the past 7 days. + - >- + Google systems access customer data to help optimize the + structure of the data or quality for future uses by the + customer, and one of the following is true: * A Google + administrator has reset the root-access account associated with + the user's organization within the past 7 days. * A + Google-initiated emergency access operation has interacted with + a resource in the same project or folder as the currently + accessed resource within the past 7 days. + - Google-initiated access to maintain system reliability. + - >- + One of the following operations is being executed while + simultaneously encountering an internal technical issue which + prevented a more precise justification code from being + generated: * Your account has been used to perform any access to + your own data which your IAM policy authorizes. * An automated + Google system operates on encrypted customer data which your IAM + policy authorizes. * Customer-initiated Google support access. * + Google-initiated support access to protect system reliability. + type: string + enum: + - REASON_UNSPECIFIED + - CUSTOMER_INITIATED_SUPPORT + - GOOGLE_INITIATED_SERVICE + - THIRD_PARTY_DATA_REQUEST + - GOOGLE_INITIATED_REVIEW + - CUSTOMER_INITIATED_ACCESS + - GOOGLE_INITIATED_SYSTEM_OPERATION + - REASON_NOT_EXPECTED + - MODIFIED_CUSTOMER_INITIATED_ACCESS + - MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION + - GOOGLE_RESPONSE_TO_PRODUCTION_ALERT + - CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING description: >- - The URI for an external resource that this CryptoKeyVersion - represents. + The list of allowed reasons for access to a CryptoKey. Zero allowed + access reasons means all encrypt, decrypt, and sign operations for + the CryptoKey associated with this policy will fail. + GoogleCloudKmsInventoryV1ListCryptoKeysResponse: + description: Response message for KeyDashboardService.ListCryptoKeys. + properties: + nextPageToken: type: string - ekmConnectionKeyPath: description: >- - The path to the external key material on the EKM when using - EkmConnection e.g., "v0/my/key". Set this field instead of - external_key_uri when using an EkmConnection. - type: string + The page token returned from the previous response if the next page + is desired. + cryptoKeys: + items: + $ref: '#/components/schemas/GoogleCloudKmsV1CryptoKey' + description: The list of CryptoKeys. + type: array + id: GoogleCloudKmsInventoryV1ListCryptoKeysResponse type: object GoogleCloudKmsV1CryptoKeyVersionTemplate: - description: >- - A CryptoKeyVersionTemplate specifies the properties to use when creating - a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or - automatically as a result of auto-rotation. properties: - algorithm: + protectionLevel: + enum: + - PROTECTION_LEVEL_UNSPECIFIED + - SOFTWARE + - HSM + - EXTERNAL + - EXTERNAL_VPC type: string + enumDescriptions: + - Not specified. + - Crypto operations are performed in software. + - Crypto operations are performed in a Hardware Security Module. + - Crypto operations are performed by an external key manager. + - Crypto operations are performed in an EKM-over-VPC backend. + description: >- + ProtectionLevel to use when creating a CryptoKeyVersion based on + this template. Immutable. Defaults to SOFTWARE. + algorithm: description: >- Required. Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT. + type: string + enum: + - CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED + - GOOGLE_SYMMETRIC_ENCRYPTION + - AES_128_GCM + - AES_256_GCM + - AES_128_CBC + - AES_256_CBC + - AES_128_CTR + - AES_256_CTR + - RSA_SIGN_PSS_2048_SHA256 + - RSA_SIGN_PSS_3072_SHA256 + - RSA_SIGN_PSS_4096_SHA256 + - RSA_SIGN_PSS_4096_SHA512 + - RSA_SIGN_PKCS1_2048_SHA256 + - RSA_SIGN_PKCS1_3072_SHA256 + - RSA_SIGN_PKCS1_4096_SHA256 + - RSA_SIGN_PKCS1_4096_SHA512 + - RSA_SIGN_RAW_PKCS1_2048 + - RSA_SIGN_RAW_PKCS1_3072 + - RSA_SIGN_RAW_PKCS1_4096 + - RSA_DECRYPT_OAEP_2048_SHA256 + - RSA_DECRYPT_OAEP_3072_SHA256 + - RSA_DECRYPT_OAEP_4096_SHA256 + - RSA_DECRYPT_OAEP_4096_SHA512 + - RSA_DECRYPT_OAEP_2048_SHA1 + - RSA_DECRYPT_OAEP_3072_SHA1 + - RSA_DECRYPT_OAEP_4096_SHA1 + - EC_SIGN_P256_SHA256 + - EC_SIGN_P384_SHA384 + - EC_SIGN_SECP256K1_SHA256 + - EC_SIGN_ED25519 + - HMAC_SHA256 + - HMAC_SHA1 + - HMAC_SHA384 + - HMAC_SHA512 + - HMAC_SHA224 + - EXTERNAL_SYMMETRIC_ENCRYPTION enumDescriptions: - Not specified. - Creates symmetric encryption keys. @@ -154,482 +260,143 @@ components: - >- Algorithm representing symmetric encryption by an external key manager. - enum: - - CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED - - GOOGLE_SYMMETRIC_ENCRYPTION - - AES_128_GCM - - AES_256_GCM - - AES_128_CBC - - AES_256_CBC - - AES_128_CTR - - AES_256_CTR - - RSA_SIGN_PSS_2048_SHA256 - - RSA_SIGN_PSS_3072_SHA256 - - RSA_SIGN_PSS_4096_SHA256 - - RSA_SIGN_PSS_4096_SHA512 - - RSA_SIGN_PKCS1_2048_SHA256 - - RSA_SIGN_PKCS1_3072_SHA256 - - RSA_SIGN_PKCS1_4096_SHA256 - - RSA_SIGN_PKCS1_4096_SHA512 - - RSA_SIGN_RAW_PKCS1_2048 - - RSA_SIGN_RAW_PKCS1_3072 - - RSA_SIGN_RAW_PKCS1_4096 - - RSA_DECRYPT_OAEP_2048_SHA256 - - RSA_DECRYPT_OAEP_3072_SHA256 - - RSA_DECRYPT_OAEP_4096_SHA256 - - RSA_DECRYPT_OAEP_4096_SHA512 - - RSA_DECRYPT_OAEP_2048_SHA1 - - RSA_DECRYPT_OAEP_3072_SHA1 - - RSA_DECRYPT_OAEP_4096_SHA1 - - EC_SIGN_P256_SHA256 - - EC_SIGN_P384_SHA384 - - EC_SIGN_SECP256K1_SHA256 - - EC_SIGN_ED25519 - - HMAC_SHA256 - - HMAC_SHA1 - - HMAC_SHA384 - - HMAC_SHA512 - - HMAC_SHA224 - - EXTERNAL_SYMMETRIC_ENCRYPTION - protectionLevel: - enumDescriptions: - - Not specified. - - Crypto operations are performed in software. - - Crypto operations are performed in a Hardware Security Module. - - Crypto operations are performed by an external key manager. - - Crypto operations are performed in an EKM-over-VPC backend. - enum: - - PROTECTION_LEVEL_UNSPECIFIED - - SOFTWARE - - HSM - - EXTERNAL - - EXTERNAL_VPC - type: string - description: >- - ProtectionLevel to use when creating a CryptoKeyVersion based on - this template. Immutable. Defaults to SOFTWARE. + description: >- + A CryptoKeyVersionTemplate specifies the properties to use when creating + a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or + automatically as a result of auto-rotation. type: object id: GoogleCloudKmsV1CryptoKeyVersionTemplate - GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse: - type: object - properties: - protectedResources: - items: - $ref: '#/components/schemas/GoogleCloudKmsInventoryV1ProtectedResource' - description: Protected resources for this page. - type: array - nextPageToken: - description: >- - A token that can be sent as `page_token` to retrieve the next page. - If this field is omitted, there are no subsequent pages. - type: string - description: Response message for KeyTrackingService.SearchProtectedResources. - id: GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse - GoogleCloudKmsInventoryV1ProtectedResourcesSummary: - id: GoogleCloudKmsInventoryV1ProtectedResourcesSummary - description: >- - Aggregate information about the resources protected by a Cloud KMS key - in the same Cloud organization as the key. - properties: - name: - description: >- - The full name of the ProtectedResourcesSummary resource. Example: - projects/test-project/locations/us/keyRings/test-keyring/cryptoKeys/test-key/protectedResourcesSummary - type: string - locations: - type: object - description: The number of resources protected by the key grouped by region. - additionalProperties: - type: string - format: int64 - projectCount: - format: int32 - description: >- - The number of distinct Cloud projects in the same Cloud organization - as the key that have resources protected by the key. - type: integer - resourceCount: - description: >- - The total number of protected resources in the same Cloud - organization as the key. - format: int64 - type: string - resourceTypes: - description: >- - The number of resources protected by the key grouped by resource - type. - type: object - additionalProperties: - type: string - format: int64 - cloudProducts: - additionalProperties: - type: string - format: int64 - description: >- - The number of resources protected by the key grouped by Cloud - product. - type: object + GoogleCloudKmsInventoryV1ProtectedResource: type: object - GoogleCloudKmsV1CryptoKey: - description: >- - A CryptoKey represents a logical key that can be used for cryptographic - operations. A CryptoKey is made up of zero or more versions, which - represent the actual key material used in cryptographic operations. properties: - keyAccessJustificationsPolicy: - description: >- - Optional. The policy used for Key Access Justifications Policy - Enforcement. If this field is present and this key is enrolled in - Key Access Justifications Policy Enforcement, the policy will be - evaluated in encrypt, decrypt, and sign operations, and the - operation will fail if rejected by the policy. The policy is defined - by specifying zero or more allowed justification codes. - https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes - By default, this field is absent, and all justification codes are - allowed. - $ref: '#/components/schemas/GoogleCloudKmsV1KeyAccessJustificationsPolicy' - name: - readOnly: true - description: >- - Output only. The resource name for this CryptoKey in the format - `projects/*/locations/*/keyRings/*/cryptoKeys/*`. - type: string - rotationPeriod: - format: google-duration - description: >- - 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. - type: string - versionTemplate: - $ref: '#/components/schemas/GoogleCloudKmsV1CryptoKeyVersionTemplate' - description: >- - A template describing settings for new CryptoKeyVersion instances. - The properties of new CryptoKeyVersion instances created by either - CreateCryptoKeyVersion or auto-rotation are controlled by this - template. - nextRotationTime: - description: >- - 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. - format: google-datetime + project: type: string + description: 'Format: `projects/{PROJECT_NUMBER}`.' labels: type: object + description: A key-value pair of the resource's labels (v1) to their values. additionalProperties: type: string - description: >- - Labels with user-defined metadata. For more information, see - [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). createTime: - format: google-datetime - description: Output only. The time at which this CryptoKey was created. - type: string readOnly: true - cryptoKeyBackend: - type: string - description: >- - 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. - primary: - description: >- - Output only. A copy of the "primary" CryptoKeyVersion that will be - used by Encrypt when this CryptoKey is given in EncryptRequest.name. - The CryptoKey's primary version can be updated via - UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may - have a primary. For other keys, this field will be omitted. - $ref: '#/components/schemas/GoogleCloudKmsV1CryptoKeyVersion' - readOnly: true - purpose: - enumDescriptions: - - Not specified. - - CryptoKeys with this purpose may be used with Encrypt and Decrypt. - - >- - CryptoKeys with this purpose may be used with AsymmetricSign and - GetPublicKey. - - >- - CryptoKeys with this purpose may be used with AsymmetricDecrypt - and GetPublicKey. - - >- - CryptoKeys with this purpose may be used with RawEncrypt and - RawDecrypt. This purpose is meant to be used for interoperable - symmetric encryption and does not support automatic CryptoKey - rotation. - - CryptoKeys with this purpose may be used with MacSign. - type: string - enum: - - CRYPTO_KEY_PURPOSE_UNSPECIFIED - - ENCRYPT_DECRYPT - - ASYMMETRIC_SIGN - - ASYMMETRIC_DECRYPT - - RAW_ENCRYPT_DECRYPT - - MAC - description: Immutable. The immutable purpose of this CryptoKey. - destroyScheduledDuration: - format: google-duration - type: string - description: >- - 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. - importOnly: - description: Immutable. Whether this key may contain imported versions only. - type: boolean - id: GoogleCloudKmsV1CryptoKey - type: object - GoogleCloudKmsInventoryV1ListCryptoKeysResponse: - properties: - nextPageToken: - description: >- - The page token returned from the previous response if the next page - is desired. - type: string - cryptoKeys: - items: - $ref: '#/components/schemas/GoogleCloudKmsV1CryptoKey' - description: The list of CryptoKeys. - type: array - description: Response message for KeyDashboardService.ListCryptoKeys. - type: object - id: GoogleCloudKmsInventoryV1ListCryptoKeysResponse - GoogleCloudKmsV1KeyAccessJustificationsPolicy: - description: >- - A KeyAccessJustificationsPolicy specifies zero or more allowed - AccessReason values for encrypt, decrypt, and sign operations on a - CryptoKey. - id: GoogleCloudKmsV1KeyAccessJustificationsPolicy - properties: - allowedAccessReasons: - type: array - items: - type: string - enumDescriptions: - - Unspecified access reason. - - Customer-initiated support. - - >- - Google-initiated access for system management and - troubleshooting. - - >- - Google-initiated access in response to a legal request or legal - process. - - >- - Google-initiated access for security, fraud, abuse, or - compliance purposes. - - >- - Customer uses their account to perform any access to their own - data which their IAM policy authorizes. - - >- - Google systems access customer data to help optimize the - structure of the data or quality for future uses by the - customer. - - No reason is expected for this key request. - - >- - Customer uses their account to perform any access to their own - data which their IAM policy authorizes, and one of the following - is true: * A Google administrator has reset the root-access - account associated with the user's organization within the past - 7 days. * A Google-initiated emergency access operation has - interacted with a resource in the same project or folder as the - currently accessed resource within the past 7 days. - - >- - Google systems access customer data to help optimize the - structure of the data or quality for future uses by the - customer, and one of the following is true: * A Google - administrator has reset the root-access account associated with - the user's organization within the past 7 days. * A - Google-initiated emergency access operation has interacted with - a resource in the same project or folder as the currently - accessed resource within the past 7 days. - - Google-initiated access to maintain system reliability. - - >- - One of the following operations is being executed while - simultaneously encountering an internal technical issue which - prevented a more precise justification code from being - generated: * Your account has been used to perform any access to - your own data which your IAM policy authorizes. * An automated - Google system operates on encrypted customer data which your IAM - policy authorizes. * Customer-initiated Google support access. * - Google-initiated support access to protect system reliability. - enum: - - REASON_UNSPECIFIED - - CUSTOMER_INITIATED_SUPPORT - - GOOGLE_INITIATED_SERVICE - - THIRD_PARTY_DATA_REQUEST - - GOOGLE_INITIATED_REVIEW - - CUSTOMER_INITIATED_ACCESS - - GOOGLE_INITIATED_SYSTEM_OPERATION - - REASON_NOT_EXPECTED - - MODIFIED_CUSTOMER_INITIATED_ACCESS - - MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION - - GOOGLE_RESPONSE_TO_PRODUCTION_ALERT - - CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING - description: >- - The list of allowed reasons for access to a CryptoKey. Zero allowed - access reasons means all encrypt, decrypt, and sign operations for - the CryptoKey associated with this policy will fail. - type: object - GoogleCloudKmsV1KeyOperationAttestationCertificateChains: - properties: - googleCardCerts: - type: array - items: - type: string - description: Google card certificate chain corresponding to the attestation. - googlePartitionCerts: - items: - type: string - description: Google partition certificate chain corresponding to the attestation. - type: array - caviumCerts: - description: Cavium certificate chain corresponding to the attestation. - items: - type: string - type: array - id: GoogleCloudKmsV1KeyOperationAttestationCertificateChains - type: object - description: >- - Certificate chains needed to verify the attestation. Certificates in - chains are PEM-encoded and are ordered based on - https://tools.ietf.org/html/rfc5246#section-7.4.2. - GoogleCloudKmsV1CryptoKeyVersion: - properties: - destroyEventTime: - description: >- - Output only. The time this CryptoKeyVersion's key material was - destroyed. Only present if state is DESTROYED. format: google-datetime type: string - readOnly: true - reimportEligible: - readOnly: true - type: boolean description: >- - Output only. Whether or not this key version is eligible for - reimport, by being specified as a target in - ImportCryptoKeyVersionRequest.crypto_key_version. - externalDestructionFailureReason: + Output only. The time at which this resource was created. The + granularity is in seconds. Timestamp.nanos will always be 0. + location: type: string description: >- - Output only. The root cause of the most recent external destruction - failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED. - readOnly: true - externalProtectionLevelOptions: - $ref: '#/components/schemas/GoogleCloudKmsV1ExternalProtectionLevelOptions' - description: >- - ExternalProtectionLevelOptions stores a group of additional fields - for configuring a CryptoKeyVersion that are specific to the EXTERNAL - protection level and EXTERNAL_VPC protection levels. - protectionLevel: - type: string - enum: - - PROTECTION_LEVEL_UNSPECIFIED - - SOFTWARE - - HSM - - EXTERNAL - - EXTERNAL_VPC - readOnly: true - description: >- - Output only. The ProtectionLevel describing how crypto operations - are performed with this CryptoKeyVersion. - enumDescriptions: - - Not specified. - - Crypto operations are performed in software. - - Crypto operations are performed in a Hardware Security Module. - - Crypto operations are performed by an external key manager. - - Crypto operations are performed in an EKM-over-VPC backend. - generationFailureReason: + Location can be `global`, regional like `us-east1`, or zonal like + `us-west1-b`. + resourceType: type: string - description: >- - Output only. The root cause of the most recent generation failure. - Only present if state is GENERATION_FAILED. - readOnly: true + description: 'Example: `compute.googleapis.com/Disk`' name: - readOnly: true + description: >- + The full resource name of the resource. Example: + `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. type: string + cryptoKeyVersions: description: >- - Output only. The resource name for this CryptoKeyVersion in the - format - `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. - destroyTime: - format: google-datetime - readOnly: true + The names of the Cloud KMS + [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en) + used to protect this resource via CMEK. This field is empty if the + Google Cloud product owning the resource does not provide key + versions data to Asset Inventory. The first element of this field is + stored in crypto_key_version. + type: array + items: + type: string + projectId: + description: The ID of the project that owns the resource. + type: string + cryptoKeyVersion: type: string description: >- - Output only. The time this CryptoKeyVersion's key material is - scheduled for destruction. Only present if state is - DESTROY_SCHEDULED. - attestation: - description: >- - Output only. Statement that was generated and signed by the HSM at - key creation time. Use this statement to verify attributes of the - key as stored on the HSM, independently of Google. Only provided for - key versions with protection_level HSM. - $ref: '#/components/schemas/GoogleCloudKmsV1KeyOperationAttestation' - readOnly: true - createTime: - readOnly: true + The name of the Cloud KMS + [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en) + used to protect this resource via CMEK. This field is empty if the + Google Cloud product owning the resource does not provide key + version data to Asset Inventory. If there are multiple key versions + protecting the resource, then this is same value as the first + element of crypto_key_versions. + cloudProduct: + description: 'The Cloud product that owns the resource. Example: `compute`' + type: string + id: GoogleCloudKmsInventoryV1ProtectedResource + description: Metadata about a resource protected by a Cloud KMS key. + GoogleCloudKmsV1CryptoKeyVersion: + type: object + id: GoogleCloudKmsV1CryptoKeyVersion + properties: + state: + enum: + - CRYPTO_KEY_VERSION_STATE_UNSPECIFIED + - PENDING_GENERATION + - ENABLED + - DISABLED + - DESTROYED + - DESTROY_SCHEDULED + - PENDING_IMPORT + - IMPORT_FAILED + - GENERATION_FAILED + - PENDING_EXTERNAL_DESTRUCTION + - EXTERNAL_DESTRUCTION_FAILED + enumDescriptions: + - Not specified. + - >- + This version is still being generated. It may not be used, + enabled, disabled, or destroyed yet. Cloud KMS will automatically + mark this version ENABLED as soon as the version is ready. + - This version may be used for cryptographic operations. + - >- + This version may not be used, but the key material is still + available, and the version can be placed back into the ENABLED + state. + - >- + This version is destroyed, and the key material is no longer + stored. This version may only become ENABLED again if this version + is reimport_eligible and the original key material is reimported + with a call to KeyManagementService.ImportCryptoKeyVersion. + - >- + This version is scheduled for destruction, and will be destroyed + soon. Call RestoreCryptoKeyVersion to put it back into the + DISABLED state. + - >- + This version is still being imported. It may not be used, enabled, + disabled, or destroyed yet. Cloud KMS will automatically mark this + version ENABLED as soon as the version is ready. + - >- + This version was not imported successfully. It may not be used, + enabled, disabled, or destroyed. The submitted key material has + been discarded. Additional details can be found in + CryptoKeyVersion.import_failure_reason. + - >- + This version was not generated successfully. It may not be used, + enabled, disabled, or destroyed. Additional details can be found + in CryptoKeyVersion.generation_failure_reason. + - >- + This version was destroyed, and it may not be used or enabled + again. Cloud KMS is waiting for the corresponding key material + residing in an external key manager to be destroyed. + - >- + This version was destroyed, and it may not be used or enabled + again. However, Cloud KMS could not confirm that the corresponding + key material residing in an external key manager was destroyed. + Additional details can be found in + CryptoKeyVersion.external_destruction_failure_reason. + description: The current state of the CryptoKeyVersion. type: string - format: google-datetime - description: Output only. The time at which this CryptoKeyVersion was created. importJob: + type: string readOnly: true description: >- Output only. The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported. - type: string algorithm: - enum: - - CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED - - GOOGLE_SYMMETRIC_ENCRYPTION - - AES_128_GCM - - AES_256_GCM - - AES_128_CBC - - AES_256_CBC - - AES_128_CTR - - AES_256_CTR - - RSA_SIGN_PSS_2048_SHA256 - - RSA_SIGN_PSS_3072_SHA256 - - RSA_SIGN_PSS_4096_SHA256 - - RSA_SIGN_PSS_4096_SHA512 - - RSA_SIGN_PKCS1_2048_SHA256 - - RSA_SIGN_PKCS1_3072_SHA256 - - RSA_SIGN_PKCS1_4096_SHA256 - - RSA_SIGN_PKCS1_4096_SHA512 - - RSA_SIGN_RAW_PKCS1_2048 - - RSA_SIGN_RAW_PKCS1_3072 - - RSA_SIGN_RAW_PKCS1_4096 - - RSA_DECRYPT_OAEP_2048_SHA256 - - RSA_DECRYPT_OAEP_3072_SHA256 - - RSA_DECRYPT_OAEP_4096_SHA256 - - RSA_DECRYPT_OAEP_4096_SHA512 - - RSA_DECRYPT_OAEP_2048_SHA1 - - RSA_DECRYPT_OAEP_3072_SHA1 - - RSA_DECRYPT_OAEP_4096_SHA1 - - EC_SIGN_P256_SHA256 - - EC_SIGN_P384_SHA384 - - EC_SIGN_SECP256K1_SHA256 - - EC_SIGN_ED25519 - - HMAC_SHA256 - - HMAC_SHA1 - - HMAC_SHA384 - - HMAC_SHA512 - - HMAC_SHA224 - - EXTERNAL_SYMMETRIC_ENCRYPTION - readOnly: true + type: string enumDescriptions: - Not specified. - Creates symmetric encryption keys. @@ -679,88 +446,145 @@ components: - >- Algorithm representing symmetric encryption by an external key manager. - type: string description: >- Output only. The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. + readOnly: true + enum: + - CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED + - GOOGLE_SYMMETRIC_ENCRYPTION + - AES_128_GCM + - AES_256_GCM + - AES_128_CBC + - AES_256_CBC + - AES_128_CTR + - AES_256_CTR + - RSA_SIGN_PSS_2048_SHA256 + - RSA_SIGN_PSS_3072_SHA256 + - RSA_SIGN_PSS_4096_SHA256 + - RSA_SIGN_PSS_4096_SHA512 + - RSA_SIGN_PKCS1_2048_SHA256 + - RSA_SIGN_PKCS1_3072_SHA256 + - RSA_SIGN_PKCS1_4096_SHA256 + - RSA_SIGN_PKCS1_4096_SHA512 + - RSA_SIGN_RAW_PKCS1_2048 + - RSA_SIGN_RAW_PKCS1_3072 + - RSA_SIGN_RAW_PKCS1_4096 + - RSA_DECRYPT_OAEP_2048_SHA256 + - RSA_DECRYPT_OAEP_3072_SHA256 + - RSA_DECRYPT_OAEP_4096_SHA256 + - RSA_DECRYPT_OAEP_4096_SHA512 + - RSA_DECRYPT_OAEP_2048_SHA1 + - RSA_DECRYPT_OAEP_3072_SHA1 + - RSA_DECRYPT_OAEP_4096_SHA1 + - EC_SIGN_P256_SHA256 + - EC_SIGN_P384_SHA384 + - EC_SIGN_SECP256K1_SHA256 + - EC_SIGN_ED25519 + - HMAC_SHA256 + - HMAC_SHA1 + - HMAC_SHA384 + - HMAC_SHA512 + - HMAC_SHA224 + - EXTERNAL_SYMMETRIC_ENCRYPTION + createTime: + format: google-datetime + readOnly: true + type: string + description: Output only. The time at which this CryptoKeyVersion was created. + reimportEligible: + type: boolean + description: >- + Output only. Whether or not this key version is eligible for + reimport, by being specified as a target in + ImportCryptoKeyVersionRequest.crypto_key_version. + readOnly: true + attestation: + description: >- + Output only. Statement that was generated and signed by the HSM at + key creation time. Use this statement to verify attributes of the + key as stored on the HSM, independently of Google. Only provided for + key versions with protection_level HSM. + $ref: '#/components/schemas/GoogleCloudKmsV1KeyOperationAttestation' + readOnly: true + externalProtectionLevelOptions: + description: >- + ExternalProtectionLevelOptions stores a group of additional fields + for configuring a CryptoKeyVersion that are specific to the EXTERNAL + protection level and EXTERNAL_VPC protection levels. + $ref: '#/components/schemas/GoogleCloudKmsV1ExternalProtectionLevelOptions' + destroyEventTime: + description: >- + Output only. The time this CryptoKeyVersion's key material was + destroyed. Only present if state is DESTROYED. + type: string + readOnly: true + format: google-datetime + name: + type: string + readOnly: true + description: >- + Output only. The resource name for this CryptoKeyVersion in the + format + `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. + generateTime: + type: string + readOnly: true + format: google-datetime + description: >- + Output only. The time this CryptoKeyVersion's key material was + generated. + destroyTime: + readOnly: true + format: google-datetime + description: >- + Output only. The time this CryptoKeyVersion's key material is + scheduled for destruction. Only present if state is + DESTROY_SCHEDULED. + type: string importTime: + readOnly: true + format: google-datetime + description: >- + Output only. The time at which this CryptoKeyVersion's key material + was most recently imported. + type: string + protectionLevel: + enum: + - PROTECTION_LEVEL_UNSPECIFIED + - SOFTWARE + - HSM + - EXTERNAL + - EXTERNAL_VPC type: string - format: google-datetime readOnly: true + enumDescriptions: + - Not specified. + - Crypto operations are performed in software. + - Crypto operations are performed in a Hardware Security Module. + - Crypto operations are performed by an external key manager. + - Crypto operations are performed in an EKM-over-VPC backend. description: >- - Output only. The time at which this CryptoKeyVersion's key material - was most recently imported. - generateTime: - type: string + Output only. The ProtectionLevel describing how crypto operations + are performed with this CryptoKeyVersion. + generationFailureReason: readOnly: true description: >- - Output only. The time this CryptoKeyVersion's key material was - generated. - format: google-datetime + Output only. The root cause of the most recent generation failure. + Only present if state is GENERATION_FAILED. + type: string + externalDestructionFailureReason: + type: string + description: >- + Output only. The root cause of the most recent external destruction + failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED. + readOnly: true importFailureReason: description: >- Output only. The root cause of the most recent import failure. Only present if state is IMPORT_FAILED. - type: string readOnly: true - state: type: string - enumDescriptions: - - Not specified. - - >- - This version is still being generated. It may not be used, - enabled, disabled, or destroyed yet. Cloud KMS will automatically - mark this version ENABLED as soon as the version is ready. - - This version may be used for cryptographic operations. - - >- - This version may not be used, but the key material is still - available, and the version can be placed back into the ENABLED - state. - - >- - This version is destroyed, and the key material is no longer - stored. This version may only become ENABLED again if this version - is reimport_eligible and the original key material is reimported - with a call to KeyManagementService.ImportCryptoKeyVersion. - - >- - This version is scheduled for destruction, and will be destroyed - soon. Call RestoreCryptoKeyVersion to put it back into the - DISABLED state. - - >- - This version is still being imported. It may not be used, enabled, - disabled, or destroyed yet. Cloud KMS will automatically mark this - version ENABLED as soon as the version is ready. - - >- - This version was not imported successfully. It may not be used, - enabled, disabled, or destroyed. The submitted key material has - been discarded. Additional details can be found in - CryptoKeyVersion.import_failure_reason. - - >- - This version was not generated successfully. It may not be used, - enabled, disabled, or destroyed. Additional details can be found - in CryptoKeyVersion.generation_failure_reason. - - >- - This version was destroyed, and it may not be used or enabled - again. Cloud KMS is waiting for the corresponding key material - residing in an external key manager to be destroyed. - - >- - This version was destroyed, and it may not be used or enabled - again. However, Cloud KMS could not confirm that the corresponding - key material residing in an external key manager was destroyed. - Additional details can be found in - CryptoKeyVersion.external_destruction_failure_reason. - enum: - - CRYPTO_KEY_VERSION_STATE_UNSPECIFIED - - PENDING_GENERATION - - ENABLED - - DISABLED - - DESTROYED - - DESTROY_SCHEDULED - - PENDING_IMPORT - - IMPORT_FAILED - - GENERATION_FAILED - - PENDING_EXTERNAL_DESTRUCTION - - EXTERNAL_DESTRUCTION_FAILED - description: The current state of the CryptoKeyVersion. description: >- A CryptoKeyVersion represents an individual cryptographic key, and the associated key material. An ENABLED version can be used for @@ -768,69 +592,251 @@ components: 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. - id: GoogleCloudKmsV1CryptoKeyVersion - type: object - GoogleCloudKmsInventoryV1ProtectedResource: + GoogleCloudKmsInventoryV1ProtectedResourcesSummary: + id: GoogleCloudKmsInventoryV1ProtectedResourcesSummary type: object - description: Metadata about a resource protected by a Cloud KMS key. - id: GoogleCloudKmsInventoryV1ProtectedResource properties: + locations: + additionalProperties: + type: string + format: int64 + description: The number of resources protected by the key grouped by region. + type: object + cloudProducts: + description: >- + The number of resources protected by the key grouped by Cloud + product. + type: object + additionalProperties: + type: string + format: int64 + resourceCount: + type: string + description: >- + The total number of protected resources in the same Cloud + organization as the key. + format: int64 + name: + type: string + description: >- + The full name of the ProtectedResourcesSummary resource. Example: + projects/test-project/locations/us/keyRings/test-keyring/cryptoKeys/test-key/protectedResourcesSummary + resourceTypes: + type: object + description: >- + The number of resources protected by the key grouped by resource + type. + additionalProperties: + format: int64 + type: string + projectCount: + format: int32 + description: >- + The number of distinct Cloud projects in the same Cloud organization + as the key that have resources protected by the key. + type: integer + description: >- + Aggregate information about the resources protected by a Cloud KMS key + in the same Cloud organization as the key. + GoogleCloudKmsV1CryptoKey: + id: GoogleCloudKmsV1CryptoKey + properties: + name: + type: string + description: >- + Output only. The resource name for this CryptoKey in the format + `projects/*/locations/*/keyRings/*/cryptoKeys/*`. + readOnly: true labels: additionalProperties: type: string type: object - description: A key-value pair of the resource's labels (v1) to their values. - location: description: >- - Location can be `global`, regional like `us-east1`, or zonal like - `us-west1-b`. + Labels with user-defined metadata. For more information, see + [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). + purpose: type: string - cloudProduct: - description: 'The Cloud product that owns the resource. Example: `compute`' + enumDescriptions: + - Not specified. + - CryptoKeys with this purpose may be used with Encrypt and Decrypt. + - >- + CryptoKeys with this purpose may be used with AsymmetricSign and + GetPublicKey. + - >- + CryptoKeys with this purpose may be used with AsymmetricDecrypt + and GetPublicKey. + - >- + CryptoKeys with this purpose may be used with RawEncrypt and + RawDecrypt. This purpose is meant to be used for interoperable + symmetric encryption and does not support automatic CryptoKey + rotation. + - CryptoKeys with this purpose may be used with MacSign. + description: Immutable. The immutable purpose of this CryptoKey. + enum: + - CRYPTO_KEY_PURPOSE_UNSPECIFIED + - ENCRYPT_DECRYPT + - ASYMMETRIC_SIGN + - ASYMMETRIC_DECRYPT + - RAW_ENCRYPT_DECRYPT + - MAC + createTime: + description: Output only. The time at which this CryptoKey was created. + format: google-datetime type: string - project: + readOnly: true + versionTemplate: + description: >- + A template describing settings for new CryptoKeyVersion instances. + The properties of new CryptoKeyVersion instances created by either + CreateCryptoKeyVersion or auto-rotation are controlled by this + template. + $ref: '#/components/schemas/GoogleCloudKmsV1CryptoKeyVersionTemplate' + cryptoKeyBackend: type: string - description: 'Format: `projects/{PROJECT_NUMBER}`.' - resourceType: + description: >- + 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. + destroyScheduledDuration: + description: >- + 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. + type: string + format: google-duration + primary: + $ref: '#/components/schemas/GoogleCloudKmsV1CryptoKeyVersion' + readOnly: true + description: >- + Output only. A copy of the "primary" CryptoKeyVersion that will be + used by Encrypt when this CryptoKey is given in EncryptRequest.name. + The CryptoKey's primary version can be updated via + UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may + have a primary. For other keys, this field will be omitted. + importOnly: + description: Immutable. Whether this key may contain imported versions only. + type: boolean + keyAccessJustificationsPolicy: + description: >- + Optional. The policy used for Key Access Justifications Policy + Enforcement. If this field is present and this key is enrolled in + Key Access Justifications Policy Enforcement, the policy will be + evaluated in encrypt, decrypt, and sign operations, and the + operation will fail if rejected by the policy. The policy is defined + by specifying zero or more allowed justification codes. + https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes + By default, this field is absent, and all justification codes are + allowed. + $ref: '#/components/schemas/GoogleCloudKmsV1KeyAccessJustificationsPolicy' + rotationPeriod: + format: google-duration + description: >- + 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. + type: string + nextRotationTime: + format: google-datetime + description: >- + 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. + type: string + description: >- + A CryptoKey represents a logical key that can be used for cryptographic + operations. A CryptoKey is made up of zero or more versions, which + represent the actual key material used in cryptographic operations. + type: object + GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse: + id: GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse + description: Response message for KeyTrackingService.SearchProtectedResources. + properties: + nextPageToken: type: string - description: 'Example: `compute.googleapis.com/Disk`' - cryptoKeyVersions: - type: array description: >- - The names of the Cloud KMS - [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en) - used to protect this resource via CMEK. This field is empty if the - Google Cloud product owning the resource does not provide key - versions data to Asset Inventory. The first element of this field is - stored in crypto_key_version. + A token that can be sent as `page_token` to retrieve the next page. + If this field is omitted, there are no subsequent pages. + protectedResources: items: - type: string - cryptoKeyVersion: - description: >- - The name of the Cloud KMS - [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en) - used to protect this resource via CMEK. This field is empty if the - Google Cloud product owning the resource does not provide key - version data to Asset Inventory. If there are multiple key versions - protecting the resource, then this is same value as the first - element of crypto_key_versions. - type: string - projectId: + $ref: '#/components/schemas/GoogleCloudKmsInventoryV1ProtectedResource' + description: Protected resources for this page. + type: array + type: object + GoogleCloudKmsV1ExternalProtectionLevelOptions: + id: GoogleCloudKmsV1ExternalProtectionLevelOptions + properties: + ekmConnectionKeyPath: type: string - description: The ID of the project that owns the resource. - createTime: + description: >- + The path to the external key material on the EKM when using + EkmConnection e.g., "v0/my/key". Set this field instead of + external_key_uri when using an EkmConnection. + externalKeyUri: type: string - readOnly: true - format: google-datetime description: >- - Output only. The time at which this resource was created. The - granularity is in seconds. Timestamp.nanos will always be 0. - name: + The URI for an external resource that this CryptoKeyVersion + represents. + description: >- + ExternalProtectionLevelOptions stores a group of additional fields for + configuring a CryptoKeyVersion that are specific to the EXTERNAL + protection level and EXTERNAL_VPC protection levels. + type: object + GoogleCloudKmsV1KeyOperationAttestation: + properties: + format: + readOnly: true + enum: + - ATTESTATION_FORMAT_UNSPECIFIED + - CAVIUM_V1_COMPRESSED + - CAVIUM_V2_COMPRESSED + description: Output only. The format of the attestation data. + enumDescriptions: + - Not specified. + - >- + Cavium HSM attestation compressed with gzip. Note that this format + is defined by Cavium and subject to change at any time. See + https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html. + - >- + Cavium HSM attestation V2 compressed with gzip. This is a new + format introduced in Cavium's version 3.2-08. + type: string + content: + format: byte description: >- - The full resource name of the resource. Example: - `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. + Output only. The attestation data provided by the HSM when the key + operation was performed. + readOnly: true type: string + certChains: + $ref: >- + #/components/schemas/GoogleCloudKmsV1KeyOperationAttestationCertificateChains + description: >- + Output only. The certificate chains needed to validate the + attestation + readOnly: true + description: >- + Contains an HSM-generated attestation about a key operation. For more + information, see [Verifying attestations] + (https://cloud.google.com/kms/docs/attest-key). + type: object + id: GoogleCloudKmsV1KeyOperationAttestation parameters: + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean key: description: >- API key. Your API key identifies your project and provides you with API @@ -840,61 +846,46 @@ components: name: key schema: type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - oauth_token: - description: OAuth 2.0 token for the current user. + alt: + description: Data format for response. in: query - name: oauth_token + name: alt schema: type: string - callback: - description: JSONP + enum: + - json + - media + - proto + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: callback + name: uploadType schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + access_token: + description: OAuth access token. in: query - name: quotaUser + name: access_token schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: upload_protocol + name: oauth_token schema: type: string - alt: - description: Data format for response. + callback: + description: JSONP in: query - name: alt + name: callback schema: type: string - enum: - - json - - media - - proto _.xgafv: description: V1 error format. in: query @@ -904,28 +895,36 @@ components: enum: - '1' - '2' - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: uploadType + name: upload_protocol + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser schema: type: string x-stackQL-resources: - crypto_keys: - id: google.kmsinventory.crypto_keys - name: crypto_keys - title: Crypto_keys + protected_resources: + id: google.kmsinventory.protected_resources + name: protected_resources + title: Protected_resources methods: - list: + search: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1cryptoKeys/get' + $ref: >- + #/paths/~1v1~1organizations~1{organizationsId}~1protectedResources:search/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.cryptoKeys sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/crypto_keys/methods/list' + select: [] insert: [] update: [] replace: [] @@ -950,44 +949,44 @@ components: update: [] replace: [] delete: [] - protected_resources: - id: google.kmsinventory.protected_resources - name: protected_resources - title: Protected_resources + crypto_keys: + id: google.kmsinventory.crypto_keys + name: crypto_keys + title: Crypto_keys methods: - search: + list: operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1protectedResources:search/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1cryptoKeys/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.cryptoKeys sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/crypto_keys/methods/list' insert: [] update: [] replace: [] delete: [] paths: - /v1/projects/{projectsId}/cryptoKeys: + /v1/organizations/{organizationsId}/protectedResources:search: parameters: &ref_1 + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/quotaUser' get: description: >- - 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. - operationId: kmsinventory.projects.cryptoKeys.list + Returns metadata about the resources protected by the given Cloud KMS + CryptoKey in the given Cloud organization. + operationId: kmsinventory.organizations.protectedResources.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1000,10 +999,10 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudKmsInventoryV1ListCryptoKeysResponse + #/components/schemas/GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string @@ -1012,6 +1011,14 @@ paths: schema: type: integer format: int32 + - in: query + name: resourceTypes + schema: + type: string + - in: query + name: cryptoKey + schema: + type: string - in: query name: pageToken schema: @@ -1060,13 +1067,14 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/protectedResources:search: + /v1/projects/{projectsId}/cryptoKeys: parameters: *ref_1 get: description: >- - Returns metadata about the resources protected by the given Cloud KMS - CryptoKey in the given Cloud organization. - operationId: kmsinventory.organizations.protectedResources.search + 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. + operationId: kmsinventory.projects.cryptoKeys.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1079,19 +1087,15 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse + #/components/schemas/GoogleCloudKmsInventoryV1ListCryptoKeysResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - in: query - name: resourceTypes - schema: - type: string - - in: query - name: cryptoKey + name: pageToken schema: type: string - in: query @@ -1099,7 +1103,3 @@ paths: schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/language.yaml b/providers/src/googleapis.com/v00.00.00000/services/language.yaml index 250f1588..0f7ac79b 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/language.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/language.yaml @@ -10,8 +10,8 @@ info: analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers. version: v2 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241103' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/natural-language/ servers: @@ -25,12 +25,12 @@ components: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: &ref_0 - https://www.googleapis.com/auth/cloud-language: >- - Apply machine learning models to reveal the structure and meaning - of text 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. + https://www.googleapis.com/auth/cloud-language: >- + Apply machine learning models to reveal the structure and meaning + of text Oauth2c: type: oauth2 description: Oauth 2.0 authorization code authentication @@ -40,1649 +40,1424 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - XPSTextExtractionEvaluationMetrics: - id: XPSTextExtractionEvaluationMetrics - type: object - properties: - confidenceMetricsEntries: - items: - $ref: '#/components/schemas/XPSConfidenceMetricsEntry' - type: array - description: >- - If the enclosing EvaluationMetrics.label is empty, - confidence_metrics_entries is an evaluation of the entire model - across all labels. If the enclosing EvaluationMetrics.label is set, - confidence_metrics_entries applies to that label. - confusionMatrix: - description: >- - Confusion matrix of the model, at the default confidence threshold - (0.0). Only set for whole-model evaluation, not for evaluation per - label. - $ref: '#/components/schemas/XPSConfusionMatrix' - bestF1ConfidenceMetrics: - $ref: '#/components/schemas/XPSConfidenceMetricsEntry' - description: >- - Values are at the highest F1 score on the precision-recall curve. - Only confidence_threshold, recall, precision, and f1_score will be - set. - deprecated: true - perLabelConfidenceMetrics: - description: Only recall, precision, and f1_score will be set. - type: object - deprecated: true - additionalProperties: - $ref: '#/components/schemas/XPSConfidenceMetricsEntry' - XPSSpeechModelSpecSubModelSpec: - type: object - id: XPSSpeechModelSpecSubModelSpec - properties: - contextId: - type: string - description: In S3, Recognition ClientContextId.context_id - isEnhancedModel: - type: boolean - description: >- - If true then it means we have an enhanced version of the biasing - models. - biasingModelType: - type: string - description: Type of the biasing model. - enum: - - BIASING_MODEL_TYPE_UNSPECIFIED - - COMMAND_AND_SEARCH - - PHONE_CALL - - VIDEO - - DEFAULT - enumDescriptions: - - '' - - Build biasing model on top of COMMAND_AND_SEARCH model - - Build biasing model on top of PHONE_CALL model - - Build biasing model on top of VIDEO model - - Build biasing model on top of DEFAULT model - clientId: - description: In S3, Recognition ClientContextId.client_id - type: string - XPSFloat64Stats: - id: XPSFloat64Stats - type: object - description: The data statistics of a series of FLOAT64 values. - properties: - histogramBuckets: - items: - $ref: '#/components/schemas/XPSFloat64StatsHistogramBucket' - description: >- - Histogram buckets of the data series. Sorted by the min value of the - bucket, ascendingly, and the number of the buckets is dynamically - generated. The buckets are non-overlapping and completely cover - whole FLOAT64 range with min of first bucket being `"-Infinity"`, - and max of the last one being `"Infinity"`. - type: array - standardDeviation: - format: double - description: The standard deviation of the series. - type: number - mean: - type: number - format: double - description: The mean of the series. - commonStats: - $ref: '#/components/schemas/XPSCommonStats' - quantiles: - type: array - items: - format: double - type: number - description: >- - Ordered from 0 to k k-quantile values of the data series of n - values. The value at index i is, approximately, the i*n/k-th - smallest value in the series; for i = 0 and i = k these are, - respectively, the min and max values. - XPSTablesConfidenceMetricsEntry: - id: XPSTablesConfidenceMetricsEntry + XPSTranslationPreprocessResponse: + description: Translation preprocess response. + id: XPSTranslationPreprocessResponse type: object properties: - truePositiveRate: - description: 'TPR = #true positives / (#true positives + #false negatvies)' - type: number - format: double - precision: - format: double - type: number - description: 'Precision = #true positives / (#true positives + #false positives).' - falseNegativeCount: - description: False negative count. - format: int64 - type: string - falsePositiveCount: - description: False positive count. - type: string + validExampleCount: + description: Total valid example count. format: int64 - falsePositiveRate: - type: number - format: double - description: 'FPR = #false positives / (#false positives + #true negatives)' - confidenceThreshold: - format: double - description: The confidence threshold value used to compute the metrics. - type: number - trueNegativeCount: - description: True negative count. type: string - format: int64 - f1Score: - description: >- - The harmonic mean of recall and precision. (2 * precision * recall) - / (precision + recall) - type: number - format: double - truePositiveCount: + parsedExampleCount: + description: Total example count parsed. type: string format: int64 - description: True positive count. - recall: - format: double - type: number - description: 'Recall = #true positives / (#true positives + #false negatives).' - description: Metrics for a single confidence threshold. - XPSMetricEntry: - id: XPSMetricEntry - type: object + XPSTextTrainResponse: + id: XPSTextTrainResponse properties: - int64Value: - type: string - format: int64 - description: A signed 64-bit integer value. - systemLabels: - description: Billing system labels for this (metric, value) pair. + componentModel: type: array items: - $ref: '#/components/schemas/XPSMetricEntryLabel' - doubleValue: - description: A double value. - format: double - type: number - metricName: - description: The metric name defined in the service configuration. - type: string - argentumMetricId: - description: >- - For billing metrics that are using legacy sku's, set the legacy - billing metric id here. This will be sent to Chemist as the - "cloudbilling.googleapis.com/argentum_metric_id" label. Otherwise - leave empty. - type: string - ModerateTextResponse: - description: The document moderation response message. - properties: - moderationCategories: - items: - $ref: '#/components/schemas/ClassificationCategory' - type: array - description: Harmful and sensitive categories representing the input document. - languageSupported: - type: boolean - description: >- - Whether the language is officially supported. The API may still - return a response when the language is not supported, but it is on a - best effort basis. - languageCode: - description: >- - The language of the text, which will be the same as the language - specified in the request or, if not specified, the - automatically-detected language. See Document.language field for - more details. - type: string - id: ModerateTextResponse + $ref: '#/components/schemas/XPSTextComponentModel' + description: Component submodels. type: object - XPSXraiAttribution: - deprecated: true - properties: - stepCount: - description: >- - The number of steps for approximating the path integral. A good - value to start is 50 and gradually increase until the sum to diff - property is met within the desired error range. Valid range of its - value is [1, 100], inclusively. - type: integer - format: int32 - description: >- - An explanation method that redistributes Integrated Gradients - attributions to segmented regions, taking advantage of the model's fully - differentiable structure. Refer to this paper for more details: - https://arxiv.org/abs/1906.02825 Only supports image Models (modality is - IMAGE). - id: XPSXraiAttribution + RamMetric: + id: RamMetric type: object - XPSFileSpec: - description: >- - Spec of input and output files, on external file systems (CNS, GCS, - etc). - id: XPSFileSpec properties: - singleFilePath: - deprecated: true - description: Deprecated. Use file_spec. - type: string - fileFormat: - enumDeprecated: - - false - - true - - false - - false - - false - - false - enum: - - FILE_FORMAT_UNKNOWN - - FILE_FORMAT_SSTABLE - - FILE_FORMAT_TRANSLATION_RKV - - FILE_FORMAT_RECORDIO - - FILE_FORMAT_RAW_CSV - - FILE_FORMAT_RAW_CAPACITOR + gibSec: + format: int64 type: string + description: >- + Required. VM memory in Gigabyte second, e.g. 3600. Using int64 type + to match billing metrics definition. + machineSpec: enumDescriptions: - '' - '' - - >- - Internal format for parallel text data used by Google Translate. - go/rkvtools - '' - - >- - Only the lexicographically first file described by the file_spec - contains the header line. - '' - fileSpec: - description: >- - Single file path, or file pattern of format - "/path/to/file@shard_count". E.g. /cns/cell-d/somewhere/file@2 is - expanded to two files: /cns/cell-d/somewhere/file-00000-of-00002 and - /cns/cell-d/somewhere/file-00001-of-00002. - type: string - directoryPath: - type: string - deprecated: true - description: Deprecated. Use file_spec. - type: object - XPSTrackMetricsEntryConfidenceMetricsEntry: - id: XPSTrackMetricsEntryConfidenceMetricsEntry - description: 'Metrics for a single confidence threshold. Next tag: 6.' - properties: - confidenceThreshold: - format: float - type: number - description: >- - Output only. The confidence threshold value used to compute the - metrics. - trackingRecall: - format: float - type: number - description: Output only. Tracking recall. - boundingBoxIou: - description: >- - Output only. Bounding box intersection-over-union precision. - Measures how well the bounding boxes overlap between each other - (e.g. complete overlap or just barely above iou_threshold). - type: number - format: float - mismatchRate: - description: >- - Output only. Mismatch rate, which measures the tracking consistency, - i.e. correctness of instance ID continuity. - format: float - type: number - trackingPrecision: - type: number - description: Output only. Tracking precision. - format: float - type: object - AnnotateTextRequest: - properties: - features: - description: Required. The enabled features. - $ref: '#/components/schemas/AnnotateTextRequestFeatures' - document: - description: Required. Input document. - $ref: '#/components/schemas/Document' - encodingType: - description: The encoding type used by the API to calculate offsets. - enumDescriptions: - - >- - If `EncodingType` is not specified, encoding-dependent information - (such as `begin_offset`) will be set at `-1`. - - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-8 encoding of the input. C++ and Go - are examples of languages that use this encoding natively. - - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-16 encoding of the input. Java and - JavaScript are examples of languages that use this encoding - natively. - - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-32 encoding of the input. Python is an - example of a language that uses this encoding natively. + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' type: string + description: Required. Machine spec, e.g. N1_STANDARD_4. enum: - - NONE - - UTF8 - - UTF16 - - UTF32 - type: object - description: >- - The request message for the text annotation API, which can perform - multiple analysis types in one call. - id: AnnotateTextRequest - XPSTablesModelColumnInfo: - description: >- - An information specific to given column and Tables Model, in context of - the Model and the predictions created by it. - type: object - id: XPSTablesModelColumnInfo - properties: - featureImportance: - description: >- - When given as part of a Model: Measurement of how much model - predictions correctness on the TEST data depend on values in this - column. A value between 0 and 1, higher means higher influence. - These values are normalized - for all input feature columns of a - given model they add to 1. When given back by Predict or Batch - Predict: Measurement of how impactful for the prediction returned - for the given row the value in this column was. Specifically, the - feature importance specifies the marginal contribution that the - feature made to the prediction score compared to the baseline score. - These values are computed using the Sampled Shapley method. - format: float + - UNKNOWN_MACHINE_SPEC + - N1_STANDARD_2 + - N1_STANDARD_4 + - N1_STANDARD_8 + - N1_STANDARD_16 + - N1_STANDARD_32 + - N1_STANDARD_64 + - N1_STANDARD_96 + - N1_HIGHMEM_2 + - N1_HIGHMEM_4 + - N1_HIGHMEM_8 + - N1_HIGHMEM_16 + - N1_HIGHMEM_32 + - N1_HIGHMEM_64 + - N1_HIGHMEM_96 + - N1_HIGHCPU_2 + - N1_HIGHCPU_4 + - N1_HIGHCPU_8 + - N1_HIGHCPU_16 + - N1_HIGHCPU_32 + - N1_HIGHCPU_64 + - N1_HIGHCPU_96 + - A2_HIGHGPU_1G + - A2_HIGHGPU_2G + - A2_HIGHGPU_4G + - A2_HIGHGPU_8G + - A2_MEGAGPU_16G + - A2_ULTRAGPU_1G + - A2_ULTRAGPU_2G + - A2_ULTRAGPU_4G + - A2_ULTRAGPU_8G + - A3_HIGHGPU_1G + - A3_HIGHGPU_2G + - A3_HIGHGPU_4G + - A3_HIGHGPU_8G + - A3_MEGAGPU_8G + - E2_STANDARD_2 + - E2_STANDARD_4 + - E2_STANDARD_8 + - E2_STANDARD_16 + - E2_STANDARD_32 + - E2_HIGHMEM_2 + - E2_HIGHMEM_4 + - E2_HIGHMEM_8 + - E2_HIGHMEM_16 + - E2_HIGHCPU_2 + - E2_HIGHCPU_4 + - E2_HIGHCPU_8 + - E2_HIGHCPU_16 + - E2_HIGHCPU_32 + - N2_STANDARD_2 + - N2_STANDARD_4 + - N2_STANDARD_8 + - N2_STANDARD_16 + - N2_STANDARD_32 + - N2_STANDARD_48 + - N2_STANDARD_64 + - N2_STANDARD_80 + - N2_STANDARD_96 + - N2_STANDARD_128 + - N2_HIGHMEM_2 + - N2_HIGHMEM_4 + - N2_HIGHMEM_8 + - N2_HIGHMEM_16 + - N2_HIGHMEM_32 + - N2_HIGHMEM_48 + - N2_HIGHMEM_64 + - N2_HIGHMEM_80 + - N2_HIGHMEM_96 + - N2_HIGHMEM_128 + - N2_HIGHCPU_2 + - N2_HIGHCPU_4 + - N2_HIGHCPU_8 + - N2_HIGHCPU_16 + - N2_HIGHCPU_32 + - N2_HIGHCPU_48 + - N2_HIGHCPU_64 + - N2_HIGHCPU_80 + - N2_HIGHCPU_96 + - N2D_STANDARD_2 + - N2D_STANDARD_4 + - N2D_STANDARD_8 + - N2D_STANDARD_16 + - N2D_STANDARD_32 + - N2D_STANDARD_48 + - N2D_STANDARD_64 + - N2D_STANDARD_80 + - N2D_STANDARD_96 + - N2D_STANDARD_128 + - N2D_STANDARD_224 + - N2D_HIGHMEM_2 + - N2D_HIGHMEM_4 + - N2D_HIGHMEM_8 + - N2D_HIGHMEM_16 + - N2D_HIGHMEM_32 + - N2D_HIGHMEM_48 + - N2D_HIGHMEM_64 + - N2D_HIGHMEM_80 + - N2D_HIGHMEM_96 + - N2D_HIGHCPU_2 + - N2D_HIGHCPU_4 + - N2D_HIGHCPU_8 + - N2D_HIGHCPU_16 + - N2D_HIGHCPU_32 + - N2D_HIGHCPU_48 + - N2D_HIGHCPU_64 + - N2D_HIGHCPU_80 + - N2D_HIGHCPU_96 + - N2D_HIGHCPU_128 + - N2D_HIGHCPU_224 + - C2_STANDARD_4 + - C2_STANDARD_8 + - C2_STANDARD_16 + - C2_STANDARD_30 + - C2_STANDARD_60 + - C2D_STANDARD_2 + - C2D_STANDARD_4 + - C2D_STANDARD_8 + - C2D_STANDARD_16 + - C2D_STANDARD_32 + - C2D_STANDARD_56 + - C2D_STANDARD_112 + - C2D_HIGHCPU_2 + - C2D_HIGHCPU_4 + - C2D_HIGHCPU_8 + - C2D_HIGHCPU_16 + - C2D_HIGHCPU_32 + - C2D_HIGHCPU_56 + - C2D_HIGHCPU_112 + - C2D_HIGHMEM_2 + - C2D_HIGHMEM_4 + - C2D_HIGHMEM_8 + - C2D_HIGHMEM_16 + - C2D_HIGHMEM_32 + - C2D_HIGHMEM_56 + - C2D_HIGHMEM_112 + - G2_STANDARD_4 + - G2_STANDARD_8 + - G2_STANDARD_12 + - G2_STANDARD_16 + - G2_STANDARD_24 + - G2_STANDARD_32 + - G2_STANDARD_48 + - G2_STANDARD_96 + - C3_STANDARD_4 + - C3_STANDARD_8 + - C3_STANDARD_22 + - C3_STANDARD_44 + - C3_STANDARD_88 + - C3_STANDARD_176 + - C3_HIGHCPU_4 + - C3_HIGHCPU_8 + - C3_HIGHCPU_22 + - C3_HIGHCPU_44 + - C3_HIGHCPU_88 + - C3_HIGHCPU_176 + - C3_HIGHMEM_4 + - C3_HIGHMEM_8 + - C3_HIGHMEM_22 + - C3_HIGHMEM_44 + - C3_HIGHMEM_88 + - C3_HIGHMEM_176 + memories: type: number - columnId: - format: int32 - type: integer - description: The ID of the column. - XPSVideoObjectTrackingEvaluationMetrics: + format: double + description: Required. VM memory in gb. + ramType: + enumDescriptions: + - '' + - '' + - '' + - COMPUTE_OPTIMIZED + - '' + - '' + - '' + - '' + - '' + - MEMORY_OPTIMIZED_UPGRADE_PREMIUM + - MEMORY_OPTIMIZED + - '' + - '' + - '' + - '' + type: string + description: Required. Type of ram. + enum: + - UNKNOWN_RAM_TYPE + - A2 + - A3 + - C2 + - C2D + - CUSTOM + - E2 + - G2 + - C3 + - M2 + - M1 + - N1 + - N2_CUSTOM + - N2 + - N2D + trackingLabels: + type: object + additionalProperties: + type: string + description: >- + Billing tracking labels. They do not contain any user data but only + the labels set by Vertex Core Infra itself. Tracking labels' keys + are defined with special format: goog-[\p{Ll}\p{N}]+ E.g. "key": + "goog-k8s-cluster-name","value": "us-east1-b4rk" + XPSEvaluationMetricsSet: type: object + id: XPSEvaluationMetricsSet properties: - boundingBoxMeanAveragePrecision: - description: >- - Output only. The single metric for bounding boxes evaluation: the - mean_average_precision averaged over all - bounding_box_metrics_entries. - type: number - format: float - trackMeanAveragePrecision: - type: number - format: float - description: >- - Output only. The single metric for tracks accuracy evaluation: the - mean_average_precision averaged over all track_metrics_entries. - trackMetricsEntries: + evaluationMetrics: description: >- - Output only. The tracks match metrics for each - Intersection-over-union threshold - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. + Inline EvaluationMetrics - should be relatively small. For passing + large quantities of exhaustive metrics, use file_spec. type: array items: - $ref: '#/components/schemas/XPSTrackMetricsEntry' - boundingBoxMetricsEntries: - items: - $ref: '#/components/schemas/XPSBoundingBoxMetricsEntry' - type: array + $ref: '#/components/schemas/XPSEvaluationMetrics' + numEvaluationMetrics: description: >- - Output only. The bounding boxes match metrics for each - Intersection-over-union threshold - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. - trackMeanBoundingBoxIou: - type: number - format: float + Number of the evaluation metrics (usually one per label plus + overall). + type: string + format: int64 + fileSpec: description: >- - Output only. The single metric for tracks bounding box iou - evaluation: the mean_bounding_box_iou averaged over all - track_metrics_entries. - evaluatedBoundingboxCount: - description: The number of bounding boxes used for model evaluation. - format: int32 - type: integer - evaluatedTrackCount: - format: int32 - description: The number of tracks used for model evaluation. - type: integer - evaluatedFrameCount: - description: The number of video frames used for model evaluation. - format: int32 - type: integer - trackMeanMismatchRate: + File spec containing evaluation metrics of a model, must point to + RecordIO file(s) of intelligence.cloud.automl.xps.EvaluationMetrics + messages. + $ref: '#/components/schemas/XPSFileSpec' + description: Specifies location of model evaluation metrics. + XPSTablesClassificationMetrics: + description: Metrics for Tables classification problems. + type: object + properties: + curveMetrics: + type: array + description: Metrics building a curve. + items: + $ref: '#/components/schemas/XPSTablesClassificationMetricsCurveMetrics' + id: XPSTablesClassificationMetrics + XPSTablesModelStructure: + id: XPSTablesModelStructure + type: object + description: A description of Tables model structure. + properties: + modelParameters: + description: A list of models. + type: array + items: + $ref: '#/components/schemas/XPSTablesModelStructureModelParameters' + Sentence: + properties: + text: + description: The sentence text. + $ref: '#/components/schemas/TextSpan' + sentiment: description: >- - Output only. The single metric for tracking consistency evaluation: - the mean_mismatch_rate averaged over all track_metrics_entries. - type: number - format: float - id: XPSVideoObjectTrackingEvaluationMetrics - description: 'Model evaluation metrics for ObjectTracking problems. Next tag: 10.' - XPSTablesDatasetMetadata: - description: 'Metadata for a dataset used for AutoML Tables. Next ID: 6' - id: XPSTablesDatasetMetadata + For calls to AnalyzeSentimentRequest or if + AnnotateTextRequest.Features.extract_document_sentiment is set to + true, this field will contain the sentiment for the sentence. + $ref: '#/components/schemas/Sentiment' type: object + id: Sentence + description: Represents a sentence in the input document. + XPSTablesClassificationMetricsCurveMetrics: + type: object + id: XPSTablesClassificationMetricsCurveMetrics + description: Metrics curve data point for a single value. properties: - targetColumnId: - type: integer + value: + type: string description: >- - Id of the primary table column that should be used as the training - label. - format: int32 - primaryTableSpec: - description: Primary table. - $ref: '#/components/schemas/XPSTableSpec' - mlUseColumnId: - description: Id the column to split the table. + The CATEGORY row value (for ARRAY unnested) the curve metrics are + for. + positionThreshold: type: integer format: int32 - weightColumnId: - format: int32 + description: The position threshold value used to compute the metrics. + confidenceMetricsEntries: + type: array description: >- - Id of the primary table column that should be used as the weight - column. - type: integer - targetColumnCorrelations: - additionalProperties: - $ref: '#/components/schemas/XPSCorrelationStats' - description: '(the column id : its CorrelationStats with target column).' - type: object - XPSTablesRegressionMetrics: - description: Metrics for Tables regression problems. - id: XPSTablesRegressionMetrics - type: object - properties: - rSquared: - format: double - description: R squared. - type: number - meanAbsolutePercentageError: + Metrics that have confidence thresholds. Precision-recall curve and + ROC curve can be derived from them. + items: + $ref: '#/components/schemas/XPSTablesConfidenceMetricsEntry' + aucPr: format: double type: number - description: >- - Mean absolute percentage error, only set if all of the target - column's values are positive. - rootMeanSquaredError: + description: The area under the precision-recall curve. + aucRoc: format: double + description: The area under receiver operating characteristic curve. type: number - description: Root mean squared error. - rootMeanSquaredLogError: - description: Root mean squared log error. - type: number + logLoss: + description: The Log loss metric. format: double - meanAbsoluteError: type: number - format: double - description: Mean absolute error. - regressionMetricsEntries: - items: - $ref: '#/components/schemas/XPSRegressionMetricsEntry' - description: >- - A list of actual versus predicted points for the model being - evaluated. - type: array - XPSConfidenceMetricsEntry: - id: XPSConfidenceMetricsEntry + XPSModelArtifactItem: properties: - positionThreshold: - description: >- - Metrics are computed with an assumption that the model always - returns at most this many predictions (ordered by their score, - descendingly), but they all still need to meet the - confidence_threshold. - type: integer - format: int32 - falsePositiveCount: - format: int64 + gcsUri: type: string + description: The Google Cloud Storage URI that stores the model binary files. + artifactFormat: + enumDescriptions: + - Should not be used. + - >- + The Tensorflow checkpoints. See + https://www.tensorflow.org/guide/checkpoint. + - The Tensorflow SavedModel binary. + - >- + Model artifact in generic TensorFlow Lite (.tflite) format. See + https://www.tensorflow.org/lite. + - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. + - >- + A [TensorFlow.js](https://www.tensorflow.org/js) model that can be + used in the browser and in Node.js using JavaScript. + - >- + Used for iOS mobile devices in (.mlmodel) format. See + https://developer.apple.com/documentation/coreml + description: The model artifact format. + enum: + - ARTIFACT_FORMAT_UNSPECIFIED + - TF_CHECKPOINT + - TF_SAVED_MODEL + - TF_LITE + - EDGE_TPU_TF_LITE + - TF_JS + - CORE_ML + type: string + id: XPSModelArtifactItem + type: object + description: A single model artifact item. + XPSTrackMetricsEntryConfidenceMetricsEntry: + type: object + id: XPSTrackMetricsEntryConfidenceMetricsEntry + properties: + mismatchRate: description: >- - The number of model created labels that do not match a ground truth - label. - recall: - type: number - format: float - description: Recall (true positive rate) for the given confidence threshold. - recallAt1: - format: float - description: >- - The recall (true positive rate) when only considering the label that - has the highest prediction score and not below the confidence - threshold for each example. - type: number - f1ScoreAt1: + Output only. Mismatch rate, which measures the tracking consistency, + i.e. correctness of instance ID continuity. type: number format: float - description: The harmonic mean of recall_at1 and precision_at1. - falsePositiveRateAt1: - format: float - type: number + confidenceThreshold: description: >- - The False Positive Rate when only considering the label that has the - highest prediction score and not below the confidence threshold for - each example. - falsePositiveRate: + Output only. The confidence threshold value used to compute the + metrics. type: number format: float - description: False Positive Rate for the given confidence threshold. - f1Score: + trackingPrecision: type: number - description: The harmonic mean of recall and precision. - format: float - falseNegativeCount: - type: string - description: >- - The number of ground truth labels that are not matched by a model - created label. - format: int64 - truePositiveCount: - description: The number of model created labels that match a ground truth label. - type: string - format: int64 - confidenceThreshold: - description: >- - Metrics are computed with an assumption that the model never return - predictions with score lower than this value. + description: Output only. Tracking precision. format: float + trackingRecall: type: number - precision: + description: Output only. Tracking recall. format: float - type: number - description: Precision for the given confidence threshold. - precisionAt1: + boundingBoxIou: type: number format: float description: >- - The precision when only considering the label that has the highest - prediction score and not below the confidence threshold for each - example. - trueNegativeCount: - type: string - description: >- - The number of labels that were not created by the model, but if they - would, they would not match a ground truth label. - format: int64 + Output only. Bounding box intersection-over-union precision. + Measures how well the bounding boxes overlap between each other + (e.g. complete overlap or just barely above iou_threshold). + description: 'Metrics for a single confidence threshold. Next tag: 6.' + XPSColorMap: type: object description: >- - ConfidenceMetricsEntry includes generic precision, recall, f1 score etc. - Next tag: 16. - XPSTextToSpeechTrainResponse: - id: XPSTextToSpeechTrainResponse - description: TextToSpeech train response - type: object - properties: {} - XPSVideoObjectTrackingTrainResponse: + Map from color to display name. Will only be used by Image Segmentation + for uCAIP. + id: XPSColorMap properties: - modelArtifactSpec: - description: '## The fields below are only populated under uCAIP request scope.' - $ref: '#/components/schemas/XPSVideoModelArtifactSpec' - exportModelSpec: - $ref: '#/components/schemas/XPSVideoExportModelSpec' - description: Populated for AutoML request only. - trainCostNodeSeconds: - type: string - format: int64 - description: >- - The actual train cost of creating this model, expressed in node - seconds, i.e. 3,600 value in this field means 1 node hour. - type: object - id: XPSVideoObjectTrackingTrainResponse - XPSTfLiteFormat: - id: XPSTfLiteFormat - description: >- - LINT.IfChange A model format used for mobile and IoT devices. See - https://www.tensorflow.org/lite. - properties: {} - type: object - XPSSpeechModelSpec: - id: XPSSpeechModelSpec - properties: - language: + intColor: + $ref: '#/components/schemas/XPSColorMapIntColor' + displayName: type: string - subModelSpecs: - description: Model specs for all submodels contained in this model. - items: - $ref: '#/components/schemas/XPSSpeechModelSpecSubModelSpec' - type: array - datasetId: + description: Should be used during preprocessing. + annotationSpecIdToken: type: string + description: Should be used during training. + color: description: >- - Required for speech xps backend. Speech xps has to use dataset_id - and model_id as the primary key in db so that speech API can query - the db directly. - format: int64 - type: object - XPSXpsOperationMetadata: - id: XPSXpsOperationMetadata - type: object + This type is deprecated in favor of the IntColor below. This is + because google.type.Color represent color has a float which + semantically does not reflect discrete classes/categories concept. + Moreover, to handle it well we need to have some tolerance when + converting to a discretized color. As such, the recommendation is to + have API surface still use google.type.Color while internally + IntColor is used. + deprecated: true + $ref: '#/components/schemas/Color' + XPSClassificationEvaluationMetrics: + description: >- + Model evaluation metrics for classification problems. It can be used for + image and video classification. Next tag: 9. properties: - visionTrainingOperationMetadata: - $ref: '#/components/schemas/XPSVisionTrainingOperationMetadata' - reportingMetrics: - $ref: '#/components/schemas/XPSReportingMetrics' - description: >- - Metrics for the operation. By the time the operation is terminated - (whether succeeded or failed) as returned from XPS, AutoML BE - assumes the metrics are finalized. AutoML BE transparently posts the - metrics to Chemist if it's not empty, regardless of the response - content or error type. If user is supposed to be charged in case of - cancellation/error, this field should be set. In the case where the - type of LRO doesn't require any billing, this field should be left - unset. - tablesTrainingOperationMetadata: - $ref: '#/components/schemas/XPSTablesTrainingOperationMetadata' - exampleCount: - type: string - format: int64 + auRoc: + format: float + type: number description: >- - Optional. XPS server can opt to provide example count of the long - running operation (e.g. training, data importing, batch prediction). - videoTrainingOperationMetadata: - $ref: '#/components/schemas/XPSVideoTrainingOperationMetadata' - videoBatchPredictOperationMetadata: - $ref: '#/components/schemas/XPSVideoBatchPredictOperationMetadata' - XPSTablesTrainingOperationMetadata: - type: object - properties: - trainingObjectivePoints: - items: - $ref: '#/components/schemas/XPSTrainingObjectivePoint' - type: array + The Area Under Receiver Operating Characteristic curve metric. + Micro-averaged for the overall evaluation. + baseAuPrc: + type: number + format: float + description: The Area under precision recall curve metric based on priors. + auPrc: + format: float + description: The Area under precision recall curve metric. + type: number + confusionMatrix: + $ref: '#/components/schemas/XPSConfusionMatrix' description: >- - This field records the training objective value with respect to - time, giving insight into how the model architecture search is - performing as training time elapses. - optimizationObjective: - description: The optimization objective for model. - type: string - trainingStartTime: - description: Timestamp when training process starts. - type: string - format: google-datetime - createModelStage: - enum: - - CREATE_MODEL_STAGE_UNSPECIFIED - - DATA_PREPROCESSING - - TRAINING - - EVALUATING - - MODEL_POST_PROCESSING - enumDescriptions: - - Unspecified stage. - - Prepare the model training pipeline and run data processing. - - Training model. - - Run evaluation. - - Finalizing model training pipeline. - type: string - description: Current stage of creating model. - trainBudgetMilliNodeHours: - description: Creating model budget. - type: string - format: int64 - topTrials: + Confusion matrix of the evaluation. Only set for MULTICLASS + classification problems where number of annotation specs is no more + than 10. Only set for model level evaluation, not for evaluation per + label. + evaluatedExamplesCount: + description: The number of examples used for model evaluation. + type: integer + format: int32 + logLoss: + type: number + format: float + description: The Log Loss metric. + confidenceMetricsEntries: description: >- - This field is for training. When the operation is terminated - successfully, AutoML Backend post this field to operation metadata - in spanner. If the metadata has no trials returned, the training - operation is supposed to be a failure. + Metrics that have confidence thresholds. Precision-recall curve can + be derived from it. items: - $ref: '#/components/schemas/XPSTuningTrial' + $ref: '#/components/schemas/XPSConfidenceMetricsEntry' type: array - id: XPSTablesTrainingOperationMetadata - XPSCoreMlFormat: - properties: {} - description: A model format used for iOS mobile devices. type: object - id: XPSCoreMlFormat - XPSEvaluationMetricsSet: - id: XPSEvaluationMetricsSet - type: object - description: Specifies location of model evaluation metrics. + id: XPSClassificationEvaluationMetrics + XPSVideoObjectTrackingEvaluationMetrics: + id: XPSVideoObjectTrackingEvaluationMetrics properties: - fileSpec: - $ref: '#/components/schemas/XPSFileSpec' - description: >- - File spec containing evaluation metrics of a model, must point to - RecordIO file(s) of intelligence.cloud.automl.xps.EvaluationMetrics - messages. - numEvaluationMetrics: - description: >- - Number of the evaluation metrics (usually one per label plus - overall). - format: int64 - type: string - evaluationMetrics: - items: - $ref: '#/components/schemas/XPSEvaluationMetrics' - description: >- - Inline EvaluationMetrics - should be relatively small. For passing - large quantities of exhaustive metrics, use file_spec. + boundingBoxMetricsEntries: type: array - XPSTrainResponse: - properties: - videoActionRecognitionTrainResp: - $ref: '#/components/schemas/XPSVideoActionRecognitionTrainResponse' - speechTrainResp: - $ref: '#/components/schemas/XPSSpeechModelSpec' - tablesTrainResp: - $ref: '#/components/schemas/XPSTablesTrainResponse' - evaluationMetricsSet: - description: >- - The trained model evaluation metrics. This can be optionally - returned. - $ref: '#/components/schemas/XPSEvaluationMetricsSet' - deployedModelSizeBytes: - description: Estimated model size in bytes once deployed. - type: string - format: int64 - modelToken: + items: + $ref: '#/components/schemas/XPSBoundingBoxMetricsEntry' description: >- - Token that represents the trained model. This is considered - immutable and is persisted in AutoML. xPS can put their own proto in - the byte string, to e.g. point to the model checkpoints. The token - is passed to other xPS APIs to refer to the model. - format: byte - type: string - imageObjectDetectionTrainResp: - $ref: '#/components/schemas/XPSImageObjectDetectionModelSpec' - evaluatedExampleSet: - $ref: '#/components/schemas/XPSExampleSet' + Output only. The bounding boxes match metrics for each + Intersection-over-union threshold + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. + trackMetricsEntries: description: >- - Examples used to evaluate the model (usually the test set), with the - predicted annotations. The file_spec should point to recordio - file(s) of AnnotatedExample. For each returned example, the - example_id_token and annotations predicted by the model must be set. - The example payload can and is recommended to be omitted. - explanationConfigs: + Output only. The tracks match metrics for each + Intersection-over-union threshold + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. type: array items: - $ref: '#/components/schemas/XPSResponseExplanationSpec' + $ref: '#/components/schemas/XPSTrackMetricsEntry' + trackMeanAveragePrecision: + format: float description: >- - VisionExplanationConfig for XAI on test set. Optional for when XAI - is enable in training request. - deprecated: true - videoObjectTrackingTrainResp: - $ref: '#/components/schemas/XPSVideoObjectTrackingTrainResponse' - textTrainResp: - description: Will only be needed for uCAIP from Beta. - $ref: '#/components/schemas/XPSTextTrainResponse' - errorAnalysisConfigs: - type: array - items: - $ref: '#/components/schemas/XPSVisionErrorAnalysisConfig' + Output only. The single metric for tracks accuracy evaluation: the + mean_average_precision averaged over all track_metrics_entries. + type: number + evaluatedFrameCount: + format: int32 + description: The number of video frames used for model evaluation. + type: integer + trackMeanMismatchRate: description: >- - Optional vision model error analysis configuration. The field is set - when model error analysis is enabled in the training request. The - results of error analysis will be binded together with evaluation - results (in the format of AnnotatedExample). - translationTrainResp: - $ref: '#/components/schemas/XPSTranslationTrainResponse' - videoClassificationTrainResp: - $ref: '#/components/schemas/XPSVideoClassificationTrainResponse' - imageClassificationTrainResp: - $ref: '#/components/schemas/XPSImageClassificationTrainResponse' - imageSegmentationTrainResp: - $ref: '#/components/schemas/XPSImageSegmentationTrainResponse' - textToSpeechTrainResp: - $ref: '#/components/schemas/XPSTextToSpeechTrainResponse' - type: object - description: 'Next ID: 18' - id: XPSTrainResponse - EntityMention: - id: EntityMention - properties: - text: - $ref: '#/components/schemas/TextSpan' - description: The mention text. - type: - type: string - enumDescriptions: - - Unknown - - Proper name - - Common noun (or noun compound) - description: The type of the entity mention. - enum: - - TYPE_UNKNOWN - - PROPER - - COMMON - probability: - description: >- - Probability score associated with the entity. The score shows the - probability of the entity mention being the entity type. The score - is in (0, 1] range. + Output only. The single metric for tracking consistency evaluation: + the mean_mismatch_rate averaged over all track_metrics_entries. + type: number format: float + evaluatedBoundingboxCount: + type: integer + description: The number of bounding boxes used for model evaluation. + format: int32 + boundingBoxMeanAveragePrecision: type: number - sentiment: - $ref: '#/components/schemas/Sentiment' - description: >- - For calls to AnalyzeEntitySentiment or if - AnnotateTextRequest.Features.extract_entity_sentiment is set to - true, this field will contain the sentiment expressed for this - mention of the entity in the provided document. - type: object - description: >- - Represents a mention for an entity in the text. Currently, proper noun - mentions are supported. - XPSIntegratedGradientsAttribution: - description: >- - An attribution method that computes the Aumann-Shapley value taking - advantage of the model's fully differentiable structure. Refer to this - paper for more details: https://arxiv.org/abs/1703.01365 - deprecated: true - properties: - stepCount: + format: float description: >- - The number of steps for approximating the path integral. A good - value to start is 50 and gradually increase until the sum to diff - property is within the desired error range. Valid range of its value - is [1, 100], inclusively. + Output only. The single metric for bounding boxes evaluation: the + mean_average_precision averaged over all + bounding_box_metrics_entries. + evaluatedTrackCount: + description: The number of tracks used for model evaluation. format: int32 type: integer - type: object - id: XPSIntegratedGradientsAttribution - XPSTablesModelStructure: - type: object - properties: - modelParameters: - items: - $ref: '#/components/schemas/XPSTablesModelStructureModelParameters' - description: A list of models. - type: array - id: XPSTablesModelStructure - description: A description of Tables model structure. - XPSRegressionEvaluationMetrics: - id: XPSRegressionEvaluationMetrics - description: >- - Model evaluation metrics for regression problems. It can be used for - Tables. - type: object - properties: - regressionMetricsEntries: - type: array - description: >- - A list of actual versus predicted points for the model being - evaluated. - items: - $ref: '#/components/schemas/XPSRegressionMetricsEntry' - meanAbsoluteError: - description: Mean Absolute Error (MAE). - format: float - type: number - meanAbsolutePercentageError: - type: number + trackMeanBoundingBoxIou: format: float description: >- - Mean absolute percentage error. Only set if all ground truth values - are positive. - rootMeanSquaredError: - type: number - format: float - description: Root Mean Squared Error (RMSE). - rSquared: - description: R squared. - format: float - type: number - rootMeanSquaredLogError: - description: Root mean squared log error. - format: float + Output only. The single metric for tracks bounding box iou + evaluation: the mean_bounding_box_iou averaged over all + track_metrics_entries. type: number - XPSVideoBatchPredictOperationMetadata: - id: XPSVideoBatchPredictOperationMetadata + description: 'Model evaluation metrics for ObjectTracking problems. Next tag: 10.' + type: object + XPSTfLiteFormat: + properties: {} + description: >- + LINT.IfChange A model format used for mobile and IoT devices. See + https://www.tensorflow.org/lite. type: object + id: XPSTfLiteFormat + XPSResponseExplanationParameters: properties: - outputExamples: + xraiAttribution: + $ref: '#/components/schemas/XPSXraiAttribution' description: >- - All the partial batch prediction results that are completed at the - moment. Output examples are sorted by completion time. The order - will not be changed. Each output example should be the path of a - single RecordIO file of AnnotatedExamples. - type: array - items: - type: string - XPSCorrelationStats: - id: XPSCorrelationStats + An attribution method that redistributes Integrated Gradients + attribution to segmented regions, taking advantage of the model's + fully differentiable structure. Refer to this paper for more + details: https://arxiv.org/abs/1906.02825 XRAI currently performs + better on natural images, like a picture of a house or an animal. If + the images are taken in artificial environments, like a lab or + manufacturing line, or from diagnostic equipment, like x-rays or + quality-control cameras, use Integrated Gradients instead. + integratedGradientsAttribution: + $ref: '#/components/schemas/XPSIntegratedGradientsAttribution' + description: >- + An attribution method that computes Aumann-Shapley values taking + advantage of the model's fully differentiable structure. Refer to + this paper for more details: https://arxiv.org/abs/1703.01365 + deprecated: true + id: XPSResponseExplanationParameters type: object + XPSImageModelServingSpecModelThroughputEstimation: properties: - cramersV: + computeEngineAcceleratorType: + enum: + - UNSPECIFIED + - NVIDIA_TESLA_K80 + - NVIDIA_TESLA_P100 + - NVIDIA_TESLA_V100 + - NVIDIA_TESLA_P4 + - NVIDIA_TESLA_T4 + - NVIDIA_TESLA_A100 + - NVIDIA_A100_80GB + - NVIDIA_L4 + - NVIDIA_H100_80GB + - NVIDIA_H100_MEGA_80GB + - TPU_V2 + - TPU_V3 + - TPU_V4_POD + - TPU_V5_LITEPOD + enumDescriptions: + - '' + - Nvidia Tesla K80 GPU. + - Nvidia Tesla P100 GPU. + - Nvidia Tesla V100 GPU. + - Nvidia Tesla P4 GPU. + - Nvidia Tesla T4 GPU. + - Nvidia Tesla A100 GPU. + - Nvidia A100 80GB GPU. + - Nvidia L4 GPU. + - Nvidia H100 80Gb GPU. + - Nvidia H100 80Gb GPU. + - TPU v2 (JellyFish). + - TPU v3 (DragonFish). + - TPU_v4 (PufferFish). + - TPU v5 Lite Pods. + type: string + latencyInMilliseconds: + type: number format: double - description: The correlation value using the Cramer's V measure. + description: Estimated latency. + nodeQps: + format: double + description: The approximate qps a deployed node can serve. type: number - description: >- - A correlation statistics between two series of DataType values. The - series may have differing DataType-s, but within a single series the - DataType must be the same. - XPSModelArtifactItem: - description: A single model artifact item. - id: XPSModelArtifactItem - type: object - properties: - gcsUri: - type: string - description: >- - The Google Cloud Storage (GCS) uri that stores the model binary - files. - artifactFormat: + servomaticPartitionType: enumDescriptions: - - Should not be used. - - >- - The Tensorflow checkpoints. See - https://www.tensorflow.org/guide/checkpoint. - - The Tensorflow SavedModel binary. - - >- - Model artifact in generic TensorFlow Lite (.tflite) format. See - https://www.tensorflow.org/lite. - - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. - - >- - A [TensorFlow.js](https://www.tensorflow.org/js) model that can be - used in the browser and in Node.js using JavaScript. + - '' + - The default partition. - >- - Used for iOS mobile devices in (.mlmodel) format. See - https://developer.apple.com/documentation/coreml - enum: - - ARTIFACT_FORMAT_UNSPECIFIED - - TF_CHECKPOINT - - TF_SAVED_MODEL - - TF_LITE - - EDGE_TPU_TF_LITE - - TF_JS - - CORE_ML + It has significantly lower replication than partition-0 and is + located in the US only. It also has a larger model size limit and + higher default RAM quota than partition-0. Customers with batch + traffic, US-based traffic, or very large models should use this + partition. Capacity in this partition is significantly cheaper + than partition-0. + - To be used by customers with Jellyfish-accelerated ops. + - The partition used by regionalized servomatic cloud regions. + - The partition used for loading models from custom storage. type: string - description: The model artifact format. - ClassifyTextRequest: - type: object - description: The document classification request message. - properties: - document: - description: Required. Input document. - $ref: '#/components/schemas/Document' - id: ClassifyTextRequest - Color: - description: >- - Represents a color in the RGBA color space. This representation is - designed for simplicity of conversion to and from color representations - in various languages over compactness. For example, the fields of this - representation can be trivially provided to the constructor of - `java.awt.Color` in Java; it can also be trivially provided to UIColor's - `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little - work, it can be easily formatted into a CSS `rgba()` string in - JavaScript. This reference page doesn't have information about the - absolute color space that should be used to interpret the RGB value—for - example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications - should assume the sRGB color space. When color equality needs to be - decided, implementations, unless documented otherwise, treat two colors - as equal if all their red, green, blue, and alpha values each differ by - at most `1e-5`. Example (Java): import com.google.type.Color; // ... - public static java.awt.Color fromProto(Color protocolor) { float alpha = - protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return - new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), - protocolor.getBlue(), alpha); } public static Color - toProto(java.awt.Color color) { float red = (float) color.getRed(); - float green = (float) color.getGreen(); float blue = (float) - color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder - = Color .newBuilder() .setRed(red / denominator) .setGreen(green / - denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); - if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() - .setValue(((float) alpha) / denominator) .build()); } return - resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static - UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; - float green = [protocolor green]; float blue = [protocolor blue]; - FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if - (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return - [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static - Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if - (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return - nil; } Color* result = [[Color alloc] init]; [result setRed:red]; - [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { - [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; - return result; } // ... Example (JavaScript): // ... var protoToCssColor - = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var - greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || - 0.0; var red = Math.floor(redFrac * 255); var green = - Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if - (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } - var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, - green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, - ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var - rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString - = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var - resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { - resultBuilder.push('0'); } resultBuilder.push(hexString); return - resultBuilder.join(''); }; // ... - id: Color + enum: + - PARTITION_TYPE_UNSPECIFIED + - PARTITION_ZERO + - PARTITION_REDUCED_HOMING + - PARTITION_JELLYFISH + - PARTITION_CPU + - PARTITION_CUSTOM_STORAGE_CPU + type: object + id: XPSImageModelServingSpecModelThroughputEstimation + XPSSpeechPreprocessStats: + properties: + numLogsExamples: + format: int32 + type: integer + description: The number of samples found in the previously recorded logs data. + dataErrors: + type: array + description: Different types of data errors and the counts associated with them. + items: + $ref: '#/components/schemas/XPSDataErrors' + testSentencesCount: + type: integer + format: int32 + description: The number of sentences in the test data set. + testExamplesCount: + format: int32 + type: integer + description: The number of examples labelled as TEST by Speech xps server. + testWordsCount: + type: integer + description: The number of words in the test data set. + format: int32 + numMachineTranscribedExamples: + format: int32 + description: The number of rows marked as MACHINE_TRANSCRIBED + type: integer + trainExamplesCount: + description: The number of examples labeled as TRAIN by Speech xps server. + format: int32 + type: integer + trainSentencesCount: + description: The number of sentences in the training data set. + format: int32 + type: integer + trainWordsCount: + description: The number of words in the training data set. + format: int32 + type: integer + numHumanLabeledExamples: + description: The number of rows marked HUMAN_LABELLED + type: integer + format: int32 + id: XPSSpeechPreprocessStats type: object + XPSExampleSet: + description: Set of examples or input sources. + type: object + id: XPSExampleSet properties: - blue: - description: The amount of blue in the color as a value in the interval [0, 1]. - format: float - type: number - alpha: - format: float + fileSpec: + $ref: '#/components/schemas/XPSFileSpec' + description: File spec of the examples or input sources. + numExamples: + description: Number of examples. + type: string + format: int64 + fingerprint: + description: Fingerprint of the example set. + format: int64 + type: string + numInputSources: + format: int64 + type: string + description: Number of input sources. + XPSBoundingBoxMetricsEntry: + id: XPSBoundingBoxMetricsEntry + properties: + iouThreshold: type: number description: >- - The fraction of this color that should be applied to the pixel. That - is, the final pixel color is defined by the equation: `pixel color = - alpha * (this color) + (1.0 - alpha) * (background color)` This - means that a value of 1.0 corresponds to a solid color, whereas a - value of 0.0 corresponds to a completely transparent color. This - uses a wrapper message rather than a simple float scalar so that it - is possible to distinguish between a default value and the value - being unset. If omitted, this color object is rendered as a solid - color (as if the alpha value had been explicitly given a value of - 1.0). - green: + The intersection-over-union threshold value used to compute this + metrics entry. format: float - description: The amount of green in the color as a value in the interval [0, 1]. - type: number - red: - description: The amount of red in the color as a value in the interval [0, 1]. + confidenceMetricsEntries: + description: >- + Metrics for each label-match confidence_threshold from + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. + type: array + items: + $ref: >- + #/components/schemas/XPSBoundingBoxMetricsEntryConfidenceMetricsEntry + meanAveragePrecision: + description: The mean average precision. type: number format: float - ModerateTextRequest: type: object - id: ModerateTextRequest + description: >- + Bounding box matching model metrics for a single intersection-over-union + threshold and multiple label match confidence thresholds. + XPSResponseExplanationMetadata: + id: XPSResponseExplanationMetadata + type: object properties: - document: - $ref: '#/components/schemas/Document' - description: Required. Input document. - modelVersion: - type: string - enumDescriptions: - - The default model version. - - >- - Use the v1 model, this model is used by default when not provided. - The v1 model only returns probability (confidence) score for each - category. - - >- - Use the v2 model. The v2 model only returns probability - (confidence) score for each category, and returns severity score - for a subset of the categories. - description: Optional. The model version to use for ModerateText. - enum: - - MODEL_VERSION_UNSPECIFIED - - MODEL_VERSION_1 - - MODEL_VERSION_2 - description: The document moderation request message. - XPSVideoClassificationTrainResponse: + outputs: + additionalProperties: + $ref: '#/components/schemas/XPSResponseExplanationMetadataOutputMetadata' + description: Metadata of the output. + type: object + inputs: + description: Metadata of the input. + type: object + additionalProperties: + $ref: '#/components/schemas/XPSResponseExplanationMetadataInputMetadata' + deprecated: true + XPSTimestampStatsGranularStats: + id: XPSTimestampStatsGranularStats type: object + description: Stats split by a defined in context granularity. properties: - trainCostNodeSeconds: - format: int64 - type: string + buckets: + type: object + additionalProperties: + type: string + format: int64 description: >- - The actual train cost of creating this model, expressed in node - seconds, i.e. 3,600 value in this field means 1 node hour. - modelArtifactSpec: - $ref: '#/components/schemas/XPSVideoModelArtifactSpec' - description: '## The fields below are only populated under uCAIP request scope.' - id: XPSVideoClassificationTrainResponse - XPSImageObjectDetectionModelSpec: - id: XPSImageObjectDetectionModelSpec + A map from granularity key to example count for that key. E.g. for + hour_of_day `13` means 1pm, or for month_of_year `5` means May). + XPSResponseExplanationMetadataInputMetadata: properties: - maxBoundingBoxCount: - description: Max number of bounding box. - format: int64 + visualizationConfig: + $ref: '#/components/schemas/XPSVisualization' + description: Visualization configurations for image explanation. + inputTensorName: type: string - modelArtifactSpec: - $ref: '#/components/schemas/XPSImageModelArtifactSpec' - description: '## The fields below are only populated under uCAIP request scope.' - stopReason: - enum: - - TRAIN_STOP_REASON_UNSPECIFIED - - TRAIN_STOP_REASON_BUDGET_REACHED - - TRAIN_STOP_REASON_MODEL_CONVERGED - - TRAIN_STOP_REASON_MODEL_EARLY_STOPPED + description: >- + Name of the input tensor for this model. Only needed in train + response. + modality: type: string description: >- - Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', - 'MODEL_CONVERGED'. + Modality of the feature. Valid values are: numeric, image. Defaults + to numeric. enumDescriptions: - '' - '' - - Model fully converged, can not be resumbed training. - - >- - Model early converged, can be further trained till full - convergency. - modelServingSpec: - $ref: '#/components/schemas/XPSImageModelServingSpec' - exportModelSpec: - $ref: '#/components/schemas/XPSImageExportModelSpec' - classCount: - format: int64 - description: Total number of classes. - type: string - trainCostNodeSeconds: - format: int64 - type: string - description: >- - The actual train cost of creating this model, expressed in node - seconds, i.e. 3,600 value in this field means 1 node hour. + - '' + - '' + enum: + - MODALITY_UNSPECIFIED + - NUMERIC + - IMAGE + - CATEGORICAL + id: XPSResponseExplanationMetadataInputMetadata + description: Metadata of the input of a feature. type: object - XPSVideoActionRecognitionEvaluationMetrics: + Status: type: object + id: Status + description: >- + 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). properties: - evaluatedActionCount: - format: int32 - type: integer - description: >- - Output only. The number of ground truth actions used to create this - evaluation. - videoActionMetricsEntries: + message: description: >- - Output only. The metric entries for precision window lengths: - 1s,2s,3s,4s, 5s. - type: array - items: - $ref: '#/components/schemas/XPSVideoActionMetricsEntry' - id: XPSVideoActionRecognitionEvaluationMetrics - description: Model evaluation metrics for video action recognition. - XPSConfusionMatrixRow: - properties: - exampleCount: + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + details: items: - format: int32 - type: integer - description: >- - Value of the specific cell in the confusion matrix. The number of - values each row has (i.e. the length of the row) is equal to the - length of the annotation_spec_id_token field. - type: array - count: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object type: array - items: - type: string - format: int64 description: >- - Same as above except intended to represent other counts (for e.g. - for segmentation this is pixel count). NOTE(params): Only - example_count or count is set (oneoff does not support repeated - fields unless they are embedded inside another message). - id: XPSConfusionMatrixRow - type: object - description: A row in the confusion matrix. - XPSCommonStats: - description: Common statistics for a column with a specified data type. - type: object + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + code: + description: The status code, which should be an enum value of google.rpc.Code. + format: int32 + type: integer + AnalyzeEntitiesRequest: + id: AnalyzeEntitiesRequest properties: - distinctValueCount: - format: int64 - type: string - nullValueCount: - format: int64 - type: string - validValueCount: + document: + description: Required. Input document. + $ref: '#/components/schemas/Document' + encodingType: + description: The encoding type used by the API to calculate offsets. type: string - format: int64 - id: XPSCommonStats - XPSTextSentimentEvaluationMetrics: + enum: + - NONE + - UTF8 + - UTF16 + - UTF32 + enumDescriptions: + - >- + If `EncodingType` is not specified, encoding-dependent information + (such as `begin_offset`) will be set at `-1`. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-8 encoding of the input. C++ and Go + are examples of languages that use this encoding natively. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-16 encoding of the input. Java and + JavaScript are examples of languages that use this encoding + natively. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-32 encoding of the input. Python is an + example of a language that uses this encoding natively. + description: The entity analysis request message. + type: object + XPSTablesModelColumnInfo: + id: XPSTablesModelColumnInfo + description: >- + An information specific to given column and Tables Model, in context of + the Model and the predictions created by it. type: object properties: - quadraticKappa: - description: >- - Output only. Quadratic weighted kappa. Only set for the overall - model evaluation, not for evaluation of a single annotation spec. - type: number - format: float - meanAbsoluteError: - description: >- - Output only. Mean absolute error. Only set for the overall model - evaluation, not for evaluation of a single annotation spec. - type: number - format: float - meanSquaredError: - type: number - description: >- - Output only. Mean squared error. Only set for the overall model - evaluation, not for evaluation of a single annotation spec. - format: float - f1Score: - description: Output only. The harmonic mean of recall and precision. - type: number - format: float - linearKappa: - type: number - format: float - description: >- - Output only. Linear weighted kappa. Only set for the overall model - evaluation, not for evaluation of a single annotation spec. - confusionMatrix: + featureImportance: description: >- - Output only. Confusion matrix of the evaluation. Only set for the - overall model evaluation, not for evaluation of a single annotation - spec. - $ref: '#/components/schemas/XPSConfusionMatrix' - recall: - type: number - description: Output only. Recall. + When given as part of a Model: Measurement of how much model + predictions correctness on the TEST data depend on values in this + column. A value between 0 and 1, higher means higher influence. + These values are normalized - for all input feature columns of a + given model they add to 1. When given back by Predict or Batch + Predict: Measurement of how impactful for the prediction returned + for the given row the value in this column was. Specifically, the + feature importance specifies the marginal contribution that the + feature made to the prediction score compared to the baseline score. + These values are computed using the Sampled Shapley method. format: float - precision: - description: Output only. Precision. type: number - format: float - id: XPSTextSentimentEvaluationMetrics - description: Model evaluation metrics for text sentiment problems. - XPSSpeechPreprocessResponse: + columnId: + type: integer + description: The ID of the column. + format: int32 + XPSDataType: type: object + id: XPSDataType properties: - cnsTrainDataPath: - description: >- - Location of shards of sstables (training data) of DataUtterance - protos. - type: string - prebuiltModelEvaluationMetrics: - description: >- - The metrics for prebuilt speech models. They are included here - because there is no prebuilt speech models stored in the AutoML. - $ref: '#/components/schemas/XPSSpeechEvaluationMetrics' - cnsTestDataPath: + compatibleDataTypes: + description: The highly compatible data types to this data type. + type: array + items: + $ref: '#/components/schemas/XPSDataType' + timeFormat: type: string - description: Location od shards of sstables (test data) of DataUtterance protos. - speechPreprocessStats: - description: Stats associated with the data. - $ref: '#/components/schemas/XPSSpeechPreprocessStats' - id: XPSSpeechPreprocessResponse - XPSEdgeTpuTfLiteFormat: - type: object - id: XPSEdgeTpuTfLiteFormat - properties: {} - description: >- - A model format used for [Edge TPU](https://cloud.google.com/edge-tpu/) - devices. - XPSArrayStats: - id: XPSArrayStats - type: object - description: The data statistics of a series of ARRAY values. - properties: - memberStats: - description: >- - Stats of all the values of all arrays, as if they were a single long - series of data. The type depends on the element type of the array. - $ref: '#/components/schemas/XPSDataStats' - commonStats: - $ref: '#/components/schemas/XPSCommonStats' - XPSResponseExplanationParameters: - deprecated: true - properties: - xraiAttribution: - $ref: '#/components/schemas/XPSXraiAttribution' description: >- - An attribution method that redistributes Integrated Gradients - attribution to segmented regions, taking advantage of the model's - fully differentiable structure. Refer to this paper for more - details: https://arxiv.org/abs/1906.02825 XRAI currently performs - better on natural images, like a picture of a house or an animal. If - the images are taken in artificial environments, like a lab or - manufacturing line, or from diagnostic equipment, like x-rays or - quality-control cameras, use Integrated Gradients instead. - integratedGradientsAttribution: - $ref: '#/components/schemas/XPSIntegratedGradientsAttribution' + If type_code == TIMESTAMP then `time_format` provides the format in + which that time field is expressed. The time_format must be written + in `strftime` syntax. If time_format is not set, then the default + format as described on the field is used. + structType: description: >- - An attribution method that computes Aumann-Shapley values taking - advantage of the model's fully differentiable structure. Refer to - this paper for more details: https://arxiv.org/abs/1703.01365 - id: XPSResponseExplanationParameters - type: object - XPSVideoModelArtifactSpec: - id: XPSVideoModelArtifactSpec - properties: - exportArtifact: - description: The model binary files in different formats for model export. - type: array - items: - $ref: '#/components/schemas/XPSModelArtifactItem' - servingArtifact: - $ref: '#/components/schemas/XPSModelArtifactItem' - description: >- - The default model binary file used for serving (e.g. batch predict) - via public Cloud AI Platform API. - type: object - XPSStringStatsUnigramStats: - type: object - description: The statistics of a unigram. - properties: - count: - format: int64 - description: The number of occurrences of this unigram in the series. - type: string - value: + If type_code == STRUCT, then `struct_type` provides type information + for the struct's fields. + $ref: '#/components/schemas/XPSStructType' + typeCode: + enum: + - TYPE_CODE_UNSPECIFIED + - FLOAT64 + - TIMESTAMP + - STRING + - ARRAY + - STRUCT + - CATEGORY type: string - description: The unigram. - id: XPSStringStatsUnigramStats - Sentence: - id: Sentence - type: object - description: Represents a sentence in the input document. - properties: - sentiment: - $ref: '#/components/schemas/Sentiment' - description: >- - For calls to AnalyzeSentiment or if - AnnotateTextRequest.Features.extract_document_sentiment is set to - true, this field will contain the sentiment for the sentence. - text: - $ref: '#/components/schemas/TextSpan' - description: The sentence text. - XPSStructStats: - properties: - commonStats: - $ref: '#/components/schemas/XPSCommonStats' - fieldStats: - type: object + description: Required. The TypeCode for this type. + enumDescriptions: + - Not specified. Should not be used. + - >- + Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or + `"-Infinity"`. + - >- + Must be between 0AD and 9999AD. Encoded as `string` according to + time_format, or, if that format is not set, then in RFC 3339 + `date-time` format, where `time-offset` = `"Z"` (e.g. + 1985-04-12T23:20:50.52Z). + - Encoded as `string`. + - >- + Encoded as `list`, where the list elements are represented + according to list_element_type. + - >- + Encoded as `struct`, where field values are represented according + to struct_type. + - >- + Values of this type are not further understood by AutoML, e.g. + AutoML is unable to tell the order of values (as it could with + FLOAT64), or is unable to say if one value contains another (as it + could with STRING). Encoded as `string` (bytes should be + base64-encoded, as described in RFC 4648, section 4). + listElementType: description: >- - Map from a field name of the struct to data stats aggregated over - series of all data in that field across all the structs. - additionalProperties: - $ref: '#/components/schemas/XPSDataStats' - id: XPSStructStats - description: The data statistics of a series of STRUCT values. - type: object - XPSSpeechPreprocessStats: + If type_code == ARRAY, then `list_element_type` is the type of the + elements. + $ref: '#/components/schemas/XPSDataType' + nullable: + description: If true, this DataType can also be `null`. + type: boolean + description: >- + Indicated the type of data that can be stored in a structured data + entity (e.g. a table). + XPSVisualization: type: object - id: XPSSpeechPreprocessStats - properties: - dataErrors: - items: - $ref: '#/components/schemas/XPSDataErrors' - description: Different types of data errors and the counts associated with them. - type: array - numMachineTranscribedExamples: - type: integer - description: The number of rows marked as MACHINE_TRANSCRIBED - format: int32 - testWordsCount: - type: integer - format: int32 - description: The number of words in the test data set. - trainSentencesCount: - description: The number of sentences in the training data set. - format: int32 - type: integer - numHumanLabeledExamples: - format: int32 - type: integer - description: The number of rows marked HUMAN_LABELLED - testSentencesCount: - description: The number of sentences in the test data set. - type: integer - format: int32 - numLogsExamples: - type: integer - format: int32 - description: The number of samples found in the previously recorded logs data. - testExamplesCount: - description: The number of examples labelled as TEST by Speech xps server. - type: integer - format: int32 - trainWordsCount: - description: The number of words in the training data set. - type: integer - format: int32 - trainExamplesCount: - format: int32 - description: The number of examples labeled as TRAIN by Speech xps server. - type: integer - XPSDataErrors: - id: XPSDataErrors - description: Different types of errors and the stats associatesd with each error. + deprecated: true + id: XPSVisualization + description: Visualization configurations for image explanation. properties: - count: - type: integer - format: int32 - description: Number of records having errors associated with the enum. - errorType: + type: type: string - description: Type of the error. enum: - - ERROR_TYPE_UNSPECIFIED - - UNSUPPORTED_AUDIO_FORMAT - - FILE_EXTENSION_MISMATCH_WITH_AUDIO_FORMAT - - FILE_TOO_LARGE - - MISSING_TRANSCRIPTION + - TYPE_UNSPECIFIED + - PIXELS + - OUTLINES + description: >- + Type of the image visualization. Only applicable to Integrated + Gradients attribution. OUTLINES shows regions of attribution, while + PIXELS shows per-pixel attribution. Defaults to OUTLINES. enumDescriptions: - - Not specified. + - Should not be used. + - Shows which pixel contributed to the image prediction. - >- - Audio format not in the formats by cloud-speech AutoML. Currently - only wav and flac file formats are supported. + Shows which region contributed to the image prediction by + outlining the region. + colorMap: + enumDescriptions: + - Should not be used. + - 'Positive: green. Negative: pink.' - >- - File format differnt from what is specified in the file name - extension. - - File too large. Maximum allowed size is 50 MB. - - Transcript is missing. - type: object - XPSBoundingBoxMetricsEntry: - description: >- - Bounding box matching model metrics for a single intersection-over-union - threshold and multiple label match confidence thresholds. - id: XPSBoundingBoxMetricsEntry - properties: - iouThreshold: + Viridis color map: A perceptually uniform color mapping which is + easier to see by those with colorblindness and progresses from + yellow to green to blue. Positive: yellow. Negative: blue. + - 'Positive: red. Negative: red.' + - 'Positive: green. Negative: green.' + - 'Positive: green. Negative: red.' + - PiYG palette. description: >- - The intersection-over-union threshold value used to compute this - metrics entry. - format: float + The color scheme used for the highlighted areas. Defaults to + PINK_GREEN for Integrated Gradients attribution, which shows + positive attributions in green and negative in pink. Defaults to + VIRIDIS for XRAI attribution, which highlights the most influential + regions in yellow and the least influential in blue. + enum: + - COLOR_MAP_UNSPECIFIED + - PINK_GREEN + - VIRIDIS + - RED + - GREEN + - RED_GREEN + - PINK_WHITE_GREEN + type: string + clipPercentLowerbound: type: number - confidenceMetricsEntries: - type: array - description: >- - Metrics for each label-match confidence_threshold from - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. - items: - $ref: >- - #/components/schemas/XPSBoundingBoxMetricsEntryConfidenceMetricsEntry - meanAveragePrecision: format: float - description: The mean average precision. - type: number - type: object - XPSExampleSet: - id: XPSExampleSet - type: object - properties: - fileSpec: - description: File spec of the examples or input sources. - $ref: '#/components/schemas/XPSFileSpec' - numInputSources: - type: string - description: Number of input sources. - format: int64 - numExamples: - description: Number of examples. - format: int64 - type: string - fingerprint: - format: int64 - description: Fingerprint of the example set. - type: string - description: Set of examples or input sources. - XPSColumnSpec: - properties: - dataType: - $ref: '#/components/schemas/XPSDataType' description: >- - The data type of the column. It's outputed in Preprocess rpc and a - required input for RefreshTablesStats and Train. - topCorrelatedColumns: - description: It's outputed in RefreshTablesStats, and a required input in Train. - type: array - items: - $ref: '#/components/schemas/XPSColumnSpecCorrelatedColumn' - forecastingMetadata: - $ref: '#/components/schemas/XPSColumnSpecForecastingMetadata' - displayName: + Excludes attributions below the specified percentile, from the + highlighted areas. Defaults to 62. + overlayType: + enumDescriptions: + - Default value. This is the same as NONE. + - No overlay. + - The attributions are shown on top of the original image. + - >- + The attributions are shown on top of grayscaled version of the + original image. + - >- + The attributions are used as a mask to reveal predictive parts of + the image and hide the un-predictive parts. + enum: + - OVERLAY_TYPE_UNSPECIFIED + - NONE + - ORIGINAL + - GRAYSCALE + - MASK_BLACK description: >- - The display name of the column. It's outputed in Preprocess and a - required input for RefreshTablesStats and Train. + How the original image is displayed in the visualization. Adjusting + the overlay can help increase visual clarity if the original image + makes it difficult to view the visualization. Defaults to NONE. type: string - columnId: - type: integer + polarity: + enumDescriptions: + - Default value. This is the same as POSITIVE. + - >- + Highlights the pixels/outlines that were most influential to the + model's prediction. + - >- + Setting polarity to negative highlights areas that does not lead + to the models's current prediction. + - Shows both positive and negative attributions. + type: string + enum: + - POLARITY_UNSPECIFIED + - POSITIVE + - NEGATIVE + - BOTH description: >- - The unique id of the column. When Preprocess, the Tables BE will - popuate the order id of the column, which reflects the order of the - column inside the table, i.e. 0 means the first column in the table, - N-1 means the last column. AutoML BE will persist this order id in - Spanner and set the order id here when calling RefreshTablesStats - and Train. Note: it's different than the column_spec_id that is - generated in AutoML BE. - format: int32 - dataStats: - $ref: '#/components/schemas/XPSDataStats' + Whether to only highlight pixels with positive contributions, + negative or both. Defaults to POSITIVE. + clipPercentUpperbound: + format: float description: >- - The data stats of the column. It's outputed in RefreshTablesStats - and a required input for Train. - type: object - id: XPSColumnSpec - XPSTranslationPreprocessResponse: - id: XPSTranslationPreprocessResponse - properties: - validExampleCount: - format: int64 - description: Total valid example count. - type: string - parsedExampleCount: - format: int64 - type: string - description: Total example count parsed. - description: Translation preprocess response. - type: object - XPSVideoActionRecognitionTrainResponse: + Excludes attributions above the specified percentile from the + highlighted areas. Using the clip_percent_upperbound and + clip_percent_lowerbound together can be useful for filtering out + noise and making it easier to see areas of strong attribution. + Defaults to 99.9. + type: number + XPSDockerFormat: type: object + description: >- + A model format used for Docker containers. Use the params field to + customize the container. The container is verified to work correctly on + ubuntu 16.04 operating system. properties: - trainCostNodeSeconds: - format: int64 - type: string + gpuArchitecture: + enum: + - GPU_ARCHITECTURE_UNSPECIFIED + - GPU_ARCHITECTURE_NVIDIA description: >- - The actual train cost of creating this model, expressed in node - seconds, i.e. 3,600 value in this field means 1 node hour. - modelArtifactSpec: - $ref: '#/components/schemas/XPSVideoModelArtifactSpec' - description: '## The fields below are only populated under uCAIP request scope.' - id: XPSVideoActionRecognitionTrainResponse - XPSTranslationTrainResponse: - id: XPSTranslationTrainResponse - type: object - description: Train response for translation. - properties: - modelType: + Optional. Additional gpu information describing the requirements for + the to be exported model files. enumDescriptions: - - Default - - Legacy model. Will be deprecated. - - Current model. - enum: - - MODEL_TYPE_UNSPECIFIED - - LEGACY - - CURRENT + - '' + - '' type: string - description: Type of the model. - XPSSpeechEvaluationMetrics: - id: XPSSpeechEvaluationMetrics - type: object - properties: - subModelEvaluationMetrics: - items: - $ref: >- - #/components/schemas/XPSSpeechEvaluationMetricsSubModelEvaluationMetric - description: Evaluation metrics for all submodels contained in this model. - type: array - XPSTablesPreprocessResponse: - id: XPSTablesPreprocessResponse - type: object - properties: - tablesDatasetMetadata: - $ref: '#/components/schemas/XPSTablesDatasetMetadata' - description: >- - The table/column id, column_name and the DataTypes of the columns - will be populated. - DiskMetric: - type: object - id: DiskMetric - properties: - gibSec: - description: Required. Seconds of physical disk usage, e.g. 3600. + cpuArchitecture: type: string - format: int64 - diskType: + description: >- + Optional. Additional cpu information describing the requirements for + the to be exported model files. enum: - - UNKNOWN_DISK_TYPE - - REGIONAL_SSD - - REGIONAL_STORAGE - - PD_SSD - - PD_STANDARD - - STORAGE_SNAPSHOT - type: string + - CPU_ARCHITECTURE_UNSPECIFIED + - CPU_ARCHITECTURE_X86_64 enumDescriptions: - '' - '' - - '' - - '' - - '' - - '' - description: Required. Type of Disk, e.g. REGIONAL_SSD. - XPSTranslationEvaluationMetrics: - type: object - description: Evaluation metrics for the dataset. + id: XPSDockerFormat + XPSTrackMetricsEntry: properties: - bleuScore: + meanBoundingBoxIou: type: number - description: BLEU score. - format: double - baseBleuScore: - description: BLEU score for base model. + description: >- + Output only. The mean bounding box iou over all confidence + thresholds. + format: float + confidenceMetricsEntries: + type: array + description: >- + Output only. Metrics for each label-match confidence_threshold from + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is + derived from them. + items: + $ref: '#/components/schemas/XPSTrackMetricsEntryConfidenceMetricsEntry' + meanMismatchRate: + description: Output only. The mean mismatch rate over all confidence thresholds. + format: float + type: number + meanTrackingAveragePrecision: + format: float + description: >- + Output only. The mean average precision over all confidence + thresholds. + type: number + iouThreshold: + format: float + description: >- + Output only. The intersection-over-union threshold value between + bounding boxes across frames used to compute this metric entry. type: number - format: double - id: XPSTranslationEvaluationMetrics - XPSColorMap: - id: XPSColorMap type: object + id: XPSTrackMetricsEntry description: >- - Map from color to display name. Will only be used by Image Segmentation - for uCAIP. + Track matching model metrics for a single track match threshold and + multiple label match confidence thresholds. Next tag: 6. + XPSFloat64StatsHistogramBucket: + id: XPSFloat64StatsHistogramBucket + type: object + description: A bucket of a histogram. properties: - displayName: - type: string - description: Should be used during preprocessing. - intColor: - $ref: '#/components/schemas/XPSColorMapIntColor' - color: - $ref: '#/components/schemas/Color' + count: description: >- - This type is deprecated in favor of the IntColor below. This is - because google.type.Color represent color has a float which - semantically does not reflect discrete classes/categories concept. - Moreover, to handle it well we need to have some tolerance when - converting to a discretized color. As such, the recommendation is to - have API surface still use google.type.Color while internally - IntColor is used. - deprecated: true - annotationSpecIdToken: + The number of data values that are in the bucket, i.e. are between + min and max values. + format: int64 type: string - description: Should be used during training. + min: + type: number + format: double + description: The minimum value of the bucket, inclusive. + max: + format: double + description: >- + The maximum value of the bucket, exclusive unless max = + `"Infinity"`, in which case it's inclusive. + type: number XPSMetricEntryLabel: properties: - labelValue: - type: string - description: The value of the label. labelName: + type: string description: The name of the label. + labelValue: type: string - type: object + description: The value of the label. id: XPSMetricEntryLabel - XPSFloat64StatsHistogramBucket: - description: A bucket of a histogram. + type: object + XPSExportModelOutputConfig: properties: - max: + tfLiteFormat: + $ref: '#/components/schemas/XPSTfLiteFormat' + edgeTpuTfLiteFormat: + $ref: '#/components/schemas/XPSEdgeTpuTfLiteFormat' + coreMlFormat: + $ref: '#/components/schemas/XPSCoreMlFormat' + tfSavedModelFormat: + $ref: '#/components/schemas/XPSTfSavedModelFormat' + outputGcrUri: description: >- - The maximum value of the bucket, exclusive unless max = - `"Infinity"`, in which case it's inclusive. - type: number - format: double - min: - format: double - type: number - description: The minimum value of the bucket, inclusive. - count: - format: int64 + The Google Contained Registry path the exported files to be pushed + to. This location is set if the exported format is DOCKDER. type: string + exportFirebaseAuxiliaryInfo: + type: boolean description: >- - The number of data values that are in the bucket, i.e. are between - min and max values. + For any model and format: If true, will additionally export + FirebaseExportedModelInfo in a firebase.txt file. + dockerFormat: + $ref: '#/components/schemas/XPSDockerFormat' + outputGcsUri: + type: string + description: >- + The Google Cloud Storage directory where XPS will output the + exported models and related files. Format: gs://bucket/directory + tfJsFormat: + $ref: '#/components/schemas/XPSTfJsFormat' + id: XPSExportModelOutputConfig type: object - id: XPSFloat64StatsHistogramBucket + XPSVideoActionRecognitionEvaluationMetrics: + id: XPSVideoActionRecognitionEvaluationMetrics + properties: + videoActionMetricsEntries: + items: + $ref: '#/components/schemas/XPSVideoActionMetricsEntry' + type: array + description: >- + Output only. The metric entries for precision window lengths: + 1s,2s,3s,4s, 5s. + evaluatedActionCount: + description: >- + Output only. The number of ground truth actions used to create this + evaluation. + type: integer + format: int32 + type: object + description: Model evaluation metrics for video action recognition. + XPSXpsOperationMetadata: + id: XPSXpsOperationMetadata + type: object + properties: + exampleCount: + type: string + description: >- + Optional. XPS server can opt to provide example count of the long + running operation (e.g. training, data importing, batch prediction). + format: int64 + tablesTrainingOperationMetadata: + $ref: '#/components/schemas/XPSTablesTrainingOperationMetadata' + videoTrainingOperationMetadata: + $ref: '#/components/schemas/XPSVideoTrainingOperationMetadata' + videoBatchPredictOperationMetadata: + $ref: '#/components/schemas/XPSVideoBatchPredictOperationMetadata' + visionTrainingOperationMetadata: + $ref: '#/components/schemas/XPSVisionTrainingOperationMetadata' + reportingMetrics: + description: >- + Metrics for the operation. By the time the operation is terminated + (whether succeeded or failed) as returned from XPS, AutoML BE + assumes the metrics are finalized. AutoML BE transparently posts the + metrics to Chemist if it's not empty, regardless of the response + content or error type. If user is supposed to be charged in case of + cancellation/error, this field should be set. In the case where the + type of LRO doesn't require any billing, this field should be left + unset. + $ref: '#/components/schemas/XPSReportingMetrics' + Document: + type: object + description: Represents the input to API methods. + properties: + gcsContentUri: + description: >- + The Google Cloud Storage URI where the file content is located. This + URI must be of the form: gs://bucket_name/object_name. For more + details, see https://cloud.google.com/storage/docs/reference-uris. + NOTE: Cloud Storage object versioning is not supported. + type: string + type: + type: string + enumDescriptions: + - The content type is not specified. + - Plain text + - HTML + description: >- + Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns + an `INVALID_ARGUMENT` error. + enum: + - TYPE_UNSPECIFIED + - PLAIN_TEXT + - HTML + languageCode: + type: string + description: >- + Optional. The language of the document (if not specified, the + language is automatically detected). Both ISO and BCP-47 language + codes are accepted. [Language + Support](https://cloud.google.com/natural-language/docs/languages) + lists currently supported languages for each API method. If the + language (either specified by the caller or automatically detected) + is not supported by the called API method, an `INVALID_ARGUMENT` + error is returned. + content: + description: >- + The content of the input in string format. Cloud audit logging + exempt since it is based on user data. + type: string + id: Document GpuMetric: + type: object properties: gpuType: enumDescriptions: @@ -1696,6 +1471,7 @@ components: - '' - '' - '' + description: Required. Type of GPU, e.g. NVIDIA_TESLA_V100. type: string enum: - UNKNOWN_GPU_TYPE @@ -1708,21 +1484,22 @@ components: - NVIDIA_TESLA_T4 - NVIDIA_TESLA_V100 - NVIDIA_H100_80GB - description: Required. Type of GPU, e.g. NVIDIA_TESLA_V100. + gpuSec: + type: string + format: int64 + description: Required. Seconds of GPU usage, e.g. 3600. trackingLabels: + type: object + additionalProperties: + type: string description: >- Billing tracking labels. They do not contain any user data but only the labels set by Vertex Core Infra itself. Tracking labels' keys are defined with special format: goog-[\p{Ll}\p{N}]+ E.g. "key": "goog-k8s-cluster-name","value": "us-east1-b4rk" - type: object - additionalProperties: - type: string - gpuSec: - type: string - description: Required. Seconds of GPU usage, e.g. 3600. - format: int64 machineSpec: + type: string + description: Required. Machine spec, e.g. N1_STANDARD_4. enumDescriptions: - '' - '' @@ -1885,6 +1662,7 @@ components: - '' - '' - '' + - '' enum: - UNKNOWN_MACHINE_SPEC - N1_STANDARD_2 @@ -1917,6 +1695,7 @@ components: - A2_ULTRAGPU_2G - A2_ULTRAGPU_4G - A2_ULTRAGPU_8G + - A3_HIGHGPU_1G - A3_HIGHGPU_2G - A3_HIGHGPU_4G - A3_HIGHGPU_8G @@ -2047,153 +1826,191 @@ components: - C3_HIGHMEM_44 - C3_HIGHMEM_88 - C3_HIGHMEM_176 - description: Required. Machine spec, e.g. N1_STANDARD_4. - type: string - type: object id: GpuMetric - XPSTablesModelStructureModelParameters: + XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry: properties: - hyperparameters: - type: array - items: - $ref: >- - #/components/schemas/XPSTablesModelStructureModelParametersParameter - type: object - description: Model hyper-parameters for a model. - id: XPSTablesModelStructureModelParameters - XPSTableSpec: - id: XPSTableSpec + precision: + description: Precision for the given confidence threshold. + format: float + type: number + confusionMatrix: + $ref: '#/components/schemas/XPSConfusionMatrix' + description: >- + Confusion matrix of the per confidence_threshold evaluation. Pixel + counts are set here. Only set for model level evaluation, not for + evaluation per label. + confidenceThreshold: + type: number + description: The confidence threshold value used to compute the metrics. + format: float + recall: + description: Recall for the given confidence threshold. + type: number + format: float + iouScore: + type: number + description: IOU score. + format: float + diceScoreCoefficient: + type: number + format: float + description: 'DSC or the F1 score: The harmonic mean of recall and precision.' + id: XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry type: object + description: Metrics for a single confidence threshold. + XPSImageSegmentationTrainResponse: properties: - timeColumnId: - description: The id of the time column. - format: int32 - type: integer - importedDataSizeInBytes: - type: string - description: The total size of imported data of the table. - format: int64 - validRowCount: + modelArtifactSpec: + $ref: '#/components/schemas/XPSImageModelArtifactSpec' + description: >- + ## The fields below are only populated under uCAIP request scope. + Model artifact spec stores and model gcs pathes and related metadata + trainCostNodeSeconds: + description: >- + The actual train cost of creating this model, expressed in node + seconds, i.e. 3,600 value in this field means 1 node hour. type: string - description: The number of valid rows. format: int64 - rowCount: + colorMaps: + description: Color map of the model. + type: array + items: + $ref: '#/components/schemas/XPSColorMap' + modelServingSpec: + $ref: '#/components/schemas/XPSImageModelServingSpec' + exportModelSpec: + description: 'NOTE: These fields are not used/needed in EAP but will be set later.' + $ref: '#/components/schemas/XPSImageExportModelSpec' + stopReason: + description: >- + Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', + 'MODEL_CONVERGED'. type: string - description: The number of rows in the table. - format: int64 - columnSpecs: - type: object - description: Mapping from column id to column spec. - additionalProperties: - $ref: '#/components/schemas/XPSColumnSpec' - XPSTextComponentModel: - description: 'Component model. Next ID: 10' - type: object - id: XPSTextComponentModel - properties: - partition: + enum: + - TRAIN_STOP_REASON_UNSPECIFIED + - TRAIN_STOP_REASON_BUDGET_REACHED + - TRAIN_STOP_REASON_MODEL_CONVERGED + - TRAIN_STOP_REASON_MODEL_EARLY_STOPPED enumDescriptions: - '' - - The default partition. - - >- - It has significantly lower replication than partition-0 and is - located in the US only. It also has a larger model size limit and - higher default RAM quota than partition-0. Customers with batch - traffic, US-based traffic, or very large models should use this - partition. Capacity in this partition is significantly cheaper - than partition-0. + - '' + - Model fully converged, can not be resumbed training. - >- - To be used by customers with Jellyfish-accelerated ops. See - go/servomatic-jellyfish for details. - - The partition used by regionalized servomatic cloud regions. - - The partition used for loading models from custom storage. + Model early converged, can be further trained till full + convergency. + type: object + id: XPSImageSegmentationTrainResponse + XPSSpeechModelSpec: + properties: + language: type: string - enum: - - PARTITION_TYPE_UNSPECIFIED - - PARTITION_ZERO - - PARTITION_REDUCED_HOMING - - PARTITION_JELLYFISH - - PARTITION_CPU - - PARTITION_CUSTOM_STORAGE_CPU + subModelSpecs: + type: array + description: Model specs for all submodels contained in this model. + items: + $ref: '#/components/schemas/XPSSpeechModelSpecSubModelSpec' + datasetId: + type: string + format: int64 description: >- - The partition where the model is deployed. Populated by uCAIP BE as - part of online PredictRequest. - tfRuntimeVersion: + Required for speech xps backend. Speech xps has to use dataset_id + and model_id as the primary key in db so that speech API can query + the db directly. + id: XPSSpeechModelSpec + type: object + XPSRegressionEvaluationMetrics: + properties: + meanAbsolutePercentageError: + type: number + format: float description: >- - ## The fields below are only populated under uCAIP request scope. - https://cloud.google.com/ml-engine/docs/runtime-version-list - type: string - onlinePredictionModelGcsUri: - description: The Cloud Storage resource path to hold online prediction model. - type: string - submodelType: - enum: - - TEXT_MODEL_TYPE_UNSPECIFIED - - TEXT_MODEL_TYPE_DEFAULT - - TEXT_MODEL_TYPE_META_ARCHITECT - - TEXT_MODEL_TYPE_ATC - - TEXT_MODEL_TYPE_CLARA2 - - TEXT_MODEL_TYPE_CHATBASE - - TEXT_MODEL_TYPE_SAFT_SPAN_LABELING - - TEXT_MODEL_TYPE_TEXT_EXTRACTION - - TEXT_MODEL_TYPE_RELATIONSHIP_EXTRACTION - - TEXT_MODEL_TYPE_COMPOSITE - - TEXT_MODEL_TYPE_ALL_MODELS - - TEXT_MODEL_TYPE_BERT - - TEXT_MODEL_TYPE_ENC_PALM - type: string - description: The type of trained NL submodel - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - Model type for entity extraction. - - Model type for relationship extraction. - - >- - A composite model represents a set of component models that have - to be used together for prediction. A composite model appears to - be a single model to the model user. It may contain only one - component model. Please refer to go/cnl-composite-models for more - information. - - >- - Model type used to train default, MA, and ATC models in a single - batch worker pipeline. - - >- - BERT pipeline needs a specific model type, since it uses a - different TFX configuration compared with DEFAULT (despite sharing - most of the code). - - Model type for EncPaLM. - batchPredictionModelGcsUri: - description: The Cloud Storage resource path to hold batch prediction model. - type: string - servoModelName: - type: string + Mean absolute percentage error. Only set if all ground truth values + are positive. + rSquared: + type: number + format: float + description: R squared. + rootMeanSquaredLogError: + format: float + description: Root mean squared log error. + type: number + rootMeanSquaredError: + type: number + description: Root Mean Squared Error (RMSE). + format: float + regressionMetricsEntries: description: >- - The name of servo model. Populated by uCAIP BE as part of online - PredictRequest. - submodelName: - description: The name of the trained NL submodel. + A list of actual versus predicted points for the model being + evaluated. + type: array + items: + $ref: '#/components/schemas/XPSRegressionMetricsEntry' + meanAbsoluteError: + type: number + description: Mean Absolute Error (MAE). + format: float + type: object + id: XPSRegressionEvaluationMetrics + description: >- + Model evaluation metrics for regression problems. It can be used for + Tables. + XPSCommonStats: + properties: + distinctValueCount: type: string - versionNumber: + format: int64 + validValueCount: + format: int64 type: string - description: >- - The servomatic model version number. Populated by uCAIP BE as part - of online PredictRequest. + nullValueCount: format: int64 - servingArtifact: - $ref: '#/components/schemas/XPSModelArtifactItem' + type: string + description: Common statistics for a column with a specified data type. + id: XPSCommonStats + type: object + XPSCorrelationStats: + type: object + description: >- + A correlation statistics between two series of DataType values. The + series may have differing DataType-s, but within a single series the + DataType must be the same. + properties: + cramersV: + type: number + format: double + description: The correlation value using the Cramer's V measure. + id: XPSCorrelationStats + XPSVideoExportModelSpec: + type: object + properties: + exportModelOutputConfig: + type: array description: >- - The default model binary file used for serving (e.g. online predict, - batch predict) via public Cloud Ai Platform API. - AnnotateTextResponse: + Contains the model format and internal location of the model files + to be exported/downloaded. Use the Google Cloud Storage bucket name + which is provided via TrainRequest.gcs_bucket_name to store the + model files. + items: + $ref: '#/components/schemas/XPSExportModelOutputConfig' + description: >- + Information of downloadable models that are pre-generated as part of + training flow and will be persisted in AutoMl backend. Upon receiving + ExportModel request from user, AutoMl backend can serve the + pre-generated models to user if exists (by copying the files from + internal path to user provided location), otherwise, AutoMl backend will + call xPS ExportModel API to generate the model on the fly with the + requesting format. + id: XPSVideoExportModelSpec + AnalyzeEntitiesResponse: type: object - id: AnnotateTextResponse - description: The text annotations response message. + description: The entity analysis response message. properties: + languageSupported: + description: >- + Whether the language is officially supported. The API may still + return a response when the language is not supported, but it is on a + best effort basis. + type: boolean languageCode: type: string description: >- @@ -2201,2660 +2018,2848 @@ components: specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details. - sentences: - description: >- - Sentences in the input document. Populated if the user enables - AnnotateTextRequest.Features.extract_document_sentiment. + entities: items: - $ref: '#/components/schemas/Sentence' + $ref: '#/components/schemas/Entity' type: array - documentSentiment: - $ref: '#/components/schemas/Sentiment' - description: >- - The overall sentiment for the document. Populated if the user - enables AnnotateTextRequest.Features.extract_document_sentiment. - moderationCategories: + description: The recognized entities in the input document. + id: AnalyzeEntitiesResponse + XPSConfusionMatrix: + properties: + sentimentLabel: type: array - description: Harmful and sensitive categories identified in the input document. items: - $ref: '#/components/schemas/ClassificationCategory' - categories: - description: Categories identified in the input document. + format: int32 + type: integer + description: >- + Sentiment labels used in the confusion matrix. Set only for text + sentiment models. For AutoML Text Revamp, use + `annotation_spec_id_token` instead and leave this field empty. + annotationSpecIdToken: items: - $ref: '#/components/schemas/ClassificationCategory' + type: string type: array - languageSupported: - type: boolean description: >- - Whether the language is officially supported by all requested - features. The API may still return a response when the language is - not supported, but it is on a best effort basis. - entities: + For the following three repeated fields, only one is intended to be + set. annotation_spec_id_token is preferable to be set. ID tokens of + the annotation specs used in the confusion matrix. + row: + type: array items: - $ref: '#/components/schemas/Entity' + $ref: '#/components/schemas/XPSConfusionMatrixRow' + description: >- + Rows in the confusion matrix. The number of rows is equal to the + size of `annotation_spec_id_token`. `row[i].value[j]` is the number + of examples that have ground truth of the + `annotation_spec_id_token[i]` and are predicted as + `annotation_spec_id_token[j]` by the model being evaluated. + category: type: array + items: + type: integer + format: int32 description: >- - Entities, along with their semantic information, in the input - document. Populated if the user enables - AnnotateTextRequest.Features.extract_entities or - AnnotateTextRequest.Features.extract_entity_sentiment. - XPSEvaluationMetrics: - id: XPSEvaluationMetrics + Category (mainly for segmentation). Set only for image segmentation + models. Note: uCAIP Image Segmentation should use + annotation_spec_id_token. + type: object + description: Confusion matrix of the model running the classification. + id: XPSConfusionMatrix + XPSVideoModelArtifactSpec: type: object - description: >- - Contains xPS-specific model evaluation metrics either for a single - annotation spec (label), or for the model overall. Next tag: 18. properties: - textSentimentEvalMetrics: - $ref: '#/components/schemas/XPSTextSentimentEvaluationMetrics' - evaluatedExampleCount: - type: integer + servingArtifact: description: >- - The number of examples used to create this evaluation metrics - instance. - format: int32 - category: - type: integer - format: int32 - description: >- - The integer category label for which this evaluation metric instance - had been created. Valid categories are 0 or higher. Overall model - evaluation should set this to negative values (rather than implicit - zero). Only used for Image Segmentation (prefer to set - annotation_spec_id_token instead). Note: uCAIP Image Segmentation - should use annotation_spec_id_token. - imageObjectDetectionEvalMetrics: - $ref: '#/components/schemas/XPSImageObjectDetectionEvaluationMetrics' - translationEvalMetrics: - $ref: '#/components/schemas/XPSTranslationEvaluationMetrics' - videoObjectTrackingEvalMetrics: - $ref: '#/components/schemas/XPSVideoObjectTrackingEvaluationMetrics' - videoClassificationEvalMetrics: - $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' - tablesClassificationEvalMetrics: - $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' - annotationSpecIdToken: - type: string - description: >- - The annotation_spec for which this evaluation metrics instance had - been created. Empty iff this is an overall model evaluation (like - Tables evaluation metrics), i.e. aggregated across all labels. The - value comes from the input annotations in AnnotatedExample. For MVP - product or for text sentiment models where annotation_spec_id_token - is not available, set label instead. - regressionEvalMetrics: - $ref: '#/components/schemas/XPSRegressionEvaluationMetrics' - textClassificationEvalMetrics: - $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' - videoActionRecognitionEvalMetrics: - $ref: '#/components/schemas/XPSVideoActionRecognitionEvaluationMetrics' - imageSegmentationEvalMetrics: - $ref: '#/components/schemas/XPSImageSegmentationEvaluationMetrics' - imageClassificationEvalMetrics: - $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' - tablesEvalMetrics: - $ref: '#/components/schemas/XPSTablesEvaluationMetrics' - label: - description: >- - The label for which this evaluation metrics instance had been - created. Empty iff this is an overall model evaluation (like Tables - evaluation metrics), i.e. aggregated across all labels. The label - maps to AnnotationSpec.display_name in Public API protos. Only used - by MVP implementation and text sentiment FULL implementation. - type: string - textExtractionEvalMetrics: - $ref: '#/components/schemas/XPSTextExtractionEvaluationMetrics' - XPSTextTrainResponse: - type: object - properties: - componentModel: - type: array + The default model binary file used for serving (e.g. batch predict) + via public Cloud AI Platform API. + $ref: '#/components/schemas/XPSModelArtifactItem' + exportArtifact: items: - $ref: '#/components/schemas/XPSTextComponentModel' - description: Component submodels. - id: XPSTextTrainResponse - XPSColumnSpecCorrelatedColumn: - description: >- - Identifies a table's column, and its correlation with the column this - ColumnSpec describes. - id: XPSColumnSpecCorrelatedColumn - type: object - properties: - correlationStats: - $ref: '#/components/schemas/XPSCorrelationStats' - columnId: - format: int32 - type: integer - XPSTablesTrainResponse: + $ref: '#/components/schemas/XPSModelArtifactItem' + type: array + description: The model binary files in different formats for model export. + id: XPSVideoModelArtifactSpec + ModerateTextResponse: type: object - id: XPSTablesTrainResponse properties: - modelStructure: - $ref: '#/components/schemas/XPSTablesModelStructure' - tablesModelColumnInfo: - type: array + languageSupported: description: >- - Output only. Auxiliary information for each of the - input_feature_column_specs, with respect to this particular model. - items: - $ref: '#/components/schemas/XPSTablesModelColumnInfo' - predictionSampleRows: + Whether the language is officially supported. The API may still + return a response when the language is not supported, but it is on a + best effort basis. + type: boolean + languageCode: + type: string + description: >- + The language of the text, which will be the same as the language + specified in the request or, if not specified, the + automatically-detected language. See Document.language field for + more details. + moderationCategories: items: - $ref: '#/components/schemas/XPSRow' + $ref: '#/components/schemas/ClassificationCategory' type: array - description: Sample rows from the dataset this model was trained. - trainCostMilliNodeHours: - format: int64 - description: >- - The actual training cost of the model, expressed in milli node - hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed - to not exceed the train budget. - type: string - XPSColumnSpecForecastingMetadata: - id: XPSColumnSpecForecastingMetadata - description: >- - =========================================================================== - # The fields below are used exclusively for Forecasting. - type: object + description: Harmful and sensitive categories representing the input document. + description: The document moderation response message. + id: ModerateTextResponse + XPSDataErrors: + description: Different types of errors and the stats associatesd with each error. properties: - columnType: - type: string - description: The type of the column for FORECASTING model training purposes. - enum: - - COLUMN_TYPE_UNSPECIFIED - - KEY - - KEY_METADATA - - TIME_SERIES_AVAILABLE_PAST_ONLY - - TIME_SERIES_AVAILABLE_PAST_AND_FUTURE + errorType: + description: Type of the error. enumDescriptions: - - An un-set value of this enum. - - Key columns are used to identify timeseries. - - >- - This column contains information describing static properties of - the entities identified by the key column(s) (e.g. city's ZIP - code). + - Not specified. - >- - This column contains information for the given entity, at any time - poinrt, they are only available in the time series before. + Audio format not in the formats by cloud-speech AutoML. Currently + only wav and flac file formats are supported. - >- - This column contains information for the given entity is known - both for the past and the sufficiently far future. - XPSRow: - properties: - values: - items: - type: any - description: >- - The values of the row cells, given in the same order as the - column_ids. If column_ids is not set, then in the same order as the - input_feature_column_ids in TablesModelMetadata. - type: array - columnIds: - description: >- - The ids of the columns. Note: The below `values` field must match - order of this field, if this field is set. - type: array - items: - format: int32 - type: integer - id: XPSRow - type: object - XPSVisionErrorAnalysisConfig: - id: XPSVisionErrorAnalysisConfig - description: 'The vision model error analysis configuration. Next tag: 3' - type: object - properties: - exampleCount: + File format differnt from what is specified in the file name + extension. + - File too large. Maximum allowed size is 50 MB. + - Transcript is missing. + type: string + enum: + - ERROR_TYPE_UNSPECIFIED + - UNSUPPORTED_AUDIO_FORMAT + - FILE_EXTENSION_MISMATCH_WITH_AUDIO_FORMAT + - FILE_TOO_LARGE + - MISSING_TRANSCRIPTION + count: format: int32 + description: Number of records having errors associated with the enum. type: integer - description: The number of query examples in error analysis. - queryType: - enumDescriptions: - - Unspecified query type for model error analysis. - - Query similar samples across all classes in the dataset. - - Query similar samples from the same class of the input sample. - - Query dissimilar samples from the same class of the input sample. - enum: - - QUERY_TYPE_UNSPECIFIED - - QUERY_TYPE_ALL_SIMILAR - - QUERY_TYPE_SAME_CLASS_SIMILAR - - QUERY_TYPE_SAME_CLASS_DISSIMILAR - description: >- - The query type used in retrieval. The enum values are frozen in the - foreseeable future. - type: string - XPSImageModelServingSpecModelThroughputEstimation: - id: XPSImageModelServingSpecModelThroughputEstimation type: object + id: XPSDataErrors + CpuMetric: properties: - latencyInMilliseconds: - format: double - description: Estimated latency. - type: number - servomaticPartitionType: - type: string + cpuType: enum: - - PARTITION_TYPE_UNSPECIFIED - - PARTITION_ZERO - - PARTITION_REDUCED_HOMING - - PARTITION_JELLYFISH - - PARTITION_CPU - - PARTITION_CUSTOM_STORAGE_CPU + - UNKNOWN_CPU_TYPE + - A2 + - A3 + - C2 + - C2D + - CUSTOM + - E2 + - G2 + - C3 + - M2 + - M1 + - N1 + - N2_CUSTOM + - N2 + - N2D + description: Required. Type of cpu, e.g. N2. enumDescriptions: - '' - - The default partition. - - >- - It has significantly lower replication than partition-0 and is - located in the US only. It also has a larger model size limit and - higher default RAM quota than partition-0. Customers with batch - traffic, US-based traffic, or very large models should use this - partition. Capacity in this partition is significantly cheaper - than partition-0. - - >- - To be used by customers with Jellyfish-accelerated ops. See - go/servomatic-jellyfish for details. - - The partition used by regionalized servomatic cloud regions. - - The partition used for loading models from custom storage. - nodeQps: - description: The approximate qps a deployed node can serve. - type: number - format: double - computeEngineAcceleratorType: - enum: - - UNSPECIFIED - - NVIDIA_TESLA_K80 - - NVIDIA_TESLA_P100 - - NVIDIA_TESLA_V100 - - NVIDIA_TESLA_P4 - - NVIDIA_TESLA_T4 - - NVIDIA_TESLA_A100 - - NVIDIA_A100_80GB - - NVIDIA_L4 - - NVIDIA_H100_80GB - - NVIDIA_H100_MEGA_80GB - - TPU_V2 - - TPU_V3 - - TPU_V4_POD - - TPU_V5_LITEPOD - type: string - enumDescriptions: + - GPU-based machine, skip quota reporting. + - GPU-based machine, skip quota reporting. + - COMPUTE_OPTIMIZED + - '' + - '' + - '' + - GPU-based machine, skip quota reporting. + - '' + - MEMORY_OPTIMIZED_UPGRADE_PREMIUM + - MEMORY_OPTIMIZED + - '' - '' - - Nvidia Tesla K80 GPU. - - Nvidia Tesla P100 GPU. - - Nvidia Tesla V100 GPU. - - Nvidia Tesla P4 GPU. - - Nvidia Tesla T4 GPU. - - Nvidia Tesla A100 GPU. - - Nvidia A100 80GB GPU. - - Nvidia L4 GPU. - - Nvidia H100 80Gb GPU. - - Nvidia H100 80Gb GPU. - - TPU v2 (JellyFish). - - TPU v3 (DragonFish). - - TPU_v4 (PufferFish). - - TPU v5 Lite Pods. - XPSExportModelOutputConfig: - type: object - properties: - edgeTpuTfLiteFormat: - $ref: '#/components/schemas/XPSEdgeTpuTfLiteFormat' - coreMlFormat: - $ref: '#/components/schemas/XPSCoreMlFormat' - tfLiteFormat: - $ref: '#/components/schemas/XPSTfLiteFormat' - outputGcsUri: - type: string - description: >- - The Google Cloud Storage (GCS) directory where XPS will output the - exported models and related files. Format: gs://bucket/directory - tfSavedModelFormat: - $ref: '#/components/schemas/XPSTfSavedModelFormat' - exportFirebaseAuxiliaryInfo: - description: >- - For any model and format: If true, will additionally export - FirebaseExportedModelInfo in a firebase.txt file. - type: boolean - outputGcrUri: - type: string - description: >- - The Google Contained Registry (GCR) path the exported files to be - pushed to. This location is set if the exported format is DOCKDER. - dockerFormat: - $ref: '#/components/schemas/XPSDockerFormat' - tfJsFormat: - $ref: '#/components/schemas/XPSTfJsFormat' - id: XPSExportModelOutputConfig - XPSRegressionMetricsEntry: - description: A pair of actual & observed values for the model being evaluated. - properties: - trueValue: - format: float - type: number - description: The actual target value for a row in the dataset. - predictedValue: - description: The observed value for a row in the dataset. - format: float - type: number - id: XPSRegressionMetricsEntry - type: object - XPSPreprocessResponse: - type: object - id: XPSPreprocessResponse - description: 'Next ID: 8' - properties: - speechPreprocessResp: - $ref: '#/components/schemas/XPSSpeechPreprocessResponse' - tablesPreprocessResponse: - $ref: '#/components/schemas/XPSTablesPreprocessResponse' - translationPreprocessResp: - $ref: '#/components/schemas/XPSTranslationPreprocessResponse' - outputExampleSet: - description: >- - Preprocessed examples, that are to be imported into AutoML storage. - This should point to RecordIO file(s) of PreprocessedExample - messages. The PreprocessedExample.mvp_training_data-s returned here - are later verbatim passed to Train() call in - TrainExample.mvp_training_data. - $ref: '#/components/schemas/XPSExampleSet' - XPSColorMapIntColor: - properties: - green: - format: int32 - type: integer - description: The value should be in range of [0, 255]. - blue: - type: integer - format: int32 - description: The value should be in range of [0, 255]. - red: - type: integer - format: int32 - description: The value should be in range of [0, 255]. - id: XPSColorMapIntColor - type: object - description: RGB color and each channel is represented by an integer. - XPSImageExportModelSpec: - properties: - exportModelOutputConfig: - type: array - description: >- - Contains the model format and internal location of the model files - to be exported/downloaded. Use the GCS bucket name which is provided - via TrainRequest.gcs_bucket_name to store the model files. - items: - $ref: '#/components/schemas/XPSExportModelOutputConfig' - type: object - id: XPSImageExportModelSpec - description: >- - Information of downloadable models that are pre-generated as part of - training flow and will be persisted in AutoMl backend. Upon receiving - ExportModel request from user, AutoMl backend can serve the - pre-generated models to user if exists (by copying the files from - internal path to user provided location), otherwise, AutoMl backend will - call xPS ExportModel API to generate the model on the fly with the - requesting format. - XPSDockerFormat: - description: >- - A model format used for Docker containers. Use the params field to - customize the container. The container is verified to work correctly on - ubuntu 16.04 operating system. - type: object - properties: - gpuArchitecture: - enumDescriptions: - '' - '' - description: >- - Optional. Additional gpu information describing the requirements for - the to be exported model files. - type: string - enum: - - GPU_ARCHITECTURE_UNSPECIFIED - - GPU_ARCHITECTURE_NVIDIA - cpuArchitecture: type: string - description: >- - Optional. Additional cpu information describing the requirements for - the to be exported model files. + machineSpec: + description: Required. Machine spec, e.g. N1_STANDARD_4. enumDescriptions: - '' - '' - enum: - - CPU_ARCHITECTURE_UNSPECIFIED - - CPU_ARCHITECTURE_X86_64 - id: XPSDockerFormat - Entity: - type: object - properties: - sentiment: - $ref: '#/components/schemas/Sentiment' - description: >- - For calls to AnalyzeEntitySentiment or if - AnnotateTextRequest.Features.extract_entity_sentiment is set to - true, this field will contain the aggregate sentiment expressed for - this entity in the provided document. - type: - enum: - - UNKNOWN - - PERSON - - LOCATION - - ORGANIZATION - - EVENT - - WORK_OF_ART - - CONSUMER_GOOD - - OTHER - - PHONE_NUMBER - - ADDRESS - - DATE - - NUMBER - - PRICE - enumDescriptions: - - Unknown - - Person - - Location - - Organization - - Event - - Artwork - - Consumer product - - Other types of entities - - >- - Phone number The metadata lists the phone number, formatted - according to local convention, plus whichever additional elements - appear in the text: * `number` - the actual number, broken down - into sections as per local convention * `national_prefix` - - country code, if detected * `area_code` - region or area code, if - detected * `extension` - phone extension (to be dialed after - connection), if detected - - >- - Address The metadata identifies the street number and locality - plus whichever additional elements appear in the text: * - `street_number` - street number * `locality` - city or town * - `street_name` - street/route name, if detected * `postal_code` - - postal code, if detected * `country` - country, if detected * - `broad_region` - administrative area, such as the state, if - detected * `narrow_region` - smaller administrative area, such as - county, if detected * `sublocality` - used in Asian addresses to - demark a district within a city, if detected - - >- - Date The metadata identifies the components of the date: * `year` - - four digit year, if detected * `month` - two digit month number, - if detected * `day` - two digit day number, if detected - - Number The metadata is the number itself. - - Price The metadata identifies the `value` and `currency`. - description: The entity type. - type: string - name: - type: string - description: The representative name for the entity. - mentions: - items: - $ref: '#/components/schemas/EntityMention' - type: array - description: >- - The mentions of this entity in the input document. The API currently - supports proper noun mentions. - metadata: - type: object - description: >- - Metadata associated with the entity. For the metadata associated - with other entity types, see the Type table below. - additionalProperties: - type: string - description: >- - Represents a phrase in the text that is a known entity, such as a - person, an organization, or location. The API associates information, - such as probability and mentions, with entities. - id: Entity - XPSStringStats: - id: XPSStringStats - description: The data statistics of a series of STRING values. - properties: - commonStats: - $ref: '#/components/schemas/XPSCommonStats' - topUnigramStats: - items: - $ref: '#/components/schemas/XPSStringStatsUnigramStats' - description: >- - The statistics of the top 20 unigrams, ordered by - StringStats.UnigramStats.count. - type: array - type: object - XPSResponseExplanationSpec: - deprecated: true - description: >- - Specification of Model explanation. Feature-based XAI in AutoML Vision - ICN is deprecated, see b/288407203 for context. - id: XPSResponseExplanationSpec - type: object - properties: - metadata: - $ref: '#/components/schemas/XPSResponseExplanationMetadata' - description: Metadata describing the Model's input and output for explanation. - parameters: - description: Parameters that configure explaining of the Model's predictions. - $ref: '#/components/schemas/XPSResponseExplanationParameters' - explanationType: - description: >- - Explanation type. For AutoML Image Classification models, possible - values are: * `image-integrated-gradients` * `image-xrai` + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + enum: + - UNKNOWN_MACHINE_SPEC + - N1_STANDARD_2 + - N1_STANDARD_4 + - N1_STANDARD_8 + - N1_STANDARD_16 + - N1_STANDARD_32 + - N1_STANDARD_64 + - N1_STANDARD_96 + - N1_HIGHMEM_2 + - N1_HIGHMEM_4 + - N1_HIGHMEM_8 + - N1_HIGHMEM_16 + - N1_HIGHMEM_32 + - N1_HIGHMEM_64 + - N1_HIGHMEM_96 + - N1_HIGHCPU_2 + - N1_HIGHCPU_4 + - N1_HIGHCPU_8 + - N1_HIGHCPU_16 + - N1_HIGHCPU_32 + - N1_HIGHCPU_64 + - N1_HIGHCPU_96 + - A2_HIGHGPU_1G + - A2_HIGHGPU_2G + - A2_HIGHGPU_4G + - A2_HIGHGPU_8G + - A2_MEGAGPU_16G + - A2_ULTRAGPU_1G + - A2_ULTRAGPU_2G + - A2_ULTRAGPU_4G + - A2_ULTRAGPU_8G + - A3_HIGHGPU_1G + - A3_HIGHGPU_2G + - A3_HIGHGPU_4G + - A3_HIGHGPU_8G + - A3_MEGAGPU_8G + - E2_STANDARD_2 + - E2_STANDARD_4 + - E2_STANDARD_8 + - E2_STANDARD_16 + - E2_STANDARD_32 + - E2_HIGHMEM_2 + - E2_HIGHMEM_4 + - E2_HIGHMEM_8 + - E2_HIGHMEM_16 + - E2_HIGHCPU_2 + - E2_HIGHCPU_4 + - E2_HIGHCPU_8 + - E2_HIGHCPU_16 + - E2_HIGHCPU_32 + - N2_STANDARD_2 + - N2_STANDARD_4 + - N2_STANDARD_8 + - N2_STANDARD_16 + - N2_STANDARD_32 + - N2_STANDARD_48 + - N2_STANDARD_64 + - N2_STANDARD_80 + - N2_STANDARD_96 + - N2_STANDARD_128 + - N2_HIGHMEM_2 + - N2_HIGHMEM_4 + - N2_HIGHMEM_8 + - N2_HIGHMEM_16 + - N2_HIGHMEM_32 + - N2_HIGHMEM_48 + - N2_HIGHMEM_64 + - N2_HIGHMEM_80 + - N2_HIGHMEM_96 + - N2_HIGHMEM_128 + - N2_HIGHCPU_2 + - N2_HIGHCPU_4 + - N2_HIGHCPU_8 + - N2_HIGHCPU_16 + - N2_HIGHCPU_32 + - N2_HIGHCPU_48 + - N2_HIGHCPU_64 + - N2_HIGHCPU_80 + - N2_HIGHCPU_96 + - N2D_STANDARD_2 + - N2D_STANDARD_4 + - N2D_STANDARD_8 + - N2D_STANDARD_16 + - N2D_STANDARD_32 + - N2D_STANDARD_48 + - N2D_STANDARD_64 + - N2D_STANDARD_80 + - N2D_STANDARD_96 + - N2D_STANDARD_128 + - N2D_STANDARD_224 + - N2D_HIGHMEM_2 + - N2D_HIGHMEM_4 + - N2D_HIGHMEM_8 + - N2D_HIGHMEM_16 + - N2D_HIGHMEM_32 + - N2D_HIGHMEM_48 + - N2D_HIGHMEM_64 + - N2D_HIGHMEM_80 + - N2D_HIGHMEM_96 + - N2D_HIGHCPU_2 + - N2D_HIGHCPU_4 + - N2D_HIGHCPU_8 + - N2D_HIGHCPU_16 + - N2D_HIGHCPU_32 + - N2D_HIGHCPU_48 + - N2D_HIGHCPU_64 + - N2D_HIGHCPU_80 + - N2D_HIGHCPU_96 + - N2D_HIGHCPU_128 + - N2D_HIGHCPU_224 + - C2_STANDARD_4 + - C2_STANDARD_8 + - C2_STANDARD_16 + - C2_STANDARD_30 + - C2_STANDARD_60 + - C2D_STANDARD_2 + - C2D_STANDARD_4 + - C2D_STANDARD_8 + - C2D_STANDARD_16 + - C2D_STANDARD_32 + - C2D_STANDARD_56 + - C2D_STANDARD_112 + - C2D_HIGHCPU_2 + - C2D_HIGHCPU_4 + - C2D_HIGHCPU_8 + - C2D_HIGHCPU_16 + - C2D_HIGHCPU_32 + - C2D_HIGHCPU_56 + - C2D_HIGHCPU_112 + - C2D_HIGHMEM_2 + - C2D_HIGHMEM_4 + - C2D_HIGHMEM_8 + - C2D_HIGHMEM_16 + - C2D_HIGHMEM_32 + - C2D_HIGHMEM_56 + - C2D_HIGHMEM_112 + - G2_STANDARD_4 + - G2_STANDARD_8 + - G2_STANDARD_12 + - G2_STANDARD_16 + - G2_STANDARD_24 + - G2_STANDARD_32 + - G2_STANDARD_48 + - G2_STANDARD_96 + - C3_STANDARD_4 + - C3_STANDARD_8 + - C3_STANDARD_22 + - C3_STANDARD_44 + - C3_STANDARD_88 + - C3_STANDARD_176 + - C3_HIGHCPU_4 + - C3_HIGHCPU_8 + - C3_HIGHCPU_22 + - C3_HIGHCPU_44 + - C3_HIGHCPU_88 + - C3_HIGHCPU_176 + - C3_HIGHMEM_4 + - C3_HIGHMEM_8 + - C3_HIGHMEM_22 + - C3_HIGHMEM_44 + - C3_HIGHMEM_88 + - C3_HIGHMEM_176 type: string - XPSStructType: - id: XPSStructType - type: object - properties: - fields: - description: Unordered map of struct field names to their data types. - type: object + coreNumber: + description: Required. Number of CPU cores. + type: string + format: int64 + coreSec: + format: int64 + description: Required. Total seconds of core usage, e.g. 4. + type: string + trackingLabels: additionalProperties: - $ref: '#/components/schemas/XPSDataType' - description: '`StructType` defines the DataType-s of a STRUCT type.' - XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry: - id: XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry - properties: - precision: - type: number - description: Precision for the given confidence threshold. - format: float - confidenceThreshold: - description: The confidence threshold value used to compute the metrics. - format: float - type: number - confusionMatrix: - $ref: '#/components/schemas/XPSConfusionMatrix' - description: >- - Confusion matrix of the per confidence_threshold evaluation. Pixel - counts are set here. Only set for model level evaluation, not for - evaluation per label. - recall: - type: number - description: Recall for the given confidence threshold. - format: float - iouScore: - format: float - description: IOU score. - type: number - diceScoreCoefficient: - description: 'DSC or the F1 score: The harmonic mean of recall and precision.' - format: float - type: number - type: object - description: Metrics for a single confidence threshold. - AnnotateTextRequestFeatures: - properties: - extractDocumentSentiment: - type: boolean - description: Optional. Extract document-level sentiment. - extractEntities: - description: Optional. Extract entities. - type: boolean - classifyText: - type: boolean - description: Optional. Classify the full document into categories. - moderateText: - type: boolean + type: string description: >- - Optional. Moderate the document for harmful and sensitive - categories. - description: >- - All available features. Setting each one to true will enable that - specific analysis for the input. + Billing tracking labels. They do not contain any user data but only + the labels set by Vertex Core Infra itself. Tracking labels' keys + are defined with special format: goog-[\p{Ll}\p{N}]+ E.g. "key": + "goog-k8s-cluster-name","value": "us-east1-b4rk" + type: object + description: Metric for billing reports. type: object - id: AnnotateTextRequestFeatures - XPSBoundingBoxMetricsEntryConfidenceMetricsEntry: - id: XPSBoundingBoxMetricsEntryConfidenceMetricsEntry + id: CpuMetric + XPSTablesEvaluationMetrics: properties: - confidenceThreshold: - description: The confidence threshold value used to compute the metrics. - type: number - format: float - precision: - format: float - type: number - description: Precision for the given confidence threshold. - recall: - type: number - format: float - description: Recall for the given confidence threshold. - f1Score: - description: The harmonic mean of recall and precision. - type: number - format: float - description: Metrics for a single confidence threshold. + regressionMetrics: + $ref: '#/components/schemas/XPSTablesRegressionMetrics' + description: Regression metrics. + classificationMetrics: + description: Classification metrics. + $ref: '#/components/schemas/XPSTablesClassificationMetrics' + id: XPSTablesEvaluationMetrics type: object - Document: + XPSSpeechPreprocessResponse: type: object - id: Document + id: XPSSpeechPreprocessResponse properties: - languageCode: + cnsTestDataPath: + type: string + description: Location od shards of sstables (test data) of DataUtterance protos. + cnsTrainDataPath: description: >- - Optional. The language of the document (if not specified, the - language is automatically detected). Both ISO and BCP-47 language - codes are accepted. [Language - Support](https://cloud.google.com/natural-language/docs/languages) - lists currently supported languages for each API method. If the - language (either specified by the caller or automatically detected) - is not supported by the called API method, an `INVALID_ARGUMENT` - error is returned. + Location of shards of sstables (training data) of DataUtterance + protos. type: string - content: + speechPreprocessStats: + $ref: '#/components/schemas/XPSSpeechPreprocessStats' + description: Stats associated with the data. + prebuiltModelEvaluationMetrics: + $ref: '#/components/schemas/XPSSpeechEvaluationMetrics' description: >- - The content of the input in string format. Cloud audit logging - exempt since it is based on user data. + The metrics for prebuilt speech models. They are included here + because there is no prebuilt speech models stored in the AutoML. + TpuMetric: + properties: + tpuType: type: string - type: - enum: - - TYPE_UNSPECIFIED - - PLAIN_TEXT - - HTML enumDescriptions: - - The content type is not specified. - - Plain text - - HTML - type: string - description: >- - Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns - an `INVALID_ARGUMENT` error. - gcsContentUri: - description: >- - The Google Cloud Storage URI where the file content is located. This - URI must be of the form: gs://bucket_name/object_name. For more - details, see https://cloud.google.com/storage/docs/reference-uris. - NOTE: Cloud Storage object versioning is not supported. + - '' + - '' + - '' + - '' + - '' + - '' + description: Required. Type of TPU, e.g. TPU_V2, TPU_V3_POD. + enum: + - UNKNOWN_TPU_TYPE + - TPU_V2_POD + - TPU_V2 + - TPU_V3_POD + - TPU_V3 + - TPU_V5_LITEPOD + tpuSec: + description: Required. Seconds of TPU usage, e.g. 3600. type: string - description: Represents the input to API methods. - XPSTuningTrial: - properties: - trainingObjectivePoint: - $ref: '#/components/schemas/XPSTrainingObjectivePoint' - description: The optimization objective evaluation of the eval split data. - modelStructure: - description: Model parameters for the trial. - $ref: '#/components/schemas/XPSTablesModelStructure' - type: object - description: >- - Metrics for a tuning job generated, will get forwarded to Stackdriver as - model tuning logs. Setting this as a standalone message out of - CreateModelMetadata to avoid confusion as we expose this message only to - users. - id: XPSTuningTrial - XPSBatchPredictResponse: + format: int64 + id: TpuMetric type: object - id: XPSBatchPredictResponse - properties: - exampleSet: - description: >- - Examples for batch prediction result. Under full API implementation, - results are stored in shared RecordIO of AnnotatedExample protobufs, - the annotations field of which is populated by XPS backend. - $ref: '#/components/schemas/XPSExampleSet' - XPSImageSegmentationEvaluationMetrics: + XPSStringStats: properties: - confidenceMetricsEntries: - items: - $ref: >- - #/components/schemas/XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry + commonStats: + $ref: '#/components/schemas/XPSCommonStats' + topUnigramStats: type: array + items: + $ref: '#/components/schemas/XPSStringStatsUnigramStats' description: >- - Metrics that have confidence thresholds. Precision-recall curve can - be derived from it. - description: 'Model evaluation metrics for image segmentation problems. Next tag: 4.' - type: object - id: XPSImageSegmentationEvaluationMetrics - XPSSpeechEvaluationMetricsSubModelEvaluationMetric: - id: XPSSpeechEvaluationMetricsSubModelEvaluationMetric + The statistics of the top 20 unigrams, ordered by + StringStats.UnigramStats.count. + id: XPSStringStats + description: The data statistics of a series of STRING values. type: object + XPSTablesRegressionMetrics: + description: Metrics for Tables regression problems. + id: XPSTablesRegressionMetrics properties: - wer: - description: Word error rate (standard error metric used for speech recognition). + rootMeanSquaredLogError: + type: number + description: Root mean squared log error. + format: double + rootMeanSquaredError: + format: double + type: number + description: Root mean squared error. + meanAbsolutePercentageError: format: double type: number - numWords: - format: int32 - description: Number of words over which the word error rate was computed. - type: integer - numDeletions: - format: int32 - type: integer - biasingModelType: - type: string - description: Type of the biasing model. - enumDescriptions: - - '' - - Build biasing model on top of COMMAND_AND_SEARCH model - - Build biasing model on top of PHONE_CALL model - - Build biasing model on top of VIDEO model - - Build biasing model on top of DEFAULT model - enum: - - BIASING_MODEL_TYPE_UNSPECIFIED - - COMMAND_AND_SEARCH - - PHONE_CALL - - VIDEO - - DEFAULT - isEnhancedModel: description: >- - If true then it means we have an enhanced version of the biasing - models. - type: boolean - sentenceAccuracy: + Mean absolute percentage error, only set if all of the target + column's values are positive. + rSquared: + format: double + description: R squared. type: number - description: Below fields are used for debugging purposes + meanAbsoluteError: format: double - numUtterances: - format: int32 - type: integer - description: Number of utterances used in the wer computation. - numSubstitutions: - type: integer - format: int32 - numInsertions: - format: int32 - type: integer - XPSImageModelArtifactSpec: - id: XPSImageModelArtifactSpec - description: >- - Stores the locations and related metadata of the model artifacts. - Populated for uCAIP requests only. - properties: - tfJsBinaryGcsPrefix: - type: string - description: >- - GCS uri prefix of Tensorflow JavaScript binary files - 'groupX-shardXofX.bin' Deprecated. - checkpointArtifact: - description: The Tensorflow checkpoint files. e.g. Used for resumable training. - $ref: '#/components/schemas/XPSModelArtifactItem' - servingArtifact: + type: number + description: Mean absolute error. + regressionMetricsEntries: description: >- - The default model binary file used for serving (e.g. online predict, - batch predict) via public Cloud AI Platform API. - $ref: '#/components/schemas/XPSModelArtifactItem' - exportArtifact: + A list of actual versus predicted points for the model being + evaluated. items: - $ref: '#/components/schemas/XPSModelArtifactItem' + $ref: '#/components/schemas/XPSRegressionMetricsEntry' type: array - description: The model binary files in different formats for model export. - tfLiteMetadataGcsUri: - description: GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'. - type: string - labelGcsUri: - type: string - description: GCS uri of decoded labels file for model export 'dict.txt'. type: object - XPSImageSegmentationTrainResponse: + EntityMention: + id: EntityMention + description: >- + Represents a mention for an entity in the text. Currently, proper noun + mentions are supported. properties: - exportModelSpec: - $ref: '#/components/schemas/XPSImageExportModelSpec' - description: 'NOTE: These fields are not used/needed in EAP but will be set later.' - stopReason: - enumDescriptions: - - '' - - '' - - Model fully converged, can not be resumbed training. - - >- - Model early converged, can be further trained till full - convergency. + type: enum: - - TRAIN_STOP_REASON_UNSPECIFIED - - TRAIN_STOP_REASON_BUDGET_REACHED - - TRAIN_STOP_REASON_MODEL_CONVERGED - - TRAIN_STOP_REASON_MODEL_EARLY_STOPPED - type: string - description: >- - Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', - 'MODEL_CONVERGED'. - modelServingSpec: - $ref: '#/components/schemas/XPSImageModelServingSpec' - trainCostNodeSeconds: + - TYPE_UNKNOWN + - PROPER + - COMMON type: string - format: int64 + description: The type of the entity mention. + enumDescriptions: + - Unknown + - Proper name + - Common noun (or noun compound) + probability: + format: float + type: number description: >- - The actual train cost of creating this model, expressed in node - seconds, i.e. 3,600 value in this field means 1 node hour. - modelArtifactSpec: - $ref: '#/components/schemas/XPSImageModelArtifactSpec' + Probability score associated with the entity. The score shows the + probability of the entity mention being the entity type. The score + is in (0, 1] range. + text: + $ref: '#/components/schemas/TextSpan' + description: The mention text. + sentiment: + $ref: '#/components/schemas/Sentiment' description: >- - ## The fields below are only populated under uCAIP request scope. - Model artifact spec stores and model gcs pathes and related metadata - colorMaps: - items: - $ref: '#/components/schemas/XPSColorMap' - type: array - description: Color map of the model. + For calls to AnalyzeEntitySentimentRequest or if + AnnotateTextRequest.Features.extract_entity_sentiment is set to + true, this field will contain the sentiment expressed for this + mention of the entity in the provided document. type: object - id: XPSImageSegmentationTrainResponse - XPSVideoActionMetricsEntry: - id: XPSVideoActionMetricsEntry + XPSEvaluationMetrics: + id: XPSEvaluationMetrics + description: >- + Contains xPS-specific model evaluation metrics either for a single + annotation spec (label), or for the model overall. Next tag: 18. type: object properties: - precisionWindowLength: + videoActionRecognitionEvalMetrics: + $ref: '#/components/schemas/XPSVideoActionRecognitionEvaluationMetrics' + category: description: >- - This VideoActionMetricsEntry is calculated based on this prediction - window length. If the predicted action's timestamp is inside the - time window whose center is the ground truth action's timestamp with - this specific length, the prediction result is treated as a true - positive. - format: google-duration + The integer category label for which this evaluation metric instance + had been created. Valid categories are 0 or higher. Overall model + evaluation should set this to negative values (rather than implicit + zero). Only used for Image Segmentation (prefer to set + annotation_spec_id_token instead). Note: uCAIP Image Segmentation + should use annotation_spec_id_token. + format: int32 + type: integer + tablesEvalMetrics: + $ref: '#/components/schemas/XPSTablesEvaluationMetrics' + label: + description: >- + The label for which this evaluation metrics instance had been + created. Empty iff this is an overall model evaluation (like Tables + evaluation metrics), i.e. aggregated across all labels. The label + maps to AnnotationSpec.display_name in Public API protos. Only used + by MVP implementation and text sentiment FULL implementation. type: string - meanAveragePrecision: - format: float - description: The mean average precision. - type: number - confidenceMetricsEntries: - items: - $ref: >- - #/components/schemas/XPSVideoActionMetricsEntryConfidenceMetricsEntry - type: array + imageObjectDetectionEvalMetrics: + $ref: '#/components/schemas/XPSImageObjectDetectionEvaluationMetrics' + regressionEvalMetrics: + $ref: '#/components/schemas/XPSRegressionEvaluationMetrics' + imageClassificationEvalMetrics: + $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' + textExtractionEvalMetrics: + $ref: '#/components/schemas/XPSTextExtractionEvaluationMetrics' + imageSegmentationEvalMetrics: + $ref: '#/components/schemas/XPSImageSegmentationEvaluationMetrics' + annotationSpecIdToken: description: >- - Metrics for each label-match confidence_threshold from - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. - description: The Evaluation metrics entry given a specific precision_window_length. - AnalyzeSentimentRequest: - properties: - encodingType: - enum: - - NONE - - UTF8 - - UTF16 - - UTF32 + The annotation_spec for which this evaluation metrics instance had + been created. Empty iff this is an overall model evaluation (like + Tables evaluation metrics), i.e. aggregated across all labels. The + value comes from the input annotations in AnnotatedExample. For MVP + product or for text sentiment models where annotation_spec_id_token + is not available, set label instead. type: string - description: The encoding type used by the API to calculate sentence offsets. - enumDescriptions: - - >- - If `EncodingType` is not specified, encoding-dependent information - (such as `begin_offset`) will be set at `-1`. - - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-8 encoding of the input. C++ and Go - are examples of languages that use this encoding natively. - - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-16 encoding of the input. Java and - JavaScript are examples of languages that use this encoding - natively. - - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-32 encoding of the input. Python is an - example of a language that uses this encoding natively. - document: - $ref: '#/components/schemas/Document' - description: Required. Input document. - type: object - id: AnalyzeSentimentRequest - description: The sentiment analysis request message. - XPSTfJsFormat: + evaluatedExampleCount: + type: integer + format: int32 + description: >- + The number of examples used to create this evaluation metrics + instance. + videoClassificationEvalMetrics: + $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' + tablesClassificationEvalMetrics: + $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' + textSentimentEvalMetrics: + $ref: '#/components/schemas/XPSTextSentimentEvaluationMetrics' + videoObjectTrackingEvalMetrics: + $ref: '#/components/schemas/XPSVideoObjectTrackingEvaluationMetrics' + textClassificationEvalMetrics: + $ref: '#/components/schemas/XPSClassificationEvaluationMetrics' + translationEvalMetrics: + $ref: '#/components/schemas/XPSTranslationEvaluationMetrics' + XPSIntegratedGradientsAttribution: + deprecated: true type: object - properties: {} + properties: + stepCount: + format: int32 + description: >- + The number of steps for approximating the path integral. A good + value to start is 50 and gradually increase until the sum to diff + property is within the desired error range. Valid range of its value + is [1, 100], inclusively. + type: integer + id: XPSIntegratedGradientsAttribution description: >- - A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used - in the browser and in Node.js using JavaScript. - id: XPSTfJsFormat - XPSTablesModelStructureModelParametersParameter: - id: XPSTablesModelStructureModelParametersParameter - type: object + An attribution method that computes the Aumann-Shapley value taking + advantage of the model's fully differentiable structure. Refer to this + paper for more details: https://arxiv.org/abs/1703.01365 + XPSDataStats: + id: XPSDataStats properties: - stringValue: - description: String type parameter value. + structStats: + $ref: '#/components/schemas/XPSStructStats' + description: The statistics for STRUCT DataType. + stringStats: + description: The statistics for STRING DataType. + $ref: '#/components/schemas/XPSStringStats' + float64Stats: + $ref: '#/components/schemas/XPSFloat64Stats' + description: The statistics for FLOAT64 DataType. + arrayStats: + $ref: '#/components/schemas/XPSArrayStats' + description: The statistics for ARRAY DataType. + nullValueCount: + description: The number of values that are null. type: string - floatValue: - format: double - type: number - description: Float type parameter value. - name: + format: int64 + validValueCount: + description: The number of values that are valid. type: string - description: Parameter name. - intValue: - description: Integer type parameter value. + format: int64 + categoryStats: + $ref: '#/components/schemas/XPSCategoryStats' + description: The statistics for CATEGORY DataType. + distinctValueCount: type: string + description: The number of distinct values. + format: int64 + timestampStats: + $ref: '#/components/schemas/XPSTimestampStats' + description: The statistics for TIMESTAMP DataType. + type: object + description: The data statistics of a series of values that share the same DataType. + XPSVideoTrainingOperationMetadata: + type: object + id: XPSVideoTrainingOperationMetadata + properties: + trainCostMilliNodeHour: format: int64 + description: >- + This is an estimation of the node hours necessary for training a + model, expressed in milli node hours (i.e. 1,000 value in this field + means 1 node hour). A node hour represents the time a virtual + machine spends running your training job. The cost of one node + running for one hour is a node hour. + type: string XPSCategoryStats: type: object properties: + commonStats: + $ref: '#/components/schemas/XPSCommonStats' topCategoryStats: + type: array items: $ref: '#/components/schemas/XPSCategoryStatsSingleCategoryStats' description: >- The statistics of the top 20 CATEGORY values, ordered by CategoryStats.SingleCategoryStats.count. - type: array - commonStats: - $ref: '#/components/schemas/XPSCommonStats' id: XPSCategoryStats description: The data statistics of a series of CATEGORY values. - InfraUsage: - description: 'Infra Usage of billing metrics. Next ID: 6' - type: object + XPSColorMapIntColor: + description: RGB color and each channel is represented by an integer. properties: - tpuMetrics: - description: Aggregated tpu metrics since requested start_time. - items: - $ref: '#/components/schemas/TpuMetric' - type: array - cpuMetrics: - items: - $ref: '#/components/schemas/CpuMetric' - type: array - description: Aggregated core metrics since requested start_time. - diskMetrics: - description: Aggregated persistent disk metrics since requested start_time. - items: - $ref: '#/components/schemas/DiskMetric' - type: array - gpuMetrics: - description: Aggregated gpu metrics since requested start_time. - items: - $ref: '#/components/schemas/GpuMetric' - type: array - ramMetrics: - items: - $ref: '#/components/schemas/RamMetric' - type: array - description: Aggregated ram metrics since requested start_time. - id: InfraUsage - XPSTablesEvaluationMetrics: + blue: + format: int32 + description: The value should be in range of [0, 255]. + type: integer + green: + description: The value should be in range of [0, 255]. + type: integer + format: int32 + red: + format: int32 + description: The value should be in range of [0, 255]. + type: integer + id: XPSColorMapIntColor type: object - properties: - regressionMetrics: - $ref: '#/components/schemas/XPSTablesRegressionMetrics' - description: Regression metrics. - classificationMetrics: - description: Classification metrics. - $ref: '#/components/schemas/XPSTablesClassificationMetrics' - id: XPSTablesEvaluationMetrics - ClassifyTextResponse: + XPSSpeechModelSpecSubModelSpec: + id: XPSSpeechModelSpecSubModelSpec type: object - id: ClassifyTextResponse properties: - categories: + contextId: + description: In S3, Recognition ClientContextId.context_id + type: string + isEnhancedModel: + type: boolean + description: >- + If true then it means we have an enhanced version of the biasing + models. + clientId: + type: string + description: In S3, Recognition ClientContextId.client_id + biasingModelType: + description: Type of the biasing model. + type: string + enum: + - BIASING_MODEL_TYPE_UNSPECIFIED + - COMMAND_AND_SEARCH + - PHONE_CALL + - VIDEO + - DEFAULT + enumDescriptions: + - '' + - Build biasing model on top of COMMAND_AND_SEARCH model + - Build biasing model on top of PHONE_CALL model + - Build biasing model on top of VIDEO model + - Build biasing model on top of DEFAULT model + XPSTrainResponse: + properties: + explanationConfigs: + description: >- + VisionExplanationConfig for XAI on test set. Optional for when XAI + is enable in training request. + deprecated: true items: - $ref: '#/components/schemas/ClassificationCategory' - description: Categories representing the input document. + $ref: '#/components/schemas/XPSResponseExplanationSpec' type: array - languageCode: + textTrainResp: + $ref: '#/components/schemas/XPSTextTrainResponse' + description: Will only be needed for uCAIP from Beta. + imageClassificationTrainResp: + $ref: '#/components/schemas/XPSImageClassificationTrainResponse' + speechTrainResp: + $ref: '#/components/schemas/XPSSpeechModelSpec' + errorAnalysisConfigs: + items: + $ref: '#/components/schemas/XPSVisionErrorAnalysisConfig' + description: >- + Optional vision model error analysis configuration. The field is set + when model error analysis is enabled in the training request. The + results of error analysis will be binded together with evaluation + results (in the format of AnnotatedExample). + type: array + textToSpeechTrainResp: + $ref: '#/components/schemas/XPSTextToSpeechTrainResponse' + modelToken: type: string description: >- - The language of the text, which will be the same as the language - specified in the request or, if not specified, the - automatically-detected language. See Document.language field for - more details. - languageSupported: - type: boolean + Token that represents the trained model. This is considered + immutable and is persisted in AutoML. xPS can put their own proto in + the byte string, to e.g. point to the model checkpoints. The token + is passed to other xPS APIs to refer to the model. + format: byte + videoClassificationTrainResp: + $ref: '#/components/schemas/XPSVideoClassificationTrainResponse' + tablesTrainResp: + $ref: '#/components/schemas/XPSTablesTrainResponse' + translationTrainResp: + $ref: '#/components/schemas/XPSTranslationTrainResponse' + imageObjectDetectionTrainResp: + $ref: '#/components/schemas/XPSImageObjectDetectionModelSpec' + deployedModelSizeBytes: + description: Estimated model size in bytes once deployed. + type: string + format: int64 + videoObjectTrackingTrainResp: + $ref: '#/components/schemas/XPSVideoObjectTrackingTrainResponse' + videoActionRecognitionTrainResp: + $ref: '#/components/schemas/XPSVideoActionRecognitionTrainResponse' + evaluationMetricsSet: + $ref: '#/components/schemas/XPSEvaluationMetricsSet' description: >- - Whether the language is officially supported. The API may still - return a response when the language is not supported, but it is on a - best effort basis. - description: The document classification response message. - XPSTablesClassificationMetricsCurveMetrics: + The trained model evaluation metrics. This can be optionally + returned. + imageSegmentationTrainResp: + $ref: '#/components/schemas/XPSImageSegmentationTrainResponse' + evaluatedExampleSet: + $ref: '#/components/schemas/XPSExampleSet' + description: >- + Examples used to evaluate the model (usually the test set), with the + predicted annotations. The file_spec should point to recordio + file(s) of AnnotatedExample. For each returned example, the + example_id_token and annotations predicted by the model must be set. + The example payload can and is recommended to be omitted. type: object - description: Metrics curve data point for a single value. + id: XPSTrainResponse + AnnotateTextRequestFeatures: + description: >- + All available features. Setting each one to true will enable that + specific analysis for the input. + type: object + id: AnnotateTextRequestFeatures properties: - confidenceMetricsEntries: - type: array - items: - $ref: '#/components/schemas/XPSTablesConfidenceMetricsEntry' - description: >- - Metrics that have confidence thresholds. Precision-recall curve and - ROC curve can be derived from them. - value: - type: string + extractEntities: + description: Optional. Extract entities. + type: boolean + extractDocumentSentiment: + description: Optional. Extract document-level sentiment. + type: boolean + classifyText: + description: Optional. Classify the full document into categories. + type: boolean + moderateText: description: >- - The CATEGORY row value (for ARRAY unnested) the curve metrics are - for. - positionThreshold: - description: The position threshold value used to compute the metrics. - type: integer - format: int32 - aucRoc: - type: number - format: double - description: The area under receiver operating characteristic curve. - logLoss: - type: number - format: double - description: The Log loss metric. - aucPr: - type: number - description: The area under the precision-recall curve. - format: double - id: XPSTablesClassificationMetricsCurveMetrics - AnalyzeEntitiesRequest: + Optional. Moderate the document for harmful and sensitive + categories. + type: boolean + XPSTextComponentModel: properties: - document: - $ref: '#/components/schemas/Document' - description: Required. Input document. - encodingType: + submodelType: enum: - - NONE - - UTF8 - - UTF16 - - UTF32 - type: string - description: The encoding type used by the API to calculate offsets. + - TEXT_MODEL_TYPE_UNSPECIFIED + - TEXT_MODEL_TYPE_DEFAULT + - TEXT_MODEL_TYPE_META_ARCHITECT + - TEXT_MODEL_TYPE_ATC + - TEXT_MODEL_TYPE_CLARA2 + - TEXT_MODEL_TYPE_CHATBASE + - TEXT_MODEL_TYPE_SAFT_SPAN_LABELING + - TEXT_MODEL_TYPE_TEXT_EXTRACTION + - TEXT_MODEL_TYPE_RELATIONSHIP_EXTRACTION + - TEXT_MODEL_TYPE_COMPOSITE + - TEXT_MODEL_TYPE_ALL_MODELS + - TEXT_MODEL_TYPE_BERT + - TEXT_MODEL_TYPE_ENC_PALM enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - Model type for entity extraction. + - Model type for relationship extraction. - >- - If `EncodingType` is not specified, encoding-dependent information - (such as `begin_offset`) will be set at `-1`. + A composite model represents a set of component models that have + to be used together for prediction. A composite model appears to + be a single model to the model user. It may contain only one + component model. - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-8 encoding of the input. C++ and Go - are examples of languages that use this encoding natively. + Model type used to train default, MA, and ATC models in a single + batch worker pipeline. - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-16 encoding of the input. Java and - JavaScript are examples of languages that use this encoding - natively. + BERT pipeline needs a specific model type, since it uses a + different TFX configuration compared with DEFAULT (despite sharing + most of the code). + - Model type for EncPaLM. + type: string + description: The type of trained NL submodel + submodelName: + type: string + description: The name of the trained NL submodel. + servingArtifact: + $ref: '#/components/schemas/XPSModelArtifactItem' + description: >- + The default model binary file used for serving (e.g. online predict, + batch predict) via public Cloud Ai Platform API. + batchPredictionModelGcsUri: + type: string + description: The Cloud Storage resource path to hold batch prediction model. + servoModelName: + type: string + description: >- + The name of servo model. Populated by uCAIP BE as part of online + PredictRequest. + versionNumber: + description: >- + The servomatic model version number. Populated by uCAIP BE as part + of online PredictRequest. + type: string + format: int64 + onlinePredictionModelGcsUri: + type: string + description: The Cloud Storage resource path to hold online prediction model. + tfRuntimeVersion: + type: string + description: >- + ## The fields below are only populated under uCAIP request scope. + https://cloud.google.com/ml-engine/docs/runtime-version-list + partition: + enumDescriptions: + - '' + - The default partition. - >- - Encoding-dependent information (such as `begin_offset`) is - calculated based on the UTF-32 encoding of the input. Python is an - example of a language that uses this encoding natively. + It has significantly lower replication than partition-0 and is + located in the US only. It also has a larger model size limit and + higher default RAM quota than partition-0. Customers with batch + traffic, US-based traffic, or very large models should use this + partition. Capacity in this partition is significantly cheaper + than partition-0. + - To be used by customers with Jellyfish-accelerated ops. + - The partition used by regionalized servomatic cloud regions. + - The partition used for loading models from custom storage. + enum: + - PARTITION_TYPE_UNSPECIFIED + - PARTITION_ZERO + - PARTITION_REDUCED_HOMING + - PARTITION_JELLYFISH + - PARTITION_CPU + - PARTITION_CUSTOM_STORAGE_CPU + type: string + description: >- + The partition where the model is deployed. Populated by uCAIP BE as + part of online PredictRequest. type: object - description: The entity analysis request message. - id: AnalyzeEntitiesRequest - ClassificationCategory: + description: Component model. + id: XPSTextComponentModel + XPSXraiAttribution: + id: XPSXraiAttribution type: object - description: Represents a category returned from the text classifier. - id: ClassificationCategory + deprecated: true properties: - confidence: - type: number - format: float + stepCount: description: >- - The classifier's confidence of the category. Number represents how - certain the classifier is that this category represents the given - text. - name: - description: The name of the category representing the document. - type: string + The number of steps for approximating the path integral. A good + value to start is 50 and gradually increase until the sum to diff + property is met within the desired error range. Valid range of its + value is [1, 100], inclusively. + format: int32 + type: integer + description: >- + An explanation method that redistributes Integrated Gradients + attributions to segmented regions, taking advantage of the model's fully + differentiable structure. Refer to this paper for more details: + https://arxiv.org/abs/1906.02825 Only supports image Models (modality is + IMAGE). + ClassificationCategory: + id: ClassificationCategory + type: object + properties: severity: description: >- Optional. The classifier's severity of the category. This is only present when the ModerateTextRequest.ModelVersion is set to MODEL_VERSION_2, and the corresponding category has a severity score. - format: float type: number - XPSTimestampStatsGranularStats: - id: XPSTimestampStatsGranularStats - description: Stats split by a defined in context granularity. - properties: - buckets: - type: object - additionalProperties: - format: int64 - type: string + format: float + name: + description: The name of the category representing the document. + type: string + confidence: description: >- - A map from granularity key to example count for that key. E.g. for - hour_of_day `13` means 1pm, or for month_of_year `5` means May). + The classifier's confidence of the category. Number represents how + certain the classifier is that this category represents the given + text. + format: float + type: number + description: Represents a category returned from the text classifier. + InfraUsage: + description: Infra Usage of billing metrics. type: object - TextSpan: properties: - beginOffset: + diskMetrics: + type: array + items: + $ref: '#/components/schemas/DiskMetric' + description: Aggregated persistent disk metrics since requested start_time. + tpuMetrics: + type: array + description: Aggregated tpu metrics since requested start_time. + items: + $ref: '#/components/schemas/TpuMetric' + ramMetrics: + description: Aggregated ram metrics since requested start_time. + type: array + items: + $ref: '#/components/schemas/RamMetric' + gpuMetrics: + description: Aggregated gpu metrics since requested start_time. + type: array + items: + $ref: '#/components/schemas/GpuMetric' + cpuMetrics: + description: Aggregated core metrics since requested start_time. + type: array + items: + $ref: '#/components/schemas/CpuMetric' + id: InfraUsage + XPSColumnSpec: + properties: + columnId: format: int32 + description: >- + The unique id of the column. When Preprocess, the Tables BE will + popuate the order id of the column, which reflects the order of the + column inside the table, i.e. 0 means the first column in the table, + N-1 means the last column. AutoML BE will persist this order id in + Spanner and set the order id here when calling RefreshTablesStats + and Train. Note: it's different than the column_spec_id that is + generated in AutoML BE. type: integer + forecastingMetadata: + $ref: '#/components/schemas/XPSColumnSpecForecastingMetadata' + dataType: + $ref: '#/components/schemas/XPSDataType' description: >- - The API calculates the beginning offset of the content in the - original document according to the EncodingType specified in the API - request. - content: + The data type of the column. It's outputed in Preprocess rpc and a + required input for RefreshTablesStats and Train. + displayName: type: string - description: The content of the text span, which is a substring of the document. - description: Represents a text span in the input document. - id: TextSpan - type: object - XPSCategoryStatsSingleCategoryStats: + description: >- + The display name of the column. It's outputed in Preprocess and a + required input for RefreshTablesStats and Train. + topCorrelatedColumns: + type: array + items: + $ref: '#/components/schemas/XPSColumnSpecCorrelatedColumn' + description: It's outputed in RefreshTablesStats, and a required input in Train. + dataStats: + $ref: '#/components/schemas/XPSDataStats' + description: >- + The data stats of the column. It's outputed in RefreshTablesStats + and a required input for Train. type: object - description: The statistics of a single CATEGORY value. - id: XPSCategoryStatsSingleCategoryStats - properties: - count: - type: string - description: The number of occurrences of this value in the series. - format: int64 - value: - type: string - description: The CATEGORY value. - XPSImageClassificationTrainResponse: + id: XPSColumnSpec + AnalyzeSentimentResponse: type: object - id: XPSImageClassificationTrainResponse properties: - classCount: - description: Total number of classes. - type: string - format: int64 - modelServingSpec: - $ref: '#/components/schemas/XPSImageModelServingSpec' - trainCostNodeSeconds: + languageCode: type: string - format: int64 description: >- - The actual training cost, expressed in node seconds. Populated for - models trained in node time. - stopReason: - type: string + The language of the text, which will be the same as the language + specified in the request or, if not specified, the + automatically-detected language. See Document.language field for + more details. + documentSentiment: + description: The overall sentiment of the input document. + $ref: '#/components/schemas/Sentiment' + sentences: + description: The sentiment for all the sentences in the document. + type: array + items: + $ref: '#/components/schemas/Sentence' + languageSupported: description: >- - Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', - 'MODEL_CONVERGED', 'MODEL_EARLY_STOPPED'. - enumDescriptions: - - '' - - '' - - Model fully converged, can not be resumbed training. - - >- - Model early converged, can be further trained till full - convergency. - enum: - - TRAIN_STOP_REASON_UNSPECIFIED - - TRAIN_STOP_REASON_BUDGET_REACHED - - TRAIN_STOP_REASON_MODEL_CONVERGED - - TRAIN_STOP_REASON_MODEL_EARLY_STOPPED - modelArtifactSpec: - description: '## The fields below are only populated under uCAIP request scope.' - $ref: '#/components/schemas/XPSImageModelArtifactSpec' - exportModelSpec: - $ref: '#/components/schemas/XPSImageExportModelSpec' + Whether the language is officially supported. The API may still + return a response when the language is not supported, but it is on a + best effort basis. + type: boolean + id: AnalyzeSentimentResponse + description: The sentiment analysis response message. + XPSTablesDatasetMetadata: + description: Metadata for a dataset used for AutoML Tables. + id: XPSTablesDatasetMetadata + properties: + primaryTableSpec: + description: Primary table. + $ref: '#/components/schemas/XPSTableSpec' + mlUseColumnId: + format: int32 + description: Id the column to split the table. + type: integer + weightColumnId: + type: integer description: >- - Information of downloadable models that are pre-generated as part of - training flow and will be persisted in AutoMl backend. Populated for - AutoMl requests. - trainCostInNodeTime: - type: string + Id of the primary table column that should be used as the weight + column. + format: int32 + targetColumnCorrelations: + description: '(the column id : its CorrelationStats with target column).' + type: object + additionalProperties: + $ref: '#/components/schemas/XPSCorrelationStats' + targetColumnId: + type: integer description: >- - The actual cost to create this model. - For edge type model, the - cost is expressed in node hour. - For cloud type model,the cost is - expressed in compute hour. - Populated for models created before GA. - To be deprecated after GA. - format: google-duration - XPSVisualization: + Id of the primary table column that should be used as the training + label. + format: int32 + type: object + XPSMetricEntry: type: object properties: - type: - description: >- - Type of the image visualization. Only applicable to Integrated - Gradients attribution. OUTLINES shows regions of attribution, while - PIXELS shows per-pixel attribution. Defaults to OUTLINES. - enumDescriptions: - - Should not be used. - - Shows which pixel contributed to the image prediction. - - >- - Shows which region contributed to the image prediction by - outlining the region. - enum: - - TYPE_UNSPECIFIED - - PIXELS - - OUTLINES - type: string - clipPercentLowerbound: - type: number - description: >- - Excludes attributions below the specified percentile, from the - highlighted areas. Defaults to 62. - format: float - overlayType: - enumDescriptions: - - Default value. This is the same as NONE. - - No overlay. - - The attributions are shown on top of the original image. - - >- - The attributions are shown on top of grayscaled version of the - original image. - - >- - The attributions are used as a mask to reveal predictive parts of - the image and hide the un-predictive parts. + systemLabels: + type: array + description: Billing system labels for this (metric, value) pair. + items: + $ref: '#/components/schemas/XPSMetricEntryLabel' + argentumMetricId: type: string - enum: - - OVERLAY_TYPE_UNSPECIFIED - - NONE - - ORIGINAL - - GRAYSCALE - - MASK_BLACK - description: >- - How the original image is displayed in the visualization. Adjusting - the overlay can help increase visual clarity if the original image - makes it difficult to view the visualization. Defaults to NONE. - clipPercentUpperbound: description: >- - Excludes attributions above the specified percentile from the - highlighted areas. Using the clip_percent_upperbound and - clip_percent_lowerbound together can be useful for filtering out - noise and making it easier to see areas of strong attribution. - Defaults to 99.9. - format: float + For billing metrics that are using legacy sku's, set the legacy + billing metric id here. This will be sent to Chemist as the + "cloudbilling.googleapis.com/argentum_metric_id" label. Otherwise + leave empty. + doubleValue: + description: A double value. + format: double type: number - polarity: - enum: - - POLARITY_UNSPECIFIED - - POSITIVE - - NEGATIVE - - BOTH + int64Value: + format: int64 + description: A signed 64-bit integer value. + type: string + metricName: + description: The metric name defined in the service configuration. + type: string + id: XPSMetricEntry + XPSVideoClassificationTrainResponse: + properties: + trainCostNodeSeconds: + format: int64 type: string description: >- - Whether to only highlight pixels with positive contributions, - negative or both. Defaults to POSITIVE. + The actual train cost of creating this model, expressed in node + seconds, i.e. 3,600 value in this field means 1 node hour. + modelArtifactSpec: + $ref: '#/components/schemas/XPSVideoModelArtifactSpec' + description: '## The fields below are only populated under uCAIP request scope.' + type: object + id: XPSVideoClassificationTrainResponse + AnalyzeSentimentRequest: + type: object + properties: + encodingType: + type: string enumDescriptions: - - Default value. This is the same as POSITIVE. - >- - Highlights the pixels/outlines that were most influential to the - model's prediction. + If `EncodingType` is not specified, encoding-dependent information + (such as `begin_offset`) will be set at `-1`. - >- - Setting polarity to negative highlights areas that does not lead - to the models's current prediction. - - Shows both positive and negative attributions. - colorMap: - enum: - - COLOR_MAP_UNSPECIFIED - - PINK_GREEN - - VIRIDIS - - RED - - GREEN - - RED_GREEN - - PINK_WHITE_GREEN - type: string - enumDescriptions: - - Should not be used. - - 'Positive: green. Negative: pink.' + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-8 encoding of the input. C++ and Go + are examples of languages that use this encoding natively. - >- - Viridis color map: A perceptually uniform color mapping which is - easier to see by those with colorblindness and progresses from - yellow to green to blue. Positive: yellow. Negative: blue. - - 'Positive: red. Negative: red.' - - 'Positive: green. Negative: green.' - - 'Positive: green. Negative: red.' - - PiYG palette. + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-16 encoding of the input. Java and + JavaScript are examples of languages that use this encoding + natively. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-32 encoding of the input. Python is an + example of a language that uses this encoding natively. + enum: + - NONE + - UTF8 + - UTF16 + - UTF32 + description: The encoding type used by the API to calculate sentence offsets. + document: + description: Required. Input document. + $ref: '#/components/schemas/Document' + id: AnalyzeSentimentRequest + description: The sentiment analysis request message. + XPSTfSavedModelFormat: + id: XPSTfSavedModelFormat + properties: {} + description: A tensorflow model format in SavedModel format. + type: object + XPSVisionTrainingOperationMetadata: + type: object + properties: + explanationUsage: + $ref: '#/components/schemas/InfraUsage' description: >- - The color scheme used for the highlighted areas. Defaults to - PINK_GREEN for Integrated Gradients attribution, which shows - positive attributions in green and negative in pink. Defaults to - VIRIDIS for XRAI attribution, which highlights the most influential - regions in yellow and the least influential in blue. - id: XPSVisualization - description: Visualization configurations for image explanation. + Aggregated infra usage within certain time period, for billing + report purpose if XAI is enable in training request. + id: XPSVisionTrainingOperationMetadata deprecated: true - CpuMetric: - id: CpuMetric - description: Metric for billing reports. - properties: - machineSpec: - enum: - - UNKNOWN_MACHINE_SPEC - - N1_STANDARD_2 - - N1_STANDARD_4 - - N1_STANDARD_8 - - N1_STANDARD_16 - - N1_STANDARD_32 - - N1_STANDARD_64 - - N1_STANDARD_96 - - N1_HIGHMEM_2 - - N1_HIGHMEM_4 - - N1_HIGHMEM_8 - - N1_HIGHMEM_16 - - N1_HIGHMEM_32 - - N1_HIGHMEM_64 - - N1_HIGHMEM_96 - - N1_HIGHCPU_2 - - N1_HIGHCPU_4 - - N1_HIGHCPU_8 - - N1_HIGHCPU_16 - - N1_HIGHCPU_32 - - N1_HIGHCPU_64 - - N1_HIGHCPU_96 - - A2_HIGHGPU_1G - - A2_HIGHGPU_2G - - A2_HIGHGPU_4G - - A2_HIGHGPU_8G - - A2_MEGAGPU_16G - - A2_ULTRAGPU_1G - - A2_ULTRAGPU_2G - - A2_ULTRAGPU_4G - - A2_ULTRAGPU_8G - - A3_HIGHGPU_2G - - A3_HIGHGPU_4G - - A3_HIGHGPU_8G - - A3_MEGAGPU_8G - - E2_STANDARD_2 - - E2_STANDARD_4 - - E2_STANDARD_8 - - E2_STANDARD_16 - - E2_STANDARD_32 - - E2_HIGHMEM_2 - - E2_HIGHMEM_4 - - E2_HIGHMEM_8 - - E2_HIGHMEM_16 - - E2_HIGHCPU_2 - - E2_HIGHCPU_4 - - E2_HIGHCPU_8 - - E2_HIGHCPU_16 - - E2_HIGHCPU_32 - - N2_STANDARD_2 - - N2_STANDARD_4 - - N2_STANDARD_8 - - N2_STANDARD_16 - - N2_STANDARD_32 - - N2_STANDARD_48 - - N2_STANDARD_64 - - N2_STANDARD_80 - - N2_STANDARD_96 - - N2_STANDARD_128 - - N2_HIGHMEM_2 - - N2_HIGHMEM_4 - - N2_HIGHMEM_8 - - N2_HIGHMEM_16 - - N2_HIGHMEM_32 - - N2_HIGHMEM_48 - - N2_HIGHMEM_64 - - N2_HIGHMEM_80 - - N2_HIGHMEM_96 - - N2_HIGHMEM_128 - - N2_HIGHCPU_2 - - N2_HIGHCPU_4 - - N2_HIGHCPU_8 - - N2_HIGHCPU_16 - - N2_HIGHCPU_32 - - N2_HIGHCPU_48 - - N2_HIGHCPU_64 - - N2_HIGHCPU_80 - - N2_HIGHCPU_96 - - N2D_STANDARD_2 - - N2D_STANDARD_4 - - N2D_STANDARD_8 - - N2D_STANDARD_16 - - N2D_STANDARD_32 - - N2D_STANDARD_48 - - N2D_STANDARD_64 - - N2D_STANDARD_80 - - N2D_STANDARD_96 - - N2D_STANDARD_128 - - N2D_STANDARD_224 - - N2D_HIGHMEM_2 - - N2D_HIGHMEM_4 - - N2D_HIGHMEM_8 - - N2D_HIGHMEM_16 - - N2D_HIGHMEM_32 - - N2D_HIGHMEM_48 - - N2D_HIGHMEM_64 - - N2D_HIGHMEM_80 - - N2D_HIGHMEM_96 - - N2D_HIGHCPU_2 - - N2D_HIGHCPU_4 - - N2D_HIGHCPU_8 - - N2D_HIGHCPU_16 - - N2D_HIGHCPU_32 - - N2D_HIGHCPU_48 - - N2D_HIGHCPU_64 - - N2D_HIGHCPU_80 - - N2D_HIGHCPU_96 - - N2D_HIGHCPU_128 - - N2D_HIGHCPU_224 - - C2_STANDARD_4 - - C2_STANDARD_8 - - C2_STANDARD_16 - - C2_STANDARD_30 - - C2_STANDARD_60 - - C2D_STANDARD_2 - - C2D_STANDARD_4 - - C2D_STANDARD_8 - - C2D_STANDARD_16 - - C2D_STANDARD_32 - - C2D_STANDARD_56 - - C2D_STANDARD_112 - - C2D_HIGHCPU_2 - - C2D_HIGHCPU_4 - - C2D_HIGHCPU_8 - - C2D_HIGHCPU_16 - - C2D_HIGHCPU_32 - - C2D_HIGHCPU_56 - - C2D_HIGHCPU_112 - - C2D_HIGHMEM_2 - - C2D_HIGHMEM_4 - - C2D_HIGHMEM_8 - - C2D_HIGHMEM_16 - - C2D_HIGHMEM_32 - - C2D_HIGHMEM_56 - - C2D_HIGHMEM_112 - - G2_STANDARD_4 - - G2_STANDARD_8 - - G2_STANDARD_12 - - G2_STANDARD_16 - - G2_STANDARD_24 - - G2_STANDARD_32 - - G2_STANDARD_48 - - G2_STANDARD_96 - - C3_STANDARD_4 - - C3_STANDARD_8 - - C3_STANDARD_22 - - C3_STANDARD_44 - - C3_STANDARD_88 - - C3_STANDARD_176 - - C3_HIGHCPU_4 - - C3_HIGHCPU_8 - - C3_HIGHCPU_22 - - C3_HIGHCPU_44 - - C3_HIGHCPU_88 - - C3_HIGHCPU_176 - - C3_HIGHMEM_4 - - C3_HIGHMEM_8 - - C3_HIGHMEM_22 - - C3_HIGHMEM_44 - - C3_HIGHMEM_88 - - C3_HIGHMEM_176 + XPSTablesTrainResponse: + properties: + modelStructure: + $ref: '#/components/schemas/XPSTablesModelStructure' + tablesModelColumnInfo: + items: + $ref: '#/components/schemas/XPSTablesModelColumnInfo' + type: array + description: >- + Output only. Auxiliary information for each of the + input_feature_column_specs, with respect to this particular model. + trainCostMilliNodeHours: + description: >- + The actual training cost of the model, expressed in milli node + hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed + to not exceed the train budget. + format: int64 + type: string + predictionSampleRows: + type: array + description: Sample rows from the dataset this model was trained. + items: + $ref: '#/components/schemas/XPSRow' + type: object + id: XPSTablesTrainResponse + XPSResponseExplanationSpec: + description: >- + Specification of Model explanation. Feature-based XAI in AutoML Vision + ICN is deprecated. + type: object + id: XPSResponseExplanationSpec + properties: + parameters: + $ref: '#/components/schemas/XPSResponseExplanationParameters' + description: Parameters that configure explaining of the Model's predictions. + explanationType: + description: >- + Explanation type. For AutoML Image Classification models, possible + values are: * `image-integrated-gradients` * `image-xrai` + type: string + metadata: + description: Metadata describing the Model's input and output for explanation. + $ref: '#/components/schemas/XPSResponseExplanationMetadata' + deprecated: true + XPSConfidenceMetricsEntry: + description: >- + ConfidenceMetricsEntry includes generic precision, recall, f1 score etc. + Next tag: 16. + properties: + positionThreshold: + description: >- + Metrics are computed with an assumption that the model always + returns at most this many predictions (ordered by their score, + descendingly), but they all still need to meet the + confidence_threshold. + type: integer + format: int32 + precision: + format: float + description: Precision for the given confidence threshold. + type: number + f1ScoreAt1: + description: The harmonic mean of recall_at1 and precision_at1. + format: float + type: number + trueNegativeCount: + format: int64 + type: string + description: >- + The number of labels that were not created by the model, but if they + would, they would not match a ground truth label. + recallAt1: + format: float + description: >- + The recall (true positive rate) when only considering the label that + has the highest prediction score and not below the confidence + threshold for each example. + type: number + falseNegativeCount: + type: string + format: int64 + description: >- + The number of ground truth labels that are not matched by a model + created label. + falsePositiveRateAt1: + format: float + description: >- + The False Positive Rate when only considering the label that has the + highest prediction score and not below the confidence threshold for + each example. + type: number + f1Score: + type: number + description: The harmonic mean of recall and precision. + format: float + precisionAt1: + type: number + description: >- + The precision when only considering the label that has the highest + prediction score and not below the confidence threshold for each + example. + format: float + falsePositiveRate: + format: float + type: number + description: False Positive Rate for the given confidence threshold. + truePositiveCount: + description: The number of model created labels that match a ground truth label. type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - description: Required. Machine spec, e.g. N1_STANDARD_4. - coreSec: - description: Required. Total seconds of core usage, e.g. 4. format: int64 + recall: + format: float + description: Recall (true positive rate) for the given confidence threshold. + type: number + falsePositiveCount: type: string - coreNumber: - description: Required. Number of CPU cores. format: int64 + description: >- + The number of model created labels that do not match a ground truth + label. + confidenceThreshold: + type: number + description: >- + Metrics are computed with an assumption that the model never return + predictions with score lower than this value. + format: float + type: object + id: XPSConfidenceMetricsEntry + XPSTablesPreprocessResponse: + id: XPSTablesPreprocessResponse + type: object + properties: + tablesDatasetMetadata: + description: >- + The table/column id, column_name and the DataTypes of the columns + will be populated. + $ref: '#/components/schemas/XPSTablesDatasetMetadata' + TextSpan: + properties: + content: + description: The content of the text span, which is a substring of the document. type: string - cpuType: - enumDescriptions: - - '' - - GPU-based machine, skip quota reporting. - - GPU-based machine, skip quota reporting. - - COMPUTE_OPTIMIZED - - '' - - '' - - '' - - GPU-based machine, skip quota reporting. - - '' - - MEMORY_OPTIMIZED_UPGRADE_PREMIUM - - MEMORY_OPTIMIZED - - '' - - '' - - '' - - '' + beginOffset: + format: int32 + type: integer + description: >- + The API calculates the beginning offset of the content in the + original document according to the EncodingType specified in the API + request. + id: TextSpan + description: Represents a text span in the input document. + type: object + XPSArrayStats: + properties: + commonStats: + $ref: '#/components/schemas/XPSCommonStats' + memberStats: + description: >- + Stats of all the values of all arrays, as if they were a single long + series of data. The type depends on the element type of the array. + $ref: '#/components/schemas/XPSDataStats' + id: XPSArrayStats + type: object + description: The data statistics of a series of ARRAY values. + XPSPreprocessResponse: + id: XPSPreprocessResponse + type: object + properties: + outputExampleSet: + $ref: '#/components/schemas/XPSExampleSet' + description: >- + Preprocessed examples, that are to be imported into AutoML storage. + This should point to RecordIO file(s) of PreprocessedExample + messages. The PreprocessedExample.mvp_training_data-s returned here + are later verbatim passed to Train() call in + TrainExample.mvp_training_data. + tablesPreprocessResponse: + $ref: '#/components/schemas/XPSTablesPreprocessResponse' + speechPreprocessResp: + $ref: '#/components/schemas/XPSSpeechPreprocessResponse' + translationPreprocessResp: + $ref: '#/components/schemas/XPSTranslationPreprocessResponse' + XPSTranslationTrainResponse: + description: Train response for translation. + id: XPSTranslationTrainResponse + type: object + properties: + modelType: + description: Type of the model. enum: - - UNKNOWN_CPU_TYPE - - A2 - - A3 - - C2 - - C2D - - CUSTOM - - E2 - - G2 - - C3 - - M2 - - M1 - - N1 - - N2_CUSTOM - - N2 - - N2D + - MODEL_TYPE_UNSPECIFIED + - LEGACY + - CURRENT + enumDescriptions: + - Default + - Legacy model. Will be deprecated. + - Current model. type: string - description: Required. Type of cpu, e.g. N2. - trackingLabels: + XPSVideoActionMetricsEntryConfidenceMetricsEntry: + description: Metrics for a single confidence threshold. + id: XPSVideoActionMetricsEntryConfidenceMetricsEntry + properties: + precision: + format: float + description: Output only. Precision for the given confidence threshold. + type: number + f1Score: + description: Output only. The harmonic mean of recall and precision. + format: float + type: number + confidenceThreshold: + type: number + format: float description: >- - Billing tracking labels. They do not contain any user data but only - the labels set by Vertex Core Infra itself. Tracking labels' keys - are defined with special format: goog-[\p{Ll}\p{N}]+ E.g. "key": - "goog-k8s-cluster-name","value": "us-east1-b4rk" - type: object - additionalProperties: - type: string + Output only. The confidence threshold value used to compute the + metrics. + recall: + description: Output only. Recall for the given confidence threshold. + format: float + type: number + type: object + XPSVideoActionRecognitionTrainResponse: type: object - AnalyzeSentimentResponse: - description: The sentiment analysis response message. properties: - documentSentiment: - $ref: '#/components/schemas/Sentiment' - description: The overall sentiment of the input document. - languageCode: + modelArtifactSpec: + $ref: '#/components/schemas/XPSVideoModelArtifactSpec' + description: '## The fields below are only populated under uCAIP request scope.' + trainCostNodeSeconds: + format: int64 + type: string + description: >- + The actual train cost of creating this model, expressed in node + seconds, i.e. 3,600 value in this field means 1 node hour. + id: XPSVideoActionRecognitionTrainResponse + XPSTextToSpeechTrainResponse: + id: XPSTextToSpeechTrainResponse + type: object + properties: {} + description: TextToSpeech train response + XPSEdgeTpuTfLiteFormat: + properties: {} + type: object + description: >- + A model format used for [Edge TPU](https://cloud.google.com/edge-tpu/) + devices. + id: XPSEdgeTpuTfLiteFormat + Sentiment: + type: object + properties: + magnitude: + type: number + format: float + description: >- + A non-negative number in the [0, +inf] range, which represents the + absolute magnitude of sentiment regardless of score (positive or + negative). + score: + type: number + format: float + description: >- + Sentiment score between -1.0 (negative sentiment) and 1.0 (positive + sentiment). + id: Sentiment + description: >- + Represents the feeling associated with the entire text or entities in + the text. + XPSImageModelArtifactSpec: + properties: + tfLiteMetadataGcsUri: + description: >- + Google Cloud Storage URI of Tensorflow Lite metadata + 'tflite_metadata.json'. + type: string + checkpointArtifact: + description: The Tensorflow checkpoint files. e.g. Used for resumable training. + $ref: '#/components/schemas/XPSModelArtifactItem' + exportArtifact: + description: The model binary files in different formats for model export. + type: array + items: + $ref: '#/components/schemas/XPSModelArtifactItem' + labelGcsUri: + description: >- + Google Cloud Storage URI of decoded labels file for model export + 'dict.txt'. + type: string + tfJsBinaryGcsPrefix: + description: >- + Google Cloud Storage URI prefix of Tensorflow JavaScript binary + files 'groupX-shardXofX.bin'. Deprecated. type: string + servingArtifact: + $ref: '#/components/schemas/XPSModelArtifactItem' + description: >- + The default model binary file used for serving (e.g. online predict, + batch predict) via public Cloud AI Platform API. + description: >- + Stores the locations and related metadata of the model artifacts. + Populated for uCAIP requests only. + id: XPSImageModelArtifactSpec + type: object + XPSTranslationEvaluationMetrics: + id: XPSTranslationEvaluationMetrics + description: Evaluation metrics for the dataset. + type: object + properties: + baseBleuScore: + format: double + description: BLEU score for base model. + type: number + bleuScore: + description: BLEU score. + type: number + format: double + XPSRow: + properties: + columnIds: + type: array + items: + type: integer + format: int32 description: >- - The language of the text, which will be the same as the language - specified in the request or, if not specified, the - automatically-detected language. See Document.language field for - more details. - sentences: + The ids of the columns. Note: The below `values` field must match + order of this field, if this field is set. + values: items: - $ref: '#/components/schemas/Sentence' + type: any type: array - description: The sentiment for all the sentences in the document. - languageSupported: - type: boolean description: >- - Whether the language is officially supported. The API may still - return a response when the language is not supported, but it is on a - best effort basis. + The values of the row cells, given in the same order as the + column_ids. If column_ids is not set, then in the same order as the + input_feature_column_ids in TablesModelMetadata. + id: XPSRow + type: object + AnnotateTextRequest: + description: >- + The request message for the text annotation API, which can perform + multiple analysis types in one call. + id: AnnotateTextRequest type: object - id: AnalyzeSentimentResponse - XPSTimestampStats: - description: The data statistics of a series of TIMESTAMP values. - id: XPSTimestampStats properties: - medianTimestampNanos: + document: + description: Required. Input document. + $ref: '#/components/schemas/Document' + encodingType: + enum: + - NONE + - UTF8 + - UTF16 + - UTF32 + description: The encoding type used by the API to calculate offsets. + enumDescriptions: + - >- + If `EncodingType` is not specified, encoding-dependent information + (such as `begin_offset`) will be set at `-1`. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-8 encoding of the input. C++ and Go + are examples of languages that use this encoding natively. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-16 encoding of the input. Java and + JavaScript are examples of languages that use this encoding + natively. + - >- + Encoding-dependent information (such as `begin_offset`) is + calculated based on the UTF-32 encoding of the input. Python is an + example of a language that uses this encoding natively. type: string - format: int64 - commonStats: - $ref: '#/components/schemas/XPSCommonStats' - granularStats: - additionalProperties: - $ref: '#/components/schemas/XPSTimestampStatsGranularStats' - type: object - description: >- - The string key is the pre-defined granularity. Currently supported: - hour_of_day, day_of_week, month_of_year. Granularities finer that - the granularity of timestamp data are not populated (e.g. if - timestamps are at day granularity, then hour_of_day is not - populated). + features: + $ref: '#/components/schemas/AnnotateTextRequestFeatures' + description: Required. The enabled features. + XPSTablesModelStructureModelParameters: + description: Model hyper-parameters for a model. + properties: + hyperparameters: + items: + $ref: >- + #/components/schemas/XPSTablesModelStructureModelParametersParameter + type: array type: object - RamMetric: + id: XPSTablesModelStructureModelParameters + XPSVideoObjectTrackingTrainResponse: type: object + id: XPSVideoObjectTrackingTrainResponse properties: - machineSpec: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + trainCostNodeSeconds: + format: int64 + type: string + description: >- + The actual train cost of creating this model, expressed in node + seconds, i.e. 3,600 value in this field means 1 node hour. + modelArtifactSpec: + $ref: '#/components/schemas/XPSVideoModelArtifactSpec' + description: '## The fields below are only populated under uCAIP request scope.' + exportModelSpec: + description: Populated for AutoML request only. + $ref: '#/components/schemas/XPSVideoExportModelSpec' + XPSConfusionMatrixRow: + properties: + count: + items: + format: int64 + type: string + description: >- + Same as above except intended to represent other counts (for e.g. + for segmentation this is pixel count). NOTE(params): Only + example_count or count is set (oneoff does not support repeated + fields unless they are embedded inside another message). + type: array + exampleCount: + type: array + description: >- + Value of the specific cell in the confusion matrix. The number of + values each row has (i.e. the length of the row) is equal to the + length of the annotation_spec_id_token field. + items: + type: integer + format: int32 + id: XPSConfusionMatrixRow + description: A row in the confusion matrix. + type: object + DiskMetric: + type: object + id: DiskMetric + properties: + diskType: + enum: + - UNKNOWN_DISK_TYPE + - REGIONAL_SSD + - REGIONAL_STORAGE + - PD_SSD + - PD_STANDARD + - STORAGE_SNAPSHOT + description: Required. Type of Disk, e.g. REGIONAL_SSD. + type: string + enumDescriptions: - '' - '' - '' - '' - '' - '' - type: string - enum: - - UNKNOWN_MACHINE_SPEC - - N1_STANDARD_2 - - N1_STANDARD_4 - - N1_STANDARD_8 - - N1_STANDARD_16 - - N1_STANDARD_32 - - N1_STANDARD_64 - - N1_STANDARD_96 - - N1_HIGHMEM_2 - - N1_HIGHMEM_4 - - N1_HIGHMEM_8 - - N1_HIGHMEM_16 - - N1_HIGHMEM_32 - - N1_HIGHMEM_64 - - N1_HIGHMEM_96 - - N1_HIGHCPU_2 - - N1_HIGHCPU_4 - - N1_HIGHCPU_8 - - N1_HIGHCPU_16 - - N1_HIGHCPU_32 - - N1_HIGHCPU_64 - - N1_HIGHCPU_96 - - A2_HIGHGPU_1G - - A2_HIGHGPU_2G - - A2_HIGHGPU_4G - - A2_HIGHGPU_8G - - A2_MEGAGPU_16G - - A2_ULTRAGPU_1G - - A2_ULTRAGPU_2G - - A2_ULTRAGPU_4G - - A2_ULTRAGPU_8G - - A3_HIGHGPU_2G - - A3_HIGHGPU_4G - - A3_HIGHGPU_8G - - A3_MEGAGPU_8G - - E2_STANDARD_2 - - E2_STANDARD_4 - - E2_STANDARD_8 - - E2_STANDARD_16 - - E2_STANDARD_32 - - E2_HIGHMEM_2 - - E2_HIGHMEM_4 - - E2_HIGHMEM_8 - - E2_HIGHMEM_16 - - E2_HIGHCPU_2 - - E2_HIGHCPU_4 - - E2_HIGHCPU_8 - - E2_HIGHCPU_16 - - E2_HIGHCPU_32 - - N2_STANDARD_2 - - N2_STANDARD_4 - - N2_STANDARD_8 - - N2_STANDARD_16 - - N2_STANDARD_32 - - N2_STANDARD_48 - - N2_STANDARD_64 - - N2_STANDARD_80 - - N2_STANDARD_96 - - N2_STANDARD_128 - - N2_HIGHMEM_2 - - N2_HIGHMEM_4 - - N2_HIGHMEM_8 - - N2_HIGHMEM_16 - - N2_HIGHMEM_32 - - N2_HIGHMEM_48 - - N2_HIGHMEM_64 - - N2_HIGHMEM_80 - - N2_HIGHMEM_96 - - N2_HIGHMEM_128 - - N2_HIGHCPU_2 - - N2_HIGHCPU_4 - - N2_HIGHCPU_8 - - N2_HIGHCPU_16 - - N2_HIGHCPU_32 - - N2_HIGHCPU_48 - - N2_HIGHCPU_64 - - N2_HIGHCPU_80 - - N2_HIGHCPU_96 - - N2D_STANDARD_2 - - N2D_STANDARD_4 - - N2D_STANDARD_8 - - N2D_STANDARD_16 - - N2D_STANDARD_32 - - N2D_STANDARD_48 - - N2D_STANDARD_64 - - N2D_STANDARD_80 - - N2D_STANDARD_96 - - N2D_STANDARD_128 - - N2D_STANDARD_224 - - N2D_HIGHMEM_2 - - N2D_HIGHMEM_4 - - N2D_HIGHMEM_8 - - N2D_HIGHMEM_16 - - N2D_HIGHMEM_32 - - N2D_HIGHMEM_48 - - N2D_HIGHMEM_64 - - N2D_HIGHMEM_80 - - N2D_HIGHMEM_96 - - N2D_HIGHCPU_2 - - N2D_HIGHCPU_4 - - N2D_HIGHCPU_8 - - N2D_HIGHCPU_16 - - N2D_HIGHCPU_32 - - N2D_HIGHCPU_48 - - N2D_HIGHCPU_64 - - N2D_HIGHCPU_80 - - N2D_HIGHCPU_96 - - N2D_HIGHCPU_128 - - N2D_HIGHCPU_224 - - C2_STANDARD_4 - - C2_STANDARD_8 - - C2_STANDARD_16 - - C2_STANDARD_30 - - C2_STANDARD_60 - - C2D_STANDARD_2 - - C2D_STANDARD_4 - - C2D_STANDARD_8 - - C2D_STANDARD_16 - - C2D_STANDARD_32 - - C2D_STANDARD_56 - - C2D_STANDARD_112 - - C2D_HIGHCPU_2 - - C2D_HIGHCPU_4 - - C2D_HIGHCPU_8 - - C2D_HIGHCPU_16 - - C2D_HIGHCPU_32 - - C2D_HIGHCPU_56 - - C2D_HIGHCPU_112 - - C2D_HIGHMEM_2 - - C2D_HIGHMEM_4 - - C2D_HIGHMEM_8 - - C2D_HIGHMEM_16 - - C2D_HIGHMEM_32 - - C2D_HIGHMEM_56 - - C2D_HIGHMEM_112 - - G2_STANDARD_4 - - G2_STANDARD_8 - - G2_STANDARD_12 - - G2_STANDARD_16 - - G2_STANDARD_24 - - G2_STANDARD_32 - - G2_STANDARD_48 - - G2_STANDARD_96 - - C3_STANDARD_4 - - C3_STANDARD_8 - - C3_STANDARD_22 - - C3_STANDARD_44 - - C3_STANDARD_88 - - C3_STANDARD_176 - - C3_HIGHCPU_4 - - C3_HIGHCPU_8 - - C3_HIGHCPU_22 - - C3_HIGHCPU_44 - - C3_HIGHCPU_88 - - C3_HIGHCPU_176 - - C3_HIGHMEM_4 - - C3_HIGHMEM_8 - - C3_HIGHMEM_22 - - C3_HIGHMEM_44 - - C3_HIGHMEM_88 - - C3_HIGHMEM_176 - description: Required. Machine spec, e.g. N1_STANDARD_4. gibSec: + type: string + description: Required. Seconds of physical disk usage, e.g. 3600. + format: int64 + XPSVideoActionMetricsEntry: + type: object + properties: + precisionWindowLength: + format: google-duration + type: string + description: >- + This VideoActionMetricsEntry is calculated based on this prediction + window length. If the predicted action's timestamp is inside the + time window whose center is the ground truth action's timestamp with + this specific length, the prediction result is treated as a true + positive. + confidenceMetricsEntries: + description: >- + Metrics for each label-match confidence_threshold from + 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. + items: + $ref: >- + #/components/schemas/XPSVideoActionMetricsEntryConfidenceMetricsEntry + type: array + meanAveragePrecision: + type: number + format: float + description: The mean average precision. + description: The Evaluation metrics entry given a specific precision_window_length. + id: XPSVideoActionMetricsEntry + XPSTuningTrial: + id: XPSTuningTrial + description: >- + Metrics for a tuning job generated, will get forwarded to Stackdriver as + model tuning logs. Setting this as a standalone message out of + CreateModelMetadata to avoid confusion as we expose this message only to + users. + properties: + modelStructure: + $ref: '#/components/schemas/XPSTablesModelStructure' + description: Model parameters for the trial. + trainingObjectivePoint: + description: The optimization objective evaluation of the eval split data. + $ref: '#/components/schemas/XPSTrainingObjectivePoint' + type: object + XPSStringStatsUnigramStats: + type: object + id: XPSStringStatsUnigramStats + description: The statistics of a unigram. + properties: + value: + description: The unigram. + type: string + count: + description: The number of occurrences of this unigram in the series. type: string format: int64 + XPSColumnSpecCorrelatedColumn: + id: XPSColumnSpecCorrelatedColumn + description: >- + Identifies a table's column, and its correlation with the column this + ColumnSpec describes. + properties: + columnId: + type: integer + format: int32 + correlationStats: + $ref: '#/components/schemas/XPSCorrelationStats' + type: object + XPSResponseExplanationMetadataOutputMetadata: + id: XPSResponseExplanationMetadataOutputMetadata + description: Metadata of the prediction output to be explained. + properties: + outputTensorName: + type: string + description: Name of the output tensor. Only needed in train response. + type: object + AnnotateTextResponse: + id: AnnotateTextResponse + type: object + properties: + moderationCategories: + items: + $ref: '#/components/schemas/ClassificationCategory' + description: Harmful and sensitive categories identified in the input document. + type: array + documentSentiment: + $ref: '#/components/schemas/Sentiment' description: >- - Required. VM memory in Gigabyte second, e.g. 3600. Using int64 type - to match billing metrics definition. - trackingLabels: - type: object - additionalProperties: - type: string + The overall sentiment for the document. Populated if the user + enables AnnotateTextRequest.Features.extract_document_sentiment. + categories: + description: Categories identified in the input document. + items: + $ref: '#/components/schemas/ClassificationCategory' + type: array + languageSupported: description: >- - Billing tracking labels. They do not contain any user data but only - the labels set by Vertex Core Infra itself. Tracking labels' keys - are defined with special format: goog-[\p{Ll}\p{N}]+ E.g. "key": - "goog-k8s-cluster-name","value": "us-east1-b4rk" - ramType: + Whether the language is officially supported by all requested + features. The API may still return a response when the language is + not supported, but it is on a best effort basis. + type: boolean + sentences: + description: >- + Sentences in the input document. Populated if the user enables + AnnotateTextRequest.Features.extract_document_sentiment. + items: + $ref: '#/components/schemas/Sentence' + type: array + entities: + items: + $ref: '#/components/schemas/Entity' + description: >- + Entities, along with their semantic information, in the input + document. Populated if the user enables + AnnotateTextRequest.Features.extract_entities or + AnnotateTextRequest.Features.extract_entity_sentiment. + type: array + languageCode: + type: string + description: >- + The language of the text, which will be the same as the language + specified in the request or, if not specified, the + automatically-detected language. See Document.language field for + more details. + description: The text annotations response message. + XPSBatchPredictResponse: + type: object + id: XPSBatchPredictResponse + properties: + exampleSet: + description: >- + Examples for batch prediction result. Under full API implementation, + results are stored in shared RecordIO of AnnotatedExample protobufs, + the annotations field of which is populated by XPS backend. + $ref: '#/components/schemas/XPSExampleSet' + XPSSpeechEvaluationMetricsSubModelEvaluationMetric: + properties: + biasingModelType: enumDescriptions: - '' - - '' - - '' - - COMPUTE_OPTIMIZED - - '' - - '' - - '' - - '' - - '' - - MEMORY_OPTIMIZED_UPGRADE_PREMIUM - - MEMORY_OPTIMIZED - - '' - - '' - - '' - - '' + - Build biasing model on top of COMMAND_AND_SEARCH model + - Build biasing model on top of PHONE_CALL model + - Build biasing model on top of VIDEO model + - Build biasing model on top of DEFAULT model + description: Type of the biasing model. + type: string + enum: + - BIASING_MODEL_TYPE_UNSPECIFIED + - COMMAND_AND_SEARCH + - PHONE_CALL + - VIDEO + - DEFAULT + numSubstitutions: + type: integer + format: int32 + numInsertions: + format: int32 + type: integer + sentenceAccuracy: + format: double + description: Below fields are used for debugging purposes + type: number + numUtterances: + description: Number of utterances used in the wer computation. + type: integer + format: int32 + numWords: + type: integer + format: int32 + description: Number of words over which the word error rate was computed. + numDeletions: + type: integer + format: int32 + isEnhancedModel: + type: boolean + description: >- + If true then it means we have an enhanced version of the biasing + models. + wer: + description: Word error rate (standard error metric used for speech recognition). + format: double + type: number + type: object + id: XPSSpeechEvaluationMetricsSubModelEvaluationMetric + XPSCategoryStatsSingleCategoryStats: + id: XPSCategoryStatsSingleCategoryStats + description: The statistics of a single CATEGORY value. + type: object + properties: + value: + type: string + description: The CATEGORY value. + count: + type: string + format: int64 + description: The number of occurrences of this value in the series. + XPSTextSentimentEvaluationMetrics: + description: Model evaluation metrics for text sentiment problems. + id: XPSTextSentimentEvaluationMetrics + properties: + meanAbsoluteError: + type: number + description: >- + Output only. Mean absolute error. Only set for the overall model + evaluation, not for evaluation of a single annotation spec. + format: float + confusionMatrix: + $ref: '#/components/schemas/XPSConfusionMatrix' + description: >- + Output only. Confusion matrix of the evaluation. Only set for the + overall model evaluation, not for evaluation of a single annotation + spec. + meanSquaredError: + format: float + type: number + description: >- + Output only. Mean squared error. Only set for the overall model + evaluation, not for evaluation of a single annotation spec. + linearKappa: + format: float + type: number + description: >- + Output only. Linear weighted kappa. Only set for the overall model + evaluation, not for evaluation of a single annotation spec. + f1Score: + format: float + type: number + description: Output only. The harmonic mean of recall and precision. + precision: + format: float + type: number + description: Output only. Precision. + recall: + type: number + format: float + description: Output only. Recall. + quadraticKappa: + format: float + type: number + description: >- + Output only. Quadratic weighted kappa. Only set for the overall + model evaluation, not for evaluation of a single annotation spec. + type: object + XPSTfJsFormat: + description: >- + A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used + in the browser and in Node.js using JavaScript. + properties: {} + id: XPSTfJsFormat + type: object + XPSTablesTrainingOperationMetadata: + type: object + properties: + topTrials: + type: array + items: + $ref: '#/components/schemas/XPSTuningTrial' + description: >- + This field is for training. When the operation is terminated + successfully, AutoML Backend post this field to operation metadata + in spanner. If the metadata has no trials returned, the training + operation is supposed to be a failure. + trainBudgetMilliNodeHours: + format: int64 + type: string + description: Creating model budget. + createModelStage: + enumDescriptions: + - Unspecified stage. + - Prepare the model training pipeline and run data processing. + - Training model. + - Run evaluation. + - Finalizing model training pipeline. + type: string + enum: + - CREATE_MODEL_STAGE_UNSPECIFIED + - DATA_PREPROCESSING + - TRAINING + - EVALUATING + - MODEL_POST_PROCESSING + description: Current stage of creating model. + trainingObjectivePoints: + type: array + items: + $ref: '#/components/schemas/XPSTrainingObjectivePoint' + description: >- + This field records the training objective value with respect to + time, giving insight into how the model architecture search is + performing as training time elapses. + trainingStartTime: + description: Timestamp when training process starts. type: string - enum: - - UNKNOWN_RAM_TYPE - - A2 - - A3 - - C2 - - C2D - - CUSTOM - - E2 - - G2 - - C3 - - M2 - - M1 - - N1 - - N2_CUSTOM - - N2 - - N2D - description: Required. Type of ram. - memories: - description: Required. VM memory in gb. - type: number - format: double - id: RamMetric - XPSTrainingObjectivePoint: + format: google-datetime + optimizationObjective: + type: string + description: The optimization objective for model. + id: XPSTablesTrainingOperationMetadata + XPSTimestampStats: properties: - createTime: + commonStats: + $ref: '#/components/schemas/XPSCommonStats' + medianTimestampNanos: type: string - description: The time at which this point was recorded. - format: google-datetime - value: - type: number - format: float - description: The objective value when this point was recorded. - id: XPSTrainingObjectivePoint + format: int64 + granularStats: + type: object + additionalProperties: + $ref: '#/components/schemas/XPSTimestampStatsGranularStats' + description: >- + The string key is the pre-defined granularity. Currently supported: + hour_of_day, day_of_week, month_of_year. Granularities finer that + the granularity of timestamp data are not populated (e.g. if + timestamps are at day granularity, then hour_of_day is not + populated). + id: XPSTimestampStats + description: The data statistics of a series of TIMESTAMP values. type: object - XPSReportingMetrics: - id: XPSReportingMetrics + XPSImageModelServingSpec: + id: XPSImageModelServingSpec + description: Serving specification for image models. type: object properties: + tfRuntimeVersion: + description: >- + ## The fields below are only populated under uCAIP request scope. + https://cloud.google.com/ml-engine/docs/runtime-version-list + type: string + modelThroughputEstimation: + type: array + description: Populate under uCAIP request scope. + items: + $ref: >- + #/components/schemas/XPSImageModelServingSpecModelThroughputEstimation + nodeQps: + description: >- + An estimated value of how much traffic a node can serve. Populated + for AutoMl request only. + type: number + format: double + XPSReportingMetrics: + properties: + metricEntries: + items: + $ref: '#/components/schemas/XPSMetricEntry' + description: >- + One entry per metric name. The values must be aggregated per metric + name. + type: array effectiveTrainingDuration: description: >- The effective time training used. If set, this is used for quota management and billing. Deprecated. AutoML BE doesn't use this. Don't set. - deprecated: true type: string + deprecated: true format: google-duration - metricEntries: + id: XPSReportingMetrics + type: object + XPSImageObjectDetectionEvaluationMetrics: + id: XPSImageObjectDetectionEvaluationMetrics + properties: + boundingBoxMeanAveragePrecision: + format: float + type: number + description: >- + The single metric for bounding boxes evaluation: the + mean_average_precision averaged over all + bounding_box_metrics_entries. + evaluatedBoundingBoxCount: + description: >- + The total number of bounding boxes (i.e. summed over all images) the + ground truth used to create this evaluation had. + type: integer + format: int32 + boundingBoxMetricsEntries: items: - $ref: '#/components/schemas/XPSMetricEntry' - type: array + $ref: '#/components/schemas/XPSBoundingBoxMetricsEntry' description: >- - One entry per metric name. The values must be aggregated per metric - name. - XPSResponseExplanationMetadataOutputMetadata: - id: XPSResponseExplanationMetadataOutputMetadata + The bounding boxes match metrics for each Intersection-over-union + threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label + confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. + type: array + description: >- + Model evaluation metrics for image object detection problems. Evaluates + prediction quality of labeled bounding boxes. + type: object + XPSColumnSpecForecastingMetadata: type: object properties: - outputTensorName: + columnType: + enum: + - COLUMN_TYPE_UNSPECIFIED + - KEY + - KEY_METADATA + - TIME_SERIES_AVAILABLE_PAST_ONLY + - TIME_SERIES_AVAILABLE_PAST_AND_FUTURE + enumDescriptions: + - An un-set value of this enum. + - Key columns are used to identify timeseries. + - >- + This column contains information describing static properties of + the entities identified by the key column(s) (e.g. city's ZIP + code). + - >- + This column contains information for the given entity, at any time + poinrt, they are only available in the time series before. + - >- + This column contains information for the given entity is known + both for the past and the sufficiently far future. + description: The type of the column for FORECASTING model training purposes. type: string - description: Name of the output tensor. Only needed in train response. - description: Metadata of the prediction output to be explained. - XPSConfusionMatrix: - id: XPSConfusionMatrix + id: XPSColumnSpecForecastingMetadata + XPSFileSpec: + properties: + singleFilePath: + description: Deprecated. Use file_spec. + deprecated: true + type: string + directoryPath: + description: Deprecated. Use file_spec. + deprecated: true + type: string + fileFormat: + enumDeprecated: + - false + - true + - false + - false + - false + - false + enumDescriptions: + - '' + - '' + - Internal format for parallel text data used by Google Translate. + - '' + - >- + Only the lexicographically first file described by the file_spec + contains the header line. + - '' + enum: + - FILE_FORMAT_UNKNOWN + - FILE_FORMAT_SSTABLE + - FILE_FORMAT_TRANSLATION_RKV + - FILE_FORMAT_RECORDIO + - FILE_FORMAT_RAW_CSV + - FILE_FORMAT_RAW_CAPACITOR + type: string + fileSpec: + type: string + description: >- + Single file path, or file pattern of format + "/path/to/file@shard_count". E.g. /cns/cell-d/somewhere/file@2 is + expanded to two files: /cns/cell-d/somewhere/file-00000-of-00002 and + /cns/cell-d/somewhere/file-00001-of-00002. + type: object + id: XPSFileSpec + description: >- + Spec of input and output files, on external file systems (for example, + Colossus Namespace System or Google Cloud Storage). + ClassifyTextResponse: + description: The document classification response message. type: object properties: - category: - items: - format: int32 - type: integer + languageCode: + type: string description: >- - Category (mainly for segmentation). Set only for image segmentation - models. Note: uCAIP Image Segmentation should use - annotation_spec_id_token. - type: array - annotationSpecIdToken: + The language of the text, which will be the same as the language + specified in the request or, if not specified, the + automatically-detected language. See Document.language field for + more details. + categories: items: - type: string - description: >- - For the following three repeated fields, only one is intended to be - set. annotation_spec_id_token is preferable to be set. ID tokens of - the annotation specs used in the confusion matrix. + $ref: '#/components/schemas/ClassificationCategory' type: array - row: + description: Categories representing the input document. + languageSupported: + type: boolean description: >- - Rows in the confusion matrix. The number of rows is equal to the - size of `annotation_spec_id_token`. `row[i].value[j]` is the number - of examples that have ground truth of the - `annotation_spec_id_token[i]` and are predicted as - `annotation_spec_id_token[j]` by the model being evaluated. + Whether the language is officially supported. The API may still + return a response when the language is not supported, but it is on a + best effort basis. + id: ClassifyTextResponse + XPSCoreMlFormat: + id: XPSCoreMlFormat + type: object + description: A model format used for iOS mobile devices. + properties: {} + XPSTablesModelStructureModelParametersParameter: + properties: + floatValue: + type: number + description: Float type parameter value. + format: double + name: + description: Parameter name. + type: string + intValue: + description: Integer type parameter value. + type: string + format: int64 + stringValue: + type: string + description: String type parameter value. + id: XPSTablesModelStructureModelParametersParameter + type: object + XPSSpeechEvaluationMetrics: + properties: + subModelEvaluationMetrics: items: - $ref: '#/components/schemas/XPSConfusionMatrixRow' - type: array - sentimentLabel: - description: >- - Sentiment labels used in the confusion matrix. Set only for text - sentiment models. For AutoML Text Revamp, use - `annotation_spec_id_token` instead and leave this field empty. + $ref: >- + #/components/schemas/XPSSpeechEvaluationMetricsSubModelEvaluationMetric type: array - items: - format: int32 - type: integer - description: Confusion matrix of the model running the classification. - XPSVideoActionMetricsEntryConfidenceMetricsEntry: + description: Evaluation metrics for all submodels contained in this model. + type: object + id: XPSSpeechEvaluationMetrics + XPSTrainingObjectivePoint: properties: - f1Score: - type: number - format: float - description: Output only. The harmonic mean of recall and precision. - precision: - type: number - description: Output only. Precision for the given confidence threshold. - format: float - recall: - type: number - description: Output only. Recall for the given confidence threshold. - format: float - confidenceThreshold: + createTime: + description: The time at which this point was recorded. + type: string + format: google-datetime + value: + description: The objective value when this point was recorded. format: float type: number - description: >- - Output only. The confidence threshold value used to compute the - metrics. - description: Metrics for a single confidence threshold. - type: object - id: XPSVideoActionMetricsEntryConfidenceMetricsEntry - XPSTfSavedModelFormat: - properties: {} - id: XPSTfSavedModelFormat - type: object - description: A tensorflow model format in SavedModel format. - XPSResponseExplanationMetadataInputMetadata: + id: XPSTrainingObjectivePoint type: object + Entity: + description: >- + Represents a phrase in the text that is a known entity, such as a + person, an organization, or location. The API associates information, + such as probability and mentions, with entities. properties: - visualizationConfig: - description: Visualization configurations for image explanation. - $ref: '#/components/schemas/XPSVisualization' - inputTensorName: + type: type: string + enumDescriptions: + - Unknown + - Person + - Location + - Organization + - Event + - Artwork + - Consumer product + - Other types of entities + - >- + Phone number The metadata lists the phone number, formatted + according to local convention, plus whichever additional elements + appear in the text: * `number` - the actual number, broken down + into sections as per local convention * `national_prefix` - + country code, if detected * `area_code` - region or area code, if + detected * `extension` - phone extension (to be dialed after + connection), if detected + - >- + Address The metadata identifies the street number and locality + plus whichever additional elements appear in the text: * + `street_number` - street number * `locality` - city or town * + `street_name` - street/route name, if detected * `postal_code` - + postal code, if detected * `country` - country, if detected * + `broad_region` - administrative area, such as the state, if + detected * `narrow_region` - smaller administrative area, such as + county, if detected * `sublocality` - used in Asian addresses to + demark a district within a city, if detected + - >- + Date The metadata identifies the components of the date: * `year` + - four digit year, if detected * `month` - two digit month number, + if detected * `day` - two digit day number, if detected + - Number The metadata is the number itself. + - Price The metadata identifies the `value` and `currency`. + description: The entity type. + enum: + - UNKNOWN + - PERSON + - LOCATION + - ORGANIZATION + - EVENT + - WORK_OF_ART + - CONSUMER_GOOD + - OTHER + - PHONE_NUMBER + - ADDRESS + - DATE + - NUMBER + - PRICE + name: + type: string + description: The representative name for the entity. + metadata: + type: object description: >- - Name of the input tensor for this model. Only needed in train - response. - modality: + Metadata associated with the entity. For the metadata associated + with other entity types, see the Type table below. + additionalProperties: + type: string + sentiment: + $ref: '#/components/schemas/Sentiment' + description: >- + For calls to AnalyzeEntitySentimentRequest or if + AnnotateTextRequest.Features.extract_entity_sentiment is set to + true, this field will contain the aggregate sentiment expressed for + this entity in the provided document. + mentions: + items: + $ref: '#/components/schemas/EntityMention' + description: >- + The mentions of this entity in the input document. The API currently + supports proper noun mentions. + type: array + type: object + id: Entity + XPSImageObjectDetectionModelSpec: + properties: + stopReason: enumDescriptions: - '' - '' - - '' - - '' + - Model fully converged, can not be resumbed training. + - >- + Model early converged, can be further trained till full + convergency. description: >- - Modality of the feature. Valid values are: numeric, image. Defaults - to numeric. + Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', + 'MODEL_CONVERGED'. enum: - - MODALITY_UNSPECIFIED - - NUMERIC - - IMAGE - - CATEGORICAL + - TRAIN_STOP_REASON_UNSPECIFIED + - TRAIN_STOP_REASON_BUDGET_REACHED + - TRAIN_STOP_REASON_MODEL_CONVERGED + - TRAIN_STOP_REASON_MODEL_EARLY_STOPPED + type: string + modelArtifactSpec: + description: '## The fields below are only populated under uCAIP request scope.' + $ref: '#/components/schemas/XPSImageModelArtifactSpec' + classCount: + type: string + format: int64 + description: Total number of classes. + exportModelSpec: + $ref: '#/components/schemas/XPSImageExportModelSpec' + trainCostNodeSeconds: type: string - description: Metadata of the input of a feature. - id: XPSResponseExplanationMetadataInputMetadata - Sentiment: - description: >- - Represents the feeling associated with the entire text or entities in - the text. - properties: - magnitude: description: >- - A non-negative number in the [0, +inf) range, which represents the - absolute magnitude of sentiment regardless of score (positive or - negative). - type: number + The actual train cost of creating this model, expressed in node + seconds, i.e. 3,600 value in this field means 1 node hour. + format: int64 + modelServingSpec: + $ref: '#/components/schemas/XPSImageModelServingSpec' + maxBoundingBoxCount: + type: string + format: int64 + description: Max number of bounding box. + id: XPSImageObjectDetectionModelSpec + type: object + XPSRegressionMetricsEntry: + type: object + properties: + predictedValue: format: float - score: + description: The observed value for a row in the dataset. type: number - description: >- - Sentiment score between -1.0 (negative sentiment) and 1.0 (positive - sentiment). + trueValue: format: float + type: number + description: The actual target value for a row in the dataset. + description: A pair of actual & observed values for the model being evaluated. + id: XPSRegressionMetricsEntry + XPSImageExportModelSpec: + id: XPSImageExportModelSpec type: object - id: Sentiment - XPSTablesClassificationMetrics: properties: - curveMetrics: - description: Metrics building a curve. - items: - $ref: '#/components/schemas/XPSTablesClassificationMetricsCurveMetrics' + exportModelOutputConfig: + description: >- + Contains the model format and internal location of the model files + to be exported/downloaded. Use the Google Cloud Storage bucket name + which is provided via TrainRequest.gcs_bucket_name to store the + model files. type: array - id: XPSTablesClassificationMetrics + items: + $ref: '#/components/schemas/XPSExportModelOutputConfig' + description: >- + Information of downloadable models that are pre-generated as part of + training flow and will be persisted in AutoMl backend. Upon receiving + ExportModel request from user, AutoMl backend can serve the + pre-generated models to user if exists (by copying the files from + internal path to user provided location), otherwise, AutoMl backend will + call xPS ExportModel API to generate the model on the fly with the + requesting format. + XPSVisionErrorAnalysisConfig: type: object - description: Metrics for Tables classification problems. - Status: + properties: + exampleCount: + type: integer + format: int32 + description: The number of query examples in error analysis. + queryType: + enumDescriptions: + - Unspecified query type for model error analysis. + - Query similar samples across all classes in the dataset. + - Query similar samples from the same class of the input sample. + - Query dissimilar samples from the same class of the input sample. + description: >- + The query type used in retrieval. The enum values are frozen in the + foreseeable future. + enum: + - QUERY_TYPE_UNSPECIFIED + - QUERY_TYPE_ALL_SIMILAR + - QUERY_TYPE_SAME_CLASS_SIMILAR + - QUERY_TYPE_SAME_CLASS_DISSIMILAR + type: string + id: XPSVisionErrorAnalysisConfig + description: 'The vision model error analysis configuration. Next tag: 3' + ClassifyTextRequest: + type: object + description: The document classification request message. + properties: + document: + description: Required. Input document. + $ref: '#/components/schemas/Document' + id: ClassifyTextRequest + XPSStructStats: type: object - id: Status - description: >- - 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). properties: - message: + fieldStats: + additionalProperties: + $ref: '#/components/schemas/XPSDataStats' + type: object description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + Map from a field name of the struct to data stats aggregated over + series of all data in that field across all the structs. + commonStats: + $ref: '#/components/schemas/XPSCommonStats' + description: The data statistics of a series of STRUCT values. + id: XPSStructStats + XPSTablesConfidenceMetricsEntry: + type: object + properties: + recall: + type: number + format: double + description: 'Recall = #true positives / (#true positives + #false negatives).' + truePositiveRate: + description: 'TPR = #true positives / (#true positives + #false negatvies)' + type: number + format: double + falseNegativeCount: + description: False negative count. type: string - details: - type: array + format: int64 + truePositiveCount: + format: int64 + description: True positive count. + type: string + confidenceThreshold: + type: number + format: double + description: The confidence threshold value used to compute the metrics. + falsePositiveCount: + format: int64 + description: False positive count. + type: string + falsePositiveRate: + description: 'FPR = #false positives / (#false positives + #true negatives)' + type: number + format: double + f1Score: + type: number + format: double description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - code: - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - format: int32 - XPSClassificationEvaluationMetrics: - id: XPSClassificationEvaluationMetrics + The harmonic mean of recall and precision. (2 * precision * recall) + / (precision + recall) + trueNegativeCount: + type: string + format: int64 + description: True negative count. + precision: + type: number + format: double + description: 'Precision = #true positives / (#true positives + #false positives).' + id: XPSTablesConfidenceMetricsEntry + description: Metrics for a single confidence threshold. + XPSTextExtractionEvaluationMetrics: type: object + id: XPSTextExtractionEvaluationMetrics properties: confidenceMetricsEntries: + type: array description: >- - Metrics that have confidence thresholds. Precision-recall curve can - be derived from it. + If the enclosing EvaluationMetrics.label is empty, + confidence_metrics_entries is an evaluation of the entire model + across all labels. If the enclosing EvaluationMetrics.label is set, + confidence_metrics_entries applies to that label. items: $ref: '#/components/schemas/XPSConfidenceMetricsEntry' - type: array - evaluatedExamplesCount: - type: integer - description: The number of examples used for model evaluation. - format: int32 - auRoc: - description: >- - The Area Under Receiver Operating Characteristic curve metric. - Micro-averaged for the overall evaluation. - format: float - type: number confusionMatrix: $ref: '#/components/schemas/XPSConfusionMatrix' description: >- - Confusion matrix of the evaluation. Only set for MULTICLASS - classification problems where number of annotation specs is no more - than 10. Only set for model level evaluation, not for evaluation per + Confusion matrix of the model, at the default confidence threshold + (0.0). Only set for whole-model evaluation, not for evaluation per label. - logLoss: - description: The Log Loss metric. - format: float - type: number - auPrc: - format: float - type: number - description: The Area under precision recall curve metric. - baseAuPrc: - type: number - format: float - description: The Area under precision recall curve metric based on priors. - description: >- - Model evaluation metrics for classification problems. It can be used for - image and video classification. Next tag: 9. - XPSResponseExplanationMetadata: - properties: - inputs: - description: Metadata of the input. - additionalProperties: - $ref: '#/components/schemas/XPSResponseExplanationMetadataInputMetadata' - type: object - outputs: - description: Metadata of the output. + perLabelConfidenceMetrics: + deprecated: true + description: Only recall, precision, and f1_score will be set. type: object additionalProperties: - $ref: '#/components/schemas/XPSResponseExplanationMetadataOutputMetadata' - deprecated: true - type: object - id: XPSResponseExplanationMetadata - AnalyzeEntitiesResponse: - description: The entity analysis response message. + $ref: '#/components/schemas/XPSConfidenceMetricsEntry' + bestF1ConfidenceMetrics: + deprecated: true + description: >- + Values are at the highest F1 score on the precision-recall curve. + Only confidence_threshold, recall, precision, and f1_score will be + set. + $ref: '#/components/schemas/XPSConfidenceMetricsEntry' + XPSImageClassificationTrainResponse: type: object + id: XPSImageClassificationTrainResponse properties: - languageSupported: - type: boolean + modelServingSpec: + $ref: '#/components/schemas/XPSImageModelServingSpec' + modelArtifactSpec: + description: '## The fields below are only populated under uCAIP request scope.' + $ref: '#/components/schemas/XPSImageModelArtifactSpec' + trainCostNodeSeconds: + format: int64 + type: string description: >- - Whether the language is officially supported. The API may still - return a response when the language is not supported, but it is on a - best effort basis. - entities: - items: - $ref: '#/components/schemas/Entity' - description: The recognized entities in the input document. - type: array - languageCode: + The actual training cost, expressed in node seconds. Populated for + models trained in node time. + exportModelSpec: + $ref: '#/components/schemas/XPSImageExportModelSpec' + description: >- + Information of downloadable models that are pre-generated as part of + training flow and will be persisted in AutoMl backend. Populated for + AutoMl requests. + classCount: + description: Total number of classes. + format: int64 + type: string + stopReason: + enum: + - TRAIN_STOP_REASON_UNSPECIFIED + - TRAIN_STOP_REASON_BUDGET_REACHED + - TRAIN_STOP_REASON_MODEL_CONVERGED + - TRAIN_STOP_REASON_MODEL_EARLY_STOPPED + description: >- + Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', + 'MODEL_CONVERGED', 'MODEL_EARLY_STOPPED'. + enumDescriptions: + - '' + - '' + - Model fully converged, can not be resumbed training. + - >- + Model early converged, can be further trained till full + convergency. + type: string + trainCostInNodeTime: type: string description: >- - The language of the text, which will be the same as the language - specified in the request or, if not specified, the - automatically-detected language. See Document.language field for - more details. - id: AnalyzeEntitiesResponse - XPSVideoExportModelSpec: - id: XPSVideoExportModelSpec - type: object + The actual cost to create this model. - For edge type model, the + cost is expressed in node hour. - For cloud type model,the cost is + expressed in compute hour. - Populated for models created before GA. + To be deprecated after GA. + format: google-duration + XPSFloat64Stats: + id: XPSFloat64Stats + description: The data statistics of a series of FLOAT64 values. properties: - exportModelOutputConfig: + commonStats: + $ref: '#/components/schemas/XPSCommonStats' + standardDeviation: + format: double + description: The standard deviation of the series. + type: number + histogramBuckets: items: - $ref: '#/components/schemas/XPSExportModelOutputConfig' + $ref: '#/components/schemas/XPSFloat64StatsHistogramBucket' type: array description: >- - Contains the model format and internal location of the model files - to be exported/downloaded. Use the GCS bucket name which is provided - via TrainRequest.gcs_bucket_name to store the model files. - description: >- - Information of downloadable models that are pre-generated as part of - training flow and will be persisted in AutoMl backend. Upon receiving - ExportModel request from user, AutoMl backend can serve the - pre-generated models to user if exists (by copying the files from - internal path to user provided location), otherwise, AutoMl backend will - call xPS ExportModel API to generate the model on the fly with the - requesting format. - XPSVideoTrainingOperationMetadata: - id: XPSVideoTrainingOperationMetadata + Histogram buckets of the data series. Sorted by the min value of the + bucket, ascendingly, and the number of the buckets is dynamically + generated. The buckets are non-overlapping and completely cover + whole FLOAT64 range with min of first bucket being `"-Infinity"`, + and max of the last one being `"Infinity"`. + mean: + description: The mean of the series. + format: double + type: number + quantiles: + items: + type: number + format: double + description: >- + Ordered from 0 to k k-quantile values of the data series of n + values. The value at index i is, approximately, the i*n/k-th + smallest value in the series; for i = 0 and i = k these are, + respectively, the min and max values. + type: array + type: object + XPSVideoBatchPredictOperationMetadata: properties: - trainCostMilliNodeHour: + outputExamples: + items: + type: string description: >- - This is an estimation of the node hours necessary for training a - model, expressed in milli node hours (i.e. 1,000 value in this field - means 1 node hour). A node hour represents the time a virtual - machine spends running your training job. The cost of one node - running for one hour is a node hour. - type: string - format: int64 + All the partial batch prediction results that are completed at the + moment. Output examples are sorted by completion time. The order + will not be changed. Each output example should be the path of a + single RecordIO file of AnnotatedExamples. + type: array + id: XPSVideoBatchPredictOperationMetadata type: object - XPSDataType: + XPSStructType: type: object + id: XPSStructType properties: - compatibleDataTypes: + fields: + additionalProperties: + $ref: '#/components/schemas/XPSDataType' + type: object + description: Unordered map of struct field names to their data types. + description: '`StructType` defines the DataType-s of a STRUCT type.' + XPSImageSegmentationEvaluationMetrics: + type: object + properties: + confidenceMetricsEntries: + description: >- + Metrics that have confidence thresholds. Precision-recall curve can + be derived from it. type: array items: - $ref: '#/components/schemas/XPSDataType' - description: The highly compatible data types to this data type. - nullable: - description: If true, this DataType can also be `null`. - type: boolean - timeFormat: + $ref: >- + #/components/schemas/XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry + description: 'Model evaluation metrics for image segmentation problems. Next tag: 4.' + id: XPSImageSegmentationEvaluationMetrics + XPSTableSpec: + id: XPSTableSpec + type: object + properties: + importedDataSizeInBytes: + description: The total size of imported data of the table. + format: int64 type: string - description: >- - If type_code == TIMESTAMP then `time_format` provides the format in - which that time field is expressed. The time_format must be written - in `strftime` syntax. If time_format is not set, then the default - format as described on the field is used. - structType: - $ref: '#/components/schemas/XPSStructType' - description: >- - If type_code == STRUCT, then `struct_type` provides type information - for the struct's fields. - typeCode: + columnSpecs: + type: object + description: Mapping from column id to column spec. + additionalProperties: + $ref: '#/components/schemas/XPSColumnSpec' + validRowCount: + format: int64 + description: The number of valid rows. + type: string + rowCount: + format: int64 + description: The number of rows in the table. + type: string + timeColumnId: + type: integer + description: The id of the time column. + format: int32 + ModerateTextRequest: + type: object + description: The document moderation request message. + properties: + document: + description: Required. Input document. + $ref: '#/components/schemas/Document' + modelVersion: + description: Optional. The model version to use for ModerateText. + enum: + - MODEL_VERSION_UNSPECIFIED + - MODEL_VERSION_1 + - MODEL_VERSION_2 enumDescriptions: - - Not specified. Should not be used. - - >- - Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or - `"-Infinity"`. - - >- - Must be between 0AD and 9999AD. Encoded as `string` according to - time_format, or, if that format is not set, then in RFC 3339 - `date-time` format, where `time-offset` = `"Z"` (e.g. - 1985-04-12T23:20:50.52Z). - - Encoded as `string`. - - >- - Encoded as `list`, where the list elements are represented - according to list_element_type. + - The default model version. - >- - Encoded as `struct`, where field values are represented according - to struct_type. + Use the v1 model, this model is used by default when not provided. + The v1 model only returns probability (confidence) score for each + category. - >- - Values of this type are not further understood by AutoML, e.g. - AutoML is unable to tell the order of values (as it could with - FLOAT64), or is unable to say if one value contains another (as it - could with STRING). Encoded as `string` (bytes should be - base64-encoded, as described in RFC 4648, section 4). - enum: - - TYPE_CODE_UNSPECIFIED - - FLOAT64 - - TIMESTAMP - - STRING - - ARRAY - - STRUCT - - CATEGORY - description: Required. The TypeCode for this type. + Use the v2 model. The v2 model only returns probability + (confidence) score for each category, and returns severity score + for a subset of the categories. type: string - listElementType: - $ref: '#/components/schemas/XPSDataType' - description: >- - If type_code == ARRAY, then `list_element_type` is the type of the - elements. - id: XPSDataType - description: >- - Indicated the type of data that can be stored in a structured data - entity (e.g. a table). - TpuMetric: + id: ModerateTextRequest + Color: type: object - id: TpuMetric properties: - tpuSec: - type: string - format: int64 - description: Required. Seconds of TPU usage, e.g. 3600. - tpuType: - type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - description: Required. Type of TPU, e.g. TPU_V2, TPU_V3_POD. - enum: - - UNKNOWN_TPU_TYPE - - TPU_V2_POD - - TPU_V2 - - TPU_V3_POD - - TPU_V3 - - TPU_V5_LITEPOD - XPSImageObjectDetectionEvaluationMetrics: - id: XPSImageObjectDetectionEvaluationMetrics + red: + format: float + type: number + description: The amount of red in the color as a value in the interval [0, 1]. + alpha: + description: >- + The fraction of this color that should be applied to the pixel. That + is, the final pixel color is defined by the equation: `pixel color = + alpha * (this color) + (1.0 - alpha) * (background color)` This + means that a value of 1.0 corresponds to a solid color, whereas a + value of 0.0 corresponds to a completely transparent color. This + uses a wrapper message rather than a simple float scalar so that it + is possible to distinguish between a default value and the value + being unset. If omitted, this color object is rendered as a solid + color (as if the alpha value had been explicitly given a value of + 1.0). + type: number + format: float + green: + format: float + type: number + description: The amount of green in the color as a value in the interval [0, 1]. + blue: + type: number + description: The amount of blue in the color as a value in the interval [0, 1]. + format: float description: >- - Model evaluation metrics for image object detection problems. Evaluates - prediction quality of labeled bounding boxes. + Represents a color in the RGBA color space. This representation is + designed for simplicity of conversion to and from color representations + in various languages over compactness. For example, the fields of this + representation can be trivially provided to the constructor of + `java.awt.Color` in Java; it can also be trivially provided to UIColor's + `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little + work, it can be easily formatted into a CSS `rgba()` string in + JavaScript. This reference page doesn't have information about the + absolute color space that should be used to interpret the RGB value—for + example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications + should assume the sRGB color space. When color equality needs to be + decided, implementations, unless documented otherwise, treat two colors + as equal if all their red, green, blue, and alpha values each differ by + at most `1e-5`. Example (Java): import com.google.type.Color; // ... + public static java.awt.Color fromProto(Color protocolor) { float alpha = + protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return + new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), + protocolor.getBlue(), alpha); } public static Color + toProto(java.awt.Color color) { float red = (float) color.getRed(); + float green = (float) color.getGreen(); float blue = (float) + color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder + = Color .newBuilder() .setRed(red / denominator) .setGreen(green / + denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); + if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() + .setValue(((float) alpha) / denominator) .build()); } return + resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static + UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; + float green = [protocolor green]; float blue = [protocolor blue]; + FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if + (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return + [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static + Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if + (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return + nil; } Color* result = [[Color alloc] init]; [result setRed:red]; + [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { + [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; + return result; } // ... Example (JavaScript): // ... var protoToCssColor + = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var + greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || + 0.0; var red = Math.floor(redFrac * 255); var green = + Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if + (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } + var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, + ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var + rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString + = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var + resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { + resultBuilder.push('0'); } resultBuilder.push(hexString); return + resultBuilder.join(''); }; // ... + id: Color + XPSBoundingBoxMetricsEntryConfidenceMetricsEntry: + description: Metrics for a single confidence threshold. + id: XPSBoundingBoxMetricsEntryConfidenceMetricsEntry + type: object properties: - evaluatedBoundingBoxCount: - format: int32 - description: >- - The total number of bounding boxes (i.e. summed over all images) the - ground truth used to create this evaluation had. - type: integer - boundingBoxMeanAveragePrecision: - description: >- - The single metric for bounding boxes evaluation: the - mean_average_precision averaged over all - bounding_box_metrics_entries. + precision: format: float + description: Precision for the given confidence threshold. type: number - boundingBoxMetricsEntries: - description: >- - The bounding boxes match metrics for each Intersection-over-union - threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label - confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair. - type: array - items: - $ref: '#/components/schemas/XPSBoundingBoxMetricsEntry' - type: object - XPSTrackMetricsEntry: - id: XPSTrackMetricsEntry - type: object - properties: - meanBoundingBoxIou: + confidenceThreshold: type: number + description: The confidence threshold value used to compute the metrics. format: float - description: >- - Output only. The mean bounding box iou over all confidence - thresholds. - meanMismatchRate: - format: float + recall: + description: Recall for the given confidence threshold. type: number - description: Output only. The mean mismatch rate over all confidence thresholds. - iouThreshold: format: float - description: >- - Output only. The intersection-over-union threshold value between - bounding boxes across frames used to compute this metric entry. - type: number - confidenceMetricsEntries: - type: array - items: - $ref: '#/components/schemas/XPSTrackMetricsEntryConfidenceMetricsEntry' - description: >- - Output only. Metrics for each label-match confidence_threshold from - 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is - derived from them. - meanTrackingAveragePrecision: - description: >- - Output only. The mean average precision over all confidence - thresholds. - type: number + f1Score: + description: The harmonic mean of recall and precision. format: float - description: >- - Track matching model metrics for a single track match threshold and - multiple label match confidence thresholds. Next tag: 6. - XPSVisionTrainingOperationMetadata: - properties: - explanationUsage: - description: >- - Aggregated infra usage within certain time period, for billing - report purpose if XAI is enable in training request. - $ref: '#/components/schemas/InfraUsage' - type: object - id: XPSVisionTrainingOperationMetadata - deprecated: true - XPSDataStats: - description: The data statistics of a series of values that share the same DataType. - id: XPSDataStats - type: object - properties: - distinctValueCount: - description: The number of distinct values. - type: string - format: int64 - arrayStats: - description: The statistics for ARRAY DataType. - $ref: '#/components/schemas/XPSArrayStats' - validValueCount: - description: The number of values that are valid. - format: int64 - type: string - timestampStats: - description: The statistics for TIMESTAMP DataType. - $ref: '#/components/schemas/XPSTimestampStats' - structStats: - $ref: '#/components/schemas/XPSStructStats' - description: The statistics for STRUCT DataType. - nullValueCount: - description: The number of values that are null. - type: string - format: int64 - float64Stats: - $ref: '#/components/schemas/XPSFloat64Stats' - description: The statistics for FLOAT64 DataType. - categoryStats: - $ref: '#/components/schemas/XPSCategoryStats' - description: The statistics for CATEGORY DataType. - stringStats: - $ref: '#/components/schemas/XPSStringStats' - description: The statistics for STRING DataType. - XPSImageModelServingSpec: - id: XPSImageModelServingSpec - properties: - tfRuntimeVersion: - type: string - description: >- - ## The fields below are only populated under uCAIP request scope. - https://cloud.google.com/ml-engine/docs/runtime-version-list - nodeQps: - format: double - description: >- - An estimated value of how much traffic a node can serve. Populated - for AutoMl request only. type: number - modelThroughputEstimation: - items: - $ref: >- - #/components/schemas/XPSImageModelServingSpecModelThroughputEstimation - description: Populate under uCAIP request scope. - type: array - description: Serving specification for image models. - type: object parameters: - access_token: - description: OAuth access token. + callback: + description: JSONP in: query - name: access_token + name: callback schema: type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + access_token: + description: OAuth access token. in: query - name: key + name: access_token schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + _.xgafv: + description: V1 error format. in: query - name: uploadType + name: $.xgafv schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + enum: + - '1' + - '2' + alt: + description: Data format for response. in: query - name: upload_protocol + name: alt schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + enum: + - json + - media + - proto + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: oauth_token + name: fields schema: type: string - callback: - description: JSONP + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: callback + name: key schema: type: string prettyPrint: @@ -4863,19 +4868,16 @@ components: name: prettyPrint schema: type: boolean - _.xgafv: - description: V1 error format. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: $.xgafv + name: upload_protocol schema: type: string - enum: - - '1' - - '2' - fields: - description: Selector specifying which fields to include in a partial response. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: fields + name: uploadType schema: type: string quotaUser: @@ -4887,31 +4889,27 @@ components: name: quotaUser schema: type: string - alt: - description: Data format for response. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: alt + name: oauth_token schema: type: string - enum: - - json - - media - - proto x-stackQL-resources: documents: id: google.language.documents name: documents title: Documents methods: - classify_text: + moderate_text: operation: - $ref: '#/paths/~1v2~1documents:classifyText/post' + $ref: '#/paths/~1v2~1documents:moderateText/post' response: mediaType: application/json openAPIDocKey: '200' - analyze_sentiment: + classify_text: operation: - $ref: '#/paths/~1v2~1documents:analyzeSentiment/post' + $ref: '#/paths/~1v2~1documents:classifyText/post' response: mediaType: application/json openAPIDocKey: '200' @@ -4927,9 +4925,9 @@ components: response: mediaType: application/json openAPIDocKey: '200' - moderate_text: + analyze_sentiment: operation: - $ref: '#/paths/~1v2~1documents:moderateText/post' + $ref: '#/paths/~1v2~1documents:analyzeSentiment/post' response: mediaType: application/json openAPIDocKey: '200' @@ -4940,27 +4938,27 @@ components: replace: [] delete: [] paths: - /v2/documents:classifyText: + /v2/documents:moderateText: parameters: &ref_1 - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/oauth_token' post: - description: Classifies a document into categories. - operationId: language.documents.classifyText + description: Moderates a document for harmful and sensitive categories. + operationId: language.documents.moderateText requestBody: content: application/json: schema: - $ref: '#/components/schemas/ClassifyTextRequest' + $ref: '#/components/schemas/ModerateTextRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-language @@ -4976,18 +4974,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ClassifyTextResponse' + $ref: '#/components/schemas/ModerateTextResponse' parameters: [] - /v2/documents:analyzeSentiment: + /v2/documents:classifyText: parameters: *ref_1 post: - description: Analyzes the sentiment of the provided text. - operationId: language.documents.analyzeSentiment + description: Classifies a document into categories. + operationId: language.documents.classifyText requestBody: content: application/json: schema: - $ref: '#/components/schemas/AnalyzeSentimentRequest' + $ref: '#/components/schemas/ClassifyTextRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-language @@ -5003,7 +5001,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AnalyzeSentimentResponse' + $ref: '#/components/schemas/ClassifyTextResponse' parameters: [] /v2/documents:annotateText: parameters: *ref_1 @@ -5062,16 +5060,16 @@ paths: schema: $ref: '#/components/schemas/AnalyzeEntitiesResponse' parameters: [] - /v2/documents:moderateText: + /v2/documents:analyzeSentiment: parameters: *ref_1 post: - description: Moderates a document for harmful and sensitive categories. - operationId: language.documents.moderateText + description: Analyzes the sentiment of the provided text. + operationId: language.documents.analyzeSentiment requestBody: content: application/json: schema: - $ref: '#/components/schemas/ModerateTextRequest' + $ref: '#/components/schemas/AnalyzeSentimentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-language @@ -5087,5 +5085,5 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ModerateTextResponse' + $ref: '#/components/schemas/AnalyzeSentimentResponse' parameters: [] diff --git a/providers/src/googleapis.com/v00.00.00000/services/libraryagent.yaml b/providers/src/googleapis.com/v00.00.00000/services/libraryagent.yaml index d9def9cb..99240d7a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/libraryagent.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/libraryagent.yaml @@ -7,8 +7,8 @@ info: title: Library Agent API description: A simple Google Example Library API. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241104' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/docs/quota servers: @@ -34,72 +34,72 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleExampleLibraryagentV1Shelf: + GoogleExampleLibraryagentV1Book: properties: name: type: string description: >- - Output only. The resource name of the shelf. Shelf names have the - form `shelves/{shelf_id}`. The name is ignored when creating a - shelf. - theme: - description: The theme of the shelf + 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. + read: + type: boolean + description: Value indicating whether the book has been read. + author: type: string + description: The name of the book author. + title: + description: The title of the book. + type: string + description: A single book in the library. + id: GoogleExampleLibraryagentV1Book type: object - id: GoogleExampleLibraryagentV1Shelf - description: A Shelf contains a collection of books with a theme. GoogleExampleLibraryagentV1ListBooksResponse: - type: object - id: GoogleExampleLibraryagentV1ListBooksResponse - description: Response message for LibraryAgent.ListBooks. properties: nextPageToken: + type: string description: >- A token to retrieve next page of results. Pass this value in the ListBooksRequest.page_token field in the subsequent call to `ListBooks` method to retrieve the next page of results. - type: string books: - description: The list of books. type: array + description: The list of books. items: $ref: '#/components/schemas/GoogleExampleLibraryagentV1Book' - GoogleExampleLibraryagentV1ListShelvesResponse: - description: Response message for LibraryAgent.ListShelves. + description: Response message for LibraryAgent.ListBooks. type: object - id: GoogleExampleLibraryagentV1ListShelvesResponse + id: GoogleExampleLibraryagentV1ListBooksResponse + GoogleExampleLibraryagentV1ListShelvesResponse: properties: + shelves: + type: array + description: The list of shelves. + items: + $ref: '#/components/schemas/GoogleExampleLibraryagentV1Shelf' nextPageToken: - type: string description: >- A token to retrieve next page of results. Pass this value in the ListShelvesRequest.page_token field in the subsequent call to `ListShelves` method to retrieve the next page of results. - shelves: - description: The list of shelves. - items: - $ref: '#/components/schemas/GoogleExampleLibraryagentV1Shelf' - type: array - GoogleExampleLibraryagentV1Book: - description: A single book in the library. - properties: - author: type: string - description: The name of the book author. + type: object + description: Response message for LibraryAgent.ListShelves. + id: GoogleExampleLibraryagentV1ListShelvesResponse + GoogleExampleLibraryagentV1Shelf: + description: A Shelf contains a collection of books with a theme. + type: object + id: GoogleExampleLibraryagentV1Shelf + properties: name: description: >- - 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. + Output only. The resource name of the shelf. Shelf names have the + form `shelves/{shelf_id}`. The name is ignored when creating a + shelf. type: string - title: + theme: + description: The theme of the shelf type: string - description: The title of the book. - read: - description: Value indicating whether the book has been read. - type: boolean - type: object - id: GoogleExampleLibraryagentV1Book parameters: access_token: description: OAuth access token. @@ -107,18 +107,16 @@ components: name: access_token schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + alt: + description: Data format for response. in: query - name: upload_protocol + name: alt schema: type: string + enum: + - json + - media + - proto quotaUser: description: >- Available to use for quota purposes for server-side applications. Can be @@ -143,32 +141,22 @@ components: enum: - '1' - '2' - alt: - description: Data format for response. + callback: + description: JSONP in: query - name: alt + name: callback schema: type: string - enum: - - json - - media - - proto prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - callback: - description: JSONP + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: callback + name: upload_protocol schema: type: string key: @@ -180,34 +168,46 @@ components: name: key schema: type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string x-stackQL-resources: books: id: google.libraryagent.books name: books title: Books methods: - get: + list: operation: - $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books~1{booksId}/get' + $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books/get' response: mediaType: application/json openAPIDocKey: '200' - list: + objectKey: $.books + return: operation: - $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books/get' + $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books~1{booksId}:return/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.books - borrow: + get: operation: - $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books~1{booksId}:borrow/post' + $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books~1{booksId}/get' response: mediaType: application/json openAPIDocKey: '200' - return: + borrow: operation: - $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books~1{booksId}:return/post' + $ref: '#/paths/~1v1~1shelves~1{shelvesId}~1books~1{booksId}:borrow/post' response: mediaType: application/json openAPIDocKey: '200' @@ -246,22 +246,25 @@ components: replace: [] delete: [] paths: - /v1/shelves/{shelvesId}/books/{booksId}: + /v1/shelves/{shelvesId}/books: parameters: &ref_1 - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/uploadType' get: - description: Gets a book. Returns NOT_FOUND if the book does not exist. - operationId: libraryagent.shelves.books.get + description: >- + 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. + operationId: libraryagent.shelves.books.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -273,26 +276,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleExampleLibraryagentV1Book' + $ref: >- + #/components/schemas/GoogleExampleLibraryagentV1ListBooksResponse parameters: - in: path name: shelvesId required: true schema: type: string - - in: path - name: booksId - required: true + - in: query + name: pageToken schema: type: string - /v1/shelves/{shelvesId}/books: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/shelves/{shelvesId}/books/{booksId}:return: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: libraryagent.shelves.books.list + 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. + operationId: libraryagent.shelves.books.return security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -304,32 +312,23 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleExampleLibraryagentV1ListBooksResponse + $ref: '#/components/schemas/GoogleExampleLibraryagentV1Book' parameters: - in: path name: shelvesId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: booksId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/shelves/{shelvesId}/books/{booksId}:borrow: + /v1/shelves/{shelvesId}/books/{booksId}: parameters: *ref_1 - post: - description: >- - 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. - operationId: libraryagent.shelves.books.borrow + get: + description: Gets a book. Returns NOT_FOUND if the book does not exist. + operationId: libraryagent.shelves.books.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -353,14 +352,15 @@ paths: required: true schema: type: string - /v1/shelves/{shelvesId}/books/{booksId}:return: + /v1/shelves/{shelvesId}/books/{booksId}:borrow: parameters: *ref_1 post: description: >- - 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. - operationId: libraryagent.shelves.books.return + 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. + operationId: libraryagent.shelves.books.borrow security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform diff --git a/providers/src/googleapis.com/v00.00.00000/services/lifesciences.yaml b/providers/src/googleapis.com/v00.00.00000/services/lifesciences.yaml index 109f03a8..f3d6fb29 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/lifesciences.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/lifesciences.yaml @@ -9,8 +9,8 @@ info: Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data. version: v2beta - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/life-sciences servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/logging.yaml b/providers/src/googleapis.com/v00.00.00000/services/logging.yaml index cf7a3625..3c07b9ea 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/logging.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/logging.yaml @@ -7,8 +7,8 @@ info: title: Cloud Logging API description: Writes log entries and manages your Cloud Logging configuration. version: v2 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/logging/docs/ servers: @@ -851,7 +851,8 @@ components: properties: name: description: >- - Output only. The resource name of the log scope.For + Output only. The resource name of the log scope.Log scopes are only + available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope readOnly: true type: string @@ -860,7 +861,7 @@ components: 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 + log scope can include a maximum of 5 projects and a maximum of 100 resources in total. type: array items: diff --git a/providers/src/googleapis.com/v00.00.00000/services/looker.yaml b/providers/src/googleapis.com/v00.00.00000/services/looker.yaml index afadd210..33917cf6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/looker.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/looker.yaml @@ -7,8 +7,8 @@ info: title: Looker (Google Cloud core) API description: '' version: v1 - x-discovery-doc-revision: '20240910' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/looker/docs/reference/rest/ servers: @@ -431,23 +431,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 DenyMaintenancePeriod: diff --git a/providers/src/googleapis.com/v00.00.00000/services/managedidentities.yaml b/providers/src/googleapis.com/v00.00.00000/services/managedidentities.yaml index 7835f931..cd9d205e 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/managedidentities.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/managedidentities.yaml @@ -11,7 +11,7 @@ info: (AD). version: v1 x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/managed-microsoft-ad/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/memcache.yaml b/providers/src/googleapis.com/v00.00.00000/services/memcache.yaml index d0b34e40..33989668 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/memcache.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/memcache.yaml @@ -9,8 +9,8 @@ info: Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP. version: v1 - x-discovery-doc-revision: '20240902' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241010' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/memorystore/ servers: @@ -565,23 +565,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 MaintenanceSchedule: @@ -1398,6 +1403,327 @@ components: type: array items: type: string + AssetLocation: + id: AssetLocation + description: >- + Provides the mapping of a cloud asset to a direct physical location or + to a proxy that defines the location on its behalf. + type: object + properties: + expected: + description: >- + Defines the customer expectation around ZI/ZS for this asset and + ZI/ZS state of the region at the time of asset creation. + $ref: '#/components/schemas/IsolationExpectations' + locationData: + description: Contains all kinds of physical location definitions for this asset. + type: array + items: + $ref: '#/components/schemas/LocationData' + parentAsset: + description: >- + Defines parents assets if any in order to allow later generation of + child_asset_location data via child assets. + type: array + items: + $ref: '#/components/schemas/CloudAsset' + extraParameters: + description: Defines extra parameters required for specific asset types. + type: array + items: + $ref: '#/components/schemas/ExtraParameter' + ccfeRmsPath: + description: >- + Spanner path of the CCFE RMS database. It is only applicable for + CCFE tenants that use CCFE RMS for storing resource metadata. + type: string + IsolationExpectations: + id: IsolationExpectations + type: object + properties: + zoneIsolation: + description: >- + Deprecated: use zi_org_policy, zi_region_policy and zi_region_state + instead for setting ZI expectations as per + go/zicy-publish-physical-location. + deprecated: true + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_UNSPECIFIED + - ZI_UNKNOWN + - ZI_NOT_REQUIRED + - ZI_PREFERRED + - ZI_REQUIRED + zoneSeparation: + description: >- + Deprecated: use zs_org_policy, and zs_region_stateinstead for + setting Zs expectations as per go/zicy-publish-physical-location. + deprecated: true + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZS_UNSPECIFIED + - ZS_UNKNOWN + - ZS_NOT_REQUIRED + - ZS_REQUIRED + zsOrgPolicy: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZS_UNSPECIFIED + - ZS_UNKNOWN + - ZS_NOT_REQUIRED + - ZS_REQUIRED + zsRegionState: + type: string + enumDescriptions: + - '' + - To be used if tracking of the asset ZS-bit is not available + - '' + - '' + enum: + - ZS_REGION_UNSPECIFIED + - ZS_REGION_UNKNOWN + - ZS_REGION_NOT_ENABLED + - ZS_REGION_ENABLED + ziOrgPolicy: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_UNSPECIFIED + - ZI_UNKNOWN + - ZI_NOT_REQUIRED + - ZI_PREFERRED + - ZI_REQUIRED + ziRegionPolicy: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_REGION_POLICY_UNSPECIFIED + - ZI_REGION_POLICY_UNKNOWN + - ZI_REGION_POLICY_NOT_SET + - ZI_REGION_POLICY_FAIL_OPEN + - ZI_REGION_POLICY_FAIL_CLOSED + ziRegionState: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZI_REGION_UNSPECIFIED + - ZI_REGION_UNKNOWN + - ZI_REGION_NOT_ENABLED + - ZI_REGION_ENABLED + requirementOverride: + description: >- + Explicit overrides for ZI and ZS requirements to be used for + resources that should be excluded from ZI/ZS verification logic. + $ref: '#/components/schemas/RequirementOverride' + RequirementOverride: + id: RequirementOverride + type: object + properties: + ziOverride: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + - '' + enum: + - ZI_UNSPECIFIED + - ZI_UNKNOWN + - ZI_NOT_REQUIRED + - ZI_PREFERRED + - ZI_REQUIRED + zsOverride: + type: string + enumDescriptions: + - '' + - To be used if tracking is not available + - '' + - '' + enum: + - ZS_UNSPECIFIED + - ZS_UNKNOWN + - ZS_NOT_REQUIRED + - ZS_REQUIRED + LocationData: + id: LocationData + type: object + properties: + directLocation: + $ref: '#/components/schemas/DirectLocationAssignment' + spannerLocation: + $ref: '#/components/schemas/SpannerLocation' + childAssetLocation: + $ref: '#/components/schemas/CloudAssetComposition' + gcpProjectProxy: + $ref: '#/components/schemas/TenantProjectProxy' + blobstoreLocation: + $ref: '#/components/schemas/BlobstoreLocation' + placerLocation: + $ref: '#/components/schemas/PlacerLocation' + DirectLocationAssignment: + id: DirectLocationAssignment + type: object + properties: + location: + type: array + items: + $ref: '#/components/schemas/LocationAssignment' + LocationAssignment: + id: LocationAssignment + type: object + properties: + location: + type: string + locationType: + type: string + enumDescriptions: + - '' + - '1-10: Physical failure domains.' + - '' + - '11-20: Logical failure domains.' + - '' + - '' + - '' + - '' + - '' + enum: + - UNSPECIFIED + - CLUSTER + - POP + - CLOUD_ZONE + - CLOUD_REGION + - MULTI_REGION_GEO + - MULTI_REGION_JURISDICTION + - GLOBAL + - OTHER + SpannerLocation: + id: SpannerLocation + type: object + properties: + dbName: + description: Set of databases used by the resource in format /span// + type: array + items: + type: string + backupName: + description: >- + Set of backups used by the resource with name in the same format as + what is available at http://table/spanner_automon.backup_metadata + type: array + items: + type: string + CloudAssetComposition: + id: CloudAssetComposition + type: object + properties: + childAsset: + type: array + items: + $ref: '#/components/schemas/CloudAsset' + CloudAsset: + id: CloudAsset + type: object + properties: + assetType: + type: string + assetName: + type: string + TenantProjectProxy: + id: TenantProjectProxy + type: object + properties: + projectNumbers: + type: array + items: + type: string + BlobstoreLocation: + id: BlobstoreLocation + description: >- + Policy ID that identified data placement in Blobstore as per + go/blobstore-user-guide#data-metadata-placement-and-failure-domains + type: object + properties: + policyId: + type: array + items: + type: string + PlacerLocation: + id: PlacerLocation + description: >- + Message describing that the location of the customer resource is tied to + placer allocations + type: object + properties: + placerConfig: + description: >- + Directory with a config related to it in placer (e.g. + "/placer/prod/home/my-root/my-dir") + type: string + ExtraParameter: + id: ExtraParameter + description: Defines parameters that should only be used for specific asset types. + type: object + properties: + regionalMigDistributionPolicy: + description: >- + Details about zones used by regional + compute.googleapis.com/InstanceGroupManager to create instances. + $ref: '#/components/schemas/RegionalMigDistributionPolicy' + RegionalMigDistributionPolicy: + id: RegionalMigDistributionPolicy + description: >- + To be used for specifying the intended distribution of regional + compute.googleapis.com/InstanceGroupManager instances + type: object + properties: + zones: + description: Cloud zones used by regional MIG to create instances. + type: array + items: + $ref: '#/components/schemas/ZoneConfiguration' + targetShape: + description: >- + The shape in which the group converges around distribution of + resources. Instance of proto2 enum + type: integer + format: int32 + ZoneConfiguration: + id: ZoneConfiguration + type: object + properties: + zone: + type: string parameters: access_token: description: OAuth access token. diff --git a/providers/src/googleapis.com/v00.00.00000/services/metastore.yaml b/providers/src/googleapis.com/v00.00.00000/services/metastore.yaml index ad745e10..b628114d 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/metastore.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/metastore.yaml @@ -9,8 +9,8 @@ info: The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services. version: v1 - x-discovery-doc-revision: '20240910' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/dataproc-metastore/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/migrationcenter.yaml b/providers/src/googleapis.com/v00.00.00000/services/migrationcenter.yaml index c4e79475..c6a76603 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/migrationcenter.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/migrationcenter.yaml @@ -9,8 +9,8 @@ info: A unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/migration-center servers: @@ -297,7 +297,10 @@ components: description: Hardware vendor. type: string cpuThreadCount: - description: Number of CPU threads allocated to the machine. + description: >- + Deprecated: use MachineDetails.core_count instead. Number of CPU + threads allocated to the machine. + deprecated: true type: integer format: int32 cpuSocketCount: @@ -1080,6 +1083,17 @@ components: vcenterVmId: description: vCenter VM ID. type: string + esxHyperthreading: + description: Whether the ESX is hyperthreaded. + type: string + enumDescriptions: + - Simultaneous Multithreading status unknown. + - Simultaneous Multithreading is disabled or unavailable. + - Simultaneous Multithreading is enabled. + enum: + - HYPERTHREADING_STATUS_UNSPECIFIED + - HYPERTHREADING_STATUS_DISABLED + - HYPERTHREADING_STATUS_ENABLED AwsEc2PlatformDetails: id: AwsEc2PlatformDetails description: AWS EC2 specific details. @@ -1091,6 +1105,17 @@ components: location: description: The location of the machine in the AWS format. type: string + hyperthreading: + description: Optional. Whether the machine is hyperthreaded. + type: string + enumDescriptions: + - Simultaneous Multithreading status unknown. + - Simultaneous Multithreading is disabled or unavailable. + - Simultaneous Multithreading is enabled. + enum: + - HYPERTHREADING_STATUS_UNSPECIFIED + - HYPERTHREADING_STATUS_DISABLED + - HYPERTHREADING_STATUS_ENABLED AzureVmPlatformDetails: id: AzureVmPlatformDetails description: Azure VM specific details. @@ -1105,6 +1130,17 @@ components: provisioningState: description: Azure platform's provisioning state. type: string + hyperthreading: + description: Whether the machine is hyperthreaded. + type: string + enumDescriptions: + - Simultaneous Multithreading status unknown. + - Simultaneous Multithreading is disabled or unavailable. + - Simultaneous Multithreading is enabled. + enum: + - HYPERTHREADING_STATUS_UNSPECIFIED + - HYPERTHREADING_STATUS_DISABLED + - HYPERTHREADING_STATUS_ENABLED GenericPlatformDetails: id: GenericPlatformDetails description: Generic platform details. @@ -1116,6 +1152,17 @@ components: field should not be relied on. Different VMs in the same location may have different string values for this field. type: string + hyperthreading: + description: Whether the machine is hyperthreaded. + type: string + enumDescriptions: + - Simultaneous Multithreading status unknown. + - Simultaneous Multithreading is disabled or unavailable. + - Simultaneous Multithreading is enabled. + enum: + - HYPERTHREADING_STATUS_UNSPECIFIED + - HYPERTHREADING_STATUS_DISABLED + - HYPERTHREADING_STATUS_ENABLED PhysicalPlatformDetails: id: PhysicalPlatformDetails description: Platform specific details for Physical Machines. @@ -1127,6 +1174,17 @@ components: field should not be relied on. Different machines in the same location may have different string values for this field. type: string + hyperthreading: + description: Whether the machine is hyperthreaded. + type: string + enumDescriptions: + - Simultaneous Multithreading status unknown. + - Simultaneous Multithreading is disabled or unavailable. + - Simultaneous Multithreading is enabled. + enum: + - HYPERTHREADING_STATUS_UNSPECIFIED + - HYPERTHREADING_STATUS_DISABLED + - HYPERTHREADING_STATUS_ENABLED InsightList: id: InsightList description: Message containing insights list. @@ -1240,10 +1298,7 @@ components: readOnly: true type: string enumDescriptions: - - >- - Unspecified (default value). Selecting this value allows the - system to use any disk type according to reported usage. This a - good value to start with. + - Unspecified. Fallback to default value based on context. - Standard HDD Persistent Disk. - Balanced Persistent Disk. - SSD Persistent Disk. @@ -2538,10 +2593,7 @@ components: considered, based on available usage data. type: string enumDescriptions: - - >- - Unspecified (default value). Selecting this value allows the - system to use any disk type according to reported usage. This a - good value to start with. + - Unspecified. Fallback to default value based on context. - Standard HDD Persistent Disk. - Balanced Persistent Disk. - SSD Persistent Disk. @@ -2889,7 +2941,7 @@ components: description: Count of assets grouped by Operating System families. $ref: '#/components/schemas/ReportSummaryChartData' coreCountHistogram: - description: Histogram showing a distribution of CPU core counts. + description: Histogram showing a distribution of logical CPU core counts. $ref: '#/components/schemas/ReportSummaryHistogramChartData' memoryBytesHistogram: description: Histogram showing a distribution of memory sizes. @@ -3090,10 +3142,7 @@ components: items: type: string enumDescriptions: - - >- - Unspecified (default value). Selecting this value allows the - system to use any disk type according to reported usage. This a - good value to start with. + - Unspecified. Fallback to default value based on context. - Standard HDD Persistent Disk. - Balanced Persistent Disk. - SSD Persistent Disk. diff --git a/providers/src/googleapis.com/v00.00.00000/services/ml.yaml b/providers/src/googleapis.com/v00.00.00000/services/ml.yaml index d4a72ba4..838caa14 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/ml.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/ml.yaml @@ -7,8 +7,8 @@ info: title: AI Platform Training & Prediction API description: An API to enable creating and using machine learning models. version: v1 - x-discovery-doc-revision: '20240816' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241026' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/ml/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/monitoring.yaml b/providers/src/googleapis.com/v00.00.00000/services/monitoring.yaml index 23c33456..89dbbf1e 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/monitoring.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/monitoring.yaml @@ -7,8 +7,8 @@ info: title: Cloud Monitoring API description: Manages your Cloud Monitoring data and configurations. version: v3 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/monitoring/api/ servers: @@ -1296,7 +1296,7 @@ components: description: >- A description of the conditions under which some aspect of your system is considered to be "unhealthy" and the ways to notify people or - services about this state. For an overview of alert policies, see + services about this state. For an overview of alerting policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/). type: object properties: @@ -1396,9 +1396,9 @@ components: type: boolean validity: description: >- - Read-only description of how the alert policy is invalid. This field - is only set when the alert policy is invalid. An invalid alert - policy will not generate incidents. + Read-only description of how the alerting policy is invalid. This + field is only set when the alerting policy is invalid. An invalid + alerting policy will not generate incidents. $ref: '#/components/schemas/Status' notificationChannels: description: >- @@ -1425,12 +1425,12 @@ components: $ref: '#/components/schemas/MutationRecord' alertStrategy: description: >- - Control over how this alert policy's notification channels are + Control over how this alerting policy's notification channels are notified. $ref: '#/components/schemas/AlertStrategy' severity: description: >- - Optional. The severity of an alert policy indicates how important + Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. type: string @@ -1569,6 +1569,9 @@ components: A condition that uses the Prometheus query language to define alerts. $ref: '#/components/schemas/PrometheusQueryLanguageCondition' + conditionSql: + description: A condition that periodically evaluates a SQL query result. + $ref: '#/components/schemas/SqlCondition' MetricThreshold: id: MetricThreshold description: >- @@ -2158,7 +2161,7 @@ components: MonitoringQueryLanguageCondition: id: MonitoringQueryLanguageCondition description: >- - A condition type that allows alert policies to be defined using + A condition type that allows alerting policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql). type: object properties: @@ -2214,7 +2217,7 @@ components: PrometheusQueryLanguageCondition: id: PrometheusQueryLanguageCondition description: >- - A condition type that allows alert policies to be defined using + A condition type that allows alerting policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a @@ -2305,6 +2308,172 @@ components: (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). This field may not exceed 2048 Unicode characters in length. type: string + SqlCondition: + id: SqlCondition + description: >- + A condition that allows alerting policies to be defined using GoogleSQL. + SQL conditions examine a sliding window of logs using GoogleSQL. Alert + policies with SQL conditions may incur additional billing. + type: object + properties: + query: + description: >- + Required. The Log Analytics SQL query to run, as a string. The query + must conform to the required shape. Specifically, the query must not + try to filter the input by time. A filter will automatically be + applied to filter the input so that the query receives all rows + received since the last time the query was run.For example, the + following query extracts all log entries containing an HTTP + request:SELECT timestamp, log_name, severity, http_request, + resource, labels FROM my-project.global._Default._AllLogs WHERE + http_request IS NOT NULL + type: string + minutes: + description: Schedule the query to execute every so many minutes. + $ref: '#/components/schemas/Minutes' + hourly: + description: Schedule the query to execute every so many hours. + $ref: '#/components/schemas/Hourly' + daily: + description: Schedule the query to execute every so many days. + $ref: '#/components/schemas/Daily' + rowCountTest: + description: Test the row count against a threshold. + $ref: '#/components/schemas/RowCountTest' + booleanTest: + description: Test the boolean value in the indicated column. + $ref: '#/components/schemas/BooleanTest' + Minutes: + id: Minutes + description: Used to schedule the query to run every so many minutes. + type: object + properties: + periodicity: + description: >- + Required. Number of minutes between runs. The interval must be + greater than or equal to 5 minutes and less than or equal to 1440 + minutes. + type: integer + format: int32 + Hourly: + id: Hourly + description: Used to schedule the query to run every so many hours. + type: object + properties: + periodicity: + description: >- + Required. The number of hours between runs. Must be greater than or + equal to 1 hour and less than or equal to 48 hours. + type: integer + format: int32 + minuteOffset: + description: >- + Optional. The number of minutes after the hour (in UTC) to run the + query. Must be greater than or equal to 0 minutes and less than or + equal to 59 minutes. If left unspecified, then an arbitrary offset + is used. + type: integer + format: int32 + Daily: + id: Daily + description: Used to schedule the query to run every so many days. + type: object + properties: + periodicity: + description: >- + Required. The number of days between runs. Must be greater than or + equal to 1 day and less than or equal to 31 days. + type: integer + format: int32 + executionTime: + description: >- + Optional. The time of day (in UTC) at which the query should run. If + left unspecified, the server picks an arbitrary time of day and runs + the query at the same time each day. + $ref: '#/components/schemas/TimeOfDay' + TimeOfDay: + id: TimeOfDay + description: >- + Represents a time of day. The date and time zone are either not + significant or are specified elsewhere. An API may choose to allow leap + seconds. Related types are google.type.Date and + google.protobuf.Timestamp. + type: object + properties: + hours: + description: >- + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. + type: integer + format: int32 + minutes: + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. + type: integer + format: int32 + seconds: + description: >- + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. + type: integer + format: int32 + nanos: + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. + type: integer + format: int32 + RowCountTest: + id: RowCountTest + description: >- + A test that checks if the number of rows in the result set violates some + threshold. + type: object + properties: + comparison: + description: >- + Required. The comparison to apply between the number of rows + returned by the query and the threshold. + type: string + enumDescriptions: + - No ordering relationship is specified. + - True if the left argument is greater than the right argument. + - >- + True if the left argument is greater than or equal to the right + argument. + - True if the left argument is less than the right argument. + - >- + True if the left argument is less than or equal to the right + argument. + - True if the left argument is equal to the right argument. + - True if the left argument is not equal to the right argument. + enum: + - COMPARISON_UNSPECIFIED + - COMPARISON_GT + - COMPARISON_GE + - COMPARISON_LT + - COMPARISON_LE + - COMPARISON_EQ + - COMPARISON_NE + threshold: + description: Required. The value against which to compare the row count. + type: string + format: int64 + BooleanTest: + id: BooleanTest + description: >- + A test that uses an alerting result in a boolean column produced by the + SQL query. + type: object + properties: + column: + description: >- + Required. The name of the column containing the boolean value. If + the value in a row is NULL, that row is ignored. + type: string MutationRecord: id: MutationRecord description: Describes a change made to a configuration. @@ -2326,13 +2495,29 @@ components: properties: notificationRateLimit: description: >- - Required for log-based alert policies, i.e. policies with a LogMatch - condition.This limit is not implemented for alert policies that do - not have a LogMatch condition. + Required for log-based alerting policies, i.e. policies with a + LogMatch condition.This limit is not implemented for alerting + policies that do not have a LogMatch condition. $ref: '#/components/schemas/NotificationRateLimit' + notificationPrompts: + description: >- + For log-based alert policies, the notification prompts is always + OPENED. For non log-based alert policies, the notification prompts + can be OPENED or OPENED, CLOSED. + type: array + items: + type: string + enumDescriptions: + - No strategy specified. Treated as error. + - Notify when an incident is opened. + - Notify when an incident is closed. + enum: + - NOTIFICATION_PROMPT_UNSPECIFIED + - OPENED + - CLOSED autoClose: description: >- - If an alert policy that was active has no data for this long, any + If an alerting policy that was active has no data for this long, any open incidents will close type: string format: google-duration @@ -2344,7 +2529,7 @@ components: NotificationRateLimit: id: NotificationRateLimit description: >- - Control over the rate of notifications sent to this alert policy's + Control over the rate of notifications sent to this alerting policy's notification channels. type: object properties: diff --git a/providers/src/googleapis.com/v00.00.00000/services/netapp.yaml b/providers/src/googleapis.com/v00.00.00000/services/netapp.yaml new file mode 100644 index 00000000..d88c2b61 --- /dev/null +++ b/providers/src/googleapis.com/v00.00.00000/services/netapp.yaml @@ -0,0 +1,4775 @@ +openapi: 3.1.0 +info: + contact: + name: StackQL Studios + url: https://github.com/stackql/google-discovery-to-openapi + email: info@stackql.io + title: NetApp API + description: >- + Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage + service that provides advanced data management capabilities and highly + scalable performance with global availability. + version: v1 + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' +externalDocs: + url: https://cloud.google.com/netapp/ +servers: + - url: https://netapp.googleapis.com +components: + securitySchemes: + Oauth2: + type: oauth2 + description: Oauth 2.0 implicit authentication + flows: + implicit: + authorizationUrl: https://accounts.google.com/o/oauth2/auth + scopes: &ref_0 + 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. + Oauth2c: + type: oauth2 + description: Oauth 2.0 authorization code authentication + flows: + authorizationCode: + authorizationUrl: https://accounts.google.com/o/oauth2/auth + tokenUrl: https://accounts.google.com/o/oauth2/token + scopes: *ref_0 + schemas: + ListLocationsResponse: + id: ListLocationsResponse + description: The response message for Locations.ListLocations. + type: object + properties: + locations: + description: >- + A list of locations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/Location' + nextPageToken: + description: The standard List next-page token. + type: string + Location: + id: Location + description: A resource that represents a Google Cloud location. + type: object + properties: + name: + description: >- + Resource name for the location, which may vary between + implementations. For example: + `"projects/example-project/locations/us-east1"` + type: string + locationId: + description: 'The canonical id for this location. For example: `"us-east1"`.' + type: string + displayName: + description: >- + The friendly name for this location, typically a nearby city name. + For example, "Tokyo". + type: string + labels: + description: >- + Cross-service attributes for the location. For example + {"cloud.googleapis.com/region": "us-east1"} + type: object + additionalProperties: + type: string + metadata: + description: >- + Service-specific metadata. For example the available capacity at the + given location. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + ListOperationsResponse: + id: ListOperationsResponse + description: The response message for Operations.ListOperations. + type: object + properties: + operations: + description: >- + A list of operations that matches the specified filter in the + request. + type: array + items: + $ref: '#/components/schemas/Operation' + nextPageToken: + description: The standard List next-page token. + type: string + Operation: + id: Operation + description: >- + This resource represents a long-running operation that is the result of + a network API call. + type: object + properties: + name: + description: >- + 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}`. + type: string + metadata: + description: >- + 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. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + done: + description: >- + 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. + type: boolean + error: + description: >- + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/Status' + response: + description: >- + 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`. + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + Status: + id: Status + description: >- + 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). + type: object + properties: + code: + description: The status code, which should be an enum value of google.rpc.Code. + type: integer + format: int32 + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + details: + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + GoogleProtobufEmpty: + id: GoogleProtobufEmpty + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + type: object + properties: {} + CancelOperationRequest: + id: CancelOperationRequest + description: The request message for Operations.CancelOperation. + type: object + properties: {} + ListStoragePoolsResponse: + id: ListStoragePoolsResponse + description: ListStoragePoolsResponse is the response to a ListStoragePoolsRequest. + type: object + properties: + storagePools: + description: The list of StoragePools + type: array + items: + $ref: '#/components/schemas/StoragePool' + nextPageToken: + description: A token identifying a page of results the server should return. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + StoragePool: + id: StoragePool + description: >- + StoragePool is a container for volumes with a service level and + capacity. Volumes can be created in a pool of sufficient available + capacity. StoragePool capacity is what you are billed for. + type: object + properties: + name: + description: Identifier. Name of the storage pool + type: string + serviceLevel: + description: Required. Service level of the storage pool + type: string + enumDescriptions: + - Unspecified service level. + - Premium service level. + - Extreme service level. + - Standard service level. + - Flex service level. + enum: + - SERVICE_LEVEL_UNSPECIFIED + - PREMIUM + - EXTREME + - STANDARD + - FLEX + capacityGib: + description: Required. Capacity in GIB of the pool + type: string + format: int64 + volumeCapacityGib: + description: >- + Output only. Allocated size of all volumes in GIB in the storage + pool + readOnly: true + type: string + format: int64 + volumeCount: + description: Output only. Volume count of the storage pool + readOnly: true + type: integer + format: int32 + state: + description: Output only. State of the storage pool + readOnly: true + type: string + enumDescriptions: + - Unspecified Storage Pool State + - Storage Pool State is Ready + - Storage Pool State is Creating + - Storage Pool State is Deleting + - Storage Pool State is Updating + - Storage Pool State is Restoring + - Storage Pool State is Disabled + - Storage Pool State is Error + enum: + - STATE_UNSPECIFIED + - READY + - CREATING + - DELETING + - UPDATING + - RESTORING + - DISABLED + - ERROR + stateDetails: + description: Output only. State details of the storage pool + readOnly: true + type: string + createTime: + description: Output only. Create time of the storage pool + readOnly: true + type: string + format: google-datetime + description: + description: Optional. Description of the storage pool + type: string + labels: + description: Optional. Labels as key value pairs + type: object + additionalProperties: + type: string + network: + description: >- + Required. VPC Network name. Format: + projects/{project}/global/networks/{network} + type: string + activeDirectory: + description: >- + Optional. Specifies the Active Directory to be used for creating a + SMB volume. + type: string + kmsConfig: + description: Optional. Specifies the KMS config to be used for volume encryption. + type: string + ldapEnabled: + description: Optional. Flag indicating if the pool is NFS LDAP enabled or not. + type: boolean + psaRange: + description: >- + Optional. This field is not implemented. The values provided in this + field are ignored. + type: string + encryptionType: + description: Output only. Specifies the current pool encryption key source. + readOnly: true + type: string + enumDescriptions: + - The source of the encryption key is not specified. + - Google managed encryption key. + - Customer managed encryption key, which is stored in KMS. + enum: + - ENCRYPTION_TYPE_UNSPECIFIED + - SERVICE_MANAGED + - CLOUD_KMS + globalAccessAllowed: + description: >- + Deprecated. Used to allow SO pool to access AD or DNS server from + other regions. + deprecated: true + type: boolean + allowAutoTiering: + description: >- + Optional. True if the storage pool supports Auto Tiering enabled + volumes. Default is false. Auto-tiering can be enabled after storage + pool creation but it can't be disabled once enabled. + type: boolean + replicaZone: + description: Optional. Specifies the replica zone for regional storagePool. + type: string + zone: + description: Optional. Specifies the active zone for regional storagePool. + type: string + SwitchActiveReplicaZoneRequest: + id: SwitchActiveReplicaZoneRequest + description: >- + SwitchActiveReplicaZoneRequest switch the active/replica zone for a + regional storagePool. + type: object + properties: {} + ListVolumesResponse: + id: ListVolumesResponse + description: Message for response to listing Volumes + type: object + properties: + volumes: + description: The list of Volume + type: array + items: + $ref: '#/components/schemas/Volume' + nextPageToken: + description: A token identifying a page of results the server should return. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + Volume: + id: Volume + description: Volume provides a filesystem that you can mount. + type: object + properties: + name: + description: Identifier. Name of the volume + type: string + state: + description: Output only. State of the volume + readOnly: true + type: string + enumDescriptions: + - Unspecified Volume State + - Volume State is Ready + - Volume State is Creating + - Volume State is Deleting + - Volume State is Updating + - Volume State is Restoring + - Volume State is Disabled + - Volume State is Error + enum: + - STATE_UNSPECIFIED + - READY + - CREATING + - DELETING + - UPDATING + - RESTORING + - DISABLED + - ERROR + stateDetails: + description: Output only. State details of the volume + readOnly: true + type: string + createTime: + description: Output only. Create time of the volume + readOnly: true + type: string + format: google-datetime + shareName: + description: Required. Share name of the volume + type: string + psaRange: + description: >- + Output only. This field is not implemented. The values provided in + this field are ignored. + readOnly: true + type: string + storagePool: + description: Required. StoragePool name of the volume + type: string + network: + description: >- + Output only. VPC Network name. Format: + projects/{project}/global/networks/{network} + readOnly: true + type: string + serviceLevel: + description: Output only. Service level of the volume + readOnly: true + type: string + enumDescriptions: + - Unspecified service level. + - Premium service level. + - Extreme service level. + - Standard service level. + - Flex service level. + enum: + - SERVICE_LEVEL_UNSPECIFIED + - PREMIUM + - EXTREME + - STANDARD + - FLEX + capacityGib: + description: Required. Capacity in GIB of the volume + type: string + format: int64 + exportPolicy: + description: Optional. Export policy of the volume + $ref: '#/components/schemas/ExportPolicy' + protocols: + description: Required. Protocols required for the volume + type: array + items: + type: string + enumDescriptions: + - Unspecified protocol + - NFS V3 protocol + - NFS V4 protocol + - SMB protocol + enum: + - PROTOCOLS_UNSPECIFIED + - NFSV3 + - NFSV4 + - SMB + smbSettings: + description: Optional. SMB share settings for the volume. + type: array + items: + type: string + enumDescriptions: + - Unspecified default option + - SMB setting encrypt data + - SMB setting browsable + - SMB setting notify change + - SMB setting not to notify change + - SMB setting oplocks + - SMB setting to show snapshots + - SMB setting to show previous versions + - SMB setting to access volume based on enumerartion + - Continuously available enumeration + enum: + - SMB_SETTINGS_UNSPECIFIED + - ENCRYPT_DATA + - BROWSABLE + - CHANGE_NOTIFY + - NON_BROWSABLE + - OPLOCKS + - SHOW_SNAPSHOT + - SHOW_PREVIOUS_VERSIONS + - ACCESS_BASED_ENUMERATION + - CONTINUOUSLY_AVAILABLE + mountOptions: + description: Output only. Mount options of this volume + readOnly: true + type: array + items: + $ref: '#/components/schemas/MountOption' + unixPermissions: + description: >- + Optional. Default unix style permission (e.g. 777) the mount point + will be created with. Applicable for NFS protocol types only. + type: string + labels: + description: Optional. Labels as key value pairs + type: object + additionalProperties: + type: string + description: + description: Optional. Description of the volume + type: string + snapshotPolicy: + description: Optional. SnapshotPolicy for a volume. + $ref: '#/components/schemas/SnapshotPolicy' + snapReserve: + description: >- + Optional. Snap_reserve specifies percentage of volume storage + reserved for snapshot storage. Default is 0 percent. + type: number + format: double + snapshotDirectory: + description: >- + Optional. Snapshot_directory if enabled (true) the volume will + contain a read-only .snapshot directory which provides access to + each of the volume's snapshots. + type: boolean + usedGib: + description: >- + Output only. Used capacity in GIB of the volume. This is computed + periodically and it does not represent the realtime usage. + readOnly: true + type: string + format: int64 + securityStyle: + description: Optional. Security Style of the Volume + type: string + enumDescriptions: + - SecurityStyle is unspecified + - SecurityStyle uses NTFS + - SecurityStyle uses UNIX + enum: + - SECURITY_STYLE_UNSPECIFIED + - NTFS + - UNIX + kerberosEnabled: + description: >- + Optional. Flag indicating if the volume is a kerberos volume or not, + export policy rules control kerberos security modes (krb5, krb5i, + krb5p). + type: boolean + ldapEnabled: + description: >- + Output only. Flag indicating if the volume is NFS LDAP enabled or + not. + readOnly: true + type: boolean + activeDirectory: + description: Output only. Specifies the ActiveDirectory name of a SMB volume. + readOnly: true + type: string + restoreParameters: + description: Optional. Specifies the source of the volume to be created from. + $ref: '#/components/schemas/RestoreParameters' + kmsConfig: + description: >- + Output only. Specifies the KMS config to be used for volume + encryption. + readOnly: true + type: string + encryptionType: + description: Output only. Specified the current volume encryption key source. + readOnly: true + type: string + enumDescriptions: + - The source of the encryption key is not specified. + - Google managed encryption key. + - Customer managed encryption key, which is stored in KMS. + enum: + - ENCRYPTION_TYPE_UNSPECIFIED + - SERVICE_MANAGED + - CLOUD_KMS + hasReplication: + description: >- + Output only. Indicates whether the volume is part of a replication + relationship. + readOnly: true + type: boolean + backupConfig: + description: BackupConfig of the volume. + $ref: '#/components/schemas/BackupConfig' + restrictedActions: + description: Optional. List of actions that are restricted on this volume. + type: array + items: + type: string + enumDescriptions: + - Unspecified restricted action + - Prevent volume from being deleted when mounted. + enum: + - RESTRICTED_ACTION_UNSPECIFIED + - DELETE + largeCapacity: + description: >- + Optional. Flag indicating if the volume will be a large capacity + volume or a regular volume. + type: boolean + multipleEndpoints: + description: >- + Optional. Flag indicating if the volume will have an IP address per + node for volumes supporting multiple IP endpoints. Only the volume + with large_capacity will be allowed to have multiple endpoints. + type: boolean + tieringPolicy: + description: Tiering policy for the volume. + $ref: '#/components/schemas/TieringPolicy' + replicaZone: + description: Output only. Specifies the replica zone for regional volume. + readOnly: true + type: string + zone: + description: Output only. Specifies the active zone for regional volume. + readOnly: true + type: string + coldTierSizeGib: + description: Output only. Size of the volume cold tier data in GiB. + readOnly: true + type: string + format: int64 + ExportPolicy: + id: ExportPolicy + description: Defines the export policy for the volume. + type: object + properties: + rules: + description: Required. List of export policy rules + type: array + items: + $ref: '#/components/schemas/SimpleExportPolicyRule' + SimpleExportPolicyRule: + id: SimpleExportPolicyRule + description: An export policy rule describing various export options. + type: object + properties: + allowedClients: + description: Comma separated list of allowed clients IP addresses + type: string + hasRootAccess: + description: Whether Unix root access will be granted. + type: string + accessType: + description: Access type (ReadWrite, ReadOnly, None) + type: string + enumDescriptions: + - Unspecified Access Type + - Read Only + - Read Write + - None + enum: + - ACCESS_TYPE_UNSPECIFIED + - READ_ONLY + - READ_WRITE + - READ_NONE + nfsv3: + description: NFS V3 protocol. + type: boolean + nfsv4: + description: NFS V4 protocol. + type: boolean + kerberos5ReadOnly: + description: >- + If enabled (true) the rule defines a read only access for clients + matching the 'allowedClients' specification. It enables nfs clients + to mount using 'authentication' kerberos security mode. + type: boolean + kerberos5ReadWrite: + description: >- + If enabled (true) the rule defines read and write access for clients + matching the 'allowedClients' specification. It enables nfs clients + to mount using 'authentication' kerberos security mode. The + 'kerberos5ReadOnly' value be ignored if this is enabled. + type: boolean + kerberos5iReadOnly: + description: >- + If enabled (true) the rule defines a read only access for clients + matching the 'allowedClients' specification. It enables nfs clients + to mount using 'integrity' kerberos security mode. + type: boolean + kerberos5iReadWrite: + description: >- + If enabled (true) the rule defines read and write access for clients + matching the 'allowedClients' specification. It enables nfs clients + to mount using 'integrity' kerberos security mode. The + 'kerberos5iReadOnly' value be ignored if this is enabled. + type: boolean + kerberos5pReadOnly: + description: >- + If enabled (true) the rule defines a read only access for clients + matching the 'allowedClients' specification. It enables nfs clients + to mount using 'privacy' kerberos security mode. + type: boolean + kerberos5pReadWrite: + description: >- + If enabled (true) the rule defines read and write access for clients + matching the 'allowedClients' specification. It enables nfs clients + to mount using 'privacy' kerberos security mode. The + 'kerberos5pReadOnly' value be ignored if this is enabled. + type: boolean + MountOption: + id: MountOption + description: View only mount options for a volume. + type: object + properties: + export: + description: Export string + type: string + exportFull: + description: Full export string + type: string + protocol: + description: Protocol to mount with. + type: string + enumDescriptions: + - Unspecified protocol + - NFS V3 protocol + - NFS V4 protocol + - SMB protocol + enum: + - PROTOCOLS_UNSPECIFIED + - NFSV3 + - NFSV4 + - SMB + instructions: + description: Instructions for mounting + type: string + SnapshotPolicy: + id: SnapshotPolicy + description: Snapshot Policy for a volume. + type: object + properties: + enabled: + description: >- + If enabled, make snapshots automatically according to the schedules. + Default is false. + type: boolean + hourlySchedule: + description: Hourly schedule policy. + $ref: '#/components/schemas/HourlySchedule' + dailySchedule: + description: Daily schedule policy. + $ref: '#/components/schemas/DailySchedule' + weeklySchedule: + description: Weekly schedule policy. + $ref: '#/components/schemas/WeeklySchedule' + monthlySchedule: + description: Monthly schedule policy. + $ref: '#/components/schemas/MonthlySchedule' + HourlySchedule: + id: HourlySchedule + description: Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. + type: object + properties: + snapshotsToKeep: + description: The maximum number of Snapshots to keep for the hourly schedule + type: number + format: double + minute: + description: >- + Set the minute of the hour to start the snapshot (0-59), defaults to + the top of the hour (0). + type: number + format: double + DailySchedule: + id: DailySchedule + description: Make a snapshot every day e.g. at 04:00, 05:20, 23:50 + type: object + properties: + snapshotsToKeep: + description: The maximum number of Snapshots to keep for the hourly schedule + type: number + format: double + minute: + description: >- + Set the minute of the hour to start the snapshot (0-59), defaults to + the top of the hour (0). + type: number + format: double + hour: + description: Set the hour to start the snapshot (0-23), defaults to midnight (0). + type: number + format: double + WeeklySchedule: + id: WeeklySchedule + description: >- + Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday + 23:50 + type: object + properties: + snapshotsToKeep: + description: The maximum number of Snapshots to keep for the hourly schedule + type: number + format: double + minute: + description: >- + Set the minute of the hour to start the snapshot (0-59), defaults to + the top of the hour (0). + type: number + format: double + hour: + description: Set the hour to start the snapshot (0-23), defaults to midnight (0). + type: number + format: double + day: + description: >- + Set the day or days of the week to make a snapshot. Accepts a comma + separated days of the week. Defaults to 'Sunday'. + type: string + MonthlySchedule: + id: MonthlySchedule + description: Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 + type: object + properties: + snapshotsToKeep: + description: The maximum number of Snapshots to keep for the hourly schedule + type: number + format: double + minute: + description: >- + Set the minute of the hour to start the snapshot (0-59), defaults to + the top of the hour (0). + type: number + format: double + hour: + description: Set the hour to start the snapshot (0-23), defaults to midnight (0). + type: number + format: double + daysOfMonth: + description: >- + Set the day or days of the month to make a snapshot (1-31). Accepts + a comma separated number of days. Defaults to '1'. + type: string + RestoreParameters: + id: RestoreParameters + description: The RestoreParameters if volume is created from a snapshot or backup. + type: object + properties: + sourceSnapshot: + description: >- + Full name of the snapshot resource. Format: + projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} + type: string + sourceBackup: + description: >- + Full name of the backup resource. Format: + projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id} + type: string + BackupConfig: + id: BackupConfig + description: BackupConfig contains backup related config on a volume. + type: object + properties: + backupPolicies: + description: >- + Optional. When specified, schedule backups will be created based on + the policy configuration. + type: array + items: + type: string + backupVault: + description: >- + Optional. Name of backup vault. Format: + projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id} + type: string + scheduledBackupEnabled: + description: >- + Optional. When set to true, scheduled backup is enabled on the + volume. This field should be nil when there's no backup policy + attached. + type: boolean + backupChainBytes: + description: >- + Output only. Total size of all backups in a chain in bytes = + baseline backup size + sum(incremental backup size). + readOnly: true + type: string + format: int64 + TieringPolicy: + id: TieringPolicy + description: Defines tiering policy for the volume. + type: object + properties: + tierAction: + description: >- + Optional. Flag indicating if the volume has tiering policy + enable/pause. Default is PAUSED. + type: string + enumDescriptions: + - Unspecified. + - When tiering is enabled, new cold data will be tiered. + - >- + When paused, tiering won't be performed on new data. Existing data + stays tiered until accessed. + enum: + - TIER_ACTION_UNSPECIFIED + - ENABLED + - PAUSED + coolingThresholdDays: + description: >- + Optional. Time in days to mark the volume's data block as cold and + make it eligible for tiering, can be range from 7-183. Default is + 31. + type: integer + format: int32 + RevertVolumeRequest: + id: RevertVolumeRequest + description: RevertVolumeRequest reverts the given volume to the specified snapshot. + type: object + properties: + snapshotId: + description: >- + Required. The snapshot resource ID, in the format 'my-snapshot', + where the specified ID is the {snapshot_id} of the fully qualified + name like + projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id} + type: string + ListSnapshotsResponse: + id: ListSnapshotsResponse + description: ListSnapshotsResponse is the result of ListSnapshotsRequest. + type: object + properties: + snapshots: + description: A list of snapshots in the project for the specified volume. + type: array + items: + $ref: '#/components/schemas/Snapshot' + nextPageToken: + description: >- + The token you can use to retrieve the next page of results. Not + returned if there are no more results in the list. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + Snapshot: + id: Snapshot + description: Snapshot is a point-in-time version of a Volume's content. + type: object + properties: + name: + description: >- + Identifier. The resource name of the snapshot. Format: + `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + type: string + state: + description: Output only. The snapshot state. + readOnly: true + type: string + enumDescriptions: + - Unspecified Snapshot State + - Snapshot State is Ready + - Snapshot State is Creating + - Snapshot State is Deleting + - Snapshot State is Updating + - Snapshot State is Disabled + - Snapshot State is Error + enum: + - STATE_UNSPECIFIED + - READY + - CREATING + - DELETING + - UPDATING + - DISABLED + - ERROR + stateDetails: + description: Output only. State details of the storage pool + readOnly: true + type: string + description: + description: >- + A description of the snapshot with 2048 characters or less. Requests + with longer descriptions will be rejected. + type: string + usedBytes: + description: Output only. Current storage usage for the snapshot in bytes. + readOnly: true + type: number + format: double + createTime: + description: Output only. The time when the snapshot was created. + readOnly: true + type: string + format: google-datetime + labels: + description: Resource labels to represent user provided metadata. + type: object + additionalProperties: + type: string + ListActiveDirectoriesResponse: + id: ListActiveDirectoriesResponse + description: >- + ListActiveDirectoriesResponse contains all the active directories + requested. + type: object + properties: + activeDirectories: + description: The list of active directories. + type: array + items: + $ref: '#/components/schemas/ActiveDirectory' + nextPageToken: + description: A token identifying a page of results the server should return. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + ActiveDirectory: + id: ActiveDirectory + description: >- + ActiveDirectory is the public representation of the active directory + config. + type: object + properties: + name: + description: >- + Identifier. The resource name of the active directory. Format: + `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + type: string + createTime: + description: Output only. Create time of the active directory. + readOnly: true + type: string + format: google-datetime + state: + description: Output only. The state of the AD. + readOnly: true + type: string + enumDescriptions: + - Unspecified Active Directory State + - Active Directory State is Creating + - Active Directory State is Ready + - Active Directory State is Updating + - Active Directory State is In use + - Active Directory State is Deleting + - Active Directory State is Error + - Active Directory State is Diagnosing. + enum: + - STATE_UNSPECIFIED + - CREATING + - READY + - UPDATING + - IN_USE + - DELETING + - ERROR + - DIAGNOSING + domain: + description: Required. Name of the Active Directory domain + type: string + site: + description: >- + The Active Directory site the service will limit Domain Controller + discovery too. + type: string + dns: + description: >- + Required. Comma separated list of DNS server IP addresses for the + Active Directory domain. + type: string + netBiosPrefix: + description: Required. NetBIOSPrefix is used as a prefix for SMB server name. + type: string + organizationalUnit: + description: >- + The Organizational Unit (OU) within the Windows Active Directory the + user belongs to. + type: string + aesEncryption: + description: If enabled, AES encryption will be enabled for SMB communication. + type: boolean + username: + description: Required. Username of the Active Directory domain administrator. + type: string + password: + description: Required. Password of the Active Directory domain administrator. + type: string + backupOperators: + description: >- + Optional. Users to be added to the Built-in Backup Operator active + directory group. + type: array + items: + type: string + administrators: + description: Optional. Users to be added to the Built-in Admininstrators group. + type: array + items: + type: string + securityOperators: + description: Optional. Domain users to be given the SeSecurityPrivilege. + type: array + items: + type: string + kdcHostname: + description: >- + Name of the active directory machine. This optional parameter is + used only while creating kerberos volume + type: string + kdcIp: + description: KDC server IP address for the active directory machine. + type: string + nfsUsersWithLdap: + description: >- + If enabled, will allow access to local users and LDAP users. If + access is needed for only LDAP users, it has to be disabled. + type: boolean + description: + description: Description of the active directory. + type: string + ldapSigning: + description: Specifies whether or not the LDAP traffic needs to be signed. + type: boolean + encryptDcConnections: + description: >- + If enabled, traffic between the SMB server to Domain Controller (DC) + will be encrypted. + type: boolean + labels: + description: Labels for the active directory. + type: object + additionalProperties: + type: string + stateDetails: + description: Output only. The state details of the Active Directory. + readOnly: true + type: string + ListKmsConfigsResponse: + id: ListKmsConfigsResponse + description: ListKmsConfigsResponse is the response to a ListKmsConfigsRequest. + type: object + properties: + kmsConfigs: + description: The list of KmsConfigs + type: array + items: + $ref: '#/components/schemas/KmsConfig' + nextPageToken: + description: A token identifying a page of results the server should return. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + KmsConfig: + id: KmsConfig + description: KmsConfig is the customer managed encryption key(CMEK) configuration. + type: object + properties: + name: + description: Identifier. Name of the KmsConfig. + type: string + cryptoKeyName: + description: >- + Required. Customer managed crypto key resource full name. Format: + projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}. + type: string + state: + description: Output only. State of the KmsConfig. + readOnly: true + type: string + enumDescriptions: + - Unspecified KmsConfig State + - KmsConfig State is Ready + - KmsConfig State is Creating + - KmsConfig State is Deleting + - KmsConfig State is Updating + - KmsConfig State is In Use. + - KmsConfig State is Error + - KmsConfig State is Pending to verify crypto key access. + - >- + KmsConfig State is Not accessbile by the SDE service account to + the crypto key. + - KmsConfig State is Disabling. + - KmsConfig State is Disabled. + - >- + KmsConfig State is Migrating. The existing volumes are migrating + from SMEK to CMEK. + enum: + - STATE_UNSPECIFIED + - READY + - CREATING + - DELETING + - UPDATING + - IN_USE + - ERROR + - KEY_CHECK_PENDING + - KEY_NOT_REACHABLE + - DISABLING + - DISABLED + - MIGRATING + stateDetails: + description: Output only. State details of the KmsConfig. + readOnly: true + type: string + createTime: + description: Output only. Create time of the KmsConfig. + readOnly: true + type: string + format: google-datetime + description: + description: Description of the KmsConfig. + type: string + labels: + description: Labels as key value pairs + type: object + additionalProperties: + type: string + instructions: + description: >- + Output only. Instructions to provide the access to the customer + provided encryption key. + readOnly: true + type: string + serviceAccount: + description: >- + Output only. The Service account which will have access to the + customer provided encryption key. + readOnly: true + type: string + EncryptVolumesRequest: + id: EncryptVolumesRequest + description: >- + EncryptVolumesRequest specifies the KMS config to encrypt existing + volumes. + type: object + properties: {} + VerifyKmsConfigRequest: + id: VerifyKmsConfigRequest + description: VerifyKmsConfigRequest specifies the KMS config to be validated. + type: object + properties: {} + VerifyKmsConfigResponse: + id: VerifyKmsConfigResponse + description: >- + VerifyKmsConfigResponse contains the information if the config is + correctly and error message. + type: object + properties: + healthy: + description: >- + Output only. If the customer key configured correctly to the encrypt + volume. + readOnly: true + type: boolean + healthError: + description: Output only. Error message if config is not healthy. + readOnly: true + type: string + instructions: + description: >- + Output only. Instructions for the customers to provide the access to + the encryption key. + readOnly: true + type: string + ListReplicationsResponse: + id: ListReplicationsResponse + description: ListReplicationsResponse is the result of ListReplicationsRequest. + type: object + properties: + replications: + description: A list of replications in the project for the specified volume. + type: array + items: + $ref: '#/components/schemas/Replication' + nextPageToken: + description: >- + The token you can use to retrieve the next page of results. Not + returned if there are no more results in the list. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + Replication: + id: Replication + description: >- + Replication is a nested resource under Volume, that describes a + cross-region replication relationship between 2 volumes in different + regions. + type: object + properties: + name: + description: >- + Identifier. The resource name of the Replication. Format: + `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + type: string + state: + description: Output only. State of the replication. + readOnly: true + type: string + enumDescriptions: + - Unspecified replication State + - Replication is creating. + - Replication is ready. + - Replication is updating. + - Replication is deleting. + - Replication is in error state. + enum: + - STATE_UNSPECIFIED + - CREATING + - READY + - UPDATING + - DELETING + - ERROR + stateDetails: + description: Output only. State details of the replication. + readOnly: true + type: string + role: + description: Output only. Indicates whether this points to source or destination. + readOnly: true + type: string + enumDescriptions: + - Unspecified replication role + - Indicates Source volume. + - Indicates Destination volume. + enum: + - REPLICATION_ROLE_UNSPECIFIED + - SOURCE + - DESTINATION + replicationSchedule: + description: Required. Indicates the schedule for replication. + type: string + enumDescriptions: + - Unspecified ReplicationSchedule + - Replication happens once every 10 minutes. + - Replication happens once every hour. + - Replication happens once every day. + enum: + - REPLICATION_SCHEDULE_UNSPECIFIED + - EVERY_10_MINUTES + - HOURLY + - DAILY + mirrorState: + description: Output only. Indicates the state of mirroring. + readOnly: true + type: string + enumDescriptions: + - Unspecified MirrorState + - Destination volume is being prepared. + - >- + Destination volume has been initialized and is ready to receive + replication transfers. + - Destination volume is not receiving replication transfers. + - Incremental replication is in progress. + enum: + - MIRROR_STATE_UNSPECIFIED + - PREPARING + - MIRRORED + - STOPPED + - TRANSFERRING + healthy: + description: >- + Output only. Condition of the relationship. Can be one of the + following: - true: The replication relationship is healthy. It has + not missed the most recent scheduled transfer. - false: The + replication relationship is not healthy. It has missed the most + recent scheduled transfer. + readOnly: true + type: boolean + createTime: + description: Output only. Replication create time. + readOnly: true + type: string + format: google-datetime + destinationVolume: + description: >- + Output only. Full name of destination volume resource. Example : + "projects/{project}/locations/{location}/volumes/{volume_id}" + readOnly: true + type: string + transferStats: + description: Output only. Replication transfer statistics. + readOnly: true + $ref: '#/components/schemas/TransferStats' + labels: + description: Resource labels to represent user provided metadata. + type: object + additionalProperties: + type: string + description: + description: A description about this replication relationship. + type: string + destinationVolumeParameters: + description: Required. Input only. Destination volume parameters + $ref: '#/components/schemas/DestinationVolumeParameters' + sourceVolume: + description: >- + Output only. Full name of source volume resource. Example : + "projects/{project}/locations/{location}/volumes/{volume_id}" + readOnly: true + type: string + TransferStats: + id: TransferStats + description: TransferStats reports all statistics related to replication transfer. + type: object + properties: + transferBytes: + description: >- + Cumulative bytes trasferred so far for the replication + relatinonship. + type: string + format: int64 + totalTransferDuration: + description: >- + Cumulative time taken across all transfers for the replication + relationship. + type: string + format: google-duration + lastTransferBytes: + description: Last transfer size in bytes. + type: string + format: int64 + lastTransferDuration: + description: Time taken during last transfer. + type: string + format: google-duration + lagDuration: + description: >- + Lag duration indicates the duration by which Destination region + volume content lags behind the primary region volume content. + type: string + format: google-duration + updateTime: + description: Time when progress was updated last. + type: string + format: google-datetime + lastTransferEndTime: + description: Time when last transfer completed. + type: string + format: google-datetime + lastTransferError: + description: A message describing the cause of the last transfer failure. + type: string + DestinationVolumeParameters: + id: DestinationVolumeParameters + description: >- + DestinationVolumeParameters specify input parameters used for creating + destination volume. + type: object + properties: + storagePool: + description: Required. Existing destination StoragePool name. + type: string + volumeId: + description: >- + Desired destination volume resource id. If not specified, source + volume's resource id will be used. This value must start with a + lowercase letter followed by up to 62 lowercase letters, numbers, or + hyphens, and cannot end with a hyphen. + type: string + shareName: + description: >- + Destination volume's share name. If not specified, source volume's + share name will be used. + type: string + description: + description: Description for the destination volume. + type: string + StopReplicationRequest: + id: StopReplicationRequest + description: StopReplicationRequest stops a replication until resumed. + type: object + properties: + force: + description: >- + Indicates whether to stop replication forcefully while data transfer + is in progress. Warning! if force is true, this will abort any + current transfers and can lead to data loss due to partial transfer. + If force is false, stop replication will fail while data transfer is + in progress and you will need to retry later. + type: boolean + ResumeReplicationRequest: + id: ResumeReplicationRequest + description: ResumeReplicationRequest resumes a stopped replication. + type: object + properties: {} + ReverseReplicationDirectionRequest: + id: ReverseReplicationDirectionRequest + description: >- + ReverseReplicationDirectionRequest reverses direction of replication. + Source becomes destination and destination becomes source. + type: object + properties: {} + BackupVault: + id: BackupVault + description: A NetApp BackupVault. + type: object + properties: + name: + description: >- + Identifier. The resource name of the backup vault. Format: + `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + type: string + state: + description: Output only. The backup vault state. + readOnly: true + type: string + enumDescriptions: + - State not set. + - BackupVault is being created. + - BackupVault is available for use. + - BackupVault is being deleted. + - BackupVault is not valid and cannot be used. + - BackupVault is being updated. + enum: + - STATE_UNSPECIFIED + - CREATING + - READY + - DELETING + - ERROR + - UPDATING + createTime: + description: Output only. Create time of the backup vault. + readOnly: true + type: string + format: google-datetime + description: + description: Description of the backup vault. + type: string + labels: + description: Resource labels to represent user provided metadata. + type: object + additionalProperties: + type: string + ListBackupVaultsResponse: + id: ListBackupVaultsResponse + description: ListBackupVaultsResponse is the result of ListBackupVaultsRequest. + type: object + properties: + backupVaults: + description: A list of backupVaults in the project for the specified location. + type: array + items: + $ref: '#/components/schemas/BackupVault' + nextPageToken: + description: >- + The token you can use to retrieve the next page of results. Not + returned if there are no more results in the list. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + Backup: + id: Backup + description: A NetApp Backup. + type: object + properties: + name: + description: >- + Identifier. The resource name of the backup. Format: + `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + type: string + state: + description: Output only. The backup state. + readOnly: true + type: string + enumDescriptions: + - State not set. + - >- + Backup is being created. While in this state, the snapshot for the + backup point-in-time may not have been created yet, and so the + point-in-time may not have been fixed. + - >- + Backup is being uploaded. While in this state, none of the writes + to the volume will be included in the backup. + - Backup is available for use. + - Backup is being deleted. + - >- + Backup is not valid and cannot be used for creating new volumes or + restoring existing volumes. + - Backup is being updated. + enum: + - STATE_UNSPECIFIED + - CREATING + - UPLOADING + - READY + - DELETING + - ERROR + - UPDATING + description: + description: >- + A description of the backup with 2048 characters or less. Requests + with longer descriptions will be rejected. + type: string + volumeUsageBytes: + description: >- + Output only. Size of the file system when the backup was created. + When creating a new volume from the backup, the volume capacity will + have to be at least as big. + readOnly: true + type: string + format: int64 + backupType: + description: >- + Output only. Type of backup, manually created or created by a backup + policy. + readOnly: true + type: string + enumDescriptions: + - Unspecified backup type. + - Manual backup type. + - Scheduled backup type. + enum: + - TYPE_UNSPECIFIED + - MANUAL + - SCHEDULED + sourceVolume: + description: >- + Volume full name of this backup belongs to. Format: + `projects/{projects_id}/locations/{location}/volumes/{volume_id}` + type: string + sourceSnapshot: + description: >- + If specified, backup will be created from the given snapshot. If not + specified, there will be a new snapshot taken to initiate the backup + creation. Format: + `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + type: string + createTime: + description: Output only. The time when the backup was created. + readOnly: true + type: string + format: google-datetime + labels: + description: Resource labels to represent user provided metadata. + type: object + additionalProperties: + type: string + chainStorageBytes: + description: >- + Output only. Total size of all backups in a chain in bytes = + baseline backup size + sum(incremental backup size) + readOnly: true + type: string + format: int64 + ListBackupsResponse: + id: ListBackupsResponse + description: ListBackupsResponse is the result of ListBackupsRequest. + type: object + properties: + backups: + description: A list of backups in the project. + type: array + items: + $ref: '#/components/schemas/Backup' + nextPageToken: + description: >- + The token you can use to retrieve the next page of results. Not + returned if there are no more results in the list. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + BackupPolicy: + id: BackupPolicy + description: Backup Policy. + type: object + properties: + name: + description: >- + Identifier. The resource name of the backup policy. Format: + `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + type: string + dailyBackupLimit: + description: >- + Number of daily backups to keep. Note that the minimum daily backup + limit is 2. + type: integer + format: int32 + weeklyBackupLimit: + description: >- + Number of weekly backups to keep. Note that the sum of daily, weekly + and monthly backups should be greater than 1. + type: integer + format: int32 + monthlyBackupLimit: + description: >- + Number of monthly backups to keep. Note that the sum of daily, + weekly and monthly backups should be greater than 1. + type: integer + format: int32 + description: + description: Description of the backup policy. + type: string + enabled: + description: >- + If enabled, make backups automatically according to the schedules. + This will be applied to all volumes that have this policy attached + and enforced on volume level. If not specified, default is true. + type: boolean + assignedVolumeCount: + description: >- + Output only. The total number of volumes assigned by this backup + policy. + readOnly: true + type: integer + format: int32 + createTime: + description: Output only. The time when the backup policy was created. + readOnly: true + type: string + format: google-datetime + labels: + description: Resource labels to represent user provided metadata. + type: object + additionalProperties: + type: string + state: + description: Output only. The backup policy state. + readOnly: true + type: string + enumDescriptions: + - State not set. + - BackupPolicy is being created. + - BackupPolicy is available for use. + - BackupPolicy is being deleted. + - BackupPolicy is not valid and cannot be used. + - BackupPolicy is being updated. + enum: + - STATE_UNSPECIFIED + - CREATING + - READY + - DELETING + - ERROR + - UPDATING + ListBackupPoliciesResponse: + id: ListBackupPoliciesResponse + description: ListBackupPoliciesResponse contains all the backup policies requested. + type: object + properties: + backupPolicies: + description: The list of backup policies. + type: array + items: + $ref: '#/components/schemas/BackupPolicy' + nextPageToken: + description: A token identifying a page of results the server should return. + type: string + unreachable: + description: Locations that could not be reached. + type: array + items: + type: string + OperationMetadata: + id: OperationMetadata + description: Represents the metadata of the long-running operation. + type: object + properties: + createTime: + description: Output only. The time the operation was created. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + readOnly: true + type: string + format: google-datetime + target: + description: >- + Output only. Server-defined resource path for the target of the + operation. + readOnly: true + type: string + verb: + description: Output only. Name of the verb executed by the operation. + readOnly: true + type: string + statusMessage: + description: Output only. Human-readable status of the operation, if any. + readOnly: true + type: string + requestedCancellation: + description: >- + Output only. Identifies whether the user has requested cancellation + of the operation. Operations that have been canceled successfully + have Operation.error value with a google.rpc.Status.code of 1, + corresponding to `Code.CANCELLED`. + readOnly: true + type: boolean + apiVersion: + description: Output only. API version used to start the operation. + readOnly: true + type: string + LocationMetadata: + id: LocationMetadata + description: Metadata for a given google.cloud.location.Location. + type: object + properties: + supportedServiceLevels: + description: Output only. Supported service levels in a location. + readOnly: true + type: array + items: + type: string + enumDescriptions: + - Unspecified service level. + - Premium service level. + - Extreme service level. + - Standard service level. + - Flex service level. + enum: + - SERVICE_LEVEL_UNSPECIFIED + - PREMIUM + - EXTREME + - STANDARD + - FLEX + parameters: + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto + callback: + description: JSONP + in: query + name: callback + schema: + type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' + x-stackQL-resources: + locations: + id: google.netapp.locations + name: locations + title: Locations + methods: + list: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.locations + get: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/locations/methods/get' + - $ref: '#/components/x-stackQL-resources/locations/methods/list' + insert: [] + update: [] + replace: [] + delete: [] + operations: + id: google.netapp.operations + name: operations + title: Operations + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + cancel: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1operations~1{operationsId}:cancel/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/operations/methods/delete' + storage_pools: + id: google.netapp.storage_pools + name: storage_pools + title: Storage_pools + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1storagePools/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.storagePools + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1storagePools/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1storagePools~1{storagePoolsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1storagePools~1{storagePoolsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1storagePools~1{storagePoolsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + switch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1storagePools~1{storagePoolsId}:switch/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/storage_pools/methods/get' + - $ref: '#/components/x-stackQL-resources/storage_pools/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/storage_pools/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/storage_pools/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/storage_pools/methods/delete' + volumes: + id: google.netapp.volumes + name: volumes + title: Volumes + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.volumes + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + revert: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}:revert/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/volumes/methods/get' + - $ref: '#/components/x-stackQL-resources/volumes/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/volumes/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/volumes/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/volumes/methods/delete' + snapshots: + id: google.netapp.snapshots + name: snapshots + title: Snapshots + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1snapshots/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.snapshots + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1snapshots/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1snapshots~1{snapshotsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1snapshots~1{snapshotsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1snapshots~1{snapshotsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/get' + - $ref: '#/components/x-stackQL-resources/snapshots/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/delete' + replications: + id: google.netapp.replications + name: replications + title: Replications + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.replications + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications~1{replicationsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications~1{replicationsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications~1{replicationsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + stop: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications~1{replicationsId}:stop/post + response: + mediaType: application/json + openAPIDocKey: '200' + resume: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications~1{replicationsId}:resume/post + response: + mediaType: application/json + openAPIDocKey: '200' + reverse_direction: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1volumes~1{volumesId}~1replications~1{replicationsId}:reverseDirection/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/replications/methods/get' + - $ref: '#/components/x-stackQL-resources/replications/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/replications/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/replications/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/replications/methods/delete' + active_directories: + id: google.netapp.active_directories + name: active_directories + title: Active_directories + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1activeDirectories/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.activeDirectories + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1activeDirectories/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1activeDirectories~1{activeDirectoriesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1activeDirectories~1{activeDirectoriesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1activeDirectories~1{activeDirectoriesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/active_directories/methods/get' + - $ref: '#/components/x-stackQL-resources/active_directories/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/active_directories/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/active_directories/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/active_directories/methods/delete' + kms_configs: + id: google.netapp.kms_configs + name: kms_configs + title: Kms_configs + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.kmsConfigs + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs~1{kmsConfigsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs~1{kmsConfigsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs~1{kmsConfigsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + encrypt: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs~1{kmsConfigsId}:encrypt/post + response: + mediaType: application/json + openAPIDocKey: '200' + verify: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1kmsConfigs~1{kmsConfigsId}:verify/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/kms_configs/methods/get' + - $ref: '#/components/x-stackQL-resources/kms_configs/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/kms_configs/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/kms_configs/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/kms_configs/methods/delete' + backup_vaults: + id: google.netapp.backup_vaults + name: backup_vaults + title: Backup_vaults + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.backupVaults + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/backup_vaults/methods/get' + - $ref: '#/components/x-stackQL-resources/backup_vaults/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/backup_vaults/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/backup_vaults/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/backup_vaults/methods/delete' + backups: + id: google.netapp.backups + name: backups + title: Backups + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}~1backups/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}~1backups/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.backups + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}~1backups~1{backupsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}~1backups~1{backupsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupVaults~1{backupVaultsId}~1backups~1{backupsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/backups/methods/get' + - $ref: '#/components/x-stackQL-resources/backups/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/backups/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/backups/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/backups/methods/delete' + backup_policies: + id: google.netapp.backup_policies + name: backup_policies + title: Backup_policies + methods: + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupPolicies/post + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupPolicies/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.backupPolicies + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupPolicies~1{backupPoliciesId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupPolicies~1{backupPoliciesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1backupPolicies~1{backupPoliciesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/backup_policies/methods/get' + - $ref: '#/components/x-stackQL-resources/backup_policies/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/backup_policies/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/backup_policies/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/backup_policies/methods/delete' +paths: + /v1/projects/{projectsId}/locations: + parameters: &ref_1 + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' + get: + description: Lists information about the supported locations for this service. + operationId: netapp.projects.locations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListLocationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}: + parameters: *ref_1 + get: + description: Gets information about a location. + operationId: netapp.projects.locations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Location' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: netapp.projects.locations.operations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListOperationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: netapp.projects.locations.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + delete: + description: >- + 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`. + operationId: netapp.projects.locations.operations.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel: + parameters: *ref_1 + post: + description: >- + 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`. + operationId: netapp.projects.locations.operations.cancel + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelOperationRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: operationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/storagePools: + parameters: *ref_1 + get: + description: Returns descriptions of all storage pools owned by the caller. + operationId: netapp.projects.locations.storagePools.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListStoragePoolsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Creates a new storage pool. + operationId: netapp.projects.locations.storagePools.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StoragePool' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: storagePoolId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}: + parameters: *ref_1 + get: + description: Returns the description of the specified storage pool by poolId. + operationId: netapp.projects.locations.storagePools.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/StoragePool' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: storagePoolsId + required: true + schema: + type: string + patch: + description: Updates the storage pool properties with the full spec + operationId: netapp.projects.locations.storagePools.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StoragePool' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: storagePoolsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Warning! This operation will permanently delete the storage pool. + operationId: netapp.projects.locations.storagePools.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: storagePoolsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:switch: + parameters: *ref_1 + post: + description: >- + This operation will switch the active/replica zone for a regional + storagePool. + operationId: netapp.projects.locations.storagePools.switch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SwitchActiveReplicaZoneRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: storagePoolsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes: + parameters: *ref_1 + get: + description: Lists Volumes in a given project. + operationId: netapp.projects.locations.volumes.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListVolumesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + post: + description: Creates a new Volume in a given project and location. + operationId: netapp.projects.locations.volumes.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Volume' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: volumeId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}: + parameters: *ref_1 + get: + description: Gets details of a single Volume. + operationId: netapp.projects.locations.volumes.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Volume' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + patch: + description: Updates the parameters of a single Volume. + operationId: netapp.projects.locations.volumes.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Volume' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a single Volume. + operationId: netapp.projects.locations.volumes.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: query + name: force + schema: + type: boolean + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:revert: + parameters: *ref_1 + post: + description: >- + Revert an existing volume to a specified snapshot. Warning! This + operation will permanently revert all changes made after the snapshot + was created. + operationId: netapp.projects.locations.volumes.revert + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RevertVolumeRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots: + parameters: *ref_1 + get: + description: Returns descriptions of all snapshots for a volume. + operationId: netapp.projects.locations.volumes.snapshots.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListSnapshotsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Create a new snapshot for a volume. + operationId: netapp.projects.locations.volumes.snapshots.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Snapshot' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: query + name: snapshotId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}: + parameters: *ref_1 + get: + description: Describe a snapshot for a volume. + operationId: netapp.projects.locations.volumes.snapshots.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Snapshot' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: snapshotsId + required: true + schema: + type: string + delete: + description: Deletes a snapshot. + operationId: netapp.projects.locations.volumes.snapshots.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: snapshotsId + required: true + schema: + type: string + patch: + description: Updates the settings of a specific snapshot. + operationId: netapp.projects.locations.volumes.snapshots.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Snapshot' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: snapshotsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications: + parameters: *ref_1 + get: + description: Returns descriptions of all replications for a volume. + operationId: netapp.projects.locations.volumes.replications.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListReplicationsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Create a new replication for a volume. + operationId: netapp.projects.locations.volumes.replications.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Replication' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: query + name: replicationId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}: + parameters: *ref_1 + get: + description: Describe a replication for a volume. + operationId: netapp.projects.locations.volumes.replications.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Replication' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: replicationsId + required: true + schema: + type: string + delete: + description: Deletes a replication. + operationId: netapp.projects.locations.volumes.replications.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: replicationsId + required: true + schema: + type: string + patch: + description: Updates the settings of a specific replication. + operationId: netapp.projects.locations.volumes.replications.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Replication' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: replicationsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:stop: + parameters: *ref_1 + post: + description: Stop Cross Region Replication. + operationId: netapp.projects.locations.volumes.replications.stop + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StopReplicationRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: replicationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:resume: + parameters: *ref_1 + post: + description: Resume Cross Region Replication. + operationId: netapp.projects.locations.volumes.replications.resume + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResumeReplicationRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: replicationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:reverseDirection: + parameters: *ref_1 + post: + description: >- + Reverses direction of replication. Source becomes destination and + destination becomes source. + operationId: netapp.projects.locations.volumes.replications.reverseDirection + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReverseReplicationDirectionRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: volumesId + required: true + schema: + type: string + - in: path + name: replicationsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/activeDirectories: + parameters: *ref_1 + get: + description: Lists active directories. + operationId: netapp.projects.locations.activeDirectories.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListActiveDirectoriesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + post: + description: >- + CreateActiveDirectory Creates the active directory specified in the + request. + operationId: netapp.projects.locations.activeDirectories.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActiveDirectory' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: activeDirectoryId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}: + parameters: *ref_1 + get: + description: Describes a specified active directory. + operationId: netapp.projects.locations.activeDirectories.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ActiveDirectory' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: activeDirectoriesId + required: true + schema: + type: string + patch: + description: Update the parameters of an active directories. + operationId: netapp.projects.locations.activeDirectories.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActiveDirectory' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: activeDirectoriesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Delete the active directory specified in the request. + operationId: netapp.projects.locations.activeDirectories.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: activeDirectoriesId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs: + parameters: *ref_1 + get: + description: Returns descriptions of all KMS configs owned by the caller. + operationId: netapp.projects.locations.kmsConfigs.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListKmsConfigsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + post: + description: Creates a new KMS config. + operationId: netapp.projects.locations.kmsConfigs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/KmsConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: kmsConfigId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}: + parameters: *ref_1 + get: + description: Returns the description of the specified KMS config by kms_config_id. + operationId: netapp.projects.locations.kmsConfigs.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/KmsConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: kmsConfigsId + required: true + schema: + type: string + patch: + description: Updates the Kms config properties with the full spec + operationId: netapp.projects.locations.kmsConfigs.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/KmsConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: kmsConfigsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Warning! This operation will permanently delete the Kms config. + operationId: netapp.projects.locations.kmsConfigs.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: kmsConfigsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:encrypt: + parameters: *ref_1 + post: + description: >- + Encrypt the existing volumes without CMEK encryption with the desired + the KMS config for the whole region. + operationId: netapp.projects.locations.kmsConfigs.encrypt + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EncryptVolumesRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: kmsConfigsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:verify: + parameters: *ref_1 + post: + description: Verifies KMS config reachability. + operationId: netapp.projects.locations.kmsConfigs.verify + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyKmsConfigRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyKmsConfigResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: kmsConfigsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/backupVaults: + parameters: *ref_1 + post: + description: Creates new backup vault + operationId: netapp.projects.locations.backupVaults.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BackupVault' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: backupVaultId + schema: + type: string + get: + description: Returns list of all available backup vaults. + operationId: netapp.projects.locations.backupVaults.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListBackupVaultsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}: + parameters: *ref_1 + get: + description: Returns the description of the specified backup vault + operationId: netapp.projects.locations.backupVaults.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/BackupVault' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + patch: + description: Updates the settings of a specific backup vault. + operationId: netapp.projects.locations.backupVaults.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BackupVault' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Warning! This operation will permanently delete the backup vault. + operationId: netapp.projects.locations.backupVaults.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups: + parameters: *ref_1 + post: + description: >- + Creates a backup from the volume specified in the request The backup can + be created from the given snapshot if specified in the request. If no + snapshot specified, there'll be a new snapshot taken to initiate the + backup creation. + operationId: netapp.projects.locations.backupVaults.backups.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Backup' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + - in: query + name: backupId + schema: + type: string + get: + description: Returns descriptions of all backups for a backupVault. + operationId: netapp.projects.locations.backupVaults.backups.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListBackupsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}: + parameters: *ref_1 + get: + description: Returns the description of the specified backup + operationId: netapp.projects.locations.backupVaults.backups.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Backup' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + - in: path + name: backupsId + required: true + schema: + type: string + delete: + description: Warning! This operation will permanently delete the backup. + operationId: netapp.projects.locations.backupVaults.backups.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + - in: path + name: backupsId + required: true + schema: + type: string + patch: + description: Update backup with full spec. + operationId: netapp.projects.locations.backupVaults.backups.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Backup' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupVaultsId + required: true + schema: + type: string + - in: path + name: backupsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/backupPolicies: + parameters: *ref_1 + post: + description: Creates new backup policy + operationId: netapp.projects.locations.backupPolicies.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BackupPolicy' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: backupPolicyId + schema: + type: string + get: + description: Returns list of all available backup policies. + operationId: netapp.projects.locations.backupPolicies.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListBackupPoliciesResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}: + parameters: *ref_1 + get: + description: >- + Returns the description of the specified backup policy by + backup_policy_id. + operationId: netapp.projects.locations.backupPolicies.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/BackupPolicy' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupPoliciesId + required: true + schema: + type: string + patch: + description: Updates settings of a specific backup policy. + operationId: netapp.projects.locations.backupPolicies.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BackupPolicy' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupPoliciesId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Warning! This operation will permanently delete the backup policy. + operationId: netapp.projects.locations.backupPolicies.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: backupPoliciesId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/networkconnectivity.yaml b/providers/src/googleapis.com/v00.00.00000/services/networkconnectivity.yaml index aa8fc0cd..fd3dc807 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/networkconnectivity.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/networkconnectivity.yaml @@ -7,8 +7,8 @@ info: title: Network Connectivity API description: This API enables connectivity with and between Google Cloud resources. version: v1 - x-discovery-doc-revision: '20240807' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest @@ -169,7 +169,7 @@ components: type: string ServiceConnectionMap: id: ServiceConnectionMap - description: 'The ServiceConnectionMap resource. Next id: 15' + description: The ServiceConnectionMap resource. type: object properties: name: @@ -308,7 +308,10 @@ components: - POLICY_LIMIT_REACHED - CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED producerInstanceId: - description: Immutable. An immutable identifier for the producer instance. + description: >- + Immutable. Deprecated. Use producer_instance_metadata instead. An + immutable identifier for the producer instance. + deprecated: true type: string serviceAttachmentIpAddressMap: description: >- @@ -328,6 +331,24 @@ components: Format: 'projects/' Eg. 'projects/consumer-project' or 'projects/1234' type: string + producerInstanceMetadata: + description: Immutable. An immutable map for the producer instance metadata. + type: object + additionalProperties: + type: string + ipVersion: + description: The requested IP version for the PSC connection. + type: string + enumDescriptions: + - >- + Default value. We will use IPv4 or IPv6 depending on the IP + version of first available subnetwork. + - Will use IPv4 only. + - Will use IPv6 only. + enum: + - IP_VERSION_UNSPECIFIED + - IPV4 + - IPV6 ConsumerPscConnection: id: ConsumerPscConnection description: PSC connection details on consumer side. @@ -343,18 +364,25 @@ components: type: string enumDescriptions: - An invalid state as the default case. - - The connection is fully established and ready to use. + - >- + The connection has been created successfully. However, for the + up-to-date connection status, please use the service attachment's + "ConnectedEndpoint.status" as the source of truth. - >- The connection is not functional since some resources on the connection fail to be created. - The connection is being created. - The connection is being deleted. + - The connection is being repaired to complete creation. + - The connection is being repaired to complete deletion. enum: - STATE_UNSPECIFIED - ACTIVE - FAILED - CREATING - DELETING + - CREATE_REPAIRING + - DELETE_REPAIRING project: description: >- The consumer project whose PSC forwarding rule is connected to the @@ -381,6 +409,7 @@ components: description: >- The error type indicates whether the error is consumer facing, producer facing or system internal. + deprecated: true type: string enumDescriptions: - An invalid error type as the default case. @@ -417,8 +446,29 @@ components: readOnly: true type: string producerInstanceId: - description: Immutable. An immutable identifier for the producer instance. + description: >- + Immutable. Deprecated. Use producer_instance_metadata instead. An + immutable identifier for the producer instance. + deprecated: true + type: string + producerInstanceMetadata: + description: Immutable. An immutable map for the producer instance metadata. + type: object + additionalProperties: + type: string + ipVersion: + description: The requested IP version for the PSC connection. type: string + enumDescriptions: + - >- + Default value. We will use IPv4 or IPv6 depending on the IP + version of first available subnetwork. + - Will use IPv4 only. + - Will use IPv6 only. + enum: + - IP_VERSION_UNSPECIFIED + - IPV4 + - IPV6 GoogleRpcErrorInfo: id: GoogleRpcErrorInfo description: >- @@ -487,7 +537,7 @@ components: type: string ServiceConnectionPolicy: id: ServiceConnectionPolicy - description: 'The ServiceConnectionPolicy resource. Next id: 12' + description: The ServiceConnectionPolicy resource. type: object properties: name: @@ -497,12 +547,12 @@ components: See: https://google.aip.dev/122#fields-representing-resource-names type: string createTime: - description: Output only. Time when the ServiceConnectionMap was created. + description: Output only. Time when the ServiceConnectionPolicy was created. readOnly: true type: string format: google-datetime updateTime: - description: Output only. Time when the ServiceConnectionMap was updated. + description: Output only. Time when the ServiceConnectionPolicy was updated. readOnly: true type: string format: google-datetime @@ -627,18 +677,25 @@ components: type: string enumDescriptions: - An invalid state as the default case. - - The connection is fully established and ready to use. + - >- + The connection has been created successfully. However, for the + up-to-date connection status, please use the created forwarding + rule's "PscConnectionStatus" as the source of truth. - >- The connection is not functional since some resources on the connection fail to be created. - The connection is being created. - The connection is being deleted. + - The connection is being repaired to complete creation. + - The connection is being repaired to complete deletion. enum: - STATE_UNSPECIFIED - ACTIVE - FAILED - CREATING - DELETING + - CREATE_REPAIRING + - DELETE_REPAIRING consumerForwardingRule: description: >- The resource reference of the PSC Forwarding Rule within the @@ -651,6 +708,7 @@ components: description: >- The error type indicates whether the error is consumer facing, producer facing or system internal. + deprecated: true type: string enumDescriptions: - An invalid error type as the default case. @@ -663,7 +721,9 @@ components: - ERROR_CONSUMER_SIDE - ERROR_PRODUCER_SIDE error: - description: The most recent error during operating this connection. + description: >- + The most recent error during operating this connection. Deprecated, + please use error_info instead. deprecated: true $ref: '#/components/schemas/GoogleRpcStatus' gceOperation: @@ -688,8 +748,36 @@ components: readOnly: true type: string producerInstanceId: - description: Immutable. An immutable identifier for the producer instance. + description: >- + Immutable. Deprecated. Use producer_instance_metadata instead. An + immutable identifier for the producer instance. + deprecated: true type: string + producerInstanceMetadata: + description: Immutable. An immutable map for the producer instance metadata. + type: object + additionalProperties: + type: string + serviceClass: + description: >- + Output only. [Output only] The service class associated with this + PSC Connection. The value is derived from the SCPolicy and matches + the service class name provided by the customer. + readOnly: true + type: string + ipVersion: + description: The requested IP version for the PSC connection. + type: string + enumDescriptions: + - >- + Default value. We will use IPv4 or IPv6 depending on the IP + version of first available subnetwork. + - Will use IPv4 only. + - Will use IPv6 only. + enum: + - IP_VERSION_UNSPECIFIED + - IPV4 + - IPV6 ListServiceClassesResponse: id: ListServiceClassesResponse description: Response for ListServiceClasses. @@ -713,7 +801,7 @@ components: type: string ServiceClass: id: ServiceClass - description: 'The ServiceClass resource. Next id: 9' + description: The ServiceClass resource. type: object properties: name: @@ -755,7 +843,7 @@ components: type: string ServiceConnectionToken: id: ServiceConnectionToken - description: 'The ServiceConnectionToken resource. Next id: 10' + description: The ServiceConnectionToken resource. type: object properties: name: @@ -1059,12 +1147,14 @@ components: - Spokes associated with VLAN attachments. - Spokes associated with router appliance instances. - Spokes associated with VPC networks. + - Spokes that are backed by a producer VPC network. enum: - SPOKE_TYPE_UNSPECIFIED - VPN_TUNNEL - INTERCONNECT_ATTACHMENT - ROUTER_APPLIANCE - VPC_NETWORK + - PRODUCER_VPC_NETWORK count: description: >- Output only. The total number of spokes of this type that are @@ -1129,12 +1219,22 @@ components: - >- Network Connectivity Center encountered errors while accepting the spoke. + - The proposed spoke update is pending review. + - >- + The proposed spoke update has been rejected by the hub + administrator. + - >- + Network Connectivity Center encountered errors while accepting the + spoke update. enum: - CODE_UNSPECIFIED - PENDING_REVIEW - REJECTED - PAUSED - FAILED + - UPDATE_PENDING_REVIEW + - UPDATE_REJECTED + - UPDATE_FAILED count: description: >- Output only. The total number of spokes that are inactive for a @@ -1220,6 +1320,9 @@ components: linkedVpcNetwork: description: Optional. VPC network that is associated with the spoke. $ref: '#/components/schemas/LinkedVpcNetwork' + linkedProducerVpcNetwork: + description: Optional. The linked producer VPC that is associated with the spoke. + $ref: '#/components/schemas/LinkedProducerVpcNetwork' uniqueId: description: >- Output only. The Google-generated UUID for the spoke. This value is @@ -1255,9 +1358,7 @@ components: - INACTIVE - OBSOLETE reasons: - description: >- - Output only. The reasons for current state of the spoke. Only - present when the spoke is in the `INACTIVE` state. + description: Output only. The reasons for current state of the spoke. readOnly: true type: array items: @@ -1272,12 +1373,14 @@ components: - Spokes associated with VLAN attachments. - Spokes associated with router appliance instances. - Spokes associated with VPC networks. + - Spokes that are backed by a producer VPC network. enum: - SPOKE_TYPE_UNSPECIFIED - VPN_TUNNEL - INTERCONNECT_ATTACHMENT - ROUTER_APPLIANCE - VPC_NETWORK + - PRODUCER_VPC_NETWORK LinkedVpnTunnels: id: LinkedVpnTunnels description: >- @@ -1304,9 +1407,9 @@ components: type: string includeImportRanges: description: >- - Optional. IP ranges allowed to be included during import from - hub.(does not control transit connectivity) The only allowed value - for now is "ALL_IPV4_RANGES". + Optional. IP ranges allowed to be included during import from hub + (does not control transit connectivity). The only allowed value for + now is "ALL_IPV4_RANGES". type: array items: type: string @@ -1338,9 +1441,9 @@ components: type: string includeImportRanges: description: >- - Optional. IP ranges allowed to be included during import from - hub.(does not control transit connectivity) The only allowed value - for now is "ALL_IPV4_RANGES". + Optional. IP ranges allowed to be included during import from hub + (does not control transit connectivity). The only allowed value for + now is "ALL_IPV4_RANGES". type: array items: type: string @@ -1372,9 +1475,9 @@ components: type: string includeImportRanges: description: >- - Optional. IP ranges allowed to be included during import from - hub.(does not control transit connectivity) The only allowed value - for now is "ALL_IPV4_RANGES". + Optional. IP ranges allowed to be included during import from hub + (does not control transit connectivity). The only allowed value for + now is "ALL_IPV4_RANGES". type: array items: type: string @@ -1422,6 +1525,41 @@ components: type: array items: type: string + LinkedProducerVpcNetwork: + id: LinkedProducerVpcNetwork + type: object + properties: + network: + description: >- + Immutable. The URI of the Service Consumer VPC that the Producer VPC + is peered with. + type: string + serviceConsumerVpcSpoke: + description: Output only. The Service Consumer Network spoke. + readOnly: true + type: string + peering: + description: >- + Immutable. The name of the VPC peering between the Service Consumer + VPC and the Producer VPC (defined in the Tenant project) which is + added to the NCC hub. This peering must be in ACTIVE state. + type: string + producerNetwork: + description: Output only. The URI of the Producer VPC. + readOnly: true + type: string + excludeExportRanges: + description: >- + Optional. IP ranges encompassing the subnets to be excluded from + peering. + type: array + items: + type: string + includeExportRanges: + description: Optional. IP ranges allowed to be included from peering. + type: array + items: + type: string StateReason: id: StateReason description: The reason a spoke is inactive. @@ -1438,18 +1576,116 @@ components: - >- Network Connectivity Center encountered errors while accepting the spoke. + - The proposed spoke update is pending review. + - >- + The proposed spoke update has been rejected by the hub + administrator. + - >- + Network Connectivity Center encountered errors while accepting the + spoke update. enum: - CODE_UNSPECIFIED - PENDING_REVIEW - REJECTED - PAUSED - FAILED + - UPDATE_PENDING_REVIEW + - UPDATE_REJECTED + - UPDATE_FAILED message: description: Human-readable details about this reason. type: string userDetails: description: Additional information provided by the user in the RejectSpoke call. type: string + QueryHubStatusResponse: + id: QueryHubStatusResponse + description: The response for HubService.QueryHubStatus. + type: object + properties: + hubStatusEntries: + description: The list of hub status. + type: array + items: + $ref: '#/components/schemas/HubStatusEntry' + nextPageToken: + description: >- + The token for the next page of the response. To see more results, + use this value as the page_token for your next request. If this + value is empty, there are no more results. + type: string + HubStatusEntry: + id: HubStatusEntry + description: The hub status entry. + type: object + properties: + count: + description: >- + The number of status. If group_by is not set in the request, the + default is 1. + type: integer + format: int32 + groupBy: + description: The same group_by field from the request. + type: string + pscPropagationStatus: + description: The PSC propagation status. + $ref: '#/components/schemas/PscPropagationStatus' + PscPropagationStatus: + id: PscPropagationStatus + description: The PSC propagation status in a hub. + type: object + properties: + sourceSpoke: + description: The name of the spoke that the source forwarding rule belongs to. + type: string + sourceGroup: + description: The name of the group that the source spoke belongs to. + type: string + sourceForwardingRule: + description: The name of the forwarding rule exported to the hub. + type: string + targetSpoke: + description: The name of the spoke that the source forwarding rule propagates to. + type: string + targetGroup: + description: The name of the group that the target spoke belongs to. + type: string + code: + description: The propagation status. + type: string + enumDescriptions: + - The code is unspecified. + - The propagated PSC connection is ready. + - PSC connection is propagating. This is a transient state. + - >- + The PSC connection propagation failed because the VPC network or + the project of the target spoke has exceeded the connection limit + set by the producer. + - >- + The PSC connection propagation failed because the NAT IP subnet + space has been exhausted. It is equivalent to the `Needs + attention` status of the PSC connection. See + https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#connection-statuses. + - >- + PSC connection propagation failed because the + `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota in + the producer VPC network has been exceeded. + - >- + The PSC connection propagation failed because the + `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the consumer + VPC network has been exceeded. + enum: + - CODE_UNSPECIFIED + - READY + - PROPAGATING + - ERROR_PRODUCER_PROPAGATED_CONNECTION_LIMIT_EXCEEDED + - ERROR_PRODUCER_NAT_IP_SPACE_EXHAUSTED + - ERROR_PRODUCER_QUOTA_EXCEEDED + - ERROR_CONSUMER_QUOTA_EXCEEDED + message: + description: The human-readable summary of the PSC connection propagation status. + type: string ListSpokesResponse: id: ListSpokesResponse description: The response for HubService.ListSpokes. @@ -1985,7 +2221,11 @@ components: description: A description of this resource. type: string ipCidrRange: - description: The IP range that this internal range defines. + description: >- + The IP range that this internal range defines. NOTE: IPv6 ranges are + limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For + IPv6 Ranges this field is compulsory, i.e. the address range must be + specified explicitly. type: string network: description: >- @@ -2014,10 +2254,16 @@ components: resources and are meant to block out address ranges for various use cases, like for example, usage on-prem, with dynamic route announcements via interconnect. + - >- + Ranges created FOR_MIGRATION can be used to lock a CIDR range + between a source and target subnet. If usage is set to + FOR_MIGRATION, the peering value has to be set to FOR_SELF or + default to FOR_SELF when unset. This value is for internal use. enum: - USAGE_UNSPECIFIED - FOR_VPC - EXTERNAL_TO_VPC + - FOR_MIGRATION peering: description: The type of peering set for this internal range. type: string @@ -2052,11 +2298,14 @@ components: - NOT_SHARED prefixLength: description: >- - 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. + An alternate to ip_cidr_range. Can be set when trying to create an + IPv4 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. NOTE: For IPv6 this field only + works if ip_cidr_range is set as well, and both fields must match. + In other words, with IPv6 this field only works as a redundant + parameter. type: integer format: int32 targetCidrRange: @@ -2100,6 +2349,30 @@ components: - OVERLAP_UNSPECIFIED - OVERLAP_ROUTE_RANGE - OVERLAP_EXISTING_SUBNET_RANGE + migration: + description: >- + Optional. Must be present if usage is set to FOR_MIGRATION. This + field is for internal use. + $ref: '#/components/schemas/Migration' + Migration: + id: Migration + description: Specification for migration with source and target resource names. + type: object + properties: + source: + description: >- + Immutable. Resource path as an URI of the source resource, for + example a subnet. The project for the source resource should match + the project for the InternalRange. An example: + /projects/{project}/regions/{region}/subnetworks/{subnet} + type: string + target: + description: >- + Immutable. Resource path of the target resource. The target project + can be different, as in the cases when migrating to peer networks. + The resource For example: + /projects/{project}/regions/{region}/subnetworks/{subnet} + type: string ListPolicyBasedRoutesResponse: id: ListPolicyBasedRoutesResponse description: Response for PolicyBasedRouting.ListPolicyBasedRoutes method. @@ -3385,6 +3658,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + query_status: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1global~1hubs~1{hubsId}:queryStatus/get + response: + mediaType: application/json + openAPIDocKey: '200' reject_spoke: operation: $ref: >- @@ -3402,6 +3682,7 @@ components: sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/hubs/methods/get' + - $ref: '#/components/x-stackQL-resources/hubs/methods/query_status' - $ref: '#/components/x-stackQL-resources/hubs/methods/list' insert: - $ref: '#/components/x-stackQL-resources/hubs/methods/create' @@ -5420,6 +5701,57 @@ paths: name: view schema: type: string + /v1/projects/{projectsId}/locations/global/hubs/{hubsId}:queryStatus: + parameters: *ref_1 + get: + description: >- + Query PSC propagation status the status of a Network Connectivity Center + hub. + operationId: networkconnectivity.projects.locations.global.hubs.queryStatus + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/QueryHubStatusResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: hubsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: orderBy + schema: + type: string + - in: query + name: groupBy + schema: + type: string /v1/projects/{projectsId}/locations/global/hubs/{hubsId}:rejectSpoke: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/networkmanagement.yaml b/providers/src/googleapis.com/v00.00.00000/services/networkmanagement.yaml index c1105d24..4f03d097 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/networkmanagement.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/networkmanagement.yaml @@ -9,8 +9,8 @@ info: The Network Management API provides a collection of network performance monitoring and diagnostic capabilities. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/ servers: @@ -403,12 +403,29 @@ components: - TCP_UDP_INTERNAL_LOAD_BALANCER gkeMasterCluster: description: >- - A cluster URI for [Google Kubernetes Engine - master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). + A cluster URI for [Google Kubernetes Engine cluster control + plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). + type: string + fqdn: + description: >- + DNS endpoint of [Google Kubernetes Engine cluster control + plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). + Requires gke_master_cluster to be set, can't be used simultaneoulsly + with ip_address. type: string cloudSqlInstance: description: A [Cloud SQL](https://cloud.google.com/sql) instance URI. type: string + redisInstance: + description: >- + A [Redis Instance](https://cloud.google.com/memorystore/docs/redis) + URI. + type: string + redisCluster: + description: >- + A [Redis Cluster](https://cloud.google.com/memorystore/docs/cluster) + URI. + type: string cloudFunction: description: A [Cloud Function](https://cloud.google.com/functions). $ref: '#/components/schemas/CloudFunctionEndpoint' @@ -1035,6 +1052,9 @@ components: - A static route received from peering network. - A dynamic route received from peering network. - Policy based route. + - >- + Advertised route. Synthetic route which is used to transition from + the StartFromPrivateNetwork state in Connectivity tests. enum: - ROUTE_TYPE_UNSPECIFIED - SUBNET @@ -1044,6 +1064,7 @@ components: - PEERING_STATIC - PEERING_DYNAMIC - POLICY_BASED + - ADVERTISED nextHopType: description: Type of next hop. type: string @@ -1099,10 +1120,10 @@ components: description: Name of a route. type: string uri: - description: >- - URI of a route. Dynamic, peering static and peering dynamic routes - do not have an URI. Advertised route from Google Cloud VPC to - on-premises network also does not have an URI. + description: URI of a route (if applicable). + type: string + region: + description: Region of the route (if applicable). type: string destIpRange: description: Destination IP range of the route. @@ -1146,6 +1167,18 @@ components: nccSpokeUri: description: URI of a NCC Spoke. NCC_HUB routes only. type: string + advertisedRouteSourceRouterUri: + description: >- + For advertised dynamic routes, the URI of the Cloud Router that + advertised the corresponding IP prefix. + type: string + advertisedRouteNextHopUri: + description: >- + For advertised routes, the URI of their next hop, i.e. the URI of + the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router + appliance) the advertised prefix is advertised through, or URI of + the source peered network. + type: string GoogleServiceInfo: id: GoogleServiceInfo description: >- @@ -1490,6 +1523,9 @@ components: - >- Aborted because user lacks permission to access Network endpoint group endpoint configs required to run the test. + - >- + Aborted because user lacks permission to access Cloud Router + configs required to run the test. - >- Aborted because no valid source or destination endpoint is derived from the input test request. @@ -1575,6 +1611,7 @@ components: - false - false - false + - false enum: - CAUSE_UNSPECIFIED - UNKNOWN_NETWORK @@ -1591,6 +1628,7 @@ components: - PERMISSION_DENIED - PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS - PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS + - PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS - NO_SOURCE_LOCATION - INVALID_ARGUMENT - TRACE_TOO_LONG @@ -1825,8 +1863,10 @@ components: - Packet sent to Cloud Nat without active NAT IPs. - Packet is stuck in a routing loop. - >- - Packet is dropped due to an unspecified reason inside a - Google-managed service. Used only for return traces. + Packet is dropped inside a Google-managed service due to being + delivered in return trace to an endpoint that doesn't match the + endpoint the packet was sent from in forward trace. Used only for + return traces. - >- Packet is dropped due to a load balancer backend instance not having a network interface in the network expected by the load @@ -1849,6 +1889,10 @@ components: based Redis Instance. - Packet is dropped due to no route to the destination network. - Redis Instance does not have an external IP address. + - >- + Packet is dropped due to an unsupported protocol being used to + connect to a Redis Instance. Only TCP connections are accepted by + a Redis Instance. - >- Generic drop cause for a packet being dropped inside a Redis Cluster service project. @@ -1857,6 +1901,21 @@ components: to a Redis Cluster. Ports 6379 and 11000 to 13047 should be used to connect to a Redis Cluster. - Redis Cluster does not have an external IP address. + - >- + Packet is dropped due to an unsupported protocol being used to + connect to a Redis Cluster. Only TCP connections are accepted by a + Redis Cluster. + - >- + Packet from the non-GCP (on-prem) or unknown GCP network is + dropped due to the destination IP address not belonging to any IP + prefix advertised via BGP by the Cloud Router. + - >- + Packet from the non-GCP (on-prem) or unknown GCP network is + dropped due to the destination IP address not belonging to any IP + prefix included to the local traffic selector of the VPN tunnel. + - >- + Packet from the unknown peered network is dropped due to no known + route from the source network to the destination IP address. enum: - CAUSE_UNSPECIFIED - UNKNOWN_EXTERNAL_ADDRESS @@ -1933,9 +1992,14 @@ components: - REDIS_INSTANCE_CONNECTING_FROM_PUPI_ADDRESS - REDIS_INSTANCE_NO_ROUTE_TO_DESTINATION_NETWORK - REDIS_INSTANCE_NO_EXTERNAL_IP + - REDIS_INSTANCE_UNSUPPORTED_PROTOCOL - DROPPED_INSIDE_REDIS_CLUSTER_SERVICE - REDIS_CLUSTER_UNSUPPORTED_PORT - REDIS_CLUSTER_NO_EXTERNAL_IP + - REDIS_CLUSTER_UNSUPPORTED_PROTOCOL + - NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION + - NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION + - NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION resourceUri: description: URI of the resource that caused the drop. type: string @@ -2045,7 +2109,9 @@ components: type: string NetworkInfo: id: NetworkInfo - description: For display only. Metadata associated with a Compute Engine network. + description: >- + For display only. Metadata associated with a Compute Engine network. + Next ID: 7 type: object properties: displayName: @@ -2054,8 +2120,16 @@ components: uri: description: URI of a Compute Engine network. type: string + matchedSubnetUri: + description: URI of the subnet matching the source IP address of the test. + type: string matchedIpRange: - description: The IP range that matches the test. + description: >- + The IP range of the subnet matching the source IP address of the + test. + type: string + region: + description: The region of the subnet matching the source IP address of the test. type: string GKEMasterInfo: id: GKEMasterInfo diff --git a/providers/src/googleapis.com/v00.00.00000/services/networksecurity.yaml b/providers/src/googleapis.com/v00.00.00000/services/networksecurity.yaml index 5695c19b..a3ca77cd 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/networksecurity.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/networksecurity.yaml @@ -7,8 +7,8 @@ info: title: Network Security API description: '' version: v1 - x-discovery-doc-revision: '20240828' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20240919' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/networking servers: @@ -1384,6 +1384,11 @@ components: Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. type: string + customMirroringProfile: + description: >- + Optional. Reference to a SecurityProfile with the CustomMirroring + configuration. + type: string ListSecurityProfilesResponse: id: ListSecurityProfilesResponse description: Response returned by the ListSecurityProfiles method. @@ -1411,6 +1416,11 @@ components: threatPreventionProfile: description: The threat prevention configuration for the SecurityProfile. $ref: '#/components/schemas/ThreatPreventionProfile' + customMirroringProfile: + description: >- + The custom Packet Mirroring v2 configuration for the + SecurityProfile. + $ref: '#/components/schemas/CustomMirroringProfile' name: description: >- Immutable. Identifier. Name of the SecurityProfile resource. It @@ -1452,9 +1462,11 @@ components: enumDescriptions: - Profile type not specified. - Profile type for threat prevention. + - Profile type for packet mirroring v2 enum: - PROFILE_TYPE_UNSPECIFIED - THREAT_PREVENTION + - CUSTOM_MIRRORING ThreatPreventionProfile: id: ThreatPreventionProfile description: >- @@ -1599,6 +1611,18 @@ components: - ALLOW - ALERT - DENY + CustomMirroringProfile: + id: CustomMirroringProfile + description: >- + CustomMirroringProfile defines an action for mirroring traffic to a + collector's EndpointGroup + type: object + properties: + mirroringEndpointGroup: + description: >- + Required. The MirroringEndpointGroup to which traffic associated + with the SP should be mirrored. + type: string ListLocationsResponse: id: ListLocationsResponse description: The response message for Locations.ListLocations. diff --git a/providers/src/googleapis.com/v00.00.00000/services/networkservices.yaml b/providers/src/googleapis.com/v00.00.00000/services/networkservices.yaml index 85640da5..dac8f4df 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/networkservices.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/networkservices.yaml @@ -7,8 +7,8 @@ info: title: Network Services API description: '' version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241010' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/networking servers: @@ -225,8 +225,8 @@ components: 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). + information, refer to [Backend services + overview](https://cloud.google.com/load-balancing/docs/backend-service). type: string enumDescriptions: - Default value. Do not use. @@ -245,7 +245,8 @@ components: 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. + the forwarding rule's fully qualified resource name. This field is + not supported for plugin extensions and must not be set. type: object additionalProperties: type: any @@ -309,6 +310,8 @@ components: description: >- Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. + This field is not supported for plugin extensions and must not be + set. type: string service: description: >- @@ -321,6 +324,11 @@ components: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`. + To configure a plugin extension, this must be a reference to a [wasm + plugin](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) + in the format: + `projects/{project}/locations/{location}/wasmPlugins/{plugin}` or + `//networkservices.googleapis.com/projects/{project}/locations/{location}/wasmPlugins/{wasmPlugin}`. type: string supportedEvents: description: >- @@ -363,7 +371,8 @@ components: description: >- Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required - for Callout extensions. + for callout extensions. This field is not supported for plugin + extensions and must not be set. type: string format: google-duration failOpen: @@ -387,6 +396,22 @@ components: type: array items: type: string + metadata: + description: >- + 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....`. For + example: + `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. + The following variables are supported in the metadata: + `{forwarding_rule_id}` - substituted with the forwarding rule's + fully qualified resource name. This field is not supported for + plugin extensions and must not be set. + type: object + additionalProperties: + type: any + description: Properties of the object. ListLbRouteExtensionsResponse: id: ListLbRouteExtensionsResponse description: Message for response to listing `LbRouteExtension` resources. @@ -465,8 +490,8 @@ components: 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). + information, refer to [Backend services + overview](https://cloud.google.com/load-balancing/docs/backend-service). type: string enumDescriptions: - Default value. Do not use. @@ -487,7 +512,8 @@ components: `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. + name. This field is not supported for plugin extensions and must not + be set. type: object additionalProperties: type: any @@ -677,6 +703,316 @@ components: type: array items: type: string + ListWasmPluginVersionsResponse: + id: ListWasmPluginVersionsResponse + description: Response returned by the `ListWasmPluginVersions` method. + type: object + properties: + wasmPluginVersions: + description: List of `WasmPluginVersion` resources. + type: array + items: + $ref: '#/components/schemas/WasmPluginVersion' + nextPageToken: + description: >- + If there might be more results than those appearing in this + response, then `next_page_token` is included. To get the next set of + results, call this method again using the value of `next_page_token` + as `page_token`. + type: string + WasmPluginVersion: + id: WasmPluginVersion + description: >- + A single immutable version of a `WasmPlugin`. Defines the Wasm module + used and optionally its runtime config. + type: object + properties: + pluginConfigData: + description: >- + Configuration for the Wasm plugin. The configuration is provided to + the Wasm plugin at runtime through the `ON_CONFIGURE` callback. When + a new `WasmPluginVersion` resource is created, the digest of the + contents is saved in the `plugin_config_digest` field. + type: string + format: byte + pluginConfigUri: + description: >- + URI of the Wasm plugin configuration stored in the Artifact + Registry. The configuration is provided to the plugin at runtime + through the `ON_CONFIGURE` callback. The container image must + contain only a single file with the name `plugin.config`. When a new + `WasmPluginVersion` resource is created, the digest of the container + image is saved in the `plugin_config_digest` field. + type: string + name: + description: >- + Identifier. Name of the `WasmPluginVersion` resource in the + following format: + `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}/ + versions/{wasm_plugin_version}`. + type: string + createTime: + description: Output only. The timestamp when the resource was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The timestamp when the resource was updated. + readOnly: true + type: string + format: google-datetime + description: + description: Optional. A human-readable description of the resource. + type: string + labels: + description: >- + Optional. Set of labels associated with the `WasmPluginVersion` + resource. + type: object + additionalProperties: + type: string + imageUri: + description: >- + Optional. URI of the container image containing the Wasm plugin, + stored in the Artifact Registry. When a new `WasmPluginVersion` + resource is created, the digest of the container image is saved in + the `image_digest` field. When downloading an image, the digest + value is used instead of an image tag. + type: string + imageDigest: + description: >- + Output only. The resolved digest for the image specified in `image`. + The digest is resolved during the creation of `WasmPluginVersion` + resource. This field holds the digest value regardless of whether a + tag or digest was originally specified in the `image` field. + readOnly: true + type: string + pluginConfigDigest: + description: >- + Output only. This field holds the digest (usually checksum) value + for the plugin configuration. The value is calculated based on the + contents of the `plugin_config_data` or the container image defined + by the `plugin_config_uri` field. + readOnly: true + type: string + ListWasmPluginsResponse: + id: ListWasmPluginsResponse + description: Response returned by the `ListWasmPlugins` method. + type: object + properties: + wasmPlugins: + description: List of `WasmPlugin` resources. + type: array + items: + $ref: '#/components/schemas/WasmPlugin' + nextPageToken: + description: >- + If there might be more results than those appearing in this + response, then `next_page_token` is included. To get the next set of + results, call this method again using the value of `next_page_token` + as `page_token`. + type: string + WasmPlugin: + id: WasmPlugin + description: >- + `WasmPlugin` is a resource representing a service executing a + customer-provided Wasm module. + type: object + properties: + name: + description: >- + Identifier. Name of the `WasmPlugin` resource in the following + format: + `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`. + type: string + createTime: + description: Output only. The timestamp when the resource was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The timestamp when the resource was updated. + readOnly: true + type: string + format: google-datetime + description: + description: Optional. A human-readable description of the resource. + type: string + labels: + description: >- + Optional. Set of labels associated with the `WasmPlugin` resource. + The format must comply with [the following + requirements](/compute/docs/labeling-resources#requirements). + type: object + additionalProperties: + type: string + mainVersionId: + description: >- + Optional. The ID of the `WasmPluginVersion` resource that is the + currently serving one. The version referred to must be a child of + this `WasmPlugin` resource. + type: string + logConfig: + description: >- + Optional. Specifies the logging options for the activity performed + by this `WasmPlugin`. If logging is enabled, plugin logs are + exported to Cloud Logging. Note that the settings relate to the logs + generated by using logging statements in your Wasm code. + $ref: '#/components/schemas/WasmPluginLogConfig' + versions: + description: >- + Optional. All versions of this `WasmPlugin` in the key-value format. + The key is the resource ID, the value is the `VersionDetails`. + Allows to create or update `WasmPlugin` and its WasmPluginVersions + in a single request. When the `main_version_id` field is not empty + it must point to one of the VersionDetails in the map. If provided + in the update request, the new versions replace the previous set. + Any version omitted from the `versions` will be removed. Since the + `WasmPluginVersion` resource is immutable, if the WasmPluginVersion + with the same name already exists and differs the Update request + will fail. Note: In the GET request, this field is populated only if + the GetWasmPluginRequest.view is set to WASM_PLUGIN_VIEW_FULL. + type: object + additionalProperties: + $ref: '#/components/schemas/WasmPluginVersionDetails' + usedBy: + description: >- + Output only. List of all [Service + Extensions](https://cloud.google.com/service-extensions/docs/overview) + that use this `WasmPlugin`. + readOnly: true + type: array + items: + $ref: '#/components/schemas/WasmPluginUsedBy' + WasmPluginLogConfig: + id: WasmPluginLogConfig + description: >- + Specifies the logging options for the activity performed by this + `WasmPlugin`. If logging is enabled, plugin logs are exported to Cloud + Logging. + type: object + properties: + enable: + description: >- + Optional. Specifies whether to enable logging for activity by this + `WasmPlugin`. Defaults to `false`. + type: boolean + sampleRate: + description: >- + Non-empty default. Configures the sampling rate of activity logs, + where `1.0` means all logged activity is reported and `0.0` means no + activity is reported. A floating point value between `0.0` and `1.0` + indicates that a percentage of log messages is stored. The default + value when logging is enabled is `1.0`. The value of the field must + be between `0` and `1` (inclusive). This field can only be specified + if logging is enabled for this `WasmPlugin`. + type: number + format: float + minLogLevel: + description: >- + Non-empty default. Specificies the lowest level of the plugin logs + that are exported to Cloud Logging. This setting relates to the logs + generated by using logging statements in your Wasm code. This field + is can be set only if logging is enabled for the `WasmPlugin` + resource. If the field is not provided when logging is enabled, it + is set to `INFO` by default. + type: string + enumDescriptions: + - Unspecified value. + - Report logs with TRACE level and above. + - Report logs with DEBUG level and above. + - Report logs with INFO level and above. + - Report logs with WARN level and above. + - Report logs with ERROR level and above. + - Report logs with CRITICAL level only. + enum: + - LOG_LEVEL_UNSPECIFIED + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - CRITICAL + WasmPluginVersionDetails: + id: WasmPluginVersionDetails + description: >- + Details of a `WasmPluginVersion` resource to be inlined in the + `WasmPlugin` resource. + type: object + properties: + pluginConfigData: + description: >- + Configuration for the Wasm plugin. The configuration is provided to + the Wasm plugin at runtime through the `ON_CONFIGURE` callback. When + a new `WasmPluginVersion` version is created, the digest of the + contents is saved in the `plugin_config_digest` field. + type: string + format: byte + pluginConfigUri: + description: >- + URI of the WasmPlugin configuration stored in the Artifact Registry. + The configuration is provided to the Wasm plugin at runtime through + the `ON_CONFIGURE` callback. The container image must contain only a + single file with the name `plugin.config`. When a new + `WasmPluginVersion` resource is created, the digest of the container + image is saved in the `plugin_config_digest` field. + type: string + createTime: + description: Output only. The timestamp when the resource was created. + readOnly: true + type: string + format: google-datetime + updateTime: + description: Output only. The timestamp when the resource was updated. + readOnly: true + type: string + format: google-datetime + description: + description: Optional. A human-readable description of the resource. + type: string + labels: + description: >- + Optional. Set of labels associated with the `WasmPluginVersion` + resource. + type: object + additionalProperties: + type: string + imageUri: + description: >- + Optional. URI of the container image containing the Wasm module, + stored in the Artifact Registry. The container image must contain + only a single file with the name `plugin.wasm`. When a new + `WasmPluginVersion` resource is created, the URI gets resolved to an + image digest and saved in the `image_digest` field. + type: string + imageDigest: + description: >- + Output only. The resolved digest for the image specified in `image`. + The digest is resolved during the creation of a `WasmPluginVersion` + resource. This field holds the digest value regardless of whether a + tag or digest was originally specified in the `image` field. + readOnly: true + type: string + pluginConfigDigest: + description: >- + Output only. This field holds the digest (usually checksum) value + for the plugin configuration. The value is calculated based on the + contents of the `plugin_config_data` or the container image defined + by the `plugin_config_uri` field. + readOnly: true + type: string + WasmPluginUsedBy: + id: WasmPluginUsedBy + description: Defines a resource that uses the `WasmPlugin`. + type: object + properties: + name: + description: >- + Output only. Full name of the resource + https://google.aip.dev/122#full-resource-names, e.g. + `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}` + readOnly: true + type: string ListGatewaysResponse: id: ListGatewaysResponse description: Response returned by the ListGateways method. @@ -2442,7 +2778,7 @@ components: properties: name: description: >- - Required. Name of the ServiceLbPolicy resource. It matches pattern + Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`. type: string createTime: @@ -2958,6 +3294,55 @@ components: description: Output only. API version used to start the operation. readOnly: true type: string + LoggingConfig: + id: LoggingConfig + description: >- + The configuration for Platform Telemetry logging for Eventarc Avdvanced + resources. + type: object + properties: + logSeverity: + description: >- + Optional. The minimum severity of logs that will be sent to + Stackdriver/Platform Telemetry. Logs at severitiy ≥ this value will + be sent, unless it is NONE. + type: string + enumDescriptions: + - >- + Log severity is not specified. This value is treated the same as + NONE, but is used to distinguish between no update and update to + NONE in update_masks. + - >- + Default value at resource creation, presence of this value must be + treated as no logging/disable logging. + - Debug or trace level logging. + - Routine information, such as ongoing status or performance. + - >- + Normal but significant events, such as start up, shut down, or a + configuration change. + - Warning events might cause problems. + - Error events are likely to cause problems. + - Critical events cause more severe problems or outages. + - A person must take action immediately. + - One or more systems are unusable. + enum: + - LOG_SEVERITY_UNSPECIFIED + - NONE + - DEBUG + - INFO + - NOTICE + - WARNING + - ERROR + - CRITICAL + - ALERT + - EMERGENCY + RetryFilterPerRouteConfig: + id: RetryFilterPerRouteConfig + type: object + properties: + cryptoKeyName: + description: The name of the crypto key to use for encrypting event data. + type: string parameters: access_token: description: OAuth access token. @@ -3270,6 +3655,102 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/endpoint_policies/methods/delete' + wasm_plugins: + id: google.networkservices.wasm_plugins + name: wasm_plugins + title: Wasm_plugins + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.wasmPlugins + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/wasm_plugins/methods/get' + - $ref: '#/components/x-stackQL-resources/wasm_plugins/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/wasm_plugins/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/wasm_plugins/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/wasm_plugins/methods/delete' + versions: + id: google.networkservices.versions + name: versions + title: Versions + methods: + list: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}~1versions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.wasmPluginVersions + create: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}~1versions/post + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}~1versions~1{versionsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1wasmPlugins~1{wasmPluginsId}~1versions~1{versionsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/versions/methods/get' + - $ref: '#/components/x-stackQL-resources/versions/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/versions/methods/create' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/versions/methods/delete' gateways: id: google.networkservices.gateways name: gateways @@ -3680,22 +4161,22 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/service_lb_policies/methods/delete - service_lb_policies_iam_policies: - id: google.networkservices.service_lb_policies_iam_policies - name: service_lb_policies_iam_policies - title: Service_lb_policies_iam_policies + edge_cache_keysets_iam_policies: + id: google.networkservices.edge_cache_keysets_iam_policies + name: edge_cache_keysets_iam_policies + title: Edge_cache_keysets_iam_policies methods: set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1serviceLbPolicies~1{serviceLbPoliciesId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheKeysets~1{edgeCacheKeysetsId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' get_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1serviceLbPolicies~1{serviceLbPoliciesId}:getIamPolicy/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheKeysets~1{edgeCacheKeysetsId}:getIamPolicy/get response: mediaType: application/json openAPIDocKey: '200' @@ -3703,66 +4184,29 @@ components: test_iam_permissions: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1serviceLbPolicies~1{serviceLbPoliciesId}:testIamPermissions/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheKeysets~1{edgeCacheKeysetsId}:testIamPermissions/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/service_lb_policies_iam_policies/methods/get_iam_policy + #/components/x-stackQL-resources/edge_cache_keysets_iam_policies/methods/get_iam_policy insert: [] update: [] replace: - $ref: >- - #/components/x-stackQL-resources/service_lb_policies_iam_policies/methods/set_iam_policy + #/components/x-stackQL-resources/edge_cache_keysets_iam_policies/methods/set_iam_policy delete: [] - edge_cache_keysets_iam_policies: - id: google.networkservices.edge_cache_keysets_iam_policies - name: edge_cache_keysets_iam_policies - title: Edge_cache_keysets_iam_policies + edge_cache_origins_iam_policies: + id: google.networkservices.edge_cache_origins_iam_policies + name: edge_cache_origins_iam_policies + title: Edge_cache_origins_iam_policies methods: set_iam_policy: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheKeysets~1{edgeCacheKeysetsId}:setIamPolicy/post - response: - mediaType: application/json - openAPIDocKey: '200' - get_iam_policy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheKeysets~1{edgeCacheKeysetsId}:getIamPolicy/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.bindings - test_iam_permissions: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheKeysets~1{edgeCacheKeysetsId}:testIamPermissions/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/edge_cache_keysets_iam_policies/methods/get_iam_policy - insert: [] - update: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/edge_cache_keysets_iam_policies/methods/set_iam_policy - delete: [] - edge_cache_origins_iam_policies: - id: google.networkservices.edge_cache_origins_iam_policies - name: edge_cache_origins_iam_policies - title: Edge_cache_origins_iam_policies - methods: - set_iam_policy: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheOrigins~1{edgeCacheOriginsId}:setIamPolicy/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1edgeCacheOrigins~1{edgeCacheOriginsId}:setIamPolicy/post response: mediaType: application/json openAPIDocKey: '200' @@ -4640,6 +5084,345 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins: + parameters: *ref_1 + get: + description: Lists `WasmPlugin` resources in a given project and location. + operationId: networkservices.projects.locations.wasmPlugins.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListWasmPluginsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: Creates a new `WasmPlugin` resource in a given project and location. + operationId: networkservices.projects.locations.wasmPlugins.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WasmPlugin' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: query + name: wasmPluginId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}: + parameters: *ref_1 + get: + description: Gets details of the specified `WasmPlugin` resource. + operationId: networkservices.projects.locations.wasmPlugins.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WasmPlugin' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + - in: query + name: view + schema: + type: string + patch: + description: Updates the parameters of the specified `WasmPlugin` resource. + operationId: networkservices.projects.locations.wasmPlugins.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WasmPlugin' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes the specified `WasmPlugin` resource. + operationId: networkservices.projects.locations.wasmPlugins.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions: + parameters: *ref_1 + get: + description: Lists `WasmPluginVersion` resources in a given project and location. + operationId: networkservices.projects.locations.wasmPlugins.versions.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListWasmPluginVersionsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: >- + Creates a new `WasmPluginVersion` resource in a given project and + location. + operationId: networkservices.projects.locations.wasmPlugins.versions.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WasmPluginVersion' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + - in: query + name: wasmPluginVersionId + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}: + parameters: *ref_1 + get: + description: Gets details of the specified `WasmPluginVersion` resource. + operationId: networkservices.projects.locations.wasmPlugins.versions.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WasmPluginVersion' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string + delete: + description: Deletes the specified `WasmPluginVersion` resource. + operationId: networkservices.projects.locations.wasmPlugins.versions.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: wasmPluginsId + required: true + schema: + type: string + - in: path + name: versionsId + required: true + schema: + type: string /v1/projects/{projectsId}/locations/{locationsId}/gateways: parameters: *ref_1 get: @@ -6015,130 +6798,6 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies/{serviceLbPoliciesId}:setIamPolicy: - parameters: *ref_1 - post: - description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and - `PERMISSION_DENIED` errors. - operationId: networkservices.projects.locations.serviceLbPolicies.setIamPolicy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetIamPolicyRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Policy' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: serviceLbPoliciesId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies/{serviceLbPoliciesId}:getIamPolicy: - parameters: *ref_1 - get: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: networkservices.projects.locations.serviceLbPolicies.getIamPolicy - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Policy' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: serviceLbPoliciesId - required: true - schema: - type: string - - in: query - name: options.requestedPolicyVersion - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies/{serviceLbPoliciesId}:testIamPermissions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: networkservices.projects.locations.serviceLbPolicies.testIamPermissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/TestIamPermissionsResponse' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: serviceLbPoliciesId - required: true - schema: - type: string /v1/projects/{projectsId}/locations/{locationsId}/edgeCacheKeysets/{edgeCacheKeysetsId}:setIamPolicy: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/notebooks.yaml b/providers/src/googleapis.com/v00.00.00000/services/notebooks.yaml index 8bb879aa..5eec4eeb 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/notebooks.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/notebooks.yaml @@ -7,8 +7,8 @@ info: title: Notebooks API description: Notebooks API is used to manage notebook resources in Google Cloud. version: v2 - x-discovery-doc-revision: '20240820' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/notebooks/docs/ servers: @@ -437,8 +437,9 @@ components: type: boolean tags: description: >- - Optional. The Compute Engine tags to add to runtime (see [Tagging - instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). + Optional. The Compute Engine network tags to add to runtime (see + [Add network + tags](https://cloud.google.com/vpc/docs/add-remove-network-tags)). type: array items: type: string @@ -882,7 +883,7 @@ components: $ref: '#/components/schemas/DiagnosticConfig' timeoutMinutes: description: >- - Optional. Maxmium amount of time in minutes before the operation + Optional. Maximum amount of time in minutes before the operation times out. type: integer format: int32 diff --git a/providers/src/googleapis.com/v00.00.00000/services/ondemandscanning.yaml b/providers/src/googleapis.com/v00.00.00000/services/ondemandscanning.yaml index 2e4f3cc0..c3d0d57c 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/ondemandscanning.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/ondemandscanning.yaml @@ -7,8 +7,8 @@ info: title: On-Demand Scanning API description: A service to scan container images for vulnerabilities. version: v1 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/container-analysis/docs/on-demand-scanning/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/oracledatabase.yaml b/providers/src/googleapis.com/v00.00.00000/services/oracledatabase.yaml index 34b245e3..0d1c3ede 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/oracledatabase.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/oracledatabase.yaml @@ -6,11 +6,11 @@ info: email: info@stackql.io title: Oracle Database@Google Cloud API description: >- - The Oracle Database@Google Cloud API provides set of APIs to manage Oracle - databases such as Exadata and Autonomous Databases. + The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle + database services, such as Exadata and Autonomous Databases. version: v1 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241017' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/oracle/database/docs servers: @@ -177,7 +177,9 @@ components: description: Optional. User friendly name for this resource. type: string gcpOracleZone: - description: Optional. GCP location where Oracle Exadata is hosted. + description: >- + Optional. Google Cloud Platform location where Oracle Exadata is + hosted. type: string entitlementId: description: >- @@ -274,7 +276,8 @@ components: readOnly: true type: string cpuCount: - description: Optional. The number of enabled CPU cores. + description: Output only. The number of enabled CPU cores. + readOnly: true type: integer format: int32 maxCpuCount: @@ -283,7 +286,8 @@ components: type: integer format: int32 memorySizeGb: - description: Optional. The memory allocated in GBs. + description: Output only. The memory allocated in GBs. + readOnly: true type: integer format: int32 maxMemoryGb: @@ -292,7 +296,8 @@ components: type: integer format: int32 dbNodeStorageSizeGb: - description: Optional. The local node storage allocated in GBs. + description: Output only. The local node storage allocated in GBs. + readOnly: true type: integer format: int32 maxDbNodeStorageSizeGb: @@ -554,8 +559,9 @@ components: type: string gcpOracleZone: description: >- - Output only. GCP location where Oracle Exadata is hosted. It is same - as GCP Oracle zone of Exadata infrastructure. + Output only. Google Cloud Platform location where Oracle Exadata is + hosted. It is same as Google Cloud Platform Oracle zone of Exadata + infrastructure. readOnly: true type: string properties: @@ -675,13 +681,13 @@ components: type: string enumDescriptions: - Default unspecified value. - - Indicates that the resource is in Provisioning state. - - Indicates that the resource is in Available state. - - Indicates that the resource is in Updating state. - - Indicates that the resource is in Terminating state. - - Indicates that the resource is in Terminated state. - - Indicates that the resource is in Failed state. - - Indicates that the resource is in Maintenance In Progress state. + - Indicates that the resource is in provisioning state. + - Indicates that the resource is in available state. + - Indicates that the resource is in updating state. + - Indicates that the resource is in terminating state. + - Indicates that the resource is in terminated state. + - Indicates that the resource is in failed state. + - Indicates that the resource is in maintenance in progress state. enum: - STATE_UNSPECIFIED - PROVISIONING @@ -930,11 +936,11 @@ components: type: string enumDescriptions: - Default unspecified value. - - Indicates that the resource is in Creating state. - - Indicates that the resource is in Available state. - - Indicates that the resource is in Unavailable state. - - Indicates that the resource is in Deleting state. - - Indicates that the resource is in Deleted state. + - Indicates that the resource is in creating state. + - Indicates that the resource is in available state. + - Indicates that the resource is in unavailable state. + - Indicates that the resource is in deleting state. + - Indicates that the resource is in deleted state. enum: - STATE_UNSPECIFIED - CREATING @@ -1012,15 +1018,15 @@ components: type: string enumDescriptions: - Default unspecified value. - - Indicates that the resource is in Provisioning state. - - Indicates that the resource is in Available state. - - Indicates that the resource is in Updating state. - - Indicates that the resource is in Stopping state. - - Indicates that the resource is in Stopped state. - - Indicates that the resource is in Starting state. - - Indicates that the resource is in Terminating state. - - Indicates that the resource is in Terminated state. - - Indicates that the resource is in Failed state. + - Indicates that the resource is in provisioning state. + - Indicates that the resource is in available state. + - Indicates that the resource is in updating state. + - Indicates that the resource is in stopping state. + - Indicates that the resource is in stopped state. + - Indicates that the resource is in starting state. + - Indicates that the resource is in terminating state. + - Indicates that the resource is in terminated state. + - Indicates that the resource is in failed state. enum: - STATE_UNSPECIFIED - PROVISIONING @@ -1193,7 +1199,8 @@ components: network: description: >- Required. The name of the VPC network used by the Autonomous - Database. Format: projects/{project}/global/networks/{network} + Database in the following format: + projects/{project}/global/networks/{network} type: string cidr: description: Required. The subnet CIDR range for the Autonmous Database. @@ -1321,7 +1328,7 @@ components: enumDescriptions: - Default unspecified value. - >- - An EARLY maintenance schedule patches the database before the the + An EARLY maintenance schedule patches the database before the regular scheduled maintenance. - >- A REGULAR maintenance schedule follows the normal maintenance @@ -1387,33 +1394,33 @@ components: type: string enumDescriptions: - Default unspecified value. - - Indicates that the Autonomous Database is in Provisioning state. - - Indicates that the Autonomous Database is in Available state. - - Indicates that the Autonomous Database is in Stopping state. - - Indicates that the Autonomous Database is in Stopped state. - - Indicates that the Autonomous Database is in Starting state. - - Indicates that the Autonomous Database is in Terminating state. - - Indicates that the Autonomous Database is in Terminated state. - - Indicates that the Autonomous Database is in Unavailable state. - - Indicates that the Autonomous Database Restore is in progress. + - Indicates that the Autonomous Database is in provisioning state. + - Indicates that the Autonomous Database is in available state. + - Indicates that the Autonomous Database is in stopping state. + - Indicates that the Autonomous Database is in stopped state. + - Indicates that the Autonomous Database is in starting state. + - Indicates that the Autonomous Database is in terminating state. + - Indicates that the Autonomous Database is in terminated state. + - Indicates that the Autonomous Database is in unavailable state. + - Indicates that the Autonomous Database restore is in progress. - Indicates that the Autonomous Database failed to restore. - Indicates that the Autonomous Database backup is in progress. - Indicates that the Autonomous Database scale is in progress. - >- - Indicates that the Autonomous Database is in Available Needs - Attention state. - - Indicates that the Autonomous Database is in Updating state. + Indicates that the Autonomous Database is available but needs + attention state. + - Indicates that the Autonomous Database is in updating state. - >- - Indicates that the Autonomous Database is in Maintenance In - Progress state. - - Indicates that the Autonomous Database is in Restarting state. - - Indicates that the Autonomous Database is in Recreating state. + Indicates that the Autonomous Database's maintenance is in + progress state. + - Indicates that the Autonomous Database is in restarting state. + - Indicates that the Autonomous Database is in recreating state. - >- - Indicates that the Autonomous Database is in Role Change In - Progress state. - - Indicates that the Autonomous Database is in Upgrading state. - - Indicates that the Autonomous Database is in Inaccessible state. - - Indicates that the Autonomous Database is in Standby state. + Indicates that the Autonomous Database's role change is in + progress state. + - Indicates that the Autonomous Database is in upgrading state. + - Indicates that the Autonomous Database is in inaccessible state. + - Indicates that the Autonomous Database is in standby state. enum: - STATE_UNSPECIFIED - PROVISIONING @@ -1990,33 +1997,33 @@ components: type: string enumDescriptions: - Default unspecified value. - - Indicates that the Autonomous Database is in Provisioning state. - - Indicates that the Autonomous Database is in Available state. - - Indicates that the Autonomous Database is in Stopping state. - - Indicates that the Autonomous Database is in Stopped state. - - Indicates that the Autonomous Database is in Starting state. - - Indicates that the Autonomous Database is in Terminating state. - - Indicates that the Autonomous Database is in Terminated state. - - Indicates that the Autonomous Database is in Unavailable state. - - Indicates that the Autonomous Database Restore is in progress. + - Indicates that the Autonomous Database is in provisioning state. + - Indicates that the Autonomous Database is in available state. + - Indicates that the Autonomous Database is in stopping state. + - Indicates that the Autonomous Database is in stopped state. + - Indicates that the Autonomous Database is in starting state. + - Indicates that the Autonomous Database is in terminating state. + - Indicates that the Autonomous Database is in terminated state. + - Indicates that the Autonomous Database is in unavailable state. + - Indicates that the Autonomous Database restore is in progress. - Indicates that the Autonomous Database failed to restore. - Indicates that the Autonomous Database backup is in progress. - Indicates that the Autonomous Database scale is in progress. - >- - Indicates that the Autonomous Database is in Available Needs - Attention state. - - Indicates that the Autonomous Database is in Updating state. + Indicates that the Autonomous Database is available but needs + attention state. + - Indicates that the Autonomous Database is in updating state. - >- - Indicates that the Autonomous Database is in Maintenance In - Progress state. - - Indicates that the Autonomous Database is in Restarting state. - - Indicates that the Autonomous Database is in Recreating state. + Indicates that the Autonomous Database's maintenance is in + progress state. + - Indicates that the Autonomous Database is in restarting state. + - Indicates that the Autonomous Database is in recreating state. - >- - Indicates that the Autonomous Database is in Role Change In - Progress state. - - Indicates that the Autonomous Database is in Upgrading state. - - Indicates that the Autonomous Database is in Inaccessible state. - - Indicates that the Autonomous Database is in Standby state. + Indicates that the Autonomous Database's role change is in + progress state. + - Indicates that the Autonomous Database is in upgrading state. + - Indicates that the Autonomous Database is in inaccessible state. + - Indicates that the Autonomous Database is in standby state. enum: - STATE_UNSPECIFIED - PROVISIONING @@ -2102,23 +2109,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 RestoreAutonomousDatabaseRequest: @@ -2388,12 +2400,12 @@ components: type: string enumDescriptions: - Default unspecified value. - - Indicates that the resource is in Creating state. - - Indicates that the resource is in Active state. - - Indicates that the resource is in Deleting state. - - Indicates that the resource is in Deleted state. - - Indicates that the resource is in Failed state. - - Indicates that the resource is in Updating state. + - Indicates that the resource is in creating state. + - Indicates that the resource is in active state. + - Indicates that the resource is in deleting state. + - Indicates that the resource is in deleted state. + - Indicates that the resource is in failed state. + - Indicates that the resource is in updating state. enum: - STATE_UNSPECIFIED - CREATING @@ -2542,7 +2554,7 @@ components: type: object properties: gcpOracleZones: - description: Output only. GCP Oracle zones in a location. + description: Output only. Google Cloud Platform Oracle zones in a location. readOnly: true type: array items: @@ -3940,7 +3952,7 @@ paths: /v1/projects/{projectsId}/locations/{locationsId}/autonomousDatabases/{autonomousDatabasesId}:generateWallet: parameters: *ref_1 post: - description: Generates a wallet for a single Autonomous Database. + description: Generates a wallet for an Autonomous Database. operationId: oracledatabase.projects.locations.autonomousDatabases.generateWallet requestBody: content: @@ -4061,7 +4073,7 @@ paths: /v1/projects/{projectsId}/locations/{locationsId}/autonomousDatabaseBackups: parameters: *ref_1 get: - description: Lists the long term and automatic backups of an Autonomous Database. + description: Lists the long-term and automatic backups of an Autonomous Database. operationId: oracledatabase.projects.locations.autonomousDatabaseBackups.list security: - Oauth2: diff --git a/providers/src/googleapis.com/v00.00.00000/services/orgpolicy.yaml b/providers/src/googleapis.com/v00.00.00000/services/orgpolicy.yaml index c2d17743..54a1610a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/orgpolicy.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/orgpolicy.yaml @@ -9,8 +9,8 @@ info: The Organization Policy API allows users to configure governance rules on their Google Cloud resources across the resource hierarchy. version: v2 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241021' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/orgpolicy/docs/reference/rest/index.html servers: @@ -36,121 +36,294 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudOrgpolicyV2ConstraintBooleanConstraint: - properties: {} + GoogleTypeExpr: type: object - description: >- - 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. - id: GoogleCloudOrgpolicyV2ConstraintBooleanConstraint - GoogleCloudOrgpolicyV2Policy: - id: GoogleCloudOrgpolicyV2Policy properties: - dryRunSpec: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' - description: >- - Dry-run policy. Audit-only policy, can be used to monitor how the - policy would have impacted the existing and future resources if it's - enforced. - name: + title: type: string description: >- - 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. - etag: + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. + type: string + location: type: string description: >- - 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. + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + expression: + description: >- + Textual representation of an expression in Common Expression + Language syntax. + type: string + id: GoogleTypeExpr + description: >- + Represents a textual expression in the Common Expression Language (CEL) + syntax. CEL is a C-like expression language. The syntax and semantics of + CEL are documented at https://github.com/google/cel-spec. Example + (Comparison): title: "Summary size limit" description: "Determines if a + summary is less than 100 chars" expression: "document.summary.size() < + 100" Example (Equality): title: "Requestor is owner" description: + "Determines if requestor is the document owner" expression: + "document.owner == request.auth.claims.email" Example (Logic): title: + "Public documents" description: "Determine whether the document should + be publicly visible" expression: "document.type != 'private' && + document.type != 'internal'" Example (Data Manipulation): title: + "Notification string" description: "Create a notification string with a + timestamp." expression: "'New message received at ' + + string(document.create_time)" The exact variables and functions that may + be referenced within an expression are determined by the service that + evaluates it. See the service documentation for additional information. + GoogleCloudOrgpolicyV2AlternatePolicySpec: + id: GoogleCloudOrgpolicyV2AlternatePolicySpec + properties: spec: + description: Specify constraint for configurations of Google Cloud resources. $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' - description: Basic information about the Organization Policy. - alternate: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2AlternatePolicySpec' - description: Deprecated. - deprecated: true - description: >- - Defines an organization policy which is used to specify constraints for - configurations of Google Cloud resources. + launch: + description: >- + Reference to the launch that will be used while audit logging and to + control the launch. Should be set only in the alternate policy. + type: string type: object - GoogleCloudOrgpolicyV2PolicySpec: + description: >- + Similar to PolicySpec but with an extra 'launch' field for launch + reference. The PolicySpec here is specific for dry-run/darklaunch. + GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter: + description: Defines a parameter structure. + id: GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter properties: - reset: - type: boolean + metadata: + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata description: >- - Ignores policies set above this resource and restores the - `constraint_default` enforcement behavior of the specific constraint - at this resource. This field can be set in policies for either list - or boolean constraints. If set, `rules` must be empty and - `inherit_from_parent` must be set to false. - inheritFromParent: - type: boolean + Defines subproperties primarily used by the UI to display + user-friendly information. + item: + enum: + - TYPE_UNSPECIFIED + - LIST + - STRING + - BOOLEAN + type: string description: >- - Determines the inheritance behavior for this policy. If - `inherit_from_parent` is true, policy rules set higher up in the - hierarchy (up to the closest root) are inherited and present in the - effective policy. If it is false, then no rules are inherited, and - this policy becomes the new root for evaluation. This field can be - set only for policies which configure list constraints. - updateTime: + Determines the parameter’s value structure. For example, LIST can be + specified by defining type : LIST, and item type as : STRING. + enumDescriptions: + - Unspecified. Results in an error. + - List parameter type. + - String parameter type. + - Boolean parameter type. + type: + enumDescriptions: + - Unspecified. Results in an error. + - List parameter type. + - String parameter type. + - Boolean parameter type. + enum: + - TYPE_UNSPECIFIED + - LIST + - STRING + - BOOLEAN + description: Type of the parameter. type: string - readOnly: true - format: google-datetime + defaultValue: + type: any description: >- - Output only. The time stamp this was previously updated. This - represents the last time a call to `CreatePolicy` or `UpdatePolicy` - was made for that policy. - etag: + Sets the value of the parameter in an assignment if no value is + given. + validValuesExpr: description: >- - An opaque tag indicating the current version of the policySpec, used - for concurrency control. This field is ignored if used in a - `CreatePolicy` request. When the policy is returned from either a - `GetPolicy` or a `ListPolicies` request, this `etag` indicates the - version of the current policySpec to use when executing a - read-modify-write loop. When the policy is returned from a - `GetEffectivePolicy` request, the `etag` will be unset. + Provides a CEL expression to specify the acceptable parameter values + during assignment. For example, parameterName in ("parameterValue1", + "parameterValue2") type: string - rules: + type: object + GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata: + description: Defines Medata structure. + type: object + properties: + description: + type: string + description: >- + Detailed description of what this `parameter` is and use of it. + Mutable. + id: >- + GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata + GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition: + type: object + description: >- + Currently used for Managed Constraints. This represents a subset of + fields missing from Constraint proto that are required to describe + CustomConstraint + id: GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition + properties: + parameters: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter + type: object + description: >- + Stores Structure of parameters used by Constraint condition. Key of + map represents name of the parameter. + resourceTypes: + description: >- + The resource instance type on which this policy applies. Format will + be of the form : `/` Example: * `compute.googleapis.com/Instance`. + type: array items: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRule' + type: string + actionType: + type: string + description: Allow or deny type. + enumDescriptions: + - Unspecified. Results in an error. + - Allowed action type. + - Deny action type. + enum: + - ACTION_TYPE_UNSPECIFIED + - ALLOW + - DENY + condition: description: >- - In policies for boolean constraints, the following requirements - apply: - There must be one and only one policy rule where condition - is unset. - Boolean policy rules with conditions must set `enforced` - to the opposite of the policy rule without a condition. - During - policy evaluation, policy rules with conditions that are true for a - target resource take precedence. + 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. + type: string + methodTypes: + description: All the operations being applied for this constraint. type: array - id: GoogleCloudOrgpolicyV2PolicySpec + items: + type: string + enum: + - METHOD_TYPE_UNSPECIFIED + - CREATE + - UPDATE + - DELETE + - REMOVE_GRANT + - GOVERN_TAGS + enumDescriptions: + - Unspecified. Results in an error. + - Constraint applied when creating the resource. + - Constraint applied when updating the resource. + - >- + Constraint applied when deleting the resource. Not supported + yet. + - Constraint applied when removing an IAM grant. + - Constraint applied when enforcing forced tagging. + GoogleProtobufEmpty: + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + properties: {} + id: GoogleProtobufEmpty + type: object + GoogleCloudOrgpolicyV2CustomConstraint: + id: GoogleCloudOrgpolicyV2CustomConstraint type: object description: >- - Defines a Google Cloud policy specification which is used to specify - constraints for configurations of Google Cloud resources. - GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues: + 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*. properties: - allowedValues: - description: List of values allowed at this resource. + condition: + type: string + description: >- + 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. + methodTypes: + type: array + items: + type: string + enumDescriptions: + - Unspecified. Results in an error. + - Constraint applied when creating the resource. + - Constraint applied when updating the resource. + - >- + Constraint applied when deleting the resource. Not supported + yet. + - Constraint applied when removing an IAM grant. + - Constraint applied when enforcing forced tagging. + enum: + - METHOD_TYPE_UNSPECIFIED + - CREATE + - UPDATE + - DELETE + - REMOVE_GRANT + - GOVERN_TAGS + description: All the operations being applied for this constraint. + displayName: + description: >- + One line display name for the UI. The max length of the display_name + is 200 characters. + type: string + name: + type: string + description: >- + 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. + updateTime: + description: >- + Output only. The last time this custom constraint was updated. This + represents the last time that the `CreateCustomConstraint` or + `UpdateCustomConstraint` RPC was called + readOnly: true + type: string + format: google-datetime + resourceTypes: + description: >- + Immutable. The resource instance type on which this policy applies. + Format will be of the form : `/` Example: * + `compute.googleapis.com/Instance`. items: type: string type: array + description: + type: string + description: >- + Detailed information about this custom policy constraint. The max + length of the description is 2000 characters. + actionType: + enumDescriptions: + - Unspecified. Results in an error. + - Allowed action type. + - Deny action type. + type: string + enum: + - ACTION_TYPE_UNSPECIFIED + - ALLOW + - DENY + description: Allow or deny type. + GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues: + properties: deniedValues: + type: array items: type: string - type: array description: List of values denied at this resource. - type: object + allowedValues: + items: + type: string + type: array + description: List of values allowed at this resource. + id: GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues description: >- A message that holds specific allowed and denied values. This message can define specific values and subtrees of the Resource Manager resource @@ -165,47 +338,144 @@ components: `organizations/` (for example, `organizations/1234`) The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. - id: GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues - GoogleProtobufEmpty: - properties: {} type: object - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: GoogleProtobufEmpty - GoogleCloudOrgpolicyV2ListCustomConstraintsResponse: - description: >- - The response returned from the ListCustomConstraints method. It will be - empty if no custom constraints are set on the organization resource. - id: GoogleCloudOrgpolicyV2ListCustomConstraintsResponse + GoogleCloudOrgpolicyV2ListConstraintsResponse: type: object + id: GoogleCloudOrgpolicyV2ListConstraintsResponse properties: - customConstraints: + constraints: items: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Constraint' type: array description: >- - All custom constraints that exist on the organization resource. It - will be empty if no custom constraints are set. + The collection of constraints that are available on the targeted + resource. nextPageToken: + type: string description: >- Page token used to retrieve the next page. This is currently not - used, but the server may at any point start supplying a valid token. + used. + description: The response returned from the ListConstraints method. + GoogleCloudOrgpolicyV2PolicySpec: + description: >- + Defines a Google Cloud policy specification which is used to specify + constraints for configurations of Google Cloud resources. + properties: + updateTime: + description: >- + Output only. The time stamp this was previously updated. This + represents the last time a call to `CreatePolicy` or `UpdatePolicy` + was made for that policy. + format: google-datetime + readOnly: true + type: string + reset: + type: boolean + description: >- + Ignores policies set above this resource and restores the + `constraint_default` enforcement behavior of the specific constraint + at this resource. This field can be set in policies for either list + or boolean constraints. If set, `rules` must be empty and + `inherit_from_parent` must be set to false. + inheritFromParent: + description: >- + Determines the inheritance behavior for this policy. If + `inherit_from_parent` is true, policy rules set higher up in the + hierarchy (up to the closest root) are inherited and present in the + effective policy. If it is false, then no rules are inherited, and + this policy becomes the new root for evaluation. This field can be + set only for policies which configure list constraints. + type: boolean + rules: + type: array + description: >- + In policies for boolean constraints, the following requirements + apply: - There must be one and only one policy rule where condition + is unset. - Boolean policy rules with conditions must set `enforced` + to the opposite of the policy rule without a condition. - During + policy evaluation, policy rules with conditions that are true for a + target resource take precedence. + items: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRule' + etag: + description: >- + An opaque tag indicating the current version of the policySpec, used + for concurrency control. This field is ignored if used in a + `CreatePolicy` request. When the policy is returned from either a + `GetPolicy` or a `ListPolicies` request, this `etag` indicates the + version of the current policySpec to use when executing a + read-modify-write loop. When the policy is returned from a + `GetEffectivePolicy` request, the `etag` will be unset. + type: string + type: object + id: GoogleCloudOrgpolicyV2PolicySpec + GoogleCloudOrgpolicyV2Policy: + description: >- + Defines an organization policy which is used to specify constraints for + configurations of Google Cloud resources. + properties: + spec: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' + description: Basic information about the Organization Policy. + alternate: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2AlternatePolicySpec' + deprecated: true + description: Deprecated. + etag: + description: >- + 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. + type: string + dryRunSpec: + description: >- + Dry-run policy. Audit-only policy, can be used to monitor how the + policy would have impacted the existing and future resources if it's + enforced. + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' + name: type: string + description: >- + 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. + id: GoogleCloudOrgpolicyV2Policy + type: object GoogleCloudOrgpolicyV2Constraint: - id: GoogleCloudOrgpolicyV2Constraint properties: - booleanConstraint: - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2ConstraintBooleanConstraint - description: Defines this constraint as being a BooleanConstraint. + supportsDryRun: + description: Shows if dry run is supported for this constraint or not. + type: boolean + listConstraint: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2ConstraintListConstraint' + description: Defines this constraint as being a ListConstraint. description: description: >- Detailed description of what this constraint controls as well as how and where it is enforced. Mutable. type: string + name: + description: >- + 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". + type: string + displayName: + type: string + description: The human readable name. Mutable. constraintDefault: enumDescriptions: - >- @@ -218,33 +488,17 @@ components: Indicate that all values are denied for list constraints. Indicate that enforcement is on for boolean constraints. type: string - description: >- - The evaluation behavior of this constraint in the absence of a - policy. enum: - CONSTRAINT_DEFAULT_UNSPECIFIED - ALLOW - DENY - supportsDryRun: - type: boolean - description: Shows if dry run is supported for this constraint or not. - displayName: - description: The human readable name. Mutable. - type: string - listConstraint: - description: Defines this constraint as being a ListConstraint. - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2ConstraintListConstraint' - name: description: >- - 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". - type: string - type: object + The evaluation behavior of this constraint in the absence of a + policy. + booleanConstraint: + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ConstraintBooleanConstraint + description: Defines this constraint as being a BooleanConstraint. description: >- A constraint describes a way to restrict resource's configuration. For example, you could enforce a constraint that controls which Google Cloud @@ -259,30 +513,61 @@ components: default behavior determined by the `constraint_default` field, which is the enforcement behavior that is used in the absence of a policy being defined or inherited for the resource in question. + type: object + id: GoogleCloudOrgpolicyV2Constraint + GoogleCloudOrgpolicyV2ConstraintBooleanConstraint: + properties: + customConstraintDefinition: + description: >- + Custom constraint definition. This is set only for Managed + Constraints + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition + type: object + description: >- + 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. + id: GoogleCloudOrgpolicyV2ConstraintBooleanConstraint + GoogleCloudOrgpolicyV2ListCustomConstraintsResponse: + type: object + description: >- + The response returned from the ListCustomConstraints method. It will be + empty if no custom constraints are set on the organization resource. + properties: + customConstraints: + description: >- + All custom constraints that exist on the organization resource. It + will be empty if no custom constraints are set. + type: array + items: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + nextPageToken: + type: string + description: >- + Page token used to retrieve the next page. This is currently not + used, but the server may at any point start supplying a valid token. + id: GoogleCloudOrgpolicyV2ListCustomConstraintsResponse GoogleCloudOrgpolicyV2ListPoliciesResponse: type: object properties: policies: + items: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' description: >- All policies that exist on the resource. It will be empty if no policies are set. type: array - items: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' nextPageToken: + type: string description: >- Page token used to retrieve the next page. This is currently not used, but the server may at any point start supplying a valid token. - type: string + id: GoogleCloudOrgpolicyV2ListPoliciesResponse description: >- The response returned from the ListPolicies method. It will be empty if no policies are set on the resource. - id: GoogleCloudOrgpolicyV2ListPoliciesResponse GoogleCloudOrgpolicyV2ConstraintListConstraint: - id: GoogleCloudOrgpolicyV2ConstraintListConstraint - description: >- - A constraint that allows or disallows a list of string values, which are - configured by an Organization Policy administrator with a policy. properties: supportsUnder: type: boolean @@ -292,260 +577,91 @@ components: `Policy.denied_values`. For example, `"under:folders/123"` would match any resource under the 'folders/123' folder. supportsIn: - type: boolean description: >- Indicates whether values grouped into categories can be used in `Policy.allowed_values` and `Policy.denied_values`. For example, `"in:Python"` would match any value in the 'Python' group. + type: boolean + id: GoogleCloudOrgpolicyV2ConstraintListConstraint type: object - GoogleCloudOrgpolicyV2AlternatePolicySpec: - properties: - spec: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' - description: Specify constraint for configurations of Google Cloud resources. - launch: - description: >- - Reference to the launch that will be used while audit logging and to - control the launch. Should be set only in the alternate policy. - type: string - type: object - id: GoogleCloudOrgpolicyV2AlternatePolicySpec description: >- - Similar to PolicySpec but with an extra 'launch' field for launch - reference. The PolicySpec here is specific for dry-run/darklaunch. + A constraint that allows or disallows a list of string values, which are + configured by an Organization Policy administrator with a policy. GoogleCloudOrgpolicyV2PolicySpecPolicyRule: + type: object id: GoogleCloudOrgpolicyV2PolicySpecPolicyRule + description: A rule used to express this policy. properties: - values: - description: >- - List of values to be used for this policy rule. This field can be - set only in policies for list constraints. - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues - condition: - description: >- - A condition which determines whether this rule is used in the - evaluation of the policy. When set, the `expression` field in the - `Expr' must include from 1 to 10 subexpressions, joined by the "||" - or "&&" operators. Each subexpression must be of the form - "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". - or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". - where key_name and value_name are the resource names for Label Keys - and Values. These names are available from the Tag Manager Service. - An example expression is: "resource.matchTag('123456789/environment, - 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')". - $ref: '#/components/schemas/GoogleTypeExpr' allowAll: type: boolean description: >- Setting this to true means that all values are allowed. This field can be set only in policies for list constraints. - enforce: - type: boolean - description: >- - If `true`, then the policy is enforced. If `false`, then any - configuration is acceptable. This field can be set only in policies - for boolean constraints. - denyAll: - description: >- - Setting this to true means that all values are denied. This field - can be set only in policies for list constraints. - type: boolean - type: object - description: A rule used to express this policy. - GoogleTypeExpr: - id: GoogleTypeExpr - properties: - description: - type: string - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - location: - type: string - description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - expression: - description: >- - Textual representation of an expression in Common Expression - Language syntax. - type: string - title: - description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - type: string - description: >- - Represents a textual expression in the Common Expression Language (CEL) - syntax. CEL is a C-like expression language. The syntax and semantics of - CEL are documented at https://github.com/google/cel-spec. Example - (Comparison): title: "Summary size limit" description: "Determines if a - summary is less than 100 chars" expression: "document.summary.size() < - 100" Example (Equality): title: "Requestor is owner" description: - "Determines if requestor is the document owner" expression: - "document.owner == request.auth.claims.email" Example (Logic): title: - "Public documents" description: "Determine whether the document should - be publicly visible" expression: "document.type != 'private' && - document.type != 'internal'" Example (Data Manipulation): title: - "Notification string" description: "Create a notification string with a - timestamp." expression: "'New message received at ' + - string(document.create_time)" The exact variables and functions that may - be referenced within an expression are determined by the service that - evaluates it. See the service documentation for additional information. - type: object - GoogleCloudOrgpolicyV2ListConstraintsResponse: - properties: - nextPageToken: - description: >- - Page token used to retrieve the next page. This is currently not - used. - type: string - constraints: - type: array - items: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Constraint' - description: >- - The collection of constraints that are available on the targeted - resource. - id: GoogleCloudOrgpolicyV2ListConstraintsResponse - type: object - description: The response returned from the ListConstraints method. - GoogleCloudOrgpolicyV2CustomConstraint: - properties: - description: + values: + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues description: >- - Detailed information about this custom policy constraint. The max - length of the description is 2000 characters. - type: string + List of values to be used for this policy rule. This field can be + set only in policies for list constraints. condition: - type: string - description: >- - 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. - displayName: - type: string - description: >- - One line display name for the UI. The max length of the display_name - is 200 characters. - actionType: - enumDescriptions: - - Unspecified. Results in an error. - - Allowed action type. - - Deny action type. - description: Allow or deny type. - type: string - enum: - - ACTION_TYPE_UNSPECIFIED - - ALLOW - - DENY - name: + $ref: '#/components/schemas/GoogleTypeExpr' description: >- - 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. - type: string - resourceTypes: + A condition which determines whether this rule is used in the + evaluation of the policy. When set, the `expression` field in the + `Expr' must include from 1 to 10 subexpressions, joined by the "||" + or "&&" operators. Each subexpression must be of the form + "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". + or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". + where key_name and value_name are the resource names for Label Keys + and Values. These names are available from the Tag Manager Service. + An example expression is: "resource.matchTag('123456789/environment, + 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')". + enforce: description: >- - Immutable. The resource instance type on which this policy applies. - Format will be of the form : `/` Example: * - `compute.googleapis.com/Instance`. - items: - type: string - type: array - updateTime: + If `true`, then the policy is enforced. If `false`, then any + configuration is acceptable. This field can be set only in policies + for boolean constraints. + type: boolean + denyAll: description: >- - Output only. The last time this custom constraint was updated. This - represents the last time that the `CreateCustomConstraint` or - `UpdateCustomConstraint` RPC was called - readOnly: true - type: string - format: google-datetime - methodTypes: - items: - enum: - - METHOD_TYPE_UNSPECIFIED - - CREATE - - UPDATE - - DELETE - - REMOVE_GRANT - - GOVERN_TAGS - type: string - enumDescriptions: - - Unspecified. Results in an error. - - Constraint applied when creating the resource. - - Constraint applied when updating the resource. - - >- - Constraint applied when deleting the resource. Not supported - yet. - - Constraint applied when removing an IAM grant. - - Constraint applied when enforcing forced tagging. - type: array - description: All the operations being applied for this constraint. - type: object - id: GoogleCloudOrgpolicyV2CustomConstraint - description: >- - 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*. + Setting this to true means that all values are denied. This field + can be set only in policies for list constraints. + type: boolean parameters: - prettyPrint: - description: Returns response with indentations and line breaks. + access_token: + description: OAuth access token. in: query - name: prettyPrint + name: access_token schema: - type: boolean - alt: - description: Data format for response. + type: string + _.xgafv: + description: V1 error format. in: query - name: alt + name: $.xgafv schema: type: string enum: - - json - - media - - proto + - '1' + - '2' upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - access_token: - description: OAuth access token. + callback: + description: JSONP in: query - name: access_token + name: callback schema: type: string - key: + quotaUser: description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - callback: - description: JSONP + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: callback + name: quotaUser schema: type: string uploadType: @@ -554,203 +670,216 @@ components: name: uploadType schema: type: string - _.xgafv: - description: V1 error format. + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: $.xgafv + name: key schema: type: string - enum: - - '1' - - '2' - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + alt: + description: Data format for response. in: query - name: quotaUser + name: alt schema: type: string + enum: + - json + - media + - proto + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean oauth_token: description: OAuth 2.0 token for the current user. in: query name: oauth_token schema: type: string + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string x-stackQL-resources: policies: id: google.orgpolicy.policies name: policies title: Policies methods: - projects_policies_delete: + folders_policies_get: operation: - $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}/delete + $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}/get' response: mediaType: application/json openAPIDocKey: '200' - projects_policies_get: + folders_policies_delete: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}/get' + $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}/delete' response: mediaType: application/json openAPIDocKey: '200' - projects_policies_patch: + folders_policies_patch: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}/patch' + $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}/patch' response: mediaType: application/json openAPIDocKey: '200' - projects_policies_create: + folders_policies_create: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies/post' + $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies/post' response: mediaType: application/json openAPIDocKey: '200' - projects_policies_list: + folders_policies_list: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies/get' + $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.policies - organizations_policies_delete: + projects_policies_patch: operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}/delete + $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}/patch' response: mediaType: application/json openAPIDocKey: '200' - organizations_policies_get: + projects_policies_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}/get + #/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_policies_patch: + projects_policies_get: operation: - $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}/patch + $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}/get' response: mediaType: application/json openAPIDocKey: '200' - organizations_policies_create: + projects_policies_create: operation: - $ref: '#/paths/~1v2~1organizations~1{organizationsId}~1policies/post' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies/post' response: mediaType: application/json openAPIDocKey: '200' - organizations_policies_list: + projects_policies_list: operation: - $ref: '#/paths/~1v2~1organizations~1{organizationsId}~1policies/get' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1policies/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.policies - folders_policies_patch: + organizations_policies_delete: operation: - $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}/patch' + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}/delete response: mediaType: application/json openAPIDocKey: '200' - folders_policies_delete: + organizations_policies_get: operation: - $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}/delete' + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}/get response: mediaType: application/json openAPIDocKey: '200' - folders_policies_get: + organizations_policies_patch: operation: - $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}/get' + $ref: >- + #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}/patch response: mediaType: application/json openAPIDocKey: '200' - folders_policies_list: + organizations_policies_create: operation: - $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies/get' + $ref: '#/paths/~1v2~1organizations~1{organizationsId}~1policies/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.policies - folders_policies_create: + organizations_policies_list: operation: - $ref: '#/paths/~1v2~1folders~1{foldersId}~1policies/post' + $ref: '#/paths/~1v2~1organizations~1{organizationsId}~1policies/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.policies sqlVerbs: select: + - $ref: >- + #/components/x-stackQL-resources/policies/methods/folders_policies_get - $ref: >- #/components/x-stackQL-resources/policies/methods/projects_policies_get - $ref: >- #/components/x-stackQL-resources/policies/methods/organizations_policies_get - $ref: >- - #/components/x-stackQL-resources/policies/methods/folders_policies_get + #/components/x-stackQL-resources/policies/methods/folders_policies_list - $ref: >- #/components/x-stackQL-resources/policies/methods/projects_policies_list - $ref: >- #/components/x-stackQL-resources/policies/methods/organizations_policies_list - - $ref: >- - #/components/x-stackQL-resources/policies/methods/folders_policies_list insert: + - $ref: >- + #/components/x-stackQL-resources/policies/methods/folders_policies_create - $ref: >- #/components/x-stackQL-resources/policies/methods/projects_policies_create - $ref: >- #/components/x-stackQL-resources/policies/methods/organizations_policies_create - - $ref: >- - #/components/x-stackQL-resources/policies/methods/folders_policies_create update: + - $ref: >- + #/components/x-stackQL-resources/policies/methods/folders_policies_patch - $ref: >- #/components/x-stackQL-resources/policies/methods/projects_policies_patch - $ref: >- #/components/x-stackQL-resources/policies/methods/organizations_policies_patch - - $ref: >- - #/components/x-stackQL-resources/policies/methods/folders_policies_patch replace: [] delete: + - $ref: >- + #/components/x-stackQL-resources/policies/methods/folders_policies_delete - $ref: >- #/components/x-stackQL-resources/policies/methods/projects_policies_delete - $ref: >- #/components/x-stackQL-resources/policies/methods/organizations_policies_delete - - $ref: >- - #/components/x-stackQL-resources/policies/methods/folders_policies_delete policies_effective_policy: id: google.orgpolicy.policies_effective_policy name: policies_effective_policy title: Policies_effective_policy methods: - projects_policies_get_effective_policy: + folders_policies_get_effective_policy: operation: $ref: >- - #/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}:getEffectivePolicy/get + #/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}:getEffectivePolicy/get response: mediaType: application/json openAPIDocKey: '200' - organizations_policies_get_effective_policy: + projects_policies_get_effective_policy: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}:getEffectivePolicy/get + #/paths/~1v2~1projects~1{projectsId}~1policies~1{policiesId}:getEffectivePolicy/get response: mediaType: application/json openAPIDocKey: '200' - folders_policies_get_effective_policy: + organizations_policies_get_effective_policy: operation: $ref: >- - #/paths/~1v2~1folders~1{foldersId}~1policies~1{policiesId}:getEffectivePolicy/get + #/paths/~1v2~1organizations~1{organizationsId}~1policies~1{policiesId}:getEffectivePolicy/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: + - $ref: >- + #/components/x-stackQL-resources/policies_effective_policy/methods/folders_policies_get_effective_policy - $ref: >- #/components/x-stackQL-resources/policies_effective_policy/methods/projects_policies_get_effective_policy - $ref: >- #/components/x-stackQL-resources/policies_effective_policy/methods/organizations_policies_get_effective_policy - - $ref: >- - #/components/x-stackQL-resources/policies_effective_policy/methods/folders_policies_get_effective_policy insert: [] update: [] replace: [] @@ -760,35 +889,35 @@ components: name: constraints title: Constraints methods: - projects_constraints_list: + folders_constraints_list: operation: - $ref: '#/paths/~1v2~1projects~1{projectsId}~1constraints/get' + $ref: '#/paths/~1v2~1folders~1{foldersId}~1constraints/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.constraints - organizations_constraints_list: + projects_constraints_list: operation: - $ref: '#/paths/~1v2~1organizations~1{organizationsId}~1constraints/get' + $ref: '#/paths/~1v2~1projects~1{projectsId}~1constraints/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.constraints - folders_constraints_list: + organizations_constraints_list: operation: - $ref: '#/paths/~1v2~1folders~1{foldersId}~1constraints/get' + $ref: '#/paths/~1v2~1organizations~1{organizationsId}~1constraints/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.constraints sqlVerbs: select: + - $ref: >- + #/components/x-stackQL-resources/constraints/methods/folders_constraints_list - $ref: >- #/components/x-stackQL-resources/constraints/methods/projects_constraints_list - $ref: >- #/components/x-stackQL-resources/constraints/methods/organizations_constraints_list - - $ref: >- - #/components/x-stackQL-resources/constraints/methods/folders_constraints_list insert: [] update: [] replace: [] @@ -805,35 +934,35 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_custom_constraints_delete: + organizations_custom_constraints_get: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints~1{customConstraintsId}/delete + #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints~1{customConstraintsId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_custom_constraints_get: + organizations_custom_constraints_delete: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints~1{customConstraintsId}/get + #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints~1{customConstraintsId}/delete response: mediaType: application/json openAPIDocKey: '200' - organizations_custom_constraints_list: + organizations_custom_constraints_create: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints/get + #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.customConstraints - organizations_custom_constraints_create: + organizations_custom_constraints_list: operation: $ref: >- - #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints/post + #/paths/~1v2~1organizations~1{organizationsId}~1customConstraints/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.customConstraints sqlVerbs: select: - $ref: >- @@ -851,25 +980,25 @@ components: - $ref: >- #/components/x-stackQL-resources/custom_constraints/methods/organizations_custom_constraints_delete paths: - /v2/projects/{projectsId}/policies/{policiesId}: + /v2/folders/{foldersId}/policies/{policiesId}: parameters: &ref_1 - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/oauth_token' - delete: + - $ref: '#/components/parameters/fields' + get: description: >- - Deletes a policy. Returns a `google.rpc.Status` with - `google.rpc.Code.NOT_FOUND` if the constraint or organization policy - does not exist. - operationId: orgpolicy.projects.policies.delete + Gets a policy on a resource. If no policy is set on the resource, + `NOT_FOUND` is returned. The `etag` value can be used with + `UpdatePolicy()` to update a policy during read-modify-write. + operationId: orgpolicy.folders.policies.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -881,10 +1010,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -893,16 +1022,12 @@ paths: required: true schema: type: string - - in: query - name: etag - schema: - type: string - get: + delete: description: >- - Gets a policy on a resource. If no policy is set on the resource, - `NOT_FOUND` is returned. The `etag` value can be used with - `UpdatePolicy()` to update a policy during read-modify-write. - operationId: orgpolicy.projects.policies.get + Deletes a policy. Returns a `google.rpc.Status` with + `google.rpc.Code.NOT_FOUND` if the constraint or organization policy + does not exist. + operationId: orgpolicy.folders.policies.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -914,10 +1039,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -926,6 +1051,10 @@ paths: required: true schema: type: string + - in: query + name: etag + schema: + type: string patch: description: >- Updates a policy. Returns a `google.rpc.Status` with @@ -934,7 +1063,7 @@ paths: 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. - operationId: orgpolicy.projects.policies.patch + operationId: orgpolicy.folders.policies.patch requestBody: content: application/json: @@ -954,7 +1083,7 @@ paths: $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -968,7 +1097,7 @@ paths: schema: type: string format: google-fieldmask - /v2/projects/{projectsId}/policies: + /v2/folders/{foldersId}/policies: parameters: *ref_1 post: description: >- @@ -976,7 +1105,7 @@ paths: `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy already exists on the given Google Cloud resource. - operationId: orgpolicy.projects.policies.create + operationId: orgpolicy.folders.policies.create requestBody: content: application/json: @@ -996,13 +1125,13 @@ paths: $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string get: description: Retrieves all of the policies that exist on a particular resource. - operationId: orgpolicy.projects.policies.list + operationId: orgpolicy.folders.policies.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1018,20 +1147,20 @@ paths: #/components/schemas/GoogleCloudOrgpolicyV2ListPoliciesResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v2/projects/{projectsId}/policies/{policiesId}:getEffectivePolicy: + /v2/folders/{foldersId}/policies/{policiesId}:getEffectivePolicy: parameters: *ref_1 get: description: >- @@ -1040,7 +1169,7 @@ paths: 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. - operationId: orgpolicy.projects.policies.getEffectivePolicy + operationId: orgpolicy.folders.policies.getEffectivePolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1055,7 +1184,7 @@ paths: $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -1064,11 +1193,11 @@ paths: required: true schema: type: string - /v2/projects/{projectsId}/constraints: + /v2/folders/{foldersId}/constraints: parameters: *ref_1 get: description: Lists constraints that could be applied on the specified resource. - operationId: orgpolicy.projects.constraints.list + operationId: orgpolicy.folders.constraints.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1084,7 +1213,7 @@ paths: #/components/schemas/GoogleCloudOrgpolicyV2ListConstraintsResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -1097,19 +1226,22 @@ paths: schema: type: integer format: int32 - /v2/organizations/{organizationsId}/customConstraints/{customConstraintsId}: + /v2/projects/{projectsId}/policies/{policiesId}: parameters: *ref_1 patch: description: >- - 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. - operationId: orgpolicy.organizations.customConstraints.patch + 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. + operationId: orgpolicy.projects.policies.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1121,23 +1253,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - in: path - name: customConstraintsId + name: policiesId required: true schema: type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask delete: description: >- - Deletes a custom constraint. Returns a `google.rpc.Status` with - `google.rpc.Code.NOT_FOUND` if the constraint does not exist. - operationId: orgpolicy.organizations.customConstraints.delete + Deletes a policy. Returns a `google.rpc.Status` with + `google.rpc.Code.NOT_FOUND` if the constraint or organization policy + does not exist. + operationId: orgpolicy.projects.policies.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1152,20 +1290,25 @@ paths: $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - in: path - name: customConstraintsId + name: policiesId required: true schema: type: string + - in: query + name: etag + schema: + type: string get: description: >- - Gets a custom constraint. Returns a `google.rpc.Status` with - `google.rpc.Code.NOT_FOUND` if the custom constraint does not exist. - operationId: orgpolicy.organizations.customConstraints.get + Gets a policy on a resource. If no policy is set on the resource, + `NOT_FOUND` is returned. The `etag` value can be used with + `UpdatePolicy()` to update a policy during read-modify-write. + operationId: orgpolicy.projects.policies.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1177,25 +1320,32 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - in: path - name: customConstraintsId + name: policiesId required: true schema: type: string - /v2/organizations/{organizationsId}/customConstraints: + /v2/projects/{projectsId}/policies: parameters: *ref_1 - get: + post: description: >- - Retrieves all of the custom constraints that exist on a particular - organization resource. - operationId: orgpolicy.organizations.customConstraints.list + Creates a policy. Returns a `google.rpc.Status` with + `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a + `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy + already exists on the given Google Cloud resource. + operationId: orgpolicy.projects.policies.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1207,35 +1357,16 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2ListCustomConstraintsResponse + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: >- - 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. - operationId: orgpolicy.organizations.customConstraints.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + get: + description: Retrieves all of the policies that exist on a particular resource. + operationId: orgpolicy.projects.policies.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1247,18 +1378,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ListPoliciesResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - /v2/organizations/{organizationsId}/constraints: + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v2/projects/{projectsId}/policies/{policiesId}:getEffectivePolicy: parameters: *ref_1 get: - description: Lists constraints that could be applied on the specified resource. - operationId: orgpolicy.organizations.constraints.list + description: >- + 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. + operationId: orgpolicy.projects.policies.getEffectivePolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1270,33 +1416,23 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2ListConstraintsResponse + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: policiesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v2/organizations/{organizationsId}/policies/{policiesId}:getEffectivePolicy: + /v2/projects/{projectsId}/constraints: parameters: *ref_1 get: - description: >- - 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. - operationId: orgpolicy.organizations.policies.getEffectivePolicy + description: Lists constraints that could be applied on the specified resource. + operationId: orgpolicy.projects.constraints.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1308,26 +1444,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ListConstraintsResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string - - in: path - name: policiesId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v2/organizations/{organizationsId}/policies/{policiesId}: + /v2/organizations/{organizationsId}/customConstraints/{customConstraintsId}: parameters: *ref_1 - delete: + patch: description: >- - Deletes a policy. Returns a `google.rpc.Status` with - `google.rpc.Code.NOT_FOUND` if the constraint or organization policy - does not exist. - operationId: orgpolicy.organizations.policies.delete + 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. + operationId: orgpolicy.organizations.customConstraints.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1339,7 +1485,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' parameters: - in: path name: organizationsId @@ -1347,20 +1493,15 @@ paths: schema: type: string - in: path - name: policiesId + name: customConstraintsId required: true schema: type: string - - in: query - name: etag - schema: - type: string get: description: >- - Gets a policy on a resource. If no policy is set on the resource, - `NOT_FOUND` is returned. The `etag` value can be used with - `UpdatePolicy()` to update a policy during read-modify-write. - operationId: orgpolicy.organizations.policies.get + Gets a custom constraint. Returns a `google.rpc.Status` with + `google.rpc.Code.NOT_FOUND` if the custom constraint does not exist. + operationId: orgpolicy.organizations.customConstraints.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1372,7 +1513,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' parameters: - in: path name: organizationsId @@ -1380,24 +1521,15 @@ paths: schema: type: string - in: path - name: policiesId + name: customConstraintsId required: true schema: type: string - patch: + delete: description: >- - 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. - operationId: orgpolicy.organizations.policies.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + Deletes a custom constraint. Returns a `google.rpc.Status` with + `google.rpc.Code.NOT_FOUND` if the constraint does not exist. + operationId: orgpolicy.organizations.customConstraints.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1409,7 +1541,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: organizationsId @@ -1417,29 +1549,24 @@ paths: schema: type: string - in: path - name: policiesId + name: customConstraintsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - /v2/organizations/{organizationsId}/policies: + /v2/organizations/{organizationsId}/customConstraints: parameters: *ref_1 post: description: >- - Creates a policy. Returns a `google.rpc.Status` with - `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a - `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy - already exists on the given Google Cloud resource. - operationId: orgpolicy.organizations.policies.create + 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. + operationId: orgpolicy.organizations.customConstraints.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1451,7 +1578,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' parameters: - in: path name: organizationsId @@ -1459,8 +1586,10 @@ paths: schema: type: string get: - description: Retrieves all of the policies that exist on a particular resource. - operationId: orgpolicy.organizations.policies.list + description: >- + Retrieves all of the custom constraints that exist on a particular + organization resource. + operationId: orgpolicy.organizations.customConstraints.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1473,7 +1602,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2ListPoliciesResponse + #/components/schemas/GoogleCloudOrgpolicyV2ListCustomConstraintsResponse parameters: - in: path name: organizationsId @@ -1489,22 +1618,11 @@ paths: schema: type: integer format: int32 - /v2/folders/{foldersId}/policies/{policiesId}: + /v2/organizations/{organizationsId}/constraints: parameters: *ref_1 - patch: - description: >- - 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. - operationId: orgpolicy.folders.policies.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + get: + description: Lists constraints that could be applied on the specified resource. + operationId: orgpolicy.organizations.constraints.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1516,29 +1634,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ListConstraintsResponse parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - - in: path - name: policiesId - required: true + - in: query + name: pageToken schema: type: string - in: query - name: updateMask + name: pageSize schema: - type: string - format: google-fieldmask + type: integer + format: int32 + /v2/organizations/{organizationsId}/policies/{policiesId}: + parameters: *ref_1 delete: description: >- Deletes a policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or organization policy does not exist. - operationId: orgpolicy.folders.policies.delete + operationId: orgpolicy.organizations.policies.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1553,7 +1673,7 @@ paths: $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -1571,7 +1691,7 @@ paths: Gets a policy on a resource. If no policy is set on the resource, `NOT_FOUND` is returned. The `etag` value can be used with `UpdatePolicy()` to update a policy during read-modify-write. - operationId: orgpolicy.folders.policies.get + operationId: orgpolicy.organizations.policies.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1586,7 +1706,7 @@ paths: $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -1595,11 +1715,20 @@ paths: required: true schema: type: string - /v2/folders/{foldersId}/policies: - parameters: *ref_1 - get: - description: Retrieves all of the policies that exist on a particular resource. - operationId: orgpolicy.folders.policies.list + patch: + description: >- + 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. + operationId: orgpolicy.organizations.policies.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1611,30 +1740,32 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2ListPoliciesResponse + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: policiesId + required: true schema: type: string - in: query - name: pageSize + name: updateMask schema: - type: integer - format: int32 + type: string + format: google-fieldmask + /v2/organizations/{organizationsId}/policies: + parameters: *ref_1 post: description: >- Creates a policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy already exists on the given Google Cloud resource. - operationId: orgpolicy.folders.policies.create + operationId: orgpolicy.organizations.policies.create requestBody: content: application/json: @@ -1654,20 +1785,13 @@ paths: $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - /v2/folders/{foldersId}/policies/{policiesId}:getEffectivePolicy: - parameters: *ref_1 get: - description: >- - 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. - operationId: orgpolicy.folders.policies.getEffectivePolicy + description: Retrieves all of the policies that exist on a particular resource. + operationId: orgpolicy.organizations.policies.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1679,23 +1803,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2ListPoliciesResponse parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - - in: path - name: policiesId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - /v2/folders/{foldersId}/constraints: + /v2/organizations/{organizationsId}/policies/{policiesId}:getEffectivePolicy: parameters: *ref_1 get: - description: Lists constraints that could be applied on the specified resource. - operationId: orgpolicy.folders.constraints.list + description: >- + 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. + operationId: orgpolicy.organizations.policies.getEffectivePolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1707,20 +1841,15 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2ListConstraintsResponse + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: policiesId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 diff --git a/providers/src/googleapis.com/v00.00.00000/services/osconfig.yaml b/providers/src/googleapis.com/v00.00.00000/services/osconfig.yaml index 3a40cfee..a16d7612 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/osconfig.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/osconfig.yaml @@ -9,8 +9,8 @@ info: OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/compute/docs/osconfig/rest servers: @@ -1082,23 +1082,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 WeeklySchedule: @@ -2986,6 +2991,47 @@ components: description: Rollout update time type: string format: google-datetime + GoogleCloudOsconfigV2beta__OperationMetadata: + id: GoogleCloudOsconfigV2beta__OperationMetadata + description: Represents the metadata of the long-running operation. + type: object + properties: + createTime: + description: Output only. The time the operation was created. + readOnly: true + type: string + format: google-datetime + endTime: + description: Output only. The time the operation finished running. + readOnly: true + type: string + format: google-datetime + target: + description: >- + Output only. Server-defined resource path for the target of the + operation. + readOnly: true + type: string + verb: + description: Output only. Name of the verb executed by the operation. + readOnly: true + type: string + statusMessage: + description: Output only. Human-readable status of the operation, if any. + readOnly: true + type: string + requestedCancellation: + description: >- + Output only. Identifies whether the user has requested cancellation + of the operation. Operations that have been cancelled successfully + have Operation.error value with a google.rpc.Status.code of 1, + corresponding to `Code.CANCELLED`. + readOnly: true + type: boolean + apiVersion: + description: Output only. API version used to start the operation. + readOnly: true + type: string parameters: access_token: description: OAuth access token. diff --git a/providers/src/googleapis.com/v00.00.00000/services/oslogin.yaml b/providers/src/googleapis.com/v00.00.00000/services/oslogin.yaml index ea5eaddb..2010317e 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/oslogin.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/oslogin.yaml @@ -7,8 +7,8 @@ info: title: Cloud OS Login API description: You can use OS Login to manage access to your VM instances using IAM roles. version: v1 - x-discovery-doc-revision: '20240825' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/compute/docs/oslogin/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/places.yaml b/providers/src/googleapis.com/v00.00.00000/services/places.yaml index 1408e1c3..cb521c75 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/places.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/places.yaml @@ -7,8 +7,8 @@ info: title: Places API (New) description: '' version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://mapsplatform.google.com/maps-products/#places-section servers: @@ -22,21 +22,24 @@ components: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: &ref_0 - https://www.googleapis.com/auth/maps-platform.places.autocomplete: >- - Private Service: - https://www.googleapis.com/auth/maps-platform.places.autocomplete https://www.googleapis.com/auth/maps-platform.places.nearbysearch: >- Private Service: https://www.googleapis.com/auth/maps-platform.places.nearbysearch - https://www.googleapis.com/auth/maps-platform.places: >- - Private Service: - https://www.googleapis.com/auth/maps-platform.places https://www.googleapis.com/auth/maps-platform.places.details: >- Private Service: https://www.googleapis.com/auth/maps-platform.places.details + https://www.googleapis.com/auth/maps-platform.places: >- + Private Service: + https://www.googleapis.com/auth/maps-platform.places 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. + https://www.googleapis.com/auth/maps-platform.places.autocomplete: >- + Private Service: + https://www.googleapis.com/auth/maps-platform.places.autocomplete + https://www.googleapis.com/auth/maps-platform.places.getphotomedia: >- + Private Service: + https://www.googleapis.com/auth/maps-platform.places.getphotomedia https://www.googleapis.com/auth/maps-platform.places.textsearch: >- Private Service: https://www.googleapis.com/auth/maps-platform.places.textsearch @@ -49,72 +52,165 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleMapsPlacesV1Review: - id: GoogleMapsPlacesV1Review + GoogleMapsPlacesV1PlaceOpeningHoursPeriod: + id: GoogleMapsPlacesV1PlaceOpeningHoursPeriod + properties: + open: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint' + description: The time that the place starts to be open. + close: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint' + description: The time that the place starts to be closed. + description: A period the place remains in open_now status. type: object + GoogleMapsPlacesV1PlaceAccessibilityOptions: properties: - name: + wheelchairAccessibleRestroom: + type: boolean + description: Place has wheelchair accessible restroom. + wheelchairAccessibleEntrance: + type: boolean + description: Places has wheelchair accessible entrance. + wheelchairAccessibleSeating: + description: Place has wheelchair accessible seating. + type: boolean + wheelchairAccessibleParking: + type: boolean + description: Place offers wheelchair accessible parking. + description: Information about the accessibility options a place offers. + type: object + id: GoogleMapsPlacesV1PlaceAccessibilityOptions + GoogleMapsPlacesV1SearchTextRequestEVOptions: + properties: + connectorTypes: + type: array + items: + enum: + - EV_CONNECTOR_TYPE_UNSPECIFIED + - EV_CONNECTOR_TYPE_OTHER + - EV_CONNECTOR_TYPE_J1772 + - EV_CONNECTOR_TYPE_TYPE_2 + - EV_CONNECTOR_TYPE_CHADEMO + - EV_CONNECTOR_TYPE_CCS_COMBO_1 + - EV_CONNECTOR_TYPE_CCS_COMBO_2 + - EV_CONNECTOR_TYPE_TESLA + - EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T + - EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET + type: string + enumDescriptions: + - Unspecified connector. + - Other connector types. + - J1772 type 1 connector. + - IEC 62196 type 2 connector. Often referred to as MENNEKES. + - CHAdeMO type connector. + - >- + Combined Charging System (AC and DC). Based on SAE. Type-1 + J-1772 connector + - >- + Combined Charging System (AC and DC). Based on Type-2 Mennekes + connector + - >- + The generic TESLA connector. This is NACS in the North America + but can be non-NACS in other parts of the world (e.g. CCS Combo + 2 (CCS2) or GB/T). This value is less representative of an + actual connector type, and more represents the ability to charge + a Tesla brand vehicle at a Tesla owned charging station. + - >- + GB/T type corresponds to the GB/T standard in China. This type + covers all GB_T types. + - Unspecified wall outlet. description: >- - A reference representing this place review which may be used to look - up this place review again (also called the API "resource" name: - `places/{place_id}/reviews/{review}`). - type: string - originalText: - $ref: '#/components/schemas/GoogleTypeLocalizedText' - description: The review text in its original language. - publishTime: + Optional. The list of preferred EV connector types. A place that + does not support any of the listed connector types is filtered out. + minimumChargingRateKw: + format: double + type: number + description: >- + Optional. Minimum required charging rate in kilowatts. A place with + a charging rate less than the specified rate is filtered out. + id: GoogleMapsPlacesV1SearchTextRequestEVOptions + description: Searchable EV options of a place search request. + type: object + GoogleMapsPlacesV1AutocompletePlacesResponse: + id: GoogleMapsPlacesV1AutocompletePlacesResponse + type: object + properties: + suggestions: + type: array + items: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestion + description: >- + Contains a list of suggestions, ordered in descending order of + relevance. + description: Response proto for AutocompletePlaces. + GoogleMapsPlacesV1PlacePlusCode: + type: object + id: GoogleMapsPlacesV1PlacePlusCode + description: >- + Plus code (http://plus.codes) is a location reference with two formats: + global code defining a 14mx14m (1/8000th of a degree) or smaller + rectangle, and compound code, replacing the prefix with a reference + location. + properties: + compoundCode: + description: >- + Place's compound code, such as "33GV+HQ, Ramberg, Norway", + containing the suffix of the global code and replacing the prefix + with a formatted name of a reference entity. type: string - description: Timestamp for the review. - format: google-datetime - text: - description: The localized text of the review. - $ref: '#/components/schemas/GoogleTypeLocalizedText' - authorAttribution: - description: This review's author. - $ref: '#/components/schemas/GoogleMapsPlacesV1AuthorAttribution' - relativePublishTimeDescription: + globalCode: type: string description: >- - A string of formatted recent time, expressing the review time - relative to the current time in a form appropriate for the language - and country. - rating: - description: A number between 1.0 and 5.0, also called the number of stars. + Place's global (full) code, such as "9FWM33GV+HQ", representing an + 1/8000 by 1/8000 degree area (~14 by 14 meters). + GoogleMapsPlacesV1AutocompletePlacesResponseSuggestion: + id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestion + properties: + queryPrediction: + description: A prediction for a query. + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionQueryPrediction + placePrediction: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionPlacePrediction + description: A prediction for a Place. + type: object + description: An Autocomplete suggestion result. + GoogleTypeLatLng: + type: object + id: GoogleTypeLatLng + properties: + latitude: format: double type: number - description: Information about a review of a place. + description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + longitude: + type: number + format: double + description: The longitude in degrees. It must be in the range [-180.0, +180.0]. + description: >- + An object that represents a latitude/longitude pair. This is expressed + as a pair of doubles to represent degrees latitude and degrees + longitude. Unless specified otherwise, this object must conform to the + WGS84 standard. Values must be within normalized ranges. + GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedTextHighlightedTextRange: + description: The range of highlighted text. + id: >- + GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedTextHighlightedTextRange + properties: + endIndex: + format: int32 + type: integer + startIndex: + type: integer + format: int32 + type: object GoogleMapsPlacesV1FuelOptionsFuelPrice: - description: Fuel price information for a given type. + type: object properties: - price: - description: The price of the fuel. - $ref: '#/components/schemas/GoogleTypeMoney' - updateTime: - type: string - description: The time the fuel price was last updated. - format: google-datetime type: - description: The type of fuel. - enum: - - FUEL_TYPE_UNSPECIFIED - - DIESEL - - REGULAR_UNLEADED - - MIDGRADE - - PREMIUM - - SP91 - - SP91_E10 - - SP92 - - SP95 - - SP95_E10 - - SP98 - - SP99 - - SP100 - - LPG - - E80 - - E85 - - METHANE - - BIO_DIESEL - - TRUCK_DIESEL + type: string enumDescriptions: - Unspecified fuel type. - Diesel fuel. @@ -135,234 +231,372 @@ components: - Methane. - Bio-diesel. - Truck diesel. + enum: + - FUEL_TYPE_UNSPECIFIED + - DIESEL + - REGULAR_UNLEADED + - MIDGRADE + - PREMIUM + - SP91 + - SP91_E10 + - SP92 + - SP95 + - SP95_E10 + - SP98 + - SP99 + - SP100 + - LPG + - E80 + - E85 + - METHANE + - BIO_DIESEL + - TRUCK_DIESEL + description: The type of fuel. + price: + $ref: '#/components/schemas/GoogleTypeMoney' + description: The price of the fuel. + updateTime: + description: The time the fuel price was last updated. type: string + format: google-datetime + description: Fuel price information for a given type. id: GoogleMapsPlacesV1FuelOptionsFuelPrice + GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText: type: object - GoogleMapsPlacesV1SearchNearbyRequest: - type: object + description: >- + Text representing a Place or query prediction. The text may be used as + is or formatted. + id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText properties: - excludedTypes: - items: - type: string + matches: description: >- - Excluded Place type (eg, "restaurant" or "gas_station") from - https://developers.google.com/maps/documentation/places/web-service/place-types. - Up to 50 types from [Table - A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) - may be specified. If the client provides both included_types (e.g. - restaurant) and excluded_types (e.g. cafe), then the response should - include places that are restaurant but not cafe. The response - includes places that match at least one of the included_types and - none of the excluded_types. If there are any conflicting types, i.e. - a type appears in both included_types and excluded_types, an - INVALID_ARGUMENT error is returned. If a Place type is specified - with multiple type restrictions, only places that satisfy all of the - restrictions are returned. For example, if we have {included_types = - ["restaurant"], excluded_primary_types = ["restaurant"]}, the - returned places provide "restaurant" related services but do not - operate primarily as "restaurants". + A list of string ranges identifying where the input request matched + in `text`. The ranges can be used to format specific parts of + `text`. The substrings may not be exact matches of `input` if the + matching was determined by criteria other than string matching (for + example, spell corrections or transliterations). These values are + Unicode character offsets of `text`. The ranges are guaranteed to be + ordered in increasing offset values. type: array - includedPrimaryTypes: items: - type: string + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStringRange + text: + description: Text that may be used as is or formatted with `matches`. + type: string + GoogleMapsPlacesV1SearchNearbyResponse: + description: 'Response proto for Search Nearby. ' + properties: + places: description: >- - Included primary Place type (e.g. "restaurant" or "gas_station") - from - https://developers.google.com/maps/documentation/places/web-service/place-types. - A place can only have a single primary type from the supported types - table associated with it. Up to 50 types from [Table - A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) - may be specified. If there are any conflicting primary types, i.e. a - type appears in both included_primary_types and - excluded_primary_types, an INVALID_ARGUMENT error is returned. If a - Place type is specified with multiple type restrictions, only places - that satisfy all of the restrictions are returned. For example, if - we have {included_types = ["restaurant"], excluded_primary_types = - ["restaurant"]}, the returned places provide "restaurant" related - services but do not operate primarily as "restaurants". - type: array - locationRestriction: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1SearchNearbyRequestLocationRestriction - description: Required. The region to search. - excludedPrimaryTypes: + A list of places that meets user's requirements like places types, + number of places and specific location restriction. items: - type: string + $ref: '#/components/schemas/GoogleMapsPlacesV1Place' + type: array + routingSummaries: type: array description: >- - Excluded primary Place type (e.g. "restaurant" or "gas_station") - from - https://developers.google.com/maps/documentation/places/web-service/place-types. - Up to 50 types from [Table - A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) - may be specified. If there are any conflicting primary types, i.e. a - type appears in both included_primary_types and - excluded_primary_types, an INVALID_ARGUMENT error is returned. If a - Place type is specified with multiple type restrictions, only places - that satisfy all of the restrictions are returned. For example, if - we have {included_types = ["restaurant"], excluded_primary_types = - ["restaurant"]}, the returned places provide "restaurant" related - services but do not operate primarily as "restaurants". - includedTypes: + A list of routing summaries where each entry associates to the + corresponding place in the same index in the `places` field. If the + routing summary is not available for one of the places, it will + contain an empty entry. This list should have as many entries as the + list of places if requested. items: - type: string + $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingSummary' + type: object + id: GoogleMapsPlacesV1SearchNearbyResponse + GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedText: + type: object + id: >- + GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedText + properties: + highlightedTextRanges: type: array - description: >- - Included Place type (eg, "restaurant" or "gas_station") from - https://developers.google.com/maps/documentation/places/web-service/place-types. - Up to 50 types from [Table - A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) - may be specified. If there are any conflicting types, i.e. a type - appears in both included_types and excluded_types, an - INVALID_ARGUMENT error is returned. If a Place type is specified - with multiple type restrictions, only places that satisfy all of the - restrictions are returned. For example, if we have {included_types = - ["restaurant"], excluded_primary_types = ["restaurant"]}, the - returned places provide "restaurant" related services but do not - operate primarily as "restaurants". - routingParameters: - $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingParameters' - description: Optional. Parameters that affect the routing to the search results. - maxResultCount: - description: >- - Maximum number of results to return. It must be between 1 and 20 - (default), inclusively. If the number is unset, it falls back to the - upper limit. If the number is set to negative or exceeds the upper - limit, an INVALID_ARGUMENT error is returned. - format: int32 - type: integer - rankPreference: - enum: - - RANK_PREFERENCE_UNSPECIFIED - - DISTANCE - - POPULARITY - enumDescriptions: - - >- - RankPreference value not set. Will use rank by POPULARITY by - default. - - Ranks results by distance. - - Ranks results by popularity. - description: How results will be ranked in the response. - type: string - regionCode: - type: string - description: >- - The Unicode country/region code (CLDR) of the location where the - request is coming from. This parameter is used to display the place - details, like region-specific place name, if available. The - parameter can affect results based on applicable law. For more - information, see - https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. - Note that 3-digit region codes are not currently supported. - languageCode: - description: >- - Place details will be displayed with the preferred language if - available. If the language code is unspecified or unrecognized, - place details of any language may be returned, with a preference for - English if such details exist. Current list of supported languages: - https://developers.google.com/maps/faq#languagesupport. + items: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedTextHighlightedTextRange + description: The list of the ranges of the highlighted text. + text: type: string - id: GoogleMapsPlacesV1SearchNearbyRequest - description: 'Request proto for Search Nearby. ' - GoogleMapsPlacesV1EVChargeOptions: + description: >- + The text highlighted by the justification. This is a subset of the + review itself. The exact word to highlight is marked by the + HighlightedTextRange. There could be several words in the text being + highlighted. + GoogleTypeDate: properties: - connectorCount: + month: type: integer + format: int32 description: >- - Number of connectors at this station. However, because some ports - can have multiple connectors but only be able to charge one car at a - time (e.g.) the number of connectors may be greater than the total - number of cars which can charge simultaneously. + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + day: format: int32 - connectorAggregation: description: >- - A list of EV charging connector aggregations that contain connectors - of the same type and same charge rate. - items: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation - type: array + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + type: integer + year: + description: >- + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + type: integer + format: int32 + id: GoogleTypeDate type: object description: >- - Information about the EV Charge Station hosted in Place. Terminology - follows https://afdc.energy.gov/fuels/electricity_infrastructure.html - One port could charge one car at a time. One port has one or more - connectors. One station has one or more ports. - id: GoogleMapsPlacesV1EVChargeOptions + 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 + GoogleMapsPlacesV1AutocompletePlacesRequestLocationBias: + properties: + circle: + description: A circle defined by a center point and radius. + $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' + rectangle: + $ref: '#/components/schemas/GoogleGeoTypeViewport' + description: A viewport defined by a northeast and a southwest corner. + description: >- + The region to search. The results may be biased around the specified + region. + type: object + id: GoogleMapsPlacesV1AutocompletePlacesRequestLocationBias + GoogleMapsPlacesV1SearchTextRequestLocationBias: + type: object + description: >- + The region to search. This location serves as a bias which means results + around given location might be returned. + properties: + rectangle: + description: >- + A rectangle box defined by northeast and southwest corner. + `rectangle.high()` must be the northeast point of the rectangle + viewport. `rectangle.low()` must be the southwest point of the + rectangle viewport. `rectangle.low().latitude()` cannot be greater + than `rectangle.high().latitude()`. This will result in an empty + latitude range. A rectangle viewport cannot be wider than 180 + degrees. + $ref: '#/components/schemas/GoogleGeoTypeViewport' + circle: + description: A circle defined by center point and radius. + $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' + id: GoogleMapsPlacesV1SearchTextRequestLocationBias + GoogleMapsPlacesV1PhotoMedia: + type: object + id: GoogleMapsPlacesV1PhotoMedia + properties: + photoUri: + description: A short-lived uri that can be used to render the photo. + type: string + name: + type: string + description: >- + The resource name of a photo media in the format: + `places/{place_id}/photos/{photo_reference}/media`. + description: A photo media from Places API. GoogleTypeLocalizedText: - id: GoogleTypeLocalizedText + description: Localized variant of a text in a particular language. + type: object properties: languageCode: - type: string description: >- The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + type: string text: description: >- Localized string in the language corresponding to language_code below. type: string + id: GoogleTypeLocalizedText + GoogleMapsPlacesV1PlaceOpeningHours: type: object - description: Localized variant of a text in a particular language. - GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionQueryPrediction: properties: - structuredFormat: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat + periods: description: >- - A breakdown of the query prediction into main text containing the - query and secondary text containing additional disambiguating - features (such as a city or region). `structured_format` is - recommended for developers who wish to show two separate, but - related, UI elements. Developers who wish to show a single UI - element may want to use `text` instead. They are two different ways - to represent a query prediction. Users should not try to parse - `structured_format` into `text` or vice versa. - text: + The periods that this place is open during the week. The periods are + in chronological order, starting with Sunday in the place-local + timezone. An empty (but not absent) value indicates a place that is + never open, e.g. because it is closed temporarily for renovations. + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursPeriod' + type: array + openNow: + type: boolean description: >- - The predicted text. This text does not represent a Place, but rather - a text query that could be used in a search endpoint (for example, - Text Search). `text` is recommended for developers who wish to show - a single UI element. Developers who wish to show two separate, but - related, UI elements may want to use `structured_format` instead. - They are two different ways to represent a query prediction. Users - should not try to parse `structured_format` into `text` or vice - versa. May be in mixed languages if the request `input` and - `language_code` are in different languages or if part of the query - does not have a translation from the local language to - `language_code`. - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText - description: Prediction results for a Query Autocomplete prediction. + Whether the opening hours period is currently active. For regular + opening hours and current opening hours, this field means whether + the place is open. For secondary opening hours and current secondary + opening hours, this field means whether the secondary hours of this + place is active. + specialDays: + description: >- + Structured information for special days that fall within the period + that the returned opening hours cover. Special days are days that + could impact the business hours of a place, e.g. Christmas day. Set + for current_opening_hours and current_secondary_opening_hours if + there are exceptional hours. + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursSpecialDay' + type: array + weekdayDescriptions: + description: >- + Localized strings describing the opening hours of this place, one + string for each day of the week. Will be empty if the hours are + unknown or could not be converted to localized text. Example: "Sun: + 18:00–06:00" + type: array + items: + type: string + secondaryHoursType: + enum: + - SECONDARY_HOURS_TYPE_UNSPECIFIED + - DRIVE_THROUGH + - HAPPY_HOUR + - DELIVERY + - TAKEOUT + - KITCHEN + - BREAKFAST + - LUNCH + - DINNER + - BRUNCH + - PICKUP + - ACCESS + - SENIOR_HOURS + - ONLINE_SERVICE_HOURS + enumDescriptions: + - Default value when secondary hour type is not specified. + - The drive-through hour for banks, restaurants, or pharmacies. + - The happy hour. + - The delivery hour. + - The takeout hour. + - The kitchen hour. + - The breakfast hour. + - The lunch hour. + - The dinner hour. + - The brunch hour. + - The pickup hour. + - The access hours for storage places. + - The special hours for seniors. + - The online service hours. + type: string + description: A type string used to identify the type of secondary hours. + description: Information about business hour of the place. + id: GoogleMapsPlacesV1PlaceOpeningHours + GoogleMapsPlacesV1Circle: + properties: + radius: + description: >- + Required. Radius measured in meters. The radius must be within [0.0, + 50000.0]. + type: number + format: double + center: + $ref: '#/components/schemas/GoogleTypeLatLng' + description: >- + Required. Center latitude and longitude. The range of latitude must + be within [-90.0, 90.0]. The range of the longitude must be within + [-180.0, 180.0]. + id: GoogleMapsPlacesV1Circle type: object - id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionQueryPrediction - GoogleMapsPlacesV1RoutingSummaryLeg: + description: Circle with a LatLng as center and radius. + GoogleMapsPlacesV1AddressDescriptorLandmark: + description: >- + Basic landmark information and the landmark's relationship with the + target location. Landmarks are prominent places that can be used to + describe a location. type: object - id: GoogleMapsPlacesV1RoutingSummaryLeg - description: A leg is a single portion of a journey from one location to another. + id: GoogleMapsPlacesV1AddressDescriptorLandmark properties: - duration: - description: The time it takes to complete this leg of the trip. - format: google-duration + placeId: type: string - distanceMeters: - description: The distance of this leg of the trip. - format: int32 - type: integer - GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat: + description: The landmark's place id. + straightLineDistanceMeters: + format: float + type: number + description: >- + The straight line distance, in meters, between the center point of + the target and the center point of the landmark. In some situations, + this value can be longer than `travel_distance_meters`. + travelDistanceMeters: + description: >- + The travel distance, in meters, along the road network from the + target to the landmark, if known. This value does not take into + account the mode of transportation, such as walking, driving, or + biking. + format: float + type: number + types: + description: >- + A set of type tags for this landmark. For a complete list of + possible values, see + https://developers.google.com/maps/documentation/places/web-service/place-types. + items: + type: string + type: array + spatialRelationship: + description: >- + Defines the spatial relationship between the target location and the + landmark. + enum: + - NEAR + - WITHIN + - BESIDE + - ACROSS_THE_ROAD + - DOWN_THE_ROAD + - AROUND_THE_CORNER + - BEHIND + type: string + enumDescriptions: + - >- + This is the default relationship when nothing more specific below + applies. + - >- + The landmark has a spatial geometry and the target is within its + bounds. + - The target is directly adjacent to the landmark. + - >- + The target is directly opposite the landmark on the other side of + the road. + - On the same route as the landmark but not besides or across. + - Not on the same route as the landmark but a single turn away. + - >- + Close to the landmark's structure but further away from its street + entrances. + displayName: + $ref: '#/components/schemas/GoogleTypeLocalizedText' + description: The landmark's display name. + name: + type: string + description: The landmark's resource name. + GoogleMapsPlacesV1SearchTextRequestLocationRestriction: + description: >- + The region to search. This location serves as a restriction which means + results outside given location will not be returned. type: object properties: - secondaryText: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText + rectangle: description: >- - Represents additional disambiguating features (such as a city or - region) to further identify the Place or refine the query. - mainText: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText - description: Represents the name of the Place or query. + A rectangle box defined by northeast and southwest corner. + `rectangle.high()` must be the northeast point of the rectangle + viewport. `rectangle.low()` must be the southwest point of the + rectangle viewport. `rectangle.low().latitude()` cannot be greater + than `rectangle.high().latitude()`. This will result in an empty + latitude range. A rectangle viewport cannot be wider than 180 + degrees. + $ref: '#/components/schemas/GoogleGeoTypeViewport' + id: GoogleMapsPlacesV1SearchTextRequestLocationRestriction + GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat: id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat description: >- Contains a breakdown of a Place or query prediction into main text and @@ -371,247 +605,114 @@ components: contains the query. The secondary text contains additional disambiguating features (such as a city or region) to further identify the Place or refine the query. - GoogleMapsPlacesV1PlaceSubDestination: properties: - id: - type: string - description: The place id of the sub destination. - name: - type: string - description: The resource name of the sub destination. - description: >- - Place resource name and id of sub destinations that relate to the place. - For example, different terminals are different destinations of an - airport. - id: GoogleMapsPlacesV1PlaceSubDestination + secondaryText: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText + description: >- + Represents additional disambiguating features (such as a city or + region) to further identify the Place or refine the query. + mainText: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText + description: Represents the name of the Place or query. type: object - GoogleMapsPlacesV1AuthorAttribution: + GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint: + id: GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint properties: - photoUri: - type: string - description: Profile photo URI of the author of the Photo or Review. - uri: - type: string - description: URI of the author of the Photo or Review. - displayName: - description: Name of the author of the Photo or Review. - type: string - description: Information about the author of the UGC data. Used in Photo, and Review. - type: object - id: GoogleMapsPlacesV1AuthorAttribution - GoogleMapsPlacesV1SearchTextResponse: - id: GoogleMapsPlacesV1SearchTextResponse + date: + $ref: '#/components/schemas/GoogleTypeDate' + description: Date in the local timezone for the place. + minute: + description: The minute in 2 digits. Ranges from 00 to 59. + type: integer + format: int32 + day: + format: int32 + type: integer + description: >- + A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is + Monday, etc. + hour: + type: integer + description: The hour in 2 digits. Ranges from 00 to 23. + format: int32 + truncated: + description: >- + Whether or not this endpoint was truncated. Truncation occurs when + the real hours are outside the times we are willing to return hours + between, so we truncate the hours back to these boundaries. This + ensures that at most 24 * 7 hours from midnight of the day of the + request are returned. + type: boolean + description: Status changing points. type: object + GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionPlacePrediction: + id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionPlacePrediction properties: - contextualContents: + distanceMeters: description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. A list of contextual contents where each entry - associates to the corresponding place in the same index in the - places field. The contents that are relevant to the `text_query` in - the request are preferred. If the contextual content is not - available for one of the places, it will return non-contextual - content. It will be empty only when the content is unavailable for - this place. This list will have as many entries as the list of - places if requested. - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1ContextualContent' - type: array - places: - type: array - description: A list of places that meet the user's text search criteria. - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Place' - routingSummaries: - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingSummary' - description: >- - A list of routing summaries where each entry associates to the - corresponding place in the same index in the `places` field. If the - routing summary is not available for one of the places, it will - contain an empty entry. This list will have as many entries as the - list of places if requested. - type: array - nextPageToken: - type: string - description: >- - A token that can be sent as `page_token` to retrieve the next page. - If this field is omitted or empty, there are no subsequent pages. - description: 'Response proto for SearchText. ' - GoogleMapsPlacesV1AutocompletePlacesResponseSuggestion: - properties: - queryPrediction: - description: A prediction for a query. - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionQueryPrediction - placePrediction: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionPlacePrediction - description: A prediction for a Place. - description: An Autocomplete suggestion result. - id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestion - type: object - GoogleMapsPlacesV1SearchTextRequestEVOptions: - properties: - connectorTypes: - items: - type: string - enumDescriptions: - - Unspecified connector. - - Other connector types. - - J1772 type 1 connector. - - IEC 62196 type 2 connector. Often referred to as MENNEKES. - - CHAdeMO type connector. - - >- - Combined Charging System (AC and DC). Based on SAE. Type-1 - J-1772 connector - - >- - Combined Charging System (AC and DC). Based on Type-2 Mennekes - connector - - >- - The generic TESLA connector. This is NACS in the North America - but can be non-NACS in other parts of the world (e.g. CCS Combo - 2 (CCS2) or GB/T). This value is less representative of an - actual connector type, and more represents the ability to charge - a Tesla brand vehicle at a Tesla owned charging station. - - >- - GB/T type corresponds to the GB/T standard in China. This type - covers all GB_T types. - - Unspecified wall outlet. - enum: - - EV_CONNECTOR_TYPE_UNSPECIFIED - - EV_CONNECTOR_TYPE_OTHER - - EV_CONNECTOR_TYPE_J1772 - - EV_CONNECTOR_TYPE_TYPE_2 - - EV_CONNECTOR_TYPE_CHADEMO - - EV_CONNECTOR_TYPE_CCS_COMBO_1 - - EV_CONNECTOR_TYPE_CCS_COMBO_2 - - EV_CONNECTOR_TYPE_TESLA - - EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T - - EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET - type: array - description: >- - Optional. The list of preferred EV connector types. A place that - does not support any of the listed connector types is filtered out. - minimumChargingRateKw: - description: >- - Optional. Minimum required charging rate in kilowatts. A place with - a charging rate less than the specified rate is filtered out. - format: double - type: number - type: object - id: GoogleMapsPlacesV1SearchTextRequestEVOptions - description: Searchable EV options of a place search request. - GoogleMapsPlacesV1PlacePaymentOptions: - type: object - properties: - acceptsNfc: - type: boolean - description: Place accepts NFC payments. - acceptsCashOnly: - type: boolean - description: >- - Place accepts cash only as payment. Places with this attribute may - still accept other payment methods. - acceptsCreditCards: - description: Place accepts credit cards as payment. - type: boolean - acceptsDebitCards: - description: Place accepts debit cards as payment. - type: boolean - id: GoogleMapsPlacesV1PlacePaymentOptions - description: Payment options the place accepts. - GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStringRange: - id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStringRange - type: object - description: Identifies a substring within a given text. - properties: - endOffset: - description: Zero-based offset of the last Unicode character (exclusive). + The length of the geodesic in meters from `origin` if `origin` is + specified. Certain predictions such as routes may not populate this + field. format: int32 type: integer - startOffset: - format: int32 + structuredFormat: description: >- - Zero-based offset of the first Unicode character of the string - (inclusive). - type: integer - GoogleMapsPlacesV1PlaceAddressComponent: - id: GoogleMapsPlacesV1PlaceAddressComponent - description: >- - The structured components that form the formatted address, if this - information is available. - properties: - shortText: + A breakdown of the Place prediction into main text containing the + name of the Place and secondary text containing additional + disambiguating features (such as a city or region). + `structured_format` is recommended for developers who wish to show + two separate, but related, UI elements. Developers who wish to show + a single UI element may want to use `text` instead. They are two + different ways to represent a Place prediction. Users should not try + to parse `structured_format` into `text` or vice versa. + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat + placeId: description: >- - An abbreviated textual name for the address component, if available. - For example, an address component for the country of Australia may - have a short_name of "AU". + The unique identifier of the suggested Place. This identifier can be + used in other APIs that accept Place IDs. + type: string + place: + description: >- + The resource name of the suggested Place. This name can be used in + other APIs that accept Place names. type: string + text: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText + description: >- + Contains the human-readable name for the returned result. For + establishment results, this is usually the business name and + address. `text` is recommended for developers who wish to show a + single UI element. Developers who wish to show two separate, but + related, UI elements may want to use `structured_format` instead. + They are two different ways to represent a Place prediction. Users + should not try to parse `structured_format` into `text` or vice + versa. This text may be different from the `display_name` returned + by GetPlace. May be in mixed languages if the request `input` and + `language_code` are in different languages or if the Place does not + have a translation from the local language to `language_code`. types: + type: array items: type: string - type: array - description: An array indicating the type(s) of the address component. - longText: description: >- - The full text description or name of the address component. For - example, an address component for the country Australia may have a - long_name of "Australia". - type: string - languageCode: - description: The language used to format this components, in CLDR notation. - type: string - type: object - GoogleMapsPlacesV1RouteModifiers: - id: GoogleMapsPlacesV1RouteModifiers + List of types that apply to this Place from Table A or Table B in + https://developers.google.com/maps/documentation/places/web-service/place-types. + A type is a categorization of a Place. Places with shared types will + share similar characteristics. + description: Prediction results for a Place Autocomplete prediction. type: object - properties: - avoidHighways: - description: >- - Optional. When set to true, avoids highways where reasonable, giving - preference to routes not containing highways. Applies only to the - `DRIVE` and `TWO_WHEELER` `TravelMode`. - type: boolean - avoidIndoor: - type: boolean - description: >- - Optional. When set to true, avoids navigating indoors where - reasonable, giving preference to routes not containing indoor - navigation. Applies only to the `WALK` `TravelMode`. - avoidFerries: - type: boolean - description: >- - Optional. When set to true, avoids ferries where reasonable, giving - preference to routes not containing ferries. Applies only to the - `DRIVE` and `TWO_WHEELER` `TravelMode`. - avoidTolls: - type: boolean - description: >- - Optional. When set to true, avoids toll roads where reasonable, - giving preference to routes not containing toll roads. Applies only - to the `DRIVE` and `TWO_WHEELER` `TravelMode`. - description: >- - Encapsulates a set of optional conditions to satisfy when calculating - the routes. - GoogleMapsPlacesV1SearchTextRequestLocationRestriction: - id: GoogleMapsPlacesV1SearchTextRequestLocationRestriction + GoogleMapsPlacesV1SearchNearbyRequestLocationRestriction: type: object properties: - rectangle: - $ref: '#/components/schemas/GoogleGeoTypeViewport' - description: >- - A rectangle box defined by northeast and southwest corner. - `rectangle.high()` must be the northeast point of the rectangle - viewport. `rectangle.low()` must be the southwest point of the - rectangle viewport. `rectangle.low().latitude()` cannot be greater - than `rectangle.high().latitude()`. This will result in an empty - latitude range. A rectangle viewport cannot be wider than 180 - degrees. - description: >- - The region to search. This location serves as a restriction which means - results outside given location will not be returned. + circle: + $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' + description: A circle defined by center point and radius. + id: GoogleMapsPlacesV1SearchNearbyRequestLocationRestriction + description: The region to search. GoogleGeoTypeViewport: description: >- A latitude-longitude viewport, represented as two diagonally opposite @@ -631,267 +732,156 @@ components: viewport fully encloses New York City: { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } - type: object - id: GoogleGeoTypeViewport properties: - high: - $ref: '#/components/schemas/GoogleTypeLatLng' - description: Required. The high point of the viewport. low: + $ref: '#/components/schemas/GoogleTypeLatLng' description: Required. The low point of the viewport. + high: $ref: '#/components/schemas/GoogleTypeLatLng' - GoogleMapsPlacesV1SearchTextRequest: + description: Required. The high point of the viewport. type: object - id: GoogleMapsPlacesV1SearchTextRequest - description: 'Request proto for SearchText. ' + id: GoogleGeoTypeViewport + GoogleMapsPlacesV1ContextualContent: + id: GoogleMapsPlacesV1ContextualContent properties: - strictTypeFiltering: - type: boolean - description: >- - Used to set strict type filtering for included_type. If set to true, - only results of the same type will be returned. Default to false. - maxResultCount: - type: integer + reviews: + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1Review' + description: List of reviews about this place, contexual to the place query. + type: array + justifications: + items: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1ContextualContentJustification description: >- - Deprecated: Use `page_size` instead. The maximum number of results - per page that can be returned. If the number of available results is - larger than `max_result_count`, a `next_page_token` is returned - which can be passed to `page_token` to get the next page of results - in subsequent requests. If 0 or no value is provided, a default of - 20 is used. The maximum value is 20; values above 20 will be coerced - to 20. Negative values will return an INVALID_ARGUMENT error. If - both `max_result_count` and `page_size` are specified, - `max_result_count` will be ignored. - format: int32 - deprecated: true - locationRestriction: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1SearchTextRequestLocationRestriction - description: >- - The region to search. This location serves as a restriction which - means results outside given location will not be returned. Cannot be - set along with location_bias. - textQuery: - type: string - description: Required. The text query for textual search. - routingParameters: - description: Optional. Additional parameters for routing to results. - $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingParameters' - evOptions: - description: Optional. Set the searchable EV options of a place search request. - $ref: '#/components/schemas/GoogleMapsPlacesV1SearchTextRequestEVOptions' - pageSize: - type: integer - description: >- - Optional. The maximum number of results per page that can be - returned. If the number of available results is larger than - `page_size`, a `next_page_token` is returned which can be passed to - `page_token` to get the next page of results in subsequent requests. - If 0 or no value is provided, a default of 20 is used. The maximum - value is 20; values above 20 will be set to 20. Negative values will - return an INVALID_ARGUMENT error. If both `max_result_count` and - `page_size` are specified, `max_result_count` will be ignored. - format: int32 - priceLevels: + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. Justifications for the place. + type: array + photos: items: - enumDescriptions: - - Place price level is unspecified or unknown. - - Place provides free services. - - Place provides inexpensive services. - - Place provides moderately priced services. - - Place provides expensive services. - - Place provides very expensive services. - enum: - - PRICE_LEVEL_UNSPECIFIED - - PRICE_LEVEL_FREE - - PRICE_LEVEL_INEXPENSIVE - - PRICE_LEVEL_MODERATE - - PRICE_LEVEL_EXPENSIVE - - PRICE_LEVEL_VERY_EXPENSIVE - type: string + $ref: '#/components/schemas/GoogleMapsPlacesV1Photo' type: array description: >- - Used to restrict the search to places that are marked as certain - price levels. Users can choose any combinations of price levels. - Default to select all price levels. - includedType: - description: >- - The requested place type. Full list of types supported: - https://developers.google.com/maps/documentation/places/web-service/place-types. - Only support one included type. - type: string - pageToken: - type: string + Information (including references) about photos of this place, + contexual to the place query. + type: object + description: >- + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. Content that is contextual to the place query. + GoogleMapsPlacesV1AutocompletePlacesRequestLocationRestriction: + properties: + rectangle: + $ref: '#/components/schemas/GoogleGeoTypeViewport' + description: A viewport defined by a northeast and a southwest corner. + circle: + description: A circle defined by a center point and radius. + $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' + type: object + description: >- + The region to search. The results will be restricted to the specified + region. + id: GoogleMapsPlacesV1AutocompletePlacesRequestLocationRestriction + GoogleMapsPlacesV1ContextualContentJustification: + type: object + description: >- + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. Justifications for the place. Justifications answers + the question of why a place could interest an end user. + id: GoogleMapsPlacesV1ContextualContentJustification + properties: + reviewJustification: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationReviewJustification description: >- - Optional. A page token, received from a previous TextSearch call. - Provide this to retrieve the subsequent page. When paginating, all - parameters other than `page_token`, `page_size`, and - `max_result_count` provided to TextSearch must match the initial - call that provided the page token. Otherwise an INVALID_ARGUMENT - error is returned. - languageCode: + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. + businessAvailabilityAttributesJustification: description: >- - Place details will be displayed with the preferred language if - available. If the language code is unspecified or unrecognized, - place details of any language may be returned, with a preference for - English if such details exist. Current list of supported languages: - https://developers.google.com/maps/faq#languagesupport. - type: string - searchAlongRouteParameters: + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. $ref: >- - #/components/schemas/GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters - description: Optional. Additional parameters proto for searching along a route. - minRating: - format: double - description: >- - Filter out results whose average user rating is strictly less than - this limit. A valid value must be a float between 0 and 5 - (inclusively) at a 0.5 cadence i.e. [0, 0.5, 1.0, ... , 5.0] - inclusively. The input rating will round up to the nearest - 0.5(ceiling). For instance, a rating of 0.6 will eliminate all - results with a less than 1.0 rating. - type: number - locationBias: + #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification + GoogleMapsPlacesV1Place: + id: GoogleMapsPlacesV1Place + properties: + viewport: + $ref: '#/components/schemas/GoogleGeoTypeViewport' description: >- - The region to search. This location serves as a bias which means - results around given location might be returned. Cannot be set along - with location_restriction. - $ref: '#/components/schemas/GoogleMapsPlacesV1SearchTextRequestLocationBias' - regionCode: + A viewport suitable for displaying the place on an average-sized + map. This viewport should not be used as the physical boundary or + the service area of the business. + reservable: + type: boolean + description: Specifies if the place supports reservations. + primaryTypeDisplayName: + $ref: '#/components/schemas/GoogleTypeLocalizedText' description: >- - The Unicode country/region code (CLDR) of the location where the - request is coming from. This parameter is used to display the place - details, like region-specific place name, if available. The - parameter can affect results based on applicable law. For more - information, see - https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. - Note that 3-digit region codes are not currently supported. + The display name of the primary type, localized to the request + language if applicable. 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 + servesDessert: + type: boolean + description: Place serves dessert. + adrFormatAddress: type: string - openNow: description: >- - Used to restrict the search to places that are currently open. The - default is false. + The place's address in adr microformat: + http://microformats.org/wiki/adr. + types: + description: >- + 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 + items: + type: string + type: array + takeout: + description: Specifies if the business supports takeout. type: boolean - rankPreference: + nationalPhoneNumber: + description: A human-readable phone number for the place, in national format. type: string - enumDescriptions: - - >- - For a categorical query such as "Restaurants in New York City", - RELEVANCE is the default. For non-categorical queries such as - "Mountain View, CA" we recommend that you leave rankPreference - unset. - - Ranks results by distance. - - >- - Ranks results by relevance. Sort order determined by normal - ranking stack. - enum: - - RANK_PREFERENCE_UNSPECIFIED - - DISTANCE - - RELEVANCE - description: How results will be ranked in the response. - GoogleMapsPlacesV1PlaceAccessibilityOptions: - type: object - id: GoogleMapsPlacesV1PlaceAccessibilityOptions - description: Information about the accessibility options a place offers. - properties: - wheelchairAccessibleParking: + displayName: + $ref: '#/components/schemas/GoogleTypeLocalizedText' + description: >- + The localized name of the place, suitable as a short human-readable + description. For example, "Google Sydney", "Starbucks", "Pyrmont", + etc. + paymentOptions: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlacePaymentOptions' + description: >- + Payment options the place accepts. If a payment option data is not + available, the payment option field will be unset. + fuelOptions: + $ref: '#/components/schemas/GoogleMapsPlacesV1FuelOptions' + description: >- + The most recent information about fuel options in a gas station. + This information is updated regularly. + goodForWatchingSports: type: boolean - description: Place offers wheelchair accessible parking. - wheelchairAccessibleRestroom: - description: Place has wheelchair accessible restroom. + description: Place is suitable for watching sports. + servesBreakfast: + description: Specifies if the place serves breakfast. type: boolean - wheelchairAccessibleSeating: - description: Place has wheelchair accessible seating. + servesLunch: + description: Specifies if the place serves lunch. type: boolean - wheelchairAccessibleEntrance: + subDestinations: + description: A list of sub destinations related to the place. + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceSubDestination' + type: array + servesBrunch: + description: Specifies if the place serves brunch. type: boolean - description: Places has wheelchair accessible entrance. - GoogleMapsPlacesV1PhotoMedia: - id: GoogleMapsPlacesV1PhotoMedia - type: object - properties: - name: - type: string - description: >- - The resource name of a photo media in the format: - `places/{place_id}/photos/{photo_reference}/media`. - photoUri: - description: A short-lived uri that can be used to render the photo. - type: string - description: A photo media from Places API. - GoogleMapsPlacesV1PlaceOpeningHoursPeriod: - type: object - properties: - close: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint' - description: The time that the place starts to be closed. - open: - description: The time that the place starts to be open. - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint' - id: GoogleMapsPlacesV1PlaceOpeningHoursPeriod - description: A period the place remains in open_now status. - GoogleMapsPlacesV1PlacePlusCode: - properties: - globalCode: - type: string - description: >- - Place's global (full) code, such as "9FWM33GV+HQ", representing an - 1/8000 by 1/8000 degree area (~14 by 14 meters). - compoundCode: - type: string - description: >- - Place's compound code, such as "33GV+HQ, Ramberg, Norway", - containing the suffix of the global code and replacing the prefix - with a formatted name of a reference entity. - id: GoogleMapsPlacesV1PlacePlusCode - description: >- - Plus code (http://plus.codes) is a location reference with two formats: - global code defining a 14mx14m (1/8000th of a degree) or smaller - rectangle, and compound code, replacing the prefix with a reference - location. - type: object - GoogleMapsPlacesV1PlaceOpeningHoursSpecialDay: - type: object - description: >- - Structured information for special days that fall within the period that - the returned opening hours cover. Special days are days that could - impact the business hours of a place, e.g. Christmas day. - id: GoogleMapsPlacesV1PlaceOpeningHoursSpecialDay - properties: - date: - $ref: '#/components/schemas/GoogleTypeDate' - description: The date of this special day. - GoogleMapsPlacesV1PlaceAttribution: - properties: - provider: - type: string - description: Name of the Place's data provider. - providerUri: - type: string - description: URI to the Place's data provider. - id: GoogleMapsPlacesV1PlaceAttribution - type: object - description: Information about data providers of this place. - GoogleMapsPlacesV1PlaceAreaSummary: - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. AI-generated summary of the area that the place is in. - id: GoogleMapsPlacesV1PlaceAreaSummary - properties: - contentBlocks: - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1ContentBlock' - type: array - description: >- - Content blocks that compose the area summary. Each block has a - separate topic about the area. - type: object - GoogleMapsPlacesV1Place: - description: All the information representing a Place. - id: GoogleMapsPlacesV1Place - properties: - regularSecondaryOpeningHours: + regularSecondaryOpeningHours: description: >- Contains an array of entries for information about regular secondary hours of a business. Secondary hours are different from a business's @@ -900,48 +890,31 @@ components: the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place. + type: array items: $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' - type: array - adrFormatAddress: + primaryType: type: string description: >- - The place's address in adr microformat: - http://microformats.org/wiki/adr. + The primary type of the given result. This type must one of the + Places API supported types. For example, "restaurant", "cafe", + "airport", etc. A place can only have a single primary type. 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 + curbsidePickup: + type: boolean + description: Specifies if the business supports curbside pickup. allowsDogs: type: boolean description: Place allows dogs. - takeout: - type: boolean - description: Specifies if the business supports takeout. - reviews: - description: >- - List of reviews about this place, sorted by relevance. A maximum of - 5 reviews can be returned. - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Review' - type: array - servesDessert: - type: boolean - description: Place serves dessert. - outdoorSeating: - description: Place provides outdoor seating. - type: boolean - menuForChildren: - type: boolean - description: Place has a children's menu. - servesCocktails: - type: boolean - description: Place serves cocktails. - name: - description: >- - This Place's resource name, in `places/{place_id}` format. Can be - used to look up the Place. + rating: + type: number + format: double + description: A rating between 1.0 and 5.0, based on user reviews of this place. + formattedAddress: + description: A full, human-readable address for this place. type: string currentSecondaryOpeningHours: - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' - type: array description: >- Contains an array of entries for the next seven days including information about secondary hours of a business. Secondary hours are @@ -952,98 +925,140 @@ components: PICKUP, or TAKEOUT) based on the types of the place. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. - servesDinner: - description: Specifies if the place serves dinner. + type: array + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' + delivery: type: boolean + description: Specifies if the business supports delivery. currentOpeningHours: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' description: >- The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' - types: - type: array + generativeSummary: description: >- - 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 + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. AI-generated summary of the place. + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceGenerativeSummary' + photos: items: - type: string - goodForChildren: + $ref: '#/components/schemas/GoogleMapsPlacesV1Photo' + description: >- + Information (including references) about photos of this place. A + maximum of 10 photos can be returned. + type: array + servesCoffee: + description: Place serves coffee. type: boolean + goodForChildren: description: Place is good for children. - dineIn: + type: boolean + name: + type: string description: >- - Specifies if the business supports indoor or outdoor seating - options. + This Place's resource name, in `places/{place_id}` format. Can be + used to look up the Place. + reviews: + type: array + description: >- + List of reviews about this place, sorted by relevance. A maximum of + 5 reviews can be returned. + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1Review' + websiteUri: + description: >- + 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. + type: string + servesWine: + description: Specifies if the place serves wine. type: boolean - reservable: + internationalPhoneNumber: + type: string + description: >- + A human-readable phone number for the place, in international + format. + googleMapsLinks: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceGoogleMapsLinks' + description: Links to trigger different Google Maps actions. + outdoorSeating: + description: Place provides outdoor seating. type: boolean - description: Specifies if the place supports reservations. + googleMapsUri: + description: A URL providing more information about this place. + type: string attributions: description: A set of data provider that must be shown with this result. items: $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceAttribution' type: array - servesBeer: - type: boolean - description: Specifies if the place serves beer. - businessStatus: - enum: - - BUSINESS_STATUS_UNSPECIFIED - - OPERATIONAL - - CLOSED_TEMPORARILY - - CLOSED_PERMANENTLY - description: The business status for the place. - type: string - enumDescriptions: - - Default value. This value is unused. - - The establishment is operational, not necessarily open now. - - The establishment is temporarily closed. - - The establishment is permanently closed. - id: - type: string - description: The unique identifier of a place. - servesBreakfast: - type: boolean - description: Specifies if the place serves breakfast. - shortFormattedAddress: - description: A short, human-readable address for this place. - type: string + plusCode: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlacePlusCode' + description: Plus code of the place location lat/long. liveMusic: - type: boolean description: Place provides live music. - servesBrunch: type: boolean - description: Specifies if the place serves brunch. - goodForGroups: + servesCocktails: + description: Place serves cocktails. type: boolean + iconBackgroundColor: + type: string + description: 'Background color for icon_mask in hex format, e.g. #909CE1.' + areaSummary: + description: >- + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. AI-generated summary of the area that the place is + in. + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceAreaSummary' + userRatingCount: + description: The total number of reviews (with or without text) for this place. + type: integer + format: int32 + goodForGroups: description: Place accommodates groups. - goodForWatchingSports: - type: boolean - description: Place is suitable for watching sports. - servesWine: - description: Specifies if the place serves wine. type: boolean - delivery: + regularOpeningHours: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' + description: The regular hours of operation. + menuForChildren: + description: Place has a children's menu. type: boolean - description: Specifies if the business supports delivery. - websiteUri: + accessibilityOptions: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceAccessibilityOptions' + description: Information about the accessibility options a place offers. + addressDescriptor: + $ref: '#/components/schemas/GoogleMapsPlacesV1AddressDescriptor' description: >- - 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. + The address descriptor of the place. Address descriptors include + additional information that help describe a location using landmarks + and areas. See address descriptor regional coverage in + https://developers.google.com/maps/documentation/geocoding/address-descriptors/coverage. + evChargeOptions: + description: Information of ev charging options. + $ref: '#/components/schemas/GoogleMapsPlacesV1EVChargeOptions' + dineIn: + description: >- + Specifies if the business supports indoor or outdoor seating + options. + type: boolean + iconMaskBaseUri: type: string - fuelOptions: - $ref: '#/components/schemas/GoogleMapsPlacesV1FuelOptions' description: >- - The most recent information about fuel options in a gas station. - This information is updated regularly. + A truncated URL to an icon mask. User can access different icon type + by appending type suffix to the end (eg, ".svg" or ".png"). + parkingOptions: + $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceParkingOptions' + description: Options of parking provided by the place. addressComponents: + type: array items: $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceAddressComponent' description: >- @@ -1061,86 +1076,37 @@ components: 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. - type: array - servesCoffee: - description: Place serves coffee. - type: boolean - generativeSummary: - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. AI-generated summary of the place. - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceGenerativeSummary' - paymentOptions: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlacePaymentOptions' - description: >- - Payment options the place accepts. If a payment option data is not - available, the payment option field will be unset. - servesVegetarianFood: - description: Specifies if the place serves vegetarian food. - type: boolean - rating: - description: A rating between 1.0 and 5.0, based on user reviews of this place. - format: double - type: number - photos: - description: >- - Information (including references) about photos of this place. A - maximum of 10 photos can be returned. - type: array - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Photo' restroom: type: boolean description: Place has restroom. - editorialSummary: - $ref: '#/components/schemas/GoogleTypeLocalizedText' - description: >- - Contains a summary of the place. A summary is comprised of a textual - overview, and also includes the language code for these if - applicable. Summary text must be presented as-is and can not be - modified or altered. utcOffsetMinutes: + type: integer + format: int32 description: >- 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. - format: int32 - type: integer - googleMapsUri: - description: A URL providing more information about this place. + businessStatus: + enum: + - BUSINESS_STATUS_UNSPECIFIED + - OPERATIONAL + - CLOSED_TEMPORARILY + - CLOSED_PERMANENTLY + enumDescriptions: + - Default value. This value is unused. + - The establishment is operational, not necessarily open now. + - The establishment is temporarily closed. + - The establishment is permanently closed. type: string - servesLunch: - description: Specifies if the place serves lunch. + servesBeer: + type: boolean + description: Specifies if the place serves beer. + servesDinner: + description: Specifies if the place serves dinner. type: boolean - regularOpeningHours: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHours' - description: The regular hours of operation. - viewport: - description: >- - A viewport suitable for displaying the place on an average-sized - map. - $ref: '#/components/schemas/GoogleGeoTypeViewport' - primaryType: - description: >- - The primary type of the given result. This type must one of the - Places API supported types. For example, "restaurant", "cafe", - "airport", etc. A place can only have a single primary type. 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 - type: string - iconBackgroundColor: - description: 'Background color for icon_mask in hex format, e.g. #909CE1.' - type: string priceLevel: - enumDescriptions: - - Place price level is unspecified or unknown. - - Place provides free services. - - Place provides inexpensive services. - - Place provides moderately priced services. - - Place provides expensive services. - - Place provides very expensive services. type: string + description: Price level of the place. enum: - PRICE_LEVEL_UNSPECIFIED - PRICE_LEVEL_FREE @@ -1148,632 +1114,626 @@ components: - PRICE_LEVEL_MODERATE - PRICE_LEVEL_EXPENSIVE - PRICE_LEVEL_VERY_EXPENSIVE - description: Price level of the place. - areaSummary: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceAreaSummary' + enumDescriptions: + - Place price level is unspecified or unknown. + - Place provides free services. + - Place provides inexpensive services. + - Place provides moderately priced services. + - Place provides expensive services. + - Place provides very expensive services. + shortFormattedAddress: + description: A short, human-readable address for this place. + type: string + servesVegetarianFood: + type: boolean + description: Specifies if the place serves vegetarian food. + editorialSummary: + $ref: '#/components/schemas/GoogleTypeLocalizedText' description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. AI-generated summary of the area that the place is - in. - evChargeOptions: - description: Information of ev charging options. - $ref: '#/components/schemas/GoogleMapsPlacesV1EVChargeOptions' + Contains a summary of the place. A summary is comprised of a textual + overview, and also includes the language code for these if + applicable. Summary text must be presented as-is and can not be + modified or altered. + id: + description: The unique identifier of a place. + type: string location: description: The position of this place. $ref: '#/components/schemas/GoogleTypeLatLng' - internationalPhoneNumber: - type: string - description: >- - A human-readable phone number for the place, in international - format. - accessibilityOptions: - description: Information about the accessibility options a place offers. - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceAccessibilityOptions' - nationalPhoneNumber: - type: string - description: A human-readable phone number for the place, in national format. - iconMaskBaseUri: - description: >- - A truncated URL to an icon mask. User can access different icon type - by appending type suffix to the end (eg, ".svg" or ".png"). - type: string - formattedAddress: - type: string - description: A full, human-readable address for this place. - subDestinations: - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceSubDestination' - description: A list of sub destinations related to the place. - type: array - displayName: - $ref: '#/components/schemas/GoogleTypeLocalizedText' - description: >- - The localized name of the place, suitable as a short human-readable - description. For example, "Google Sydney", "Starbucks", "Pyrmont", - etc. - plusCode: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlacePlusCode' - description: Plus code of the place location lat/long. - primaryTypeDisplayName: - description: >- - The display name of the primary type, localized to the request - language if applicable. 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 - $ref: '#/components/schemas/GoogleTypeLocalizedText' - curbsidePickup: - type: boolean - description: Specifies if the business supports curbside pickup. - userRatingCount: - type: integer - format: int32 - description: The total number of reviews (with or without text) for this place. - parkingOptions: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceParkingOptions' - description: Options of parking provided by the place. + description: All the information representing a Place. type: object - GoogleMapsPlacesV1ContextualContentJustification: + GoogleMapsPlacesV1PlaceAreaSummary: type: object + description: >- + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. AI-generated summary of the area that the place is in. properties: - businessAvailabilityAttributesJustification: - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. - $ref: >- - #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification - reviewJustification: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationReviewJustification + flagContentUri: + type: string + description: A link where users can flag a problem with the summary. + contentBlocks: + type: array + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1ContentBlock' description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. - id: GoogleMapsPlacesV1ContextualContentJustification + Content blocks that compose the area summary. Each block has a + separate topic about the area. + id: GoogleMapsPlacesV1PlaceAreaSummary + GoogleMapsPlacesV1References: description: >- Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. Justifications for the place. Justifications answers - the question of why a place could interest an end user. - GoogleMapsPlacesV1Circle: - description: Circle with a LatLng as center and radius. - id: GoogleMapsPlacesV1Circle + for more details. Reference that the generative content is related to. + id: GoogleMapsPlacesV1References properties: - center: - $ref: '#/components/schemas/GoogleTypeLatLng' - description: >- - Required. Center latitude and longitude. The range of latitude must - be within [-90.0, 90.0]. The range of the longitude must be within - [-180.0, 180.0]. - radius: - format: double - type: number + reviews: + description: Reviews that serve as references. + type: array + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1Review' + places: description: >- - Required. Radius measured in meters. The radius must be within [0.0, - 50000.0]. - type: object - GoogleTypeMoney: + The list of resource names of the referenced places. This name can + be used in other APIs that accept Place resource names. + type: array + items: + type: string type: object + GoogleMapsPlacesV1AddressDescriptorArea: + description: >- + Area information and the area's relationship with the target location. + Areas includes precise sublocality, neighborhoods, and large compounds + that are useful for describing a location. properties: - currencyCode: - type: string - description: The three-letter currency code defined in ISO 4217. - units: - type: string - description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. - format: int64 - nanos: + displayName: + $ref: '#/components/schemas/GoogleTypeLocalizedText' + description: The area's display name. + containment: description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - type: integer - format: int32 - id: GoogleTypeMoney - description: Represents an amount of money with its currency type. - GoogleTypeLatLng: - description: >- - An object that represents a latitude/longitude pair. This is expressed - as a pair of doubles to represent degrees latitude and degrees - longitude. Unless specified otherwise, this object must conform to the - WGS84 standard. Values must be within normalized ranges. + Defines the spatial relationship between the target location and the + area. + enumDescriptions: + - The containment is unspecified. + - >- + The target location is within the area region, close to the + center. + - The target location is within the area region, close to the edge. + - The target location is outside the area region, but close by. + enum: + - CONTAINMENT_UNSPECIFIED + - WITHIN + - OUTSKIRTS + - NEAR + type: string + placeId: + description: The area's place id. + type: string + name: + description: The area's resource name. + type: string + id: GoogleMapsPlacesV1AddressDescriptorArea type: object - id: GoogleTypeLatLng + GoogleMapsPlacesV1Review: + type: object + description: Information about a review of a place. + id: GoogleMapsPlacesV1Review properties: - longitude: - format: double - type: number - description: The longitude in degrees. It must be in the range [-180.0, +180.0]. - latitude: - description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + originalText: + description: The review text in its original language. + $ref: '#/components/schemas/GoogleTypeLocalizedText' + googleMapsUri: + type: string + description: A link to show the review on Google Maps. + text: + description: The localized text of the review. + $ref: '#/components/schemas/GoogleTypeLocalizedText' + flagContentUri: + type: string + description: A link where users can flag a problem with the review. + rating: type: number format: double - GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation: - id: GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation + description: A number between 1.0 and 5.0, also called the number of stars. + publishTime: + type: string + format: google-datetime + description: Timestamp for the review. + name: + description: >- + A reference representing this place review which may be used to look + up this place review again (also called the API "resource" name: + `places/{place_id}/reviews/{review}`). + type: string + authorAttribution: + $ref: '#/components/schemas/GoogleMapsPlacesV1AuthorAttribution' + description: This review's author. + relativePublishTimeDescription: + description: >- + A string of formatted recent time, expressing the review time + relative to the current time in a form appropriate for the language + and country. + type: string + GoogleMapsPlacesV1EVChargeOptions: type: object properties: - type: - enum: - - EV_CONNECTOR_TYPE_UNSPECIFIED - - EV_CONNECTOR_TYPE_OTHER - - EV_CONNECTOR_TYPE_J1772 - - EV_CONNECTOR_TYPE_TYPE_2 - - EV_CONNECTOR_TYPE_CHADEMO - - EV_CONNECTOR_TYPE_CCS_COMBO_1 - - EV_CONNECTOR_TYPE_CCS_COMBO_2 - - EV_CONNECTOR_TYPE_TESLA - - EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T - - EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET - description: The connector type of this aggregation. - enumDescriptions: - - Unspecified connector. - - Other connector types. - - J1772 type 1 connector. - - IEC 62196 type 2 connector. Often referred to as MENNEKES. - - CHAdeMO type connector. - - >- - Combined Charging System (AC and DC). Based on SAE. Type-1 J-1772 - connector - - >- - Combined Charging System (AC and DC). Based on Type-2 Mennekes - connector - - >- - The generic TESLA connector. This is NACS in the North America but - can be non-NACS in other parts of the world (e.g. CCS Combo 2 - (CCS2) or GB/T). This value is less representative of an actual - connector type, and more represents the ability to charge a Tesla - brand vehicle at a Tesla owned charging station. - - >- - GB/T type corresponds to the GB/T standard in China. This type - covers all GB_T types. - - Unspecified wall outlet. - type: string - maxChargeRateKw: + connectorAggregation: + items: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation description: >- - The static max charging rate in kw of each connector in the - aggregation. - format: double - type: number - outOfServiceCount: - format: int32 + A list of EV charging connector aggregations that contain connectors + of the same type and same charge rate. + type: array + connectorCount: description: >- - Number of connectors in this aggregation that are currently out of - service. + Number of connectors at this station. However, because some ports + can have multiple connectors but only be able to charge one car at a + time (e.g.) the number of connectors may be greater than the total + number of cars which can charge simultaneously. + format: int32 type: integer - count: + id: GoogleMapsPlacesV1EVChargeOptions + description: >- + Information about the EV Charge Station hosted in Place. Terminology + follows https://afdc.energy.gov/fuels/electricity_infrastructure.html + One port could charge one car at a time. One port has one or more + connectors. One station has one or more ports. + GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStringRange: + type: object + description: Identifies a substring within a given text. + id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStringRange + properties: + endOffset: + type: integer + description: Zero-based offset of the last Unicode character (exclusive). format: int32 - description: Number of connectors in this aggregation. + startOffset: type: integer - availabilityLastUpdateTime: - format: google-datetime description: >- - The timestamp when the connector availability information in this - aggregation was last updated. - type: string - availableCount: + Zero-based offset of the first Unicode character of the string + (inclusive). format: int32 - description: >- - Number of connectors in this aggregation that are currently - available. - type: integer + GoogleMapsPlacesV1PlaceAddressComponent: + id: GoogleMapsPlacesV1PlaceAddressComponent description: >- - EV charging information grouped by [type, max_charge_rate_kw]. Shows EV - charge aggregation of connectors that have the same type and max charge - rate in kw. - GoogleMapsPlacesV1SearchNearbyRequestLocationRestriction: + The structured components that form the formatted address, if this + information is available. + properties: + languageCode: + type: string + description: The language used to format this components, in CLDR notation. + longText: + type: string + description: >- + The full text description or name of the address component. For + example, an address component for the country Australia may have a + long_name of "Australia". + shortText: + type: string + description: >- + An abbreviated textual name for the address component, if available. + For example, an address component for the country of Australia may + have a short_name of "AU". + types: + items: + type: string + type: array + description: An array indicating the type(s) of the address component. + type: object + GoogleMapsPlacesV1PlaceSubDestination: type: object - id: GoogleMapsPlacesV1SearchNearbyRequestLocationRestriction - description: The region to search. properties: - circle: - $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' - description: A circle defined by center point and radius. - GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification: + id: + type: string + description: The place id of the sub destination. + name: + description: The resource name of the sub destination. + type: string description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. BusinessAvailabilityAttributes justifications. This - shows some attributes a business has that could interest an end user. + Place resource name and id of sub destinations that relate to the place. + For example, different terminals are different destinations of an + airport. + id: GoogleMapsPlacesV1PlaceSubDestination + GoogleMapsPlacesV1PlaceParkingOptions: + type: object + id: GoogleMapsPlacesV1PlaceParkingOptions properties: - dineIn: - description: If a place provides dine-in. + valetParking: type: boolean - delivery: - description: If a place provides delivery. + description: Place offers valet parking. + freeStreetParking: + description: Place offers free street parking. type: boolean - takeout: - description: If a place provides takeout. + paidGarageParking: type: boolean - id: >- - GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification - type: object - GoogleMapsPlacesV1PlaceOpeningHours: + description: Place offers paid garage parking. + paidStreetParking: + type: boolean + description: Place offers paid street parking. + paidParkingLot: + type: boolean + description: Place offers paid parking lots. + freeParkingLot: + type: boolean + description: Place offers free parking lots. + freeGarageParking: + description: Place offers free garage parking. + type: boolean + description: >- + Information about parking options for the place. A parking lot could + support more than one option at the same time. + GoogleMapsPlacesV1PlaceGoogleMapsLinks: properties: - secondaryHoursType: - description: A type string used to identify the type of secondary hours. - enum: - - SECONDARY_HOURS_TYPE_UNSPECIFIED - - DRIVE_THROUGH - - HAPPY_HOUR - - DELIVERY - - TAKEOUT - - KITCHEN - - BREAKFAST - - LUNCH - - DINNER - - BRUNCH - - PICKUP - - ACCESS - - SENIOR_HOURS - - ONLINE_SERVICE_HOURS - type: string - enumDescriptions: - - Default value when secondary hour type is not specified. - - The drive-through hour for banks, restaurants, or pharmacies. - - The happy hour. - - The delivery hour. - - The takeout hour. - - The kitchen hour. - - The breakfast hour. - - The lunch hour. - - The dinner hour. - - The brunch hour. - - The pickup hour. - - The access hours for storage places. - - The special hours for seniors. - - The online service hours. - weekdayDescriptions: + writeAReviewUri: description: >- - Localized strings describing the opening hours of this place, one - string for each day of the week. Will be empty if the hours are - unknown or could not be converted to localized text. Example: "Sun: - 18:00–06:00" - type: array - items: - type: string - openNow: + A link to write a review for this place. This link is currently not + supported on Google Maps Mobile and only works on the web version of + Google Maps. + type: string + placeUri: + description: A link to show this place. + type: string + reviewsUri: description: >- - Whether the opening hours period is currently active. For regular - opening hours and current opening hours, this field means whether - the place is open. For secondary opening hours and current secondary - opening hours, this field means whether the secondary hours of this - place is active. - type: boolean - specialDays: - type: array + A link to show reviews of this place. This link is currently not + supported on Google Maps Mobile and only works on the web version of + Google Maps. + type: string + photosUri: description: >- - Structured information for special days that fall within the period - that the returned opening hours cover. Special days are days that - could impact the business hours of a place, e.g. Christmas day. Set - for current_opening_hours and current_secondary_opening_hours if - there are exceptional hours. - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursSpecialDay' - periods: + A link to show photos of this place. This link is currently not + supported on Google Maps Mobile and only works on the web version of + Google Maps. + type: string + directionsUri: description: >- - The periods that this place is open during the week. The periods are - in chronological order, starting with Sunday in the place-local - timezone. An empty (but not absent) value indicates a place that is - never open, e.g. because it is closed temporarily for renovations. - type: array - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1PlaceOpeningHoursPeriod' + A link to show the directions to the place. The link only populates + the destination location and uses the default travel mode `DRIVE`. + type: string type: object - description: Information about business hour of the place. - id: GoogleMapsPlacesV1PlaceOpeningHours - GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedText: - description: >- - The text highlighted by the justification. This is a subset of the - review itself. The exact word to highlight is marked by the - HighlightedTextRange. There could be several words in the text being - highlighted. + id: GoogleMapsPlacesV1PlaceGoogleMapsLinks + description: Links to trigger different Google Maps actions. + GoogleTypeMoney: type: object + description: Represents an amount of money with its currency type. properties: - highlightedTextRanges: - type: array - items: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedTextHighlightedTextRange - description: The list of the ranges of the highlighted text. - text: + currencyCode: type: string - id: >- - GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedText - GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionPlacePrediction: - properties: - types: - items: - type: string - description: >- - List of types that apply to this Place from Table A or Table B in - https://developers.google.com/maps/documentation/places/web-service/place-types. - A type is a categorization of a Place. Places with shared types will - share similar characteristics. - type: array - distanceMeters: + description: The three-letter currency code defined in ISO 4217. + nanos: description: >- - The length of the geodesic in meters from `origin` if `origin` is - specified. Certain predictions such as routes may not populate this - field. + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. format: int32 type: integer - place: - type: string - description: >- - The resource name of the suggested Place. This name can be used in - other APIs that accept Place names. - text: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText - description: >- - Contains the human-readable name for the returned result. For - establishment results, this is usually the business name and - address. `text` is recommended for developers who wish to show a - single UI element. Developers who wish to show two separate, but - related, UI elements may want to use `structured_format` instead. - They are two different ways to represent a Place prediction. Users - should not try to parse `structured_format` into `text` or vice - versa. This text may be different from the `display_name` returned - by GetPlace. May be in mixed languages if the request `input` and - `language_code` are in different languages or if the Place does not - have a translation from the local language to `language_code`. - placeId: + units: + format: int64 description: >- - The unique identifier of the suggested Place. This identifier can be - used in other APIs that accept Place IDs. + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. type: string - structuredFormat: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat - description: >- - A breakdown of the Place prediction into main text containing the - name of the Place and secondary text containing additional - disambiguating features (such as a city or region). - `structured_format` is recommended for developers who wish to show - two separate, but related, UI elements. Developers who wish to show - a single UI element may want to use `text` instead. They are two - different ways to represent a Place prediction. Users should not try - to parse `structured_format` into `text` or vice versa. + id: GoogleTypeMoney + GoogleMapsPlacesV1PlaceAttribution: + description: Information about data providers of this place. + properties: + providerUri: + type: string + description: URI to the Place's data provider. + provider: + description: Name of the Place's data provider. + type: string + id: GoogleMapsPlacesV1PlaceAttribution type: object - description: Prediction results for a Place Autocomplete prediction. - id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionPlacePrediction - GoogleMapsPlacesV1References: + GoogleMapsPlacesV1ContextualContentJustificationReviewJustification: description: >- Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. Reference that the generative content is related to. - id: GoogleMapsPlacesV1References + for more details. User review justifications. This highlights a section + of the user review that would interest an end user. For instance, if the + search query is "firewood pizza", the review justification highlights + the text relevant to the search query. type: object + id: GoogleMapsPlacesV1ContextualContentJustificationReviewJustification properties: - places: - items: - type: string - description: >- - The list of resource names of the referenced places. This name can - be used in other APIs that accept Place resource names. - type: array - reviews: - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Review' - type: array - description: Reviews that serve as references. - GoogleMapsPlacesV1SearchNearbyResponse: + review: + $ref: '#/components/schemas/GoogleMapsPlacesV1Review' + description: The review that the highlighted text is generated from. + highlightedText: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedText + GoogleMapsPlacesV1PlaceOpeningHoursSpecialDay: + description: >- + Structured information for special days that fall within the period that + the returned opening hours cover. Special days are days that could + impact the business hours of a place, e.g. Christmas day. + properties: + date: + description: The date of this special day. + $ref: '#/components/schemas/GoogleTypeDate' + id: GoogleMapsPlacesV1PlaceOpeningHoursSpecialDay type: object - description: 'Response proto for Search Nearby. ' + GoogleMapsPlacesV1Photo: properties: - places: + flagContentUri: + description: A link where users can flag a problem with the photo. + type: string + heightPx: + type: integer + description: The maximum available height, in pixels. + format: int32 + authorAttributions: + description: This photo's authors. items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Place' + $ref: '#/components/schemas/GoogleMapsPlacesV1AuthorAttribution' type: array + widthPx: + description: The maximum available width, in pixels. + format: int32 + type: integer + name: + type: string description: >- - A list of places that meets user's requirements like places types, - number of places and specific location restriction. - routingSummaries: - description: >- - A list of routing summaries where each entry associates to the - corresponding place in the same index in the `places` field. If the - routing summary is not available for one of the places, it will - contain an empty entry. This list should have as many entries as the - list of places if requested. - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingSummary' - type: array - id: GoogleMapsPlacesV1SearchNearbyResponse - GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint: - id: GoogleMapsPlacesV1PlaceOpeningHoursPeriodPoint + Identifier. A reference representing this place photo which may be + used to look up this place photo again (also called the API + "resource" name: `places/{place_id}/photos/{photo}`). + googleMapsUri: + description: A link to show the photo on Google Maps. + type: string + type: object + description: Information about a photo of a place. + id: GoogleMapsPlacesV1Photo + GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation: + id: GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation + description: >- + EV charging information grouped by [type, max_charge_rate_kw]. Shows EV + charge aggregation of connectors that have the same type and max charge + rate in kw. type: object properties: - minute: - description: The minute in 2 digits. Ranges from 00 to 59. + type: + description: The connector type of this aggregation. + enum: + - EV_CONNECTOR_TYPE_UNSPECIFIED + - EV_CONNECTOR_TYPE_OTHER + - EV_CONNECTOR_TYPE_J1772 + - EV_CONNECTOR_TYPE_TYPE_2 + - EV_CONNECTOR_TYPE_CHADEMO + - EV_CONNECTOR_TYPE_CCS_COMBO_1 + - EV_CONNECTOR_TYPE_CCS_COMBO_2 + - EV_CONNECTOR_TYPE_TESLA + - EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T + - EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET + type: string + enumDescriptions: + - Unspecified connector. + - Other connector types. + - J1772 type 1 connector. + - IEC 62196 type 2 connector. Often referred to as MENNEKES. + - CHAdeMO type connector. + - >- + Combined Charging System (AC and DC). Based on SAE. Type-1 J-1772 + connector + - >- + Combined Charging System (AC and DC). Based on Type-2 Mennekes + connector + - >- + The generic TESLA connector. This is NACS in the North America but + can be non-NACS in other parts of the world (e.g. CCS Combo 2 + (CCS2) or GB/T). This value is less representative of an actual + connector type, and more represents the ability to charge a Tesla + brand vehicle at a Tesla owned charging station. + - >- + GB/T type corresponds to the GB/T standard in China. This type + covers all GB_T types. + - Unspecified wall outlet. + count: format: int32 + description: Number of connectors in this aggregation. type: integer - truncated: - type: boolean + availabilityLastUpdateTime: + type: string + format: google-datetime description: >- - Whether or not this endpoint was truncated. Truncation occurs when - the real hours are outside the times we are willing to return hours - between, so we truncate the hours back to these boundaries. This - ensures that at most 24 * 7 hours from midnight of the day of the - request are returned. - day: + The timestamp when the connector availability information in this + aggregation was last updated. + maxChargeRateKw: + type: number description: >- - A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is - Monday, etc. + The static max charging rate in kw of each connector in the + aggregation. + format: double + outOfServiceCount: format: int32 type: integer - hour: - type: integer - description: The hour in 2 digits. Ranges from 00 to 23. - format: int32 - date: - $ref: '#/components/schemas/GoogleTypeDate' - description: Date in the local timezone for the place. - description: Status changing points. - GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedTextHighlightedTextRange: - id: >- - GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedTextHighlightedTextRange - type: object - properties: - endIndex: - format: int32 + description: >- + Number of connectors in this aggregation that are currently out of + service. + availableCount: + description: >- + Number of connectors in this aggregation that are currently + available. type: integer - startIndex: format: int32 - type: integer - description: The range of highlighted text. - GoogleMapsPlacesV1RoutingSummary: - type: object + GoogleMapsPlacesV1SearchTextRequest: + description: 'Request proto for SearchText. ' properties: - legs: - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingSummaryLeg' - type: array + languageCode: description: >- - The legs of the trip. When you calculate travel duration and - distance from a set origin, `legs` contains a single leg containing - the duration and distance from the origin to the destination. When - you do a search along route, `legs` contains two legs: one from the - origin to place, and one from the place to the destination. - id: GoogleMapsPlacesV1RoutingSummary - description: >- - The duration and distance from the routing origin to a place in the - response, and a second leg from that place to the destination, if - requested. **Note:** Adding `routingSummaries` in the field mask without - also including either the `routingParameters.origin` parameter or the - `searchAlongRouteParameters.polyline.encodedPolyline` parameter in the - request causes an error. - GoogleMapsPlacesV1SearchTextRequestLocationBias: - type: object - id: GoogleMapsPlacesV1SearchTextRequestLocationBias - properties: - rectangle: + Place details will be displayed with the preferred language if + available. If the language code is unspecified or unrecognized, + place details of any language may be returned, with a preference for + English if such details exist. Current list of supported languages: + https://developers.google.com/maps/faq#languagesupport. + type: string + textQuery: + type: string + description: Required. The text query for textual search. + routingParameters: + $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingParameters' + description: Optional. Additional parameters for routing to results. + minRating: + type: number description: >- - A rectangle box defined by northeast and southwest corner. - `rectangle.high()` must be the northeast point of the rectangle - viewport. `rectangle.low()` must be the southwest point of the - rectangle viewport. `rectangle.low().latitude()` cannot be greater - than `rectangle.high().latitude()`. This will result in an empty - latitude range. A rectangle viewport cannot be wider than 180 - degrees. - $ref: '#/components/schemas/GoogleGeoTypeViewport' - circle: - description: A circle defined by center point and radius. - $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' - description: >- - The region to search. This location serves as a bias which means results - around given location might be returned. - GoogleMapsPlacesV1FuelOptions: - type: object - id: GoogleMapsPlacesV1FuelOptions - description: >- - The most recent information about fuel options in a gas station. This - information is updated regularly. - properties: - fuelPrices: + Filter out results whose average user rating is strictly less than + this limit. A valid value must be a float between 0 and 5 + (inclusively) at a 0.5 cadence i.e. [0, 0.5, 1.0, ... , 5.0] + inclusively. The input rating will round up to the nearest + 0.5(ceiling). For instance, a rating of 0.6 will eliminate all + results with a less than 1.0 rating. + format: double + locationRestriction: + description: >- + The region to search. This location serves as a restriction which + means results outside given location will not be returned. Cannot be + set along with location_bias. + $ref: >- + #/components/schemas/GoogleMapsPlacesV1SearchTextRequestLocationRestriction + pageToken: + description: >- + Optional. A page token, received from a previous TextSearch call. + Provide this to retrieve the subsequent page. When paginating, all + parameters other than `page_token`, `page_size`, and + `max_result_count` provided to TextSearch must match the initial + call that provided the page token. Otherwise an INVALID_ARGUMENT + error is returned. + type: string + evOptions: + $ref: '#/components/schemas/GoogleMapsPlacesV1SearchTextRequestEVOptions' + description: Optional. Set the searchable EV options of a place search request. + priceLevels: + description: >- + Used to restrict the search to places that are marked as certain + price levels. Users can choose any combinations of price levels. + Default to select all price levels. items: - $ref: '#/components/schemas/GoogleMapsPlacesV1FuelOptionsFuelPrice' + enum: + - PRICE_LEVEL_UNSPECIFIED + - PRICE_LEVEL_FREE + - PRICE_LEVEL_INEXPENSIVE + - PRICE_LEVEL_MODERATE + - PRICE_LEVEL_EXPENSIVE + - PRICE_LEVEL_VERY_EXPENSIVE + type: string + enumDescriptions: + - Place price level is unspecified or unknown. + - Place provides free services. + - Place provides inexpensive services. + - Place provides moderately priced services. + - Place provides expensive services. + - Place provides very expensive services. type: array + openNow: description: >- - The last known fuel price for each type of fuel this station has. - There is one entry per fuel type this station has. Order is not - important. - GoogleMapsPlacesV1ContextualContentJustificationReviewJustification: - id: GoogleMapsPlacesV1ContextualContentJustificationReviewJustification - type: object - properties: - review: - description: The review that the highlighted text is generated from. - $ref: '#/components/schemas/GoogleMapsPlacesV1Review' - highlightedText: + Used to restrict the search to places that are currently open. The + default is false. + type: boolean + includedType: + description: >- + The requested place type. Full list of types supported: + https://developers.google.com/maps/documentation/places/web-service/place-types. + Only support one included type. + type: string + locationBias: + description: >- + The region to search. This location serves as a bias which means + results around given location might be returned. Cannot be set along + with location_restriction. + $ref: '#/components/schemas/GoogleMapsPlacesV1SearchTextRequestLocationBias' + strictTypeFiltering: + type: boolean + description: >- + Used to set strict type filtering for included_type. If set to true, + only results of the same type will be returned. Default to false. + regionCode: + description: >- + The Unicode country/region code (CLDR) of the location where the + request is coming from. This parameter is used to display the place + details, like region-specific place name, if available. The + parameter can affect results based on applicable law. For more + information, see + https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. + Note that 3-digit region codes are not currently supported. + type: string + pageSize: + type: integer + format: int32 + description: >- + Optional. The maximum number of results per page that can be + returned. If the number of available results is larger than + `page_size`, a `next_page_token` is returned which can be passed to + `page_token` to get the next page of results in subsequent requests. + If 0 or no value is provided, a default of 20 is used. The maximum + value is 20; values above 20 will be set to 20. Negative values will + return an INVALID_ARGUMENT error. If both `max_result_count` and + `page_size` are specified, `max_result_count` will be ignored. + rankPreference: + type: string + enum: + - RANK_PREFERENCE_UNSPECIFIED + - DISTANCE + - RELEVANCE + description: How results will be ranked in the response. + enumDescriptions: + - >- + For a categorical query such as "Restaurants in New York City", + RELEVANCE is the default. For non-categorical queries such as + "Mountain View, CA" we recommend that you leave rankPreference + unset. + - Ranks results by distance. + - >- + Ranks results by relevance. Sort order determined by normal + ranking stack. + searchAlongRouteParameters: $ref: >- - #/components/schemas/GoogleMapsPlacesV1ContextualContentJustificationReviewJustificationHighlightedText - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. User review justifications. This highlights a section - of the user review that would interest an end user. For instance, if the - search query is "firewood pizza", the review justification highlights - the text relevant to the search query. - GoogleMapsPlacesV1ContentBlock: - id: GoogleMapsPlacesV1ContentBlock + #/components/schemas/GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters + description: Optional. Additional parameters proto for searching along a route. + maxResultCount: + description: >- + Deprecated: Use `page_size` instead. The maximum number of results + per page that can be returned. If the number of available results is + larger than `max_result_count`, a `next_page_token` is returned + which can be passed to `page_token` to get the next page of results + in subsequent requests. If 0 or no value is provided, a default of + 20 is used. The maximum value is 20; values above 20 will be coerced + to 20. Negative values will return an INVALID_ARGUMENT error. If + both `max_result_count` and `page_size` are specified, + `max_result_count` will be ignored. + type: integer + format: int32 + deprecated: true + id: GoogleMapsPlacesV1SearchTextRequest + type: object + GoogleMapsPlacesV1PlaceGenerativeSummary: properties: + description: + $ref: '#/components/schemas/GoogleTypeLocalizedText' + description: The detailed description of the place. + descriptionFlagContentUri: + description: A link where users can flag a problem with the description summary. + type: string + overview: + description: The overview of the place. + $ref: '#/components/schemas/GoogleTypeLocalizedText' references: - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. References that are related to this block of - content. + description: References that are used to generate the summary description. $ref: '#/components/schemas/GoogleMapsPlacesV1References' - topic: + overviewFlagContentUri: + description: A link where users can flag a problem with the overview summary. type: string - description: The topic of the content, for example "overview" or "restaurant". - content: - description: Content related to the topic. - $ref: '#/components/schemas/GoogleTypeLocalizedText' - description: A block of content that can be served individually. - type: object - GoogleMapsPlacesV1AutocompletePlacesRequestLocationBias: - properties: - circle: - $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' - description: A circle defined by a center point and radius. - rectangle: - $ref: '#/components/schemas/GoogleGeoTypeViewport' - description: A viewport defined by a northeast and a southwest corner. - id: GoogleMapsPlacesV1AutocompletePlacesRequestLocationBias - description: >- - The region to search. The results may be biased around the specified - region. - type: object - GoogleTypeDate: description: >- - 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 - id: GoogleTypeDate + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. AI-generated summary of the place. type: object - properties: - year: - format: int32 - type: integer - description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - month: - type: integer - format: int32 - description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - day: - format: int32 - description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. - type: integer + id: GoogleMapsPlacesV1PlaceGenerativeSummary GoogleMapsPlacesV1RoutingParameters: properties: travelMode: - description: Optional. The travel mode. - enum: - - TRAVEL_MODE_UNSPECIFIED - - DRIVE - - BICYCLE - - WALK - - TWO_WHEELER enumDescriptions: - No travel mode specified. Defaults to `DRIVE`. - Travel by passenger car. @@ -1790,12 +1750,23 @@ components: `search_along_route_parameters`. Only supported in those countries listed at [Countries and regions supported for two-wheeled vehicles](https://developers.google.com/maps/documentation/routes/coverage-two-wheeled). + enum: + - TRAVEL_MODE_UNSPECIFIED + - DRIVE + - BICYCLE + - WALK + - TWO_WHEELER type: string + description: Optional. The travel mode. routeModifiers: - description: Optional. The route modifiers. $ref: '#/components/schemas/GoogleMapsPlacesV1RouteModifiers' + description: Optional. The route modifiers. + origin: + $ref: '#/components/schemas/GoogleTypeLatLng' + description: >- + Optional. An explicit routing origin that overrides the origin + defined in the polyline. By default, the polyline origin is used. routingPreference: - type: string enumDescriptions: - No routing preference specified. Default to `TRAFFIC_UNAWARE`. - >- @@ -1818,76 +1789,62 @@ components: Calculates the routes taking live traffic conditions into consideration, without applying most performance optimizations. Using this value produces the highest latency. - description: >- - Optional. Specifies how to compute the routing summaries. The server - attempts to use the selected routing preference to compute the - route. The traffic aware routing preference is only available for - the `DRIVE` or `TWO_WHEELER` `travelMode`. + type: string enum: - ROUTING_PREFERENCE_UNSPECIFIED - TRAFFIC_UNAWARE - TRAFFIC_AWARE - TRAFFIC_AWARE_OPTIMAL - origin: description: >- - Optional. An explicit routing origin that overrides the origin - defined in the polyline. By default, the polyline origin is used. - $ref: '#/components/schemas/GoogleTypeLatLng' + Optional. Specifies how to compute the routing summaries. The server + attempts to use the selected routing preference to compute the + route. The traffic aware routing preference is only available for + the `DRIVE` or `TWO_WHEELER` `travelMode`. description: >- Parameters to configure the routing calculations to the places in the response, both along a route (where result ranking will be influenced) and for calculating travel times on results. + type: object id: GoogleMapsPlacesV1RoutingParameters + GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters: + description: >- + Specifies a precalculated polyline from the [Routes + API](https://developers.google.com/maps/documentation/routes) defining + the route to search. Searching along a route is similar to using the + `locationBias` or `locationRestriction` request option to bias the + search results. However, while the `locationBias` and + `locationRestriction` options let you specify a region to bias the + search results, this option lets you bias the results along a trip + route. Results are not guaranteed to be along the route provided, but + rather are ranked within the search area defined by the polyline and, + optionally, by the `locationBias` or `locationRestriction` based on + minimal detour times from origin to destination. The results might be + along an alternate route, especially if the provided polyline does not + define an optimal route from origin to destination. type: object - GoogleMapsPlacesV1ContextualContent: properties: - reviews: - type: array - description: List of reviews about this place, contexual to the place query. - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Review' - photos: - type: array - items: - $ref: '#/components/schemas/GoogleMapsPlacesV1Photo' - description: >- - Information (including references) about photos of this place, - contexual to the place query. - justifications: - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. Justifications for the place. - items: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1ContextualContentJustification - type: array - type: object - id: GoogleMapsPlacesV1ContextualContent - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. Content that is contextual to the place query. + polyline: + $ref: '#/components/schemas/GoogleMapsPlacesV1Polyline' + description: Required. The route polyline. + id: GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters GoogleMapsPlacesV1AutocompletePlacesRequest: id: GoogleMapsPlacesV1AutocompletePlacesRequest description: Request proto for AutocompletePlaces. - type: object properties: + inputOffset: + description: >- + Optional. A zero-based Unicode character offset of `input` + indicating the cursor position in `input`. The cursor position may + influence what predictions are returned. If empty, defaults to the + length of `input`. + format: int32 + type: integer includeQueryPredictions: description: >- Optional. If true, the response will include both Place and query predictions. Otherwise the response will only return Place predictions. type: boolean - locationRestriction: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesRequestLocationRestriction - description: >- - Optional. Restrict results to a specified location. At most one of - `location_bias` or `location_restriction` should be set. If neither - are set, the results will be biased by IP address, meaning the IP - address will be mapped to an imprecise location and used as a - biasing signal. languageCode: description: >- Optional. The language in which to return results. Defaults to @@ -1896,197 +1853,263 @@ components: does not have a translation from the local language to `language_code`. type: string + sessionToken: + type: string + description: >- + Optional. A string which identifies an Autocomplete session for + billing purposes. Must be a URL and filename safe base64 string with + at most 36 ASCII characters in length. Otherwise an INVALID_ARGUMENT + error is returned. The session begins when the user starts typing a + query, and concludes when they select a place and a call to Place + Details or Address Validation is made. Each session can have + multiple queries, followed by one Place Details or Address + Validation request. The credentials used for each request within a + session must belong to the same Google Cloud Console project. Once a + session has concluded, the token is no longer valid; your app must + generate a fresh token for each session. If the `session_token` + parameter is omitted, or if you reuse a session token, the session + is charged as if no session token was provided (each request is + billed separately). We recommend the following guidelines: * Use + session tokens for all Place Autocomplete calls. * Generate a fresh + token for each session. Using a version 4 UUID is recommended. * + Ensure that the credentials used for all Place Autocomplete, Place + Details, and Address Validation requests within a session belong to + the same Cloud Console project. * Be sure to pass a unique session + token for each new session. Using the same token for more than one + session will result in each request being billed individually. + includedPrimaryTypes: + description: >- + Optional. Included primary Place type (for example, "restaurant" or + "gas_station") in Place Types + (https://developers.google.com/maps/documentation/places/web-service/place-types), + or only `(regions)`, or only `(cities)`. A Place is only returned if + its primary type is included in this list. Up to 5 values can be + specified. If no types are specified, all Place types are returned. + type: array + items: + type: string + locationBias: + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesRequestLocationBias + description: >- + Optional. Bias results to a specified location. At most one of + `location_bias` or `location_restriction` should be set. If neither + are set, the results will be biased by IP address, meaning the IP + address will be mapped to an imprecise location and used as a + biasing signal. + includedRegionCodes: + description: >- + Optional. Only include results in the specified regions, specified + as up to 15 CLDR two-character region codes. An empty set will not + restrict the results. If both `location_restriction` and + `included_region_codes` are set, the results will be located in the + area of intersection. + items: + type: string + type: array regionCode: + type: string description: >- Optional. The region code, specified as a CLDR two-character region code. This affects address formatting, result ranking, and may influence what results are returned. This does not restrict results to the specified region. To restrict results to a region, use `region_code_restriction`. - type: string - sessionToken: - type: string - description: >- - Optional. A string which identifies an Autocomplete session for - billing purposes. Must be a URL and filename safe base64 string with - at most 36 ASCII characters in length. Otherwise an INVALID_ARGUMENT - error is returned. The session begins when the user starts typing a - query, and concludes when they select a place and a call to Place - Details or Address Validation is made. Each session can have - multiple queries, followed by one Place Details or Address - Validation request. The credentials used for each request within a - session must belong to the same Google Cloud Console project. Once a - session has concluded, the token is no longer valid; your app must - generate a fresh token for each session. If the `session_token` - parameter is omitted, or if you reuse a session token, the session - is charged as if no session token was provided (each request is - billed separately). We recommend the following guidelines: * Use - session tokens for all Place Autocomplete calls. * Generate a fresh - token for each session. Using a version 4 UUID is recommended. * - Ensure that the credentials used for all Place Autocomplete, Place - Details, and Address Validation requests within a session belong to - the same Cloud Console project. * Be sure to pass a unique session - token for each new session. Using the same token for more than one - session will result in each request being billed individually. - inputOffset: - type: integer - format: int32 - description: >- - Optional. A zero-based Unicode character offset of `input` - indicating the cursor position in `input`. The cursor position may - influence what predictions are returned. If empty, defaults to the - length of `input`. input: description: Required. The text string on which to search. type: string - locationBias: + locationRestriction: $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesRequestLocationBias + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesRequestLocationRestriction description: >- - Optional. Bias results to a specified location. At most one of + Optional. Restrict results to a specified location. At most one of `location_bias` or `location_restriction` should be set. If neither are set, the results will be biased by IP address, meaning the IP address will be mapped to an imprecise location and used as a biasing signal. - includedPrimaryTypes: - type: array - description: >- - Optional. Included primary Place type (for example, "restaurant" or - "gas_station") in Place Types - (https://developers.google.com/maps/documentation/places/web-service/place-types), - or only `(regions)`, or only `(cities)`. A Place is only returned if - its primary type is included in this list. Up to 5 values can be - specified. If no types are specified, all Place types are returned. - items: - type: string origin: $ref: '#/components/schemas/GoogleTypeLatLng' description: >- Optional. The origin point from which to calculate geodesic distance to the destination (returned as `distance_meters`). If this value is omitted, geodesic distance will not be returned. - includedRegionCodes: - items: - type: string - description: >- - Optional. Only include results in the specified regions, specified - as up to 15 CLDR two-character region codes. An empty set will not - restrict the results. If both `location_restriction` and - `included_region_codes` are set, the results will be located in the - area of intersection. - type: array - GoogleMapsPlacesV1AutocompletePlacesResponse: + type: object + GoogleMapsPlacesV1AuthorAttribution: + id: GoogleMapsPlacesV1AuthorAttribution + description: Information about the author of the UGC data. Used in Photo, and Review. properties: - suggestions: - items: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestion - description: >- - Contains a list of suggestions, ordered in descending order of - relevance. - type: array + uri: + type: string + description: URI of the author of the Photo or Review. + photoUri: + type: string + description: Profile photo URI of the author of the Photo or Review. + displayName: + type: string + description: Name of the author of the Photo or Review. type: object - id: GoogleMapsPlacesV1AutocompletePlacesResponse - description: Response proto for AutocompletePlaces. - GoogleMapsPlacesV1AutocompletePlacesRequestLocationRestriction: - id: GoogleMapsPlacesV1AutocompletePlacesRequestLocationRestriction + GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionQueryPrediction: type: object properties: - circle: - description: A circle defined by a center point and radius. - $ref: '#/components/schemas/GoogleMapsPlacesV1Circle' - rectangle: - $ref: '#/components/schemas/GoogleGeoTypeViewport' - description: A viewport defined by a northeast and a southwest corner. - description: >- - The region to search. The results will be restricted to the specified - region. - GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText: + text: + description: >- + The predicted text. This text does not represent a Place, but rather + a text query that could be used in a search endpoint (for example, + Text Search). `text` is recommended for developers who wish to show + a single UI element. Developers who wish to show two separate, but + related, UI elements may want to use `structured_format` instead. + They are two different ways to represent a query prediction. Users + should not try to parse `structured_format` into `text` or vice + versa. May be in mixed languages if the request `input` and + `language_code` are in different languages or if part of the query + does not have a translation from the local language to + `language_code`. + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText + structuredFormat: + description: >- + A breakdown of the query prediction into main text containing the + query and secondary text containing additional disambiguating + features (such as a city or region). `structured_format` is + recommended for developers who wish to show two separate, but + related, UI elements. Developers who wish to show a single UI + element may want to use `text` instead. They are two different ways + to represent a query prediction. Users should not try to parse + `structured_format` into `text` or vice versa. + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStructuredFormat + description: Prediction results for a Query Autocomplete prediction. + id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionQueryPrediction + GoogleMapsPlacesV1AddressDescriptor: + type: object + id: GoogleMapsPlacesV1AddressDescriptor properties: - matches: + areas: description: >- - A list of string ranges identifying where the input request matched - in `text`. The ranges can be used to format specific parts of - `text`. The substrings may not be exact matches of `input` if the - matching was determined by criteria other than string matching (for - example, spell corrections or transliterations). These values are - Unicode character offsets of `text`. The ranges are guaranteed to be - ordered in increasing offset values. + A ranked list of containing or adjacent areas. The most recognizable + and precise areas are ranked first. + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1AddressDescriptorArea' type: array + landmarks: items: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionStringRange - text: - description: Text that may be used as is or formatted with `matches`. - type: string - type: object + $ref: '#/components/schemas/GoogleMapsPlacesV1AddressDescriptorLandmark' + description: >- + A ranked list of nearby landmarks. The most recognizable and nearby + landmarks are ranked first. + type: array description: >- - Text representing a Place or query prediction. The text may be used as - is or formatted. - id: GoogleMapsPlacesV1AutocompletePlacesResponseSuggestionFormattableText - GoogleMapsPlacesV1PlaceGenerativeSummary: - id: GoogleMapsPlacesV1PlaceGenerativeSummary + A relational description of a location. Includes a ranked set of nearby + landmarks and precise containing areas and their relationship to the + target location. + GoogleMapsPlacesV1PlacePaymentOptions: + id: GoogleMapsPlacesV1PlacePaymentOptions + properties: + acceptsCashOnly: + type: boolean + description: >- + Place accepts cash only as payment. Places with this attribute may + still accept other payment methods. + acceptsNfc: + type: boolean + description: Place accepts NFC payments. + acceptsDebitCards: + type: boolean + description: Place accepts debit cards as payment. + acceptsCreditCards: + type: boolean + description: Place accepts credit cards as payment. + description: Payment options the place accepts. type: object - description: >- - Experimental: See - https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative - for more details. AI-generated summary of the place. + GoogleMapsPlacesV1ContentBlock: + id: GoogleMapsPlacesV1ContentBlock + type: object + description: A block of content that can be served individually. properties: + topic: + type: string + description: The topic of the content, for example "overview" or "restaurant". + content: + description: Content related to the topic. + $ref: '#/components/schemas/GoogleTypeLocalizedText' references: + description: >- + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. References that are related to this block of + content. $ref: '#/components/schemas/GoogleMapsPlacesV1References' - description: References that are used to generate the summary description. - description: - $ref: '#/components/schemas/GoogleTypeLocalizedText' - description: The detailed description of the place. - overview: - description: The overview of the place. - $ref: '#/components/schemas/GoogleTypeLocalizedText' - GoogleMapsPlacesV1Photo: + GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification: + id: >- + GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification + type: object properties: - authorAttributions: + delivery: + description: If a place provides delivery. + type: boolean + takeout: + type: boolean + description: If a place provides takeout. + dineIn: + type: boolean + description: If a place provides dine-in. + description: >- + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. BusinessAvailabilityAttributes justifications. This + shows some attributes a business has that could interest an end user. + GoogleMapsPlacesV1SearchTextResponse: + description: 'Response proto for SearchText. ' + type: object + properties: + searchUri: + description: >- + A link allows the user to search with the same text query as + specified in the request on Google Maps. + type: string + nextPageToken: + type: string + description: >- + A token that can be sent as `page_token` to retrieve the next page. + If this field is omitted or empty, there are no subsequent pages. + routingSummaries: + description: >- + A list of routing summaries where each entry associates to the + corresponding place in the same index in the `places` field. If the + routing summary is not available for one of the places, it will + contain an empty entry. This list will have as many entries as the + list of places if requested. items: - $ref: '#/components/schemas/GoogleMapsPlacesV1AuthorAttribution' + $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingSummary' type: array - description: This photo's authors. - heightPx: - description: The maximum available height, in pixels. - type: integer - format: int32 - widthPx: - type: integer - description: The maximum available width, in pixels. - format: int32 - name: + contextualContents: description: >- - Identifier. A reference representing this place photo which may be - used to look up this place photo again (also called the API - "resource" name: `places/{place_id}/photos/{photo}`). - type: string - id: GoogleMapsPlacesV1Photo - description: Information about a photo of a place. - type: object - GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters: + Experimental: See + https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative + for more details. A list of contextual contents where each entry + associates to the corresponding place in the same index in the + places field. The contents that are relevant to the `text_query` in + the request are preferred. If the contextual content is not + available for one of the places, it will return non-contextual + content. It will be empty only when the content is unavailable for + this place. This list will have as many entries as the list of + places if requested. + type: array + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1ContextualContent' + places: + description: A list of places that meet the user's text search criteria. + type: array + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1Place' + id: GoogleMapsPlacesV1SearchTextResponse + GoogleMapsPlacesV1Polyline: type: object description: >- - Specifies a precalculated polyline from the [Routes - API](https://developers.google.com/maps/documentation/routes) defining - the route to search. Searching along a route is similar to using the - `locationBias` or `locationRestriction` request option to bias the - search results. However, while the `locationBias` and - `locationRestriction` options let you specify a region to bias the - search results, this option lets you bias the results along a trip - route. Results are not guaranteed to be along the route provided, but - rather are ranked within the search area defined by the polyline and, - optionally, by the `locationBias` or `locationRestriction` based on - minimal detour times from origin to destination. The results might be - along an alternate route, especially if the provided polyline does not - define an optimal route from origin to destination. - id: GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters - properties: - polyline: - description: Required. The route polyline. - $ref: '#/components/schemas/GoogleMapsPlacesV1Polyline' - GoogleMapsPlacesV1Polyline: + A route polyline. Only supports an [encoded + polyline](https://developers.google.com/maps/documentation/utilities/polylinealgorithm), + which can be passed as a string and includes compression with minimal + lossiness. This is the Routes API default output. properties: encodedPolyline: type: string @@ -2100,63 +2123,224 @@ components: and [decoder](https://developers.google.com/maps/documentation/routes/polylinedecoder) tools. - type: object id: GoogleMapsPlacesV1Polyline - description: >- - A route polyline. Only supports an [encoded - polyline](https://developers.google.com/maps/documentation/utilities/polylinealgorithm), - which can be passed as a string and includes compression with minimal - lossiness. This is the Routes API default output. - GoogleMapsPlacesV1PlaceParkingOptions: - type: object - id: GoogleMapsPlacesV1PlaceParkingOptions + GoogleMapsPlacesV1RouteModifiers: + id: GoogleMapsPlacesV1RouteModifiers properties: - paidGarageParking: - type: boolean - description: Place offers paid garage parking. - valetParking: - type: boolean - description: Place offers valet parking. - paidParkingLot: - type: boolean - description: Place offers paid parking lots. - freeGarageParking: + avoidIndoor: type: boolean - description: Place offers free garage parking. - paidStreetParking: - description: Place offers paid street parking. + description: >- + Optional. When set to true, avoids navigating indoors where + reasonable, giving preference to routes not containing indoor + navigation. Applies only to the `WALK` `TravelMode`. + avoidFerries: + description: >- + Optional. When set to true, avoids ferries where reasonable, giving + preference to routes not containing ferries. Applies only to the + `DRIVE` and `TWO_WHEELER` `TravelMode`. type: boolean - freeStreetParking: - description: Place offers free street parking. + avoidHighways: type: boolean - freeParkingLot: + description: >- + Optional. When set to true, avoids highways where reasonable, giving + preference to routes not containing highways. Applies only to the + `DRIVE` and `TWO_WHEELER` `TravelMode`. + avoidTolls: type: boolean - description: Place offers free parking lots. + description: >- + Optional. When set to true, avoids toll roads where reasonable, + giving preference to routes not containing toll roads. Applies only + to the `DRIVE` and `TWO_WHEELER` `TravelMode`. description: >- - Information about parking options for the place. A parking lot could - support more than one option at the same time. + Encapsulates a set of optional conditions to satisfy when calculating + the routes. + type: object + GoogleMapsPlacesV1RoutingSummary: + id: GoogleMapsPlacesV1RoutingSummary + description: >- + The duration and distance from the routing origin to a place in the + response, and a second leg from that place to the destination, if + requested. **Note:** Adding `routingSummaries` in the field mask without + also including either the `routingParameters.origin` parameter or the + `searchAlongRouteParameters.polyline.encodedPolyline` parameter in the + request causes an error. + properties: + directionsUri: + type: string + description: >- + A link to show directions on Google Maps using the waypoints from + the given routing summary. The route generated by this link is not + guaranteed to be the same as the route used to generate the routing + summary. The link uses information provided in the request, from + fields including `routingParameters` and + `searchAlongRouteParameters` when applicable, to generate the + directions link. + legs: + type: array + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingSummaryLeg' + description: >- + The legs of the trip. When you calculate travel duration and + distance from a set origin, `legs` contains a single leg containing + the duration and distance from the origin to the destination. When + you do a search along route, `legs` contains two legs: one from the + origin to place, and one from the place to the destination. + type: object + GoogleMapsPlacesV1FuelOptions: + properties: + fuelPrices: + type: array + description: >- + The last known fuel price for each type of fuel this station has. + There is one entry per fuel type this station has. Order is not + important. + items: + $ref: '#/components/schemas/GoogleMapsPlacesV1FuelOptionsFuelPrice' + type: object + description: >- + The most recent information about fuel options in a gas station. This + information is updated regularly. + id: GoogleMapsPlacesV1FuelOptions + GoogleMapsPlacesV1SearchNearbyRequest: + properties: + excludedPrimaryTypes: + description: >- + Excluded primary Place type (e.g. "restaurant" or "gas_station") + from + https://developers.google.com/maps/documentation/places/web-service/place-types. + Up to 50 types from [Table + A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + may be specified. If there are any conflicting primary types, i.e. a + type appears in both included_primary_types and + excluded_primary_types, an INVALID_ARGUMENT error is returned. If a + Place type is specified with multiple type restrictions, only places + that satisfy all of the restrictions are returned. For example, if + we have {included_types = ["restaurant"], excluded_primary_types = + ["restaurant"]}, the returned places provide "restaurant" related + services but do not operate primarily as "restaurants". + items: + type: string + type: array + locationRestriction: + description: Required. The region to search. + $ref: >- + #/components/schemas/GoogleMapsPlacesV1SearchNearbyRequestLocationRestriction + languageCode: + type: string + description: >- + Place details will be displayed with the preferred language if + available. If the language code is unspecified or unrecognized, + place details of any language may be returned, with a preference for + English if such details exist. Current list of supported languages: + https://developers.google.com/maps/faq#languagesupport. + routingParameters: + $ref: '#/components/schemas/GoogleMapsPlacesV1RoutingParameters' + description: Optional. Parameters that affect the routing to the search results. + maxResultCount: + format: int32 + description: >- + Maximum number of results to return. It must be between 1 and 20 + (default), inclusively. If the number is unset, it falls back to the + upper limit. If the number is set to negative or exceeds the upper + limit, an INVALID_ARGUMENT error is returned. + type: integer + rankPreference: + type: string + enum: + - RANK_PREFERENCE_UNSPECIFIED + - DISTANCE + - POPULARITY + enumDescriptions: + - >- + RankPreference value not set. Will use rank by POPULARITY by + default. + - Ranks results by distance. + - Ranks results by popularity. + description: How results will be ranked in the response. + includedPrimaryTypes: + description: >- + Included primary Place type (e.g. "restaurant" or "gas_station") + from + https://developers.google.com/maps/documentation/places/web-service/place-types. + A place can only have a single primary type from the supported types + table associated with it. Up to 50 types from [Table + A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + may be specified. If there are any conflicting primary types, i.e. a + type appears in both included_primary_types and + excluded_primary_types, an INVALID_ARGUMENT error is returned. If a + Place type is specified with multiple type restrictions, only places + that satisfy all of the restrictions are returned. For example, if + we have {included_types = ["restaurant"], excluded_primary_types = + ["restaurant"]}, the returned places provide "restaurant" related + services but do not operate primarily as "restaurants". + type: array + items: + type: string + includedTypes: + description: >- + Included Place type (eg, "restaurant" or "gas_station") from + https://developers.google.com/maps/documentation/places/web-service/place-types. + Up to 50 types from [Table + A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + may be specified. If there are any conflicting types, i.e. a type + appears in both included_types and excluded_types, an + INVALID_ARGUMENT error is returned. If a Place type is specified + with multiple type restrictions, only places that satisfy all of the + restrictions are returned. For example, if we have {included_types = + ["restaurant"], excluded_primary_types = ["restaurant"]}, the + returned places provide "restaurant" related services but do not + operate primarily as "restaurants". + items: + type: string + type: array + excludedTypes: + type: array + items: + type: string + description: >- + Excluded Place type (eg, "restaurant" or "gas_station") from + https://developers.google.com/maps/documentation/places/web-service/place-types. + Up to 50 types from [Table + A](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) + may be specified. If the client provides both included_types (e.g. + restaurant) and excluded_types (e.g. cafe), then the response should + include places that are restaurant but not cafe. The response + includes places that match at least one of the included_types and + none of the excluded_types. If there are any conflicting types, i.e. + a type appears in both included_types and excluded_types, an + INVALID_ARGUMENT error is returned. If a Place type is specified + with multiple type restrictions, only places that satisfy all of the + restrictions are returned. For example, if we have {included_types = + ["restaurant"], excluded_primary_types = ["restaurant"]}, the + returned places provide "restaurant" related services but do not + operate primarily as "restaurants". + regionCode: + description: >- + The Unicode country/region code (CLDR) of the location where the + request is coming from. This parameter is used to display the place + details, like region-specific place name, if available. The + parameter can affect results based on applicable law. For more + information, see + https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. + Note that 3-digit region codes are not currently supported. + type: string + type: object + description: 'Request proto for Search Nearby. ' + id: GoogleMapsPlacesV1SearchNearbyRequest + GoogleMapsPlacesV1RoutingSummaryLeg: + id: GoogleMapsPlacesV1RoutingSummaryLeg + type: object + properties: + distanceMeters: + type: integer + format: int32 + description: The distance of this leg of the trip. + duration: + format: google-duration + description: The time it takes to complete this leg of the trip. + type: string + description: A leg is a single portion of a journey from one location to another. parameters: - callback: - description: JSONP - in: query - name: callback - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' alt: description: Data format for response. in: query @@ -2167,21 +2351,6 @@ components: - json - media - proto - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string quotaUser: description: >- Available to use for quota purposes for server-side applications. Can be @@ -2191,45 +2360,99 @@ components: name: quotaUser schema: type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + callback: + description: JSONP in: query - name: uploadType + name: callback schema: type: string - access_token: - description: OAuth access token. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: access_token + name: upload_protocol + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv schema: type: string + enum: + - '1' + - '2' prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string x-stackQL-resources: + photos_media: + id: google.places.photos_media + name: photos_media + title: Photos_media + methods: + get_media: + operation: + $ref: '#/paths/~1v1~1places~1{placesId}~1photos~1{photosId}~1media/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/photos_media/methods/get_media' + insert: [] + update: [] + replace: [] + delete: [] places: id: google.places.places name: places title: Places methods: - get: + search_text: operation: - $ref: '#/paths/~1v1~1places~1{placesId}/get' + $ref: '#/paths/~1v1~1places:searchText/post' response: mediaType: application/json openAPIDocKey: '200' - search_text: + autocomplete: operation: - $ref: '#/paths/~1v1~1places:searchText/post' + $ref: '#/paths/~1v1~1places:autocomplete/post' response: mediaType: application/json openAPIDocKey: '200' @@ -2239,9 +2462,9 @@ components: response: mediaType: application/json openAPIDocKey: '200' - autocomplete: + get: operation: - $ref: '#/paths/~1v1~1places:autocomplete/post' + $ref: '#/paths/~1v1~1places~1{placesId}/get' response: mediaType: application/json openAPIDocKey: '200' @@ -2252,43 +2475,23 @@ components: update: [] replace: [] delete: [] - photos_media: - id: google.places.photos_media - name: photos_media - title: Photos_media - methods: - get_media: - operation: - $ref: '#/paths/~1v1~1places~1{placesId}~1photos~1{photosId}~1media/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/photos_media/methods/get_media' - insert: [] - update: [] - replace: [] - delete: [] paths: - /v1/places/{placesId}: + /v1/places/{placesId}/photos/{photosId}/media: parameters: &ref_1 - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/key' get: - description: >- - Get the details of a place based on its resource name, which is a string - in the `places/{place_id}` format. - operationId: places.places.get + description: Get a photo media with a photo reference string. + operationId: places.places.photos.getMedia security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2299,34 +2502,41 @@ paths: Oauth2c: - https://www.googleapis.com/auth/maps-platform.places - Oauth2: - - https://www.googleapis.com/auth/maps-platform.places.details + - https://www.googleapis.com/auth/maps-platform.places.getphotomedia Oauth2c: - - https://www.googleapis.com/auth/maps-platform.places.details + - https://www.googleapis.com/auth/maps-platform.places.getphotomedia responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleMapsPlacesV1Place' + $ref: '#/components/schemas/GoogleMapsPlacesV1PhotoMedia' parameters: - in: path name: placesId required: true schema: type: string - - in: query - name: languageCode + - in: path + name: photosId + required: true schema: type: string - in: query - name: sessionToken + name: maxWidthPx schema: - type: string + type: integer + format: int32 - in: query - name: regionCode + name: maxHeightPx schema: - type: string + type: integer + format: int32 + - in: query + name: skipHttpRedirect + schema: + type: boolean /v1/places:searchText: parameters: *ref_1 post: @@ -2358,16 +2568,16 @@ paths: schema: $ref: '#/components/schemas/GoogleMapsPlacesV1SearchTextResponse' parameters: [] - /v1/places:searchNearby: + /v1/places:autocomplete: parameters: *ref_1 post: - description: Search for places near locations. - operationId: places.places.searchNearby + description: Returns predictions for the given input. + operationId: places.places.autocomplete requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleMapsPlacesV1SearchNearbyRequest' + $ref: '#/components/schemas/GoogleMapsPlacesV1AutocompletePlacesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2378,27 +2588,28 @@ paths: Oauth2c: - https://www.googleapis.com/auth/maps-platform.places - Oauth2: - - https://www.googleapis.com/auth/maps-platform.places.nearbysearch + - https://www.googleapis.com/auth/maps-platform.places.autocomplete Oauth2c: - - https://www.googleapis.com/auth/maps-platform.places.nearbysearch + - https://www.googleapis.com/auth/maps-platform.places.autocomplete responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleMapsPlacesV1SearchNearbyResponse' + $ref: >- + #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponse parameters: [] - /v1/places:autocomplete: + /v1/places:searchNearby: parameters: *ref_1 post: - description: Returns predictions for the given input. - operationId: places.places.autocomplete + description: Search for places near locations. + operationId: places.places.searchNearby requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleMapsPlacesV1AutocompletePlacesRequest' + $ref: '#/components/schemas/GoogleMapsPlacesV1SearchNearbyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2409,23 +2620,24 @@ paths: Oauth2c: - https://www.googleapis.com/auth/maps-platform.places - Oauth2: - - https://www.googleapis.com/auth/maps-platform.places.autocomplete + - https://www.googleapis.com/auth/maps-platform.places.nearbysearch Oauth2c: - - https://www.googleapis.com/auth/maps-platform.places.autocomplete + - https://www.googleapis.com/auth/maps-platform.places.nearbysearch responses: '200': description: Successful response content: application/json: schema: - $ref: >- - #/components/schemas/GoogleMapsPlacesV1AutocompletePlacesResponse + $ref: '#/components/schemas/GoogleMapsPlacesV1SearchNearbyResponse' parameters: [] - /v1/places/{placesId}/photos/{photosId}/media: + /v1/places/{placesId}: parameters: *ref_1 get: - description: Get a photo media with a photo reference string. - operationId: places.places.photos.getMedia + description: >- + Get the details of a place based on its resource name, which is a string + in the `places/{place_id}` format. + operationId: places.places.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2435,35 +2647,32 @@ paths: - https://www.googleapis.com/auth/maps-platform.places Oauth2c: - https://www.googleapis.com/auth/maps-platform.places + - Oauth2: + - https://www.googleapis.com/auth/maps-platform.places.details + Oauth2c: + - https://www.googleapis.com/auth/maps-platform.places.details responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleMapsPlacesV1PhotoMedia' + $ref: '#/components/schemas/GoogleMapsPlacesV1Place' parameters: - in: path name: placesId required: true schema: type: string - - in: path - name: photosId - required: true - schema: - type: string - in: query - name: maxWidthPx + name: regionCode schema: - type: integer - format: int32 + type: string - in: query - name: maxHeightPx + name: languageCode schema: - type: integer - format: int32 + type: string - in: query - name: skipHttpRedirect + name: sessionToken schema: - type: boolean + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/policyanalyzer.yaml b/providers/src/googleapis.com/v00.00.00000/services/policyanalyzer.yaml index e0bc47e0..220b6a3a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/policyanalyzer.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/policyanalyzer.yaml @@ -7,8 +7,8 @@ info: title: Policy Analyzer API description: '' version: v1 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241103' + x-generated-date: '2024-11-06' externalDocs: url: https://www.google.com servers: @@ -35,31 +35,30 @@ components: scopes: *ref_0 schemas: GoogleCloudPolicyanalyzerV1Activity: - id: GoogleCloudPolicyanalyzerV1Activity - description: Represents Activity on a GCP resource over specific observation period. type: object + description: Represents Activity on a GCP resource over specific observation period. properties: activityType: description: The type of the activity. type: string - observationPeriod: - description: The data observation period to build the activity. - $ref: '#/components/schemas/GoogleCloudPolicyanalyzerV1ObservationPeriod' fullResourceName: - type: string description: >- The full resource name that identifies the resource. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + type: string activity: + type: object additionalProperties: - type: any description: Properties of the object. - type: object + type: any description: A struct of custom fields to explain the activity. + observationPeriod: + description: The data observation period to build the activity. + $ref: '#/components/schemas/GoogleCloudPolicyanalyzerV1ObservationPeriod' + id: GoogleCloudPolicyanalyzerV1Activity GoogleCloudPolicyanalyzerV1ObservationPeriod: id: GoogleCloudPolicyanalyzerV1ObservationPeriod - description: Represents data observation period. properties: endTime: format: google-datetime @@ -68,21 +67,23 @@ components: `07:00:00Z`. type: string startTime: - type: string description: >- The observation start time. The time in this timestamp is always `07:00:00Z`. + type: string format: google-datetime + description: Represents data observation period. type: object GoogleCloudPolicyanalyzerV1QueryActivityResponse: - id: GoogleCloudPolicyanalyzerV1QueryActivityResponse + type: object description: Response to the `QueryActivity` method. + id: GoogleCloudPolicyanalyzerV1QueryActivityResponse properties: activities: - type: array items: $ref: '#/components/schemas/GoogleCloudPolicyanalyzerV1Activity' description: The set of activities that match the filter included in the request. + type: array nextPageToken: description: >- If there might be more results than those appearing in this @@ -90,17 +91,17 @@ components: results, call this method again using the value of `nextPageToken` as `pageToken`. type: string - type: object parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + alt: + description: Data format for response. in: query - name: quotaUser + name: alt schema: type: string + enum: + - json + - media + - proto key: description: >- API key. Your API key identifies your project and provides you with API @@ -110,28 +111,31 @@ components: name: key schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: upload_protocol + name: prettyPrint schema: - type: string - access_token: - description: OAuth access token. + type: boolean + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: access_token + name: fields schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: uploadType + name: quotaUser schema: type: string - callback: - description: JSONP + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: callback + name: upload_protocol schema: type: string _.xgafv: @@ -143,34 +147,30 @@ components: enum: - '1' - '2' - oauth_token: - description: OAuth 2.0 token for the current user. + access_token: + description: OAuth access token. in: query - name: oauth_token + name: access_token schema: type: string - alt: - description: Data format for response. + callback: + description: JSONP in: query - name: alt + name: callback schema: type: string - enum: - - json - - media - - proto - fields: - description: Selector specifying which fields to include in a partial response. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: fields + name: uploadType schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: prettyPrint + name: oauth_token schema: - type: boolean + type: string x-stackQL-resources: activities: id: google.policyanalyzer.activities @@ -192,22 +192,22 @@ components: replace: [] delete: [] paths: - /v1/folders/{foldersId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query: + /v1/projects/{projectsId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/prettyPrint' get: description: Queries policy activities on Google Cloud resources. - operationId: policyanalyzer.folders.locations.activityTypes.activities.query + operationId: policyanalyzer.projects.locations.activityTypes.activities.query security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -223,7 +223,7 @@ paths: #/components/schemas/GoogleCloudPolicyanalyzerV1QueryActivityResponse parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -237,24 +237,24 @@ paths: required: true schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - in: query name: filter schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query: + /v1/folders/{foldersId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query: parameters: *ref_1 get: description: Queries policy activities on Google Cloud resources. - operationId: policyanalyzer.projects.locations.activityTypes.activities.query + operationId: policyanalyzer.folders.locations.activityTypes.activities.query security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -270,7 +270,7 @@ paths: #/components/schemas/GoogleCloudPolicyanalyzerV1QueryActivityResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -284,15 +284,15 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 + - in: query + name: filter + schema: + type: string - in: query name: pageToken schema: diff --git a/providers/src/googleapis.com/v00.00.00000/services/policysimulator.yaml b/providers/src/googleapis.com/v00.00.00000/services/policysimulator.yaml index 4afa8f05..b099d3da 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/policysimulator.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/policysimulator.yaml @@ -7,8 +7,8 @@ info: title: Policy 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.' version: v1 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/iam/docs/simulating-access servers: @@ -34,69 +34,142 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudPolicysimulatorV1ReplayOperationMetadata: - properties: - startTime: - format: google-datetime - type: string - description: Time when the request was received. - type: object - description: Metadata about a Replay operation. - id: GoogleCloudPolicysimulatorV1ReplayOperationMetadata - GoogleCloudPolicysimulatorV1ReplayResultsSummary: - type: object + GoogleCloudPolicysimulatorV1alphaGenerateOrgPolicyViolationsPreviewOperationMetadata: properties: - errorCount: + resourcesFound: type: integer - description: The number of log entries that could not be replayed. - format: int32 - unchangedCount: description: >- - The number of replayed log entries with no difference between - baseline and simulated policies. + Total number of resources that need scanning. Should equal + resource_scanned + resources_pending format: int32 + state: + description: The current state of the operation. + enumDescriptions: + - The state is unspecified. + - The OrgPolicyViolationsPreview has not been created yet. + - The OrgPolicyViolationsPreview is currently being created. + - The OrgPolicyViolationsPreview creation finished successfully. + - The OrgPolicyViolationsPreview creation failed with an error. + enum: + - PREVIEW_STATE_UNSPECIFIED + - PREVIEW_PENDING + - PREVIEW_RUNNING + - PREVIEW_SUCCEEDED + - PREVIEW_FAILED + type: string + requestTime: + type: string + format: google-datetime + description: Time when the request was received. + resourcesPending: type: integer - logCount: format: int32 - description: The total number of log entries replayed. - type: integer - oldestDate: - description: The date of the oldest log entry replayed. - $ref: '#/components/schemas/GoogleTypeDate' - newestDate: - description: The date of the newest log entry replayed. - $ref: '#/components/schemas/GoogleTypeDate' - differenceCount: + description: Number of resources still to scan. + startTime: description: >- - The number of replayed log entries with a difference between - baseline and simulated policies. + Time when the request started processing, i.e. when the state was + set to RUNNING. + format: google-datetime + type: string + resourcesScanned: type: integer format: int32 - id: GoogleCloudPolicysimulatorV1ReplayResultsSummary - description: Summary statistics about the replayed log entries. + description: Number of resources already scanned. + description: >- + GenerateOrgPolicyViolationsPreviewOperationMetadata is metadata about an + OrgPolicyViolationsPreview generations operation. + id: >- + GoogleCloudPolicysimulatorV1alphaGenerateOrgPolicyViolationsPreviewOperationMetadata + type: object + GoogleCloudPolicysimulatorV1ExplainedAccess: + id: GoogleCloudPolicysimulatorV1ExplainedAccess + properties: + errors: + items: + $ref: '#/components/schemas/GoogleRpcStatus' + type: array + description: >- + If the AccessState is `UNKNOWN`, this field contains a list of + errors explaining why the result is `UNKNOWN`. If the `AccessState` + is `GRANTED` or `NOT_GRANTED`, this field is omitted. + accessState: + type: string + enum: + - ACCESS_STATE_UNSPECIFIED + - GRANTED + - NOT_GRANTED + - UNKNOWN_CONDITIONAL + - UNKNOWN_INFO_DENIED + enumDescriptions: + - Default value. This value is unused. + - The principal has the permission. + - The principal does not have the permission. + - >- + The principal has the permission only if a condition expression + evaluates to `true`. + - >- + The user who created the Replay does not have access to all of the + policies that Policy Simulator needs to evaluate. + description: >- + Whether the principal in the access tuple has permission to access + the resource in the access tuple under the given policies. + policies: + type: array + description: >- + If the AccessState is `UNKNOWN`, this field contains the policies + that led to that result. If the `AccessState` is `GRANTED` or + `NOT_GRANTED`, this field is omitted. + items: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ExplainedPolicy' + description: >- + Details about how a set of policies, listed in ExplainedPolicy, resulted + in a certain AccessState when replaying an access tuple. + type: object + GoogleIamV1AuditConfig: + description: >- + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + type: object + id: GoogleIamV1AuditConfig + properties: + service: + description: >- + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + type: string + auditLogConfigs: + description: The configuration for logging of each type of permission. + items: + $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' + type: array GoogleCloudOrgpolicyV2Policy: + type: object description: >- Defines an organization policy which is used to specify constraints for configurations of Google Cloud resources. id: GoogleCloudOrgpolicyV2Policy properties: - etag: - type: string - description: >- - 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. - spec: - description: Basic information about the Organization Policy. - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' alternate: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2AlternatePolicySpec' description: Deprecated. + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2AlternatePolicySpec' deprecated: true name: - type: string description: >- Immutable. The resource name of the policy. Must be one of the following forms, where `constraint_name` is the name of the @@ -108,128 +181,47 @@ components: 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. - dryRunSpec: + type: string + spec: $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' + description: Basic information about the Organization Policy. + etag: + description: >- + 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. + type: string + dryRunSpec: description: >- Dry-run policy. Audit-only policy, can be used to monitor how the policy would have impacted the existing and future resources if it's enforced. - type: object - GoogleIamV1Policy: - id: GoogleIamV1Policy - type: object - description: >- - 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/). + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' + GoogleTypeDate: + id: GoogleTypeDate properties: - version: + year: type: integer + description: >- + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. format: int32 + month: + format: int32 + type: integer description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - etag: - format: byte - type: string - description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. - bindings: - items: - $ref: '#/components/schemas/GoogleIamV1Binding' - description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. - type: array - auditConfigs: - type: array - description: Specifies cloud audit logging configuration for this policy. - items: - $ref: '#/components/schemas/GoogleIamV1AuditConfig' - GoogleTypeDate: - type: object - properties: - month: - description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - format: int32 - type: integer - year: - format: int32 - description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - type: integer - day: + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + day: + format: int32 description: >- Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. - format: int32 type: integer + type: object description: >- Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are @@ -240,31 +232,58 @@ components: * 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 - id: GoogleTypeDate - GoogleCloudPolicysimulatorV1betaGenerateOrgPolicyViolationsPreviewOperationMetadata: + GoogleCloudOrgpolicyV2PolicySpecPolicyRule: + properties: + values: + description: >- + List of values to be used for this policy rule. This field can be + set only in policies for list constraints. + $ref: >- + #/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues + enforce: + description: >- + If `true`, then the policy is enforced. If `false`, then any + configuration is acceptable. This field can be set only in policies + for boolean constraints. + type: boolean + condition: + $ref: '#/components/schemas/GoogleTypeExpr' + description: >- + A condition which determines whether this rule is used in the + evaluation of the policy. When set, the `expression` field in the + `Expr' must include from 1 to 10 subexpressions, joined by the "||" + or "&&" operators. Each subexpression must be of the form + "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". + or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". + where key_name and value_name are the resource names for Label Keys + and Values. These names are available from the Tag Manager Service. + An example expression is: "resource.matchTag('123456789/environment, + 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')". + allowAll: + type: boolean + description: >- + Setting this to true means that all values are allowed. This field + can be set only in policies for list constraints. + denyAll: + description: >- + Setting this to true means that all values are denied. This field + can be set only in policies for list constraints. + type: boolean type: object + description: A rule used to express this policy. + id: GoogleCloudOrgpolicyV2PolicySpecPolicyRule + GoogleCloudPolicysimulatorV1betaCreateOrgPolicyViolationsPreviewOperationMetadata: + id: >- + GoogleCloudPolicysimulatorV1betaCreateOrgPolicyViolationsPreviewOperationMetadata description: >- - GenerateOrgPolicyViolationsPreviewOperationMetadata is metadata about an + CreateOrgPolicyViolationsPreviewOperationMetadata is metadata about an OrgPolicyViolationsPreview generations operation. properties: - startTime: - type: string - format: google-datetime - description: >- - Time when the request started processing, i.e. when the state was - set to RUNNING. - resourcesScanned: - description: Number of resources already scanned. + resourcesPending: format: int32 + description: Number of resources still to scan. type: integer state: - enum: - - PREVIEW_STATE_UNSPECIFIED - - PREVIEW_PENDING - - PREVIEW_RUNNING - - PREVIEW_SUCCEEDED - - PREVIEW_FAILED - description: The current state of the operation. enumDescriptions: - The state is unspecified. - The OrgPolicyViolationsPreview has not been created yet. @@ -272,771 +291,493 @@ components: - The OrgPolicyViolationsPreview creation finished successfully. - The OrgPolicyViolationsPreview creation failed with an error. type: string - requestTime: + description: Output only. The current state of the operation. + readOnly: true + enum: + - PREVIEW_STATE_UNSPECIFIED + - PREVIEW_PENDING + - PREVIEW_RUNNING + - PREVIEW_SUCCEEDED + - PREVIEW_FAILED + startTime: format: google-datetime + description: >- + Time when the request started processing, i.e., when the state was + set to RUNNING. type: string - description: Time when the request was received. + resourcesScanned: + type: integer + description: Number of resources already scanned. + format: int32 resourcesFound: + type: integer format: int32 description: >- Total number of resources that need scanning. Should equal resource_scanned + resources_pending - type: integer - resourcesPending: - description: Number of resources still to scan. - type: integer - format: int32 - id: >- - GoogleCloudPolicysimulatorV1betaGenerateOrgPolicyViolationsPreviewOperationMetadata - GoogleCloudPolicysimulatorV1Replay: - type: object - description: A resource describing a `Replay`, or simulation. - id: GoogleCloudPolicysimulatorV1Replay - properties: - name: - readOnly: true - type: string - description: >- - 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` - state: + requestTime: + format: google-datetime + description: Time when the request was received. type: string - description: Output only. The current state of the `Replay`. - enumDescriptions: - - Default value. This value is unused. - - The `Replay` has not started yet. - - The `Replay` is currently running. - - The `Replay` has successfully completed. - - The `Replay` has finished with an error. - readOnly: true - enum: - - STATE_UNSPECIFIED - - PENDING - - RUNNING - - SUCCEEDED - - FAILED - config: - description: Required. The configuration used for the `Replay`. - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ReplayConfig' - resultsSummary: - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1ReplayResultsSummary - description: Output only. Summary statistics about the replayed log entries. - GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlay: type: object - id: GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlay - description: A change to an OrgPolicy. + GoogleCloudOrgpolicyV2PolicySpec: properties: - policy: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' - description: Optional. The new or updated OrgPolicy. - policyParent: - type: string + rules: + items: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRule' + type: array description: >- - Optional. The parent of the policy we are attaching to. Example: - "projects/123456" - GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewResourceCounts: - id: >- - GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewResourceCounts - properties: - unenforced: + In policies for boolean constraints, the following requirements + apply: - There must be one and only one policy rule where condition + is unset. - Boolean policy rules with conditions must set `enforced` + to the opposite of the policy rule without a condition. - During + policy evaluation, policy rules with conditions that are true for a + target resource take precedence. + etag: + type: string description: >- - Output only. Number of resources where the constraint was not - enforced, i.e. the Policy set `enforced: false` for that resource. - readOnly: true - type: integer - format: int32 - errors: + An opaque tag indicating the current version of the policySpec, used + for concurrency control. This field is ignored if used in a + `CreatePolicy` request. When the policy is returned from either a + `GetPolicy` or a `ListPolicies` request, this `etag` indicates the + version of the current policySpec to use when executing a + read-modify-write loop. When the policy is returned from a + `GetEffectivePolicy` request, the `etag` will be unset. + inheritFromParent: description: >- - Output only. Number of resources that returned an error when - scanned. - format: int32 - type: integer - readOnly: true - noncompliant: - format: int32 - readOnly: true - type: integer + Determines the inheritance behavior for this policy. If + `inherit_from_parent` is true, policy rules set higher up in the + hierarchy (up to the closest root) are inherited and present in the + effective policy. If it is false, then no rules are inherited, and + this policy becomes the new root for evaluation. This field can be + set only for policies which configure list constraints. + type: boolean + reset: + type: boolean description: >- - Output only. Number of scanned resources with at least one - violation. - compliant: - description: Output only. Number of scanned resources with zero violations. - type: integer - format: int32 - readOnly: true - scanned: + Ignores policies set above this resource and restores the + `constraint_default` enforcement behavior of the specific constraint + at this resource. This field can be set in policies for either list + or boolean constraints. If set, `rules` must be empty and + `inherit_from_parent` must be set to false. + updateTime: + format: google-datetime readOnly: true - type: integer - format: int32 + type: string description: >- - Output only. Number of resources checked for compliance. Must equal: - unenforced + noncompliant + compliant + error - description: >- - A summary of the state of all resources scanned for compliance with the - changed OrgPolicy. + Output only. The time stamp this was previously updated. This + represents the last time a call to `CreatePolicy` or `UpdatePolicy` + was made for that policy. type: object - GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreview: description: >- - OrgPolicyViolationsPreview is a resource providing a preview of the - violations that will exist if an OrgPolicy change is made. The list of - violations are modeled as child resources and retrieved via a - ListOrgPolicyViolations API call. There are potentially more - OrgPolicyViolations than could fit in an embedded field. Thus, the use - of a child resource instead of a field. - id: GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreview - type: object + Defines a Google Cloud policy specification which is used to specify + constraints for configurations of Google Cloud resources. + id: GoogleCloudOrgpolicyV2PolicySpec + GoogleCloudPolicysimulatorV1ExplainedPolicy: properties: - createTime: - description: >- - Output only. Time when this `OrgPolicyViolationsPreview` was - created. - format: google-datetime + fullResourceName: type: string - readOnly: true - violationsCount: - readOnly: true description: >- - 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. - format: int32 - type: integer - name: - readOnly: true + The full resource name that identifies the resource. For example, + `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + If the user who created the Replay does not have access to the + policy, this field is omitted. For examples of full resource names + for Google Cloud services, see + https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + relevance: + enum: + - HEURISTIC_RELEVANCE_UNSPECIFIED + - NORMAL + - HIGH type: string + enumDescriptions: + - Default value. This value is unused. + - >- + The data point has a limited effect on the result. Changing the + data point is unlikely to affect the overall determination. + - >- + The data point has a strong effect on the result. Changing the + data point is likely to affect the overall determination. description: >- - 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` - customConstraints: - readOnly: true - description: >- - 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` - items: - type: string + The relevance of this policy to the overall determination in the + TroubleshootIamPolicyResponse. If the user who created the Replay + does not have access to the policy, this field is omitted. + bindingExplanations: type: array - resourceCounts: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewResourceCounts + items: + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1BindingExplanation description: >- - Output only. A summary of the state of all resources scanned for - compliance with the changed OrgPolicy. - readOnly: true - overlay: - description: Required. The proposed changes we are previewing violations for. - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyOverlay - state: - description: Output only. The state of the `OrgPolicyViolationsPreview`. - readOnly: true - type: string - enumDescriptions: - - The state is unspecified. - - The OrgPolicyViolationsPreview has not been created yet. - - The OrgPolicyViolationsPreview is currently being created. - - The OrgPolicyViolationsPreview creation finished successfully. - - The OrgPolicyViolationsPreview creation failed with an error. + Details about how each binding in the policy affects the principal's + ability, or inability, to use the permission for the resource. If + the user who created the Replay does not have access to the policy, + this field is omitted. + access: enum: - - PREVIEW_STATE_UNSPECIFIED - - PREVIEW_PENDING - - PREVIEW_RUNNING - - PREVIEW_SUCCEEDED - - PREVIEW_FAILED - GoogleIamV1AuditLogConfig: - properties: - logType: - enumDescriptions: - - Default case. Should never be this. - - 'Admin reads. Example: CloudIAM getIamPolicy' - - 'Data writes. Example: CloudSQL Users create' - - 'Data reads. Example: CloudSQL Users list' + - ACCESS_STATE_UNSPECIFIED + - GRANTED + - NOT_GRANTED + - UNKNOWN_CONDITIONAL + - UNKNOWN_INFO_DENIED type: string - description: The log type that this config enables. - enum: - - LOG_TYPE_UNSPECIFIED - - ADMIN_READ - - DATA_WRITE - - DATA_READ - exemptedMembers: - type: array + enumDescriptions: + - Default value. This value is unused. + - The principal has the permission. + - The principal does not have the permission. + - >- + The principal has the permission only if a condition expression + evaluates to `true`. + - >- + The user who created the Replay does not have access to all of the + policies that Policy Simulator needs to evaluate. description: >- - Specifies the identities that do not cause logging for this type of - permission. Follows the same format of Binding.members. - items: - type: string - description: >- - Provides the configuration for logging a type of permissions. Example: { - "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ - "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This - enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - jose@example.com from DATA_READ logging. + Indicates whether _this policy_ provides the specified permission to + the specified principal for the specified resource. This field does + _not_ indicate whether the principal actually has the permission for + the resource. There might be another policy that overrides this + policy. To determine whether the principal actually has the + permission, use the `access` field in the + TroubleshootIamPolicyResponse. + policy: + $ref: '#/components/schemas/GoogleIamV1Policy' + description: >- + The IAM policy attached to the resource. If the user who created the + Replay does not have access to the policy, this field is empty. + description: Details about how a specific IAM Policy contributed to the access check. + id: GoogleCloudPolicysimulatorV1ExplainedPolicy type: object - id: GoogleIamV1AuditLogConfig - GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreview: + GoogleCloudPolicysimulatorV1betaGenerateOrgPolicyViolationsPreviewOperationMetadata: + type: object + id: >- + GoogleCloudPolicysimulatorV1betaGenerateOrgPolicyViolationsPreviewOperationMetadata + description: >- + GenerateOrgPolicyViolationsPreviewOperationMetadata is metadata about an + OrgPolicyViolationsPreview generations operation. properties: - customConstraints: - items: - type: string - type: array - readOnly: true - description: >- - 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` state: - type: string - readOnly: true - description: Output only. The state of the `OrgPolicyViolationsPreview`. enum: - PREVIEW_STATE_UNSPECIFIED - PREVIEW_PENDING - PREVIEW_RUNNING - PREVIEW_SUCCEEDED - PREVIEW_FAILED + description: The current state of the operation. + type: string enumDescriptions: - The state is unspecified. - The OrgPolicyViolationsPreview has not been created yet. - The OrgPolicyViolationsPreview is currently being created. - The OrgPolicyViolationsPreview creation finished successfully. - The OrgPolicyViolationsPreview creation failed with an error. - resourceCounts: - readOnly: true - description: >- - Output only. A summary of the state of all resources scanned for - compliance with the changed OrgPolicy. - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewResourceCounts - name: - readOnly: true + startTime: type: string description: >- - 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` - createTime: - readOnly: true + Time when the request started processing, i.e. when the state was + set to RUNNING. format: google-datetime - type: string - description: >- - Output only. Time when this `OrgPolicyViolationsPreview` was - created. - overlay: - description: Required. The proposed changes we are previewing violations for. - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay - violationsCount: - readOnly: true + resourcesScanned: + description: Number of resources already scanned. type: integer format: int32 - description: >- - 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. - type: object - description: >- - OrgPolicyViolationsPreview is a resource providing a preview of the - violations that will exist if an OrgPolicy change is made. The list of - violations are modeled as child resources and retrieved via a - ListOrgPolicyViolations API call. There are potentially more - OrgPolicyViolations than could fit in an embedded field. Thus, the use - of a child resource instead of a field. - id: GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreview - GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlay: - type: object - description: A change to an OrgPolicy custom constraint. - properties: - customConstraint: - description: Optional. The new or updated custom constraint. - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' - customConstraintParent: - type: string - description: >- - Optional. Resource the constraint is attached to. Example: - "organization/987654" - id: GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlay - GoogleCloudPolicysimulatorV1alphaGenerateOrgPolicyViolationsPreviewOperationMetadata: - properties: resourcesPending: + format: int32 description: Number of resources still to scan. type: integer - format: int32 resourcesFound: - format: int32 - type: integer description: >- Total number of resources that need scanning. Should equal resource_scanned + resources_pending - startTime: - format: google-datetime - description: >- - Time when the request started processing, i.e. when the state was - set to RUNNING. - type: string - state: - type: string - description: The current state of the operation. - enumDescriptions: - - The state is unspecified. - - The OrgPolicyViolationsPreview has not been created yet. - - The OrgPolicyViolationsPreview is currently being created. - - The OrgPolicyViolationsPreview creation finished successfully. - - The OrgPolicyViolationsPreview creation failed with an error. - enum: - - PREVIEW_STATE_UNSPECIFIED - - PREVIEW_PENDING - - PREVIEW_RUNNING - - PREVIEW_SUCCEEDED - - PREVIEW_FAILED - resourcesScanned: - description: Number of resources already scanned. type: integer format: int32 requestTime: - format: google-datetime type: string + format: google-datetime description: Time when the request was received. - id: >- - GoogleCloudPolicysimulatorV1alphaGenerateOrgPolicyViolationsPreviewOperationMetadata + GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay: + id: GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay + description: The proposed changes to OrgPolicy. type: object - description: >- - GenerateOrgPolicyViolationsPreviewOperationMetadata is metadata about an - OrgPolicyViolationsPreview generations operation. - GoogleCloudPolicysimulatorV1ExplainedPolicy: - id: GoogleCloudPolicysimulatorV1ExplainedPolicy - description: Details about how a specific IAM Policy contributed to the access check. properties: - fullResourceName: - description: >- - The full resource name that identifies the resource. For example, - `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. - If the user who created the Replay does not have access to the - policy, this field is omitted. For examples of full resource names - for Google Cloud services, see - https://cloud.google.com/iam/help/troubleshooter/full-resource-names. - type: string - access: - enumDescriptions: - - Default value. This value is unused. - - The principal has the permission. - - The principal does not have the permission. - - >- - The principal has the permission only if a condition expression - evaluates to `true`. - - >- - The user who created the Replay does not have access to all of the - policies that Policy Simulator needs to evaluate. - description: >- - Indicates whether _this policy_ provides the specified permission to - the specified principal for the specified resource. This field does - _not_ indicate whether the principal actually has the permission for - the resource. There might be another policy that overrides this - policy. To determine whether the principal actually has the - permission, use the `access` field in the - TroubleshootIamPolicyResponse. - enum: - - ACCESS_STATE_UNSPECIFIED - - GRANTED - - NOT_GRANTED - - UNKNOWN_CONDITIONAL - - UNKNOWN_INFO_DENIED - type: string - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' - description: >- - The IAM policy attached to the resource. If the user who created the - Replay does not have access to the policy, this field is empty. - bindingExplanations: + customConstraints: type: array + items: + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlay description: >- - Details about how each binding in the policy affects the principal's - ability, or inability, to use the permission for the resource. If - the user who created the Replay does not have access to the policy, - this field is omitted. + Optional. The OrgPolicy CustomConstraint changes to preview + violations for. Any existing CustomConstraints with the same name + will be overridden in the simulation. That is, violations will be + determined as if all custom constraints in the overlay were + instantiated. Only a single custom_constraint is supported in the + overlay at a time. For evaluating multiple constraints, multiple + `GenerateOrgPolicyViolationsPreview` requests are made, where each + request evaluates a single constraint. + policies: items: $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1BindingExplanation - relevance: + #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlay description: >- - The relevance of this policy to the overall determination in the - TroubleshootIamPolicyResponse. If the user who created the Replay - does not have access to the policy, this field is omitted. + Optional. The OrgPolicy changes to preview violations for. Any + existing OrgPolicies with the same name will be overridden in the + simulation. That is, violations will be determined as if all + policies in the overlay were created or updated. + type: array + GoogleCloudPolicysimulatorV1ListReplayResultsResponse: + id: GoogleCloudPolicysimulatorV1ListReplayResultsResponse + properties: + replayResults: + description: The results of running a Replay. + type: array + items: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ReplayResult' + nextPageToken: + type: string + description: >- + A token that you can use to retrieve the next page of ReplayResult + objects. If this field is omitted, there are no subsequent pages. + description: Response message for Simulator.ListReplayResults. + type: object + GoogleCloudPolicysimulatorV1ReplayConfig: + properties: + logSource: enumDescriptions: - - Default value. This value is unused. - >- - The data point has a limited effect on the result. Changing the - data point is unlikely to affect the overall determination. + An unspecified log source. If the log source is unspecified, the + Replay defaults to using `RECENT_ACCESSES`. - >- - The data point has a strong effect on the result. Changing the - data point is likely to affect the overall determination. + All access logs from the last 90 days. These logs may not include + logs from the most recent 7 days. type: string + description: The logs to use as input for the Replay. enum: - - HEURISTIC_RELEVANCE_UNSPECIFIED - - NORMAL - - HIGH - type: object - GoogleCloudOrgpolicyV2CustomConstraint: + - LOG_SOURCE_UNSPECIFIED + - RECENT_ACCESSES + policyOverlay: + type: object + description: >- + A mapping of the resources that you want to simulate policies for + and the policies that you want to simulate. Keys are the full + resource names for the resources. For example, + `//cloudresourcemanager.googleapis.com/projects/my-project`. For + examples of full resource names for Google Cloud services, see + https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + Values are Policy objects representing the policies that you want to + simulate. Replays automatically take into account any IAM policies + inherited through the resource hierarchy, and any policies set on + descendant resources. You do not need to include these policies in + the policy overlay. + additionalProperties: + $ref: '#/components/schemas/GoogleIamV1Policy' type: object + description: The configuration used for a Replay. + id: GoogleCloudPolicysimulatorV1ReplayConfig + GoogleIamV1AuditLogConfig: + id: GoogleIamV1AuditLogConfig description: >- - 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*. - id: GoogleCloudOrgpolicyV2CustomConstraint + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. properties: - name: - type: string - description: >- - 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. - description: - type: string - description: >- - Detailed information about this custom policy constraint. The max - length of the description is 2000 characters. - actionType: - type: string + logType: enum: - - ACTION_TYPE_UNSPECIFIED - - ALLOW - - DENY + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ enumDescriptions: - - Unspecified. Results in an error. - - Allowed action type. - - Deny action type. - description: Allow or deny type. - methodTypes: - type: array - description: All the operations being applied for this constraint. - items: - enum: - - METHOD_TYPE_UNSPECIFIED - - CREATE - - UPDATE - - DELETE - - REMOVE_GRANT - - GOVERN_TAGS - enumDescriptions: - - Unspecified. Results in an error. - - Constraint applied when creating the resource. - - Constraint applied when updating the resource. - - >- - Constraint applied when deleting the resource. Not supported - yet. - - Constraint applied when removing an IAM grant. - - Constraint applied when enforcing forced tagging. - type: string - updateTime: - type: string - readOnly: true - format: google-datetime - description: >- - Output only. The last time this custom constraint was updated. This - represents the last time that the `CreateCustomConstraint` or - `UpdateCustomConstraint` RPC was called - condition: + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' type: string - description: >- - 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. - resourceTypes: + description: The log type that this config enables. + exemptedMembers: type: array description: >- - Immutable. The resource instance type on which this policy applies. - Format will be of the form : `/` Example: * - `compute.googleapis.com/Instance`. + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. items: type: string - displayName: - type: string - description: >- - One line display name for the UI. The max length of the display_name - is 200 characters. - GoogleCloudOrgpolicyV2PolicySpecPolicyRule: - id: GoogleCloudOrgpolicyV2PolicySpecPolicyRule - properties: - condition: - $ref: '#/components/schemas/GoogleTypeExpr' - description: >- - A condition which determines whether this rule is used in the - evaluation of the policy. When set, the `expression` field in the - `Expr' must include from 1 to 10 subexpressions, joined by the "||" - or "&&" operators. Each subexpression must be of the form - "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". - or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". - where key_name and value_name are the resource names for Label Keys - and Values. These names are available from the Tag Manager Service. - An example expression is: "resource.matchTag('123456789/environment, - 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')". - denyAll: - description: >- - Setting this to true means that all values are denied. This field - can be set only in policies for list constraints. - type: boolean - enforce: - type: boolean - description: >- - If `true`, then the policy is enforced. If `false`, then any - configuration is acceptable. This field can be set only in policies - for boolean constraints. - allowAll: - type: boolean - description: >- - Setting this to true means that all values are allowed. This field - can be set only in policies for list constraints. - values: - $ref: >- - #/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues - description: >- - List of values to be used for this policy rule. This field can be - set only in policies for list constraints. - type: object - description: A rule used to express this policy. - GoogleLongrunningListOperationsResponse: - description: The response message for Operations.ListOperations. type: object + GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreview: + description: >- + OrgPolicyViolationsPreview is a resource providing a preview of the + violations that will exist if an OrgPolicy change is made. The list of + violations are modeled as child resources and retrieved via a + ListOrgPolicyViolations API call. There are potentially more + OrgPolicyViolations than could fit in an embedded field. Thus, the use + of a child resource instead of a field. + id: GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreview properties: - operations: + resourceCounts: description: >- - A list of operations that matches the specified filter in the - request. - items: - $ref: '#/components/schemas/GoogleLongrunningOperation' - type: array - nextPageToken: - description: The standard List next-page token. + Output only. A summary of the state of all resources scanned for + compliance with the changed OrgPolicy. + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewResourceCounts + readOnly: true + state: + enumDescriptions: + - The state is unspecified. + - The OrgPolicyViolationsPreview has not been created yet. + - The OrgPolicyViolationsPreview is currently being created. + - The OrgPolicyViolationsPreview creation finished successfully. + - The OrgPolicyViolationsPreview creation failed with an error. + description: Output only. The state of the `OrgPolicyViolationsPreview`. type: string - id: GoogleLongrunningListOperationsResponse - GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewResourceCounts: - properties: - errors: - format: int32 - type: integer - description: >- - Output only. Number of resources that returned an error when - scanned. + enum: + - PREVIEW_STATE_UNSPECIFIED + - PREVIEW_PENDING + - PREVIEW_RUNNING + - PREVIEW_SUCCEEDED + - PREVIEW_FAILED readOnly: true - unenforced: + name: readOnly: true - format: int32 - type: integer description: >- - Output only. Number of resources where the constraint was not - enforced, i.e. the Policy set `enforced: false` for that resource. - scanned: + 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` + type: string + overlay: + description: Required. The proposed changes we are previewing violations for. + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyOverlay + createTime: + type: string description: >- - Output only. Number of resources checked for compliance. Must equal: - unenforced + noncompliant + compliant + error + Output only. Time when this `OrgPolicyViolationsPreview` was + created. readOnly: true + format: google-datetime + customConstraints: + description: >- + 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` + readOnly: true + type: array + items: + type: string + violationsCount: type: integer - format: int32 - compliant: - description: Output only. Number of scanned resources with zero violations. - type: integer + description: >- + 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. format: int32 readOnly: true - noncompliant: + type: object + GoogleCloudPolicysimulatorV1alphaCreateOrgPolicyViolationsPreviewOperationMetadata: + description: >- + CreateOrgPolicyViolationsPreviewOperationMetadata is metadata about an + OrgPolicyViolationsPreview generations operation. + id: >- + GoogleCloudPolicysimulatorV1alphaCreateOrgPolicyViolationsPreviewOperationMetadata + properties: + resourcesFound: description: >- - Output only. Number of scanned resources with at least one - violation. + Total number of resources that need scanning. Should equal + resource_scanned + resources_pending + type: integer + format: int32 + state: + description: Output only. The current state of the operation. + enum: + - PREVIEW_STATE_UNSPECIFIED + - PREVIEW_PENDING + - PREVIEW_RUNNING + - PREVIEW_SUCCEEDED + - PREVIEW_FAILED + type: string readOnly: true + enumDescriptions: + - The state is unspecified. + - The OrgPolicyViolationsPreview has not been created yet. + - The OrgPolicyViolationsPreview is currently being created. + - The OrgPolicyViolationsPreview creation finished successfully. + - The OrgPolicyViolationsPreview creation failed with an error. + resourcesPending: format: int32 type: integer - id: GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewResourceCounts + description: Number of resources still to scan. + startTime: + type: string + format: google-datetime + description: >- + Time when the request started processing, i.e., when the state was + set to RUNNING. + resourcesScanned: + description: Number of resources already scanned. + type: integer + format: int32 + requestTime: + description: Time when the request was received. + format: google-datetime + type: string type: object - description: >- - A summary of the state of all resources scanned for compliance with the - changed OrgPolicy. - GoogleCloudPolicysimulatorV1ExplainedAccess: + GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlay: + properties: + customConstraint: + description: Optional. The new or updated custom constraint. + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + customConstraintParent: + type: string + description: >- + Optional. Resource the constraint is attached to. Example: + "organization/987654" type: object - id: GoogleCloudPolicysimulatorV1ExplainedAccess + id: GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlay + description: A change to an OrgPolicy custom constraint. + GoogleLongrunningListOperationsResponse: + description: The response message for Operations.ListOperations. properties: - errors: + nextPageToken: + type: string + description: The standard List next-page token. + operations: + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' type: array description: >- - If the AccessState is `UNKNOWN`, this field contains a list of - errors explaining why the result is `UNKNOWN`. If the `AccessState` - is `GRANTED` or `NOT_GRANTED`, this field is omitted. - items: - $ref: '#/components/schemas/GoogleRpcStatus' - policies: - items: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ExplainedPolicy' + A list of operations that matches the specified filter in the + request. + type: object + id: GoogleLongrunningListOperationsResponse + GoogleCloudOrgpolicyV2AlternatePolicySpec: + properties: + spec: + description: Specify constraint for configurations of Google Cloud resources. + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' + launch: + type: string description: >- - If the AccessState is `UNKNOWN`, this field contains the policies - that led to that result. If the `AccessState` is `GRANTED` or - `NOT_GRANTED`, this field is omitted. - type: array - accessState: - enumDescriptions: - - Default value. This value is unused. - - The principal has the permission. - - The principal does not have the permission. - - >- - The principal has the permission only if a condition expression - evaluates to `true`. - - >- - The user who created the Replay does not have access to all of the - policies that Policy Simulator needs to evaluate. - description: >- - Whether the principal in the access tuple has permission to access - the resource in the access tuple under the given policies. - type: string - enum: - - ACCESS_STATE_UNSPECIFIED - - GRANTED - - NOT_GRANTED - - UNKNOWN_CONDITIONAL - - UNKNOWN_INFO_DENIED - description: >- - Details about how a set of policies, listed in ExplainedPolicy, resulted - in a certain AccessState when replaying an access tuple. - GoogleRpcStatus: - properties: - code: - type: integer - format: int32 - description: The status code, which should be an enum value of google.rpc.Code. - message: - type: string - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - details: - type: array - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - id: GoogleRpcStatus - description: >- - 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). - type: object - GoogleCloudPolicysimulatorV1AccessTuple: - id: GoogleCloudPolicysimulatorV1AccessTuple - type: object - description: Information about the principal, resource, and permission to check. - properties: - permission: - description: >- - Required. The IAM permission to check for the specified principal - and resource. For a complete list of IAM permissions, see - https://cloud.google.com/iam/help/permissions/reference. For a - complete list of predefined IAM roles and the permissions in each - role, see https://cloud.google.com/iam/help/roles/reference. - type: string - principal: - description: >- - Required. The principal whose access you want to check, in the form - of the email address that represents that principal. For example, - `alice@example.com` or - `my-service-account@my-project.iam.gserviceaccount.com`. The - principal must be a Google Account or a service account. Other types - of principals are not supported. - type: string - fullResourceName: - description: >- - Required. The full resource name that identifies the resource. For - example, - `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. - For examples of full resource names for Google Cloud services, see - https://cloud.google.com/iam/help/troubleshooter/full-resource-names. - type: string - GoogleCloudPolicysimulatorV1ReplayConfig: - description: The configuration used for a Replay. - type: object - id: GoogleCloudPolicysimulatorV1ReplayConfig - properties: - policyOverlay: - description: >- - A mapping of the resources that you want to simulate policies for - and the policies that you want to simulate. Keys are the full - resource names for the resources. For example, - `//cloudresourcemanager.googleapis.com/projects/my-project`. For - examples of full resource names for Google Cloud services, see - https://cloud.google.com/iam/help/troubleshooter/full-resource-names. - Values are Policy objects representing the policies that you want to - simulate. Replays automatically take into account any IAM policies - inherited through the resource hierarchy, and any policies set on - descendant resources. You do not need to include these policies in - the policy overlay. - additionalProperties: - $ref: '#/components/schemas/GoogleIamV1Policy' - type: object - logSource: - enum: - - LOG_SOURCE_UNSPECIFIED - - RECENT_ACCESSES - description: The logs to use as input for the Replay. - enumDescriptions: - - >- - An unspecified log source. If the log source is unspecified, the - Replay defaults to using `RECENT_ACCESSES`. - - >- - All access logs from the last 90 days. These logs may not include - logs from the most recent 7 days. - type: string - GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership: - properties: - membership: - enum: - - MEMBERSHIP_UNSPECIFIED - - MEMBERSHIP_INCLUDED - - MEMBERSHIP_NOT_INCLUDED - - MEMBERSHIP_UNKNOWN_INFO_DENIED - - MEMBERSHIP_UNKNOWN_UNSUPPORTED - description: Indicates whether the binding includes the principal. + Reference to the launch that will be used while audit logging and to + control the launch. Should be set only in the alternate policy. + id: GoogleCloudOrgpolicyV2AlternatePolicySpec + type: object + description: >- + Similar to PolicySpec but with an extra 'launch' field for launch + reference. The PolicySpec here is specific for dry-run/darklaunch. + GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership: + description: Details about whether the binding includes the principal. + type: object + properties: + membership: enumDescriptions: - Default value. This value is unused. - >- @@ -1052,11 +793,19 @@ components: - >- The principal is an unsupported type. Only Google Accounts and service accounts are supported. + description: Indicates whether the binding includes the principal. type: string + enum: + - MEMBERSHIP_UNSPECIFIED + - MEMBERSHIP_INCLUDED + - MEMBERSHIP_NOT_INCLUDED + - MEMBERSHIP_UNKNOWN_INFO_DENIED + - MEMBERSHIP_UNKNOWN_UNSUPPORTED relevance: - description: >- - The relevance of the principal's status to the overall determination - for the binding. + enum: + - HEURISTIC_RELEVANCE_UNSPECIFIED + - NORMAL + - HIGH enumDescriptions: - Default value. This value is unused. - >- @@ -1065,465 +814,239 @@ components: - >- The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination. + description: >- + The relevance of the principal's status to the overall determination + for the binding. type: string - enum: - - HEURISTIC_RELEVANCE_UNSPECIFIED - - NORMAL - - HIGH id: GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership + GoogleLongrunningOperation: type: object - description: Details about whether the binding includes the principal. - GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay: + description: >- + This resource represents a long-running operation that is the result of + a network API call. properties: - customConstraints: - items: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlay + done: description: >- - Optional. The OrgPolicy CustomConstraint changes to preview - violations for. Any existing CustomConstraints with the same name - will be overridden in the simulation. That is, violations will be - determined as if all custom constraints in the overlay were - instantiated. Only a single custom_constraint is supported in the - overlay at a time. For evaluating multiple constraints, multiple - `GenerateOrgPolicyViolationsPreview` requests are made, where each - request evaluates a single constraint. - type: array - policies: + 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. + type: boolean + error: description: >- - Optional. The OrgPolicy changes to preview violations for. Any - existing OrgPolicies with the same name will be overridden in the - simulation. That is, violations will be determined as if all - policies in the overlay were created or updated. - items: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlay - type: array - description: The proposed changes to OrgPolicy. - id: GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay - type: object - GoogleCloudOrgpolicyV2AlternatePolicySpec: - properties: - spec: - description: Specify constraint for configurations of Google Cloud resources. - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpec' - launch: + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/GoogleRpcStatus' + metadata: description: >- - Reference to the launch that will be used while audit logging and to - control the launch. Should be set only in the alternate policy. + 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. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object + name: + description: >- + 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}`. type: string - id: GoogleCloudOrgpolicyV2AlternatePolicySpec + response: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + 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`. + type: object + id: GoogleLongrunningOperation + GoogleCloudPolicysimulatorV1ReplayResult: type: object - description: >- - Similar to PolicySpec but with an extra 'launch' field for launch - reference. The PolicySpec here is specific for dry-run/darklaunch. - GoogleCloudPolicysimulatorV1alphaCreateOrgPolicyViolationsPreviewOperationMetadata: - id: >- - GoogleCloudPolicysimulatorV1alphaCreateOrgPolicyViolationsPreviewOperationMetadata properties: - requestTime: - format: google-datetime - description: Time when the request was received. + parent: + description: The Replay that the access tuple was included in. type: string - resourcesFound: - format: int32 + diff: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ReplayDiff' description: >- - Total number of resources that need scanning. Should equal - resource_scanned + resources_pending - type: integer - state: - enumDescriptions: - - The state is unspecified. - - The OrgPolicyViolationsPreview has not been created yet. - - The OrgPolicyViolationsPreview is currently being created. - - The OrgPolicyViolationsPreview creation finished successfully. - - The OrgPolicyViolationsPreview creation failed with an error. - enum: - - PREVIEW_STATE_UNSPECIFIED - - PREVIEW_PENDING - - PREVIEW_RUNNING - - PREVIEW_SUCCEEDED - - PREVIEW_FAILED + The difference between the principal's access under the current + (baseline) policies and the principal's access under the proposed + (simulated) policies. This field is only included for access tuples + that were successfully replayed and had different results under the + current policies and the proposed policies. + accessTuple: + description: >- + The access tuple that was replayed. This field includes information + about the principal, resource, and permission that were involved in + the access attempt. + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1AccessTuple' + error: + $ref: '#/components/schemas/GoogleRpcStatus' + description: >- + The error that caused the access tuple replay to fail. This field is + only included for access tuples that were not replayed successfully. + name: type: string - description: Output only. The current state of the operation. - readOnly: true - resourcesScanned: - description: Number of resources already scanned. - format: int32 - type: integer - startTime: description: >- - Time when the request started processing, i.e., when the state was - set to RUNNING. - format: google-datetime + 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` + lastSeenDate: + description: The latest date this access tuple was seen in the logs. + $ref: '#/components/schemas/GoogleTypeDate' + description: The result of replaying a single access tuple against a simulated state. + id: GoogleCloudPolicysimulatorV1ReplayResult + GoogleRpcStatus: + type: object + id: GoogleRpcStatus + properties: + message: type: string - resourcesPending: - description: Number of resources still to scan. + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + code: type: integer format: int32 + description: The status code, which should be an enum value of google.rpc.Code. + details: + items: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array description: >- - CreateOrgPolicyViolationsPreviewOperationMetadata is metadata about an - OrgPolicyViolationsPreview generations operation. - type: object - GoogleCloudOrgpolicyV2PolicySpec: - id: GoogleCloudOrgpolicyV2PolicySpec + 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). + GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlay: + description: A change to an OrgPolicy. + id: GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlay properties: - etag: + policy: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + description: Optional. The new or updated OrgPolicy. + policyParent: description: >- - An opaque tag indicating the current version of the policySpec, used - for concurrency control. This field is ignored if used in a - `CreatePolicy` request. When the policy is returned from either a - `GetPolicy` or a `ListPolicies` request, this `etag` indicates the - version of the current policySpec to use when executing a - read-modify-write loop. When the policy is returned from a - `GetEffectivePolicy` request, the `etag` will be unset. + Optional. The parent of the policy we are attaching to. Example: + "projects/123456" type: string - inheritFromParent: - type: boolean - description: >- - Determines the inheritance behavior for this policy. If - `inherit_from_parent` is true, policy rules set higher up in the - hierarchy (up to the closest root) are inherited and present in the - effective policy. If it is false, then no rules are inherited, and - this policy becomes the new root for evaluation. This field can be - set only for policies which configure list constraints. - updateTime: + type: object + GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewResourceCounts: + properties: + noncompliant: description: >- - Output only. The time stamp this was previously updated. This - represents the last time a call to `CreatePolicy` or `UpdatePolicy` - was made for that policy. + Output only. Number of scanned resources with at least one + violation. + type: integer + format: int32 readOnly: true - format: google-datetime - type: string - rules: - items: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2PolicySpecPolicyRule' + unenforced: + format: int32 + readOnly: true + type: integer description: >- - In policies for boolean constraints, the following requirements - apply: - There must be one and only one policy rule where condition - is unset. - Boolean policy rules with conditions must set `enforced` - to the opposite of the policy rule without a condition. - During - policy evaluation, policy rules with conditions that are true for a - target resource take precedence. - type: array - reset: - type: boolean + Output only. Number of resources where the constraint was not + enforced, i.e. the Policy set `enforced: false` for that resource. + scanned: + format: int32 + type: integer description: >- - Ignores policies set above this resource and restores the - `constraint_default` enforcement behavior of the specific constraint - at this resource. This field can be set in policies for either list - or boolean constraints. If set, `rules` must be empty and - `inherit_from_parent` must be set to false. - description: >- - Defines a Google Cloud policy specification which is used to specify - constraints for configurations of Google Cloud resources. - type: object - GoogleCloudPolicysimulatorV1ReplayDiff: - id: GoogleCloudPolicysimulatorV1ReplayDiff - type: object - properties: - accessDiff: + Output only. Number of resources checked for compliance. Must equal: + unenforced + noncompliant + compliant + error + readOnly: true + compliant: + readOnly: true + format: int32 + description: Output only. Number of scanned resources with zero violations. + type: integer + errors: + type: integer + readOnly: true description: >- - A summary and comparison of the principal's access under the current - (baseline) policies and the proposed (simulated) policies for a - single access tuple. The evaluation of the principal's access is - reported in the AccessState field. - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1AccessStateDiff' + Output only. Number of resources that returned an error when + scanned. + format: int32 + id: GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewResourceCounts + type: object description: >- - 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. - GoogleCloudPolicysimulatorV1betaOrgPolicyOverlay: - description: The proposed changes to OrgPolicy. + A summary of the state of all resources scanned for compliance with the + changed OrgPolicy. + GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewResourceCounts: + description: >- + A summary of the state of all resources scanned for compliance with the + changed OrgPolicy. + id: >- + GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewResourceCounts type: object - id: GoogleCloudPolicysimulatorV1betaOrgPolicyOverlay properties: - customConstraints: + errors: description: >- - Optional. The OrgPolicy CustomConstraint changes to preview - violations for. Any existing CustomConstraints with the same name - will be overridden in the simulation. That is, violations will be - determined as if all custom constraints in the overlay were - instantiated. Only a single custom_constraint is supported in the - overlay at a time. For evaluating multiple constraints, multiple - `GenerateOrgPolicyViolationsPreview` requests are made, where each - request evaluates a single constraint. - items: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlay - type: array - policies: - type: array + Output only. Number of resources that returned an error when + scanned. + type: integer + readOnly: true + format: int32 + scanned: + type: integer + readOnly: true description: >- - Optional. The OrgPolicy changes to preview violations for. Any - existing OrgPolicies with the same name will be overridden in the - simulation. That is, violations will be determined as if all - policies in the overlay were created or updated. - items: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlay - GoogleCloudPolicysimulatorV1ListReplayResultsResponse: - description: Response message for Simulator.ListReplayResults. - id: GoogleCloudPolicysimulatorV1ListReplayResultsResponse - type: object + Output only. Number of resources checked for compliance. Must equal: + unenforced + noncompliant + compliant + error + format: int32 + compliant: + description: Output only. Number of scanned resources with zero violations. + format: int32 + readOnly: true + type: integer + unenforced: + description: >- + Output only. Number of resources where the constraint was not + enforced, i.e. the Policy set `enforced: false` for that resource. + readOnly: true + format: int32 + type: integer + noncompliant: + type: integer + format: int32 + description: >- + Output only. Number of scanned resources with at least one + violation. + readOnly: true + GoogleIamV1Binding: + description: Associates `members`, or principals, with a `role`. + id: GoogleIamV1Binding properties: - nextPageToken: + role: type: string description: >- - A token that you can use to retrieve the next page of ReplayResult - objects. If this field is omitted, there are no subsequent pages. - replayResults: - description: The results of running a Replay. - type: array - items: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ReplayResult' - GoogleLongrunningOperation: - type: object - description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: GoogleLongrunningOperation - properties: - response: - description: >- - 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`. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - name: - description: >- - 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}`. - type: string - done: - type: boolean - description: >- - 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. - error: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - The error result of the operation in case of failure or - cancellation. - metadata: - description: >- - 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. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - GoogleCloudPolicysimulatorV1betaCreateOrgPolicyViolationsPreviewOperationMetadata: - properties: - resourcesPending: - type: integer - format: int32 - description: Number of resources still to scan. - requestTime: - description: Time when the request was received. - type: string - format: google-datetime - resourcesScanned: - type: integer - description: Number of resources already scanned. - format: int32 - resourcesFound: - description: >- - Total number of resources that need scanning. Should equal - resource_scanned + resources_pending - type: integer - format: int32 - startTime: - description: >- - Time when the request started processing, i.e., when the state was - set to RUNNING. - type: string - format: google-datetime - state: - enum: - - PREVIEW_STATE_UNSPECIFIED - - PREVIEW_PENDING - - PREVIEW_RUNNING - - PREVIEW_SUCCEEDED - - PREVIEW_FAILED - enumDescriptions: - - The state is unspecified. - - The OrgPolicyViolationsPreview has not been created yet. - - The OrgPolicyViolationsPreview is currently being created. - - The OrgPolicyViolationsPreview creation finished successfully. - - The OrgPolicyViolationsPreview creation failed with an error. - readOnly: true - description: Output only. The current state of the operation. - type: string - id: >- - GoogleCloudPolicysimulatorV1betaCreateOrgPolicyViolationsPreviewOperationMetadata - description: >- - CreateOrgPolicyViolationsPreviewOperationMetadata is metadata about an - OrgPolicyViolationsPreview generations operation. - type: object - GoogleCloudPolicysimulatorV1AccessStateDiff: - type: object - id: GoogleCloudPolicysimulatorV1AccessStateDiff - description: >- - A summary and comparison of the principal's access under the current - (baseline) policies and the proposed (simulated) policies for a single - access tuple. - properties: - accessChange: - description: >- - How the principal's access, specified in the AccessState field, - changed between the current (baseline) policies and proposed - (simulated) policies. - enum: - - ACCESS_CHANGE_TYPE_UNSPECIFIED - - NO_CHANGE - - UNKNOWN_CHANGE - - ACCESS_REVOKED - - ACCESS_GAINED - - ACCESS_MAYBE_REVOKED - - ACCESS_MAYBE_GAINED - enumDescriptions: - - Default value. This value is unused. - - >- - The principal's access did not change. This includes the case - where both baseline and simulated are UNKNOWN, but the unknown - information is equivalent. - - >- - The principal's access under both the current policies and the - proposed policies is `UNKNOWN`, but the unknown information - differs between them. - - >- - The principal had access under the current policies (`GRANTED`), - but will no longer have access after the proposed changes - (`NOT_GRANTED`). - - >- - The principal did not have access under the current policies - (`NOT_GRANTED`), but will have access after the proposed changes - (`GRANTED`). - - >- - This result can occur for the following reasons: * The principal - had access under the current policies (`GRANTED`), but their - access after the proposed changes is `UNKNOWN`. * The principal's - access under the current policies is `UNKNOWN`, but they will not - have access after the proposed changes (`NOT_GRANTED`). - - >- - This result can occur for the following reasons: * The principal - did not have access under the current policies (`NOT_GRANTED`), - but their access after the proposed changes is `UNKNOWN`. * The - principal's access under the current policies is `UNKNOWN`, but - they will have access after the proposed changes (`GRANTED`). - type: string - simulated: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ExplainedAccess' - description: >- - The results of evaluating the access tuple under the proposed - (simulated) policies. If the AccessState couldn't be fully - evaluated, this field explains why. - baseline: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ExplainedAccess' - description: >- - The results of evaluating the access tuple under the current - (baseline) policies. If the AccessState couldn't be fully evaluated, - this field explains why. - GoogleCloudPolicysimulatorV1ReplayResult: - type: object - description: The result of replaying a single access tuple against a simulated state. - id: GoogleCloudPolicysimulatorV1ReplayResult - properties: - diff: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ReplayDiff' - description: >- - The difference between the principal's access under the current - (baseline) policies and the principal's access under the proposed - (simulated) policies. This field is only included for access tuples - that were successfully replayed and had different results under the - current policies and the proposed policies. - error: - $ref: '#/components/schemas/GoogleRpcStatus' - description: >- - The error that caused the access tuple replay to fail. This field is - only included for access tuples that were not replayed successfully. - lastSeenDate: - description: The latest date this access tuple was seen in the logs. - $ref: '#/components/schemas/GoogleTypeDate' - accessTuple: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1AccessTuple' - description: >- - The access tuple that was replayed. This field includes information - about the principal, resource, and permission that were involved in - the access attempt. - name: - description: >- - 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` - type: string - parent: - description: The Replay that the access tuple was included in. - type: string - GoogleIamV1AuditConfig: - properties: - auditLogConfigs: - type: array - items: - $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' - description: The configuration for logging of each type of permission. - service: - type: string - description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. - type: object - id: GoogleIamV1AuditConfig - description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - `jose@example.com` from DATA_READ logging, and `aliya@example.com` from - DATA_WRITE logging. - GoogleIamV1Binding: - description: Associates `members`, or principals, with a `role`. - properties: - role: - type: string - description: >- - 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). - members: + 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). + members: type: array description: >- Specifies the principals requesting access for a Google Cloud @@ -1587,6 +1110,7 @@ components: items: type: string condition: + $ref: '#/components/schemas/GoogleTypeExpr' description: >- The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current @@ -1596,23 +1120,561 @@ components: in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - $ref: '#/components/schemas/GoogleTypeExpr' type: object - id: GoogleIamV1Binding - GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlay: + GoogleCloudPolicysimulatorV1AccessStateDiff: + type: object + description: >- + A summary and comparison of the principal's access under the current + (baseline) policies and the proposed (simulated) policies for a single + access tuple. + id: GoogleCloudPolicysimulatorV1AccessStateDiff + properties: + baseline: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ExplainedAccess' + description: >- + The results of evaluating the access tuple under the current + (baseline) policies. If the AccessState couldn't be fully evaluated, + this field explains why. + simulated: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ExplainedAccess' + description: >- + The results of evaluating the access tuple under the proposed + (simulated) policies. If the AccessState couldn't be fully + evaluated, this field explains why. + accessChange: + enum: + - ACCESS_CHANGE_TYPE_UNSPECIFIED + - NO_CHANGE + - UNKNOWN_CHANGE + - ACCESS_REVOKED + - ACCESS_GAINED + - ACCESS_MAYBE_REVOKED + - ACCESS_MAYBE_GAINED + type: string + enumDescriptions: + - Default value. This value is unused. + - >- + The principal's access did not change. This includes the case + where both baseline and simulated are UNKNOWN, but the unknown + information is equivalent. + - >- + The principal's access under both the current policies and the + proposed policies is `UNKNOWN`, but the unknown information + differs between them. + - >- + The principal had access under the current policies (`GRANTED`), + but will no longer have access after the proposed changes + (`NOT_GRANTED`). + - >- + The principal did not have access under the current policies + (`NOT_GRANTED`), but will have access after the proposed changes + (`GRANTED`). + - >- + This result can occur for the following reasons: * The principal + had access under the current policies (`GRANTED`), but their + access after the proposed changes is `UNKNOWN`. * The principal's + access under the current policies is `UNKNOWN`, but they will not + have access after the proposed changes (`NOT_GRANTED`). + - >- + This result can occur for the following reasons: * The principal + did not have access under the current policies (`NOT_GRANTED`), + but their access after the proposed changes is `UNKNOWN`. * The + principal's access under the current policies is `UNKNOWN`, but + they will have access after the proposed changes (`GRANTED`). + description: >- + How the principal's access, specified in the AccessState field, + changed between the current (baseline) policies and proposed + (simulated) policies. + GoogleCloudPolicysimulatorV1BindingExplanation: + type: object + id: GoogleCloudPolicysimulatorV1BindingExplanation + description: >- + Details about how a binding in a policy affects a principal's ability to + use a permission. + properties: + rolePermission: + enum: + - ROLE_PERMISSION_UNSPECIFIED + - ROLE_PERMISSION_INCLUDED + - ROLE_PERMISSION_NOT_INCLUDED + - ROLE_PERMISSION_UNKNOWN_INFO_DENIED + type: string + description: >- + Indicates whether the role granted by this binding contains the + specified permission. + enumDescriptions: + - Default value. This value is unused. + - The permission is included in the role. + - The permission is not included in the role. + - >- + The user who created the Replay is not allowed to access the + binding. + condition: + description: >- + A condition expression that prevents this binding from granting + access unless the expression evaluates to `true`. To learn about IAM + Conditions, see + https://cloud.google.com/iam/docs/conditions-overview. + $ref: '#/components/schemas/GoogleTypeExpr' + relevance: + type: string + enumDescriptions: + - Default value. This value is unused. + - >- + The data point has a limited effect on the result. Changing the + data point is unlikely to affect the overall determination. + - >- + The data point has a strong effect on the result. Changing the + data point is likely to affect the overall determination. + enum: + - HEURISTIC_RELEVANCE_UNSPECIFIED + - NORMAL + - HIGH + description: >- + The relevance of this binding to the overall determination for the + entire policy. + memberships: + description: >- + Indicates whether each principal in the binding includes the + principal specified in the request, either directly or indirectly. + Each key identifies a principal in the binding, and each value + indicates whether the principal in the binding includes the + principal in the request. For example, suppose that a binding + includes the following principals: * `user:alice@example.com` * + `group:product-eng@example.com` The principal in the replayed access + tuple is `user:bob@example.com`. This user is a principal of the + group `group:product-eng@example.com`. For the first principal in + the binding, the key is `user:alice@example.com`, and the + `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. + For the second principal in the binding, the key is + `group:product-eng@example.com`, and the `membership` field in the + value is set to `MEMBERSHIP_INCLUDED`. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership + role: + type: string + description: >- + The role that this binding grants. For example, + `roles/compute.serviceAgent`. For a complete list of predefined IAM + roles, as well as the permissions in each role, see + https://cloud.google.com/iam/help/roles/reference. + rolePermissionRelevance: + type: string + enumDescriptions: + - Default value. This value is unused. + - >- + The data point has a limited effect on the result. Changing the + data point is unlikely to affect the overall determination. + - >- + The data point has a strong effect on the result. Changing the + data point is likely to affect the overall determination. + enum: + - HEURISTIC_RELEVANCE_UNSPECIFIED + - NORMAL + - HIGH + description: >- + The relevance of the permission's existence, or nonexistence, in the + role to the overall determination for the entire policy. + access: + enum: + - ACCESS_STATE_UNSPECIFIED + - GRANTED + - NOT_GRANTED + - UNKNOWN_CONDITIONAL + - UNKNOWN_INFO_DENIED + type: string + description: >- + Required. Indicates whether _this binding_ provides the specified + permission to the specified principal for the specified resource. + This field does _not_ indicate whether the principal actually has + the permission for the resource. There might be another binding that + overrides this binding. To determine whether the principal actually + has the permission, use the `access` field in the + TroubleshootIamPolicyResponse. + enumDescriptions: + - Default value. This value is unused. + - The principal has the permission. + - The principal does not have the permission. + - >- + The principal has the permission only if a condition expression + evaluates to `true`. + - >- + The user who created the Replay does not have access to all of the + policies that Policy Simulator needs to evaluate. + GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues: + id: GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues + type: object + properties: + allowedValues: + description: List of values allowed at this resource. + type: array + items: + type: string + deniedValues: + type: array + items: + type: string + description: List of values denied at this resource. + description: >- + A message that holds specific allowed and denied values. This message + can define specific values and subtrees of the Resource Manager resource + hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or + denied. This is achieved by using the `under:` and optional `is:` + prefixes. The `under:` prefix is used to denote resource subtree values. + The `is:` prefix is used to denote specific values, and is required only + if the value contains a ":". Values prefixed with "is:" are treated the + same as values with no prefix. Ancestry subtrees must be in one of the + following formats: - `projects/` (for example, + `projects/tokyo-rain-123`) - `folders/` (for example, `folders/1234`) - + `organizations/` (for example, `organizations/1234`) The + `supports_under` field of the associated `Constraint` defines whether + ancestry prefixes can be used. + GoogleCloudPolicysimulatorV1Replay: + properties: + resultsSummary: + description: Output only. Summary statistics about the replayed log entries. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1ReplayResultsSummary + state: + description: Output only. The current state of the `Replay`. + readOnly: true + enumDescriptions: + - Default value. This value is unused. + - The `Replay` has not started yet. + - The `Replay` is currently running. + - The `Replay` has successfully completed. + - The `Replay` has finished with an error. + enum: + - STATE_UNSPECIFIED + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + type: string + name: + type: string + description: >- + 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` + readOnly: true + config: + description: Required. The configuration used for the `Replay`. + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1ReplayConfig' + id: GoogleCloudPolicysimulatorV1Replay + type: object + description: A resource describing a `Replay`, or simulation. + GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlay: + description: A change to an OrgPolicy custom constraint. + id: GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlay + properties: + customConstraintParent: + type: string + description: >- + Optional. Resource the constraint is attached to. Example: + "organization/987654" + customConstraint: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + description: Optional. The new or updated custom constraint. + type: object + GoogleCloudPolicysimulatorV1AccessTuple: + id: GoogleCloudPolicysimulatorV1AccessTuple + type: object + description: Information about the principal, resource, and permission to check. + properties: + permission: + type: string + description: >- + Required. The IAM permission to check for the specified principal + and resource. For a complete list of IAM permissions, see + https://cloud.google.com/iam/help/permissions/reference. For a + complete list of predefined IAM roles and the permissions in each + role, see https://cloud.google.com/iam/help/roles/reference. + fullResourceName: + description: >- + Required. The full resource name that identifies the resource. For + example, + `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + For examples of full resource names for Google Cloud services, see + https://cloud.google.com/iam/help/troubleshooter/full-resource-names. + type: string + principal: + description: >- + Required. The principal whose access you want to check, in the form + of the email address that represents that principal. For example, + `alice@example.com` or + `my-service-account@my-project.iam.gserviceaccount.com`. The + principal must be a Google Account or a service account. Other types + of principals are not supported. + type: string + GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlay: + id: GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlay + type: object + description: A change to an OrgPolicy. + properties: + policy: + $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' + description: Optional. The new or updated OrgPolicy. + policyParent: + type: string + description: >- + Optional. The parent of the policy we are attaching to. Example: + "projects/123456" + GoogleCloudOrgpolicyV2CustomConstraint: + id: GoogleCloudOrgpolicyV2CustomConstraint + properties: + description: + description: >- + Detailed information about this custom policy constraint. The max + length of the description is 2000 characters. + type: string + name: + type: string + description: >- + 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. + updateTime: + format: google-datetime + description: >- + Output only. The last time this custom constraint was updated. This + represents the last time that the `CreateCustomConstraint` or + `UpdateCustomConstraint` RPC was called + type: string + readOnly: true + displayName: + type: string + description: >- + One line display name for the UI. The max length of the display_name + is 200 characters. + methodTypes: + description: All the operations being applied for this constraint. + type: array + items: + type: string + enum: + - METHOD_TYPE_UNSPECIFIED + - CREATE + - UPDATE + - DELETE + - REMOVE_GRANT + - GOVERN_TAGS + enumDescriptions: + - Unspecified. Results in an error. + - Constraint applied when creating the resource. + - Constraint applied when updating the resource. + - >- + Constraint applied when deleting the resource. Not supported + yet. + - Constraint applied when removing an IAM grant. + - Constraint applied when enforcing forced tagging. + resourceTypes: + description: >- + Immutable. The resource instance type on which this policy applies. + Format will be of the form : `/` Example: * + `compute.googleapis.com/Instance`. + type: array + items: + type: string + condition: + type: string + description: >- + 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. + actionType: + description: Allow or deny type. + enumDescriptions: + - Unspecified. Results in an error. + - Allowed action type. + - Deny action type. + type: string + enum: + - ACTION_TYPE_UNSPECIFIED + - ALLOW + - DENY + type: object + description: >- + 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*. + GoogleCloudPolicysimulatorV1betaOrgPolicyOverlay: + type: object + properties: + customConstraints: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlay + description: >- + Optional. The OrgPolicy CustomConstraint changes to preview + violations for. Any existing CustomConstraints with the same name + will be overridden in the simulation. That is, violations will be + determined as if all custom constraints in the overlay were + instantiated. Only a single custom_constraint is supported in the + overlay at a time. For evaluating multiple constraints, multiple + `GenerateOrgPolicyViolationsPreview` requests are made, where each + request evaluates a single constraint. + policies: + items: + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlay + type: array + description: >- + Optional. The OrgPolicy changes to preview violations for. Any + existing OrgPolicies with the same name will be overridden in the + simulation. That is, violations will be determined as if all + policies in the overlay were created or updated. + description: The proposed changes to OrgPolicy. + id: GoogleCloudPolicysimulatorV1betaOrgPolicyOverlay + GoogleCloudPolicysimulatorV1ReplayDiff: + description: >- + 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. + id: GoogleCloudPolicysimulatorV1ReplayDiff + properties: + accessDiff: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1AccessStateDiff' + description: >- + A summary and comparison of the principal's access under the current + (baseline) policies and the proposed (simulated) policies for a + single access tuple. The evaluation of the principal's access is + reported in the AccessState field. + type: object + GoogleIamV1Policy: + type: object + properties: + etag: + type: string + format: byte + description: >- + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. + auditConfigs: + type: array + items: + $ref: '#/components/schemas/GoogleIamV1AuditConfig' + description: Specifies cloud audit logging configuration for this policy. + bindings: + description: >- + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + items: + $ref: '#/components/schemas/GoogleIamV1Binding' + type: array + version: + description: >- + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + format: int32 + description: >- + 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/). + id: GoogleIamV1Policy + GoogleTypeExpr: + type: object + id: GoogleTypeExpr properties: - policy: - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2Policy' - description: Optional. The new or updated OrgPolicy. - policyParent: + expression: type: string description: >- - Optional. The parent of the policy we are attaching to. Example: - "projects/123456" - id: GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlay - type: object - description: A change to an OrgPolicy. - GoogleTypeExpr: + Textual representation of an expression in Common Expression + Language syntax. + location: + type: string + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + title: + type: string + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + description: + type: string + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. description: >- Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of @@ -1630,190 +1692,144 @@ components: string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. - id: GoogleTypeExpr + GoogleCloudPolicysimulatorV1ReplayOperationMetadata: type: object + description: Metadata about a Replay operation. properties: - description: - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - type: string - title: - description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - type: string - location: - type: string - description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - expression: + startTime: + format: google-datetime + description: Time when the request was received. type: string - description: >- - Textual representation of an expression in Common Expression - Language syntax. - GoogleCloudPolicysimulatorV1BindingExplanation: + id: GoogleCloudPolicysimulatorV1ReplayOperationMetadata + GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreview: + type: object description: >- - Details about how a binding in a policy affects a principal's ability to - use a permission. + OrgPolicyViolationsPreview is a resource providing a preview of the + violations that will exist if an OrgPolicy change is made. The list of + violations are modeled as child resources and retrieved via a + ListOrgPolicyViolations API call. There are potentially more + OrgPolicyViolations than could fit in an embedded field. Thus, the use + of a child resource instead of a field. properties: - rolePermissionRelevance: - enum: - - HEURISTIC_RELEVANCE_UNSPECIFIED - - NORMAL - - HIGH - enumDescriptions: - - Default value. This value is unused. - - >- - The data point has a limited effect on the result. Changing the - data point is unlikely to affect the overall determination. - - >- - The data point has a strong effect on the result. Changing the - data point is likely to affect the overall determination. - type: string - description: >- - The relevance of the permission's existence, or nonexistence, in the - role to the overall determination for the entire policy. - memberships: + overlay: + description: Required. The proposed changes we are previewing violations for. + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay + customConstraints: + items: + type: string + readOnly: true description: >- - Indicates whether each principal in the binding includes the - principal specified in the request, either directly or indirectly. - Each key identifies a principal in the binding, and each value - indicates whether the principal in the binding includes the - principal in the request. For example, suppose that a binding - includes the following principals: * `user:alice@example.com` * - `group:product-eng@example.com` The principal in the replayed access - tuple is `user:bob@example.com`. This user is a principal of the - group `group:product-eng@example.com`. For the first principal in - the binding, the key is `user:alice@example.com`, and the - `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. - For the second principal in the binding, the key is - `group:product-eng@example.com`, and the `membership` field in the - value is set to `MEMBERSHIP_INCLUDED`. - type: object - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership - relevance: + 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` + type: array + state: + readOnly: true type: string - enum: - - HEURISTIC_RELEVANCE_UNSPECIFIED - - NORMAL - - HIGH - description: >- - The relevance of this binding to the overall determination for the - entire policy. enumDescriptions: - - Default value. This value is unused. - - >- - The data point has a limited effect on the result. Changing the - data point is unlikely to affect the overall determination. - - >- - The data point has a strong effect on the result. Changing the - data point is likely to affect the overall determination. - access: + - The state is unspecified. + - The OrgPolicyViolationsPreview has not been created yet. + - The OrgPolicyViolationsPreview is currently being created. + - The OrgPolicyViolationsPreview creation finished successfully. + - The OrgPolicyViolationsPreview creation failed with an error. enum: - - ACCESS_STATE_UNSPECIFIED - - GRANTED - - NOT_GRANTED - - UNKNOWN_CONDITIONAL - - UNKNOWN_INFO_DENIED - enumDescriptions: - - Default value. This value is unused. - - The principal has the permission. - - The principal does not have the permission. - - >- - The principal has the permission only if a condition expression - evaluates to `true`. - - >- - The user who created the Replay does not have access to all of the - policies that Policy Simulator needs to evaluate. - type: string - description: >- - Required. Indicates whether _this binding_ provides the specified - permission to the specified principal for the specified resource. - This field does _not_ indicate whether the principal actually has - the permission for the resource. There might be another binding that - overrides this binding. To determine whether the principal actually - has the permission, use the `access` field in the - TroubleshootIamPolicyResponse. - condition: - description: >- - A condition expression that prevents this binding from granting - access unless the expression evaluates to `true`. To learn about IAM - Conditions, see - https://cloud.google.com/iam/docs/conditions-overview. - $ref: '#/components/schemas/GoogleTypeExpr' - role: - description: >- - The role that this binding grants. For example, - `roles/compute.serviceAgent`. For a complete list of predefined IAM - roles, as well as the permissions in each role, see - https://cloud.google.com/iam/help/roles/reference. - type: string - rolePermission: + - PREVIEW_STATE_UNSPECIFIED + - PREVIEW_PENDING + - PREVIEW_RUNNING + - PREVIEW_SUCCEEDED + - PREVIEW_FAILED + description: Output only. The state of the `OrgPolicyViolationsPreview`. + violationsCount: + readOnly: true + format: int32 + type: integer description: >- - Indicates whether the role granted by this binding contains the - specified permission. - enumDescriptions: - - Default value. This value is unused. - - The permission is included in the role. - - The permission is not included in the role. - - >- - The user who created the Replay is not allowed to access the - binding. - type: string - enum: - - ROLE_PERMISSION_UNSPECIFIED - - ROLE_PERMISSION_INCLUDED - - ROLE_PERMISSION_NOT_INCLUDED - - ROLE_PERMISSION_UNKNOWN_INFO_DENIED - type: object - id: GoogleCloudPolicysimulatorV1BindingExplanation - GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues: - type: object - description: >- - A message that holds specific allowed and denied values. This message - can define specific values and subtrees of the Resource Manager resource - hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or - denied. This is achieved by using the `under:` and optional `is:` - prefixes. The `under:` prefix is used to denote resource subtree values. - The `is:` prefix is used to denote specific values, and is required only - if the value contains a ":". Values prefixed with "is:" are treated the - same as values with no prefix. Ancestry subtrees must be in one of the - following formats: - `projects/` (for example, - `projects/tokyo-rain-123`) - `folders/` (for example, `folders/1234`) - - `organizations/` (for example, `organizations/1234`) The - `supports_under` field of the associated `Constraint` defines whether - ancestry prefixes can be used. - id: GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues - properties: - deniedValues: - description: List of values denied at this resource. - type: array - items: - type: string - allowedValues: - items: - type: string - description: List of values allowed at this resource. - type: array - GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlay: - properties: - customConstraintParent: + 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. + createTime: description: >- - Optional. Resource the constraint is attached to. Example: - "organization/987654" + Output only. Time when this `OrgPolicyViolationsPreview` was + created. + format: google-datetime + readOnly: true type: string - customConstraint: - description: Optional. The new or updated custom constraint. - $ref: '#/components/schemas/GoogleCloudOrgpolicyV2CustomConstraint' + name: + type: string + readOnly: true + description: >- + 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` + resourceCounts: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewResourceCounts + description: >- + Output only. A summary of the state of all resources scanned for + compliance with the changed OrgPolicy. + id: GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreview + GoogleCloudPolicysimulatorV1ReplayResultsSummary: type: object - description: A change to an OrgPolicy custom constraint. - id: GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlay + id: GoogleCloudPolicysimulatorV1ReplayResultsSummary + description: Summary statistics about the replayed log entries. + properties: + oldestDate: + description: The date of the oldest log entry replayed. + $ref: '#/components/schemas/GoogleTypeDate' + logCount: + type: integer + format: int32 + description: The total number of log entries replayed. + errorCount: + type: integer + description: The number of log entries that could not be replayed. + format: int32 + unchangedCount: + description: >- + The number of replayed log entries with no difference between + baseline and simulated policies. + format: int32 + type: integer + differenceCount: + type: integer + format: int32 + description: >- + The number of replayed log entries with a difference between + baseline and simulated policies. + newestDate: + $ref: '#/components/schemas/GoogleTypeDate' + description: The date of the newest log entry replayed. parameters: + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto _.xgafv: description: V1 error format. in: query @@ -1823,10 +1839,13 @@ components: enum: - '1' - '2' - fields: - description: Selector specifying which fields to include in a partial response. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: fields + name: quotaUser schema: type: string oauth_token: @@ -1835,19 +1854,10 @@ components: name: oauth_token schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + callback: + description: JSONP in: query - name: key + name: callback schema: type: string access_token: @@ -1856,280 +1866,270 @@ components: name: access_token schema: type: string - callback: - description: JSONP + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: callback + name: key schema: type: string - alt: - description: Data format for response. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: alt + name: prettyPrint schema: - type: string - enum: - - json - - media - - proto + type: boolean uploadType: description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query name: uploadType schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: quotaUser + name: fields schema: type: string x-stackQL-resources: - replays: - id: google.policysimulator.replays - name: replays - title: Replays + operations: + id: google.policysimulator.operations + name: operations + title: Operations methods: - organizations_locations_replays_get: + operations_list: + operation: + $ref: '#/paths/~1v1~1operations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations + operations_get: + operation: + $ref: '#/paths/~1v1~1operations~1{operationsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_replays_operations_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_replays_create: + objectKey: $.operations + projects_locations_replays_operations_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_replays_get: + projects_locations_org_policy_violations_previews_operations_get: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1orgPolicyViolationsPreviews~1{orgPolicyViolationsPreviewsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_replays_create: + organizations_locations_org_policy_violations_previews_operations_get: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1orgPolicyViolationsPreviews~1{orgPolicyViolationsPreviewsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_replays_create: + organizations_locations_replays_operations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_replays_get: + organizations_locations_replays_operations_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/replays/methods/organizations_locations_replays_get - - $ref: >- - #/components/x-stackQL-resources/replays/methods/folders_locations_replays_get - - $ref: >- - #/components/x-stackQL-resources/replays/methods/projects_locations_replays_get - insert: - - $ref: >- - #/components/x-stackQL-resources/replays/methods/organizations_locations_replays_create - - $ref: >- - #/components/x-stackQL-resources/replays/methods/folders_locations_replays_create - - $ref: >- - #/components/x-stackQL-resources/replays/methods/projects_locations_replays_create - update: [] - replace: [] - delete: [] - results: - id: google.policysimulator.results - name: results - title: Results - methods: - organizations_locations_replays_results_list: + objectKey: $.operations + folders_locations_org_policy_violations_previews_operations_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}~1results/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1orgPolicyViolationsPreviews~1{orgPolicyViolationsPreviewsId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.replayResults - folders_locations_replays_results_list: + folders_locations_replays_operations_list: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}~1results/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.replayResults - projects_locations_replays_results_list: + objectKey: $.operations + folders_locations_replays_operations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}~1results/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations~1{operationsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.replayResults sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/results/methods/organizations_locations_replays_results_list + #/components/x-stackQL-resources/operations/methods/projects_locations_replays_operations_get - $ref: >- - #/components/x-stackQL-resources/results/methods/folders_locations_replays_results_list + #/components/x-stackQL-resources/operations/methods/projects_locations_org_policy_violations_previews_operations_get - $ref: >- - #/components/x-stackQL-resources/results/methods/projects_locations_replays_results_list + #/components/x-stackQL-resources/operations/methods/organizations_locations_org_policy_violations_previews_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/organizations_locations_replays_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/folders_locations_org_policy_violations_previews_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/folders_locations_replays_operations_get + - $ref: >- + #/components/x-stackQL-resources/operations/methods/projects_locations_replays_operations_list + - $ref: >- + #/components/x-stackQL-resources/operations/methods/organizations_locations_replays_operations_list + - $ref: >- + #/components/x-stackQL-resources/operations/methods/folders_locations_replays_operations_list + - $ref: '#/components/x-stackQL-resources/operations/methods/operations_get' + - $ref: >- + #/components/x-stackQL-resources/operations/methods/operations_list insert: [] update: [] replace: [] delete: [] - operations: - id: google.policysimulator.operations - name: operations - title: Operations + replays: + id: google.policysimulator.replays + name: replays + title: Replays methods: - organizations_locations_replays_operations_list: + projects_locations_replays_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - organizations_locations_replays_operations_get: + projects_locations_replays_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations~1{operationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_org_policy_violations_previews_operations_get: + organizations_locations_replays_create: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1orgPolicyViolationsPreviews~1{orgPolicyViolationsPreviewsId}~1operations~1{operationsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - operations_get: - operation: - $ref: '#/paths/~1v1~1operations~1{operationsId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - operations_list: - operation: - $ref: '#/paths/~1v1~1operations/get' + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - folders_locations_replays_operations_list: + organizations_locations_replays_get: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - folders_locations_replays_operations_get: + folders_locations_replays_get: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations~1{operationsId}/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_org_policy_violations_previews_operations_get: + folders_locations_replays_create: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1orgPolicyViolationsPreviews~1{orgPolicyViolationsPreviewsId}~1operations~1{operationsId}/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_replays_operations_list: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/replays/methods/projects_locations_replays_get + - $ref: >- + #/components/x-stackQL-resources/replays/methods/organizations_locations_replays_get + - $ref: >- + #/components/x-stackQL-resources/replays/methods/folders_locations_replays_get + insert: + - $ref: >- + #/components/x-stackQL-resources/replays/methods/projects_locations_replays_create + - $ref: >- + #/components/x-stackQL-resources/replays/methods/organizations_locations_replays_create + - $ref: >- + #/components/x-stackQL-resources/replays/methods/folders_locations_replays_create + update: [] + replace: [] + delete: [] + results: + id: google.policysimulator.results + name: results + title: Results + methods: + projects_locations_replays_results_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}~1results/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - projects_locations_replays_operations_get: + objectKey: $.replayResults + organizations_locations_replays_results_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1replays~1{replaysId}~1operations~1{operationsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1replays~1{replaysId}~1results/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_org_policy_violations_previews_operations_get: + objectKey: $.replayResults + folders_locations_replays_results_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1orgPolicyViolationsPreviews~1{orgPolicyViolationsPreviewsId}~1operations~1{operationsId}/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1replays~1{replaysId}~1results/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.replayResults sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/operations/methods/organizations_locations_replays_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/organizations_locations_org_policy_violations_previews_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/folders_locations_replays_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/folders_locations_org_policy_violations_previews_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_replays_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_org_policy_violations_previews_operations_get - - $ref: >- - #/components/x-stackQL-resources/operations/methods/organizations_locations_replays_operations_list - - $ref: >- - #/components/x-stackQL-resources/operations/methods/folders_locations_replays_operations_list + #/components/x-stackQL-resources/results/methods/projects_locations_replays_results_list - $ref: >- - #/components/x-stackQL-resources/operations/methods/projects_locations_replays_operations_list - - $ref: '#/components/x-stackQL-resources/operations/methods/operations_get' + #/components/x-stackQL-resources/results/methods/organizations_locations_replays_results_list - $ref: >- - #/components/x-stackQL-resources/operations/methods/operations_list + #/components/x-stackQL-resources/results/methods/folders_locations_replays_results_list insert: [] update: [] replace: [] delete: [] paths: - /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}: + /v1/operations: parameters: &ref_1 + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/fields' get: description: >- - Gets the specified Replay. Each `Replay` is available for at least 7 - days. - operationId: policysimulator.organizations.locations.replays.get + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: policysimulator.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2141,28 +2141,52 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' + $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - - in: path - name: organizationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: filter schema: type: string + /v1/operations/{operationsId}: + parameters: *ref_1 + get: + description: >- + 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. + operationId: policysimulator.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: - in: path - name: replaysId + name: operationsId required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/replays: + /v1/projects/{projectsId}/locations/{locationsId}/replays: parameters: *ref_1 post: description: Creates and starts a Replay using the given ReplayConfig. - operationId: policysimulator.organizations.locations.replays.create + operationId: policysimulator.projects.locations.replays.create requestBody: content: application/json: @@ -2182,7 +2206,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -2191,11 +2215,46 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/results: + /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}: + parameters: *ref_1 + get: + description: >- + Gets the specified Replay. Each `Replay` is available for at least 7 + days. + operationId: policysimulator.projects.locations.replays.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: replaysId + required: true + schema: + type: string + /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/results: parameters: *ref_1 get: description: Lists the results of running a Replay. - operationId: policysimulator.organizations.locations.replays.results.list + operationId: policysimulator.projects.locations.replays.results.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2211,7 +2270,7 @@ paths: #/components/schemas/GoogleCloudPolicysimulatorV1ListReplayResultsResponse parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -2234,13 +2293,13 @@ paths: name: pageToken schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/operations: + /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: policysimulator.organizations.locations.replays.operations.list + operationId: policysimulator.projects.locations.replays.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2255,7 +2314,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -2282,14 +2341,14 @@ paths: schema: type: integer format: int32 - /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: policysimulator.organizations.locations.replays.operations.get + operationId: policysimulator.projects.locations.replays.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2304,7 +2363,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -2323,7 +2382,7 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- @@ -2331,7 +2390,7 @@ paths: method to poll the operation result at intervals as recommended by the API service. operationId: >- - policysimulator.organizations.locations.orgPolicyViolationsPreviews.operations.get + policysimulator.projects.locations.orgPolicyViolationsPreviews.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2346,7 +2405,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: organizationsId + name: projectsId required: true schema: type: string @@ -2365,39 +2424,15 @@ paths: required: true schema: type: string - /v1/operations/{operationsId}: - parameters: *ref_1 - get: - description: >- - 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. - operationId: policysimulator.operations.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: operationsId - required: true - schema: - type: string - /v1/operations: + /v1/organizations/{organizationsId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}: parameters: *ref_1 get: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: policysimulator.operations.list + 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. + operationId: >- + policysimulator.organizations.locations.orgPolicyViolationsPreviews.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2409,26 +2444,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - - in: query - name: pageSize + - in: path + name: organizationsId + required: true schema: - type: integer - format: int32 - - in: query - name: filter + type: string + - in: path + name: locationsId + required: true schema: type: string - - in: query - name: pageToken + - in: path + name: orgPolicyViolationsPreviewsId + required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/results: + - in: path + name: operationsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}: parameters: *ref_1 get: - description: Lists the results of running a Replay. - operationId: policysimulator.folders.locations.replays.results.list + description: >- + 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. + operationId: policysimulator.organizations.locations.replays.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2440,11 +2485,10 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1ListReplayResultsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -2458,22 +2502,18 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: operationsId + required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/operations: + /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: policysimulator.folders.locations.replays.operations.list + operationId: policysimulator.organizations.locations.replays.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2488,7 +2528,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -2508,21 +2548,18 @@ paths: type: integer format: int32 - in: query - name: pageToken + name: filter schema: type: string - in: query - name: filter + name: pageToken schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}: + /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}/results: parameters: *ref_1 get: - description: >- - 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. - operationId: policysimulator.folders.locations.replays.operations.get + description: Lists the results of running a Replay. + operationId: policysimulator.organizations.locations.replays.results.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2534,10 +2571,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1ListReplayResultsResponse parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -2551,18 +2589,25 @@ paths: required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageToken schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/organizations/{organizationsId}/locations/{locationsId}/replays: parameters: *ref_1 - get: - description: >- - Gets the specified Replay. Each `Replay` is available for at least 7 - days. - operationId: policysimulator.folders.locations.replays.get + post: + description: Creates and starts a Replay using the given ReplayConfig. + operationId: policysimulator.organizations.locations.replays.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2574,10 +2619,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -2586,21 +2631,13 @@ paths: required: true schema: type: string - - in: path - name: replaysId - required: true - schema: - type: string - /v1/folders/{foldersId}/locations/{locationsId}/replays: + /v1/organizations/{organizationsId}/locations/{locationsId}/replays/{replaysId}: parameters: *ref_1 - post: - description: Creates and starts a Replay using the given ReplayConfig. - operationId: policysimulator.folders.locations.replays.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' + get: + description: >- + Gets the specified Replay. Each `Replay` is available for at least 7 + days. + operationId: policysimulator.organizations.locations.replays.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2612,10 +2649,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string @@ -2624,6 +2661,11 @@ paths: required: true schema: type: string + - in: path + name: replaysId + required: true + schema: + type: string /v1/folders/{foldersId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}: parameters: *ref_1 get: @@ -2666,46 +2708,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/replays: - parameters: *ref_1 - post: - description: Creates and starts a Replay using the given ReplayConfig. - operationId: policysimulator.projects.locations.replays.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}: + /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}: parameters: *ref_1 get: description: >- Gets the specified Replay. Each `Replay` is available for at least 7 days. - operationId: policysimulator.projects.locations.replays.get + operationId: policysimulator.folders.locations.replays.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2720,7 +2729,7 @@ paths: $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2734,11 +2743,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/results: + /v1/folders/{foldersId}/locations/{locationsId}/replays: parameters: *ref_1 - get: - description: Lists the results of running a Replay. - operationId: policysimulator.projects.locations.replays.results.list + post: + description: Creates and starts a Replay using the given ReplayConfig. + operationId: policysimulator.folders.locations.replays.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudPolicysimulatorV1Replay' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2750,11 +2764,10 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudPolicysimulatorV1ListReplayResultsResponse + $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2763,27 +2776,13 @@ paths: required: true schema: type: string - - in: path - name: replaysId - required: true - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/operations: + /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/operations: parameters: *ref_1 get: description: >- Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: policysimulator.projects.locations.replays.operations.list + operationId: policysimulator.folders.locations.replays.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2798,7 +2797,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningListOperationsResponse' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2812,11 +2811,6 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: filter schema: @@ -2825,14 +2819,19 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/operations/{operationsId}: parameters: *ref_1 get: description: >- 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. - operationId: policysimulator.projects.locations.replays.operations.get + operationId: policysimulator.folders.locations.replays.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2847,7 +2846,7 @@ paths: $ref: '#/components/schemas/GoogleLongrunningOperation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2866,15 +2865,11 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreviewsId}/operations/{operationsId}: + /v1/folders/{foldersId}/locations/{locationsId}/replays/{replaysId}/results: parameters: *ref_1 get: - description: >- - 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. - operationId: >- - policysimulator.projects.locations.orgPolicyViolationsPreviews.operations.get + description: Lists the results of running a Replay. + operationId: policysimulator.folders.locations.replays.results.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2886,10 +2881,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleLongrunningOperation' + $ref: >- + #/components/schemas/GoogleCloudPolicysimulatorV1ListReplayResultsResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2899,12 +2895,16 @@ paths: schema: type: string - in: path - name: orgPolicyViolationsPreviewsId + name: replaysId required: true schema: type: string - - in: path - name: operationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/policytroubleshooter.yaml b/providers/src/googleapis.com/v00.00.00000/services/policytroubleshooter.yaml index 84c4d34f..d53d7700 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/policytroubleshooter.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/policytroubleshooter.yaml @@ -7,8 +7,8 @@ info: title: Policy Troubleshooter API description: '' version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241103' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/iam/ servers: @@ -34,8 +34,39 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: + GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest: + type: object + description: Request for TroubleshootIamPolicy. + properties: + accessTuple: + $ref: '#/components/schemas/GoogleCloudPolicytroubleshooterV1AccessTuple' + description: >- + The information to use for checking whether a principal has a + permission for a resource. + id: GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest GoogleTypeExpr: - id: GoogleTypeExpr + properties: + expression: + description: >- + Textual representation of an expression in Common Expression + Language syntax. + type: string + location: + type: string + description: >- + Optional. String indicating the location of the expression for error + reporting, e.g. a file name and a position in the file. + description: + description: >- + Optional. Description of the expression. This is a longer text which + describes the expression, e.g. when hovered over it in a UI. + type: string + title: + description: >- + Optional. Title for the expression, i.e. a short string describing + its purpose. This can be used e.g. in UIs which allow to enter the + expression. + type: string description: >- Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of @@ -54,30 +85,29 @@ components: be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. type: object + id: GoogleTypeExpr + GoogleCloudPolicytroubleshooterV1AccessTuple: + description: Information about the principal, resource, and permission to check. + id: GoogleCloudPolicytroubleshooterV1AccessTuple + type: object properties: - description: - type: string - description: >- - Optional. Description of the expression. This is a longer text which - describes the expression, e.g. when hovered over it in a UI. - title: - type: string + principal: description: >- - Optional. Title for the expression, i.e. a short string describing - its purpose. This can be used e.g. in UIs which allow to enter the - expression. - location: + Required. The principal whose access you want to check, in the form + of the email address that represents that principal. For example, + `alice@example.com` or + `my-service-account@my-project.iam.gserviceaccount.com`. The + principal must be a Google Account or a service account. Other types + of principals are not supported. type: string + permission: description: >- - Optional. String indicating the location of the expression for error - reporting, e.g. a file name and a position in the file. - expression: + Required. The IAM permission to check for the specified principal + and resource. For a complete list of IAM permissions, see + https://cloud.google.com/iam/help/permissions/reference. For a + complete list of predefined IAM roles and the permissions in each + role, see https://cloud.google.com/iam/help/roles/reference. type: string - description: >- - Textual representation of an expression in Common Expression - Language syntax. - GoogleCloudPolicytroubleshooterV1AccessTuple: - properties: fullResourceName: type: string description: >- @@ -86,27 +116,65 @@ components: `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. - permission: + GoogleIamV1Policy: + properties: + etag: + description: >- + `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 + `getIamPolicy`, and systems are expected to put that etag in the + request to `setIamPolicy` to ensure that their change will be + applied to the same version of the policy. **Important:** If you use + IAM Conditions, you must include the `etag` field whenever you call + `setIamPolicy`. If you omit this field, then IAM allows you to + overwrite a version `3` policy with a version `1` policy, and all of + the conditions in the version `3` policy are lost. type: string + format: byte + version: + format: int32 description: >- - Required. The IAM permission to check for the specified principal - and resource. For a complete list of IAM permissions, see - https://cloud.google.com/iam/help/permissions/reference. For a - complete list of predefined IAM roles and the permissions in each - role, see https://cloud.google.com/iam/help/roles/reference. - principal: + Specifies the format of the policy. Valid values are `0`, `1`, and + `3`. Requests that specify an invalid value are rejected. Any + operation that affects conditional role bindings must specify + version `3`. This requirement applies to the following operations: * + Getting a policy that includes a conditional role binding * Adding a + conditional role binding to a policy * Changing a conditional role + binding in a policy * Removing any role binding, with or without a + condition, from a policy that includes conditions **Important:** If + you use IAM Conditions, you must include the `etag` field whenever + you call `setIamPolicy`. If you omit this field, then IAM allows you + to overwrite a version `3` policy with a version `1` policy, and all + of the conditions in the version `3` policy are lost. If a policy + does not include any conditions, operations on that policy may + specify any valid version or leave the field unset. To learn which + resources support conditions in their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + type: integer + bindings: + type: array + items: + $ref: '#/components/schemas/GoogleIamV1Binding' description: >- - Required. The principal whose access you want to check, in the form - of the email address that represents that principal. For example, - `alice@example.com` or - `my-service-account@my-project.iam.gserviceaccount.com`. The - principal must be a Google Account or a service account. Other types - of principals are not supported. - type: string - id: GoogleCloudPolicytroubleshooterV1AccessTuple - description: Information about the principal, resource, and permission to check. + Associates a list of `members`, or principals, with a `role`. + Optionally, may specify a `condition` that determines how and when + the `bindings` are applied. Each of the `bindings` must contain at + least one principal. The `bindings` in a `Policy` can refer to up to + 1,500 principals; up to 250 of these principals can be Google + groups. Each occurrence of a principal counts towards these limits. + For example, if the `bindings` grant 50 different roles to + `user:alice@example.com`, and not to any other principal, then you + can add another 1,450 principals to the `bindings` in the `Policy`. + auditConfigs: + type: array + items: + $ref: '#/components/schemas/GoogleIamV1AuditConfig' + description: Specifies cloud audit logging configuration for this policy. + id: GoogleIamV1Policy type: object - GoogleIamV1Policy: description: >- An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of @@ -141,331 +209,171 @@ components: 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/). - properties: - version: - type: integer - description: >- - Specifies the format of the policy. Valid values are `0`, `1`, and - `3`. Requests that specify an invalid value are rejected. Any - operation that affects conditional role bindings must specify - version `3`. This requirement applies to the following operations: * - Getting a policy that includes a conditional role binding * Adding a - conditional role binding to a policy * Changing a conditional role - binding in a policy * Removing any role binding, with or without a - condition, from a policy that includes conditions **Important:** If - you use IAM Conditions, you must include the `etag` field whenever - you call `setIamPolicy`. If you omit this field, then IAM allows you - to overwrite a version `3` policy with a version `1` policy, and all - of the conditions in the version `3` policy are lost. If a policy - does not include any conditions, operations on that policy may - specify any valid version or leave the field unset. To learn which - resources support conditions in their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - format: int32 - bindings: - description: >- - Associates a list of `members`, or principals, with a `role`. - Optionally, may specify a `condition` that determines how and when - the `bindings` are applied. Each of the `bindings` must contain at - least one principal. The `bindings` in a `Policy` can refer to up to - 1,500 principals; up to 250 of these principals can be Google - groups. Each occurrence of a principal counts towards these limits. - For example, if the `bindings` grant 50 different roles to - `user:alice@example.com`, and not to any other principal, then you - can add another 1,450 principals to the `bindings` in the `Policy`. - items: - $ref: '#/components/schemas/GoogleIamV1Binding' - type: array - auditConfigs: - description: Specifies cloud audit logging configuration for this policy. - type: array - items: - $ref: '#/components/schemas/GoogleIamV1AuditConfig' - etag: - description: >- - `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 - `getIamPolicy`, and systems are expected to put that etag in the - request to `setIamPolicy` to ensure that their change will be - applied to the same version of the policy. **Important:** If you use - IAM Conditions, you must include the `etag` field whenever you call - `setIamPolicy`. If you omit this field, then IAM allows you to - overwrite a version `3` policy with a version `1` policy, and all of - the conditions in the version `3` policy are lost. - type: string - format: byte - id: GoogleIamV1Policy - type: object - GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership: - description: Details about whether the binding includes the principal. + GoogleCloudPolicytroubleshooterV1BindingExplanation: type: object - id: GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership + id: GoogleCloudPolicytroubleshooterV1BindingExplanation properties: - membership: - description: Indicates whether the binding includes the principal. - enum: - - MEMBERSHIP_UNSPECIFIED - - MEMBERSHIP_INCLUDED - - MEMBERSHIP_NOT_INCLUDED - - MEMBERSHIP_UNKNOWN_INFO_DENIED - - MEMBERSHIP_UNKNOWN_UNSUPPORTED - type: string - enumDescriptions: - - Default value. This value is unused. - - >- - The binding includes the principal. The principal can be included - directly or indirectly. For example: * A principal is included - directly if that principal is listed in the binding. * A principal - is included indirectly if that principal is in a Google group or - Google Workspace domain that is listed in the binding. - - The binding does not include the principal. - - The sender of the request is not allowed to access the binding. - - >- - The principal is an unsupported type. Only Google Accounts and - service accounts are supported. - relevance: - enum: - - HEURISTIC_RELEVANCE_UNSPECIFIED - - NORMAL - - HIGH + access: enumDescriptions: - Default value. This value is unused. + - The principal has the permission. + - The principal does not have the permission. - >- - The data point has a limited effect on the result. Changing the - data point is unlikely to affect the overall determination. + The principal has the permission only if a condition expression + evaluates to `true`. - >- - The data point has a strong effect on the result. Changing the - data point is likely to affect the overall determination. + The sender of the request does not have access to all of the + policies that Policy Troubleshooter needs to evaluate. description: >- - The relevance of the principal's status to the overall determination - for the binding. - type: string - GoogleIamV1AuditLogConfig: - properties: - logType: + Required. Indicates whether _this binding_ provides the specified + permission to the specified principal for the specified resource. + This field does _not_ indicate whether the principal actually has + the permission for the resource. There might be another binding that + overrides this binding. To determine whether the principal actually + has the permission, use the `access` field in the + TroubleshootIamPolicyResponse. type: string - enumDescriptions: - - Default case. Should never be this. - - 'Admin reads. Example: CloudIAM getIamPolicy' - - 'Data writes. Example: CloudSQL Users create' - - 'Data reads. Example: CloudSQL Users list' enum: - - LOG_TYPE_UNSPECIFIED - - ADMIN_READ - - DATA_WRITE - - DATA_READ - description: The log type that this config enables. - exemptedMembers: + - ACCESS_STATE_UNSPECIFIED + - GRANTED + - NOT_GRANTED + - UNKNOWN_CONDITIONAL + - UNKNOWN_INFO_DENIED + memberships: + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership description: >- - Specifies the identities that do not cause logging for this type of - permission. Follows the same format of Binding.members. - items: - type: string - type: array - type: object - description: >- - Provides the configuration for logging a type of permissions. Example: { - "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ - "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This - enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - jose@example.com from DATA_READ logging. - id: GoogleIamV1AuditLogConfig - GoogleIamV1Binding: - id: GoogleIamV1Binding - description: Associates `members`, or principals, with a `role`. - properties: - members: + Indicates whether each principal in the binding includes the + principal specified in the request, either directly or indirectly. + Each key identifies a principal in the binding, and each value + indicates whether the principal in the binding includes the + principal in the request. For example, suppose that a binding + includes the following principals: * `user:alice@example.com` * + `group:product-eng@example.com` You want to troubleshoot access for + `user:bob@example.com`. This user is a principal of the group + `group:product-eng@example.com`. For the first principal in the + binding, the key is `user:alice@example.com`, and the `membership` + field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the + second principal in the binding, the key is + `group:product-eng@example.com`, and the `membership` field in the + value is set to `MEMBERSHIP_INCLUDED`. + condition: description: >- - Specifies the principals requesting access for a Google Cloud - resource. `members` can have the following values: * `allUsers`: A - special identifier that represents anyone who is on the internet; - with or without a Google account. * `allAuthenticatedUsers`: A - special identifier that represents anyone who is authenticated with - a Google account or a service account. Does not include identities - that come from external identity providers (IdPs) through identity - federation. * `user:{emailid}`: An email address that represents a - specific Google account. For example, `alice@example.com` . * - `serviceAccount:{emailid}`: An email address that represents a - Google service account. For example, - `my-other-app@appspot.gserviceaccount.com`. * - `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: - An identifier for a [Kubernetes service - account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - For example, - `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - `group:{emailid}`: An email address that represents a Google group. - For example, `admins@example.com`. * `domain:{domain}`: The G Suite - domain (primary) that represents all the users of that domain. For - example, `google.com` or `example.com`. * - `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workforce identity pool. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - All workforce identities in a group. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All workforce identities with a specific attribute value. * - `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: - All identities in a workforce identity pool. * - `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - A single identity in a workload identity pool. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - A workload identity pool group. * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - All identities in a workload identity pool with a certain attribute. - * - `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: - All identities in a workload identity pool. * - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - unique identifier) representing a user that has been recently - deleted. For example, `alice@example.com?uid=123456789012345678901`. - If the user is recovered, this value reverts to `user:{emailid}` and - the recovered user retains the role in the binding. * - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address - (plus unique identifier) representing a service account that has - been recently deleted. For example, - `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - If the service account is undeleted, this value reverts to - `serviceAccount:{emailid}` and the undeleted service account retains - the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: - An email address (plus unique identifier) representing a Google - group that has been recently deleted. For example, - `admins@example.com?uid=123456789012345678901`. If the group is - recovered, this value reverts to `group:{emailid}` and the recovered - group retains the role in the binding. * - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - Deleted single identity in a workforce identity pool. For example, - `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - items: - type: string - type: array - role: + A condition expression that prevents this binding from granting + access unless the expression evaluates to `true`. To learn about IAM + Conditions, see + https://cloud.google.com/iam/help/conditions/overview. + $ref: '#/components/schemas/GoogleTypeExpr' + relevance: + enumDescriptions: + - Default value. This value is unused. + - >- + The data point has a limited effect on the result. Changing the + data point is unlikely to affect the overall determination. + - >- + The data point has a strong effect on the result. Changing the + data point is likely to affect the overall determination. + type: string description: >- - 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). + The relevance of this binding to the overall determination for the + entire policy. + enum: + - HEURISTIC_RELEVANCE_UNSPECIFIED + - NORMAL + - HIGH + role: type: string - condition: - $ref: '#/components/schemas/GoogleTypeExpr' description: >- - The condition that is associated with this binding. If the condition - evaluates to `true`, then this binding applies to the current - request. If the condition evaluates to `false`, then this binding - does not apply to the current request. However, a different role - binding might grant the same role to one or more of the principals - in this binding. To learn which resources support conditions in - their IAM policies, see the [IAM - documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - type: object - GoogleIamV1AuditConfig: - properties: - service: + The role that this binding grants. For example, + `roles/compute.serviceAgent`. For a complete list of predefined IAM + roles, as well as the permissions in each role, see + https://cloud.google.com/iam/help/roles/reference. + rolePermission: + enumDescriptions: + - Default value. This value is unused. + - The permission is included in the role. + - The permission is not included in the role. + - The sender of the request is not allowed to access the binding. type: string description: >- - Specifies a service that will be enabled for audit logging. For - example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - `allServices` is a special value that covers all services. - auditLogConfigs: - type: array - description: The configuration for logging of each type of permission. - items: - $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' - description: >- - Specifies the audit configuration for a service. The configuration - determines which permission types are logged, and what identities, if - any, are exempted from logging. An AuditConfig must have one or more - AuditLogConfigs. If there are AuditConfigs for both `allServices` and a - specific service, the union of the two AuditConfigs is used for that - service: the log_types specified in each AuditConfig are enabled, and - the exempted_members in each AuditLogConfig are exempted. Example Policy - with multiple AuditConfigs: { "audit_configs": [ { "service": - "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", - "exempted_members": [ "user:jose@example.com" ] }, { "log_type": - "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": - "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": - "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ - "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy - enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts - `jose@example.com` from DATA_READ logging, and `aliya@example.com` from - DATA_WRITE logging. - type: object - id: GoogleIamV1AuditConfig - GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse: - id: GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse - type: object - description: Response for TroubleshootIamPolicy. - properties: - access: + Indicates whether the role granted by this binding contains the + specified permission. enum: - - ACCESS_STATE_UNSPECIFIED - - GRANTED - - NOT_GRANTED - - UNKNOWN_CONDITIONAL - - UNKNOWN_INFO_DENIED + - ROLE_PERMISSION_UNSPECIFIED + - ROLE_PERMISSION_INCLUDED + - ROLE_PERMISSION_NOT_INCLUDED + - ROLE_PERMISSION_UNKNOWN_INFO_DENIED + rolePermissionRelevance: + enum: + - HEURISTIC_RELEVANCE_UNSPECIFIED + - NORMAL + - HIGH + description: >- + The relevance of the permission's existence, or nonexistence, in the + role to the overall determination for the entire policy. enumDescriptions: - Default value. This value is unused. - - The principal has the permission. - - The principal does not have the permission. - >- - The principal has the permission only if a condition expression - evaluates to `true`. + The data point has a limited effect on the result. Changing the + data point is unlikely to affect the overall determination. - >- - The sender of the request does not have access to all of the - policies that Policy Troubleshooter needs to evaluate. - description: >- - Indicates whether the principal has the specified permission for the - specified resource, based on evaluating all of the applicable IAM - policies. + The data point has a strong effect on the result. Changing the + data point is likely to affect the overall determination. type: string - errors: + description: >- + Details about how a binding in a policy affects a principal's ability to + use a permission. + GoogleIamV1AuditLogConfig: + id: GoogleIamV1AuditLogConfig + description: >- + Provides the configuration for logging a type of permissions. Example: { + "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ + "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This + enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + jose@example.com from DATA_READ logging. + properties: + logType: + enum: + - LOG_TYPE_UNSPECIFIED + - ADMIN_READ + - DATA_WRITE + - DATA_READ + enumDescriptions: + - Default case. Should never be this. + - 'Admin reads. Example: CloudIAM getIamPolicy' + - 'Data writes. Example: CloudSQL Users create' + - 'Data reads. Example: CloudSQL Users list' + description: The log type that this config enables. + type: string + exemptedMembers: type: array - description: The general errors contained in the troubleshooting response. - items: - $ref: '#/components/schemas/GoogleRpcStatus' - explainedPolicies: description: >- - List of IAM policies that were evaluated to check the principal's - permissions, with annotations to indicate how each policy - contributed to the final result. The list of policies can include - the policy for the resource itself. It can also include policies - that are inherited from higher levels of the resource hierarchy, - including the organization, the folder, and the project. To learn - more about the resource hierarchy, see - https://cloud.google.com/iam/help/resource-hierarchy. - type: array + Specifies the identities that do not cause logging for this type of + permission. Follows the same format of Binding.members. items: - $ref: >- - #/components/schemas/GoogleCloudPolicytroubleshooterV1ExplainedPolicy + type: string + type: object GoogleCloudPolicytroubleshooterV1ExplainedPolicy: - description: Details about how a specific IAM Policy contributed to the access check. - id: GoogleCloudPolicytroubleshooterV1ExplainedPolicy type: object + description: Details about how a specific IAM Policy contributed to the access check. properties: bindingExplanations: + type: array description: >- Details about how each binding in the policy affects the principal's ability, or inability, to use the permission for the resource. If the sender of the request does not have access to the policy, this field is omitted. - type: array items: $ref: >- #/components/schemas/GoogleCloudPolicytroubleshooterV1BindingExplanation - fullResourceName: - type: string - description: >- - The full resource name that identifies the resource. For example, - `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. - If the sender of the request does not have access to the policy, - this field is omitted. For examples of full resource names for - Google Cloud services, see - https://cloud.google.com/iam/help/troubleshooter/full-resource-names. relevance: - type: string + description: >- + The relevance of this policy to the overall determination in the + TroubleshootIamPolicyResponse. If the sender of the request does not + have access to the policy, this field is omitted. enumDescriptions: - Default value. This value is unused. - >- @@ -474,15 +382,33 @@ components: - >- The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination. - description: >- - The relevance of this policy to the overall determination in the - TroubleshootIamPolicyResponse. If the sender of the request does not - have access to the policy, this field is omitted. + type: string enum: - HEURISTIC_RELEVANCE_UNSPECIFIED - NORMAL - HIGH + policy: + description: >- + The IAM policy attached to the resource. If the sender of the + request does not have access to the policy, this field is empty. + $ref: '#/components/schemas/GoogleIamV1Policy' + fullResourceName: + type: string + description: >- + The full resource name that identifies the resource. For example, + `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. + If the sender of the request does not have access to the policy, + this field is omitted. For examples of full resource names for + Google Cloud services, see + https://cloud.google.com/iam/help/troubleshooter/full-resource-names. access: + type: string + enum: + - ACCESS_STATE_UNSPECIFIED + - GRANTED + - NOT_GRANTED + - UNKNOWN_CONDITIONAL + - UNKNOWN_INFO_DENIED description: >- Indicates whether _this policy_ provides the specified permission to the specified principal for the specified resource. This field does @@ -491,13 +417,6 @@ components: policy. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse. - type: string - enum: - - ACCESS_STATE_UNSPECIFIED - - GRANTED - - NOT_GRANTED - - UNKNOWN_CONDITIONAL - - UNKNOWN_INFO_DENIED enumDescriptions: - Default value. This value is unused. - The principal has the permission. @@ -508,129 +427,54 @@ components: - >- The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate. - policy: - $ref: '#/components/schemas/GoogleIamV1Policy' - description: >- - The IAM policy attached to the resource. If the sender of the - request does not have access to the policy, this field is empty. - GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest: - description: Request for TroubleshootIamPolicy. - properties: - accessTuple: - $ref: '#/components/schemas/GoogleCloudPolicytroubleshooterV1AccessTuple' - description: >- - The information to use for checking whether a principal has a - permission for a resource. - type: object - id: GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest - GoogleCloudPolicytroubleshooterV1BindingExplanation: - type: object - id: GoogleCloudPolicytroubleshooterV1BindingExplanation + id: GoogleCloudPolicytroubleshooterV1ExplainedPolicy + GoogleIamV1AuditConfig: + id: GoogleIamV1AuditConfig description: >- - Details about how a binding in a policy affects a principal's ability to - use a permission. + Specifies the audit configuration for a service. The configuration + determines which permission types are logged, and what identities, if + any, are exempted from logging. An AuditConfig must have one or more + AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + specific service, the union of the two AuditConfigs is used for that + service: the log_types specified in each AuditConfig are enabled, and + the exempted_members in each AuditLogConfig are exempted. Example Policy + with multiple AuditConfigs: { "audit_configs": [ { "service": + "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", + "exempted_members": [ "user:jose@example.com" ] }, { "log_type": + "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": + "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": + "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ + "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy + enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + `jose@example.com` from DATA_READ logging, and `aliya@example.com` from + DATA_WRITE logging. + type: object properties: - role: - description: >- - The role that this binding grants. For example, - `roles/compute.serviceAgent`. For a complete list of predefined IAM - roles, as well as the permissions in each role, see - https://cloud.google.com/iam/help/roles/reference. - type: string - rolePermissionRelevance: + service: type: string - enum: - - HEURISTIC_RELEVANCE_UNSPECIFIED - - NORMAL - - HIGH - enumDescriptions: - - Default value. This value is unused. - - >- - The data point has a limited effect on the result. Changing the - data point is unlikely to affect the overall determination. - - >- - The data point has a strong effect on the result. Changing the - data point is likely to affect the overall determination. - description: >- - The relevance of the permission's existence, or nonexistence, in the - role to the overall determination for the entire policy. - access: description: >- - Required. Indicates whether _this binding_ provides the specified - permission to the specified principal for the specified resource. - This field does _not_ indicate whether the principal actually has - the permission for the resource. There might be another binding that - overrides this binding. To determine whether the principal actually - has the permission, use the `access` field in the - TroubleshootIamPolicyResponse. - type: string - enumDescriptions: - - Default value. This value is unused. - - The principal has the permission. - - The principal does not have the permission. - - >- - The principal has the permission only if a condition expression - evaluates to `true`. - - >- - The sender of the request does not have access to all of the - policies that Policy Troubleshooter needs to evaluate. - enum: - - ACCESS_STATE_UNSPECIFIED - - GRANTED - - NOT_GRANTED - - UNKNOWN_CONDITIONAL - - UNKNOWN_INFO_DENIED - condition: - description: >- - A condition expression that prevents this binding from granting - access unless the expression evaluates to `true`. To learn about IAM - Conditions, see - https://cloud.google.com/iam/help/conditions/overview. - $ref: '#/components/schemas/GoogleTypeExpr' - memberships: - description: >- - Indicates whether each principal in the binding includes the - principal specified in the request, either directly or indirectly. - Each key identifies a principal in the binding, and each value - indicates whether the principal in the binding includes the - principal in the request. For example, suppose that a binding - includes the following principals: * `user:alice@example.com` * - `group:product-eng@example.com` You want to troubleshoot access for - `user:bob@example.com`. This user is a principal of the group - `group:product-eng@example.com`. For the first principal in the - binding, the key is `user:alice@example.com`, and the `membership` - field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the - second principal in the binding, the key is - `group:product-eng@example.com`, and the `membership` field in the - value is set to `MEMBERSHIP_INCLUDED`. - additionalProperties: - $ref: >- - #/components/schemas/GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership - type: object - rolePermission: - description: >- - Indicates whether the role granted by this binding contains the - specified permission. - type: string - enum: - - ROLE_PERMISSION_UNSPECIFIED - - ROLE_PERMISSION_INCLUDED - - ROLE_PERMISSION_NOT_INCLUDED - - ROLE_PERMISSION_UNKNOWN_INFO_DENIED - enumDescriptions: - - Default value. This value is unused. - - The permission is included in the role. - - The permission is not included in the role. - - The sender of the request is not allowed to access the binding. + Specifies a service that will be enabled for audit logging. For + example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + `allServices` is a special value that covers all services. + auditLogConfigs: + items: + $ref: '#/components/schemas/GoogleIamV1AuditLogConfig' + description: The configuration for logging of each type of permission. + type: array + GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership: + description: Details about whether the binding includes the principal. + id: GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership + type: object + properties: relevance: + description: >- + The relevance of the principal's status to the overall determination + for the binding. enum: - HEURISTIC_RELEVANCE_UNSPECIFIED - NORMAL - HIGH type: string - description: >- - The relevance of this binding to the overall determination for the - entire policy. enumDescriptions: - Default value. This value is unused. - >- @@ -639,39 +483,207 @@ components: - >- The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination. + membership: + description: Indicates whether the binding includes the principal. + type: string + enumDescriptions: + - Default value. This value is unused. + - >- + The binding includes the principal. The principal can be included + directly or indirectly. For example: * A principal is included + directly if that principal is listed in the binding. * A principal + is included indirectly if that principal is in a Google group or + Google Workspace domain that is listed in the binding. + - The binding does not include the principal. + - The sender of the request is not allowed to access the binding. + - >- + The principal is an unsupported type. Only Google Accounts and + service accounts are supported. + enum: + - MEMBERSHIP_UNSPECIFIED + - MEMBERSHIP_INCLUDED + - MEMBERSHIP_NOT_INCLUDED + - MEMBERSHIP_UNKNOWN_INFO_DENIED + - MEMBERSHIP_UNKNOWN_UNSUPPORTED GoogleRpcStatus: id: GoogleRpcStatus + description: >- + 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). properties: code: + description: The status code, which should be an enum value of google.rpc.Code. type: integer format: int32 - description: The status code, which should be an enum value of google.rpc.Code. - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - type: string details: items: type: object additionalProperties: description: Properties of the object. Contains field @type with type URL. type: any + type: array description: >- A list of messages that carry the error details. There is a common set of message types for APIs to use. + message: + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + type: object + GoogleIamV1Binding: + properties: + condition: + description: >- + The condition that is associated with this binding. If the condition + evaluates to `true`, then this binding applies to the current + request. If the condition evaluates to `false`, then this binding + does not apply to the current request. However, a different role + binding might grant the same role to one or more of the principals + in this binding. To learn which resources support conditions in + their IAM policies, see the [IAM + documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + $ref: '#/components/schemas/GoogleTypeExpr' + members: + description: >- + Specifies the principals requesting access for a Google Cloud + resource. `members` can have the following values: * `allUsers`: A + special identifier that represents anyone who is on the internet; + with or without a Google account. * `allAuthenticatedUsers`: A + special identifier that represents anyone who is authenticated with + a Google account or a service account. Does not include identities + that come from external identity providers (IdPs) through identity + federation. * `user:{emailid}`: An email address that represents a + specific Google account. For example, `alice@example.com` . * + `serviceAccount:{emailid}`: An email address that represents a + Google service account. For example, + `my-other-app@appspot.gserviceaccount.com`. * + `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + An identifier for a [Kubernetes service + account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + For example, + `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + `group:{emailid}`: An email address that represents a Google group. + For example, `admins@example.com`. * `domain:{domain}`: The G Suite + domain (primary) that represents all the users of that domain. For + example, `google.com` or `example.com`. * + `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workforce identity pool. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + All workforce identities in a group. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All workforce identities with a specific attribute value. * + `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: + All identities in a workforce identity pool. * + `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + A single identity in a workload identity pool. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + A workload identity pool group. * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + All identities in a workload identity pool with a certain attribute. + * + `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: + All identities in a workload identity pool. * + `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + unique identifier) representing a user that has been recently + deleted. For example, `alice@example.com?uid=123456789012345678901`. + If the user is recovered, this value reverts to `user:{emailid}` and + the recovered user retains the role in the binding. * + `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address + (plus unique identifier) representing a service account that has + been recently deleted. For example, + `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + If the service account is undeleted, this value reverts to + `serviceAccount:{emailid}` and the undeleted service account retains + the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: + An email address (plus unique identifier) representing a Google + group that has been recently deleted. For example, + `admins@example.com?uid=123456789012345678901`. If the group is + recovered, this value reverts to `group:{emailid}` and the recovered + group retains the role in the binding. * + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + Deleted single identity in a workforce identity pool. For example, + `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + items: + type: string type: array - description: >- - 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). + role: + description: >- + 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). + type: string + id: GoogleIamV1Binding + description: Associates `members`, or principals, with a `role`. + type: object + GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse: + properties: + access: + description: >- + Indicates whether the principal has the specified permission for the + specified resource, based on evaluating all of the applicable IAM + policies. + enum: + - ACCESS_STATE_UNSPECIFIED + - GRANTED + - NOT_GRANTED + - UNKNOWN_CONDITIONAL + - UNKNOWN_INFO_DENIED + enumDescriptions: + - Default value. This value is unused. + - The principal has the permission. + - The principal does not have the permission. + - >- + The principal has the permission only if a condition expression + evaluates to `true`. + - >- + The sender of the request does not have access to all of the + policies that Policy Troubleshooter needs to evaluate. + type: string + errors: + description: The general errors contained in the troubleshooting response. + items: + $ref: '#/components/schemas/GoogleRpcStatus' + type: array + explainedPolicies: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudPolicytroubleshooterV1ExplainedPolicy + description: >- + List of IAM policies that were evaluated to check the principal's + permissions, with annotations to indicate how each policy + contributed to the final result. The list of policies can include + the policy for the resource itself. It can also include policies + that are inherited from higher levels of the resource hierarchy, + including the organization, the folder, and the project. To learn + more about the resource hierarchy, see + https://cloud.google.com/iam/help/resource-hierarchy. + description: Response for TroubleshootIamPolicy. type: object + id: GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse parameters: + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string _.xgafv: description: V1 error format. in: query @@ -681,12 +693,27 @@ components: enum: - '1' - '2' + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string prettyPrint: description: Returns response with indentations and line breaks. in: query @@ -703,39 +730,12 @@ components: - json - media - proto - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string oauth_token: description: OAuth 2.0 token for the current user. in: query name: oauth_token schema: type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string key: description: >- API key. Your API key identifies your project and provides you with API @@ -745,10 +745,10 @@ components: name: key schema: type: string - callback: - description: JSONP + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: callback + name: fields schema: type: string x-stackQL-resources: @@ -772,17 +772,17 @@ components: paths: /v1/iam:troubleshoot: parameters: + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/fields' post: description: >- Checks whether a principal has a specific permission for a specific diff --git a/providers/src/googleapis.com/v00.00.00000/services/pollen.yaml b/providers/src/googleapis.com/v00.00.00000/services/pollen.yaml index ec333a96..afa6dd6c 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/pollen.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/pollen.yaml @@ -7,8 +7,8 @@ info: title: Pollen API description: 'The Pollen API. ' version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/maps/documentation/pollen servers: @@ -34,125 +34,39 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - HttpBody: - id: HttpBody - type: object - description: >- - Message that represents an arbitrary HTTP body. It should only be used - for payload formats that can't be represented as JSON, such as raw - binary or an HTML page. This message can be used both in streaming and - non-streaming API methods in the request as well as the response. It can - be used as a top-level request field, which is convenient if one wants - to extract parameters from either the URL or HTTP template into the - request fields and also want access to the raw HTTP body. Example: - message GetResourceRequest { // A unique request id. string request_id = - 1; // The raw HTTP body is bound to this field. google.api.HttpBody - http_body = 2; } service ResourceService { rpc - GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } - Example with streaming methods: service CaldavService { rpc - GetCalendar(stream google.api.HttpBody) returns (stream - google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) - returns (stream google.api.HttpBody); } Use of this type only changes - how the request and response bodies are handled, all other features will - continue to work unchanged. - properties: - contentType: - description: >- - The HTTP Content-Type header value specifying the content type of - the body. - type: string - data: - type: string - format: byte - description: The HTTP request/response body as raw binary. - extensions: - items: - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - description: >- - Application specific response metadata. Must be set in the first - response for streaming APIs. - type: array - IndexInfo: - id: IndexInfo - type: object - description: >- - This object contains data representing specific pollen index value, - category and description. - properties: - indexDescription: - type: string - description: Textual explanation of current index level. - category: - type: string - description: >- - Text classification of index numerical score interpretation. The - index consists of six categories: * 0: "None" * 1: "Very low" * 2: - "Low" * 3: "Moderate" * 4: "High" * 5: "Very high - value: - description: The index's numeric score. Numeric range is between 0 and 5. - format: int32 - type: integer - displayName: - description: >- - A human readable representation of the index name. Example: - "Universal Pollen Index". - type: string - code: - enum: - - INDEX_UNSPECIFIED - - UPI - enumDescriptions: - - Unspecified index. - - Universal Pollen Index. - description: >- - The index's code. This field represents the index for programming - purposes by using snake cases instead of spaces. Example: "UPI". - type: string - color: - $ref: '#/components/schemas/Color' - description: The color used to represent the Pollen Index numeric score. - DayInfo: - type: object - description: >- - This object contains the daily forecast information for each day - requested. - id: DayInfo - properties: - pollenTypeInfo: - type: array - items: - $ref: '#/components/schemas/PollenTypeInfo' - description: >- - This list will include up to three pollen types (GRASS, WEED, TREE) - affecting the location specified in the request. - date: - $ref: '#/components/schemas/Date' - description: The date in UTC at which the pollen forecast data is represented. - plantInfo: - description: >- - This list will include up to 15 pollen species affecting the - location specified in the request. - items: - $ref: '#/components/schemas/PlantInfo' - type: array PlantInfo: properties: + indexInfo: + description: >- + This object contains data representing specific pollen index value, + category and description. + $ref: '#/components/schemas/IndexInfo' plantDescription: $ref: '#/components/schemas/PlantDescription' description: >- Contains general information about plants, including details on their seasonality, special shapes and colors, information about allergic cross-reactions, and plant photos. - displayName: - description: >- - A human readable representation of the plant name. Example: - “Cottonwood". - type: string code: + enum: + - PLANT_UNSPECIFIED + - ALDER + - ASH + - BIRCH + - COTTONWOOD + - ELM + - MAPLE + - OLIVE + - JUNIPER + - OAK + - PINE + - CYPRESS_PINE + - HAZEL + - GRAMINALES + - RAGWEED + - MUGWORT + - JAPANESE_CEDAR + - JAPANESE_CYPRESS description: >- The plant code name. For example: "COTTONWOOD". A list of all available codes could be found here. @@ -176,59 +90,195 @@ components: - Mugwort is classified as a weed pollen type. - Japanese cedar is classified as a tree pollen type. - Japanese cypress is classified as a tree pollen type. - enum: - - PLANT_UNSPECIFIED - - ALDER - - ASH - - BIRCH - - COTTONWOOD - - ELM - - MAPLE - - OLIVE - - JUNIPER - - OAK - - PINE - - CYPRESS_PINE - - HAZEL - - GRAMINALES - - RAGWEED - - MUGWORT - - JAPANESE_CEDAR - - JAPANESE_CYPRESS + displayName: + type: string + description: >- + A human readable representation of the plant name. Example: + “Cottonwood". inSeason: description: Indication of either the plant is in season or not. type: boolean + type: object + id: PlantInfo + description: This object contains the daily information on specific plant. + PlantDescription: + type: object + description: >- + Contains general information about plants, including details on their + seasonality, special shapes and colors, information about allergic + cross-reactions, and plant photos. + properties: + season: + description: >- + Textual list of explanations of seasons where the pollen is active. + Example: "Late winter, spring". + type: string + specialShapes: + type: string + description: >- + Textual description of the plants' shapes of leaves, bark, flowers + or seeds that helps identify the plant. + specialColors: + type: string + description: >- + Textual description of the plants' colors of leaves, bark, flowers + or seeds that helps identify the plant. + picture: + description: Link to the picture of the plant. + type: string + type: + description: >- + The plant's pollen type. For example: "GRASS". A list of all + available codes could be found here. + enum: + - POLLEN_TYPE_UNSPECIFIED + - GRASS + - TREE + - WEED + enumDescriptions: + - Unspecified plant type. + - Grass pollen type. + - Tree pollen type. + - Weed pollen type. + type: string + family: + description: >- + A human readable representation of the plant family name. Example: + "Betulaceae (the Birch family)". + type: string + crossReaction: + type: string + description: >- + Textual description of pollen cross reaction plants. Example: Alder, + Hazel, Hornbeam, Beech, Willow, and Oak pollen. + pictureCloseup: + description: Link to a closeup picture of the plant. + type: string + id: PlantDescription + PollenTypeInfo: + properties: indexInfo: + description: Contains the Universal Pollen Index (UPI) data for the pollen type. $ref: '#/components/schemas/IndexInfo' + healthRecommendations: description: >- - This object contains data representing specific pollen index value, - category and description. - description: This object contains the daily information on specific plant. + Textual list of explanations, related to health insights based on + the current pollen levels. + type: array + items: + type: string + code: + type: string + enum: + - POLLEN_TYPE_UNSPECIFIED + - GRASS + - TREE + - WEED + description: 'The pollen type''s code name. For example: "GRASS"' + enumDescriptions: + - Unspecified plant type. + - Grass pollen type. + - Tree pollen type. + - Weed pollen type. + inSeason: + type: boolean + description: Indication whether the plant is in season or not. + displayName: + description: >- + A human readable representation of the pollen type name. Example: + "Grass" + type: string + description: >- + This object contains the pollen type index and health recommendation + information on specific pollen type. + type: object + id: PollenTypeInfo + LookupForecastResponse: + id: LookupForecastResponse + type: object + properties: + dailyInfo: + type: array + description: >- + Required. This object contains the daily forecast information for + each day requested. + items: + $ref: '#/components/schemas/DayInfo' + regionCode: + type: string + description: >- + The ISO_3166-1 alpha-2 code of the country/region corresponding to + the location provided in the request. This field might be omitted + from the response if the location provided in the request resides in + a disputed territory. + nextPageToken: + type: string + description: Optional. The token to retrieve the next page. + HttpBody: + id: HttpBody + description: >- + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. + properties: + contentType: + description: >- + The HTTP Content-Type header value specifying the content type of + the body. + type: string + data: + format: byte + type: string + description: The HTTP request/response body as raw binary. + extensions: + items: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object + type: array + description: >- + Application specific response metadata. Must be set in the first + response for streaming APIs. type: object - id: PlantInfo Date: - id: Date type: object properties: day: + format: int32 description: >- Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. - format: int32 type: integer month: - type: integer format: int32 description: >- Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + type: integer year: + format: int32 description: >- Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. type: integer - format: int32 + id: Date description: >- Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are @@ -239,74 +289,70 @@ components: * 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 - PollenTypeInfo: - type: object - description: >- - This object contains the pollen type index and health recommendation - information on specific pollen type. + IndexInfo: properties: - healthRecommendations: + code: + type: string + enum: + - INDEX_UNSPECIFIED + - UPI + enumDescriptions: + - Unspecified index. + - Universal Pollen Index. description: >- - Textual list of explanations, related to health insights based on - the current pollen levels. - type: array - items: - type: string + The index's code. This field represents the index for programming + purposes by using snake cases instead of spaces. Example: "UPI". displayName: + type: string description: >- - A human readable representation of the pollen type name. Example: - "Grass" + A human readable representation of the index name. Example: + "Universal Pollen Index". + value: + type: integer + format: int32 + description: The index's numeric score. Numeric range is between 0 and 5. + category: type: string - code: - enum: - - POLLEN_TYPE_UNSPECIFIED - - GRASS - - TREE - - WEED - enumDescriptions: - - Unspecified plant type. - - Grass pollen type. - - Tree pollen type. - - Weed pollen type. + description: >- + Text classification of index numerical score interpretation. The + index consists of six categories: * 0: "None" * 1: "Very low" * 2: + "Low" * 3: "Moderate" * 4: "High" * 5: "Very high + color: + description: The color used to represent the Pollen Index numeric score. + $ref: '#/components/schemas/Color' + indexDescription: + description: Textual explanation of current index level. type: string - description: 'The pollen type''s code name. For example: "GRASS"' - indexInfo: - description: Contains the Universal Pollen Index (UPI) data for the pollen type. - $ref: '#/components/schemas/IndexInfo' - inSeason: - type: boolean - description: Indication whether the plant is in season or not. - id: PollenTypeInfo - Color: + description: >- + This object contains data representing specific pollen index value, + category and description. + id: IndexInfo + type: object + DayInfo: + id: DayInfo + type: object properties: - blue: - description: The amount of blue in the color as a value in the interval [0, 1]. - format: float - type: number - alpha: + date: + $ref: '#/components/schemas/Date' + description: The date in UTC at which the pollen forecast data is represented. + plantInfo: description: >- - The fraction of this color that should be applied to the pixel. That - is, the final pixel color is defined by the equation: `pixel color = - alpha * (this color) + (1.0 - alpha) * (background color)` This - means that a value of 1.0 corresponds to a solid color, whereas a - value of 0.0 corresponds to a completely transparent color. This - uses a wrapper message rather than a simple float scalar so that it - is possible to distinguish between a default value and the value - being unset. If omitted, this color object is rendered as a solid - color (as if the alpha value had been explicitly given a value of - 1.0). - type: number - format: float - green: - description: The amount of green in the color as a value in the interval [0, 1]. - format: float - type: number - red: - format: float - type: number - description: The amount of red in the color as a value in the interval [0, 1]. - type: object - id: Color + This list will include up to 15 pollen species affecting the + location specified in the request. + items: + $ref: '#/components/schemas/PlantInfo' + type: array + pollenTypeInfo: + type: array + items: + $ref: '#/components/schemas/PollenTypeInfo' + description: >- + This list will include up to three pollen types (GRASS, WEED, TREE) + affecting the location specified in the request. + description: >- + This object contains the daily forecast information for each day + requested. + Color: description: >- Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations @@ -356,109 +402,69 @@ components: rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { - resultBuilder.push('0'); } resultBuilder.push(hexString); return - resultBuilder.join(''); }; // ... - PlantDescription: - type: object - properties: - specialColors: - type: string - description: >- - Textual description of the plants' colors of leaves, bark, flowers - or seeds that helps identify the plant. - specialShapes: - description: >- - Textual description of the plants' shapes of leaves, bark, flowers - or seeds that helps identify the plant. - type: string - family: - type: string - description: >- - A human readable representation of the plant family name. Example: - "Betulaceae (the Birch family)". - type: - description: >- - The plant's pollen type. For example: "GRASS". A list of all - available codes could be found here. - enum: - - POLLEN_TYPE_UNSPECIFIED - - GRASS - - TREE - - WEED - enumDescriptions: - - Unspecified plant type. - - Grass pollen type. - - Tree pollen type. - - Weed pollen type. - type: string - season: - description: >- - Textual list of explanations of seasons where the pollen is active. - Example: "Late winter, spring". - type: string - crossReaction: - description: >- - Textual description of pollen cross reaction plants. Example: Alder, - Hazel, Hornbeam, Beech, Willow, and Oak pollen. - type: string - pictureCloseup: - description: Link to a closeup picture of the plant. - type: string - picture: - type: string - description: Link to the picture of the plant. - id: PlantDescription - description: >- - Contains general information about plants, including details on their - seasonality, special shapes and colors, information about allergic - cross-reactions, and plant photos. - LookupForecastResponse: - type: object - id: LookupForecastResponse - properties: - dailyInfo: - description: >- - Required. This object contains the daily forecast information for - each day requested. - type: array - items: - $ref: '#/components/schemas/DayInfo' - nextPageToken: - type: string - description: Optional. The token to retrieve the next page. - regionCode: - type: string + resultBuilder.push('0'); } resultBuilder.push(hexString); return + resultBuilder.join(''); }; // ... + type: object + properties: + blue: + type: number + description: The amount of blue in the color as a value in the interval [0, 1]. + format: float + alpha: + format: float description: >- - The ISO_3166-1 alpha-2 code of the country/region corresponding to - the location provided in the request. This field might be omitted - from the response if the location provided in the request resides in - a disputed territory. + The fraction of this color that should be applied to the pixel. That + is, the final pixel color is defined by the equation: `pixel color = + alpha * (this color) + (1.0 - alpha) * (background color)` This + means that a value of 1.0 corresponds to a solid color, whereas a + value of 0.0 corresponds to a completely transparent color. This + uses a wrapper message rather than a simple float scalar so that it + is possible to distinguish between a default value and the value + being unset. If omitted, this color object is rendered as a solid + color (as if the alpha value had been explicitly given a value of + 1.0). + type: number + green: + format: float + type: number + description: The amount of green in the color as a value in the interval [0, 1]. + red: + description: The amount of red in the color as a value in the interval [0, 1]. + type: number + format: float + id: Color parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + callback: + description: JSONP in: query - name: quotaUser + name: callback schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: uploadType + name: key schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. + _.xgafv: + description: V1 error format. in: query - name: prettyPrint + name: $.xgafv schema: - type: boolean - oauth_token: - description: OAuth 2.0 token for the current user. + type: string + enum: + - '1' + - '2' + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: oauth_token + name: quotaUser schema: type: string access_token: @@ -467,19 +473,22 @@ components: name: access_token schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: upload_protocol + name: oauth_token schema: type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: key + name: prettyPrint + schema: + type: boolean + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields schema: type: string alt: @@ -492,36 +501,28 @@ components: - json - media - proto - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - _.xgafv: - description: V1 error format. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: $.xgafv + name: uploadType schema: type: string - enum: - - '1' - - '2' - callback: - description: JSONP + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: callback + name: upload_protocol schema: type: string x-stackQL-resources: - forecast: - id: google.pollen.forecast - name: forecast - title: Forecast + heatmap_tiles: + id: google.pollen.heatmap_tiles + name: heatmap_tiles + title: Heatmap_tiles methods: - lookup: + lookup_heatmap_tile: operation: - $ref: '#/paths/~1v1~1forecast:lookup/get' + $ref: >- + #/paths/~1v1~1mapTypes~1{mapType}~1heatmapTiles~1{zoom}~1{x}~1{y}/get response: mediaType: application/json openAPIDocKey: '200' @@ -531,15 +532,14 @@ components: update: [] replace: [] delete: [] - heatmap_tiles: - id: google.pollen.heatmap_tiles - name: heatmap_tiles - title: Heatmap_tiles + forecast: + id: google.pollen.forecast + name: forecast + title: Forecast methods: - lookup_heatmap_tile: + lookup: operation: - $ref: >- - #/paths/~1v1~1mapTypes~1{mapType}~1heatmapTiles~1{zoom}~1{x}~1{y}/get + $ref: '#/paths/~1v1~1forecast:lookup/get' response: mediaType: application/json openAPIDocKey: '200' @@ -550,24 +550,22 @@ components: replace: [] delete: [] paths: - /v1/forecast:lookup: + /v1/mapTypes/{mapType}/heatmapTiles/{zoom}/{x}/{y}: parameters: &ref_1 + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/upload_protocol' get: - description: >- - Returns up to 5 days of daily pollen information in more than 65 - countries, up to 1km resolution. - operationId: pollen.forecast.lookup + description: Returns a byte array containing the data of the tile PNG image. + operationId: pollen.mapTypes.heatmapTiles.lookupHeatmapTile security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -579,45 +577,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LookupForecastResponse' + $ref: '#/components/schemas/HttpBody' parameters: - - in: query - name: pageToken + - in: path + name: mapType + required: true schema: type: string - - in: query - name: days - schema: - type: integer - format: int32 - - in: query - name: languageCode + - in: path + name: zoom + required: true schema: type: string - - in: query - name: location.longitude - schema: - type: number - format: double - - in: query - name: location.latitude - schema: - type: number - format: double - - in: query - name: plantsDescription + - in: path + name: x + required: true schema: - type: boolean - - in: query - name: pageSize + type: string + - in: path + name: 'y' + required: true schema: - type: integer - format: int32 - /v1/mapTypes/{mapType}/heatmapTiles/{zoom}/{x}/{y}: + type: string + /v1/forecast:lookup: parameters: *ref_1 get: - description: Returns a byte array containing the data of the tile PNG image. - operationId: pollen.mapTypes.heatmapTiles.lookupHeatmapTile + description: >- + Returns up to 5 days of daily pollen information in more than 65 + countries, up to 1km resolution. + operationId: pollen.forecast.lookup security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -629,25 +617,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/HttpBody' + $ref: '#/components/schemas/LookupForecastResponse' parameters: - - in: path - name: mapType - required: true + - in: query + name: location.longitude schema: - type: string - - in: path - name: zoom - required: true + type: number + format: double + - in: query + name: languageCode schema: type: string - - in: path - name: x - required: true + - in: query + name: pageToken schema: type: string - - in: path - name: 'y' - required: true + - in: query + name: days schema: - type: string + type: integer + format: int32 + - in: query + name: plantsDescription + schema: + type: boolean + - in: query + name: location.latitude + schema: + type: number + format: double + - in: query + name: pageSize + schema: + type: integer + format: int32 diff --git a/providers/src/googleapis.com/v00.00.00000/services/privateca.yaml b/providers/src/googleapis.com/v00.00.00000/services/privateca.yaml index 834b753e..f7f722cc 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/privateca.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/privateca.yaml @@ -11,8 +11,8 @@ info: certificate authorities (CAs) while staying in control of your private keys. version: v1 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/ servers: @@ -1051,8 +1051,9 @@ components: properties: name: description: >- - Output only. The resource name for this CertificateAuthority in the - format `projects/*/locations/*/caPools/*/certificateAuthorities/*`. + Output only. Identifier. The resource name for this + CertificateAuthority in the format + `projects/*/locations/*/caPools/*/certificateAuthorities/*`. readOnly: true type: string type: @@ -1395,8 +1396,8 @@ components: properties: name: description: >- - Output only. The resource name for this CaPool in the format - `projects/*/locations/*/caPools/*`. + Output only. Identifier. The resource name for this CaPool in the + format `projects/*/locations/*/caPools/*`. readOnly: true type: string tier: diff --git a/providers/src/googleapis.com/v00.00.00000/services/prod_tt_sasportal.yaml b/providers/src/googleapis.com/v00.00.00000/services/prod_tt_sasportal.yaml index a9f1769b..63bbe752 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/prod_tt_sasportal.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/prod_tt_sasportal.yaml @@ -7,8 +7,8 @@ info: title: SAS Portal API (Testing) description: '' version: v1alpha1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241103' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/spectrum-access-system/ servers: @@ -22,10 +22,10 @@ components: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: &ref_0 + https://www.googleapis.com/auth/sasportal: Read, create, update, and delete your SAS Portal data. 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. - https://www.googleapis.com/auth/sasportal: Read, create, update, and delete your SAS Portal data. Oauth2c: type: oauth2 description: Oauth 2.0 authorization code authentication @@ -35,1039 +35,880 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - SasPortalGetPolicyRequest: - description: Request message for `GetPolicy` method. - id: SasPortalGetPolicyRequest + SasPortalSetPolicyRequest: type: object + id: SasPortalSetPolicyRequest + description: Request message for `SetPolicy` method. properties: + policy: + $ref: '#/components/schemas/SasPortalPolicy' + description: Required. The policy to be applied to the `resource`. resource: - description: Required. The resource for which the policy is being requested. type: string - SasPortalNode: + description: >- + Required. The resource for which the policy is being specified. This + policy replaces any existing policy. + disableNotification: + type: boolean + description: >- + Optional. Set the field as `true` to disable the onboarding + notification. + SasPortalListDevicesResponse: type: object - id: SasPortalNode + id: SasPortalListDevicesResponse + description: Response for ListDevices. properties: - sasUserIds: - type: array - description: User ids used by the devices belonging to this node. - items: - type: string - name: - description: Output only. Resource name. - type: string - displayName: + nextPageToken: + description: >- + A pagination token returned from a previous call to ListDevices that + indicates from where listing should continue. If the field is + missing or empty, it means there is no more devices. type: string - description: The node's display name. - description: The Node. - SasPortalTestPermissionsRequest: - id: SasPortalTestPermissionsRequest - description: Request message for `TestPermissions` method. - properties: - permissions: - type: array + devices: + description: The devices that match the request. items: - type: string - description: The set of permissions to check for the `resource`. - resource: - type: string - description: >- - Required. The resource for which the permissions are being - requested. + $ref: '#/components/schemas/SasPortalDevice' + type: array + SasPortalSetupSasAnalyticsMetadata: type: object - SasPortalMigrateOrganizationResponse: + id: SasPortalSetupSasAnalyticsMetadata + properties: {} description: >- - Response for [MigrateOrganization]. - [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. + Metadata returned by the long running operation for the + SetupSasAnalytics rpc. + SasPortalValidateInstallerResponse: + id: SasPortalValidateInstallerResponse + type: object + description: Response for ValidateInstaller. + properties: {} + SasPortalDevice: + type: object + id: SasPortalDevice properties: - deploymentAssociation: + state: + description: Output only. Device state. + enum: + - DEVICE_STATE_UNSPECIFIED + - RESERVED + - REGISTERED + - DEREGISTERED + enumDescriptions: + - Unspecified state. + - >- + Device created in the SAS Portal, however, not yet registered with + SAS. + - Device registered with SAS. + - Device de-registered with SAS. + type: string + grantRangeAllowlists: items: - $ref: '#/components/schemas/SasPortalDeploymentAssociation' - description: >- - Optional. A list of deployment association that were created for the - migration, or current associations if they already exist. + $ref: '#/components/schemas/SasPortalFrequencyRange' type: array - id: SasPortalMigrateOrganizationResponse - type: object - SasPortalDeviceAirInterface: - properties: - supportedSpec: description: >- - Optional. This field is related to the `radioTechnology` and - provides the air interface specification that the CBSD is compliant - with at the time of registration. + Only ranges that are within the allowlists are available for new + grants. + fccId: + description: >- + The FCC identifier of the device. Refer to + https://www.fcc.gov/oet/ea/fccid for FccID format. Accept + underscores and periods because some test-SAS customers use them. type: string - radioTechnology: - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + serialNumber: type: string + description: A serial number assigned to the device by the device manufacturer. + currentChannels: + description: Output only. Current channels with scores. + items: + $ref: '#/components/schemas/SasPortalChannelWithScore' + deprecated: true + readOnly: true + type: array + deviceMetadata: description: >- - Conditional. This field specifies the radio access technology that - is used for the CBSD. - enum: - - RADIO_TECHNOLOGY_UNSPECIFIED - - E_UTRA - - CAMBIUM_NETWORKS - - FOUR_G_BBW_SAA_1 - - NR - - DOODLE_CBRS - - CW - - REDLINE - - TARANA_WIRELESS - - FAROS - id: SasPortalDeviceAirInterface - description: Information about the device's air interface. - type: object - SasPortalDeviceModel: - type: object - properties: - firmwareVersion: - type: string - description: The firmware version of the device. - softwareVersion: - description: The software version of the device. + Device parameters that can be overridden by both SAS Portal and SAS + registration requests. + $ref: '#/components/schemas/SasPortalDeviceMetadata' + activeConfig: + description: >- + Output only. Current configuration of the device as registered to + the SAS. + $ref: '#/components/schemas/SasPortalDeviceConfig' + preloadedConfig: + description: Configuration of the device, as specified via SAS Portal API. + $ref: '#/components/schemas/SasPortalDeviceConfig' + grants: + description: Output only. Grants held by the device. + type: array + items: + $ref: '#/components/schemas/SasPortalDeviceGrant' + displayName: type: string + description: Device display name. name: - description: The name of the device model. - type: string - vendor: - type: string - description: The name of the device vendor. - hardwareVersion: - description: The hardware version of the device. + description: Output only. The resource path name. type: string - id: SasPortalDeviceModel - description: Information about the model of the device. - SasPortalPolicy: + SasPortalCreateSignedDeviceRequest: properties: - etag: + installerId: type: string description: >- - 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. + Required. Unique installer id (CPI ID) from the Certified + Professional Installers database. + encodedDevice: format: byte - assignments: - items: - $ref: '#/components/schemas/SasPortalAssignment' - type: array - description: List of assignments - description: Defines an access control policy to the resources. - id: SasPortalPolicy + description: >- + Required. JSON Web Token signed using a CPI private key. Payload + must be the JSON encoding of the device. The user_id field must be + set. + type: string type: object - SasPortalSetPolicyRequest: + description: Request for CreateSignedDevice. + id: SasPortalCreateSignedDeviceRequest + SasPortalStatus: properties: - disableNotification: - type: boolean + details: + items: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object description: >- - Optional. Set the field as `true` to disable the onboarding - notification. - policy: - $ref: '#/components/schemas/SasPortalPolicy' - description: Required. The policy to be applied to the `resource`. - resource: - type: string + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + type: array + message: description: >- - Required. The resource for which the policy is being specified. This - policy replaces any existing policy. - type: object - id: SasPortalSetPolicyRequest - description: Request message for `SetPolicy` method. - SasPortalEmpty: + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + code: + format: int32 + description: The status code, which should be an enum value of google.rpc.Code. + type: integer description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: SasPortalEmpty - type: object - properties: {} - SasPortalMigrateOrganizationMetadata: + 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). + type: object + id: SasPortalStatus + SasPortalOperation: + properties: + response: + description: >- + 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`. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object + error: + $ref: '#/components/schemas/SasPortalStatus' + description: >- + The error result of the operation in case of failure or + cancellation. + name: + type: string + description: >- + 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}`. + done: + description: >- + 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. + type: boolean + metadata: + description: >- + 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. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: object description: >- - Long-running operation metadata message returned by the - MigrateOrganization. + This resource represents a long-running operation that is the result of + a network API call. + id: SasPortalOperation + type: object + SasPortalUpdateSignedDeviceRequest: + id: SasPortalUpdateSignedDeviceRequest + description: Request for UpdateSignedDevice. + type: object properties: - operationState: - readOnly: true - description: Output only. Current operation state - enumDescriptions: - - Unspecified. - - Pending (Not started). - - In-progress. - - Done successfully. - - Done with errors. + installerId: + description: >- + Required. Unique installer ID (CPI ID) from the Certified + Professional Installers database. type: string - enum: - - OPERATION_STATE_UNSPECIFIED - - OPERATION_STATE_PENDING - - OPERATION_STATE_RUNNING - - OPERATION_STATE_SUCCEEDED - - OPERATION_STATE_FAILED - id: SasPortalMigrateOrganizationMetadata + encodedDevice: + format: byte + description: >- + Required. The JSON Web Token signed using a CPI private key. Payload + must be the JSON encoding of the device. The user_id field must be + set. + type: string + SasPortalTestPermissionsRequest: type: object - SasPortalMigrateOrganizationRequest: - id: SasPortalMigrateOrganizationRequest + id: SasPortalTestPermissionsRequest + description: Request message for `TestPermissions` method. + properties: + resource: + description: >- + Required. The resource for which the permissions are being + requested. + type: string + permissions: + items: + type: string + type: array + description: The set of permissions to check for the `resource`. + SasPortalDeviceGrant: type: object description: >- - Request for [MigrateOrganization]. - [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. GCP - Project, Organization Info, and caller's GAIA ID should be retrieved - from the RPC handler, and used to check authorization on SAS Portal - organization and to create GCP Projects. + Device grant. It is an authorization provided by the Spectrum Access + System to a device to transmit using specified operating parameters + after a successful heartbeat by the device. properties: - organizationId: - description: Required. Id of the SAS organization to be migrated. - format: int64 + expireTime: type: string - SasPortalListDevicesResponse: - description: Response for ListDevices. - properties: - nextPageToken: + description: The expiration time of the grant. + format: google-datetime + suspensionReason: + description: If the grant is suspended, the reason(s) for suspension. + type: array + items: + type: string + lastHeartbeatTransmitExpireTime: + description: The transmit expiration time of the last heartbeat. type: string + format: google-datetime + state: + description: State of the grant. + enum: + - GRANT_STATE_UNSPECIFIED + - GRANT_STATE_GRANTED + - GRANT_STATE_TERMINATED + - GRANT_STATE_SUSPENDED + - GRANT_STATE_AUTHORIZED + - GRANT_STATE_EXPIRED + enumDescriptions: + - '' + - >- + The grant has been granted but the device is not heartbeating on + it. + - The grant has been terminated by the SAS. + - The grant has been suspended by the SAS. + - The device is currently transmitting. + - The grant has expired. + type: string + maxEirp: + type: number + format: double description: >- - A pagination token returned from a previous call to ListDevices that - indicates from where listing should continue. If the field is - missing or empty, it means there is no more devices. - devices: + Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by + the grant. The maximum EIRP is in units of dBm/MHz. The value of + `maxEirp` represents the average (RMS) EIRP that would be measured + by the procedure defined in FCC part 96.41(e)(3). + grantId: + description: Grant Id. + type: string + moveList: + items: + $ref: '#/components/schemas/SasPortalDpaMoveList' + description: The DPA move lists on which this grant appears. + type: array + channelType: + description: Type of channel used. + type: string + enumDescriptions: + - '' + - '' + - '' + enum: + - CHANNEL_TYPE_UNSPECIFIED + - CHANNEL_TYPE_GAA + - CHANNEL_TYPE_PAL + frequencyRange: + description: The transmission frequency range. + $ref: '#/components/schemas/SasPortalFrequencyRange' + id: SasPortalDeviceGrant + SasPortalMigrateOrganizationResponse: + description: >- + Response for [MigrateOrganization]. + [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. + properties: + deploymentAssociation: type: array + description: >- + Optional. A list of deployment association that were created for the + migration, or current associations if they already exist. items: - $ref: '#/components/schemas/SasPortalDevice' - description: The devices that match the request. - type: object - id: SasPortalListDevicesResponse - SasPortalGenerateSecretRequest: - description: Request for GenerateSecret. - type: object - id: SasPortalGenerateSecretRequest - properties: {} - SasPortalDeploymentAssociation: - id: SasPortalDeploymentAssociation - description: Association between a gcp project and a SAS user id. + $ref: '#/components/schemas/SasPortalDeploymentAssociation' type: object + id: SasPortalMigrateOrganizationResponse + SasPortalNode: properties: - gcpProjectId: + displayName: type: string - description: GCP project id of the associated project. - userId: - description: User id of the deployment. + description: The node's display name. + name: type: string - SasPortalGcpProjectDeployment: - id: SasPortalGcpProjectDeployment + description: Output only. Resource name. + sasUserIds: + items: + type: string + description: User ids used by the devices belonging to this node. + type: array + id: SasPortalNode type: object + description: The Node. + SasPortalSetupSasAnalyticsResponse: + properties: {} description: >- - Deployment associated with the GCP project. Includes whether SAS - analytics has been enabled or not. + Response returned by the long running operation for the + SetupSasAnalytics rpc. + type: object + id: SasPortalSetupSasAnalyticsResponse + SasPortalListDeploymentsResponse: + description: Response for ListDeployments. properties: - deployment: - $ref: '#/components/schemas/SasPortalDeployment' - description: Deployment associated with the GCP project. - hasEnabledAnalytics: - type: boolean - description: Whether SAS analytics has been enabled. - SasPortalDpaMoveList: + nextPageToken: + description: >- + A pagination token returned from a previous call to ListDeployments + that indicates from where listing should continue. If the field is + missing or empty, it means there are no more deployments. + type: string + deployments: + items: + $ref: '#/components/schemas/SasPortalDeployment' + type: array + description: The deployments that match the request. type: object + id: SasPortalListDeploymentsResponse + SasPortalGetPolicyRequest: + description: Request message for `GetPolicy` method. properties: - frequencyRange: - description: The frequency range that the move list affects. - $ref: '#/components/schemas/SasPortalFrequencyRange' - dpaId: - description: The ID of the DPA. + resource: + description: Required. The resource for which the policy is being requested. type: string - description: An entry in a DPA's move list. - id: SasPortalDpaMoveList - SasPortalMoveDeploymentRequest: + type: object + id: SasPortalGetPolicyRequest + SasPortalDeploymentAssociation: properties: - destination: + gcpProjectId: + description: GCP project id of the associated project. type: string - description: >- - Required. The name of the new parent resource node or customer to - reparent the deployment under. + userId: + type: string + description: User id of the deployment. + id: SasPortalDeploymentAssociation + description: Association between a gcp project and a SAS user id. type: object - description: Request for MoveDeployment. - id: SasPortalMoveDeploymentRequest - SasPortalInstallationParams: - id: SasPortalInstallationParams - description: Information about the device installation parameters. + SasPortalGenerateSecretRequest: + id: SasPortalGenerateSecretRequest + type: object + description: Request for GenerateSecret. + properties: {} + SasPortalTestPermissionsResponse: + properties: + permissions: + description: A set of permissions that the caller is allowed. + items: + type: string + type: array + description: Response message for `TestPermissions` method. type: object + id: SasPortalTestPermissionsResponse + SasPortalDeviceModel: + description: Information about the model of the device. properties: - heightType: - description: Specifies how the height is measured. - enum: - - HEIGHT_TYPE_UNSPECIFIED - - HEIGHT_TYPE_AGL - - HEIGHT_TYPE_AMSL + name: type: string - enumDescriptions: - - Unspecified height type. - - AGL height is measured relative to the ground level. - - AMSL height is measured relative to the mean sea level. - longitude: - description: >- - Longitude of the device antenna location in degrees relative to the - WGS 84 datum. The allowed range is from -180.000000 to +180.000000. - Positive values represent longitudes east of the prime meridian; - negative values west of the prime meridian. - type: number - format: double - antennaAzimuth: - type: integer - format: int32 - description: >- - Boresight direction of the horizontal plane of the antenna in - degrees with respect to true north. The value of this parameter is - an integer with a value between 0 and 359 inclusive. A value of 0 - degrees means true north; a value of 90 degrees means east. This - parameter is optional for Category A devices and conditional for - Category B devices. - horizontalAccuracy: - description: >- - A positive number in meters to indicate accuracy of the device - antenna horizontal location. This optional parameter should only be - present if its value is less than the FCC requirement of 50 meters. - type: number - format: double - indoorDeployment: - type: boolean - description: >- - Whether the device antenna is indoor or not. `true`: indoor. - `false`: outdoor. - eirpCapability: - description: >- - This parameter is the maximum device EIRP in units of dBm/10MHz and - is an integer with a value between -127 and +47 (dBm/10 MHz) - inclusive. If not included, SAS interprets it as maximum allowable - EIRP in units of dBm/10MHz for device category. - format: int32 - type: integer - antennaGain: - type: number - format: double - description: >- - Peak antenna gain in dBi. This parameter is a double with a value - between -127 and +128 (dBi) inclusive. Part of Release 2 to support - floating-point value - antennaModel: - description: >- - If an external antenna is used, the antenna model is optionally - provided in this field. The string has a maximum length of 128 - octets. + description: The name of the device model. + vendor: + description: The name of the device vendor. type: string - height: - format: double - type: number - description: >- - Device antenna height in meters. When the `heightType` parameter - value is "AGL", the antenna height should be given relative to - ground level. When the `heightType` parameter value is "AMSL", it is - given with respect to WGS84 datum. - cpeCbsdIndication: - type: boolean - description: >- - If present, this parameter specifies whether the CBSD is a CPE-CBSD - or not. - antennaBeamwidth: - type: integer - description: >- - 3-dB antenna beamwidth of the antenna in the horizontal-plane in - degrees. This parameter is an unsigned integer having a value - between 0 and 360 (degrees) inclusive; it is optional for Category A - devices and conditional for Category B devices. - format: int32 - verticalAccuracy: - format: double - type: number - description: >- - A positive number in meters to indicate accuracy of the device - antenna vertical location. This optional parameter should only be - present if its value is less than the FCC requirement of 3 meters. - antennaDowntilt: - description: >- - Antenna downtilt in degrees and is an integer with a value between - -90 and +90 inclusive; a negative value means the antenna is tilted - up (above horizontal). This parameter is optional for Category A - devices and conditional for Category B devices. - type: integer - format: int32 - latitude: - format: double - type: number - description: >- - Latitude of the device antenna location in degrees relative to the - WGS 84 datum. The allowed range is from -90.000000 to +90.000000. - Positive values represent latitudes north of the equator; negative - values south of the equator. - SasPortalGenerateSecretResponse: - properties: - secret: + hardwareVersion: type: string - description: The secret generated by the string and used by ValidateInstaller. - description: Response for GenerateSecret. + description: The hardware version of the device. + firmwareVersion: + description: The firmware version of the device. + type: string + softwareVersion: + type: string + description: The software version of the device. type: object - id: SasPortalGenerateSecretResponse - SasPortalAssignment: + id: SasPortalDeviceModel + SasPortalListNodesResponse: + id: SasPortalListNodesResponse + description: Response for ListNodes. type: object properties: - role: - type: string - description: Required. Role that is assigned to `members`. - members: + nextPageToken: description: >- - The identities the role is assigned to. It can have the following - values: * `{user_email}`: An email address that represents a - specific Google account. For example: `alice@gmail.com`. * - `{group_email}`: An email address that represents a Google group. - For example, `viewers@gmail.com`. + A pagination token returned from a previous call to ListNodes that + indicates from where listing should continue. If the field is + missing or empty, it means there is no more nodes. + type: string + nodes: items: - type: string + $ref: '#/components/schemas/SasPortalNode' type: array - description: Associates `members` with a `role`. - id: SasPortalAssignment - SasPortalChannelWithScore: - id: SasPortalChannelWithScore - properties: - frequencyRange: - $ref: '#/components/schemas/SasPortalFrequencyRange' - description: The frequency range of the channel. - score: - description: The channel score, normalized to be in the range [0,100]. - type: number - format: double + description: The nodes that match the request. + SasPortalGcpProjectDeployment: + id: SasPortalGcpProjectDeployment type: object + properties: + deployment: + description: Deployment associated with the GCP project. + $ref: '#/components/schemas/SasPortalDeployment' + hasEnabledAnalytics: + description: Whether SAS analytics has been enabled. + type: boolean + description: >- + Deployment associated with the GCP project. Includes whether SAS + analytics has been enabled or not. + SasPortalChannelWithScore: description: The channel with score. - SasPortalFrequencyRange: - id: SasPortalFrequencyRange + id: SasPortalChannelWithScore type: object properties: - lowFrequencyMhz: - format: double - description: The lowest frequency of the frequency range in MHz. - type: number - highFrequencyMhz: - description: The highest frequency of the frequency range in MHz. + score: type: number + description: The channel score, normalized to be in the range [0,100]. format: double - description: Frequency range from `low_frequency` to `high_frequency`. - SasPortalListGcpProjectDeploymentsResponse: - id: SasPortalListGcpProjectDeploymentsResponse - description: Response for [ListGcpProjectDeployments]. + frequencyRange: + $ref: '#/components/schemas/SasPortalFrequencyRange' + description: The frequency range of the channel. + SasPortalAssignment: + id: SasPortalAssignment + description: Associates `members` with a `role`. type: object properties: - deployments: - description: Optional. Deployments associated with the GCP project + members: type: array items: - $ref: '#/components/schemas/SasPortalGcpProjectDeployment' - SasPortalListCustomersResponse: - id: SasPortalListCustomersResponse - type: object - properties: - nextPageToken: + type: string description: >- - A pagination token returned from a previous call to ListCustomers - that indicates from where listing should continue. If the field is - missing or empty, it means there are no more customers. + The identities the role is assigned to. It can have the following + values: * `{user_email}`: An email address that represents a + specific Google account. For example: `alice@gmail.com`. * + `{group_email}`: An email address that represents a Google group. + For example, `viewers@gmail.com`. + role: type: string - customers: - type: array - description: The list of customers that match the request. - items: - $ref: '#/components/schemas/SasPortalCustomer' - description: Response for `ListCustomers`. - SasPortalSetupSasAnalyticsRequest: - id: SasPortalSetupSasAnalyticsRequest - description: Request for the SetupSasAnalytics rpc. + description: Required. Role that is assigned to `members`. + SasPortalMigrateOrganizationRequest: type: object properties: - userId: - description: >- - Optional. User id to setup analytics for, if not provided the user - id associated with the project is used. optional + organizationId: + description: Required. Id of the SAS organization to be migrated. type: string - SasPortalSetupSasAnalyticsMetadata: - properties: {} - type: object - id: SasPortalSetupSasAnalyticsMetadata + format: int64 description: >- - Metadata returned by the long running operation for the - SetupSasAnalytics rpc. - SasPortalValidateInstallerResponse: - description: Response for ValidateInstaller. - id: SasPortalValidateInstallerResponse + Request for [MigrateOrganization]. + [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. GCP + Project, Organization Info, and caller's GAIA ID should be retrieved + from the RPC handler, and used to check authorization on SAS Portal + organization and to create GCP Projects. + id: SasPortalMigrateOrganizationRequest + SasPortalMoveDeviceRequest: + description: Request for MoveDevice. type: object - properties: {} + properties: + destination: + description: >- + Required. The name of the new parent resource node or customer to + reparent the device under. + type: string + id: SasPortalMoveDeviceRequest SasPortalValidateInstallerRequest: - type: object + id: SasPortalValidateInstallerRequest description: Request for ValidateInstaller. + type: object properties: + secret: + type: string + description: Required. Secret returned by the GenerateSecret. installerId: description: >- Required. Unique installer id (CPI ID) from the Certified Professional Installers database. type: string encodedSecret: - type: string description: >- Required. JSON Web Token signed using a CPI private key. Payload must include a "secret" claim whose value is the secret. - secret: - description: Required. Secret returned by the GenerateSecret. type: string - id: SasPortalValidateInstallerRequest - SasPortalMoveNodeRequest: - id: SasPortalMoveNodeRequest - properties: - destination: - description: >- - Required. The name of the new parent resource node or customer to - reparent the node under. - type: string - description: Request for MoveNode. - type: object - SasPortalProvisionDeploymentResponse: - properties: - errorMessage: - description: >- - Optional. Optional error message if the provisioning request is not - successful. - type: string - id: SasPortalProvisionDeploymentResponse - description: >- - Response for [ProvisionDeployment]. - [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. - type: object - SasPortalStatus: - description: >- - 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). + SasPortalMoveDeploymentRequest: type: object - id: SasPortalStatus + description: Request for MoveDeployment. + id: SasPortalMoveDeploymentRequest properties: - code: - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - type: integer - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + destination: type: string - details: description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - type: array - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - SasPortalDeviceGrant: + Required. The name of the new parent resource node or customer to + reparent the deployment under. + SasPortalPolicy: + id: SasPortalPolicy properties: - channelType: - description: Type of channel used. - enum: - - CHANNEL_TYPE_UNSPECIFIED - - CHANNEL_TYPE_GAA - - CHANNEL_TYPE_PAL - type: string - enumDescriptions: - - '' - - '' - - '' - maxEirp: + etag: description: >- - Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by - the grant. The maximum EIRP is in units of dBm/MHz. The value of - `maxEirp` represents the average (RMS) EIRP that would be measured - by the procedure defined in FCC part 96.41(e)(3). - format: double - type: number - expireTime: - description: The expiration time of the grant. - format: google-datetime - type: string - lastHeartbeatTransmitExpireTime: - type: string - format: google-datetime - description: The transmit expiration time of the last heartbeat. - state: - type: string - description: State of the grant. - enum: - - GRANT_STATE_UNSPECIFIED - - GRANT_STATE_GRANTED - - GRANT_STATE_TERMINATED - - GRANT_STATE_SUSPENDED - - GRANT_STATE_AUTHORIZED - - GRANT_STATE_EXPIRED - enumDescriptions: - - '' - - >- - The grant has been granted but the device is not heartbeating on - it. - - The grant has been terminated by the SAS. - - The grant has been suspended by the SAS. - - The device is currently transmitting. - - The grant has expired. - frequencyRange: - $ref: '#/components/schemas/SasPortalFrequencyRange' - description: The transmission frequency range. - grantId: + 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. type: string - description: Grant Id. - moveList: - items: - $ref: '#/components/schemas/SasPortalDpaMoveList' - type: array - description: The DPA move lists on which this grant appears. - suspensionReason: + format: byte + assignments: + description: List of assignments type: array - description: If the grant is suspended, the reason(s) for suspension. items: - type: string - description: >- - Device grant. It is an authorization provided by the Spectrum Access - System to a device to transmit using specified operating parameters - after a successful heartbeat by the device. - id: SasPortalDeviceGrant - type: object - SasPortalOrganization: - type: object - properties: - displayName: - description: Name of organization - type: string - id: - type: string - description: Id of organization - format: int64 - description: Organization details. - id: SasPortalOrganization - SasPortalMoveDeviceRequest: - description: Request for MoveDevice. - type: object - id: SasPortalMoveDeviceRequest - properties: - destination: - type: string - description: >- - Required. The name of the new parent resource node or customer to - reparent the device under. + $ref: '#/components/schemas/SasPortalAssignment' + type: object + description: Defines an access control policy to the resources. SasPortalSignDeviceRequest: properties: device: + $ref: '#/components/schemas/SasPortalDevice' description: >- Required. The device to sign. The device fields name, fcc_id and serial_number must be set. The user_id field must be set. - $ref: '#/components/schemas/SasPortalDevice' - description: Request for SignDevice. type: object + description: Request for SignDevice. id: SasPortalSignDeviceRequest - SasPortalListDeploymentsResponse: - description: Response for ListDeployments. + SasPortalFrequencyRange: + id: SasPortalFrequencyRange + description: Frequency range from `low_frequency` to `high_frequency`. + type: object + properties: + highFrequencyMhz: + format: double + description: The highest frequency of the frequency range in MHz. + type: number + lowFrequencyMhz: + format: double + description: The lowest frequency of the frequency range in MHz. + type: number + SasPortalListGcpProjectDeploymentsResponse: + type: object properties: deployments: + description: Optional. Deployments associated with the GCP project type: array - description: The deployments that match the request. items: - $ref: '#/components/schemas/SasPortalDeployment' - nextPageToken: - type: string - description: >- - A pagination token returned from a previous call to ListDeployments - that indicates from where listing should continue. If the field is - missing or empty, it means there are no more deployments. + $ref: '#/components/schemas/SasPortalGcpProjectDeployment' + description: Response for [ListGcpProjectDeployments]. + id: SasPortalListGcpProjectDeploymentsResponse + SasPortalDpaMoveList: + id: SasPortalDpaMoveList type: object - id: SasPortalListDeploymentsResponse - SasPortalDeviceMetadata: + description: An entry in a DPA's move list. properties: - interferenceCoordinationGroup: - description: >- - Interference Coordination Group (ICG). A group of CBSDs that manage - their own interference with the group. For more details, see - [CBRSA-TS-2001 - V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). + frequencyRange: + description: The frequency range that the move list affects. + $ref: '#/components/schemas/SasPortalFrequencyRange' + dpaId: type: string - nrqzValidation: - description: Output only. National Radio Quiet Zone validation info. - $ref: '#/components/schemas/SasPortalNrqzValidation' - readOnly: true - commonChannelGroup: - description: >- - Common Channel Group (CCG). A group of CBSDs in the same ICG - requesting a common primary channel assignment. For more details, - see [CBRSA-TS-2001 - V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). + description: The ID of the DPA. + SasPortalDeviceAirInterface: + id: SasPortalDeviceAirInterface + type: object + description: Information about the device's air interface. + properties: + supportedSpec: type: string - nrqzValidated: - type: boolean - deprecated: true description: >- - Output only. Set to `true` if a CPI has validated that they have - coordinated with the National Quiet Zone office. - readOnly: true - antennaModel: + Optional. This field is related to the `radioTechnology` and + provides the air interface specification that the CBSD is compliant + with at the time of registration. + radioTechnology: description: >- - If populated, the Antenna Model Pattern to use. Format is: - `RecordCreatorId:PatternId` + Conditional. This field specifies the radio access technology that + is used for the CBSD. + enum: + - RADIO_TECHNOLOGY_UNSPECIFIED + - E_UTRA + - CAMBIUM_NETWORKS + - FOUR_G_BBW_SAA_1 + - NR + - DOODLE_CBRS + - CW + - REDLINE + - TARANA_WIRELESS + - FAROS + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' type: string - type: object - id: SasPortalDeviceMetadata - description: Device data overridable by both SAS Portal and registration requests. - SasPortalListNodesResponse: - id: SasPortalListNodesResponse - description: Response for ListNodes. - type: object + SasPortalDeployment: properties: - nextPageToken: - type: string + frns: + readOnly: true description: >- - A pagination token returned from a previous call to ListNodes that - indicates from where listing should continue. If the field is - missing or empty, it means there is no more nodes. - nodes: + Output only. The FCC Registration Numbers (FRNs) copied from its + direct parent. items: - $ref: '#/components/schemas/SasPortalNode' - description: The nodes that match the request. + type: string type: array - SasPortalCustomer: - description: Entity representing a SAS customer. - properties: - name: + displayName: + description: The deployment's display name. type: string - description: Output only. Resource name of the customer. sasUserIds: + type: array + description: >- + User ID used by the devices belonging to this deployment. Each + deployment should be associated with one unique user ID. items: type: string - type: array - description: User IDs used by the devices belonging to this customer. - displayName: + name: + description: Output only. Resource name. + readOnly: true type: string - description: >- - Required. Name of the organization that the customer entity - represents. - type: object - id: SasPortalCustomer - SasPortalUpdateSignedDeviceRequest: + id: SasPortalDeployment + description: The Deployment. type: object - id: SasPortalUpdateSignedDeviceRequest - properties: - installerId: - type: string - description: >- - Required. Unique installer ID (CPI ID) from the Certified - Professional Installers database. - encodedDevice: - format: byte - description: >- - Required. The JSON Web Token signed using a CPI private key. Payload - must be the JSON encoding of the device. The user_id field must be - set. - type: string - description: Request for UpdateSignedDevice. - SasPortalTestPermissionsResponse: - description: Response message for `TestPermissions` method. + SasPortalListLegacyOrganizationsResponse: + id: SasPortalListLegacyOrganizationsResponse + description: >- + Response for [ListLegacyOrganizations]. + [spectrum.sas.portal.v1alpha1.Provisioning.ListLegacyOrganizations]. type: object - id: SasPortalTestPermissionsResponse properties: - permissions: + organizations: + description: Optional. Legacy SAS organizations. items: - type: string + $ref: '#/components/schemas/SasPortalOrganization' type: array - description: A set of permissions that the caller is allowed. - SasPortalCreateSignedDeviceRequest: + SasPortalGenerateSecretResponse: properties: - encodedDevice: - description: >- - Required. JSON Web Token signed using a CPI private key. Payload - must be the JSON encoding of the device. The user_id field must be - set. - format: byte - type: string - installerId: - description: >- - Required. Unique installer id (CPI ID) from the Certified - Professional Installers database. + secret: type: string + description: The secret generated by the string and used by ValidateInstaller. + id: SasPortalGenerateSecretResponse + description: Response for GenerateSecret. type: object - description: Request for CreateSignedDevice. - id: SasPortalCreateSignedDeviceRequest - SasPortalNrqzValidation: + SasPortalProvisionDeploymentResponse: properties: - latitude: - format: double - description: Device latitude that's associated with the validation. - type: number - state: - type: string - enum: - - STATE_UNSPECIFIED - - DRAFT - - FINAL - enumDescriptions: - - Unspecified state. - - Draft state. - - Final state. - description: State of the NRQZ validation info. - cpiId: - type: string - description: CPI who signed the validation. - caseId: + errorMessage: type: string - description: Validation case ID. - longitude: - format: double - type: number - description: Device longitude that's associated with the validation. - type: object - id: SasPortalNrqzValidation - description: Information about National Radio Quiet Zone validation. - SasPortalSetupSasAnalyticsResponse: - type: object - properties: {} - id: SasPortalSetupSasAnalyticsResponse + description: >- + Optional. Optional error message if the provisioning request is not + successful. + id: SasPortalProvisionDeploymentResponse description: >- - Response returned by the long running operation for the - SetupSasAnalytics rpc. + Response for [ProvisionDeployment]. + [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. + type: object SasPortalDeviceConfig: id: SasPortalDeviceConfig properties: - model: - description: Information about this device model. - $ref: '#/components/schemas/SasPortalDeviceModel' - userId: - type: string - description: The identifier of a device user. - measurementCapabilities: - type: array - description: Measurement reporting capabilities of the device. - items: - enum: - - MEASUREMENT_CAPABILITY_UNSPECIFIED - - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT - - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT - type: string + measurementCapabilities: + type: array + description: Measurement reporting capabilities of the device. + items: enumDescriptions: - '' - '' - '' + type: string + enum: + - MEASUREMENT_CAPABILITY_UNSPECIFIED + - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT + - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT airInterface: $ref: '#/components/schemas/SasPortalDeviceAirInterface' description: Information about this device's air interface. - isSigned: - description: Output only. Whether the configuration has been signed by a CPI. - type: boolean - state: - enumDescriptions: - - '' - - '' - - '' - type: string - description: State of the configuration. - enum: - - DEVICE_CONFIG_STATE_UNSPECIFIED - - DRAFT - - FINAL category: + enum: + - DEVICE_CATEGORY_UNSPECIFIED + - DEVICE_CATEGORY_A + - DEVICE_CATEGORY_B description: FCC category of the device. type: string enumDescriptions: - Unspecified device category. - Category A. - Category B. - enum: - - DEVICE_CATEGORY_UNSPECIFIED - - DEVICE_CATEGORY_A - - DEVICE_CATEGORY_B callSign: type: string description: The call sign of the device operator. + isSigned: + type: boolean + description: Output only. Whether the configuration has been signed by a CPI. updateTime: - type: string format: google-datetime + type: string description: Output only. The last time the device configuration was edited. + userId: + type: string + description: The identifier of a device user. installationParams: description: Installation parameters for the device. $ref: '#/components/schemas/SasPortalInstallationParams' - description: Information about the device configuration. - type: object - SasPortalListLegacyOrganizationsResponse: - id: SasPortalListLegacyOrganizationsResponse - description: >- - Response for [ListLegacyOrganizations]. - [spectrum.sas.portal.v1alpha1.Provisioning.ListLegacyOrganizations]. - properties: - organizations: - type: array - items: - $ref: '#/components/schemas/SasPortalOrganization' - description: Optional. Legacy SAS organizations. + state: + enum: + - DEVICE_CONFIG_STATE_UNSPECIFIED + - DRAFT + - FINAL + enumDescriptions: + - '' + - '' + - '' + type: string + description: State of the configuration. + model: + description: Information about this device model. + $ref: '#/components/schemas/SasPortalDeviceModel' type: object - SasPortalOperation: + description: Information about the device configuration. + SasPortalDeviceMetadata: + id: SasPortalDeviceMetadata type: object - id: SasPortalOperation - description: >- - This resource represents a long-running operation that is the result of - a network API call. properties: - error: - $ref: '#/components/schemas/SasPortalStatus' - description: >- - The error result of the operation in case of failure or - cancellation. - response: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - description: >- - 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`. - metadata: - description: >- - 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. - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - done: - type: boolean - description: >- - 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. - name: + antennaModel: type: string description: >- - 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}`. - SasPortalDeployment: - properties: - displayName: + If populated, the Antenna Model Pattern to use. Format is: + `RecordCreatorId:PatternId` + commonChannelGroup: + description: >- + Common Channel Group (CCG). A group of CBSDs in the same ICG + requesting a common primary channel assignment. For more details, + see [CBRSA-TS-2001 + V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). type: string - description: The deployment's display name. - name: + nrqzValidated: readOnly: true - description: Output only. Resource name. - type: string - frns: + type: boolean description: >- - Output only. The FCC Registration Numbers (FRNs) copied from its - direct parent. - items: - type: string + Output only. Set to `true` if a CPI has validated that they have + coordinated with the National Quiet Zone office. + deprecated: true + nrqzValidation: + description: Output only. National Radio Quiet Zone validation info. readOnly: true - type: array - sasUserIds: - type: array - items: - type: string + $ref: '#/components/schemas/SasPortalNrqzValidation' + interferenceCoordinationGroup: + type: string description: >- - User ID used by the devices belonging to this deployment. Each - deployment should be associated with one unique user ID. - description: The Deployment. - type: object - id: SasPortalDeployment - SasPortalDevice: + Interference Coordination Group (ICG). A group of CBSDs that manage + their own interference with the group. For more details, see + [CBRSA-TS-2001 + V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). + description: Device data overridable by both SAS Portal and registration requests. + SasPortalSetupSasAnalyticsRequest: type: object - id: SasPortalDevice + id: SasPortalSetupSasAnalyticsRequest properties: - activeConfig: - description: >- - Output only. Current configuration of the device as registered to - the SAS. - $ref: '#/components/schemas/SasPortalDeviceConfig' - displayName: - description: Device display name. - type: string - currentChannels: - type: array - readOnly: true - description: Output only. Current channels with scores. - items: - $ref: '#/components/schemas/SasPortalChannelWithScore' - deprecated: true - deviceMetadata: + userId: description: >- - Device parameters that can be overridden by both SAS Portal and SAS - registration requests. - $ref: '#/components/schemas/SasPortalDeviceMetadata' - name: + Optional. User id to setup analytics for, if not provided the user + id associated with the project is used. optional type: string - description: Output only. The resource path name. - serialNumber: + description: Request for the SetupSasAnalytics rpc. + SasPortalNrqzValidation: + type: object + properties: + latitude: + format: double + description: Device latitude that's associated with the validation. + type: number + caseId: type: string - description: A serial number assigned to the device by the device manufacturer. - fccId: + description: Validation case ID. + cpiId: + description: CPI who signed the validation. type: string - description: >- - The FCC identifier of the device. Refer to - https://www.fcc.gov/oet/ea/fccid for FccID format. Accept - underscores and periods because some test-SAS customers use them. - grantRangeAllowlists: - description: >- - Only ranges that are within the allowlists are available for new - grants. - items: - $ref: '#/components/schemas/SasPortalFrequencyRange' - type: array + longitude: + type: number + format: double + description: Device longitude that's associated with the validation. state: type: string - description: Output only. Device state. - enum: - - DEVICE_STATE_UNSPECIFIED - - RESERVED - - REGISTERED - - DEREGISTERED - enumDescriptions: - - Unspecified state. - - >- - Device created in the SAS Portal, however, not yet registered with - SAS. - - Device registered with SAS. - - Device de-registered with SAS. - grants: + enum: + - STATE_UNSPECIFIED + - DRAFT + - FINAL + description: State of the NRQZ validation info. + enumDescriptions: + - Unspecified state. + - Draft state. + - Final state. + id: SasPortalNrqzValidation + description: Information about National Radio Quiet Zone validation. + SasPortalMigrateOrganizationMetadata: + description: >- + Long-running operation metadata message returned by the + MigrateOrganization. + id: SasPortalMigrateOrganizationMetadata + type: object + properties: + operationState: + type: string + readOnly: true + description: Output only. Current operation state + enumDescriptions: + - Unspecified. + - Pending (Not started). + - In-progress. + - Done successfully. + - Done with errors. + enum: + - OPERATION_STATE_UNSPECIFIED + - OPERATION_STATE_PENDING + - OPERATION_STATE_RUNNING + - OPERATION_STATE_SUCCEEDED + - OPERATION_STATE_FAILED + SasPortalCustomer: + properties: + name: + description: Output only. Resource name of the customer. + type: string + displayName: + description: >- + Required. Name of the organization that the customer entity + represents. + type: string + sasUserIds: + description: User IDs used by the devices belonging to this customer. type: array items: - $ref: '#/components/schemas/SasPortalDeviceGrant' - description: Output only. Grants held by the device. - preloadedConfig: - description: Configuration of the device, as specified via SAS Portal API. - $ref: '#/components/schemas/SasPortalDeviceConfig' + type: string + type: object + description: Entity representing a SAS customer. + id: SasPortalCustomer SasPortalProvisionDeploymentRequest: - id: SasPortalProvisionDeploymentRequest description: >- Request for [ProvisionDeployment]. [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. GCP @@ -1075,18 +916,18 @@ components: from the RPC handler, and used as inputs to create a new SAS organization (if not exists) and a new SAS deployment. properties: - newDeploymentDisplayName: - type: string - description: >- - Optional. If this field is set, and a new SAS Portal Deployment - needs to be created, its display name will be set to the value of - this field. organizationId: description: >- Optional. If this field is set then a new deployment will be created under the organization specified by this id. type: string format: int64 + newDeploymentDisplayName: + description: >- + Optional. If this field is set, and a new SAS Portal Deployment + needs to be created, its display name will be set to the value of + this field. + type: string newOrganizationDisplayName: type: string description: >- @@ -1094,35 +935,202 @@ components: needs to be created, its display name will be set to the value of this field. type: object + id: SasPortalProvisionDeploymentRequest + SasPortalInstallationParams: + type: object + description: Information about the device installation parameters. + id: SasPortalInstallationParams + properties: + antennaModel: + description: >- + If an external antenna is used, the antenna model is optionally + provided in this field. The string has a maximum length of 128 + octets. + type: string + latitude: + format: double + type: number + description: >- + Latitude of the device antenna location in degrees relative to the + WGS 84 datum. The allowed range is from -90.000000 to +90.000000. + Positive values represent latitudes north of the equator; negative + values south of the equator. + longitude: + description: >- + Longitude of the device antenna location in degrees relative to the + WGS 84 datum. The allowed range is from -180.000000 to +180.000000. + Positive values represent longitudes east of the prime meridian; + negative values west of the prime meridian. + type: number + format: double + cpeCbsdIndication: + description: >- + If present, this parameter specifies whether the CBSD is a CPE-CBSD + or not. + type: boolean + antennaAzimuth: + type: integer + description: >- + Boresight direction of the horizontal plane of the antenna in + degrees with respect to true north. The value of this parameter is + an integer with a value between 0 and 359 inclusive. A value of 0 + degrees means true north; a value of 90 degrees means east. This + parameter is optional for Category A devices and conditional for + Category B devices. + format: int32 + antennaDowntilt: + description: >- + Antenna downtilt in degrees and is an integer with a value between + -90 and +90 inclusive; a negative value means the antenna is tilted + up (above horizontal). This parameter is optional for Category A + devices and conditional for Category B devices. + format: int32 + type: integer + antennaGain: + type: number + format: double + description: >- + Peak antenna gain in dBi. This parameter is a double with a value + between -127 and +128 (dBi) inclusive. Part of Release 2 to support + floating-point value + antennaBeamwidth: + format: int32 + type: integer + description: >- + 3-dB antenna beamwidth of the antenna in the horizontal-plane in + degrees. This parameter is an unsigned integer having a value + between 0 and 360 (degrees) inclusive; it is optional for Category A + devices and conditional for Category B devices. + heightType: + enum: + - HEIGHT_TYPE_UNSPECIFIED + - HEIGHT_TYPE_AGL + - HEIGHT_TYPE_AMSL + type: string + enumDescriptions: + - Unspecified height type. + - AGL height is measured relative to the ground level. + - AMSL height is measured relative to the mean sea level. + description: Specifies how the height is measured. + eirpCapability: + format: int32 + description: >- + This parameter is the maximum device EIRP in units of dBm/10MHz and + is an integer with a value between -127 and +47 (dBm/10 MHz) + inclusive. If not included, SAS interprets it as maximum allowable + EIRP in units of dBm/10MHz for device category. + type: integer + height: + format: double + type: number + description: >- + Device antenna height in meters. When the `heightType` parameter + value is "AGL", the antenna height should be given relative to + ground level. When the `heightType` parameter value is "AMSL", it is + given with respect to WGS84 datum. + indoorDeployment: + type: boolean + description: >- + Whether the device antenna is indoor or not. `true`: indoor. + `false`: outdoor. + horizontalAccuracy: + description: >- + A positive number in meters to indicate accuracy of the device + antenna horizontal location. This optional parameter should only be + present if its value is less than the FCC requirement of 50 meters. + format: double + type: number + verticalAccuracy: + description: >- + A positive number in meters to indicate accuracy of the device + antenna vertical location. This optional parameter should only be + present if its value is less than the FCC requirement of 3 meters. + type: number + format: double + SasPortalMoveNodeRequest: + id: SasPortalMoveNodeRequest + properties: + destination: + description: >- + Required. The name of the new parent resource node or customer to + reparent the node under. + type: string + type: object + description: Request for MoveNode. + SasPortalEmpty: + type: object + id: SasPortalEmpty + properties: {} + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + SasPortalOrganization: + description: Organization details. + properties: + id: + format: int64 + type: string + description: Id of organization + displayName: + description: Name of organization + type: string + type: object + id: SasPortalOrganization + SasPortalListCustomersResponse: + type: object + description: Response for `ListCustomers`. + id: SasPortalListCustomersResponse + properties: + customers: + items: + $ref: '#/components/schemas/SasPortalCustomer' + type: array + description: The list of customers that match the request. + nextPageToken: + description: >- + A pagination token returned from a previous call to ListCustomers + that indicates from where listing should continue. If the field is + missing or empty, it means there are no more customers. + type: string parameters: - alt: - description: Data format for response. + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: alt + name: fields + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key schema: type: string - enum: - - json - - media - - proto access_token: description: OAuth access token. in: query name: access_token schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: upload_protocol + name: uploadType schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean _.xgafv: description: V1 error format. in: query @@ -1132,707 +1140,591 @@ components: enum: - '1' - '2' - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: oauth_token + name: prettyPrint schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. + type: boolean + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: fields + name: upload_protocol schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + alt: + description: Data format for response. in: query - name: quotaUser + name: alt schema: type: string + enum: + - json + - media + - proto callback: description: JSONP in: query name: callback schema: type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: key + name: oauth_token schema: type: string x-stackQL-resources: - node: - id: google.prod_tt_sasportal.node - name: node - title: Node + policies: + id: google.prod_tt_sasportal.policies + name: policies + title: Policies methods: - nodes_get: + policies_test: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}/get' + $ref: '#/paths/~1v1alpha1~1policies:test/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_get: + policies_get: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/get' + $ref: '#/paths/~1v1alpha1~1policies:get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + policies_set: + operation: + $ref: '#/paths/~1v1alpha1~1policies:set/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/node/methods/nodes_nodes_get' - - $ref: '#/components/x-stackQL-resources/node/methods/nodes_get' + - $ref: '#/components/x-stackQL-resources/policies/methods/policies_get' insert: [] update: [] replace: [] delete: [] - devices: - id: google.prod_tt_sasportal.devices - name: devices - title: Devices + deployments: + id: google.prod_tt_sasportal.deployments + name: deployments + title: Deployments methods: - nodes_deployments_devices_list: - operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.devices - nodes_deployments_devices_create: - operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/post - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_create: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/post' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_list: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.devices - nodes_devices_patch: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_delete: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_get: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_sign_device: - operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:signDevice/post - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_move: - operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:move/post - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_nodes_devices_list: + deployments_get: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/get + $ref: '#/paths/~1v1alpha1~1deployments~1{deploymentsId}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.devices - nodes_nodes_devices_create: + customers_deployments_get: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/post + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/get response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_devices_create: + customers_deployments_delete: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/post + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_devices_list: + customers_deployments_patch: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/get + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.devices - customers_deployments_devices_list: + customers_deployments_move: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/get + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}:move/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.devices - customers_deployments_devices_create: + customers_deployments_create: operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/post + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/post' response: mediaType: application/json openAPIDocKey: '200' - customers_devices_patch: + customers_deployments_list: operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/patch + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/get' response: mediaType: application/json openAPIDocKey: '200' - customers_devices_delete: + objectKey: $.deployments + customers_nodes_deployments_list: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/delete + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' - customers_devices_get: + objectKey: $.deployments + customers_nodes_deployments_create: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/get + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/post response: mediaType: application/json openAPIDocKey: '200' - customers_devices_move: + nodes_deployments_get: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:move/post - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_list: - operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.devices - customers_devices_create: - operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/post' + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/get response: mediaType: application/json openAPIDocKey: '200' - customers_devices_sign_device: + nodes_deployments_patch: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:signDevice/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_patch: + nodes_deployments_delete: operation: $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}/patch + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_get: + nodes_deployments_move: operation: $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}/get + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}:move/post response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_delete: + nodes_deployments_list: operation: - $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}/delete + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments/get' response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_sign_device: + objectKey: $.deployments + nodes_nodes_deployments_list: operation: $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:signDevice/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_move: + objectKey: $.deployments + nodes_nodes_deployments_create: operation: $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:move/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_list - - $ref: '#/components/x-stackQL-resources/devices/methods/nodes_devices_get' - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_list + #/components/x-stackQL-resources/deployments/methods/customers_deployments_get - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_list + #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_list - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_list + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_get - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_get + #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_list - $ref: >- - #/components/x-stackQL-resources/devices/methods/deployments_devices_get + #/components/x-stackQL-resources/deployments/methods/deployments_get - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_list + #/components/x-stackQL-resources/deployments/methods/customers_deployments_list - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_list + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_list insert: - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_create + #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_create - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_create + #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_create - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_create + #/components/x-stackQL-resources/deployments/methods/customers_deployments_create update: - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_patch - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_patch + #/components/x-stackQL-resources/deployments/methods/customers_deployments_patch - $ref: >- - #/components/x-stackQL-resources/devices/methods/deployments_devices_patch + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_delete - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_delete - - $ref: >- - #/components/x-stackQL-resources/devices/methods/deployments_devices_delete - devices_signed: - id: google.prod_tt_sasportal.devices_signed - name: devices_signed - title: Devices_signed + #/components/x-stackQL-resources/deployments/methods/customers_deployments_delete + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_delete + devices: + id: google.prod_tt_sasportal.devices + name: devices + title: Devices methods: - nodes_deployments_devices_create_signed: + deployments_devices_move: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices:createSigned/post + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:move/post response: mediaType: application/json openAPIDocKey: '200' - nodes_devices_create_signed: + deployments_devices_delete: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices:createSigned/post' + $ref: >- + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}/delete response: mediaType: application/json openAPIDocKey: '200' - nodes_devices_update_signed: + deployments_devices_get: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:updateSigned/patch + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}/get response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_devices_create_signed: + deployments_devices_patch: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices:createSigned/post + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}/patch response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_devices_create_signed: + deployments_devices_sign_device: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices:createSigned/post + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:signDevice/post response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_devices_create_signed: + customers_deployments_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices:createSigned/post + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/get response: mediaType: application/json openAPIDocKey: '200' - customers_devices_update_signed: + objectKey: $.devices + customers_deployments_devices_create: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:updateSigned/patch + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - customers_devices_create_signed: + customers_devices_get: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices:createSigned/post + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/get response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_update_signed: + customers_devices_patch: operation: $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:updateSigned/patch + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/nodes_deployments_devices_create_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/nodes_nodes_devices_create_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/customers_nodes_devices_create_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/customers_deployments_devices_create_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/nodes_devices_create_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/customers_devices_create_signed - update: - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/nodes_devices_update_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/customers_devices_update_signed - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/deployments_devices_update_signed - replace: [] - delete: [] - deployments: - id: google.prod_tt_sasportal.deployments - name: deployments - title: Deployments - methods: - nodes_deployments_move: + customers_devices_delete: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}:move/post + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/delete response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_get: + customers_devices_move: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/get + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:move/post response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_patch: + customers_devices_list: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/patch + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/get' response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_delete: + objectKey: $.devices + customers_devices_create: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/delete + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_list: + customers_devices_sign_device: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments/get' + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:signDevice/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - nodes_nodes_deployments_create: + customers_nodes_devices_create: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/post + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_deployments_list: + customers_nodes_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/get + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - customers_nodes_deployments_list: + objectKey: $.devices + nodes_devices_list: operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/get + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - customers_nodes_deployments_create: + objectKey: $.devices + nodes_devices_create: operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/post + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/post' response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_create: + nodes_devices_patch: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/patch' response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_list: + nodes_devices_delete: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/get' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - customers_deployments_move: + nodes_devices_get: + operation: + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_devices_sign_device: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}:move/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:signDevice/post response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_patch: + nodes_devices_move: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/patch + #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:move/post response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_delete: + nodes_deployments_devices_create: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/delete + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_get: + nodes_deployments_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/get + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/get response: mediaType: application/json openAPIDocKey: '200' - deployments_get: + objectKey: $.devices + nodes_nodes_devices_create: operation: - $ref: '#/paths/~1v1alpha1~1deployments~1{deploymentsId}/get' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/post + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_nodes_devices_list: + operation: + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.devices sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_get + #/components/x-stackQL-resources/devices/methods/deployments_devices_get - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_list + #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_list - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_list + #/components/x-stackQL-resources/devices/methods/customers_devices_get - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_get + #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_list + - $ref: '#/components/x-stackQL-resources/devices/methods/nodes_devices_get' - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_list + #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_list - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_list + #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_list - $ref: >- - #/components/x-stackQL-resources/deployments/methods/deployments_get + #/components/x-stackQL-resources/devices/methods/customers_devices_list + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_list insert: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_create + #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_create - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_create + #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_create - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_create + #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_create + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_create + - $ref: >- + #/components/x-stackQL-resources/devices/methods/customers_devices_create + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_create update: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_patch + #/components/x-stackQL-resources/devices/methods/deployments_devices_patch - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_patch + #/components/x-stackQL-resources/devices/methods/customers_devices_patch + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_delete + #/components/x-stackQL-resources/devices/methods/deployments_devices_delete - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_delete - nodes: - id: google.prod_tt_sasportal.nodes - name: nodes - title: Nodes + #/components/x-stackQL-resources/devices/methods/customers_devices_delete + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_delete + devices_signed: + id: google.prod_tt_sasportal.devices_signed + name: devices_signed + title: Devices_signed methods: - nodes_nodes_list: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.nodes - nodes_nodes_create: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/post' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_nodes_patch: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_nodes_delete: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_nodes_move: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}:move/post' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_nodes_nodes_list: + deployments_devices_update_signed: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/get' + $ref: >- + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:updateSigned/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.nodes - nodes_nodes_nodes_create: + customers_deployments_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/post + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_patch: + customers_devices_update_signed: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/patch + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:updateSigned/patch response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_move: + customers_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}:move/post + #/paths/~1v1alpha1~1customers~1{customersId}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/nodes/methods/nodes_nodes_nodes_list - - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_list' - insert: - - $ref: >- - #/components/x-stackQL-resources/nodes/methods/nodes_nodes_nodes_create - - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_create' - update: - - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_patch' - - $ref: >- - #/components/x-stackQL-resources/nodes/methods/customers_nodes_patch - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_delete' - customer_nodes: - id: google.prod_tt_sasportal.customer_nodes - name: customer_nodes - title: Customer_nodes - methods: - customers_nodes_delete: + customers_nodes_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/delete + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_list: + nodes_devices_create_signed: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/get' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices:createSigned/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.nodes - customers_nodes_create: + nodes_devices_update_signed: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/post' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:updateSigned/patch response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_nodes_create: + nodes_deployments_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1nodes/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_nodes_list: + nodes_nodes_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1nodes/get + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.nodes sqlVerbs: - select: + select: [] + insert: - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_list + #/components/x-stackQL-resources/devices_signed/methods/customers_deployments_devices_create_signed - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_list - insert: + #/components/x-stackQL-resources/devices_signed/methods/customers_nodes_devices_create_signed - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_create + #/components/x-stackQL-resources/devices_signed/methods/nodes_deployments_devices_create_signed - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_create + #/components/x-stackQL-resources/devices_signed/methods/nodes_nodes_devices_create_signed + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/customers_devices_create_signed + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/nodes_devices_create_signed + update: + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/deployments_devices_update_signed + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/customers_devices_update_signed + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/nodes_devices_update_signed + replace: [] + delete: [] + installer: + id: google.prod_tt_sasportal.installer + name: installer + title: Installer + methods: + installer_validate: + operation: + $ref: '#/paths/~1v1alpha1~1installer:validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + installer_generate_secret: + operation: + $ref: '#/paths/~1v1alpha1~1installer:generateSecret/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_delete - customer_node: - id: google.prod_tt_sasportal.customer_node - name: customer_node - title: Customer_node + delete: [] + customers_gcp_project_deployments: + id: google.prod_tt_sasportal.customers_gcp_project_deployments + name: customers_gcp_project_deployments + title: Customers_gcp_project_deployments methods: - customers_nodes_get: + customers_list_gcp_project_deployments: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/get' + $ref: '#/paths/~1v1alpha1~1customers:listGcpProjectDeployments/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/customer_node/methods/customers_nodes_get + #/components/x-stackQL-resources/customers_gcp_project_deployments/methods/customers_list_gcp_project_deployments insert: [] update: [] replace: [] @@ -1842,6 +1734,12 @@ components: name: customers title: Customers methods: + customers_migrate_organization: + operation: + $ref: '#/paths/~1v1alpha1~1customers:migrateOrganization/post' + response: + mediaType: application/json + openAPIDocKey: '200' customers_get: operation: $ref: '#/paths/~1v1alpha1~1customers~1{customersId}/get' @@ -1860,12 +1758,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - customers_migrate_organization: - operation: - $ref: '#/paths/~1v1alpha1~1customers:migrateOrganization/post' - response: - mediaType: application/json - openAPIDocKey: '200' customers_list: operation: $ref: '#/paths/~1v1alpha1~1customers/get' @@ -1888,114 +1780,227 @@ components: - $ref: '#/components/x-stackQL-resources/customers/methods/customers_patch' replace: [] delete: [] - customers_gcp_project_deployments: - id: google.prod_tt_sasportal.customers_gcp_project_deployments - name: customers_gcp_project_deployments - title: Customers_gcp_project_deployments + customers_legacy_organizations: + id: google.prod_tt_sasportal.customers_legacy_organizations + name: customers_legacy_organizations + title: Customers_legacy_organizations methods: - customers_list_gcp_project_deployments: + customers_list_legacy_organizations: operation: - $ref: '#/paths/~1v1alpha1~1customers:listGcpProjectDeployments/get' + $ref: '#/paths/~1v1alpha1~1customers:listLegacyOrganizations/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/customers_gcp_project_deployments/methods/customers_list_gcp_project_deployments + #/components/x-stackQL-resources/customers_legacy_organizations/methods/customers_list_legacy_organizations insert: [] update: [] replace: [] delete: [] - customers_legacy_organizations: - id: google.prod_tt_sasportal.customers_legacy_organizations - name: customers_legacy_organizations - title: Customers_legacy_organizations + customer_node: + id: google.prod_tt_sasportal.customer_node + name: customer_node + title: Customer_node methods: - customers_list_legacy_organizations: + customers_nodes_get: operation: - $ref: '#/paths/~1v1alpha1~1customers:listLegacyOrganizations/get' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/customers_legacy_organizations/methods/customers_list_legacy_organizations + #/components/x-stackQL-resources/customer_node/methods/customers_nodes_get insert: [] update: [] replace: [] delete: [] - policies: - id: google.prod_tt_sasportal.policies - name: policies - title: Policies + customer_nodes: + id: google.prod_tt_sasportal.customer_nodes + name: customer_nodes + title: Customer_nodes methods: - policies_get: + customers_nodes_delete: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + customers_nodes_create: + operation: + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/post' + response: + mediaType: application/json + openAPIDocKey: '200' + customers_nodes_list: + operation: + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.nodes + customers_nodes_nodes_create: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1nodes/post + response: + mediaType: application/json + openAPIDocKey: '200' + customers_nodes_nodes_list: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1nodes/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.nodes + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_list + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_list + insert: + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_create + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_create + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_delete + nodes: + id: google.prod_tt_sasportal.nodes + name: nodes + title: Nodes + methods: + customers_nodes_patch: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + customers_nodes_move: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}:move/post + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_nodes_patch: + operation: + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_nodes_delete: + operation: + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_nodes_list: + operation: + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.nodes + nodes_nodes_create: + operation: + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/post' + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_nodes_move: operation: - $ref: '#/paths/~1v1alpha1~1policies:get/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}:move/post' response: mediaType: application/json openAPIDocKey: '200' - policies_set: + nodes_nodes_nodes_list: operation: - $ref: '#/paths/~1v1alpha1~1policies:set/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/get' response: mediaType: application/json openAPIDocKey: '200' - policies_test: + objectKey: $.nodes + nodes_nodes_nodes_create: operation: - $ref: '#/paths/~1v1alpha1~1policies:test/post' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/policies/methods/policies_get' - insert: [] - update: [] + - $ref: >- + #/components/x-stackQL-resources/nodes/methods/nodes_nodes_nodes_list + - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_list' + insert: + - $ref: >- + #/components/x-stackQL-resources/nodes/methods/nodes_nodes_nodes_create + - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_create' + update: + - $ref: >- + #/components/x-stackQL-resources/nodes/methods/customers_nodes_patch + - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_patch' replace: [] - delete: [] - installer: - id: google.prod_tt_sasportal.installer - name: installer - title: Installer + delete: + - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_delete' + node: + id: google.prod_tt_sasportal.node + name: node + title: Node methods: - installer_validate: + nodes_get: operation: - $ref: '#/paths/~1v1alpha1~1installer:validate/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}/get' response: mediaType: application/json openAPIDocKey: '200' - installer_generate_secret: + nodes_nodes_get: operation: - $ref: '#/paths/~1v1alpha1~1installer:generateSecret/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/node/methods/nodes_nodes_get' + - $ref: '#/components/x-stackQL-resources/node/methods/nodes_get' insert: [] update: [] replace: [] delete: [] paths: - /v1alpha1/nodes/{nodesId}: + /v1alpha1/policies:test: parameters: &ref_1 - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/key' - get: - description: Returns a requested node. - operationId: prod_tt_sasportal.nodes.get + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/oauth_token' + post: + description: Returns permissions that a caller has on the specified resource. + operationId: prod_tt_sasportal.policies.test + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalTestPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2011,18 +2016,71 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices: + $ref: '#/components/schemas/SasPortalTestPermissionsResponse' + parameters: [] + /v1alpha1/policies:get: + parameters: *ref_1 + post: + description: >- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: prod_tt_sasportal.policies.get + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalGetPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalPolicy' + parameters: [] + /v1alpha1/policies:set: + parameters: *ref_1 + post: + description: >- + Sets the access control policy on the specified resource. Replaces any + existing policy. + operationId: prod_tt_sasportal.policies.set + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalSetPolicyRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalPolicy' + parameters: [] + /v1alpha1/deployments/{deploymentsId}: parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: prod_tt_sasportal.nodes.deployments.devices.list + description: Returns a requested deployment. + operationId: prod_tt_sasportal.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2038,39 +2096,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - - in: path - name: nodesId - required: true - schema: - type: string - in: path name: deploymentsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:move: + parameters: *ref_1 post: - description: Creates a device under a node or customer. - operationId: prod_tt_sasportal.nodes.deployments.devices.create + description: Moves a device under another node or customer. + operationId: prod_tt_sasportal.deployments.devices.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalMoveDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2086,28 +2128,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices:createSigned: + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}: parameters: *ref_1 - post: - description: Creates a signed device under a node or customer. - operationId: prod_tt_sasportal.nodes.deployments.devices.createSigned - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + delete: + description: Deletes a device. + operationId: prod_tt_sasportal.deployments.devices.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2123,28 +2160,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}:move: - parameters: *ref_1 - post: - description: Moves a deployment under another node or customer. - operationId: prod_tt_sasportal.nodes.deployments.move - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' + get: + description: Gets details about a device. + operationId: prod_tt_sasportal.deployments.devices.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2160,23 +2190,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}: - parameters: *ref_1 - get: - description: Returns a requested deployment. - operationId: prod_tt_sasportal.nodes.deployments.get + patch: + description: Updates a device. + operationId: prod_tt_sasportal.deployments.devices.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2192,26 +2225,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - patch: - description: Updates an existing deployment. - operationId: prod_tt_sasportal.nodes.deployments.patch + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:signDevice: + parameters: *ref_1 + post: + description: Signs a device. + operationId: prod_tt_sasportal.deployments.devices.signDevice requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalSignDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2227,26 +2267,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a deployment. - operationId: prod_tt_sasportal.nodes.deployments.delete + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:updateSigned: + parameters: *ref_1 + patch: + description: Updates a signed device. + operationId: prod_tt_sasportal.deployments.devices.updateSigned + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2262,23 +2304,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments: + /v1alpha1/installer:validate: parameters: *ref_1 - get: - description: Lists deployments. - operationId: prod_tt_sasportal.nodes.deployments.list + post: + description: Validates the identity of a Certified Professional Installer (CPI). + operationId: prod_tt_sasportal.installer.validate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalValidateInstallerRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2294,36 +2341,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices: + $ref: '#/components/schemas/SasPortalValidateInstallerResponse' + parameters: [] + /v1alpha1/installer:generateSecret: parameters: *ref_1 post: - description: Creates a device under a node or customer. - operationId: prod_tt_sasportal.nodes.devices.create + description: Generates a secret to be used with the ValidateInstaller. + operationId: prod_tt_sasportal.installer.generateSecret requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalGenerateSecretRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2339,16 +2368,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string + $ref: '#/components/schemas/SasPortalGenerateSecretResponse' + parameters: [] + /v1alpha1/customers:listGcpProjectDeployments: + parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: prod_tt_sasportal.nodes.devices.list + description: >- + Returns a list of SAS deployments associated with current GCP project. + Includes whether SAS analytics has been enabled or not. + operationId: prod_tt_sasportal.customers.listGcpProjectDeployments security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2364,36 +2392,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}: + $ref: >- + #/components/schemas/SasPortalListGcpProjectDeploymentsResponse + parameters: [] + /v1alpha1/customers:migrateOrganization: parameters: *ref_1 - patch: - description: Updates a device. - operationId: prod_tt_sasportal.nodes.devices.patch + post: + description: >- + 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 + operationId: prod_tt_sasportal.customers.migrateOrganization requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalMigrateOrganizationRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2409,26 +2424,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a device. - operationId: prod_tt_sasportal.nodes.devices.delete + $ref: '#/components/schemas/SasPortalOperation' + parameters: [] + /v1alpha1/customers/{customersId}: + parameters: *ref_1 + get: + description: Returns a requested customer. + operationId: prod_tt_sasportal.customers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2444,21 +2446,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalCustomer' parameters: - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: devicesId + name: customersId required: true schema: type: string - get: - description: Gets details about a device. - operationId: prod_tt_sasportal.nodes.devices.get + patch: + description: Updates an existing customer. + operationId: prod_tt_sasportal.customers.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalCustomer' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2474,28 +2476,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalCustomer' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - - in: path - name: devicesId - required: true + - in: query + name: updateMask schema: type: string - /v1alpha1/nodes/{nodesId}/devices:createSigned: + format: google-fieldmask + /v1alpha1/customers:listLegacyOrganizations: parameters: *ref_1 - post: - description: Creates a signed device under a node or customer. - operationId: prod_tt_sasportal.nodes.devices.createSigned - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + get: + description: Returns a list of legacy organizations. + operationId: prod_tt_sasportal.customers.listLegacyOrganizations security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2511,23 +2508,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}:updateSigned: + $ref: '#/components/schemas/SasPortalListLegacyOrganizationsResponse' + parameters: [] + /v1alpha1/customers:provisionDeployment: parameters: *ref_1 - patch: - description: Updates a signed device. - operationId: prod_tt_sasportal.nodes.devices.updateSigned + post: + description: >- + Creates a new SAS deployment through the GCP workflow. Creates a SAS + organization if an organization match is not found. + operationId: prod_tt_sasportal.customers.provisionDeployment requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalProvisionDeploymentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2543,28 +2537,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}:signDevice: + $ref: '#/components/schemas/SasPortalProvisionDeploymentResponse' + parameters: [] + /v1alpha1/customers: parameters: *ref_1 - post: - description: Signs a device. - operationId: prod_tt_sasportal.nodes.devices.signDevice - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalSignDeviceRequest' + get: + description: Returns a list of requested customers. + operationId: prod_tt_sasportal.customers.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2580,28 +2559,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalListCustomersResponse' parameters: - - in: path - name: nodesId - required: true + - in: query + name: pageToken schema: type: string - - in: path - name: devicesId - required: true + - in: query + name: pageSize schema: - type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}:move: + type: integer + format: int32 + /v1alpha1/customers:setupSasAnalytics: parameters: *ref_1 post: - description: Moves a device under another node or customer. - operationId: prod_tt_sasportal.nodes.devices.move + description: >- + 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. + operationId: prod_tt_sasportal.customers.setupSasAnalytics requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + $ref: '#/components/schemas/SasPortalSetupSasAnalyticsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2618,22 +2599,12 @@ paths: application/json: schema: $ref: '#/components/schemas/SasPortalOperation' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/nodes: + parameters: [] + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices: parameters: *ref_1 get: - description: Lists nodes. - operationId: prod_tt_sasportal.nodes.nodes.list + description: Lists devices under a node or customer. + operationId: prod_tt_sasportal.customers.deployments.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2649,10 +2620,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path - name: nodesId + name: customersId + required: true + schema: + type: string + - in: path + name: deploymentsId required: true schema: type: string @@ -2670,13 +2646,13 @@ paths: schema: type: string post: - description: Creates a new node. - operationId: prod_tt_sasportal.nodes.nodes.create + description: Creates a device under a node or customer. + operationId: prod_tt_sasportal.customers.deployments.devices.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2692,23 +2668,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}: + - in: path + name: deploymentsId + required: true + schema: + type: string + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices:createSigned: parameters: *ref_1 - patch: - description: Updates an existing node. - operationId: prod_tt_sasportal.nodes.nodes.patch + post: + description: Creates a signed device under a node or customer. + operationId: prod_tt_sasportal.customers.deployments.devices.createSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2724,26 +2705,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a node. - operationId: prod_tt_sasportal.nodes.nodes.delete + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}: + parameters: *ref_1 + get: + description: Returns a requested deployment. + operationId: prod_tt_sasportal.customers.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2759,21 +2737,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - get: - description: Returns a requested node. - operationId: prod_tt_sasportal.nodes.nodes.get + delete: + description: Deletes a deployment. + operationId: prod_tt_sasportal.customers.deployments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2789,28 +2767,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}:move: - parameters: *ref_1 - post: - description: Moves a node under another node or customer. - operationId: prod_tt_sasportal.nodes.nodes.move + patch: + description: Updates an existing deployment. + operationId: prod_tt_sasportal.customers.deployments.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveNodeRequest' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2826,28 +2802,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments: + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}:move: parameters: *ref_1 post: - description: Creates a new deployment. - operationId: prod_tt_sasportal.nodes.nodes.deployments.create + description: Moves a deployment under another node or customer. + operationId: prod_tt_sasportal.customers.deployments.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2863,21 +2844,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - get: - description: Lists deployments. - operationId: prod_tt_sasportal.nodes.nodes.deployments.list + /v1alpha1/customers/{customersId}/deployments: + parameters: *ref_1 + post: + description: Creates a new deployment. + operationId: prod_tt_sasportal.customers.deployments.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2893,36 +2881,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: nodesId1 + name: customersId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices: - parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: prod_tt_sasportal.nodes.nodes.devices.list + description: Lists deployments. + operationId: prod_tt_sasportal.customers.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2938,16 +2906,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - - in: path - name: nodesId1 - required: true + - in: query + name: filter schema: type: string - in: query @@ -2955,22 +2922,15 @@ paths: schema: type: integer format: int32 - - in: query - name: filter - schema: - type: string - in: query name: pageToken schema: type: string - post: - description: Creates a device under a node or customer. - operationId: prod_tt_sasportal.nodes.nodes.devices.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' + /v1alpha1/customers/{customersId}/devices/{devicesId}: + parameters: *ref_1 + get: + description: Gets details about a device. + operationId: prod_tt_sasportal.customers.devices.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2989,25 +2949,23 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices:createSigned: - parameters: *ref_1 - post: - description: Creates a signed device under a node or customer. - operationId: prod_tt_sasportal.nodes.nodes.devices.createSigned + patch: + description: Updates a device. + operationId: prod_tt_sasportal.customers.devices.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3026,68 +2984,23 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: nodesId1 - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/nodes: - parameters: *ref_1 - get: - description: Lists nodes. - operationId: prod_tt_sasportal.nodes.nodes.nodes.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' - parameters: - - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: devicesId required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + name: updateMask schema: type: string - post: - description: Creates a new node. - operationId: prod_tt_sasportal.nodes.nodes.nodes.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalNode' + format: google-fieldmask + delete: + description: Deletes a device. + operationId: prod_tt_sasportal.customers.devices.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3103,28 +3016,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - in: path - name: nodesId1 + name: devicesId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}: + /v1alpha1/customers/{customersId}/devices/{devicesId}:updateSigned: parameters: *ref_1 patch: - description: Updates an existing node. - operationId: prod_tt_sasportal.customers.nodes.patch + description: Updates a signed device. + operationId: prod_tt_sasportal.customers.devices.updateSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3140,7 +3053,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId @@ -3148,18 +3061,20 @@ paths: schema: type: string - in: path - name: nodesId + name: devicesId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a node. - operationId: prod_tt_sasportal.customers.nodes.delete + /v1alpha1/customers/{customersId}/devices:createSigned: + parameters: *ref_1 + post: + description: Creates a signed device under a node or customer. + operationId: prod_tt_sasportal.customers.devices.createSigned + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3175,21 +3090,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId required: true schema: type: string - - in: path - name: nodesId - required: true - schema: - type: string - get: - description: Returns a requested node. - operationId: prod_tt_sasportal.customers.nodes.get + /v1alpha1/customers/{customersId}/devices/{devicesId}:move: + parameters: *ref_1 + post: + description: Moves a device under another node or customer. + operationId: prod_tt_sasportal.customers.devices.move + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalMoveDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3205,7 +3122,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path name: customersId @@ -3213,15 +3130,15 @@ paths: schema: type: string - in: path - name: nodesId + name: devicesId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes: + /v1alpha1/customers/{customersId}/devices: parameters: *ref_1 get: - description: Lists nodes. - operationId: prod_tt_sasportal.customers.nodes.list + description: Lists devices under a node or customer. + operationId: prod_tt_sasportal.customers.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3237,18 +3154,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: customersId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: pageToken schema: @@ -3257,14 +3169,19 @@ paths: name: filter schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 post: - description: Creates a new node. - operationId: prod_tt_sasportal.customers.nodes.create + description: Creates a device under a node or customer. + operationId: prod_tt_sasportal.customers.devices.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3280,23 +3197,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}:move: + /v1alpha1/customers/{customersId}/devices/{devicesId}:signDevice: parameters: *ref_1 post: - description: Moves a node under another node or customer. - operationId: prod_tt_sasportal.customers.nodes.move + description: Signs a device. + operationId: prod_tt_sasportal.customers.devices.signDevice requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveNodeRequest' + $ref: '#/components/schemas/SasPortalSignDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3312,7 +3229,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: customersId @@ -3320,20 +3237,15 @@ paths: schema: type: string - in: path - name: nodesId + name: devicesId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/nodes: + /v1alpha1/customers/{customersId}/nodes/{nodesId}: parameters: *ref_1 - post: - description: Creates a new node. - operationId: prod_tt_sasportal.customers.nodes.nodes.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalNode' + get: + description: Returns a requested node. + operationId: prod_tt_sasportal.customers.nodes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3361,9 +3273,9 @@ paths: required: true schema: type: string - get: - description: Lists nodes. - operationId: prod_tt_sasportal.customers.nodes.nodes.list + delete: + description: Deletes a node. + operationId: prod_tt_sasportal.customers.nodes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3379,7 +3291,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: customersId @@ -3391,24 +3303,14 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments: - parameters: *ref_1 - get: - description: Lists deployments. - operationId: prod_tt_sasportal.customers.nodes.deployments.list + patch: + description: Updates an existing node. + operationId: prod_tt_sasportal.customers.nodes.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3424,7 +3326,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: customersId @@ -3437,26 +3339,20 @@ paths: schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + name: updateMask schema: type: string + format: google-fieldmask + /v1alpha1/customers/{customersId}/nodes/{nodesId}:move: + parameters: *ref_1 post: - description: Creates a new deployment. - operationId: prod_tt_sasportal.customers.nodes.deployments.create + description: Moves a node under another node or customer. + operationId: prod_tt_sasportal.customers.nodes.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalMoveNodeRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3472,7 +3368,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path name: customersId @@ -3484,16 +3380,16 @@ paths: required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices:createSigned: + /v1alpha1/customers/{customersId}/nodes: parameters: *ref_1 post: - description: Creates a signed device under a node or customer. - operationId: prod_tt_sasportal.customers.nodes.devices.createSigned + description: Creates a new node. + operationId: prod_tt_sasportal.customers.nodes.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3509,28 +3405,61 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: customersId required: true schema: type: string + get: + description: Lists nodes. + operationId: prod_tt_sasportal.customers.nodes.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalListNodesResponse' + parameters: - in: path - name: nodesId + name: customersId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + /v1alpha1/customers/{customersId}/nodes/{nodesId}/nodes: parameters: *ref_1 post: - description: Creates a device under a node or customer. - operationId: prod_tt_sasportal.customers.nodes.devices.create + description: Creates a new node. + operationId: prod_tt_sasportal.customers.nodes.nodes.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3546,7 +3475,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: customersId @@ -3559,8 +3488,8 @@ paths: schema: type: string get: - description: Lists devices under a node or customer. - operationId: prod_tt_sasportal.customers.nodes.devices.list + description: Lists nodes. + operationId: prod_tt_sasportal.customers.nodes.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3576,7 +3505,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalListNodesResponse' parameters: - in: path name: customersId @@ -3588,11 +3517,6 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query name: filter schema: @@ -3601,11 +3525,16 @@ paths: name: pageToken schema: type: string - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices: + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments: parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: prod_tt_sasportal.customers.deployments.devices.list + description: Lists deployments. + operationId: prod_tt_sasportal.customers.nodes.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3621,7 +3550,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: - in: path name: customersId @@ -3629,10 +3558,15 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId required: true schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 - in: query name: pageToken schema: @@ -3641,19 +3575,14 @@ paths: name: filter schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 post: - description: Creates a device under a node or customer. - operationId: prod_tt_sasportal.customers.deployments.devices.create + description: Creates a new deployment. + operationId: prod_tt_sasportal.customers.nodes.deployments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3669,7 +3598,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: customersId @@ -3677,15 +3606,15 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices:createSigned: + /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices:createSigned: parameters: *ref_1 post: description: Creates a signed device under a node or customer. - operationId: prod_tt_sasportal.customers.deployments.devices.createSigned + operationId: prod_tt_sasportal.customers.nodes.devices.createSigned requestBody: content: application/json: @@ -3714,20 +3643,20 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/deployments: + /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices: parameters: *ref_1 post: - description: Creates a new deployment. - operationId: prod_tt_sasportal.customers.deployments.create + description: Creates a device under a node or customer. + operationId: prod_tt_sasportal.customers.nodes.devices.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3743,16 +3672,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId required: true schema: type: string + - in: path + name: nodesId + required: true + schema: + type: string get: - description: Lists deployments. - operationId: prod_tt_sasportal.customers.deployments.list + description: Lists devices under a node or customer. + operationId: prod_tt_sasportal.customers.nodes.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3768,19 +3702,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: customersId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: nodesId + required: true schema: type: string - in: query - name: filter + name: pageToken schema: type: string - in: query @@ -3788,16 +3723,15 @@ paths: schema: type: integer format: int32 - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}:move: + - in: query + name: filter + schema: + type: string + /v1alpha1/nodes/{nodesId}: parameters: *ref_1 - post: - description: Moves a deployment under another node or customer. - operationId: prod_tt_sasportal.customers.deployments.move - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' + get: + description: Returns a requested node. + operationId: prod_tt_sasportal.nodes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3813,28 +3747,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path - name: customersId - required: true - schema: - type: string - - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}: + /v1alpha1/nodes/{nodesId}/devices: parameters: *ref_1 - patch: - description: Updates an existing deployment. - operationId: prod_tt_sasportal.customers.deployments.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDeployment' + get: + description: Lists devices under a node or customer. + operationId: prod_tt_sasportal.nodes.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3850,26 +3774,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string - - in: path - name: deploymentsId - required: true + - in: query + name: filter schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken schema: type: string - format: google-fieldmask - delete: - description: Deletes a deployment. - operationId: prod_tt_sasportal.customers.deployments.delete + post: + description: Creates a device under a node or customer. + operationId: prod_tt_sasportal.nodes.devices.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3885,21 +3817,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId - required: true - schema: - type: string - - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - get: - description: Returns a requested deployment. - operationId: prod_tt_sasportal.customers.deployments.get + /v1alpha1/nodes/{nodesId}/devices:createSigned: + parameters: *ref_1 + post: + description: Creates a signed device under a node or customer. + operationId: prod_tt_sasportal.nodes.devices.createSigned + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3915,23 +3849,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId - required: true - schema: - type: string - - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}: + /v1alpha1/nodes/{nodesId}/devices/{devicesId}: parameters: *ref_1 patch: description: Updates a device. - operationId: prod_tt_sasportal.customers.devices.patch + operationId: prod_tt_sasportal.nodes.devices.patch requestBody: content: application/json: @@ -3955,7 +3884,7 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string @@ -3971,7 +3900,7 @@ paths: format: google-fieldmask delete: description: Deletes a device. - operationId: prod_tt_sasportal.customers.devices.delete + operationId: prod_tt_sasportal.nodes.devices.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3990,7 +3919,7 @@ paths: $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string @@ -4001,7 +3930,7 @@ paths: type: string get: description: Gets details about a device. - operationId: prod_tt_sasportal.customers.devices.get + operationId: prod_tt_sasportal.nodes.devices.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4020,7 +3949,7 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string @@ -4029,16 +3958,16 @@ paths: required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}:updateSigned: + /v1alpha1/nodes/{nodesId}/devices/{devicesId}:signDevice: parameters: *ref_1 - patch: - description: Updates a signed device. - operationId: prod_tt_sasportal.customers.devices.updateSigned + post: + description: Signs a device. + operationId: prod_tt_sasportal.nodes.devices.signDevice requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalSignDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4054,10 +3983,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string @@ -4066,16 +3995,16 @@ paths: required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}:move: + /v1alpha1/nodes/{nodesId}/devices/{devicesId}:updateSigned: parameters: *ref_1 - post: - description: Moves a device under another node or customer. - operationId: prod_tt_sasportal.customers.devices.move + patch: + description: Updates a signed device. + operationId: prod_tt_sasportal.nodes.devices.updateSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4091,10 +4020,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string @@ -4103,11 +4032,16 @@ paths: required: true schema: type: string - /v1alpha1/customers/{customersId}/devices: + /v1alpha1/nodes/{nodesId}/devices/{devicesId}:move: parameters: *ref_1 - get: - description: Lists devices under a node or customer. - operationId: prod_tt_sasportal.customers.devices.list + post: + description: Moves a device under another node or customer. + operationId: prod_tt_sasportal.nodes.devices.move + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalMoveDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4123,29 +4057,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: devicesId + required: true schema: type: string + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices: + parameters: *ref_1 post: description: Creates a device under a node or customer. - operationId: prod_tt_sasportal.customers.devices.create + operationId: prod_tt_sasportal.nodes.deployments.devices.create requestBody: content: application/json: @@ -4169,20 +4097,18 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId + name: nodesId + required: true + schema: + type: string + - in: path + name: deploymentsId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}:signDevice: - parameters: *ref_1 - post: - description: Signs a device. - operationId: prod_tt_sasportal.customers.devices.signDevice - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalSignDeviceRequest' + get: + description: Lists devices under a node or customer. + operationId: prod_tt_sasportal.nodes.deployments.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4198,23 +4124,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: deploymentsId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices:createSigned: + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices:createSigned: parameters: *ref_1 post: description: Creates a signed device under a node or customer. - operationId: prod_tt_sasportal.customers.devices.createSigned + operationId: prod_tt_sasportal.nodes.deployments.devices.createSigned requestBody: content: application/json: @@ -4238,15 +4177,20 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}: + - in: path + name: deploymentsId + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}: parameters: *ref_1 get: - description: Returns a requested customer. - operationId: prod_tt_sasportal.customers.get + description: Returns a requested deployment. + operationId: prod_tt_sasportal.nodes.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4262,21 +4206,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCustomer' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: customersId + name: nodesId + required: true + schema: + type: string + - in: path + name: deploymentsId required: true schema: type: string patch: - description: Updates an existing customer. - operationId: prod_tt_sasportal.customers.patch + description: Updates an existing deployment. + operationId: prod_tt_sasportal.nodes.deployments.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCustomer' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4292,10 +4241,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCustomer' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: customersId + name: nodesId + required: true + schema: + type: string + - in: path + name: deploymentsId required: true schema: type: string @@ -4304,43 +4258,9 @@ paths: schema: type: string format: google-fieldmask - /v1alpha1/customers:listGcpProjectDeployments: - parameters: *ref_1 - get: - description: >- - Returns a list of SAS deployments associated with current GCP project. - Includes whether SAS analytics has been enabled or not. - operationId: prod_tt_sasportal.customers.listGcpProjectDeployments - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/SasPortalListGcpProjectDeploymentsResponse - parameters: [] - /v1alpha1/customers:provisionDeployment: - parameters: *ref_1 - post: - description: >- - Creates a new SAS deployment through the GCP workflow. Creates a SAS - organization if an organization match is not found. - operationId: prod_tt_sasportal.customers.provisionDeployment - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalProvisionDeploymentRequest' + delete: + description: Deletes a deployment. + operationId: prod_tt_sasportal.nodes.deployments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4356,22 +4276,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalProvisionDeploymentResponse' - parameters: [] - /v1alpha1/customers:migrateOrganization: + $ref: '#/components/schemas/SasPortalEmpty' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: deploymentsId + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}:move: parameters: *ref_1 post: - description: >- - 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 - operationId: prod_tt_sasportal.customers.migrateOrganization + description: Moves a deployment under another node or customer. + operationId: prod_tt_sasportal.nodes.deployments.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMigrateOrganizationRequest' + $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4388,34 +4314,22 @@ paths: application/json: schema: $ref: '#/components/schemas/SasPortalOperation' - parameters: [] - /v1alpha1/customers:listLegacyOrganizations: - parameters: *ref_1 - get: - description: Returns a list of legacy organizations. - operationId: prod_tt_sasportal.customers.listLegacyOrganizations - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalListLegacyOrganizationsResponse' - parameters: [] - /v1alpha1/customers: + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: deploymentsId + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/deployments: parameters: *ref_1 get: - description: Returns a list of requested customers. - operationId: prod_tt_sasportal.customers.list + description: Lists deployments. + operationId: prod_tt_sasportal.nodes.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4431,8 +4345,17 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListCustomersResponse' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string - in: query name: pageSize schema: @@ -4442,19 +4365,16 @@ paths: name: pageToken schema: type: string - /v1alpha1/customers:setupSasAnalytics: + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}: parameters: *ref_1 - post: - description: >- - 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. - operationId: prod_tt_sasportal.customers.setupSasAnalytics + patch: + description: Updates an existing node. + operationId: prod_tt_sasportal.nodes.nodes.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalSetupSasAnalyticsRequest' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4470,20 +4390,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' - parameters: [] - /v1alpha1/policies:get: - parameters: *ref_1 - post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: prod_tt_sasportal.policies.get - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalGetPolicyRequest' + $ref: '#/components/schemas/SasPortalNode' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: nodesId1 + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: Returns a requested node. + operationId: prod_tt_sasportal.nodes.nodes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4499,20 +4425,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalPolicy' - parameters: [] - /v1alpha1/policies:set: - parameters: *ref_1 - post: - description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. - operationId: prod_tt_sasportal.policies.set - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalSetPolicyRequest' + $ref: '#/components/schemas/SasPortalNode' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: nodesId1 + required: true + schema: + type: string + delete: + description: Deletes a node. + operationId: prod_tt_sasportal.nodes.nodes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4528,18 +4455,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalPolicy' - parameters: [] - /v1alpha1/policies:test: + $ref: '#/components/schemas/SasPortalEmpty' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: nodesId1 + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/nodes: parameters: *ref_1 - post: - description: Returns permissions that a caller has on the specified resource. - operationId: prod_tt_sasportal.policies.test - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalTestPermissionsRequest' + get: + description: Lists nodes. + operationId: prod_tt_sasportal.nodes.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4555,18 +4487,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalTestPermissionsResponse' - parameters: [] - /v1alpha1/installer:validate: - parameters: *ref_1 + $ref: '#/components/schemas/SasPortalListNodesResponse' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string post: - description: Validates the identity of a Certified Professional Installer (CPI). - operationId: prod_tt_sasportal.installer.validate + description: Creates a new node. + operationId: prod_tt_sasportal.nodes.nodes.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalValidateInstallerRequest' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4582,18 +4530,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalValidateInstallerResponse' - parameters: [] - /v1alpha1/installer:generateSecret: + $ref: '#/components/schemas/SasPortalNode' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}:move: parameters: *ref_1 post: - description: Generates a secret to be used with the ValidateInstaller. - operationId: prod_tt_sasportal.installer.generateSecret + description: Moves a node under another node or customer. + operationId: prod_tt_sasportal.nodes.nodes.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalGenerateSecretRequest' + $ref: '#/components/schemas/SasPortalMoveNodeRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4609,18 +4562,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalGenerateSecretResponse' - parameters: [] - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:updateSigned: + $ref: '#/components/schemas/SasPortalOperation' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: nodesId1 + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices: parameters: *ref_1 - patch: - description: Updates a signed device. - operationId: prod_tt_sasportal.deployments.devices.updateSigned + post: + description: Creates a device under a node or customer. + operationId: prod_tt_sasportal.nodes.nodes.devices.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4639,25 +4602,18 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}: - parameters: *ref_1 - patch: - description: Updates a device. - operationId: prod_tt_sasportal.deployments.devices.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' + get: + description: Lists devices under a node or customer. + operationId: prod_tt_sasportal.nodes.nodes.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4673,26 +4629,41 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - in: query - name: updateMask + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter schema: type: string - format: google-fieldmask - get: - description: Gets details about a device. - operationId: prod_tt_sasportal.deployments.devices.get + - in: query + name: pageToken + schema: + type: string + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices:createSigned: + parameters: *ref_1 + post: + description: Creates a signed device under a node or customer. + operationId: prod_tt_sasportal.nodes.nodes.devices.createSigned + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4711,18 +4682,20 @@ paths: $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - delete: - description: Deletes a device. - operationId: prod_tt_sasportal.deployments.devices.delete + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments: + parameters: *ref_1 + get: + description: Lists deployments. + operationId: prod_tt_sasportal.nodes.nodes.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4738,28 +4711,39 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:signDevice: - parameters: *ref_1 + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 post: - description: Signs a device. - operationId: prod_tt_sasportal.deployments.devices.signDevice + description: Creates a new deployment. + operationId: prod_tt_sasportal.nodes.nodes.deployments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalSignDeviceRequest' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4775,28 +4759,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:move: + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/nodes: parameters: *ref_1 - post: - description: Moves a device under another node or customer. - operationId: prod_tt_sasportal.deployments.devices.move - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + get: + description: Lists nodes. + operationId: prod_tt_sasportal.nodes.nodes.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4812,23 +4791,39 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalListNodesResponse' parameters: - in: path - name: deploymentsId + name: nodesId required: true schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}: - parameters: *ref_1 - get: - description: Returns a requested deployment. - operationId: prod_tt_sasportal.deployments.get + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: Creates a new node. + operationId: prod_tt_sasportal.nodes.nodes.nodes.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4844,10 +4839,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path - name: deploymentsId + name: nodesId + required: true + schema: + type: string + - in: path + name: nodesId1 required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/publicca.yaml b/providers/src/googleapis.com/v00.00.00000/services/publicca.yaml index cf062324..e68a2d6a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/publicca.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/publicca.yaml @@ -10,8 +10,8 @@ info: external account binding keys associated with Google Trust Services' publicly trusted certificate authority. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241104' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/public-certificate-authority/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/pubsub.yaml b/providers/src/googleapis.com/v00.00.00000/services/pubsub.yaml index 643cecd6..53f3c18d 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/pubsub.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/pubsub.yaml @@ -9,8 +9,8 @@ info: Provides reliable, many-to-many, asynchronous messaging between applications. version: v1 - x-discovery-doc-revision: '20240903' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241022' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/pubsub/docs servers: @@ -580,6 +580,14 @@ components: awsKinesis: description: Optional. Amazon Kinesis Data Streams. $ref: '#/components/schemas/AwsKinesis' + cloudStorage: + description: Optional. Cloud Storage. + $ref: '#/components/schemas/CloudStorage' + platformLogsSettings: + description: >- + Optional. Platform Logs settings. If unset, no Platform Logs will be + generated. + $ref: '#/components/schemas/PlatformLogsSettings' AwsKinesis: id: AwsKinesis description: Ingestion settings for Amazon Kinesis Data Streams. @@ -639,6 +647,128 @@ components: for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number. type: string + CloudStorage: + id: CloudStorage + description: Ingestion settings for Cloud Storage. + type: object + properties: + state: + description: >- + Output only. An output-only field that indicates the state of the + Cloud Storage ingestion source. + readOnly: true + type: string + enumDescriptions: + - Default value. This value is unused. + - Ingestion is active. + - >- + Permission denied encountered while calling the Cloud Storage API. + This can happen if the Pub/Sub SA has not been granted the + [appropriate + permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): + - storage.objects.list: to list the objects in a bucket. - + storage.objects.get: to read the objects in a bucket. - + storage.buckets.get: to verify the bucket exists. + - >- + Permission denied encountered while publishing to the topic. This + can happen if the Pub/Sub SA has not been granted the [appropriate + publish + permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher) + - The provided Cloud Storage bucket doesn't exist. + - >- + The Cloud Storage bucket has too many objects, ingestion will be + paused. + enum: + - STATE_UNSPECIFIED + - ACTIVE + - CLOUD_STORAGE_PERMISSION_DENIED + - PUBLISH_PERMISSION_DENIED + - BUCKET_NOT_FOUND + - TOO_MANY_OBJECTS + bucket: + description: >- + Optional. Cloud Storage bucket. The bucket name must be without any + prefix like "gs://". See the [bucket naming requirements] + (https://cloud.google.com/storage/docs/buckets#naming). + type: string + textFormat: + description: Optional. Data from Cloud Storage will be interpreted as text. + $ref: '#/components/schemas/TextFormat' + avroFormat: + description: >- + Optional. Data from Cloud Storage will be interpreted in Avro + format. + $ref: '#/components/schemas/AvroFormat' + pubsubAvroFormat: + description: >- + Optional. It will be assumed data from Cloud Storage was written via + [Cloud Storage + subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). + $ref: '#/components/schemas/PubSubAvroFormat' + minimumObjectCreateTime: + description: >- + Optional. Only objects with a larger or equal creation timestamp + will be ingested. + type: string + format: google-datetime + matchGlob: + description: >- + Optional. Glob pattern used to match objects that will be ingested. + If unset, all objects will be ingested. See the [supported + patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob). + type: string + TextFormat: + id: TextFormat + description: >- + Configuration for reading Cloud Storage data in text format. Each line + of text as specified by the delimiter will be set to the `data` field of + a Pub/Sub message. + type: object + properties: + delimiter: + description: Optional. When unset, '\n' is used. + type: string + AvroFormat: + id: AvroFormat + description: >- + Configuration for reading Cloud Storage data in Avro binary format. The + bytes of each object will be set to the `data` field of a Pub/Sub + message. + type: object + properties: {} + PubSubAvroFormat: + id: PubSubAvroFormat + description: >- + Configuration for reading Cloud Storage data written via [Cloud Storage + subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The + data and attributes fields of the originally exported Pub/Sub message + will be restored when publishing. + type: object + properties: {} + PlatformLogsSettings: + id: PlatformLogsSettings + description: Settings for Platform Logs produced by Pub/Sub. + type: object + properties: + severity: + description: >- + Optional. The minimum severity level of Platform Logs that will be + written. + type: string + enumDescriptions: + - Default value. Logs level is unspecified. Logs will be disabled. + - Logs will be disabled. + - Debug logs and higher-severity logs will be written. + - Info logs and higher-severity logs will be written. + - Warning logs and higher-severity logs will be written. + - Only error logs will be written. + enum: + - SEVERITY_UNSPECIFIED + - DISABLED + - DEBUG + - INFO + - WARNING + - ERROR UpdateTopicRequest: id: UpdateTopicRequest description: Request for the UpdateTopic method. @@ -865,7 +995,7 @@ components: `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more - than 7 days or less than 10 minutes. + than 31 days or less than 10 minutes. type: string format: google-duration labels: diff --git a/providers/src/googleapis.com/v00.00.00000/services/pubsublite.yaml b/providers/src/googleapis.com/v00.00.00000/services/pubsublite.yaml index 42e73284..a1504397 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/pubsublite.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/pubsublite.yaml @@ -7,8 +7,8 @@ info: title: Pub/Sub Lite API description: '' version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/pubsub/lite/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/rapidmigrationassessment.yaml b/providers/src/googleapis.com/v00.00.00000/services/rapidmigrationassessment.yaml index ef787bc8..8c421cb3 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/rapidmigrationassessment.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/rapidmigrationassessment.yaml @@ -9,8 +9,8 @@ info: The Rapid Migration Assessment service is our first-party migration assessment and planning tool. version: v1 - x-discovery-doc-revision: '20240830' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241012' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/migration-center servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/recaptchaenterprise.yaml b/providers/src/googleapis.com/v00.00.00000/services/recaptchaenterprise.yaml index 583961d9..5d2b7181 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/recaptchaenterprise.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/recaptchaenterprise.yaml @@ -9,8 +9,8 @@ info: Help protect your website from fraudulent activity, spam, and abuse without creating friction. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/recaptcha-enterprise/ servers: @@ -36,215 +36,348 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudRecaptchaenterpriseV1FraudSignals: + GoogleCloudRecaptchaenterpriseV1FirewallActionBlockAction: + id: GoogleCloudRecaptchaenterpriseV1FirewallActionBlockAction + properties: {} + type: object + description: >- + A block action serves an HTTP error code a prevents the request from + hitting the backend. + GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse: + description: The response to a `SearchRelatedAccountGroupMemberships` call. properties: - cardSignals: + relatedAccountGroupMemberships: + items: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership + type: array + description: The queried memberships. + nextPageToken: + type: string description: >- - Output only. Signals describing the payment card or cards used in - this transaction. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudSignalsCardSignals + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + type: object + id: >- + GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse + GoogleCloudRecaptchaenterpriseV1TransactionEvent: + description: Describes an event in the lifecycle of a payment transaction. + properties: + eventType: + enumDescriptions: + - Default, unspecified event type. + - >- + Indicates that the transaction is approved by the merchant. The + accompanying reasons can include terms such as 'INHOUSE', + 'ACCERTIFY', 'CYBERSOURCE', or 'MANUAL_REVIEW'. + - >- + Indicates that the transaction is denied and concluded due to + risks detected by the merchant. The accompanying reasons can + include terms such as 'INHOUSE', 'ACCERTIFY', 'CYBERSOURCE', or + 'MANUAL_REVIEW'. + - >- + Indicates that the transaction is being evaluated by a human, due + to suspicion or risk. + - >- + Indicates that the authorization attempt with the card issuer + succeeded. + - >- + Indicates that the authorization attempt with the card issuer + failed. The accompanying reasons can include Visa's '54' + indicating that the card is expired, or '82' indicating that the + CVV is incorrect. + - >- + Indicates that the transaction is completed because the funds were + settled. + - >- + Indicates that the transaction could not be completed because the + funds were not settled. + - >- + Indicates that the transaction has been canceled. Specify the + reason for the cancellation. For example, + 'INSUFFICIENT_INVENTORY'. + - >- + Indicates that the merchant has received a chargeback inquiry due + to fraud for the transaction, requesting additional information + before a fraud chargeback is officially issued and a formal + chargeback notification is sent. + - >- + Indicates that the merchant has received a chargeback alert due to + fraud for the transaction. The process of resolving the dispute + without involving the payment network is started. + - >- + Indicates that a fraud notification is issued for the transaction, + sent by the payment instrument's issuing bank because the + transaction appears to be fraudulent. We recommend including TC40 + or SAFE data in the `reason` field for this event type. For + partial chargebacks, we recommend that you include an amount in + the `value` field. + - >- + Indicates that the merchant is informed by the payment network + that the transaction has entered the chargeback process due to + fraud. Reason code examples include Discover's '6005' and '6041'. + For partial chargebacks, we recommend that you include an amount + in the `value` field. + - >- + Indicates that the transaction has entered the chargeback process + due to fraud, and that the merchant has chosen to enter + representment. Reason examples include Discover's '6005' and + '6041'. For partial chargebacks, we recommend that you include an + amount in the `value` field. + - >- + Indicates that the transaction has had a fraud chargeback which + was illegitimate and was reversed as a result. For partial + chargebacks, we recommend that you include an amount in the + `value` field. + - >- + Indicates that the merchant has received a refund for a completed + transaction. For partial refunds, we recommend that you include an + amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial + refund of exempt tax) + - >- + Indicates that the merchant has received a refund request for this + transaction, but that they have declined it. For partial refunds, + we recommend that you include an amount in the `value` field. + Reason example: 'TAX_EXEMPT' (partial refund of exempt tax) + - >- + Indicates that the completed transaction was refunded by the + merchant. For partial refunds, we recommend that you include an + amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial + refund of exempt tax) + - >- + Indicates that the completed transaction was refunded by the + merchant, and that this refund was reversed. For partial refunds, + we recommend that you include an amount in the `value` field. + description: Optional. The type of this transaction event. + type: string + enum: + - TRANSACTION_EVENT_TYPE_UNSPECIFIED + - MERCHANT_APPROVE + - MERCHANT_DENY + - MANUAL_REVIEW + - AUTHORIZATION + - AUTHORIZATION_DECLINE + - PAYMENT_CAPTURE + - PAYMENT_CAPTURE_DECLINE + - CANCEL + - CHARGEBACK_INQUIRY + - CHARGEBACK_ALERT + - FRAUD_NOTIFICATION + - CHARGEBACK + - CHARGEBACK_REPRESENTMENT + - CHARGEBACK_REVERSE + - REFUND_REQUEST + - REFUND_DECLINE + - REFUND + - REFUND_REVERSE + eventTime: + description: >- + Optional. Timestamp when this transaction event occurred; otherwise + assumed to be the time of the API call. + type: string + format: google-datetime + value: + format: double + description: >- + Optional. The value that corresponds with this transaction event, if + one exists. For example, a refund event where $5.00 was refunded. + Currency is obtained from the original transaction data. + type: number + reason: + type: string + description: >- + Optional. The reason or standardized code that corresponds with this + transaction event, if one exists. For example, a CHARGEBACK event + with code 6005. + id: GoogleCloudRecaptchaenterpriseV1TransactionEvent + type: object + GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest: + type: object + description: The migrate key request message. + id: GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest + properties: + skipBillingCheck: + description: >- + Optional. If true, skips the billing check. A reCAPTCHA Enterprise + key or migrated key behaves differently than a reCAPTCHA + (non-Enterprise version) key when you reach a quota limit (see + https://cloud.google.com/recaptcha/quotas#quota_limit). To avoid any + disruption of your usage, we check that a billing account is + present. If your usage of reCAPTCHA is under the free quota, you can + safely skip the billing check and proceed with the migration. See + https://cloud.google.com/recaptcha/docs/billing-information. + type: boolean + GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo: + properties: + requestToken: + description: >- + Output only. Token to provide to the client to trigger endpoint + verification. It must be used within 15 minutes. + type: string readOnly: true - userSignals: + emailAddress: + description: Email address for which to trigger a verification request. + type: string + lastVerificationTime: + description: >- + Output only. Timestamp of the last successful verification for the + endpoint, if any. + type: string readOnly: true - description: Output only. Signals describing the end user in this transaction. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals - description: Fraud signals describing users and cards involved in the transaction. - id: GoogleCloudRecaptchaenterpriseV1FraudSignals + format: google-datetime + phoneNumber: + description: >- + Phone number for which to trigger a verification request. Should be + given in E.164 format. + type: string + id: GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo + description: Information about a verification endpoint that can be used for 2FA. type: object - GoogleCloudRecaptchaenterpriseV1SmsTollFraudVerdict: - id: GoogleCloudRecaptchaenterpriseV1SmsTollFraudVerdict + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment: type: object properties: - reasons: - type: array - description: Output only. Reasons contributing to the SMS toll fraud verdict. + cardTestingVerdict: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict readOnly: true - items: - enum: - - SMS_TOLL_FRAUD_REASON_UNSPECIFIED - - INVALID_PHONE_NUMBER - enumDescriptions: - - Default unspecified reason - - The provided phone number was invalid - type: string - risk: description: >- - Output only. Probability of an SMS event being fraudulent. Values - are from 0.0 (lowest) to 1.0 (highest). - readOnly: true + Output only. Assessment of this transaction for risk of being part + of a card testing attack. + transactionRisk: format: float + description: >- + Output only. Probability of this transaction being fraudulent. + Summarizes the combined risk of attack vectors below. Values are + from 0.0 (lowest) to 1.0 (highest). + readOnly: true type: number - description: Information about SMS toll fraud. - GoogleCloudRecaptchaenterpriseV1RiskAnalysis: - type: object - properties: - reasons: + behavioralTrustVerdict: + description: Output only. Assessment of this transaction for behavioral trust. readOnly: true - items: - enum: - - CLASSIFICATION_REASON_UNSPECIFIED - - AUTOMATION - - UNEXPECTED_ENVIRONMENT - - TOO_MUCH_TRAFFIC - - UNEXPECTED_USAGE_PATTERNS - - LOW_CONFIDENCE_SCORE - - SUSPECTED_CARDING - - SUSPECTED_CHARGEBACK - enumDescriptions: - - Default unspecified type. - - Interactions matched the behavior of an automated agent. - - The event originated from an illegitimate environment. - - Traffic volume from the event source is higher than normal. - - >- - Interactions with the site were significantly different than - expected patterns. - - >- - Too little traffic has been received from this site thus far to - generate quality risk analysis. - - >- - The request matches behavioral characteristics of a carding - attack. - - >- - The request matches behavioral characteristics of chargebacks - for fraud. - type: string - description: Output only. Reasons contributing to the risk analysis verdict. - type: array - extendedVerdictReasons: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict + stolenInstrumentVerdict: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict + description: >- + Output only. Assessment of this transaction for risk of a stolen + instrument. readOnly: true - items: - type: string + description: Assessment for Fraud Prevention. + id: GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment + GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment: + properties: + smsTollFraudVerdict: description: >- - Output only. Extended verdict reasons to be used for experimentation - only. The set of possible reasons is subject to change. - type: array - score: - type: number + Output only. Assessment of this phone event for risk of SMS toll + fraud. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1SmsTollFraudVerdict readOnly: true + id: GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment + type: object + description: Assessment for Phone Fraud + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict: + description: >- + Information about card testing fraud, where an adversary is testing + fraudulently obtained cards or brute forcing their details. + properties: + risk: + description: >- + Output only. Probability of this transaction attempt being part of a + card testing attack. Values are from 0.0 (lowest) to 1.0 (highest). + type: number format: float + readOnly: true + type: object + id: >- + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict + GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction: + description: >- + A redirect action returns a 307 (temporary redirect) response, pointing + the user to a reCAPTCHA interstitial page to attach a token. + type: object + properties: {} + id: GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction + GoogleCloudRecaptchaenterpriseV1ScoreMetrics: + type: object + properties: + actionMetrics: + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ScoreDistribution description: >- - Output only. Legitimate event score from 0.0 to 1.0. (1.0 means very - likely legitimate traffic while 0.0 means very likely non-legitimate - traffic). - id: GoogleCloudRecaptchaenterpriseV1RiskAnalysis - description: Risk analysis result for an event. + Action-based metrics. The map key is the action name which specified + by the site owners at time of the "execute" client-side call. + type: object + overallMetrics: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ScoreDistribution + description: Aggregated score metrics for all traffic. + id: GoogleCloudRecaptchaenterpriseV1ScoreMetrics + description: Metrics related to scoring. GoogleCloudRecaptchaenterpriseV1UserInfo: + id: GoogleCloudRecaptchaenterpriseV1UserInfo description: >- User information associated with a request protected by reCAPTCHA Enterprise. type: object - id: GoogleCloudRecaptchaenterpriseV1UserInfo properties: userIds: + type: array items: $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1UserId' description: Optional. Identifiers associated with this user or request. - type: array createAccountTime: + type: string + format: google-datetime description: >- Optional. Creation time for this account associated with this user. Leave blank for non logged-in actions, guest checkout, or when there is no account associated with the current user. - type: string - format: google-datetime accountId: + type: string description: >- Optional. For logged-in requests or login/registration requests, the unique account identifier associated with this user. You can use the - username if it is stable (meaning it is the same for every request - associated with the same user), or any stable user ID of your - choice. Leave blank for non logged-in actions or guest checkout. - type: string - GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest: - properties: - accountId: - description: >- - Optional. The unique stable account identifier used to search - connections. The identifier should correspond to an `account_id` - provided in a previous `CreateAssessment` or `AnnotateAssessment` - call. Either hashed_account_id or account_id must be set, but not - both. - type: string - pageSize: - format: int32 - description: >- - Optional. The maximum number of groups to return. The service might - return fewer than this value. If unspecified, at most 50 groups are - returned. The maximum value is 1000; values above 1000 are coerced - to 1000. - type: integer - hashedAccountId: - description: >- - Optional. Deprecated: use `account_id` instead. The unique stable - hashed account identifier used to search connections. The identifier - should correspond to a `hashed_account_id` provided in a previous - `CreateAssessment` or `AnnotateAssessment` call. Either - hashed_account_id or account_id must be set, but not both. - type: string - deprecated: true - format: byte - pageToken: - type: string - description: >- - Optional. A page token, received from a previous - `SearchRelatedAccountGroupMemberships` call. Provide this to - retrieve the subsequent page. When paginating, all other parameters - provided to `SearchRelatedAccountGroupMemberships` must match the - call that provided the page token. - type: object - id: >- - GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest - description: The request message to search related account group memberships. - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict: + username if it is stable (meaning it is the same for every request + associated with the same user), or any stable user ID of your + choice. Leave blank for non logged-in actions or guest checkout. + GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest: + description: The RemoveIpOverride request message. type: object - id: >- - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict - description: >- - Information about card testing fraud, where an adversary is testing - fraudulently obtained cards or brute forcing their details. + id: GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest properties: - risk: - readOnly: true - type: number - format: float + ipOverrideData: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1IpOverrideData' + description: Required. IP override to be removed from the key. + GoogleCloudRecaptchaenterpriseV1ListFirewallPoliciesResponse: + properties: + firewallPolicies: + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + description: Policy details. + nextPageToken: description: >- - Output only. Probability of this transaction attempt being part of a - card testing attack. Values are from 0.0 (lowest) to 1.0 (highest). + Token to retrieve the next page of results. It is set to empty if no + policies remain in results. + type: string + description: Response to request to list firewall policies belonging to a project. + type: object + id: GoogleCloudRecaptchaenterpriseV1ListFirewallPoliciesResponse GoogleCloudRecaptchaenterpriseV1FirewallPolicy: - description: >- - A FirewallPolicy represents a single matching pattern and resulting - actions to take. type: object + id: GoogleCloudRecaptchaenterpriseV1FirewallPolicy properties: description: - type: string description: >- Optional. A description of what this policy aims to achieve, for convenience purposes. The description can at most include 256 UTF-8 characters. - actions: - type: array - description: >- - 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. - items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallAction - path: - description: >- - 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. type: string condition: - type: string description: >- Optional. A CEL (Common Expression Language) conditional expression that specifies if this policy applies to an incoming user request. @@ -255,262 +388,59 @@ components: 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. - name: - description: >- - Identifier. The resource name for the FirewallPolicy in the format - `projects/{project}/firewallpolicies/{firewallpolicy}`. type: string - id: GoogleCloudRecaptchaenterpriseV1FirewallPolicy - GoogleCloudRecaptchaenterpriseV1FraudSignalsCardSignals: - type: object - id: GoogleCloudRecaptchaenterpriseV1FraudSignalsCardSignals - properties: - cardLabels: - type: array - description: Output only. The labels for the payment card in this transaction. - readOnly: true - items: - type: string - enum: - - CARD_LABEL_UNSPECIFIED - - PREPAID - - VIRTUAL - - UNEXPECTED_LOCATION - enumDescriptions: - - No label specified. - - This card has been detected as prepaid. - - >- - This card has been detected as virtual, such as a card number - generated for a single transaction or merchant. - - >- - This card has been detected as being used in an unexpected - geographic location. - description: Signals describing the payment card used in this transaction. - GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesRequest: - description: The reorder firewall policies request message. - type: object - id: GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesRequest - properties: - names: - type: array + actions: description: >- - Required. A list containing all policy names, in the new order. Each - name is in the format - `projects/{project}/firewallpolicies/{firewallpolicy}`. + 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. items: - type: string - GoogleCloudRecaptchaenterpriseV1TokenProperties: - id: GoogleCloudRecaptchaenterpriseV1TokenProperties - properties: - hostname: - type: string - description: >- - Output only. The hostname of the page on which the token was - generated (Web keys only). - readOnly: true - valid: - description: >- - Output only. Whether the provided user response token is valid. When - valid = false, the reason could be specified in invalid_reason or it - could also be due to a user failing to solve a challenge or a - sitekey mismatch (i.e the sitekey used to generate the token was - different than the one specified in the assessment). - type: boolean - readOnly: true - invalidReason: - enumDescriptions: - - Default unspecified type. - - If the failure reason was not accounted for. - - The provided user verification token was malformed. - - The user verification token had expired. - - The user verification had already been seen. - - The user verification token was not present. - - >- - A retriable error (such as network failure) occurred on the - browser. Could easily be simulated by an attacker. - enum: - - INVALID_REASON_UNSPECIFIED - - UNKNOWN_INVALID_REASON - - MALFORMED - - EXPIRED - - DUPE - - MISSING - - BROWSER_ERROR - readOnly: true - description: Output only. Reason associated with the response when valid = false. - type: string - androidPackageName: - description: >- - Output only. The name of the Android package with which the token - was generated (Android keys only). - type: string - readOnly: true - createTime: - readOnly: true - description: >- - Output only. The timestamp corresponding to the generation of the - token. - type: string - format: google-datetime - action: - readOnly: true - type: string - description: Output only. Action name provided at token generation. - iosBundleId: - readOnly: true - description: >- - Output only. The ID of the iOS bundle with which the token was - generated (iOS keys only). - type: string - description: Properties of the provided event token. - type: object - GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo: - description: Details about the transaction from the gateway. - properties: - avsResponseCode: - description: >- - Optional. AVS response code from the gateway (available only when - reCAPTCHA Enterprise is called after authorization). - type: string - name: - type: string - description: >- - Optional. Name of the gateway service (for example, stripe, square, - paypal). - gatewayResponseCode: - description: >- - Optional. Gateway response code describing the state of the - transaction. - type: string - cvvResponseCode: - type: string - description: >- - Optional. CVV response code from the gateway (available only when - reCAPTCHA Enterprise is called after authorization). - type: object - id: GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo - GoogleCloudRecaptchaenterpriseV1WafSettings: - description: >- - Settings specific to keys that can be used for WAF (Web Application - Firewall). - type: object - properties: - wafFeature: - type: string - enumDescriptions: - - Undefined feature. - - Redirects suspicious traffic to reCAPTCHA. - - >- - Use reCAPTCHA session-tokens to protect the whole user session on - the site's domain. - - Use reCAPTCHA action-tokens to protect user actions. - - >- - Use reCAPTCHA WAF express protection to protect any content other - than web pages, like APIs and IoT devices. - description: Required. The WAF feature for which this key is enabled. - enum: - - WAF_FEATURE_UNSPECIFIED - - CHALLENGE_PAGE - - SESSION_TOKEN - - ACTION_TOKEN - - EXPRESS - wafService: - enum: - - WAF_SERVICE_UNSPECIFIED - - CA - - FASTLY - - CLOUDFLARE - - AKAMAI - description: Required. The WAF service that uses this key. - enumDescriptions: - - Undefined WAF - - Cloud Armor - - Fastly - - Cloudflare - - Akamai - type: string - id: GoogleCloudRecaptchaenterpriseV1WafSettings - GoogleCloudRecaptchaenterpriseV1FirewallActionIncludeRecaptchaScriptAction: - id: >- - GoogleCloudRecaptchaenterpriseV1FirewallActionIncludeRecaptchaScriptAction - type: object - properties: {} - description: >- - An include reCAPTCHA script action involves injecting reCAPTCHA - JavaScript code into the HTML returned by the site backend. This - reCAPTCHA script is tasked with collecting user signals on the requested - web page, issuing tokens as a cookie within the site domain, and - enabling their utilization in subsequent page requests. - GoogleCloudRecaptchaenterpriseV1UserId: - description: An identifier associated with a user. - type: object - properties: - email: - description: Optional. An email address. - type: string - username: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallAction + type: array + path: + description: >- + 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. type: string + name: description: >- - Optional. A unique username, if different from all the other - identifiers and `account_id` that are provided. Can be a unique - login handle or display name for a user. - phoneNumber: + Identifier. The resource name for the FirewallPolicy in the format + `projects/{project}/firewallpolicies/{firewallpolicy}`. type: string - description: Optional. A phone number. Should use the E.164 format. - id: GoogleCloudRecaptchaenterpriseV1UserId - GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment: - id: GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment + description: >- + A FirewallPolicy represents a single matching pattern and resulting + actions to take. + GoogleCloudRecaptchaenterpriseV1SmsTollFraudVerdict: + id: GoogleCloudRecaptchaenterpriseV1SmsTollFraudVerdict properties: - smsTollFraudVerdict: - description: >- - Output only. Assessment of this phone event for risk of SMS toll - fraud. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1SmsTollFraudVerdict + risk: readOnly: true - type: object - description: Assessment for Phone Fraud - GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse: - type: object - properties: - nextPageToken: - type: string + type: number + format: float description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - relatedAccountGroups: - type: array - description: The groups of related accounts listed by the query. - items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup - id: GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse - description: The response to a `ListRelatedAccountGroups` call. - GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse: - id: >- - GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse - properties: - relatedAccountGroupMemberships: + Output only. Probability of an SMS event being fraudulent. Values + are from 0.0 (lowest) to 1.0 (highest). + reasons: type: array - description: The queried memberships. items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership - nextPageToken: - type: string - description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - description: The response to a `SearchRelatedAccountGroupMemberships` call. - type: object - GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesResponse: - id: GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesResponse - description: The reorder firewall policies response message. + enum: + - SMS_TOLL_FRAUD_REASON_UNSPECIFIED + - INVALID_PHONE_NUMBER + enumDescriptions: + - Default unspecified reason + - The provided phone number was invalid + type: string + readOnly: true + description: Output only. Reasons contributing to the SMS toll fraud verdict. + description: Information about SMS toll fraud. type: object - properties: {} GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup: - description: A group of related accounts. - type: object properties: name: type: string @@ -519,109 +449,145 @@ components: group in the format `projects/{project}/relatedaccountgroups/{related_account_group}`. id: GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup - GoogleCloudRecaptchaenterpriseV1FirewallActionAllowAction: - id: GoogleCloudRecaptchaenterpriseV1FirewallActionAllowAction - properties: {} - description: An allow action continues processing a request unimpeded. type: object - GoogleCloudRecaptchaenterpriseV1IpOverrideData: - id: GoogleCloudRecaptchaenterpriseV1IpOverrideData - description: Information about the IP or IP range override. + description: A group of related accounts. + GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction: type: object properties: - overrideType: - enum: - - OVERRIDE_TYPE_UNSPECIFIED - - ALLOW + path: + description: >- + Optional. The address to redirect to. The target is a relative path + in the current host. Example: "/blog/404.html". type: string - enumDescriptions: - - >- - Default override type that indicates this enum hasn't been - specified. - - >- - Allowlist the IP address; i.e. give a `risk_analysis.score` of 0.9 - for all valid assessments. - description: Required. Describes the type of IP override. - ip: + description: >- + A substitute action transparently serves a different page than the one + requested. + id: GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction + GoogleCloudRecaptchaenterpriseV1Event: + properties: + firewallPolicyEvaluation: + description: >- + Optional. Flag for enabling firewall policy config assessment. If + this flag is enabled, the firewall policy is evaluated and a + suggested firewall action is returned in the response. + type: boolean + headers: + type: array + description: Optional. HTTP header information about the request. + items: + type: string + token: type: string description: >- - 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 - GoogleCloudRecaptchaenterpriseV1ExpressKeySettings: - type: object - id: GoogleCloudRecaptchaenterpriseV1ExpressKeySettings - description: Settings specific to keys that can be used for reCAPTCHA Express. - properties: {} - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment: - type: object - description: Assessment for Fraud Prevention. - properties: - stolenInstrumentVerdict: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict - readOnly: true + Optional. The user response token provided by the reCAPTCHA + Enterprise client-side integration on your site. + ja3: + description: Optional. JA3 fingerprint for SSL clients. + type: string + requestedUri: + type: string description: >- - Output only. Assessment of this transaction for risk of a stolen - instrument. - transactionRisk: - format: float - readOnly: true - type: number + Optional. The URI resource the user requested that triggered an + assessment. + expectedAction: + type: string description: >- - Output only. Probability of this transaction being fraudulent. - Summarizes the combined risk of attack vectors below. Values are - from 0.0 (lowest) to 1.0 (highest). - cardTestingVerdict: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict + Optional. The expected action for this type of event. This should be + the same action provided at token generation time on client-side + platforms already integrated with recaptcha enterprise. + wafTokenAssessment: + type: boolean description: >- - Output only. Assessment of this transaction for risk of being part - of a card testing attack. - readOnly: true - behavioralTrustVerdict: - description: Output only. Assessment of this transaction for behavioral trust. - readOnly: true - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict - id: GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment - GoogleCloudRecaptchaenterpriseV1AppleDeveloperId: - properties: - keyId: + Optional. Flag for running WAF token assessment. If enabled, the + token must be specified, and have been created by a WAF-enabled key. + userAgent: type: string - description: Required. The Apple developer key ID (10-character string). - teamId: description: >- - Required. The Apple team ID (10-character string) owning the - provisioning profile used to build your application. + Optional. The user agent present in the request from the user's + device related to this event. + express: + description: >- + Optional. Flag for a reCAPTCHA express request for an assessment + without a token. If enabled, `site_key` must reference an Express + site key. + type: boolean + hashedAccountId: + format: byte type: string - privateKey: + deprecated: true description: >- - Required. Input only. A private key (downloaded as a text file with - a .p8 file extension) generated for your Apple Developer account. - Ensure that Apple DeviceCheck is enabled for the private key. + Optional. Deprecated: use `user_info.account_id` instead. Unique + stable hashed user identifier for the request. The identifier must + be hashed using hmac-sha256 with stable secret. + userIpAddress: type: string - description: >- - Contains fields that are required to perform Apple-specific integrity - checks. - id: GoogleCloudRecaptchaenterpriseV1AppleDeveloperId + description: >- + Optional. The IP address in the request from the user's device + related to this event. + transactionData: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionData' + description: >- + Optional. Data describing a payment transaction to be assessed. + Sending this data enables reCAPTCHA Enterprise Fraud Prevention and + the FraudPreventionAssessment component in the response. + userInfo: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1UserInfo' + description: >- + Optional. Information about the user that generates this event, when + they can be identified. They are often identified through the use of + an account for logged-in requests or login/registration requests, or + by providing user identifiers for guest actions like checkout. + fraudPrevention: + enumDescriptions: + - >- + Default, unspecified setting. If opted in for automatic detection, + `fraud_prevention_assessment` is returned based on the request. + Otherwise, `fraud_prevention_assessment` is returned if + `transaction_data` is present in the `Event` and Fraud Prevention + is enabled in the Google Cloud console. + - >- + Enable Fraud Prevention for this assessment, if Fraud Prevention + is enabled in the Google Cloud console. + - >- + Disable Fraud Prevention for this assessment, regardless of opt-in + status or Google Cloud console settings. + type: string + enum: + - FRAUD_PREVENTION_UNSPECIFIED + - ENABLED + - DISABLED + description: Optional. The Fraud Prevention setting for this assessment. + siteKey: + description: >- + Optional. The site key that was used to invoke reCAPTCHA Enterprise + on your site and generate the token. + type: string + description: The event being assessed. type: object - GoogleProtobufEmpty: - properties: {} + id: GoogleCloudRecaptchaenterpriseV1Event + GoogleCloudRecaptchaenterpriseV1FirewallActionAllowAction: + id: GoogleCloudRecaptchaenterpriseV1FirewallActionAllowAction + description: An allow action continues processing a request unimpeded. type: object - id: GoogleProtobufEmpty - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + properties: {} GoogleCloudRecaptchaenterpriseV1TransactionDataAddress: - type: object description: Structured address format for billing and shipping addresses. + type: object properties: + administrativeArea: + type: string + description: >- + Optional. The state, province, or otherwise administrative area of + the address. + postalCode: + description: Optional. The postal or ZIP code of the address. + type: string + regionCode: + description: Optional. The CLDR country/region of the address. + type: string + locality: + type: string + description: Optional. The town/city of the address. recipient: type: string description: >- @@ -635,300 +601,108 @@ components: Optional. The first lines of the address. The first line generally contains the street name and number, and further lines may include information such as an apartment number. - postalCode: - type: string - description: Optional. The postal or ZIP code of the address. - regionCode: - type: string - description: Optional. The CLDR country/region of the address. - administrativeArea: - description: >- - Optional. The state, province, or otherwise administrative area of - the address. - type: string - locality: - type: string - description: Optional. The town/city of the address. id: GoogleCloudRecaptchaenterpriseV1TransactionDataAddress - GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction: - properties: - path: - type: string - description: >- - Optional. The address to redirect to. The target is a relative path - in the current host. Example: "/blog/404.html". - type: object - id: GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction - description: >- - A substitute action transparently serves a different page than the one - requested. - GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse: - id: GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse - type: object - properties: {} - description: Empty response for AnnotateAssessment. - GoogleCloudRecaptchaenterpriseV1Assessment: - type: object - description: A reCAPTCHA Enterprise assessment resource. - id: GoogleCloudRecaptchaenterpriseV1Assessment - properties: - phoneFraudAssessment: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment - description: >- - Output only. Assessment returned when a site key, a token, and a - phone number as `user_id` are provided. Account defender and SMS - toll fraud protection need to be enabled. - readOnly: true - name: - readOnly: true - type: string - description: >- - Output only. Identifier. The resource name for the Assessment in the - format `projects/{project}/assessments/{assessment}`. - assessmentEnvironment: - description: >- - Optional. The environment creating the assessment. This describes - your environment (the system invoking CreateAssessment), NOT the - environment of your user. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AssessmentEnvironment - accountVerification: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo - description: >- - Optional. Account verification information for identity - verification. The assessment event must include a token and site key - to use this feature. - tokenProperties: - description: Output only. Properties of the provided event token. - readOnly: true - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1TokenProperties' - event: - description: Optional. The event being assessed. - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Event' - firewallPolicyAssessment: - description: >- - Output only. Assessment returned when firewall policies belonging to - the project are evaluated using the field - firewall_policy_evaluation. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment - readOnly: true - privatePasswordLeakVerification: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification - description: >- - Optional. The private password leak verification field contains the - parameters that are used to to check for leaks privately without - sharing user credentials. - fraudSignals: - description: >- - Output only. Fraud Signals specific to the users involved in a - payment transaction. - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudSignals' - readOnly: true - riskAnalysis: - description: Output only. The risk analysis result for the event being assessed. - readOnly: true - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1RiskAnalysis' - accountDefenderAssessment: - readOnly: true - description: >- - Output only. Assessment returned by account defender when an account - identifier is provided. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment - fraudPreventionAssessment: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment - readOnly: true - description: >- - Output only. Assessment returned by Fraud Prevention when - TransactionData is provided. - GoogleCloudRecaptchaenterpriseV1FirewallActionBlockAction: - type: object - id: GoogleCloudRecaptchaenterpriseV1FirewallActionBlockAction - properties: {} - description: >- - A block action serves an HTTP error code a prevents the request from - hitting the backend. GoogleCloudRecaptchaenterpriseV1ChallengeMetrics: - id: GoogleCloudRecaptchaenterpriseV1ChallengeMetrics + type: object properties: passedCount: + type: string format: int64 description: >- Count of nocaptchas (successful verification without a challenge) plus submitted challenge solutions that were correct and resulted in verification. - type: string nocaptchaCount: - format: int64 - type: string description: >- Count of nocaptchas (successful verification without a challenge) issued. + type: string + format: int64 pageloadCount: format: int64 - type: string description: >- Count of reCAPTCHA checkboxes or badges rendered. This is mostly equivalent to a count of pageloads for pages that include reCAPTCHA. - failedCount: type: string + failedCount: format: int64 description: >- Count of submitted challenge solutions that were incorrect or otherwise deemed suspicious such that a subsequent challenge was triggered. - description: Metrics related to challenges. - type: object - GoogleCloudRecaptchaenterpriseV1AddIpOverrideRequest: - properties: - ipOverrideData: - description: Required. IP override added to the key. - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1IpOverrideData' - id: GoogleCloudRecaptchaenterpriseV1AddIpOverrideRequest - description: The AddIpOverride request message. - type: object - GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideResponse: - id: GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideResponse - properties: {} - description: Response for RemoveIpOverride. - type: object - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict: - properties: - risk: - readOnly: true - format: float - type: number - description: >- - Output only. Probability of this transaction being executed with a - stolen instrument. Values are from 0.0 (lowest) to 1.0 (highest). - id: >- - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict - description: >- - Information about stolen instrument fraud, where the user is not the - legitimate owner of the instrument being used for the purchase. - type: object - GoogleCloudRecaptchaenterpriseV1TransactionDataUser: - type: object - properties: - phoneNumber: - description: Optional. The phone number of the user, with country code. - type: string - emailVerified: - type: boolean - description: >- - Optional. Whether the email has been verified to be accessible by - the user (OTP or similar). - email: - description: Optional. The email address of the user. - type: string - accountId: - type: string - description: >- - Optional. Unique account identifier for this user. If using account - defender, this should match the hashed_account_id field. Otherwise, - a unique and persistent identifier for this account. - creationMs: - description: Optional. The epoch milliseconds of the user's account creation. - type: string - format: int64 - phoneVerified: - description: >- - Optional. Whether the phone number has been verified to be - accessible by the user (OTP or similar). - type: boolean - id: GoogleCloudRecaptchaenterpriseV1TransactionDataUser - description: Details about a user's account involved in the transaction. - GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo: - type: object - properties: - emailAddress: - type: string - description: Email address for which to trigger a verification request. - requestToken: - description: >- - Output only. Token to provide to the client to trigger endpoint - verification. It must be used within 15 minutes. - readOnly: true - type: string - phoneNumber: - description: >- - Phone number for which to trigger a verification request. Should be - given in E.164 format. - type: string - lastVerificationTime: type: string - format: google-datetime - readOnly: true - description: >- - Output only. Timestamp of the last successful verification for the - endpoint, if any. - id: GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo - description: Information about a verification endpoint that can be used for 2FA. - GoogleCloudRecaptchaenterpriseV1Key: - type: object - description: >- - A key used to identify and configure applications (web and/or mobile) - that use reCAPTCHA Enterprise. - id: GoogleCloudRecaptchaenterpriseV1Key + description: Metrics related to challenges. + id: GoogleCloudRecaptchaenterpriseV1ChallengeMetrics + GoogleCloudRecaptchaenterpriseV1TransactionDataItem: + id: GoogleCloudRecaptchaenterpriseV1TransactionDataItem properties: - wafSettings: - description: Optional. Settings for WAF - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1WafSettings' name: - description: >- - Identifier. The resource name for the Key in the format - `projects/{project}/keys/{key}`. type: string - iosSettings: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1IOSKeySettings' - description: Settings for keys that can be used by iOS apps. - createTime: + description: Optional. The full name of the item. + quantity: type: string - readOnly: true + format: int64 + description: Optional. The quantity of this item that is being purchased. + value: description: >- - Output only. The timestamp corresponding to the creation of this - key. - format: google-datetime - testingOptions: - description: Optional. Options for user acceptance testing. - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1TestingOptions' - webSettings: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1WebKeySettings' - description: Settings for keys that can be used by websites. - androidSettings: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AndroidKeySettings - description: Settings for keys that can be used by Android apps. - labels: + Optional. The value per item that the user is paying, in the + transaction currency, after discounts. + format: double + type: number + merchantAccountId: description: >- - Optional. See [Creating and managing labels] - (https://cloud.google.com/recaptcha/docs/labels). - additionalProperties: - type: string - type: object - displayName: + Optional. When a merchant is specified, its corresponding + account_id. Necessary to populate marketplace-style transactions. type: string + type: object + description: Line items being purchased in this transaction. + GoogleCloudRecaptchaenterpriseV1AndroidKeySettings: + id: GoogleCloudRecaptchaenterpriseV1AndroidKeySettings + description: Settings specific to keys that can be used by Android apps. + properties: + allowedPackageNames: + items: + type: string + type: array description: >- - Required. Human-readable display name of this key. Modifiable by - user. - expressSettings: - description: Settings for keys that can be used by reCAPTCHA Express. + Optional. Android package names of apps allowed to use the key. + Example: 'com.companyname.appname' + allowAllPackageNames: + type: boolean + description: Optional. If set to true, allowed_package_names are not enforced. + supportNonGoogleAppStoreDistribution: + description: >- + Optional. Set to true for keys that are used in an Android + application that is available for download in app stores in addition + to the Google Play Store. + type: boolean + type: object + GoogleCloudRecaptchaenterpriseV1IOSKeySettings: + type: object + id: GoogleCloudRecaptchaenterpriseV1IOSKeySettings + description: Settings specific to keys that can be used by iOS apps. + properties: + appleDeveloperId: + description: >- + Optional. Apple Developer account details for the app that is + protected by the reCAPTCHA Key. reCAPTCHA leverages + platform-specific checks like Apple App Attest and Apple DeviceCheck + to protect your app from abuse. Providing these fields allows + reCAPTCHA to get a better assessment of the integrity of your app. $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ExpressKeySettings + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AppleDeveloperId + allowedBundleIds: + description: >- + Optional. iOS bundle ids of apps allowed to use the key. Example: + 'com.companyname.productname.appname' + items: + type: string + type: array + allowAllBundleIds: + type: boolean + description: Optional. If set to true, allowed_bundle_ids are not enforced. GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment: - description: Policy config assessment. properties: - error: - description: >- - Output only. If the processing of a policy config fails, an error is - populated and the firewall_policy is left empty. - readOnly: true - $ref: '#/components/schemas/GoogleRpcStatus' firewallPolicy: readOnly: true $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy' @@ -936,221 +710,157 @@ components: Output only. The policy that matched the request. If more than one policy may match, this is the first match. If no policy matches the incoming request, the policy field is left empty. + error: + description: >- + Output only. If the processing of a policy config fails, an error is + populated and the firewall_policy is left empty. + $ref: '#/components/schemas/GoogleRpcStatus' + readOnly: true id: GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment type: object - GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo: - description: Information about account verification, used for identity verification. - id: GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo + description: Policy config assessment. + GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesRequest: properties: - latestVerificationResult: - enum: - - RESULT_UNSPECIFIED - - SUCCESS_USER_VERIFIED - - ERROR_USER_NOT_VERIFIED - - ERROR_SITE_ONBOARDING_INCOMPLETE - - ERROR_RECIPIENT_NOT_ALLOWED - - ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED - - ERROR_CRITICAL_INTERNAL - - ERROR_CUSTOMER_QUOTA_EXHAUSTED - - ERROR_VERIFICATION_BYPASSED - - ERROR_VERDICT_MISMATCH - readOnly: true - enumDescriptions: - - No information about the latest account verification. - - >- - The user was successfully verified. This means the account - verification challenge was successfully completed. - - The user failed the verification challenge. - - >- - The site is not properly onboarded to use the account verification - feature. - - >- - The recipient is not allowed for account verification. This can - occur during integration but should not occur in production. - - >- - The recipient has already been sent too many verification codes in - a short amount of time. - - >- - The verification flow could not be completed due to a critical - internal error. - - >- - The client has exceeded their two factor request quota for this - period of time. - - >- - The request cannot be processed at the time because of an - incident. This bypass can be restricted to a problematic - destination email domain, a customer, or could affect the entire - service. - - >- - The request parameters do not match with the token provided and - cannot be processed. - description: Output only. Result of the latest account verification challenge. - type: string - languageCode: - type: string - description: >- - Optional. Language code preference for the verification message, set - as a IETF BCP 47 language code. - endpoints: - description: Optional. Endpoints that can be used for identity verification. - type: array + names: items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo - username: - type: string - description: >- - Username of the account that is being verified. Deprecated. - Customers should now provide the `account_id` field in - `event.user_info`. - deprecated: true - type: object - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict: - type: object - description: Information about behavioral trust of the transaction. - id: >- - GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict - properties: - trust: - readOnly: true - type: number - description: >- - Output only. Probability of this transaction attempt being executed - in a behaviorally trustworthy way. Values are from 0.0 (lowest) to - 1.0 (highest). - format: float - GoogleCloudRecaptchaenterpriseV1ListFirewallPoliciesResponse: - description: Response to request to list firewall policies belonging to a project. - properties: - nextPageToken: + type: string description: >- - Token to retrieve the next page of results. It is set to empty if no - policies remain in results. - type: string - firewallPolicies: + Required. A list containing all policy names, in the new order. Each + name is in the format + `projects/{project}/firewallpolicies/{firewallpolicy}`. type: array - description: Policy details. - items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy - id: GoogleCloudRecaptchaenterpriseV1ListFirewallPoliciesResponse type: object - GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse: - description: The response to a `ListRelatedAccountGroupMemberships` call. - id: >- - GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse + id: GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesRequest + description: The reorder firewall policies request message. + GoogleCloudRecaptchaenterpriseV1FirewallAction: type: object + id: GoogleCloudRecaptchaenterpriseV1FirewallAction properties: - nextPageToken: - type: string + setHeader: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction description: >- - A token, which can be sent as `page_token` to retrieve the next - page. If this field is omitted, there are no subsequent pages. - relatedAccountGroupMemberships: - items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership - description: The memberships listed by the query. - type: array - GoogleCloudRecaptchaenterpriseV1ListKeysResponse: - description: Response to request to list keys in a project. - id: GoogleCloudRecaptchaenterpriseV1ListKeysResponse - type: object - properties: - nextPageToken: + This action sets a custom header but allow the request to continue + to the customer backend. + allow: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionAllowAction description: >- - Token to retrieve the next page of results. It is set to empty if no - keys remain in results. - type: string - keys: - items: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' - description: Key details. - type: array - GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest: - type: object - description: The migrate key request message. - id: GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest - properties: - skipBillingCheck: - type: boolean + The user request did not match any policy and should be allowed + access to the requested resource. + redirect: description: >- - Optional. If true, skips the billing check. A reCAPTCHA Enterprise - key or migrated key behaves differently than a reCAPTCHA - (non-Enterprise version) key when you reach a quota limit (see - https://cloud.google.com/recaptcha/quotas#quota_limit). To avoid any - disruption of your usage, we check that a billing account is - present. If your usage of reCAPTCHA is under the free quota, you can - safely skip the billing check and proceed with the migration. See - https://cloud.google.com/recaptcha/docs/billing-information. - GoogleCloudRecaptchaenterpriseV1AssessmentEnvironment: + This action redirects the request to a reCAPTCHA interstitial to + attach a token. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction + substitute: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction + description: >- + This action transparently serves a different page to an offending + user. + block: + description: >- + This action denies access to a given page. The user gets an HTTP + error code. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionBlockAction + includeRecaptchaScript: + description: >- + This action injects reCAPTCHA JavaScript code into the HTML page + returned by the site backend. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionIncludeRecaptchaScriptAction description: >- - The environment creating the assessment. This describes your environment - (the system invoking CreateAssessment), NOT the environment of your - user. + An individual action. Each action represents what to do if a policy + matches. + GoogleCloudRecaptchaenterpriseV1WafSettings: + type: object properties: - version: + wafFeature: + enum: + - WAF_FEATURE_UNSPECIFIED + - CHALLENGE_PAGE + - SESSION_TOKEN + - ACTION_TOKEN + - EXPRESS + enumDescriptions: + - Undefined feature. + - Redirects suspicious traffic to reCAPTCHA. + - >- + Use reCAPTCHA session-tokens to protect the whole user session on + the site's domain. + - Use reCAPTCHA action-tokens to protect user actions. + - >- + Use reCAPTCHA WAF express protection to protect any content other + than web pages, like APIs and IoT devices. + description: Required. The WAF feature for which this key is enabled. type: string - description: Optional. The version of the client module. For example, "1.0.0". - client: + wafService: + description: Required. The WAF service that uses this key. + enum: + - WAF_SERVICE_UNSPECIFIED + - CA + - FASTLY + - CLOUDFLARE + - AKAMAI + enumDescriptions: + - Undefined WAF + - Cloud Armor + - Fastly + - Cloudflare + - Akamai type: string - description: >- - Optional. Identifies the client module initiating the - CreateAssessment request. This can be the link to the client - module's project. Examples include: - - "github.com/GoogleCloudPlatform/recaptcha-enterprise-google-tag-manager" - - "cloud.google.com/recaptcha/docs/implement-waf-akamai" - - "cloud.google.com/recaptcha/docs/implement-waf-cloudflare" - - "wordpress.org/plugins/recaptcha-something" - type: object - id: GoogleCloudRecaptchaenterpriseV1AssessmentEnvironment + id: GoogleCloudRecaptchaenterpriseV1WafSettings + description: >- + Settings specific to keys that can be used for WAF (Web Application + Firewall). GoogleCloudRecaptchaenterpriseV1ListIpOverridesResponse: - description: Response for ListIpOverrides. - type: object properties: - nextPageToken: - type: string - description: >- - Token to retrieve the next page of results. If this field is empty, - no keys remain in the results. ipOverrides: - type: array description: IP Overrides details. items: $ref: >- #/components/schemas/GoogleCloudRecaptchaenterpriseV1IpOverrideData + type: array + nextPageToken: + type: string + description: >- + Token to retrieve the next page of results. If this field is empty, + no keys remain in the results. id: GoogleCloudRecaptchaenterpriseV1ListIpOverridesResponse - GoogleCloudRecaptchaenterpriseV1IOSKeySettings: - id: GoogleCloudRecaptchaenterpriseV1IOSKeySettings type: object + description: Response for ListIpOverrides. + GoogleCloudRecaptchaenterpriseV1ScoreDistribution: + type: object + description: Score distribution. + id: GoogleCloudRecaptchaenterpriseV1ScoreDistribution properties: - appleDeveloperId: - description: >- - Optional. Apple Developer account details for the app that is - protected by the reCAPTCHA Key. reCAPTCHA leverages - platform-specific checks like Apple App Attest and Apple DeviceCheck - to protect your app from abuse. Providing these fields allows - reCAPTCHA to get a better assessment of the integrity of your app. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AppleDeveloperId - allowedBundleIds: - type: array - items: + scoreBuckets: + additionalProperties: + format: int64 type: string + type: object description: >- - Optional. iOS bundle ids of apps allowed to use the key. Example: - 'com.companyname.productname.appname' - allowAllBundleIds: - type: boolean - description: Optional. If set to true, allowed_bundle_ids are not enforced. - description: Settings specific to keys that can be used by iOS apps. + Map key is score value multiplied by 100. The scores are discrete + values between [0, 1]. The maximum number of buckets is on order of + a few dozen, but typically much lower (ie. 10). GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment: + id: GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment + description: Account defender risk assessment. + type: object properties: labels: - readOnly: true type: array - description: Output only. Labels for this request. items: + type: string + enum: + - ACCOUNT_DEFENDER_LABEL_UNSPECIFIED + - PROFILE_MATCH + - SUSPICIOUS_LOGIN_ACTIVITY + - SUSPICIOUS_ACCOUNT_CREATION + - RELATED_ACCOUNTS_NUMBER_HIGH enumDescriptions: - Default unspecified type. - The request matches a known good profile for the user. @@ -1166,714 +876,1036 @@ components: The account in the request has a high number of related accounts. It does not necessarily imply that the account is bad but can require further investigation. + readOnly: true + description: Output only. Labels for this request. + GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest: + description: The request message to search related account group memberships. + type: object + properties: + pageSize: + description: >- + Optional. The maximum number of groups to return. The service might + return fewer than this value. If unspecified, at most 50 groups are + returned. The maximum value is 1000; values above 1000 are coerced + to 1000. + format: int32 + type: integer + accountId: + type: string + description: >- + Optional. The unique stable account identifier used to search + connections. The identifier should correspond to an `account_id` + provided in a previous `CreateAssessment` or `AnnotateAssessment` + call. Either hashed_account_id or account_id must be set, but not + both. + hashedAccountId: + type: string + description: >- + Optional. Deprecated: use `account_id` instead. The unique stable + hashed account identifier used to search connections. The identifier + should correspond to a `hashed_account_id` provided in a previous + `CreateAssessment` or `AnnotateAssessment` call. Either + hashed_account_id or account_id must be set, but not both. + deprecated: true + format: byte + pageToken: + type: string + description: >- + Optional. A page token, received from a previous + `SearchRelatedAccountGroupMemberships` call. Provide this to + retrieve the subsequent page. When paginating, all other parameters + provided to `SearchRelatedAccountGroupMemberships` must match the + call that provided the page token. + id: >- + GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest + GoogleCloudRecaptchaenterpriseV1WebKeySettings: + id: GoogleCloudRecaptchaenterpriseV1WebKeySettings + type: object + description: Settings specific to keys that can be used by websites. + properties: + allowAllDomains: + type: boolean + description: Optional. If set to true, it means allowed_domains are not enforced. + challengeSecurityPreference: + enum: + - CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED + - USABILITY + - BALANCE + - SECURITY + description: >- + Optional. Settings for the frequency and difficulty at which this + key triggers captcha challenges. This should only be specified for + IntegrationTypes CHECKBOX and INVISIBLE and SCORE_AND_CHALLENGE. + type: string + enumDescriptions: + - Default type that indicates this enum hasn't been specified. + - Key tends to show fewer and easier challenges. + - Key tends to show balanced (in amount and difficulty) challenges. + - Key tends to show more and harder challenges. + allowAmpTraffic: + type: boolean + description: >- + Optional. If set to true, the key can be used on AMP (Accelerated + Mobile Pages) websites. This is supported only for the SCORE + integration type. + integrationType: + enum: + - INTEGRATION_TYPE_UNSPECIFIED + - SCORE + - CHECKBOX + - INVISIBLE + description: Required. Describes how this key is integrated with the website. + type: string + enumDescriptions: + - >- + Default type that indicates this enum hasn't been specified. This + is not a valid IntegrationType, one of the other types must be + specified instead. + - >- + Only used to produce scores. It doesn't display the "I'm not a + robot" checkbox and never shows captcha challenges. + - >- + Displays the "I'm not a robot" checkbox and may show captcha + challenges after it is checked. + - >- + Doesn't display the "I'm not a robot" checkbox, but may show + captcha challenges after risk analysis. + allowedDomains: + description: >- + Optional. Domains or subdomains of websites allowed to use the key. + All subdomains of an allowed domain are automatically allowed. A + valid domain requires a host and must not include any path, port, + query or fragment. Examples: 'example.com' or + 'subdomain.example.com' + items: type: string - enum: - - ACCOUNT_DEFENDER_LABEL_UNSPECIFIED - - PROFILE_MATCH - - SUSPICIOUS_LOGIN_ACTIVITY - - SUSPICIOUS_ACCOUNT_CREATION - - RELATED_ACCOUNTS_NUMBER_HIGH - description: Account defender risk assessment. - id: GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment + type: array + GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership: + properties: + accountId: + type: string + description: >- + The unique stable account identifier of the member. The identifier + corresponds to an `account_id` provided in a previous + `CreateAssessment` or `AnnotateAssessment` call. + name: + type: string + description: >- + Required. Identifier. The resource name for this membership in the + format + `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. + hashedAccountId: + type: string + description: >- + 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. + deprecated: true + format: byte + id: GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership + description: A membership in a group of related accounts. type: object - GoogleCloudRecaptchaenterpriseV1Event: + GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse: + type: object + id: GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse + description: >- + Secret key is used only in legacy reCAPTCHA. It must be used in a 3rd + party integration with legacy reCAPTCHA. properties: - userIpAddress: + legacySecretKey: description: >- - Optional. The IP address in the request from the user's device - related to this event. + 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. type: string - fraudPrevention: + GoogleCloudRecaptchaenterpriseV1TestingOptions: + description: Options for user acceptance testing. + type: object + id: GoogleCloudRecaptchaenterpriseV1TestingOptions + properties: + testingChallenge: type: string - enum: - - FRAUD_PREVENTION_UNSPECIFIED - - ENABLED - - DISABLED - description: Optional. The Fraud Prevention setting for this assessment. + description: >- + Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all + challenge requests for this site return nocaptcha if NOCAPTCHA, or + an unsolvable challenge if CHALLENGE. enumDescriptions: - >- - Default, unspecified setting. If opted in for automatic detection, - `fraud_prevention_assessment` is returned based on the request. - Otherwise, `fraud_prevention_assessment` is returned if - `transaction_data` is present in the `Event` and Fraud Prevention - is enabled in the Google Cloud console. + Perform the normal risk analysis and return either nocaptcha or a + challenge depending on risk and trust factors. - >- - Enable Fraud Prevention for this assessment, if Fraud Prevention - is enabled in the Google Cloud console. + Challenge requests for this key always return a nocaptcha, which + does not require a solution. - >- - Disable Fraud Prevention for this assessment, regardless of opt-in - status or Google Cloud console settings. - wafTokenAssessment: - type: boolean + Challenge requests for this key always return an unsolvable + challenge. + enum: + - TESTING_CHALLENGE_UNSPECIFIED + - NOCAPTCHA + - UNSOLVABLE_CHALLENGE + testingScore: + type: number description: >- - Optional. Flag for running WAF token assessment. If enabled, the - token must be specified, and have been created by a WAF-enabled key. - requestedUri: + Optional. All assessments for this Key return this score. Must be + between 0 (likely not legitimate) and 1 (likely legitimate) + inclusive. + format: float + GoogleCloudRecaptchaenterpriseV1TokenProperties: + type: object + description: Properties of the provided event token. + properties: + invalidReason: + readOnly: true + enumDescriptions: + - Default unspecified type. + - If the failure reason was not accounted for. + - The provided user verification token was malformed. + - The user verification token had expired. + - The user verification had already been seen. + - The user verification token was not present. + - >- + A retriable error (such as network failure) occurred on the + browser. Could easily be simulated by an attacker. type: string - description: >- - Optional. The URI resource the user requested that triggered an - assessment. - userAgent: + enum: + - INVALID_REASON_UNSPECIFIED + - UNKNOWN_INVALID_REASON + - MALFORMED + - EXPIRED + - DUPE + - MISSING + - BROWSER_ERROR + description: Output only. Reason associated with the response when valid = false. + iosBundleId: type: string + readOnly: true description: >- - Optional. The user agent present in the request from the user's - device related to this event. - expectedAction: - description: >- - Optional. The expected action for this type of event. This should be - the same action provided at token generation time on client-side - platforms already integrated with recaptcha enterprise. - type: string - token: + Output only. The ID of the iOS bundle with which the token was + generated (iOS keys only). + createTime: + format: google-datetime type: string description: >- - Optional. The user response token provided by the reCAPTCHA - Enterprise client-side integration on your site. - hashedAccountId: - deprecated: true - description: >- - Optional. Deprecated: use `user_info.account_id` instead. Unique - stable hashed user identifier for the request. The identifier must - be hashed using hmac-sha256 with stable secret. - format: byte + Output only. The timestamp corresponding to the generation of the + token. + readOnly: true + action: + description: Output only. Action name provided at token generation. + readOnly: true type: string - firewallPolicyEvaluation: + valid: + readOnly: true + description: >- + Output only. Whether the provided user response token is valid. When + valid = false, the reason could be specified in invalid_reason or it + could also be due to a user failing to solve a challenge or a + sitekey mismatch (i.e the sitekey used to generate the token was + different than the one specified in the assessment). type: boolean + hostname: + readOnly: true description: >- - Optional. Flag for enabling firewall policy config assessment. If - this flag is enabled, the firewall policy is evaluated and a - suggested firewall action is returned in the response. - express: + Output only. The hostname of the page on which the token was + generated (Web keys only). + type: string + androidPackageName: description: >- - Optional. Flag for a reCAPTCHA express request for an assessment - without a token. If enabled, `site_key` must reference an Express - site key. - type: boolean - headers: - type: array - description: Optional. HTTP header information about the request. - items: - type: string - ja3: + Output only. The name of the Android package with which the token + was generated (Android keys only). + readOnly: true type: string - description: Optional. JA3 fingerprint for SSL clients. - siteKey: + id: GoogleCloudRecaptchaenterpriseV1TokenProperties + GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideResponse: + properties: {} + description: Response for RemoveIpOverride. + type: object + id: GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideResponse + GoogleCloudRecaptchaenterpriseV1Key: + type: object + properties: + createTime: + description: >- + Output only. The timestamp corresponding to the creation of this + key. + format: google-datetime type: string + readOnly: true + testingOptions: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1TestingOptions' + description: Optional. Options for user acceptance testing. + webSettings: + description: Settings for keys that can be used by websites. + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1WebKeySettings' + labels: + type: object + additionalProperties: + type: string description: >- - Optional. The site key that was used to invoke reCAPTCHA Enterprise - on your site and generate the token. - transactionData: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionData' + Optional. See [Creating and managing labels] + (https://cloud.google.com/recaptcha/docs/labels). + name: + type: string description: >- - Optional. Data describing a payment transaction to be assessed. - Sending this data enables reCAPTCHA Enterprise Fraud Prevention and - the FraudPreventionAssessment component in the response. - userInfo: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1UserInfo' + Identifier. The resource name for the Key in the format + `projects/{project}/keys/{key}`. + displayName: + type: string description: >- - Optional. Information about the user that generates this event, when - they can be identified. They are often identified through the use of - an account for logged-in requests or login/registration requests, or - by providing user identifiers for guest actions like checkout. - id: GoogleCloudRecaptchaenterpriseV1Event - description: The event being assessed. - type: object - GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification: + Required. Human-readable display name of this key. Modifiable by + user. + androidSettings: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AndroidKeySettings + description: Settings for keys that can be used by Android apps. + iosSettings: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1IOSKeySettings' + description: Settings for keys that can be used by iOS apps. + wafSettings: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1WafSettings' + description: Optional. Settings for WAF + expressSettings: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ExpressKeySettings + description: Settings for keys that can be used by reCAPTCHA Express. + description: >- + A key used to identify and configure applications (web and/or mobile) + that use reCAPTCHA Enterprise. + id: GoogleCloudRecaptchaenterpriseV1Key + GoogleCloudRecaptchaenterpriseV1TransactionData: + id: GoogleCloudRecaptchaenterpriseV1TransactionData + description: >- + Transaction data associated with a payment protected by reCAPTCHA + Enterprise. type: object - id: GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification - description: Private password leak verification info. properties: - encryptedLeakMatchPrefixes: + shippingValue: + type: number description: >- - Output only. List of prefixes of the encrypted potential password - leaks that matched the given parameters. They must be compared with - the client-side decryption prefix of - `reencrypted_user_credentials_hash` - type: array - readOnly: true - items: - type: string - format: byte - reencryptedUserCredentialsHash: - type: string + Optional. The value of shipping in the specified currency. 0 for + free or no shipping. + format: double + gatewayInfo: description: >- - Output only. Corresponds to the re-encryption of the - `encrypted_user_credentials_hash` field. It is used to match - potential password leaks within `encrypted_leak_match_prefixes`. - readOnly: true - format: byte - lookupHashPrefix: - type: string - format: byte + Optional. Information about the payment gateway's response to the + transaction. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo + shippingAddress: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataAddress description: >- - Required. Exactly 26-bit prefix of the SHA-256 hash of the - canonicalized username. It is used to look up password leaks - associated with that hash prefix. - encryptedUserCredentialsHash: + Optional. Destination address if this transaction involves shipping + a physical item. + paymentMethod: + type: string description: >- - Optional. Encrypted Scrypt hash of the canonicalized - username+password. It is re-encrypted by the server and returned - through `reencrypted_user_credentials_hash`. - format: byte + Optional. The payment method for the transaction. The allowed values + are: * credit-card * debit-card * gift-card * processor-{name} (If a + third-party is used, for example, processor-paypal) * custom-{name} + (If an alternative method is used, for example, custom-crypto) + cardBin: type: string - GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse: - id: GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse - description: >- - Secret key is used only in legacy reCAPTCHA. It must be used in a 3rd - party integration with legacy reCAPTCHA. - type: object - properties: - legacySecretKey: description: >- - 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. + Optional. The Bank Identification Number - generally the first 6 or + 8 digits of the card. + transactionId: type: string - GoogleCloudRecaptchaenterpriseV1FirewallAction: - id: GoogleCloudRecaptchaenterpriseV1FirewallAction - properties: - allow: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionAllowAction description: >- - The user request did not match any policy and should be allowed - access to the requested resource. - substitute: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction + Unique identifier for the transaction. This custom identifier can be + used to reference this transaction in the future, for example, + labeling a refund or chargeback event. Two attempts at the same + transaction should use the same transaction id. + items: + type: array + description: Optional. Items purchased in this transaction. + items: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataItem + cardLastFour: + type: string + description: Optional. The last four digits of the card. + billingAddress: description: >- - This action transparently serves a different page to an offending - user. - setHeader: + Optional. Address associated with the payment method when + applicable. $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction - description: >- - This action sets a custom header but allow the request to continue - to the customer backend. - includeRecaptchaScript: + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataAddress + merchants: description: >- - This action injects reCAPTCHA JavaScript code into the HTML page - returned by the site backend. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionIncludeRecaptchaScriptAction - block: + Optional. Information about the user or users fulfilling the + transaction. + items: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataUser + type: array + user: description: >- - This action denies access to a given page. The user gets an HTTP - error code. + Optional. Information about the user paying/initiating the + transaction. $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionBlockAction - redirect: + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataUser + value: + format: double + type: number description: >- - This action redirects the request to a reCAPTCHA interstitial to - attach a token. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction - description: >- - An individual action. Each action represents what to do if a policy - matches. - type: object - GoogleCloudRecaptchaenterpriseV1ScoreDistribution: - description: Score distribution. - type: object - id: GoogleCloudRecaptchaenterpriseV1ScoreDistribution + Optional. The decimal value of the transaction in the specified + currency. + currencyCode: + description: Optional. The currency code in ISO-4217 format. + type: string + GoogleCloudRecaptchaenterpriseV1RiskAnalysis: + id: GoogleCloudRecaptchaenterpriseV1RiskAnalysis properties: - scoreBuckets: - type: object - additionalProperties: - format: int64 - type: string + score: + format: float + readOnly: true + type: number description: >- - Map key is score value multiplied by 100. The scores are discrete - values between [0, 1]. The maximum number of buckets is on order of - a few dozen, but typically much lower (ie. 10). - GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction: - id: GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction - type: object - properties: - value: + Output only. Legitimate event score from 0.0 to 1.0. (1.0 means very + likely legitimate traffic while 0.0 means very likely non-legitimate + traffic). + reasons: + readOnly: true + type: array + description: Output only. Reasons contributing to the risk analysis verdict. + items: + enumDescriptions: + - Default unspecified type. + - Interactions matched the behavior of an automated agent. + - The event originated from an illegitimate environment. + - Traffic volume from the event source is higher than normal. + - >- + Interactions with the site were significantly different than + expected patterns. + - >- + Too little traffic has been received from this site thus far to + generate quality risk analysis. + - >- + The request matches behavioral characteristics of a carding + attack. + - >- + The request matches behavioral characteristics of chargebacks + for fraud. + type: string + enum: + - CLASSIFICATION_REASON_UNSPECIFIED + - AUTOMATION + - UNEXPECTED_ENVIRONMENT + - TOO_MUCH_TRAFFIC + - UNEXPECTED_USAGE_PATTERNS + - LOW_CONFIDENCE_SCORE + - SUSPECTED_CARDING + - SUSPECTED_CHARGEBACK + challenge: + readOnly: true description: >- - Optional. The header value to set in the request to the backend - server. - type: string - key: + Output only. Challenge information for SCORE_AND_CHALLENGE and + INVISIBLE keys type: string + enumDescriptions: + - Default unspecified type. + - No challenge was presented for solving. + - A solution was submitted that was correct. + - >- + A solution was submitted that was incorrect or otherwise deemed + suspicious. + enum: + - CHALLENGE_UNSPECIFIED + - NOCAPTCHA + - PASSED + - FAILED + extendedVerdictReasons: description: >- - Optional. The header key to set in the request to the backend - server. - description: >- - A set header action sets a header and forwards the request to the - backend. This can be used to trigger custom protection implemented on - the backend. - GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction: + Output only. Extended verdict reasons to be used for experimentation + only. The set of possible reasons is subject to change. + items: + type: string + type: array + readOnly: true + description: Risk analysis result for an event. type: object - properties: {} - id: GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction - description: >- - A redirect action returns a 307 (temporary redirect) response, pointing - the user to a reCAPTCHA interstitial page to attach a token. - GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest: + GoogleRpcStatus: type: object - id: GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest + description: >- + 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). properties: - ipOverrideData: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1IpOverrideData' - description: Required. IP override to be removed from the key. - description: The removeIpOverride request message. - GoogleCloudRecaptchaenterpriseV1ScoreMetrics: + details: + type: array + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + code: + format: int32 + description: The status code, which should be an enum value of google.rpc.Code. + type: integer + message: + type: string + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + id: GoogleRpcStatus + GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse: properties: - actionMetrics: - type: object - additionalProperties: + relatedAccountGroups: + items: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ScoreDistribution + #/components/schemas/GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup + description: The groups of related accounts listed by the query. + type: array + nextPageToken: + type: string description: >- - Action-based metrics. The map key is the action name which specified - by the site owners at time of the "execute" client-side call. - overallMetrics: - description: Aggregated score metrics for all traffic. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ScoreDistribution - type: object - description: Metrics related to scoring. - id: GoogleCloudRecaptchaenterpriseV1ScoreMetrics - GoogleCloudRecaptchaenterpriseV1AddIpOverrideResponse: - id: GoogleCloudRecaptchaenterpriseV1AddIpOverrideResponse + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + description: The response to a `ListRelatedAccountGroups` call. + id: GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse type: object - properties: {} - description: Response for AddIpOverride. - GoogleCloudRecaptchaenterpriseV1TransactionData: - id: GoogleCloudRecaptchaenterpriseV1TransactionData + GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals: properties: - billingAddress: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataAddress - description: >- - Optional. Address associated with the payment method when - applicable. - user: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataUser + syntheticRisk: + readOnly: true description: >- - Optional. Information about the user paying/initiating the - transaction. - paymentMethod: + Output only. Likelihood (from 0.0 to 1.0) this user includes + synthetic components in their identity, such as a randomly generated + email address, temporary phone number, or fake shipping address. + type: number + format: float + activeDaysLowerBound: + type: integer + readOnly: true + format: int32 description: >- - Optional. The payment method for the transaction. The allowed values - are: * credit-card * debit-card * gift-card * processor-{name} (If a - third-party is used, for example, processor-paypal) * custom-{name} - (If an alternative method is used, for example, custom-crypto) - type: string - cardBin: + Output only. This user (based on email, phone, and other + identifiers) has been seen on the internet for at least this number + of days. + id: GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals + type: object + description: Signals describing the user involved in this transaction. + GoogleCloudRecaptchaenterpriseV1IpOverrideData: + id: GoogleCloudRecaptchaenterpriseV1IpOverrideData + description: Information about the IP or IP range override. + properties: + ip: type: string description: >- - Optional. The Bank Identification Number - generally the first 6 or - 8 digits of the card. - shippingAddress: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataAddress - description: >- - Optional. Destination address if this transaction involves shipping - a physical item. - items: - type: array + 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 + overrideType: + enum: + - OVERRIDE_TYPE_UNSPECIFIED + - ALLOW + description: Required. Describes the type of IP override. + type: string + enumDescriptions: + - >- + Default override type that indicates this enum hasn't been + specified. + - >- + Allowlist the IP address; i.e. give a `risk_analysis.score` of 0.9 + for all valid assessments. + type: object + GoogleCloudRecaptchaenterpriseV1Metrics: + properties: + challengeMetrics: items: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataItem - description: Optional. Items purchased in this transaction. - currencyCode: - type: string - description: Optional. The currency code in ISO-4217 format. - gatewayInfo: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ChallengeMetrics description: >- - Optional. Information about the payment gateway's response to the - transaction. - transactionId: + Metrics are continuous and in order by dates, and in the granularity + of day. Only challenge-based keys (CHECKBOX, INVISIBLE) have + challenge-based data. + type: array + startTime: + description: Inclusive start time aligned to a day (UTC). type: string - description: >- - Unique identifier for the transaction. This custom identifier can be - used to reference this transaction in the future, for example, - labeling a refund or chargeback event. Two attempts at the same - transaction should use the same transaction id. - shippingValue: - description: >- - Optional. The value of shipping in the specified currency. 0 for - free or no shipping. - format: double - type: number - cardLastFour: + format: google-datetime + name: type: string - description: Optional. The last four digits of the card. - value: - format: double - type: number + readOnly: true description: >- - Optional. The decimal value of the transaction in the specified - currency. - merchants: - type: array + Output only. Identifier. The name of the metrics, in the format + `projects/{project}/keys/{key}/metrics`. + scoreMetrics: description: >- - Optional. Information about the user or users fulfilling the - transaction. + Metrics are continuous and in order by dates, and in the granularity + of day. All Key types should have score-based data. items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionDataUser + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1ScoreMetrics' + type: array + id: GoogleCloudRecaptchaenterpriseV1Metrics + description: Metrics for a single Key. type: object - description: >- - Transaction data associated with a payment protected by reCAPTCHA - Enterprise. - GoogleCloudRecaptchaenterpriseV1WebKeySettings: - id: GoogleCloudRecaptchaenterpriseV1WebKeySettings + GoogleCloudRecaptchaenterpriseV1AssessmentEnvironment: + type: object + id: GoogleCloudRecaptchaenterpriseV1AssessmentEnvironment properties: - challengeSecurityPreference: - enum: - - CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED - - USABILITY - - BALANCE - - SECURITY + version: + description: Optional. The version of the client module. For example, "1.0.0". + type: string + client: description: >- - Optional. Settings for the frequency and difficulty at which this - key triggers captcha challenges. This should only be specified for - IntegrationTypes CHECKBOX and INVISIBLE and SCORE_AND_CHALLENGE. - enumDescriptions: - - Default type that indicates this enum hasn't been specified. - - Key tends to show fewer and easier challenges. - - Key tends to show balanced (in amount and difficulty) challenges. - - Key tends to show more and harder challenges. + Optional. Identifies the client module initiating the + CreateAssessment request. This can be the link to the client + module's project. Examples include: - + "github.com/GoogleCloudPlatform/recaptcha-enterprise-google-tag-manager" + - "cloud.google.com/recaptcha/docs/implement-waf-akamai" - + "cloud.google.com/recaptcha/docs/implement-waf-cloudflare" - + "wordpress.org/plugins/recaptcha-something" type: string - allowedDomains: + description: >- + The environment creating the assessment. This describes your environment + (the system invoking CreateAssessment), NOT the environment of your + user. + GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesResponse: + properties: {} + description: The reorder firewall policies response message. + type: object + id: GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesResponse + GoogleCloudRecaptchaenterpriseV1FraudSignalsCardSignals: + id: GoogleCloudRecaptchaenterpriseV1FraudSignalsCardSignals + description: Signals describing the payment card used in this transaction. + type: object + properties: + cardLabels: type: array + readOnly: true items: type: string + enum: + - CARD_LABEL_UNSPECIFIED + - PREPAID + - VIRTUAL + - UNEXPECTED_LOCATION + enumDescriptions: + - No label specified. + - This card has been detected as prepaid. + - >- + This card has been detected as virtual, such as a card number + generated for a single transaction or merchant. + - >- + This card has been detected as being used in an unexpected + geographic location. + description: Output only. The labels for the payment card in this transaction. + GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction: + properties: + key: + type: string description: >- - Optional. Domains or subdomains of websites allowed to use the key. - All subdomains of an allowed domain are automatically allowed. A - valid domain requires a host and must not include any path, port, - query or fragment. Examples: 'example.com' or - 'subdomain.example.com' - allowAllDomains: - description: Optional. If set to true, it means allowed_domains are not enforced. + Optional. The header key to set in the request to the backend + server. + value: + type: string + description: >- + Optional. The header value to set in the request to the backend + server. + type: object + id: GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction + description: >- + A set header action sets a header and forwards the request to the + backend. This can be used to trigger custom protection implemented on + the backend. + GoogleCloudRecaptchaenterpriseV1TransactionDataUser: + properties: + emailVerified: type: boolean - allowAmpTraffic: description: >- - Optional. If set to true, the key can be used on AMP (Accelerated - Mobile Pages) websites. This is supported only for the SCORE - integration type. - type: boolean - integrationType: + Optional. Whether the email has been verified to be accessible by + the user (OTP or similar). + phoneNumber: + description: Optional. The phone number of the user, with country code. + type: string + accountId: type: string - enumDescriptions: - - >- - Default type that indicates this enum hasn't been specified. This - is not a valid IntegrationType, one of the other types must be - specified instead. - - >- - Only used to produce scores. It doesn't display the "I'm not a - robot" checkbox and never shows captcha challenges. - - >- - Displays the "I'm not a robot" checkbox and may show captcha - challenges after it is checked. - - >- - Doesn't display the "I'm not a robot" checkbox, but may show - captcha challenges after risk analysis. - enum: - - INTEGRATION_TYPE_UNSPECIFIED - - SCORE - - CHECKBOX - - INVISIBLE - description: Required. Describes how this key is integrated with the website. - type: object - description: Settings specific to keys that can be used by websites. - GoogleCloudRecaptchaenterpriseV1AndroidKeySettings: - properties: - supportNonGoogleAppStoreDistribution: description: >- - Optional. Set to true for keys that are used in an Android - application that is available for download in app stores in addition - to the Google Play Store. - type: boolean - allowedPackageNames: - items: - type: string + Optional. Unique account identifier for this user. If using account + defender, this should match the hashed_account_id field. Otherwise, + a unique and persistent identifier for this account. + phoneVerified: description: >- - Optional. Android package names of apps allowed to use the key. - Example: 'com.companyname.appname' - type: array - allowAllPackageNames: - description: Optional. If set to true, allowed_package_names are not enforced. + Optional. Whether the phone number has been verified to be + accessible by the user (OTP or similar). type: boolean - id: GoogleCloudRecaptchaenterpriseV1AndroidKeySettings - description: Settings specific to keys that can be used by Android apps. + email: + type: string + description: Optional. The email address of the user. + creationMs: + description: Optional. The epoch milliseconds of the user's account creation. + type: string + format: int64 type: object - GoogleCloudRecaptchaenterpriseV1TransactionDataItem: + description: Details about a user's account involved in the transaction. + id: GoogleCloudRecaptchaenterpriseV1TransactionDataUser + GoogleCloudRecaptchaenterpriseV1AppleDeveloperId: + type: object + id: GoogleCloudRecaptchaenterpriseV1AppleDeveloperId + description: >- + Contains fields that are required to perform Apple-specific integrity + checks. properties: - value: + teamId: description: >- - Optional. The value per item that the user is paying, in the - transaction currency, after discounts. - format: double - type: number - quantity: - description: Optional. The quantity of this item that is being purchased. + Required. The Apple team ID (10-character string) owning the + provisioning profile used to build your application. type: string - format: int64 - merchantAccountId: - description: >- - Optional. When a merchant is specified, its corresponding - account_id. Necessary to populate marketplace-style transactions. + privateKey: type: string - name: + description: >- + Required. Input only. A private key (downloaded as a text file with + a .p8 file extension) generated for your Apple Developer account. + Ensure that Apple DeviceCheck is enabled for the private key. + keyId: + description: Required. The Apple developer key ID (10-character string). type: string - description: Optional. The full name of the item. - id: GoogleCloudRecaptchaenterpriseV1TransactionDataItem - type: object - description: Line items being purchased in this transaction. - GoogleCloudRecaptchaenterpriseV1TestingOptions: - description: Options for user acceptance testing. + GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo: + id: GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo type: object properties: - testingChallenge: + languageCode: type: string description: >- - Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all - challenge requests for this site return nocaptcha if NOCAPTCHA, or - an unsolvable challenge if CHALLENGE. + Optional. Language code preference for the verification message, set + as a IETF BCP 47 language code. + latestVerificationResult: + readOnly: true + enum: + - RESULT_UNSPECIFIED + - SUCCESS_USER_VERIFIED + - ERROR_USER_NOT_VERIFIED + - ERROR_SITE_ONBOARDING_INCOMPLETE + - ERROR_RECIPIENT_NOT_ALLOWED + - ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED + - ERROR_CRITICAL_INTERNAL + - ERROR_CUSTOMER_QUOTA_EXHAUSTED + - ERROR_VERIFICATION_BYPASSED + - ERROR_VERDICT_MISMATCH enumDescriptions: + - No information about the latest account verification. - >- - Perform the normal risk analysis and return either nocaptcha or a - challenge depending on risk and trust factors. + The user was successfully verified. This means the account + verification challenge was successfully completed. + - The user failed the verification challenge. - >- - Challenge requests for this key always return a nocaptcha, which - does not require a solution. + The site is not properly onboarded to use the account verification + feature. - >- - Challenge requests for this key always return an unsolvable - challenge. - enum: - - TESTING_CHALLENGE_UNSPECIFIED - - NOCAPTCHA - - UNSOLVABLE_CHALLENGE - testingScore: + The recipient is not allowed for account verification. This can + occur during integration but should not occur in production. + - >- + The recipient has already been sent too many verification codes in + a short amount of time. + - >- + The verification flow could not be completed due to a critical + internal error. + - >- + The client has exceeded their two factor request quota for this + period of time. + - >- + The request cannot be processed at the time because of an + incident. This bypass can be restricted to a problematic + destination email domain, a customer, or could affect the entire + service. + - >- + The request parameters do not match with the token provided and + cannot be processed. + description: Output only. Result of the latest account verification challenge. + type: string + endpoints: + items: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo + type: array + description: Optional. Endpoints that can be used for identity verification. + username: + type: string + deprecated: true + description: >- + Username of the account that is being verified. Deprecated. + Customers should now provide the `account_id` field in + `event.user_info`. + description: Information about account verification, used for identity verification. + GoogleCloudRecaptchaenterpriseV1ListKeysResponse: + type: object + description: Response to request to list keys in a project. + properties: + nextPageToken: + type: string + description: >- + Token to retrieve the next page of results. It is set to empty if no + keys remain in results. + keys: + type: array + items: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' + description: Key details. + id: GoogleCloudRecaptchaenterpriseV1ListKeysResponse + GoogleCloudRecaptchaenterpriseV1ExpressKeySettings: + type: object + id: GoogleCloudRecaptchaenterpriseV1ExpressKeySettings + properties: {} + description: Settings specific to keys that can be used for reCAPTCHA Express. + GoogleCloudRecaptchaenterpriseV1FirewallActionIncludeRecaptchaScriptAction: + properties: {} + id: >- + GoogleCloudRecaptchaenterpriseV1FirewallActionIncludeRecaptchaScriptAction + type: object + description: >- + An include reCAPTCHA script action involves injecting reCAPTCHA + JavaScript code into the HTML returned by the site backend. This + reCAPTCHA script is tasked with collecting user signals on the requested + web page, issuing tokens as a cookie within the site domain, and + enabling their utilization in subsequent page requests. + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict: + type: object + description: >- + Information about stolen instrument fraud, where the user is not the + legitimate owner of the instrument being used for the purchase. + id: >- + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict + properties: + risk: format: float + readOnly: true description: >- - Optional. All assessments for this Key return this score. Must be - between 0 (likely not legitimate) and 1 (likely legitimate) - inclusive. + Output only. Probability of this transaction being executed with a + stolen instrument. Values are from 0.0 (lowest) to 1.0 (highest). type: number - id: GoogleCloudRecaptchaenterpriseV1TestingOptions - GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership: + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict: + type: object + id: >- + GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict properties: - hashedAccountId: - type: string - deprecated: true - format: byte + trust: + readOnly: true + format: float description: >- - 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. - accountId: + Output only. Probability of this transaction attempt being executed + in a behaviorally trustworthy way. Values are from 0.0 (lowest) to + 1.0 (highest). + type: number + description: Information about behavioral trust of the transaction. + GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse: + type: object + properties: {} + id: GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse + description: Empty response for AnnotateAssessment. + GoogleCloudRecaptchaenterpriseV1AddIpOverrideResponse: + properties: {} + description: Response for AddIpOverride. + id: GoogleCloudRecaptchaenterpriseV1AddIpOverrideResponse + type: object + GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo: + type: object + description: Details about the transaction from the gateway. + id: GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo + properties: + avsResponseCode: type: string description: >- - The unique stable account identifier of the member. The identifier - corresponds to an `account_id` provided in a previous - `CreateAssessment` or `AnnotateAssessment` call. + Optional. AVS response code from the gateway (available only when + reCAPTCHA Enterprise is called after authorization). + gatewayResponseCode: + description: >- + Optional. Gateway response code describing the state of the + transaction. + type: string name: type: string description: >- - Required. Identifier. The resource name for this membership in the - format - `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. - id: GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership - type: object - description: A membership in a group of related accounts. - GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals: - description: Signals describing the user involved in this transaction. + Optional. Name of the gateway service (for example, stripe, square, + paypal). + cvvResponseCode: + type: string + description: >- + Optional. CVV response code from the gateway (available only when + reCAPTCHA Enterprise is called after authorization). + GoogleCloudRecaptchaenterpriseV1Assessment: type: object + id: GoogleCloudRecaptchaenterpriseV1Assessment + description: A reCAPTCHA Enterprise assessment resource. properties: - activeDaysLowerBound: - format: int32 - description: >- - Output only. This user (based on email, phone, and other - identifiers) has been seen on the internet for at least this number - of days. + riskAnalysis: readOnly: true - type: integer - syntheticRisk: + description: Output only. The risk analysis result for the event being assessed. + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1RiskAnalysis' + event: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Event' + description: Optional. The event being assessed. + assessmentEnvironment: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AssessmentEnvironment + description: >- + Optional. The environment creating the assessment. This describes + your environment (the system invoking CreateAssessment), NOT the + environment of your user. + fraudPreventionAssessment: + description: >- + Output only. Assessment returned by Fraud Prevention when + TransactionData is provided. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment readOnly: true - format: float - type: number + accountDefenderAssessment: description: >- - Output only. Likelihood (from 0.0 to 1.0) this user includes - synthetic components in their identity, such as a randomly generated - email address, temporary phone number, or fake shipping address. - id: GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals - GoogleCloudRecaptchaenterpriseV1Metrics: - properties: - startTime: - type: string - format: google-datetime - description: Inclusive start time aligned to a day (UTC). - scoreMetrics: + Output only. Assessment returned by account defender when an account + identifier is provided. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment + fraudSignals: + readOnly: true description: >- - Metrics are continuous and in order by dates, and in the granularity - of day. All Key types should have score-based data. - type: array - items: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1ScoreMetrics' + Output only. Fraud Signals specific to the users involved in a + payment transaction. + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudSignals' + tokenProperties: + readOnly: true + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1TokenProperties' + description: Output only. Properties of the provided event token. name: description: >- - Output only. Identifier. The name of the metrics, in the format - `projects/{project}/keys/{key}/metrics`. - readOnly: true + Output only. Identifier. The resource name for the Assessment in the + format `projects/{project}/assessments/{assessment}`. type: string - challengeMetrics: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ChallengeMetrics + readOnly: true + firewallPolicyAssessment: description: >- - Metrics are continuous and in order by dates, and in the granularity - of day. Only challenge-based keys (CHECKBOX, INVISIBLE) have - challenge-based data. + Output only. Assessment returned when firewall policies belonging to + the project are evaluated using the field + firewall_policy_evaluation. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment + phoneFraudAssessment: + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment + description: >- + Output only. Assessment returned when a site key, a token, and a + phone number as `user_id` are provided. Account defender and SMS + toll fraud protection need to be enabled. + accountVerification: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo + description: >- + Optional. Account verification information for identity + verification. The assessment event must include a token and site key + to use this feature. + privatePasswordLeakVerification: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification + description: >- + Optional. The private password leak verification field contains the + parameters that are used to to check for leaks privately without + sharing user credentials. + GoogleProtobufEmpty: type: object - description: Metrics for a single Key. - id: GoogleCloudRecaptchaenterpriseV1Metrics - GoogleCloudRecaptchaenterpriseV1TransactionEvent: - properties: - eventType: - enumDescriptions: - - Default, unspecified event type. - - >- - Indicates that the transaction is approved by the merchant. The - accompanying reasons can include terms such as 'INHOUSE', - 'ACCERTIFY', 'CYBERSOURCE', or 'MANUAL_REVIEW'. - - >- - Indicates that the transaction is denied and concluded due to - risks detected by the merchant. The accompanying reasons can - include terms such as 'INHOUSE', 'ACCERTIFY', 'CYBERSOURCE', or - 'MANUAL_REVIEW'. - - >- - Indicates that the transaction is being evaluated by a human, due - to suspicion or risk. - - >- - Indicates that the authorization attempt with the card issuer - succeeded. - - >- - Indicates that the authorization attempt with the card issuer - failed. The accompanying reasons can include Visa's '54' - indicating that the card is expired, or '82' indicating that the - CVV is incorrect. - - >- - Indicates that the transaction is completed because the funds were - settled. - - >- - Indicates that the transaction could not be completed because the - funds were not settled. - - >- - Indicates that the transaction has been canceled. Specify the - reason for the cancellation. For example, - 'INSUFFICIENT_INVENTORY'. - - >- - Indicates that the merchant has received a chargeback inquiry due - to fraud for the transaction, requesting additional information - before a fraud chargeback is officially issued and a formal - chargeback notification is sent. - - >- - Indicates that the merchant has received a chargeback alert due to - fraud for the transaction. The process of resolving the dispute - without involving the payment network is started. - - >- - Indicates that a fraud notification is issued for the transaction, - sent by the payment instrument's issuing bank because the - transaction appears to be fraudulent. We recommend including TC40 - or SAFE data in the `reason` field for this event type. For - partial chargebacks, we recommend that you include an amount in - the `value` field. - - >- - Indicates that the merchant is informed by the payment network - that the transaction has entered the chargeback process due to - fraud. Reason code examples include Discover's '6005' and '6041'. - For partial chargebacks, we recommend that you include an amount - in the `value` field. - - >- - Indicates that the transaction has entered the chargeback process - due to fraud, and that the merchant has chosen to enter - representment. Reason examples include Discover's '6005' and - '6041'. For partial chargebacks, we recommend that you include an - amount in the `value` field. - - >- - Indicates that the transaction has had a fraud chargeback which - was illegitimate and was reversed as a result. For partial - chargebacks, we recommend that you include an amount in the - `value` field. - - >- - Indicates that the merchant has received a refund for a completed - transaction. For partial refunds, we recommend that you include an - amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial - refund of exempt tax) - - >- - Indicates that the merchant has received a refund request for this - transaction, but that they have declined it. For partial refunds, - we recommend that you include an amount in the `value` field. - Reason example: 'TAX_EXEMPT' (partial refund of exempt tax) - - >- - Indicates that the completed transaction was refunded by the - merchant. For partial refunds, we recommend that you include an - amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial - refund of exempt tax) - - >- - Indicates that the completed transaction was refunded by the - merchant, and that this refund was reversed. For partial refunds, - we recommend that you include an amount in the `value` field. - description: Optional. The type of this transaction event. - enum: - - TRANSACTION_EVENT_TYPE_UNSPECIFIED - - MERCHANT_APPROVE - - MERCHANT_DENY - - MANUAL_REVIEW - - AUTHORIZATION - - AUTHORIZATION_DECLINE - - PAYMENT_CAPTURE - - PAYMENT_CAPTURE_DECLINE - - CANCEL - - CHARGEBACK_INQUIRY - - CHARGEBACK_ALERT - - FRAUD_NOTIFICATION - - CHARGEBACK - - CHARGEBACK_REPRESENTMENT - - CHARGEBACK_REVERSE - - REFUND_REQUEST - - REFUND_DECLINE - - REFUND - - REFUND_REVERSE + id: GoogleProtobufEmpty + properties: {} + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification: + id: GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification + description: Private password leak verification info. + type: object + properties: + reencryptedUserCredentialsHash: type: string - reason: + format: byte description: >- - Optional. The reason or standardized code that corresponds with this - transaction event, if one exists. For example, a CHARGEBACK event - with code 6005. + Output only. Corresponds to the re-encryption of the + `encrypted_user_credentials_hash` field. It is used to match + potential password leaks within `encrypted_leak_match_prefixes`. + readOnly: true + encryptedLeakMatchPrefixes: + type: array + items: + format: byte + type: string + readOnly: true + description: >- + Output only. List of prefixes of the encrypted potential password + leaks that matched the given parameters. They must be compared with + the client-side decryption prefix of + `reencrypted_user_credentials_hash` + lookupHashPrefix: + format: byte + description: >- + Required. Exactly 26-bit prefix of the SHA-256 hash of the + canonicalized username. It is used to look up password leaks + associated with that hash prefix. type: string - eventTime: + encryptedUserCredentialsHash: + format: byte + description: >- + Optional. Encrypted Scrypt hash of the canonicalized + username+password. It is re-encrypted by the server and returned + through `reencrypted_user_credentials_hash`. type: string + GoogleCloudRecaptchaenterpriseV1FraudSignals: + id: GoogleCloudRecaptchaenterpriseV1FraudSignals + description: Fraud signals describing users and cards involved in the transaction. + type: object + properties: + cardSignals: + readOnly: true description: >- - Optional. Timestamp when this transaction event occurred; otherwise - assumed to be the time of the API call. - format: google-datetime - value: - format: double - type: number + Output only. Signals describing the payment card or cards used in + this transaction. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudSignalsCardSignals + userSignals: + description: Output only. Signals describing the end user in this transaction. + readOnly: true + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals + GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse: + properties: + nextPageToken: + type: string description: >- - Optional. The value that corresponds with this transaction event, if - one exists. For example, a refund event where $5.00 was refunded. - Currency is obtained from the original transaction data. + A token, which can be sent as `page_token` to retrieve the next + page. If this field is omitted, there are no subsequent pages. + relatedAccountGroupMemberships: + items: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership + type: array + description: The memberships listed by the query. type: object - description: Describes an event in the lifecycle of a payment transaction. - id: GoogleCloudRecaptchaenterpriseV1TransactionEvent + id: >- + GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse + description: The response to a `ListRelatedAccountGroupMemberships` call. GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest: id: GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest properties: + transactionEvent: + description: >- + Optional. If the assessment is part of a payment transaction, + provide details on payment lifecycle events that occur in the + transaction. + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionEvent accountId: description: >- Optional. A stable account identifier to apply to the assessment. @@ -1882,17 +1914,32 @@ components: not yet known in the initial request. type: string hashedAccountId: - type: string description: >- Optional. A stable hashed account identifier to apply to the assessment. This is an alternative to setting `hashed_account_id` in `CreateAssessment`, for example when a stable account identifier is not yet known in the initial request. + type: string format: byte reasons: type: array - description: Optional. Reasons for the annotation that are assigned to the event. items: + enum: + - REASON_UNSPECIFIED + - CHARGEBACK + - CHARGEBACK_FRAUD + - CHARGEBACK_DISPUTE + - REFUND + - REFUND_FRAUD + - TRANSACTION_ACCEPTED + - TRANSACTION_DECLINED + - PAYMENT_HEURISTICS + - INITIATED_TWO_FACTOR + - PASSED_TWO_FACTOR + - FAILED_TWO_FACTOR + - CORRECT_PASSWORD + - INCORRECT_PASSWORD + - SOCIAL_SPAM type: string enumDescriptions: - Default unspecified reason. @@ -1941,40 +1988,8 @@ components: Indicates that the user sent unwanted and abusive messages to other users of the platform, such as spam, scams, phishing, or social engineering. - enum: - - REASON_UNSPECIFIED - - CHARGEBACK - - CHARGEBACK_FRAUD - - CHARGEBACK_DISPUTE - - REFUND - - REFUND_FRAUD - - TRANSACTION_ACCEPTED - - TRANSACTION_DECLINED - - PAYMENT_HEURISTICS - - INITIATED_TWO_FACTOR - - PASSED_TWO_FACTOR - - FAILED_TWO_FACTOR - - CORRECT_PASSWORD - - INCORRECT_PASSWORD - - SOCIAL_SPAM + description: Optional. Reasons for the annotation that are assigned to the event. annotation: - type: string - description: >- - Optional. The annotation that is assigned to the Event. This field - can be left empty to provide reasons that apply to an event without - concluding whether the event is legitimate or fraudulent. - enumDescriptions: - - Default unspecified type. - - Provides information that the event turned out to be legitimate. - - Provides information that the event turned out to be fraudulent. - - >- - Provides information that the event was related to a login event - in which the user typed the correct password. Deprecated, prefer - indicating CORRECT_PASSWORD through the reasons field instead. - - >- - Provides information that the event was related to a login event - in which the user typed the incorrect password. Deprecated, prefer - indicating INCORRECT_PASSWORD through the reasons field instead. enumDeprecated: - false - false @@ -1987,100 +2002,92 @@ components: - FRAUDULENT - PASSWORD_CORRECT - PASSWORD_INCORRECT - transactionEvent: + enumDescriptions: + - Default unspecified type. + - Provides information that the event turned out to be legitimate. + - Provides information that the event turned out to be fraudulent. + - >- + Provides information that the event was related to a login event + in which the user typed the correct password. Deprecated, prefer + indicating CORRECT_PASSWORD through the reasons field instead. + - >- + Provides information that the event was related to a login event + in which the user typed the incorrect password. Deprecated, prefer + indicating INCORRECT_PASSWORD through the reasons field instead. + type: string description: >- - Optional. If the assessment is part of a payment transaction, - provide details on payment lifecycle events that occur in the - transaction. - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1TransactionEvent - type: object + Optional. The annotation that is assigned to the Event. This field + can be left empty to provide reasons that apply to an event without + concluding whether the event is legitimate or fraudulent. description: The request message to annotate an Assessment. - GoogleRpcStatus: - description: >- - 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). - id: GoogleRpcStatus + type: object + GoogleCloudRecaptchaenterpriseV1UserId: + id: GoogleCloudRecaptchaenterpriseV1UserId type: object properties: - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. + username: type: string - code: - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - type: integer - details: - type: array description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object + Optional. A unique username, if different from all the other + identifiers and `account_id` that are provided. Can be a unique + login handle or display name for a user. + email: + type: string + description: Optional. An email address. + phoneNumber: + description: Optional. A phone number. Should use the E.164 format. + type: string + description: An identifier associated with a user. + GoogleCloudRecaptchaenterpriseV1AddIpOverrideRequest: + id: GoogleCloudRecaptchaenterpriseV1AddIpOverrideRequest + properties: + ipOverrideData: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1IpOverrideData' + description: Required. IP override added to the key. + description: The AddIpOverride request message. + type: object parameters: - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string - fields: - description: Selector specifying which fields to include in a partial response. + alt: + description: Data format for response. in: query - name: fields + name: alt schema: type: string + enum: + - json + - media + - proto uploadType: description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query name: uploadType schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: upload_protocol + name: fields schema: type: string - access_token: - description: OAuth access token. + _.xgafv: + description: V1 error format. in: query - name: access_token + name: $.xgafv schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + enum: + - '1' + - '2' + access_token: + description: OAuth access token. in: query - name: oauth_token + name: access_token schema: type: string callback: @@ -2089,16 +2096,12 @@ components: name: callback schema: type: string - alt: - description: Data format for response. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: alt + name: upload_protocol schema: type: string - enum: - - json - - media - - proto key: description: >- API key. Your API key identifies your project and provides you with API @@ -2108,22 +2111,37 @@ components: name: key schema: type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string x-stackQL-resources: assessments: id: google.recaptchaenterprise.assessments name: assessments title: Assessments methods: - annotate: + create: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1assessments~1{assessmentsId}:annotate/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1assessments/post' response: mediaType: application/json openAPIDocKey: '200' - create: + annotate: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1assessments/post' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1assessments~1{assessmentsId}:annotate/post response: mediaType: application/json openAPIDocKey: '200' @@ -2134,102 +2152,129 @@ components: update: [] replace: [] delete: [] - firewallpolicies: - id: google.recaptchaenterprise.firewallpolicies - name: firewallpolicies - title: Firewallpolicies + keys: + id: google.recaptchaenterprise.keys + name: keys + title: Keys methods: get: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies~1{firewallpoliciesId}/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + patch: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies~1{firewallpoliciesId}/delete + $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}/patch' response: mediaType: application/json openAPIDocKey: '200' - patch: + delete: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies~1{firewallpoliciesId}/patch + $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}/delete' response: mediaType: application/json openAPIDocKey: '200' - create: + migrate: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1firewallpolicies/post' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:migrate/post' response: mediaType: application/json openAPIDocKey: '200' list: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1firewallpolicies/get' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.firewallPolicies - reorder: + objectKey: $.keys + create: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies:reorder/post + $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/get' - - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/list' + - $ref: '#/components/x-stackQL-resources/keys/methods/get' + - $ref: '#/components/x-stackQL-resources/keys/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/create' + - $ref: '#/components/x-stackQL-resources/keys/methods/create' update: - - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/patch' + - $ref: '#/components/x-stackQL-resources/keys/methods/patch' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/delete' - relatedaccountgroups: - id: google.recaptchaenterprise.relatedaccountgroups - name: relatedaccountgroups - title: Relatedaccountgroups + - $ref: '#/components/x-stackQL-resources/keys/methods/delete' + keys_legacy_secret_key: + id: google.recaptchaenterprise.keys_legacy_secret_key + name: keys_legacy_secret_key + title: Keys_legacy_secret_key methods: - list: + retrieve_legacy_secret_key: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1relatedaccountgroups/get' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:retrieveLegacySecretKey/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.relatedAccountGroups sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/relatedaccountgroups/methods/list' + - $ref: >- + #/components/x-stackQL-resources/keys_legacy_secret_key/methods/retrieve_legacy_secret_key insert: [] update: [] replace: [] delete: [] - memberships: - id: google.recaptchaenterprise.memberships - name: memberships - title: Memberships + keys_ip_overrides: + id: google.recaptchaenterprise.keys_ip_overrides + name: keys_ip_overrides + title: Keys_ip_overrides methods: - list: + list_ip_overrides: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1relatedaccountgroups~1{relatedaccountgroupsId}~1memberships/get + #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:listIpOverrides/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.relatedAccountGroupMemberships + objectKey: $.ipOverrides sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/memberships/methods/list' + - $ref: >- + #/components/x-stackQL-resources/keys_ip_overrides/methods/list_ip_overrides insert: [] update: [] replace: [] delete: [] + keys_ip_override: + id: google.recaptchaenterprise.keys_ip_override + name: keys_ip_override + title: Keys_ip_override + methods: + add_ip_override: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:addIpOverride/post + response: + mediaType: application/json + openAPIDocKey: '200' + remove_ip_override: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:removeIpOverride/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/keys_ip_override/methods/add_ip_override + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/keys_ip_override/methods/remove_ip_override keys_metrics: id: google.recaptchaenterprise.keys_metrics name: keys_metrics @@ -2248,173 +2293,142 @@ components: update: [] replace: [] delete: [] - keys: - id: google.recaptchaenterprise.keys - name: keys - title: Keys + relatedaccountgroupmemberships: + id: google.recaptchaenterprise.relatedaccountgroupmemberships + name: relatedaccountgroupmemberships + title: Relatedaccountgroupmemberships methods: - get: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete: + search: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}/delete' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1relatedaccountgroupmemberships:search/post response: mediaType: application/json openAPIDocKey: '200' - patch: + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + firewallpolicies: + id: google.recaptchaenterprise.firewallpolicies + name: firewallpolicies + title: Firewallpolicies + methods: + list: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}/patch' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1firewallpolicies/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.firewallPolicies create: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys/post' - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys/get' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1firewallpolicies/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.keys - migrate: + delete: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:migrate/post' + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies~1{firewallpoliciesId}/delete response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/keys/methods/get' - - $ref: '#/components/x-stackQL-resources/keys/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/keys/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/keys/methods/patch' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/keys/methods/delete' - keys_ip_overrides: - id: google.recaptchaenterprise.keys_ip_overrides - name: keys_ip_overrides - title: Keys_ip_overrides - methods: - list_ip_overrides: + patch: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:listIpOverrides/get + #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies~1{firewallpoliciesId}/patch response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.ipOverrides - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/keys_ip_overrides/methods/list_ip_overrides - insert: [] - update: [] - replace: [] - delete: [] - keys_ip_override: - id: google.recaptchaenterprise.keys_ip_override - name: keys_ip_override - title: Keys_ip_override - methods: - remove_ip_override: + get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:removeIpOverride/post + #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies~1{firewallpoliciesId}/get response: mediaType: application/json openAPIDocKey: '200' - add_ip_override: + reorder: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:addIpOverride/post + #/paths/~1v1~1projects~1{projectsId}~1firewallpolicies:reorder/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/get' + - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/list' insert: - - $ref: >- - #/components/x-stackQL-resources/keys_ip_override/methods/add_ip_override - update: [] + - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/patch' replace: [] delete: - - $ref: >- - #/components/x-stackQL-resources/keys_ip_override/methods/remove_ip_override - keys_legacy_secret_key: - id: google.recaptchaenterprise.keys_legacy_secret_key - name: keys_legacy_secret_key - title: Keys_legacy_secret_key + - $ref: '#/components/x-stackQL-resources/firewallpolicies/methods/delete' + relatedaccountgroups: + id: google.recaptchaenterprise.relatedaccountgroups + name: relatedaccountgroups + title: Relatedaccountgroups methods: - retrieve_legacy_secret_key: + list: operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1keys~1{keysId}:retrieveLegacySecretKey/get + $ref: '#/paths/~1v1~1projects~1{projectsId}~1relatedaccountgroups/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.relatedAccountGroups sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/keys_legacy_secret_key/methods/retrieve_legacy_secret_key + - $ref: '#/components/x-stackQL-resources/relatedaccountgroups/methods/list' insert: [] update: [] replace: [] delete: [] - relatedaccountgroupmemberships: - id: google.recaptchaenterprise.relatedaccountgroupmemberships - name: relatedaccountgroupmemberships - title: Relatedaccountgroupmemberships + memberships: + id: google.recaptchaenterprise.memberships + name: memberships + title: Memberships methods: - search: + list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1relatedaccountgroupmemberships:search/post + #/paths/~1v1~1projects~1{projectsId}~1relatedaccountgroups~1{relatedaccountgroupsId}~1memberships/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.relatedAccountGroupMemberships sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/memberships/methods/list' insert: [] update: [] replace: [] delete: [] paths: - /v1/projects/{projectsId}/assessments/{assessmentsId}:annotate: + /v1/projects/{projectsId}/assessments: parameters: &ref_1 - - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/oauth_token' post: - description: >- - Annotates a previously created Assessment to provide additional - information on whether the event turned out to be authentic or - fraudulent. - operationId: recaptchaenterprise.projects.assessments.annotate + description: Creates an Assessment of the likelihood an event is legitimate. + operationId: recaptchaenterprise.projects.assessments.create requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Assessment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2427,52 +2441,27 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1Assessment parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: assessmentsId - required: true - schema: - type: string - /v1/projects/{projectsId}/assessments: + /v1/projects/{projectsId}/assessments/{assessmentsId}:annotate: parameters: *ref_1 post: - description: Creates an Assessment of the likelihood an event is legitimate. - operationId: recaptchaenterprise.projects.assessments.create + description: >- + Annotates a previously created Assessment to provide additional + information on whether the event turned out to be authentic or + fraudulent. + operationId: recaptchaenterprise.projects.assessments.annotate requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Assessment' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1Assessment - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - /v1/projects/{projectsId}/firewallpolicies/{firewallpoliciesId}: - parameters: *ref_1 - get: - description: Returns the specified firewall policy. - operationId: recaptchaenterprise.projects.firewallpolicies.get + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2485,7 +2474,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse parameters: - in: path name: projectsId @@ -2493,13 +2482,15 @@ paths: schema: type: string - in: path - name: firewallpoliciesId + name: assessmentsId required: true schema: type: string - delete: - description: Deletes the specified firewall policy. - operationId: recaptchaenterprise.projects.firewallpolicies.delete + /v1/projects/{projectsId}/keys/{keysId}: + parameters: *ref_1 + get: + description: Returns the specified key. + operationId: recaptchaenterprise.projects.keys.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2511,7 +2502,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' parameters: - in: path name: projectsId @@ -2519,19 +2510,18 @@ paths: schema: type: string - in: path - name: firewallpoliciesId + name: keysId required: true schema: type: string patch: - description: Updates the specified firewall policy. - operationId: recaptchaenterprise.projects.firewallpolicies.patch + description: Updates the specified key. + operationId: recaptchaenterprise.projects.keys.patch requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2543,8 +2533,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' parameters: - in: path name: projectsId @@ -2552,7 +2541,7 @@ paths: schema: type: string - in: path - name: firewallpoliciesId + name: keysId required: true schema: type: string @@ -2561,20 +2550,9 @@ paths: schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/firewallpolicies: - parameters: *ref_1 - post: - description: >- - Creates a new FirewallPolicy, specifying conditions at which reCAPTCHA - Enterprise actions can be executed. A project may have a maximum of 1000 - policies. - operationId: recaptchaenterprise.projects.firewallpolicies.create - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + delete: + description: Deletes the specified key. + operationId: recaptchaenterprise.projects.keys.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2586,56 +2564,26 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId required: true schema: type: string - get: - description: Returns the list of all firewall policies that belong to a project. - operationId: recaptchaenterprise.projects.firewallpolicies.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListFirewallPoliciesResponse - parameters: - in: path - name: projectsId + name: keysId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/projects/{projectsId}/firewallpolicies:reorder: + /v1/projects/{projectsId}/keys/{keysId}:retrieveLegacySecretKey: parameters: *ref_1 - post: - description: Reorders all firewall policies. - operationId: recaptchaenterprise.projects.firewallpolicies.reorder - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesRequest + get: + description: >- + 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. + operationId: recaptchaenterprise.projects.keys.retrieveLegacySecretKey security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2648,18 +2596,23 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse parameters: - in: path name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/relatedaccountgroups: + - in: path + name: keysId + required: true + schema: + type: string + /v1/projects/{projectsId}/keys/{keysId}:listIpOverrides: parameters: *ref_1 get: - description: List groups of related accounts. - operationId: recaptchaenterprise.projects.relatedaccountgroups.list + description: Lists all IP overrides for a key. + operationId: recaptchaenterprise.projects.keys.listIpOverrides security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2672,15 +2625,16 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListIpOverridesResponse parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: keysId + required: true schema: type: string - in: query @@ -2688,11 +2642,25 @@ paths: schema: type: integer format: int32 - /v1/projects/{projectsId}/relatedaccountgroups/{relatedaccountgroupsId}/memberships: + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/keys/{keysId}:addIpOverride: parameters: *ref_1 - get: - description: Get memberships in a group of related accounts. - operationId: recaptchaenterprise.projects.relatedaccountgroups.memberships.list + post: + description: >- + 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. + operationId: recaptchaenterprise.projects.keys.addIpOverride + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AddIpOverrideRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2705,7 +2673,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1AddIpOverrideResponse parameters: - in: path name: projectsId @@ -2713,19 +2681,10 @@ paths: schema: type: string - in: path - name: relatedaccountgroupsId + name: keysId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string /v1/projects/{projectsId}/keys/{keysId}/metrics: parameters: *ref_1 get: @@ -2756,11 +2715,22 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/keys/{keysId}: + /v1/projects/{projectsId}/keys/{keysId}:migrate: parameters: *ref_1 - get: - description: Returns the specified key. - operationId: recaptchaenterprise.projects.keys.get + post: + description: >- + 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. + operationId: recaptchaenterprise.projects.keys.migrate + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2784,9 +2754,21 @@ paths: required: true schema: type: string - delete: - description: Deletes the specified key. - operationId: recaptchaenterprise.projects.keys.delete + /v1/projects/{projectsId}/keys/{keysId}:removeIpOverride: + parameters: *ref_1 + post: + description: >- + 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. + operationId: recaptchaenterprise.projects.keys.removeIpOverride + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2798,7 +2780,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleProtobufEmpty' + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideResponse parameters: - in: path name: projectsId @@ -2810,14 +2793,11 @@ paths: required: true schema: type: string - patch: - description: Updates the specified key. - operationId: recaptchaenterprise.projects.keys.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' + /v1/projects/{projectsId}/keys: + parameters: *ref_1 + get: + description: Returns the list of all keys that belong to a project. + operationId: recaptchaenterprise.projects.keys.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2829,28 +2809,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListKeysResponse parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: keysId - required: true + - in: query + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: updateMask + name: pageToken schema: type: string - format: google-fieldmask - /v1/projects/{projectsId}/keys/{keysId}:listIpOverrides: - parameters: *ref_1 - get: - description: Lists all IP overrides for a key. - operationId: recaptchaenterprise.projects.keys.listIpOverrides + post: + description: Creates a new reCAPTCHA Enterprise key. + operationId: recaptchaenterprise.projects.keys.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2862,38 +2845,24 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListIpOverridesResponse + $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: keysId - required: true - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/keys: + /v1/projects/{projectsId}/relatedaccountgroupmemberships:search: parameters: *ref_1 post: - description: Creates a new reCAPTCHA Enterprise key. - operationId: recaptchaenterprise.projects.keys.create + description: Search group memberships related to a given account. + operationId: recaptchaenterprise.projects.relatedaccountgroupmemberships.search requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2905,16 +2874,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse parameters: - in: path name: projectsId required: true schema: type: string + /v1/projects/{projectsId}/firewallpolicies: + parameters: *ref_1 get: - description: Returns the list of all keys that belong to a project. - operationId: recaptchaenterprise.projects.keys.list + description: Returns the list of all firewall policies that belong to a project. + operationId: recaptchaenterprise.projects.firewallpolicies.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2927,7 +2899,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListKeysResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListFirewallPoliciesResponse parameters: - in: path name: projectsId @@ -2943,22 +2915,18 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/keys/{keysId}:migrate: - parameters: *ref_1 post: description: >- - 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. - operationId: recaptchaenterprise.projects.keys.migrate + Creates a new FirewallPolicy, specifying conditions at which reCAPTCHA + Enterprise actions can be executed. A project may have a maximum of 1000 + policies. + operationId: recaptchaenterprise.projects.firewallpolicies.create requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2970,7 +2938,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecaptchaenterpriseV1Key' + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + /v1/projects/{projectsId}/firewallpolicies/{firewallpoliciesId}: + parameters: *ref_1 + delete: + description: Deletes the specified firewall policy. + operationId: recaptchaenterprise.projects.firewallpolicies.delete + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleProtobufEmpty' parameters: - in: path name: projectsId @@ -2978,25 +2970,19 @@ paths: schema: type: string - in: path - name: keysId + name: firewallpoliciesId required: true schema: type: string - /v1/projects/{projectsId}/keys/{keysId}:removeIpOverride: - parameters: *ref_1 - post: - description: >- - 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. - operationId: recaptchaenterprise.projects.keys.removeIpOverride + patch: + description: Updates the specified firewall policy. + operationId: recaptchaenterprise.projects.firewallpolicies.patch requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3009,7 +2995,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy parameters: - in: path name: projectsId @@ -3017,18 +3003,18 @@ paths: schema: type: string - in: path - name: keysId + name: firewallpoliciesId required: true schema: type: string - /v1/projects/{projectsId}/keys/{keysId}:retrieveLegacySecretKey: - parameters: *ref_1 + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask get: - description: >- - 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. - operationId: recaptchaenterprise.projects.keys.retrieveLegacySecretKey + description: Returns the specified firewall policy. + operationId: recaptchaenterprise.projects.firewallpolicies.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3041,7 +3027,7 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1FirewallPolicy parameters: - in: path name: projectsId @@ -3049,25 +3035,21 @@ paths: schema: type: string - in: path - name: keysId + name: firewallpoliciesId required: true schema: type: string - /v1/projects/{projectsId}/keys/{keysId}:addIpOverride: + /v1/projects/{projectsId}/firewallpolicies:reorder: parameters: *ref_1 post: - description: >- - 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. - operationId: recaptchaenterprise.projects.keys.addIpOverride + description: Reorders all firewall policies. + operationId: recaptchaenterprise.projects.firewallpolicies.reorder requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AddIpOverrideRequest + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3080,29 +3062,51 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1AddIpOverrideResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ReorderFirewallPoliciesResponse parameters: - in: path name: projectsId required: true schema: type: string + /v1/projects/{projectsId}/relatedaccountgroups: + parameters: *ref_1 + get: + description: List groups of related accounts. + operationId: recaptchaenterprise.projects.relatedaccountgroups.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse + parameters: - in: path - name: keysId + name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/relatedaccountgroupmemberships:search: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/relatedaccountgroups/{relatedaccountgroupsId}/memberships: parameters: *ref_1 - post: - description: Search group memberships related to a given account. - operationId: recaptchaenterprise.projects.relatedaccountgroupmemberships.search - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest + get: + description: Get memberships in a group of related accounts. + operationId: recaptchaenterprise.projects.relatedaccountgroups.memberships.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3115,10 +3119,24 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse + #/components/schemas/GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse parameters: - in: path name: projectsId required: true schema: type: string + - in: path + name: relatedaccountgroupsId + required: true + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 diff --git a/providers/src/googleapis.com/v00.00.00000/services/recommendationengine.yaml b/providers/src/googleapis.com/v00.00.00000/services/recommendationengine.yaml index 873c0799..f0400a0e 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/recommendationengine.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/recommendationengine.yaml @@ -14,8 +14,8 @@ info: personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud. version: v1beta1 - x-discovery-doc-revision: '20240830' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/recommendations-ai/docs servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/recommender.yaml b/providers/src/googleapis.com/v00.00.00000/services/recommender.yaml index 66b9345d..97bfaccd 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/recommender.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/recommender.yaml @@ -7,8 +7,8 @@ info: title: Recommender API description: '' version: v1 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/recommender/docs/ servers: @@ -34,151 +34,81 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudRecommenderV1InsightTypeGenerationConfig: - description: >- - A configuration to customize the generation of insights. Eg, customizing - the lookback period considered when generating a insight. - type: object - id: GoogleCloudRecommenderV1InsightTypeGenerationConfig + GoogleCloudRecommenderV1InsightTypeConfig: properties: - params: + etag: + type: string description: >- - Parameters for this InsightTypeGenerationConfig. These configs can - be used by or are applied to all subtypes. - additionalProperties: - description: Properties of the object. - type: any + Fingerprint of the InsightTypeConfig. Provides optimistic locking + when updating. + annotations: + description: >- + Allows clients to store small amounts of arbitrary data. Annotations + must follow the Kubernetes syntax. The total size of all keys and + values combined is limited to 256k. Key can have 2 segments: prefix + (optional) and name (required), separated by a slash (/). Prefix + must be a DNS subdomain. Name must be 63 characters or less, begin + and end with alphanumerics, with dashes (-), underscores (_), dots + (.), and alphanumerics between. type: object - GoogleTypeMoney: - id: GoogleTypeMoney - type: object - properties: - units: - type: string - format: int64 + additionalProperties: + type: string + revisionId: description: >- - The whole units of the amount. For example if `currencyCode` is - `"USD"`, then 1 unit is one US dollar. - currencyCode: + 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. + readOnly: true type: string - description: The three-letter currency code defined in ISO 4217. - nanos: - format: int32 - description: >- - Number of nano (10^-9) units of the amount. The value must be - between -999,999,999 and +999,999,999 inclusive. If `units` is - positive, `nanos` must be positive or zero. If `units` is zero, - `nanos` can be positive, zero, or negative. If `units` is negative, - `nanos` must be negative or zero. For example $-1.75 is represented - as `units`=-1 and `nanos`=-750,000,000. - type: integer - description: Represents an amount of money with its currency type. - GoogleCloudRecommenderV1SustainabilityProjection: - properties: - duration: - description: Duration for which this sustainability applies. - format: google-duration + updateTime: + type: string + description: Last time when the config was updated. + format: google-datetime + name: type: string - kgCO2e: description: >- - Carbon Footprint generated in kg of CO2 equivalent. Chose kg_c_o2e - so that the name renders correctly in camelCase (kgCO2e). - type: number - format: double - description: >- - Contains metadata about how much sustainability a recommendation can - save or incur. - type: object - id: GoogleCloudRecommenderV1SustainabilityProjection - GoogleCloudRecommenderV1ListInsightsResponse: - description: Response to the `ListInsights` method. - type: object - properties: - nextPageToken: + Identifier. Name of insight type config. Eg, + projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config + displayName: description: >- - A token that can be used to request the next page of results. This - field is empty if there are no additional results. + A user-settable field to provide a human-readable name to be used in + user interfaces. type: string - insights: - type: array - description: The set of insights for the `parent` resource. - items: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' - id: GoogleCloudRecommenderV1ListInsightsResponse - GoogleCloudRecommenderV1SecurityProjection: - type: object - description: Contains various ways of describing the impact on Security. - properties: - details: + insightTypeGenerationConfig: description: >- - Additional security impact details that is provided by the - recommender. - type: object - additionalProperties: - description: Properties of the object. - type: any - id: GoogleCloudRecommenderV1SecurityProjection - GoogleCloudRecommenderV1MarkRecommendationDismissedRequest: - id: GoogleCloudRecommenderV1MarkRecommendationDismissedRequest - properties: - etag: - type: string - description: Fingerprint of the Recommendation. Provides optimistic locking. - description: Request for the `MarkRecommendationDismissed` Method. + InsightTypeGenerationConfig which configures the generation of + insights for this insight type. + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1InsightTypeGenerationConfig + description: Configuration for an InsightType. + id: GoogleCloudRecommenderV1InsightTypeConfig type: object - GoogleCloudRecommenderV1RecommendationStateInfo: + GoogleCloudRecommenderV1CostProjection: properties: - stateMetadata: - additionalProperties: - type: string - type: object + costInLocalCurrency: + $ref: '#/components/schemas/GoogleTypeMoney' description: >- - A map of metadata for the state, provided by user or automations - systems. - state: - enumDescriptions: - - Default state. Don't use directly. - - >- - Recommendation is active and can be applied. Recommendations - content can be updated by Google. ACTIVE recommendations can be - marked as CLAIMED, SUCCEEDED, or FAILED. - - >- - Recommendation is in claimed state. Recommendations content is - immutable and cannot be updated by Google. CLAIMED recommendations - can be marked as CLAIMED, SUCCEEDED, or FAILED. - - >- - Recommendation is in succeeded state. Recommendations content is - immutable and cannot be updated by Google. SUCCEEDED - recommendations can be marked as SUCCEEDED, or FAILED. - - >- - Recommendation is in failed state. Recommendations content is - immutable and cannot be updated by Google. FAILED recommendations - can be marked as SUCCEEDED, or FAILED. - - >- - Recommendation is in dismissed state. Recommendation content can - be updated by Google. DISMISSED recommendations can be marked as - ACTIVE. + The approximate cost savings in the billing account's local + currency. + cost: + description: >- + An approximate projection on amount saved or amount incurred. + Negative cost units indicate cost savings and positive cost units + indicate increase. See google.type.Money documentation for + positive/negative units. A user's permissions may affect whether the + cost is computed using list prices or custom contract prices. + $ref: '#/components/schemas/GoogleTypeMoney' + duration: type: string - description: The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED. - enum: - - STATE_UNSPECIFIED - - ACTIVE - - CLAIMED - - SUCCEEDED - - FAILED - - DISMISSED + description: Duration for which this cost applies. + format: google-duration + description: >- + Contains metadata about how much money a recommendation can save or + incur. type: object - description: Information for state. Contains state and metadata. - id: GoogleCloudRecommenderV1RecommendationStateInfo + id: GoogleCloudRecommenderV1CostProjection GoogleCloudRecommenderV1InsightStateInfo: properties: - stateMetadata: - description: >- - A map of metadata for the state, provided by user or automations - systems. - type: object - additionalProperties: - type: string state: description: Insight state. enum: @@ -186,7 +116,6 @@ components: - ACTIVE - ACCEPTED - DISMISSED - type: string enumDescriptions: - Unspecified state. - >- @@ -202,35 +131,52 @@ components: - >- Insight is dismissed. Content for DISMISSED insights can be updated by Google. DISMISSED insights can be marked as ACTIVE. - description: Information related to insight state. - id: GoogleCloudRecommenderV1InsightStateInfo + type: string + stateMetadata: + type: object + description: >- + A map of metadata for the state, provided by user or automations + systems. + additionalProperties: + type: string type: object - GoogleCloudRecommenderV1ListRecommendationsResponse: - description: Response to the `ListRecommendations` method. + id: GoogleCloudRecommenderV1InsightStateInfo + description: Information related to insight state. + GoogleCloudRecommenderV1RecommendationContent: + id: GoogleCloudRecommenderV1RecommendationContent + description: Contains what resources are changing and how they are changing. properties: - recommendations: - items: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' - type: array - description: The set of recommendations for the `parent` resource. - nextPageToken: + operationGroups: description: >- - A token that can be used to request the next page of results. This - field is empty if there are no additional results. - type: string + Operations to one or more Google Cloud resources grouped in such a + way that, all operations within one group are expected to be + performed atomically and in an order. + type: array + items: + $ref: '#/components/schemas/GoogleCloudRecommenderV1OperationGroup' + overview: + type: object + additionalProperties: + description: Properties of the object. + type: any + description: Condensed overview information about the recommendation. type: object - id: GoogleCloudRecommenderV1ListRecommendationsResponse GoogleCloudRecommenderV1ReliabilityProjection: id: GoogleCloudRecommenderV1ReliabilityProjection + type: object + description: Contains information on the impact of a reliability recommendation. properties: details: type: object additionalProperties: - type: any description: Properties of the object. + type: any description: Per-recommender projection. risks: + description: Reliability risks mitigated by this recommendation. + type: array items: + type: string enum: - RISK_TYPE_UNSPECIFIED - SERVICE_DISRUPTION @@ -243,146 +189,34 @@ components: - >- Potential access denial. The service is still up but some or all clients can't access it. - type: string - description: Reliability risks mitigated by this recommendation. - type: array - type: object - description: Contains information on the impact of a reliability recommendation. - GoogleCloudRecommenderV1OperationGroup: + GoogleCloudRecommenderV1Operation: properties: - operations: + resourceType: description: >- - List of operations across one or more resources that belong to this - group. Loosely based on RFC6902 and should be performed in the order - they appear. - type: array - items: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Operation' - description: Group of operations that need to be performed atomically. - id: GoogleCloudRecommenderV1OperationGroup - type: object - GoogleCloudRecommenderV1MarkRecommendationClaimedRequest: - type: object - properties: - etag: - description: >- - Required. Fingerprint of the Recommendation. Provides optimistic - locking. - type: string - stateMetadata: - type: object - description: >- - State properties to include with this state. Overwrites any existing - `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. - Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`. - additionalProperties: - type: string - description: Request for the `MarkRecommendationClaimed` Method. - id: GoogleCloudRecommenderV1MarkRecommendationClaimedRequest - GoogleCloudRecommenderV1MarkRecommendationSucceededRequest: - type: object - properties: - stateMetadata: - description: >- - State properties to include with this state. Overwrites any existing - `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. - Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`. - type: object - additionalProperties: - type: string - etag: - type: string - description: >- - Required. Fingerprint of the Recommendation. Provides optimistic - locking. - description: Request for the `MarkRecommendationSucceeded` Method. - id: GoogleCloudRecommenderV1MarkRecommendationSucceededRequest - GoogleCloudRecommenderV1InsightTypeConfig: - id: GoogleCloudRecommenderV1InsightTypeConfig - description: Configuration for an InsightType. - type: object - properties: - annotations: - additionalProperties: - type: string - type: object - description: >- - Allows clients to store small amounts of arbitrary data. Annotations - must follow the Kubernetes syntax. The total size of all keys and - values combined is limited to 256k. Key can have 2 segments: prefix - (optional) and name (required), separated by a slash (/). Prefix - must be a DNS subdomain. Name must be 63 characters or less, begin - and end with alphanumerics, with dashes (-), underscores (_), dots - (.), and alphanumerics between. - displayName: - description: >- - A user-settable field to provide a human-readable name to be used in - user interfaces. - type: string - etag: - description: >- - Fingerprint of the InsightTypeConfig. Provides optimistic locking - when updating. + Type of GCP resource being modified/tested. This field is always + populated. Example: cloudresourcemanager.googleapis.com/Project, + compute.googleapis.com/Instance type: string - insightTypeGenerationConfig: - description: >- - InsightTypeGenerationConfig which configures the generation of - insights for this insight type. - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1InsightTypeGenerationConfig - name: - description: >- - Identifier. Name of insight type config. Eg, - projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config + action: type: string - revisionId: description: >- - 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. - readOnly: true - type: string - updateTime: - format: google-datetime - type: string - description: Last time when the config was updated. - GoogleCloudRecommenderV1ValueMatcher: - id: GoogleCloudRecommenderV1ValueMatcher - description: Contains various matching options for values for a GCP resource field. - type: object - properties: - matchesPattern: + Type of this operation. Contains one of 'add', 'remove', 'replace', + 'move', 'copy', 'test' and custom operations. This field is + case-insensitive and always populated. + value: + type: any description: >- - To be used for full regex matching. The regular expression is using - the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), - so to be used with RE2::FullMatch + Value for the `path` field. Will be set for actions:'add'/'replace'. + Maybe set for action: 'test'. Either this or `value_matcher` will be + set for 'test' operation. An exact match must be performed. + sourcePath: type: string - GoogleCloudRecommenderV1MarkRecommendationFailedRequest: - id: GoogleCloudRecommenderV1MarkRecommendationFailedRequest - type: object - properties: - stateMetadata: - additionalProperties: - type: string description: >- - State properties to include with this state. Overwrites any existing - `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. - Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`. - type: object - etag: - description: >- - Required. Fingerprint of the Recommendation. Provides optimistic - locking. - type: string - description: Request for the `MarkRecommendationFailed` Method. - GoogleCloudRecommenderV1Operation: - id: GoogleCloudRecommenderV1Operation - type: object - properties: + Can be set with action 'copy' or 'move' to indicate the source field + within resource or source_resource, ignored if provided for other + operation types. pathFilters: type: object - additionalProperties: - type: any description: >- Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element @@ -395,6 +229,8 @@ components: "/bindings/*/members/*" : ["x@example.com", "y@example.com"] } ``` When both path_filters and path_value_matchers are set, an implicit AND must be performed. + additionalProperties: + type: any path: type: string description: >- @@ -409,51 +245,27 @@ components: be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`. - action: - description: >- - Type of this operation. Contains one of 'add', 'remove', 'replace', - 'move', 'copy', 'test' and custom operations. This field is - case-insensitive and always populated. - type: string pathValueMatchers: type: object + additionalProperties: + $ref: '#/components/schemas/GoogleCloudRecommenderV1ValueMatcher' description: >- Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed. - additionalProperties: - $ref: '#/components/schemas/GoogleCloudRecommenderV1ValueMatcher' - resourceType: - type: string - description: >- - Type of GCP resource being modified/tested. This field is always - populated. Example: cloudresourcemanager.googleapis.com/Project, - compute.googleapis.com/Instance valueMatcher: - $ref: '#/components/schemas/GoogleCloudRecommenderV1ValueMatcher' description: >- Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation. + $ref: '#/components/schemas/GoogleCloudRecommenderV1ValueMatcher' resource: + type: string description: >- Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo. - type: string - sourcePath: - type: string - description: >- - Can be set with action 'copy' or 'move' to indicate the source field - within resource or source_resource, ignored if provided for other - operation types. - value: - type: any - description: >- - Value for the `path` field. Will be set for actions:'add'/'replace'. - Maybe set for action: 'test'. Either this or `value_matcher` will be - set for 'test' operation. An exact match must be performed. description: >- Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array @@ -462,25 +274,211 @@ components: described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC. - GoogleCloudRecommenderV1RecommenderGenerationConfig: + id: GoogleCloudRecommenderV1Operation type: object + GoogleCloudRecommenderV1InsightTypeGenerationConfig: properties: params: type: object additionalProperties: + description: Properties of the object. type: any + description: >- + Parameters for this InsightTypeGenerationConfig. These configs can + be used by or are applied to all subtypes. + id: GoogleCloudRecommenderV1InsightTypeGenerationConfig + type: object + description: >- + A configuration to customize the generation of insights. Eg, customizing + the lookback period considered when generating a insight. + GoogleCloudRecommenderV1Insight: + type: object + description: >- + An insight along with the information used to derive the insight. The + insight may have associated recommendations as well. + properties: + observationPeriod: + type: string + format: google-duration + description: >- + Observation period that led to the insight. The source data used to + generate the insight ends at last_refresh_time and begins at + (last_refresh_time - observation_period). + insightSubtype: + type: string + description: >- + Insight subtype. Insight content schema will be stable for a given + subtype. + category: + type: string + description: Category being targeted by the insight. + enum: + - CATEGORY_UNSPECIFIED + - COST + - SECURITY + - PERFORMANCE + - MANAGEABILITY + - SUSTAINABILITY + - RELIABILITY + enumDescriptions: + - Unspecified category. + - The insight is related to cost. + - The insight is related to security. + - The insight is related to performance. + - This insight is related to manageability. + - The insight is related to sustainability. + - This insight is related to reliability. + description: + type: string + description: >- + Free-form human readable summary in English. The maximum length is + 500 characters. + etag: + description: >- + Fingerprint of the Insight. Provides optimistic locking when + updating states. + type: string + targetResources: + items: + type: string + type: array + description: Fully qualified resource names that this insight is targeting. + severity: + enum: + - SEVERITY_UNSPECIFIED + - LOW + - MEDIUM + - HIGH + - CRITICAL + type: string + description: Insight's severity. + enumDescriptions: + - Insight has unspecified severity. + - Insight has low severity. + - Insight has medium severity. + - Insight has high severity. + - Insight has critical severity. + stateInfo: + description: Information state and metadata. + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightStateInfo' + content: + type: object + description: >- + A struct of custom fields to explain the insight. Example: + "grantedPermissionsCount": "1000" + additionalProperties: + description: Properties of the object. + type: any + associatedRecommendations: + description: Recommendations derived from this insight. + items: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1InsightRecommendationReference + type: array + name: + type: string + description: Identifier. Name of the insight. + lastRefreshTime: + type: string + format: google-datetime + description: Timestamp of the latest data used to generate the insight. + id: GoogleCloudRecommenderV1Insight + GoogleCloudRecommenderV1InsightRecommendationReference: + description: Reference to an associated recommendation. + properties: + recommendation: + type: string + description: >- + Recommendation resource name, e.g. + projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/recommendations/[RECOMMENDATION_ID] + type: object + id: GoogleCloudRecommenderV1InsightRecommendationReference + GoogleCloudRecommenderV1RecommenderGenerationConfig: + id: GoogleCloudRecommenderV1RecommenderGenerationConfig + description: >- + A Configuration to customize the generation of recommendations. Eg, + customizing the lookback period considered when generating a + recommendation. + type: object + properties: + params: + type: object + description: >- + Parameters for this RecommenderGenerationConfig. These configs can + be used by or are applied to all subtypes. + additionalProperties: description: Properties of the object. + type: any + GoogleCloudRecommenderV1MarkRecommendationSucceededRequest: + properties: + etag: + type: string + description: >- + Required. Fingerprint of the Recommendation. Provides optimistic + locking. + stateMetadata: + description: >- + State properties to include with this state. Overwrites any existing + `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. + Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`. + additionalProperties: + type: string + type: object + description: Request for the `MarkRecommendationSucceeded` Method. + id: GoogleCloudRecommenderV1MarkRecommendationSucceededRequest + type: object + GoogleCloudRecommenderV1MarkRecommendationDismissedRequest: + type: object + properties: + etag: + description: Fingerprint of the Recommendation. Provides optimistic locking. + type: string + id: GoogleCloudRecommenderV1MarkRecommendationDismissedRequest + description: Request for the `MarkRecommendationDismissed` Method. + GoogleCloudRecommenderV1ValueMatcher: + description: Contains various matching options for values for a GCP resource field. + type: object + id: GoogleCloudRecommenderV1ValueMatcher + properties: + matchesPattern: + description: >- + To be used for full regex matching. The regular expression is using + the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), + so to be used with RE2::FullMatch + type: string + GoogleCloudRecommenderV1Recommendation: + properties: + content: + description: >- + Content of the recommendation describing recommended changes to + resources. + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommendationContent' + associatedInsights: + description: Insights that led to this recommendation. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1RecommendationInsightReference + stateInfo: + description: Information for state. Contains state and metadata. + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommendationStateInfo' + additionalImpact: + items: + $ref: '#/components/schemas/GoogleCloudRecommenderV1Impact' description: >- - Parameters for this RecommenderGenerationConfig. These configs can - be used by or are applied to all subtypes. - description: >- - A Configuration to customize the generation of recommendations. Eg, - customizing the lookback period considered when generating a - recommendation. - id: GoogleCloudRecommenderV1RecommenderGenerationConfig - GoogleCloudRecommenderV1Recommendation: - properties: + Optional set of additional impact that this recommendation may have + when trying to optimize for the primary category. These may be + positive or negative. + type: array + targetResources: + description: >- + Fully qualified resource names that this recommendation is + targeting. + type: array + items: + type: string recommenderSubtype: + type: string description: >- Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, @@ -490,49 +488,20 @@ components: Recommender. Examples: For recommender = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE" - type: string - name: - type: string - description: Identifier. Name of recommendation. description: description: >- Free-form human readable summary in English. The maximum length is 500 characters. type: string - priority: - enumDescriptions: - - Recommendation has unspecified priority. - - Recommendation has P4 priority (lowest priority). - - Recommendation has P3 priority (second lowest priority). - - Recommendation has P2 priority (second highest priority). - - Recommendation has P1 priority (highest priority). + name: type: string - description: Recommendation's priority. - enum: - - PRIORITY_UNSPECIFIED - - P4 - - P3 - - P2 - - P1 + description: Identifier. Name of recommendation. lastRefreshTime: + type: string + format: google-datetime description: >- Last time this recommendation was refreshed by the system that created it in the first place. - format: google-datetime - type: string - additionalImpact: - items: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Impact' - description: >- - Optional set of additional impact that this recommendation may have - when trying to optimize for the primary category. These may be - positive or negative. - type: array - content: - description: >- - Content of the recommendation describing recommended changes to - resources. - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommendationContent' xorGroupId: description: >- Corresponds to a mutually exclusive group ID within a recommender. A @@ -541,51 +510,37 @@ components: group is suggested to be applied. type: string etag: + type: string description: >- Fingerprint of the Recommendation. Provides optimistic locking when updating states. + priority: + enum: + - PRIORITY_UNSPECIFIED + - P4 + - P3 + - P2 + - P1 + description: Recommendation's priority. + enumDescriptions: + - Recommendation has unspecified priority. + - Recommendation has P4 priority (lowest priority). + - Recommendation has P3 priority (second lowest priority). + - Recommendation has P2 priority (second highest priority). + - Recommendation has P1 priority (highest priority). type: string - targetResources: - items: - type: string - type: array - description: >- - Fully qualified resource names that this recommendation is - targeting. - associatedInsights: - type: array - items: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1RecommendationInsightReference - description: Insights that led to this recommendation. - stateInfo: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommendationStateInfo' - description: Information for state. Contains state and metadata. primaryImpact: description: >- The primary impact that this recommendation can have while trying to optimize for one category. $ref: '#/components/schemas/GoogleCloudRecommenderV1Impact' type: object - id: GoogleCloudRecommenderV1Recommendation description: >- A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc + id: GoogleCloudRecommenderV1Recommendation GoogleCloudRecommenderV1Impact: properties: - reliabilityProjection: - $ref: '#/components/schemas/GoogleCloudRecommenderV1ReliabilityProjection' - description: Use with CategoryType.RELIABILITY - costProjection: - description: Use with CategoryType.COST - $ref: '#/components/schemas/GoogleCloudRecommenderV1CostProjection' - sustainabilityProjection: - description: Use with CategoryType.SUSTAINABILITY - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1SustainabilityProjection - securityProjection: - description: Use with CategoryType.SECURITY - $ref: '#/components/schemas/GoogleCloudRecommenderV1SecurityProjection' category: type: string enum: @@ -605,196 +560,270 @@ components: - Indicates a potential increase or decrease in sustainability. - Indicates a potential increase or decrease in reliability. description: Category that is being targeted. + securityProjection: + description: Use with CategoryType.SECURITY + $ref: '#/components/schemas/GoogleCloudRecommenderV1SecurityProjection' + impactComponents: + items: + $ref: '#/components/schemas/GoogleCloudRecommenderV1Impact' + type: array + description: >- + If populated, the impact contains multiple components. In this case, + the top-level impact contains aggregated values and each component + contains per-service details. + reliabilityProjection: + $ref: '#/components/schemas/GoogleCloudRecommenderV1ReliabilityProjection' + description: Use with CategoryType.RELIABILITY + sustainabilityProjection: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1SustainabilityProjection + description: Use with CategoryType.SUSTAINABILITY + costProjection: + $ref: '#/components/schemas/GoogleCloudRecommenderV1CostProjection' + description: Use with CategoryType.COST + service: + description: The service that this impact is associated with. + type: string type: object - id: GoogleCloudRecommenderV1Impact description: Contains the impact a recommendation can have for a given category. - GoogleCloudRecommenderV1Insight: + id: GoogleCloudRecommenderV1Impact + GoogleCloudRecommenderV1MarkInsightAcceptedRequest: + description: Request for the `MarkInsightAccepted` method. + id: GoogleCloudRecommenderV1MarkInsightAcceptedRequest + type: object properties: etag: type: string - description: >- - Fingerprint of the Insight. Provides optimistic locking when - updating states. - content: - description: >- - A struct of custom fields to explain the insight. Example: - "grantedPermissionsCount": "1000" - additionalProperties: - description: Properties of the object. - type: any + description: Required. Fingerprint of the Insight. Provides optimistic locking. + stateMetadata: type: object - category: - enum: - - CATEGORY_UNSPECIFIED - - COST - - SECURITY - - PERFORMANCE - - MANAGEABILITY - - SUSTAINABILITY - - RELIABILITY - enumDescriptions: - - Unspecified category. - - The insight is related to cost. - - The insight is related to security. - - The insight is related to performance. - - This insight is related to manageability. - - The insight is related to sustainability. - - This insight is related to reliability. - type: string - description: Category being targeted by the insight. - stateInfo: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightStateInfo' - description: Information state and metadata. - description: - type: string description: >- - Free-form human readable summary in English. The maximum length is - 500 characters. - targetResources: - description: Fully qualified resource names that this insight is targeting. - items: + Optional. State properties user wish to include with this state. + Full replace of the current state_metadata. + additionalProperties: type: string - type: array - severity: - description: Insight's severity. - enum: - - SEVERITY_UNSPECIFIED - - LOW - - MEDIUM - - HIGH - - CRITICAL - enumDescriptions: - - Insight has unspecified severity. - - Insight has low severity. - - Insight has medium severity. - - Insight has high severity. - - Insight has critical severity. - type: string - name: - type: string - description: Identifier. Name of the insight. - lastRefreshTime: - description: Timestamp of the latest data used to generate the insight. - type: string - format: google-datetime - observationPeriod: + GoogleCloudRecommenderV1SustainabilityProjection: + description: >- + Contains metadata about how much sustainability a recommendation can + save or incur. + type: object + id: GoogleCloudRecommenderV1SustainabilityProjection + properties: + kgCO2e: description: >- - Observation period that led to the insight. The source data used to - generate the insight ends at last_refresh_time and begins at - (last_refresh_time - observation_period). + Carbon Footprint generated in kg of CO2 equivalent. Chose kg_c_o2e + so that the name renders correctly in camelCase (kgCO2e). + format: double + type: number + duration: format: google-duration type: string - insightSubtype: + description: Duration for which this sustainability applies. + GoogleCloudRecommenderV1RecommendationInsightReference: + id: GoogleCloudRecommenderV1RecommendationInsightReference + description: Reference to an associated insight. + properties: + insight: type: string description: >- - Insight subtype. Insight content schema will be stable for a given - subtype. - associatedRecommendations: - items: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1InsightRecommendationReference - type: array - description: Recommendations derived from this insight. - description: >- - An insight along with the information used to derive the insight. The - insight may have associated recommendations as well. - id: GoogleCloudRecommenderV1Insight + Insight resource name, e.g. + projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID] + type: object + GoogleTypeMoney: + id: GoogleTypeMoney + description: Represents an amount of money with its currency type. + type: object + properties: + currencyCode: + type: string + description: The three-letter currency code defined in ISO 4217. + nanos: + type: integer + format: int32 + description: >- + Number of nano (10^-9) units of the amount. The value must be + between -999,999,999 and +999,999,999 inclusive. If `units` is + positive, `nanos` must be positive or zero. If `units` is zero, + `nanos` can be positive, zero, or negative. If `units` is negative, + `nanos` must be negative or zero. For example $-1.75 is represented + as `units`=-1 and `nanos`=-750,000,000. + units: + description: >- + The whole units of the amount. For example if `currencyCode` is + `"USD"`, then 1 unit is one US dollar. + type: string + format: int64 + GoogleCloudRecommenderV1SecurityProjection: type: object - GoogleCloudRecommenderV1RecommendationContent: properties: - overview: - description: Condensed overview information about the recommendation. - type: object + details: additionalProperties: type: any description: Properties of the object. - operationGroups: + type: object description: >- - Operations to one or more Google Cloud resources grouped in such a - way that, all operations within one group are expected to be - performed atomically and in an order. + Additional security impact details that is provided by the + recommender. + id: GoogleCloudRecommenderV1SecurityProjection + description: Contains various ways of describing the impact on Security. + GoogleCloudRecommenderV1ListRecommendationsResponse: + id: GoogleCloudRecommenderV1ListRecommendationsResponse + type: object + description: Response to the `ListRecommendations` method. + properties: + nextPageToken: + description: >- + A token that can be used to request the next page of results. This + field is empty if there are no additional results. + type: string + recommendations: type: array + description: The set of recommendations for the `parent` resource. items: - $ref: '#/components/schemas/GoogleCloudRecommenderV1OperationGroup' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + GoogleCloudRecommenderV1OperationGroup: + id: GoogleCloudRecommenderV1OperationGroup + properties: + operations: + type: array + description: >- + List of operations across one or more resources that belong to this + group. Loosely based on RFC6902 and should be performed in the order + they appear. + items: + $ref: '#/components/schemas/GoogleCloudRecommenderV1Operation' + description: Group of operations that need to be performed atomically. type: object - description: Contains what resources are changing and how they are changing. - id: GoogleCloudRecommenderV1RecommendationContent - GoogleCloudRecommenderV1CostProjection: + GoogleCloudRecommenderV1MarkRecommendationFailedRequest: + id: GoogleCloudRecommenderV1MarkRecommendationFailedRequest + type: object + description: Request for the `MarkRecommendationFailed` Method. properties: - cost: + etag: + type: string description: >- - An approximate projection on amount saved or amount incurred. - Negative cost units indicate cost savings and positive cost units - indicate increase. See google.type.Money documentation for - positive/negative units. A user's permissions may affect whether the - cost is computed using list prices or custom contract prices. - $ref: '#/components/schemas/GoogleTypeMoney' - duration: + Required. Fingerprint of the Recommendation. Provides optimistic + locking. + stateMetadata: + type: object + description: >- + State properties to include with this state. Overwrites any existing + `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. + Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`. + additionalProperties: + type: string + GoogleCloudRecommenderV1RecommendationStateInfo: + properties: + state: + enumDescriptions: + - Default state. Don't use directly. + - >- + Recommendation is active and can be applied. Recommendations + content can be updated by Google. ACTIVE recommendations can be + marked as CLAIMED, SUCCEEDED, or FAILED. + - >- + Recommendation is in claimed state. Recommendations content is + immutable and cannot be updated by Google. CLAIMED recommendations + can be marked as CLAIMED, SUCCEEDED, or FAILED. + - >- + Recommendation is in succeeded state. Recommendations content is + immutable and cannot be updated by Google. SUCCEEDED + recommendations can be marked as SUCCEEDED, or FAILED. + - >- + Recommendation is in failed state. Recommendations content is + immutable and cannot be updated by Google. FAILED recommendations + can be marked as SUCCEEDED, or FAILED. + - >- + Recommendation is in dismissed state. Recommendation content can + be updated by Google. DISMISSED recommendations can be marked as + ACTIVE. + description: The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED. + enum: + - STATE_UNSPECIFIED + - ACTIVE + - CLAIMED + - SUCCEEDED + - FAILED + - DISMISSED type: string - description: Duration for which this cost applies. - format: google-duration - costInLocalCurrency: - $ref: '#/components/schemas/GoogleTypeMoney' + stateMetadata: + type: object + additionalProperties: + type: string description: >- - The approximate cost savings in the billing account's local - currency. + A map of metadata for the state, provided by user or automations + systems. + id: GoogleCloudRecommenderV1RecommendationStateInfo type: object - id: GoogleCloudRecommenderV1CostProjection - description: >- - Contains metadata about how much money a recommendation can save or - incur. - GoogleCloudRecommenderV1RecommendationInsightReference: - id: GoogleCloudRecommenderV1RecommendationInsightReference + description: Information for state. Contains state and metadata. + GoogleCloudRecommenderV1ListInsightsResponse: properties: - insight: - description: >- - Insight resource name, e.g. - projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID] + nextPageToken: type: string + description: >- + A token that can be used to request the next page of results. This + field is empty if there are no additional results. + insights: + items: + $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' + description: The set of insights for the `parent` resource. + type: array + id: GoogleCloudRecommenderV1ListInsightsResponse + description: Response to the `ListInsights` method. type: object - description: Reference to an associated insight. - GoogleCloudRecommenderV1MarkInsightAcceptedRequest: + GoogleCloudRecommenderV1MarkRecommendationClaimedRequest: + id: GoogleCloudRecommenderV1MarkRecommendationClaimedRequest + description: Request for the `MarkRecommendationClaimed` Method. type: object - id: GoogleCloudRecommenderV1MarkInsightAcceptedRequest - description: Request for the `MarkInsightAccepted` method. properties: etag: type: string - description: Required. Fingerprint of the Insight. Provides optimistic locking. + description: >- + Required. Fingerprint of the Recommendation. Provides optimistic + locking. stateMetadata: additionalProperties: type: string type: object description: >- - Optional. State properties user wish to include with this state. - Full replace of the current state_metadata. + State properties to include with this state. Overwrites any existing + `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. + Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`. GoogleCloudRecommenderV1RecommenderConfig: + description: Configuration for a Recommender. properties: displayName: - type: string description: >- A user-settable field to provide a human-readable name to be used in user interfaces. + type: string + updateTime: + description: Last time when the config was updated. + type: string + format: google-datetime + etag: + description: >- + Fingerprint of the RecommenderConfig. Provides optimistic locking + when updating. + type: string name: type: string description: >- Identifier. Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config - etag: + revisionId: type: string description: >- - Fingerprint of the RecommenderConfig. Provides optimistic locking - when updating. - updateTime: - type: string - description: Last time when the config was updated. - format: google-datetime + 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. + readOnly: true recommenderGenerationConfig: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1RecommenderGenerationConfig description: >- RecommenderGenerationConfig which configures the Generation of recommendations for this recommender. + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1RecommenderGenerationConfig annotations: additionalProperties: type: string @@ -807,31 +836,13 @@ components: must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. - revisionId: - description: >- - 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. - readOnly: true - type: string - type: object - description: Configuration for a Recommender. id: GoogleCloudRecommenderV1RecommenderConfig - GoogleCloudRecommenderV1InsightRecommendationReference: - description: Reference to an associated recommendation. type: object - properties: - recommendation: - type: string - description: >- - Recommendation resource name, e.g. - projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/recommendations/[RECOMMENDATION_ID] - id: GoogleCloudRecommenderV1InsightRecommendationReference parameters: - access_token: - description: OAuth access token. + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: access_token + name: fields schema: type: string callback: @@ -840,47 +851,56 @@ components: name: callback schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. + alt: + description: Data format for response. in: query - name: oauth_token + name: alt schema: type: string + enum: + - json + - media + - proto prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - alt: - description: Data format for response. + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: alt + name: key schema: type: string - enum: - - json - - media - - proto - fields: - description: Selector specifying which fields to include in a partial response. + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: fields + name: quotaUser schema: type: string - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + access_token: + description: OAuth access token. in: query - name: key + name: access_token schema: type: string _.xgafv: @@ -898,488 +918,475 @@ components: name: uploadType schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string x-stackQL-resources: - insights: - id: google.recommender.insights - name: insights - title: Insights + recommenders_config: + id: google.recommender.recommenders_config + name: recommenders_config + title: Recommenders_config methods: - organizations_locations_insight_types_insights_mark_accepted: + organizations_locations_recommenders_update_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/patch response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_insight_types_insights_list: + organizations_locations_recommenders_get_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.insights - organizations_locations_insight_types_insights_get: + billing_accounts_locations_recommenders_update_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/patch response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_insight_types_insights_mark_accepted: + billing_accounts_locations_recommenders_get_config: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/get response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_insight_types_insights_get: + projects_locations_recommenders_update_config: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/patch response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_insight_types_insights_list: + projects_locations_recommenders_get_config: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.insights - projects_locations_insight_types_insights_get: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/recommenders_config/methods/organizations_locations_recommenders_get_config + - $ref: >- + #/components/x-stackQL-resources/recommenders_config/methods/billing_accounts_locations_recommenders_get_config + - $ref: >- + #/components/x-stackQL-resources/recommenders_config/methods/projects_locations_recommenders_get_config + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/recommenders_config/methods/organizations_locations_recommenders_update_config + - $ref: >- + #/components/x-stackQL-resources/recommenders_config/methods/billing_accounts_locations_recommenders_update_config + - $ref: >- + #/components/x-stackQL-resources/recommenders_config/methods/projects_locations_recommenders_update_config + replace: [] + delete: [] + recommendations: + id: google.recommender.recommendations + name: recommendations + title: Recommendations + methods: + organizations_locations_recommenders_recommendations_mark_failed: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_insight_types_insights_list: + organizations_locations_recommenders_recommendations_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.insights - projects_locations_insight_types_insights_mark_accepted: + organizations_locations_recommenders_recommendations_mark_dismissed: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post response: mediaType: application/json openAPIDocKey: '200' - folders_locations_insight_types_insights_list: + organizations_locations_recommenders_recommendations_mark_succeeded: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.insights - folders_locations_insight_types_insights_get: + organizations_locations_recommenders_recommendations_list: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_insight_types_insights_mark_accepted: + objectKey: $.recommendations + organizations_locations_recommenders_recommendations_mark_claimed: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/insights/methods/organizations_locations_insight_types_insights_get - - $ref: >- - #/components/x-stackQL-resources/insights/methods/billing_accounts_locations_insight_types_insights_get - - $ref: >- - #/components/x-stackQL-resources/insights/methods/projects_locations_insight_types_insights_get - - $ref: >- - #/components/x-stackQL-resources/insights/methods/folders_locations_insight_types_insights_get - - $ref: >- - #/components/x-stackQL-resources/insights/methods/organizations_locations_insight_types_insights_list - - $ref: >- - #/components/x-stackQL-resources/insights/methods/billing_accounts_locations_insight_types_insights_list - - $ref: >- - #/components/x-stackQL-resources/insights/methods/projects_locations_insight_types_insights_list - - $ref: >- - #/components/x-stackQL-resources/insights/methods/folders_locations_insight_types_insights_list - insert: [] - update: [] - replace: [] - delete: [] - insight_types_config: - id: google.recommender.insight_types_config - name: insight_types_config - title: Insight_types_config - methods: - organizations_locations_insight_types_get_config: + billing_accounts_locations_recommenders_recommendations_mark_claimed: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/get + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_insight_types_update_config: + billing_accounts_locations_recommenders_recommendations_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/patch + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_insight_types_update_config: + billing_accounts_locations_recommenders_recommendations_mark_failed: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/patch + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_insight_types_get_config: + billing_accounts_locations_recommenders_recommendations_list: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/get + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_insight_types_get_config: + objectKey: $.recommendations + billing_accounts_locations_recommenders_recommendations_mark_dismissed: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/get + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_insight_types_update_config: + billing_accounts_locations_recommenders_recommendations_mark_succeeded: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/patch + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/insight_types_config/methods/organizations_locations_insight_types_get_config - - $ref: >- - #/components/x-stackQL-resources/insight_types_config/methods/billing_accounts_locations_insight_types_get_config - - $ref: >- - #/components/x-stackQL-resources/insight_types_config/methods/projects_locations_insight_types_get_config - insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/insight_types_config/methods/organizations_locations_insight_types_update_config - - $ref: >- - #/components/x-stackQL-resources/insight_types_config/methods/billing_accounts_locations_insight_types_update_config - - $ref: >- - #/components/x-stackQL-resources/insight_types_config/methods/projects_locations_insight_types_update_config - replace: [] - delete: [] - recommendations: - id: google.recommender.recommendations - name: recommendations - title: Recommendations - methods: - organizations_locations_recommenders_recommendations_get: + folders_locations_recommenders_recommendations_mark_claimed: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_recommenders_recommendations_mark_succeeded: + folders_locations_recommenders_recommendations_mark_failed: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_recommenders_recommendations_list: + folders_locations_recommenders_recommendations_get: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.recommendations - organizations_locations_recommenders_recommendations_mark_failed: + folders_locations_recommenders_recommendations_mark_dismissed: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_recommenders_recommendations_mark_claimed: + folders_locations_recommenders_recommendations_list: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_recommenders_recommendations_mark_dismissed: + objectKey: $.recommendations + folders_locations_recommenders_recommendations_mark_succeeded: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_recommendations_mark_succeeded: + projects_locations_recommenders_recommendations_mark_dismissed: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_recommendations_mark_failed: + projects_locations_recommenders_recommendations_mark_failed: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_recommendations_list: + projects_locations_recommenders_recommendations_list: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get response: mediaType: application/json openAPIDocKey: '200' objectKey: $.recommendations - billing_accounts_locations_recommenders_recommendations_mark_claimed: + projects_locations_recommenders_recommendations_get: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_recommendations_get: + projects_locations_recommenders_recommendations_mark_claimed: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_recommendations_mark_dismissed: + projects_locations_recommenders_recommendations_mark_succeeded: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_recommendations_mark_succeeded: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/organizations_locations_recommenders_recommendations_get + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/billing_accounts_locations_recommenders_recommendations_get + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/folders_locations_recommenders_recommendations_get + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/projects_locations_recommenders_recommendations_get + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/organizations_locations_recommenders_recommendations_list + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/billing_accounts_locations_recommenders_recommendations_list + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/folders_locations_recommenders_recommendations_list + - $ref: >- + #/components/x-stackQL-resources/recommendations/methods/projects_locations_recommenders_recommendations_list + insert: [] + update: [] + replace: [] + delete: [] + insights: + id: google.recommender.insights + name: insights + title: Insights + methods: + organizations_locations_insight_types_insights_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_recommendations_mark_dismissed: + objectKey: $.insights + organizations_locations_insight_types_insights_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_recommendations_list: + organizations_locations_insight_types_insights_mark_accepted: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.recommendations - projects_locations_recommenders_recommendations_mark_failed: + billing_accounts_locations_insight_types_insights_mark_accepted: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_recommendations_get: + billing_accounts_locations_insight_types_insights_get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_recommendations_mark_claimed: + billing_accounts_locations_insight_types_insights_list: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_recommenders_recommendations_list: + objectKey: $.insights + folders_locations_insight_types_insights_get: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations/get + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.recommendations - folders_locations_recommenders_recommendations_mark_claimed: + folders_locations_insight_types_insights_list: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markClaimed/post + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_recommenders_recommendations_mark_failed: + objectKey: $.insights + folders_locations_insight_types_insights_mark_accepted: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markFailed/post + #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post response: mediaType: application/json openAPIDocKey: '200' - folders_locations_recommenders_recommendations_get: + projects_locations_insight_types_insights_list: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_recommenders_recommendations_mark_dismissed: + objectKey: $.insights + projects_locations_insight_types_insights_get: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markDismissed/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}/get response: mediaType: application/json openAPIDocKey: '200' - folders_locations_recommenders_recommendations_mark_succeeded: + projects_locations_insight_types_insights_mark_accepted: operation: $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1recommendations~1{recommendationsId}:markSucceeded/post + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1insights~1{insightsId}:markAccepted/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/organizations_locations_recommenders_recommendations_get + #/components/x-stackQL-resources/insights/methods/organizations_locations_insight_types_insights_get - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/billing_accounts_locations_recommenders_recommendations_get + #/components/x-stackQL-resources/insights/methods/billing_accounts_locations_insight_types_insights_get - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/projects_locations_recommenders_recommendations_get + #/components/x-stackQL-resources/insights/methods/folders_locations_insight_types_insights_get - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/folders_locations_recommenders_recommendations_get + #/components/x-stackQL-resources/insights/methods/projects_locations_insight_types_insights_get - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/organizations_locations_recommenders_recommendations_list + #/components/x-stackQL-resources/insights/methods/organizations_locations_insight_types_insights_list - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/billing_accounts_locations_recommenders_recommendations_list + #/components/x-stackQL-resources/insights/methods/billing_accounts_locations_insight_types_insights_list - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/projects_locations_recommenders_recommendations_list + #/components/x-stackQL-resources/insights/methods/folders_locations_insight_types_insights_list - $ref: >- - #/components/x-stackQL-resources/recommendations/methods/folders_locations_recommenders_recommendations_list + #/components/x-stackQL-resources/insights/methods/projects_locations_insight_types_insights_list insert: [] update: [] replace: [] delete: [] - recommenders_config: - id: google.recommender.recommenders_config - name: recommenders_config - title: Recommenders_config + insight_types_config: + id: google.recommender.insight_types_config + name: insight_types_config + title: Insight_types_config methods: - organizations_locations_recommenders_get_config: + organizations_locations_insight_types_get_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/get + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/get response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_recommenders_update_config: + organizations_locations_insight_types_update_config: operation: $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/patch + #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/patch response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_get_config: + billing_accounts_locations_insight_types_get_config: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/get + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/get response: mediaType: application/json openAPIDocKey: '200' - billing_accounts_locations_recommenders_update_config: + billing_accounts_locations_insight_types_update_config: operation: $ref: >- - #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/patch + #/paths/~1v1~1billingAccounts~1{billingAccountsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/patch response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_update_config: + projects_locations_insight_types_get_config: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/patch + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/get response: mediaType: application/json openAPIDocKey: '200' - projects_locations_recommenders_get_config: + projects_locations_insight_types_update_config: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1recommenders~1{recommendersId}~1config/get + #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1insightTypes~1{insightTypesId}~1config/patch response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/recommenders_config/methods/organizations_locations_recommenders_get_config + #/components/x-stackQL-resources/insight_types_config/methods/organizations_locations_insight_types_get_config - $ref: >- - #/components/x-stackQL-resources/recommenders_config/methods/billing_accounts_locations_recommenders_get_config + #/components/x-stackQL-resources/insight_types_config/methods/billing_accounts_locations_insight_types_get_config - $ref: >- - #/components/x-stackQL-resources/recommenders_config/methods/projects_locations_recommenders_get_config + #/components/x-stackQL-resources/insight_types_config/methods/projects_locations_insight_types_get_config insert: [] update: - $ref: >- - #/components/x-stackQL-resources/recommenders_config/methods/organizations_locations_recommenders_update_config + #/components/x-stackQL-resources/insight_types_config/methods/organizations_locations_insight_types_update_config - $ref: >- - #/components/x-stackQL-resources/recommenders_config/methods/billing_accounts_locations_recommenders_update_config + #/components/x-stackQL-resources/insight_types_config/methods/billing_accounts_locations_insight_types_update_config - $ref: >- - #/components/x-stackQL-resources/recommenders_config/methods/projects_locations_recommenders_update_config + #/components/x-stackQL-resources/insight_types_config/methods/projects_locations_insight_types_update_config replace: [] delete: [] paths: - /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted: + /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/config: parameters: &ref_1 - - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/uploadType' - - $ref: '#/components/parameters/quotaUser' - post: + patch: description: >- - 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. - operationId: recommender.organizations.locations.insightTypes.insights.markAccepted + Updates a Recommender Config. This will create a new revision of the + config. + operationId: recommender.organizations.locations.recommenders.updateConfig requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkInsightAcceptedRequest + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1391,7 +1398,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' parameters: - in: path name: organizationsId @@ -1404,22 +1411,24 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - - in: path - name: insightsId - required: true + - in: query + name: validateOnly + schema: + type: boolean + - in: query + name: updateMask schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights: - parameters: *ref_1 + format: google-fieldmask get: description: >- - Lists insights for the specified Cloud Resource. Requires the - recommender.*.list IAM permission for the specified insight type. - operationId: recommender.organizations.locations.insightTypes.insights.list + Gets the requested Recommender Config. There is only one instance of the + config for each Recommender. + operationId: recommender.organizations.locations.recommenders.getConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1431,8 +1440,7 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1ListInsightsResponse + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' parameters: - in: path name: organizationsId @@ -1445,30 +1453,30 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}: + /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed: parameters: *ref_1 - get: + post: description: >- - Gets the requested insight. Requires the recommender.*.get IAM - permission for the specified insight type. - operationId: recommender.organizations.locations.insightTypes.insights.get + 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. + operationId: >- + recommender.organizations.locations.recommenders.recommendations.markFailed + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationFailedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1480,7 +1488,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path name: organizationsId @@ -1493,60 +1501,22 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - in: path - name: insightsId + name: recommendationsId required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config: + /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: parameters: *ref_1 - get: - description: >- - Gets the requested InsightTypeConfig. There is only one instance of the - config for each InsightType. - operationId: recommender.organizations.locations.insightTypes.getConfig - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: insightTypesId - required: true - schema: - type: string - patch: - description: >- - Updates an InsightTypeConfig change. This will create a new revision of - the config. - operationId: recommender.organizations.locations.insightTypes.updateConfig - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' + get: + description: >- + Gets the requested recommendation. Requires the recommender.*.get IAM + permission for the specified recommender. + operationId: recommender.organizations.locations.recommenders.recommendations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1558,7 +1528,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path name: organizationsId @@ -1571,26 +1541,32 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - - in: query - name: validateOnly - schema: - type: boolean - - in: query - name: updateMask + - in: path + name: recommendationsId + required: true schema: type: string - format: google-fieldmask - /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: + /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: parameters: *ref_1 - get: + post: description: >- - Gets the requested recommendation. Requires the recommender.*.get IAM + 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. - operationId: recommender.organizations.locations.recommenders.recommendations.get + operationId: >- + recommender.organizations.locations.recommenders.recommendations.markDismissed + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1713,72 +1689,19 @@ paths: required: true schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - in: query name: filter schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed: - parameters: *ref_1 - post: - description: >- - 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. - operationId: >- - recommender.organizations.locations.recommenders.recommendations.markFailed - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationFailedRequest - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' - parameters: - - in: path - name: organizationsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: recommendersId - required: true - schema: - type: string - - in: path - name: recommendationsId - required: true - schema: - type: string /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: parameters: *ref_1 post: @@ -1831,23 +1754,13 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: + /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: >- - recommender.organizations.locations.recommenders.recommendations.markDismissed - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest + Lists insights for the specified Cloud Resource. Requires the + recommender.*.list IAM permission for the specified insight type. + operationId: recommender.organizations.locations.insightTypes.insights.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1859,7 +1772,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1ListInsightsResponse parameters: - in: path name: organizationsId @@ -1872,22 +1786,30 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string - - in: path - name: recommendationsId - required: true + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter schema: type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/config: + - in: query + name: pageToken + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}: parameters: *ref_1 get: description: >- - Gets the requested Recommender Config. There is only one instance of the - config for each Recommender. - operationId: recommender.organizations.locations.recommenders.getConfig + Gets the requested insight. Requires the recommender.*.get IAM + permission for the specified insight type. + operationId: recommender.organizations.locations.insightTypes.insights.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1899,7 +1821,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' parameters: - in: path name: organizationsId @@ -1912,20 +1834,31 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string - patch: + - in: path + name: insightsId + required: true + schema: + type: string + /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted: + parameters: *ref_1 + post: description: >- - Updates a Recommender Config. This will create a new revision of the - config. - operationId: recommender.organizations.locations.recommenders.updateConfig + 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. + operationId: recommender.organizations.locations.insightTypes.insights.markAccepted requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkInsightAcceptedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1937,7 +1870,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' parameters: - in: path name: organizationsId @@ -1950,26 +1883,22 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: insightsId + required: true schema: type: string - format: google-fieldmask - - in: query - name: validateOnly - schema: - type: boolean - /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/config: + /v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config: parameters: *ref_1 get: description: >- - Gets the requested Recommender Config. There is only one instance of the - config for each Recommender. - operationId: recommender.billingAccounts.locations.recommenders.getConfig + Gets the requested InsightTypeConfig. There is only one instance of the + config for each InsightType. + operationId: recommender.organizations.locations.insightTypes.getConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1981,10 +1910,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' parameters: - in: path - name: billingAccountsId + name: organizationsId required: true schema: type: string @@ -1994,20 +1923,20 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string patch: description: >- - Updates a Recommender Config. This will create a new revision of the - config. - operationId: recommender.billingAccounts.locations.recommenders.updateConfig + Updates an InsightTypeConfig change. This will create a new revision of + the config. + operationId: recommender.organizations.locations.insightTypes.updateConfig requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2019,10 +1948,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' parameters: - in: path - name: billingAccountsId + name: organizationsId required: true schema: type: string @@ -2032,7 +1961,7 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string @@ -2045,26 +1974,65 @@ paths: name: validateOnly schema: type: boolean - /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded: + /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: parameters: *ref_1 post: description: >- - 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. + 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. operationId: >- - recommender.billingAccounts.locations.recommenders.recommendations.markSucceeded + recommender.billingAccounts.locations.recommenders.recommendations.markClaimed requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationSucceededRequest + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationClaimedRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + parameters: + - in: path + name: billingAccountsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: recommendersId + required: true + schema: + type: string + - in: path + name: recommendationsId + required: true + schema: + type: string + /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: + parameters: *ref_1 + get: + description: >- + Gets the requested recommendation. Requires the recommender.*.get IAM + permission for the specified recommender. + operationId: recommender.billingAccounts.locations.recommenders.recommendations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2187,10 +2155,6 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: @@ -2200,25 +2164,27 @@ paths: name: pageToken schema: type: string - /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: + - in: query + name: filter + schema: + type: string + /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: parameters: *ref_1 post: description: >- - 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. + 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. operationId: >- - recommender.billingAccounts.locations.recommenders.recommendations.markClaimed + recommender.billingAccounts.locations.recommenders.recommendations.markDismissed requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationClaimedRequest + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2252,13 +2218,26 @@ paths: required: true schema: type: string - /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: + /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded: parameters: *ref_1 - get: + post: description: >- - Gets the requested recommendation. Requires the recommender.*.get IAM - permission for the specified recommender. - operationId: recommender.billingAccounts.locations.recommenders.recommendations.get + 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. + operationId: >- + recommender.billingAccounts.locations.recommenders.recommendations.markSucceeded + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationSucceededRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2292,23 +2271,18 @@ paths: required: true schema: type: string - /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: + /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/config: parameters: *ref_1 - post: + patch: description: >- - 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. - operationId: >- - recommender.billingAccounts.locations.recommenders.recommendations.markDismissed + Updates a Recommender Config. This will create a new revision of the + config. + operationId: recommender.billingAccounts.locations.recommenders.updateConfig requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2320,7 +2294,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' parameters: - in: path name: billingAccountsId @@ -2337,8 +2311,45 @@ paths: required: true schema: type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: validateOnly + schema: + type: boolean + get: + description: >- + Gets the requested Recommender Config. There is only one instance of the + config for each Recommender. + operationId: recommender.billingAccounts.locations.recommenders.getConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + parameters: + - in: path + name: billingAccountsId + required: true + schema: + type: string - in: path - name: recommendationsId + name: locationsId + required: true + schema: + type: string + - in: path + name: recommendersId required: true schema: type: string @@ -2473,62 +2484,15 @@ paths: type: integer format: int32 - in: query - name: filter + name: pageToken schema: type: string - in: query - name: pageToken + name: filter schema: type: string /v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config: parameters: *ref_1 - patch: - description: >- - Updates an InsightTypeConfig change. This will create a new revision of - the config. - operationId: recommender.billingAccounts.locations.insightTypes.updateConfig - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' - parameters: - - in: path - name: billingAccountsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: insightTypesId - required: true - schema: - type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - - in: query - name: validateOnly - schema: - type: boolean get: description: >- Gets the requested InsightTypeConfig. There is only one instance of the @@ -2562,53 +2526,16 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}: - parameters: *ref_1 - get: - description: >- - Gets the requested insight. Requires the recommender.*.get IAM - permission for the specified insight type. - operationId: recommender.projects.locations.insightTypes.insights.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: insightTypesId - required: true - schema: - type: string - - in: path - name: insightsId - required: true - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights: - parameters: *ref_1 - get: + patch: description: >- - Lists insights for the specified Cloud Resource. Requires the - recommender.*.list IAM permission for the specified insight type. - operationId: recommender.projects.locations.insightTypes.insights.list + Updates an InsightTypeConfig change. This will create a new revision of + the config. + operationId: recommender.billingAccounts.locations.insightTypes.updateConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2620,11 +2547,10 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1ListInsightsResponse + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' parameters: - in: path - name: projectsId + name: billingAccountsId required: true schema: type: string @@ -2639,34 +2565,32 @@ paths: schema: type: string - in: query - name: filter + name: validateOnly schema: - type: string + type: boolean - in: query - name: pageToken + name: updateMask schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted: + format: google-fieldmask + /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: parameters: *ref_1 post: - description: >- - 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. - operationId: recommender.projects.locations.insightTypes.insights.markAccepted + description: >- + 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. + operationId: recommender.folders.locations.recommenders.recommendations.markClaimed requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkInsightAcceptedRequest + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationClaimedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2678,10 +2602,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2691,22 +2615,34 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - in: path - name: insightsId + name: recommendationsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config: + /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed: parameters: *ref_1 - get: + post: description: >- - Gets the requested InsightTypeConfig. There is only one instance of the - config for each InsightType. - operationId: recommender.projects.locations.insightTypes.getConfig + 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. + operationId: recommender.folders.locations.recommenders.recommendations.markFailed + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationFailedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2718,10 +2654,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2731,20 +2667,22 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - patch: + - in: path + name: recommendationsId + required: true + schema: + type: string + /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: + parameters: *ref_1 + get: description: >- - Updates an InsightTypeConfig change. This will create a new revision of - the config. - operationId: recommender.projects.locations.insightTypes.updateConfig - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' + Gets the requested recommendation. Requires the recommender.*.get IAM + permission for the specified recommender. + operationId: recommender.folders.locations.recommenders.recommendations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2756,10 +2694,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2769,31 +2707,31 @@ paths: schema: type: string - in: path - name: insightTypesId + name: recommendersId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: recommendationsId + required: true schema: type: string - format: google-fieldmask - - in: query - name: validateOnly - schema: - type: boolean - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/config: + /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: parameters: *ref_1 - patch: + post: description: >- - Updates a Recommender Config. This will create a new revision of the - config. - operationId: recommender.projects.locations.recommenders.updateConfig + 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. + operationId: recommender.folders.locations.recommenders.recommendations.markDismissed requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2805,10 +2743,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2822,20 +2760,18 @@ paths: required: true schema: type: string - - in: query - name: validateOnly - schema: - type: boolean - - in: query - name: updateMask + - in: path + name: recommendationsId + required: true schema: type: string - format: google-fieldmask + /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations: + parameters: *ref_1 get: description: >- - Gets the requested Recommender Config. There is only one instance of the - config for each Recommender. - operationId: recommender.projects.locations.recommenders.getConfig + Lists recommendations for the specified Cloud Resource. Requires the + recommender.*.list IAM permission for the specified recommender. + operationId: recommender.folders.locations.recommenders.recommendations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2847,10 +2783,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1ListRecommendationsResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2864,7 +2801,20 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded: parameters: *ref_1 post: description: >- @@ -2876,8 +2826,7 @@ paths: be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender. - operationId: >- - recommender.projects.locations.recommenders.recommendations.markSucceeded + operationId: recommender.folders.locations.recommenders.recommendations.markSucceeded requestBody: content: application/json: @@ -2898,7 +2847,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2917,23 +2866,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: + /v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: >- - recommender.projects.locations.recommenders.recommendations.markDismissed - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest + Gets the requested insight. Requires the recommender.*.get IAM + permission for the specified insight type. + operationId: recommender.folders.locations.insightTypes.insights.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2945,10 +2884,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2958,22 +2897,22 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string - in: path - name: recommendationsId + name: insightsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations: + /v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights: parameters: *ref_1 get: description: >- - Lists recommendations for the specified Cloud Resource. Requires the - recommender.*.list IAM permission for the specified recommender. - operationId: recommender.projects.locations.recommenders.recommendations.list + Lists insights for the specified Cloud Resource. Requires the + recommender.*.list IAM permission for the specified insight type. + operationId: recommender.folders.locations.insightTypes.insights.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2986,10 +2925,10 @@ paths: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1ListRecommendationsResponse + #/components/schemas/GoogleCloudRecommenderV1ListInsightsResponse parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -2999,7 +2938,7 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string @@ -3009,32 +2948,29 @@ paths: type: integer format: int32 - in: query - name: pageToken + name: filter schema: type: string - in: query - name: filter + name: pageToken schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed: + /v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted: parameters: *ref_1 post: description: >- - 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. - operationId: recommender.projects.locations.recommenders.recommendations.markFailed + 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. + operationId: recommender.folders.locations.insightTypes.insights.markAccepted requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationFailedRequest + #/components/schemas/GoogleCloudRecommenderV1MarkInsightAcceptedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3046,10 +2982,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' parameters: - in: path - name: projectsId + name: foldersId required: true schema: type: string @@ -3059,22 +2995,22 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string - in: path - name: recommendationsId + name: insightsId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: + /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config: parameters: *ref_1 get: description: >- - Gets the requested recommendation. Requires the recommender.*.get IAM - permission for the specified recommender. - operationId: recommender.projects.locations.recommenders.recommendations.get + Gets the requested InsightTypeConfig. There is only one instance of the + config for each InsightType. + operationId: recommender.projects.locations.insightTypes.getConfig security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3086,7 +3022,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' parameters: - in: path name: projectsId @@ -3099,33 +3035,20 @@ paths: schema: type: string - in: path - name: recommendersId - required: true - schema: - type: string - - in: path - name: recommendationsId + name: insightTypesId required: true schema: type: string - /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: - parameters: *ref_1 - post: + patch: description: >- - 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. - operationId: recommender.projects.locations.recommenders.recommendations.markClaimed + Updates an InsightTypeConfig change. This will create a new revision of + the config. + operationId: recommender.projects.locations.insightTypes.updateConfig requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationClaimedRequest + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3137,7 +3060,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: '#/components/schemas/GoogleCloudRecommenderV1InsightTypeConfig' parameters: - in: path name: projectsId @@ -3150,22 +3073,26 @@ paths: schema: type: string - in: path - name: recommendersId + name: insightTypesId required: true schema: type: string - - in: path - name: recommendationsId - required: true + - in: query + name: validateOnly + schema: + type: boolean + - in: query + name: updateMask schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights: + format: google-fieldmask + /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights: parameters: *ref_1 get: description: >- Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. - operationId: recommender.folders.locations.insightTypes.insights.list + operationId: recommender.projects.locations.insightTypes.insights.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3181,7 +3108,7 @@ paths: #/components/schemas/GoogleCloudRecommenderV1ListInsightsResponse parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3199,22 +3126,22 @@ paths: name: filter schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}: + /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}: parameters: *ref_1 get: description: >- Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type. - operationId: recommender.folders.locations.insightTypes.insights.get + operationId: recommender.projects.locations.insightTypes.insights.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3229,7 +3156,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3248,7 +3175,7 @@ paths: required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted: + /v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted: parameters: *ref_1 post: description: >- @@ -3257,7 +3184,7 @@ paths: 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. - operationId: recommender.folders.locations.insightTypes.insights.markAccepted + operationId: recommender.projects.locations.insightTypes.insights.markAccepted requestBody: content: application/json: @@ -3278,7 +3205,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Insight' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3297,13 +3224,23 @@ paths: required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations: + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: parameters: *ref_1 - get: + post: description: >- - Lists recommendations for the specified Cloud Resource. Requires the - recommender.*.list IAM permission for the specified recommender. - operationId: recommender.folders.locations.recommenders.recommendations.list + 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. + operationId: >- + recommender.projects.locations.recommenders.recommendations.markDismissed + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3315,11 +3252,10 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1ListRecommendationsResponse + $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3333,37 +3269,30 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken + - in: path + name: recommendationsId + required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed: parameters: *ref_1 post: description: >- - 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. - operationId: recommender.folders.locations.recommenders.recommendations.markClaimed + 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. + operationId: recommender.projects.locations.recommenders.recommendations.markFailed requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationClaimedRequest + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationFailedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3378,7 +3307,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3397,25 +3326,13 @@ paths: required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed: + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: recommender.folders.locations.recommenders.recommendations.markFailed - requestBody: - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationFailedRequest + Lists recommendations for the specified Cloud Resource. Requires the + recommender.*.list IAM permission for the specified recommender. + operationId: recommender.projects.locations.recommenders.recommendations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3427,10 +3344,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' + $ref: >- + #/components/schemas/GoogleCloudRecommenderV1ListRecommendationsResponse parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3444,18 +3362,26 @@ paths: required: true schema: type: string - - in: path - name: recommendationsId - required: true + - in: query + name: filter schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}: parameters: *ref_1 get: description: >- Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender. - operationId: recommender.folders.locations.recommenders.recommendations.get + operationId: recommender.projects.locations.recommenders.recommendations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3470,7 +3396,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3489,22 +3415,24 @@ paths: required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markDismissed: + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed: parameters: *ref_1 post: description: >- - 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. - operationId: recommender.folders.locations.recommenders.recommendations.markDismissed + 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. + operationId: recommender.projects.locations.recommenders.recommendations.markClaimed requestBody: content: application/json: schema: $ref: >- - #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationDismissedRequest + #/components/schemas/GoogleCloudRecommenderV1MarkRecommendationClaimedRequest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3519,7 +3447,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3538,7 +3466,7 @@ paths: required: true schema: type: string - /v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded: + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded: parameters: *ref_1 post: description: >- @@ -3550,7 +3478,8 @@ paths: be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender. - operationId: recommender.folders.locations.recommenders.recommendations.markSucceeded + operationId: >- + recommender.projects.locations.recommenders.recommendations.markSucceeded requestBody: content: application/json: @@ -3571,7 +3500,7 @@ paths: $ref: '#/components/schemas/GoogleCloudRecommenderV1Recommendation' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -3590,3 +3519,85 @@ paths: required: true schema: type: string + /v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/config: + parameters: *ref_1 + patch: + description: >- + Updates a Recommender Config. This will create a new revision of the + config. + operationId: recommender.projects.locations.recommenders.updateConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: recommendersId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + - in: query + name: validateOnly + schema: + type: boolean + get: + description: >- + Gets the requested Recommender Config. There is only one instance of the + config for each Recommender. + operationId: recommender.projects.locations.recommenders.getConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRecommenderV1RecommenderConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: recommendersId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/redis.yaml b/providers/src/googleapis.com/v00.00.00000/services/redis.yaml index a9ce8a4e..bd7076a7 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/redis.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/redis.yaml @@ -7,8 +7,8 @@ info: title: Google Cloud Memorystore for Redis API description: Creates and manages Redis instances on the Google Cloud Platform. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/memorystore/docs/redis/ servers: @@ -307,7 +307,7 @@ components: format: int32 pscConfigs: description: >- - Required. Each PscConfig configures the consumer network where IPs + Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. @@ -325,8 +325,8 @@ components: $ref: '#/components/schemas/DiscoveryEndpoint' pscConnections: description: >- - Output only. PSC connections for discovery of the cluster topology - and accessing the cluster. + Output only. The list of PSC connections that are auto-created + through service connectivity automation. readOnly: true type: array items: @@ -343,7 +343,7 @@ components: determines the underlying machine-type of a redis node. type: string enumDescriptions: - - '' + - Node type unspecified - Redis shared core nano node_type. - Redis highmem medium node_type. - Redis highmem xlarge node_type. @@ -395,6 +395,17 @@ components: maintenance schedule. readOnly: true $ref: '#/components/schemas/ClusterMaintenanceSchedule' + pscServiceAttachments: + description: Output only. Service attachment details to configure Psc connections + readOnly: true + type: array + items: + $ref: '#/components/schemas/PscServiceAttachment' + clusterEndpoints: + description: Optional. A list of cluster enpoints. + type: array + items: + $ref: '#/components/schemas/ClusterEndpoint' PscConfig: id: PscConfig type: object @@ -435,33 +446,71 @@ components: properties: pscConnectionId: description: >- - Output only. The PSC connection id of the forwarding rule connected - to the service attachment. - readOnly: true + Required. The PSC connection id of the forwarding rule connected to + the service attachment. type: string address: description: >- - Output only. The IP allocated on the consumer network for the PSC + Required. The IP allocated on the consumer network for the PSC forwarding rule. - readOnly: true type: string forwardingRule: description: >- - Output only. The URI of the consumer side forwarding rule. Example: + Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. - readOnly: true type: string projectId: description: >- - Output only. The consumer project_id where the forwarding rule is - created from. - readOnly: true + Optional. Project ID of the consumer project where the forwarding + rule is created in. type: string network: description: >- - The consumer network where the IP address resides, in the form of - projects/{project_id}/global/networks/{network_id}. + Required. The consumer network where the IP address resides, in the + form of projects/{project_id}/global/networks/{network_id}. + type: string + serviceAttachment: + description: >- + Required. The service attachment which is the target of the PSC + connection, in the form of + projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}. + type: string + pscConnectionStatus: + description: >- + Output only. The status of the PSC connection. Please note that this + value is updated periodically. To get the latest status of a PSC + connection, follow + https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details. + readOnly: true type: string + enumDescriptions: + - PSC connection status is not specified. + - The connection is active + - Connection not found + enum: + - PSC_CONNECTION_STATUS_UNSPECIFIED + - PSC_CONNECTION_STATUS_ACTIVE + - PSC_CONNECTION_STATUS_NOT_FOUND + connectionType: + description: Output only. Type of the PSC connection. + readOnly: true + type: string + enumDescriptions: + - Cluster endpoint Type is not set + - >- + Cluster endpoint that will be used as for cluster topology + discovery. + - >- + Cluster endpoint that will be used as primary endpoint to access + primary. + - >- + Cluster endpoint that will be used as reader endpoint to access + replicas. + enum: + - CONNECTION_TYPE_UNSPECIFIED + - CONNECTION_TYPE_DISCOVERY + - CONNECTION_TYPE_PRIMARY + - CONNECTION_TYPE_READER StateInfo: id: StateInfo description: Represents additional information about the state of the cluster. @@ -747,10 +796,6 @@ components: startTime: description: Start time of the window in UTC. $ref: '#/components/schemas/TimeOfDay' - duration: - description: Duration of the time window. - type: string - format: google-duration TimeOfDay: id: TimeOfDay description: >- @@ -762,23 +807,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 ClusterMaintenanceSchedule: @@ -800,13 +850,66 @@ components: readOnly: true type: string format: google-datetime - scheduleDeadlineTime: + PscServiceAttachment: + id: PscServiceAttachment + description: >- + Configuration of a service attachment of the cluster, for creating PSC + connections. + type: object + properties: + serviceAttachment: description: >- - Output only. The deadline that the maintenance schedule start time - can not go beyond, including reschedule. + Output only. Service attachment URI which your self-created + PscConnection should use as target readOnly: true type: string - format: google-datetime + connectionType: + description: >- + Output only. Type of a PSC connection targeting this service + attachment. + readOnly: true + type: string + enumDescriptions: + - Cluster endpoint Type is not set + - >- + Cluster endpoint that will be used as for cluster topology + discovery. + - >- + Cluster endpoint that will be used as primary endpoint to access + primary. + - >- + Cluster endpoint that will be used as reader endpoint to access + replicas. + enum: + - CONNECTION_TYPE_UNSPECIFIED + - CONNECTION_TYPE_DISCOVERY + - CONNECTION_TYPE_PRIMARY + - CONNECTION_TYPE_READER + ClusterEndpoint: + id: ClusterEndpoint + description: >- + ClusterEndpoint consists of PSC connections that are created as a group + in each VPC network for accessing the cluster. In each group, there + shall be one connection for each service attachment in the cluster. + type: object + properties: + connections: + description: >- + A group of PSC connections. They are created in the same VPC + network, one for each service attachment in the cluster. + type: array + items: + $ref: '#/components/schemas/ConnectionDetail' + ConnectionDetail: + id: ConnectionDetail + description: Detailed information of each PSC connection. + type: object + properties: + pscConnection: + description: >- + Detailed information of a PSC connection that is created by the + customer who owns the cluster. + $ref: '#/components/schemas/PscConnection' CertificateAuthority: id: CertificateAuthority description: Redis cluster certificate authority @@ -1655,7 +1758,7 @@ components: type: string DatabaseResourceMetadata: id: DatabaseResourceMetadata - description: 'Common model for database resource instance metadata. Next ID: 21' + description: 'Common model for database resource instance metadata. Next ID: 23' type: object properties: id: @@ -1677,6 +1780,11 @@ components: parent exists when first time resource is getting ingested, otherwise optional. $ref: '#/components/schemas/DatabaseResourceId' + primaryResourceLocation: + description: >- + Primary resource location. REQUIRED if the immediate parent exists + when first time resource is getting ingested, otherwise optional. + type: string resourceContainer: description: >- Closest parent Cloud Resource Manager container of this resource. It @@ -1801,6 +1909,20 @@ components: tagsSet: description: Optional. Tags associated with this resources. $ref: '#/components/schemas/Tags' + edition: + description: >- + Optional. Edition represents whether the instance is ENTERPRISE or + ENTERPRISE_PLUS. This information is core to Cloud SQL only and is + used to identify the edition of the instance. + type: string + enumDescriptions: + - Default, to make it consistent with instance edition enum. + - Represents the enterprise edition. + - Represents the enterprise plus edition. + enum: + - EDITION_UNSPECIFIED + - EDITION_ENTERPRISE + - EDITION_ENTERPRISE_PLUS Product: id: Product description: Product specification for Condor resources. @@ -1978,18 +2100,25 @@ components: properties: retentionUnit: description: The unit that 'retained_backups' represents. + deprecated: true type: string enumDescriptions: - Backup retention unit is unspecified, will be treated as COUNT. - >- Retention will be by count, eg. "retain the most recent 7 backups". - - Retention will be by Time, eg. "retain the last 7 days backups". + - >- + Retention will be by Time, eg. "retain backups till a specific + time" i.e. till 2024-05-01T00:00:00Z. + - >- + Retention will be by duration, eg. "retain the backups for 172800 + seconds (2 days)". - For rest of the other category enum: - RETENTION_UNIT_UNSPECIFIED - COUNT - TIME + - DURATION - RETENTION_UNIT_OTHER timeBasedRetention: type: string @@ -1997,6 +2126,14 @@ components: quantityBasedRetention: type: integer format: int32 + durationBasedRetention: + description: Duration based retention period i.e. 172800 seconds (2 days) + type: string + format: google-duration + timestampBasedRetentionTime: + description: Timestamp based retention period i.e. 2024-05-01T00:00:00Z + type: string + format: google-datetime BackupRun: id: BackupRun description: A backup run. @@ -2164,6 +2301,10 @@ components: validations again after bug fix. type: string format: int64 + shardCount: + description: Optional. Number of shards (if applicable). + type: integer + format: int32 Tags: id: Tags description: >- @@ -3160,327 +3301,6 @@ components: boolValue: description: For boolean value type: boolean - AssetLocation: - id: AssetLocation - description: >- - Provides the mapping of a cloud asset to a direct physical location or - to a proxy that defines the location on its behalf. - type: object - properties: - expected: - description: >- - Defines the customer expectation around ZI/ZS for this asset and - ZI/ZS state of the region at the time of asset creation. - $ref: '#/components/schemas/IsolationExpectations' - locationData: - description: Contains all kinds of physical location definitions for this asset. - type: array - items: - $ref: '#/components/schemas/LocationData' - parentAsset: - description: >- - Defines parents assets if any in order to allow later generation of - child_asset_location data via child assets. - type: array - items: - $ref: '#/components/schemas/CloudAsset' - extraParameters: - description: Defines extra parameters required for specific asset types. - type: array - items: - $ref: '#/components/schemas/ExtraParameter' - ccfeRmsPath: - description: >- - Spanner path of the CCFE RMS database. It is only applicable for - CCFE tenants that use CCFE RMS for storing resource metadata. - type: string - IsolationExpectations: - id: IsolationExpectations - type: object - properties: - zoneIsolation: - description: >- - Deprecated: use zi_org_policy, zi_region_policy and zi_region_state - instead for setting ZI expectations as per - go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zoneSeparation: - description: >- - Deprecated: use zs_org_policy, and zs_region_stateinstead for - setting Zs expectations as per go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking of the asset ZS-bit is not available - - '' - - '' - enum: - - ZS_REGION_UNSPECIFIED - - ZS_REGION_UNKNOWN - - ZS_REGION_NOT_ENABLED - - ZS_REGION_ENABLED - ziOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - ziRegionPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_REGION_POLICY_UNSPECIFIED - - ZI_REGION_POLICY_UNKNOWN - - ZI_REGION_POLICY_NOT_SET - - ZI_REGION_POLICY_FAIL_OPEN - - ZI_REGION_POLICY_FAIL_CLOSED - ziRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZI_REGION_UNSPECIFIED - - ZI_REGION_UNKNOWN - - ZI_REGION_NOT_ENABLED - - ZI_REGION_ENABLED - requirementOverride: - description: >- - Explicit overrides for ZI and ZS requirements to be used for - resources that should be excluded from ZI/ZS verification logic. - $ref: '#/components/schemas/RequirementOverride' - RequirementOverride: - id: RequirementOverride - type: object - properties: - ziOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zsOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - LocationData: - id: LocationData - type: object - properties: - directLocation: - $ref: '#/components/schemas/DirectLocationAssignment' - spannerLocation: - $ref: '#/components/schemas/SpannerLocation' - childAssetLocation: - $ref: '#/components/schemas/CloudAssetComposition' - gcpProjectProxy: - $ref: '#/components/schemas/TenantProjectProxy' - blobstoreLocation: - $ref: '#/components/schemas/BlobstoreLocation' - placerLocation: - $ref: '#/components/schemas/PlacerLocation' - DirectLocationAssignment: - id: DirectLocationAssignment - type: object - properties: - location: - type: array - items: - $ref: '#/components/schemas/LocationAssignment' - LocationAssignment: - id: LocationAssignment - type: object - properties: - location: - type: string - locationType: - type: string - enumDescriptions: - - '' - - '1-10: Physical failure domains.' - - '' - - '11-20: Logical failure domains.' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - CLUSTER - - POP - - CLOUD_ZONE - - CLOUD_REGION - - MULTI_REGION_GEO - - MULTI_REGION_JURISDICTION - - GLOBAL - - OTHER - SpannerLocation: - id: SpannerLocation - type: object - properties: - dbName: - description: Set of databases used by the resource in format /span// - type: array - items: - type: string - backupName: - description: >- - Set of backups used by the resource with name in the same format as - what is available at http://table/spanner_automon.backup_metadata - type: array - items: - type: string - CloudAssetComposition: - id: CloudAssetComposition - type: object - properties: - childAsset: - type: array - items: - $ref: '#/components/schemas/CloudAsset' - CloudAsset: - id: CloudAsset - type: object - properties: - assetType: - type: string - assetName: - type: string - TenantProjectProxy: - id: TenantProjectProxy - type: object - properties: - projectNumbers: - type: array - items: - type: string - BlobstoreLocation: - id: BlobstoreLocation - description: >- - Policy ID that identified data placement in Blobstore as per - go/blobstore-user-guide#data-metadata-placement-and-failure-domains - type: object - properties: - policyId: - type: array - items: - type: string - PlacerLocation: - id: PlacerLocation - description: >- - Message describing that the location of the customer resource is tied to - placer allocations - type: object - properties: - placerConfig: - description: >- - Directory with a config related to it in placer (e.g. - "/placer/prod/home/my-root/my-dir") - type: string - ExtraParameter: - id: ExtraParameter - description: Defines parameters that should only be used for specific asset types. - type: object - properties: - regionalMigDistributionPolicy: - description: >- - Details about zones used by regional - compute.googleapis.com/InstanceGroupManager to create instances. - $ref: '#/components/schemas/RegionalMigDistributionPolicy' - RegionalMigDistributionPolicy: - id: RegionalMigDistributionPolicy - description: >- - To be used for specifying the intended distribution of regional - compute.googleapis.com/InstanceGroupManager instances - type: object - properties: - zones: - description: Cloud zones used by regional MIG to create instances. - type: array - items: - $ref: '#/components/schemas/ZoneConfiguration' - targetShape: - description: >- - The shape in which the group converges around distribution of - resources. Instance of proto2 enum - type: integer - format: int32 - ZoneConfiguration: - id: ZoneConfiguration - type: object - properties: - zone: - type: string OperationMetadata: id: OperationMetadata description: Pre-defined metadata fields. diff --git a/providers/src/googleapis.com/v00.00.00000/services/resourcesettings.yaml b/providers/src/googleapis.com/v00.00.00000/services/resourcesettings.yaml index e27ba9a2..b592483d 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/resourcesettings.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/resourcesettings.yaml @@ -10,8 +10,8 @@ info: their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241103' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/resource-manager/docs/resource-settings/overview servers: @@ -37,27 +37,81 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: + GoogleCloudResourcesettingsV1ListSettingsResponse: + type: object + id: GoogleCloudResourcesettingsV1ListSettingsResponse + properties: + nextPageToken: + description: Unused. A page token used to retrieve the next page. + type: string + settings: + items: + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' + description: >- + A list of settings that are available at the specified Cloud + resource. + type: array + description: The response from ListSettings. + GoogleCloudResourcesettingsV1Setting: + id: GoogleCloudResourcesettingsV1Setting + properties: + metadata: + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1SettingMetadata' + readOnly: true + description: >- + Output only. Metadata about a setting which is not editable by the + end user. + etag: + description: >- + A fingerprint used for optimistic concurrency. See UpdateSetting for + more details. + type: string + localValue: + description: >- + The configured value of the setting at the given parent resource, + ignoring the resource hierarchy. The data type of Value must always + be consistent with the data type defined in Setting.metadata. + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Value' + effectiveValue: + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Value' + readOnly: true + description: >- + Output only. The effective value of the setting at the given parent + resource, evaluated based on the resource hierarchy The effective + value evaluates to one of the following options, in this order. If + an option is not valid or doesn't exist, then the next option is + used: 1. The local setting value on the given resource: + Setting.local_value 2. If one of the given resource's ancestors in + the resource hierarchy have a local setting value, the local value + at the nearest such ancestor. 3. The setting's default value: + SettingMetadata.default_value 4. An empty value, defined as a + `Value` with all fields unset. The data type of Value must always be + consistent with the data type defined in Setting.metadata. + name: + description: >- + 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" + type: string + description: The schema for settings. + type: object GoogleCloudResourcesettingsV1SettingMetadata: - id: GoogleCloudResourcesettingsV1SettingMetadata - description: Metadata about a setting which is not editable by the end user. properties: displayName: type: string description: The human readable name for this setting. - defaultValue: - description: >- - The value provided by Setting.effective_value if no setting value is - explicitly set. Note: not all settings have a default value. - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Value' readOnly: type: boolean description: >- A flag indicating that values of this setting cannot be modified. See documentation for the specific setting for updates and reasons. description: - type: string description: A detailed description of what this setting does. + type: string dataType: + description: The data type for this setting. enum: - DATA_TYPE_UNSPECIFIED - BOOLEAN @@ -66,7 +120,6 @@ components: - ENUM_VALUE - DURATION_VALUE - STRING_MAP - description: The data type for this setting. type: string enumDescriptions: - Unspecified data type. @@ -76,161 +129,95 @@ components: - A Enum setting - A Duration setting - A string->string map setting - type: object - GoogleCloudResourcesettingsV1ValueEnumValue: - properties: - value: - type: string - description: The value of this enum - id: GoogleCloudResourcesettingsV1ValueEnumValue - type: object - description: >- - A enum value that can hold any enum type setting values. Each enum type - is represented by a number, this representation is stored in the - definitions. - GoogleCloudResourcesettingsV1ListSettingsResponse: - type: object - description: The response from ListSettings. - id: GoogleCloudResourcesettingsV1ListSettingsResponse - properties: - nextPageToken: - description: Unused. A page token used to retrieve the next page. - type: string - settings: + defaultValue: + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Value' description: >- - A list of settings that are available at the specified Cloud - resource. - type: array - items: - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' + The value provided by Setting.effective_value if no setting value is + explicitly set. Note: not all settings have a default value. + id: GoogleCloudResourcesettingsV1SettingMetadata + description: Metadata about a setting which is not editable by the end user. + type: object GoogleCloudResourcesettingsV1ValueStringMap: id: GoogleCloudResourcesettingsV1ValueStringMap - properties: - mappings: - additionalProperties: - type: string - description: The key-value pairs in the map - type: object description: >- A string->string map value that can hold a map of string keys to string values. The maximum length of each string is 200 characters and there can be a maximum of 50 key-value pairs in the map. type: object + properties: + mappings: + additionalProperties: + type: string + type: object + description: The key-value pairs in the map GoogleCloudResourcesettingsV1ValueStringSet: - type: object - description: >- - A string set value that can hold a set of strings. The maximum length of - each string is 200 characters and there can be a maximum of 50 strings - in the string set. properties: values: description: The strings in the set type: array items: type: string + description: >- + A string set value that can hold a set of strings. The maximum length of + each string is 200 characters and there can be a maximum of 50 strings + in the string set. + type: object id: GoogleCloudResourcesettingsV1ValueStringSet + GoogleCloudResourcesettingsV1ValueEnumValue: + properties: + value: + description: The value of this enum + type: string + id: GoogleCloudResourcesettingsV1ValueEnumValue + description: >- + A enum value that can hold any enum type setting values. Each enum type + is represented by a number, this representation is stored in the + definitions. + type: object GoogleCloudResourcesettingsV1Value: - description: The data in a setting value. type: object + description: The data in a setting value. id: GoogleCloudResourcesettingsV1Value properties: + booleanValue: + type: boolean + description: Defines this value as being a boolean value. stringMapValue: - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1ValueStringMap' description: Defines this value as being a StringMap. - enumValue: - description: Defines this value as being a Enum. - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1ValueEnumValue' + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1ValueStringMap' stringSetValue: $ref: '#/components/schemas/GoogleCloudResourcesettingsV1ValueStringSet' description: Defines this value as being a StringSet. stringValue: - description: Defines this value as being a string value. type: string - booleanValue: - type: boolean - description: Defines this value as being a boolean value. + description: Defines this value as being a string value. durationValue: - type: string - format: google-duration description: Defines this value as being a Duration. - GoogleCloudResourcesettingsV1Setting: - type: object - description: The schema for settings. - id: GoogleCloudResourcesettingsV1Setting - properties: - localValue: - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Value' - description: >- - The configured value of the setting at the given parent resource, - ignoring the resource hierarchy. The data type of Value must always - be consistent with the data type defined in Setting.metadata. - etag: type: string - description: >- - A fingerprint used for optimistic concurrency. See UpdateSetting for - more details. - metadata: - description: >- - Output only. Metadata about a setting which is not editable by the - end user. - readOnly: true - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1SettingMetadata' - effectiveValue: - readOnly: true - description: >- - Output only. The effective value of the setting at the given parent - resource, evaluated based on the resource hierarchy The effective - value evaluates to one of the following options, in this order. If - an option is not valid or doesn't exist, then the next option is - used: 1. The local setting value on the given resource: - Setting.local_value 2. If one of the given resource's ancestors in - the resource hierarchy have a local setting value, the local value - at the nearest such ancestor. 3. The setting's default value: - SettingMetadata.default_value 4. An empty value, defined as a - `Value` with all fields unset. The data type of Value must always be - consistent with the data type defined in Setting.metadata. - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Value' - name: - type: string - description: >- - 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" + format: google-duration + enumValue: + description: Defines this value as being a Enum. + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1ValueEnumValue' parameters: - access_token: - description: OAuth access token. + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: access_token + name: upload_protocol schema: type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - callback: - description: JSONP + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: callback + name: key schema: type: string oauth_token: @@ -239,12 +226,22 @@ components: name: oauth_token schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + callback: + description: JSONP in: query - name: uploadType + name: callback schema: type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto quotaUser: description: >- Available to use for quota purposes for server-side applications. Can be @@ -254,10 +251,10 @@ components: name: quotaUser schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: upload_protocol + name: uploadType schema: type: string _.xgafv: @@ -269,13 +266,16 @@ components: enum: - '1' - '2' - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: key + name: prettyPrint + schema: + type: boolean + access_token: + description: OAuth access token. + in: query + name: access_token schema: type: string x-stackQL-resources: @@ -284,22 +284,16 @@ components: name: settings title: Settings methods: - folders_settings_list: + projects_settings_list: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1settings/get' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1settings/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.settings - folders_settings_get: - operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1settings~1{settingsId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - folders_settings_patch: + projects_settings_patch: operation: - $ref: '#/paths/~1v1~1folders~1{foldersId}~1settings~1{settingsId}/patch' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1settings~1{settingsId}/patch' response: mediaType: application/json openAPIDocKey: '200' @@ -309,15 +303,9 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_settings_patch: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1settings~1{settingsId}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - projects_settings_list: + organizations_settings_list: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1settings/get' + $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1settings/get' response: mediaType: application/json openAPIDocKey: '200' @@ -336,56 +324,68 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_settings_list: + folders_settings_get: operation: - $ref: '#/paths/~1v1~1organizations~1{organizationsId}~1settings/get' + $ref: '#/paths/~1v1~1folders~1{foldersId}~1settings~1{settingsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + folders_settings_patch: + operation: + $ref: '#/paths/~1v1~1folders~1{foldersId}~1settings~1{settingsId}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + folders_settings_list: + operation: + $ref: '#/paths/~1v1~1folders~1{foldersId}~1settings/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.settings sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/settings/methods/folders_settings_get - $ref: >- #/components/x-stackQL-resources/settings/methods/projects_settings_get - $ref: >- #/components/x-stackQL-resources/settings/methods/organizations_settings_get - $ref: >- - #/components/x-stackQL-resources/settings/methods/folders_settings_list + #/components/x-stackQL-resources/settings/methods/folders_settings_get - $ref: >- #/components/x-stackQL-resources/settings/methods/projects_settings_list - $ref: >- #/components/x-stackQL-resources/settings/methods/organizations_settings_list + - $ref: >- + #/components/x-stackQL-resources/settings/methods/folders_settings_list insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/settings/methods/folders_settings_patch - $ref: >- #/components/x-stackQL-resources/settings/methods/projects_settings_patch - $ref: >- #/components/x-stackQL-resources/settings/methods/organizations_settings_patch + - $ref: >- + #/components/x-stackQL-resources/settings/methods/folders_settings_patch replace: [] delete: [] paths: - /v1/folders/{foldersId}/settings: + /v1/projects/{projectsId}/settings: parameters: &ref_1 - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/access_token' get: description: >- Lists all the settings that are available on the Cloud resource `parent`. - operationId: resourcesettings.folders.settings.list + operationId: resourcesettings.projects.settings.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -401,7 +401,7 @@ paths: #/components/schemas/GoogleCloudResourcesettingsV1ListSettingsResponse parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -418,13 +418,53 @@ paths: schema: type: integer format: int32 - /v1/folders/{foldersId}/settings/{settingsId}: + /v1/projects/{projectsId}/settings/{settingsId}: parameters: *ref_1 + patch: + description: >- + 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. + operationId: resourcesettings.projects.settings.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: settingsId + required: true + schema: + type: string get: description: >- Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. - operationId: resourcesettings.folders.settings.get + operationId: resourcesettings.projects.settings.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -439,7 +479,7 @@ paths: $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' parameters: - in: path - name: foldersId + name: projectsId required: true schema: type: string @@ -452,23 +492,13 @@ paths: name: view schema: type: string - patch: + /v1/organizations/{organizationsId}/settings: + parameters: *ref_1 + get: description: >- - 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. - operationId: resourcesettings.folders.settings.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' + Lists all the settings that are available on the Cloud resource + `parent`. + operationId: resourcesettings.organizations.settings.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -480,25 +510,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' + $ref: >- + #/components/schemas/GoogleCloudResourcesettingsV1ListSettingsResponse parameters: - in: path - name: foldersId + name: organizationsId required: true schema: type: string - - in: path - name: settingsId - required: true + - in: query + name: pageToken schema: type: string - /v1/projects/{projectsId}/settings/{settingsId}: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: view + schema: + type: string + /v1/organizations/{organizationsId}/settings/{settingsId}: parameters: *ref_1 get: description: >- Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. - operationId: resourcesettings.projects.settings.get + operationId: resourcesettings.organizations.settings.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -513,7 +552,7 @@ paths: $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string @@ -537,7 +576,7 @@ paths: 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. - operationId: resourcesettings.projects.settings.patch + operationId: resourcesettings.organizations.settings.patch requestBody: content: application/json: @@ -557,7 +596,7 @@ paths: $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' parameters: - in: path - name: projectsId + name: organizationsId required: true schema: type: string @@ -566,52 +605,13 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/settings: - parameters: *ref_1 - get: - description: >- - Lists all the settings that are available on the Cloud resource - `parent`. - operationId: resourcesettings.projects.settings.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: >- - #/components/schemas/GoogleCloudResourcesettingsV1ListSettingsResponse - parameters: - - in: path - name: projectsId - required: true - schema: - type: string - - in: query - name: view - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/organizations/{organizationsId}/settings/{settingsId}: + /v1/folders/{foldersId}/settings/{settingsId}: parameters: *ref_1 get: description: >- Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. - operationId: resourcesettings.organizations.settings.get + operationId: resourcesettings.folders.settings.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -626,7 +626,7 @@ paths: $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' parameters: - in: path - name: organizationsId + name: foldersId required: true schema: type: string @@ -650,7 +650,7 @@ paths: 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. - operationId: resourcesettings.organizations.settings.patch + operationId: resourcesettings.folders.settings.patch requestBody: content: application/json: @@ -670,7 +670,7 @@ paths: $ref: '#/components/schemas/GoogleCloudResourcesettingsV1Setting' parameters: - in: path - name: organizationsId + name: foldersId required: true schema: type: string @@ -679,13 +679,13 @@ paths: required: true schema: type: string - /v1/organizations/{organizationsId}/settings: + /v1/folders/{foldersId}/settings: parameters: *ref_1 get: description: >- Lists all the settings that are available on the Cloud resource `parent`. - operationId: resourcesettings.organizations.settings.list + operationId: resourcesettings.folders.settings.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -701,7 +701,7 @@ paths: #/components/schemas/GoogleCloudResourcesettingsV1ListSettingsResponse parameters: - in: path - name: organizationsId + name: foldersId required: true schema: type: string @@ -709,12 +709,12 @@ paths: name: pageToken schema: type: string + - in: query + name: view + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - - in: query - name: view - schema: - type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/retail.yaml b/providers/src/googleapis.com/v00.00.00000/services/retail.yaml index 2c186f38..b9ce492b 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/retail.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/retail.yaml @@ -11,8 +11,8 @@ info: personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications. version: v2 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/recommendations servers: @@ -1684,6 +1684,14 @@ components: type: array items: type: string + pinControlMetadata: + description: >- + Metadata for pin controls which were applicable to the request. This + contains two map fields, one for all matched pins and one for pins + which were matched but not applied. The two maps are keyed by pin + position, and the values are the product ids which were matched to + that pin. + $ref: '#/components/schemas/GoogleCloudRetailV2PinControlMetadata' invalidConditionBoostSpecs: description: >- The invalid SearchRequest.BoostSpec.condition_boost_specs that are @@ -2179,11 +2187,9 @@ components: Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * - color_info The maximum number of paths is 30. Otherwise, an - INVALID_ARGUMENT error is returned. Note: Returning more fields in - SearchResponse can increase response payload size and serving - latency. This field is deprecated. Use the retrievable site-wide - control instead. + color_info Note: Returning more fields in SearchResponse can + increase response payload size and serving latency. This field is + deprecated. Use the retrievable site-wide control instead. deprecated: true type: string format: google-fieldmask @@ -2625,6 +2631,37 @@ components: is set to true. type: string format: int64 + GoogleCloudRetailV2PinControlMetadata: + id: GoogleCloudRetailV2PinControlMetadata + description: >- + Metadata for pinning to be returned in the response. This is used for + distinguishing between applied vs dropped pins. + type: object + properties: + allMatchedPins: + description: Map of all matched pins, keyed by pin position. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudRetailV2PinControlMetadataProductPins + droppedPins: + description: >- + Map of pins that were dropped due to overlap with other matching + pins, keyed by pin position. + type: object + additionalProperties: + $ref: >- + #/components/schemas/GoogleCloudRetailV2PinControlMetadataProductPins + GoogleCloudRetailV2PinControlMetadataProductPins: + id: GoogleCloudRetailV2PinControlMetadataProductPins + description: List of product ids which have associated pins. + type: object + properties: + productId: + description: List of product ids which have associated pins. + type: array + items: + type: string GoogleCloudRetailV2ExperimentInfo: id: GoogleCloudRetailV2ExperimentInfo description: Metadata for active A/B testing Experiment. @@ -3278,6 +3315,112 @@ components: nextPageToken: description: Pagination token, if not returned indicates the last page. type: string + GoogleCloudRetailV2GenerativeQuestionsFeatureConfig: + id: GoogleCloudRetailV2GenerativeQuestionsFeatureConfig + description: Configuration for overall generative question feature state. + type: object + properties: + catalog: + description: >- + Required. Resource name of the affected catalog. Format: + projects/{project}/locations/{location}/catalogs/{catalog} + type: string + featureEnabled: + description: >- + Optional. Determines whether questions will be used at serving time. + Note: This feature cannot be enabled until initial data requirements + are satisfied. + type: boolean + minimumProducts: + description: >- + Optional. Minimum number of products in the response to trigger + follow-up questions. Value must be 0 or positive. + type: integer + format: int32 + GoogleCloudRetailV2ListGenerativeQuestionConfigsResponse: + id: GoogleCloudRetailV2ListGenerativeQuestionConfigsResponse + description: Response for ListQuestions method. + type: object + properties: + generativeQuestionConfigs: + description: All the questions for a given catalog. + type: array + items: + $ref: '#/components/schemas/GoogleCloudRetailV2GenerativeQuestionConfig' + GoogleCloudRetailV2GenerativeQuestionConfig: + id: GoogleCloudRetailV2GenerativeQuestionConfig + description: Configuration for a single generated question. + type: object + properties: + catalog: + description: >- + Required. Resource name of the catalog. Format: + projects/{project}/locations/{location}/catalogs/{catalog} + type: string + facet: + description: Required. The facet to which the question is associated. + type: string + generatedQuestion: + description: Output only. The LLM generated question. + readOnly: true + type: string + finalQuestion: + description: >- + Optional. The question that will be used at serving time. Question + can have a max length of 300 bytes. When not populated, + generated_question should be used. + type: string + exampleValues: + description: Output only. Values that can be used to answer the question. + readOnly: true + type: array + items: + type: string + frequency: + description: Output only. The ratio of how often a question was asked. + readOnly: true + type: number + format: float + allowedInConversation: + description: Optional. Whether the question is asked at serving time. + type: boolean + GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsRequest: + id: GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsRequest + description: Request for BatchUpdateGenerativeQuestionConfig method. + type: object + properties: + requests: + description: Required. The updates question configs. + type: array + items: + $ref: >- + #/components/schemas/GoogleCloudRetailV2UpdateGenerativeQuestionConfigRequest + GoogleCloudRetailV2UpdateGenerativeQuestionConfigRequest: + id: GoogleCloudRetailV2UpdateGenerativeQuestionConfigRequest + description: Request for UpdateGenerativeQuestionConfig method. + type: object + properties: + generativeQuestionConfig: + description: Required. The question to update. + $ref: '#/components/schemas/GoogleCloudRetailV2GenerativeQuestionConfig' + updateMask: + description: >- + Optional. Indicates which fields in the provided + GenerativeQuestionConfig to update. The following are NOT supported: + * GenerativeQuestionConfig.frequency If not set or empty, all + supported fields are updated. + type: string + format: google-fieldmask + GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsResponse: + id: GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsResponse + description: Aggregated response for UpdateGenerativeQuestionConfig method. + type: object + properties: + generativeQuestionConfigs: + description: Optional. The updates question configs. + type: array + items: + $ref: '#/components/schemas/GoogleCloudRetailV2GenerativeQuestionConfig' GoogleCloudRetailV2Model: id: GoogleCloudRetailV2Model description: >- @@ -7132,6 +7275,55 @@ components: #/components/x-stackQL-resources/catalogs_attributes_config/methods/projects_locations_catalogs_update_attributes_config replace: [] delete: [] + catalogs_generative_question_feature: + id: google.retail.catalogs_generative_question_feature + name: catalogs_generative_question_feature + title: Catalogs_generative_question_feature + methods: + projects_locations_catalogs_update_generative_question_feature: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1catalogs~1{catalogsId}~1generativeQuestionFeature/patch + response: + mediaType: application/json + openAPIDocKey: '200' + projects_locations_catalogs_get_generative_question_feature: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1catalogs~1{catalogsId}~1generativeQuestionFeature/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/catalogs_generative_question_feature/methods/projects_locations_catalogs_get_generative_question_feature + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/catalogs_generative_question_feature/methods/projects_locations_catalogs_update_generative_question_feature + replace: [] + delete: [] + catalogs_generative_question: + id: google.retail.catalogs_generative_question + name: catalogs_generative_question + title: Catalogs_generative_question + methods: + projects_locations_catalogs_update_generative_question: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1catalogs~1{catalogsId}~1generativeQuestion/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/catalogs_generative_question/methods/projects_locations_catalogs_update_generative_question + replace: [] + delete: [] products: id: google.retail.products name: products @@ -7517,6 +7709,46 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/controls/methods/projects_locations_catalogs_controls_delete + generative_questions: + id: google.retail.generative_questions + name: generative_questions + title: Generative_questions + methods: + projects_locations_catalogs_generative_questions_list: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1catalogs~1{catalogsId}~1generativeQuestions/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/generative_questions/methods/projects_locations_catalogs_generative_questions_list + insert: [] + update: [] + replace: [] + delete: [] + generative_question: + id: google.retail.generative_question + name: generative_question + title: Generative_question + methods: + projects_locations_catalogs_generative_question_batch_update: + operation: + $ref: >- + #/paths/~1v2~1projects~1{projectsId}~1locations~1{locationsId}~1catalogs~1{catalogsId}~1generativeQuestion:batchUpdate/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/generative_question/methods/projects_locations_catalogs_generative_question_batch_update + replace: [] + delete: [] models: id: google.retail.models name: models @@ -8173,6 +8405,131 @@ paths: name: entity schema: type: string + /v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestionFeature: + parameters: *ref_1 + patch: + description: >- + Manages overal generative question feature state -- enables toggling + feature on and off. + operationId: retail.projects.locations.catalogs.updateGenerativeQuestionFeature + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2GenerativeQuestionsFeatureConfig + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2GenerativeQuestionsFeatureConfig + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: catalogsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + get: + description: >- + Manages overal generative question feature state -- enables toggling + feature on and off. + operationId: retail.projects.locations.catalogs.getGenerativeQuestionFeature + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2GenerativeQuestionsFeatureConfig + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: catalogsId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestion: + parameters: *ref_1 + patch: + description: Allows management of individual questions. + operationId: retail.projects.locations.catalogs.updateGenerativeQuestion + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudRetailV2GenerativeQuestionConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2GenerativeQuestionConfig + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: catalogsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask /v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/operations: parameters: *ref_1 get: @@ -9840,6 +10197,80 @@ paths: required: true schema: type: string + /v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestions: + parameters: *ref_1 + get: + description: Returns all questions for a given catalog. + operationId: retail.projects.locations.catalogs.generativeQuestions.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2ListGenerativeQuestionConfigsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: catalogsId + required: true + schema: + type: string + /v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/generativeQuestion:batchUpdate: + parameters: *ref_1 + post: + description: Allows management of multiple questions. + operationId: retail.projects.locations.catalogs.generativeQuestion.batchUpdate + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsRequest + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsResponse + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: locationsId + required: true + schema: + type: string + - in: path + name: catalogsId + required: true + schema: + type: string /v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/run.yaml b/providers/src/googleapis.com/v00.00.00000/services/run.yaml index c22c1fa9..f47f400a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/run.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/run.yaml @@ -11,8 +11,8 @@ info: Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/. version: v2 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/run/ servers: @@ -306,8 +306,8 @@ components: Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` - where {project} and {region} are the project id and region - respectively where the worker pool is defined and {workerPool} is + where `{project}` and `{region}` are the project id and region + respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. type: string tags: @@ -1188,6 +1188,13 @@ components: readOnly: description: If true, the volume will be mounted as read only for all mounts. type: boolean + mountOptions: + description: >- + A list of additional flags to pass to the gcsfuse CLI. Options + should be specified without the leading "--". + type: array + items: + type: string GoogleCloudRunV2VpcAccess: id: GoogleCloudRunV2VpcAccess description: >- @@ -1199,9 +1206,9 @@ components: connector: description: >- VPC Access connector name. Format: - projects/{project}/locations/{location}/connectors/{connector}, - where {project} can be project id or number. For more information on - sending traffic to a VPC network via a connector, visit + `projects/{project}/locations/{location}/connectors/{connector}`, + where `{project}` can be project id or number. For more information + on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors. type: string egress: @@ -1685,7 +1692,7 @@ components: policy: description: >- Optional. The path to a binary authorization policy. Format: - projects/{project}/platforms/cloudRun/{policy-name} + `projects/{project}/platforms/cloudRun/{policy-name}` type: string breakglassJustification: description: >- @@ -2498,8 +2505,8 @@ components: mesh: description: >- The Mesh resource name. Format: - projects/{project}/locations/global/meshes/{mesh}, where {project} - can be project id or number. + `projects/{project}/locations/global/meshes/{mesh}`, where + `{project}` can be project id or number. type: string GoogleCloudRunV2RevisionScalingStatus: id: GoogleCloudRunV2RevisionScalingStatus @@ -2733,6 +2740,13 @@ components: scaling: description: Optional. Specifies service-level scaling settings $ref: '#/components/schemas/GoogleCloudRunV2ServiceScaling' + invokerIamDisabled: + description: >- + Optional. Disables IAM permission check for run.routes.invoke for + callers of this service. This feature is available by invitation + only. For more information, visit + https://cloud.google.com/run/docs/securing/managing-access#invoker_check. + type: boolean defaultUriDisabled: description: >- Optional. Disables public resolution of the default URI of this @@ -2942,7 +2956,7 @@ components: description: >- Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, defaults to 80 when - requested CPU >= 1 and defaults to 1 when requested CPU < 1. + requested `CPU >= 1` and defaults to 1 when requested `CPU < 1`. type: integer format: int32 serviceMesh: @@ -3003,7 +3017,7 @@ components: description: >- Optional. total min instances for the service. This number of instances is divided among all revisions with specified traffic - based on the percent of traffic they are receiving. (BETA) + based on the percent of traffic they are receiving. type: integer format: int32 scalingMode: @@ -4517,9 +4531,13 @@ components: Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project. + - >- + Bucket is located in a Google-owned project and is not + regionalized. enum: - DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED - REGIONAL_USER_OWNED_BUCKET + - LEGACY_BUCKET GoogleDevtoolsCloudbuildV1PoolOption: id: GoogleDevtoolsCloudbuildV1PoolOption description: >- diff --git a/providers/src/googleapis.com/v00.00.00000/services/runtimeconfig.yaml b/providers/src/googleapis.com/v00.00.00000/services/runtimeconfig.yaml index 4d8f708a..ce495fb2 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/runtimeconfig.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/runtimeconfig.yaml @@ -11,8 +11,8 @@ info: Watchers and Waiters that will watch for changes to your data and return based on certain conditions. version: v1 - x-discovery-doc-revision: '20240627' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20240923' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/deployment-manager/runtime-configurator/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/sasportal.yaml b/providers/src/googleapis.com/v00.00.00000/services/sasportal.yaml index a6f9522c..7c06fce1 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/sasportal.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/sasportal.yaml @@ -7,8 +7,8 @@ info: title: SAS Portal API description: '' version: v1alpha1 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241031' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/spectrum-access-system/ servers: @@ -35,228 +35,248 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - SasPortalDeviceConfig: - description: Information about the device configuration. - id: SasPortalDeviceConfig + SasPortalValidateInstallerResponse: + id: SasPortalValidateInstallerResponse + type: object + description: Response for ValidateInstaller. + properties: {} + SasPortalTestPermissionsRequest: + id: SasPortalTestPermissionsRequest + type: object properties: - updateTime: - type: string - description: Output only. The last time the device configuration was edited. - format: google-datetime - model: - description: Information about this device model. - $ref: '#/components/schemas/SasPortalDeviceModel' - callSign: - description: The call sign of the device operator. - type: string - measurementCapabilities: + permissions: + description: The set of permissions to check for the `resource`. + type: array items: - enum: - - MEASUREMENT_CAPABILITY_UNSPECIFIED - - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT - - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT type: string - enumDescriptions: - - '' - - '' - - '' - description: Measurement reporting capabilities of the device. - type: array - state: - type: string - enum: - - DEVICE_CONFIG_STATE_UNSPECIFIED - - DRAFT - - FINAL - enumDescriptions: - - '' - - '' - - '' - description: State of the configuration. - airInterface: - $ref: '#/components/schemas/SasPortalDeviceAirInterface' - description: Information about this device's air interface. - installationParams: - $ref: '#/components/schemas/SasPortalInstallationParams' - description: Installation parameters for the device. - userId: - type: string - description: The identifier of a device user. - isSigned: - type: boolean - description: Output only. Whether the configuration has been signed by a CPI. - category: - description: FCC category of the device. - enumDescriptions: - - Unspecified device category. - - Category A. - - Category B. - enum: - - DEVICE_CATEGORY_UNSPECIFIED - - DEVICE_CATEGORY_A - - DEVICE_CATEGORY_B + resource: + description: >- + Required. The resource for which the permissions are being + requested. type: string + description: Request message for `TestPermissions` method. + SasPortalPolicy: + id: SasPortalPolicy + description: Defines an access control policy to the resources. type: object - SasPortalDevice: - type: object - id: SasPortalDevice properties: - grants: - items: - $ref: '#/components/schemas/SasPortalDeviceGrant' - description: Output only. Grants held by the device. - type: array - displayName: - type: string - description: Device display name. - currentChannels: - readOnly: true - deprecated: true + assignments: items: - $ref: '#/components/schemas/SasPortalChannelWithScore' - description: Output only. Current channels with scores. + $ref: '#/components/schemas/SasPortalAssignment' type: array - preloadedConfig: - $ref: '#/components/schemas/SasPortalDeviceConfig' - description: Configuration of the device, as specified via SAS Portal API. - fccId: - type: string - description: >- - The FCC identifier of the device. Refer to - https://www.fcc.gov/oet/ea/fccid for FccID format. Accept - underscores and periods because some test-SAS customers use them. - deviceMetadata: - description: >- - Device parameters that can be overridden by both SAS Portal and SAS - registration requests. - $ref: '#/components/schemas/SasPortalDeviceMetadata' - activeConfig: - $ref: '#/components/schemas/SasPortalDeviceConfig' + description: List of assignments + etag: + format: byte description: >- - Output only. Current configuration of the device as registered to - the SAS. - name: - description: Output only. The resource path name. + 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. type: string - grantRangeAllowlists: - items: - $ref: '#/components/schemas/SasPortalFrequencyRange' + SasPortalSignDeviceRequest: + description: Request for SignDevice. + properties: + device: + $ref: '#/components/schemas/SasPortalDevice' description: >- - Only ranges that are within the allowlists are available for new - grants. - type: array - serialNumber: - type: string - description: A serial number assigned to the device by the device manufacturer. - state: - description: Output only. Device state. - enumDescriptions: - - Unspecified state. - - >- - Device created in the SAS Portal, however, not yet registered with - SAS. - - Device registered with SAS. - - Device de-registered with SAS. - enum: - - DEVICE_STATE_UNSPECIFIED - - RESERVED - - REGISTERED - - DEREGISTERED - type: string - SasPortalDeploymentAssociation: + Required. The device to sign. The device fields name, fcc_id and + serial_number must be set. The user_id field must be set. + id: SasPortalSignDeviceRequest type: object - id: SasPortalDeploymentAssociation - properties: - gcpProjectId: - description: GCP project id of the associated project. - type: string - userId: - type: string - description: User id of the deployment. - description: Association between a gcp project and a SAS user id. - SasPortalValidateInstallerRequest: - id: SasPortalValidateInstallerRequest + SasPortalDeviceMetadata: + id: SasPortalDeviceMetadata + type: object + description: Device data overridable by both SAS Portal and registration requests. properties: - secret: - type: string - description: Required. Secret returned by the GenerateSecret. - installerId: + antennaModel: type: string description: >- - Required. Unique installer id (CPI ID) from the Certified - Professional Installers database. - encodedSecret: + If populated, the Antenna Model Pattern to use. Format is: + `RecordCreatorId:PatternId` + commonChannelGroup: type: string description: >- - Required. JSON Web Token signed using a CPI private key. Payload - must include a "secret" claim whose value is the secret. - type: object - description: Request for ValidateInstaller. - SasPortalOrganization: - id: SasPortalOrganization - description: Organization details. - properties: - displayName: - type: string - description: Name of organization - id: - description: Id of organization - type: string - format: int64 - type: object - SasPortalUpdateSignedDeviceRequest: - description: Request for UpdateSignedDevice. - properties: - installerId: + Common Channel Group (CCG). A group of CBSDs in the same ICG + requesting a common primary channel assignment. For more details, + see [CBRSA-TS-2001 + V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). + nrqzValidation: + readOnly: true + description: Output only. National Radio Quiet Zone validation info. + $ref: '#/components/schemas/SasPortalNrqzValidation' + nrqzValidated: + readOnly: true + deprecated: true + type: boolean description: >- - Required. Unique installer ID (CPI ID) from the Certified - Professional Installers database. + Output only. Set to `true` if a CPI has validated that they have + coordinated with the National Quiet Zone office. + interferenceCoordinationGroup: type: string - encodedDevice: description: >- - Required. The JSON Web Token signed using a CPI private key. Payload - must be the JSON encoding of the device. The user_id field must be - set. - type: string - format: byte - id: SasPortalUpdateSignedDeviceRequest - type: object + Interference Coordination Group (ICG). A group of CBSDs that manage + their own interference with the group. For more details, see + [CBRSA-TS-2001 + V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). SasPortalTestPermissionsResponse: - type: object + description: Response message for `TestPermissions` method. + id: SasPortalTestPermissionsResponse properties: permissions: type: array + description: A set of permissions that the caller is allowed. items: type: string - description: A set of permissions that the caller is allowed. - description: Response message for `TestPermissions` method. - id: SasPortalTestPermissionsResponse - SasPortalPolicy: - id: SasPortalPolicy + type: object + SasPortalNode: + id: SasPortalNode + description: The Node. + type: object properties: - etag: - description: >- - 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. - format: byte + displayName: + description: The node's display name. type: string - assignments: - description: List of assignments + name: + type: string + description: Output only. Resource name. + sasUserIds: + items: + type: string + type: array + description: User ids used by the devices belonging to this node. + SasPortalSetupSasAnalyticsMetadata: + id: SasPortalSetupSasAnalyticsMetadata + properties: {} + type: object + description: >- + Metadata returned by the long running operation for the + SetupSasAnalytics rpc. + SasPortalGenerateSecretRequest: + type: object + id: SasPortalGenerateSecretRequest + properties: {} + description: Request for GenerateSecret. + SasPortalGetPolicyRequest: + id: SasPortalGetPolicyRequest + description: Request message for `GetPolicy` method. + type: object + properties: + resource: + description: Required. The resource for which the policy is being requested. + type: string + SasPortalListDevicesResponse: + description: Response for ListDevices. + id: SasPortalListDevicesResponse + type: object + properties: + devices: type: array items: - $ref: '#/components/schemas/SasPortalAssignment' + $ref: '#/components/schemas/SasPortalDevice' + description: The devices that match the request. + nextPageToken: + type: string + description: >- + A pagination token returned from a previous call to ListDevices that + indicates from where listing should continue. If the field is + missing or empty, it means there is no more devices. + SasPortalAssignment: type: object - description: Defines an access control policy to the resources. + description: Associates `members` with a `role`. + properties: + role: + description: Required. Role that is assigned to `members`. + type: string + members: + type: array + description: >- + The identities the role is assigned to. It can have the following + values: * `{user_email}`: An email address that represents a + specific Google account. For example: `alice@gmail.com`. * + `{group_email}`: An email address that represents a Google group. + For example, `viewers@gmail.com`. + items: + type: string + id: SasPortalAssignment + SasPortalChannelWithScore: + id: SasPortalChannelWithScore + properties: + score: + type: number + description: The channel score, normalized to be in the range [0,100]. + format: double + frequencyRange: + $ref: '#/components/schemas/SasPortalFrequencyRange' + description: The frequency range of the channel. + description: The channel with score. + type: object + SasPortalGenerateSecretResponse: + description: Response for GenerateSecret. + properties: + secret: + description: The secret generated by the string and used by ValidateInstaller. + type: string + id: SasPortalGenerateSecretResponse + type: object + SasPortalEmpty: + properties: {} + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + type: object + id: SasPortalEmpty + SasPortalCustomer: + properties: + displayName: + description: >- + Required. Name of the organization that the customer entity + represents. + type: string + name: + description: Output only. Resource name of the customer. + type: string + sasUserIds: + type: array + items: + type: string + description: User IDs used by the devices belonging to this customer. + id: SasPortalCustomer + type: object + description: Entity representing a SAS customer. + SasPortalSetupSasAnalyticsResponse: + properties: {} + type: object + description: >- + Response returned by the long running operation for the + SetupSasAnalytics rpc. + id: SasPortalSetupSasAnalyticsResponse SasPortalDeviceAirInterface: properties: + supportedSpec: + type: string + description: >- + Optional. This field is related to the `radioTechnology` and + provides the air interface specification that the CBSD is compliant + with at the time of registration. radioTechnology: + enumDescriptions: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' enum: - RADIO_TECHNOLOGY_UNSPECIFIED - E_UTRA @@ -269,78 +289,54 @@ components: - TARANA_WIRELESS - FAROS type: string - enumDescriptions: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' description: >- Conditional. This field specifies the radio access technology that is used for the CBSD. - supportedSpec: - description: >- - Optional. This field is related to the `radioTechnology` and - provides the air interface specification that the CBSD is compliant - with at the time of registration. - type: string - description: Information about the device's air interface. id: SasPortalDeviceAirInterface type: object - SasPortalDpaMoveList: + description: Information about the device's air interface. + SasPortalSetPolicyRequest: + id: SasPortalSetPolicyRequest + description: Request message for `SetPolicy` method. type: object - description: An entry in a DPA's move list. properties: - frequencyRange: - $ref: '#/components/schemas/SasPortalFrequencyRange' - description: The frequency range that the move list affects. - dpaId: + disableNotification: + type: boolean + description: >- + Optional. Set the field as `true` to disable the onboarding + notification. + resource: type: string - description: The ID of the DPA. - id: SasPortalDpaMoveList - SasPortalNode: + description: >- + Required. The resource for which the policy is being specified. This + policy replaces any existing policy. + policy: + $ref: '#/components/schemas/SasPortalPolicy' + description: Required. The policy to be applied to the `resource`. + SasPortalDeviceModel: properties: - sasUserIds: - type: array - description: User ids used by the devices belonging to this node. - items: - type: string - displayName: - type: string - description: The node's display name. name: + description: The name of the device model. type: string - description: Output only. Resource name. - type: object - id: SasPortalNode - description: The Node. - SasPortalListDeploymentsResponse: - description: Response for ListDeployments. - id: SasPortalListDeploymentsResponse - properties: - deployments: - type: array - description: The deployments that match the request. - items: - $ref: '#/components/schemas/SasPortalDeployment' - nextPageToken: + softwareVersion: + description: The software version of the device. type: string - description: >- - A pagination token returned from a previous call to ListDeployments - that indicates from where listing should continue. If the field is - missing or empty, it means there are no more deployments. + vendor: + description: The name of the device vendor. + type: string + hardwareVersion: + type: string + description: The hardware version of the device. + firmwareVersion: + description: The firmware version of the device. + type: string + id: SasPortalDeviceModel type: object + description: Information about the model of the device. SasPortalMigrateOrganizationMetadata: properties: operationState: - readOnly: true description: Output only. Current operation state - type: string enum: - OPERATION_STATE_UNSPECIFIED - OPERATION_STATE_PENDING @@ -353,566 +349,340 @@ components: - In-progress. - Done successfully. - Done with errors. - id: SasPortalMigrateOrganizationMetadata - type: object + readOnly: true + type: string description: >- Long-running operation metadata message returned by the MigrateOrganization. - SasPortalListLegacyOrganizationsResponse: - description: >- - Response for [ListLegacyOrganizations]. - [spectrum.sas.portal.v1alpha1.Provisioning.ListLegacyOrganizations]. - properties: - organizations: - items: - $ref: '#/components/schemas/SasPortalOrganization' - description: Optional. Legacy SAS organizations. - type: array + id: SasPortalMigrateOrganizationMetadata + type: object + SasPortalDeviceGrant: + id: SasPortalDeviceGrant type: object - id: SasPortalListLegacyOrganizationsResponse - SasPortalMoveDeploymentRequest: properties: - destination: + grantId: + description: Grant Id. type: string - description: >- - Required. The name of the new parent resource node or customer to - reparent the deployment under. - type: object - id: SasPortalMoveDeploymentRequest - description: Request for MoveDeployment. - SasPortalDeviceMetadata: - description: Device data overridable by both SAS Portal and registration requests. - id: SasPortalDeviceMetadata - type: object - properties: - nrqzValidation: - $ref: '#/components/schemas/SasPortalNrqzValidation' - description: Output only. National Radio Quiet Zone validation info. - readOnly: true - antennaModel: - type: string - description: >- - If populated, the Antenna Model Pattern to use. Format is: - `RecordCreatorId:PatternId` - nrqzValidated: - readOnly: true - description: >- - Output only. Set to `true` if a CPI has validated that they have - coordinated with the National Quiet Zone office. - type: boolean - deprecated: true - commonChannelGroup: - description: >- - Common Channel Group (CCG). A group of CBSDs in the same ICG - requesting a common primary channel assignment. For more details, - see [CBRSA-TS-2001 - V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). - type: string - interferenceCoordinationGroup: + channelType: + enumDescriptions: + - '' + - '' + - '' type: string - description: >- - Interference Coordination Group (ICG). A group of CBSDs that manage - their own interference with the group. For more details, see - [CBRSA-TS-2001 - V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf). - SasPortalAssignment: - description: Associates `members` with a `role`. - properties: - members: - description: >- - The identities the role is assigned to. It can have the following - values: * `{user_email}`: An email address that represents a - specific Google account. For example: `alice@gmail.com`. * - `{group_email}`: An email address that represents a Google group. - For example, `viewers@gmail.com`. + enum: + - CHANNEL_TYPE_UNSPECIFIED + - CHANNEL_TYPE_GAA + - CHANNEL_TYPE_PAL + description: Type of channel used. + moveList: items: - type: string + $ref: '#/components/schemas/SasPortalDpaMoveList' + description: The DPA move lists on which this grant appears. type: array - role: - type: string - description: Required. Role that is assigned to `members`. - type: object - id: SasPortalAssignment - SasPortalValidateInstallerResponse: - type: object - properties: {} - description: Response for ValidateInstaller. - id: SasPortalValidateInstallerResponse - SasPortalDeployment: - type: object - id: SasPortalDeployment - properties: - frns: - items: - type: string - readOnly: true + maxEirp: description: >- - Output only. The FCC Registration Numbers (FRNs) copied from its - direct parent. - type: array - name: - description: Output only. Resource name. - readOnly: true - type: string - displayName: + Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by + the grant. The maximum EIRP is in units of dBm/MHz. The value of + `maxEirp` represents the average (RMS) EIRP that would be measured + by the procedure defined in FCC part 96.41(e)(3). + type: number + format: double + frequencyRange: + description: The transmission frequency range. + $ref: '#/components/schemas/SasPortalFrequencyRange' + state: + description: State of the grant. type: string - description: The deployment's display name. - sasUserIds: + enumDescriptions: + - '' + - >- + The grant has been granted but the device is not heartbeating on + it. + - The grant has been terminated by the SAS. + - The grant has been suspended by the SAS. + - The device is currently transmitting. + - The grant has expired. + enum: + - GRANT_STATE_UNSPECIFIED + - GRANT_STATE_GRANTED + - GRANT_STATE_TERMINATED + - GRANT_STATE_SUSPENDED + - GRANT_STATE_AUTHORIZED + - GRANT_STATE_EXPIRED + suspensionReason: type: array + description: If the grant is suspended, the reason(s) for suspension. items: type: string - description: >- - User ID used by the devices belonging to this deployment. Each - deployment should be associated with one unique user ID. - description: The Deployment. - SasPortalListCustomersResponse: - description: Response for `ListCustomers`. - type: object - id: SasPortalListCustomersResponse - properties: - nextPageToken: - description: >- - A pagination token returned from a previous call to ListCustomers - that indicates from where listing should continue. If the field is - missing or empty, it means there are no more customers. + lastHeartbeatTransmitExpireTime: type: string - customers: - description: The list of customers that match the request. - items: - $ref: '#/components/schemas/SasPortalCustomer' - type: array - SasPortalMigrateOrganizationRequest: - type: object - properties: - organizationId: - format: int64 - description: Required. Id of the SAS organization to be migrated. + format: google-datetime + description: The transmit expiration time of the last heartbeat. + expireTime: type: string + description: The expiration time of the grant. + format: google-datetime description: >- - Request for [MigrateOrganization]. - [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. GCP - Project, Organization Info, and caller's GAIA ID should be retrieved - from the RPC handler, and used to check authorization on SAS Portal - organization and to create GCP Projects. - id: SasPortalMigrateOrganizationRequest - SasPortalListNodesResponse: - id: SasPortalListNodesResponse + Device grant. It is an authorization provided by the Spectrum Access + System to a device to transmit using specified operating parameters + after a successful heartbeat by the device. + SasPortalListGcpProjectDeploymentsResponse: type: object + id: SasPortalListGcpProjectDeploymentsResponse + description: Response for [ListGcpProjectDeployments]. properties: - nextPageToken: - type: string - description: >- - A pagination token returned from a previous call to ListNodes that - indicates from where listing should continue. If the field is - missing or empty, it means there is no more nodes. - nodes: - description: The nodes that match the request. + deployments: items: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalGcpProjectDeployment' + description: Optional. Deployments associated with the GCP project type: array - description: Response for ListNodes. - SasPortalMoveNodeRequest: - properties: - destination: - description: >- - Required. The name of the new parent resource node or customer to - reparent the node under. - type: string - type: object - description: Request for MoveNode. - id: SasPortalMoveNodeRequest - SasPortalProvisionDeploymentRequest: + SasPortalCreateSignedDeviceRequest: type: object - id: SasPortalProvisionDeploymentRequest - description: >- - Request for [ProvisionDeployment]. - [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. GCP - Project, Organization Info, and caller’s GAIA ID should be retrieved - from the RPC handler, and used as inputs to create a new SAS - organization (if not exists) and a new SAS deployment. + description: Request for CreateSignedDevice. + id: SasPortalCreateSignedDeviceRequest properties: - newDeploymentDisplayName: - type: string - description: >- - Optional. If this field is set, and a new SAS Portal Deployment - needs to be created, its display name will be set to the value of - this field. - organizationId: - format: int64 + encodedDevice: type: string description: >- - Optional. If this field is set then a new deployment will be created - under the organization specified by this id. - newOrganizationDisplayName: + Required. JSON Web Token signed using a CPI private key. Payload + must be the JSON encoding of the device. The user_id field must be + set. + format: byte + installerId: description: >- - Optional. If this field is set, and a new SAS Portal Organization - needs to be created, its display name will be set to the value of - this field. + Required. Unique installer id (CPI ID) from the Certified + Professional Installers database. type: string SasPortalSetupSasAnalyticsRequest: - properties: - userId: - description: >- - Optional. User id to setup analytics for, if not provided the user - id associated with the project is used. optional - type: string type: object description: Request for the SetupSasAnalytics rpc. id: SasPortalSetupSasAnalyticsRequest - SasPortalEmpty: - properties: {} - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: SasPortalEmpty - type: object - SasPortalGenerateSecretResponse: - id: SasPortalGenerateSecretResponse properties: - secret: + userId: type: string - description: The secret generated by the string and used by ValidateInstaller. - type: object - description: Response for GenerateSecret. - SasPortalProvisionDeploymentResponse: - id: SasPortalProvisionDeploymentResponse - description: >- - Response for [ProvisionDeployment]. - [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. - type: object - properties: - errorMessage: description: >- - Optional. Optional error message if the provisioning request is not - successful. - type: string - SasPortalListGcpProjectDeploymentsResponse: - description: Response for [ListGcpProjectDeployments]. - id: SasPortalListGcpProjectDeploymentsResponse - type: object - properties: - deployments: - description: Optional. Deployments associated with the GCP project - items: - $ref: '#/components/schemas/SasPortalGcpProjectDeployment' - type: array - SasPortalDeviceModel: - id: SasPortalDeviceModel - description: Information about the model of the device. + Optional. User id to setup analytics for, if not provided the user + id associated with the project is used. optional + SasPortalValidateInstallerRequest: + id: SasPortalValidateInstallerRequest properties: - firmwareVersion: - description: The firmware version of the device. - type: string - hardwareVersion: - type: string - description: The hardware version of the device. - name: - description: The name of the device model. - type: string - softwareVersion: - type: string - description: The software version of the device. - vendor: - description: The name of the device vendor. + secret: type: string - type: object - SasPortalCreateSignedDeviceRequest: - properties: + description: Required. Secret returned by the GenerateSecret. installerId: type: string description: >- Required. Unique installer id (CPI ID) from the Certified Professional Installers database. - encodedDevice: - format: byte + encodedSecret: type: string description: >- Required. JSON Web Token signed using a CPI private key. Payload - must be the JSON encoding of the device. The user_id field must be - set. - id: SasPortalCreateSignedDeviceRequest + must include a "secret" claim whose value is the secret. type: object - description: Request for CreateSignedDevice. - SasPortalFrequencyRange: - properties: - lowFrequencyMhz: - description: The lowest frequency of the frequency range in MHz. - format: double - type: number - highFrequencyMhz: - format: double - description: The highest frequency of the frequency range in MHz. - type: number - id: SasPortalFrequencyRange + description: Request for ValidateInstaller. + SasPortalOrganization: + id: SasPortalOrganization type: object - description: Frequency range from `low_frequency` to `high_frequency`. - SasPortalStatus: properties: - message: + id: + format: int64 type: string - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - details: - type: array - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - code: - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - format: int32 - id: SasPortalStatus - type: object - description: >- - 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). - SasPortalCustomer: - id: SasPortalCustomer + description: Id of organization + displayName: + description: Name of organization + type: string + description: Organization details. + SasPortalDeployment: + description: The Deployment. properties: - sasUserIds: - items: - type: string - description: User IDs used by the devices belonging to this customer. - type: array name: - description: Output only. Resource name of the customer. + readOnly: true + description: Output only. Resource name. type: string displayName: + description: The deployment's display name. type: string + frns: description: >- - Required. Name of the organization that the customer entity - represents. - description: Entity representing a SAS customer. - type: object - SasPortalGenerateSecretRequest: - description: Request for GenerateSecret. - type: object - id: SasPortalGenerateSecretRequest - properties: {} - SasPortalListDevicesResponse: - properties: - devices: - description: The devices that match the request. - type: array + Output only. The FCC Registration Numbers (FRNs) copied from its + direct parent. items: - $ref: '#/components/schemas/SasPortalDevice' - nextPageToken: - type: string - description: >- - A pagination token returned from a previous call to ListDevices that - indicates from where listing should continue. If the field is - missing or empty, it means there is no more devices. - id: SasPortalListDevicesResponse - description: Response for ListDevices. - type: object - SasPortalInstallationParams: - properties: - verticalAccuracy: - description: >- - A positive number in meters to indicate accuracy of the device - antenna vertical location. This optional parameter should only be - present if its value is less than the FCC requirement of 3 meters. - type: number - format: double - horizontalAccuracy: - format: double - type: number - description: >- - A positive number in meters to indicate accuracy of the device - antenna horizontal location. This optional parameter should only be - present if its value is less than the FCC requirement of 50 meters. - heightType: - enumDescriptions: - - Unspecified height type. - - AGL height is measured relative to the ground level. - - AMSL height is measured relative to the mean sea level. - enum: - - HEIGHT_TYPE_UNSPECIFIED - - HEIGHT_TYPE_AGL - - HEIGHT_TYPE_AMSL - description: Specifies how the height is measured. - type: string - latitude: - format: double - description: >- - Latitude of the device antenna location in degrees relative to the - WGS 84 datum. The allowed range is from -90.000000 to +90.000000. - Positive values represent latitudes north of the equator; negative - values south of the equator. - type: number - antennaGain: - description: >- - Peak antenna gain in dBi. This parameter is a double with a value - between -127 and +128 (dBi) inclusive. Part of Release 2 to support - floating-point value - format: double - type: number - longitude: - type: number - description: >- - Longitude of the device antenna location in degrees relative to the - WGS 84 datum. The allowed range is from -180.000000 to +180.000000. - Positive values represent longitudes east of the prime meridian; - negative values west of the prime meridian. - format: double - cpeCbsdIndication: - type: boolean - description: >- - If present, this parameter specifies whether the CBSD is a CPE-CBSD - or not. - eirpCapability: - description: >- - This parameter is the maximum device EIRP in units of dBm/10MHz and - is an integer with a value between -127 and +47 (dBm/10 MHz) - inclusive. If not included, SAS interprets it as maximum allowable - EIRP in units of dBm/10MHz for device category. - type: integer - format: int32 - antennaBeamwidth: - format: int32 - type: integer - description: >- - 3-dB antenna beamwidth of the antenna in the horizontal-plane in - degrees. This parameter is an unsigned integer having a value - between 0 and 360 (degrees) inclusive; it is optional for Category A - devices and conditional for Category B devices. - antennaDowntilt: - description: >- - Antenna downtilt in degrees and is an integer with a value between - -90 and +90 inclusive; a negative value means the antenna is tilted - up (above horizontal). This parameter is optional for Category A - devices and conditional for Category B devices. - type: integer - format: int32 - height: - type: number - description: >- - Device antenna height in meters. When the `heightType` parameter - value is "AGL", the antenna height should be given relative to - ground level. When the `heightType` parameter value is "AMSL", it is - given with respect to WGS84 datum. - format: double - antennaAzimuth: - format: int32 - type: integer - description: >- - Boresight direction of the horizontal plane of the antenna in - degrees with respect to true north. The value of this parameter is - an integer with a value between 0 and 359 inclusive. A value of 0 - degrees means true north; a value of 90 degrees means east. This - parameter is optional for Category A devices and conditional for - Category B devices. - antennaModel: - type: string - description: >- - If an external antenna is used, the antenna model is optionally - provided in this field. The string has a maximum length of 128 - octets. - indoorDeployment: + type: string + readOnly: true + type: array + sasUserIds: + type: array description: >- - Whether the device antenna is indoor or not. `true`: indoor. - `false`: outdoor. - type: boolean - description: Information about the device installation parameters. + User ID used by the devices belonging to this deployment. Each + deployment should be associated with one unique user ID. + items: + type: string type: object - id: SasPortalInstallationParams - SasPortalGetPolicyRequest: + id: SasPortalDeployment + SasPortalProvisionDeploymentResponse: + description: >- + Response for [ProvisionDeployment]. + [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. properties: - resource: + errorMessage: + description: >- + Optional. Optional error message if the provisioning request is not + successful. type: string - description: Required. The resource for which the policy is being requested. - id: SasPortalGetPolicyRequest - description: Request message for `GetPolicy` method. type: object - SasPortalDeviceGrant: + id: SasPortalProvisionDeploymentResponse + SasPortalDeviceConfig: + description: Information about the device configuration. + id: SasPortalDeviceConfig type: object - id: SasPortalDeviceGrant - description: >- - Device grant. It is an authorization provided by the Spectrum Access - System to a device to transmit using specified operating parameters - after a successful heartbeat by the device. properties: - grantId: - description: Grant Id. + userId: type: string - frequencyRange: - description: The transmission frequency range. - $ref: '#/components/schemas/SasPortalFrequencyRange' + description: The identifier of a device user. + updateTime: + type: string + description: Output only. The last time the device configuration was edited. + format: google-datetime + model: + $ref: '#/components/schemas/SasPortalDeviceModel' + description: Information about this device model. + airInterface: + description: Information about this device's air interface. + $ref: '#/components/schemas/SasPortalDeviceAirInterface' + isSigned: + type: boolean + description: Output only. Whether the configuration has been signed by a CPI. + installationParams: + $ref: '#/components/schemas/SasPortalInstallationParams' + description: Installation parameters for the device. + measurementCapabilities: + description: Measurement reporting capabilities of the device. + type: array + items: + type: string + enumDescriptions: + - '' + - '' + - '' + enum: + - MEASUREMENT_CAPABILITY_UNSPECIFIED + - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT + - MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT state: + description: State of the configuration. type: string - description: State of the grant. - enumDescriptions: - - '' - - >- - The grant has been granted but the device is not heartbeating on - it. - - The grant has been terminated by the SAS. - - The grant has been suspended by the SAS. - - The device is currently transmitting. - - The grant has expired. - enum: - - GRANT_STATE_UNSPECIFIED - - GRANT_STATE_GRANTED - - GRANT_STATE_TERMINATED - - GRANT_STATE_SUSPENDED - - GRANT_STATE_AUTHORIZED - - GRANT_STATE_EXPIRED - channelType: - description: Type of channel used. enum: - - CHANNEL_TYPE_UNSPECIFIED - - CHANNEL_TYPE_GAA - - CHANNEL_TYPE_PAL + - DEVICE_CONFIG_STATE_UNSPECIFIED + - DRAFT + - FINAL enumDescriptions: - '' - '' - '' + category: + description: FCC category of the device. type: string - maxEirp: - format: double + enum: + - DEVICE_CATEGORY_UNSPECIFIED + - DEVICE_CATEGORY_A + - DEVICE_CATEGORY_B + enumDescriptions: + - Unspecified device category. + - Category A. + - Category B. + callSign: + description: The call sign of the device operator. + type: string + SasPortalDeploymentAssociation: + id: SasPortalDeploymentAssociation + properties: + gcpProjectId: + description: GCP project id of the associated project. + type: string + userId: + description: User id of the deployment. + type: string + description: Association between a gcp project and a SAS user id. + type: object + SasPortalStatus: + description: >- + 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). + id: SasPortalStatus + properties: + message: description: >- - Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by - the grant. The maximum EIRP is in units of dBm/MHz. The value of - `maxEirp` represents the average (RMS) EIRP that would be measured - by the procedure defined in FCC part 96.41(e)(3). - type: number - suspensionReason: - items: - type: string + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + type: string + code: + description: The status code, which should be an enum value of google.rpc.Code. + type: integer + format: int32 + details: + description: >- + A list of messages that carry the error details. There is a common + set of message types for APIs to use. type: array - description: If the grant is suspended, the reason(s) for suspension. - moveList: items: - $ref: '#/components/schemas/SasPortalDpaMoveList' + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + SasPortalFrequencyRange: + properties: + highFrequencyMhz: + description: The highest frequency of the frequency range in MHz. + type: number + format: double + lowFrequencyMhz: + type: number + format: double + description: The lowest frequency of the frequency range in MHz. + id: SasPortalFrequencyRange + description: Frequency range from `low_frequency` to `high_frequency`. + type: object + SasPortalMigrateOrganizationResponse: + description: >- + Response for [MigrateOrganization]. + [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. + type: object + id: SasPortalMigrateOrganizationResponse + properties: + deploymentAssociation: + items: + $ref: '#/components/schemas/SasPortalDeploymentAssociation' type: array - description: The DPA move lists on which this grant appears. - expireTime: - format: google-datetime - description: The expiration time of the grant. - type: string - lastHeartbeatTransmitExpireTime: + description: >- + Optional. A list of deployment association that were created for the + migration, or current associations if they already exist. + SasPortalMigrateOrganizationRequest: + id: SasPortalMigrateOrganizationRequest + properties: + organizationId: type: string - format: google-datetime - description: The transmit expiration time of the last heartbeat. + format: int64 + description: Required. Id of the SAS organization to be migrated. + type: object + description: >- + Request for [MigrateOrganization]. + [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. GCP + Project, Organization Info, and caller's GAIA ID should be retrieved + from the RPC handler, and used to check authorization on SAS Portal + organization and to create GCP Projects. SasPortalGcpProjectDeployment: + type: object description: >- Deployment associated with the GCP project. Includes whether SAS analytics has been enabled or not. - id: SasPortalGcpProjectDeployment properties: deployment: description: Deployment associated with the GCP project. @@ -920,71 +690,101 @@ components: hasEnabledAnalytics: type: boolean description: Whether SAS analytics has been enabled. + id: SasPortalGcpProjectDeployment + SasPortalMoveDeviceRequest: type: object - SasPortalMigrateOrganizationResponse: - id: SasPortalMigrateOrganizationResponse - type: object - description: >- - Response for [MigrateOrganization]. - [spectrum.sas.portal.v1alpha1.Provisioning.MigrateOrganization]. + id: SasPortalMoveDeviceRequest properties: - deploymentAssociation: + destination: + type: string + description: >- + Required. The name of the new parent resource node or customer to + reparent the device under. + description: Request for MoveDevice. + SasPortalDevice: + properties: + activeConfig: + description: >- + Output only. Current configuration of the device as registered to + the SAS. + $ref: '#/components/schemas/SasPortalDeviceConfig' + fccId: + type: string + description: >- + The FCC identifier of the device. Refer to + https://www.fcc.gov/oet/ea/fccid for FccID format. Accept + underscores and periods because some test-SAS customers use them. + grantRangeAllowlists: + description: >- + Only ranges that are within the allowlists are available for new + grants. + items: + $ref: '#/components/schemas/SasPortalFrequencyRange' + type: array + name: + description: Output only. The resource path name. + type: string + state: + type: string + description: Output only. Device state. + enum: + - DEVICE_STATE_UNSPECIFIED + - RESERVED + - REGISTERED + - DEREGISTERED + enumDescriptions: + - Unspecified state. + - >- + Device created in the SAS Portal, however, not yet registered with + SAS. + - Device registered with SAS. + - Device de-registered with SAS. + preloadedConfig: + $ref: '#/components/schemas/SasPortalDeviceConfig' + description: Configuration of the device, as specified via SAS Portal API. + currentChannels: + type: array + readOnly: true + deprecated: true + description: Output only. Current channels with scores. items: - $ref: '#/components/schemas/SasPortalDeploymentAssociation' + $ref: '#/components/schemas/SasPortalChannelWithScore' + grants: type: array + items: + $ref: '#/components/schemas/SasPortalDeviceGrant' + description: Output only. Grants held by the device. + displayName: + type: string + description: Device display name. + deviceMetadata: + $ref: '#/components/schemas/SasPortalDeviceMetadata' description: >- - Optional. A list of deployment association that were created for the - migration, or current associations if they already exist. - SasPortalSignDeviceRequest: - properties: - device: - description: >- - Required. The device to sign. The device fields name, fcc_id and - serial_number must be set. The user_id field must be set. - $ref: '#/components/schemas/SasPortalDevice' - description: Request for SignDevice. - id: SasPortalSignDeviceRequest + Device parameters that can be overridden by both SAS Portal and SAS + registration requests. + serialNumber: + description: A serial number assigned to the device by the device manufacturer. + type: string + id: SasPortalDevice type: object - SasPortalSetPolicyRequest: - description: Request message for `SetPolicy` method. + SasPortalMoveNodeRequest: + description: Request for MoveNode. + id: SasPortalMoveNodeRequest properties: - resource: - description: >- - Required. The resource for which the policy is being specified. This - policy replaces any existing policy. + destination: type: string - disableNotification: description: >- - Optional. Set the field as `true` to disable the onboarding - notification. - type: boolean - policy: - description: Required. The policy to be applied to the `resource`. - $ref: '#/components/schemas/SasPortalPolicy' - type: object - id: SasPortalSetPolicyRequest - SasPortalSetupSasAnalyticsMetadata: - properties: {} - description: >- - Metadata returned by the long running operation for the - SetupSasAnalytics rpc. + Required. The name of the new parent resource node or customer to + reparent the node under. type: object - id: SasPortalSetupSasAnalyticsMetadata SasPortalOperation: + description: >- + This resource represents a long-running operation that is the result of + a network API call. type: object + id: SasPortalOperation properties: - name: - description: >- - 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}`. - type: string response: - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any description: >- The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is @@ -994,140 +794,313 @@ components: where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object + name: + type: string + description: >- + 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}`. metadata: type: object additionalProperties: - type: any description: Properties of the object. Contains field @type with type URL. + type: any description: >- 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. + error: + $ref: '#/components/schemas/SasPortalStatus' + description: >- + The error result of the operation in case of failure or + cancellation. done: description: >- 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. type: boolean - error: - $ref: '#/components/schemas/SasPortalStatus' + SasPortalProvisionDeploymentRequest: + description: >- + Request for [ProvisionDeployment]. + [spectrum.sas.portal.v1alpha1.Provisioning.ProvisionDeployment]. GCP + Project, Organization Info, and caller’s GAIA ID should be retrieved + from the RPC handler, and used as inputs to create a new SAS + organization (if not exists) and a new SAS deployment. + type: object + id: SasPortalProvisionDeploymentRequest + properties: + newDeploymentDisplayName: + type: string description: >- - The error result of the operation in case of failure or - cancellation. + Optional. If this field is set, and a new SAS Portal Deployment + needs to be created, its display name will be set to the value of + this field. + organizationId: + format: int64 + description: >- + Optional. If this field is set then a new deployment will be created + under the organization specified by this id. + type: string + newOrganizationDisplayName: + description: >- + Optional. If this field is set, and a new SAS Portal Organization + needs to be created, its display name will be set to the value of + this field. + type: string + SasPortalListLegacyOrganizationsResponse: + type: object + properties: + organizations: + description: Optional. Legacy SAS organizations. + type: array + items: + $ref: '#/components/schemas/SasPortalOrganization' description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: SasPortalOperation - SasPortalMoveDeviceRequest: + Response for [ListLegacyOrganizations]. + [spectrum.sas.portal.v1alpha1.Provisioning.ListLegacyOrganizations]. + id: SasPortalListLegacyOrganizationsResponse + SasPortalInstallationParams: + properties: + longitude: + type: number + description: >- + Longitude of the device antenna location in degrees relative to the + WGS 84 datum. The allowed range is from -180.000000 to +180.000000. + Positive values represent longitudes east of the prime meridian; + negative values west of the prime meridian. + format: double + antennaDowntilt: + description: >- + Antenna downtilt in degrees and is an integer with a value between + -90 and +90 inclusive; a negative value means the antenna is tilted + up (above horizontal). This parameter is optional for Category A + devices and conditional for Category B devices. + type: integer + format: int32 + horizontalAccuracy: + format: double + type: number + description: >- + A positive number in meters to indicate accuracy of the device + antenna horizontal location. This optional parameter should only be + present if its value is less than the FCC requirement of 50 meters. + height: + description: >- + Device antenna height in meters. When the `heightType` parameter + value is "AGL", the antenna height should be given relative to + ground level. When the `heightType` parameter value is "AMSL", it is + given with respect to WGS84 datum. + type: number + format: double + antennaAzimuth: + description: >- + Boresight direction of the horizontal plane of the antenna in + degrees with respect to true north. The value of this parameter is + an integer with a value between 0 and 359 inclusive. A value of 0 + degrees means true north; a value of 90 degrees means east. This + parameter is optional for Category A devices and conditional for + Category B devices. + format: int32 + type: integer + latitude: + description: >- + Latitude of the device antenna location in degrees relative to the + WGS 84 datum. The allowed range is from -90.000000 to +90.000000. + Positive values represent latitudes north of the equator; negative + values south of the equator. + type: number + format: double + eirpCapability: + description: >- + This parameter is the maximum device EIRP in units of dBm/10MHz and + is an integer with a value between -127 and +47 (dBm/10 MHz) + inclusive. If not included, SAS interprets it as maximum allowable + EIRP in units of dBm/10MHz for device category. + type: integer + format: int32 + verticalAccuracy: + description: >- + A positive number in meters to indicate accuracy of the device + antenna vertical location. This optional parameter should only be + present if its value is less than the FCC requirement of 3 meters. + type: number + format: double + indoorDeployment: + type: boolean + description: >- + Whether the device antenna is indoor or not. `true`: indoor. + `false`: outdoor. + antennaBeamwidth: + format: int32 + type: integer + description: >- + 3-dB antenna beamwidth of the antenna in the horizontal-plane in + degrees. This parameter is an unsigned integer having a value + between 0 and 360 (degrees) inclusive; it is optional for Category A + devices and conditional for Category B devices. + antennaModel: + description: >- + If an external antenna is used, the antenna model is optionally + provided in this field. The string has a maximum length of 128 + octets. + type: string + cpeCbsdIndication: + type: boolean + description: >- + If present, this parameter specifies whether the CBSD is a CPE-CBSD + or not. + heightType: + type: string + description: Specifies how the height is measured. + enum: + - HEIGHT_TYPE_UNSPECIFIED + - HEIGHT_TYPE_AGL + - HEIGHT_TYPE_AMSL + enumDescriptions: + - Unspecified height type. + - AGL height is measured relative to the ground level. + - AMSL height is measured relative to the mean sea level. + antennaGain: + format: double + description: >- + Peak antenna gain in dBi. This parameter is a double with a value + between -127 and +128 (dBi) inclusive. Part of Release 2 to support + floating-point value + type: number + type: object + id: SasPortalInstallationParams + description: Information about the device installation parameters. + SasPortalDpaMoveList: + description: An entry in a DPA's move list. + properties: + dpaId: + description: The ID of the DPA. + type: string + frequencyRange: + $ref: '#/components/schemas/SasPortalFrequencyRange' + description: The frequency range that the move list affects. + id: SasPortalDpaMoveList type: object - description: Request for MoveDevice. + SasPortalUpdateSignedDeviceRequest: properties: - destination: + encodedDevice: + format: byte + description: >- + Required. The JSON Web Token signed using a CPI private key. Payload + must be the JSON encoding of the device. The user_id field must be + set. + type: string + installerId: type: string description: >- - Required. The name of the new parent resource node or customer to - reparent the device under. - id: SasPortalMoveDeviceRequest - SasPortalSetupSasAnalyticsResponse: - id: SasPortalSetupSasAnalyticsResponse + Required. Unique installer ID (CPI ID) from the Certified + Professional Installers database. + id: SasPortalUpdateSignedDeviceRequest type: object - description: >- - Response returned by the long running operation for the - SetupSasAnalytics rpc. - properties: {} - SasPortalTestPermissionsRequest: - description: Request message for `TestPermissions` method. + description: Request for UpdateSignedDevice. + SasPortalListNodesResponse: type: object - id: SasPortalTestPermissionsRequest + description: Response for ListNodes. + id: SasPortalListNodesResponse properties: - permissions: - items: - type: string - description: The set of permissions to check for the `resource`. - type: array - resource: - description: >- - Required. The resource for which the permissions are being - requested. + nextPageToken: type: string - SasPortalChannelWithScore: + description: >- + A pagination token returned from a previous call to ListNodes that + indicates from where listing should continue. If the field is + missing or empty, it means there is no more nodes. + nodes: + description: The nodes that match the request. + type: array + items: + $ref: '#/components/schemas/SasPortalNode' + SasPortalNrqzValidation: + type: object + description: Information about National Radio Quiet Zone validation. properties: - frequencyRange: - description: The frequency range of the channel. - $ref: '#/components/schemas/SasPortalFrequencyRange' - score: - description: The channel score, normalized to be in the range [0,100]. + caseId: + description: Validation case ID. + type: string + longitude: format: double + description: Device longitude that's associated with the validation. type: number - description: The channel with score. - id: SasPortalChannelWithScore - type: object - SasPortalNrqzValidation: - id: SasPortalNrqzValidation - properties: cpiId: - description: CPI who signed the validation. type: string + description: CPI who signed the validation. state: enumDescriptions: - Unspecified state. - Draft state. - Final state. + description: State of the NRQZ validation info. + type: string enum: - STATE_UNSPECIFIED - DRAFT - FINAL - description: State of the NRQZ validation info. - type: string - longitude: - description: Device longitude that's associated with the validation. - type: number - format: double latitude: - description: Device latitude that's associated with the validation. format: double type: number - caseId: - description: Validation case ID. + description: Device latitude that's associated with the validation. + id: SasPortalNrqzValidation + SasPortalMoveDeploymentRequest: + type: object + description: Request for MoveDeployment. + id: SasPortalMoveDeploymentRequest + properties: + destination: + description: >- + Required. The name of the new parent resource node or customer to + reparent the deployment under. type: string - description: Information about National Radio Quiet Zone validation. + SasPortalListDeploymentsResponse: + properties: + nextPageToken: + type: string + description: >- + A pagination token returned from a previous call to ListDeployments + that indicates from where listing should continue. If the field is + missing or empty, it means there are no more deployments. + deployments: + description: The deployments that match the request. + type: array + items: + $ref: '#/components/schemas/SasPortalDeployment' + type: object + id: SasPortalListDeploymentsResponse + description: Response for ListDeployments. + SasPortalListCustomersResponse: + description: Response for `ListCustomers`. + id: SasPortalListCustomersResponse type: object + properties: + nextPageToken: + description: >- + A pagination token returned from a previous call to ListCustomers + that indicates from where listing should continue. If the field is + missing or empty, it means there are no more customers. + type: string + customers: + items: + $ref: '#/components/schemas/SasPortalCustomer' + description: The list of customers that match the request. + type: array parameters: - callback: - description: JSONP - in: query - name: callback - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string alt: description: Data format for response. in: query @@ -1138,12 +1111,27 @@ components: - json - media - proto + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean oauth_token: description: OAuth 2.0 token for the current user. in: query name: oauth_token schema: type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' key: description: >- API key. Your API key identifies your project and provides you with API @@ -1159,15 +1147,27 @@ components: name: fields schema: type: string - _.xgafv: - description: V1 error format. + access_token: + description: OAuth access token. in: query - name: $.xgafv + name: access_token + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string + callback: + description: JSONP + in: query + name: callback schema: type: string - enum: - - '1' - - '2' uploadType: description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query @@ -1198,104 +1198,166 @@ components: update: [] replace: [] delete: [] - customers_gcp_project_deployments: - id: google.sasportal.customers_gcp_project_deployments - name: customers_gcp_project_deployments - title: Customers_gcp_project_deployments + deployments: + id: google.sasportal.deployments + name: deployments + title: Deployments methods: - customers_list_gcp_project_deployments: + deployments_get: + operation: + $ref: '#/paths/~1v1alpha1~1deployments~1{deploymentsId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + customers_nodes_deployments_create: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/post + response: + mediaType: application/json + openAPIDocKey: '200' + customers_nodes_deployments_list: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.deployments + customers_deployments_patch: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + customers_deployments_get: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + customers_deployments_delete: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + customers_deployments_move: + operation: + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}:move/post + response: + mediaType: application/json + openAPIDocKey: '200' + customers_deployments_list: operation: - $ref: '#/paths/~1v1alpha1~1customers:listGcpProjectDeployments/get' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/get' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/customers_gcp_project_deployments/methods/customers_list_gcp_project_deployments - insert: [] - update: [] - replace: [] - delete: [] - customers: - id: google.sasportal.customers - name: customers - title: Customers - methods: - customers_patch: + objectKey: $.deployments + customers_deployments_create: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}/patch' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/post' response: mediaType: application/json openAPIDocKey: '200' - customers_get: + nodes_nodes_deployments_create: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}/get' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/post response: mediaType: application/json openAPIDocKey: '200' - customers_list: + nodes_nodes_deployments_list: operation: - $ref: '#/paths/~1v1alpha1~1customers/get' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.customers - customers_provision_deployment: + objectKey: $.deployments + nodes_deployments_delete: operation: - $ref: '#/paths/~1v1alpha1~1customers:provisionDeployment/post' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/delete response: mediaType: application/json openAPIDocKey: '200' - customers_migrate_organization: + nodes_deployments_get: operation: - $ref: '#/paths/~1v1alpha1~1customers:migrateOrganization/post' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/get response: mediaType: application/json openAPIDocKey: '200' - customers_setup_sas_analytics: + nodes_deployments_patch: operation: - $ref: '#/paths/~1v1alpha1~1customers:setupSasAnalytics/post' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/customers/methods/customers_get' - - $ref: '#/components/x-stackQL-resources/customers/methods/customers_list' - insert: [] - update: - - $ref: '#/components/x-stackQL-resources/customers/methods/customers_patch' - replace: [] - delete: [] - customers_legacy_organizations: - id: google.sasportal.customers_legacy_organizations - name: customers_legacy_organizations - title: Customers_legacy_organizations - methods: - customers_list_legacy_organizations: + nodes_deployments_move: operation: - $ref: '#/paths/~1v1alpha1~1customers:listLegacyOrganizations/get' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}:move/post + response: + mediaType: application/json + openAPIDocKey: '200' + nodes_deployments_list: + operation: + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.deployments sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/customers_legacy_organizations/methods/customers_list_legacy_organizations - insert: [] - update: [] + #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_list + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/customers_deployments_get + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_list + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_get + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/deployments_get + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/customers_deployments_list + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_list + insert: + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_create + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_create + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/customers_deployments_create + update: + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/customers_deployments_patch + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_patch replace: [] - delete: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/customers_deployments_delete + - $ref: >- + #/components/x-stackQL-resources/deployments/methods/nodes_deployments_delete devices_signed: id: google.sasportal.devices_signed name: devices_signed title: Devices_signed methods: - customers_deployments_devices_create_signed: + deployments_devices_update_signed: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices:createSigned/post + #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:updateSigned/patch response: mediaType: application/json openAPIDocKey: '200' @@ -1320,17 +1382,17 @@ components: response: mediaType: application/json openAPIDocKey: '200' - deployments_devices_update_signed: + customers_deployments_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1deployments~1{deploymentsId}~1devices~1{devicesId}:updateSigned/patch + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' - nodes_devices_update_signed: + nodes_nodes_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:updateSigned/patch + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' @@ -1340,40 +1402,40 @@ components: response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_devices_create_signed: + nodes_devices_update_signed: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices:createSigned/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:updateSigned/patch response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_devices_create_signed: + nodes_deployments_devices_create_signed: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices:createSigned/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices:createSigned/post response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/customers_deployments_devices_create_signed - $ref: >- #/components/x-stackQL-resources/devices_signed/methods/customers_nodes_devices_create_signed - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/nodes_deployments_devices_create_signed + #/components/x-stackQL-resources/devices_signed/methods/customers_deployments_devices_create_signed - $ref: >- #/components/x-stackQL-resources/devices_signed/methods/nodes_nodes_devices_create_signed + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/nodes_deployments_devices_create_signed - $ref: >- #/components/x-stackQL-resources/devices_signed/methods/customers_devices_create_signed - $ref: >- #/components/x-stackQL-resources/devices_signed/methods/nodes_devices_create_signed update: - - $ref: >- - #/components/x-stackQL-resources/devices_signed/methods/customers_devices_update_signed - $ref: >- #/components/x-stackQL-resources/devices_signed/methods/deployments_devices_update_signed + - $ref: >- + #/components/x-stackQL-resources/devices_signed/methods/customers_devices_update_signed - $ref: >- #/components/x-stackQL-resources/devices_signed/methods/nodes_devices_update_signed replace: [] @@ -1383,84 +1445,6 @@ components: name: devices title: Devices methods: - customers_deployments_devices_list: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.devices - customers_deployments_devices_create: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/post - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_list: - operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.devices - customers_devices_create: - operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/post' - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_patch: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_delete: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_get: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_sign_device: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:signDevice/post - response: - mediaType: application/json - openAPIDocKey: '200' - customers_devices_move: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:move/post - response: - mediaType: application/json - openAPIDocKey: '200' - customers_nodes_devices_list: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.devices - customers_nodes_devices_create: - operation: - $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/post - response: - mediaType: application/json - openAPIDocKey: '200' deployments_devices_move: operation: $ref: >- @@ -1496,279 +1480,236 @@ components: response: mediaType: application/json openAPIDocKey: '200' - nodes_devices_list: + customers_devices_list: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/get' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.devices - nodes_devices_create: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/post' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_patch: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_delete: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_get: - operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_move: - operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:move/post - response: - mediaType: application/json - openAPIDocKey: '200' - nodes_devices_sign_device: - operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:signDevice/post + customers_devices_create: + operation: + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1devices/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_devices_list: + customers_devices_delete: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/get + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/delete response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.devices - nodes_deployments_devices_create: + customers_devices_patch: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/post + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/patch response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_devices_list: + customers_devices_get: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/get + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.devices - nodes_nodes_devices_create: + customers_devices_move: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/post + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:move/post response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_list - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_get - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_list - - $ref: >- - #/components/x-stackQL-resources/devices/methods/deployments_devices_get - - $ref: '#/components/x-stackQL-resources/devices/methods/nodes_devices_get' - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_list - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_list - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_list - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_list - insert: - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_create - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_create - update: - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_patch - - $ref: >- - #/components/x-stackQL-resources/devices/methods/deployments_devices_patch - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_patch - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/devices/methods/customers_devices_delete - - $ref: >- - #/components/x-stackQL-resources/devices/methods/deployments_devices_delete - - $ref: >- - #/components/x-stackQL-resources/devices/methods/nodes_devices_delete - deployments: - id: google.sasportal.deployments - name: deployments - title: Deployments - methods: - customers_deployments_create: + customers_devices_sign_device: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/post' + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1devices~1{devicesId}:signDevice/post response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_list: + customers_nodes_devices_create: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1deployments/get' + $ref: >- + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - customers_deployments_delete: + customers_nodes_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/delete + #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1devices/get response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_get: + objectKey: $.devices + customers_deployments_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/get + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/get response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_patch: + objectKey: $.devices + customers_deployments_devices_create: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}/patch + #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - customers_deployments_move: + nodes_nodes_devices_create: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1deployments~1{deploymentsId}:move/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_deployments_list: + nodes_nodes_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/get + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1devices/get response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - customers_nodes_deployments_create: + objectKey: $.devices + nodes_devices_move: operation: $ref: >- - #/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}~1deployments/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:move/post response: mediaType: application/json openAPIDocKey: '200' - deployments_get: + nodes_devices_get: operation: - $ref: '#/paths/~1v1alpha1~1deployments~1{deploymentsId}/get' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/get' response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_list: + nodes_devices_delete: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments/get' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - nodes_deployments_get: + nodes_devices_patch: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/get + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}/patch' response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_patch: + nodes_devices_sign_device: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/patch + #/paths/~1v1alpha1~1nodes~1{nodesId}~1devices~1{devicesId}:signDevice/post response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_delete: + nodes_devices_create: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}/delete + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_deployments_move: + nodes_devices_list: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}:move/post + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1devices/get' response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_deployments_list: + objectKey: $.devices + nodes_deployments_devices_create: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/get + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.deployments - nodes_nodes_deployments_create: + nodes_deployments_devices_list: operation: $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1deployments/post + #/paths/~1v1alpha1~1nodes~1{nodesId}~1deployments~1{deploymentsId}~1devices/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.devices sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_get + #/components/x-stackQL-resources/devices/methods/deployments_devices_get - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_list + #/components/x-stackQL-resources/devices/methods/customers_devices_get - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_get + #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_list - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_list + #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_list - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_list + #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_list + - $ref: '#/components/x-stackQL-resources/devices/methods/nodes_devices_get' - $ref: >- - #/components/x-stackQL-resources/deployments/methods/deployments_get + #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_list - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_list + #/components/x-stackQL-resources/devices/methods/customers_devices_list + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_list insert: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_nodes_deployments_create + #/components/x-stackQL-resources/devices/methods/customers_nodes_devices_create - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_nodes_deployments_create + #/components/x-stackQL-resources/devices/methods/customers_deployments_devices_create - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_create + #/components/x-stackQL-resources/devices/methods/nodes_nodes_devices_create + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_deployments_devices_create + - $ref: >- + #/components/x-stackQL-resources/devices/methods/customers_devices_create + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_create update: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_patch + #/components/x-stackQL-resources/devices/methods/deployments_devices_patch - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_patch + #/components/x-stackQL-resources/devices/methods/customers_devices_patch + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_patch replace: [] delete: - $ref: >- - #/components/x-stackQL-resources/deployments/methods/customers_deployments_delete + #/components/x-stackQL-resources/devices/methods/deployments_devices_delete - $ref: >- - #/components/x-stackQL-resources/deployments/methods/nodes_deployments_delete + #/components/x-stackQL-resources/devices/methods/customers_devices_delete + - $ref: >- + #/components/x-stackQL-resources/devices/methods/nodes_devices_delete + policies: + id: google.sasportal.policies + name: policies + title: Policies + methods: + policies_set: + operation: + $ref: '#/paths/~1v1alpha1~1policies:set/post' + response: + mediaType: application/json + openAPIDocKey: '200' + policies_get: + operation: + $ref: '#/paths/~1v1alpha1~1policies:get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + policies_test: + operation: + $ref: '#/paths/~1v1alpha1~1policies:test/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/policies/methods/policies_get' + insert: [] + update: [] + replace: [] + delete: [] customer_nodes: id: google.sasportal.customer_nodes name: customer_nodes @@ -1789,19 +1730,19 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.nodes - customers_nodes_create: + customers_nodes_list: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/post' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/get' response: mediaType: application/json openAPIDocKey: '200' - customers_nodes_list: + objectKey: $.nodes + customers_nodes_create: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/get' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.nodes customers_nodes_delete: operation: $ref: >- @@ -1812,19 +1753,38 @@ components: sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_list - - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_list - insert: - - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_create - - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_create + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_list + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_list + insert: + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_nodes_create + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_create + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_delete + customer_node: + id: google.sasportal.customer_node + name: customer_node + title: Customer_node + methods: + customers_nodes_get: + operation: + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/customer_node/methods/customers_nodes_get + insert: [] update: [] replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/customer_nodes/methods/customers_nodes_delete + delete: [] nodes: id: google.sasportal.nodes name: nodes @@ -1844,47 +1804,47 @@ components: response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_move: + nodes_nodes_nodes_list: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}:move/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/get' response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_create: + objectKey: $.nodes + nodes_nodes_nodes_create: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/post' + $ref: >- + #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/post response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_list: + nodes_nodes_delete: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/get' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.nodes nodes_nodes_patch: operation: $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/patch' response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_delete: + nodes_nodes_move: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/delete' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}:move/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_nodes_create: + nodes_nodes_create: operation: - $ref: >- - #/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/post + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_nodes_nodes_list: + nodes_nodes_list: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}~1nodes/get' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes/get' response: mediaType: application/json openAPIDocKey: '200' @@ -1905,76 +1865,116 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/nodes/methods/nodes_nodes_delete' - customer_node: - id: google.sasportal.customer_node - name: customer_node - title: Customer_node + customers_legacy_organizations: + id: google.sasportal.customers_legacy_organizations + name: customers_legacy_organizations + title: Customers_legacy_organizations methods: - customers_nodes_get: + customers_list_legacy_organizations: operation: - $ref: '#/paths/~1v1alpha1~1customers~1{customersId}~1nodes~1{nodesId}/get' + $ref: '#/paths/~1v1alpha1~1customers:listLegacyOrganizations/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/customer_node/methods/customers_nodes_get + #/components/x-stackQL-resources/customers_legacy_organizations/methods/customers_list_legacy_organizations insert: [] update: [] replace: [] delete: [] - node: - id: google.sasportal.node - name: node - title: Node + customers: + id: google.sasportal.customers + name: customers + title: Customers methods: - nodes_nodes_get: + customers_provision_deployment: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/get' + $ref: '#/paths/~1v1alpha1~1customers:provisionDeployment/post' response: mediaType: application/json openAPIDocKey: '200' - nodes_get: + customers_patch: operation: - $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}/get' + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + customers_get: + operation: + $ref: '#/paths/~1v1alpha1~1customers~1{customersId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + customers_setup_sas_analytics: + operation: + $ref: '#/paths/~1v1alpha1~1customers:setupSasAnalytics/post' + response: + mediaType: application/json + openAPIDocKey: '200' + customers_list: + operation: + $ref: '#/paths/~1v1alpha1~1customers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.customers + customers_migrate_organization: + operation: + $ref: '#/paths/~1v1alpha1~1customers:migrateOrganization/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/node/methods/nodes_nodes_get' - - $ref: '#/components/x-stackQL-resources/node/methods/nodes_get' + - $ref: '#/components/x-stackQL-resources/customers/methods/customers_get' + - $ref: '#/components/x-stackQL-resources/customers/methods/customers_list' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/customers/methods/customers_patch' replace: [] delete: [] - policies: - id: google.sasportal.policies - name: policies - title: Policies + customers_gcp_project_deployments: + id: google.sasportal.customers_gcp_project_deployments + name: customers_gcp_project_deployments + title: Customers_gcp_project_deployments methods: - policies_get: + customers_list_gcp_project_deployments: operation: - $ref: '#/paths/~1v1alpha1~1policies:get/post' + $ref: '#/paths/~1v1alpha1~1customers:listGcpProjectDeployments/get' response: mediaType: application/json openAPIDocKey: '200' - policies_test: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/customers_gcp_project_deployments/methods/customers_list_gcp_project_deployments + insert: [] + update: [] + replace: [] + delete: [] + node: + id: google.sasportal.node + name: node + title: Node + methods: + nodes_nodes_get: operation: - $ref: '#/paths/~1v1alpha1~1policies:test/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}~1nodes~1{nodesId1}/get' response: mediaType: application/json openAPIDocKey: '200' - policies_set: + nodes_get: operation: - $ref: '#/paths/~1v1alpha1~1policies:set/post' + $ref: '#/paths/~1v1alpha1~1nodes~1{nodesId}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/policies/methods/policies_get' + - $ref: '#/components/x-stackQL-resources/node/methods/nodes_nodes_get' + - $ref: '#/components/x-stackQL-resources/node/methods/nodes_get' insert: [] update: [] replace: [] @@ -1982,16 +1982,16 @@ components: paths: /v1alpha1/installer:validate: parameters: &ref_1 - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/callback' - $ref: '#/components/parameters/uploadType' post: description: Validates the identity of a Certified Professional Installer (CPI). @@ -2045,13 +2045,11 @@ paths: schema: $ref: '#/components/schemas/SasPortalGenerateSecretResponse' parameters: [] - /v1alpha1/customers:listGcpProjectDeployments: + /v1alpha1/deployments/{deploymentsId}: parameters: *ref_1 get: - description: >- - Returns a list of SAS deployments associated with current GCP project. - Includes whether SAS analytics has been enabled or not. - operationId: sasportal.customers.listGcpProjectDeployments + description: Returns a requested deployment. + operationId: sasportal.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2067,19 +2065,23 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/SasPortalListGcpProjectDeploymentsResponse - parameters: [] - /v1alpha1/customers/{customersId}: + $ref: '#/components/schemas/SasPortalDeployment' + parameters: + - in: path + name: deploymentsId + required: true + schema: + type: string + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:updateSigned: parameters: *ref_1 patch: - description: Updates an existing customer. - operationId: sasportal.customers.patch + description: Updates a signed device. + operationId: sasportal.deployments.devices.updateSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCustomer' + $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2095,21 +2097,90 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCustomer' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path - name: customersId + name: deploymentsId required: true schema: type: string - - in: query - name: updateMask + - in: path + name: devicesId + required: true + schema: + type: string + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:move: + parameters: *ref_1 + post: + description: Moves a device under another node or customer. + operationId: sasportal.deployments.devices.move + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalOperation' + parameters: + - in: path + name: deploymentsId + required: true + schema: + type: string + - in: path + name: devicesId + required: true + schema: + type: string + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}: + parameters: *ref_1 + get: + description: Gets details about a device. + operationId: sasportal.deployments.devices.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' + parameters: + - in: path + name: deploymentsId + required: true + schema: + type: string + - in: path + name: devicesId + required: true schema: type: string - format: google-fieldmask - get: - description: Returns a requested customer. - operationId: sasportal.customers.get + delete: + description: Deletes a device. + operationId: sasportal.deployments.devices.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2125,18 +2196,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCustomer' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path - name: customersId + name: deploymentsId required: true schema: type: string - /v1alpha1/customers: - parameters: *ref_1 - get: - description: Returns a list of requested customers. - operationId: sasportal.customers.list + - in: path + name: devicesId + required: true + schema: + type: string + patch: + description: Updates a device. + operationId: sasportal.deployments.devices.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2152,29 +2231,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListCustomersResponse' + $ref: '#/components/schemas/SasPortalDevice' parameters: - - in: query - name: pageSize + - in: path + name: deploymentsId + required: true schema: - type: integer - format: int32 + type: string + - in: path + name: devicesId + required: true + schema: + type: string - in: query - name: pageToken + name: updateMask schema: type: string - /v1alpha1/customers:provisionDeployment: + format: google-fieldmask + /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:signDevice: parameters: *ref_1 post: - description: >- - Creates a new SAS deployment through the GCP workflow. Creates a SAS - organization if an organization match is not found. - operationId: sasportal.customers.provisionDeployment + description: Signs a device. + operationId: sasportal.deployments.devices.signDevice requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalProvisionDeploymentRequest' + $ref: '#/components/schemas/SasPortalSignDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2190,22 +2273,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalProvisionDeploymentResponse' - parameters: [] - /v1alpha1/customers:migrateOrganization: + $ref: '#/components/schemas/SasPortalEmpty' + parameters: + - in: path + name: deploymentsId + required: true + schema: + type: string + - in: path + name: devicesId + required: true + schema: + type: string + /v1alpha1/policies:set: parameters: *ref_1 post: description: >- - 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 - operationId: sasportal.customers.migrateOrganization + Sets the access control policy on the specified resource. Replaces any + existing policy. + operationId: sasportal.policies.set requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMigrateOrganizationRequest' + $ref: '#/components/schemas/SasPortalSetPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2221,21 +2312,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalPolicy' parameters: [] - /v1alpha1/customers:setupSasAnalytics: + /v1alpha1/policies:get: parameters: *ref_1 post: description: >- - 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. - operationId: sasportal.customers.setupSasAnalytics + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + operationId: sasportal.policies.get requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalSetupSasAnalyticsRequest' + $ref: '#/components/schemas/SasPortalGetPolicyRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2251,13 +2341,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalPolicy' parameters: [] - /v1alpha1/customers:listLegacyOrganizations: + /v1alpha1/policies:test: parameters: *ref_1 - get: - description: Returns a list of legacy organizations. - operationId: sasportal.customers.listLegacyOrganizations + post: + description: Returns permissions that a caller has on the specified resource. + operationId: sasportal.policies.test + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalTestPermissionsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2273,13 +2368,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListLegacyOrganizationsResponse' + $ref: '#/components/schemas/SasPortalTestPermissionsResponse' parameters: [] - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices:createSigned: + /v1alpha1/customers/{customersId}/devices:createSigned: parameters: *ref_1 post: description: Creates a signed device under a node or customer. - operationId: sasportal.customers.deployments.devices.createSigned + operationId: sasportal.customers.devices.createSigned requestBody: content: application/json: @@ -2307,64 +2402,16 @@ paths: required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices: + /v1alpha1/customers/{customersId}/devices/{devicesId}:updateSigned: parameters: *ref_1 - get: - description: Lists devices under a node or customer. - operationId: sasportal.customers.deployments.devices.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' - parameters: - - in: path - name: customersId - required: true - schema: - type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - post: - description: Creates a device under a node or customer. - operationId: sasportal.customers.deployments.devices.create + patch: + description: Updates a signed device. + operationId: sasportal.customers.devices.updateSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2388,45 +2435,15 @@ paths: schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/customers/{customersId}/deployments: + /v1alpha1/customers/{customersId}/devices: parameters: *ref_1 - post: - description: Creates a new deployment. - operationId: sasportal.customers.deployments.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDeployment' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDeployment' - parameters: - - in: path - name: customersId - required: true - schema: - type: string get: - description: Lists deployments. - operationId: sasportal.customers.deployments.list + description: Lists devices under a node or customer. + operationId: sasportal.customers.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2442,7 +2459,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: customersId @@ -2450,23 +2467,26 @@ paths: schema: type: string - in: query - name: pageSize + name: pageToken schema: - type: integer - format: int32 + type: string - in: query name: filter schema: type: string - in: query - name: pageToken + name: pageSize schema: - type: string - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}: - parameters: *ref_1 - delete: - description: Deletes a deployment. - operationId: sasportal.customers.deployments.delete + type: integer + format: int32 + post: + description: Creates a device under a node or customer. + operationId: sasportal.customers.devices.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2482,21 +2502,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - get: - description: Returns a requested deployment. - operationId: sasportal.customers.deployments.get + /v1alpha1/customers/{customersId}/devices/{devicesId}: + parameters: *ref_1 + delete: + description: Deletes a device. + operationId: sasportal.customers.devices.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2512,7 +2529,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: customersId @@ -2520,18 +2537,18 @@ paths: schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string patch: - description: Updates an existing deployment. - operationId: sasportal.customers.deployments.patch + description: Updates a device. + operationId: sasportal.customers.devices.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2547,7 +2564,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId @@ -2555,7 +2572,7 @@ paths: schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string @@ -2564,16 +2581,9 @@ paths: schema: type: string format: google-fieldmask - /v1alpha1/customers/{customersId}/deployments/{deploymentsId}:move: - parameters: *ref_1 - post: - description: Moves a deployment under another node or customer. - operationId: sasportal.customers.deployments.move - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' + get: + description: Gets details about a device. + operationId: sasportal.customers.devices.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2589,7 +2599,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId @@ -2597,20 +2607,20 @@ paths: schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices:createSigned: + /v1alpha1/customers/{customersId}/devices/{devicesId}:move: parameters: *ref_1 post: - description: Creates a signed device under a node or customer. - operationId: sasportal.customers.devices.createSigned + description: Moves a device under another node or customer. + operationId: sasportal.customers.devices.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalMoveDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2626,18 +2636,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path name: customersId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices: + - in: path + name: devicesId + required: true + schema: + type: string + /v1alpha1/customers/{customersId}/devices/{devicesId}:signDevice: parameters: *ref_1 - get: - description: Lists devices under a node or customer. - operationId: sasportal.customers.devices.list + post: + description: Signs a device. + operationId: sasportal.customers.devices.signDevice + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalSignDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2653,34 +2673,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: customersId required: true schema: type: string - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: devicesId + required: true schema: type: string + /v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments: + parameters: *ref_1 post: - description: Creates a device under a node or customer. - operationId: sasportal.customers.devices.create + description: Creates a new deployment. + operationId: sasportal.customers.nodes.deployments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2696,23 +2710,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: customersId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}: - parameters: *ref_1 - patch: - description: Updates a device. - operationId: sasportal.customers.devices.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' + - in: path + name: nodesId + required: true + schema: + type: string + get: + description: Lists deployments. + operationId: sasportal.customers.nodes.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2728,7 +2740,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: - in: path name: customersId @@ -2736,18 +2748,33 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId required: true schema: type: string - in: query - name: updateMask + name: filter schema: type: string - format: google-fieldmask - delete: - description: Deletes a device. - operationId: sasportal.customers.devices.delete + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices: + parameters: *ref_1 + post: + description: Creates a device under a node or customer. + operationId: sasportal.customers.nodes.devices.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2763,7 +2790,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId @@ -2771,13 +2798,13 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId required: true schema: type: string get: - description: Gets details about a device. - operationId: sasportal.customers.devices.get + description: Lists devices under a node or customer. + operationId: sasportal.customers.nodes.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2793,7 +2820,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: customersId @@ -2801,20 +2828,33 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}:updateSigned: + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices:createSigned: parameters: *ref_1 - patch: - description: Updates a signed device. - operationId: sasportal.customers.devices.updateSigned + post: + description: Creates a signed device under a node or customer. + operationId: sasportal.customers.nodes.devices.createSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2838,20 +2878,20 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}:signDevice: + /v1alpha1/customers/{customersId}/nodes/{nodesId}/nodes: parameters: *ref_1 post: - description: Signs a device. - operationId: sasportal.customers.devices.signDevice + description: Creates a new node. + operationId: sasportal.customers.nodes.nodes.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalSignDeviceRequest' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2867,7 +2907,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: customersId @@ -2875,20 +2915,13 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/devices/{devicesId}:move: - parameters: *ref_1 - post: - description: Moves a device under another node or customer. - operationId: sasportal.customers.devices.move - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + get: + description: Lists nodes. + operationId: sasportal.customers.nodes.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2904,7 +2937,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalListNodesResponse' parameters: - in: path name: customersId @@ -2912,15 +2945,28 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices: + - in: query + name: pageToken + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1alpha1/customers/{customersId}/nodes: parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: sasportal.customers.nodes.devices.list + description: Lists nodes. + operationId: sasportal.customers.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2936,18 +2982,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalListNodesResponse' parameters: - in: path name: customersId required: true schema: type: string - - in: path - name: nodesId - required: true + - in: query + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: pageToken schema: @@ -2956,19 +3002,41 @@ paths: name: filter schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 post: - description: Creates a device under a node or customer. - operationId: sasportal.customers.nodes.devices.create + description: Creates a new node. + operationId: sasportal.customers.nodes.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalNode' + parameters: + - in: path + name: customersId + required: true + schema: + type: string + /v1alpha1/customers/{customersId}/nodes/{nodesId}: + parameters: *ref_1 + get: + description: Returns a requested node. + operationId: sasportal.customers.nodes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -2984,7 +3052,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: customersId @@ -2996,16 +3064,14 @@ paths: required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/devices:createSigned: - parameters: *ref_1 - post: - description: Creates a signed device under a node or customer. - operationId: sasportal.customers.nodes.devices.createSigned + patch: + description: Updates an existing node. + operationId: sasportal.customers.nodes.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3021,7 +3087,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: customersId @@ -3033,16 +3099,14 @@ paths: required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/nodes: - parameters: *ref_1 - post: - description: Creates a new node. - operationId: sasportal.customers.nodes.nodes.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalNode' + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + delete: + description: Deletes a node. + operationId: sasportal.customers.nodes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3058,7 +3122,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: customersId @@ -3070,9 +3134,16 @@ paths: required: true schema: type: string - get: - description: Lists nodes. - operationId: sasportal.customers.nodes.nodes.list + /v1alpha1/customers/{customersId}/nodes/{nodesId}:move: + parameters: *ref_1 + post: + description: Moves a node under another node or customer. + operationId: sasportal.customers.nodes.move + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalMoveNodeRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3088,7 +3159,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path name: customersId @@ -3100,24 +3171,11 @@ paths: required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken - schema: - type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments: + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices: parameters: *ref_1 get: - description: Lists deployments. - operationId: sasportal.customers.nodes.deployments.list + description: Lists devices under a node or customer. + operationId: sasportal.customers.deployments.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3133,7 +3191,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: customersId @@ -3141,14 +3199,10 @@ paths: schema: type: string - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: @@ -3158,14 +3212,18 @@ paths: name: pageToken schema: type: string + - in: query + name: filter + schema: + type: string post: - description: Creates a new deployment. - operationId: sasportal.customers.nodes.deployments.create + description: Creates a device under a node or customer. + operationId: sasportal.customers.deployments.devices.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3181,7 +3239,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId @@ -3189,20 +3247,20 @@ paths: schema: type: string - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes: + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}/devices:createSigned: parameters: *ref_1 post: - description: Creates a new node. - operationId: sasportal.customers.nodes.create + description: Creates a signed device under a node or customer. + operationId: sasportal.customers.deployments.devices.createSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3218,61 +3276,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: customersId required: true schema: type: string - get: - description: Lists nodes. - operationId: sasportal.customers.nodes.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' - parameters: - in: path - name: customersId + name: deploymentsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}: + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}: parameters: *ref_1 patch: - description: Updates an existing node. - operationId: sasportal.customers.nodes.patch + description: Updates an existing deployment. + operationId: sasportal.customers.deployments.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3288,7 +3313,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: customersId @@ -3296,7 +3321,7 @@ paths: schema: type: string - in: path - name: nodesId + name: deploymentsId required: true schema: type: string @@ -3305,9 +3330,9 @@ paths: schema: type: string format: google-fieldmask - delete: - description: Deletes a node. - operationId: sasportal.customers.nodes.delete + get: + description: Returns a requested deployment. + operationId: sasportal.customers.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3323,7 +3348,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: customersId @@ -3331,13 +3356,13 @@ paths: schema: type: string - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - get: - description: Returns a requested node. - operationId: sasportal.customers.nodes.get + delete: + description: Deletes a deployment. + operationId: sasportal.customers.deployments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3353,7 +3378,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: customersId @@ -3361,20 +3386,20 @@ paths: schema: type: string - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - /v1alpha1/customers/{customersId}/nodes/{nodesId}:move: + /v1alpha1/customers/{customersId}/deployments/{deploymentsId}:move: parameters: *ref_1 post: - description: Moves a node under another node or customer. - operationId: sasportal.customers.nodes.move + description: Moves a deployment under another node or customer. + operationId: sasportal.customers.deployments.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveNodeRequest' + $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3398,15 +3423,15 @@ paths: schema: type: string - in: path - name: nodesId + name: deploymentsId required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}: + /v1alpha1/customers/{customersId}/deployments: parameters: *ref_1 get: - description: Returns a requested deployment. - operationId: sasportal.deployments.get + description: Lists deployments. + operationId: sasportal.customers.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3422,23 +3447,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: - in: path - name: deploymentsId + name: customersId required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:move: - parameters: *ref_1 + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string post: - description: Moves a device under another node or customer. - operationId: sasportal.deployments.devices.move + description: Creates a new deployment. + operationId: sasportal.customers.deployments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3454,53 +3490,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path - name: deploymentsId - required: true - schema: - type: string - - in: path - name: devicesId + name: customersId required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}: + /v1alpha1/customers:listLegacyOrganizations: parameters: *ref_1 get: - description: Gets details about a device. - operationId: sasportal.deployments.devices.get + description: Returns a list of legacy organizations. + operationId: sasportal.customers.listLegacyOrganizations security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/sasportal - Oauth2c: - - https://www.googleapis.com/auth/sasportal - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: deploymentsId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string - delete: - description: Deletes a device. - operationId: sasportal.deployments.devices.delete + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/sasportal + Oauth2c: + - https://www.googleapis.com/auth/sasportal + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalListLegacyOrganizationsResponse' + parameters: [] + /v1alpha1/customers:provisionDeployment: + parameters: *ref_1 + post: + description: >- + Creates a new SAS deployment through the GCP workflow. Creates a SAS + organization if an organization match is not found. + operationId: sasportal.customers.provisionDeployment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalProvisionDeploymentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3516,26 +3546,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' - parameters: - - in: path - name: deploymentsId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string + $ref: '#/components/schemas/SasPortalProvisionDeploymentResponse' + parameters: [] + /v1alpha1/customers/{customersId}: + parameters: *ref_1 patch: - description: Updates a device. - operationId: sasportal.deployments.devices.patch + description: Updates an existing customer. + operationId: sasportal.customers.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalCustomer' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3551,15 +3573,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalCustomer' parameters: - in: path - name: deploymentsId - required: true - schema: - type: string - - in: path - name: devicesId + name: customersId required: true schema: type: string @@ -3568,16 +3585,9 @@ paths: schema: type: string format: google-fieldmask - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:updateSigned: - parameters: *ref_1 - patch: - description: Updates a signed device. - operationId: sasportal.deployments.devices.updateSigned - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' + get: + description: Returns a requested customer. + operationId: sasportal.customers.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3593,28 +3603,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalCustomer' parameters: - in: path - name: deploymentsId - required: true - schema: - type: string - - in: path - name: devicesId + name: customersId required: true schema: type: string - /v1alpha1/deployments/{deploymentsId}/devices/{devicesId}:signDevice: + /v1alpha1/customers:setupSasAnalytics: parameters: *ref_1 post: - description: Signs a device. - operationId: sasportal.deployments.devices.signDevice + description: >- + 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. + operationId: sasportal.customers.setupSasAnalytics requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalSignDeviceRequest' + $ref: '#/components/schemas/SasPortalSetupSasAnalyticsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3630,23 +3638,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' - parameters: - - in: path - name: deploymentsId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices: + $ref: '#/components/schemas/SasPortalOperation' + parameters: [] + /v1alpha1/customers: parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: sasportal.nodes.devices.list + description: Returns a list of requested customers. + operationId: sasportal.customers.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3662,17 +3660,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalListCustomersResponse' parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: @@ -3682,14 +3671,13 @@ paths: name: pageToken schema: type: string - post: - description: Creates a device under a node or customer. - operationId: sasportal.nodes.devices.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' + /v1alpha1/customers:listGcpProjectDeployments: + parameters: *ref_1 + get: + description: >- + Returns a list of SAS deployments associated with current GCP project. + Includes whether SAS analytics has been enabled or not. + operationId: sasportal.customers.listGcpProjectDeployments security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3705,23 +3693,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}:updateSigned: + $ref: >- + #/components/schemas/SasPortalListGcpProjectDeploymentsResponse + parameters: [] + /v1alpha1/customers:migrateOrganization: parameters: *ref_1 - patch: - description: Updates a signed device. - operationId: sasportal.nodes.devices.updateSigned + post: + description: >- + 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 + operationId: sasportal.customers.migrateOrganization requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalMigrateOrganizationRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3737,28 +3725,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' - parameters: - - in: path - name: nodesId - required: true - schema: - type: string - - in: path - name: devicesId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/devices:createSigned: + $ref: '#/components/schemas/SasPortalOperation' + parameters: [] + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments: parameters: *ref_1 post: - description: Creates a signed device under a node or customer. - operationId: sasportal.nodes.devices.createSigned + description: Creates a new deployment. + operationId: sasportal.nodes.nodes.deployments.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3774,23 +3752,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: nodesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}: - parameters: *ref_1 - patch: - description: Updates a device. - operationId: sasportal.nodes.devices.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' + - in: path + name: nodesId1 + required: true + schema: + type: string + get: + description: Lists deployments. + operationId: sasportal.nodes.nodes.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3806,7 +3782,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' parameters: - in: path name: nodesId @@ -3814,18 +3790,33 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - in: query - name: updateMask + name: filter schema: type: string - format: google-fieldmask - delete: - description: Deletes a device. - operationId: sasportal.nodes.devices.delete + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices: + parameters: *ref_1 + post: + description: Creates a device under a node or customer. + operationId: sasportal.nodes.nodes.devices.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3841,7 +3832,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId @@ -3849,13 +3840,13 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string get: - description: Gets details about a device. - operationId: sasportal.nodes.devices.get + description: Lists devices under a node or customer. + operationId: sasportal.nodes.nodes.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3871,7 +3862,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: nodesId @@ -3879,20 +3870,33 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}:move: + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices:createSigned: parameters: *ref_1 post: - description: Moves a device under another node or customer. - operationId: sasportal.nodes.devices.move + description: Creates a signed device under a node or customer. + operationId: sasportal.nodes.nodes.devices.createSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveDeviceRequest' + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3908,7 +3912,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId @@ -3916,20 +3920,15 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/nodes/{nodesId}/devices/{devicesId}:signDevice: + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/nodes: parameters: *ref_1 - post: - description: Signs a device. - operationId: sasportal.nodes.devices.signDevice - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalSignDeviceRequest' + get: + description: Lists nodes. + operationId: sasportal.nodes.nodes.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3945,7 +3944,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalListNodesResponse' parameters: - in: path name: nodesId @@ -3953,15 +3952,31 @@ paths: schema: type: string - in: path - name: devicesId + name: nodesId1 required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments: - parameters: *ref_1 - get: - description: Lists deployments. - operationId: sasportal.nodes.deployments.list + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + post: + description: Creates a new node. + operationId: sasportal.nodes.nodes.nodes.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3977,31 +3992,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: nodesId required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: nodesId1 + required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}: + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}: parameters: *ref_1 - get: - description: Returns a requested deployment. - operationId: sasportal.nodes.deployments.get + delete: + description: Deletes a node. + operationId: sasportal.nodes.nodes.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4017,7 +4024,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: nodesId @@ -4025,18 +4032,18 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId1 required: true schema: type: string patch: - description: Updates an existing deployment. - operationId: sasportal.nodes.deployments.patch + description: Updates an existing node. + operationId: sasportal.nodes.nodes.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4052,7 +4059,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: nodesId @@ -4060,7 +4067,7 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId1 required: true schema: type: string @@ -4069,9 +4076,9 @@ paths: schema: type: string format: google-fieldmask - delete: - description: Deletes a deployment. - operationId: sasportal.nodes.deployments.delete + get: + description: Returns a requested node. + operationId: sasportal.nodes.nodes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4087,7 +4094,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: nodesId @@ -4095,20 +4102,20 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId1 required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}:move: + /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}:move: parameters: *ref_1 post: - description: Moves a deployment under another node or customer. - operationId: sasportal.nodes.deployments.move + description: Moves a node under another node or customer. + operationId: sasportal.nodes.nodes.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' + $ref: '#/components/schemas/SasPortalMoveNodeRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4132,20 +4139,20 @@ paths: schema: type: string - in: path - name: deploymentsId + name: nodesId1 required: true schema: type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices:createSigned: + /v1alpha1/nodes/{nodesId}/nodes: parameters: *ref_1 post: - description: Creates a signed device under a node or customer. - operationId: sasportal.nodes.deployments.devices.createSigned + description: Creates a new node. + operationId: sasportal.nodes.nodes.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + $ref: '#/components/schemas/SasPortalNode' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4161,23 +4168,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalNode' parameters: - in: path name: nodesId required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices: - parameters: *ref_1 get: - description: Lists devices under a node or customer. - operationId: sasportal.nodes.deployments.devices.list + description: Lists nodes. + operationId: sasportal.nodes.nodes.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4193,39 +4193,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalListNodesResponse' parameters: - in: path name: nodesId required: true schema: type: string - - in: path - name: deploymentsId - required: true - schema: - type: string - in: query - name: pageToken + name: pageSize schema: - type: string + type: integer + format: int32 - in: query name: filter schema: type: string - in: query - name: pageSize + name: pageToken schema: - type: integer - format: int32 + type: string + /v1alpha1/nodes/{nodesId}/devices/{devicesId}:move: + parameters: *ref_1 post: - description: Creates a device under a node or customer. - operationId: sasportal.nodes.deployments.devices.create + description: Moves a device under another node or customer. + operationId: sasportal.nodes.devices.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalMoveDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4241,7 +4238,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalOperation' parameters: - in: path name: nodesId @@ -4249,20 +4246,15 @@ paths: schema: type: string - in: path - name: deploymentsId + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}:move: + /v1alpha1/nodes/{nodesId}/devices/{devicesId}: parameters: *ref_1 - post: - description: Moves a node under another node or customer. - operationId: sasportal.nodes.nodes.move - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalMoveNodeRequest' + get: + description: Gets details about a device. + operationId: sasportal.nodes.devices.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4278,7 +4270,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalOperation' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId @@ -4286,20 +4278,13 @@ paths: schema: type: string - in: path - name: nodesId1 + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes: - parameters: *ref_1 - post: - description: Creates a new node. - operationId: sasportal.nodes.nodes.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalNode' + delete: + description: Deletes a device. + operationId: sasportal.nodes.devices.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4315,16 +4300,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: nodesId required: true schema: type: string - get: - description: Lists nodes. - operationId: sasportal.nodes.nodes.list + - in: path + name: devicesId + required: true + schema: + type: string + patch: + description: Updates a device. + operationId: sasportal.nodes.devices.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4340,36 +4335,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: devicesId + required: true schema: type: string - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + name: updateMask schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}: + format: google-fieldmask + /v1alpha1/nodes/{nodesId}/devices/{devicesId}:signDevice: parameters: *ref_1 - patch: - description: Updates an existing node. - operationId: sasportal.nodes.nodes.patch + post: + description: Signs a device. + operationId: sasportal.nodes.devices.signDevice requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalSignDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4385,7 +4377,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: nodesId @@ -4393,18 +4385,20 @@ paths: schema: type: string - in: path - name: nodesId1 + name: devicesId required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - delete: - description: Deletes a node. - operationId: sasportal.nodes.nodes.delete + /v1alpha1/nodes/{nodesId}/devices:createSigned: + parameters: *ref_1 + post: + description: Creates a signed device under a node or customer. + operationId: sasportal.nodes.devices.createSigned + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4420,21 +4414,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalEmpty' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId required: true schema: type: string - - in: path - name: nodesId1 - required: true - schema: - type: string - get: - description: Returns a requested node. - operationId: sasportal.nodes.nodes.get + /v1alpha1/nodes/{nodesId}/devices: + parameters: *ref_1 + post: + description: Creates a device under a node or customer. + operationId: sasportal.nodes.devices.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4450,23 +4446,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId required: true schema: type: string - - in: path - name: nodesId1 - required: true - schema: - type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments: - parameters: *ref_1 get: - description: Lists deployments. - operationId: sasportal.nodes.nodes.deployments.list + description: Lists devices under a node or customer. + operationId: sasportal.nodes.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4482,18 +4471,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: nodesId required: true schema: type: string - - in: path - name: nodesId1 - required: true - schema: - type: string - in: query name: filter schema: @@ -4507,14 +4491,16 @@ paths: schema: type: integer format: int32 - post: - description: Creates a new deployment. - operationId: sasportal.nodes.nodes.deployments.create + /v1alpha1/nodes/{nodesId}/devices/{devicesId}:updateSigned: + parameters: *ref_1 + patch: + description: Updates a signed device. + operationId: sasportal.nodes.devices.updateSigned requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalUpdateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4530,7 +4516,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDeployment' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId @@ -4538,20 +4524,20 @@ paths: schema: type: string - in: path - name: nodesId1 + name: devicesId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/nodes: + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices: parameters: *ref_1 post: - description: Creates a new node. - operationId: sasportal.nodes.nodes.nodes.create + description: Creates a device under a node or customer. + operationId: sasportal.nodes.deployments.devices.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4567,7 +4553,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId @@ -4575,13 +4561,13 @@ paths: schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string get: - description: Lists nodes. - operationId: sasportal.nodes.nodes.nodes.list + description: Lists devices under a node or customer. + operationId: sasportal.nodes.deployments.devices.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4597,7 +4583,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListNodesResponse' + $ref: '#/components/schemas/SasPortalListDevicesResponse' parameters: - in: path name: nodesId @@ -4605,7 +4591,7 @@ paths: schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string @@ -4613,20 +4599,25 @@ paths: name: pageToken schema: type: string - - in: query - name: filter - schema: - type: string - in: query name: pageSize schema: type: integer format: int32 - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices: + - in: query + name: filter + schema: + type: string + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}/devices:createSigned: parameters: *ref_1 - get: - description: Lists devices under a node or customer. - operationId: sasportal.nodes.nodes.devices.list + post: + description: Creates a signed device under a node or customer. + operationId: sasportal.nodes.deployments.devices.createSigned + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4642,7 +4633,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalListDevicesResponse' + $ref: '#/components/schemas/SasPortalDevice' parameters: - in: path name: nodesId @@ -4650,31 +4641,15 @@ paths: schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - post: - description: Creates a device under a node or customer. - operationId: sasportal.nodes.nodes.devices.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalDevice' + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}: + parameters: *ref_1 + delete: + description: Deletes a deployment. + operationId: sasportal.nodes.deployments.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4690,7 +4665,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalEmpty' parameters: - in: path name: nodesId @@ -4698,20 +4673,13 @@ paths: schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - /v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/devices:createSigned: - parameters: *ref_1 - post: - description: Creates a signed device under a node or customer. - operationId: sasportal.nodes.nodes.devices.createSigned - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalCreateSignedDeviceRequest' + get: + description: Returns a requested deployment. + operationId: sasportal.nodes.deployments.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4727,7 +4695,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalDevice' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: nodesId @@ -4735,15 +4703,18 @@ paths: schema: type: string - in: path - name: nodesId1 + name: deploymentsId required: true schema: type: string - /v1alpha1/nodes/{nodesId}: - parameters: *ref_1 - get: - description: Returns a requested node. - operationId: sasportal.nodes.get + patch: + description: Updates an existing deployment. + operationId: sasportal.nodes.deployments.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SasPortalDeployment' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4759,25 +4730,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalNode' + $ref: '#/components/schemas/SasPortalDeployment' parameters: - in: path name: nodesId required: true schema: type: string - /v1alpha1/policies:get: + - in: path + name: deploymentsId + required: true + schema: + type: string + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + /v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}:move: parameters: *ref_1 post: - description: >- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - operationId: sasportal.policies.get + description: Moves a deployment under another node or customer. + operationId: sasportal.nodes.deployments.move requestBody: content: application/json: schema: - $ref: '#/components/schemas/SasPortalGetPolicyRequest' + $ref: '#/components/schemas/SasPortalMoveDeploymentRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4793,18 +4772,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalPolicy' - parameters: [] - /v1alpha1/policies:test: + $ref: '#/components/schemas/SasPortalOperation' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: path + name: deploymentsId + required: true + schema: + type: string + /v1alpha1/nodes/{nodesId}/deployments: parameters: *ref_1 - post: - description: Returns permissions that a caller has on the specified resource. - operationId: sasportal.policies.test - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalTestPermissionsRequest' + get: + description: Lists deployments. + operationId: sasportal.nodes.deployments.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4820,20 +4804,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalTestPermissionsResponse' - parameters: [] - /v1alpha1/policies:set: + $ref: '#/components/schemas/SasPortalListDeploymentsResponse' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + /v1alpha1/nodes/{nodesId}: parameters: *ref_1 - post: - description: >- - Sets the access control policy on the specified resource. Replaces any - existing policy. - operationId: sasportal.policies.set - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SasPortalSetPolicyRequest' + get: + description: Returns a requested node. + operationId: sasportal.nodes.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4849,5 +4844,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SasPortalPolicy' - parameters: [] + $ref: '#/components/schemas/SasPortalNode' + parameters: + - in: path + name: nodesId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/secretmanager.yaml b/providers/src/googleapis.com/v00.00.00000/services/secretmanager.yaml index fa559744..7174e6b3 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/secretmanager.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/secretmanager.yaml @@ -9,8 +9,8 @@ info: Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. version: v1 - x-discovery-doc-revision: '20240910' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/secret-manager/ servers: @@ -212,7 +212,7 @@ components: customerManagedEncryption: description: >- Optional. The customer-managed encryption configuration of the - Regionalised Secrets. If no configuration is provided, + regionalized secrets. If no configuration is provided, Google-managed default encryption is used. Updates to the Secret encryption configuration only apply to SecretVersions added afterwards. They do not apply retroactively to existing @@ -441,7 +441,7 @@ components: description: >- Output only. The customer-managed encryption status of the SecretVersion. Only populated if customer-managed encryption is used - and Secret is a Regionalised Secret. + and Secret is a regionalized secret. readOnly: true $ref: '#/components/schemas/CustomerManagedEncryptionStatus' ReplicationStatus: diff --git a/providers/src/googleapis.com/v00.00.00000/services/securitycenter.yaml b/providers/src/googleapis.com/v00.00.00000/services/securitycenter.yaml index ba51d7e3..3b182b06 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/securitycenter.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/securitycenter.yaml @@ -9,8 +9,8 @@ info: Security Command Center API provides access to temporal views of assets and findings within an organization. version: v1 - x-discovery-doc-revision: '20240918' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241026' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/security-command-center servers: @@ -1476,6 +1476,7 @@ components: - T1531 - T1539 - T1543 + - T1546 - T1548 - T1552 - T1556 @@ -1492,6 +1493,7 @@ components: - T1595 - T1595.001 - T1609 + - T1610 - T1611 - T1613 - T1649 @@ -1542,6 +1544,7 @@ components: - ACCOUNT_ACCESS_REMOVAL - STEAL_WEB_SESSION_COOKIE - CREATE_OR_MODIFY_SYSTEM_PROCESS + - EVENT_TRIGGERED_EXECUTION - ABUSE_ELEVATION_CONTROL_MECHANISM - UNSECURED_CREDENTIALS - MODIFY_AUTHENTICATION_PROCESS @@ -1558,6 +1561,7 @@ components: - ACTIVE_SCANNING - SCANNING_IP_BLOCKS - CONTAINER_ADMINISTRATION_COMMAND + - DEPLOY_CONTAINER - ESCAPE_TO_HOST - CONTAINER_AND_RESOURCE_DISCOVERY - STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES @@ -1652,6 +1656,7 @@ components: - T1531 - T1539 - T1543 + - T1546 - T1548 - T1552 - T1556 @@ -1668,6 +1673,7 @@ components: - T1595 - T1595.001 - T1609 + - T1610 - T1611 - T1613 - T1649 @@ -1718,6 +1724,7 @@ components: - ACCOUNT_ACCESS_REMOVAL - STEAL_WEB_SESSION_COOKIE - CREATE_OR_MODIFY_SYSTEM_PROCESS + - EVENT_TRIGGERED_EXECUTION - ABUSE_ELEVATION_CONTROL_MECHANISM - UNSECURED_CREDENTIALS - MODIFY_AUTHENTICATION_PROCESS @@ -1734,6 +1741,7 @@ components: - ACTIVE_SCANNING - SCANNING_IP_BLOCKS - CONTAINER_ADMINISTRATION_COMMAND + - DEPLOY_CONTAINER - ESCAPE_TO_HOST - CONTAINER_AND_RESOURCE_DISCOVERY - STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES @@ -4022,6 +4030,7 @@ components: is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + deprecated: true type: string format: google-datetime compareDuration: @@ -4050,6 +4059,7 @@ components: possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`. + deprecated: true type: string format: google-duration pageToken: @@ -4559,6 +4569,9 @@ components: description: Represents an Azure resource group. type: object properties: + id: + description: The ID of the Azure resource group. + type: string name: description: The name of the Azure resource group. This is not a UUID. type: string @@ -4730,7 +4743,10 @@ components: - ACTIVE - INACTIVE startTime: - description: Required. The time at which the updated state takes effect. + description: >- + Optional. The time at which the updated state takes effect. If + unset, defaults to the request time. + deprecated: true type: string format: google-datetime SetMuteRequest: @@ -6952,6 +6968,7 @@ components: - T1531 - T1539 - T1543 + - T1546 - T1548 - T1552 - T1556 @@ -6968,6 +6985,7 @@ components: - T1595 - T1595.001 - T1609 + - T1610 - T1611 - T1613 - T1649 @@ -7018,6 +7036,7 @@ components: - ACCOUNT_ACCESS_REMOVAL - STEAL_WEB_SESSION_COOKIE - CREATE_OR_MODIFY_SYSTEM_PROCESS + - EVENT_TRIGGERED_EXECUTION - ABUSE_ELEVATION_CONTROL_MECHANISM - UNSECURED_CREDENTIALS - MODIFY_AUTHENTICATION_PROCESS @@ -7034,6 +7053,7 @@ components: - ACTIVE_SCANNING - SCANNING_IP_BLOCKS - CONTAINER_ADMINISTRATION_COMMAND + - DEPLOY_CONTAINER - ESCAPE_TO_HOST - CONTAINER_AND_RESOURCE_DISCOVERY - STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES @@ -7128,6 +7148,7 @@ components: - T1531 - T1539 - T1543 + - T1546 - T1548 - T1552 - T1556 @@ -7144,6 +7165,7 @@ components: - T1595 - T1595.001 - T1609 + - T1610 - T1611 - T1613 - T1649 @@ -7194,6 +7216,7 @@ components: - ACCOUNT_ACCESS_REMOVAL - STEAL_WEB_SESSION_COOKIE - CREATE_OR_MODIFY_SYSTEM_PROCESS + - EVENT_TRIGGERED_EXECUTION - ABUSE_ELEVATION_CONTROL_MECHANISM - UNSECURED_CREDENTIALS - MODIFY_AUTHENTICATION_PROCESS @@ -7210,6 +7233,7 @@ components: - ACTIVE_SCANNING - SCANNING_IP_BLOCKS - CONTAINER_ADMINISTRATION_COMMAND + - DEPLOY_CONTAINER - ESCAPE_TO_HOST - CONTAINER_AND_RESOURCE_DISCOVERY - STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES @@ -8781,6 +8805,9 @@ components: description: Represents an Azure resource group. type: object properties: + id: + description: The ID of the Azure resource group. + type: string name: description: The name of the Azure resource group. This is not a UUID. type: string @@ -10032,21 +10059,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - folders_locations_mute_configs_create: - operation: - $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1muteConfigs/post - response: - mediaType: application/json - openAPIDocKey: '200' - folders_locations_mute_configs_list: - operation: - $ref: >- - #/paths/~1v1~1folders~1{foldersId}~1locations~1{locationsId}~1muteConfigs/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.muteConfigs folders_locations_mute_configs_delete: operation: $ref: >- @@ -10102,21 +10114,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - projects_locations_mute_configs_create: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1muteConfigs/post - response: - mediaType: application/json - openAPIDocKey: '200' - projects_locations_mute_configs_list: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1locations~1{locationsId}~1muteConfigs/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.muteConfigs projects_locations_mute_configs_delete: operation: $ref: >- @@ -10172,21 +10169,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - organizations_locations_mute_configs_create: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1muteConfigs/post - response: - mediaType: application/json - openAPIDocKey: '200' - organizations_locations_mute_configs_list: - operation: - $ref: >- - #/paths/~1v1~1organizations~1{organizationsId}~1locations~1{locationsId}~1muteConfigs/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.muteConfigs organizations_locations_mute_configs_delete: operation: $ref: >- @@ -10218,16 +10200,10 @@ components: #/components/x-stackQL-resources/mute_configs/methods/organizations_locations_mute_configs_get - $ref: >- #/components/x-stackQL-resources/mute_configs/methods/folders_mute_configs_get - - $ref: >- - #/components/x-stackQL-resources/mute_configs/methods/folders_locations_mute_configs_list - $ref: >- #/components/x-stackQL-resources/mute_configs/methods/projects_mute_configs_get - - $ref: >- - #/components/x-stackQL-resources/mute_configs/methods/projects_locations_mute_configs_list - $ref: >- #/components/x-stackQL-resources/mute_configs/methods/organizations_mute_configs_get - - $ref: >- - #/components/x-stackQL-resources/mute_configs/methods/organizations_locations_mute_configs_list - $ref: >- #/components/x-stackQL-resources/mute_configs/methods/folders_mute_configs_list - $ref: >- @@ -10235,12 +10211,6 @@ components: - $ref: >- #/components/x-stackQL-resources/mute_configs/methods/organizations_mute_configs_list insert: - - $ref: >- - #/components/x-stackQL-resources/mute_configs/methods/folders_locations_mute_configs_create - - $ref: >- - #/components/x-stackQL-resources/mute_configs/methods/projects_locations_mute_configs_create - - $ref: >- - #/components/x-stackQL-resources/mute_configs/methods/organizations_locations_mute_configs_create - $ref: >- #/components/x-stackQL-resources/mute_configs/methods/folders_mute_configs_create - $ref: >- @@ -11714,16 +11684,16 @@ paths: schema: type: string format: google-fieldmask - /v1/folders/{foldersId}/locations/{locationsId}/muteConfigs: + /v1/folders/{foldersId}/notificationConfigs: parameters: *ref_1 post: - description: Creates a mute config. - operationId: securitycenter.folders.locations.muteConfigs.create + description: Creates a notification config. + operationId: securitycenter.folders.notificationConfigs.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11735,25 +11705,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: foldersId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - in: query - name: muteConfigId + name: configId schema: type: string get: - description: Lists mute configs. - operationId: securitycenter.folders.locations.muteConfigs.list + description: Lists notification configs. + operationId: securitycenter.folders.notificationConfigs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11765,16 +11730,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListMuteConfigsResponse' + $ref: '#/components/schemas/ListNotificationConfigsResponse' parameters: - in: path name: foldersId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageToken schema: type: string - in: query @@ -11782,15 +11746,11 @@ paths: schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}: + /v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}: parameters: *ref_1 delete: - description: Deletes an existing mute config. - operationId: securitycenter.folders.locations.muteConfigs.delete + description: Deletes a notification config. + operationId: securitycenter.folders.notificationConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11810,18 +11770,13 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string get: - description: Gets a mute config. - operationId: securitycenter.folders.locations.muteConfigs.get + description: Gets a notification config. + operationId: securitycenter.folders.notificationConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11833,7 +11788,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: foldersId @@ -11841,23 +11796,18 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string patch: - description: Updates a mute config. - operationId: securitycenter.folders.locations.muteConfigs.patch + description: ' Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter' + operationId: securitycenter.folders.notificationConfigs.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11869,7 +11819,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: foldersId @@ -11877,12 +11827,7 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string @@ -11891,16 +11836,11 @@ paths: schema: type: string format: google-fieldmask - /v1/folders/{foldersId}/notificationConfigs: + /v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}: parameters: *ref_1 - post: - description: Creates a notification config. - operationId: securitycenter.folders.notificationConfigs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationConfig' + delete: + description: Deletes an existing mute config. + operationId: securitycenter.folders.locations.muteConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11912,52 +11852,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/Empty' parameters: - in: path name: foldersId required: true schema: type: string - - in: query - name: configId - schema: - type: string - get: - description: Lists notification configs. - operationId: securitycenter.folders.notificationConfigs.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ListNotificationConfigsResponse' - parameters: - in: path - name: foldersId + name: locationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: muteConfigsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}: - parameters: *ref_1 - delete: - description: Deletes a notification config. - operationId: securitycenter.folders.notificationConfigs.delete + get: + description: Gets a mute config. + operationId: securitycenter.folders.locations.muteConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -11969,7 +11883,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' parameters: - in: path name: foldersId @@ -11977,44 +11891,23 @@ paths: schema: type: string - in: path - name: notificationConfigsId - required: true - schema: - type: string - get: - description: Gets a notification config. - operationId: securitycenter.folders.notificationConfigs.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationConfig' - parameters: - - in: path - name: foldersId + name: locationsId required: true schema: type: string - in: path - name: notificationConfigsId + name: muteConfigsId required: true schema: type: string patch: - description: ' Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter' - operationId: securitycenter.folders.notificationConfigs.patch + description: Updates a mute config. + operationId: securitycenter.folders.locations.muteConfigs.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -12026,7 +11919,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' parameters: - in: path name: foldersId @@ -12034,7 +11927,12 @@ paths: schema: type: string - in: path - name: notificationConfigsId + name: locationsId + required: true + schema: + type: string + - in: path + name: muteConfigsId required: true schema: type: string @@ -13470,16 +13368,16 @@ paths: schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/locations/{locationsId}/muteConfigs: + /v1/projects/{projectsId}/notificationConfigs: parameters: *ref_1 post: - description: Creates a mute config. - operationId: securitycenter.projects.locations.muteConfigs.create + description: Creates a notification config. + operationId: securitycenter.projects.notificationConfigs.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13491,25 +13389,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - in: query - name: muteConfigId + name: configId schema: type: string get: - description: Lists mute configs. - operationId: securitycenter.projects.locations.muteConfigs.list + description: Lists notification configs. + operationId: securitycenter.projects.notificationConfigs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13521,16 +13414,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListMuteConfigsResponse' + $ref: '#/components/schemas/ListNotificationConfigsResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageToken schema: type: string - in: query @@ -13538,15 +13430,11 @@ paths: schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}: + /v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}: parameters: *ref_1 delete: - description: Deletes an existing mute config. - operationId: securitycenter.projects.locations.muteConfigs.delete + description: Deletes a notification config. + operationId: securitycenter.projects.notificationConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13566,18 +13454,13 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string get: - description: Gets a mute config. - operationId: securitycenter.projects.locations.muteConfigs.get + description: Gets a notification config. + operationId: securitycenter.projects.notificationConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13589,7 +13472,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: projectsId @@ -13597,23 +13480,18 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string patch: - description: Updates a mute config. - operationId: securitycenter.projects.locations.muteConfigs.patch + description: ' Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter' + operationId: securitycenter.projects.notificationConfigs.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13625,7 +13503,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: projectsId @@ -13633,12 +13511,7 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string @@ -13647,16 +13520,11 @@ paths: schema: type: string format: google-fieldmask - /v1/projects/{projectsId}/notificationConfigs: + /v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}: parameters: *ref_1 - post: - description: Creates a notification config. - operationId: securitycenter.projects.notificationConfigs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationConfig' + delete: + description: Deletes an existing mute config. + operationId: securitycenter.projects.locations.muteConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13668,52 +13536,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: configId - schema: - type: string - get: - description: Lists notification configs. - operationId: securitycenter.projects.notificationConfigs.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ListNotificationConfigsResponse' - parameters: - in: path - name: projectsId + name: locationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: muteConfigsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}: - parameters: *ref_1 - delete: - description: Deletes a notification config. - operationId: securitycenter.projects.notificationConfigs.delete + get: + description: Gets a mute config. + operationId: securitycenter.projects.locations.muteConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13725,7 +13567,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' parameters: - in: path name: projectsId @@ -13733,44 +13575,23 @@ paths: schema: type: string - in: path - name: notificationConfigsId - required: true - schema: - type: string - get: - description: Gets a notification config. - operationId: securitycenter.projects.notificationConfigs.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationConfig' - parameters: - - in: path - name: projectsId + name: locationsId required: true schema: type: string - in: path - name: notificationConfigsId + name: muteConfigsId required: true schema: type: string patch: - description: ' Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter' - operationId: securitycenter.projects.notificationConfigs.patch + description: Updates a mute config. + operationId: securitycenter.projects.locations.muteConfigs.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -13782,7 +13603,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' parameters: - in: path name: projectsId @@ -13790,7 +13611,12 @@ paths: schema: type: string - in: path - name: notificationConfigsId + name: locationsId + required: true + schema: + type: string + - in: path + name: muteConfigsId required: true schema: type: string @@ -15996,16 +15822,16 @@ paths: schema: type: string format: google-fieldmask - /v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs: + /v1/organizations/{organizationsId}/notificationConfigs: parameters: *ref_1 post: - description: Creates a mute config. - operationId: securitycenter.organizations.locations.muteConfigs.create + description: Creates a notification config. + operationId: securitycenter.organizations.notificationConfigs.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16017,25 +15843,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: locationsId - required: true - schema: - type: string - in: query - name: muteConfigId + name: configId schema: type: string get: - description: Lists mute configs. - operationId: securitycenter.organizations.locations.muteConfigs.list + description: Lists notification configs. + operationId: securitycenter.organizations.notificationConfigs.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16047,16 +15868,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListMuteConfigsResponse' + $ref: '#/components/schemas/ListNotificationConfigsResponse' parameters: - in: path name: organizationsId required: true schema: type: string - - in: path - name: locationsId - required: true + - in: query + name: pageToken schema: type: string - in: query @@ -16064,15 +15884,11 @@ paths: schema: type: integer format: int32 - - in: query - name: pageToken - schema: - type: string - /v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}: + /v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}: parameters: *ref_1 delete: - description: Deletes an existing mute config. - operationId: securitycenter.organizations.locations.muteConfigs.delete + description: Deletes a notification config. + operationId: securitycenter.organizations.notificationConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16092,18 +15908,13 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string get: - description: Gets a mute config. - operationId: securitycenter.organizations.locations.muteConfigs.get + description: Gets a notification config. + operationId: securitycenter.organizations.notificationConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16115,7 +15926,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: organizationsId @@ -16123,23 +15934,18 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string patch: - description: Updates a mute config. - operationId: securitycenter.organizations.locations.muteConfigs.patch + description: ' Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter' + operationId: securitycenter.organizations.notificationConfigs.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16151,7 +15957,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' + $ref: '#/components/schemas/NotificationConfig' parameters: - in: path name: organizationsId @@ -16159,12 +15965,7 @@ paths: schema: type: string - in: path - name: locationsId - required: true - schema: - type: string - - in: path - name: muteConfigsId + name: notificationConfigsId required: true schema: type: string @@ -16173,16 +15974,11 @@ paths: schema: type: string format: google-fieldmask - /v1/organizations/{organizationsId}/notificationConfigs: + /v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}: parameters: *ref_1 - post: - description: Creates a notification config. - operationId: securitycenter.organizations.notificationConfigs.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationConfig' + delete: + description: Deletes an existing mute config. + operationId: securitycenter.organizations.locations.muteConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16194,52 +15990,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/Empty' parameters: - in: path name: organizationsId required: true schema: type: string - - in: query - name: configId - schema: - type: string - get: - description: Lists notification configs. - operationId: securitycenter.organizations.notificationConfigs.list - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ListNotificationConfigsResponse' - parameters: - in: path - name: organizationsId + name: locationsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: muteConfigsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}: - parameters: *ref_1 - delete: - description: Deletes a notification config. - operationId: securitycenter.organizations.notificationConfigs.delete + get: + description: Gets a mute config. + operationId: securitycenter.organizations.locations.muteConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16251,7 +16021,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' parameters: - in: path name: organizationsId @@ -16259,44 +16029,23 @@ paths: schema: type: string - in: path - name: notificationConfigsId - required: true - schema: - type: string - get: - description: Gets a notification config. - operationId: securitycenter.organizations.notificationConfigs.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationConfig' - parameters: - - in: path - name: organizationsId + name: locationsId required: true schema: type: string - in: path - name: notificationConfigsId + name: muteConfigsId required: true schema: type: string patch: - description: ' Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter' - operationId: securitycenter.organizations.notificationConfigs.patch + description: Updates a mute config. + operationId: securitycenter.organizations.locations.muteConfigs.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -16308,7 +16057,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NotificationConfig' + $ref: '#/components/schemas/GoogleCloudSecuritycenterV1MuteConfig' parameters: - in: path name: organizationsId @@ -16316,7 +16065,12 @@ paths: schema: type: string - in: path - name: notificationConfigsId + name: locationsId + required: true + schema: + type: string + - in: path + name: muteConfigsId required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/serviceconsumermanagement.yaml b/providers/src/googleapis.com/v00.00.00000/services/serviceconsumermanagement.yaml index 45af28c9..15fcb5a5 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/serviceconsumermanagement.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/serviceconsumermanagement.yaml @@ -7,8 +7,8 @@ info: title: Service Consumer Management API description: Manages the service consumers of a Service Infrastructure service. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/service-consumer-management/docs/overview servers: @@ -34,782 +34,996 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - JavaSettings: - properties: - libraryPackage: - type: string - description: >- - The package name to use in Java. Clobbers the java_package option - set in the protobuf. This should be used **only** by APIs who have - already set the language_settings.java.package_name" field in - gapic.yaml. API teams should use the protobuf java_package option - where possible. Example of a YAML configuration:: publishing: - java_settings: library_package: com.google.cloud.pubsub.v1 - serviceClassNames: - description: >- - Configure the Java class name to use instead of the service's for - its corresponding generated GAPIC client. Keys are fully-qualified - service names as they appear in the protobuf (including the full the - language_settings.java.interface_names" field in gapic.yaml. API - teams should otherwise use the service name as it appears in the - protobuf. Example of a YAML configuration:: publishing: - java_settings: service_class_names: - google.pubsub.v1.Publisher: - TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin - type: object - additionalProperties: - type: string - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - description: Settings for Java client libraries. - type: object - id: JavaSettings - TenancyUnit: - id: TenancyUnit - type: object + MonitoredResourceDescriptor: + id: MonitoredResourceDescriptor + description: >- + An object that describes the schema of a MonitoredResource object using + a type name and a set of labels. For example, the monitored resource + descriptor for Google Compute Engine VM instances has a type of + `"gce_instance"` and specifies the use of the labels `"instance_id"` and + `"zone"` to identify particular VM instances. Different APIs can support + different monitored resource types. APIs generally provide a `list` + method that returns the monitored resource descriptors used by the API. properties: - tenantResources: - items: - $ref: '#/components/schemas/TenantResource' - type: array - description: >- - Resources constituting the tenancy unit. There can be at most 512 - tenant resources in a tenancy unit. - service: - readOnly: true + displayName: description: >- - Output only. Google Cloud API name of the managed service owning - this tenancy unit. For example - 'serviceconsumermanagement.googleapis.com'. + 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"`. type: string - createTime: + launchStage: + enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. + - >- + Prelaunch features are hidden from users and are only visible + internally. + - >- + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible + ways, and are not guaranteed to be released. + - >- + Alpha is a limited availability test for releases before they are + cleared for widespread use. By Alpha, all significant design + issues are resolved and we are in the process of verifying + functionality. Alpha customers need to apply for access, agree to + applicable terms, and have their projects allowlisted. Alpha + releases don't have to be feature complete, no SLAs are provided, + and there are no technical support obligations, but they will be + far enough along that customers can actually use them in test + environments or for limited-use tests -- just like they would in + normal production cases. + - >- + Beta is the point at which we are ready to open a release for any + customer to use. There are no SLA or technical support obligations + in a Beta release. Products will be complete from a feature + perspective, but may have some open outstanding issues. Beta + releases are suitable for limited production use cases. + - >- + GA features are open to all developers and are considered stable + and fully qualified for production use. + - >- + Deprecated features are scheduled to be shut down and removed. For + more information, see the "Deprecation Policy" section of our + [Terms of Service](https://cloud.google.com/terms/) and the + [Google Cloud Platform Subject to the Deprecation + Policy](https://cloud.google.com/terms/deprecation) documentation. + description: Optional. The launch stage of the monitored resource definition. + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED type: string - readOnly: true - description: Output only. @OutputOnly The time this tenancy unit was created. - format: google-datetime name: - description: >- - Globally unique identifier of this tenancy unit - "services/{service}/{collection id}/{resource - id}/tenancyUnits/{unit}" type: string - consumer: description: >- - Output only. @OutputOnly Cloud resource name of the consumer of this - service. For example 'projects/123456'. - readOnly: true - type: string - description: Representation of a tenancy unit. - EnumValue: - type: object - id: EnumValue - properties: - options: - type: array - items: - $ref: '#/components/schemas/Option' - description: Protocol buffer options. - number: - format: int32 - description: Enum value number. - type: integer - name: - type: string - description: Enum value name. - description: Enum value definition. - MethodSettings: - properties: - autoPopulatedFields: + 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}"`. + type: description: >- - List of top-level fields of the request message, that should be - automatically populated by the client libraries based on their - (google.api.field_info).format. Currently supported format: UUID4. - Example of a YAML configuration: publishing: method_settings: - - selector: google.example.v1.ExampleService.CreateExample - auto_populated_fields: - request_id + 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). + type: string + labels: type: array items: - type: string - selector: + $ref: '#/components/schemas/LabelDescriptor' description: >- - The fully qualified name of the method, for which the options below - apply. This is used to find the method to apply the options. - Example: publishing: method_settings: - selector: - google.storage.control.v2.StorageControl.CreateFolder # method - settings for CreateFolder... + 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"`. + description: type: string - longRunning: - $ref: '#/components/schemas/LongRunning' description: >- - Describes settings to use for long-running operations when - generating API methods for RPCs. Complements RPCs that use the - annotations in google/longrunning/operations.proto. Example of a - YAML configuration:: publishing: method_settings: - selector: - google.cloud.speech.v2.Speech.BatchRecognize long_running: - initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 - max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 - minutes - id: MethodSettings - description: Describes the generator configuration for a method. + Optional. A detailed description of the monitored resource type that + might be used in documentation. type: object - Publishing: + Method: type: object + description: Method represents a method of an API interface. + id: Method properties: - methodSettings: - description: >- - A list of API method settings, e.g. the behavior for methods that - use the long-running operation pattern. - type: array - items: - $ref: '#/components/schemas/MethodSettings' - librarySettings: - description: >- - Client library settings. If the same version string appears multiple - times in this list, then the last one wins. Settings from earlier - settings with the same version string are discarded. - type: array - items: - $ref: '#/components/schemas/ClientLibrarySettings' - docTagPrefix: - description: >- - A prefix used in sample code when demarking regions to be included - in documentation. - type: string - codeownerGithubTeams: - description: >- - GitHub teams to be added to CODEOWNERS in the directory in GitHub - containing source code for the client libraries for this API. - items: - type: string - type: array - newIssueUri: - description: >- - Link to a *public* URI where users can report issues. Example: - https://issuetracker.google.com/issues/new?component=190865&template=1161103 + requestTypeUrl: type: string - apiShortName: + description: A URL of the input message type. + name: type: string - description: >- - Used as a tracking tag when collecting data about the APIs developer - relations artifacts like docs, packages delivered to package - managers, etc. Example: "speech". - protoReferenceDocumentationUri: + description: The simple name of this method. + syntax: + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + description: The source syntax of this method. + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. type: string - description: >- - Optional link to proto reference documentation. Example: - https://cloud.google.com/pubsub/lite/docs/reference/rpc - restReferenceDocumentationUri: + responseTypeUrl: type: string - description: >- - Optional link to REST reference documentation. Example: - https://cloud.google.com/pubsub/lite/docs/reference/rest - githubLabel: - description: >- - GitHub label to apply to issues and pull requests opened for this - API. - type: string - organization: - type: string - enum: - - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED - - CLOUD - - ADS - - PHOTOS - - STREET_VIEW - - SHOPPING - - GEO - - GENERATIVE_AI - enumDescriptions: - - Not useful. - - Google Cloud Platform Org. - - Ads (Advertising) Org. - - Photos Org. - - Street View Org. - - Shopping Org. - - Geo Org. - - Generative AI - https://developers.generativeai.google - description: For whom the client library is being published. - documentationUri: - type: string - description: >- - Link to product home page. Example: - https://cloud.google.com/asset-inventory/docs/overview - id: Publishing - description: >- - 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. - LogDescriptor: - properties: - labels: - description: >- - The set of labels that are available to describe a specific log - entry. Runtime requests that contain labels not specified here are - considered invalid. + description: The URL of the output message type. + options: type: array + description: Any metadata attached to the method. items: - $ref: '#/components/schemas/LabelDescriptor' - name: - type: string + $ref: '#/components/schemas/Option' + requestStreaming: + description: If true, the request is streamed. + type: boolean + responseStreaming: + type: boolean + description: If true, the response is streamed. + TenantResource: + type: object + properties: + resource: description: >- - The name of the log. It must be less than 512 characters long and - can include the following characters: upper- and lower-case - alphanumeric characters [A-Za-z0-9], and punctuation characters - including slash, underscore, hyphen, period [/_-.]. - displayName: + Output only. @OutputOnly Identifier of the tenant resource. For + cloud projects, it is in the form 'projects/{number}'. For example + 'projects/123456'. type: string - description: >- - The human-readable name for this log. This information appears on - the user interface and should be concise. - description: - description: >- - A human-readable description of this log. This information appears - in the documentation and can contain details. + readOnly: true + tag: type: string - type: object - id: LogDescriptor + description: Unique per single tenancy unit. + status: + type: string + description: Status of tenant resource. + enum: + - STATUS_UNSPECIFIED + - PENDING_CREATE + - ACTIVE + - PENDING_DELETE + - FAILED + - DELETED + enumDescriptions: + - Unspecified status is the default unset value. + - Creation of the tenant resource is ongoing. + - Active resource. + - Deletion of the resource is ongoing. + - Tenant resource creation or deletion has failed. + - Tenant resource has been deleted. + description: Resource constituting the TenancyUnit. + id: TenantResource + V1Beta1DisableConsumerResponse: + properties: {} + id: V1Beta1DisableConsumerResponse description: >- - A description of a log type. Example in YAML format: - name: - library.googleapis.com/activity_history description: The history of - borrowing and returning library items. display_name: Activity labels: - - key: /customer_id description: Identifier of a library customer - SystemParameterRule: - id: SystemParameterRule + Response message for the `DisableConsumer` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. type: object + GoSettings: properties: - selector: - type: string - description: >- - Selects the methods to which this rule applies. Use '*' to indicate - all methods in all APIs. Refer to selector for syntax details. - parameters: - type: array - description: >- - Define parameters. Multiple names may be defined for a parameter. - For a given method call, only one of them should be used. If - multiple names are used the behavior is implementation-dependent. If - none of the specified names are present the behavior is - parameter-dependent. - items: - $ref: '#/components/schemas/SystemParameter' - description: >- - Define a system parameter rule mapping system parameter definitions to - methods. - Documentation: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + description: Settings for Go client libraries. type: object - id: Documentation - description: >- - `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. + id: GoSettings + Usage: properties: - overview: - type: string - description: >- - Declares a single overview page. For example: documentation: - summary: ... overview: (== include overview.md ==) This is a - shortcut for the following declaration (using pages style): - documentation: summary: ... pages: - name: Overview content: (== - include overview.md ==) Note: you cannot specify both `overview` - field and `pages` field. rules: - type: array items: - $ref: '#/components/schemas/DocumentationRule' + $ref: '#/components/schemas/UsageRule' description: >- - A list of documentation rules that apply to individual API elements. + A list of usage rules that apply to individual API methods. **NOTE:** All service configuration rules follow "last one wins" order. - summary: + type: array + producerNotificationChannel: description: >- - A short description of what the service does. The summary must be - plain text. It becomes the overview of the service displayed in - Google Cloud Console. NOTE: This field is equivalent to the standard - field `description`. + The full resource name of a channel used for sending notifications + to the service producer. Google Service Management currently only + supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as + a notification channel. To use Google Cloud Pub/Sub as the channel, + this must be the name of a Cloud Pub/Sub topic that uses the Cloud + Pub/Sub topic name format documented in + https://cloud.google.com/pubsub/docs/overview. type: string - pages: - items: - $ref: '#/components/schemas/Page' + requirements: type: array - description: The top level pages for the documentation set. - documentationRootUrl: + description: >- + Requirements that must be satisfied before a consumer project can + use the service. Each requirement is of the form /; for example + 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a + Terms of Service requirement must be included here. Google Cloud + APIs must include "serviceusage.googleapis.com/tos/cloud". Other + Google APIs should include + "serviceusage.googleapis.com/tos/universal". Additional ToS can be + included based on the business needs. + items: + type: string + type: object + description: Configuration controlling usage of a service. + id: Usage + Page: + type: object + description: >- + Represents a documentation page. A page can contain subpages to + represent nested documentation set structure. + properties: + content: + description: >- + The Markdown content of the page. You can use (== include {path} ==) + to include content from a Markdown file. The content can be used to + produce the documentation page such as HTML format page. type: string - description: The URL to the root of documentation. - sectionOverrides: + subpages: items: $ref: '#/components/schemas/Page' type: array description: >- - Specifies section and content to override boilerplate content - provided by go/api-docgen. Currently overrides following sections: - 1. rest.service.client_libraries - serviceRootUrl: + Subpages of this page. The order of subpages specified here will be + honored in the generated docset. + name: type: string description: >- - Specifies the service root url if the default one (the service name - from the yaml file) is not suitable. This can be seen in any fully - specified service urls as well as sections that show a base that - other urls are relative to. - V1Beta1GenerateServiceIdentityResponse: - type: object - id: V1Beta1GenerateServiceIdentityResponse + The name of the page. It will be used as an identity of the page to + generate URI of the page, text of the link to this page in + navigation, etc. The full page name (start from the root page name + to this page concatenated with `.`) can be used as reference to the + page in your documentation. For example: pages: - name: Tutorial + content: (== include tutorial.md ==) subpages: - name: Java content: + (== include tutorial_java.md ==) You can reference `Java` page using + Markdown reference link syntax: `Java`. + id: Page + AuthRequirement: properties: - identity: - $ref: '#/components/schemas/V1Beta1ServiceIdentity' - description: ServiceIdentity that was created or retrieved. - description: >- - Response message for the `GenerateServiceIdentity` method. This response - message is assigned to the `response` field of the returned Operation - when that operation is done. - CreateTenancyUnitRequest: + providerId: + description: >- + id from authentication provider. Example: provider_id: + bookstore_auth + type: string + audiences: + type: string + description: >- + NOTE: This will be deprecated soon, once AuthProvider.audiences is + implemented and accepted in all the runtime components. The list of + JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. When this setting is absent, only JWTs with + audience "https://Service_name/API_name" will be accepted. For + example, if no audiences are in the setting, LibraryService API will + only accept JWTs with the following audience + "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + Example: audiences: bookstore_android.apps.googleusercontent.com, + bookstore_web.apps.googleusercontent.com + id: AuthRequirement description: >- - Request to create a tenancy unit for a service consumer of a managed - service. - id: CreateTenancyUnitRequest + User-defined authentication requirements, including support for [JSON + Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). type: object + OAuthRequirements: + description: >- + OAuth scopes are a way to define data and permissions on data. For + example, there are scopes defined for "Read-only access to Google + Calendar" and "Access to Cloud Platform". Users can consent to a scope + for an application, giving it permission to access that data on their + behalf. OAuth scope specifications should be fairly coarse grained; a + user will need to see and understand the text description of what your + scope means. In most cases: use one or at most two OAuth scopes for an + entire family of products. If your product has multiple APIs, you should + probably be sharing the OAuth scope across all of those APIs. When you + need finer grained OAuth consent screens: talk with your product + management about how developers will use them in practice. Please note + that even though each of the canonical scopes is enough for a request to + be accepted and passed to the backend, a request can still fail due to + the backend requiring additional scopes or permissions. properties: - tenancyUnitId: + canonicalScopes: description: >- - Optional. Optional service producer-provided identifier of the - tenancy unit. Must be no longer than 40 characters and preferably - URI friendly. If it isn't provided, a UID for the tenancy unit is - automatically generated. The identifier must be unique across a - managed service. If the tenancy unit already exists for the managed - service and service consumer pair, calling `CreateTenancyUnit` - returns the existing tenancy unit if the provided identifier is - identical or empty, otherwise the call fails. + The list of publicly documented OAuth scopes that are allowed + access. An OAuth token containing any of these scopes will be + accepted. Example: canonical_scopes: + https://www.googleapis.com/auth/calendar, + https://www.googleapis.com/auth/calendar.read type: string - Service: - id: Service + id: OAuthRequirements + type: object + SystemParameters: + id: SystemParameters + description: >- + ### 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. properties: - context: - description: Context configuration. - $ref: '#/components/schemas/Context' - authentication: - $ref: '#/components/schemas/Authentication' - description: Auth configuration. - endpoints: + rules: type: array - items: - $ref: '#/components/schemas/Endpoint' - description: >- - 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. - enums: description: >- - 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 + Define system parameters. The parameters defined here will override + the default parameters implemented by the system. If this field is + missing from the service config, default system parameters will be + used. Default system parameters and names is + implementation-dependent. Example: define api key for all methods + system_parameters rules: - selector: "*" parameters: - name: api_key + url_query_parameter: api_key Example: define 2 api key names for a + specific method. system_parameters rules: - selector: "/ListShelves" + parameters: - name: api_key http_header: Api-Key1 - name: api_key + http_header: Api-Key2 **NOTE:** All service configuration rules + follow "last one wins" order. items: - $ref: '#/components/schemas/Enum' + $ref: '#/components/schemas/SystemParameterRule' + type: object + JwtLocation: + properties: + query: + type: string + description: Specifies URL query parameter name to extract JWT token. + header: + type: string + description: Specifies HTTP header name to extract JWT token. + cookie: + type: string + description: Specifies cookie name to extract JWT token. + valuePrefix: + type: string + description: >- + The value prefix. The value format is "value_prefix{token}" Only + applies to "in" header type. Must be empty for "in" query type. If + not empty, the header value has to match (case sensitive) this + prefix. If not matched, JWT will not be extracted. If matched, JWT + will be extracted after the prefix is removed. For example, for + "Authorization: Bearer {JWT}", value_prefix="Bearer " with a space + at the end. + id: JwtLocation + type: object + description: Specifies a location to extract JWT from an API request. + SelectiveGapicGeneration: + type: object + description: >- + This message is used to configure the generation of a subset of the RPCs + in a service for client libraries. + properties: + methods: type: array - metrics: + items: + type: string + description: >- + An allowlist of the fully qualified names of RPCs that should be + included on public client surfaces. + id: SelectiveGapicGeneration + V1Beta1GenerateServiceIdentityResponse: + id: V1Beta1GenerateServiceIdentityResponse + type: object + description: >- + Response message for the `GenerateServiceIdentity` method. This response + message is assigned to the `response` field of the returned Operation + when that operation is done. + properties: + identity: + $ref: '#/components/schemas/V1Beta1ServiceIdentity' + description: ServiceIdentity that was created or retrieved. + SystemParameterRule: + type: object + properties: + selector: + type: string + description: >- + Selects the methods to which this rule applies. Use '*' to indicate + all methods in all APIs. Refer to selector for syntax details. + parameters: + description: >- + Define parameters. Multiple names may be defined for a parameter. + For a given method call, only one of them should be used. If + multiple names are used the behavior is implementation-dependent. If + none of the specified names are present the behavior is + parameter-dependent. type: array - description: Defines the metrics used by this service. items: - $ref: '#/components/schemas/MetricDescriptor' - logging: - $ref: '#/components/schemas/Logging' - description: Logging configuration. - apis: + $ref: '#/components/schemas/SystemParameter' + description: >- + Define a system parameter rule mapping system parameter definitions to + methods. + id: SystemParameterRule + AuthenticationRule: + id: AuthenticationRule + description: >- + Authentication rules for the service. By default, if a method has any + authentication requirements, every request must include a valid + credential matching one of the requirements. It's an error to include + more than one kind of credential in a single request. If a method + doesn't have any auth requirements, request credentials will be ignored. + type: object + properties: + allowWithoutCredential: + type: boolean description: >- - 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. + If true, the service accepts API keys without any other credential. + This flag only applies to HTTP and gRPC requests. + selector: + type: string + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. + oauth: + description: The requirements for OAuth credentials. + $ref: '#/components/schemas/OAuthRequirements' + requirements: items: - $ref: '#/components/schemas/Api' - type: array - types: + $ref: '#/components/schemas/AuthRequirement' type: array + description: Requirements for additional authentication providers. + V1Beta1ProducerQuotaPolicy: + description: Quota policy created by service producer. + id: V1Beta1ProducerQuotaPolicy + properties: + policyValue: description: >- - 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 - items: - $ref: '#/components/schemas/Type' - backend: - $ref: '#/components/schemas/Backend' - description: API backend configuration. - title: + The quota policy value. Can be any nonnegative integer, or -1 + (unlimited quota). + format: int64 + type: string + unit: description: >- - The product title for this service, it is the name displayed in - Google Cloud Console. + The limit unit of the limit to which this policy applies. An example + unit would be: `1/{project}/{region}` Note that `{project}` and + `{region}` are not placeholders in this example; the literal + characters `{` and `}` occur in the string. type: string - producerProjectId: - description: The Google project that owns this service. + container: type: string - monitoring: - $ref: '#/components/schemas/Monitoring' - description: Monitoring configuration. - customError: - $ref: '#/components/schemas/CustomError' - description: Custom error configuration. - publishing: description: >- - Settings for [Google Cloud Client - libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) - generated from APIs defined as protocol buffers. - $ref: '#/components/schemas/Publishing' - billing: - $ref: '#/components/schemas/Billing' - description: Billing configuration. - name: + The cloud resource container at which the quota policy is created. + The format is {container_type}/{container_number} + dimensions: + description: ' If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit 1/{project}/{region} could contain an entry with the key "region" and the value "us-east-1"; the policy is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit''s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * "project" is not a valid key; the project is already specified in the parent resource name. * "user" is not a valid key; the API does not support quota polcies that apply only to a specific user. * If "region" appears as a key, its value must be a valid Cloud region. * If "zone" appears as a key, its value must be a valid Cloud zone. * If any valid key other than "region" or "zone" appears in the map, then all valid keys other than "region" or "zone" must also appear in the map.' + additionalProperties: + type: string + type: object + metric: type: string description: >- - The service name, which is a DNS-like logical identifier for the - service, such as `calendar.googleapis.com`. The service name - typically goes through DNS verification to make sure the owner of - the service also owns the DNS name. - control: - description: Configuration for the service control plane. - $ref: '#/components/schemas/Control' - logs: - description: Defines the logs used by this service. - items: - $ref: '#/components/schemas/LogDescriptor' - type: array - documentation: - $ref: '#/components/schemas/Documentation' - description: Additional API documentation. - usage: - description: Configuration controlling usage of this service. - $ref: '#/components/schemas/Usage' - systemParameters: - $ref: '#/components/schemas/SystemParameters' - description: System parameter configuration. - sourceInfo: - description: >- - Output only. The source information for this configuration if - available. - $ref: '#/components/schemas/SourceInfo' - monitoredResources: + The name of the metric to which this policy applies. An example name + would be: `compute.googleapis.com/cpus` + name: description: >- - Defines the monitored resources used by this service. This is - required by the Service.monitoring and Service.logging - configurations. + The resource name of the producer policy. An example name would be: + `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d` + type: string + type: object + RubySettings: + id: RubySettings + description: Settings for Ruby client libraries. + properties: + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' + type: object + ServiceAccountConfig: + description: Describes the service account configuration for the tenant project. + properties: + tenantProjectRoles: items: - $ref: '#/components/schemas/MonitoredResourceDescriptor' - type: array - systemTypes: + type: string + description: Roles for the associated service account for the tenant project. type: array - items: - $ref: '#/components/schemas/Type' - description: >- - 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. - id: - description: >- - A unique ID for a specific instance of this message, typically - assigned by the client for tracking purpose. Must be no longer than - 63 characters and only lower case letters, digits, '.', '_' and '-' - are allowed. If empty, the server may choose to generate one - instead. + accountId: type: string - configVersion: - type: integer - format: uint32 description: >- - Obsolete. Do not use. This field has no semantic meaning. The - service config compiler always sets this field to `3`. - http: - $ref: '#/components/schemas/Http' - description: HTTP configuration. - quota: - description: Quota configuration. - $ref: '#/components/schemas/Quota' - description: >- - `Service` is the root object of Google API service configuration - (service config). It describes the basic information about a logical - service, such as the service name and the user-facing title, and - delegates other aspects to sub-sections. Each sub-section is either a - proto message or a repeated proto message that configures a specific - aspect, such as auth. For more information, see each proto message - definition. Example: type: google.api.Service name: - calendar.googleapis.com title: Google Calendar API apis: - name: - google.calendar.v3.Calendar visibility: rules: - selector: - "google.calendar.v3.*" restriction: PREVIEW backend: rules: - selector: - "google.calendar.v3.*" address: calendar.example.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 + ID of the IAM service account to be created in tenant project. The + email format of the service account is "@.iam.gserviceaccount.com". + This account ID must be unique within tenant project and service + producers have to guarantee it. The ID must be 6-30 characters long, + and match the following regular expression: + `[a-z]([-a-z0-9]*[a-z0-9])`. type: object - SourceContext: + id: ServiceAccountConfig + HttpRule: type: object - id: SourceContext properties: - fileName: + patch: + description: Maps to HTTP PATCH. Used for updating a resource. type: string + body: description: >- - The path-qualified name of the .proto file that contained the - associated protobuf element. For example: - `"google/protobuf/source_context.proto"`. - description: >- - `SourceContext` represents information about the source of a protobuf - element, like the file in which it is defined. - BillingConfig: - description: Describes the billing configuration for a new tenant project. - properties: - billingAccount: + The name of the request field whose value is mapped to the HTTP + request body, or `*` for mapping all request fields not captured by + the path pattern to the HTTP body, or omitted for not having any + HTTP request body. NOTE: the referred field must be present at the + top-level of the request message type. + type: string + put: type: string + description: Maps to HTTP PUT. Used for replacing a resource. + responseBody: description: >- - Name of the billing account. For example - `billingAccounts/012345-567890-ABCDEF`. - id: BillingConfig - type: object - LongRunning: - id: LongRunning - type: object - properties: - totalPollTimeout: + Optional. The name of the response field whose value is mapped to + the HTTP response body. When omitted, the entire response message + will be used as the HTTP response body. NOTE: The referred field + must be present at the top-level of the response message type. type: string - format: google-duration - description: 'Total polling timeout. Default value: 5 minutes.' - initialPollDelay: + get: type: string description: >- - Initial delay after which the first poll request will be made. - Default value: 5 seconds. - format: google-duration - pollDelayMultiplier: - description: >- - Multiplier to gradually increase delay between subsequent polls - until it reaches max_poll_delay. Default value: 1.5. - format: float - type: number - maxPollDelay: - format: google-duration + Maps to HTTP GET. Used for listing and getting information about + resources. + selector: type: string description: >- - Maximum time between two subsequent poll requests. Default value: 45 - seconds. - description: >- - Describes settings to use when generating API methods that use the - long-running operation pattern. All default values below are from those - used in the client library generators (e.g. - [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). - SystemParameters: - properties: - rules: + Selects a method to which this rule applies. Refer to selector for + syntax details. + additionalBindings: + type: array items: - $ref: '#/components/schemas/SystemParameterRule' + $ref: '#/components/schemas/HttpRule' description: >- - Define system parameters. The parameters defined here will override - the default parameters implemented by the system. If this field is - missing from the service config, default system parameters will be - used. Default system parameters and names is - implementation-dependent. Example: define api key for all methods - system_parameters rules: - selector: "*" parameters: - name: api_key - url_query_parameter: api_key Example: define 2 api key names for a - specific method. system_parameters rules: - selector: "/ListShelves" - parameters: - name: api_key http_header: Api-Key1 - name: api_key - http_header: Api-Key2 **NOTE:** All service configuration rules - follow "last one wins" order. - type: array - id: SystemParameters - type: object - description: >- - ### 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. - Endpoint: - properties: - allowCors: + Additional HTTP bindings for the selector. Nested bindings must not + contain an `additional_bindings` field themselves (that is, the + nesting may only be one level deep). + custom: + $ref: '#/components/schemas/CustomHttpPattern' description: >- - Allowing - [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), - aka cross-domain traffic, would allow the backends served from this - endpoint to receive and respond to HTTP OPTIONS requests. The - response will be used by the browser to determine whether the - subsequent cross-origin request is allowed to proceed. - type: boolean - name: + The custom pattern is used for specifying an HTTP method that is not + included in the `pattern` field, such as HEAD, or "*" to leave the + HTTP method unspecified for this rule. The wild-card rule is useful + for services that provide content to Web (HTML) clients. + delete: type: string - description: The canonical name of this endpoint. - aliases: - type: array - items: - type: string - description: >- - Aliases for this endpoint, these will be served by the same UrlMap - as the parent endpoint, and will be provisioned in the GCP stack for - the Regional Endpoints. - target: + description: Maps to HTTP DELETE. Used for deleting a resource. + post: description: >- - The specification of an Internet routable address of API frontend - that will handle requests to this [API - Endpoint](https://cloud.google.com/apis/design/glossary). It should - be either a valid IPv4 address or a fully-qualified domain name. For - example, "8.8.8.8" or "myservice.appspot.com". + Maps to HTTP POST. Used for creating a resource or performing an + action. type: string - type: object - id: Endpoint + id: HttpRule description: >- - `Endpoint` describes a network address of a service that serves a set of - APIs. It is commonly known as a service endpoint. A service may expose - any number of service endpoints, and all service endpoints share the - same service definition, such as quota limits and monitoring metrics. - Example: type: google.api.Service name: library-example.googleapis.com - endpoints: # Declares network address - `https://library-example.googleapis.com` # for service - `library-example.googleapis.com`. The `https` scheme # is implicit for - all service endpoints. Other schemes may be # supported in the future. - - name: library-example.googleapis.com allow_cors: false - name: - content-staging-library-example.googleapis.com # Allows HTTP OPTIONS - calls to be passed to the API frontend, for it # to decide whether the - subsequent cross-origin request is allowed # to proceed. allow_cors: - true - RemoveTenantProjectRequest: + gRPC Transcoding gRPC Transcoding is a feature for mapping between a + gRPC method and one or more HTTP REST endpoints. It allows developers to + build a single API service that supports both gRPC APIs and REST APIs. + Many systems, including [Google + APIs](https://github.com/googleapis/googleapis), [Cloud + Endpoints](https://cloud.google.com/endpoints), [gRPC + Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature + and use it for large scale production services. `HttpRule` defines the + schema of the gRPC/REST mapping. The mapping specifies how different + portions of the gRPC request message are mapped to the URL path, URL + query parameters, and HTTP request body. It also controls how the gRPC + response message is mapped to the HTTP response body. `HttpRule` is + typically specified as an `google.api.http` annotation on the gRPC + method. Each mapping specifies a URL path template and an HTTP method. + The path template may refer to one or more fields in the gRPC request + message, as long as each field is a non-repeated field with a primitive + (non-message) type. The path template controls how fields of the request + message are mapped to the URL path. Example: service Messaging { rpc + GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/{name=messages/*}" }; } } message + GetMessageRequest { string name = 1; // Mapped to URL path. } message + Message { string text = 1; // The resource content. } This enables an + HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - + gRPC: `GetMessage(name: "messages/123456")` Any fields in the request + message which are not bound by the path template automatically become + HTTP query parameters if there is no HTTP request body. For example: + service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) + { option (google.api.http) = { get:"/v1/messages/{message_id}" }; } } + message GetMessageRequest { message SubMessage { string subfield = 1; } + string message_id = 1; // Mapped to URL path. int64 revision = 2; // + Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped + to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC + mapping as below: - HTTP: `GET + /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: + `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: + "foo"))` Note that fields which are mapped to URL query parameters must + have a primitive type or a repeated primitive type or a non-repeated + message type. In the case of a repeated type, the parameter can be + repeated in the URL as `...?param=A¶m=B`. In the case of a message + type, each field of the message is mapped to a separate parameter, such + as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request + body, the `body` field specifies the mapping. Consider a REST update + method on the message resource collection: service Messaging { rpc + UpdateMessage(UpdateMessageRequest) returns (Message) { option + (google.api.http) = { patch: "/v1/messages/{message_id}" body: "message" + }; } } message UpdateMessageRequest { string message_id = 1; // mapped + to the URL Message message = 2; // mapped to the body } The following + HTTP JSON to RPC mapping is enabled, where the representation of the + JSON in the request body is determined by protos JSON encoding: - HTTP: + `PATCH /v1/messages/123456 { "text": "Hi!" }` - gRPC: + `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The + special name `*` can be used in the body mapping to define that every + field not bound by the path template should be mapped to the request + body. This enables the following alternative definition of the update + method: service Messaging { rpc UpdateMessage(Message) returns (Message) + { option (google.api.http) = { patch: "/v1/messages/{message_id}" body: + "*" }; } } message Message { string message_id = 1; string text = 2; } + The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH + /v1/messages/123456 { "text": "Hi!" }` - gRPC: + `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using + `*` in the body mapping, it is not possible to have HTTP parameters, as + all fields not bound by the path end in the body. This makes this option + more rarely used in practice when defining REST APIs. The common usage + of `*` is in custom methods which don't use the URL at all for + transferring data. It is possible to define multiple HTTP methods for + one RPC by using the `additional_bindings` option. Example: service + Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/messages/{message_id}" + additional_bindings { get: "/v1/users/{user_id}/messages/{message_id}" } + }; } } message GetMessageRequest { string message_id = 1; string user_id + = 2; } This enables the following two alternative HTTP JSON to RPC + mappings: - HTTP: `GET /v1/messages/123456` - gRPC: + `GetMessage(message_id: "123456")` - HTTP: `GET + /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" + message_id: "123456")` Rules for HTTP mapping 1. Leaf request fields + (recursive expansion nested messages in the request message) are + classified into three categories: - Fields referred by the path + template. They are passed via the URL path. - Fields referred by the + HttpRule.body. They are passed via the HTTP request body. - All other + fields are passed via the URL query parameters, and the parameter name + is the field path in the request message. A repeated field can be + represented as multiple query parameters under the same name. 2. If + HttpRule.body is "*", there is no URL query parameter, all fields are + passed via URL path and HTTP request body. 3. If HttpRule.body is + omitted, there is no HTTP request body, all fields are passed via URL + path and URL query parameters. Path template syntax Template = "/" + Segments [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | + "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] + "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; The syntax + `*` matches a single URL path segment. The syntax `**` matches zero or + more URL path segments, which must be the last part of the URL path + except the `Verb`. The syntax `Variable` matches part of the URL path as + specified by its template. A variable template must not contain other + variables. If a variable matches a single path segment, its template may + be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax + `LITERAL` matches literal text in the URL path. If the `LITERAL` + contains any reserved character, such characters should be + percent-encoded before the matching. If a variable contains exactly one + path segment, such as `"{var}"` or `"{var=*}"`, when such a variable is + expanded into a URL path on the client side, all characters except + `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse + decoding. Such variables show up in the [Discovery + Document](https://developers.google.com/discovery/v1/reference/apis) as + `{var}`. If a variable contains multiple path segments, such as + `"{var=foo/*}"` or `"{var=**}"`, when such a variable is expanded into a + URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` + are percent-encoded. The server side does the reverse decoding, except + "%2F" and "%2f" are left unchanged. Such variables show up in the + [Discovery + Document](https://developers.google.com/discovery/v1/reference/apis) as + `{+var}`. Using gRPC API Service Configuration gRPC API Service + Configuration (service config) is a configuration language for + configuring a gRPC service to become a user-facing product. The service + config is simply the YAML representation of the `google.api.Service` + proto message. As an alternative to annotating your proto file, you can + configure gRPC transcoding in your service config YAML files. You do + this by specifying a `HttpRule` that maps the gRPC method to a REST + endpoint, achieving the same effect as the proto annotation. This can be + particularly useful if you have a proto that is reused in multiple + services. Note that any transcoding specified in the service config will + override any matching transcoding configuration in the proto. The + following example selects a gRPC method and applies an `HttpRule` to it: + http: rules: - selector: example.v1.Messaging.GetMessage get: + /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC + Transcoding is used to map a gRPC to JSON REST endpoints, the proto to + JSON conversion must follow the [proto3 + specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + While the single segment variable follows the semantics of [RFC + 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + Expansion, the multi segment variable **does not** follow RFC 6570 + Section 3.2.3 Reserved Expansion. The reason is that the Reserved + Expansion does not expand special characters like `?` and `#`, which + would lead to invalid URLs. As the result, gRPC Transcoding uses a + custom encoding for multi segment variables. The path variables **must + not** refer to any repeated or mapped field, because client libraries + are not capable of handling such variable expansion. The path variables + **must not** capture the leading "/" character. The reason is that the + most common use case "{var}" does not capture the leading "/" character. + For consistency, all path variables must share the same behavior. + Repeated message fields must not be mapped to URL query parameters, + because no client library can support such complicated mapping. If an + API needs to use a JSON array for request or response body, it can map + the request or response body to a repeated field. However, some gRPC + Transcoding implementations may not support this feature. + CreateTenancyUnitRequest: + id: CreateTenancyUnitRequest type: object - id: RemoveTenantProjectRequest + description: >- + Request to create a tenancy unit for a service consumer of a managed + service. + properties: + tenancyUnitId: + description: >- + Optional. Optional service producer-provided identifier of the + tenancy unit. Must be no longer than 40 characters and preferably + URI friendly. If it isn't provided, a UID for the tenancy unit is + automatically generated. The identifier must be unique across a + managed service. If the tenancy unit already exists for the managed + service and service consumer pair, calling `CreateTenancyUnit` + returns the existing tenancy unit if the provided identifier is + identical or empty, otherwise the call fails. + type: string + CustomErrorRule: + type: object + id: CustomErrorRule + description: A custom error rule. + properties: + selector: + type: string + description: >- + Selects messages to which this rule applies. Refer to selector for + syntax details. + isErrorType: + type: boolean + description: >- + Mark this message as possible payload in error response. Otherwise, + objects of this type will be filtered when they appear in error + payload. + JavaSettings: + type: object + id: JavaSettings properties: + serviceClassNames: + additionalProperties: + type: string + type: object + description: >- + Configure the Java class name to use instead of the service's for + its corresponding generated GAPIC client. Keys are fully-qualified + service names as they appear in the protobuf (including the full the + language_settings.java.interface_names" field in gapic.yaml. API + teams should otherwise use the service name as it appears in the + protobuf. Example of a YAML configuration:: publishing: + java_settings: service_class_names: - google.pubsub.v1.Publisher: + TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + libraryPackage: + type: string + description: >- + The package name to use in Java. Clobbers the java_package option + set in the protobuf. This should be used **only** by APIs who have + already set the language_settings.java.package_name" field in + gapic.yaml. API teams should use the protobuf java_package option + where possible. Example of a YAML configuration:: publishing: + java_settings: library_package: com.google.cloud.pubsub.v1 + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + description: Settings for Java client libraries. + V1DefaultIdentity: + description: A default identity in the Identity and Access Management API. + type: object + id: V1DefaultIdentity + properties: + email: + description: >- + The email address of the default identity. Calling + GenerateDefaultIdentity with a deleted or purged default identity + should expect does_not_exist@invalid-project.iam.gserviceaccount.com + placeholder email. + type: string + uniqueId: + type: string + description: The unique and stable id of the default identity. tag: - description: Required. Tag of the resource within the tenancy unit. type: string + description: >- + The Default Identity tag. If specified when creating the account, + the tag must be present in activation_grants. If not specified when + creating the account, the tag is set to the tag specified in + activation_grants. + name: + type: string + description: >- + Default identity resource name. An example name would be: + `services/serviceconsumermanagement.googleapis.com/projects/123/defaultIdentity` + V1Beta1EnableConsumerResponse: + type: object description: >- - Request message to remove a tenant project resource from the tenancy - unit. - V1Beta1ImportProducerOverridesResponse: - id: V1Beta1ImportProducerOverridesResponse - description: Response message for ImportProducerOverrides + Response message for the `EnableConsumer` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. + id: V1Beta1EnableConsumerResponse + properties: {} + Empty: + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + properties: {} type: object + id: Empty + SourceContext: + description: >- + `SourceContext` represents information about the source of a protobuf + element, like the file in which it is defined. properties: - overrides: - description: The overrides that were created from the imported data. + fileName: + description: >- + The path-qualified name of the .proto file that contained the + associated protobuf element. For example: + `"google/protobuf/source_context.proto"`. + type: string + type: object + id: SourceContext + V1RemoveVisibilityLabelsResponse: + id: V1RemoveVisibilityLabelsResponse + description: >- + Response message for the `RemoveVisibilityLabels` method. This response + message is assigned to the `response` field of the returned Operation + when that operation is done. + type: object + properties: + labels: items: - $ref: '#/components/schemas/V1Beta1QuotaOverride' + type: string + description: >- + The updated set of visibility labels for this consumer on this + service. type: array - Control: + SystemParameter: + type: object + id: SystemParameter properties: - methodPolicies: - type: array - description: Defines policies applying to the API methods of the service. - items: - $ref: '#/components/schemas/MethodPolicy' - environment: + httpHeader: description: >- - The service controller environment to use. If empty, no control - plane feature (like quota and billing) will be enabled. The - recommended value for most services is servicecontrol.googleapis.com + Define the HTTP header name to use for the parameter. It is case + insensitive. type: string - id: Control + name: + type: string + description: >- + Define the name of the parameter, such as "api_key" . It is case + sensitive. + urlQueryParameter: + type: string + description: >- + Define the URL query parameter name to use for the parameter. It is + case sensitive. + description: >- + Define a parameter's name and location. The parameter may be passed as + either an HTTP header or a URL query parameter, and if both are passed + the behavior is implementation-dependent. + CustomHttpPattern: type: object + properties: + kind: + description: The name of this custom HTTP verb. + type: string + path: + type: string + description: The path matched by this custom verb. + description: A custom pattern is used for defining custom HTTP verb. + id: CustomHttpPattern + MetricRule: + type: object + id: MetricRule description: >- - Selects and configures the service controller used by the service. - Example: control: environment: servicecontrol.googleapis.com - V1EnableConsumerResponse: - id: V1EnableConsumerResponse + Bind API methods to metrics. Binding a method to a metric causes that + metric's configured quota behaviors to apply to the method call. + properties: + metricCosts: + description: >- + Metrics to update when the selected methods are called, and the + associated cost applied to each metric. The key of the map is the + metric name, and the values are the amount increased for the metric + against which the quota limits are defined. The value must not be + negative. + type: object + additionalProperties: + format: int64 + type: string + selector: + type: string + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. + V1RefreshConsumerResponse: properties: {} - type: object + id: V1RefreshConsumerResponse description: >- - Response message for the `EnableConsumer` method. This response message + Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done. - PythonSettings: + type: object + CommonLanguageSettings: + description: Required information for every language. + id: CommonLanguageSettings properties: - experimentalFeatures: + destinations: + type: array description: >- - Experimental features to be included during client library - generation. - $ref: '#/components/schemas/ExperimentalFeatures' - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - description: Settings for Python client libraries. - id: PythonSettings + The destination where API teams want this client library to be + published. + items: + enumDescriptions: + - >- + Client libraries will neither be generated nor published to + package managers. + - >- + Generate the client library in a repo under + github.com/googleapis, but don't publish it to package managers. + - >- + Publish the library to package managers like nuget.org and + npmjs.com. + type: string + enum: + - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED + - GITHUB + - PACKAGE_MANAGER + referenceDocsUri: + type: string + deprecated: true + description: >- + Link to automatically generated reference documentation. Example: + https://cloud.google.com/nodejs/docs/reference/asset/latest + selectiveGapicGeneration: + $ref: '#/components/schemas/SelectiveGapicGeneration' + description: >- + Configuration for which RPCs should be generated in the GAPIC + client. type: object - TenantProjectConfig: - description: >- - This structure defines a tenant project to be added to the specified - tenancy unit and its initial configuration and properties. A project - lien is created for the tenant project to prevent the tenant project - from being deleted accidentally. The lien is deleted as part of tenant - project removal. - id: TenantProjectConfig + V1Beta1QuotaOverride: + id: V1Beta1QuotaOverride + description: A quota override properties: - labels: + adminOverrideAncestor: + description: >- + The resource name of the ancestor that requested the override. For + example: "organizations/12345" or "folders/67890". Used by admin + overrides only. + type: string + dimensions: + description: ' If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key "region" and the value "us-east-1"; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit''s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * "project" is not a valid key; the project is already specified in the parent resource name. * "user" is not a valid key; the API does not support quota overrides that apply only to a specific user. * If "region" appears as a key, its value must be a valid Cloud region. * If "zone" appears as a key, its value must be a valid Cloud zone. * If any valid key other than "region" or "zone" appears in the map, then all valid keys other than "region" or "zone" must also appear in the map.' additionalProperties: type: string - description: Labels that are applied to this project. type: object - tenantProjectPolicy: - $ref: '#/components/schemas/TenantProjectPolicy' - description: Describes ownership and policies for the new tenant project. - billingConfig: - description: Billing account properties. The billing account must be specified. - $ref: '#/components/schemas/BillingConfig' - folder: + unit: + description: >- + The limit unit of the limit to which this override applies. An + example unit would be: `1/{project}/{region}` Note that `{project}` + and `{region}` are not placeholders in this example; the literal + characters `{` and `}` occur in the string. type: string + overrideValue: description: >- - Folder where project in this tenancy unit must be located This - folder must have been previously created with the required - permissions for the caller to create and configure a project in it. - Valid folder resource names have the format - `folders/{folder_number}` (for example, `folders/123456`). - serviceAccountConfig: - description: Configuration for the IAM service account on the tenant project. - $ref: '#/components/schemas/ServiceAccountConfig' - services: - items: - type: string - type: array + The overriding quota limit value. Can be any nonnegative integer, or + -1 (unlimited quota). + type: string + format: int64 + metric: + type: string description: >- - Google Cloud API names of services that are activated on this - project during provisioning. If any of these services can't be - activated, the request fails. For example: - 'compute.googleapis.com','cloudfunctions.googleapis.com' + The name of the metric to which this override applies. An example + name would be: `compute.googleapis.com/cpus` + name: + type: string + description: >- + The resource name of the producer override. An example name would + be: + `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d` + type: object + PhpSettings: + id: PhpSettings + properties: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + description: Settings for Php client libraries. type: object DocumentationRule: - description: A documentation rule provides information about individual API elements. - id: DocumentationRule properties: - disableReplacementWords: - description: >- - String of comma or space separated case-sensitive words for which - method/field name replacement will be disabled by go/api-docgen. - type: string selector: - type: string description: >- The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a @@ -819,10 +1033,11 @@ components: "foo.b*" or "foo.*.bar". A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern "*" is used. - deprecationDescription: + type: string + disableReplacementWords: description: >- - Deprecation description of the selected element(s). It can be - provided if an element is marked as `deprecated`. + String of comma or space separated case-sensitive words for which + method/field name replacement will be disabled by go/api-docgen. type: string description: description: >- @@ -831,137 +1046,152 @@ components: comments taken from the proto source definition of the proto element. type: string - type: object - V1GenerateServiceAccountResponse: - description: >- - Response message for the `GenerateServiceAccount` method. This response - message is assigned to the `response` field of the returned Operation - when that operation is done. - id: V1GenerateServiceAccountResponse - type: object - properties: - account: - $ref: '#/components/schemas/V1ServiceAccount' - description: ServiceAccount that was created or retrieved. - ListTenancyUnitsResponse: - properties: - nextPageToken: - description: Pagination token for large results. + deprecationDescription: + description: >- + Deprecation description of the selected element(s). It can be + provided if an element is marked as `deprecated`. type: string - tenancyUnits: - items: - $ref: '#/components/schemas/TenancyUnit' - type: array - description: Tenancy units matching the request. + description: A documentation rule provides information about individual API elements. type: object - id: ListTenancyUnitsResponse - description: Response for the list request. - ContextRule: - id: ContextRule + id: DocumentationRule + MetricDescriptor: description: >- - A context rule provides information about the context for an individual - API element. + 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. + id: MetricDescriptor properties: - requested: + monitoredResourceTypes: description: >- - A list of full type names of requested contexts, only the requested - context will be made available to the backend. - items: - type: string + 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. type: array - allowedResponseExtensions: items: type: string + type: description: >- - A list of full type names or extension IDs of extensions allowed in - grpc side channel from backend to client. - type: array - selector: - description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. + 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" + type: string + unit: type: string - provided: - items: - type: string - description: >- - A list of full type names of provided contexts. It is used to - support propagating HTTP headers and ETags from the response - extension. - type: array - allowedRequestExtensions: description: >- - A list of full type names or extension IDs of extensions allowed in - grpc side channel from client to backend. - type: array + 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` dimensionless + **Prefixes (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) **Grammar** The 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"). + labels: items: - type: string - type: object - Method: - type: object - id: Method - properties: - name: - description: The simple name of this method. - type: string - responseStreaming: - type: boolean - description: If true, the response is streamed. - requestTypeUrl: - description: A URL of the input message type. - type: string - options: - description: Any metadata attached to the method. + $ref: '#/components/schemas/LabelDescriptor' + description: >- + The set of labels that can be used to describe a specific instance + of this metric type. For example, the + `appengine.googleapis.com/http/server/response_latencies` metric + type has a label for the HTTP response code, `response_code`, so you + can look at latencies for successful responses or just for responses + that failed. type: array - items: - $ref: '#/components/schemas/Option' - requestStreaming: - type: boolean - description: If true, the request is streamed. - responseTypeUrl: - type: string - description: The URL of the output message type. - syntax: - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. + valueType: type: string - description: The source syntax of this method. enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - description: Method represents a method of an API interface. - UndeleteTenantProjectRequest: - type: object - id: UndeleteTenantProjectRequest - description: >- - Request message to undelete tenant project resource previously deleted - from the tenancy unit. - properties: - tag: + - VALUE_TYPE_UNSPECIFIED + - BOOL + - INT64 + - DOUBLE + - STRING + - DISTRIBUTION + - MONEY + enumDescriptions: + - Do not use this default value. + - >- + The value is a boolean. This value type can be used only if the + metric kind is `GAUGE`. + - The value is a signed 64-bit integer. + - The value is a double precision floating point number. + - >- + The value is a text string. This value type can be used only if + the metric kind is `GAUGE`. + - The value is a `Distribution`. + - The value is money. + description: >- + Whether the measurement is an integer, a floating-point number, etc. + Some combinations of `metric_kind` and `value_type` might not be + supported. + description: + description: >- + A detailed description of the metric, which can be used in + documentation. type: string - description: Required. Tag of the resource within the tenancy unit. - MonitoredResourceDescriptor: - type: object - id: MonitoredResourceDescriptor - properties: - type: + name: + description: The resource name of the metric descriptor. type: string - description: >- - 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). + metadata: + $ref: '#/components/schemas/MetricDescriptorMetadata' + description: Optional. Metadata which can be used to guide usage of the metric. displayName: description: >- - 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"`. + A concise name for the metric, which can be displayed in user + interfaces. Use sentence case without an ending period, for example + "Request count". This field is optional but it is recommended to be + set for any metrics associated with user-visible concepts, such as + Quota. type: string launchStage: enumDescriptions: @@ -1002,6 +1232,7 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. + type: string enum: - LAUNCH_STAGE_UNSPECIFIED - UNIMPLEMENTED @@ -1011,509 +1242,208 @@ components: - BETA - GA - DEPRECATED - description: Optional. The launch stage of the monitored resource definition. - type: string - labels: - description: >- - 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"`. - type: array - items: - $ref: '#/components/schemas/LabelDescriptor' - description: - type: string - description: >- - Optional. A detailed description of the monitored resource type that - might be used in documentation. - name: - description: >- - 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}"`. - type: string - description: >- - An object that describes the schema of a MonitoredResource object using - a type name and a set of labels. For example, the monitored resource - descriptor for Google Compute Engine VM instances has a type of - `"gce_instance"` and specifies the use of the labels `"instance_id"` and - `"zone"` to identify particular VM instances. Different APIs can support - different monitored resource types. APIs generally provide a `list` - method that returns the monitored resource descriptors used by the API. - TenantResource: - id: TenantResource - properties: - status: + description: Optional. The launch stage of the metric definition. + metricKind: type: string enum: - - STATUS_UNSPECIFIED - - PENDING_CREATE - - ACTIVE - - PENDING_DELETE - - FAILED - - DELETED - enumDescriptions: - - Unspecified status is the default unset value. - - Creation of the tenant resource is ongoing. - - Active resource. - - Deletion of the resource is ongoing. - - Tenant resource creation or deletion has failed. - - Tenant resource has been deleted. - description: Status of tenant resource. - resource: - type: string - readOnly: true - description: >- - Output only. @OutputOnly Identifier of the tenant resource. For - cloud projects, it is in the form 'projects/{number}'. For example - 'projects/123456'. - tag: - description: Unique per single tenancy unit. - type: string - description: Resource constituting the TenancyUnit. - type: object - PhpSettings: - properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - type: object - id: PhpSettings - description: Settings for Php client libraries. - TenantProjectPolicy: - description: >- - Describes policy settings that can be applied to a newly created tenant - project. - properties: - policyBindings: - items: - $ref: '#/components/schemas/PolicyBinding' - description: >- - Policy bindings to be applied to the tenant project, in addition to - the 'roles/owner' role granted to the Service Consumer Management - service account. - type: array - type: object - id: TenantProjectPolicy - Http: - properties: - fullyDecodeReservedExpansion: - description: >- - When set to true, URL path parameters will be fully URI-decoded - except in cases of single segment matches in reserved expansion, - where "%2F" will be left encoded. The default behavior is to not - decode RFC 6570 reserved characters in multi segment matches. - type: boolean - rules: - items: - $ref: '#/components/schemas/HttpRule' - type: array - description: >- - A list of HTTP configuration rules that apply to individual API - methods. **NOTE:** All service configuration rules follow "last one - wins" order. - type: object - id: Http - description: >- - 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. - JwtLocation: - id: JwtLocation - description: Specifies a location to extract JWT from an API request. - type: object - properties: - valuePrefix: - type: string + - METRIC_KIND_UNSPECIFIED + - GAUGE + - DELTA + - CUMULATIVE description: >- - The value prefix. The value format is "value_prefix{token}" Only - applies to "in" header type. Must be empty for "in" query type. If - not empty, the header value has to match (case sensitive) this - prefix. If not matched, JWT will not be extracted. If matched, JWT - will be extracted after the prefix is removed. For example, for - "Authorization: Bearer {JWT}", value_prefix="Bearer " with a space - at the end. - header: - type: string - description: Specifies HTTP header name to extract JWT token. - query: - description: Specifies URL query parameter name to extract JWT token. - type: string - cookie: - type: string - description: Specifies cookie name to extract JWT token. - Page: + Whether the metric records instantaneous values, changes to a value, + etc. Some combinations of `metric_kind` and `value_type` might not + be supported. + enumDescriptions: + - Do not use this default value. + - An instantaneous measurement of a value. + - The change in a value during a time interval. + - >- + A value accumulated over a time interval. Cumulative measurements + in a time series should have 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. type: object - description: >- - Represents a documentation page. A page can contain subpages to - represent nested documentation set structure. - id: Page + V1Beta1ServiceIdentity: properties: - name: + email: type: string - description: >- - The name of the page. It will be used as an identity of the page to - generate URI of the page, text of the link to this page in - navigation, etc. The full page name (start from the root page name - to this page concatenated with `.`) can be used as reference to the - page in your documentation. For example: pages: - name: Tutorial - content: (== include tutorial.md ==) subpages: - name: Java content: - (== include tutorial_java.md ==) You can reference `Java` page using - Markdown reference link syntax: `Java`. - content: - description: >- - The Markdown content of the page. You can use (== include {path} ==) - to include content from a Markdown file. The content can be used to - produce the documentation page such as HTML format page. + description: The email address of the service identity. + uniqueId: + description: The unique and stable id of the service identity. type: string - subpages: - description: >- - Subpages of this page. The order of subpages specified here will be - honored in the generated docset. - items: - $ref: '#/components/schemas/Page' - type: array - Option: - description: >- - A protocol buffer option, which can be attached to a message, field, - enumeration, etc. - properties: name: type: string description: >- - The option's name. For protobuf built-in options (options defined in - descriptor.proto), this is the short name. For example, - `"map_entry"`. For custom options, it should be the fully-qualified - name. For example, `"google.api.http"`. - value: - type: object + P4 service identity resource name. An example name would be: + `services/serviceconsumermanagement.googleapis.com/projects/123/serviceIdentities/default` + tag: description: >- - The option's value packed in an Any message. If the value is a - primitive, the corresponding wrapper type defined in - google/protobuf/wrappers.proto should be used. If the value is an - enum, it should be stored as an int32 value using the - google.protobuf.Int32Value type. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - id: Option + The P4 service identity configuration tag. This must be defined in + activation_grants. If not specified when creating the account, the + tag is set to "default". + type: string + id: V1Beta1ServiceIdentity type: object - Backend: + description: A service identity in the Identity and Access Management API. + UndeleteTenantProjectRequest: type: object properties: - rules: - items: - $ref: '#/components/schemas/BackendRule' - type: array - description: >- - A list of API backend rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. - id: Backend - description: '`Backend` defines the backend configuration for a service.' - Mixin: + tag: + type: string + description: Required. Tag of the resource within the tenancy unit. description: >- - Declares an API Interface to be included in this interface. The - including interface must redeclare all the methods from the included - interface, but documentation and options are inherited as follows: - If - after comment and whitespace stripping, the documentation string of the - redeclared method is empty, it will be inherited from the original - method. - Each annotation belonging to the service config (http, - visibility) which is not set in the redeclared method will be inherited. - - If an http annotation is inherited, the path pattern will be modified - as follows. Any version prefix will be replaced by the version of the - including interface plus the root path if specified. Example of a simple - mixin: package google.acl.v1; service AccessControl { // Get the - underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option - (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package - google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) - returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns - (Data) { option (google.api.http).get = "/v2/{resource=**}"; } } Example - of a mixin configuration: apis: - name: google.storage.v2.Storage - mixins: - name: google.acl.v1.AccessControl The mixin construct implies - that all methods in `AccessControl` are also declared with same name and - request/response types in `Storage`. A documentation generator or - annotation processor will see the effective `Storage.GetAcl` method - after inherting documentation and annotations as follows: service - Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) - returns (Acl) { option (google.api.http).get = - "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path - pattern changed from `v1` to `v2`. If the `root` field in the mixin is - specified, it should be a relative path under which inherited HTTP paths - are placed. Example: apis: - name: google.storage.v2.Storage mixins: - - name: google.acl.v1.AccessControl root: acls This implies the following - inherited HTTP annotation: service Storage { // Get the underlying ACL - object. rpc GetAcl(GetAclRequest) returns (Acl) { option - (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... } + Request message to undelete tenant project resource previously deleted + from the tenancy unit. + id: UndeleteTenantProjectRequest + ListOperationsResponse: + id: ListOperationsResponse type: object - id: Mixin properties: - root: - description: >- - If non-empty specifies a path under which inherited HTTP paths are - rooted. - type: string - name: - description: The fully qualified name of the interface which is included. + nextPageToken: type: string - NodeSettings: - type: object - id: NodeSettings - description: Settings for Node client libraries. - properties: - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - AuthenticationRule: - properties: - allowWithoutCredential: - type: boolean - description: >- - If true, the service accepts API keys without any other credential. - This flag only applies to HTTP and gRPC requests. - requirements: - description: Requirements for additional authentication providers. + description: The standard List next-page token. + operations: items: - $ref: '#/components/schemas/AuthRequirement' + $ref: '#/components/schemas/Operation' type: array - selector: - type: string - description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - oauth: - description: The requirements for OAuth credentials. - $ref: '#/components/schemas/OAuthRequirements' - id: AuthenticationRule - description: >- - Authentication rules for the service. By default, if a method has any - authentication requirements, every request must include a valid - credential matching one of the requirements. It's an error to include - more than one kind of credential in a single request. If a method - doesn't have any auth requirements, request credentials will be ignored. - type: object - UsageRule: - description: >- - Usage configuration rules for the service. NOTE: Under development. Use - this rule to configure unregistered calls for the service. Unregistered - calls are calls that do not contain consumer project identity. (Example: - calls that do not contain an API key). By default, API methods do not - allow unregistered calls, and each method call must be identified by a - consumer project identity. Use this rule to allow/disallow unregistered - calls. Example of an API that wants to allow unregistered calls for - entire service. usage: rules: - selector: "*" allow_unregistered_calls: - true Example of a method that wants to allow unregistered calls. usage: - rules: - selector: "google.example.library.v1.LibraryService.CreateBook" - allow_unregistered_calls: true - properties: - allowUnregisteredCalls: - description: >- - If true, the selected method allows unregistered calls, e.g. calls - that don't identify any user or application. - type: boolean - selector: - type: string - description: >- - Selects the methods to which this rule applies. Use '*' to indicate - all methods in all APIs. Refer to selector for syntax details. - skipServiceControl: - type: boolean description: >- - If true, the selected method should skip service control and the - control plane features, such as quota and billing, will not be - available. This flag is used by Google Cloud Endpoints to bypass - checks for internal methods, such as service health check methods. + A list of operations that matches the specified filter in the + request. + description: The response message for Operations.ListOperations. + Publishing: type: object - id: UsageRule - V1DisableConsumerResponse: description: >- - Response message for the `DisableConsumer` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. - type: object - properties: {} - id: V1DisableConsumerResponse - Usage: + 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. + id: Publishing properties: - producerNotificationChannel: + restReferenceDocumentationUri: type: string description: >- - The full resource name of a channel used for sending notifications - to the service producer. Google Service Management currently only - supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as - a notification channel. To use Google Cloud Pub/Sub as the channel, - this must be the name of a Cloud Pub/Sub topic that uses the Cloud - Pub/Sub topic name format documented in - https://cloud.google.com/pubsub/docs/overview. - rules: - items: - $ref: '#/components/schemas/UsageRule' - description: >- - A list of usage rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. - type: array - requirements: - items: - type: string - type: array - description: >- - Requirements that must be satisfied before a consumer project can - use the service. Each requirement is of the form /; for example - 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a - Terms of Service requirement must be included here. Google Cloud - APIs must include "serviceusage.googleapis.com/tos/cloud". Other - Google APIs should include - "serviceusage.googleapis.com/tos/universal". Additional ToS can be - included based on the business needs. - description: Configuration controlling usage of a service. - type: object - id: Usage - Api: - id: Api - type: object - properties: - syntax: - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - description: The source syntax of the service. + Optional link to REST reference documentation. Example: + https://cloud.google.com/pubsub/lite/docs/reference/rest + documentationUri: type: string + description: >- + Link to product home page. Example: + https://cloud.google.com/asset-inventory/docs/overview + organization: enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - name: + - Not useful. + - Google Cloud Platform Org. + - Ads (Advertising) Org. + - Photos Org. + - Street View Org. + - Shopping Org. + - Geo Org. + - Generative AI - https://developers.generativeai.google + description: For whom the client library is being published. + type: string + enum: + - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED + - CLOUD + - ADS + - PHOTOS + - STREET_VIEW + - SHOPPING + - GEO + - GENERATIVE_AI + apiShortName: type: string description: >- - The fully qualified name of this interface, including package name - followed by the interface's simple name. - sourceContext: + Used as a tracking tag when collecting data about the APIs developer + relations artifacts like docs, packages delivered to package + managers, etc. Example: "speech". + librarySettings: description: >- - Source context for the protocol buffer service represented by this - message. - $ref: '#/components/schemas/SourceContext' - methods: + Client library settings. If the same version string appears multiple + times in this list, then the last one wins. Settings from earlier + settings with the same version string are discarded. items: - $ref: '#/components/schemas/Method' - description: The methods of this interface, in unspecified order. - type: array - options: - description: Any metadata attached to the interface. + $ref: '#/components/schemas/ClientLibrarySettings' type: array - items: - $ref: '#/components/schemas/Option' - version: + protoReferenceDocumentationUri: + description: >- + Optional link to proto reference documentation. Example: + https://cloud.google.com/pubsub/lite/docs/reference/rpc type: string + codeownerGithubTeams: description: >- - A version string for this interface. If specified, must have the - form `major-version.minor-version`, as in `1.10`. If the minor - version is omitted, it defaults to zero. If the entire version field - is empty, the major version is derived from the package name, as - outlined below. If the field is not empty, the version in the - package name will be verified to be consistent with what is provided - here. The versioning schema uses [semantic - versioning](http://semver.org) where the major version number - indicates a breaking change and the minor version an additive, - non-breaking change. Both version numbers are signals to users what - to expect from different versions, and should be carefully chosen - based on the product plan. The major version is also reflected in - the package name of the interface, which must end in `v`, as in - `google.feature.v1`. For major versions 0 and 1, the suffix can be - omitted. Zero major versions must only be used for experimental, - non-GA interfaces. - mixins: - type: array + GitHub teams to be added to CODEOWNERS in the directory in GitHub + containing source code for the client libraries for this API. items: - $ref: '#/components/schemas/Mixin' - description: Included interfaces. See Mixin. - description: >- - Api is a light-weight descriptor for an API Interface. Interfaces are - also described as "protocol buffer services" in some contexts, such as - by the "service" keyword in a .proto file, but they are different from - API Services, which represent a concrete implementation of an interface - as opposed to simply a description of methods and bindings. They are - also sometimes simply referred to as "APIs" in other contexts, such as - the name of this message itself. See - https://cloud.google.com/apis/design/glossary for detailed terminology. - V1Beta1EnableConsumerResponse: - description: >- - Response message for the `EnableConsumer` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. - type: object - properties: {} - id: V1Beta1EnableConsumerResponse - SearchTenancyUnitsResponse: - id: SearchTenancyUnitsResponse - properties: - nextPageToken: + type: string + type: array + newIssueUri: + description: >- + Link to a *public* URI where users can report issues. Example: + https://issuetracker.google.com/issues/new?component=190865&template=1161103 type: string - description: Pagination token for large results. - tenancyUnits: + docTagPrefix: + description: >- + A prefix used in sample code when demarking regions to be included + in documentation. + type: string + methodSettings: type: array - description: Tenancy Units matching the request. + description: >- + A list of API method settings, e.g. the behavior for methods that + use the long-running operation pattern. items: - $ref: '#/components/schemas/TenancyUnit' - description: Response for the search query. + $ref: '#/components/schemas/MethodSettings' + githubLabel: + type: string + description: >- + GitHub label to apply to issues and pull requests opened for this + API. + Context: + description: >- + `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. + id: Context type: object - V1Beta1ImportProducerQuotaPoliciesResponse: - id: V1Beta1ImportProducerQuotaPoliciesResponse properties: - policies: - description: The policies that were created from the imported data. + rules: + description: >- + A list of RPC context rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. items: - $ref: '#/components/schemas/V1Beta1ProducerQuotaPolicy' + $ref: '#/components/schemas/ContextRule' type: array - description: Response message for ImportProducerQuotaPolicies - type: object - Type: - id: Type - description: A protocol buffer message type. + BillingDestination: + description: >- + Configuration of a specific billing destination (Currently only support + bill against consumer project). properties: - edition: - type: string + monitoredResource: description: >- - The source edition string, only valid when syntax is - SYNTAX_EDITIONS. - options: - items: - $ref: '#/components/schemas/Option' - description: The protocol buffer options. - type: array - name: - description: The fully qualified message name. + The monitored resource type. The type must be defined in + Service.monitored_resources section. type: string - oneofs: - type: array + metrics: items: type: string - description: The list of types appearing in `oneof` definitions in this type. - fields: + description: >- + Names of the metrics to report to this billing destination. Each + name must be defined in Service.metrics section. type: array - items: - $ref: '#/components/schemas/Field' - description: The list of fields. - syntax: - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - type: string - description: The source syntax. - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - sourceContext: - description: The source context. - $ref: '#/components/schemas/SourceContext' type: object + id: BillingDestination QuotaLimit: description: >- `QuotaLimit` defines a specific limit that applies over a specified @@ -1521,13 +1451,39 @@ components: and limit type combination defined within a `QuotaGroup`. type: object properties: + unit: + type: string + description: >- + Specify the unit of the quota limit. It uses the same syntax as + Metric.unit. The supported unit kinds are determined by the quota + backend system. Here are some examples: * "1/min/{project}" for + quota per minute per project. Note: the order of unit components is + insignificant. The "1" at the beginning is required to follow the + metric unit syntax. + displayName: + type: string + description: >- + User-visible display name for this limit. Optional. If not set, the + UI will provide a default display name based on the quota + configuration. This field can be used to override the default + display name generated from the configuration. + values: + type: object + description: >- + Tiered limit values. You must specify this as a key:value pair, with + an integer value that is the maximum number of requests allowed for + the specified unit. Currently only STANDARD is supported. + additionalProperties: + format: int64 + type: string duration: + type: string description: >- Duration of this limit in textual notation. Must be "100s" or "1d". Used by group-based quotas only. - type: string defaultLimit: format: int64 + type: string description: >- Default number of tokens that can be consumed during the specified duration. This is the number of tokens assigned when a client @@ -1537,31 +1493,29 @@ components: others. Similarly, a value of -1 will indicate an unlimited quota. No other negative values are allowed. Used by group-based quotas only. - type: string - values: - description: >- - Tiered limit values. You must specify this as a key:value pair, with - an integer value that is the maximum number of requests allowed for - the specified unit. Currently only STANDARD is supported. - additionalProperties: - type: string - format: int64 - type: object metric: - type: string description: >- The name of the metric this quota limit applies to. The quota limits with the same metric will be checked together during runtime. The metric must be defined within the service config. + type: string description: + type: string description: >- Optional. User-visible, extended description for this quota limit. Should be used only when more context is needed to understand this limit than provided by the limit's display name (see: `display_name`). + name: type: string + description: >- + Name of the quota limit. The name must be provided, and it must be + unique within the service. The name can only include alphanumeric + characters as well as '-'. The maximum length of the limit name is + 64 characters. maxLimit: type: string + format: int64 description: >- Maximum number of tokens that can be consumed during the specified duration. Client application developers can override the default @@ -1570,8 +1524,8 @@ components: the default limit. To allow clients to apply overrides with no upper bound, set this to -1, indicating unlimited maximum quota. Used by group-based quotas only. - format: int64 freeTier: + format: int64 description: >- Free tier value displayed in the Developers Console for this limit. The free tier is the number of tokens that will be subtracted from @@ -1581,722 +1535,870 @@ components: 0, indicating that there is no free tier for this service. Used by group-based quotas only. type: string - format: int64 - displayName: - type: string + id: QuotaLimit + UsageRule: + properties: + allowUnregisteredCalls: + type: boolean description: >- - User-visible display name for this limit. Optional. If not set, the - UI will provide a default display name based on the quota - configuration. This field can be used to override the default - display name generated from the configuration. - unit: + If true, the selected method allows unregistered calls, e.g. calls + that don't identify any user or application. + selector: type: string description: >- - Specify the unit of the quota limit. It uses the same syntax as - Metric.unit. The supported unit kinds are determined by the quota - backend system. Here are some examples: * "1/min/{project}" for - quota per minute per project. Note: the order of unit components is - insignificant. The "1" at the beginning is required to follow the - metric unit syntax. - name: - type: string + Selects the methods to which this rule applies. Use '*' to indicate + all methods in all APIs. Refer to selector for syntax details. + skipServiceControl: + type: boolean description: >- - Name of the quota limit. The name must be provided, and it must be - unique within the service. The name can only include alphanumeric - characters as well as '-'. The maximum length of the limit name is - 64 characters. - id: QuotaLimit - PolicyBinding: - id: PolicyBinding - description: Translates to IAM Policy bindings (without auditing at this level) + If true, the selected method should skip service control and the + control plane features, such as quota and billing, will not be + available. This flag is used by Google Cloud Endpoints to bypass + checks for internal methods, such as service health check methods. + description: >- + Usage configuration rules for the service. NOTE: Under development. Use + this rule to configure unregistered calls for the service. Unregistered + calls are calls that do not contain consumer project identity. (Example: + calls that do not contain an API key). By default, API methods do not + allow unregistered calls, and each method call must be identified by a + consumer project identity. Use this rule to allow/disallow unregistered + calls. Example of an API that wants to allow unregistered calls for + entire service. usage: rules: - selector: "*" allow_unregistered_calls: + true Example of a method that wants to allow unregistered calls. usage: + rules: - selector: "google.example.library.v1.LibraryService.CreateBook" + allow_unregistered_calls: true + id: UsageRule + type: object + CustomError: + type: object properties: - members: + rules: + items: + $ref: '#/components/schemas/CustomErrorRule' description: >- - Uses the same format as in IAM policy. `member` must include both a - prefix and ID. For example, `user:{emailId}`, - `serviceAccount:{emailId}`, `group:{emailId}`. + The list of custom error rules that apply to individual API + messages. **NOTE:** All service configuration rules follow "last one + wins" order. + type: array + types: items: type: string type: array - role: - type: string description: >- - Role. (https://cloud.google.com/iam/docs/understanding-roles) For - example, `roles/viewer`, `roles/editor`, or `roles/owner`. + The list of custom error detail types, e.g. + 'google.foo.v1.CustomError'. + description: >- + 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 + id: CustomError + MethodPolicy: type: object - BackendRule: + description: Defines policies applying to an RPC method. properties: - overridesByRequestProtocol: - additionalProperties: - $ref: '#/components/schemas/BackendRule' - type: object - description: The map between request protocol and the backend address. - deadline: - type: number - description: >- - The number of seconds to wait for a response from a request. The - default varies based on the request protocol and deployment - environment. - format: double selector: type: string description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - minDeadline: - type: number - deprecated: true - format: double - description: Deprecated, do not use. - disableAuth: + Selects a method to which these policies should be enforced, for + example, "google.pubsub.v1.Subscriber.CreateSubscription". Refer to + selector for syntax details. NOTE: This field must not be set in the + proto annotation. It will be automatically filled by the service + config compiler . + requestPolicies: + items: + $ref: '#/components/schemas/FieldPolicy' + type: array + description: Policies that are applicable to the request message. + id: MethodPolicy + Service: + type: object + id: Service + description: >- + `Service` is the root object of Google API service configuration + (service config). It describes the basic information about a logical + service, such as the service name and the user-facing title, and + delegates other aspects to sub-sections. Each sub-section is either a + proto message or a repeated proto message that configures a specific + aspect, such as auth. For more information, see each proto message + definition. Example: type: google.api.Service name: + calendar.googleapis.com title: Google Calendar API apis: - name: + google.calendar.v3.Calendar visibility: rules: - selector: + "google.calendar.v3.*" restriction: PREVIEW backend: rules: - selector: + "google.calendar.v3.*" address: calendar.example.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 + properties: + documentation: + description: Additional API documentation. + $ref: '#/components/schemas/Documentation' + monitoredResources: + type: array description: >- - When disable_auth is true, a JWT ID token won't be generated and the - original "Authorization" HTTP header will be preserved. If the - header is used to carry the original token and is expected by the - backend, this field must be set to true to preserve the header. - type: boolean - protocol: + Defines the monitored resources used by this service. This is + required by the Service.monitoring and Service.logging + configurations. + items: + $ref: '#/components/schemas/MonitoredResourceDescriptor' + sourceInfo: + $ref: '#/components/schemas/SourceInfo' + description: >- + Output only. The source information for this configuration if + available. + systemTypes: + type: array + description: >- + 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. + items: + $ref: '#/components/schemas/Type' + types: + items: + $ref: '#/components/schemas/Type' + type: array + description: >- + 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 + billing: + $ref: '#/components/schemas/Billing' + description: Billing configuration. + control: + $ref: '#/components/schemas/Control' + description: Configuration for the service control plane. + endpoints: + type: array + description: >- + 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. + items: + $ref: '#/components/schemas/Endpoint' + configVersion: + description: >- + Obsolete. Do not use. This field has no semantic meaning. The + service config compiler always sets this field to `3`. + format: uint32 + type: integer + authentication: + description: Auth configuration. + $ref: '#/components/schemas/Authentication' + title: type: string description: >- - The protocol used for sending a request to the backend. The - supported values are "http/1.1" and "h2". The default value is - inferred from the scheme in the address field: SCHEME PROTOCOL - http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure - HTTP backends (https://) that support HTTP/2, set this field to "h2" - for improved performance. Configuring this field to non-default - values is only supported for secure HTTP backends. This field will - be ignored for all other backends. See - https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids - for more details on the supported values. - operationDeadline: - type: number + The product title for this service, it is the name displayed in + Google Cloud Console. + logging: + description: Logging configuration. + $ref: '#/components/schemas/Logging' + name: + type: string description: >- - The number of seconds to wait for the completion of a long running - operation. The default is no deadline. - format: double - pathTranslation: - enumDescriptions: - - '' - - >- - Use the backend address as-is, with no modification to the path. - If the URL pattern contains variables, the variable names and - values will be appended to the query string. If a query string - parameter and a URL pattern variable have the same name, this may - result in duplicate keys in the query string. # Examples Given the - following operation config: Method path: - /api/company/{cid}/user/{uid} Backend address: - https://example.cloudfunctions.net/getUser Requests to the - following request paths will call the backend at the translated - path: Request path: /api/company/widgetworks/user/johndoe - Translated: - https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe - Request path: /api/company/widgetworks/user/johndoe?timezone=EST - Translated: - https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe - - >- - The request path will be appended to the backend address. # - Examples Given the following operation config: Method path: - /api/company/{cid}/user/{uid} Backend address: - https://example.appspot.com Requests to the following request - paths will call the backend at the translated path: Request path: - /api/company/widgetworks/user/johndoe Translated: - https://example.appspot.com/api/company/widgetworks/user/johndoe - Request path: /api/company/widgetworks/user/johndoe?timezone=EST - Translated: - https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST - enum: - - PATH_TRANSLATION_UNSPECIFIED - - CONSTANT_ADDRESS - - APPEND_PATH_TO_ADDRESS + The service name, which is a DNS-like logical identifier for the + service, such as `calendar.googleapis.com`. The service name + typically goes through DNS verification to make sure the owner of + the service also owns the DNS name. + customError: + description: Custom error configuration. + $ref: '#/components/schemas/CustomError' + usage: + $ref: '#/components/schemas/Usage' + description: Configuration controlling usage of this service. + id: + description: >- + A unique ID for a specific instance of this message, typically + assigned by the client for tracking purpose. Must be no longer than + 63 characters and only lower case letters, digits, '.', '_' and '-' + are allowed. If empty, the server may choose to generate one + instead. type: string - address: + producerProjectId: + description: The Google project that owns this service. type: string + systemParameters: + $ref: '#/components/schemas/SystemParameters' + description: System parameter configuration. + monitoring: + $ref: '#/components/schemas/Monitoring' + description: Monitoring configuration. + backend: + description: API backend configuration. + $ref: '#/components/schemas/Backend' + quota: + $ref: '#/components/schemas/Quota' + description: Quota configuration. + publishing: description: >- - The address of the API backend. The scheme is used to determine the - backend protocol and security. The following schemes are accepted: - SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// - gRPC None grpcs:// gRPC TLS It is recommended to explicitly include - a scheme. Leaving out the scheme may cause constrasting behaviors - across platforms. If the port is unspecified, the default is: - 80 - for schemes without TLS - 443 for schemes with TLS For HTTP - backends, use protocol to specify the protocol version. - jwtAudience: - description: >- - The JWT audience is used when generating a JWT ID token for the - backend. This ID token will be added in the HTTP "authorization" - header, and sent to the backend. - type: string - description: A backend rule provides configuration for an individual API element. - id: BackendRule - type: object - Authentication: - id: Authentication - type: object - description: >- - `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 - properties: - providers: - description: Defines a set of authentication providers that a service supports. + Settings for [Google Cloud Client + libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) + generated from APIs defined as protocol buffers. + $ref: '#/components/schemas/Publishing' + context: + description: Context configuration. + $ref: '#/components/schemas/Context' + logs: type: array items: - $ref: '#/components/schemas/AuthProvider' - rules: + $ref: '#/components/schemas/LogDescriptor' + description: Defines the logs used by this service. + http: + description: HTTP configuration. + $ref: '#/components/schemas/Http' + apis: items: - $ref: '#/components/schemas/AuthenticationRule' + $ref: '#/components/schemas/Api' + type: array description: >- - A list of authentication rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + 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. + metrics: type: array - V1RefreshConsumerResponse: - id: V1RefreshConsumerResponse - type: object - description: >- - Response message for the `RefreshConsumer` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. - properties: {} - Empty: + items: + $ref: '#/components/schemas/MetricDescriptor' + description: Defines the metrics used by this service. + enums: + description: >- + 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 + type: array + items: + $ref: '#/components/schemas/Enum' + Http: + id: Http description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - id: Empty - properties: {} - type: object - LabelDescriptor: - description: A description of a label. - id: LabelDescriptor - type: object - properties: - valueType: - description: The type of data that can be assigned to the label. - enumDescriptions: - - A variable-length string. This is the default. - - Boolean; true or false. - - A 64-bit signed integer. - enum: - - STRING - - BOOL - - INT64 - type: string - description: - description: A human-readable description for the label. - type: string - key: - description: The label key. - type: string - Field: - id: Field + 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. properties: - number: - format: int32 - description: The field number. - type: integer - packed: + fullyDecodeReservedExpansion: type: boolean - description: Whether to use alternative packed wire representation. - name: - type: string - description: The field name. - kind: - type: string - enum: - - TYPE_UNKNOWN - - TYPE_DOUBLE - - TYPE_FLOAT - - TYPE_INT64 - - TYPE_UINT64 - - TYPE_INT32 - - TYPE_FIXED64 - - TYPE_FIXED32 - - TYPE_BOOL - - TYPE_STRING - - TYPE_GROUP - - TYPE_MESSAGE - - TYPE_BYTES - - TYPE_UINT32 - - TYPE_ENUM - - TYPE_SFIXED32 - - TYPE_SFIXED64 - - TYPE_SINT32 - - TYPE_SINT64 - enumDescriptions: - - Field type unknown. - - Field type double. - - Field type float. - - Field type int64. - - Field type uint64. - - Field type int32. - - Field type fixed64. - - Field type fixed32. - - Field type bool. - - Field type string. - - Field type group. Proto2 syntax only, and deprecated. - - Field type message. - - Field type bytes. - - Field type uint32. - - Field type enum. - - Field type sfixed32. - - Field type sfixed64. - - Field type sint32. - - Field type sint64. - description: The field type. - typeUrl: - type: string - description: >- - The field type URL, without the scheme, for message or enumeration - types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. - cardinality: - enum: - - CARDINALITY_UNKNOWN - - CARDINALITY_OPTIONAL - - CARDINALITY_REQUIRED - - CARDINALITY_REPEATED - type: string - enumDescriptions: - - For fields with unknown cardinality. - - For optional fields. - - For required fields. Proto2 syntax only. - - For repeated fields. - description: The field cardinality. - defaultValue: description: >- - The string value of the default value of this field. Proto2 syntax - only. - type: string - options: - items: - $ref: '#/components/schemas/Option' - description: The protocol buffer options. + When set to true, URL path parameters will be fully URI-decoded + except in cases of single segment matches in reserved expansion, + where "%2F" will be left encoded. The default behavior is to not + decode RFC 6570 reserved characters in multi segment matches. + rules: type: array - jsonName: - description: The field JSON name. - type: string - oneofIndex: + items: + $ref: '#/components/schemas/HttpRule' description: >- - The index of the field type in `Type.oneofs`, for message or - enumeration types. The first type has index 1; zero means the type - is not in the list. - format: int32 - type: integer + A list of HTTP configuration rules that apply to individual API + methods. **NOTE:** All service configuration rules follow "last one + wins" order. + type: object + V1Beta1ImportProducerOverridesResponse: + type: object + id: V1Beta1ImportProducerOverridesResponse + description: Response message for ImportProducerOverrides + properties: + overrides: + description: The overrides that were created from the imported data. + type: array + items: + $ref: '#/components/schemas/V1Beta1QuotaOverride' + V1EnableConsumerResponse: + id: V1EnableConsumerResponse type: object - description: A single field of a message type. - LoggingDestination: + properties: {} description: >- - Configuration of a specific logging destination (the producer project or - the consumer project). + Response message for the `EnableConsumer` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. + Quota: properties: - logs: + metricRules: type: array items: - type: string - description: >- - Names of the logs to be sent to this destination. Each name must be - defined in the Service.logs section. If the log name is not a domain - scoped name, it will be automatically prefixed with the service name - followed by "/". - monitoredResource: + $ref: '#/components/schemas/MetricRule' description: >- - The monitored resource type. The type must be defined in the - Service.monitored_resources section. - type: string - id: LoggingDestination + List of MetricRule definitions, each one mapping a selected method + to one or more metrics. + limits: + description: List of QuotaLimit definitions for the service. + type: array + items: + $ref: '#/components/schemas/QuotaLimit' + id: Quota + description: >- + 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 type: object - CommonLanguageSettings: + Monitoring: + type: object + id: Monitoring properties: - destinations: + producerDestinations: type: array - items: - type: string - enum: - - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED - - GITHUB - - PACKAGE_MANAGER - enumDescriptions: - - >- - Client libraries will neither be generated nor published to - package managers. - - >- - Generate the client library in a repo under - github.com/googleapis, but don't publish it to package managers. - - >- - Publish the library to package managers like nuget.org and - npmjs.com. description: >- - The destination where API teams want this client library to be - published. - referenceDocsUri: - type: string - deprecated: true + Monitoring configurations for sending metrics to the producer + project. There can be multiple producer destinations. A monitored + resource type may appear in multiple monitoring destinations if + different aggregations are needed for different sets of metrics + associated with that monitored resource type. A monitored resource + and metric pair may only be used once in the Monitoring + configuration. + items: + $ref: '#/components/schemas/MonitoringDestination' + consumerDestinations: + items: + $ref: '#/components/schemas/MonitoringDestination' + type: array description: >- - Link to automatically generated reference documentation. Example: - https://cloud.google.com/nodejs/docs/reference/asset/latest - id: CommonLanguageSettings - description: Required information for every language. - type: object - Billing: + Monitoring configurations for sending metrics to the consumer + project. There can be multiple consumer destinations. A monitored + resource type may appear in multiple monitoring destinations if + different aggregations are needed for different sets of metrics + associated with that monitored resource type. A monitored resource + and metric pair may only be used once in the Monitoring + configuration. description: >- - 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 - id: Billing + 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 + AuthProvider: + id: AuthProvider + description: >- + Configuration for an authentication provider, including support for + [JSON Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + type: object properties: - consumerDestinations: + audiences: + type: string + description: >- + The list of JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. When this setting is absent, JWTs with audiences: + - "https://[service.name]/[google.protobuf.Api.name]" - + "https://[service.name]/" will be accepted. For example, if no + audiences are in the setting, LibraryService API will accept JWTs + with the following audiences: - + https://library-example.googleapis.com/google.example.library.v1.LibraryService + - https://library-example.googleapis.com/ Example: audiences: + bookstore_android.apps.googleusercontent.com, + bookstore_web.apps.googleusercontent.com + jwksUri: + type: string + description: >- + URL of the provider's public key set to validate signature of the + JWT. See [OpenID + Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + Optional if the key set document: - can be retrieved from [OpenID + Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) + of the issuer. - can be inferred from the email domain of the issuer + (e.g. a Google service account). Example: + https://www.googleapis.com/oauth2/v1/certs + id: + type: string + description: >- + The unique identifier of the auth provider. It will be referred to + by `AuthRequirement.provider_id`. Example: "bookstore_auth". + authorizationUrl: + type: string + description: >- + Redirect URL if JWT token is required but not present or is expired. + Implement authorizationUrl of securityDefinitions in OpenAPI spec. + issuer: + type: string + description: >- + Identifies the principal that issued the JWT. See + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + Usually a URL or an email address. Example: + https://securetoken.google.com Example: + 1234567-compute@developer.gserviceaccount.com + jwtLocations: + description: >- + Defines the locations to extract the JWT. For now it is only used by + the Cloud Endpoints to store the OpenAPI extension + [x-google-jwt-locations] + (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) + JWT locations can be one of HTTP headers, URL query parameters or + cookies. The rule is that the first match wins. If not specified, + default to use following 3 locations: 1) Authorization: Bearer 2) + x-goog-iap-jwt-assertion 3) access_token query parameter Default + locations can be specified as followings: jwt_locations: - header: + Authorization value_prefix: "Bearer " - header: + x-goog-iap-jwt-assertion - query: access_token items: - $ref: '#/components/schemas/BillingDestination' + $ref: '#/components/schemas/JwtLocation' type: array + Mixin: + description: >- + Declares an API Interface to be included in this interface. The + including interface must redeclare all the methods from the included + interface, but documentation and options are inherited as follows: - If + after comment and whitespace stripping, the documentation string of the + redeclared method is empty, it will be inherited from the original + method. - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be inherited. + - If an http annotation is inherited, the path pattern will be modified + as follows. Any version prefix will be replaced by the version of the + including interface plus the root path if specified. Example of a simple + mixin: package google.acl.v1; service AccessControl { // Get the + underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package + google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) + returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns + (Data) { option (google.api.http).get = "/v2/{resource=**}"; } } Example + of a mixin configuration: apis: - name: google.storage.v2.Storage + mixins: - name: google.acl.v1.AccessControl The mixin construct implies + that all methods in `AccessControl` are also declared with same name and + request/response types in `Storage`. A documentation generator or + annotation processor will see the effective `Storage.GetAcl` method + after inheriting documentation and annotations as follows: service + Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) + returns (Acl) { option (google.api.http).get = + "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path + pattern changed from `v1` to `v2`. If the `root` field in the mixin is + specified, it should be a relative path under which inherited HTTP paths + are placed. Example: apis: - name: google.storage.v2.Storage mixins: - + name: google.acl.v1.AccessControl root: acls This implies the following + inherited HTTP annotation: service Storage { // Get the underlying ACL + object. rpc GetAcl(GetAclRequest) returns (Acl) { option + (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... } + id: Mixin + properties: + name: + description: The fully qualified name of the interface which is included. + type: string + root: + type: string description: >- - Billing configurations for sending metrics to the consumer project. - There can be multiple consumer destinations per service, each one - must have a different monitored resource type. A metric can be used - in at most one consumer destination. - type: object - MetricRule: + If non-empty specifies a path under which inherited HTTP paths are + rooted. type: object - id: MetricRule + RemoveTenantProjectRequest: description: >- - Bind API methods to metrics. Binding a method to a metric causes that - metric's configured quota behaviors to apply to the method call. + Request message to remove a tenant project resource from the tenancy + unit. properties: - selector: + tag: + description: Required. Tag of the resource within the tenancy unit. type: string + type: object + id: RemoveTenantProjectRequest + NodeSettings: + description: Settings for Node client libraries. + id: NodeSettings + type: object + properties: + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' + LoggingDestination: + type: object + description: >- + Configuration of a specific logging destination (the producer project or + the consumer project). + properties: + logs: description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - metricCosts: - type: object - additionalProperties: + Names of the logs to be sent to this destination. Each name must be + defined in the Service.logs section. If the log name is not a domain + scoped name, it will be automatically prefixed with the service name + followed by "/". + type: array + items: type: string - format: int64 + monitoredResource: + type: string description: >- - Metrics to update when the selected methods are called, and the - associated cost applied to each metric. The key of the map is the - metric name, and the values are the amount increased for the metric - against which the quota limits are defined. The value must not be - negative. - Operation: - description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: Operation + The monitored resource type. The type must be defined in the + Service.monitored_resources section. + id: LoggingDestination + V1Beta1RefreshConsumerResponse: + properties: {} type: object + id: V1Beta1RefreshConsumerResponse + description: >- + Response message for the `RefreshConsumer` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. + Endpoint: + id: Endpoint properties: - error: - $ref: '#/components/schemas/Status' - description: >- - The error result of the operation in case of failure or - cancellation. - response: - description: >- - 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`. - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - metadata: - description: >- - 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. - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - done: - description: >- - 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. + allowCors: type: boolean - name: description: >- - 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}`. + Allowing + [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), + aka cross-domain traffic, would allow the backends served from this + endpoint to receive and respond to HTTP OPTIONS requests. The + response will be used by the browser to determine whether the + subsequent cross-origin request is allowed to proceed. + name: + description: The canonical name of this endpoint. + type: string + target: type: string - Monitoring: - description: >- - 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 - id: Monitoring - type: object - properties: - producerDestinations: - type: array - items: - $ref: '#/components/schemas/MonitoringDestination' - description: >- - Monitoring configurations for sending metrics to the producer - project. There can be multiple producer destinations. A monitored - resource type may appear in multiple monitoring destinations if - different aggregations are needed for different sets of metrics - associated with that monitored resource type. A monitored resource - and metric pair may only be used once in the Monitoring - configuration. - consumerDestinations: description: >- - Monitoring configurations for sending metrics to the consumer - project. There can be multiple consumer destinations. A monitored - resource type may appear in multiple monitoring destinations if - different aggregations are needed for different sets of metrics - associated with that monitored resource type. A monitored resource - and metric pair may only be used once in the Monitoring - configuration. + The specification of an Internet routable address of API frontend + that will handle requests to this [API + Endpoint](https://cloud.google.com/apis/design/glossary). It should + be either a valid IPv4 address or a fully-qualified domain name. For + example, "8.8.8.8" or "myservice.appspot.com". + aliases: type: array + description: >- + Aliases for this endpoint, these will be served by the same UrlMap + as the parent endpoint, and will be provisioned in the GCP stack for + the Regional Endpoints. items: - $ref: '#/components/schemas/MonitoringDestination' - ExperimentalFeatures: - id: ExperimentalFeatures + type: string + description: >- + `Endpoint` describes a network address of a service that serves a set of + APIs. It is commonly known as a service endpoint. A service may expose + any number of service endpoints, and all service endpoints share the + same service definition, such as quota limits and monitoring metrics. + Example: type: google.api.Service name: library-example.googleapis.com + endpoints: # Declares network address + `https://library-example.googleapis.com` # for service + `library-example.googleapis.com`. The `https` scheme # is implicit for + all service endpoints. Other schemes may be # supported in the future. - + name: library-example.googleapis.com allow_cors: false - name: + content-staging-library-example.googleapis.com # Allows HTTP OPTIONS + calls to be passed to the API frontend, for it # to decide whether the + subsequent cross-origin request is allowed # to proceed. allow_cors: + true + type: object + ApplyTenantProjectConfigRequest: type: object + id: ApplyTenantProjectConfigRequest + description: Request to apply configuration to an existing tenant project. properties: - restAsyncIoEnabled: + tag: description: >- - Enables generation of asynchronous REST clients if `rest` transport - is enabled. By default, asynchronous REST clients will not be - generated. This feature will be enabled by default 1 month after - launching the feature in preview packages. - type: boolean - description: >- - Experimental features to be included during client library generation. - These fields will be deprecated once the feature graduates and is - enabled by default. - CustomHttpPattern: - description: A custom pattern is used for defining custom HTTP verb. - id: CustomHttpPattern - properties: - kind: - type: string - description: The name of this custom HTTP verb. - path: - description: The path matched by this custom verb. + Required. Tag of the project. Must be less than 128 characters. + Required. type: string - type: object - V1Beta1BatchCreateProducerOverridesResponse: - id: V1Beta1BatchCreateProducerOverridesResponse - description: Response message for BatchCreateProducerOverrides - type: object + projectConfig: + $ref: '#/components/schemas/TenantProjectConfig' + description: Configuration that should be applied to the existing tenant project. + AddTenantProjectRequest: + description: >- + Request to add a newly created and configured tenant project to a + tenancy unit. properties: - overrides: - description: The overrides that were created. - type: array - items: - $ref: '#/components/schemas/V1Beta1QuotaOverride' - V1RemoveVisibilityLabelsResponse: + projectConfig: + description: >- + Configuration of the new tenant project to be added to tenancy unit + resources. + $ref: '#/components/schemas/TenantProjectConfig' + tag: + type: string + description: >- + Required. Tag of the added project. Must be less than 128 + characters. Required. + type: object + id: AddTenantProjectRequest + DotnetSettings: + description: Settings for Dotnet client libraries. + id: DotnetSettings properties: - labels: + forcedNamespaceAliases: type: array items: type: string description: >- - The updated set of visibility labels for this consumer on this - service. - id: V1RemoveVisibilityLabelsResponse - type: object - description: >- - Response message for the `RemoveVisibilityLabels` method. This response - message is assigned to the `response` field of the returned Operation - when that operation is done. - GoSettings: - type: object - id: GoSettings - description: Settings for Go client libraries. - properties: + Namespaces which must be aliased in snippets due to a known (but + non-generator-predictable) naming collision common: - description: Some settings. $ref: '#/components/schemas/CommonLanguageSettings' - MonitoringDestination: - id: MonitoringDestination - properties: - metrics: + description: Some settings. + renamedResources: + description: >- + Map from full resource types to the effective short name for the + resource. This is used when otherwise resource named from different + services would cause naming collisions. Example entry: + "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" + additionalProperties: + type: string + type: object + ignoredResources: items: type: string type: array description: >- - Types of the metrics to report to this monitoring destination. Each - type must be defined in Service.metrics section. - monitoredResource: - type: string + List of full resource types to ignore during generation. This is + typically used for API-specific Location resources, which should be + handled by the generator as if they were actually the common + Location resources. Example entry: + "documentai.googleapis.com/Location" + renamedServices: + type: object description: >- - The monitored resource type. The type must be defined in - Service.monitored_resources section. - description: >- - Configuration of a specific monitoring destination (the producer project - or the consumer project). + Map from original service names to renamed versions. This is used + when the default generated types would cause a naming conflict. + (Neither name is fully-qualified.) Example: Subscriber to + SubscriberServiceApi. + additionalProperties: + type: string + handwrittenSignatures: + type: array + items: + type: string + description: >- + Method signatures (in the form "service.method(signature)") which + are provided separately, so shouldn't be generated. Snippets + *calling* these methods are still generated, however. type: object - Enum: - description: Enum type definition. - id: Enum + V1DisableConsumerResponse: + type: object + description: >- + Response message for the `DisableConsumer` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. + properties: {} + id: V1DisableConsumerResponse + TenantProjectConfig: + id: TenantProjectConfig properties: - name: - type: string - description: Enum type name. - syntax: - description: The source syntax. - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. + tenantProjectPolicy: + description: Describes ownership and policies for the new tenant project. + $ref: '#/components/schemas/TenantProjectPolicy' + folder: type: string - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - enumvalue: - description: Enum value definitions. + description: >- + Folder where project in this tenancy unit must be located This + folder must have been previously created with the required + permissions for the caller to create and configure a project in it. + Valid folder resource names have the format + `folders/{folder_number}` (for example, `folders/123456`). + serviceAccountConfig: + $ref: '#/components/schemas/ServiceAccountConfig' + description: Configuration for the IAM service account on the tenant project. + billingConfig: + $ref: '#/components/schemas/BillingConfig' + description: Billing account properties. The billing account must be specified. + services: items: - $ref: '#/components/schemas/EnumValue' - type: array - sourceContext: - $ref: '#/components/schemas/SourceContext' - description: The source context. - edition: + type: string description: >- - The source edition string, only valid when syntax is - SYNTAX_EDITIONS. - type: string - options: - description: Protocol buffer options. + Google Cloud API names of services that are activated on this + project during provisioning. If any of these services can't be + activated, the request fails. For example: + 'compute.googleapis.com','cloudfunctions.googleapis.com' type: array - items: - $ref: '#/components/schemas/Option' - type: object - DeleteTenantProjectRequest: - description: Request message to delete tenant project resource from the tenancy unit. + labels: + additionalProperties: + type: string + type: object + description: Labels that are applied to this project. + description: >- + This structure defines a tenant project to be added to the specified + tenancy unit and its initial configuration and properties. A project + lien is created for the tenant project to prevent the tenant project + from being deleted accidentally. The lien is deleted as part of tenant + project removal. type: object - id: DeleteTenantProjectRequest + ListTenancyUnitsResponse: + description: Response for the list request. properties: - tag: + nextPageToken: + description: Pagination token for large results. type: string - description: Required. Tag of the resource within the tenancy unit. - CustomErrorRule: + tenancyUnits: + type: array + description: Tenancy units matching the request. + items: + $ref: '#/components/schemas/TenancyUnit' type: object - description: A custom error rule. - id: CustomErrorRule + id: ListTenancyUnitsResponse + ContextRule: properties: selector: description: >- - Selects messages to which this rule applies. Refer to selector for - syntax details. + Selects the methods to which this rule applies. Refer to selector + for syntax details. type: string - isErrorType: + allowedRequestExtensions: + type: array + items: + type: string description: >- - Mark this message as possible payload in error response. Otherwise, - objects of this type will be filtered when they appear in error - payload. - type: boolean - ApplyTenantProjectConfigRequest: - type: object - description: Request to apply configuration to an existing tenant project. - properties: - projectConfig: - $ref: '#/components/schemas/TenantProjectConfig' - description: Configuration that should be applied to the existing tenant project. - tag: + A list of full type names or extension IDs of extensions allowed in + grpc side channel from client to backend. + provided: description: >- - Required. Tag of the project. Must be less than 128 characters. - Required. - type: string - id: ApplyTenantProjectConfigRequest - BillingDestination: - id: BillingDestination - properties: - metrics: + A list of full type names of provided contexts. It is used to + support propagating HTTP headers and ETags from the response + extension. + items: + type: string + type: array + requested: items: type: string + type: array description: >- - Names of the metrics to report to this billing destination. Each - name must be defined in Service.metrics section. + A list of full type names of requested contexts, only the requested + context will be made available to the backend. + allowedResponseExtensions: + items: + type: string type: array - monitoredResource: description: >- - The monitored resource type. The type must be defined in - Service.monitored_resources section. + A list of full type names or extension IDs of extensions allowed in + grpc side channel from backend to client. + type: object + id: ContextRule + description: >- + A context rule provides information about the context for an individual + API element. + BillingConfig: + description: Describes the billing configuration for a new tenant project. + type: object + properties: + billingAccount: + description: >- + Name of the billing account. For example + `billingAccounts/012345-567890-ABCDEF`. type: string + id: BillingConfig + Option: description: >- - Configuration of a specific billing destination (Currently only support - bill against consumer project). + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + properties: + value: + type: object + description: >- + The option's value packed in an Any message. If the value is a + primitive, the corresponding wrapper type defined in + google/protobuf/wrappers.proto should be used. If the value is an + enum, it should be stored as an int32 value using the + google.protobuf.Int32Value type. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + name: + type: string + description: >- + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, + `"map_entry"`. For custom options, it should be the fully-qualified + name. For example, `"google.api.http"`. type: object - MetricDescriptorMetadata: + id: Option + PolicyBinding: type: object - id: MetricDescriptorMetadata - description: Additional annotations that can be used to guide the usage of a metric. + id: PolicyBinding properties: - timeSeriesResourceHierarchyLevel: + members: items: type: string - enumDescriptions: - - Do not use this default value. - - Scopes a metric to a project. - - Scopes a metric to an organization. - - Scopes a metric to a folder. - enum: - - TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED - - PROJECT - - ORGANIZATION - - FOLDER - description: The scope of the timeseries data of the metric. + description: >- + Uses the same format as in IAM policy. `member` must include both a + prefix and ID. For example, `user:{emailId}`, + `serviceAccount:{emailId}`, `group:{emailId}`. + type: array + role: + type: string + description: >- + Role. (https://cloud.google.com/iam/docs/understanding-roles) For + example, `roles/viewer`, `roles/editor`, or `roles/owner`. + description: Translates to IAM Policy bindings (without auditing at this level) + EnumValue: + description: Enum value definition. + id: EnumValue + type: object + properties: + number: + description: Enum value number. + format: int32 + type: integer + options: type: array + description: Protocol buffer options. + items: + $ref: '#/components/schemas/Option' + name: + type: string + description: Enum value name. + ClientLibrarySettings: + description: Details about how and where to publish client libraries. + properties: + javaSettings: + $ref: '#/components/schemas/JavaSettings' + description: Settings for legacy Java features, supported in the Service YAML. + nodeSettings: + $ref: '#/components/schemas/NodeSettings' + description: Settings for Node client libraries. + restNumericEnums: + type: boolean + description: >- + When using transport=rest, the client request will encode enums as + numbers rather than strings. launchStage: - description: Deprecated. Must use the MetricDescriptor.launch_stage instead. - deprecated: true type: string + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED enumDescriptions: - Do not use this default value. - The feature is not yet implemented. Users can not use it. @@ -2335,648 +2437,646 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - samplePeriod: - format: google-duration - description: >- - The sampling period of metric data points. For metrics which are - written periodically, consecutive data points are stored at this - time interval, excluding data loss due to errors. Metrics with a - higher granularity have a smaller sampling period. + description: Launch stage of this version of the API. + cppSettings: + $ref: '#/components/schemas/CppSettings' + description: Settings for C++ client libraries. + goSettings: + $ref: '#/components/schemas/GoSettings' + description: Settings for Go client libraries. + dotnetSettings: + description: Settings for .NET client libraries. + $ref: '#/components/schemas/DotnetSettings' + phpSettings: + $ref: '#/components/schemas/PhpSettings' + description: Settings for PHP client libraries. + version: type: string - ingestDelay: description: >- - The delay of data points caused by ingestion. Data points older than - this age are guaranteed to be ingested and available to be read, - excluding data loss due to errors. - type: string - format: google-duration - SystemParameter: + Version of the API to apply these settings to. This is the full + protobuf package for the API, ending in the version element. + Examples: "google.cloud.speech.v1" and + "google.spanner.admin.database.v1". + rubySettings: + $ref: '#/components/schemas/RubySettings' + description: Settings for Ruby client libraries. + pythonSettings: + description: Settings for Python client libraries. + $ref: '#/components/schemas/PythonSettings' + id: ClientLibrarySettings + type: object + Control: + id: Control + description: >- + Selects and configures the service controller used by the service. + Example: control: environment: servicecontrol.googleapis.com properties: - urlQueryParameter: - description: >- - Define the URL query parameter name to use for the parameter. It is - case sensitive. - type: string - name: + environment: description: >- - Define the name of the parameter, such as "api_key" . It is case - sensitive. - type: string - httpHeader: + The service controller environment to use. If empty, no control + plane feature (like quota and billing) will be enabled. The + recommended value for most services is servicecontrol.googleapis.com type: string - description: >- - Define the HTTP header name to use for the parameter. It is case - insensitive. - type: object - id: SystemParameter - description: >- - Define a parameter's name and location. The parameter may be passed as - either an HTTP header or a URL query parameter, and if both are passed - the behavior is implementation-dependent. - V1GenerateDefaultIdentityResponse: + methodPolicies: + description: Defines policies applying to the API methods of the service. + items: + $ref: '#/components/schemas/MethodPolicy' + type: array type: object + TenancyUnit: properties: - identity: - description: DefaultIdentity that was created or retrieved. - $ref: '#/components/schemas/V1DefaultIdentity' - attachStatus: - enumDescriptions: - - Indicates that the AttachStatus was not set. - - >- - The default identity was attached to a role successfully in this - request. - - >- - The request specified that no attempt should be made to attach the - role. - - >- - Role was attached to the consumer project at some point in time. - Tenant manager doesn't make assertion about the current state of - the identity with respect to the consumer. Role attachment should - happen only once after activation and cannot be reattached after - customer removes it. (go/si-attach-role) - - >- - Role attachment was denied in this request by customer set org - policy. (go/si-attach-role) + consumer: + type: string + readOnly: true description: >- - Status of the role attachment. Under development - (go/si-attach-role), currently always return - ATTACH_STATUS_UNSPECIFIED) + Output only. @OutputOnly Cloud resource name of the consumer of this + service. For example 'projects/123456'. + createTime: type: string - enum: - - ATTACH_STATUS_UNSPECIFIED - - ATTACHED - - ATTACH_SKIPPED - - PREVIOUSLY_ATTACHED - - ATTACH_DENIED_BY_ORG_POLICY - role: + description: Output only. @OutputOnly The time this tenancy unit was created. + readOnly: true + format: google-datetime + service: type: string + readOnly: true description: >- - Role attached to consumer project. Empty if not attached in this - request. (Under development, currently always return empty.) - id: V1GenerateDefaultIdentityResponse - description: >- - Response message for the `GenerateDefaultIdentity` method. This response - message is assigned to the `response` field of the returned Operation - when that operation is done. - V1Beta1RefreshConsumerResponse: - id: V1Beta1RefreshConsumerResponse - type: object - description: >- - Response message for the `RefreshConsumer` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. - properties: {} - Logging: - id: Logging + Output only. Google Cloud API name of the managed service owning + this tenancy unit. For example + 'serviceconsumermanagement.googleapis.com'. + tenantResources: + items: + $ref: '#/components/schemas/TenantResource' + type: array + description: >- + Resources constituting the tenancy unit. There can be at most 512 + tenant resources in a tenancy unit. + name: + description: >- + Globally unique identifier of this tenancy unit + "services/{service}/{collection id}/{resource + id}/tenancyUnits/{unit}" + type: string + description: Representation of a tenancy unit. + id: TenancyUnit + type: object + Backend: + description: '`Backend` defines the backend configuration for a service.' + id: Backend + properties: + rules: + description: >- + A list of API backend rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. + type: array + items: + $ref: '#/components/schemas/BackendRule' + type: object + Documentation: type: object - description: >- - Logging configuration of the service. The following example shows how to - configure logs to be sent to the producer and consumer projects. In the - example, the `activity_history` log is sent to both the producer and - consumer projects, whereas the `purchase_history` log is only sent to - the producer project. monitored_resources: - type: - library.googleapis.com/branch labels: - key: /city description: The city - where the library branch is located in. - key: /name description: The - name of the branch. logs: - name: activity_history labels: - key: - /customer_id - name: purchase_history logging: producer_destinations: - - monitored_resource: library.googleapis.com/branch logs: - - activity_history - purchase_history consumer_destinations: - - monitored_resource: library.googleapis.com/branch logs: - - activity_history properties: - consumerDestinations: + documentationRootUrl: + description: The URL to the root of documentation. + type: string + pages: + type: array items: - $ref: '#/components/schemas/LoggingDestination' + $ref: '#/components/schemas/Page' + description: The top level pages for the documentation set. + overview: description: >- - Logging configurations for sending logs to the consumer project. - There can be multiple consumer destinations, each one must have a - different monitored resource type. A log can be used in at most one - consumer destination. + Declares a single overview page. For example: documentation: + summary: ... overview: (== include overview.md ==) This is a + shortcut for the following declaration (using pages style): + documentation: summary: ... pages: - name: Overview content: (== + include overview.md ==) Note: you cannot specify both `overview` + field and `pages` field. + type: string + serviceRootUrl: + description: >- + Specifies the service root url if the default one (the service name + from the yaml file) is not suitable. This can be seen in any fully + specified service urls as well as sections that show a base that + other urls are relative to. + type: string + sectionOverrides: + description: >- + Specifies section and content to override boilerplate content + provided by go/api-docgen. Currently overrides following sections: + 1. rest.service.client_libraries type: array - producerDestinations: items: - $ref: '#/components/schemas/LoggingDestination' + $ref: '#/components/schemas/Page' + rules: + items: + $ref: '#/components/schemas/DocumentationRule' description: >- - Logging configurations for sending logs to the producer project. - There can be multiple producer destinations, each one must have a - different monitored resource type. A log can be used in at most one - producer destination. + A list of documentation rules that apply to individual API elements. + **NOTE:** All service configuration rules follow "last one wins" + order. type: array - ClientLibrarySettings: - type: object - properties: - nodeSettings: - $ref: '#/components/schemas/NodeSettings' - description: Settings for Node client libraries. - version: + summary: type: string description: >- - Version of the API to apply these settings to. This is the full - protobuf package for the API, ending in the version element. - Examples: "google.cloud.speech.v1" and - "google.spanner.admin.database.v1". - launchStage: - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible - ways, and are not guaranteed to be released. - - >- - Alpha is a limited availability test for releases before they are - cleared for widespread use. By Alpha, all significant design - issues are resolved and we are in the process of verifying - functionality. Alpha customers need to apply for access, agree to - applicable terms, and have their projects allowlisted. Alpha - releases don't have to be feature complete, no SLAs are provided, - and there are no technical support obligations, but they will be - far enough along that customers can actually use them in test - environments or for limited-use tests -- just like they would in - normal production cases. - - >- - Beta is the point at which we are ready to open a release for any - customer to use. There are no SLA or technical support obligations - in a Beta release. Products will be complete from a feature - perspective, but may have some open outstanding issues. Beta - releases are suitable for limited production use cases. - - >- - GA features are open to all developers and are considered stable - and fully qualified for production use. - - >- - Deprecated features are scheduled to be shut down and removed. For - more information, see the "Deprecation Policy" section of our - [Terms of Service](https://cloud.google.com/terms/) and the - [Google Cloud Platform Subject to the Deprecation - Policy](https://cloud.google.com/terms/deprecation) documentation. + A short description of what the service does. The summary must be + plain text. It becomes the overview of the service displayed in + Google Cloud Console. NOTE: This field is equivalent to the standard + field `description`. + description: >- + `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. + id: Documentation + LabelDescriptor: + description: A description of a label. + properties: + description: type: string - description: Launch stage of this version of the API. + description: A human-readable description for the label. + key: + description: The label key. + type: string + valueType: + enumDescriptions: + - A variable-length string. This is the default. + - Boolean; true or false. + - A 64-bit signed integer. + description: The type of data that can be assigned to the label. enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - pythonSettings: - $ref: '#/components/schemas/PythonSettings' - description: Settings for Python client libraries. - rubySettings: - $ref: '#/components/schemas/RubySettings' - description: Settings for Ruby client libraries. - phpSettings: - $ref: '#/components/schemas/PhpSettings' - description: Settings for PHP client libraries. - restNumericEnums: - description: >- - When using transport=rest, the client request will encode enums as - numbers rather than strings. - type: boolean - javaSettings: - description: Settings for legacy Java features, supported in the Service YAML. - $ref: '#/components/schemas/JavaSettings' - dotnetSettings: - $ref: '#/components/schemas/DotnetSettings' - description: Settings for .NET client libraries. - goSettings: - description: Settings for Go client libraries. - $ref: '#/components/schemas/GoSettings' - cppSettings: - $ref: '#/components/schemas/CppSettings' - description: Settings for C++ client libraries. - id: ClientLibrarySettings - description: Details about how and where to publish client libraries. - AuthProvider: + - STRING + - BOOL + - INT64 + type: string + id: LabelDescriptor + type: object + Type: + description: A protocol buffer message type. + id: Type type: object properties: - id: - description: >- - The unique identifier of the auth provider. It will be referred to - by `AuthRequirement.provider_id`. Example: "bookstore_auth". + fields: + description: The list of fields. + type: array + items: + $ref: '#/components/schemas/Field' + options: + type: array + description: The protocol buffer options. + items: + $ref: '#/components/schemas/Option' + syntax: + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. type: string - jwksUri: + description: The source syntax. + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + name: type: string - description: >- - URL of the provider's public key set to validate signature of the - JWT. See [OpenID - Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). - Optional if the key set document: - can be retrieved from [OpenID - Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) - of the issuer. - can be inferred from the email domain of the issuer - (e.g. a Google service account). Example: - https://www.googleapis.com/oauth2/v1/certs - jwtLocations: + description: The fully qualified message name. + oneofs: items: - $ref: '#/components/schemas/JwtLocation' - description: >- - Defines the locations to extract the JWT. For now it is only used by - the Cloud Endpoints to store the OpenAPI extension - [x-google-jwt-locations] - (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) - JWT locations can be one of HTTP headers, URL query parameters or - cookies. The rule is that the first match wins. If not specified, - default to use following 3 locations: 1) Authorization: Bearer 2) - x-goog-iap-jwt-assertion 3) access_token query parameter Default - locations can be specified as followings: jwt_locations: - header: - Authorization value_prefix: "Bearer " - header: - x-goog-iap-jwt-assertion - query: access_token + type: string type: array - authorizationUrl: + description: The list of types appearing in `oneof` definitions in this type. + sourceContext: + $ref: '#/components/schemas/SourceContext' + description: The source context. + edition: description: >- - Redirect URL if JWT token is required but not present or is expired. - Implement authorizationUrl of securityDefinitions in OpenAPI spec. + The source edition string, only valid when syntax is + SYNTAX_EDITIONS. type: string - issuer: + Operation: + type: object + properties: + done: + type: boolean description: >- - Identifies the principal that issued the JWT. See - https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 - Usually a URL or an email address. Example: - https://securetoken.google.com Example: - 1234567-compute@developer.gserviceaccount.com - type: string - audiences: - type: string + 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. + response: description: >- - The list of JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. When this setting is absent, JWTs with audiences: - - "https://[service.name]/[google.protobuf.Api.name]" - - "https://[service.name]/" will be accepted. For example, if no - audiences are in the setting, LibraryService API will accept JWTs - with the following audiences: - - https://library-example.googleapis.com/google.example.library.v1.LibraryService - - https://library-example.googleapis.com/ Example: audiences: - bookstore_android.apps.googleusercontent.com, - bookstore_web.apps.googleusercontent.com - id: AuthProvider - description: >- - Configuration for an authentication provider, including support for - [JSON Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). - V1Beta1QuotaOverride: - properties: - dimensions: + 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`. type: object - description: ' If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key "region" and the value "us-east-1"; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit''s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * "project" is not a valid key; the project is already specified in the parent resource name. * "user" is not a valid key; the API does not support quota overrides that apply only to a specific user. * If "region" appears as a key, its value must be a valid Cloud region. * If "zone" appears as a key, its value must be a valid Cloud zone. * If any valid key other than "region" or "zone" appears in the map, then all valid keys other than "region" or "zone" must also appear in the map.' additionalProperties: - type: string - metric: + type: any + description: Properties of the object. Contains field @type with type URL. + error: + $ref: '#/components/schemas/Status' description: >- - The name of the metric to which this override applies. An example - name would be: `compute.googleapis.com/cpus` + The error result of the operation in case of failure or + cancellation. + name: type: string - unit: description: >- - The limit unit of the limit to which this override applies. An - example unit would be: `1/{project}/{region}` Note that `{project}` - and `{region}` are not placeholders in this example; the literal - characters `{` and `}` occur in the 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}`. + metadata: + description: >- + 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. + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + This resource represents a long-running operation that is the result of + a network API call. + id: Operation + SearchTenancyUnitsResponse: + id: SearchTenancyUnitsResponse + description: Response for the search query. + properties: + nextPageToken: type: string - overrideValue: + description: Pagination token for large results. + tenancyUnits: + type: array + description: Tenancy Units matching the request. + items: + $ref: '#/components/schemas/TenancyUnit' + type: object + Field: + properties: + packed: + description: Whether to use alternative packed wire representation. + type: boolean + cardinality: + description: The field cardinality. + enum: + - CARDINALITY_UNKNOWN + - CARDINALITY_OPTIONAL + - CARDINALITY_REQUIRED + - CARDINALITY_REPEATED + enumDescriptions: + - For fields with unknown cardinality. + - For optional fields. + - For required fields. Proto2 syntax only. + - For repeated fields. type: string - description: >- - The overriding quota limit value. Can be any nonnegative integer, or - -1 (unlimited quota). - format: int64 - adminOverrideAncestor: + defaultValue: type: string description: >- - The resource name of the ancestor that requested the override. For - example: "organizations/12345" or "folders/67890". Used by admin - overrides only. + The string value of the default value of this field. Proto2 syntax + only. name: - description: >- - The resource name of the producer override. An example name would - be: - `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d` + description: The field name. + type: string + jsonName: + description: The field JSON name. + type: string + typeUrl: type: string - description: A quota override - id: V1Beta1QuotaOverride - type: object - DotnetSettings: - type: object - id: DotnetSettings - description: Settings for Dotnet client libraries. - properties: - renamedServices: - description: >- - Map from original service names to renamed versions. This is used - when the default generated types would cause a naming conflict. - (Neither name is fully-qualified.) Example: Subscriber to - SubscriberServiceApi. - type: object - additionalProperties: - type: string - forcedNamespaceAliases: - items: - type: string - type: array description: >- - Namespaces which must be aliased in snippets due to a known (but - non-generator-predictable) naming collision - handwrittenSignatures: + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + oneofIndex: + type: integer + format: int32 description: >- - Method signatures (in the form "service.method(signature)") which - are provided separately, so shouldn't be generated. Snippets - *calling* these methods are still generated, however. + The index of the field type in `Type.oneofs`, for message or + enumeration types. The first type has index 1; zero means the type + is not in the list. + options: type: array + description: The protocol buffer options. items: - type: string - renamedResources: - type: object - description: >- - Map from full resource types to the effective short name for the - resource. This is used when otherwise resource named from different - services would cause naming collisions. Example entry: - "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" - additionalProperties: - type: string - ignoredResources: - items: - type: string - type: array - description: >- - List of full resource types to ignore during generation. This is - typically used for API-specific Location resources, which should be - handled by the generator as if they were actually the common - Location resources. Example entry: - "documentai.googleapis.com/Location" - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - ServiceAccountConfig: - description: Describes the service account configuration for the tenant project. + $ref: '#/components/schemas/Option' + kind: + description: The field type. + type: string + enum: + - TYPE_UNKNOWN + - TYPE_DOUBLE + - TYPE_FLOAT + - TYPE_INT64 + - TYPE_UINT64 + - TYPE_INT32 + - TYPE_FIXED64 + - TYPE_FIXED32 + - TYPE_BOOL + - TYPE_STRING + - TYPE_GROUP + - TYPE_MESSAGE + - TYPE_BYTES + - TYPE_UINT32 + - TYPE_ENUM + - TYPE_SFIXED32 + - TYPE_SFIXED64 + - TYPE_SINT32 + - TYPE_SINT64 + enumDescriptions: + - Field type unknown. + - Field type double. + - Field type float. + - Field type int64. + - Field type uint64. + - Field type int32. + - Field type fixed64. + - Field type fixed32. + - Field type bool. + - Field type string. + - Field type group. Proto2 syntax only, and deprecated. + - Field type message. + - Field type bytes. + - Field type uint32. + - Field type enum. + - Field type sfixed32. + - Field type sfixed64. + - Field type sint32. + - Field type sint64. + number: + format: int32 + type: integer + description: The field number. type: object - id: ServiceAccountConfig + id: Field + description: A single field of a message type. + DeleteTenantProjectRequest: + id: DeleteTenantProjectRequest + type: object + description: Request message to delete tenant project resource from the tenancy unit. properties: - accountId: + tag: + description: Required. Tag of the resource within the tenancy unit. type: string - description: >- - ID of the IAM service account to be created in tenant project. The - email format of the service account is "@.iam.gserviceaccount.com". - This account ID must be unique within tenant project and service - producers have to guarantee it. The ID must be 6-30 characters long, - and match the following regular expression: - `[a-z]([-a-z0-9]*[a-z0-9])`. - tenantProjectRoles: - type: array - description: Roles for the associated service account for the tenant project. - items: - type: string - AttachTenantProjectRequest: + LongRunning: properties: - reservedResource: + pollDelayMultiplier: + format: float + type: number description: >- - When attaching a reserved project already in tenancy units, this is - the tag of a tenant resource under the tenancy unit for the managed - service's service producer project. The reserved tenant resource - must be in an active state. + Multiplier to gradually increase delay between subsequent polls + until it reaches max_poll_delay. Default value: 1.5. + initialPollDelay: type: string - externalResource: description: >- - When attaching an external project, this is in the format of - `projects/{project_number}`. - type: string - tag: + Initial delay after which the first poll request will be made. + Default value: 5 seconds. + format: google-duration + maxPollDelay: type: string + format: google-duration description: >- - Required. Tag of the tenant resource after attachment. Must be less - than 128 characters. Required. - id: AttachTenantProjectRequest + Maximum time between two subsequent poll requests. Default value: 45 + seconds. + totalPollTimeout: + type: string + format: google-duration + description: 'Total polling timeout. Default value: 5 minutes.' + description: >- + Describes settings to use when generating API methods that use the + long-running operation pattern. All default values below are from those + used in the client library generators (e.g. + [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). + id: LongRunning + type: object + ExperimentalFeatures: + id: ExperimentalFeatures type: object description: >- - Request to attach an existing project to the tenancy unit as a new - tenant resource. - Quota: + Experimental features to be included during client library generation. + These fields will be deprecated once the feature graduates and is + enabled by default. properties: - limits: - type: array - items: - $ref: '#/components/schemas/QuotaLimit' - description: List of QuotaLimit definitions for the service. - metricRules: + restAsyncIoEnabled: description: >- - List of MetricRule definitions, each one mapping a selected method - to one or more metrics. - items: - $ref: '#/components/schemas/MetricRule' - type: array - id: Quota + Enables generation of asynchronous REST clients if `rest` transport + is enabled. By default, asynchronous REST clients will not be + generated. This feature will be enabled by default 1 month after + launching the feature in preview packages. + type: boolean + V1GenerateDefaultIdentityResponse: type: object - description: >- - 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 - OAuthRequirements: - id: OAuthRequirements properties: - canonicalScopes: + identity: + $ref: '#/components/schemas/V1DefaultIdentity' + description: DefaultIdentity that was created or retrieved. + role: type: string description: >- - The list of publicly documented OAuth scopes that are allowed - access. An OAuth token containing any of these scopes will be - accepted. Example: canonical_scopes: - https://www.googleapis.com/auth/calendar, - https://www.googleapis.com/auth/calendar.read - description: >- - OAuth scopes are a way to define data and permissions on data. For - example, there are scopes defined for "Read-only access to Google - Calendar" and "Access to Cloud Platform". Users can consent to a scope - for an application, giving it permission to access that data on their - behalf. OAuth scope specifications should be fairly coarse grained; a - user will need to see and understand the text description of what your - scope means. In most cases: use one or at most two OAuth scopes for an - entire family of products. If your product has multiple APIs, you should - probably be sharing the OAuth scope across all of those APIs. When you - need finer grained OAuth consent screens: talk with your product - management about how developers will use them in practice. Please note - that even though each of the canonical scopes is enough for a request to - be accepted and passed to the backend, a request can still fail due to - the backend requiring additional scopes or permissions. - type: object - AuthRequirement: + Role attached to consumer project. Empty if not attached in this + request. (Under development, currently always return empty.) + attachStatus: + enumDescriptions: + - Indicates that the AttachStatus was not set. + - >- + The default identity was attached to a role successfully in this + request. + - >- + The request specified that no attempt should be made to attach the + role. + - >- + Role was attached to the consumer project at some point in time. + Tenant manager doesn't make assertion about the current state of + the identity with respect to the consumer. Role attachment should + happen only once after activation and cannot be reattached after + customer removes it. (go/si-attach-role) + - >- + Role attachment was denied in this request by customer set org + policy. (go/si-attach-role) + enum: + - ATTACH_STATUS_UNSPECIFIED + - ATTACHED + - ATTACH_SKIPPED + - PREVIOUSLY_ATTACHED + - ATTACH_DENIED_BY_ORG_POLICY + type: string + description: >- + Status of the role attachment. Under development + (go/si-attach-role), currently always return + ATTACH_STATUS_UNSPECIFIED) + id: V1GenerateDefaultIdentityResponse description: >- - User-defined authentication requirements, including support for [JSON - Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + Response message for the `GenerateDefaultIdentity` method. This response + message is assigned to the `response` field of the returned Operation + when that operation is done. + Logging: + id: Logging properties: - audiences: - type: string + consumerDestinations: description: >- - NOTE: This will be deprecated soon, once AuthProvider.audiences is - implemented and accepted in all the runtime components. The list of - JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. When this setting is absent, only JWTs with - audience "https://Service_name/API_name" will be accepted. For - example, if no audiences are in the setting, LibraryService API will - only accept JWTs with the following audience - "https://library-example.googleapis.com/google.example.library.v1.LibraryService". - Example: audiences: bookstore_android.apps.googleusercontent.com, - bookstore_web.apps.googleusercontent.com - providerId: + Logging configurations for sending logs to the consumer project. + There can be multiple consumer destinations, each one must have a + different monitored resource type. A log can be used in at most one + consumer destination. + items: + $ref: '#/components/schemas/LoggingDestination' + type: array + producerDestinations: + items: + $ref: '#/components/schemas/LoggingDestination' description: >- - id from authentication provider. Example: provider_id: - bookstore_auth - type: string - id: AuthRequirement + Logging configurations for sending logs to the producer project. + There can be multiple producer destinations, each one must have a + different monitored resource type. A log can be used in at most one + producer destination. + type: array + type: object + description: >- + Logging configuration of the service. The following example shows how to + configure logs to be sent to the producer and consumer projects. In the + example, the `activity_history` log is sent to both the producer and + consumer projects, whereas the `purchase_history` log is only sent to + the producer project. monitored_resources: - type: + library.googleapis.com/branch labels: - key: /city description: The city + where the library branch is located in. - key: /name description: The + name of the branch. logs: - name: activity_history labels: - key: + /customer_id - name: purchase_history logging: producer_destinations: - + monitored_resource: library.googleapis.com/branch logs: - + activity_history - purchase_history consumer_destinations: - + monitored_resource: library.googleapis.com/branch logs: - + activity_history + Api: + id: Api + description: >- + Api is a light-weight descriptor for an API Interface. Interfaces are + also described as "protocol buffer services" in some contexts, such as + by the "service" keyword in a .proto file, but they are different from + API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are + also sometimes simply referred to as "APIs" in other contexts, such as + the name of this message itself. See + https://cloud.google.com/apis/design/glossary for detailed terminology. type: object - ListOperationsResponse: - description: The response message for Operations.ListOperations. properties: - operations: + methods: type: array items: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Method' + description: The methods of this interface, in unspecified order. + options: + description: Any metadata attached to the interface. + items: + $ref: '#/components/schemas/Option' + type: array + version: description: >- - A list of operations that matches the specified filter in the - request. - nextPageToken: - description: The standard List next-page token. + A version string for this interface. If specified, must have the + form `major-version.minor-version`, as in `1.10`. If the minor + version is omitted, it defaults to zero. If the entire version field + is empty, the major version is derived from the package name, as + outlined below. If the field is not empty, the version in the + package name will be verified to be consistent with what is provided + here. The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users what + to expect from different versions, and should be carefully chosen + based on the product plan. The major version is also reflected in + the package name of the interface, which must end in `v`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can be + omitted. Zero major versions must only be used for experimental, + non-GA interfaces. type: string - id: ListOperationsResponse - type: object - MetricDescriptor: - type: object - properties: - displayName: + syntax: + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. type: string + description: The source syntax of the service. + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + sourceContext: + $ref: '#/components/schemas/SourceContext' description: >- - A concise name for the metric, which can be displayed in user - interfaces. Use sentence case without an ending period, for example - "Request count". This field is optional but it is recommended to be - set for any metrics associated with user-visible concepts, such as - Quota. - labels: - description: >- - The set of labels that can be used to describe a specific instance - of this metric type. For example, the - `appengine.googleapis.com/http/server/response_latencies` metric - type has a label for the HTTP response code, `response_code`, so you - can look at latencies for successful responses or just for responses - that failed. + Source context for the protocol buffer service represented by this + message. + mixins: + description: Included interfaces. See Mixin. items: - $ref: '#/components/schemas/LabelDescriptor' + $ref: '#/components/schemas/Mixin' type: array - metadata: - $ref: '#/components/schemas/MetricDescriptorMetadata' - description: Optional. Metadata which can be used to guide usage of the metric. - unit: + name: type: string description: >- - 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` dimensionless - **Prefixes (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) **Grammar** The 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"). - metricKind: + The fully qualified name of this interface, including package name + followed by the interface's simple name. + MetricDescriptorMetadata: + properties: + timeSeriesResourceHierarchyLevel: + description: The scope of the timeseries data of the metric. + type: array + items: + enumDescriptions: + - Do not use this default value. + - Scopes a metric to a project. + - Scopes a metric to an organization. + - Scopes a metric to a folder. + type: string + enum: + - TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED + - PROJECT + - ORGANIZATION + - FOLDER + samplePeriod: + format: google-duration + type: string description: >- - Whether the metric records instantaneous values, changes to a value, - etc. Some combinations of `metric_kind` and `value_type` might not - be supported. + The sampling period of metric data points. For metrics which are + written periodically, consecutive data points are stored at this + time interval, excluding data loss due to errors. Metrics with a + higher granularity have a smaller sampling period. + launchStage: enum: - - METRIC_KIND_UNSPECIFIED - - GAUGE - - DELTA - - CUMULATIVE - enumDescriptions: - - Do not use this default value. - - An instantaneous measurement of a value. - - The change in a value during a time interval. - - >- - A value accumulated over a time interval. Cumulative measurements - in a time series should have 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. + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED + deprecated: true type: string - launchStage: - description: Optional. The launch stage of the metric definition. + description: Deprecated. Must use the MetricDescriptor.launch_stage instead. enumDescriptions: - Do not use this default value. - The feature is not yet implemented. Users can not use it. @@ -3015,430 +3115,418 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - type: string - type: - type: string + ingestDelay: + format: google-duration description: >- - 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" - name: - description: The resource name of the metric descriptor. - type: string - description: + The delay of data points caused by ingestion. Data points older than + this age are guaranteed to be ingested and available to be read, + excluding data loss due to errors. type: string - description: >- - A detailed description of the metric, which can be used in - documentation. - monitoredResourceTypes: - description: >- - 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. - type: array + type: object + id: MetricDescriptorMetadata + description: Additional annotations that can be used to guide the usage of a metric. + TenantProjectPolicy: + id: TenantProjectPolicy + properties: + policyBindings: items: - type: string - valueType: - enumDescriptions: - - Do not use this default value. - - >- - The value is a boolean. This value type can be used only if the - metric kind is `GAUGE`. - - The value is a signed 64-bit integer. - - The value is a double precision floating point number. - - >- - The value is a text string. This value type can be used only if - the metric kind is `GAUGE`. - - The value is a `Distribution`. - - The value is money. + $ref: '#/components/schemas/PolicyBinding' description: >- - Whether the measurement is an integer, a floating-point number, etc. - Some combinations of `metric_kind` and `value_type` might not be - supported. - type: string - enum: - - VALUE_TYPE_UNSPECIFIED - - BOOL - - INT64 - - DOUBLE - - STRING - - DISTRIBUTION - - MONEY + Policy bindings to be applied to the tenant project, in addition to + the 'roles/owner' role granted to the Service Consumer Management + service account. + type: array + type: object description: >- - 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. - id: MetricDescriptor - V1AddVisibilityLabelsResponse: + Describes policy settings that can be applied to a newly created tenant + project. + V1Beta1ImportProducerQuotaPoliciesResponse: + description: Response message for ImportProducerQuotaPolicies + type: object + properties: + policies: + description: The policies that were created from the imported data. + items: + $ref: '#/components/schemas/V1Beta1ProducerQuotaPolicy' + type: array + id: V1Beta1ImportProducerQuotaPoliciesResponse + V1GenerateServiceAccountResponse: + id: V1GenerateServiceAccountResponse + properties: + account: + $ref: '#/components/schemas/V1ServiceAccount' + description: ServiceAccount that was created or retrieved. + type: object description: >- - Response message for the `AddVisibilityLabels` method. This response + Response message for the `GenerateServiceAccount` method. This response message is assigned to the `response` field of the returned Operation when that operation is done. - properties: - labels: - type: array - description: >- - The updated set of visibility labels for this consumer on this - service. - items: - type: string + V1ServiceAccount: type: object - id: V1AddVisibilityLabelsResponse - HttpRule: + description: A service account in the Identity and Access Management API. + id: V1ServiceAccount properties: - selector: - description: >- - Selects a method to which this rule applies. Refer to selector for - syntax details. - type: string - put: - type: string - description: Maps to HTTP PUT. Used for replacing a resource. - delete: + uniqueId: + description: The unique and stable id of the service account. type: string - description: Maps to HTTP DELETE. Used for deleting a resource. - patch: + iamAccountName: type: string - description: Maps to HTTP PATCH. Used for updating a resource. - body: + description: Deprecated. See b/136209818. + deprecated: true + email: + description: The email address of the service account. type: string + tag: description: >- - The name of the request field whose value is mapped to the HTTP - request body, or `*` for mapping all request fields not captured by - the path pattern to the HTTP body, or omitted for not having any - HTTP request body. NOTE: the referred field must be present at the - top-level of the request message type. - custom: - $ref: '#/components/schemas/CustomHttpPattern' - description: >- - The custom pattern is used for specifying an HTTP method that is not - included in the `pattern` field, such as HEAD, or "*" to leave the - HTTP method unspecified for this rule. The wild-card rule is useful - for services that provide content to Web (HTML) clients. - get: + The P4 SA configuration tag. This must be defined in + activation_grants. If not specified when creating the account, the + tag is set to "default". type: string + name: description: >- - Maps to HTTP GET. Used for listing and getting information about - resources. - additionalBindings: + P4 SA resource name. An example name would be: + `services/serviceconsumermanagement.googleapis.com/projects/123/serviceAccounts/default` + type: string + Authentication: + type: object + description: >- + `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 + properties: + providers: + items: + $ref: '#/components/schemas/AuthProvider' type: array + description: Defines a set of authentication providers that a service supports. + rules: description: >- - Additional HTTP bindings for the selector. Nested bindings must not - contain an `additional_bindings` field themselves (that is, the - nesting may only be one level deep). + A list of authentication rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. items: - $ref: '#/components/schemas/HttpRule' - post: - description: >- - Maps to HTTP POST. Used for creating a resource or performing an - action. - type: string - responseBody: - type: string + $ref: '#/components/schemas/AuthenticationRule' + type: array + id: Authentication + V1AddVisibilityLabelsResponse: + properties: + labels: + type: array description: >- - Optional. The name of the response field whose value is mapped to - the HTTP response body. When omitted, the entire response message - will be used as the HTTP response body. NOTE: The referred field - must be present at the top-level of the response message type. - description: >- - gRPC Transcoding gRPC Transcoding is a feature for mapping between a - gRPC method and one or more HTTP REST endpoints. It allows developers to - build a single API service that supports both gRPC APIs and REST APIs. - Many systems, including [Google - APIs](https://github.com/googleapis/googleapis), [Cloud - Endpoints](https://cloud.google.com/endpoints), [gRPC - Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and - [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature - and use it for large scale production services. `HttpRule` defines the - schema of the gRPC/REST mapping. The mapping specifies how different - portions of the gRPC request message are mapped to the URL path, URL - query parameters, and HTTP request body. It also controls how the gRPC - response message is mapped to the HTTP response body. `HttpRule` is - typically specified as an `google.api.http` annotation on the gRPC - method. Each mapping specifies a URL path template and an HTTP method. - The path template may refer to one or more fields in the gRPC request - message, as long as each field is a non-repeated field with a primitive - (non-message) type. The path template controls how fields of the request - message are mapped to the URL path. Example: service Messaging { rpc - GetMessage(GetMessageRequest) returns (Message) { option - (google.api.http) = { get: "/v1/{name=messages/*}" }; } } message - GetMessageRequest { string name = 1; // Mapped to URL path. } message - Message { string text = 1; // The resource content. } This enables an - HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - - gRPC: `GetMessage(name: "messages/123456")` Any fields in the request - message which are not bound by the path template automatically become - HTTP query parameters if there is no HTTP request body. For example: - service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) - { option (google.api.http) = { get:"/v1/messages/{message_id}" }; } } - message GetMessageRequest { message SubMessage { string subfield = 1; } - string message_id = 1; // Mapped to URL path. int64 revision = 2; // - Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped - to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC - mapping as below: - HTTP: `GET - /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: - `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: - "foo"))` Note that fields which are mapped to URL query parameters must - have a primitive type or a repeated primitive type or a non-repeated - message type. In the case of a repeated type, the parameter can be - repeated in the URL as `...?param=A¶m=B`. In the case of a message - type, each field of the message is mapped to a separate parameter, such - as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request - body, the `body` field specifies the mapping. Consider a REST update - method on the message resource collection: service Messaging { rpc - UpdateMessage(UpdateMessageRequest) returns (Message) { option - (google.api.http) = { patch: "/v1/messages/{message_id}" body: "message" - }; } } message UpdateMessageRequest { string message_id = 1; // mapped - to the URL Message message = 2; // mapped to the body } The following - HTTP JSON to RPC mapping is enabled, where the representation of the - JSON in the request body is determined by protos JSON encoding: - HTTP: - `PATCH /v1/messages/123456 { "text": "Hi!" }` - gRPC: - `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The - special name `*` can be used in the body mapping to define that every - field not bound by the path template should be mapped to the request - body. This enables the following alternative definition of the update - method: service Messaging { rpc UpdateMessage(Message) returns (Message) - { option (google.api.http) = { patch: "/v1/messages/{message_id}" body: - "*" }; } } message Message { string message_id = 1; string text = 2; } - The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH - /v1/messages/123456 { "text": "Hi!" }` - gRPC: - `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using - `*` in the body mapping, it is not possible to have HTTP parameters, as - all fields not bound by the path end in the body. This makes this option - more rarely used in practice when defining REST APIs. The common usage - of `*` is in custom methods which don't use the URL at all for - transferring data. It is possible to define multiple HTTP methods for - one RPC by using the `additional_bindings` option. Example: service - Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option - (google.api.http) = { get: "/v1/messages/{message_id}" - additional_bindings { get: "/v1/users/{user_id}/messages/{message_id}" } - }; } } message GetMessageRequest { string message_id = 1; string user_id - = 2; } This enables the following two alternative HTTP JSON to RPC - mappings: - HTTP: `GET /v1/messages/123456` - gRPC: - `GetMessage(message_id: "123456")` - HTTP: `GET - /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" - message_id: "123456")` Rules for HTTP mapping 1. Leaf request fields - (recursive expansion nested messages in the request message) are - classified into three categories: - Fields referred by the path - template. They are passed via the URL path. - Fields referred by the - HttpRule.body. They are passed via the HTTP request body. - All other - fields are passed via the URL query parameters, and the parameter name - is the field path in the request message. A repeated field can be - represented as multiple query parameters under the same name. 2. If - HttpRule.body is "*", there is no URL query parameter, all fields are - passed via URL path and HTTP request body. 3. If HttpRule.body is - omitted, there is no HTTP request body, all fields are passed via URL - path and URL query parameters. Path template syntax Template = "/" - Segments [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | - "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] - "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; The syntax - `*` matches a single URL path segment. The syntax `**` matches zero or - more URL path segments, which must be the last part of the URL path - except the `Verb`. The syntax `Variable` matches part of the URL path as - specified by its template. A variable template must not contain other - variables. If a variable matches a single path segment, its template may - be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax - `LITERAL` matches literal text in the URL path. If the `LITERAL` - contains any reserved character, such characters should be - percent-encoded before the matching. If a variable contains exactly one - path segment, such as `"{var}"` or `"{var=*}"`, when such a variable is - expanded into a URL path on the client side, all characters except - `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse - decoding. Such variables show up in the [Discovery - Document](https://developers.google.com/discovery/v1/reference/apis) as - `{var}`. If a variable contains multiple path segments, such as - `"{var=foo/*}"` or `"{var=**}"`, when such a variable is expanded into a - URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` - are percent-encoded. The server side does the reverse decoding, except - "%2F" and "%2f" are left unchanged. Such variables show up in the - [Discovery - Document](https://developers.google.com/discovery/v1/reference/apis) as - `{+var}`. Using gRPC API Service Configuration gRPC API Service - Configuration (service config) is a configuration language for - configuring a gRPC service to become a user-facing product. The service - config is simply the YAML representation of the `google.api.Service` - proto message. As an alternative to annotating your proto file, you can - configure gRPC transcoding in your service config YAML files. You do - this by specifying a `HttpRule` that maps the gRPC method to a REST - endpoint, achieving the same effect as the proto annotation. This can be - particularly useful if you have a proto that is reused in multiple - services. Note that any transcoding specified in the service config will - override any matching transcoding configuration in the proto. The - following example selects a gRPC method and applies an `HttpRule` to it: - http: rules: - selector: example.v1.Messaging.GetMessage get: - /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC - Transcoding is used to map a gRPC to JSON REST endpoints, the proto to - JSON conversion must follow the [proto3 - specification](https://developers.google.com/protocol-buffers/docs/proto3#json). - While the single segment variable follows the semantics of [RFC - 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String - Expansion, the multi segment variable **does not** follow RFC 6570 - Section 3.2.3 Reserved Expansion. The reason is that the Reserved - Expansion does not expand special characters like `?` and `#`, which - would lead to invalid URLs. As the result, gRPC Transcoding uses a - custom encoding for multi segment variables. The path variables **must - not** refer to any repeated or mapped field, because client libraries - are not capable of handling such variable expansion. The path variables - **must not** capture the leading "/" character. The reason is that the - most common use case "{var}" does not capture the leading "/" character. - For consistency, all path variables must share the same behavior. - Repeated message fields must not be mapped to URL query parameters, - because no client library can support such complicated mapping. If an - API needs to use a JSON array for request or response body, it can map - the request or response body to a repeated field. However, some gRPC - Transcoding implementations may not support this feature. - id: HttpRule + The updated set of visibility labels for this consumer on this + service. + items: + type: string + description: >- + Response message for the `AddVisibilityLabels` method. This response + message is assigned to the `response` field of the returned Operation + when that operation is done. type: object - V1Beta1ProducerQuotaPolicy: - id: V1Beta1ProducerQuotaPolicy + id: V1AddVisibilityLabelsResponse + BackendRule: + description: A backend rule provides configuration for an individual API element. + type: object + id: BackendRule properties: - dimensions: - description: ' If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit 1/{project}/{region} could contain an entry with the key "region" and the value "us-east-1"; the policy is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit''s unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * "project" is not a valid key; the project is already specified in the parent resource name. * "user" is not a valid key; the API does not support quota polcies that apply only to a specific user. * If "region" appears as a key, its value must be a valid Cloud region. * If "zone" appears as a key, its value must be a valid Cloud zone. * If any valid key other than "region" or "zone" appears in the map, then all valid keys other than "region" or "zone" must also appear in the map.' - additionalProperties: - type: string - type: object - unit: + selector: type: string description: >- - The limit unit of the limit to which this policy applies. An example - unit would be: `1/{project}/{region}` Note that `{project}` and - `{region}` are not placeholders in this example; the literal - characters `{` and `}` occur in the string. - container: - type: string + Selects the methods to which this rule applies. Refer to selector + for syntax details. + overridesByRequestProtocol: + type: object + additionalProperties: + $ref: '#/components/schemas/BackendRule' + description: The map between request protocol and the backend address. + disableAuth: + type: boolean description: >- - The cloud resource container at which the quota policy is created. - The format is {container_type}/{container_number} - policyValue: - type: string + When disable_auth is true, a JWT ID token won't be generated and the + original "Authorization" HTTP header will be preserved. If the + header is used to carry the original token and is expected by the + backend, this field must be set to true to preserve the header. + address: description: >- - The quota policy value. Can be any nonnegative integer, or -1 - (unlimited quota). - format: int64 - name: + The address of the API backend. The scheme is used to determine the + backend protocol and security. The following schemes are accepted: + SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// + gRPC None grpcs:// gRPC TLS It is recommended to explicitly include + a scheme. Leaving out the scheme may cause constrasting behaviors + across platforms. If the port is unspecified, the default is: - 80 + for schemes without TLS - 443 for schemes with TLS For HTTP + backends, use protocol to specify the protocol version. + type: string + jwtAudience: type: string description: >- - The resource name of the producer policy. An example name would be: - `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d` - metric: + The JWT audience is used when generating a JWT ID token for the + backend. This ID token will be added in the HTTP "authorization" + header, and sent to the backend. + deadline: + format: double + type: number + description: >- + The number of seconds to wait for a response from a request. The + default varies based on the request protocol and deployment + environment. + operationDeadline: + format: double + description: >- + The number of seconds to wait for the completion of a long running + operation. The default is no deadline. + type: number + pathTranslation: + type: string + enumDescriptions: + - '' + - >- + Use the backend address as-is, with no modification to the path. + If the URL pattern contains variables, the variable names and + values will be appended to the query string. If a query string + parameter and a URL pattern variable have the same name, this may + result in duplicate keys in the query string. # Examples Given the + following operation config: Method path: + /api/company/{cid}/user/{uid} Backend address: + https://example.cloudfunctions.net/getUser Requests to the + following request paths will call the backend at the translated + path: Request path: /api/company/widgetworks/user/johndoe + Translated: + https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe + Request path: /api/company/widgetworks/user/johndoe?timezone=EST + Translated: + https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe + - >- + The request path will be appended to the backend address. # + Examples Given the following operation config: Method path: + /api/company/{cid}/user/{uid} Backend address: + https://example.appspot.com Requests to the following request + paths will call the backend at the translated path: Request path: + /api/company/widgetworks/user/johndoe Translated: + https://example.appspot.com/api/company/widgetworks/user/johndoe + Request path: /api/company/widgetworks/user/johndoe?timezone=EST + Translated: + https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST + enum: + - PATH_TRANSLATION_UNSPECIFIED + - CONSTANT_ADDRESS + - APPEND_PATH_TO_ADDRESS + protocol: type: string description: >- - The name of the metric to which this policy applies. An example name - would be: `compute.googleapis.com/cpus` - type: object - description: Quota policy created by service producer. - RubySettings: + The protocol used for sending a request to the backend. The + supported values are "http/1.1" and "h2". The default value is + inferred from the scheme in the address field: SCHEME PROTOCOL + http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure + HTTP backends (https://) that support HTTP/2, set this field to "h2" + for improved performance. Configuring this field to non-default + values is only supported for secure HTTP backends. This field will + be ignored for all other backends. See + https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + for more details on the supported values. + minDeadline: + format: double + type: number + deprecated: true + description: Deprecated, do not use. + Billing: + properties: + consumerDestinations: + description: >- + Billing configurations for sending metrics to the consumer project. + There can be multiple consumer destinations per service, each one + must have a different monitored resource type. A metric can be used + in at most one consumer destination. + items: + $ref: '#/components/schemas/BillingDestination' + type: array type: object - description: Settings for Ruby client libraries. + id: Billing + description: >- + 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 + CppSettings: + id: CppSettings properties: common: description: Some settings. $ref: '#/components/schemas/CommonLanguageSettings' - id: RubySettings - Status: + type: object + description: Settings for C++ client libraries. + LogDescriptor: + type: object description: >- - 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). - id: Status + A description of a log type. Example in YAML format: - name: + library.googleapis.com/activity_history description: The history of + borrowing and returning library items. display_name: Activity labels: - + key: /customer_id description: Identifier of a library customer + properties: + labels: + description: >- + The set of labels that are available to describe a specific log + entry. Runtime requests that contain labels not specified here are + considered invalid. + type: array + items: + $ref: '#/components/schemas/LabelDescriptor' + description: + description: >- + A human-readable description of this log. This information appears + in the documentation and can contain details. + type: string + name: + description: >- + The name of the log. It must be less than 512 characters long and + can include the following characters: upper- and lower-case + alphanumeric characters [A-Za-z0-9], and punctuation characters + including slash, underscore, hyphen, period [/_-.]. + type: string + displayName: + type: string + description: >- + The human-readable name for this log. This information appears on + the user interface and should be concise. + id: LogDescriptor + V1Beta1BatchCreateProducerOverridesResponse: + type: object + properties: + overrides: + items: + $ref: '#/components/schemas/V1Beta1QuotaOverride' + type: array + description: The overrides that were created. + description: Response message for BatchCreateProducerOverrides + id: V1Beta1BatchCreateProducerOverridesResponse + MethodSettings: + description: Describes the generator configuration for a method. + id: MethodSettings + properties: + selector: + description: >- + The fully qualified name of the method, for which the options below + apply. This is used to find the method to apply the options. + Example: publishing: method_settings: - selector: + google.storage.control.v2.StorageControl.CreateFolder # method + settings for CreateFolder... + type: string + longRunning: + $ref: '#/components/schemas/LongRunning' + description: >- + Describes settings to use for long-running operations when + generating API methods for RPCs. Complements RPCs that use the + annotations in google/longrunning/operations.proto. Example of a + YAML configuration:: publishing: method_settings: - selector: + google.cloud.speech.v2.Speech.BatchRecognize long_running: + initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 + max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 + minutes + autoPopulatedFields: + description: >- + List of top-level fields of the request message, that should be + automatically populated by the client libraries based on their + (google.api.field_info).format. Currently supported format: UUID4. + Example of a YAML configuration: publishing: method_settings: - + selector: google.example.v1.ExampleService.CreateExample + auto_populated_fields: - request_id + type: array + items: + type: string + type: object + Status: type: object properties: - code: - type: integer - format: int32 - description: The status code, which should be an enum value of google.rpc.Code. details: - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object type: array description: >- A list of messages that carry the error details. There is a common set of message types for APIs to use. + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + code: + format: int32 + type: integer + description: The status code, which should be an enum value of google.rpc.Code. message: - type: string description: >- A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + type: string + description: >- + 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). + id: Status CancelOperationRequest: type: object - id: CancelOperationRequest description: The request message for Operations.CancelOperation. + id: CancelOperationRequest properties: {} - Context: - id: Context + Enum: + id: Enum type: object - description: >- - `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. + description: Enum type definition. properties: - rules: - description: >- - A list of RPC context rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + options: type: array + description: Protocol buffer options. items: - $ref: '#/components/schemas/ContextRule' - CustomError: - type: object - id: CustomError - properties: - rules: - items: - $ref: '#/components/schemas/CustomErrorRule' - description: >- - The list of custom error rules that apply to individual API - messages. **NOTE:** All service configuration rules follow "last one - wins" order. - type: array - types: - type: array + $ref: '#/components/schemas/Option' + edition: description: >- - The list of custom error detail types, e.g. - 'google.foo.v1.CustomError'. + The source edition string, only valid when syntax is + SYNTAX_EDITIONS. + type: string + syntax: + type: string + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + description: The source syntax. + enumvalue: items: - type: string - description: >- - 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 + $ref: '#/components/schemas/EnumValue' + type: array + description: Enum value definitions. + sourceContext: + $ref: '#/components/schemas/SourceContext' + description: The source context. + name: + description: Enum type name. + type: string FieldPolicy: id: FieldPolicy - type: object description: >- Google API Policy Annotation This message defines a simple API policy annotation that can be used to annotate API request and response message @@ -3447,7 +3535,13 @@ components: This policy annotation is used to generate the overall policy that will be used for automatic runtime policy enforcement and documentation generation. + type: object properties: + resourceType: + description: >- + Specifies the resource type for the resource referred to by the + field. + type: string selector: type: string description: >- @@ -3459,184 +3553,114 @@ components: with valid request or response field paths, such as "foo.bar" or "foo.bar,foo.baz". resourcePermission: - type: string description: >- Specifies the required permission(s) for the resource referred to by the field. It requires the field contains a valid resource reference, and the request must pass the permission checks to proceed. For example, "resourcemanager.projects.get". - resourceType: - type: string - description: >- - Specifies the resource type for the resource referred to by the - field. - AddTenantProjectRequest: - description: >- - Request to add a newly created and configured tenant project to a - tenancy unit. - id: AddTenantProjectRequest - properties: - projectConfig: - description: >- - Configuration of the new tenant project to be added to tenancy unit - resources. - $ref: '#/components/schemas/TenantProjectConfig' - tag: type: string - description: >- - Required. Tag of the added project. Must be less than 128 - characters. Required. - type: object - V1ServiceAccount: + PythonSettings: type: object - description: A service account in the Identity and Access Management API. - id: V1ServiceAccount properties: - email: - description: The email address of the service account. - type: string - uniqueId: - type: string - description: The unique and stable id of the service account. - name: - description: >- - P4 SA resource name. An example name would be: - `services/serviceconsumermanagement.googleapis.com/projects/123/serviceAccounts/default` - type: string - iamAccountName: - type: string - deprecated: true - description: Deprecated. See b/136209818. - tag: - type: string + experimentalFeatures: description: >- - The P4 SA configuration tag. This must be defined in - activation_grants. If not specified when creating the account, the - tag is set to "default". - CppSettings: - properties: + Experimental features to be included during client library + generation. + $ref: '#/components/schemas/ExperimentalFeatures' common: $ref: '#/components/schemas/CommonLanguageSettings' description: Some settings. - type: object - id: CppSettings - description: Settings for C++ client libraries. - V1Beta1ServiceIdentity: - id: V1Beta1ServiceIdentity - description: A service identity in the Identity and Access Management API. - type: object - properties: - tag: - type: string - description: >- - The P4 service identity configuration tag. This must be defined in - activation_grants. If not specified when creating the account, the - tag is set to "default". - name: - type: string - description: >- - P4 service identity resource name. An example name would be: - `services/serviceconsumermanagement.googleapis.com/projects/123/serviceIdentities/default` - uniqueId: - type: string - description: The unique and stable id of the service identity. - email: - description: The email address of the service identity. - type: string - SourceInfo: + description: Settings for Python client libraries. + id: PythonSettings + MonitoringDestination: + description: >- + Configuration of a specific monitoring destination (the producer project + or the consumer project). + id: MonitoringDestination properties: - sourceFiles: - description: All files used during config generation. + metrics: items: - type: object - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: array - description: Source information used to create a Service Config - type: object - id: SourceInfo - MethodPolicy: - properties: - selector: - type: string + type: string description: >- - Selects a method to which these policies should be enforced, for - example, "google.pubsub.v1.Subscriber.CreateSubscription". Refer to - selector for syntax details. NOTE: This field must not be set in the - proto annotation. It will be automatically filled by the service - config compiler . - requestPolicies: - description: Policies that are applicable to the request message. - items: - $ref: '#/components/schemas/FieldPolicy' + Types of the metrics to report to this monitoring destination. Each + type must be defined in Service.metrics section. type: array - description: Defines policies applying to an RPC method. - type: object - id: MethodPolicy - V1Beta1DisableConsumerResponse: - id: V1Beta1DisableConsumerResponse - properties: {} + monitoredResource: + description: >- + The monitored resource type. The type must be defined in + Service.monitored_resources section. + type: string type: object + AttachTenantProjectRequest: + id: AttachTenantProjectRequest description: >- - Response message for the `DisableConsumer` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. - V1DefaultIdentity: - type: object - description: A default identity in the Identity and Access Management API. - properties: - uniqueId: - type: string - description: The unique and stable id of the default identity. - email: - type: string - description: The email address of the default identity. - name: + Request to attach an existing project to the tenancy unit as a new + tenant resource. + properties: + reservedResource: + description: >- + When attaching a reserved project already in tenancy units, this is + the tag of a tenant resource under the tenancy unit for the managed + service's service producer project. The reserved tenant resource + must be in an active state. type: string + externalResource: description: >- - Default identity resource name. An example name would be: - `services/serviceconsumermanagement.googleapis.com/projects/123/defaultIdentity` - tag: + When attaching an external project, this is in the format of + `projects/{project_number}`. type: string + tag: description: >- - The Default Identity tag. If specified when creating the account, - the tag must be present in activation_grants. If not specified when - creating the account, the tag is set to the tag specified in - activation_grants. - id: V1DefaultIdentity + Required. Tag of the tenant resource after attachment. Must be less + than 128 characters. Required. + type: string + type: object + SourceInfo: + description: Source information used to create a Service Config + id: SourceInfo + type: object + properties: + sourceFiles: + type: array + description: All files used during config generation. + items: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. parameters: - oauth_token: - description: OAuth 2.0 token for the current user. + alt: + description: Data format for response. in: query - name: oauth_token + name: alt schema: type: string - _.xgafv: - description: V1 error format. + enum: + - json + - media + - proto + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). in: query - name: $.xgafv + name: upload_protocol schema: type: string - enum: - - '1' - - '2' - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + access_token: + description: OAuth access token. in: query - name: key + name: access_token schema: type: string - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: quotaUser + name: oauth_token + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType schema: type: string fields: @@ -3651,22 +3675,22 @@ components: name: callback schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - access_token: - description: OAuth access token. + _.xgafv: + description: V1 error format. in: query - name: access_token + name: $.xgafv schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + enum: + - '1' + - '2' + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: uploadType + name: key schema: type: string prettyPrint: @@ -3675,16 +3699,15 @@ components: name: prettyPrint schema: type: boolean - alt: - description: Data format for response. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: alt + name: quotaUser schema: type: string - enum: - - json - - media - - proto x-stackQL-resources: services: id: google.serviceconsumermanagement.services @@ -3703,56 +3726,19 @@ components: update: [] replace: [] delete: [] - tenancy_units_project: - id: google.serviceconsumermanagement.tenancy_units_project - name: tenancy_units_project - title: Tenancy_units_project - methods: - delete_project: - operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:deleteProject/post - response: - mediaType: application/json - openAPIDocKey: '200' - add_project: - operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:addProject/post - response: - mediaType: application/json - openAPIDocKey: '200' - remove_project: - operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:removeProject/post - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/tenancy_units_project/methods/add_project - update: [] - replace: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/tenancy_units_project/methods/delete_project - - $ref: >- - #/components/x-stackQL-resources/tenancy_units_project/methods/remove_project tenancy_units: id: google.serviceconsumermanagement.tenancy_units name: tenancy_units title: Tenancy_units methods: - apply_project_config: + list: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:applyProjectConfig/post + #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.tenancyUnits create: operation: $ref: >- @@ -3760,14 +3746,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' - list: + apply_project_config: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits/get + #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:applyProjectConfig/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tenancyUnits undelete_project: operation: $ref: >- @@ -3798,24 +3783,49 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/tenancy_units/methods/delete' - operations: - id: google.serviceconsumermanagement.operations - name: operations - title: Operations + tenancy_units_project: + id: google.serviceconsumermanagement.tenancy_units_project + name: tenancy_units_project + title: Tenancy_units_project methods: - list: + remove_project: operation: - $ref: '#/paths/~1v1~1operations/get' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:removeProject/post response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations - cancel: + delete_project: operation: - $ref: '#/paths/~1v1~1operations~1{operationsId}:cancel/post' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:deleteProject/post + response: + mediaType: application/json + openAPIDocKey: '200' + add_project: + operation: + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}~1tenancyUnits~1{tenancyUnitsId}:addProject/post response: mediaType: application/json openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/tenancy_units_project/methods/add_project + update: [] + replace: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/tenancy_units_project/methods/remove_project + - $ref: >- + #/components/x-stackQL-resources/tenancy_units_project/methods/delete_project + operations: + id: google.serviceconsumermanagement.operations + name: operations + title: Operations + methods: delete: operation: $ref: '#/paths/~1v1~1operations~1{operationsId}/delete' @@ -3828,6 +3838,19 @@ components: response: mediaType: application/json openAPIDocKey: '200' + cancel: + operation: + $ref: '#/paths/~1v1~1operations~1{operationsId}:cancel/post' + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1v1~1operations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/operations/methods/get' @@ -3840,17 +3863,17 @@ components: paths: /v1/services/{servicesId}:search: parameters: &ref_1 - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/quotaUser' get: description: Search tenancy units for a managed service. operationId: serviceconsumermanagement.services.search @@ -3878,31 +3901,23 @@ paths: type: integer format: int32 - in: query - name: pageToken + name: query schema: type: string - in: query - name: query + name: pageToken schema: type: string - /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:deleteProject: + /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits: parameters: *ref_1 - post: + get: description: >- - 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. - operationId: serviceconsumermanagement.services.tenancyUnits.deleteProject - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteTenantProjectRequest' + 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. + operationId: serviceconsumermanagement.services.tenancyUnits.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3914,7 +3929,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/ListTenancyUnitsResponse' parameters: - in: path name: servicesId @@ -3931,35 +3946,31 @@ paths: required: true schema: type: string - - in: path - name: tenancyUnitsId - required: true + - in: query + name: filter schema: type: string - /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:applyProjectConfig: - parameters: *ref_1 + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 post: description: >- - 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. - operationId: serviceconsumermanagement.services.tenancyUnits.applyProjectConfig + 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. + operationId: serviceconsumermanagement.services.tenancyUnits.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/ApplyTenantProjectConfigRequest' + $ref: '#/components/schemas/CreateTenancyUnitRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -3971,7 +3982,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/TenancyUnit' parameters: - in: path name: servicesId @@ -3988,25 +3999,23 @@ paths: required: true schema: type: string - - in: path - name: tenancyUnitsId - required: true - schema: - type: string - /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits: + /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:removeProject: parameters: *ref_1 post: description: >- - 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. - operationId: serviceconsumermanagement.services.tenancyUnits.create + 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. + operationId: serviceconsumermanagement.services.tenancyUnits.removeProject requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateTenancyUnitRequest' + $ref: '#/components/schemas/RemoveTenantProjectRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4018,7 +4027,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TenancyUnit' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId @@ -4035,14 +4044,35 @@ paths: required: true schema: type: string - get: + - in: path + name: tenancyUnitsId + required: true + schema: + type: string + /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:applyProjectConfig: + parameters: *ref_1 + post: description: >- - 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. - operationId: serviceconsumermanagement.services.tenancyUnits.list + 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. + operationId: serviceconsumermanagement.services.tenancyUnits.applyProjectConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplyTenantProjectConfigRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4054,7 +4084,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListTenancyUnitsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId @@ -4071,34 +4101,29 @@ paths: required: true schema: type: string - - in: query - name: filter - schema: - type: string - - in: query - name: pageToken + - in: path + name: tenancyUnitsId + required: true schema: type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:addProject: + /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:deleteProject: parameters: *ref_1 post: description: >- - 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. - operationId: serviceconsumermanagement.services.tenancyUnits.addProject + 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. + operationId: serviceconsumermanagement.services.tenancyUnits.deleteProject requestBody: content: application/json: schema: - $ref: '#/components/schemas/AddTenantProjectRequest' + $ref: '#/components/schemas/DeleteTenantProjectRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4233,23 +4258,21 @@ paths: required: true schema: type: string - /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:removeProject: + /v1/services/{servicesId}/{servicesId1}/{servicesId2}/tenancyUnits/{tenancyUnitsId}:addProject: parameters: *ref_1 post: description: >- - 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. - operationId: serviceconsumermanagement.services.tenancyUnits.removeProject + 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. + operationId: serviceconsumermanagement.services.tenancyUnits.addProject requestBody: content: application/json: schema: - $ref: '#/components/schemas/RemoveTenantProjectRequest' + $ref: '#/components/schemas/AddTenantProjectRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4323,13 +4346,15 @@ paths: required: true schema: type: string - /v1/operations: + /v1/operations/{operationsId}: parameters: *ref_1 - get: + delete: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: serviceconsumermanagement.operations.list + 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`. + operationId: serviceconsumermanagement.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4341,19 +4366,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListOperationsResponse' + $ref: '#/components/schemas/Empty' parameters: - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: filter + - in: path + name: operationsId + required: true schema: type: string - - in: query - name: pageToken + get: + description: >- + 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. + operationId: serviceconsumermanagement.operations.get + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/Operation' + parameters: + - in: path + name: operationsId + required: true schema: type: string /v1/operations/{operationsId}:cancel: @@ -4393,15 +4434,13 @@ paths: required: true schema: type: string - /v1/operations/{operationsId}: + /v1/operations: parameters: *ref_1 - delete: + get: description: >- - 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`. - operationId: serviceconsumermanagement.operations.delete + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: serviceconsumermanagement.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4413,34 +4452,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/ListOperationsResponse' parameters: - - in: path - name: operationsId - required: true + - in: query + name: filter schema: type: string - get: - description: >- - 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. - operationId: serviceconsumermanagement.operations.get - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - - in: path - name: operationsId - required: true + - in: query + name: pageToken schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 diff --git a/providers/src/googleapis.com/v00.00.00000/services/servicecontrol.yaml b/providers/src/googleapis.com/v00.00.00000/services/servicecontrol.yaml index b20cf842..9d01fd59 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/servicecontrol.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/servicecontrol.yaml @@ -9,8 +9,8 @@ info: Provides admission control and telemetry reporting for services integrated with Service Infrastructure. version: v2 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/service-control/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/servicedirectory.yaml b/providers/src/googleapis.com/v00.00.00000/services/servicedirectory.yaml index 3eed7c7a..c28aff84 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/servicedirectory.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/servicedirectory.yaml @@ -9,8 +9,8 @@ info: Service Directory is a platform for discovering, publishing, and connecting services. version: v1 - x-discovery-doc-revision: '20240909' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241017' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/service-directory servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/servicemanagement.yaml b/providers/src/googleapis.com/v00.00.00000/services/servicemanagement.yaml index 6ebdade1..9cb72ef2 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/servicemanagement.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/servicemanagement.yaml @@ -10,8 +10,8 @@ info: on Google Cloud Platform so that they can be discovered and used by service consumers. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/service-management/ servers: @@ -516,7 +516,7 @@ components: that all methods in `AccessControl` are also declared with same name and request/response types in `Storage`. A documentation generator or annotation processor will see the effective `Storage.GetAcl` method - after inherting documentation and annotations as follows: service + after inheriting documentation and annotations as follows: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path @@ -2903,6 +2903,25 @@ components: - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED - GITHUB - PACKAGE_MANAGER + selectiveGapicGeneration: + description: >- + Configuration for which RPCs should be generated in the GAPIC + client. + $ref: '#/components/schemas/SelectiveGapicGeneration' + SelectiveGapicGeneration: + id: SelectiveGapicGeneration + description: >- + This message is used to configure the generation of a subset of the RPCs + in a service for client libraries. + type: object + properties: + methods: + description: >- + An allowlist of the fully qualified names of RPCs that should be + included on public client surfaces. + type: array + items: + type: string CppSettings: id: CppSettings description: Settings for C++ client libraries. diff --git a/providers/src/googleapis.com/v00.00.00000/services/servicenetworking.yaml b/providers/src/googleapis.com/v00.00.00000/services/servicenetworking.yaml index fbd8b47d..6e0efe2c 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/servicenetworking.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/servicenetworking.yaml @@ -9,8 +9,8 @@ info: Provides automatic management of network configurations necessary for certain services. version: v1 - x-discovery-doc-revision: '20240916' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241104' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started @@ -25,10 +25,10 @@ components: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: &ref_0 - https://www.googleapis.com/auth/service.management: Manage your Google API service configuration 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. + https://www.googleapis.com/auth/service.management: Manage your Google API service configuration Oauth2c: type: oauth2 description: Oauth 2.0 authorization code authentication @@ -38,152 +38,109 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - MethodPolicy: - properties: - selector: - description: >- - Selects a method to which these policies should be enforced, for - example, "google.pubsub.v1.Subscriber.CreateSubscription". Refer to - selector for syntax details. NOTE: This field must not be set in the - proto annotation. It will be automatically filled by the service - config compiler . - type: string - requestPolicies: - items: - $ref: '#/components/schemas/FieldPolicy' - description: Policies that are applicable to the request message. - type: array - description: Defines policies applying to an RPC method. - id: MethodPolicy - type: object - ValidateConsumerConfigResponse: + JavaSettings: + description: Settings for Java client libraries. + id: JavaSettings type: object properties: - isValid: - type: boolean - description: Indicates whether all the requested validations passed. - existingSubnetworkCandidates: - items: - $ref: '#/components/schemas/Subnetwork' + serviceClassNames: description: >- - List of subnetwork candidates from the request which exist with the - `ip_cidr_range`, `secondary_ip_cider_ranges`, and - `outside_allocation` fields set. - type: array - validationError: - enum: - - VALIDATION_ERROR_UNSPECIFIED - - VALIDATION_NOT_REQUESTED - - SERVICE_NETWORKING_NOT_ENABLED - - NETWORK_NOT_FOUND - - NETWORK_NOT_PEERED - - NETWORK_PEERING_DELETED - - NETWORK_NOT_IN_CONSUMERS_PROJECT - - NETWORK_NOT_IN_CONSUMERS_HOST_PROJECT - - HOST_PROJECT_NOT_FOUND - - CONSUMER_PROJECT_NOT_SERVICE_PROJECT - - RANGES_EXHAUSTED - - RANGES_NOT_RESERVED - - RANGES_DELETED_LATER - - COMPUTE_API_NOT_ENABLED - - USE_PERMISSION_NOT_FOUND - enumDescriptions: - - '' - - In case none of the validations are requested. - - '' - - The network provided by the consumer does not exist. - - The network has not been peered with the producer org. - - The peering was created and later deleted. - - >- - The network is a regular VPC but the network is not in the - consumer's project. - - >- - The consumer project is a service project, and network is a shared - VPC, but the network is not in the host project of this consumer - project. - - >- - The host project associated with the consumer project was not - found. - - >- - The consumer project is not a service project for the specified - host project. - - >- - The reserved IP ranges do not have enough space to create a subnet - of desired size. - - The IP ranges were not reserved. - - The IP ranges were reserved but deleted later. - - The consumer project does not have the compute api enabled. - - >- - The consumer project does not have the permission from the host - project. - description: The first validation which failed. + Configure the Java class name to use instead of the service's for + its corresponding generated GAPIC client. Keys are fully-qualified + service names as they appear in the protobuf (including the full the + language_settings.java.interface_names" field in gapic.yaml. API + teams should otherwise use the service name as it appears in the + protobuf. Example of a YAML configuration:: publishing: + java_settings: service_class_names: - google.pubsub.v1.Publisher: + TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + additionalProperties: + type: string + type: object + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' + libraryPackage: type: string - id: ValidateConsumerConfigResponse - RangeReservation: - description: Represents a range reservation. - properties: - secondaryRangeIpPrefixLengths: - type: array description: >- - Optional. The size of the desired secondary ranges for the subnet. - Use usual CIDR range notation. For example, '29' to find unused - x.x.x.x/29 CIDR range. The goal is to determine that the allocated - ranges have enough free space for all the requested secondary - ranges. GCE disallows subnets with prefix_length > 29 + The package name to use in Java. Clobbers the java_package option + set in the protobuf. This should be used **only** by APIs who have + already set the language_settings.java.package_name" field in + gapic.yaml. API teams should use the protobuf java_package option + where possible. Example of a YAML configuration:: publishing: + java_settings: library_package: com.google.cloud.pubsub.v1 + Endpoint: + properties: + name: + type: string + description: The canonical name of this endpoint. + aliases: items: - format: int32 - type: integer - ipPrefixLength: - format: int32 - type: integer + type: string + type: array description: >- - Required. The size of the desired subnet. Use usual CIDR range - notation. For example, '29' to find unused x.x.x.x/29 CIDR range. - The goal is to determine if one of the allocated ranges has enough - free space for a subnet of the requested size. GCE disallows subnets - with prefix_length > 29 - subnetworkCandidates: + Aliases for this endpoint, these will be served by the same UrlMap + as the parent endpoint, and will be provisioned in the GCP stack for + the Regional Endpoints. + target: + type: string description: >- - Optional. List of subnetwork candidates to validate. The required - input fields are `name`, `network`, and `region`. Subnetworks from - this list which exist will be returned in the response with the - `ip_cidr_range`, `secondary_ip_cider_ranges`, and - `outside_allocation` fields set. - items: - $ref: '#/components/schemas/Subnetwork' - type: array - requestedRanges: + The specification of an Internet routable address of API frontend + that will handle requests to this [API + Endpoint](https://cloud.google.com/apis/design/glossary). It should + be either a valid IPv4 address or a fully-qualified domain name. For + example, "8.8.8.8" or "myservice.appspot.com". + allowCors: + type: boolean description: >- - Optional. The name of one or more allocated IP address ranges - associated with this private service access connection. If no range - names are provided all ranges associated with this connection will - be considered. If a CIDR range with the specified IP prefix length - is not available within these ranges the validation fails. - type: array - items: - type: string - id: RangeReservation - type: object - MonitoredResourceDescriptor: + Allowing + [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), + aka cross-domain traffic, would allow the backends served from this + endpoint to receive and respond to HTTP OPTIONS requests. The + response will be used by the browser to determine whether the + subsequent cross-origin request is allowed to proceed. + id: Endpoint type: object description: >- - An object that describes the schema of a MonitoredResource object using - a type name and a set of labels. For example, the monitored resource - descriptor for Google Compute Engine VM instances has a type of - `"gce_instance"` and specifies the use of the labels `"instance_id"` and - `"zone"` to identify particular VM instances. Different APIs can support - different monitored resource types. APIs generally provide a `list` - method that returns the monitored resource descriptors used by the API. + `Endpoint` describes a network address of a service that serves a set of + APIs. It is commonly known as a service endpoint. A service may expose + any number of service endpoints, and all service endpoints share the + same service definition, such as quota limits and monitoring metrics. + Example: type: google.api.Service name: library-example.googleapis.com + endpoints: # Declares network address + `https://library-example.googleapis.com` # for service + `library-example.googleapis.com`. The `https` scheme # is implicit for + all service endpoints. Other schemes may be # supported in the future. - + name: library-example.googleapis.com allow_cors: false - name: + content-staging-library-example.googleapis.com # Allows HTTP OPTIONS + calls to be passed to the API frontend, for it # to decide whether the + subsequent cross-origin request is allowed # to proceed. allow_cors: + true + ClientLibrarySettings: + type: object properties: - type: + goSettings: + $ref: '#/components/schemas/GoSettings' + description: Settings for Go client libraries. + phpSettings: + description: Settings for PHP client libraries. + $ref: '#/components/schemas/PhpSettings' + dotnetSettings: + $ref: '#/components/schemas/DotnetSettings' + description: Settings for .NET client libraries. + pythonSettings: + $ref: '#/components/schemas/PythonSettings' + description: Settings for Python client libraries. + rubySettings: + description: Settings for Ruby client libraries. + $ref: '#/components/schemas/RubySettings' + restNumericEnums: + type: boolean description: >- - 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). - type: string + When using transport=rest, the client request will encode enums as + numbers rather than strings. + nodeSettings: + description: Settings for Node client libraries. + $ref: '#/components/schemas/NodeSettings' launchStage: enumDescriptions: - Do not use this default value. @@ -223,7 +180,7 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. - description: Optional. The launch stage of the monitored resource definition. + type: string enum: - LAUNCH_STAGE_UNSPECIFIED - UNIMPLEMENTED @@ -233,309 +190,380 @@ components: - BETA - GA - DEPRECATED + description: Launch stage of this version of the API. + javaSettings: + $ref: '#/components/schemas/JavaSettings' + description: Settings for legacy Java features, supported in the Service YAML. + cppSettings: + description: Settings for C++ client libraries. + $ref: '#/components/schemas/CppSettings' + version: + description: >- + Version of the API to apply these settings to. This is the full + protobuf package for the API, ending in the version element. + Examples: "google.cloud.speech.v1" and + "google.spanner.admin.database.v1". type: string + description: Details about how and where to publish client libraries. + id: ClientLibrarySettings + Mixin: + id: Mixin + properties: name: + description: The fully qualified name of the interface which is included. + type: string + root: type: string description: >- - 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}"`. - labels: - type: array - items: - $ref: '#/components/schemas/LabelDescriptor' - description: >- - 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"`. - description: - description: >- - Optional. A detailed description of the monitored resource type that - might be used in documentation. - type: string - displayName: - type: string - description: >- - 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"`. - id: MonitoredResourceDescriptor - LongRunning: - id: LongRunning + If non-empty specifies a path under which inherited HTTP paths are + rooted. + type: object + description: >- + Declares an API Interface to be included in this interface. The + including interface must redeclare all the methods from the included + interface, but documentation and options are inherited as follows: - If + after comment and whitespace stripping, the documentation string of the + redeclared method is empty, it will be inherited from the original + method. - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be inherited. + - If an http annotation is inherited, the path pattern will be modified + as follows. Any version prefix will be replaced by the version of the + including interface plus the root path if specified. Example of a simple + mixin: package google.acl.v1; service AccessControl { // Get the + underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package + google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) + returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns + (Data) { option (google.api.http).get = "/v2/{resource=**}"; } } Example + of a mixin configuration: apis: - name: google.storage.v2.Storage + mixins: - name: google.acl.v1.AccessControl The mixin construct implies + that all methods in `AccessControl` are also declared with same name and + request/response types in `Storage`. A documentation generator or + annotation processor will see the effective `Storage.GetAcl` method + after inheriting documentation and annotations as follows: service + Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) + returns (Acl) { option (google.api.http).get = + "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path + pattern changed from `v1` to `v2`. If the `root` field in the mixin is + specified, it should be a relative path under which inherited HTTP paths + are placed. Example: apis: - name: google.storage.v2.Storage mixins: - + name: google.acl.v1.AccessControl root: acls This implies the following + inherited HTTP annotation: service Storage { // Get the underlying ACL + object. rpc GetAcl(GetAclRequest) returns (Acl) { option + (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... } + RubySettings: + id: RubySettings + type: object properties: - maxPollDelay: - format: google-duration - type: string - description: >- - Maximum time between two subsequent poll requests. Default value: 45 - seconds. - totalPollTimeout: - description: 'Total polling timeout. Default value: 5 minutes.' - type: string - format: google-duration - initialPollDelay: - format: google-duration + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + description: Settings for Ruby client libraries. + DisableVpcServiceControlsRequest: + type: object + description: Request to disable VPC service controls. + id: DisableVpcServiceControlsRequest + properties: + consumerNetwork: type: string description: >- - Initial delay after which the first poll request will be made. - Default value: 5 seconds. - pollDelayMultiplier: - type: number - description: >- - Multiplier to gradually increase delay between subsequent polls - until it reaches max_poll_delay. Default value: 1.5. - format: float + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is a project + number, as in '12345' {network} is network name. + Empty: description: >- - Describes settings to use when generating API methods that use the - long-running operation pattern. All default values below are from those - used in the client library generators (e.g. - [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type: object - Documentation: + id: Empty + properties: {} + Api: properties: - pages: - items: - $ref: '#/components/schemas/Page' + options: type: array - description: The top level pages for the documentation set. - documentationRootUrl: + description: Any metadata attached to the interface. + items: + $ref: '#/components/schemas/Option' + syntax: + description: The source syntax of the service. type: string - description: The URL to the root of documentation. - serviceRootUrl: + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + name: description: >- - Specifies the service root url if the default one (the service name - from the yaml file) is not suitable. This can be seen in any fully - specified service urls as well as sections that show a base that - other urls are relative to. + The fully qualified name of this interface, including package name + followed by the interface's simple name. + type: string + version: type: string - rules: - items: - $ref: '#/components/schemas/DocumentationRule' description: >- - A list of documentation rules that apply to individual API elements. - **NOTE:** All service configuration rules follow "last one wins" - order. + A version string for this interface. If specified, must have the + form `major-version.minor-version`, as in `1.10`. If the minor + version is omitted, it defaults to zero. If the entire version field + is empty, the major version is derived from the package name, as + outlined below. If the field is not empty, the version in the + package name will be verified to be consistent with what is provided + here. The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users what + to expect from different versions, and should be carefully chosen + based on the product plan. The major version is also reflected in + the package name of the interface, which must end in `v`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can be + omitted. Zero major versions must only be used for experimental, + non-GA interfaces. + sourceContext: + description: >- + Source context for the protocol buffer service represented by this + message. + $ref: '#/components/schemas/SourceContext' + methods: + description: The methods of this interface, in unspecified order. type: array - sectionOverrides: items: - $ref: '#/components/schemas/Page' + $ref: '#/components/schemas/Method' + mixins: + description: Included interfaces. See Mixin. + items: + $ref: '#/components/schemas/Mixin' type: array + type: object + description: >- + Api is a light-weight descriptor for an API Interface. Interfaces are + also described as "protocol buffer services" in some contexts, such as + by the "service" keyword in a .proto file, but they are different from + API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are + also sometimes simply referred to as "APIs" in other contexts, such as + the name of this message itself. See + https://cloud.google.com/apis/design/glossary for detailed terminology. + id: Api + DnsZone: + type: object + description: Represents a DNS zone resource. + id: DnsZone + properties: + dnsSuffix: description: >- - Specifies section and content to override boilerplate content - provided by go/api-docgen. Currently overrides following sections: - 1. rest.service.client_libraries - overview: - description: >- - Declares a single overview page. For example: documentation: - summary: ... overview: (== include overview.md ==) This is a - shortcut for the following declaration (using pages style): - documentation: summary: ... pages: - name: Overview content: (== - include overview.md ==) Note: you cannot specify both `overview` - field and `pages` field. + The DNS name suffix of this zone e.g. `example.com.`. Cloud DNS + requires that a DNS suffix ends with a trailing dot. type: string - summary: + name: type: string description: >- - A short description of what the service does. The summary must be - plain text. It becomes the overview of the service displayed in - Google Cloud Console. NOTE: This field is equivalent to the standard - field `description`. + User assigned name for this resource. Must be unique within the + project. The name must be 1-63 characters long, must begin with a + letter, end with a letter or digit, and only contain lowercase + letters, digits or dashes. + MonitoredResourceDescriptor: type: object description: >- - `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. - id: Documentation - CloudSQLConfig: - description: Cloud SQL configuration. - id: CloudSQLConfig + An object that describes the schema of a MonitoredResource object using + a type name and a set of labels. For example, the monitored resource + descriptor for Google Compute Engine VM instances has a type of + `"gce_instance"` and specifies the use of the labels `"instance_id"` and + `"zone"` to identify particular VM instances. Different APIs can support + different monitored resource types. APIs generally provide a `list` + method that returns the monitored resource descriptors used by the API. + id: MonitoredResourceDescriptor properties: - umbrellaProject: - format: int64 - type: string - description: The project number of the Cloud SQL umbrella project. - umbrellaNetwork: - type: string - description: The name of the umbrella network in the Cloud SQL umbrella project. - service: + displayName: + description: >- + 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"`. type: string - description: Peering service used for peering with the Cloud SQL project. - type: object - BillingDestination: - description: >- - Configuration of a specific billing destination (Currently only support - bill against consumer project). - id: BillingDestination - properties: - metrics: + labels: type: array description: >- - Names of the metrics to report to this billing destination. Each - name must be defined in Service.metrics section. + 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"`. items: - type: string - monitoredResource: + $ref: '#/components/schemas/LabelDescriptor' + launchStage: + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED + description: Optional. The launch stage of the monitored resource definition. + type: string + enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. + - >- + Prelaunch features are hidden from users and are only visible + internally. + - >- + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible + ways, and are not guaranteed to be released. + - >- + Alpha is a limited availability test for releases before they are + cleared for widespread use. By Alpha, all significant design + issues are resolved and we are in the process of verifying + functionality. Alpha customers need to apply for access, agree to + applicable terms, and have their projects allowlisted. Alpha + releases don't have to be feature complete, no SLAs are provided, + and there are no technical support obligations, but they will be + far enough along that customers can actually use them in test + environments or for limited-use tests -- just like they would in + normal production cases. + - >- + Beta is the point at which we are ready to open a release for any + customer to use. There are no SLA or technical support obligations + in a Beta release. Products will be complete from a feature + perspective, but may have some open outstanding issues. Beta + releases are suitable for limited production use cases. + - >- + GA features are open to all developers and are considered stable + and fully qualified for production use. + - >- + Deprecated features are scheduled to be shut down and removed. For + more information, see the "Deprecation Policy" section of our + [Terms of Service](https://cloud.google.com/terms/) and the + [Google Cloud Platform Subject to the Deprecation + Policy](https://cloud.google.com/terms/deprecation) documentation. + type: type: string description: >- - The monitored resource type. The type must be defined in - Service.monitored_resources section. - type: object - CustomError: - id: CustomError - description: >- - 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 - properties: - types: - items: - type: string - type: array + 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). + description: + type: string description: >- - The list of custom error detail types, e.g. - 'google.foo.v1.CustomError'. - rules: - items: - $ref: '#/components/schemas/CustomErrorRule' + Optional. A detailed description of the monitored resource type that + might be used in documentation. + name: + type: string description: >- - The list of custom error rules that apply to individual API - messages. **NOTE:** All service configuration rules follow "last one - wins" order. - type: array - type: object - AddRolesRequest: + 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}"`. + CustomErrorRule: type: object - id: AddRolesRequest - description: >- - Request for AddRoles to allow Service Producers to add roles in the - shared VPC host project for them to use. + id: CustomErrorRule properties: - policyBinding: - type: array - items: - $ref: '#/components/schemas/PolicyBinding' - description: Required. List of policy bindings to add to shared VPC host project. - consumerNetwork: + selector: description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is a project - number, as in '12345' {network} is a network name. + Selects messages to which this rule applies. Refer to selector for + syntax details. type: string - PolicyBinding: + isErrorType: + description: >- + Mark this message as possible payload in error response. Otherwise, + objects of this type will be filtered when they appear in error + payload. + type: boolean + description: A custom error rule. + SystemParameterRule: properties: - member: - type: string + selector: description: >- - Required. Member to bind the role with. See - /iam/docs/reference/rest/v1/Policy#Binding for how to format each - member. Eg. - user:myuser@mydomain.com - - serviceAccount:my-service-account@app.gserviceaccount.com - role: + Selects the methods to which this rule applies. Use '*' to indicate + all methods in all APIs. Refer to selector for syntax details. type: string + parameters: description: >- - Required. Role to apply. Only allowlisted roles can be used at the - specified granularity. The role must be one of the following: - - 'roles/container.hostServiceAgentUser' applied on the shared VPC - host project - 'roles/compute.securityAdmin' applied on the shared - VPC host project - 'roles/compute.networkAdmin' applied on the - shared VPC host project - 'roles/tpu.xpnAgent' applied on the shared - VPC host project - 'roles/dns.admin' applied on the shared VPC host - project - 'roles/logging.admin' applied on the shared VPC host - project - 'roles/monitoring.viewer' applied on the shared VPC host - project - 'roles/servicemanagement.quotaViewer' applied on the - shared VPC host project + Define parameters. Multiple names may be defined for a parameter. + For a given method call, only one of them should be used. If + multiple names are used the behavior is implementation-dependent. If + none of the specified names are present the behavior is + parameter-dependent. + type: array + items: + $ref: '#/components/schemas/SystemParameter' + description: >- + Define a system parameter rule mapping system parameter definitions to + methods. + id: SystemParameterRule type: object - id: PolicyBinding - description: Grouping of IAM role and IAM member. - AddRolesResponse: + Context: + id: Context type: object - description: Represents IAM roles added to the shared VPC host project. - id: AddRolesResponse + description: >- + `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. properties: - policyBinding: + rules: items: - $ref: '#/components/schemas/PolicyBinding' + $ref: '#/components/schemas/ContextRule' description: >- - Required. List of policy bindings that were added to the shared VPC - host project. + A list of RPC context rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. type: array - AddDnsZoneRequest: - id: AddDnsZoneRequest - description: >- - Request to add a private managed DNS zone in the shared producer host - project and a matching DNS peering zone in the consumer project. - type: object - properties: - name: - type: string - description: >- - Required. The name for both the private zone in the shared producer - host project and the peering zone in the consumer project. Must be - unique within both projects. The name must be 1-63 characters long, - must begin with a letter, end with a letter or digit, and only - contain lowercase letters, digits or dashes. - dnsSuffix: - description: >- - Required. The DNS name suffix for the zones e.g. `example.com.`. - Cloud DNS requires that a DNS suffix ends with a trailing dot. - type: string - consumerNetwork: - description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is the - project number, as in '12345' {network} is the network name. - type: string - DnsZone: - id: DnsZone + Authentication: + id: Authentication type: object properties: - name: + rules: + type: array description: >- - User assigned name for this resource. Must be unique within the - project. The name must be 1-63 characters long, must begin with a - letter, end with a letter or digit, and only contain lowercase - letters, digits or dashes. - type: string - dnsSuffix: - type: string - description: >- - The DNS name suffix of this zone e.g. `example.com.`. Cloud DNS - requires that a DNS suffix ends with a trailing dot. - description: Represents a DNS zone resource. + A list of authentication rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. + items: + $ref: '#/components/schemas/AuthenticationRule' + providers: + description: Defines a set of authentication providers that a service supports. + items: + $ref: '#/components/schemas/AuthProvider' + type: array + description: >- + `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 + AddDnsRecordSetMetadata: + properties: {} + type: object + description: >- + Metadata provided through GetOperation request for the LRO generated by + AddDnsRecordSet API + id: AddDnsRecordSetMetadata Monitoring: description: >- Monitoring configuration of the service. The example below shows how to @@ -566,729 +594,429 @@ components: library.googleapis.com/book/num_overdue type: object properties: - producerDestinations: + consumerDestinations: + items: + $ref: '#/components/schemas/MonitoringDestination' description: >- - Monitoring configurations for sending metrics to the producer - project. There can be multiple producer destinations. A monitored + Monitoring configurations for sending metrics to the consumer + project. There can be multiple consumer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration. - items: - $ref: '#/components/schemas/MonitoringDestination' type: array - consumerDestinations: - items: - $ref: '#/components/schemas/MonitoringDestination' + producerDestinations: description: >- - Monitoring configurations for sending metrics to the consumer - project. There can be multiple consumer destinations. A monitored + Monitoring configurations for sending metrics to the producer + project. There can be multiple producer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration. type: array + items: + $ref: '#/components/schemas/MonitoringDestination' id: Monitoring - GetDnsZoneResponse: - id: GetDnsZoneResponse - description: >- - Represents managed DNS zones created in the shared Producer host and - consumer projects. + UpdateDnsRecordSetMetadata: type: object - properties: - producerPrivateZone: - description: The private DNS zone created in the shared producer host project. - $ref: '#/components/schemas/DnsZone' - consumerPeeringZone: - $ref: '#/components/schemas/DnsZone' - description: The DNS peering zone created in the consumer project. - ListConnectionsResponse: + id: UpdateDnsRecordSetMetadata description: >- - ListConnectionsResponse is the response to list peering states for the - given service and consumer project. + Metadata provided through GetOperation request for the LRO generated by + UpdateDnsRecordSet API + properties: {} + Subnetwork: + type: object properties: - connections: + ipCidrRange: + type: string + description: Subnetwork CIDR range in `10.x.x.x/y` format. + secondaryIpRanges: items: - $ref: '#/components/schemas/Connection' + $ref: '#/components/schemas/SecondaryIpRange' type: array - description: The list of Connections. - id: ListConnectionsResponse - type: object - MetricRule: - description: >- - Bind API methods to metrics. Binding a method to a metric causes that - metric's configured quota behaviors to apply to the method call. - properties: - selector: - description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. + description: List of secondary IP ranges in this subnetwork. + region: type: string - metricCosts: - additionalProperties: - format: int64 - type: string - description: >- - Metrics to update when the selected methods are called, and the - associated cost applied to each metric. The key of the map is the - metric name, and the values are the amount increased for the metric - against which the quota limits are defined. The value must not be - negative. - type: object - id: MetricRule - type: object - SecondaryIpRange: - type: object - id: SecondaryIpRange - properties: - rangeName: - description: Name of the secondary IP range. + description: GCP region where the subnetwork is located. + name: + description: Subnetwork name. See https://cloud.google.com/compute/docs/vpc/ type: string - ipCidrRange: + network: + description: >- + In the Shared VPC host project, the VPC network that's peered with + the consumer network. For example: + `projects/1234321/global/networks/host-network` type: string - description: Secondary IP CIDR range in `x.x.x.x/y` format. - PeeredDnsDomainMetadata: - id: PeeredDnsDomainMetadata - type: object - properties: {} - description: >- - Metadata provided through GetOperation request for the LRO generated by - CreatePeeredDnsDomain API. - ExperimentalFeatures: - properties: - restAsyncIoEnabled: + outsideAllocation: description: >- - Enables generation of asynchronous REST clients if `rest` transport - is enabled. By default, asynchronous REST clients will not be - generated. This feature will be enabled by default 1 month after - launching the feature in preview packages. + This is a discovered subnet that is not within the current consumer + allocated ranges. type: boolean + id: Subnetwork description: >- - Experimental features to be included during client library generation. - These fields will be deprecated once the feature graduates and is - enabled by default. - id: ExperimentalFeatures - type: object - DeleteConnectionRequest: - type: object + Represents a subnet that was created or discovered by a private access + management service. + MonitoringDestination: + id: MonitoringDestination + description: >- + Configuration of a specific monitoring destination (the producer project + or the consumer project). properties: - consumerNetwork: + metrics: + description: >- + Types of the metrics to report to this monitoring destination. Each + type must be defined in Service.metrics section. + type: array + items: + type: string + monitoredResource: type: string description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is a project - number, as in '12345' {network} is a network name. - description: >- - Request to delete a private service access connection. The call will - fail if there are any managed service instances using this connection. - id: DeleteConnectionRequest - ConsumerConfigMetadata: - description: >- - Metadata provided through GetOperation request for the LRO generated by - UpdateConsumerConfig API. - properties: {} + The monitored resource type. The type must be defined in + Service.monitored_resources section. type: object - id: ConsumerConfigMetadata - Service: + Type: + description: A protocol buffer message type. + id: Type properties: - usage: - $ref: '#/components/schemas/Usage' - description: Configuration controlling usage of this service. - backend: - $ref: '#/components/schemas/Backend' - description: API backend configuration. - id: - description: >- - A unique ID for a specific instance of this message, typically - assigned by the client for tracking purpose. Must be no longer than - 63 characters and only lower case letters, digits, '.', '_' and '-' - are allowed. If empty, the server may choose to generate one - instead. + edition: type: string - systemTypes: - description: >- - 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. - items: - $ref: '#/components/schemas/Type' - type: array - name: description: >- - The service name, which is a DNS-like logical identifier for the - service, such as `calendar.googleapis.com`. The service name - typically goes through DNS verification to make sure the owner of - the service also owns the DNS name. + The source edition string, only valid when syntax is + SYNTAX_EDITIONS. + syntax: + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + description: The source syntax. type: string - enums: + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + options: + description: The protocol buffer options. items: - $ref: '#/components/schemas/Enum' + $ref: '#/components/schemas/Option' + type: array + fields: type: array - description: >- - 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 - logging: - $ref: '#/components/schemas/Logging' - description: Logging configuration. - endpoints: items: - $ref: '#/components/schemas/Endpoint' - description: >- - 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. + $ref: '#/components/schemas/Field' + description: The list of fields. + oneofs: type: array - http: - $ref: '#/components/schemas/Http' - description: HTTP configuration. - publishing: - $ref: '#/components/schemas/Publishing' - description: >- - Settings for [Google Cloud Client - libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) - generated from APIs defined as protocol buffers. - customError: - $ref: '#/components/schemas/CustomError' - description: Custom error configuration. - logs: - description: Defines the logs used by this service. + description: The list of types appearing in `oneof` definitions in this type. items: - $ref: '#/components/schemas/LogDescriptor' - type: array - producerProjectId: - description: The Google project that owns this service. - type: string - documentation: - description: Additional API documentation. - $ref: '#/components/schemas/Documentation' - control: - $ref: '#/components/schemas/Control' - description: Configuration for the service control plane. - authentication: - $ref: '#/components/schemas/Authentication' - description: Auth configuration. - billing: - description: Billing configuration. - $ref: '#/components/schemas/Billing' - monitoring: - $ref: '#/components/schemas/Monitoring' - description: Monitoring configuration. - title: + type: string + name: + description: The fully qualified message name. type: string + sourceContext: + description: The source context. + $ref: '#/components/schemas/SourceContext' + type: object + PhpSettings: + description: Settings for Php client libraries. + type: object + properties: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + id: PhpSettings + ListOperationsResponse: + properties: + operations: + items: + $ref: '#/components/schemas/Operation' description: >- - The product title for this service, it is the name displayed in - Google Cloud Console. - context: - description: Context configuration. - $ref: '#/components/schemas/Context' - configVersion: - type: integer - format: uint32 + A list of operations that matches the specified filter in the + request. + type: array + nextPageToken: + type: string + description: The standard List next-page token. + type: object + description: The response message for Operations.ListOperations. + id: ListOperationsResponse + ContextRule: + description: >- + A context rule provides information about the context for an individual + API element. + id: ContextRule + properties: + selector: description: >- - Obsolete. Do not use. This field has no semantic meaning. The - service config compiler always sets this field to `3`. - sourceInfo: - $ref: '#/components/schemas/SourceInfo' + Selects the methods to which this rule applies. Refer to selector + for syntax details. + type: string + requested: description: >- - Output only. The source information for this configuration if - available. - types: + A list of full type names of requested contexts, only the requested + context will be made available to the backend. items: - $ref: '#/components/schemas/Type' - description: >- - 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 - type: array - metrics: - description: Defines the metrics used by this service. + type: string type: array + provided: items: - $ref: '#/components/schemas/MetricDescriptor' - monitoredResources: + type: string type: array - items: - $ref: '#/components/schemas/MonitoredResourceDescriptor' - description: >- - Defines the monitored resources used by this service. This is - required by the Service.monitoring and Service.logging - configurations. - systemParameters: - description: System parameter configuration. - $ref: '#/components/schemas/SystemParameters' - apis: description: >- - 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. + A list of full type names of provided contexts. It is used to + support propagating HTTP headers and ETags from the response + extension. + allowedResponseExtensions: items: - $ref: '#/components/schemas/Api' - type: array - quota: - $ref: '#/components/schemas/Quota' - description: Quota configuration. - description: >- - `Service` is the root object of Google API service configuration - (service config). It describes the basic information about a logical - service, such as the service name and the user-facing title, and - delegates other aspects to sub-sections. Each sub-section is either a - proto message or a repeated proto message that configures a specific - aspect, such as auth. For more information, see each proto message - definition. Example: type: google.api.Service name: - calendar.googleapis.com title: Google Calendar API apis: - name: - google.calendar.v3.Calendar visibility: rules: - selector: - "google.calendar.v3.*" restriction: PREVIEW backend: rules: - selector: - "google.calendar.v3.*" address: calendar.example.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 - type: object - id: Service - ListDnsZonesResponse: - description: >- - Represents all DNS zones in the shared producer host project and the - matching peering zones in the consumer project. - id: ListDnsZonesResponse - properties: - dnsZonePairs: + type: string type: array - items: - $ref: '#/components/schemas/DnsZonePair' description: >- - All pairs of private DNS zones in the shared producer host project - and the matching peering zones in the consumer project.. - type: object - DnsZonePair: - description: '* Represents a pair of private and peering DNS zone resources. *' - id: DnsZonePair - type: object - properties: - consumerPeeringZone: - $ref: '#/components/schemas/DnsZone' - description: The DNS peering zone in the consumer project. - producerPrivateZone: - $ref: '#/components/schemas/DnsZone' - description: The private DNS zone in the shared producer host project. - SystemParameterRule: - properties: - parameters: + A list of full type names or extension IDs of extensions allowed in + grpc side channel from backend to client. + allowedRequestExtensions: description: >- - Define parameters. Multiple names may be defined for a parameter. - For a given method call, only one of them should be used. If - multiple names are used the behavior is implementation-dependent. If - none of the specified names are present the behavior is - parameter-dependent. - items: - $ref: '#/components/schemas/SystemParameter' + A list of full type names or extension IDs of extensions allowed in + grpc side channel from client to backend. type: array - selector: - description: >- - Selects the methods to which this rule applies. Use '*' to indicate - all methods in all APIs. Refer to selector for syntax details. - type: string + items: + type: string type: object - id: SystemParameterRule + RemoveDnsZoneResponse: + properties: {} + id: RemoveDnsZoneResponse + type: object + description: Blank message response type for RemoveDnsZone API + SelectiveGapicGeneration: + id: SelectiveGapicGeneration description: >- - Define a system parameter rule mapping system parameter definitions to - methods. - Backend: + This message is used to configure the generation of a subset of the RPCs + in a service for client libraries. properties: - rules: - description: >- - A list of API backend rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + methods: items: - $ref: '#/components/schemas/BackendRule' + type: string type: array - description: '`Backend` defines the backend configuration for a service.' + description: >- + An allowlist of the fully qualified names of RPCs that should be + included on public client surfaces. type: object - id: Backend - RemoveDnsRecordSetRequest: + CancelOperationRequest: type: object - id: RemoveDnsRecordSetRequest + description: The request message for Operations.CancelOperation. + properties: {} + id: CancelOperationRequest + SystemParameter: + id: SystemParameter description: >- - Request to remove a record set from a private managed DNS zone in the - shared producer host project. The name, type, ttl, and data values must - all exactly match an existing record set in the specified zone. + Define a parameter's name and location. The parameter may be passed as + either an HTTP header or a URL query parameter, and if both are passed + the behavior is implementation-dependent. + type: object properties: - dnsRecordSet: - $ref: '#/components/schemas/DnsRecordSet' - description: Required. The DNS record set to remove. - consumerNetwork: + name: + description: >- + Define the name of the parameter, such as "api_key" . It is case + sensitive. type: string + httpHeader: description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is the - project number, as in '12345' {network} is the network name. - zone: + Define the HTTP header name to use for the parameter. It is case + insensitive. type: string + urlQueryParameter: description: >- - Required. The name of the private DNS zone in the shared producer - host project from which the record set will be removed. - LogDescriptor: - properties: - description: + Define the URL query parameter name to use for the parameter. It is + case sensitive. type: string - description: >- - A human-readable description of this log. This information appears - in the documentation and can contain details. + ConsumerConfigMetadata: + properties: {} + description: >- + Metadata provided through GetOperation request for the LRO generated by + UpdateConsumerConfig API. + id: ConsumerConfigMetadata + type: object + DeletePeeredDnsDomainMetadata: + description: >- + Metadata provided through GetOperation request for the LRO generated by + DeletePeeredDnsDomain API. + properties: {} + id: DeletePeeredDnsDomainMetadata + type: object + GetDnsZoneResponse: + type: object + id: GetDnsZoneResponse + properties: + producerPrivateZone: + description: The private DNS zone created in the shared producer host project. + $ref: '#/components/schemas/DnsZone' + consumerPeeringZone: + $ref: '#/components/schemas/DnsZone' + description: The DNS peering zone created in the consumer project. + description: >- + Represents managed DNS zones created in the shared Producer host and + consumer projects. + RemoveDnsZoneRequest: + type: object + description: >- + Request to remove a private managed DNS zone in the shared producer host + project and a matching DNS peering zone in the consumer project. + properties: name: + description: >- + Required. The name for both the private zone in the shared producer + host project and the peering zone in the consumer project. + type: string + consumerNetwork: type: string description: >- - The name of the log. It must be less than 512 characters long and - can include the following characters: upper- and lower-case - alphanumeric characters [A-Za-z0-9], and punctuation characters - including slash, underscore, hyphen, period [/_-.]. - displayName: + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is the + project number, as in '12345' {network} is the network name. + id: RemoveDnsZoneRequest + BillingDestination: + id: BillingDestination + properties: + monitoredResource: description: >- - The human-readable name for this log. This information appears on - the user interface and should be concise. + The monitored resource type. The type must be defined in + Service.monitored_resources section. type: string - labels: + metrics: description: >- - The set of labels that are available to describe a specific log - entry. Runtime requests that contain labels not specified here are - considered invalid. + Names of the metrics to report to this billing destination. Each + name must be defined in Service.metrics section. items: - $ref: '#/components/schemas/LabelDescriptor' + type: string type: array description: >- - A description of a log type. Example in YAML format: - name: - library.googleapis.com/activity_history description: The history of - borrowing and returning library items. display_name: Activity labels: - - key: /customer_id description: Identifier of a library customer - id: LogDescriptor - type: object - MetricDescriptor: - description: >- - 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. - id: MetricDescriptor + Configuration of a specific billing destination (Currently only support + bill against consumer project). type: object + DnsRecordSet: + description: Represents a DNS record set resource. + id: DnsRecordSet properties: - displayName: + type: + description: Required. The identifier of a supported record type. type: string + ttl: description: >- - A concise name for the metric, which can be displayed in user - interfaces. Use sentence case without an ending period, for example - "Request count". This field is optional but it is recommended to be - set for any metrics associated with user-visible concepts, such as - Quota. - labels: + Required. The period of time for which this RecordSet can be cached + by resolvers. + type: string + format: google-duration + domain: + type: string description: >- - The set of labels that can be used to describe a specific instance - of this metric type. For example, the - `appengine.googleapis.com/http/server/response_latencies` metric - type has a label for the HTTP response code, `response_code`, so you - can look at latencies for successful responses or just for responses - that failed. + 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. + data: items: - $ref: '#/components/schemas/LabelDescriptor' + type: string type: array - metadata: - description: Optional. Metadata which can be used to guide usage of the metric. - $ref: '#/components/schemas/MetricDescriptorMetadata' - description: - type: string description: >- - A detailed description of the metric, which can be used in - documentation. - unit: + Required. As defined in RFC 1035 (section 5) and RFC 1034 (section + 3.6.1) for examples see + https://cloud.google.com/dns/records/json-record. + type: object + CloudSQLConfig: + type: object + id: CloudSQLConfig + properties: + umbrellaNetwork: + type: string + description: The name of the umbrella network in the Cloud SQL umbrella project. + umbrellaProject: + format: int64 + description: The project number of the Cloud SQL umbrella project. + type: string + service: + description: Peering service used for peering with the Cloud SQL project. + type: string + description: Cloud SQL configuration. + SecondaryIpRange: + properties: + rangeName: type: string + description: Name of the secondary IP range. + ipCidrRange: + type: string + description: Secondary IP CIDR range in `x.x.x.x/y` format. + type: object + id: SecondaryIpRange + ExperimentalFeatures: + description: >- + Experimental features to be included during client library generation. + These fields will be deprecated once the feature graduates and is + enabled by default. + properties: + restAsyncIoEnabled: description: >- - 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` dimensionless - **Prefixes (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) **Grammar** The 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"). - monitoredResourceTypes: + Enables generation of asynchronous REST clients if `rest` transport + is enabled. By default, asynchronous REST clients will not be + generated. This feature will be enabled by default 1 month after + launching the feature in preview packages. + type: boolean + id: ExperimentalFeatures + type: object + ListDnsRecordSetsResponse: + properties: + dnsRecordSets: + description: DNS record Set Resource + items: + $ref: '#/components/schemas/DnsRecordSet' + type: array + description: Represents all DNS RecordSets associated with the producer network + id: ListDnsRecordSetsResponse + type: object + Backend: + type: object + id: Backend + properties: + rules: + description: >- + A list of API backend rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. type: array items: - type: string + $ref: '#/components/schemas/BackendRule' + description: '`Backend` defines the backend configuration for a service.' + AddRolesResponse: + type: object + id: AddRolesResponse + description: Represents IAM roles added to the shared VPC host project. + properties: + policyBinding: + items: + $ref: '#/components/schemas/PolicyBinding' description: >- - 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. - type: - description: >- - 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" - type: string - launchStage: - type: string - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible - ways, and are not guaranteed to be released. - - >- - Alpha is a limited availability test for releases before they are - cleared for widespread use. By Alpha, all significant design - issues are resolved and we are in the process of verifying - functionality. Alpha customers need to apply for access, agree to - applicable terms, and have their projects allowlisted. Alpha - releases don't have to be feature complete, no SLAs are provided, - and there are no technical support obligations, but they will be - far enough along that customers can actually use them in test - environments or for limited-use tests -- just like they would in - normal production cases. - - >- - Beta is the point at which we are ready to open a release for any - customer to use. There are no SLA or technical support obligations - in a Beta release. Products will be complete from a feature - perspective, but may have some open outstanding issues. Beta - releases are suitable for limited production use cases. - - >- - GA features are open to all developers and are considered stable - and fully qualified for production use. - - >- - Deprecated features are scheduled to be shut down and removed. For - more information, see the "Deprecation Policy" section of our - [Terms of Service](https://cloud.google.com/terms/) and the - [Google Cloud Platform Subject to the Deprecation - Policy](https://cloud.google.com/terms/deprecation) documentation. - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - description: Optional. The launch stage of the metric definition. - name: - description: The resource name of the metric descriptor. - type: string - metricKind: - enum: - - METRIC_KIND_UNSPECIFIED - - GAUGE - - DELTA - - CUMULATIVE - type: string - description: >- - Whether the metric records instantaneous values, changes to a value, - etc. Some combinations of `metric_kind` and `value_type` might not - be supported. - enumDescriptions: - - Do not use this default value. - - An instantaneous measurement of a value. - - The change in a value during a time interval. - - >- - A value accumulated over a time interval. Cumulative measurements - in a time series should have 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. - valueType: - description: >- - Whether the measurement is an integer, a floating-point number, etc. - Some combinations of `metric_kind` and `value_type` might not be - supported. - enum: - - VALUE_TYPE_UNSPECIFIED - - BOOL - - INT64 - - DOUBLE - - STRING - - DISTRIBUTION - - MONEY - type: string - enumDescriptions: - - Do not use this default value. - - >- - The value is a boolean. This value type can be used only if the - metric kind is `GAUGE`. - - The value is a signed 64-bit integer. - - The value is a double precision floating point number. - - >- - The value is a text string. This value type can be used only if - the metric kind is `GAUGE`. - - The value is a `Distribution`. - - The value is money. - UpdateConsumerConfigRequest: - properties: - consumerConfig: - description: Required. The updated peering config. - $ref: '#/components/schemas/ConsumerConfig' - type: object - id: UpdateConsumerConfigRequest - description: >- - Request to update the configuration of a service networking connection - including the import/export of custom routes and subnetwork routes with - public IP. - DotnetSettings: - type: object - id: DotnetSettings - description: Settings for Dotnet client libraries. - properties: - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - handwrittenSignatures: - type: array - description: >- - Method signatures (in the form "service.method(signature)") which - are provided separately, so shouldn't be generated. Snippets - *calling* these methods are still generated, however. - items: - type: string - renamedResources: - type: object - description: >- - Map from full resource types to the effective short name for the - resource. This is used when otherwise resource named from different - services would cause naming collisions. Example entry: - "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" - additionalProperties: - type: string - forcedNamespaceAliases: - items: - type: string - description: >- - Namespaces which must be aliased in snippets due to a known (but - non-generator-predictable) naming collision - type: array - renamedServices: - description: >- - Map from original service names to renamed versions. This is used - when the default generated types would cause a naming conflict. - (Neither name is fully-qualified.) Example: Subscriber to - SubscriberServiceApi. - additionalProperties: - type: string - type: object - ignoredResources: - items: - type: string - description: >- - List of full resource types to ignore during generation. This is - typically used for API-specific Location resources, which should be - handled by the generator as if they were actually the common - Location resources. Example entry: - "documentai.googleapis.com/Location" + Required. List of policy bindings that were added to the shared VPC + host project. type: array - Route: - id: Route - description: >- - Represents a route that was created or discovered by a private access - management service. + NodeSettings: type: object - properties: - destRange: - type: string - description: Destination CIDR range that this route applies to. - network: - description: >- - Fully-qualified URL of the VPC network in the producer host tenant - project that this route applies to. For example: - `projects/123456/global/networks/host-network` - type: string - name: - description: Route name. See https://cloud.google.com/vpc/docs/routes - type: string - nextHopGateway: - description: >- - Fully-qualified URL of the gateway that should handle matching - packets that this route applies to. For example: - `projects/123456/global/gateways/default-internet-gateway` - type: string - RubySettings: - description: Settings for Ruby client libraries. + id: NodeSettings + description: Settings for Node client libraries. properties: common: - description: Some settings. $ref: '#/components/schemas/CommonLanguageSettings' - type: object - id: RubySettings + description: Some settings. CommonLanguageSettings: + description: Required information for every language. + id: CommonLanguageSettings type: object properties: destinations: - description: >- - The destination where API teams want this client library to be - published. items: + enum: + - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED + - GITHUB + - PACKAGE_MANAGER type: string enumDescriptions: - >- @@ -1300,1050 +1028,767 @@ components: - >- Publish the library to package managers like nuget.org and npmjs.com. - enum: - - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED - - GITHUB - - PACKAGE_MANAGER type: array + description: >- + The destination where API teams want this client library to be + published. selectiveGapicGeneration: - $ref: '#/components/schemas/SelectiveGapicGeneration' description: >- Configuration for which RPCs should be generated in the GAPIC client. + $ref: '#/components/schemas/SelectiveGapicGeneration' referenceDocsUri: + deprecated: true + type: string description: >- Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest - type: string - deprecated: true - id: CommonLanguageSettings - description: Required information for every language. - MonitoringDestination: + SearchRangeRequest: + id: SearchRangeRequest + description: Request to search for an unused range within allocated ranges. type: object - id: MonitoringDestination properties: - monitoredResource: - type: string + ipPrefixLength: description: >- - The monitored resource type. The type must be defined in - Service.monitored_resources section. - metrics: - type: array - items: - type: string + Required. The prefix length of the IP range. Use usual CIDR range + notation. For example, '30' to find unused x.x.x.x/30 CIDR range. + Actual range will be determined using allocated range for the + consumer peered network and returned in the result. + format: int32 + type: integer + network: description: >- - Types of the metrics to report to this monitoring destination. Each - type must be defined in Service.metrics section. - description: >- - Configuration of a specific monitoring destination (the producer project - or the consumer project). - Api: - description: >- - Api is a light-weight descriptor for an API Interface. Interfaces are - also described as "protocol buffer services" in some contexts, such as - by the "service" keyword in a .proto file, but they are different from - API Services, which represent a concrete implementation of an interface - as opposed to simply a description of methods and bindings. They are - also sometimes simply referred to as "APIs" in other contexts, such as - the name of this message itself. See - https://cloud.google.com/apis/design/glossary for detailed terminology. + Network name in the consumer project. This network must have been + already peered with a shared VPC network using CreateConnection + method. Must be in a form + 'projects/{project}/global/networks/{network}'. {project} is a + project number, as in '12345' {network} is network name. + type: string + Method: properties: name: type: string - description: >- - The fully qualified name of this interface, including package name - followed by the interface's simple name. - version: - description: >- - A version string for this interface. If specified, must have the - form `major-version.minor-version`, as in `1.10`. If the minor - version is omitted, it defaults to zero. If the entire version field - is empty, the major version is derived from the package name, as - outlined below. If the field is not empty, the version in the - package name will be verified to be consistent with what is provided - here. The versioning schema uses [semantic - versioning](http://semver.org) where the major version number - indicates a breaking change and the minor version an additive, - non-breaking change. Both version numbers are signals to users what - to expect from different versions, and should be carefully chosen - based on the product plan. The major version is also reflected in - the package name of the interface, which must end in `v`, as in - `google.feature.v1`. For major versions 0 and 1, the suffix can be - omitted. Zero major versions must only be used for experimental, - non-GA interfaces. + description: The simple name of this method. + requestStreaming: + description: If true, the request is streamed. + type: boolean + requestTypeUrl: + description: A URL of the input message type. type: string - syntax: - description: The source syntax of the service. + responseTypeUrl: type: string + description: The URL of the output message type. + responseStreaming: + type: boolean + description: If true, the response is streamed. + syntax: enum: - SYNTAX_PROTO2 - SYNTAX_PROTO3 - SYNTAX_EDITIONS + type: string + description: The source syntax of this method. enumDescriptions: - Syntax `proto2`. - Syntax `proto3`. - Syntax `editions`. - mixins: - description: Included interfaces. See Mixin. - type: array - items: - $ref: '#/components/schemas/Mixin' - sourceContext: - description: >- - Source context for the protocol buffer service represented by this - message. - $ref: '#/components/schemas/SourceContext' - methods: - description: The methods of this interface, in unspecified order. - type: array - items: - $ref: '#/components/schemas/Method' options: + description: Any metadata attached to the method. items: $ref: '#/components/schemas/Option' type: array - description: Any metadata attached to the interface. - id: Api type: object - GoogleCloudServicenetworkingV1betaConnection: + description: Method represents a method of an API interface. + id: Method + DnsZonePair: + type: object + properties: + producerPrivateZone: + description: The private DNS zone in the shared producer host project. + $ref: '#/components/schemas/DnsZone' + consumerPeeringZone: + description: The DNS peering zone in the consumer project. + $ref: '#/components/schemas/DnsZone' + id: DnsZonePair + description: '* Represents a pair of private and peering DNS zone resources. *' + AddDnsRecordSetRequest: type: object description: >- - Represents a private connection resource. A private connection is - implemented as a VPC Network Peering connection between a service - producer's VPC network and a service consumer's VPC network. + Request to add a record set to a private managed DNS zone in the shared + producer host project. properties: - service: - description: >- - Output only. The name of the peering service that's associated with - this connection, in the following format: `services/{service name}`. + dnsRecordSet: + $ref: '#/components/schemas/DnsRecordSet' + description: Required. The DNS record set to add. + consumerNetwork: type: string - network: description: >- - The name of service consumer's VPC network that's connected with - service producer network, in the following format: - `projects/{project}/global/networks/{network}`. `{project}` is a - project number, such as in `12345` that includes the VPC service - consumer's VPC network. `{network}` is the name of the service - consumer's VPC network. + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is the + project number, as in '12345' {network} is the network name. + zone: type: string - reservedPeeringRanges: - type: array - description: >- - The name of one or more allocated IP address ranges for this service - producer of type `PEERING`. Note that invoking this method with a - different range when connection is already established will not - modify already provisioned service producer subnetworks. - items: - type: string - peering: description: >- - Output only. The name of the VPC Network Peering connection that was - created by the service producer. - type: string - id: GoogleCloudServicenetworkingV1betaConnection - Page: + Required. The name of the private DNS zone in the shared producer + host project to which the record set will be added. + id: AddDnsRecordSetRequest + SourceContext: properties: - name: - description: >- - The name of the page. It will be used as an identity of the page to - generate URI of the page, text of the link to this page in - navigation, etc. The full page name (start from the root page name - to this page concatenated with `.`) can be used as reference to the - page in your documentation. For example: pages: - name: Tutorial - content: (== include tutorial.md ==) subpages: - name: Java content: - (== include tutorial_java.md ==) You can reference `Java` page using - Markdown reference link syntax: `Java`. - type: string - subpages: - type: array - items: - $ref: '#/components/schemas/Page' - description: >- - Subpages of this page. The order of subpages specified here will be - honored in the generated docset. - content: + fileName: type: string description: >- - The Markdown content of the page. You can use (== include {path} ==) - to include content from a Markdown file. The content can be used to - produce the documentation page such as HTML format page. - id: Page - type: object + The path-qualified name of the .proto file that contained the + associated protobuf element. For example: + `"google/protobuf/source_context.proto"`. description: >- - Represents a documentation page. A page can contain subpages to - represent nested documentation set structure. - NodeSettings: - description: Settings for Node client libraries. - id: NodeSettings + `SourceContext` represents information about the source of a protobuf + element, like the file in which it is defined. type: object + id: SourceContext + EnumValue: properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - SearchRangeRequest: - id: SearchRangeRequest - properties: - network: - description: >- - Network name in the consumer project. This network must have been - already peered with a shared VPC network using CreateConnection - method. Must be in a form - 'projects/{project}/global/networks/{network}'. {project} is a - project number, as in '12345' {network} is network name. + options: + description: Protocol buffer options. + type: array + items: + $ref: '#/components/schemas/Option' + name: + description: Enum value name. type: string - ipPrefixLength: + number: + description: Enum value number. type: integer - description: >- - Required. The prefix length of the IP range. Use usual CIDR range - notation. For example, '30' to find unused x.x.x.x/30 CIDR range. - Actual range will be determined using allocated range for the - consumer peered network and returned in the result. format: int32 - description: Request to search for an unused range within allocated ranges. + id: EnumValue type: object - Field: + description: Enum value definition. + ConsumerProject: type: object - description: A single field of a message type. - id: Field + id: ConsumerProject + description: Represents a consumer project. properties: - defaultValue: + projectNum: type: string description: >- - The string value of the default value of this field. Proto2 syntax - only. - typeUrl: + Required. Project number of the consumer that is launching the + service instance. It can own the network that is peered with Google + or, be a service project in an XPN where the host project has the + network. + format: int64 + ValidateConsumerConfigRequest: + type: object + properties: + consumerProject: + $ref: '#/components/schemas/ConsumerProject' description: >- - The field type URL, without the scheme, for message or enumeration - types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. - type: string - cardinality: - type: string - enumDescriptions: - - For fields with unknown cardinality. - - For optional fields. - - For required fields. Proto2 syntax only. - - For repeated fields. - description: The field cardinality. - enum: - - CARDINALITY_UNKNOWN - - CARDINALITY_OPTIONAL - - CARDINALITY_REQUIRED - - CARDINALITY_REPEATED - oneofIndex: - format: int32 + NETWORK_NOT_IN_CONSUMERS_PROJECT, + NETWORK_NOT_IN_CONSUMERS_HOST_PROJECT, and HOST_PROJECT_NOT_FOUND + are done when consumer_project is provided. + validateNetwork: + type: boolean description: >- - The index of the field type in `Type.oneofs`, for message or - enumeration types. The first type has index 1; zero means the type - is not in the list. - type: integer - number: - format: int32 - description: The field number. - type: integer - kind: - enumDescriptions: - - Field type unknown. - - Field type double. - - Field type float. - - Field type int64. - - Field type uint64. - - Field type int32. - - Field type fixed64. - - Field type fixed32. - - Field type bool. - - Field type string. - - Field type group. Proto2 syntax only, and deprecated. - - Field type message. - - Field type bytes. - - Field type uint32. - - Field type enum. - - Field type sfixed32. - - Field type sfixed64. - - Field type sint32. - - Field type sint64. - type: string - enum: - - TYPE_UNKNOWN - - TYPE_DOUBLE - - TYPE_FLOAT - - TYPE_INT64 - - TYPE_UINT64 - - TYPE_INT32 - - TYPE_FIXED64 - - TYPE_FIXED32 - - TYPE_BOOL - - TYPE_STRING - - TYPE_GROUP - - TYPE_MESSAGE - - TYPE_BYTES - - TYPE_UINT32 - - TYPE_ENUM - - TYPE_SFIXED32 - - TYPE_SFIXED64 - - TYPE_SINT32 - - TYPE_SINT64 - description: The field type. - packed: + The validations will be performed in the order listed in the + ValidationError enum. The first failure will return. If a validation + is not requested, then the next one will be performed. + SERVICE_NETWORKING_NOT_ENABLED and NETWORK_NOT_PEERED checks are + performed for all requests where validation is requested. + NETWORK_NOT_FOUND and NETWORK_DISCONNECTED checks are done for + requests that have validate_network set to true. + checkServiceNetworkingUsePermission: + description: >- + Optional. The IAM permission check determines whether the consumer + project has 'servicenetworking.services.use' permission or not. type: boolean - description: Whether to use alternative packed wire representation. - name: - type: string - description: The field name. - options: - items: - $ref: '#/components/schemas/Option' - type: array - description: The protocol buffer options. - jsonName: - type: string - description: The field JSON name. - GoogleCloudServicenetworkingV1ConsumerConfigReservedRange: - id: GoogleCloudServicenetworkingV1ConsumerConfigReservedRange - description: Allocated IP address ranges for this private service access connection. - type: object - properties: - address: - type: string + consumerNetwork: description: >- - The starting address of the reserved range. The address must be a - valid IPv4 address in the x.x.x.x format. This value combined with - the IP prefix length is the CIDR range for the reserved range. - ipPrefixLength: - type: integer - description: The prefix length of the reserved range. - format: int32 - name: + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is a project + number, as in '12345' {network} is network name. type: string - description: The name of the reserved range. - GoogleCloudServicenetworkingV1betaSubnetwork: + rangeReservation: + description: >- + RANGES_EXHAUSTED, RANGES_EXHAUSTED, and RANGES_DELETED_LATER are + done when range_reservation is provided. + $ref: '#/components/schemas/RangeReservation' + id: ValidateConsumerConfigRequest + UpdateDnsRecordSetRequest: properties: - network: + existingDnsRecordSet: + description: Required. The existing DNS record set to update. + $ref: '#/components/schemas/DnsRecordSet' + consumerNetwork: type: string description: >- - In the Shared VPC host project, the VPC network that's peered with - the consumer network. For example: - `projects/1234321/global/networks/host-network` - name: - type: string - description: Subnetwork name. See https://cloud.google.com/compute/docs/vpc/ - outsideAllocation: - type: boolean + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is the + project number, as in '12345' {network} is the network name. + newDnsRecordSet: description: >- - This is a discovered subnet that is not within the current consumer - allocated ranges. - ipCidrRange: - description: Subnetwork CIDR range in `10.x.x.x/y` format. + Required. The new values that the DNS record set should be updated + to hold. + $ref: '#/components/schemas/DnsRecordSet' + zone: + description: >- + Required. The name of the private DNS zone in the shared producer + host project from which the record set will be removed. type: string - id: GoogleCloudServicenetworkingV1betaSubnetwork - type: object + id: UpdateDnsRecordSetRequest description: >- - Represents a subnet that was created or discovered by a private access - management service. - ConsumerConfig: + Request to update a record set from a private managed DNS zone in the + shared producer host project. The name, type, ttl, and data values of + the existing record set must all exactly match an existing record set in + the specified zone. + type: object + AddSubnetworkRequest: + id: AddSubnetworkRequest + description: Request to create a subnetwork in a previously peered service network. + type: object properties: - usedIpRanges: + subnetworkUsers: items: type: string + description: >- + A list of members that are granted the + `roles/servicenetworking.subnetworkAdmin` role on the subnet. type: array - readOnly: true - description: Output only. The IP ranges already in use by consumer or producer - producerImportSubnetRoutesWithPublicIp: + skipRequestedAddressValidation: type: boolean description: >- - Import subnet routes with public ip flag value for peering from - producer to consumer. - vpcScReferenceArchitectureEnabled: - type: boolean + Optional. Skips validating if the requested_address is in use by SN + VPC’s peering group. Compute Engine will still perform this check + and fail the request if the requested_address is in use. Note that + Compute Engine does not check for the existence of dynamic routes + when performing this check. Caller of this API should make sure that + there are no dynamic routes overlapping with the + requested_address/prefix_length IP address range otherwise the + created subnet could cause misrouting. + checkServiceNetworkingUsePermission: description: >- - Output only. Indicates whether the VPC Service Controls reference - architecture is configured for the producer VPC host network. - readOnly: true - producerExportCustomRoutes: + Optional. The IAM permission check determines whether the consumer + project has 'servicenetworking.services.use' permission or not. type: boolean + consumerNetwork: description: >- - Export custom routes flag value for peering from producer to - consumer. - reservedRanges: - description: >- - Output only. The reserved ranges associated with this private - service access connection. - readOnly: true - items: - $ref: >- - #/components/schemas/GoogleCloudServicenetworkingV1ConsumerConfigReservedRange - type: array - cloudsqlConfigs: - items: - $ref: '#/components/schemas/CloudSQLConfig' - type: array - description: Represents one or multiple Cloud SQL configurations. - consumerImportCustomRoutes: - description: >- - Import custom routes flag value for peering from consumer to - producer. - type: boolean - consumerExportSubnetRoutesWithPublicIp: + Required. The name of the service consumer's VPC network. The + network must have an existing private connection that was + provisioned through the connections.create method. The name must be + in the following format: + `projects/{project}/global/networks/{network}`, where {project} is a + project number, such as `12345`. {network} is the name of a VPC + network in the project. + type: string + privateIpv6GoogleAccess: + type: string description: >- - Export subnet routes with public ip flag value for peering from - consumer to producer. - type: boolean - producerExportSubnetRoutesWithPublicIp: - type: boolean + Optional. The private IPv6 google access type for the VMs in this + subnet. For information about the access types that can be set using + this field, see + [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) + in the Compute API documentation. + computeIdempotencyWindow: description: >- - Export subnet routes with public ip flag value for peering from - producer to consumer. - producerNetwork: + Optional. Specifies a custom time bucket for Arcus subnetwork + request idempotency. If two equivalent concurrent requests are made, + Arcus will know to ignore the request if it has already been + completed or is in progress. Only requests with matching + compute_idempotency_window have guaranteed idempotency. Changing + this time window between requests results in undefined behavior. + Zero (or empty) value with custom_compute_idempotency_window=true + specifies no idempotency (i.e. no request ID is provided to Arcus). + Maximum value of 14 days (enforced by Arcus limit). For more + information on how to use, see: go/revisit-sn-idempotency-window + format: google-duration + type: string + outsideAllocationPublicIpRange: description: >- - 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. + Optional. Enable outside allocation using public IP addresses. Any + public IP range may be specified. If this field is provided, we will + not use customer reserved ranges for this primary IP range. type: string - readOnly: true - consumerExportCustomRoutes: + description: + type: string + description: Optional. Description of the subnet. + allowSubnetCidrRoutesOverlap: description: >- - Export custom routes flag value for peering from consumer to - producer. + Optional. Defines the allowSubnetCidrRoutesOverlap field of the + subnet, e.g. Available in alpha and beta according to [Compute API + documentation](https://cloud.google.com/compute/docs/reference/rest/beta/subnetworks/insert) type: boolean - consumerImportSubnetRoutesWithPublicIp: + purpose: + type: string description: >- - Import subnet routes with public ip flag value for peering from - consumer to producer. - type: boolean - producerImportCustomRoutes: - type: boolean + Optional. Defines the purpose field of the subnet, e.g. + 'PRIVATE_SERVICE_CONNECT'. For information about the purposes that + can be set using this field, see + [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) + in the Compute API documentation. + role: + type: string description: >- - Import custom routes flag value for peering from producer to - consumer. - id: ConsumerConfig - type: object - description: Configuration information for a private service access connection. - RemoveDnsZoneRequest: - type: object - properties: - name: - description: >- - Required. The name for both the private zone in the shared producer - host project and the peering zone in the consumer project. - type: string - consumerNetwork: - type: string - description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is the - project number, as in '12345' {network} is the network name. - id: RemoveDnsZoneRequest - description: >- - Request to remove a private managed DNS zone in the shared producer host - project and a matching DNS peering zone in the consumer project. - ContextRule: - properties: - provided: + Optional. Defines the role field of the subnet, e.g. 'ACTIVE'. For + information about the roles that can be set using this field, see + [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) + in the Compute API documentation. + ipPrefixLength: description: >- - A list of full type names of provided contexts. It is used to - support propagating HTTP headers and ETags from the response - extension. - items: - type: string - type: array - allowedResponseExtensions: + Required. The prefix length of the subnet's IP address range. Use + CIDR range notation, such as `29` to provision a subnet with an + `x.x.x.x/29` CIDR range. The IP address range is drawn from a pool + of available ranges in the service consumer's allocated range. GCE + disallows subnets with prefix_length > 29 + type: integer + format: int32 + secondaryIpRangeSpecs: type: array + description: >- + Optional. A list of secondary IP ranges to be created within the new + subnetwork. items: - type: string + $ref: '#/components/schemas/SecondaryIpRangeSpec' + subnetwork: description: >- - A list of full type names or extension IDs of extensions allowed in - grpc side channel from backend to client. - requested: + Required. A name for the new subnet. For information about the + naming requirements, see + [subnetwork](/compute/docs/reference/rest/v1/subnetworks) in the + Compute API documentation. + type: string + internalRange: + type: string description: >- - A list of full type names of requested contexts, only the requested - context will be made available to the backend. + Optional. The url of an Internal Range. Eg: + `projects//locations/global/internalRanges/`. If specified, it means + that the subnetwork cidr will be created using the combination of + requested_address/ip_prefix_length. Note that the subnet cidr has to + be within the cidr range of this Internal Range. + requestedRanges: type: array - items: - type: string - selector: description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - type: string - allowedRequestExtensions: + Optional. The name of one or more allocated IP address ranges + associated with this private service access connection. If no range + names are provided all ranges associated with this connection will + be considered. If a CIDR range with the specified IP prefix length + is not available within these ranges, the call fails. items: type: string + useCustomComputeIdempotencyWindow: description: >- - A list of full type names or extension IDs of extensions allowed in - grpc side channel from client to backend. - type: array - description: >- - A context rule provides information about the context for an individual - API element. - id: ContextRule - type: object - AuthProvider: - id: AuthProvider - type: object - description: >- - Configuration for an authentication provider, including support for - [JSON Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). - properties: - jwksUri: - description: >- - URL of the provider's public key set to validate signature of the - JWT. See [OpenID - Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). - Optional if the key set document: - can be retrieved from [OpenID - Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) - of the issuer. - can be inferred from the email domain of the issuer - (e.g. a Google service account). Example: - https://www.googleapis.com/oauth2/v1/certs - type: string - audiences: + Optional. Specifies if Service Networking should use a custom time + bucket for Arcus idempotency. If false, Service Networking uses a + 300 second (5 minute) Arcus idempotency window. If true, Service + Networking uses a custom idempotency window provided by the user in + field compute_idempotency_window. For more information on how to + use, see: go/revisit-sn-idempotency-window + type: boolean + requestedAddress: description: >- - The list of JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. When this setting is absent, JWTs with audiences: - - "https://[service.name]/[google.protobuf.Api.name]" - - "https://[service.name]/" will be accepted. For example, if no - audiences are in the setting, LibraryService API will accept JWTs - with the following audiences: - - https://library-example.googleapis.com/google.example.library.v1.LibraryService - - https://library-example.googleapis.com/ Example: audiences: - bookstore_android.apps.googleusercontent.com, - bookstore_web.apps.googleusercontent.com + Optional. The starting address of a range. The address must be a + valid IPv4 address in the x.x.x.x format. This value combined with + the IP prefix range is the CIDR range for the subnet. The range must + be within the allocated range that is assigned to the private + connection. If the CIDR range isn't available, the call fails. type: string - authorizationUrl: + region: description: >- - Redirect URL if JWT token is required but not present or is expired. - Implement authorizationUrl of securityDefinitions in OpenAPI spec. + Required. The name of a [region](/compute/docs/regions-zones) for + the subnet, such `europe-west1`. type: string - issuer: + consumer: type: string description: >- - Identifies the principal that issued the JWT. See - https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 - Usually a URL or an email address. Example: - https://securetoken.google.com Example: - 1234567-compute@developer.gserviceaccount.com - jwtLocations: - description: >- - Defines the locations to extract the JWT. For now it is only used by - the Cloud Endpoints to store the OpenAPI extension - [x-google-jwt-locations] - (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) - JWT locations can be one of HTTP headers, URL query parameters or - cookies. The rule is that the first match wins. If not specified, - default to use following 3 locations: 1) Authorization: Bearer 2) - x-goog-iap-jwt-assertion 3) access_token query parameter Default - locations can be specified as followings: jwt_locations: - header: - Authorization value_prefix: "Bearer " - header: - x-goog-iap-jwt-assertion - query: access_token - type: array - items: - $ref: '#/components/schemas/JwtLocation' - id: - description: >- - The unique identifier of the auth provider. It will be referred to - by `AuthRequirement.provider_id`. Example: "bookstore_auth". - type: string - FieldPolicy: + Required. A resource that represents the service consumer, such as + `projects/123456`. The project number can be different from the + value in the consumer network parameter. For example, the network + might be part of a Shared VPC network. In those cases, Service + Networking validates that this resource belongs to that Shared VPC. + Documentation: properties: - resourcePermission: + overview: description: >- - Specifies the required permission(s) for the resource referred to by - the field. It requires the field contains a valid resource - reference, and the request must pass the permission checks to - proceed. For example, "resourcemanager.projects.get". - type: string - selector: + Declares a single overview page. For example: documentation: + summary: ... overview: (== include overview.md ==) This is a + shortcut for the following declaration (using pages style): + documentation: summary: ... pages: - name: Overview content: (== + include overview.md ==) Note: you cannot specify both `overview` + field and `pages` field. type: string - description: >- - Selects one or more request or response message fields to apply this - `FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the - selector must be left as empty. The service config generator will - automatically fill the correct value. When a `FieldPolicy` is used - in service config, the selector must be a comma-separated string - with valid request or response field paths, such as "foo.bar" or - "foo.bar,foo.baz". - resourceType: + serviceRootUrl: type: string description: >- - Specifies the resource type for the resource referred to by the - field. - id: FieldPolicy - type: object - description: >- - Google API Policy Annotation This message defines a simple API policy - annotation that can be used to annotate API request and response message - fields with applicable policies. One field may have multiple applicable - policies that must all be satisfied before a request can be processed. - This policy annotation is used to generate the overall policy that will - be used for automatic runtime policy enforcement and documentation - generation. - Subnetwork: - id: Subnetwork - properties: - outsideAllocation: - type: boolean + Specifies the service root url if the default one (the service name + from the yaml file) is not suitable. This can be seen in any fully + specified service urls as well as sections that show a base that + other urls are relative to. + sectionOverrides: + items: + $ref: '#/components/schemas/Page' description: >- - This is a discovered subnet that is not within the current consumer - allocated ranges. - secondaryIpRanges: + Specifies section and content to override boilerplate content + provided by go/api-docgen. Currently overrides following sections: + 1. rest.service.client_libraries type: array - items: - $ref: '#/components/schemas/SecondaryIpRange' - description: List of secondary IP ranges in this subnetwork. - ipCidrRange: - description: Subnetwork CIDR range in `10.x.x.x/y` format. - type: string - name: - type: string - description: Subnetwork name. See https://cloud.google.com/compute/docs/vpc/ - region: + summary: + description: >- + A short description of what the service does. The summary must be + plain text. It becomes the overview of the service displayed in + Google Cloud Console. NOTE: This field is equivalent to the standard + field `description`. type: string - description: GCP region where the subnetwork is located. - network: + documentationRootUrl: type: string - description: >- - In the Shared VPC host project, the VPC network that's peered with - the consumer network. For example: - `projects/1234321/global/networks/host-network` - type: object - description: >- - Represents a subnet that was created or discovered by a private access - management service. - ListDnsRecordSetsResponse: - properties: - dnsRecordSets: - type: array - description: DNS record Set Resource + description: The URL to the root of documentation. + pages: items: - $ref: '#/components/schemas/DnsRecordSet' - id: ListDnsRecordSetsResponse - type: object - description: Represents all DNS RecordSets associated with the producer network - ListOperationsResponse: - properties: - nextPageToken: - type: string - description: The standard List next-page token. - operations: + $ref: '#/components/schemas/Page' + description: The top level pages for the documentation set. + type: array + rules: + type: array description: >- - A list of operations that matches the specified filter in the - request. + A list of documentation rules that apply to individual API elements. + **NOTE:** All service configuration rules follow "last one wins" + order. items: - $ref: '#/components/schemas/Operation' - type: array - id: ListOperationsResponse + $ref: '#/components/schemas/DocumentationRule' + description: >- + `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. type: object - description: The response message for Operations.ListOperations. - Option: - id: Option + id: Documentation + AddDnsZoneResponse: + properties: + producerPrivateZone: + description: The private DNS zone created in the shared producer host project. + $ref: '#/components/schemas/DnsZone' + consumerPeeringZone: + description: The DNS peering zone created in the consumer project. + $ref: '#/components/schemas/DnsZone' description: >- - A protocol buffer option, which can be attached to a message, field, - enumeration, etc. + Represents managed DNS zones created in the shared producer host and + consumer projects. type: object + id: AddDnsZoneResponse + AddDnsZoneMetadata: + id: AddDnsZoneMetadata + type: object + description: >- + Metadata provided through GetOperation request for the LRO generated by + AddDnsZone API + properties: {} + Page: properties: - value: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any + content: + type: string description: >- - The option's value packed in an Any message. If the value is a - primitive, the corresponding wrapper type defined in - google/protobuf/wrappers.proto should be used. If the value is an - enum, it should be stored as an int32 value using the - google.protobuf.Int32Value type. - type: object + The Markdown content of the page. You can use (== include {path} ==) + to include content from a Markdown file. The content can be used to + produce the documentation page such as HTML format page. name: type: string description: >- - The option's name. For protobuf built-in options (options defined in - descriptor.proto), this is the short name. For example, - `"map_entry"`. For custom options, it should be the fully-qualified - name. For example, `"google.api.http"`. - AddSubnetworkRequest: - description: Request to create a subnetwork in a previously peered service network. - id: AddSubnetworkRequest + The name of the page. It will be used as an identity of the page to + generate URI of the page, text of the link to this page in + navigation, etc. The full page name (start from the root page name + to this page concatenated with `.`) can be used as reference to the + page in your documentation. For example: pages: - name: Tutorial + content: (== include tutorial.md ==) subpages: - name: Java content: + (== include tutorial_java.md ==) You can reference `Java` page using + Markdown reference link syntax: `Java`. + subpages: + description: >- + Subpages of this page. The order of subpages specified here will be + honored in the generated docset. + type: array + items: + $ref: '#/components/schemas/Page' + type: object + description: >- + Represents a documentation page. A page can contain subpages to + represent nested documentation set structure. + id: Page + AddRolesRequest: type: object + id: AddRolesRequest properties: - role: - type: string - description: >- - Optional. Defines the role field of the subnet, e.g. 'ACTIVE'. For - information about the roles that can be set using this field, see - [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) - in the Compute API documentation. - ipPrefixLength: - type: integer - format: int32 - description: >- - Required. The prefix length of the subnet's IP address range. Use - CIDR range notation, such as `29` to provision a subnet with an - `x.x.x.x/29` CIDR range. The IP address range is drawn from a pool - of available ranges in the service consumer's allocated range. GCE - disallows subnets with prefix_length > 29 - skipRequestedAddressValidation: - type: boolean - description: >- - Optional. Skips validating if the requested_address is in use by SN - VPC’s peering group. Compute Engine will still perform this check - and fail the request if the requested_address is in use. Note that - Compute Engine does not check for the existence of dynamic routes - when performing this check. Caller of this API should make sure that - there are no dynamic routes overlapping with the - requested_address/prefix_length IP address range otherwise the - created subnet could cause misrouting. consumerNetwork: - type: string - description: >- - Required. The name of the service consumer's VPC network. The - network must have an existing private connection that was - provisioned through the connections.create method. The name must be - in the following format: - `projects/{project}/global/networks/{network}`, where {project} is a - project number, such as `12345`. {network} is the name of a VPC - network in the project. - internalRange: description: >- - Optional. The url of an Internal Range. Eg: - `projects//locations/global/internalRanges/`. If specified, it means - that the subnetwork cidr will be created using the combination of - requested_address/ip_prefix_length. Note that the subnet cidr has to - be within the cidr range of this Internal Range. + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is a project + number, as in '12345' {network} is a network name. type: string - secondaryIpRangeSpecs: - description: >- - Optional. A list of secondary IP ranges to be created within the new - subnetwork. - type: array + policyBinding: + description: Required. List of policy bindings to add to shared VPC host project. items: - $ref: '#/components/schemas/SecondaryIpRangeSpec' - description: - type: string - description: Optional. Description of the subnet. - useCustomComputeIdempotencyWindow: + $ref: '#/components/schemas/PolicyBinding' + type: array + description: >- + Request for AddRoles to allow Service Producers to add roles in the + shared VPC host project for them to use. + ConsumerConfig: + description: Configuration information for a private service access connection. + id: ConsumerConfig + properties: + consumerExportSubnetRoutesWithPublicIp: type: boolean description: >- - Optional. Specifies if Service Networking should use a custom time - bucket for Arcus idempotency. If false, Service Networking uses a - 300 second (5 minute) Arcus idempotency window. If true, Service - Networking uses a custom idempotency window provided by the user in - field compute_idempotency_window. For more information on how to - use, see: go/revisit-sn-idempotency-window - requestedRanges: + Export subnet routes with public ip flag value for peering from + consumer to producer. + reservedRanges: type: array + readOnly: true + items: + $ref: >- + #/components/schemas/GoogleCloudServicenetworkingV1ConsumerConfigReservedRange description: >- - Optional. The name of one or more allocated IP address ranges - associated with this private service access connection. If no range - names are provided all ranges associated with this connection will - be considered. If a CIDR range with the specified IP prefix length - is not available within these ranges, the call fails. + Output only. The reserved ranges associated with this private + service access connection. + usedIpRanges: + readOnly: true items: type: string - allowSubnetCidrRoutesOverlap: + type: array + description: Output only. The IP ranges already in use by consumer or producer + producerImportSubnetRoutesWithPublicIp: type: boolean description: >- - Optional. Defines the allowSubnetCidrRoutesOverlap field of the - subnet, e.g. Available in alpha and beta according to [Compute API - documentation](https://cloud.google.com/compute/docs/reference/rest/beta/subnetworks/insert) - computeIdempotencyWindow: + Import subnet routes with public ip flag value for peering from + producer to consumer. + vpcScReferenceArchitectureEnabled: + type: boolean + readOnly: true description: >- - Optional. Specifies a custom time bucket for Arcus subnetwork - request idempotency. If two equivalent concurrent requests are made, - Arcus will know to ignore the request if it has already been - completed or is in progress. Only requests with matching - compute_idempotency_window have guaranteed idempotency. Changing - this time window between requests results in undefined behavior. - Zero (or empty) value with custom_compute_idempotency_window=true - specifies no idempotency (i.e. no request ID is provided to Arcus). - Maximum value of 14 days (enforced by Arcus limit). For more - information on how to use, see: go/revisit-sn-idempotency-window - type: string - format: google-duration - subnetwork: + Output only. Indicates whether the VPC Service Controls reference + architecture is configured for the producer VPC host network. + producerNetwork: + readOnly: true description: >- - Required. A name for the new subnet. For information about the - naming requirements, see - [subnetwork](/compute/docs/reference/rest/v1/subnetworks) in the - Compute API documentation. - type: string - requestedAddress: - type: string - description: >- - Optional. The starting address of a range. The address must be a - valid IPv4 address in the x.x.x.x format. This value combined with - the IP prefix range is the CIDR range for the subnet. The range must - be within the allocated range that is assigned to the private - connection. If the CIDR range isn't available, the call fails. - outsideAllocationPublicIpRange: - description: >- - Optional. Enable outside allocation using public IP addresses. Any - public IP range may be specified. If this field is provided, we will - not use customer reserved ranges for this primary IP range. - type: string - privateIpv6GoogleAccess: - type: string - description: >- - Optional. The private IPv6 google access type for the VMs in this - subnet. For information about the access types that can be set using - this field, see - [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) - in the Compute API documentation. - consumer: + 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. type: string - description: >- - Required. A resource that represents the service consumer, such as - `projects/123456`. The project number can be different from the - value in the consumer network parameter. For example, the network - might be part of a Shared VPC network. In those cases, Service - Networking validates that this resource belongs to that Shared VPC. - subnetworkUsers: + cloudsqlConfigs: + description: Represents one or multiple Cloud SQL configurations. items: - type: string - description: >- - A list of members that are granted the - `roles/servicenetworking.subnetworkAdmin` role on the subnet. + $ref: '#/components/schemas/CloudSQLConfig' type: array - purpose: - type: string + consumerImportCustomRoutes: + type: boolean description: >- - Optional. Defines the purpose field of the subnet, e.g. - 'PRIVATE_SERVICE_CONNECT'. For information about the purposes that - can be set using this field, see - [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) - in the Compute API documentation. - region: + Import custom routes flag value for peering from consumer to + producer. + producerExportCustomRoutes: description: >- - Required. The name of a [region](/compute/docs/regions-zones) for - the subnet, such `europe-west1`. - type: string - checkServiceNetworkingUsePermission: + Export custom routes flag value for peering from producer to + consumer. + type: boolean + consumerExportCustomRoutes: type: boolean description: >- - Optional. The IAM permission check determines whether the consumer - project has 'servicenetworking.services.use' permission or not. - Status: - description: >- - 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). - type: object - properties: - details: - items: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - type: array + Export custom routes flag value for peering from consumer to + producer. + consumerImportSubnetRoutesWithPublicIp: + type: boolean description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. - message: - type: string + Import subnet routes with public ip flag value for peering from + consumer to producer. + producerImportCustomRoutes: description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - code: - type: integer - description: The status code, which should be an enum value of google.rpc.Code. - format: int32 - id: Status - DeleteConnectionMetadata: - properties: {} - id: DeleteConnectionMetadata - description: >- - Metadata provided through GetOperation request for the LRO generated by - Delete Connection API + Import custom routes flag value for peering from producer to + consumer. + type: boolean + producerExportSubnetRoutesWithPublicIp: + type: boolean + description: >- + Export subnet routes with public ip flag value for peering from + producer to consumer. type: object - Method: - description: Method represents a method of an API interface. - id: Method + Field: + type: object + description: A single field of a message type. properties: - requestTypeUrl: + jsonName: + description: The field JSON name. type: string - description: A URL of the input message type. - responseStreaming: - description: If true, the response is streamed. - type: boolean - name: - description: The simple name of this method. + kind: + enumDescriptions: + - Field type unknown. + - Field type double. + - Field type float. + - Field type int64. + - Field type uint64. + - Field type int32. + - Field type fixed64. + - Field type fixed32. + - Field type bool. + - Field type string. + - Field type group. Proto2 syntax only, and deprecated. + - Field type message. + - Field type bytes. + - Field type uint32. + - Field type enum. + - Field type sfixed32. + - Field type sfixed64. + - Field type sint32. + - Field type sint64. + enum: + - TYPE_UNKNOWN + - TYPE_DOUBLE + - TYPE_FLOAT + - TYPE_INT64 + - TYPE_UINT64 + - TYPE_INT32 + - TYPE_FIXED64 + - TYPE_FIXED32 + - TYPE_BOOL + - TYPE_STRING + - TYPE_GROUP + - TYPE_MESSAGE + - TYPE_BYTES + - TYPE_UINT32 + - TYPE_ENUM + - TYPE_SFIXED32 + - TYPE_SFIXED64 + - TYPE_SINT32 + - TYPE_SINT64 type: string - responseTypeUrl: + description: The field type. + defaultValue: + type: string + description: >- + The string value of the default value of this field. Proto2 syntax + only. + name: + description: The field name. type: string - description: The URL of the output message type. options: - type: array - description: Any metadata attached to the method. + description: The protocol buffer options. items: $ref: '#/components/schemas/Option' - requestStreaming: - type: boolean - description: If true, the request is streamed. - syntax: + type: array + cardinality: + description: The field cardinality. enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS + - CARDINALITY_UNKNOWN + - CARDINALITY_OPTIONAL + - CARDINALITY_REQUIRED + - CARDINALITY_REPEATED enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - description: The source syntax of this method. + - For fields with unknown cardinality. + - For optional fields. + - For required fields. Proto2 syntax only. + - For repeated fields. type: string - type: object - ValidateConsumerConfigRequest: - id: ValidateConsumerConfigRequest - properties: - checkServiceNetworkingUsePermission: - type: boolean - description: >- - Optional. The IAM permission check determines whether the consumer - project has 'servicenetworking.services.use' permission or not. - validateNetwork: + packed: type: boolean + description: Whether to use alternative packed wire representation. + typeUrl: description: >- - The validations will be performed in the order listed in the - ValidationError enum. The first failure will return. If a validation - is not requested, then the next one will be performed. - SERVICE_NETWORKING_NOT_ENABLED and NETWORK_NOT_PEERED checks are - performed for all requests where validation is requested. - NETWORK_NOT_FOUND and NETWORK_DISCONNECTED checks are done for - requests that have validate_network set to true. - consumerNetwork: + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. type: string + oneofIndex: + format: int32 + type: integer description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is a project - number, as in '12345' {network} is network name. - consumerProject: - $ref: '#/components/schemas/ConsumerProject' - description: >- - NETWORK_NOT_IN_CONSUMERS_PROJECT, - NETWORK_NOT_IN_CONSUMERS_HOST_PROJECT, and HOST_PROJECT_NOT_FOUND - are done when consumer_project is provided. - rangeReservation: - description: >- - RANGES_EXHAUSTED, RANGES_EXHAUSTED, and RANGES_DELETED_LATER are - done when range_reservation is provided. - $ref: '#/components/schemas/RangeReservation' - type: object - LoggingDestination: - id: LoggingDestination - properties: - monitoredResource: - description: >- - The monitored resource type. The type must be defined in the - Service.monitored_resources section. - type: string - logs: - type: array - items: - type: string - description: >- - Names of the logs to be sent to this destination. Each name must be - defined in the Service.logs section. If the log name is not a domain - scoped name, it will be automatically prefixed with the service name - followed by "/". - description: >- - Configuration of a specific logging destination (the producer project or - the consumer project). - type: object - AddDnsRecordSetMetadata: + The index of the field type in `Type.oneofs`, for message or + enumeration types. The first type has index 1; zero means the type + is not in the list. + number: + type: integer + description: The field number. + format: int32 + id: Field + UpdateConsumerConfigRequest: + id: UpdateConsumerConfigRequest + properties: + consumerConfig: + description: Required. The updated peering config. + $ref: '#/components/schemas/ConsumerConfig' description: >- - Metadata provided through GetOperation request for the LRO generated by - AddDnsRecordSet API + Request to update the configuration of a service networking connection + including the import/export of custom routes and subnetwork routes with + public IP. type: object - id: AddDnsRecordSetMetadata - properties: {} - UpdateDnsRecordSetRequest: + MethodSettings: + id: MethodSettings type: object - id: UpdateDnsRecordSetRequest - description: >- - Request to update a record set from a private managed DNS zone in the - shared producer host project. The name, type, ttl, and data values of - the existing record set must all exactly match an existing record set in - the specified zone. properties: - newDnsRecordSet: - description: >- - Required. The new values that the DNS record set should be updated - to hold. - $ref: '#/components/schemas/DnsRecordSet' - existingDnsRecordSet: - $ref: '#/components/schemas/DnsRecordSet' - description: Required. The existing DNS record set to update. - zone: - type: string + autoPopulatedFields: + type: array description: >- - Required. The name of the private DNS zone in the shared producer - host project from which the record set will be removed. - consumerNetwork: + List of top-level fields of the request message, that should be + automatically populated by the client libraries based on their + (google.api.field_info).format. Currently supported format: UUID4. + Example of a YAML configuration: publishing: method_settings: - + selector: google.example.v1.ExampleService.CreateExample + auto_populated_fields: - request_id + items: + type: string + longRunning: + $ref: '#/components/schemas/LongRunning' description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is the - project number, as in '12345' {network} is the network name. - type: string - RemoveDnsZoneResponse: - type: object - id: RemoveDnsZoneResponse - properties: {} - description: Blank message response type for RemoveDnsZone API - CustomHttpPattern: - id: CustomHttpPattern - description: A custom pattern is used for defining custom HTTP verb. - properties: - kind: - type: string - description: The name of this custom HTTP verb. - path: - type: string - description: The path matched by this custom verb. - type: object - AddRolesMetadata: - properties: {} - id: AddRolesMetadata - type: object - description: >- - Metadata provided through GetOperation request for the LRO generated by - AddRoles API - MetricDescriptorMetadata: - description: Additional annotations that can be used to guide the usage of a metric. - properties: - ingestDelay: + Describes settings to use for long-running operations when + generating API methods for RPCs. Complements RPCs that use the + annotations in google/longrunning/operations.proto. Example of a + YAML configuration:: publishing: method_settings: - selector: + google.cloud.speech.v2.Speech.BatchRecognize long_running: + initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 + max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 + minutes + selector: type: string - format: google-duration description: >- - The delay of data points caused by ingestion. Data points older than - this age are guaranteed to be ingested and available to be read, - excluding data loss due to errors. - timeSeriesResourceHierarchyLevel: - type: array - items: - enumDescriptions: - - Do not use this default value. - - Scopes a metric to a project. - - Scopes a metric to an organization. - - Scopes a metric to a folder. - type: string - enum: - - TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED - - PROJECT - - ORGANIZATION - - FOLDER - description: The scope of the timeseries data of the metric. + The fully qualified name of the method, for which the options below + apply. This is used to find the method to apply the options. + Example: publishing: method_settings: - selector: + google.storage.control.v2.StorageControl.CreateFolder # method + settings for CreateFolder... + description: Describes the generator configuration for a method. + MetricDescriptor: + properties: launchStage: + description: Optional. The launch stage of the metric definition. + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED type: string - deprecated: true - description: Deprecated. Must use the MetricDescriptor.launch_stage instead. enumDescriptions: - Do not use this default value. - The feature is not yet implemented. Users can not use it. @@ -2382,625 +1827,493 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. + valueType: enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - samplePeriod: + - VALUE_TYPE_UNSPECIFIED + - BOOL + - INT64 + - DOUBLE + - STRING + - DISTRIBUTION + - MONEY description: >- - The sampling period of metric data points. For metrics which are - written periodically, consecutive data points are stored at this - time interval, excluding data loss due to errors. Metrics with a - higher granularity have a smaller sampling period. + Whether the measurement is an integer, a floating-point number, etc. + Some combinations of `metric_kind` and `value_type` might not be + supported. + enumDescriptions: + - Do not use this default value. + - >- + The value is a boolean. This value type can be used only if the + metric kind is `GAUGE`. + - The value is a signed 64-bit integer. + - The value is a double precision floating point number. + - >- + The value is a text string. This value type can be used only if + the metric kind is `GAUGE`. + - The value is a `Distribution`. + - The value is money. type: string - format: google-duration - type: object - id: MetricDescriptorMetadata - Context: - type: object - description: >- - `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. - id: Context - properties: - rules: + monitoredResourceTypes: description: >- - A list of RPC context rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + 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. type: array items: - $ref: '#/components/schemas/ContextRule' - JavaSettings: - id: JavaSettings - type: object - description: Settings for Java client libraries. - properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - libraryPackage: - description: >- - The package name to use in Java. Clobbers the java_package option - set in the protobuf. This should be used **only** by APIs who have - already set the language_settings.java.package_name" field in - gapic.yaml. API teams should use the protobuf java_package option - where possible. Example of a YAML configuration:: publishing: - java_settings: library_package: com.google.cloud.pubsub.v1 - type: string - serviceClassNames: - type: object - additionalProperties: type: string + unit: description: >- - Configure the Java class name to use instead of the service's for - its corresponding generated GAPIC client. Keys are fully-qualified - service names as they appear in the protobuf (including the full the - language_settings.java.interface_names" field in gapic.yaml. API - teams should otherwise use the service name as it appears in the - protobuf. Example of a YAML configuration:: publishing: - java_settings: service_class_names: - google.pubsub.v1.Publisher: - TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin - MethodSettings: - properties: - longRunning: - description: >- - Describes settings to use for long-running operations when - generating API methods for RPCs. Complements RPCs that use the - annotations in google/longrunning/operations.proto. Example of a - YAML configuration:: publishing: method_settings: - selector: - google.cloud.speech.v2.Speech.BatchRecognize long_running: - initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 - max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 - minutes - $ref: '#/components/schemas/LongRunning' - autoPopulatedFields: - type: array - items: - type: string - description: >- - List of top-level fields of the request message, that should be - automatically populated by the client libraries based on their - (google.api.field_info).format. Currently supported format: UUID4. - Example of a YAML configuration: publishing: method_settings: - - selector: google.example.v1.ExampleService.CreateExample - auto_populated_fields: - request_id - selector: + 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` dimensionless + **Prefixes (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) **Grammar** The 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"). type: string - description: >- - The fully qualified name of the method, for which the options below - apply. This is used to find the method to apply the options. - Example: publishing: method_settings: - selector: - google.storage.control.v2.StorageControl.CreateFolder # method - settings for CreateFolder... - id: MethodSettings - description: Describes the generator configuration for a method. - type: object - RemoveDnsRecordSetMetadata: - type: object - id: RemoveDnsRecordSetMetadata - properties: {} - description: >- - Metadata provided through GetOperation request for the LRO generated by - RemoveDnsRecordSet API - SystemParameter: - id: SystemParameter - properties: - urlQueryParameter: + type: type: string description: >- - Define the URL query parameter name to use for the parameter. It is - case sensitive. - httpHeader: + 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" + displayName: description: >- - Define the HTTP header name to use for the parameter. It is case - insensitive. + A concise name for the metric, which can be displayed in user + interfaces. Use sentence case without an ending period, for example + "Request count". This field is optional but it is recommended to be + set for any metrics associated with user-visible concepts, such as + Quota. type: string + metadata: + description: Optional. Metadata which can be used to guide usage of the metric. + $ref: '#/components/schemas/MetricDescriptorMetadata' + labels: + type: array + description: >- + The set of labels that can be used to describe a specific instance + of this metric type. For example, the + `appengine.googleapis.com/http/server/response_latencies` metric + type has a label for the HTTP response code, `response_code`, so you + can look at latencies for successful responses or just for responses + that failed. + items: + $ref: '#/components/schemas/LabelDescriptor' name: + description: The resource name of the metric descriptor. type: string + metricKind: + enum: + - METRIC_KIND_UNSPECIFIED + - GAUGE + - DELTA + - CUMULATIVE description: >- - Define the name of the parameter, such as "api_key" . It is case - sensitive. - type: object - description: >- - Define a parameter's name and location. The parameter may be passed as - either an HTTP header or a URL query parameter, and if both are passed - the behavior is implementation-dependent. - Mixin: - properties: - name: - description: The fully qualified name of the interface which is included. + Whether the metric records instantaneous values, changes to a value, + etc. Some combinations of `metric_kind` and `value_type` might not + be supported. type: string - root: + enumDescriptions: + - Do not use this default value. + - An instantaneous measurement of a value. + - The change in a value during a time interval. + - >- + A value accumulated over a time interval. Cumulative measurements + in a time series should have 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. + description: description: >- - If non-empty specifies a path under which inherited HTTP paths are - rooted. + A detailed description of the metric, which can be used in + documentation. type: string - id: Mixin - type: object - description: >- - Declares an API Interface to be included in this interface. The - including interface must redeclare all the methods from the included - interface, but documentation and options are inherited as follows: - If - after comment and whitespace stripping, the documentation string of the - redeclared method is empty, it will be inherited from the original - method. - Each annotation belonging to the service config (http, - visibility) which is not set in the redeclared method will be inherited. - - If an http annotation is inherited, the path pattern will be modified - as follows. Any version prefix will be replaced by the version of the - including interface plus the root path if specified. Example of a simple - mixin: package google.acl.v1; service AccessControl { // Get the - underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option - (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package - google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) - returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns - (Data) { option (google.api.http).get = "/v2/{resource=**}"; } } Example - of a mixin configuration: apis: - name: google.storage.v2.Storage - mixins: - name: google.acl.v1.AccessControl The mixin construct implies - that all methods in `AccessControl` are also declared with same name and - request/response types in `Storage`. A documentation generator or - annotation processor will see the effective `Storage.GetAcl` method - after inherting documentation and annotations as follows: service - Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) - returns (Acl) { option (google.api.http).get = - "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path - pattern changed from `v1` to `v2`. If the `root` field in the mixin is - specified, it should be a relative path under which inherited HTTP paths - are placed. Example: apis: - name: google.storage.v2.Storage mixins: - - name: google.acl.v1.AccessControl root: acls This implies the following - inherited HTTP annotation: service Storage { // Get the underlying ACL - object. rpc GetAcl(GetAclRequest) returns (Acl) { option - (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... } - DeletePeeredDnsDomainMetadata: - type: object - id: DeletePeeredDnsDomainMetadata description: >- - Metadata provided through GetOperation request for the LRO generated by - DeletePeeredDnsDomain API. - properties: {} - SecondaryIpRangeSpec: + 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. + id: MetricDescriptor type: object - id: SecondaryIpRangeSpec + AuthProvider: properties: - ipPrefixLength: - format: int32 - description: >- - Required. The prefix length of the secondary IP range. Use CIDR - range notation, such as `30` to provision a secondary IP range with - an `x.x.x.x/30` CIDR range. The IP address range is drawn from a - pool of available ranges in the service consumer's allocated range. - type: integer - outsideAllocationPublicIpRange: + jwksUri: description: >- - Optional. Enable outside allocation using public IP addresses. Any - public IP range may be specified. If this field is provided, we will - not use customer reserved ranges for this secondary IP range. - type: string - requestedAddress: + URL of the provider's public key set to validate signature of the + JWT. See [OpenID + Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + Optional if the key set document: - can be retrieved from [OpenID + Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) + of the issuer. - can be inferred from the email domain of the issuer + (e.g. a Google service account). Example: + https://www.googleapis.com/oauth2/v1/certs type: string + authorizationUrl: description: >- - Optional. The starting address of a range. The address must be a - valid IPv4 address in the x.x.x.x format. This value combined with - the IP prefix range is the CIDR range for the secondary IP range. - The range must be within the allocated range that is assigned to the - private connection. If the CIDR range isn't available, the call - fails. - rangeName: + Redirect URL if JWT token is required but not present or is expired. + Implement authorizationUrl of securityDefinitions in OpenAPI spec. type: string + issuer: description: >- - Required. A name for the secondary IP range. The name must be 1-63 - characters long, and comply with RFC1035. The name must be unique - within the subnetwork. - EnableVpcServiceControlsRequest: - description: Request to enable VPC service controls. - properties: - consumerNetwork: + Identifies the principal that issued the JWT. See + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + Usually a URL or an email address. Example: + https://securetoken.google.com Example: + 1234567-compute@developer.gserviceaccount.com type: string + jwtLocations: description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is a project - number, as in '12345' {network} is network name. - type: object - id: EnableVpcServiceControlsRequest - PeeredDnsDomain: - description: >- - DNS domain suffix for which requests originating in the producer VPC - network are resolved in the associated consumer VPC network. - id: PeeredDnsDomain - type: object - properties: - dnsSuffix: + Defines the locations to extract the JWT. For now it is only used by + the Cloud Endpoints to store the OpenAPI extension + [x-google-jwt-locations] + (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) + JWT locations can be one of HTTP headers, URL query parameters or + cookies. The rule is that the first match wins. If not specified, + default to use following 3 locations: 1) Authorization: Bearer 2) + x-goog-iap-jwt-assertion 3) access_token query parameter Default + locations can be specified as followings: jwt_locations: - header: + Authorization value_prefix: "Bearer " - header: + x-goog-iap-jwt-assertion - query: access_token + type: array + items: + $ref: '#/components/schemas/JwtLocation' + id: type: string description: >- - The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires - that a DNS suffix ends with a trailing dot. - name: + The unique identifier of the auth provider. It will be referred to + by `AuthRequirement.provider_id`. Example: "bookstore_auth". + audiences: type: string description: >- - User assigned name for this resource. Must be unique within the - consumer network. The name must be 1-63 characters long, must begin - with a letter, end with a letter or digit, and only contain - lowercase letters, digits or dashes. - RemoveDnsZoneMetadata: - id: RemoveDnsZoneMetadata - properties: {} - description: >- - Metadata provided through GetOperation request for the LRO generated by - RemoveDnsZone API - type: object - CppSettings: - properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - description: Settings for C++ client libraries. - type: object - id: CppSettings - VpcServiceControls: - description: Response for the get VPC Service Controls request. - properties: - enabled: - type: boolean - readOnly: true - description: >- - 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. - id: VpcServiceControls + The list of JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. When this setting is absent, JWTs with audiences: + - "https://[service.name]/[google.protobuf.Api.name]" - + "https://[service.name]/" will be accepted. For example, if no + audiences are in the setting, LibraryService API will accept JWTs + with the following audiences: - + https://library-example.googleapis.com/google.example.library.v1.LibraryService + - https://library-example.googleapis.com/ Example: audiences: + bookstore_android.apps.googleusercontent.com, + bookstore_web.apps.googleusercontent.com type: object - AddDnsRecordSetRequest: description: >- - Request to add a record set to a private managed DNS zone in the shared - producer host project. + Configuration for an authentication provider, including support for + [JSON Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + id: AuthProvider + RangeReservation: type: object + id: RangeReservation properties: - zone: - type: string - description: >- - Required. The name of the private DNS zone in the shared producer - host project to which the record set will be added. - consumerNetwork: - description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is the - project number, as in '12345' {network} is the network name. - type: string - dnsRecordSet: - $ref: '#/components/schemas/DnsRecordSet' - description: Required. The DNS record set to add. - id: AddDnsRecordSetRequest - Publishing: - id: Publishing - description: >- - 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. - properties: - docTagPrefix: - type: string + ipPrefixLength: + format: int32 description: >- - A prefix used in sample code when demarking regions to be included - in documentation. - protoReferenceDocumentationUri: + Required. The size of the desired subnet. Use usual CIDR range + notation. For example, '29' to find unused x.x.x.x/29 CIDR range. + The goal is to determine if one of the allocated ranges has enough + free space for a subnet of the requested size. GCE disallows subnets + with prefix_length > 29 + type: integer + requestedRanges: + type: array + items: + type: string description: >- - Optional link to proto reference documentation. Example: - https://cloud.google.com/pubsub/lite/docs/reference/rpc - type: string - methodSettings: + Optional. The name of one or more allocated IP address ranges + associated with this private service access connection. If no range + names are provided all ranges associated with this connection will + be considered. If a CIDR range with the specified IP prefix length + is not available within these ranges the validation fails. + secondaryRangeIpPrefixLengths: description: >- - A list of API method settings, e.g. the behavior for methods that - use the long-running operation pattern. + Optional. The size of the desired secondary ranges for the subnet. + Use usual CIDR range notation. For example, '29' to find unused + x.x.x.x/29 CIDR range. The goal is to determine that the allocated + ranges have enough free space for all the requested secondary + ranges. GCE disallows subnets with prefix_length > 29 type: array items: - $ref: '#/components/schemas/MethodSettings' - organization: - enum: - - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED - - CLOUD - - ADS - - PHOTOS - - STREET_VIEW - - SHOPPING - - GEO - - GENERATIVE_AI - enumDescriptions: - - Not useful. - - Google Cloud Platform Org. - - Ads (Advertising) Org. - - Photos Org. - - Street View Org. - - Shopping Org. - - Geo Org. - - Generative AI - https://developers.generativeai.google - description: For whom the client library is being published. - type: string - codeownerGithubTeams: + format: int32 + type: integer + subnetworkCandidates: + items: + $ref: '#/components/schemas/Subnetwork' + description: >- + Optional. List of subnetwork candidates to validate. The required + input fields are `name`, `network`, and `region`. Subnetworks from + this list which exist will be returned in the response with the + `ip_cidr_range`, `secondary_ip_cider_ranges`, and + `outside_allocation` fields set. + type: array + description: Represents a range reservation. + DotnetSettings: + type: object + id: DotnetSettings + properties: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + handwrittenSignatures: type: array + description: >- + Method signatures (in the form "service.method(signature)") which + are provided separately, so shouldn't be generated. Snippets + *calling* these methods are still generated, however. items: type: string + forcedNamespaceAliases: + items: + type: string + type: array description: >- - GitHub teams to be added to CODEOWNERS in the directory in GitHub - containing source code for the client libraries for this API. - newIssueUri: - type: string + Namespaces which must be aliased in snippets due to a known (but + non-generator-predictable) naming collision + renamedResources: description: >- - Link to a *public* URI where users can report issues. Example: - https://issuetracker.google.com/issues/new?component=190865&template=1161103 - documentationUri: + Map from full resource types to the effective short name for the + resource. This is used when otherwise resource named from different + services would cause naming collisions. Example entry: + "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" + type: object + additionalProperties: + type: string + renamedServices: description: >- - Link to product home page. Example: - https://cloud.google.com/asset-inventory/docs/overview - type: string - restReferenceDocumentationUri: + Map from original service names to renamed versions. This is used + when the default generated types would cause a naming conflict. + (Neither name is fully-qualified.) Example: Subscriber to + SubscriberServiceApi. + additionalProperties: + type: string + type: object + ignoredResources: description: >- - Optional link to REST reference documentation. Example: - https://cloud.google.com/pubsub/lite/docs/reference/rest - type: string - librarySettings: + List of full resource types to ignore during generation. This is + typically used for API-specific Location resources, which should be + handled by the generator as if they were actually the common + Location resources. Example entry: + "documentai.googleapis.com/Location" items: - $ref: '#/components/schemas/ClientLibrarySettings' + type: string type: array - description: >- - Client library settings. If the same version string appears multiple - times in this list, then the last one wins. Settings from earlier - settings with the same version string are discarded. - githubLabel: + description: Settings for Dotnet client libraries. + GoogleCloudServicenetworkingV1betaConnection: + type: object + properties: + peering: type: string description: >- - GitHub label to apply to issues and pull requests opened for this - API. - apiShortName: + Output only. The name of the VPC Network Peering connection that was + created by the service producer. + network: + type: string description: >- - Used as a tracking tag when collecting data about the APIs developer - relations artifacts like docs, packages delivered to package - managers, etc. Example: "speech". - type: string - type: object - Empty: - properties: {} - id: Empty - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - type: object - Enum: - type: object - description: Enum type definition. - properties: - enumvalue: - items: - $ref: '#/components/schemas/EnumValue' - description: Enum value definitions. - type: array - syntax: - type: string - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - description: The source syntax. - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - name: - description: Enum type name. - type: string - options: - items: - $ref: '#/components/schemas/Option' - type: array - description: Protocol buffer options. - sourceContext: - description: The source context. - $ref: '#/components/schemas/SourceContext' - edition: - description: >- - The source edition string, only valid when syntax is - SYNTAX_EDITIONS. + The name of service consumer's VPC network that's connected with + service producer network, in the following format: + `projects/{project}/global/networks/{network}`. `{project}` is a + project number, such as in `12345` that includes the VPC service + consumer's VPC network. `{network}` is the name of the service + consumer's VPC network. + service: type: string - id: Enum - AddDnsZoneResponse: - type: object - description: >- - Represents managed DNS zones created in the shared producer host and - consumer projects. - properties: - consumerPeeringZone: - description: The DNS peering zone created in the consumer project. - $ref: '#/components/schemas/DnsZone' - producerPrivateZone: - $ref: '#/components/schemas/DnsZone' - description: The private DNS zone created in the shared producer host project. - id: AddDnsZoneResponse - Usage: - type: object - description: Configuration controlling usage of a service. - id: Usage - properties: - rules: description: >- - A list of usage rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. - items: - $ref: '#/components/schemas/UsageRule' + Output only. The name of the peering service that's associated with + this connection, in the following format: `services/{service name}`. + reservedPeeringRanges: type: array - requirements: items: type: string description: >- - Requirements that must be satisfied before a consumer project can - use the service. Each requirement is of the form /; for example - 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a - Terms of Service requirement must be included here. Google Cloud - APIs must include "serviceusage.googleapis.com/tos/cloud". Other - Google APIs should include - "serviceusage.googleapis.com/tos/universal". Additional ToS can be - included based on the business needs. - type: array - producerNotificationChannel: - type: string - description: >- - The full resource name of a channel used for sending notifications - to the service producer. Google Service Management currently only - supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as - a notification channel. To use Google Cloud Pub/Sub as the channel, - this must be the name of a Cloud Pub/Sub topic that uses the Cloud - Pub/Sub topic name format documented in - https://cloud.google.com/pubsub/docs/overview. - Type: + The name of one or more allocated IP address ranges for this service + producer of type `PEERING`. Note that invoking this method with a + different range when connection is already established will not + modify already provisioned service producer subnetworks. + id: GoogleCloudServicenetworkingV1betaConnection + description: >- + Represents a private connection resource. A private connection is + implemented as a VPC Network Peering connection between a service + producer's VPC network and a service consumer's VPC network. + LabelDescriptor: properties: - sourceContext: - description: The source context. - $ref: '#/components/schemas/SourceContext' - edition: + description: type: string - description: >- - The source edition string, only valid when syntax is - SYNTAX_EDITIONS. - name: + description: A human-readable description for the label. + valueType: + description: The type of data that can be assigned to the label. + enumDescriptions: + - A variable-length string. This is the default. + - Boolean; true or false. + - A 64-bit signed integer. type: string - description: The fully qualified message name. - oneofs: - description: The list of types appearing in `oneof` definitions in this type. - items: - type: string - type: array - syntax: - description: The source syntax. enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS + - STRING + - BOOL + - INT64 + key: + description: The label key. type: string - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - options: - description: The protocol buffer options. - type: array - items: - $ref: '#/components/schemas/Option' - fields: - items: - $ref: '#/components/schemas/Field' - type: array - description: The list of fields. - description: A protocol buffer message type. type: object - id: Type - AuthRequirement: + id: LabelDescriptor + description: A description of a label. + PeeredDnsDomain: + id: PeeredDnsDomain type: object description: >- - User-defined authentication requirements, including support for [JSON - Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). - id: AuthRequirement + DNS domain suffix for which requests originating in the producer VPC + network are resolved in the associated consumer VPC network. properties: - providerId: + dnsSuffix: type: string description: >- - id from authentication provider. Example: provider_id: - bookstore_auth - audiences: - description: >- - NOTE: This will be deprecated soon, once AuthProvider.audiences is - implemented and accepted in all the runtime components. The list of - JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. When this setting is absent, only JWTs with - audience "https://Service_name/API_name" will be accepted. For - example, if no audiences are in the setting, LibraryService API will - only accept JWTs with the following audience - "https://library-example.googleapis.com/google.example.library.v1.LibraryService". - Example: audiences: bookstore_android.apps.googleusercontent.com, - bookstore_web.apps.googleusercontent.com + The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires + that a DNS suffix ends with a trailing dot. + name: type: string - SelectiveGapicGeneration: - type: object - description: >- - This message is used to configure the generation of a subset of the RPCs - in a service for client libraries. - id: SelectiveGapicGeneration - properties: - methods: - items: - type: string - type: array description: >- - An allowlist of the fully qualified names of RPCs that should be - included on public client surfaces. - CancelOperationRequest: - type: object - description: The request message for Operations.CancelOperation. - id: CancelOperationRequest - properties: {} - JwtLocation: - id: JwtLocation - type: object - description: Specifies a location to extract JWT from an API request. + User assigned name for this resource. Must be unique within the + consumer network. The name must be 1-63 characters long, must begin + with a letter, end with a letter or digit, and only contain + lowercase letters, digits or dashes. + Range: properties: - cookie: - type: string - description: Specifies cookie name to extract JWT token. - header: - description: Specifies HTTP header name to extract JWT token. - type: string - valuePrefix: + network: type: string description: >- - The value prefix. The value format is "value_prefix{token}" Only - applies to "in" header type. Must be empty for "in" query type. If - not empty, the header value has to match (case sensitive) this - prefix. If not matched, JWT will not be extracted. If matched, JWT - will be extracted after the prefix is removed. For example, for - "Authorization: Bearer {JWT}", value_prefix="Bearer " with a space - at the end. - query: + In the Shared VPC host project, the VPC network that's peered with + the consumer network. For example: + `projects/1234321/global/networks/host-network` + ipCidrRange: + description: >- + CIDR range in "10.x.x.x/y" format that is within the allocated + ranges and currently unused. type: string - description: Specifies URL query parameter name to extract JWT token. - BackendRule: type: object + id: Range + description: Represents a found unused range. + OAuthRequirements: + id: OAuthRequirements properties: - deadline: - format: double + canonicalScopes: description: >- - The number of seconds to wait for a response from a request. The - default varies based on the request protocol and deployment - environment. - type: number - pathTranslation: + The list of publicly documented OAuth scopes that are allowed + access. An OAuth token containing any of these scopes will be + accepted. Example: canonical_scopes: + https://www.googleapis.com/auth/calendar, + https://www.googleapis.com/auth/calendar.read type: string - enum: - - PATH_TRANSLATION_UNSPECIFIED - - CONSTANT_ADDRESS - - APPEND_PATH_TO_ADDRESS + type: object + description: >- + OAuth scopes are a way to define data and permissions on data. For + example, there are scopes defined for "Read-only access to Google + Calendar" and "Access to Cloud Platform". Users can consent to a scope + for an application, giving it permission to access that data on their + behalf. OAuth scope specifications should be fairly coarse grained; a + user will need to see and understand the text description of what your + scope means. In most cases: use one or at most two OAuth scopes for an + entire family of products. If your product has multiple APIs, you should + probably be sharing the OAuth scope across all of those APIs. When you + need finer grained OAuth consent screens: talk with your product + management about how developers will use them in practice. Please note + that even though each of the canonical scopes is enough for a request to + be accepted and passed to the backend, a request can still fail due to + the backend requiring additional scopes or permissions. + JwtLocation: + description: Specifies a location to extract JWT from an API request. + properties: + valuePrefix: + description: >- + The value prefix. The value format is "value_prefix{token}" Only + applies to "in" header type. Must be empty for "in" query type. If + not empty, the header value has to match (case sensitive) this + prefix. If not matched, JWT will not be extracted. If matched, JWT + will be extracted after the prefix is removed. For example, for + "Authorization: Bearer {JWT}", value_prefix="Bearer " with a space + at the end. + type: string + cookie: + type: string + description: Specifies cookie name to extract JWT token. + query: + type: string + description: Specifies URL query parameter name to extract JWT token. + header: + description: Specifies HTTP header name to extract JWT token. + type: string + id: JwtLocation + type: object + BackendRule: + description: A backend rule provides configuration for an individual API element. + properties: + operationDeadline: + format: double + type: number + description: >- + The number of seconds to wait for the completion of a long running + operation. The default is no deadline. + address: + type: string + description: >- + The address of the API backend. The scheme is used to determine the + backend protocol and security. The following schemes are accepted: + SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// + gRPC None grpcs:// gRPC TLS It is recommended to explicitly include + a scheme. Leaving out the scheme may cause constrasting behaviors + across platforms. If the port is unspecified, the default is: - 80 + for schemes without TLS - 443 for schemes with TLS For HTTP + backends, use protocol to specify the protocol version. + pathTranslation: enumDescriptions: - '' - >- @@ -3030,6 +2343,23 @@ components: Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST + type: string + enum: + - PATH_TRANSLATION_UNSPECIFIED + - CONSTANT_ADDRESS + - APPEND_PATH_TO_ADDRESS + deadline: + description: >- + The number of seconds to wait for a response from a request. The + default varies based on the request protocol and deployment + environment. + format: double + type: number + minDeadline: + description: Deprecated, do not use. + format: double + deprecated: true + type: number overridesByRequestProtocol: description: The map between request protocol and the backend address. additionalProperties: @@ -3048,34 +2378,6 @@ components: be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. - operationDeadline: - type: number - format: double - description: >- - The number of seconds to wait for the completion of a long running - operation. The default is no deadline. - selector: - type: string - description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - address: - type: string - description: >- - The address of the API backend. The scheme is used to determine the - backend protocol and security. The following schemes are accepted: - SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// - gRPC None grpcs:// gRPC TLS It is recommended to explicitly include - a scheme. Leaving out the scheme may cause constrasting behaviors - across platforms. If the port is unspecified, the default is: - 80 - for schemes without TLS - 443 for schemes with TLS For HTTP - backends, use protocol to specify the protocol version. - jwtAudience: - type: string - description: >- - The JWT audience is used when generating a JWT ID token for the - backend. This ID token will be added in the HTTP "authorization" - header, and sent to the backend. disableAuth: type: boolean description: >- @@ -3083,39 +2385,69 @@ components: original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header. - minDeadline: - description: Deprecated, do not use. - deprecated: true - type: number - format: double - description: A backend rule provides configuration for an individual API element. + jwtAudience: + description: >- + The JWT audience is used when generating a JWT ID token for the + backend. This ID token will be added in the HTTP "authorization" + header, and sent to the backend. + type: string + selector: + type: string + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. + type: object id: BackendRule - AddDnsZoneMetadata: - description: >- - Metadata provided through GetOperation request for the LRO generated by - AddDnsZone API - properties: {} + CustomError: + id: CustomError type: object - id: AddDnsZoneMetadata + properties: + types: + description: >- + The list of custom error detail types, e.g. + 'google.foo.v1.CustomError'. + items: + type: string + type: array + rules: + description: >- + The list of custom error rules that apply to individual API + messages. **NOTE:** All service configuration rules follow "last one + wins" order. + type: array + items: + $ref: '#/components/schemas/CustomErrorRule' + description: >- + 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 QuotaLimit: + type: object + description: >- + `QuotaLimit` defines a specific limit that applies over a specified + duration for a limit type. There can be at most one limit for a duration + and limit type combination defined within a `QuotaGroup`. id: QuotaLimit properties: - duration: - type: string + unit: description: >- - Duration of this limit in textual notation. Must be "100s" or "1d". - Used by group-based quotas only. - maxLimit: + Specify the unit of the quota limit. It uses the same syntax as + MetricDescriptor.unit. The supported unit kinds are determined by + the quota backend system. Here are some examples: * + "1/min/{project}" for quota per minute per project. Note: the order + of unit components is insignificant. The "1" at the beginning is + required to follow the metric unit syntax. type: string - format: int64 + values: + additionalProperties: + format: int64 + type: string + type: object description: >- - Maximum number of tokens that can be consumed during the specified - duration. Client application developers can override the default - limit up to this maximum. If specified, this value cannot be set to - a value less than the default limit. If not specified, it is set to - the default limit. To allow clients to apply overrides with no upper - bound, set this to -1, indicating unlimited maximum quota. Used by - group-based quotas only. + Tiered limit values. You must specify this as a key:value pair, with + an integer value that is the maximum number of requests allowed for + the specified unit. Currently only STANDARD is supported. displayName: type: string description: >- @@ -3123,13 +2455,6 @@ components: UI will provide a default display name based on the quota configuration. This field can be used to override the default display name generated from the configuration. - name: - description: >- - Name of the quota limit. The name must be provided, and it must be - unique within the service. The name can only include alphanumeric - characters as well as '-'. The maximum length of the limit name is - 64 characters. - type: string defaultLimit: description: >- Default number of tokens that can be consumed during the specified @@ -3142,17 +2467,6 @@ components: only. type: string format: int64 - freeTier: - type: string - description: >- - Free tier value displayed in the Developers Console for this limit. - The free tier is the number of tokens that will be subtracted from - the billed amount when billing is enabled. This field can only be - set on a limit with duration "1d", in a billable group; it is - invalid on any other limit. If this field is not set, it defaults to - 0, indicating that there is no free tier for this service. Used by - group-based quotas only. - format: int64 description: type: string description: >- @@ -3160,740 +2474,501 @@ components: Should be used only when more context is needed to understand this limit than provided by the limit's display name (see: `display_name`). - values: + duration: description: >- - Tiered limit values. You must specify this as a key:value pair, with - an integer value that is the maximum number of requests allowed for - the specified unit. Currently only STANDARD is supported. - type: object - additionalProperties: - format: int64 - type: string - unit: + Duration of this limit in textual notation. Must be "100s" or "1d". + Used by group-based quotas only. type: string + maxLimit: description: >- - Specify the unit of the quota limit. It uses the same syntax as - Metric.unit. The supported unit kinds are determined by the quota - backend system. Here are some examples: * "1/min/{project}" for - quota per minute per project. Note: the order of unit components is - insignificant. The "1" at the beginning is required to follow the - metric unit syntax. - metric: + Maximum number of tokens that can be consumed during the specified + duration. Client application developers can override the default + limit up to this maximum. If specified, this value cannot be set to + a value less than the default limit. If not specified, it is set to + the default limit. To allow clients to apply overrides with no upper + bound, set this to -1, indicating unlimited maximum quota. Used by + group-based quotas only. + type: string + format: int64 + freeTier: + description: >- + Free tier value displayed in the Developers Console for this limit. + The free tier is the number of tokens that will be subtracted from + the billed amount when billing is enabled. This field can only be + set on a limit with duration "1d", in a billable group; it is + invalid on any other limit. If this field is not set, it defaults to + 0, indicating that there is no free tier for this service. Used by + group-based quotas only. type: string + format: int64 + metric: description: >- The name of the metric this quota limit applies to. The quota limits with the same metric will be checked together during runtime. The metric must be defined within the service config. + type: string + name: + type: string + description: >- + Name of the quota limit. The name must be provided, and it must be + unique within the service. The name can only include alphanumeric + characters as well as '-'. The maximum length of the limit name is + 64 characters. + RemoveDnsRecordSetMetadata: type: object description: >- - `QuotaLimit` defines a specific limit that applies over a specified - duration for a limit type. There can be at most one limit for a duration - and limit type combination defined within a `QuotaGroup`. - CustomErrorRule: - description: A custom error rule. - id: CustomErrorRule + Metadata provided through GetOperation request for the LRO generated by + RemoveDnsRecordSet API + properties: {} + id: RemoveDnsRecordSetMetadata + PeeredDnsDomainMetadata: + id: PeeredDnsDomainMetadata + type: object + description: >- + Metadata provided through GetOperation request for the LRO generated by + CreatePeeredDnsDomain API. + properties: {} + AuthenticationRule: + id: AuthenticationRule + description: >- + Authentication rules for the service. By default, if a method has any + authentication requirements, every request must include a valid + credential matching one of the requirements. It's an error to include + more than one kind of credential in a single request. If a method + doesn't have any auth requirements, request credentials will be ignored. type: object properties: - isErrorType: - type: boolean - description: >- - Mark this message as possible payload in error response. Otherwise, - objects of this type will be filtered when they appear in error - payload. + requirements: + type: array + description: Requirements for additional authentication providers. + items: + $ref: '#/components/schemas/AuthRequirement' selector: + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. type: string + allowWithoutCredential: + type: boolean description: >- - Selects messages to which this rule applies. Refer to selector for - syntax details. - UpdateDnsRecordSetMetadata: + If true, the service accepts API keys without any other credential. + This flag only applies to HTTP and gRPC requests. + oauth: + description: The requirements for OAuth credentials. + $ref: '#/components/schemas/OAuthRequirements' + AddRolesMetadata: + properties: {} + id: AddRolesMetadata + type: object description: >- Metadata provided through GetOperation request for the LRO generated by - UpdateDnsRecordSet API + AddRoles API + Billing: + description: >- + 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 type: object - id: UpdateDnsRecordSetMetadata - properties: {} - EnumValue: - description: Enum value definition. + id: Billing properties: - number: - format: int32 - type: integer - description: Enum value number. - options: + consumerDestinations: + items: + $ref: '#/components/schemas/BillingDestination' + description: >- + Billing configurations for sending metrics to the consumer project. + There can be multiple consumer destinations per service, each one + must have a different monitored resource type. A metric can be used + in at most one consumer destination. type: array - description: Protocol buffer options. + MethodPolicy: + description: Defines policies applying to an RPC method. + type: object + id: MethodPolicy + properties: + requestPolicies: items: - $ref: '#/components/schemas/Option' + $ref: '#/components/schemas/FieldPolicy' + description: Policies that are applicable to the request message. + type: array + selector: + type: string + description: >- + Selects a method to which these policies should be enforced, for + example, "google.pubsub.v1.Subscriber.CreateSubscription". Refer to + selector for syntax details. NOTE: This field must not be set in the + proto annotation. It will be automatically filled by the service + config compiler . + AddDnsZoneRequest: + type: object + id: AddDnsZoneRequest + properties: + dnsSuffix: + type: string + description: >- + Required. The DNS name suffix for the zones e.g. `example.com.`. + Cloud DNS requires that a DNS suffix ends with a trailing dot. name: - description: Enum value name. type: string - id: EnumValue + description: >- + Required. The name for both the private zone in the shared producer + host project and the peering zone in the consumer project. Must be + unique within both projects. The name must be 1-63 characters long, + must begin with a letter, end with a letter or digit, and only + contain lowercase letters, digits or dashes. + consumerNetwork: + description: >- + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is the + project number, as in '12345' {network} is the network name. + type: string + description: >- + Request to add a private managed DNS zone in the shared producer host + project and a matching DNS peering zone in the consumer project. + GoSettings: + properties: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + description: Settings for Go client libraries. + id: GoSettings type: object - ConsumerProject: - description: Represents a consumer project. + LoggingDestination: + id: LoggingDestination type: object properties: - projectNum: - format: int64 + logs: + type: array + items: + type: string + description: >- + Names of the logs to be sent to this destination. Each name must be + defined in the Service.logs section. If the log name is not a domain + scoped name, it will be automatically prefixed with the service name + followed by "/". + monitoredResource: + description: >- + The monitored resource type. The type must be defined in the + Service.monitored_resources section. type: string + description: >- + Configuration of a specific logging destination (the producer project or + the consumer project). + CppSettings: + description: Settings for C++ client libraries. + properties: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + id: CppSettings + type: object + ListPeeredDnsDomainsResponse: + properties: + peeredDnsDomains: + type: array + description: The list of peered DNS domains. + items: + $ref: '#/components/schemas/PeeredDnsDomain' + id: ListPeeredDnsDomainsResponse + type: object + description: Response to list peered DNS domains for a given connection. + Http: + type: object + description: >- + 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. + properties: + fullyDecodeReservedExpansion: description: >- - Required. Project number of the consumer that is launching the - service instance. It can own the network that is peered with Google - or, be a service project in an XPN where the host project has the - network. - id: ConsumerProject - HttpRule: + When set to true, URL path parameters will be fully URI-decoded + except in cases of single segment matches in reserved expansion, + where "%2F" will be left encoded. The default behavior is to not + decode RFC 6570 reserved characters in multi segment matches. + type: boolean + rules: + description: >- + A list of HTTP configuration rules that apply to individual API + methods. **NOTE:** All service configuration rules follow "last one + wins" order. + items: + $ref: '#/components/schemas/HttpRule' + type: array + id: Http + Publishing: description: >- - gRPC Transcoding gRPC Transcoding is a feature for mapping between a - gRPC method and one or more HTTP REST endpoints. It allows developers to - build a single API service that supports both gRPC APIs and REST APIs. - Many systems, including [Google - APIs](https://github.com/googleapis/googleapis), [Cloud - Endpoints](https://cloud.google.com/endpoints), [gRPC - Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and - [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature - and use it for large scale production services. `HttpRule` defines the - schema of the gRPC/REST mapping. The mapping specifies how different - portions of the gRPC request message are mapped to the URL path, URL - query parameters, and HTTP request body. It also controls how the gRPC - response message is mapped to the HTTP response body. `HttpRule` is - typically specified as an `google.api.http` annotation on the gRPC - method. Each mapping specifies a URL path template and an HTTP method. - The path template may refer to one or more fields in the gRPC request - message, as long as each field is a non-repeated field with a primitive - (non-message) type. The path template controls how fields of the request - message are mapped to the URL path. Example: service Messaging { rpc - GetMessage(GetMessageRequest) returns (Message) { option - (google.api.http) = { get: "/v1/{name=messages/*}" }; } } message - GetMessageRequest { string name = 1; // Mapped to URL path. } message - Message { string text = 1; // The resource content. } This enables an - HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - - gRPC: `GetMessage(name: "messages/123456")` Any fields in the request - message which are not bound by the path template automatically become - HTTP query parameters if there is no HTTP request body. For example: - service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) - { option (google.api.http) = { get:"/v1/messages/{message_id}" }; } } - message GetMessageRequest { message SubMessage { string subfield = 1; } - string message_id = 1; // Mapped to URL path. int64 revision = 2; // - Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped - to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC - mapping as below: - HTTP: `GET - /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: - `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: - "foo"))` Note that fields which are mapped to URL query parameters must - have a primitive type or a repeated primitive type or a non-repeated - message type. In the case of a repeated type, the parameter can be - repeated in the URL as `...?param=A¶m=B`. In the case of a message - type, each field of the message is mapped to a separate parameter, such - as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request - body, the `body` field specifies the mapping. Consider a REST update - method on the message resource collection: service Messaging { rpc - UpdateMessage(UpdateMessageRequest) returns (Message) { option - (google.api.http) = { patch: "/v1/messages/{message_id}" body: "message" - }; } } message UpdateMessageRequest { string message_id = 1; // mapped - to the URL Message message = 2; // mapped to the body } The following - HTTP JSON to RPC mapping is enabled, where the representation of the - JSON in the request body is determined by protos JSON encoding: - HTTP: - `PATCH /v1/messages/123456 { "text": "Hi!" }` - gRPC: - `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The - special name `*` can be used in the body mapping to define that every - field not bound by the path template should be mapped to the request - body. This enables the following alternative definition of the update - method: service Messaging { rpc UpdateMessage(Message) returns (Message) - { option (google.api.http) = { patch: "/v1/messages/{message_id}" body: - "*" }; } } message Message { string message_id = 1; string text = 2; } - The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH - /v1/messages/123456 { "text": "Hi!" }` - gRPC: - `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using - `*` in the body mapping, it is not possible to have HTTP parameters, as - all fields not bound by the path end in the body. This makes this option - more rarely used in practice when defining REST APIs. The common usage - of `*` is in custom methods which don't use the URL at all for - transferring data. It is possible to define multiple HTTP methods for - one RPC by using the `additional_bindings` option. Example: service - Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option - (google.api.http) = { get: "/v1/messages/{message_id}" - additional_bindings { get: "/v1/users/{user_id}/messages/{message_id}" } - }; } } message GetMessageRequest { string message_id = 1; string user_id - = 2; } This enables the following two alternative HTTP JSON to RPC - mappings: - HTTP: `GET /v1/messages/123456` - gRPC: - `GetMessage(message_id: "123456")` - HTTP: `GET - /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" - message_id: "123456")` Rules for HTTP mapping 1. Leaf request fields - (recursive expansion nested messages in the request message) are - classified into three categories: - Fields referred by the path - template. They are passed via the URL path. - Fields referred by the - HttpRule.body. They are passed via the HTTP request body. - All other - fields are passed via the URL query parameters, and the parameter name - is the field path in the request message. A repeated field can be - represented as multiple query parameters under the same name. 2. If - HttpRule.body is "*", there is no URL query parameter, all fields are - passed via URL path and HTTP request body. 3. If HttpRule.body is - omitted, there is no HTTP request body, all fields are passed via URL - path and URL query parameters. Path template syntax Template = "/" - Segments [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | - "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] - "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; The syntax - `*` matches a single URL path segment. The syntax `**` matches zero or - more URL path segments, which must be the last part of the URL path - except the `Verb`. The syntax `Variable` matches part of the URL path as - specified by its template. A variable template must not contain other - variables. If a variable matches a single path segment, its template may - be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax - `LITERAL` matches literal text in the URL path. If the `LITERAL` - contains any reserved character, such characters should be - percent-encoded before the matching. If a variable contains exactly one - path segment, such as `"{var}"` or `"{var=*}"`, when such a variable is - expanded into a URL path on the client side, all characters except - `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse - decoding. Such variables show up in the [Discovery - Document](https://developers.google.com/discovery/v1/reference/apis) as - `{var}`. If a variable contains multiple path segments, such as - `"{var=foo/*}"` or `"{var=**}"`, when such a variable is expanded into a - URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` - are percent-encoded. The server side does the reverse decoding, except - "%2F" and "%2f" are left unchanged. Such variables show up in the - [Discovery - Document](https://developers.google.com/discovery/v1/reference/apis) as - `{+var}`. Using gRPC API Service Configuration gRPC API Service - Configuration (service config) is a configuration language for - configuring a gRPC service to become a user-facing product. The service - config is simply the YAML representation of the `google.api.Service` - proto message. As an alternative to annotating your proto file, you can - configure gRPC transcoding in your service config YAML files. You do - this by specifying a `HttpRule` that maps the gRPC method to a REST - endpoint, achieving the same effect as the proto annotation. This can be - particularly useful if you have a proto that is reused in multiple - services. Note that any transcoding specified in the service config will - override any matching transcoding configuration in the proto. The - following example selects a gRPC method and applies an `HttpRule` to it: - http: rules: - selector: example.v1.Messaging.GetMessage get: - /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC - Transcoding is used to map a gRPC to JSON REST endpoints, the proto to - JSON conversion must follow the [proto3 - specification](https://developers.google.com/protocol-buffers/docs/proto3#json). - While the single segment variable follows the semantics of [RFC - 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String - Expansion, the multi segment variable **does not** follow RFC 6570 - Section 3.2.3 Reserved Expansion. The reason is that the Reserved - Expansion does not expand special characters like `?` and `#`, which - would lead to invalid URLs. As the result, gRPC Transcoding uses a - custom encoding for multi segment variables. The path variables **must - not** refer to any repeated or mapped field, because client libraries - are not capable of handling such variable expansion. The path variables - **must not** capture the leading "/" character. The reason is that the - most common use case "{var}" does not capture the leading "/" character. - For consistency, all path variables must share the same behavior. - Repeated message fields must not be mapped to URL query parameters, - because no client library can support such complicated mapping. If an - API needs to use a JSON array for request or response body, it can map - the request or response body to a repeated field. However, some gRPC - Transcoding implementations may not support this feature. + 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. + type: object + id: Publishing properties: - responseBody: + protoReferenceDocumentationUri: type: string description: >- - Optional. The name of the response field whose value is mapped to - the HTTP response body. When omitted, the entire response message - will be used as the HTTP response body. NOTE: The referred field - must be present at the top-level of the response message type. - selector: - description: >- - Selects a method to which this rule applies. Refer to selector for - syntax details. - type: string - patch: - description: Maps to HTTP PATCH. Used for updating a resource. + Optional link to proto reference documentation. Example: + https://cloud.google.com/pubsub/lite/docs/reference/rpc + documentationUri: type: string - body: description: >- - The name of the request field whose value is mapped to the HTTP - request body, or `*` for mapping all request fields not captured by - the path pattern to the HTTP body, or omitted for not having any - HTTP request body. NOTE: the referred field must be present at the - top-level of the request message type. - type: string - delete: - type: string - description: Maps to HTTP DELETE. Used for deleting a resource. - put: - description: Maps to HTTP PUT. Used for replacing a resource. + Link to product home page. Example: + https://cloud.google.com/asset-inventory/docs/overview + restReferenceDocumentationUri: type: string - get: description: >- - Maps to HTTP GET. Used for listing and getting information about - resources. + Optional link to REST reference documentation. Example: + https://cloud.google.com/pubsub/lite/docs/reference/rest + codeownerGithubTeams: + type: array + description: >- + GitHub teams to be added to CODEOWNERS in the directory in GitHub + containing source code for the client libraries for this API. + items: + type: string + githubLabel: + description: >- + GitHub label to apply to issues and pull requests opened for this + API. type: string - post: + organization: + enum: + - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED + - CLOUD + - ADS + - PHOTOS + - STREET_VIEW + - SHOPPING + - GEO + - GENERATIVE_AI + description: For whom the client library is being published. type: string + enumDescriptions: + - Not useful. + - Google Cloud Platform Org. + - Ads (Advertising) Org. + - Photos Org. + - Street View Org. + - Shopping Org. + - Geo Org. + - Generative AI - https://developers.generativeai.google + librarySettings: description: >- - Maps to HTTP POST. Used for creating a resource or performing an - action. - custom: - description: >- - The custom pattern is used for specifying an HTTP method that is not - included in the `pattern` field, such as HEAD, or "*" to leave the - HTTP method unspecified for this rule. The wild-card rule is useful - for services that provide content to Web (HTML) clients. - $ref: '#/components/schemas/CustomHttpPattern' - additionalBindings: + Client library settings. If the same version string appears multiple + times in this list, then the last one wins. Settings from earlier + settings with the same version string are discarded. items: - $ref: '#/components/schemas/HttpRule' - description: >- - Additional HTTP bindings for the selector. Nested bindings must not - contain an `additional_bindings` field themselves (that is, the - nesting may only be one level deep). + $ref: '#/components/schemas/ClientLibrarySettings' type: array - id: HttpRule - type: object - Http: - description: >- - 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. - id: Http - type: object - properties: - fullyDecodeReservedExpansion: + newIssueUri: + type: string description: >- - When set to true, URL path parameters will be fully URI-decoded - except in cases of single segment matches in reserved expansion, - where "%2F" will be left encoded. The default behavior is to not - decode RFC 6570 reserved characters in multi segment matches. - type: boolean - rules: - type: array + Link to a *public* URI where users can report issues. Example: + https://issuetracker.google.com/issues/new?component=190865&template=1161103 + docTagPrefix: description: >- - A list of HTTP configuration rules that apply to individual API - methods. **NOTE:** All service configuration rules follow "last one - wins" order. - items: - $ref: '#/components/schemas/HttpRule' - Logging: - type: object - id: Logging - properties: - producerDestinations: + A prefix used in sample code when demarking regions to be included + in documentation. + type: string + apiShortName: description: >- - Logging configurations for sending logs to the producer project. - There can be multiple producer destinations, each one must have a - different monitored resource type. A log can be used in at most one - producer destination. + Used as a tracking tag when collecting data about the APIs developer + relations artifacts like docs, packages delivered to package + managers, etc. Example: "speech". + type: string + methodSettings: items: - $ref: '#/components/schemas/LoggingDestination' - type: array - consumerDestinations: + $ref: '#/components/schemas/MethodSettings' type: array - items: - $ref: '#/components/schemas/LoggingDestination' description: >- - Logging configurations for sending logs to the consumer project. - There can be multiple consumer destinations, each one must have a - different monitored resource type. A log can be used in at most one - consumer destination. + A list of API method settings, e.g. the behavior for methods that + use the long-running operation pattern. + Status: description: >- - Logging configuration of the service. The following example shows how to - configure logs to be sent to the producer and consumer projects. In the - example, the `activity_history` log is sent to both the producer and - consumer projects, whereas the `purchase_history` log is only sent to - the producer project. monitored_resources: - type: - library.googleapis.com/branch labels: - key: /city description: The city - where the library branch is located in. - key: /name description: The - name of the branch. logs: - name: activity_history labels: - key: - /customer_id - name: purchase_history logging: producer_destinations: - - monitored_resource: library.googleapis.com/branch logs: - - activity_history - purchase_history consumer_destinations: - - monitored_resource: library.googleapis.com/branch logs: - - activity_history - Connection: - type: object - properties: - network: - type: string - description: >- - The name of service consumer's VPC network that's connected with - service producer network, in the following format: - `projects/{project}/global/networks/{network}`. `{project}` is a - project number, such as in `12345` that includes the VPC service - consumer's VPC network. `{network}` is the name of the service - consumer's VPC network. - peering: - readOnly: true - description: >- - Output only. The name of the VPC Network Peering connection that was - created by the service producer. - type: string - reservedPeeringRanges: - description: >- - The name of one or more allocated IP address ranges for this service - producer of type `PEERING`. Note that invoking CreateConnection - method with a different range when connection is already established - will not modify already provisioned service producer subnetworks. If - CreateConnection method is invoked repeatedly to reconnect when - peering connection had been disconnected on the consumer side, - leaving this field empty will restore previously allocated IP - ranges. - type: array - items: - type: string - service: - readOnly: true - description: >- - Output only. The name of the peering service that's associated with - this connection, in the following format: `services/{service name}`. - type: string - description: >- - Represents a private connection resource. A private connection is - implemented as a VPC Network Peering connection between a service - producer's VPC network and a service consumer's VPC network. - id: Connection - PartialDeleteConnectionMetadata: - properties: {} - type: object - id: PartialDeleteConnectionMetadata - description: >- - Metadata provided through GetOperation request for the LRO generated by - Partial Delete Connection API - Billing: + 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). + id: Status properties: - consumerDestinations: + code: + type: integer + description: The status code, which should be an enum value of google.rpc.Code. + format: int32 + details: type: array - items: - $ref: '#/components/schemas/BillingDestination' description: >- - Billing configurations for sending metrics to the consumer project. - There can be multiple consumer destinations per service, each one - must have a different monitored resource type. A metric can be used - in at most one consumer destination. - description: >- - 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 - type: object - id: Billing - SourceInfo: - type: object - id: SourceInfo - properties: - sourceFiles: + A list of messages that carry the error details. There is a common + set of message types for APIs to use. items: additionalProperties: description: Properties of the object. Contains field @type with type URL. type: any type: object - type: array - description: All files used during config generation. - description: Source information used to create a Service Config - PythonSettings: - description: Settings for Python client libraries. - type: object - id: PythonSettings - properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - experimentalFeatures: - $ref: '#/components/schemas/ExperimentalFeatures' + message: + type: string description: >- - Experimental features to be included during client library - generation. - LabelDescriptor: - id: LabelDescriptor + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. type: object + GoogleCloudServicenetworkingV1ConsumerConfigReservedRange: properties: - description: - description: A human-readable description for the label. - type: string - valueType: - description: The type of data that can be assigned to the label. - enumDescriptions: - - A variable-length string. This is the default. - - Boolean; true or false. - - A 64-bit signed integer. - enum: - - STRING - - BOOL - - INT64 + ipPrefixLength: + type: integer + description: The prefix length of the reserved range. + format: int32 + name: type: string - key: - description: The label key. + description: The name of the reserved range. + address: + description: >- + The starting address of the reserved range. The address must be a + valid IPv4 address in the x.x.x.x format. This value combined with + the IP prefix length is the CIDR range for the reserved range. type: string - description: A description of a label. - Quota: + type: object + description: Allocated IP address ranges for this private service access connection. + id: GoogleCloudServicenetworkingV1ConsumerConfigReservedRange + ListConnectionsResponse: + id: ListConnectionsResponse properties: - metricRules: + connections: type: array - description: >- - List of MetricRule definitions, each one mapping a selected method - to one or more metrics. - items: - $ref: '#/components/schemas/MetricRule' - limits: - description: List of QuotaLimit definitions for the service. items: - $ref: '#/components/schemas/QuotaLimit' - type: array + $ref: '#/components/schemas/Connection' + description: The list of Connections. type: object - id: Quota description: >- - 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 - OAuthRequirements: + ListConnectionsResponse is the response to list peering states for the + given service and consumer project. + GoogleCloudServicenetworkingV1betaSubnetwork: + id: GoogleCloudServicenetworkingV1betaSubnetwork + type: object description: >- - OAuth scopes are a way to define data and permissions on data. For - example, there are scopes defined for "Read-only access to Google - Calendar" and "Access to Cloud Platform". Users can consent to a scope - for an application, giving it permission to access that data on their - behalf. OAuth scope specifications should be fairly coarse grained; a - user will need to see and understand the text description of what your - scope means. In most cases: use one or at most two OAuth scopes for an - entire family of products. If your product has multiple APIs, you should - probably be sharing the OAuth scope across all of those APIs. When you - need finer grained OAuth consent screens: talk with your product - management about how developers will use them in practice. Please note - that even though each of the canonical scopes is enough for a request to - be accepted and passed to the backend, a request can still fail due to - the backend requiring additional scopes or permissions. + Represents a subnet that was created or discovered by a private access + management service. properties: - canonicalScopes: + ipCidrRange: + description: Subnetwork CIDR range in `10.x.x.x/y` format. + type: string + network: type: string description: >- - The list of publicly documented OAuth scopes that are allowed - access. An OAuth token containing any of these scopes will be - accepted. Example: canonical_scopes: - https://www.googleapis.com/auth/calendar, - https://www.googleapis.com/auth/calendar.read - id: OAuthRequirements - type: object - Operation: - id: Operation + In the Shared VPC host project, the VPC network that's peered with + the consumer network. For example: + `projects/1234321/global/networks/host-network` + outsideAllocation: + type: boolean + description: >- + This is a discovered subnet that is not within the current consumer + allocated ranges. + name: + description: Subnetwork name. See https://cloud.google.com/compute/docs/vpc/ + type: string + FieldPolicy: properties: - response: + resourcePermission: description: >- - 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`. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - type: object - metadata: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - description: >- - 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. - name: - description: >- - 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}`. - type: string - done: - description: >- - 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. - type: boolean - error: - $ref: '#/components/schemas/Status' - description: >- - The error result of the operation in case of failure or - cancellation. - description: >- - This resource represents a long-running operation that is the result of - a network API call. - type: object - Range: - properties: - network: - description: >- - In the Shared VPC host project, the VPC network that's peered with - the consumer network. For example: - `projects/1234321/global/networks/host-network` + Specifies the required permission(s) for the resource referred to by + the field. It requires the field contains a valid resource + reference, and the request must pass the permission checks to + proceed. For example, "resourcemanager.projects.get". type: string - ipCidrRange: - description: >- - CIDR range in "10.x.x.x/y" format that is within the allocated - ranges and currently unused. + selector: type: string - id: Range - type: object - description: Represents a found unused range. - UsageRule: - id: UsageRule - description: >- - Usage configuration rules for the service. NOTE: Under development. Use - this rule to configure unregistered calls for the service. Unregistered - calls are calls that do not contain consumer project identity. (Example: - calls that do not contain an API key). By default, API methods do not - allow unregistered calls, and each method call must be identified by a - consumer project identity. Use this rule to allow/disallow unregistered - calls. Example of an API that wants to allow unregistered calls for - entire service. usage: rules: - selector: "*" allow_unregistered_calls: - true Example of a method that wants to allow unregistered calls. usage: - rules: - selector: "google.example.library.v1.LibraryService.CreateBook" - allow_unregistered_calls: true - type: object - properties: - allowUnregisteredCalls: description: >- - If true, the selected method allows unregistered calls, e.g. calls - that don't identify any user or application. - type: boolean - skipServiceControl: - type: boolean + Selects one or more request or response message fields to apply this + `FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the + selector must be left as empty. The service config generator will + automatically fill the correct value. When a `FieldPolicy` is used + in service config, the selector must be a comma-separated string + with valid request or response field paths, such as "foo.bar" or + "foo.bar,foo.baz". + resourceType: description: >- - If true, the selected method should skip service control and the - control plane features, such as quota and billing, will not be - available. This flag is used by Google Cloud Endpoints to bypass - checks for internal methods, such as service health check methods. - selector: + Specifies the resource type for the resource referred to by the + field. type: string - description: >- - Selects the methods to which this rule applies. Use '*' to indicate - all methods in all APIs. Refer to selector for syntax details. - ListPeeredDnsDomainsResponse: - id: ListPeeredDnsDomainsResponse type: object - properties: - peeredDnsDomains: - items: - $ref: '#/components/schemas/PeeredDnsDomain' - description: The list of peered DNS domains. - type: array - description: Response to list peered DNS domains for a given connection. - Endpoint: + id: FieldPolicy + description: >- + Google API Policy Annotation This message defines a simple API policy + annotation that can be used to annotate API request and response message + fields with applicable policies. One field may have multiple applicable + policies that must all be satisfied before a request can be processed. + This policy annotation is used to generate the overall policy that will + be used for automatic runtime policy enforcement and documentation + generation. + DeleteConnectionMetadata: type: object - id: Endpoint + description: >- + Metadata provided through GetOperation request for the LRO generated by + Delete Connection API + properties: {} + id: DeleteConnectionMetadata + EnableVpcServiceControlsRequest: + id: EnableVpcServiceControlsRequest properties: - name: - type: string - description: The canonical name of this endpoint. - target: + consumerNetwork: type: string description: >- - The specification of an Internet routable address of API frontend - that will handle requests to this [API - Endpoint](https://cloud.google.com/apis/design/glossary). It should - be either a valid IPv4 address or a fully-qualified domain name. For - example, "8.8.8.8" or "myservice.appspot.com". - allowCors: - type: boolean - description: >- - Allowing - [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), - aka cross-domain traffic, would allow the backends served from this - endpoint to receive and respond to HTTP OPTIONS requests. The - response will be used by the browser to determine whether the - subsequent cross-origin request is allowed to proceed. - aliases: - items: - type: string - description: >- - Aliases for this endpoint, these will be served by the same UrlMap - as the parent endpoint, and will be provisioned in the GCP stack for - the Regional Endpoints. - type: array - description: >- - `Endpoint` describes a network address of a service that serves a set of - APIs. It is commonly known as a service endpoint. A service may expose - any number of service endpoints, and all service endpoints share the - same service definition, such as quota limits and monitoring metrics. - Example: type: google.api.Service name: library-example.googleapis.com - endpoints: # Declares network address - `https://library-example.googleapis.com` # for service - `library-example.googleapis.com`. The `https` scheme # is implicit for - all service endpoints. Other schemes may be # supported in the future. - - name: library-example.googleapis.com allow_cors: false - name: - content-staging-library-example.googleapis.com # Allows HTTP OPTIONS - calls to be passed to the API frontend, for it # to decide whether the - subsequent cross-origin request is allowed # to proceed. allow_cors: - true - RemoveDnsRecordSetResponse: - id: RemoveDnsRecordSetResponse - description: Blank message response type for RemoveDnsRecordSet API - properties: {} - type: object - DnsRecordSet: + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is a project + number, as in '12345' {network} is network name. type: object - id: DnsRecordSet + description: Request to enable VPC service controls. + PolicyBinding: properties: - ttl: + member: type: string - format: google-duration - description: >- - Required. The period of time for which this RecordSet can be cached - by resolvers. - data: - items: - type: string description: >- - Required. As defined in RFC 1035 (section 5) and RFC 1034 (section - 3.6.1) for examples see - https://cloud.google.com/dns/records/json-record. - type: array - domain: - type: string + Required. Member to bind the role with. See + /iam/docs/reference/rest/v1/Policy#Binding for how to format each + member. Eg. - user:myuser@mydomain.com - + serviceAccount:my-service-account@app.gserviceaccount.com + role: description: >- - 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. - type: + Required. Role to apply. Only allowlisted roles can be used at the + specified granularity. The role must be one of the following: - + 'roles/container.hostServiceAgentUser' applied on the shared VPC + host project - 'roles/compute.securityAdmin' applied on the shared + VPC host project - 'roles/compute.networkAdmin' applied on the + shared VPC host project - 'roles/tpu.xpnAgent' applied on the shared + VPC host project - 'roles/dns.admin' applied on the shared VPC host + project - 'roles/logging.admin' applied on the shared VPC host + project - 'roles/monitoring.viewer' applied on the shared VPC host + project - 'roles/servicemanagement.quotaViewer' applied on the + shared VPC host project type: string - description: Required. The identifier of a supported record type. - description: Represents a DNS record set resource. + type: object + description: Grouping of IAM role and IAM member. + id: PolicyBinding SystemParameters: + type: object + id: SystemParameters properties: rules: - type: array items: $ref: '#/components/schemas/SystemParameterRule' + type: array description: >- Define system parameters. The parameters defined here will override the default parameters implemented by the system. If this field is @@ -3906,45 +2981,498 @@ components: parameters: - name: api_key http_header: Api-Key1 - name: api_key http_header: Api-Key2 **NOTE:** All service configuration rules follow "last one wins" order. - type: object - id: SystemParameters description: >- ### 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. - ClientLibrarySettings: - description: Details about how and where to publish client libraries. - type: object - id: ClientLibrarySettings + HttpRule: properties: - restNumericEnums: - type: boolean + post: description: >- - When using transport=rest, the client request will encode enums as - numbers rather than strings. - launchStage: - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible + Maps to HTTP POST. Used for creating a resource or performing an + action. + type: string + selector: + description: >- + Selects a method to which this rule applies. Refer to selector for + syntax details. + type: string + additionalBindings: + items: + $ref: '#/components/schemas/HttpRule' + type: array + description: >- + Additional HTTP bindings for the selector. Nested bindings must not + contain an `additional_bindings` field themselves (that is, the + nesting may only be one level deep). + responseBody: + description: >- + Optional. The name of the response field whose value is mapped to + the HTTP response body. When omitted, the entire response message + will be used as the HTTP response body. NOTE: The referred field + must be present at the top-level of the response message type. + type: string + custom: + description: >- + The custom pattern is used for specifying an HTTP method that is not + included in the `pattern` field, such as HEAD, or "*" to leave the + HTTP method unspecified for this rule. The wild-card rule is useful + for services that provide content to Web (HTML) clients. + $ref: '#/components/schemas/CustomHttpPattern' + get: + description: >- + Maps to HTTP GET. Used for listing and getting information about + resources. + type: string + patch: + type: string + description: Maps to HTTP PATCH. Used for updating a resource. + put: + type: string + description: Maps to HTTP PUT. Used for replacing a resource. + body: + type: string + description: >- + The name of the request field whose value is mapped to the HTTP + request body, or `*` for mapping all request fields not captured by + the path pattern to the HTTP body, or omitted for not having any + HTTP request body. NOTE: the referred field must be present at the + top-level of the request message type. + delete: + type: string + description: Maps to HTTP DELETE. Used for deleting a resource. + id: HttpRule + type: object + description: >- + gRPC Transcoding gRPC Transcoding is a feature for mapping between a + gRPC method and one or more HTTP REST endpoints. It allows developers to + build a single API service that supports both gRPC APIs and REST APIs. + Many systems, including [Google + APIs](https://github.com/googleapis/googleapis), [Cloud + Endpoints](https://cloud.google.com/endpoints), [gRPC + Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature + and use it for large scale production services. `HttpRule` defines the + schema of the gRPC/REST mapping. The mapping specifies how different + portions of the gRPC request message are mapped to the URL path, URL + query parameters, and HTTP request body. It also controls how the gRPC + response message is mapped to the HTTP response body. `HttpRule` is + typically specified as an `google.api.http` annotation on the gRPC + method. Each mapping specifies a URL path template and an HTTP method. + The path template may refer to one or more fields in the gRPC request + message, as long as each field is a non-repeated field with a primitive + (non-message) type. The path template controls how fields of the request + message are mapped to the URL path. Example: service Messaging { rpc + GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/{name=messages/*}" }; } } message + GetMessageRequest { string name = 1; // Mapped to URL path. } message + Message { string text = 1; // The resource content. } This enables an + HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - + gRPC: `GetMessage(name: "messages/123456")` Any fields in the request + message which are not bound by the path template automatically become + HTTP query parameters if there is no HTTP request body. For example: + service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) + { option (google.api.http) = { get:"/v1/messages/{message_id}" }; } } + message GetMessageRequest { message SubMessage { string subfield = 1; } + string message_id = 1; // Mapped to URL path. int64 revision = 2; // + Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped + to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC + mapping as below: - HTTP: `GET + /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: + `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: + "foo"))` Note that fields which are mapped to URL query parameters must + have a primitive type or a repeated primitive type or a non-repeated + message type. In the case of a repeated type, the parameter can be + repeated in the URL as `...?param=A¶m=B`. In the case of a message + type, each field of the message is mapped to a separate parameter, such + as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request + body, the `body` field specifies the mapping. Consider a REST update + method on the message resource collection: service Messaging { rpc + UpdateMessage(UpdateMessageRequest) returns (Message) { option + (google.api.http) = { patch: "/v1/messages/{message_id}" body: "message" + }; } } message UpdateMessageRequest { string message_id = 1; // mapped + to the URL Message message = 2; // mapped to the body } The following + HTTP JSON to RPC mapping is enabled, where the representation of the + JSON in the request body is determined by protos JSON encoding: - HTTP: + `PATCH /v1/messages/123456 { "text": "Hi!" }` - gRPC: + `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The + special name `*` can be used in the body mapping to define that every + field not bound by the path template should be mapped to the request + body. This enables the following alternative definition of the update + method: service Messaging { rpc UpdateMessage(Message) returns (Message) + { option (google.api.http) = { patch: "/v1/messages/{message_id}" body: + "*" }; } } message Message { string message_id = 1; string text = 2; } + The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH + /v1/messages/123456 { "text": "Hi!" }` - gRPC: + `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using + `*` in the body mapping, it is not possible to have HTTP parameters, as + all fields not bound by the path end in the body. This makes this option + more rarely used in practice when defining REST APIs. The common usage + of `*` is in custom methods which don't use the URL at all for + transferring data. It is possible to define multiple HTTP methods for + one RPC by using the `additional_bindings` option. Example: service + Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/messages/{message_id}" + additional_bindings { get: "/v1/users/{user_id}/messages/{message_id}" } + }; } } message GetMessageRequest { string message_id = 1; string user_id + = 2; } This enables the following two alternative HTTP JSON to RPC + mappings: - HTTP: `GET /v1/messages/123456` - gRPC: + `GetMessage(message_id: "123456")` - HTTP: `GET + /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" + message_id: "123456")` Rules for HTTP mapping 1. Leaf request fields + (recursive expansion nested messages in the request message) are + classified into three categories: - Fields referred by the path + template. They are passed via the URL path. - Fields referred by the + HttpRule.body. They are passed via the HTTP request body. - All other + fields are passed via the URL query parameters, and the parameter name + is the field path in the request message. A repeated field can be + represented as multiple query parameters under the same name. 2. If + HttpRule.body is "*", there is no URL query parameter, all fields are + passed via URL path and HTTP request body. 3. If HttpRule.body is + omitted, there is no HTTP request body, all fields are passed via URL + path and URL query parameters. Path template syntax Template = "/" + Segments [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | + "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] + "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; The syntax + `*` matches a single URL path segment. The syntax `**` matches zero or + more URL path segments, which must be the last part of the URL path + except the `Verb`. The syntax `Variable` matches part of the URL path as + specified by its template. A variable template must not contain other + variables. If a variable matches a single path segment, its template may + be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax + `LITERAL` matches literal text in the URL path. If the `LITERAL` + contains any reserved character, such characters should be + percent-encoded before the matching. If a variable contains exactly one + path segment, such as `"{var}"` or `"{var=*}"`, when such a variable is + expanded into a URL path on the client side, all characters except + `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse + decoding. Such variables show up in the [Discovery + Document](https://developers.google.com/discovery/v1/reference/apis) as + `{var}`. If a variable contains multiple path segments, such as + `"{var=foo/*}"` or `"{var=**}"`, when such a variable is expanded into a + URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` + are percent-encoded. The server side does the reverse decoding, except + "%2F" and "%2f" are left unchanged. Such variables show up in the + [Discovery + Document](https://developers.google.com/discovery/v1/reference/apis) as + `{+var}`. Using gRPC API Service Configuration gRPC API Service + Configuration (service config) is a configuration language for + configuring a gRPC service to become a user-facing product. The service + config is simply the YAML representation of the `google.api.Service` + proto message. As an alternative to annotating your proto file, you can + configure gRPC transcoding in your service config YAML files. You do + this by specifying a `HttpRule` that maps the gRPC method to a REST + endpoint, achieving the same effect as the proto annotation. This can be + particularly useful if you have a proto that is reused in multiple + services. Note that any transcoding specified in the service config will + override any matching transcoding configuration in the proto. The + following example selects a gRPC method and applies an `HttpRule` to it: + http: rules: - selector: example.v1.Messaging.GetMessage get: + /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC + Transcoding is used to map a gRPC to JSON REST endpoints, the proto to + JSON conversion must follow the [proto3 + specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + While the single segment variable follows the semantics of [RFC + 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + Expansion, the multi segment variable **does not** follow RFC 6570 + Section 3.2.3 Reserved Expansion. The reason is that the Reserved + Expansion does not expand special characters like `?` and `#`, which + would lead to invalid URLs. As the result, gRPC Transcoding uses a + custom encoding for multi segment variables. The path variables **must + not** refer to any repeated or mapped field, because client libraries + are not capable of handling such variable expansion. The path variables + **must not** capture the leading "/" character. The reason is that the + most common use case "{var}" does not capture the leading "/" character. + For consistency, all path variables must share the same behavior. + Repeated message fields must not be mapped to URL query parameters, + because no client library can support such complicated mapping. If an + API needs to use a JSON array for request or response body, it can map + the request or response body to a repeated field. However, some gRPC + Transcoding implementations may not support this feature. + Operation: + description: >- + This resource represents a long-running operation that is the result of + a network API call. + id: Operation + properties: + metadata: + type: object + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + description: >- + 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. + done: + description: >- + 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. + type: boolean + name: + type: string + description: >- + 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}`. + response: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + description: >- + 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`. + error: + $ref: '#/components/schemas/Status' + description: >- + The error result of the operation in case of failure or + cancellation. + type: object + CustomHttpPattern: + properties: + path: + description: The path matched by this custom verb. + type: string + kind: + description: The name of this custom HTTP verb. + type: string + type: object + description: A custom pattern is used for defining custom HTTP verb. + id: CustomHttpPattern + RemoveDnsRecordSetResponse: + description: Blank message response type for RemoveDnsRecordSet API + id: RemoveDnsRecordSetResponse + properties: {} + type: object + LogDescriptor: + description: >- + A description of a log type. Example in YAML format: - name: + library.googleapis.com/activity_history description: The history of + borrowing and returning library items. display_name: Activity labels: - + key: /customer_id description: Identifier of a library customer + type: object + properties: + name: + description: >- + The name of the log. It must be less than 512 characters long and + can include the following characters: upper- and lower-case + alphanumeric characters [A-Za-z0-9], and punctuation characters + including slash, underscore, hyphen, period [/_-.]. + type: string + displayName: + type: string + description: >- + The human-readable name for this log. This information appears on + the user interface and should be concise. + description: + type: string + description: >- + A human-readable description of this log. This information appears + in the documentation and can contain details. + labels: + items: + $ref: '#/components/schemas/LabelDescriptor' + type: array + description: >- + The set of labels that are available to describe a specific log + entry. Runtime requests that contain labels not specified here are + considered invalid. + id: LogDescriptor + Quota: + type: object + properties: + metricRules: + description: >- + List of MetricRule definitions, each one mapping a selected method + to one or more metrics. + type: array + items: + $ref: '#/components/schemas/MetricRule' + limits: + description: List of QuotaLimit definitions for the service. + items: + $ref: '#/components/schemas/QuotaLimit' + type: array + description: >- + 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 + id: Quota + UsageRule: + id: UsageRule + type: object + description: >- + Usage configuration rules for the service. NOTE: Under development. Use + this rule to configure unregistered calls for the service. Unregistered + calls are calls that do not contain consumer project identity. (Example: + calls that do not contain an API key). By default, API methods do not + allow unregistered calls, and each method call must be identified by a + consumer project identity. Use this rule to allow/disallow unregistered + calls. Example of an API that wants to allow unregistered calls for + entire service. usage: rules: - selector: "*" allow_unregistered_calls: + true Example of a method that wants to allow unregistered calls. usage: + rules: - selector: "google.example.library.v1.LibraryService.CreateBook" + allow_unregistered_calls: true + properties: + skipServiceControl: + description: >- + If true, the selected method should skip service control and the + control plane features, such as quota and billing, will not be + available. This flag is used by Google Cloud Endpoints to bypass + checks for internal methods, such as service health check methods. + type: boolean + allowUnregisteredCalls: + type: boolean + description: >- + If true, the selected method allows unregistered calls, e.g. calls + that don't identify any user or application. + selector: + description: >- + Selects the methods to which this rule applies. Use '*' to indicate + all methods in all APIs. Refer to selector for syntax details. + type: string + MetricRule: + description: >- + Bind API methods to metrics. Binding a method to a metric causes that + metric's configured quota behaviors to apply to the method call. + id: MetricRule + type: object + properties: + selector: + type: string + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. + metricCosts: + additionalProperties: + type: string + format: int64 + description: >- + Metrics to update when the selected methods are called, and the + associated cost applied to each metric. The key of the map is the + metric name, and the values are the amount increased for the metric + against which the quota limits are defined. The value must not be + negative. + type: object + Usage: + type: object + description: Configuration controlling usage of a service. + id: Usage + properties: + requirements: + description: >- + Requirements that must be satisfied before a consumer project can + use the service. Each requirement is of the form /; for example + 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a + Terms of Service requirement must be included here. Google Cloud + APIs must include "serviceusage.googleapis.com/tos/cloud". Other + Google APIs should include + "serviceusage.googleapis.com/tos/universal". Additional ToS can be + included based on the business needs. + items: + type: string + type: array + rules: + items: + $ref: '#/components/schemas/UsageRule' + type: array + description: >- + A list of usage rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. + producerNotificationChannel: + description: >- + The full resource name of a channel used for sending notifications + to the service producer. Google Service Management currently only + supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as + a notification channel. To use Google Cloud Pub/Sub as the channel, + this must be the name of a Cloud Pub/Sub topic that uses the Cloud + Pub/Sub topic name format documented in + https://cloud.google.com/pubsub/docs/overview. + type: string + SecondaryIpRangeSpec: + id: SecondaryIpRangeSpec + type: object + properties: + rangeName: + type: string + description: >- + Required. A name for the secondary IP range. The name must be 1-63 + characters long, and comply with RFC1035. The name must be unique + within the subnetwork. + ipPrefixLength: + type: integer + format: int32 + description: >- + Required. The prefix length of the secondary IP range. Use CIDR + range notation, such as `30` to provision a secondary IP range with + an `x.x.x.x/30` CIDR range. The IP address range is drawn from a + pool of available ranges in the service consumer's allocated range. + outsideAllocationPublicIpRange: + type: string + description: >- + Optional. Enable outside allocation using public IP addresses. Any + public IP range may be specified. If this field is provided, we will + not use customer reserved ranges for this secondary IP range. + requestedAddress: + type: string + description: >- + Optional. The starting address of a range. The address must be a + valid IPv4 address in the x.x.x.x format. This value combined with + the IP prefix range is the CIDR range for the secondary IP range. + The range must be within the allocated range that is assigned to the + private connection. If the CIDR range isn't available, the call + fails. + MetricDescriptorMetadata: + type: object + description: Additional annotations that can be used to guide the usage of a metric. + properties: + launchStage: + type: string + deprecated: true + enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. + - >- + Prelaunch features are hidden from users and are only visible + internally. + - >- + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released. - >- Alpha is a limited availability test for releases before they are @@ -3972,41 +3500,381 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. - description: Launch stage of this version of the API. + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED + description: Deprecated. Must use the MetricDescriptor.launch_stage instead. + samplePeriod: + format: google-duration + type: string + description: >- + The sampling period of metric data points. For metrics which are + written periodically, consecutive data points are stored at this + time interval, excluding data loss due to errors. Metrics with a + higher granularity have a smaller sampling period. + timeSeriesResourceHierarchyLevel: + type: array + description: The scope of the timeseries data of the metric. + items: + enum: + - TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED + - PROJECT + - ORGANIZATION + - FOLDER + type: string + enumDescriptions: + - Do not use this default value. + - Scopes a metric to a project. + - Scopes a metric to an organization. + - Scopes a metric to a folder. + ingestDelay: + description: >- + The delay of data points caused by ingestion. Data points older than + this age are guaranteed to be ingested and available to be read, + excluding data loss due to errors. + type: string + format: google-duration + id: MetricDescriptorMetadata + DocumentationRule: + description: A documentation rule provides information about individual API elements. + properties: + disableReplacementWords: + description: >- + String of comma or space separated case-sensitive words for which + method/field name replacement will be disabled by go/api-docgen. + type: string + deprecationDescription: + description: >- + Deprecation description of the selected element(s). It can be + provided if an element is marked as `deprecated`. + type: string + description: + type: string + description: >- + Description of the selected proto element (e.g. a message, a method, + a 'service' definition, or a field). Defaults to leading & trailing + comments taken from the proto source definition of the proto + element. + selector: + description: >- + The selector is a comma-separated list of patterns for any element + such as a method, a field, an enum value. Each pattern is a + qualified name of the element which may end in "*", indicating a + wildcard. Wildcards are only allowed at the end and for a whole + component of the qualified name, i.e. "foo.*" is ok, but not + "foo.b*" or "foo.*.bar". A wildcard will match one or more + components. To specify a default for all applicable elements, the + whole pattern "*" is used. + type: string + type: object + id: DocumentationRule + Service: + type: object + properties: + types: + type: array + items: + $ref: '#/components/schemas/Type' + description: >- + 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 + systemParameters: + description: System parameter configuration. + $ref: '#/components/schemas/SystemParameters' + quota: + $ref: '#/components/schemas/Quota' + description: Quota configuration. + http: + $ref: '#/components/schemas/Http' + description: HTTP configuration. + sourceInfo: + description: >- + Output only. The source information for this configuration if + available. + $ref: '#/components/schemas/SourceInfo' + backend: + $ref: '#/components/schemas/Backend' + description: API backend configuration. + control: + description: Configuration for the service control plane. + $ref: '#/components/schemas/Control' + monitoredResources: + description: >- + Defines the monitored resources used by this service. This is + required by the Service.monitoring and Service.logging + configurations. + type: array + items: + $ref: '#/components/schemas/MonitoredResourceDescriptor' + customError: + $ref: '#/components/schemas/CustomError' + description: Custom error configuration. + context: + $ref: '#/components/schemas/Context' + description: Context configuration. + endpoints: + description: >- + 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. + items: + $ref: '#/components/schemas/Endpoint' + type: array + name: + type: string + description: >- + The service name, which is a DNS-like logical identifier for the + service, such as `calendar.googleapis.com`. The service name + typically goes through DNS verification to make sure the owner of + the service also owns the DNS name. + documentation: + description: Additional API documentation. + $ref: '#/components/schemas/Documentation' + authentication: + description: Auth configuration. + $ref: '#/components/schemas/Authentication' + apis: + description: >- + 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. + items: + $ref: '#/components/schemas/Api' + type: array + logging: + $ref: '#/components/schemas/Logging' + description: Logging configuration. + logs: + type: array + items: + $ref: '#/components/schemas/LogDescriptor' + description: Defines the logs used by this service. + billing: + $ref: '#/components/schemas/Billing' + description: Billing configuration. + metrics: + description: Defines the metrics used by this service. + items: + $ref: '#/components/schemas/MetricDescriptor' + type: array + id: + type: string + description: >- + A unique ID for a specific instance of this message, typically + assigned by the client for tracking purpose. Must be no longer than + 63 characters and only lower case letters, digits, '.', '_' and '-' + are allowed. If empty, the server may choose to generate one + instead. + enums: + items: + $ref: '#/components/schemas/Enum' + description: >- + 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 + type: array + systemTypes: + description: >- + 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. + type: array + items: + $ref: '#/components/schemas/Type' + producerProjectId: + description: The Google project that owns this service. + type: string + usage: + $ref: '#/components/schemas/Usage' + description: Configuration controlling usage of this service. + monitoring: + $ref: '#/components/schemas/Monitoring' + description: Monitoring configuration. + publishing: + description: >- + Settings for [Google Cloud Client + libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) + generated from APIs defined as protocol buffers. + $ref: '#/components/schemas/Publishing' + title: + description: >- + The product title for this service, it is the name displayed in + Google Cloud Console. + type: string + configVersion: + description: >- + Obsolete. Do not use. This field has no semantic meaning. The + service config compiler always sets this field to `3`. + format: uint32 + type: integer + description: >- + `Service` is the root object of Google API service configuration + (service config). It describes the basic information about a logical + service, such as the service name and the user-facing title, and + delegates other aspects to sub-sections. Each sub-section is either a + proto message or a repeated proto message that configures a specific + aspect, such as auth. For more information, see each proto message + definition. Example: type: google.api.Service name: + calendar.googleapis.com title: Google Calendar API apis: - name: + google.calendar.v3.Calendar visibility: rules: - selector: + "google.calendar.v3.*" restriction: PREVIEW backend: rules: - selector: + "google.calendar.v3.*" address: calendar.example.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 + id: Service + VpcServiceControls: + description: Response for the get VPC Service Controls request. + type: object + id: VpcServiceControls + properties: + enabled: + readOnly: true + description: >- + 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. + type: boolean + Enum: + type: object + description: Enum type definition. + properties: + syntax: + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + description: The source syntax. + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + type: string + sourceContext: + $ref: '#/components/schemas/SourceContext' + description: The source context. + options: + description: Protocol buffer options. + items: + $ref: '#/components/schemas/Option' + type: array + enumvalue: + description: Enum value definitions. + type: array + items: + $ref: '#/components/schemas/EnumValue' + edition: + description: >- + The source edition string, only valid when syntax is + SYNTAX_EDITIONS. + type: string + name: + type: string + description: Enum type name. + id: Enum + SourceInfo: + properties: + sourceFiles: + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + type: array + description: All files used during config generation. + type: object + id: SourceInfo + description: Source information used to create a Service Config + RemoveDnsRecordSetRequest: + type: object + properties: + dnsRecordSet: + $ref: '#/components/schemas/DnsRecordSet' + description: Required. The DNS record set to remove. + consumerNetwork: type: string - dotnetSettings: - description: Settings for .NET client libraries. - $ref: '#/components/schemas/DotnetSettings' - nodeSettings: - $ref: '#/components/schemas/NodeSettings' - description: Settings for Node client libraries. - cppSettings: - $ref: '#/components/schemas/CppSettings' - description: Settings for C++ client libraries. - rubySettings: - description: Settings for Ruby client libraries. - $ref: '#/components/schemas/RubySettings' - phpSettings: - $ref: '#/components/schemas/PhpSettings' - description: Settings for PHP client libraries. - pythonSettings: - description: Settings for Python client libraries. - $ref: '#/components/schemas/PythonSettings' - goSettings: - $ref: '#/components/schemas/GoSettings' - description: Settings for Go client libraries. - javaSettings: - $ref: '#/components/schemas/JavaSettings' - description: Settings for legacy Java features, supported in the Service YAML. - version: description: >- - Version of the API to apply these settings to. This is the full - protobuf package for the API, ending in the version element. - Examples: "google.cloud.speech.v1" and - "google.spanner.admin.database.v1". + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is the + project number, as in '12345' {network} is the network name. + zone: + description: >- + Required. The name of the private DNS zone in the shared producer + host project from which the record set will be removed. + type: string + id: RemoveDnsRecordSetRequest + description: >- + Request to remove a record set from a private managed DNS zone in the + shared producer host project. The name, type, ttl, and data values must + all exactly match an existing record set in the specified zone. + AuthRequirement: + id: AuthRequirement + description: >- + User-defined authentication requirements, including support for [JSON + Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + type: object + properties: + audiences: + type: string + description: >- + NOTE: This will be deprecated soon, once AuthProvider.audiences is + implemented and accepted in all the runtime components. The list of + JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. When this setting is absent, only JWTs with + audience "https://Service_name/API_name" will be accepted. For + example, if no audiences are in the setting, LibraryService API will + only accept JWTs with the following audience + "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + Example: audiences: bookstore_android.apps.googleusercontent.com, + bookstore_web.apps.googleusercontent.com + providerId: + type: string + description: >- + id from authentication provider. Example: provider_id: + bookstore_auth + DeleteConnectionRequest: + properties: + consumerNetwork: + description: >- + Required. The network that the consumer is using to connect with + services. Must be in the form of + projects/{project}/global/networks/{network} {project} is a project + number, as in '12345' {network} is a network name. type: string + description: >- + Request to delete a private service access connection. The call will + fail if there are any managed service instances using this connection. + type: object + id: DeleteConnectionRequest Control: - id: Control + type: object + description: >- + Selects and configures the service controller used by the service. + Example: control: environment: servicecontrol.googleapis.com properties: environment: type: string @@ -4015,150 +3883,285 @@ components: plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com methodPolicies: + description: Defines policies applying to the API methods of the service. type: array items: $ref: '#/components/schemas/MethodPolicy' - description: Defines policies applying to the API methods of the service. + id: Control + LongRunning: + properties: + initialPollDelay: + description: >- + Initial delay after which the first poll request will be made. + Default value: 5 seconds. + format: google-duration + type: string + maxPollDelay: + description: >- + Maximum time between two subsequent poll requests. Default value: 45 + seconds. + type: string + format: google-duration + pollDelayMultiplier: + description: >- + Multiplier to gradually increase delay between subsequent polls + until it reaches max_poll_delay. Default value: 1.5. + type: number + format: float + totalPollTimeout: + description: 'Total polling timeout. Default value: 5 minutes.' + format: google-duration + type: string description: >- - Selects and configures the service controller used by the service. - Example: control: environment: servicecontrol.googleapis.com + Describes settings to use when generating API methods that use the + long-running operation pattern. All default values below are from those + used in the client library generators (e.g. + [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). + id: LongRunning type: object - SourceContext: - id: SourceContext + ListDnsZonesResponse: + description: >- + Represents all DNS zones in the shared producer host project and the + matching peering zones in the consumer project. + properties: + dnsZonePairs: + type: array + items: + $ref: '#/components/schemas/DnsZonePair' + description: >- + All pairs of private DNS zones in the shared producer host project + and the matching peering zones in the consumer project.. type: object + id: ListDnsZonesResponse + PartialDeleteConnectionMetadata: + id: PartialDeleteConnectionMetadata + type: object + properties: {} + description: >- + Metadata provided through GetOperation request for the LRO generated by + Partial Delete Connection API + Option: properties: - fileName: + value: + type: object + description: >- + The option's value packed in an Any message. If the value is a + primitive, the corresponding wrapper type defined in + google/protobuf/wrappers.proto should be used. If the value is an + enum, it should be stored as an int32 value using the + google.protobuf.Int32Value type. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + name: type: string description: >- - The path-qualified name of the .proto file that contained the - associated protobuf element. For example: - `"google/protobuf/source_context.proto"`. + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, + `"map_entry"`. For custom options, it should be the fully-qualified + name. For example, `"google.api.http"`. + id: Option description: >- - `SourceContext` represents information about the source of a protobuf - element, like the file in which it is defined. - AuthenticationRule: - id: AuthenticationRule + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. type: object + PythonSettings: properties: - selector: + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + experimentalFeatures: + $ref: '#/components/schemas/ExperimentalFeatures' description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. + Experimental features to be included during client library + generation. + description: Settings for Python client libraries. + type: object + id: PythonSettings + RemoveDnsZoneMetadata: + type: object + description: >- + Metadata provided through GetOperation request for the LRO generated by + RemoveDnsZone API + properties: {} + id: RemoveDnsZoneMetadata + ValidateConsumerConfigResponse: + id: ValidateConsumerConfigResponse + type: object + properties: + validationError: + enum: + - VALIDATION_ERROR_UNSPECIFIED + - VALIDATION_NOT_REQUESTED + - SERVICE_NETWORKING_NOT_ENABLED + - NETWORK_NOT_FOUND + - NETWORK_NOT_PEERED + - NETWORK_PEERING_DELETED + - NETWORK_NOT_IN_CONSUMERS_PROJECT + - NETWORK_NOT_IN_CONSUMERS_HOST_PROJECT + - HOST_PROJECT_NOT_FOUND + - CONSUMER_PROJECT_NOT_SERVICE_PROJECT + - RANGES_EXHAUSTED + - RANGES_NOT_RESERVED + - RANGES_DELETED_LATER + - COMPUTE_API_NOT_ENABLED + - USE_PERMISSION_NOT_FOUND + description: The first validation which failed. type: string - allowWithoutCredential: + enumDescriptions: + - '' + - In case none of the validations are requested. + - '' + - The network provided by the consumer does not exist. + - The network has not been peered with the producer org. + - The peering was created and later deleted. + - >- + The network is a regular VPC but the network is not in the + consumer's project. + - >- + The consumer project is a service project, and network is a shared + VPC, but the network is not in the host project of this consumer + project. + - >- + The host project associated with the consumer project was not + found. + - >- + The consumer project is not a service project for the specified + host project. + - >- + The reserved IP ranges do not have enough space to create a subnet + of desired size. + - The IP ranges were not reserved. + - The IP ranges were reserved but deleted later. + - The consumer project does not have the compute api enabled. + - >- + The consumer project does not have the permission from the host + project. + isValid: type: boolean + description: Indicates whether all the requested validations passed. + existingSubnetworkCandidates: + items: + $ref: '#/components/schemas/Subnetwork' description: >- - If true, the service accepts API keys without any other credential. - This flag only applies to HTTP and gRPC requests. - requirements: - description: Requirements for additional authentication providers. + List of subnetwork candidates from the request which exist with the + `ip_cidr_range`, `secondary_ip_cider_ranges`, and + `outside_allocation` fields set. type: array - items: - $ref: '#/components/schemas/AuthRequirement' - oauth: - description: The requirements for OAuth credentials. - $ref: '#/components/schemas/OAuthRequirements' - description: >- - Authentication rules for the service. By default, if a method has any - authentication requirements, every request must include a valid - credential matching one of the requirements. It's an error to include - more than one kind of credential in a single request. If a method - doesn't have any auth requirements, request credentials will be ignored. - Authentication: + Route: description: >- - `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 + Represents a route that was created or discovered by a private access + management service. type: object - id: Authentication properties: - providers: - type: array - items: - $ref: '#/components/schemas/AuthProvider' - description: Defines a set of authentication providers that a service supports. - rules: + network: description: >- - A list of authentication rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. - type: array - items: - $ref: '#/components/schemas/AuthenticationRule' - PhpSettings: - description: Settings for Php client libraries. - type: object - properties: - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - id: PhpSettings - GoSettings: - id: GoSettings - description: Settings for Go client libraries. - properties: - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. + Fully-qualified URL of the VPC network in the producer host tenant + project that this route applies to. For example: + `projects/123456/global/networks/host-network` + type: string + destRange: + type: string + description: Destination CIDR range that this route applies to. + name: + type: string + description: Route name. See https://cloud.google.com/vpc/docs/routes + nextHopGateway: + type: string + description: >- + Fully-qualified URL of the gateway that should handle matching + packets that this route applies to. For example: + `projects/123456/global/gateways/default-internet-gateway` + id: Route + Connection: + id: Connection type: object - DocumentationRule: + description: >- + Represents a private connection resource. A private connection is + implemented as a VPC Network Peering connection between a service + producer's VPC network and a service consumer's VPC network. properties: - deprecationDescription: + peering: type: string + readOnly: true description: >- - Deprecation description of the selected element(s). It can be - provided if an element is marked as `deprecated`. - selector: + Output only. The name of the VPC Network Peering connection that was + created by the service producer. + network: description: >- - The selector is a comma-separated list of patterns for any element - such as a method, a field, an enum value. Each pattern is a - qualified name of the element which may end in "*", indicating a - wildcard. Wildcards are only allowed at the end and for a whole - component of the qualified name, i.e. "foo.*" is ok, but not - "foo.b*" or "foo.*.bar". A wildcard will match one or more - components. To specify a default for all applicable elements, the - whole pattern "*" is used. - type: string - disableReplacementWords: + The name of service consumer's VPC network that's connected with + service producer network, in the following format: + `projects/{project}/global/networks/{network}`. `{project}` is a + project number, such as in `12345` that includes the VPC service + consumer's VPC network. `{network}` is the name of the service + consumer's VPC network. type: string + service: description: >- - String of comma or space separated case-sensitive words for which - method/field name replacement will be disabled by go/api-docgen. - description: - description: >- - Description of the selected proto element (e.g. a message, a method, - a 'service' definition, or a field). Defaults to leading & trailing - comments taken from the proto source definition of the proto - element. + Output only. The name of the peering service that's associated with + this connection, in the following format: `services/{service name}`. type: string + readOnly: true + reservedPeeringRanges: + description: >- + The name of one or more allocated IP address ranges for this service + producer of type `PEERING`. Note that invoking CreateConnection + method with a different range when connection is already established + will not modify already provisioned service producer subnetworks. If + CreateConnection method is invoked repeatedly to reconnect when + peering connection had been disconnected on the consumer side, + leaving this field empty will restore previously allocated IP + ranges. + items: + type: string + type: array + Logging: type: object - description: A documentation rule provides information about individual API elements. - id: DocumentationRule - DisableVpcServiceControlsRequest: + description: >- + Logging configuration of the service. The following example shows how to + configure logs to be sent to the producer and consumer projects. In the + example, the `activity_history` log is sent to both the producer and + consumer projects, whereas the `purchase_history` log is only sent to + the producer project. monitored_resources: - type: + library.googleapis.com/branch labels: - key: /city description: The city + where the library branch is located in. - key: /name description: The + name of the branch. logs: - name: activity_history labels: - key: + /customer_id - name: purchase_history logging: producer_destinations: - + monitored_resource: library.googleapis.com/branch logs: - + activity_history - purchase_history consumer_destinations: - + monitored_resource: library.googleapis.com/branch logs: - + activity_history properties: - consumerNetwork: - type: string + producerDestinations: + type: array description: >- - Required. The network that the consumer is using to connect with - services. Must be in the form of - projects/{project}/global/networks/{network} {project} is a project - number, as in '12345' {network} is network name. - description: Request to disable VPC service controls. - id: DisableVpcServiceControlsRequest - type: object + Logging configurations for sending logs to the producer project. + There can be multiple producer destinations, each one must have a + different monitored resource type. A log can be used in at most one + producer destination. + items: + $ref: '#/components/schemas/LoggingDestination' + consumerDestinations: + description: >- + Logging configurations for sending logs to the consumer project. + There can be multiple consumer destinations, each one must have a + different monitored resource type. A log can be used in at most one + consumer destination. + type: array + items: + $ref: '#/components/schemas/LoggingDestination' + id: Logging parameters: - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: quotaUser + name: fields + schema: + type: string + access_token: + description: OAuth access token. + in: query + name: access_token schema: type: string _.xgafv: @@ -4170,6 +4173,12 @@ components: enum: - '1' - '2' + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string alt: description: Data format for response. in: query @@ -4180,30 +4189,12 @@ components: - json - media - proto - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - fields: - description: Selector specifying which fields to include in a partial response. - in: query - name: fields - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean key: description: >- API key. Your API key identifies your project and provides you with API @@ -4213,290 +4204,275 @@ components: name: key schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. in: query - name: oauth_token + name: quotaUser schema: type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + callback: + description: JSONP in: query - name: uploadType + name: callback + schema: + type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token schema: type: string - callback: - description: JSONP + prettyPrint: + description: Returns response with indentations and line breaks. in: query - name: callback + name: prettyPrint schema: - type: string + type: boolean x-stackQL-resources: - services: - id: google.servicenetworking.services - name: services - title: Services + networks_consumer_config: + id: google.servicenetworking.networks_consumer_config + name: networks_consumer_config + title: Networks_consumer_config methods: - validate: - operation: - $ref: '#/paths/~1v1~1services~1{servicesId}:validate/post' - response: - mediaType: application/json - openAPIDocKey: '200' - disable_vpc_service_controls: - operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}:disableVpcServiceControls/patch - response: - mediaType: application/json - openAPIDocKey: '200' - search_range: - operation: - $ref: '#/paths/~1v1~1services~1{servicesId}:searchRange/post' - response: - mediaType: application/json - openAPIDocKey: '200' - enable_vpc_service_controls: + update_consumer_config: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}:enableVpcServiceControls/patch + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}:updateConsumerConfig/patch response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: [] insert: [] - update: [] + update: + - $ref: >- + #/components/x-stackQL-resources/networks_consumer_config/methods/update_consumer_config replace: [] delete: [] - services_subnetwork: - id: google.servicenetworking.services_subnetwork - name: services_subnetwork - title: Services_subnetwork + networks: + id: google.servicenetworking.networks + name: networks + title: Networks methods: - add_subnetwork: + get: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}:addSubnetwork/post + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/services_subnetwork/methods/add_subnetwork + select: + - $ref: '#/components/x-stackQL-resources/networks/methods/get' + insert: [] update: [] replace: [] delete: [] - roles: - id: google.servicenetworking.roles - name: roles - title: Roles + networks_vpc_service_controls: + id: google.servicenetworking.networks_vpc_service_controls + name: networks_vpc_service_controls + title: Networks_vpc_service_controls methods: - add: + get_vpc_service_controls: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1roles:add/post' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1vpcServiceControls/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] - insert: - - $ref: '#/components/x-stackQL-resources/roles/methods/add' + select: + - $ref: >- + #/components/x-stackQL-resources/networks_vpc_service_controls/methods/get_vpc_service_controls + insert: [] update: [] replace: [] delete: [] - dns_record_sets: - id: google.servicenetworking.dns_record_sets - name: dns_record_sets - title: Dns_record_sets + peered_dns_domains: + id: google.servicenetworking.peered_dns_domains + name: peered_dns_domains + title: Peered_dns_domains methods: - add: - operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:add/post' - response: - mediaType: application/json - openAPIDocKey: '200' list: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:list/get' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1peeredDnsDomains/get response: mediaType: application/json openAPIDocKey: '200' - remove: + create: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:remove/post' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1peeredDnsDomains/post response: mediaType: application/json openAPIDocKey: '200' - update: + delete: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:update/post' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1peeredDnsDomains~1{peeredDnsDomainsId}/delete response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/list' + - $ref: '#/components/x-stackQL-resources/peered_dns_domains/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/add' - update: - - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/update' + - $ref: '#/components/x-stackQL-resources/peered_dns_domains/methods/create' + update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/remove' - dns_record_set: - id: google.servicenetworking.dns_record_set - name: dns_record_set - title: Dns_record_set + - $ref: '#/components/x-stackQL-resources/peered_dns_domains/methods/delete' + dns_zones: + id: google.servicenetworking.dns_zones + name: dns_zones + title: Dns_zones methods: get: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:get/get' + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1dnsZones~1{dnsZonesId}/get response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/dns_record_set/methods/get' - insert: [] - update: [] - replace: [] - delete: [] - peered_dns_domains: - id: google.servicenetworking.peered_dns_domains - name: peered_dns_domains - title: Peered_dns_domains - methods: - delete: + list: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1peeredDnsDomains~1{peeredDnsDomainsId}/delete + #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1dnsZones:list/get response: mediaType: application/json openAPIDocKey: '200' - list: + remove: operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1peeredDnsDomains/get + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsZones:remove/post' response: mediaType: application/json openAPIDocKey: '200' - create: + add: operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1peeredDnsDomains/post + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsZones:add/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/peered_dns_domains/methods/list' + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/get' + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/peered_dns_domains/methods/create' + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/add' update: [] replace: [] delete: - - $ref: '#/components/x-stackQL-resources/peered_dns_domains/methods/delete' - dns_zones: - id: google.servicenetworking.dns_zones - name: dns_zones - title: Dns_zones + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/remove' + dns_record_sets: + id: google.servicenetworking.dns_record_sets + name: dns_record_sets + title: Dns_record_sets methods: - list: + remove: operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1dnsZones:list/get + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:remove/post' response: mediaType: application/json openAPIDocKey: '200' - get: + list: operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1dnsZones~1{dnsZonesId}/get + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:list/get' response: mediaType: application/json openAPIDocKey: '200' add: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsZones:add/post' + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:add/post' response: mediaType: application/json openAPIDocKey: '200' - remove: + update: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsZones:remove/post' + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:update/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/get' - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/list' + - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/list' insert: - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/add' - update: [] + - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/add' + update: + - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/update' replace: [] delete: - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/remove' - networks: - id: google.servicenetworking.networks - name: networks - title: Networks + - $ref: '#/components/x-stackQL-resources/dns_record_sets/methods/remove' + dns_record_set: + id: google.servicenetworking.dns_record_set + name: dns_record_set + title: Dns_record_set methods: get: operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}/get + $ref: '#/paths/~1v1~1services~1{servicesId}~1dnsRecordSets:get/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/networks/methods/get' + - $ref: '#/components/x-stackQL-resources/dns_record_set/methods/get' insert: [] update: [] replace: [] delete: [] - networks_vpc_service_controls: - id: google.servicenetworking.networks_vpc_service_controls - name: networks_vpc_service_controls - title: Networks_vpc_service_controls + roles: + id: google.servicenetworking.roles + name: roles + title: Roles methods: - get_vpc_service_controls: + add: operation: - $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}~1vpcServiceControls/get + $ref: '#/paths/~1v1~1services~1{servicesId}~1roles:add/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/networks_vpc_service_controls/methods/get_vpc_service_controls - insert: [] + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/roles/methods/add' update: [] replace: [] delete: [] - networks_consumer_config: - id: google.servicenetworking.networks_consumer_config - name: networks_consumer_config - title: Networks_consumer_config + connections: + id: google.servicenetworking.connections + name: connections + title: Connections methods: - update_consumer_config: + list: + operation: + $ref: '#/paths/~1v1~1services~1{servicesId}~1connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: '#/paths/~1v1~1services~1{servicesId}~1connections/post' + response: + mediaType: application/json + openAPIDocKey: '200' + patch: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}~1projects~1{projectsId}~1global~1networks~1{networksId}:updateConsumerConfig/patch + #/paths/~1v1~1services~1{servicesId}~1connections~1{connectionsId}/patch response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connections/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/connections/methods/create' update: - - $ref: >- - #/components/x-stackQL-resources/networks_consumer_config/methods/update_consumer_config + - $ref: '#/components/x-stackQL-resources/connections/methods/patch' replace: [] delete: [] connections_connection: @@ -4519,37 +4495,61 @@ components: delete: - $ref: >- #/components/x-stackQL-resources/connections_connection/methods/delete_connection - connections: - id: google.servicenetworking.connections - name: connections - title: Connections + services: + id: google.servicenetworking.services + name: services + title: Services methods: - patch: + enable_vpc_service_controls: operation: $ref: >- - #/paths/~1v1~1services~1{servicesId}~1connections~1{connectionsId}/patch + #/paths/~1v1~1services~1{servicesId}:enableVpcServiceControls/patch response: mediaType: application/json openAPIDocKey: '200' - create: + search_range: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1connections/post' + $ref: '#/paths/~1v1~1services~1{servicesId}:searchRange/post' response: mediaType: application/json openAPIDocKey: '200' - list: + disable_vpc_service_controls: operation: - $ref: '#/paths/~1v1~1services~1{servicesId}~1connections/get' + $ref: >- + #/paths/~1v1~1services~1{servicesId}:disableVpcServiceControls/patch + response: + mediaType: application/json + openAPIDocKey: '200' + validate: + operation: + $ref: '#/paths/~1v1~1services~1{servicesId}:validate/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connections/methods/list' + select: [] + insert: [] + update: [] + replace: [] + delete: [] + services_subnetwork: + id: google.servicenetworking.services_subnetwork + name: services_subnetwork + title: Services_subnetwork + methods: + add_subnetwork: + operation: + $ref: >- + #/paths/~1v1~1services~1{servicesId}~1{servicesId1}~1{servicesId2}:addSubnetwork/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] insert: - - $ref: '#/components/x-stackQL-resources/connections/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/connections/methods/patch' + - $ref: >- + #/components/x-stackQL-resources/services_subnetwork/methods/add_subnetwork + update: [] replace: [] delete: [] operations: @@ -4557,13 +4557,6 @@ components: name: operations title: Operations methods: - list: - operation: - $ref: '#/paths/~1v1~1operations/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.operations get: operation: $ref: '#/paths/~1v1~1operations~1{operationsId}/get' @@ -4576,6 +4569,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1v1~1operations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.operations cancel: operation: $ref: '#/paths/~1v1~1operations~1{operationsId}:cancel/post' @@ -4592,32 +4592,30 @@ components: delete: - $ref: '#/components/x-stackQL-resources/operations/methods/delete' paths: - /v1/services/{servicesId}:validate: + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}:updateConsumerConfig: parameters: &ref_1 - - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/prettyPrint' - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/callback' - post: + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/prettyPrint' + patch: description: >- - Service producers use this method to validate if the consumer provided - network, project and requested range are valid. This allows them to use - a fail-fast mechanism for consumer requests, and not have to wait for - AddSubnetwork operation completion to determine if user request is - invalid. - operationId: servicenetworking.services.validate + 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. + operationId: servicenetworking.services.projects.global.networks.updateConsumerConfig requestBody: content: application/json: schema: - $ref: '#/components/schemas/ValidateConsumerConfigRequest' + $ref: '#/components/schemas/UpdateConsumerConfigRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4633,61 +4631,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ValidateConsumerConfigResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId required: true schema: type: string - /v1/services/{servicesId}:disableVpcServiceControls: - parameters: *ref_1 - patch: - description: Disables VPC service controls for a connection. - operationId: servicenetworking.services.disableVpcServiceControls - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DisableVpcServiceControlsRequest' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - - Oauth2: - - https://www.googleapis.com/auth/service.management - Oauth2c: - - https://www.googleapis.com/auth/service.management - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Operation' - parameters: - in: path - name: servicesId + name: projectsId required: true schema: type: string - /v1/services/{servicesId}:searchRange: + - in: path + name: networksId + required: true + schema: + type: string + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}: parameters: *ref_1 - post: + get: description: >- - Service producers can use this method to find a currently unused range - within consumer allocated ranges. This returned range is not reserved, - and not guaranteed to remain unused. It will validate previously - provided allocated ranges, find non-conflicting sub-range of requested - size (expressed in number of leading bits of ipv4 network mask, as in - CIDR range notation). - operationId: servicenetworking.services.searchRange - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SearchRangeRequest' + 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. + operationId: servicenetworking.services.projects.global.networks.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4703,23 +4671,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/ConsumerConfig' parameters: - in: path name: servicesId required: true schema: type: string - /v1/services/{servicesId}:enableVpcServiceControls: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: networksId + required: true + schema: + type: string + - in: query + name: includeUsedIpRanges + schema: + type: boolean + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/vpcServiceControls: parameters: *ref_1 - patch: - description: Enables VPC service controls for a connection. - operationId: servicenetworking.services.enableVpcServiceControls - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnableVpcServiceControlsRequest' + get: + description: >- + Consumers use this method to find out the state of VPC Service Controls. + The controls could be enabled or disabled for a connection. + operationId: >- + servicenetworking.services.projects.global.networks.getVpcServiceControls security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4735,31 +4715,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/VpcServiceControls' parameters: - in: path name: servicesId required: true schema: type: string - /v1/services/{servicesId}/{servicesId1}/{servicesId2}:addSubnetwork: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: networksId + required: true + schema: + type: string + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/peeredDnsDomains: parameters: *ref_1 - post: - description: >- - 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. - operationId: servicenetworking.services.addSubnetwork - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AddSubnetworkRequest' + get: + description: Lists peered DNS domains for a connection. + operationId: >- + servicenetworking.services.projects.global.networks.peeredDnsDomains.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4775,7 +4753,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/ListPeeredDnsDomainsResponse' parameters: - in: path name: servicesId @@ -4783,29 +4761,27 @@ paths: schema: type: string - in: path - name: servicesId1 + name: projectsId required: true schema: type: string - in: path - name: servicesId2 + name: networksId required: true schema: type: string - /v1/services/{servicesId}/roles:add: - parameters: *ref_1 post: description: >- - 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. - operationId: servicenetworking.services.roles.add + 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. + operationId: >- + servicenetworking.services.projects.global.networks.peeredDnsDomains.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/AddRolesRequest' + $ref: '#/components/schemas/PeeredDnsDomain' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4824,22 +4800,26 @@ paths: $ref: '#/components/schemas/Operation' parameters: - in: path - name: servicesId + name: servicesId + required: true + schema: + type: string + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: networksId required: true schema: type: string - /v1/services/{servicesId}/dnsRecordSets:add: + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/peeredDnsDomains/{peeredDnsDomainsId}: parameters: *ref_1 - post: - description: >- - Service producers can use this method to add DNS record sets to private - DNS zones in the shared producer host project. - operationId: servicenetworking.services.dnsRecordSets.add - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AddDnsRecordSetRequest' + delete: + description: Deletes a peered DNS domain. + operationId: >- + servicenetworking.services.projects.global.networks.peeredDnsDomains.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4862,14 +4842,29 @@ paths: required: true schema: type: string - /v1/services/{servicesId}/dnsRecordSets:list: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: networksId + required: true + schema: + type: string + - in: path + name: peeredDnsDomainsId + required: true + schema: + type: string + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/dnsZones/{dnsZonesId}: parameters: *ref_1 get: description: >- - 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. - operationId: servicenetworking.services.dnsRecordSets.list + 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 + operationId: servicenetworking.services.projects.global.networks.dnsZones.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4885,33 +4880,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListDnsRecordSetsResponse' + $ref: '#/components/schemas/GetDnsZoneResponse' parameters: - in: path name: servicesId required: true schema: type: string - - in: query - name: zone + - in: path + name: projectsId + required: true schema: type: string - - in: query - name: consumerNetwork + - in: path + name: networksId + required: true schema: type: string - /v1/services/{servicesId}/dnsRecordSets:remove: + - in: path + name: dnsZonesId + required: true + schema: + type: string + /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/dnsZones:list: parameters: *ref_1 - post: + get: description: >- - Service producers can use this method to remove DNS record sets from - private DNS zones in the shared producer host project. - operationId: servicenetworking.services.dnsRecordSets.remove - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RemoveDnsRecordSetRequest' + * 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. * + operationId: servicenetworking.services.projects.global.networks.dnsZones.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4927,25 +4925,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/ListDnsZonesResponse' parameters: - in: path name: servicesId required: true schema: type: string - /v1/services/{servicesId}/dnsRecordSets:update: + - in: path + name: projectsId + required: true + schema: + type: string + - in: path + name: networksId + required: true + schema: + type: string + /v1/services/{servicesId}/dnsRecordSets:remove: parameters: *ref_1 post: description: >- - Service producers can use this method to update DNS record sets from + Service producers can use this method to remove DNS record sets from private DNS zones in the shared producer host project. - operationId: servicenetworking.services.dnsRecordSets.update + operationId: servicenetworking.services.dnsRecordSets.remove requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateDnsRecordSetRequest' + $ref: '#/components/schemas/RemoveDnsRecordSetRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4999,11 +5007,11 @@ paths: schema: type: string - in: query - name: consumerNetwork + name: domain schema: type: string - in: query - name: domain + name: consumerNetwork schema: type: string - in: query @@ -5014,12 +5022,14 @@ paths: name: type schema: type: string - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/peeredDnsDomains/{peeredDnsDomainsId}: + /v1/services/{servicesId}/dnsRecordSets:list: parameters: *ref_1 - delete: - description: Deletes a peered DNS domain. - operationId: >- - servicenetworking.services.projects.global.networks.peeredDnsDomains.delete + get: + description: >- + 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. + operationId: servicenetworking.services.dnsRecordSets.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5035,34 +5045,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/ListDnsRecordSetsResponse' parameters: - in: path name: servicesId required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true + - in: query + name: zone schema: type: string - - in: path - name: peeredDnsDomainsId - required: true + - in: query + name: consumerNetwork schema: type: string - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/peeredDnsDomains: + /v1/services/{servicesId}/dnsRecordSets:add: parameters: *ref_1 - get: - description: Lists peered DNS domains for a connection. - operationId: >- - servicenetworking.services.projects.global.networks.peeredDnsDomains.list + post: + description: >- + Service producers can use this method to add DNS record sets to private + DNS zones in the shared producer host project. + operationId: servicenetworking.services.dnsRecordSets.add + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddDnsRecordSetRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5078,35 +5087,25 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListPeeredDnsDomainsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true - schema: - type: string + /v1/services/{servicesId}/dnsRecordSets:update: + parameters: *ref_1 post: description: >- - 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. - operationId: >- - servicenetworking.services.projects.global.networks.peeredDnsDomains.create + Service producers can use this method to update DNS record sets from + private DNS zones in the shared producer host project. + operationId: servicenetworking.services.dnsRecordSets.update requestBody: content: application/json: schema: - $ref: '#/components/schemas/PeeredDnsDomain' + $ref: '#/components/schemas/UpdateDnsRecordSetRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5129,24 +5128,20 @@ paths: required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true - schema: - type: string - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/dnsZones:list: + /v1/services/{servicesId}/roles:add: parameters: *ref_1 - get: + post: description: >- - * 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. * - operationId: servicenetworking.services.projects.global.networks.dnsZones.list + 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. + operationId: servicenetworking.services.roles.add + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddRolesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5162,31 +5157,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListDnsZonesResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true - schema: - type: string - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/dnsZones/{dnsZonesId}: + /v1/services/{servicesId}/dnsZones:remove: parameters: *ref_1 - get: + post: description: >- - 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 - operationId: servicenetworking.services.projects.global.networks.dnsZones.get + 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. + operationId: servicenetworking.services.dnsZones.remove + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveDnsZoneRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5202,36 +5192,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GetDnsZoneResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true - schema: - type: string - - in: path - name: dnsZonesId - required: true - schema: - type: string - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}: + /v1/services/{servicesId}/dnsZones:add: parameters: *ref_1 - get: + post: description: >- - 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. - operationId: servicenetworking.services.projects.global.networks.get + 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. + operationId: servicenetworking.services.dnsZones.add + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddDnsZoneRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5247,35 +5227,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ConsumerConfig' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true - schema: - type: string - - in: query - name: includeUsedIpRanges - schema: - type: boolean - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}/vpcServiceControls: + /v1/services/{servicesId}/connections: parameters: *ref_1 get: description: >- - Consumers use this method to find out the state of VPC Service Controls. - The controls could be enabled or disabled for a connection. - operationId: >- - servicenetworking.services.projects.global.networks.getVpcServiceControls + List the private connections that are configured in a service consumer's + VPC network. + operationId: servicenetworking.services.connections.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5291,36 +5256,32 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VpcServiceControls' + $ref: '#/components/schemas/ListConnectionsResponse' parameters: - in: path name: servicesId required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true + - in: query + name: network schema: type: string - /v1/services/{servicesId}/projects/{projectsId}/global/networks/{networksId}:updateConsumerConfig: - parameters: *ref_1 - patch: + post: description: >- - 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. - operationId: servicenetworking.services.projects.global.networks.updateConsumerConfig + 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. + operationId: servicenetworking.services.connections.create requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateConsumerConfigRequest' + $ref: '#/components/schemas/Connection' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5343,26 +5304,16 @@ paths: required: true schema: type: string - - in: path - name: projectsId - required: true - schema: - type: string - - in: path - name: networksId - required: true - schema: - type: string /v1/services/{servicesId}/connections/{connectionsId}: parameters: *ref_1 - post: - description: Deletes a private service access connection. - operationId: servicenetworking.services.connections.deleteConnection + patch: + description: Updates the allocated ranges that are assigned to a connection. + operationId: servicenetworking.services.connections.patch requestBody: content: application/json: schema: - $ref: '#/components/schemas/DeleteConnectionRequest' + $ref: '#/components/schemas/Connection' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5390,14 +5341,23 @@ paths: required: true schema: type: string - patch: - description: Updates the allocated ranges that are assigned to a connection. - operationId: servicenetworking.services.connections.patch + - in: query + name: force + schema: + type: boolean + - in: query + name: updateMask + schema: + type: string + format: google-fieldmask + post: + description: Deletes a private service access connection. + operationId: servicenetworking.services.connections.deleteConnection requestBody: content: application/json: schema: - $ref: '#/components/schemas/Connection' + $ref: '#/components/schemas/DeleteConnectionRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5425,32 +5385,16 @@ paths: required: true schema: type: string - - in: query - name: updateMask - schema: - type: string - format: google-fieldmask - - in: query - name: force - schema: - type: boolean - /v1/services/{servicesId}/connections: + /v1/services/{servicesId}:enableVpcServiceControls: parameters: *ref_1 - post: - description: >- - 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. - operationId: servicenetworking.services.connections.create + patch: + description: Enables VPC service controls for a connection. + operationId: servicenetworking.services.enableVpcServiceControls requestBody: content: application/json: schema: - $ref: '#/components/schemas/Connection' + $ref: '#/components/schemas/EnableVpcServiceControlsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5473,11 +5417,22 @@ paths: required: true schema: type: string - get: + /v1/services/{servicesId}:searchRange: + parameters: *ref_1 + post: description: >- - List the private connections that are configured in a service consumer's - VPC network. - operationId: servicenetworking.services.connections.list + Service producers can use this method to find a currently unused range + within consumer allocated ranges. This returned range is not reserved, + and not guaranteed to remain unused. It will validate previously + provided allocated ranges, find non-conflicting sub-range of requested + size (expressed in number of leading bits of ipv4 network mask, as in + CIDR range notation). + operationId: servicenetworking.services.searchRange + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRangeRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5493,30 +5448,31 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListConnectionsResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path name: servicesId required: true schema: type: string - - in: query - name: network - schema: - type: string - /v1/services/{servicesId}/dnsZones:add: + /v1/services/{servicesId}/{servicesId1}/{servicesId2}:addSubnetwork: parameters: *ref_1 post: description: >- - 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. - operationId: servicenetworking.services.dnsZones.add + 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. + operationId: servicenetworking.services.addSubnetwork requestBody: content: application/json: schema: - $ref: '#/components/schemas/AddDnsZoneRequest' + $ref: '#/components/schemas/AddSubnetworkRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5539,19 +5495,26 @@ paths: required: true schema: type: string - /v1/services/{servicesId}/dnsZones:remove: + - in: path + name: servicesId1 + required: true + schema: + type: string + - in: path + name: servicesId2 + required: true + schema: + type: string + /v1/services/{servicesId}:disableVpcServiceControls: parameters: *ref_1 - post: - description: >- - 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. - operationId: servicenetworking.services.dnsZones.remove + patch: + description: Disables VPC service controls for a connection. + operationId: servicenetworking.services.disableVpcServiceControls requestBody: content: application/json: schema: - $ref: '#/components/schemas/RemoveDnsZoneRequest' + $ref: '#/components/schemas/DisableVpcServiceControlsRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5574,13 +5537,21 @@ paths: required: true schema: type: string - /v1/operations: + /v1/services/{servicesId}:validate: parameters: *ref_1 - get: + post: description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: servicenetworking.operations.list + Service producers use this method to validate if the consumer provided + network, project and requested range are valid. This allows them to use + a fail-fast mechanism for consumer requests, and not have to wait for + AddSubnetwork operation completion to determine if user request is + invalid. + operationId: servicenetworking.services.validate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateConsumerConfigRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -5596,19 +5567,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListOperationsResponse' + $ref: '#/components/schemas/ValidateConsumerConfigResponse' parameters: - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter + - in: path + name: servicesId + required: true schema: type: string /v1/operations/{operationsId}: @@ -5670,6 +5633,43 @@ paths: required: true schema: type: string + /v1/operations: + parameters: *ref_1 + get: + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: servicenetworking.operations.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/service.management + Oauth2c: + - https://www.googleapis.com/auth/service.management + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListOperationsResponse' + parameters: + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 /v1/operations/{operationsId}:cancel: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/serviceusage.yaml b/providers/src/googleapis.com/v00.00.00000/services/serviceusage.yaml index b91660ce..5ed7009e 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/serviceusage.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/serviceusage.yaml @@ -10,8 +10,8 @@ info: Platform, lists the available or enabled services, or disables services that service consumers no longer use. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/service-usage/ servers: @@ -28,10 +28,10 @@ components: 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. - https://www.googleapis.com/auth/service.management: Manage your Google API service configuration https://www.googleapis.com/auth/cloud-platform.read-only: >- View your data across Google Cloud services and see the email address of your Google Account + https://www.googleapis.com/auth/service.management: Manage your Google API service configuration Oauth2c: type: oauth2 description: Oauth 2.0 authorization code authentication @@ -41,511 +41,670 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - Impact: - description: A message to group impacts of updating a policy. + ClientLibrarySettings: type: object properties: - detail: + rubySettings: + $ref: '#/components/schemas/RubySettings' + description: Settings for Ruby client libraries. + launchStage: + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED type: string - description: Output only. User friendly impact detail in a free form message. - readOnly: true - impactType: enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. - >- - Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 - Block 0 - Special/Admin codes Block 1 - Impact Type of - ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of - ANALYSIS_TYPE_RESOURCE_USAGE ... - - Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY - description: Output only. The type of impact. - enum: - - IMPACT_TYPE_UNSPECIFIED - - DEPENDENCY_MISSING_DEPENDENCIES - type: string - readOnly: true - id: Impact - AuthenticationRule: - type: object - properties: - selector: + Prelaunch features are hidden from users and are only visible + internally. + - >- + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible + ways, and are not guaranteed to be released. + - >- + Alpha is a limited availability test for releases before they are + cleared for widespread use. By Alpha, all significant design + issues are resolved and we are in the process of verifying + functionality. Alpha customers need to apply for access, agree to + applicable terms, and have their projects allowlisted. Alpha + releases don't have to be feature complete, no SLAs are provided, + and there are no technical support obligations, but they will be + far enough along that customers can actually use them in test + environments or for limited-use tests -- just like they would in + normal production cases. + - >- + Beta is the point at which we are ready to open a release for any + customer to use. There are no SLA or technical support obligations + in a Beta release. Products will be complete from a feature + perspective, but may have some open outstanding issues. Beta + releases are suitable for limited production use cases. + - >- + GA features are open to all developers and are considered stable + and fully qualified for production use. + - >- + Deprecated features are scheduled to be shut down and removed. For + more information, see the "Deprecation Policy" section of our + [Terms of Service](https://cloud.google.com/terms/) and the + [Google Cloud Platform Subject to the Deprecation + Policy](https://cloud.google.com/terms/deprecation) documentation. + description: Launch stage of this version of the API. + phpSettings: + $ref: '#/components/schemas/PhpSettings' + description: Settings for PHP client libraries. + cppSettings: + $ref: '#/components/schemas/CppSettings' + description: Settings for C++ client libraries. + version: type: string description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - oauth: - $ref: '#/components/schemas/OAuthRequirements' - description: The requirements for OAuth credentials. - allowWithoutCredential: + Version of the API to apply these settings to. This is the full + protobuf package for the API, ending in the version element. + Examples: "google.cloud.speech.v1" and + "google.spanner.admin.database.v1". + pythonSettings: + $ref: '#/components/schemas/PythonSettings' + description: Settings for Python client libraries. + nodeSettings: + description: Settings for Node client libraries. + $ref: '#/components/schemas/NodeSettings' + goSettings: + description: Settings for Go client libraries. + $ref: '#/components/schemas/GoSettings' + dotnetSettings: + $ref: '#/components/schemas/DotnetSettings' + description: Settings for .NET client libraries. + restNumericEnums: description: >- - If true, the service accepts API keys without any other credential. - This flag only applies to HTTP and gRPC requests. + When using transport=rest, the client request will encode enums as + numbers rather than strings. type: boolean - requirements: - description: Requirements for additional authentication providers. - type: array - items: - $ref: '#/components/schemas/AuthRequirement' - id: AuthenticationRule + javaSettings: + $ref: '#/components/schemas/JavaSettings' + description: Settings for legacy Java features, supported in the Service YAML. + description: Details about how and where to publish client libraries. + id: ClientLibrarySettings + ConsumerPolicy: description: >- - Authentication rules for the service. By default, if a method has any - authentication requirements, every request must include a valid - credential matching one of the requirements. It's an error to include - more than one kind of credential in a single request. If a method - doesn't have any auth requirements, request credentials will be ignored. - Monitoring: - type: object + Consumer Policy is a set of rules that define what services or service + groups can be used for a cloud resource hierarchy. properties: - producerDestinations: - type: array - items: - $ref: '#/components/schemas/MonitoringDestination' + annotations: description: >- - Monitoring configurations for sending metrics to the producer - project. There can be multiple producer destinations. A monitored - resource type may appear in multiple monitoring destinations if - different aggregations are needed for different sets of metrics - associated with that monitored resource type. A monitored resource - and metric pair may only be used once in the Monitoring - configuration. - consumerDestinations: + Optional. Annotations is an unstructured key-value map stored with a + policy that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. + [AIP-128](https://google.aip.dev/128#annotations) + additionalProperties: + type: string + type: object + enableRules: + description: Enable rules define usable services and service groups. type: array items: - $ref: '#/components/schemas/MonitoringDestination' + $ref: '#/components/schemas/EnableRule' + etag: description: >- - Monitoring configurations for sending metrics to the consumer - project. There can be multiple consumer destinations. A monitored - resource type may appear in multiple monitoring destinations if - different aggregations are needed for different sets of metrics - associated with that monitored resource type. A monitored resource - and metric pair may only be used once in the Monitoring - configuration. - id: Monitoring - description: >- - 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 - ListServicesResponse: - properties: - nextPageToken: + An opaque tag indicating the current version of the policy, used for + concurrency control. type: string + name: + readOnly: true description: >- - Token that can be passed to `ListServices` to resume a paginated - query. - services: - items: - $ref: '#/components/schemas/GoogleApiServiceusageV1Service' - description: The available services for the requested project. - type: array - id: ListServicesResponse + Output only. The resource name of the policy. We only allow consumer + policy name as `default` for now: + `projects/12345/consumerPolicies/default`, + `folders/12345/consumerPolicies/default`, + `organizations/12345/consumerPolicies/default`. + type: string + updateTime: + type: string + format: google-datetime + description: The last-modified time. + id: ConsumerPolicy type: object - description: Response message for the `ListServices` method. - JavaSettings: - description: Settings for Java client libraries. - id: JavaSettings + ExperimentalFeatures: + id: ExperimentalFeatures + description: >- + Experimental features to be included during client library generation. + These fields will be deprecated once the feature graduates and is + enabled by default. type: object properties: - serviceClassNames: - type: object - additionalProperties: - type: string + restAsyncIoEnabled: + type: boolean description: >- - Configure the Java class name to use instead of the service's for - its corresponding generated GAPIC client. Keys are fully-qualified - service names as they appear in the protobuf (including the full the - language_settings.java.interface_names" field in gapic.yaml. API - teams should otherwise use the service name as it appears in the - protobuf. Example of a YAML configuration:: publishing: - java_settings: service_class_names: - google.pubsub.v1.Publisher: - TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin - libraryPackage: + Enables generation of asynchronous REST clients if `rest` transport + is enabled. By default, asynchronous REST clients will not be + generated. This feature will be enabled by default 1 month after + launching the feature in preview packages. + Endpoint: + id: Endpoint + type: object + properties: + name: type: string + description: The canonical name of this endpoint. + aliases: description: >- - The package name to use in Java. Clobbers the java_package option - set in the protobuf. This should be used **only** by APIs who have - already set the language_settings.java.package_name" field in - gapic.yaml. API teams should use the protobuf java_package option - where possible. Example of a YAML configuration:: publishing: - java_settings: library_package: com.google.cloud.pubsub.v1 - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - Publishing: + Aliases for this endpoint, these will be served by the same UrlMap + as the parent endpoint, and will be provisioned in the GCP stack for + the Regional Endpoints. + type: array + items: + type: string + target: + description: >- + The specification of an Internet routable address of API frontend + that will handle requests to this [API + Endpoint](https://cloud.google.com/apis/design/glossary). It should + be either a valid IPv4 address or a fully-qualified domain name. For + example, "8.8.8.8" or "myservice.appspot.com". + type: string + allowCors: + type: boolean + description: >- + Allowing + [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), + aka cross-domain traffic, would allow the backends served from this + endpoint to receive and respond to HTTP OPTIONS requests. The + response will be used by the browser to determine whether the + subsequent cross-origin request is allowed to proceed. + description: >- + `Endpoint` describes a network address of a service that serves a set of + APIs. It is commonly known as a service endpoint. A service may expose + any number of service endpoints, and all service endpoints share the + same service definition, such as quota limits and monitoring metrics. + Example: type: google.api.Service name: library-example.googleapis.com + endpoints: # Declares network address + `https://library-example.googleapis.com` # for service + `library-example.googleapis.com`. The `https` scheme # is implicit for + all service endpoints. Other schemes may be # supported in the future. - + name: library-example.googleapis.com allow_cors: false - name: + content-staging-library-example.googleapis.com # Allows HTTP OPTIONS + calls to be passed to the API frontend, for it # to decide whether the + subsequent cross-origin request is allowed # to proceed. allow_cors: + true + AuthRequirement: type: object - id: Publishing + id: AuthRequirement properties: - newIssueUri: - type: string + providerId: description: >- - Link to a *public* URI where users can report issues. Example: - https://issuetracker.google.com/issues/new?component=190865&template=1161103 - githubLabel: + id from authentication provider. Example: provider_id: + bookstore_auth type: string + audiences: description: >- - GitHub label to apply to issues and pull requests opened for this - API. - docTagPrefix: + NOTE: This will be deprecated soon, once AuthProvider.audiences is + implemented and accepted in all the runtime components. The list of + JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. When this setting is absent, only JWTs with + audience "https://Service_name/API_name" will be accepted. For + example, if no audiences are in the setting, LibraryService API will + only accept JWTs with the following audience + "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + Example: audiences: bookstore_android.apps.googleusercontent.com, + bookstore_web.apps.googleusercontent.com type: string - description: >- - A prefix used in sample code when demarking regions to be included - in documentation. - protoReferenceDocumentationUri: + description: >- + User-defined authentication requirements, including support for [JSON + Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + EnumValue: + description: Enum value definition. + properties: + options: + description: Protocol buffer options. + items: + $ref: '#/components/schemas/Option' + type: array + number: + format: int32 + description: Enum value number. + type: integer + name: type: string + description: Enum value name. + id: EnumValue + type: object + ImportConsumerOverridesMetadata: + type: object + properties: {} + id: ImportConsumerOverridesMetadata + description: >- + Metadata message that provides information such as progress, partial + failures, and similar information on each GetOperation call of LRO + returned by ImportConsumerOverrides. + SystemParameters: + properties: + rules: + type: array + items: + $ref: '#/components/schemas/SystemParameterRule' description: >- - Optional link to proto reference documentation. Example: - https://cloud.google.com/pubsub/lite/docs/reference/rpc - methodSettings: + Define system parameters. The parameters defined here will override + the default parameters implemented by the system. If this field is + missing from the service config, default system parameters will be + used. Default system parameters and names is + implementation-dependent. Example: define api key for all methods + system_parameters rules: - selector: "*" parameters: - name: api_key + url_query_parameter: api_key Example: define 2 api key names for a + specific method. system_parameters rules: - selector: "/ListShelves" + parameters: - name: api_key http_header: Api-Key1 - name: api_key + http_header: Api-Key2 **NOTE:** All service configuration rules + follow "last one wins" order. + type: object + description: >- + ### 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. + id: SystemParameters + BatchEnableServicesResponse: + id: BatchEnableServicesResponse + description: >- + Response message for the `BatchEnableServices` method. This response + message is assigned to the `response` field of the returned Operation + when that operation is done. + type: object + properties: + failures: + type: array description: >- - A list of API method settings, e.g. the behavior for methods that - use the long-running operation pattern. + If allow_partial_success is true, and one or more services could not + be enabled, this field contains the details about each failure. items: - $ref: '#/components/schemas/MethodSettings' + $ref: '#/components/schemas/EnableFailure' + services: type: array - codeownerGithubTeams: items: - type: string + $ref: '#/components/schemas/GoogleApiServiceusageV1Service' + description: The new state of the services after enabling. + HttpRule: + id: HttpRule + properties: + additionalBindings: type: array description: >- - GitHub teams to be added to CODEOWNERS in the directory in GitHub - containing source code for the client libraries for this API. - restReferenceDocumentationUri: + Additional HTTP bindings for the selector. Nested bindings must not + contain an `additional_bindings` field themselves (that is, the + nesting may only be one level deep). + items: + $ref: '#/components/schemas/HttpRule' + delete: type: string + description: Maps to HTTP DELETE. Used for deleting a resource. + body: description: >- - Optional link to REST reference documentation. Example: - https://cloud.google.com/pubsub/lite/docs/reference/rest - librarySettings: - items: - $ref: '#/components/schemas/ClientLibrarySettings' - type: array + The name of the request field whose value is mapped to the HTTP + request body, or `*` for mapping all request fields not captured by + the path pattern to the HTTP body, or omitted for not having any + HTTP request body. NOTE: the referred field must be present at the + top-level of the request message type. + type: string + custom: + $ref: '#/components/schemas/CustomHttpPattern' description: >- - Client library settings. If the same version string appears multiple - times in this list, then the last one wins. Settings from earlier - settings with the same version string are discarded. - documentationUri: + The custom pattern is used for specifying an HTTP method that is not + included in the `pattern` field, such as HEAD, or "*" to leave the + HTTP method unspecified for this rule. The wild-card rule is useful + for services that provide content to Web (HTML) clients. + get: description: >- - Link to product home page. Example: - https://cloud.google.com/asset-inventory/docs/overview + Maps to HTTP GET. Used for listing and getting information about + resources. type: string - apiShortName: + patch: + type: string + description: Maps to HTTP PATCH. Used for updating a resource. + selector: description: >- - Used as a tracking tag when collecting data about the APIs developer - relations artifacts like docs, packages delivered to package - managers, etc. Example: "speech". + Selects a method to which this rule applies. Refer to selector for + syntax details. type: string - organization: + put: type: string - description: For whom the client library is being published. - enumDescriptions: - - Not useful. - - Google Cloud Platform Org. - - Ads (Advertising) Org. - - Photos Org. - - Street View Org. - - Shopping Org. - - Geo Org. - - Generative AI - https://developers.generativeai.google - enum: - - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED - - CLOUD - - ADS - - PHOTOS - - STREET_VIEW - - SHOPPING - - GEO - - GENERATIVE_AI - description: >- - 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. - ListOperationsResponse: - type: object - id: ListOperationsResponse - properties: - nextPageToken: - description: The standard List next-page token. + description: Maps to HTTP PUT. Used for replacing a resource. + post: type: string - operations: - type: array description: >- - A list of operations that matches the specified filter in the - request. - items: - $ref: '#/components/schemas/Operation' - description: The response message for Operations.ListOperations. - MetricRule: - properties: - selector: - type: string + Maps to HTTP POST. Used for creating a resource or performing an + action. + responseBody: description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - metricCosts: - additionalProperties: - type: string - format: int64 - type: object - description: >- - Metrics to update when the selected methods are called, and the - associated cost applied to each metric. The key of the map is the - metric name, and the values are the amount increased for the metric - against which the quota limits are defined. The value must not be - negative. + Optional. The name of the response field whose value is mapped to + the HTTP response body. When omitted, the entire response message + will be used as the HTTP response body. NOTE: The referred field + must be present at the top-level of the response message type. + type: string type: object description: >- - Bind API methods to metrics. Binding a method to a metric causes that - metric's configured quota behaviors to apply to the method call. - id: MetricRule - RubySettings: - description: Settings for Ruby client libraries. - id: RubySettings - type: object - properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - Quota: - id: Quota + gRPC Transcoding gRPC Transcoding is a feature for mapping between a + gRPC method and one or more HTTP REST endpoints. It allows developers to + build a single API service that supports both gRPC APIs and REST APIs. + Many systems, including [Google + APIs](https://github.com/googleapis/googleapis), [Cloud + Endpoints](https://cloud.google.com/endpoints), [gRPC + Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature + and use it for large scale production services. `HttpRule` defines the + schema of the gRPC/REST mapping. The mapping specifies how different + portions of the gRPC request message are mapped to the URL path, URL + query parameters, and HTTP request body. It also controls how the gRPC + response message is mapped to the HTTP response body. `HttpRule` is + typically specified as an `google.api.http` annotation on the gRPC + method. Each mapping specifies a URL path template and an HTTP method. + The path template may refer to one or more fields in the gRPC request + message, as long as each field is a non-repeated field with a primitive + (non-message) type. The path template controls how fields of the request + message are mapped to the URL path. Example: service Messaging { rpc + GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/{name=messages/*}" }; } } message + GetMessageRequest { string name = 1; // Mapped to URL path. } message + Message { string text = 1; // The resource content. } This enables an + HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - + gRPC: `GetMessage(name: "messages/123456")` Any fields in the request + message which are not bound by the path template automatically become + HTTP query parameters if there is no HTTP request body. For example: + service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) + { option (google.api.http) = { get:"/v1/messages/{message_id}" }; } } + message GetMessageRequest { message SubMessage { string subfield = 1; } + string message_id = 1; // Mapped to URL path. int64 revision = 2; // + Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped + to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC + mapping as below: - HTTP: `GET + /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: + `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: + "foo"))` Note that fields which are mapped to URL query parameters must + have a primitive type or a repeated primitive type or a non-repeated + message type. In the case of a repeated type, the parameter can be + repeated in the URL as `...?param=A¶m=B`. In the case of a message + type, each field of the message is mapped to a separate parameter, such + as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request + body, the `body` field specifies the mapping. Consider a REST update + method on the message resource collection: service Messaging { rpc + UpdateMessage(UpdateMessageRequest) returns (Message) { option + (google.api.http) = { patch: "/v1/messages/{message_id}" body: "message" + }; } } message UpdateMessageRequest { string message_id = 1; // mapped + to the URL Message message = 2; // mapped to the body } The following + HTTP JSON to RPC mapping is enabled, where the representation of the + JSON in the request body is determined by protos JSON encoding: - HTTP: + `PATCH /v1/messages/123456 { "text": "Hi!" }` - gRPC: + `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The + special name `*` can be used in the body mapping to define that every + field not bound by the path template should be mapped to the request + body. This enables the following alternative definition of the update + method: service Messaging { rpc UpdateMessage(Message) returns (Message) + { option (google.api.http) = { patch: "/v1/messages/{message_id}" body: + "*" }; } } message Message { string message_id = 1; string text = 2; } + The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH + /v1/messages/123456 { "text": "Hi!" }` - gRPC: + `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using + `*` in the body mapping, it is not possible to have HTTP parameters, as + all fields not bound by the path end in the body. This makes this option + more rarely used in practice when defining REST APIs. The common usage + of `*` is in custom methods which don't use the URL at all for + transferring data. It is possible to define multiple HTTP methods for + one RPC by using the `additional_bindings` option. Example: service + Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/messages/{message_id}" + additional_bindings { get: "/v1/users/{user_id}/messages/{message_id}" } + }; } } message GetMessageRequest { string message_id = 1; string user_id + = 2; } This enables the following two alternative HTTP JSON to RPC + mappings: - HTTP: `GET /v1/messages/123456` - gRPC: + `GetMessage(message_id: "123456")` - HTTP: `GET + /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" + message_id: "123456")` Rules for HTTP mapping 1. Leaf request fields + (recursive expansion nested messages in the request message) are + classified into three categories: - Fields referred by the path + template. They are passed via the URL path. - Fields referred by the + HttpRule.body. They are passed via the HTTP request body. - All other + fields are passed via the URL query parameters, and the parameter name + is the field path in the request message. A repeated field can be + represented as multiple query parameters under the same name. 2. If + HttpRule.body is "*", there is no URL query parameter, all fields are + passed via URL path and HTTP request body. 3. If HttpRule.body is + omitted, there is no HTTP request body, all fields are passed via URL + path and URL query parameters. Path template syntax Template = "/" + Segments [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | + "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] + "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; The syntax + `*` matches a single URL path segment. The syntax `**` matches zero or + more URL path segments, which must be the last part of the URL path + except the `Verb`. The syntax `Variable` matches part of the URL path as + specified by its template. A variable template must not contain other + variables. If a variable matches a single path segment, its template may + be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax + `LITERAL` matches literal text in the URL path. If the `LITERAL` + contains any reserved character, such characters should be + percent-encoded before the matching. If a variable contains exactly one + path segment, such as `"{var}"` or `"{var=*}"`, when such a variable is + expanded into a URL path on the client side, all characters except + `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse + decoding. Such variables show up in the [Discovery + Document](https://developers.google.com/discovery/v1/reference/apis) as + `{var}`. If a variable contains multiple path segments, such as + `"{var=foo/*}"` or `"{var=**}"`, when such a variable is expanded into a + URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` + are percent-encoded. The server side does the reverse decoding, except + "%2F" and "%2f" are left unchanged. Such variables show up in the + [Discovery + Document](https://developers.google.com/discovery/v1/reference/apis) as + `{+var}`. Using gRPC API Service Configuration gRPC API Service + Configuration (service config) is a configuration language for + configuring a gRPC service to become a user-facing product. The service + config is simply the YAML representation of the `google.api.Service` + proto message. As an alternative to annotating your proto file, you can + configure gRPC transcoding in your service config YAML files. You do + this by specifying a `HttpRule` that maps the gRPC method to a REST + endpoint, achieving the same effect as the proto annotation. This can be + particularly useful if you have a proto that is reused in multiple + services. Note that any transcoding specified in the service config will + override any matching transcoding configuration in the proto. The + following example selects a gRPC method and applies an `HttpRule` to it: + http: rules: - selector: example.v1.Messaging.GetMessage get: + /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC + Transcoding is used to map a gRPC to JSON REST endpoints, the proto to + JSON conversion must follow the [proto3 + specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + While the single segment variable follows the semantics of [RFC + 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + Expansion, the multi segment variable **does not** follow RFC 6570 + Section 3.2.3 Reserved Expansion. The reason is that the Reserved + Expansion does not expand special characters like `?` and `#`, which + would lead to invalid URLs. As the result, gRPC Transcoding uses a + custom encoding for multi segment variables. The path variables **must + not** refer to any repeated or mapped field, because client libraries + are not capable of handling such variable expansion. The path variables + **must not** capture the leading "/" character. The reason is that the + most common use case "{var}" does not capture the leading "/" character. + For consistency, all path variables must share the same behavior. + Repeated message fields must not be mapped to URL query parameters, + because no client library can support such complicated mapping. If an + API needs to use a JSON array for request or response body, it can map + the request or response body to a repeated field. However, some gRPC + Transcoding implementations may not support this feature. + ServiceIdentity: type: object properties: - limits: - description: List of QuotaLimit definitions for the service. - items: - $ref: '#/components/schemas/QuotaLimit' - type: array - metricRules: + email: description: >- - List of MetricRule definitions, each one mapping a selected method - to one or more metrics. - type: array - items: - $ref: '#/components/schemas/MetricRule' - description: >- - 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 - AuthProvider: - properties: - issuer: + The email address of the service account that a service producer + would use to access consumer resources. type: string + uniqueId: description: >- - Identifies the principal that issued the JWT. See - https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 - Usually a URL or an email address. Example: - https://securetoken.google.com Example: - 1234567-compute@developer.gserviceaccount.com - jwksUri: - description: >- - URL of the provider's public key set to validate signature of the - JWT. See [OpenID - Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). - Optional if the key set document: - can be retrieved from [OpenID - Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) - of the issuer. - can be inferred from the email domain of the issuer - (e.g. a Google service account). Example: - https://www.googleapis.com/oauth2/v1/certs - type: string - id: + The unique and stable id of the service account. + https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount type: string + description: >- + Service identity for a service. This is the identity that service + producer should use to access consumer resources. + id: ServiceIdentity + Option: + type: object + properties: + name: description: >- - The unique identifier of the auth provider. It will be referred to - by `AuthRequirement.provider_id`. Example: "bookstore_auth". - audiences: - description: >- - The list of JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. When this setting is absent, JWTs with audiences: - - "https://[service.name]/[google.protobuf.Api.name]" - - "https://[service.name]/" will be accepted. For example, if no - audiences are in the setting, LibraryService API will accept JWTs - with the following audiences: - - https://library-example.googleapis.com/google.example.library.v1.LibraryService - - https://library-example.googleapis.com/ Example: audiences: - bookstore_android.apps.googleusercontent.com, - bookstore_web.apps.googleusercontent.com + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, + `"map_entry"`. For custom options, it should be the fully-qualified + name. For example, `"google.api.http"`. type: string - jwtLocations: - type: array - description: >- - Defines the locations to extract the JWT. For now it is only used by - the Cloud Endpoints to store the OpenAPI extension - [x-google-jwt-locations] - (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) - JWT locations can be one of HTTP headers, URL query parameters or - cookies. The rule is that the first match wins. If not specified, - default to use following 3 locations: 1) Authorization: Bearer 2) - x-goog-iap-jwt-assertion 3) access_token query parameter Default - locations can be specified as followings: jwt_locations: - header: - Authorization value_prefix: "Bearer " - header: - x-goog-iap-jwt-assertion - query: access_token - items: - $ref: '#/components/schemas/JwtLocation' - authorizationUrl: + value: + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any description: >- - Redirect URL if JWT token is required but not present or is expired. - Implement authorizationUrl of securityDefinitions in OpenAPI spec. - type: string - id: AuthProvider - type: object + The option's value packed in an Any message. If the value is a + primitive, the corresponding wrapper type defined in + google/protobuf/wrappers.proto should be used. If the value is an + enum, it should be stored as an int32 value using the + google.protobuf.Int32Value type. + type: object + id: Option description: >- - Configuration for an authentication provider, including support for - [JSON Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). - Context: + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata: + properties: {} + type: object + description: Metadata for the `UpdateConsumerPolicy` method. + id: GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata + CustomError: type: object properties: rules: + description: >- + The list of custom error rules that apply to individual API + messages. **NOTE:** All service configuration rules follow "last one + wins" order. items: - $ref: '#/components/schemas/ContextRule' + $ref: '#/components/schemas/CustomErrorRule' + type: array + types: description: >- - A list of RPC context rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + The list of custom error detail types, e.g. + 'google.foo.v1.CustomError'. + items: + type: string type: array - id: Context description: >- - `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. - DocumentationRule: - type: object - id: DocumentationRule - description: A documentation rule provides information about individual API elements. + 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 + id: CustomError + Method: properties: - selector: + requestTypeUrl: + description: A URL of the input message type. type: string - description: >- - The selector is a comma-separated list of patterns for any element - such as a method, a field, an enum value. Each pattern is a - qualified name of the element which may end in "*", indicating a - wildcard. Wildcards are only allowed at the end and for a whole - component of the qualified name, i.e. "foo.*" is ok, but not - "foo.b*" or "foo.*.bar". A wildcard will match one or more - components. To specify a default for all applicable elements, the - whole pattern "*" is used. - deprecationDescription: + responseTypeUrl: type: string - description: >- - Deprecation description of the selected element(s). It can be - provided if an element is marked as `deprecated`. - disableReplacementWords: - description: >- - String of comma or space separated case-sensitive words for which - method/field name replacement will be disabled by go/api-docgen. + description: The URL of the output message type. + name: + description: The simple name of this method. type: string - description: + requestStreaming: + type: boolean + description: If true, the request is streamed. + options: + items: + $ref: '#/components/schemas/Option' + description: Any metadata attached to the method. + type: array + responseStreaming: + description: If true, the response is streamed. + type: boolean + syntax: type: string - description: >- - Description of the selected proto element (e.g. a message, a method, - a 'service' definition, or a field). Defaults to leading & trailing - comments taken from the proto source definition of the proto - element. - MetricDescriptor: - id: MetricDescriptor + description: The source syntax of this method. + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + description: Method represents a method of an API interface. + id: Method + type: object + AddEnableRulesResponse: + type: object properties: - monitoredResourceTypes: - type: array + parent: + type: string description: >- - 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. + The parent consumer policy. It can be + `projects/12345/consumerPolicies/default`, or + `folders/12345/consumerPolicies/default`, or + `organizations/12345/consumerPolicies/default`. + addedValues: items: type: string - metadata: - $ref: '#/components/schemas/MetricDescriptorMetadata' - description: Optional. Metadata which can be used to guide usage of the metric. - labels: - description: >- - The set of labels that can be used to describe a specific instance - of this metric type. For example, the - `appengine.googleapis.com/http/server/response_latencies` metric - type has a label for the HTTP response code, `response_code`, so you - can look at latencies for successful responses or just for responses - that failed. type: array - items: - $ref: '#/components/schemas/LabelDescriptor' - valueType: - enumDescriptions: - - Do not use this default value. - - >- - The value is a boolean. This value type can be used only if the - metric kind is `GAUGE`. - - The value is a signed 64-bit integer. - - The value is a double precision floating point number. - - >- - The value is a text string. This value type can be used only if - the metric kind is `GAUGE`. - - The value is a `Distribution`. - - The value is money. - enum: - - VALUE_TYPE_UNSPECIFIED - - BOOL - - INT64 - - DOUBLE - - STRING - - DISTRIBUTION - - MONEY + description: The values added to the parent consumer policy. + description: The response message of `AddEnableRules` method. + id: AddEnableRulesResponse + MonitoredResourceDescriptor: + properties: + description: description: >- - Whether the measurement is an integer, a floating-point number, etc. - Some combinations of `metric_kind` and `value_type` might not be - supported. + Optional. A detailed description of the monitored resource type that + might be used in documentation. + type: string + type: + description: >- + 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). + type: string + displayName: + description: >- + 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"`. + type: string + name: + description: >- + 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}"`. type: string launchStage: type: string + description: Optional. The launch stage of the monitored resource definition. + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED enumDescriptions: - Do not use this default value. - The feature is not yet implemented. Users can not use it. @@ -584,1719 +743,1631 @@ components: [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation. - description: Optional. The launch stage of the metric definition. - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - type: - type: string - description: >- - 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" - unit: - type: string + labels: + type: array description: >- - 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` dimensionless - **Prefixes (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) **Grammar** The 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"). - description: + 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"`. + items: + $ref: '#/components/schemas/LabelDescriptor' + id: MonitoredResourceDescriptor + description: >- + An object that describes the schema of a MonitoredResource object using + a type name and a set of labels. For example, the monitored resource + descriptor for Google Compute Engine VM instances has a type of + `"gce_instance"` and specifies the use of the labels `"instance_id"` and + `"zone"` to identify particular VM instances. Different APIs can support + different monitored resource types. APIs generally provide a `list` + method that returns the monitored resource descriptors used by the API. + type: object + AuthProvider: + properties: + jwksUri: description: >- - A detailed description of the metric, which can be used in - documentation. + URL of the provider's public key set to validate signature of the + JWT. See [OpenID + Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + Optional if the key set document: - can be retrieved from [OpenID + Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) + of the issuer. - can be inferred from the email domain of the issuer + (e.g. a Google service account). Example: + https://www.googleapis.com/oauth2/v1/certs type: string - metricKind: - enum: - - METRIC_KIND_UNSPECIFIED - - GAUGE - - DELTA - - CUMULATIVE + jwtLocations: description: >- - Whether the metric records instantaneous values, changes to a value, - etc. Some combinations of `metric_kind` and `value_type` might not - be supported. - enumDescriptions: - - Do not use this default value. - - An instantaneous measurement of a value. - - The change in a value during a time interval. - - >- - A value accumulated over a time interval. Cumulative measurements - in a time series should have 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. + Defines the locations to extract the JWT. For now it is only used by + the Cloud Endpoints to store the OpenAPI extension + [x-google-jwt-locations] + (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) + JWT locations can be one of HTTP headers, URL query parameters or + cookies. The rule is that the first match wins. If not specified, + default to use following 3 locations: 1) Authorization: Bearer 2) + x-goog-iap-jwt-assertion 3) access_token query parameter Default + locations can be specified as followings: jwt_locations: - header: + Authorization value_prefix: "Bearer " - header: + x-goog-iap-jwt-assertion - query: access_token + type: array + items: + $ref: '#/components/schemas/JwtLocation' + issuer: type: string - displayName: + description: >- + Identifies the principal that issued the JWT. See + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + Usually a URL or an email address. Example: + https://securetoken.google.com Example: + 1234567-compute@developer.gserviceaccount.com + id: type: string description: >- - A concise name for the metric, which can be displayed in user - interfaces. Use sentence case without an ending period, for example - "Request count". This field is optional but it is recommended to be - set for any metrics associated with user-visible concepts, such as - Quota. - name: + The unique identifier of the auth provider. It will be referred to + by `AuthRequirement.provider_id`. Example: "bookstore_auth". + audiences: + type: string + description: >- + The list of JWT + [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + that are allowed to access. A JWT containing any of these audiences + will be accepted. When this setting is absent, JWTs with audiences: + - "https://[service.name]/[google.protobuf.Api.name]" - + "https://[service.name]/" will be accepted. For example, if no + audiences are in the setting, LibraryService API will accept JWTs + with the following audiences: - + https://library-example.googleapis.com/google.example.library.v1.LibraryService + - https://library-example.googleapis.com/ Example: audiences: + bookstore_android.apps.googleusercontent.com, + bookstore_web.apps.googleusercontent.com + authorizationUrl: + description: >- + Redirect URL if JWT token is required but not present or is expired. + Implement authorizationUrl of securityDefinitions in OpenAPI spec. type: string - description: The resource name of the metric descriptor. type: object description: >- - 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. - UpdateConsumerPolicyMetadata: + Configuration for an authentication provider, including support for + [JSON Web Token + (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + id: AuthProvider + BatchCreateAdminOverridesResponse: + description: Response message for BatchCreateAdminOverrides + id: BatchCreateAdminOverridesResponse + properties: + overrides: + description: The overrides that were created. + type: array + items: + $ref: '#/components/schemas/QuotaOverride' type: object - id: UpdateConsumerPolicyMetadata - properties: {} - description: Metadata for the `UpdateConsumerPolicy` method. - EnumValue: - id: EnumValue + GetServiceIdentityResponse: type: object - description: Enum value definition. properties: - number: - type: integer - description: Enum value number. - format: int32 - name: + identity: + description: >- + Service identity that service producer can use to access consumer + resources. If exists is true, it contains email and unique_id. If + exists is false, it contains pre-constructed email and empty + unique_id. + $ref: '#/components/schemas/ServiceIdentity' + state: + enum: + - IDENTITY_STATE_UNSPECIFIED + - ACTIVE + description: Service identity state. type: string - description: Enum value name. - options: - description: Protocol buffer options. - items: - $ref: '#/components/schemas/Option' - type: array - Backend: + enumDescriptions: + - >- + Default service identity state. This value is used if the state is + omitted. + - Service identity has been created and can be used. + id: GetServiceIdentityResponse + description: Response message for getting service identity. + MonitoringDestination: properties: - rules: + metrics: items: - $ref: '#/components/schemas/BackendRule' - description: >- - A list of API backend rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + type: string type: array - description: '`Backend` defines the backend configuration for a service.' - id: Backend - type: object - JwtLocation: - properties: - valuePrefix: description: >- - The value prefix. The value format is "value_prefix{token}" Only - applies to "in" header type. Must be empty for "in" query type. If - not empty, the header value has to match (case sensitive) this - prefix. If not matched, JWT will not be extracted. If matched, JWT - will be extracted after the prefix is removed. For example, for - "Authorization: Bearer {JWT}", value_prefix="Bearer " with a space - at the end. - type: string - header: - type: string - description: Specifies HTTP header name to extract JWT token. - cookie: - type: string - description: Specifies cookie name to extract JWT token. - query: + Types of the metrics to report to this monitoring destination. Each + type must be defined in Service.metrics section. + monitoredResource: type: string - description: Specifies URL query parameter name to extract JWT token. - id: JwtLocation - description: Specifies a location to extract JWT from an API request. - type: object - AddEnableRulesMetadata: + description: >- + The monitored resource type. The type must be defined in + Service.monitored_resources section. type: object - id: AddEnableRulesMetadata - description: Metadata for the `AddEnableRules` method. - properties: {} - ServiceIdentity: description: >- - Service identity for a service. This is the identity that service - producer should use to access consumer resources. + Configuration of a specific monitoring destination (the producer project + or the consumer project). + id: MonitoringDestination + Quota: + id: Quota type: object - id: ServiceIdentity properties: - email: - description: >- - The email address of the service account that a service producer - would use to access consumer resources. - type: string - uniqueId: - type: string + metricRules: + type: array + items: + $ref: '#/components/schemas/MetricRule' description: >- - The unique and stable id of the service account. - https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount - GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata: - type: object - description: Metadata for the `UpdateConsumerPolicy` method. - properties: {} - id: GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata - FieldPolicy: - type: object + List of MetricRule definitions, each one mapping a selected method + to one or more metrics. + limits: + items: + $ref: '#/components/schemas/QuotaLimit' + type: array + description: List of QuotaLimit definitions for the service. description: >- - Google API Policy Annotation This message defines a simple API policy - annotation that can be used to annotate API request and response message - fields with applicable policies. One field may have multiple applicable - policies that must all be satisfied before a request can be processed. - This policy annotation is used to generate the overall policy that will - be used for automatic runtime policy enforcement and documentation - generation. + 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 + SystemParameter: properties: - selector: - description: >- - Selects one or more request or response message fields to apply this - `FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the - selector must be left as empty. The service config generator will - automatically fill the correct value. When a `FieldPolicy` is used - in service config, the selector must be a comma-separated string - with valid request or response field paths, such as "foo.bar" or - "foo.bar,foo.baz". - type: string - resourcePermission: - type: string - description: >- - Specifies the required permission(s) for the resource referred to by - the field. It requires the field contains a valid resource - reference, and the request must pass the permission checks to - proceed. For example, "resourcemanager.projects.get". - resourceType: + name: type: string description: >- - Specifies the resource type for the resource referred to by the - field. - id: FieldPolicy - MethodPolicy: - properties: - requestPolicies: - items: - $ref: '#/components/schemas/FieldPolicy' - description: Policies that are applicable to the request message. - type: array - selector: + Define the name of the parameter, such as "api_key" . It is case + sensitive. + urlQueryParameter: description: >- - Selects a method to which these policies should be enforced, for - example, "google.pubsub.v1.Subscriber.CreateSubscription". Refer to - selector for syntax details. NOTE: This field must not be set in the - proto annotation. It will be automatically filled by the service - config compiler . + Define the URL query parameter name to use for the parameter. It is + case sensitive. type: string - type: object - description: Defines policies applying to an RPC method. - id: MethodPolicy - ImportAdminOverridesMetadata: - id: ImportAdminOverridesMetadata - type: object - description: >- - Metadata message that provides information such as progress, partial - failures, and similar information on each GetOperation call of LRO - returned by ImportAdminOverrides. - properties: {} - ContextRule: + httpHeader: + description: >- + Define the HTTP header name to use for the parameter. It is case + insensitive. + type: string + type: object + id: SystemParameter description: >- - A context rule provides information about the context for an individual - API element. - id: ContextRule + Define a parameter's name and location. The parameter may be passed as + either an HTTP header or a URL query parameter, and if both are passed + the behavior is implementation-dependent. + BatchEnableServicesRequest: type: object properties: - allowedResponseExtensions: - type: array + serviceIds: description: >- - A list of full type names or extension IDs of extensions allowed in - grpc side channel from backend to client. + The identifiers of the services to enable on the project. A valid + identifier would be: serviceusage.googleapis.com Enabling services + requires that each service is public or is shared with the user + enabling the service. A single request can enable a maximum of 20 + services at a time. If more than 20 services are specified, the + request will fail, and no state changes will occur. items: type: string - allowedRequestExtensions: - description: >- - A list of full type names or extension IDs of extensions allowed in - grpc side channel from client to backend. type: array + id: BatchEnableServicesRequest + description: Request message for the `BatchEnableServices` method. + CreateAdminQuotaPolicyMetadata: + properties: {} + id: CreateAdminQuotaPolicyMetadata + description: >- + Metadata message that provides information such as progress, partial + failures, and similar information on each GetOperation call of LRO + returned by CreateAdminQuotaPolicy. + type: object + Backend: + description: '`Backend` defines the backend configuration for a service.' + id: Backend + properties: + rules: items: - type: string - requested: - description: >- - A list of full type names of requested contexts, only the requested - context will be made available to the backend. - items: - type: string + $ref: '#/components/schemas/BackendRule' type: array - selector: - type: string - description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - provided: description: >- - A list of full type names of provided contexts. It is used to - support propagating HTTP headers and ETags from the response - extension. - type: array - items: - type: string - SourceContext: - description: >- - `SourceContext` represents information about the source of a protobuf - element, like the file in which it is defined. + A list of API backend rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. type: object + SourceContext: properties: fileName: + type: string description: >- The path-qualified name of the .proto file that contained the associated protobuf element. For example: `"google/protobuf/source_context.proto"`. - type: string id: SourceContext - GoogleApiServiceusageV1Service: - description: A service that is available for use by the consumer. + type: object + description: >- + `SourceContext` represents information about the source of a protobuf + element, like the file in which it is defined. + GoogleApiServiceusageV2betaAnalysis: + description: A message to group the analysis information. properties: - name: + displayName: + description: >- + Output only. The user friendly display name of the analysis type. + E.g. service dependency analysis, service resource usage analysis, + etc. + type: string + readOnly: true + service: type: string description: >- - The resource name of the consumer and service. A valid name would - be: - projects/123/services/serviceusage.googleapis.com - state: - enum: - - STATE_UNSPECIFIED - - DISABLED - - ENABLED - description: Whether or not the service has been enabled for use by the consumer. + The names of the service that has analysis result of warnings or + blockers. Example: `services/storage.googleapis.com`. + analysisType: + description: Output only. The type of analysis. type: string + enum: + - ANALYSIS_TYPE_UNSPECIFIED + - ANALYSIS_TYPE_DEPENDENCY + - ANALYSIS_TYPE_RESOURCE_USAGE + readOnly: true enumDescriptions: - - >- - The default value, which indicates that the enabled state of the - service is unspecified or not meaningful. Currently, all consumers - other than projects (such as folders and organizations) are always - in this state. - - >- - The service cannot be used by this consumer. It has either been - explicitly disabled, or has never been enabled. - - The service has been explicitly enabled for use by this consumer. - config: - $ref: '#/components/schemas/GoogleApiServiceusageV1ServiceConfig' + - Unspecified analysis type. Do not use. + - The analysis of service dependencies. + - The analysis of service resource usage. + analysis: + description: Output only. Analysis result of updating a policy. + readOnly: true + $ref: '#/components/schemas/GoogleApiServiceusageV2betaAnalysisResult' + id: GoogleApiServiceusageV2betaAnalysis + type: object + MethodSettings: + properties: + autoPopulatedFields: description: >- - The service configuration of the available service. Some fields may - be filtered out of the configuration in responses to the - `ListServices` method. These fields are present only in responses to - the `GetService` method. - parent: + List of top-level fields of the request message, that should be + automatically populated by the client libraries based on their + (google.api.field_info).format. Currently supported format: UUID4. + Example of a YAML configuration: publishing: method_settings: - + selector: google.example.v1.ExampleService.CreateExample + auto_populated_fields: - request_id + type: array + items: + type: string + longRunning: + $ref: '#/components/schemas/LongRunning' description: >- - The resource name of the consumer. A valid name would be: - - projects/123 + Describes settings to use for long-running operations when + generating API methods for RPCs. Complements RPCs that use the + annotations in google/longrunning/operations.proto. Example of a + YAML configuration:: publishing: method_settings: - selector: + google.cloud.speech.v2.Speech.BatchRecognize long_running: + initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 + max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 + minutes + selector: + description: >- + The fully qualified name of the method, for which the options below + apply. This is used to find the method to apply the options. + Example: publishing: method_settings: - selector: + google.storage.control.v2.StorageControl.CreateFolder # method + settings for CreateFolder... type: string - id: GoogleApiServiceusageV1Service type: object - Api: + id: MethodSettings + description: Describes the generator configuration for a method. + CppSettings: type: object - id: Api + description: Settings for C++ client libraries. properties: - syntax: - description: The source syntax of the service. - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. + id: CppSettings + Documentation: + properties: + overview: + type: string + description: >- + Declares a single overview page. For example: documentation: + summary: ... overview: (== include overview.md ==) This is a + shortcut for the following declaration (using pages style): + documentation: summary: ... pages: - name: Overview content: (== + include overview.md ==) Note: you cannot specify both `overview` + field and `pages` field. + documentationRootUrl: + description: The URL to the root of documentation. + type: string + serviceRootUrl: + description: >- + Specifies the service root url if the default one (the service name + from the yaml file) is not suitable. This can be seen in any fully + specified service urls as well as sections that show a base that + other urls are relative to. + type: string + pages: + type: array + items: + $ref: '#/components/schemas/Page' + description: The top level pages for the documentation set. + summary: + type: string + description: >- + A short description of what the service does. The summary must be + plain text. It becomes the overview of the service displayed in + Google Cloud Console. NOTE: This field is equivalent to the standard + field `description`. + sectionOverrides: + description: >- + Specifies section and content to override boilerplate content + provided by go/api-docgen. Currently overrides following sections: + 1. rest.service.client_libraries + type: array + items: + $ref: '#/components/schemas/Page' + rules: + items: + $ref: '#/components/schemas/DocumentationRule' + description: >- + A list of documentation rules that apply to individual API elements. + **NOTE:** All service configuration rules follow "last one wins" + order. + type: array + type: object + id: Documentation + description: >- + `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. + Usage: + description: Configuration controlling usage of a service. + properties: + producerNotificationChannel: + description: >- + The full resource name of a channel used for sending notifications + to the service producer. Google Service Management currently only + supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as + a notification channel. To use Google Cloud Pub/Sub as the channel, + this must be the name of a Cloud Pub/Sub topic that uses the Cloud + Pub/Sub topic name format documented in + https://cloud.google.com/pubsub/docs/overview. type: string - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - sourceContext: - $ref: '#/components/schemas/SourceContext' + requirements: description: >- - Source context for the protocol buffer service represented by this - message. - options: - items: - $ref: '#/components/schemas/Option' + Requirements that must be satisfied before a consumer project can + use the service. Each requirement is of the form /; for example + 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a + Terms of Service requirement must be included here. Google Cloud + APIs must include "serviceusage.googleapis.com/tos/cloud". Other + Google APIs should include + "serviceusage.googleapis.com/tos/universal". Additional ToS can be + included based on the business needs. type: array - description: Any metadata attached to the interface. - methods: items: - $ref: '#/components/schemas/Method' + type: string + rules: type: array - description: The methods of this interface, in unspecified order. - name: - type: string - description: >- - The fully qualified name of this interface, including package name - followed by the interface's simple name. - version: - description: >- - A version string for this interface. If specified, must have the - form `major-version.minor-version`, as in `1.10`. If the minor - version is omitted, it defaults to zero. If the entire version field - is empty, the major version is derived from the package name, as - outlined below. If the field is not empty, the version in the - package name will be verified to be consistent with what is provided - here. The versioning schema uses [semantic - versioning](http://semver.org) where the major version number - indicates a breaking change and the minor version an additive, - non-breaking change. Both version numbers are signals to users what - to expect from different versions, and should be carefully chosen - based on the product plan. The major version is also reflected in - the package name of the interface, which must end in `v`, as in - `google.feature.v1`. For major versions 0 and 1, the suffix can be - omitted. Zero major versions must only be used for experimental, - non-GA interfaces. - type: string - mixins: - description: Included interfaces. See Mixin. items: - $ref: '#/components/schemas/Mixin' - type: array - description: >- - Api is a light-weight descriptor for an API Interface. Interfaces are - also described as "protocol buffer services" in some contexts, such as - by the "service" keyword in a .proto file, but they are different from - API Services, which represent a concrete implementation of an interface - as opposed to simply a description of methods and bindings. They are - also sometimes simply referred to as "APIs" in other contexts, such as - the name of this message itself. See - https://cloud.google.com/apis/design/glossary for detailed terminology. - GetServiceIdentityMetadata: - id: GetServiceIdentityMetadata - description: Metadata for the `GetServiceIdentity` method. - properties: {} + $ref: '#/components/schemas/UsageRule' + description: >- + A list of usage rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. + id: Usage type: object BillingDestination: - description: >- - Configuration of a specific billing destination (Currently only support - bill against consumer project). - id: BillingDestination - type: object properties: - monitoredResource: - description: >- - The monitored resource type. The type must be defined in - Service.monitored_resources section. - type: string metrics: + items: + type: string type: array description: >- Names of the metrics to report to this billing destination. Each name must be defined in Service.metrics section. - items: - type: string - ImportConsumerOverridesResponse: - id: ImportConsumerOverridesResponse + monitoredResource: + description: >- + The monitored resource type. The type must be defined in + Service.monitored_resources section. + type: string + id: BillingDestination type: object - properties: - overrides: - description: The overrides that were created from the imported data. - items: - $ref: '#/components/schemas/QuotaOverride' - type: array - description: Response message for ImportConsumerOverrides - Operation: description: >- - This resource represents a long-running operation that is the result of - a network API call. + Configuration of a specific billing destination (Currently only support + bill against consumer project). + Field: properties: - metadata: - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - description: >- - 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. - type: object - done: - description: >- - 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. - type: boolean + number: + description: The field number. + format: int32 + type: integer + options: + type: array + description: The protocol buffer options. + items: + $ref: '#/components/schemas/Option' name: + description: The field name. type: string + typeUrl: description: >- - 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}`. - error: - $ref: '#/components/schemas/Status' + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + type: string + jsonName: + description: The field JSON name. + type: string + defaultValue: + type: string description: >- - The error result of the operation in case of failure or - cancellation. - response: - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. + The string value of the default value of this field. Proto2 syntax + only. + oneofIndex: + type: integer description: >- - 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`. - type: object - id: Operation - DisableServiceRequest: - properties: - disableDependentServices: + The index of the field type in `Type.oneofs`, for message or + enumeration types. The first type has index 1; zero means the type + is not in the list. + format: int32 + packed: + description: Whether to use alternative packed wire representation. type: boolean - description: >- - Indicates if services that are enabled and which depend on this - service should also be disabled. If not set, an error will be - generated if any enabled services depend on the service to be - disabled. When set, the service, and any enabled services that - depend on it, will be disabled together. - checkIfServiceHasUsage: + kind: + enum: + - TYPE_UNKNOWN + - TYPE_DOUBLE + - TYPE_FLOAT + - TYPE_INT64 + - TYPE_UINT64 + - TYPE_INT32 + - TYPE_FIXED64 + - TYPE_FIXED32 + - TYPE_BOOL + - TYPE_STRING + - TYPE_GROUP + - TYPE_MESSAGE + - TYPE_BYTES + - TYPE_UINT32 + - TYPE_ENUM + - TYPE_SFIXED32 + - TYPE_SFIXED64 + - TYPE_SINT32 + - TYPE_SINT64 + type: string + description: The field type. enumDescriptions: - - When unset, the default behavior is used, which is SKIP. - - If set, skip checking service usage when disabling a service. - - >- - If set, service usage is checked when disabling the service. If a - service, or its dependents, has usage in the last 30 days, the - request returns a FAILED_PRECONDITION error. - description: >- - Defines the behavior for checking service usage when disabling a - service. + - Field type unknown. + - Field type double. + - Field type float. + - Field type int64. + - Field type uint64. + - Field type int32. + - Field type fixed64. + - Field type fixed32. + - Field type bool. + - Field type string. + - Field type group. Proto2 syntax only, and deprecated. + - Field type message. + - Field type bytes. + - Field type uint32. + - Field type enum. + - Field type sfixed32. + - Field type sfixed64. + - Field type sint32. + - Field type sint64. + cardinality: + enum: + - CARDINALITY_UNKNOWN + - CARDINALITY_OPTIONAL + - CARDINALITY_REQUIRED + - CARDINALITY_REPEATED + description: The field cardinality. + enumDescriptions: + - For fields with unknown cardinality. + - For optional fields. + - For required fields. Proto2 syntax only. + - For repeated fields. type: string - enum: - - CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED - - SKIP - - CHECK - id: DisableServiceRequest - description: Request message for the `DisableService` method. + id: Field + description: A single field of a message type. + type: object + GoogleApiServiceusageV2alphaEnableRule: + id: GoogleApiServiceusageV2alphaEnableRule + description: >- + The consumer policy rule that defines enabled services, groups, and + categories. type: object - DotnetSettings: properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' - renamedResources: - type: object - description: >- - Map from full resource types to the effective short name for the - resource. This is used when otherwise resource named from different - services would cause naming collisions. Example entry: - "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" - additionalProperties: - type: string - ignoredResources: - description: >- - List of full resource types to ignore during generation. This is - typically used for API-specific Location resources, which should be - handled by the generator as if they were actually the common - Location resources. Example entry: - "documentai.googleapis.com/Location" + services: items: type: string - type: array - handwrittenSignatures: description: >- - Method signatures (in the form "service.method(signature)") which - are provided separately, so shouldn't be generated. Snippets - *calling* these methods are still generated, however. + The names of the services that are enabled. Example: + `services/storage.googleapis.com`. + type: array + EnableRule: + properties: + values: items: type: string type: array - renamedServices: - additionalProperties: - type: string description: >- - Map from original service names to renamed versions. This is used - when the default generated types would cause a naming conflict. - (Neither name is fully-qualified.) Example: Subscriber to - SubscriberServiceApi. - type: object - forcedNamespaceAliases: + The names of the services or service groups that are enabled. + Example: `services/storage.googleapis.com`, `groups/googleServices`, + `groups/allServices`. + groups: items: type: string description: >- - Namespaces which must be aliased in snippets due to a known (but - non-generator-predictable) naming collision + DEPRECATED: Please use field `values`. Service group should have + prefix `groups/`. The names of the service groups that are enabled + (Not Implemented). Example: `groups/googleServices`. + deprecated: true type: array - id: DotnetSettings - type: object - description: Settings for Dotnet client libraries. - QuotaLimit: - properties: - metric: - type: string - description: >- - The name of the metric this quota limit applies to. The quota limits - with the same metric will be checked together during runtime. The - metric must be defined within the service config. - defaultLimit: - type: string - description: >- - Default number of tokens that can be consumed during the specified - duration. This is the number of tokens assigned when a client - application developer activates the service for his/her project. - Specifying a value of 0 will block all requests. This can be used if - you are provisioning quota to selected consumers and blocking - others. Similarly, a value of -1 will indicate an unlimited quota. - No other negative values are allowed. Used by group-based quotas - only. - format: int64 - displayName: - type: string - description: >- - User-visible display name for this limit. Optional. If not set, the - UI will provide a default display name based on the quota - configuration. This field can be used to override the default - display name generated from the configuration. - name: - type: string - description: >- - Name of the quota limit. The name must be provided, and it must be - unique within the service. The name can only include alphanumeric - characters as well as '-'. The maximum length of the limit name is - 64 characters. - maxLimit: - description: >- - Maximum number of tokens that can be consumed during the specified - duration. Client application developers can override the default - limit up to this maximum. If specified, this value cannot be set to - a value less than the default limit. If not specified, it is set to - the default limit. To allow clients to apply overrides with no upper - bound, set this to -1, indicating unlimited maximum quota. Used by - group-based quotas only. - format: int64 - type: string - values: - additionalProperties: - format: int64 + services: + deprecated: true + type: array + items: type: string - type: object description: >- - Tiered limit values. You must specify this as a key:value pair, with - an integer value that is the maximum number of requests allowed for - the specified unit. Currently only STANDARD is supported. - unit: - type: string - description: >- - Specify the unit of the quota limit. It uses the same syntax as - Metric.unit. The supported unit kinds are determined by the quota - backend system. Here are some examples: * "1/min/{project}" for - quota per minute per project. Note: the order of unit components is - insignificant. The "1" at the beginning is required to follow the - metric unit syntax. - description: - type: string - description: >- - Optional. User-visible, extended description for this quota limit. - Should be used only when more context is needed to understand this - limit than provided by the limit's display name (see: - `display_name`). - freeTier: - type: string - description: >- - Free tier value displayed in the Developers Console for this limit. - The free tier is the number of tokens that will be subtracted from - the billed amount when billing is enabled. This field can only be - set on a limit with duration "1d", in a billable group; it is - invalid on any other limit. If this field is not set, it defaults to - 0, indicating that there is no free tier for this service. Used by - group-based quotas only. - format: int64 - duration: - description: >- - Duration of this limit in textual notation. Must be "100s" or "1d". - Used by group-based quotas only. + DEPRECATED: Please use field `values`. Service should have prefix + `services/`. The names of the services that are enabled. Example: + `storage.googleapis.com`. + enableType: + description: Client and resource project enable type. + enumDescriptions: + - >- + Unspecified enable type, which means enabled as both client and + resource project. + - >- + Enable all clients under the CRM node specified by + `ConsumerPolicy.name` to use the listed services. A client can be + an API key, an OAuth client, or a service account. + - >- + Enable resources in the list services to be created and used under + the CRM node specified by the `ConsumerPolicy.name`. + - >- + Activation made by Service Usage v1 API. This will be how + consumers differentiate between policy changes made by v1 and v2 + clients and understand what is actually possible based on those + different policies. type: string - id: QuotaLimit - type: object - description: >- - `QuotaLimit` defines a specific limit that applies over a specified - duration for a limit type. There can be at most one limit for a duration - and limit type combination defined within a `QuotaGroup`. - Option: - id: Option + enum: + - ENABLE_TYPE_UNSPECIFIED + - CLIENT + - RESOURCE + - V1_COMPATIBLE type: object description: >- - A protocol buffer option, which can be attached to a message, field, - enumeration, etc. - properties: - name: - description: >- - The option's name. For protobuf built-in options (options defined in - descriptor.proto), this is the short name. For example, - `"map_entry"`. For custom options, it should be the fully-qualified - name. For example, `"google.api.http"`. - type: string - value: - type: object - description: >- - The option's value packed in an Any message. If the value is a - primitive, the corresponding wrapper type defined in - google/protobuf/wrappers.proto should be used. If the value is an - enum, it should be stored as an int32 value using the - google.protobuf.Int32Value type. - additionalProperties: - description: Properties of the object. Contains field @type with type URL. - type: any - LogDescriptor: - id: LogDescriptor - description: >- - A description of a log type. Example in YAML format: - name: - library.googleapis.com/activity_history description: The history of - borrowing and returning library items. display_name: Activity labels: - - key: /customer_id description: Identifier of a library customer - type: object + The consumer policy rule that defines usable services and service + groups. + id: EnableRule + DotnetSettings: + description: Settings for Dotnet client libraries. properties: - description: + handwrittenSignatures: description: >- - A human-readable description of this log. This information appears - in the documentation and can contain details. - type: string - labels: + Method signatures (in the form "service.method(signature)") which + are provided separately, so shouldn't be generated. Snippets + *calling* these methods are still generated, however. items: - $ref: '#/components/schemas/LabelDescriptor' + type: string type: array + ignoredResources: description: >- - The set of labels that are available to describe a specific log - entry. Runtime requests that contain labels not specified here are - considered invalid. - displayName: - type: string + List of full resource types to ignore during generation. This is + typically used for API-specific Location resources, which should be + handled by the generator as if they were actually the common + Location resources. Example entry: + "documentai.googleapis.com/Location" + type: array + items: + type: string + renamedServices: + additionalProperties: + type: string + type: object description: >- - The human-readable name for this log. This information appears on - the user interface and should be concise. - name: - type: string + Map from original service names to renamed versions. This is used + when the default generated types would cause a naming conflict. + (Neither name is fully-qualified.) Example: Subscriber to + SubscriberServiceApi. + renamedResources: + type: object description: >- - The name of the log. It must be less than 512 characters long and - can include the following characters: upper- and lower-case - alphanumeric characters [A-Za-z0-9], and punctuation characters - including slash, underscore, hyphen, period [/_-.]. - OAuthRequirements: - id: OAuthRequirements - properties: - canonicalScopes: - type: string + Map from full resource types to the effective short name for the + resource. This is used when otherwise resource named from different + services would cause naming collisions. Example entry: + "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" + additionalProperties: + type: string + forcedNamespaceAliases: + items: + type: string description: >- - The list of publicly documented OAuth scopes that are allowed - access. An OAuth token containing any of these scopes will be - accepted. Example: canonical_scopes: - https://www.googleapis.com/auth/calendar, - https://www.googleapis.com/auth/calendar.read + Namespaces which must be aliased in snippets due to a known (but + non-generator-predictable) naming collision + type: array + common: + $ref: '#/components/schemas/CommonLanguageSettings' + description: Some settings. type: object - description: >- - OAuth scopes are a way to define data and permissions on data. For - example, there are scopes defined for "Read-only access to Google - Calendar" and "Access to Cloud Platform". Users can consent to a scope - for an application, giving it permission to access that data on their - behalf. OAuth scope specifications should be fairly coarse grained; a - user will need to see and understand the text description of what your - scope means. In most cases: use one or at most two OAuth scopes for an - entire family of products. If your product has multiple APIs, you should - probably be sharing the OAuth scope across all of those APIs. When you - need finer grained OAuth consent screens: talk with your product - management about how developers will use them in practice. Please note - that even though each of the canonical scopes is enough for a request to - be accepted and passed to the backend, a request can still fail due to - the backend requiring additional scopes or permissions. - Billing: + id: DotnetSettings + UpdateConsumerPolicyMetadata: type: object - id: Billing + description: Metadata for the `UpdateConsumerPolicy` method. + properties: {} + id: UpdateConsumerPolicyMetadata + AnalysisResult: + type: object + description: An analysis result including blockers and warnings. properties: - consumerDestinations: + warnings: + type: array + items: + $ref: '#/components/schemas/Impact' description: >- - Billing configurations for sending metrics to the consumer project. - There can be multiple consumer destinations per service, each one - must have a different monitored resource type. A metric can be used - in at most one consumer destination. + Warning information indicating that the policy changes might be + unsafe, but will not block the changes at runtime. + blockers: + description: >- + Blocking information that would prevent the policy changes at + runtime. items: - $ref: '#/components/schemas/BillingDestination' + $ref: '#/components/schemas/Impact' type: array - description: >- - 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 - UpdateAdminQuotaPolicyMetadata: - properties: {} - type: object - id: UpdateAdminQuotaPolicyMetadata - description: >- - Metadata message that provides information such as progress, partial - failures, and similar information on each GetOperation call of LRO - returned by UpdateAdminQuotaPolicy. - ImportConsumerOverridesMetadata: + id: AnalysisResult + CancelOperationRequest: properties: {} + description: The request message for Operations.CancelOperation. + id: CancelOperationRequest type: object - id: ImportConsumerOverridesMetadata + ImportAdminOverridesMetadata: description: >- Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO - returned by ImportConsumerOverrides. - Type: + returned by ImportAdminOverrides. type: object - description: A protocol buffer message type. + id: ImportAdminOverridesMetadata + properties: {} + GoogleApiServiceusageV1beta1GetServiceIdentityResponse: + id: GoogleApiServiceusageV1beta1GetServiceIdentityResponse properties: - syntax: - type: string - description: The source syntax. - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - edition: - type: string + identity: + $ref: '#/components/schemas/GoogleApiServiceusageV1beta1ServiceIdentity' description: >- - The source edition string, only valid when syntax is - SYNTAX_EDITIONS. - fields: - items: - $ref: '#/components/schemas/Field' - type: array - description: The list of fields. - oneofs: - type: array - items: - type: string - description: The list of types appearing in `oneof` definitions in this type. - options: - type: array - items: - $ref: '#/components/schemas/Option' - description: The protocol buffer options. - sourceContext: - description: The source context. - $ref: '#/components/schemas/SourceContext' - name: - description: The fully qualified message name. - type: string - id: Type - CustomHttpPattern: - properties: - path: - description: The path matched by this custom verb. - type: string - kind: - description: The name of this custom HTTP verb. + Service identity that service producer can use to access consumer + resources. If exists is true, it contains email and unique_id. If + exists is false, it contains pre-constructed email and empty + unique_id. + state: + enumDescriptions: + - >- + Default service identity state. This value is used if the state is + omitted. + - Service identity has been created and can be used. + description: Service identity state. type: string - description: A custom pattern is used for defining custom HTTP verb. + enum: + - IDENTITY_STATE_UNSPECIFIED + - ACTIVE type: object - id: CustomHttpPattern - EnableFailure: + description: Response message for getting service identity. + MetricRule: + description: >- + Bind API methods to metrics. Binding a method to a metric causes that + metric's configured quota behaviors to apply to the method call. properties: - errorMessage: - description: An error message describing why the service could not be enabled. - type: string - serviceId: + metricCosts: + description: >- + Metrics to update when the selected methods are called, and the + associated cost applied to each metric. The key of the map is the + metric name, and the values are the amount increased for the metric + against which the quota limits are defined. The value must not be + negative. + additionalProperties: + type: string + format: int64 + type: object + selector: + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. type: string - description: The service id of a service that could not be enabled. - description: Provides error messages for the failing services. - type: object - id: EnableFailure - RemoveEnableRulesMetadata: - properties: {} - id: RemoveEnableRulesMetadata type: object - description: Metadata for the `RemoveEnableRules` method. + id: MetricRule GoSettings: description: Settings for Go client libraries. - type: object id: GoSettings properties: common: $ref: '#/components/schemas/CommonLanguageSettings' description: Some settings. - GetServiceIdentityResponse: + type: object + Analysis: + properties: + displayName: + readOnly: true + type: string + description: >- + Output only. The user friendly display name of the analysis type. + E.g. service dependency analysis, service resource usage analysis, + etc. + analysisType: + description: Output only. The type of analysis. + enum: + - ANALYSIS_TYPE_UNSPECIFIED + - ANALYSIS_TYPE_DEPENDENCY + - ANALYSIS_TYPE_RESOURCE_USAGE + readOnly: true + enumDescriptions: + - Unspecified analysis type. Do not use. + - The analysis of service dependencies. + - The analysis of service resource usage. + type: string + analysis: + $ref: '#/components/schemas/AnalysisResult' + readOnly: true + description: Output only. Analysis result of updating a policy. + service: + description: >- + The names of the service that has analysis result of warnings or + blockers. Example: `services/storage.googleapis.com`. + type: string + description: A message to group the analysis information. + type: object + id: Analysis + Type: + id: Type + description: A protocol buffer message type. properties: - state: + name: + type: string + description: The fully qualified message name. + options: + items: + $ref: '#/components/schemas/Option' + description: The protocol buffer options. + type: array + fields: + type: array + items: + $ref: '#/components/schemas/Field' + description: The list of fields. + edition: type: string + description: >- + The source edition string, only valid when syntax is + SYNTAX_EDITIONS. + sourceContext: + description: The source context. + $ref: '#/components/schemas/SourceContext' + oneofs: + items: + type: string + type: array + description: The list of types appearing in `oneof` definitions in this type. + syntax: enumDescriptions: - - >- - Default service identity state. This value is used if the state is - omitted. - - Service identity has been created and can be used. - description: Service identity state. + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + type: string enum: - - IDENTITY_STATE_UNSPECIFIED - - ACTIVE - identity: - $ref: '#/components/schemas/ServiceIdentity' - description: >- - Service identity that service producer can use to access consumer - resources. If exists is true, it contains email and unique_id. If - exists is false, it contains pre-constructed email and empty - unique_id. - description: Response message for getting service identity. + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + description: The source syntax. type: object - id: GetServiceIdentityResponse - ImportAdminQuotaPoliciesMetadata: - properties: {} + EnableServiceResponse: + properties: + service: + $ref: '#/components/schemas/GoogleApiServiceusageV1Service' + description: The new state of the service after enabling. description: >- - Metadata message that provides information such as progress, partial - failures, and similar information on each GetOperation call of LRO - returned by ImportAdminQuotaPolicies. - id: ImportAdminQuotaPoliciesMetadata + Response message for the `EnableService` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. + id: EnableServiceResponse + type: object + RemoveEnableRulesResponse: + description: The response message of `RemoveEnableRules` method. type: object - Usage: - id: Usage properties: - requirements: + removedValues: + description: The values removed from the parent consumer policy. + deprecated: true + type: array items: type: string + parent: + description: >- + The parent consumer policy. It can be + `projects/12345/consumerPolicies/default`, or + `folders/12345/consumerPolicies/default`, or + `organizations/12345/consumerPolicies/default`. + type: string + id: RemoveEnableRulesResponse + GoogleApiServiceusageV1ServiceConfig: + type: object + properties: + apis: + items: + $ref: '#/components/schemas/Api' type: array description: >- - Requirements that must be satisfied before a consumer project can - use the service. Each requirement is of the form /; for example - 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a - Terms of Service requirement must be included here. Google Cloud - APIs must include "serviceusage.googleapis.com/tos/cloud". Other - Google APIs should include - "serviceusage.googleapis.com/tos/universal". Additional ToS can be - included based on the business needs. - rules: + A list of API interfaces exported by this service. Contains only the + names, versions, and method names of the interfaces. + authentication: + description: Auth configuration. Contains only the OAuth rules. + $ref: '#/components/schemas/Authentication' + monitoredResources: description: >- - A list of usage rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. + Defines the monitored resources used by this service. This is + required by the Service.monitoring and Service.logging + configurations. items: - $ref: '#/components/schemas/UsageRule' + $ref: '#/components/schemas/MonitoredResourceDescriptor' type: array - producerNotificationChannel: + title: + type: string + description: The product title for this service. + monitoring: + $ref: '#/components/schemas/Monitoring' description: >- - The full resource name of a channel used for sending notifications - to the service producer. Google Service Management currently only - supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as - a notification channel. To use Google Cloud Pub/Sub as the channel, - this must be the name of a Cloud Pub/Sub topic that uses the Cloud - Pub/Sub topic name format documented in - https://cloud.google.com/pubsub/docs/overview. + Monitoring configuration. This should not include the + 'producer_destinations' field. + name: + description: >- + The DNS address at which this service is available. An example DNS + address would be: `calendar.googleapis.com`. type: string - description: Configuration controlling usage of a service. - type: object - CppSettings: + documentation: + description: >- + Additional API documentation. Contains only the summary and the + documentation URL. + $ref: '#/components/schemas/Documentation' + endpoints: + type: array + description: >- + Configuration for network endpoints. Contains only the names and + aliases of the endpoints. + items: + $ref: '#/components/schemas/Endpoint' + usage: + description: Configuration controlling usage of this service. + $ref: '#/components/schemas/Usage' + quota: + description: Quota configuration. + $ref: '#/components/schemas/Quota' + id: GoogleApiServiceusageV1ServiceConfig + description: The configuration of the service. + CustomErrorRule: + description: A custom error rule. type: object - description: Settings for C++ client libraries. - id: CppSettings properties: - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - ImportAdminQuotaPoliciesResponse: + selector: + description: >- + Selects messages to which this rule applies. Refer to selector for + syntax details. + type: string + isErrorType: + type: boolean + description: >- + Mark this message as possible payload in error response. Otherwise, + objects of this type will be filtered when they appear in error + payload. + id: CustomErrorRule + EnableServiceRequest: + properties: {} + type: object + id: EnableServiceRequest + description: Request message for the `EnableService` method. + GoogleApiServiceusageV2betaImpact: + description: A message to group impacts of updating a policy. properties: - policies: - description: The policies that were created from the imported data. - items: - $ref: '#/components/schemas/AdminQuotaPolicy' - type: array - id: ImportAdminQuotaPoliciesResponse + impactType: + enum: + - IMPACT_TYPE_UNSPECIFIED + - DEPENDENCY_MISSING_DEPENDENCIES + type: string + description: Output only. The type of impact. + readOnly: true + enumDescriptions: + - >- + Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 + Block 0 - Special/Admin codes Block 1 - Impact Type of + ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of + ANALYSIS_TYPE_RESOURCE_USAGE ... + - Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY + detail: + readOnly: true + description: Output only. User friendly impact detail in a free form message. + type: string type: object - description: Response message for ImportAdminQuotaPolicies - NodeSettings: + id: GoogleApiServiceusageV2betaImpact + OperationMetadata: + description: The operation metadata returned for the batchend services operation. type: object - id: NodeSettings - description: Settings for Node client libraries. + id: OperationMetadata properties: - common: - description: Some settings. - $ref: '#/components/schemas/CommonLanguageSettings' + resourceNames: + type: array + items: + type: string + description: >- + The full name of the resources that this operation is directly + associated with. DisableServiceResponse: + type: object id: DisableServiceResponse + properties: + service: + description: The new state of the service after disabling. + $ref: '#/components/schemas/GoogleApiServiceusageV1Service' + description: >- + Response message for the `DisableService` method. This response message + is assigned to the `response` field of the returned Operation when that + operation is done. + Http: type: object + properties: + fullyDecodeReservedExpansion: + description: >- + When set to true, URL path parameters will be fully URI-decoded + except in cases of single segment matches in reserved expansion, + where "%2F" will be left encoded. The default behavior is to not + decode RFC 6570 reserved characters in multi segment matches. + type: boolean + rules: + type: array + description: >- + A list of HTTP configuration rules that apply to individual API + methods. **NOTE:** All service configuration rules follow "last one + wins" order. + items: + $ref: '#/components/schemas/HttpRule' + description: >- + 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. + id: Http + LoggingDestination: description: >- - Response message for the `DisableService` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. + Configuration of a specific logging destination (the producer project or + the consumer project). + type: object properties: - service: - $ref: '#/components/schemas/GoogleApiServiceusageV1Service' - description: The new state of the service after disabling. - AuthRequirement: + logs: + items: + type: string + type: array + description: >- + Names of the logs to be sent to this destination. Each name must be + defined in the Service.logs section. If the log name is not a domain + scoped name, it will be automatically prefixed with the service name + followed by "/". + monitoredResource: + type: string + description: >- + The monitored resource type. The type must be defined in the + Service.monitored_resources section. + id: LoggingDestination + QuotaOverride: + description: A quota override type: object - id: AuthRequirement - description: >- - User-defined authentication requirements, including support for [JSON - Web Token - (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + id: QuotaOverride properties: - providerId: + name: + type: string description: >- - id from authentication provider. Example: provider_id: - bookstore_auth + The resource name of the override. This name is generated by the + server when the override is created. Example names would be: + `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + The resource name is intended to be opaque and should not be parsed + for its component strings, since its representation could change in + the future. + overrideValue: type: string - audiences: description: >- - NOTE: This will be deprecated soon, once AuthProvider.audiences is - implemented and accepted in all the runtime components. The list of - JWT - [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - that are allowed to access. A JWT containing any of these audiences - will be accepted. When this setting is absent, only JWTs with - audience "https://Service_name/API_name" will be accepted. For - example, if no audiences are in the setting, LibraryService API will - only accept JWTs with the following audience - "https://library-example.googleapis.com/google.example.library.v1.LibraryService". - Example: audiences: bookstore_android.apps.googleusercontent.com, - bookstore_web.apps.googleusercontent.com + The overriding quota limit value. Can be any nonnegative integer, or + -1 (unlimited quota). + format: int64 + dimensions: + additionalProperties: + type: string + description: >- + If this map is nonempty, then this override applies only to specific + values for dimensions defined in the limit unit. For example, an + override on a limit with the unit `1/{project}/{region}` could + contain an entry with the key `region` and the value `us-east-1`; + the override is only applied to quota consumed in that region. This + map has the following restrictions: * Keys that are not defined in + the limit's unit are not valid keys. Any string appearing in + `{brackets}` in the unit (besides `{project}` or `{user}`) is a + defined key. * `project` is not a valid key; the project is already + specified in the parent resource name. * `user` is not a valid key; + the API does not support quota overrides that apply only to a + specific user. * If `region` appears as a key, its value must be a + valid Cloud region. * If `zone` appears as a key, its value must be + a valid Cloud zone. * If any valid key other than `region` or `zone` + appears in the map, then all valid keys other than `region` or + `zone` must also appear in the map. + type: object + adminOverrideAncestor: + description: >- + The resource name of the ancestor that requested the override. For + example: `organizations/12345` or `folders/67890`. Used by admin + overrides only. + type: string + metric: + description: >- + The name of the metric to which this override applies. An example + name would be: `compute.googleapis.com/cpus` + type: string + unit: type: string + description: >- + The limit unit of the limit to which this override applies. An + example unit would be: `1/{project}/{region}` Note that `{project}` + and `{region}` are not placeholders in this example; the literal + characters `{` and `}` occur in the string. AnalyzeConsumerPolicyResponse: - type: object - description: The response of analyzing a consumer policy update. - id: AnalyzeConsumerPolicyResponse properties: analysis: + type: array + items: + $ref: '#/components/schemas/Analysis' description: >- The list of analyses returned from performing the intended policy update analysis. The analysis is grouped by service name and different analysis types. The empty analysis list means that the consumer policy can be updated without any warnings or blockers. - items: - $ref: '#/components/schemas/Analysis' - type: array - BatchGetServicesResponse: - description: Response message for the `BatchGetServices` method. + id: AnalyzeConsumerPolicyResponse + type: object + description: The response of analyzing a consumer policy update. + GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata: + type: object + properties: {} + description: Metadata for the `AnalyzeConsumerPolicy` method. + id: GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata + GoogleApiService: type: object + id: GoogleApiService + description: >- + `Service` is the root object of Google API service configuration + (service config). It describes the basic information about a logical + service, such as the service name and the user-facing title, and + delegates other aspects to sub-sections. Each sub-section is either a + proto message or a repeated proto message that configures a specific + aspect, such as auth. For more information, see each proto message + definition. Example: type: google.api.Service name: + calendar.googleapis.com title: Google Calendar API apis: - name: + google.calendar.v3.Calendar visibility: rules: - selector: + "google.calendar.v3.*" restriction: PREVIEW backend: rules: - selector: + "google.calendar.v3.*" address: calendar.example.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 properties: - services: + usage: + $ref: '#/components/schemas/Usage' + description: Configuration controlling usage of this service. + context: + description: Context configuration. + $ref: '#/components/schemas/Context' + backend: + $ref: '#/components/schemas/Backend' + description: API backend configuration. + billing: + $ref: '#/components/schemas/Billing' + description: Billing configuration. + publishing: + $ref: '#/components/schemas/Publishing' + description: >- + Settings for [Google Cloud Client + libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) + generated from APIs defined as protocol buffers. + http: + $ref: '#/components/schemas/Http' + description: HTTP configuration. + apis: + description: >- + 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. type: array items: - $ref: '#/components/schemas/GoogleApiServiceusageV1Service' - description: The requested Service states. - id: BatchGetServicesResponse - AddEnableRulesResponse: - properties: - parent: + $ref: '#/components/schemas/Api' + authentication: + description: Auth configuration. + $ref: '#/components/schemas/Authentication' + name: description: >- - The parent consumer policy. It can be - `projects/12345/consumerPolicies/default`, or - `folders/12345/consumerPolicies/default`, or - `organizations/12345/consumerPolicies/default`. + The service name, which is a DNS-like logical identifier for the + service, such as `calendar.googleapis.com`. The service name + typically goes through DNS verification to make sure the owner of + the service also owns the DNS name. type: string - addedValues: + sourceInfo: + $ref: '#/components/schemas/SourceInfo' + description: >- + Output only. The source information for this configuration if + available. + monitoring: + description: Monitoring configuration. + $ref: '#/components/schemas/Monitoring' + monitoredResources: items: - type: string - description: The values added to the parent consumer policy. + $ref: '#/components/schemas/MonitoredResourceDescriptor' type: array - type: object - description: The response message of `AddEnableRules` method. - id: AddEnableRulesResponse - CustomError: - id: CustomError - type: object - properties: - rules: description: >- - The list of custom error rules that apply to individual API - messages. **NOTE:** All service configuration rules follow "last one - wins" order. + Defines the monitored resources used by this service. This is + required by the Service.monitoring and Service.logging + configurations. + systemParameters: + $ref: '#/components/schemas/SystemParameters' + description: System parameter configuration. + documentation: + description: Additional API documentation. + $ref: '#/components/schemas/Documentation' + producerProjectId: + description: The Google project that owns this service. + type: string + endpoints: + description: >- + 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. items: - $ref: '#/components/schemas/CustomErrorRule' + $ref: '#/components/schemas/Endpoint' + type: array + metrics: + description: Defines the metrics used by this service. + items: + $ref: '#/components/schemas/MetricDescriptor' + type: array + id: + description: >- + A unique ID for a specific instance of this message, typically + assigned by the client for tracking purpose. Must be no longer than + 63 characters and only lower case letters, digits, '.', '_' and '-' + are allowed. If empty, the server may choose to generate one + instead. + type: string + configVersion: + format: uint32 + type: integer + description: >- + Obsolete. Do not use. This field has no semantic meaning. The + service config compiler always sets this field to `3`. + systemTypes: + type: array + items: + $ref: '#/components/schemas/Type' + description: >- + 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. + logs: type: array + items: + $ref: '#/components/schemas/LogDescriptor' + description: Defines the logs used by this service. + customError: + description: Custom error configuration. + $ref: '#/components/schemas/CustomError' types: description: >- - The list of custom error detail types, e.g. - 'google.foo.v1.CustomError'. - type: array - items: - type: string - description: >- - 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 - AnalysisResult: - properties: - blockers: + 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 items: - $ref: '#/components/schemas/Impact' + $ref: '#/components/schemas/Type' type: array + title: + type: string description: >- - Blocking information that would prevent the policy changes at - runtime. - warnings: - type: array + The product title for this service, it is the name displayed in + Google Cloud Console. + enums: description: >- - Warning information indicating that the policy changes might be - unsafe, but will not block the changes at runtime. - items: - $ref: '#/components/schemas/Impact' - description: An analysis result including blockers and warnings. - type: object - id: AnalysisResult - BatchCreateConsumerOverridesResponse: - description: Response message for BatchCreateConsumerOverrides - properties: - overrides: + 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 type: array - description: The overrides that were created. items: - $ref: '#/components/schemas/QuotaOverride' - id: BatchCreateConsumerOverridesResponse + $ref: '#/components/schemas/Enum' + control: + description: Configuration for the service control plane. + $ref: '#/components/schemas/Control' + quota: + description: Quota configuration. + $ref: '#/components/schemas/Quota' + logging: + description: Logging configuration. + $ref: '#/components/schemas/Logging' + ImportAdminQuotaPoliciesMetadata: + properties: {} + id: ImportAdminQuotaPoliciesMetadata type: object - Status: + description: >- + Metadata message that provides information such as progress, partial + failures, and similar information on each GetOperation call of LRO + returned by ImportAdminQuotaPolicies. + ImportAdminQuotaPoliciesResponse: + description: Response message for ImportAdminQuotaPolicies + id: ImportAdminQuotaPoliciesResponse properties: - code: - format: int32 - description: The status code, which should be an enum value of google.rpc.Code. - type: integer - details: - description: >- - A list of messages that carry the error details. There is a common - set of message types for APIs to use. + policies: + description: The policies that were created from the imported data. type: array items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - message: - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. - type: string + $ref: '#/components/schemas/AdminQuotaPolicy' type: object - id: Status + UpdateAdminQuotaPolicyMetadata: + properties: {} + type: object + id: UpdateAdminQuotaPolicyMetadata description: >- - 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). - OperationMetadata: - properties: - resourceNames: - items: - type: string - description: >- - The full name of the resources that this operation is directly - associated with. - type: array - description: The operation metadata returned for the batchend services operation. + Metadata message that provides information such as progress, partial + failures, and similar information on each GetOperation call of LRO + returned by UpdateAdminQuotaPolicy. + RemoveEnableRulesMetadata: + id: RemoveEnableRulesMetadata type: object - id: OperationMetadata + properties: {} + description: Metadata for the `RemoveEnableRules` method. SourceInfo: - id: SourceInfo - type: object description: Source information used to create a Service Config properties: sourceFiles: + type: array items: - type: object additionalProperties: - type: any description: Properties of the object. Contains field @type with type URL. - type: array + type: any + type: object description: All files used during config generation. - GoogleApiServiceusageV2alphaEnableRule: - id: GoogleApiServiceusageV2alphaEnableRule - properties: - services: - description: >- - The names of the services that are enabled. Example: - `services/storage.googleapis.com`. - type: array - items: - type: string + id: SourceInfo type: object - description: >- - The consumer policy rule that defines enabled services, groups, and - categories. - CreateAdminQuotaPolicyMetadata: - properties: {} - id: CreateAdminQuotaPolicyMetadata - description: >- - Metadata message that provides information such as progress, partial - failures, and similar information on each GetOperation call of LRO - returned by CreateAdminQuotaPolicy. + ContextRule: + id: ContextRule type: object - RemoveEnableRulesResponse: - id: RemoveEnableRulesResponse + description: >- + A context rule provides information about the context for an individual + API element. properties: - parent: - type: string + requested: description: >- - The parent consumer policy. It can be - `projects/12345/consumerPolicies/default`, or - `folders/12345/consumerPolicies/default`, or - `organizations/12345/consumerPolicies/default`. - removedValues: + A list of full type names of requested contexts, only the requested + context will be made available to the backend. items: type: string - deprecated: true - description: The values removed from the parent consumer policy. - type: array - description: The response message of `RemoveEnableRules` method. - type: object - Http: - id: Http - properties: - rules: type: array + selector: + type: string description: >- - A list of HTTP configuration rules that apply to individual API - methods. **NOTE:** All service configuration rules follow "last one - wins" order. - items: - $ref: '#/components/schemas/HttpRule' - fullyDecodeReservedExpansion: - type: boolean - description: >- - When set to true, URL path parameters will be fully URI-decoded - except in cases of single segment matches in reserved expansion, - where "%2F" will be left encoded. The default behavior is to not - decode RFC 6570 reserved characters in multi segment matches. - type: object - description: >- - 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. - Logging: - id: Logging - type: object - description: >- - Logging configuration of the service. The following example shows how to - configure logs to be sent to the producer and consumer projects. In the - example, the `activity_history` log is sent to both the producer and - consumer projects, whereas the `purchase_history` log is only sent to - the producer project. monitored_resources: - type: - library.googleapis.com/branch labels: - key: /city description: The city - where the library branch is located in. - key: /name description: The - name of the branch. logs: - name: activity_history labels: - key: - /customer_id - name: purchase_history logging: producer_destinations: - - monitored_resource: library.googleapis.com/branch logs: - - activity_history - purchase_history consumer_destinations: - - monitored_resource: library.googleapis.com/branch logs: - - activity_history - properties: - consumerDestinations: - description: >- - Logging configurations for sending logs to the consumer project. - There can be multiple consumer destinations, each one must have a - different monitored resource type. A log can be used in at most one - consumer destination. + Selects the methods to which this rule applies. Refer to selector + for syntax details. + provided: items: - $ref: '#/components/schemas/LoggingDestination' + type: string type: array - producerDestinations: - items: - $ref: '#/components/schemas/LoggingDestination' description: >- - Logging configurations for sending logs to the producer project. - There can be multiple producer destinations, each one must have a - different monitored resource type. A log can be used in at most one - producer destination. + A list of full type names of provided contexts. It is used to + support propagating HTTP headers and ETags from the response + extension. + allowedResponseExtensions: type: array - MonitoringDestination: - type: object - id: MonitoringDestination - properties: - monitoredResource: - type: string description: >- - The monitored resource type. The type must be defined in - Service.monitored_resources section. - metrics: + A list of full type names or extension IDs of extensions allowed in + grpc side channel from backend to client. + items: + type: string + allowedRequestExtensions: description: >- - Types of the metrics to report to this monitoring destination. Each - type must be defined in Service.metrics section. + A list of full type names or extension IDs of extensions allowed in + grpc side channel from client to backend. type: array items: type: string - description: >- - Configuration of a specific monitoring destination (the producer project - or the consumer project). - LongRunning: - description: >- - Describes settings to use when generating API methods that use the - long-running operation pattern. All default values below are from those - used in the client library generators (e.g. - [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). + SystemParameterRule: properties: - initialPollDelay: - format: google-duration - description: >- - Initial delay after which the first poll request will be made. - Default value: 5 seconds. - type: string - totalPollTimeout: - format: google-duration + selector: type: string - description: 'Total polling timeout. Default value: 5 minutes.' - pollDelayMultiplier: - type: number description: >- - Multiplier to gradually increase delay between subsequent polls - until it reaches max_poll_delay. Default value: 1.5. - format: float - maxPollDelay: + Selects the methods to which this rule applies. Use '*' to indicate + all methods in all APIs. Refer to selector for syntax details. + parameters: description: >- - Maximum time between two subsequent poll requests. Default value: 45 - seconds. - type: string - format: google-duration - id: LongRunning - type: object - AnalyzeConsumerPolicyMetadata: - description: Metadata for the `AnalyzeConsumerPolicy` method. - properties: {} - type: object - id: AnalyzeConsumerPolicyMetadata - CancelOperationRequest: - description: The request message for Operations.CancelOperation. - id: CancelOperationRequest - properties: {} + Define parameters. Multiple names may be defined for a parameter. + For a given method call, only one of them should be used. If + multiple names are used the behavior is implementation-dependent. If + none of the specified names are present the behavior is + parameter-dependent. + items: + $ref: '#/components/schemas/SystemParameter' + type: array + description: >- + Define a system parameter rule mapping system parameter definitions to + methods. + id: SystemParameterRule type: object - MetricDescriptorMetadata: - description: Additional annotations that can be used to guide the usage of a metric. + OAuthRequirements: properties: - launchStage: - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - description: Deprecated. Must use the MetricDescriptor.launch_stage instead. - deprecated: true - type: string - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible - ways, and are not guaranteed to be released. - - >- - Alpha is a limited availability test for releases before they are - cleared for widespread use. By Alpha, all significant design - issues are resolved and we are in the process of verifying - functionality. Alpha customers need to apply for access, agree to - applicable terms, and have their projects allowlisted. Alpha - releases don't have to be feature complete, no SLAs are provided, - and there are no technical support obligations, but they will be - far enough along that customers can actually use them in test - environments or for limited-use tests -- just like they would in - normal production cases. - - >- - Beta is the point at which we are ready to open a release for any - customer to use. There are no SLA or technical support obligations - in a Beta release. Products will be complete from a feature - perspective, but may have some open outstanding issues. Beta - releases are suitable for limited production use cases. - - >- - GA features are open to all developers and are considered stable - and fully qualified for production use. - - >- - Deprecated features are scheduled to be shut down and removed. For - more information, see the "Deprecation Policy" section of our - [Terms of Service](https://cloud.google.com/terms/) and the - [Google Cloud Platform Subject to the Deprecation - Policy](https://cloud.google.com/terms/deprecation) documentation. - ingestDelay: + canonicalScopes: description: >- - The delay of data points caused by ingestion. Data points older than - this age are guaranteed to be ingested and available to be read, - excluding data loss due to errors. - type: string - format: google-duration - samplePeriod: - format: google-duration + The list of publicly documented OAuth scopes that are allowed + access. An OAuth token containing any of these scopes will be + accepted. Example: canonical_scopes: + https://www.googleapis.com/auth/calendar, + https://www.googleapis.com/auth/calendar.read type: string - description: >- - The sampling period of metric data points. For metrics which are - written periodically, consecutive data points are stored at this - time interval, excluding data loss due to errors. Metrics with a - higher granularity have a smaller sampling period. - timeSeriesResourceHierarchyLevel: - description: The scope of the timeseries data of the metric. - items: - type: string - enum: - - TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED - - PROJECT - - ORGANIZATION - - FOLDER - enumDescriptions: - - Do not use this default value. - - Scopes a metric to a project. - - Scopes a metric to an organization. - - Scopes a metric to a folder. - type: array - id: MetricDescriptorMetadata + id: OAuthRequirements type: object - MonitoredResourceDescriptor: description: >- - An object that describes the schema of a MonitoredResource object using - a type name and a set of labels. For example, the monitored resource - descriptor for Google Compute Engine VM instances has a type of - `"gce_instance"` and specifies the use of the labels `"instance_id"` and - `"zone"` to identify particular VM instances. Different APIs can support - different monitored resource types. APIs generally provide a `list` - method that returns the monitored resource descriptors used by the API. - id: MonitoredResourceDescriptor + OAuth scopes are a way to define data and permissions on data. For + example, there are scopes defined for "Read-only access to Google + Calendar" and "Access to Cloud Platform". Users can consent to a scope + for an application, giving it permission to access that data on their + behalf. OAuth scope specifications should be fairly coarse grained; a + user will need to see and understand the text description of what your + scope means. In most cases: use one or at most two OAuth scopes for an + entire family of products. If your product has multiple APIs, you should + probably be sharing the OAuth scope across all of those APIs. When you + need finer grained OAuth consent screens: talk with your product + management about how developers will use them in practice. Please note + that even though each of the canonical scopes is enough for a request to + be accepted and passed to the backend, a request can still fail due to + the backend requiring additional scopes or permissions. + LabelDescriptor: + id: LabelDescriptor + description: A description of a label. + type: object properties: - launchStage: + valueType: + description: The type of data that can be assigned to the label. type: string - description: Optional. The launch stage of the monitored resource definition. - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible - ways, and are not guaranteed to be released. - - >- - Alpha is a limited availability test for releases before they are - cleared for widespread use. By Alpha, all significant design - issues are resolved and we are in the process of verifying - functionality. Alpha customers need to apply for access, agree to - applicable terms, and have their projects allowlisted. Alpha - releases don't have to be feature complete, no SLAs are provided, - and there are no technical support obligations, but they will be - far enough along that customers can actually use them in test - environments or for limited-use tests -- just like they would in - normal production cases. - - >- - Beta is the point at which we are ready to open a release for any - customer to use. There are no SLA or technical support obligations - in a Beta release. Products will be complete from a feature - perspective, but may have some open outstanding issues. Beta - releases are suitable for limited production use cases. - - >- - GA features are open to all developers and are considered stable - and fully qualified for production use. - - >- - Deprecated features are scheduled to be shut down and removed. For - more information, see the "Deprecation Policy" section of our - [Terms of Service](https://cloud.google.com/terms/) and the - [Google Cloud Platform Subject to the Deprecation - Policy](https://cloud.google.com/terms/deprecation) documentation. enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - name: - type: string - description: >- - 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 + - BOOL + - INT64 + enumDescriptions: + - A variable-length string. This is the default. + - Boolean; true or false. + - A 64-bit signed integer. description: + description: A human-readable description for the label. + type: string + key: + description: The label key. + type: string + GoogleApiServiceusageV2betaConsumerPolicy: + description: >- + Consumer Policy is a set of rules that define what services or service + groups can be used for a cloud resource hierarchy. + type: object + properties: + updateTime: + format: google-datetime + description: Output only. The time the policy was last updated. + readOnly: true + type: string + etag: type: string description: >- - Optional. A detailed description of the monitored resource type that - might be used in documentation. - displayName: + Output only. An opaque tag indicating the current version of the + policy, used for concurrency control. + readOnly: true + annotations: + type: object description: >- - 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"`. + Optional. Annotations is an unstructured key-value map stored with a + policy that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. + [AIP-128](https://google.aip.dev/128#annotations) + additionalProperties: + type: string + name: + description: >- + Output only. The resource name of the policy. Only the `default` + policy is supported: `projects/12345/consumerPolicies/default`, + `folders/12345/consumerPolicies/default`, + `organizations/12345/consumerPolicies/default`. + readOnly: true type: string - labels: + enableRules: type: array - description: >- - 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"`. items: - $ref: '#/components/schemas/LabelDescriptor' - type: + $ref: '#/components/schemas/GoogleApiServiceusageV2betaEnableRule' description: >- - 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). + Enable rules define usable services, groups, and categories. There + can currently be at most one `EnableRule`. This restriction will be + lifted in later releases. + createTime: + readOnly: true + description: >- + Output only. The time the policy was created. For singleton + policies, this is the first touch of the policy. type: string - type: object - LoggingDestination: - type: object - id: LoggingDestination + format: google-datetime + id: GoogleApiServiceusageV2betaConsumerPolicy + MethodPolicy: + description: Defines policies applying to an RPC method. properties: - monitoredResource: + selector: type: string description: >- - The monitored resource type. The type must be defined in the - Service.monitored_resources section. - logs: + Selects a method to which these policies should be enforced, for + example, "google.pubsub.v1.Subscriber.CreateSubscription". Refer to + selector for syntax details. NOTE: This field must not be set in the + proto annotation. It will be automatically filled by the service + config compiler . + requestPolicies: type: array - description: >- - Names of the logs to be sent to this destination. Each name must be - defined in the Service.logs section. If the log name is not a domain - scoped name, it will be automatically prefixed with the service name - followed by "/". + description: Policies that are applicable to the request message. items: - type: string - description: >- - Configuration of a specific logging destination (the producer project or - the consumer project). - Analysis: - description: A message to group the analysis information. + $ref: '#/components/schemas/FieldPolicy' + id: MethodPolicy type: object + LongRunning: properties: - displayName: + initialPollDelay: type: string - readOnly: true description: >- - Output only. The user friendly display name of the analysis type. - E.g. service dependency analysis, service resource usage analysis, - etc. - analysisType: - enumDescriptions: - - Unspecified analysis type. Do not use. - - The analysis of service dependencies. - - The analysis of service resource usage. - readOnly: true - type: string - enum: - - ANALYSIS_TYPE_UNSPECIFIED - - ANALYSIS_TYPE_DEPENDENCY - - ANALYSIS_TYPE_RESOURCE_USAGE - description: Output only. The type of analysis. - service: - type: string + Initial delay after which the first poll request will be made. + Default value: 5 seconds. + format: google-duration + pollDelayMultiplier: + format: float + type: number description: >- - The names of the service that has analysis result of warnings or - blockers. Example: `services/storage.googleapis.com`. - analysis: - description: Output only. Analysis result of updating a policy. - $ref: '#/components/schemas/AnalysisResult' - readOnly: true - id: Analysis - Endpoint: - id: Endpoint - properties: - name: + Multiplier to gradually increase delay between subsequent polls + until it reaches max_poll_delay. Default value: 1.5. + maxPollDelay: type: string - description: The canonical name of this endpoint. - aliases: - type: array - description: >- - Aliases for this endpoint, these will be served by the same UrlMap - as the parent endpoint, and will be provisioned in the GCP stack for - the Regional Endpoints. - items: - type: string - target: + format: google-duration description: >- - The specification of an Internet routable address of API frontend - that will handle requests to this [API - Endpoint](https://cloud.google.com/apis/design/glossary). It should - be either a valid IPv4 address or a fully-qualified domain name. For - example, "8.8.8.8" or "myservice.appspot.com". + Maximum time between two subsequent poll requests. Default value: 45 + seconds. + totalPollTimeout: type: string - allowCors: - type: boolean - description: >- - Allowing - [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), - aka cross-domain traffic, would allow the backends served from this - endpoint to receive and respond to HTTP OPTIONS requests. The - response will be used by the browser to determine whether the - subsequent cross-origin request is allowed to proceed. + format: google-duration + description: 'Total polling timeout. Default value: 5 minutes.' + id: LongRunning + type: object description: >- - `Endpoint` describes a network address of a service that serves a set of - APIs. It is commonly known as a service endpoint. A service may expose - any number of service endpoints, and all service endpoints share the - same service definition, such as quota limits and monitoring metrics. - Example: type: google.api.Service name: library-example.googleapis.com - endpoints: # Declares network address - `https://library-example.googleapis.com` # for service - `library-example.googleapis.com`. The `https` scheme # is implicit for - all service endpoints. Other schemes may be # supported in the future. - - name: library-example.googleapis.com allow_cors: false - name: - content-staging-library-example.googleapis.com # Allows HTTP OPTIONS - calls to be passed to the API frontend, for it # to decide whether the - subsequent cross-origin request is allowed # to proceed. allow_cors: - true + Describes settings to use when generating API methods that use the + long-running operation pattern. All default values below are from those + used in the client library generators (e.g. + [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). + AddEnableRulesMetadata: + type: object + description: Metadata for the `AddEnableRules` method. + properties: {} + id: AddEnableRulesMetadata + Logging: + description: >- + Logging configuration of the service. The following example shows how to + configure logs to be sent to the producer and consumer projects. In the + example, the `activity_history` log is sent to both the producer and + consumer projects, whereas the `purchase_history` log is only sent to + the producer project. monitored_resources: - type: + library.googleapis.com/branch labels: - key: /city description: The city + where the library branch is located in. - key: /name description: The + name of the branch. logs: - name: activity_history labels: - key: + /customer_id - name: purchase_history logging: producer_destinations: - + monitored_resource: library.googleapis.com/branch logs: - + activity_history - purchase_history consumer_destinations: - + monitored_resource: library.googleapis.com/branch logs: - + activity_history + id: Logging type: object - SystemParameterRule: properties: - selector: - type: string + producerDestinations: + items: + $ref: '#/components/schemas/LoggingDestination' description: >- - Selects the methods to which this rule applies. Use '*' to indicate - all methods in all APIs. Refer to selector for syntax details. - parameters: + Logging configurations for sending logs to the producer project. + There can be multiple producer destinations, each one must have a + different monitored resource type. A log can be used in at most one + producer destination. + type: array + consumerDestinations: + type: array items: - $ref: '#/components/schemas/SystemParameter' + $ref: '#/components/schemas/LoggingDestination' + description: >- + Logging configurations for sending logs to the consumer project. + There can be multiple consumer destinations, each one must have a + different monitored resource type. A log can be used in at most one + consumer destination. + Billing: + id: Billing + properties: + consumerDestinations: type: array + items: + $ref: '#/components/schemas/BillingDestination' description: >- - Define parameters. Multiple names may be defined for a parameter. - For a given method call, only one of them should be used. If - multiple names are used the behavior is implementation-dependent. If - none of the specified names are present the behavior is - parameter-dependent. - type: object + Billing configurations for sending metrics to the consumer project. + There can be multiple consumer destinations per service, each one + must have a different monitored resource type. A metric can be used + in at most one consumer destination. description: >- - Define a system parameter rule mapping system parameter definitions to - methods. - id: SystemParameterRule - BackendRule: + 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 type: object - description: A backend rule provides configuration for an individual API element. + BackendRule: id: BackendRule + type: object properties: - address: - type: string - description: >- - The address of the API backend. The scheme is used to determine the - backend protocol and security. The following schemes are accepted: - SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// - gRPC None grpcs:// gRPC TLS It is recommended to explicitly include - a scheme. Leaving out the scheme may cause constrasting behaviors - across platforms. If the port is unspecified, the default is: - 80 - for schemes without TLS - 443 for schemes with TLS For HTTP - backends, use protocol to specify the protocol version. - selector: - description: >- - Selects the methods to which this rule applies. Refer to selector - for syntax details. - type: string - operationDeadline: - description: >- - The number of seconds to wait for the completion of a long running - operation. The default is no deadline. - format: double - type: number - deadline: - type: number - description: >- - The number of seconds to wait for a response from a request. The - default varies based on the request protocol and deployment - environment. - format: double - disableAuth: - description: >- - When disable_auth is true, a JWT ID token won't be generated and the - original "Authorization" HTTP header will be preserved. If the - header is used to carry the original token and is expected by the - backend, this field must be set to true to preserve the header. - type: boolean overridesByRequestProtocol: additionalProperties: $ref: '#/components/schemas/BackendRule' type: object description: The map between request protocol and the backend address. - protocol: - type: string - description: >- - The protocol used for sending a request to the backend. The - supported values are "http/1.1" and "h2". The default value is - inferred from the scheme in the address field: SCHEME PROTOCOL - http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure - HTTP backends (https://) that support HTTP/2, set this field to "h2" - for improved performance. Configuring this field to non-default - values is only supported for secure HTTP backends. This field will - be ignored for all other backends. See - https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids - for more details on the supported values. - jwtAudience: - description: >- - The JWT audience is used when generating a JWT ID token for the - backend. This ID token will be added in the HTTP "authorization" - header, and sent to the backend. - type: string pathTranslation: - enum: - - PATH_TRANSLATION_UNSPECIFIED - - CONSTANT_ADDRESS - - APPEND_PATH_TO_ADDRESS enumDescriptions: - '' - >- @@ -2327,1525 +2398,1658 @@ components: Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST type: string + enum: + - PATH_TRANSLATION_UNSPECIFIED + - CONSTANT_ADDRESS + - APPEND_PATH_TO_ADDRESS + operationDeadline: + type: number + description: >- + The number of seconds to wait for the completion of a long running + operation. The default is no deadline. + format: double minDeadline: - description: Deprecated, do not use. format: double - type: number deprecated: true - CustomErrorRule: + description: Deprecated, do not use. + type: number + disableAuth: + type: boolean + description: >- + When disable_auth is true, a JWT ID token won't be generated and the + original "Authorization" HTTP header will be preserved. If the + header is used to carry the original token and is expected by the + backend, this field must be set to true to preserve the header. + selector: + type: string + description: >- + Selects the methods to which this rule applies. Refer to selector + for syntax details. + protocol: + type: string + description: >- + The protocol used for sending a request to the backend. The + supported values are "http/1.1" and "h2". The default value is + inferred from the scheme in the address field: SCHEME PROTOCOL + http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure + HTTP backends (https://) that support HTTP/2, set this field to "h2" + for improved performance. Configuring this field to non-default + values is only supported for secure HTTP backends. This field will + be ignored for all other backends. See + https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + for more details on the supported values. + deadline: + type: number + description: >- + The number of seconds to wait for a response from a request. The + default varies based on the request protocol and deployment + environment. + format: double + address: + type: string + description: >- + The address of the API backend. The scheme is used to determine the + backend protocol and security. The following schemes are accepted: + SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// + gRPC None grpcs:// gRPC TLS It is recommended to explicitly include + a scheme. Leaving out the scheme may cause constrasting behaviors + across platforms. If the port is unspecified, the default is: - 80 + for schemes without TLS - 443 for schemes with TLS For HTTP + backends, use protocol to specify the protocol version. + jwtAudience: + type: string + description: >- + The JWT audience is used when generating a JWT ID token for the + backend. This ID token will be added in the HTTP "authorization" + header, and sent to the backend. + description: A backend rule provides configuration for an individual API element. + UsageRule: + description: >- + Usage configuration rules for the service. NOTE: Under development. Use + this rule to configure unregistered calls for the service. Unregistered + calls are calls that do not contain consumer project identity. (Example: + calls that do not contain an API key). By default, API methods do not + allow unregistered calls, and each method call must be identified by a + consumer project identity. Use this rule to allow/disallow unregistered + calls. Example of an API that wants to allow unregistered calls for + entire service. usage: rules: - selector: "*" allow_unregistered_calls: + true Example of a method that wants to allow unregistered calls. usage: + rules: - selector: "google.example.library.v1.LibraryService.CreateBook" + allow_unregistered_calls: true properties: + allowUnregisteredCalls: + description: >- + If true, the selected method allows unregistered calls, e.g. calls + that don't identify any user or application. + type: boolean selector: type: string description: >- - Selects messages to which this rule applies. Refer to selector for - syntax details. - isErrorType: + Selects the methods to which this rule applies. Use '*' to indicate + all methods in all APIs. Refer to selector for syntax details. + skipServiceControl: type: boolean description: >- - Mark this message as possible payload in error response. Otherwise, - objects of this type will be filtered when they appear in error - payload. - description: A custom error rule. + If true, the selected method should skip service control and the + control plane features, such as quota and billing, will not be + available. This flag is used by Google Cloud Endpoints to bypass + checks for internal methods, such as service health check methods. + id: UsageRule type: object - id: CustomErrorRule - Documentation: - id: Documentation - description: >- - `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. + Monitoring: properties: - pages: - description: The top level pages for the documentation set. + consumerDestinations: items: - $ref: '#/components/schemas/Page' + $ref: '#/components/schemas/MonitoringDestination' type: array - overview: + description: >- + Monitoring configurations for sending metrics to the consumer + project. There can be multiple consumer destinations. A monitored + resource type may appear in multiple monitoring destinations if + different aggregations are needed for different sets of metrics + associated with that monitored resource type. A monitored resource + and metric pair may only be used once in the Monitoring + configuration. + producerDestinations: + description: >- + Monitoring configurations for sending metrics to the producer + project. There can be multiple producer destinations. A monitored + resource type may appear in multiple monitoring destinations if + different aggregations are needed for different sets of metrics + associated with that monitored resource type. A monitored resource + and metric pair may only be used once in the Monitoring + configuration. + type: array + items: + $ref: '#/components/schemas/MonitoringDestination' + description: >- + 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 + type: object + id: Monitoring + GoogleApiServiceusageV1Service: + description: A service that is available for use by the consumer. + type: object + id: GoogleApiServiceusageV1Service + properties: + name: type: string description: >- - Declares a single overview page. For example: documentation: - summary: ... overview: (== include overview.md ==) This is a - shortcut for the following declaration (using pages style): - documentation: summary: ... pages: - name: Overview content: (== - include overview.md ==) Note: you cannot specify both `overview` - field and `pages` field. - summary: - description: >- - A short description of what the service does. The summary must be - plain text. It becomes the overview of the service displayed in - Google Cloud Console. NOTE: This field is equivalent to the standard - field `description`. + The resource name of the consumer and service. A valid name would + be: - projects/123/services/serviceusage.googleapis.com + state: type: string - documentationRootUrl: + description: Whether or not the service has been enabled for use by the consumer. + enum: + - STATE_UNSPECIFIED + - DISABLED + - ENABLED + enumDescriptions: + - >- + The default value, which indicates that the enabled state of the + service is unspecified or not meaningful. Currently, all consumers + other than projects (such as folders and organizations) are always + in this state. + - >- + The service cannot be used by this consumer. It has either been + explicitly disabled, or has never been enabled. + - The service has been explicitly enabled for use by this consumer. + config: + description: >- + The service configuration of the available service. Some fields may + be filtered out of the configuration in responses to the + `ListServices` method. These fields are present only in responses to + the `GetService` method. + $ref: '#/components/schemas/GoogleApiServiceusageV1ServiceConfig' + parent: type: string - description: The URL to the root of documentation. - sectionOverrides: - type: array description: >- - Specifies section and content to override boilerplate content - provided by go/api-docgen. Currently overrides following sections: - 1. rest.service.client_libraries - items: - $ref: '#/components/schemas/Page' - rules: - type: array + The resource name of the consumer. A valid name would be: - + projects/123 + JavaSettings: + description: Settings for Java client libraries. + properties: + serviceClassNames: + type: object + additionalProperties: + type: string description: >- - A list of documentation rules that apply to individual API elements. - **NOTE:** All service configuration rules follow "last one wins" - order. - items: - $ref: '#/components/schemas/DocumentationRule' - serviceRootUrl: + Configure the Java class name to use instead of the service's for + its corresponding generated GAPIC client. Keys are fully-qualified + service names as they appear in the protobuf (including the full the + language_settings.java.interface_names" field in gapic.yaml. API + teams should otherwise use the service name as it appears in the + protobuf. Example of a YAML configuration:: publishing: + java_settings: service_class_names: - google.pubsub.v1.Publisher: + TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + libraryPackage: description: >- - Specifies the service root url if the default one (the service name - from the yaml file) is not suitable. This can be seen in any fully - specified service urls as well as sections that show a base that - other urls are relative to. + The package name to use in Java. Clobbers the java_package option + set in the protobuf. This should be used **only** by APIs who have + already set the language_settings.java.package_name" field in + gapic.yaml. API teams should use the protobuf java_package option + where possible. Example of a YAML configuration:: publishing: + java_settings: library_package: com.google.cloud.pubsub.v1 type: string + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' type: object - Mixin: - type: object + id: JavaSettings + GoogleApiServiceusageV2betaEnableRule: description: >- - Declares an API Interface to be included in this interface. The - including interface must redeclare all the methods from the included - interface, but documentation and options are inherited as follows: - If - after comment and whitespace stripping, the documentation string of the - redeclared method is empty, it will be inherited from the original - method. - Each annotation belonging to the service config (http, - visibility) which is not set in the redeclared method will be inherited. - - If an http annotation is inherited, the path pattern will be modified - as follows. Any version prefix will be replaced by the version of the - including interface plus the root path if specified. Example of a simple - mixin: package google.acl.v1; service AccessControl { // Get the - underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option - (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package - google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) - returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns - (Data) { option (google.api.http).get = "/v2/{resource=**}"; } } Example - of a mixin configuration: apis: - name: google.storage.v2.Storage - mixins: - name: google.acl.v1.AccessControl The mixin construct implies - that all methods in `AccessControl` are also declared with same name and - request/response types in `Storage`. A documentation generator or - annotation processor will see the effective `Storage.GetAcl` method - after inherting documentation and annotations as follows: service - Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) - returns (Acl) { option (google.api.http).get = - "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path - pattern changed from `v1` to `v2`. If the `root` field in the mixin is - specified, it should be a relative path under which inherited HTTP paths - are placed. Example: apis: - name: google.storage.v2.Storage mixins: - - name: google.acl.v1.AccessControl root: acls This implies the following - inherited HTTP annotation: service Storage { // Get the underlying ACL - object. rpc GetAcl(GetAclRequest) returns (Acl) { option - (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... } + The consumer policy rule that defines enabled services, groups, and + categories. + type: object properties: - name: - description: The fully qualified name of the interface which is included. - type: string - root: - type: string + services: + items: + type: string + type: array description: >- - If non-empty specifies a path under which inherited HTTP paths are - rooted. - id: Mixin - PhpSettings: + The names of the services that are enabled. Example: + `services/storage.googleapis.com`. + id: GoogleApiServiceusageV2betaEnableRule + NodeSettings: properties: common: $ref: '#/components/schemas/CommonLanguageSettings' description: Some settings. - id: PhpSettings - description: Settings for Php client libraries. type: object - GoogleApiService: - properties: - monitoring: - $ref: '#/components/schemas/Monitoring' - description: Monitoring configuration. - documentation: - $ref: '#/components/schemas/Documentation' - description: Additional API documentation. - quota: - $ref: '#/components/schemas/Quota' - description: Quota configuration. - billing: - $ref: '#/components/schemas/Billing' - description: Billing configuration. - systemParameters: - $ref: '#/components/schemas/SystemParameters' - description: System parameter configuration. - name: - description: >- - The service name, which is a DNS-like logical identifier for the - service, such as `calendar.googleapis.com`. The service name - typically goes through DNS verification to make sure the owner of - the service also owns the DNS name. - type: string - control: - description: Configuration for the service control plane. - $ref: '#/components/schemas/Control' - logs: - description: Defines the logs used by this service. - items: - $ref: '#/components/schemas/LogDescriptor' - type: array - configVersion: - type: integer - description: >- - Obsolete. Do not use. This field has no semantic meaning. The - service config compiler always sets this field to `3`. - format: uint32 - authentication: - $ref: '#/components/schemas/Authentication' - description: Auth configuration. - http: - $ref: '#/components/schemas/Http' - description: HTTP configuration. - backend: - $ref: '#/components/schemas/Backend' - description: API backend configuration. - monitoredResources: - description: >- - Defines the monitored resources used by this service. This is - required by the Service.monitoring and Service.logging - configurations. - type: array - items: - $ref: '#/components/schemas/MonitoredResourceDescriptor' - producerProjectId: - description: The Google project that owns this service. - type: string - usage: - $ref: '#/components/schemas/Usage' - description: Configuration controlling usage of this service. - metrics: - items: - $ref: '#/components/schemas/MetricDescriptor' - description: Defines the metrics used by this service. - type: array - endpoints: - description: >- - 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. - items: - $ref: '#/components/schemas/Endpoint' - type: array - publishing: - description: >- - Settings for [Google Cloud Client - libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) - generated from APIs defined as protocol buffers. - $ref: '#/components/schemas/Publishing' - logging: - description: Logging configuration. - $ref: '#/components/schemas/Logging' - enums: - description: >- - 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 - type: array - items: - $ref: '#/components/schemas/Enum' - customError: - description: Custom error configuration. - $ref: '#/components/schemas/CustomError' - systemTypes: + id: NodeSettings + description: Settings for Node client libraries. + Context: + description: >- + `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. + properties: + rules: items: - $ref: '#/components/schemas/Type' - description: >- - 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. + $ref: '#/components/schemas/ContextRule' type: array - sourceInfo: description: >- - Output only. The source information for this configuration if - available. - $ref: '#/components/schemas/SourceInfo' - context: - $ref: '#/components/schemas/Context' - description: Context configuration. - title: + A list of RPC context rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. + id: Context + type: object + LogDescriptor: + properties: + name: description: >- - The product title for this service, it is the name displayed in - Google Cloud Console. + The name of the log. It must be less than 512 characters long and + can include the following characters: upper- and lower-case + alphanumeric characters [A-Za-z0-9], and punctuation characters + including slash, underscore, hyphen, period [/_-.]. + type: string + description: type: string - types: description: >- - 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 + A human-readable description of this log. This information appears + in the documentation and can contain details. + labels: type: array - items: - $ref: '#/components/schemas/Type' - apis: description: >- - 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. - type: array + The set of labels that are available to describe a specific log + entry. Runtime requests that contain labels not specified here are + considered invalid. items: - $ref: '#/components/schemas/Api' - id: + $ref: '#/components/schemas/LabelDescriptor' + displayName: type: string description: >- - A unique ID for a specific instance of this message, typically - assigned by the client for tracking purpose. Must be no longer than - 63 characters and only lower case letters, digits, '.', '_' and '-' - are allowed. If empty, the server may choose to generate one - instead. - id: GoogleApiService + The human-readable name for this log. This information appears on + the user interface and should be concise. + type: object + id: LogDescriptor description: >- - `Service` is the root object of Google API service configuration - (service config). It describes the basic information about a logical - service, such as the service name and the user-facing title, and - delegates other aspects to sub-sections. Each sub-section is either a - proto message or a repeated proto message that configures a specific - aspect, such as auth. For more information, see each proto message - definition. Example: type: google.api.Service name: - calendar.googleapis.com title: Google Calendar API apis: - name: - google.calendar.v3.Calendar visibility: rules: - selector: - "google.calendar.v3.*" restriction: PREVIEW backend: rules: - selector: - "google.calendar.v3.*" address: calendar.example.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 + A description of a log type. Example in YAML format: - name: + library.googleapis.com/activity_history description: The history of + borrowing and returning library items. display_name: Activity labels: - + key: /customer_id description: Identifier of a library customer + GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata: type: object - GoogleApiServiceusageV1beta1GetServiceIdentityResponse: - id: GoogleApiServiceusageV1beta1GetServiceIdentityResponse - description: Response message for getting service identity. + id: GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata + description: Metadata for the `UpdateConsumerPolicy` method. + properties: {} + GoogleApiServiceusageV2betaAnalysisResult: + id: GoogleApiServiceusageV2betaAnalysisResult + description: An analysis result including blockers and warnings. type: object properties: - state: + blockers: + type: array + items: + $ref: '#/components/schemas/GoogleApiServiceusageV2betaImpact' + description: >- + Blocking information that would prevent the policy changes at + runtime. + warnings: + description: >- + Warning information indicating that the policy changes might be + unsafe, but will not block the changes at runtime. + type: array + items: + $ref: '#/components/schemas/GoogleApiServiceusageV2betaImpact' + Enum: + id: Enum + type: object + properties: + syntax: enumDescriptions: - - >- - Default service identity state. This value is used if the state is - omitted. - - Service identity has been created and can be used. - type: string - description: Service identity state. + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + description: The source syntax. enum: - - IDENTITY_STATE_UNSPECIFIED - - ACTIVE - identity: - $ref: '#/components/schemas/GoogleApiServiceusageV1beta1ServiceIdentity' + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + type: string + name: + type: string + description: Enum type name. + options: + type: array + description: Protocol buffer options. + items: + $ref: '#/components/schemas/Option' + sourceContext: + description: The source context. + $ref: '#/components/schemas/SourceContext' + edition: description: >- - Service identity that service producer can use to access consumer - resources. If exists is true, it contains email and unique_id. If - exists is false, it contains pre-constructed email and empty - unique_id. - BatchCreateAdminOverridesResponse: - properties: - overrides: + The source edition string, only valid when syntax is + SYNTAX_EDITIONS. + type: string + enumvalue: items: - $ref: '#/components/schemas/QuotaOverride' + $ref: '#/components/schemas/EnumValue' + description: Enum value definitions. type: array - description: The overrides that were created. - id: BatchCreateAdminOverridesResponse + description: Enum type definition. + AdminQuotaPolicy: + id: AdminQuotaPolicy + description: Quota policy created by quota administrator. type: object - description: Response message for BatchCreateAdminOverrides - Field: - id: Field - description: A single field of a message type. properties: - typeUrl: + dimensions: + additionalProperties: + type: string + description: ' If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the policy is only applied to quota consumed in that region. This map has the following restrictions: * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * Keys other than `region` or `zone` are not valid.' + type: object + container: type: string description: >- - The field type URL, without the scheme, for message or enumeration - types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. - defaultValue: + The cloud resource container at which the quota policy is created. + The format is `{container_type}/{container_number}` + name: type: string description: >- - The string value of the default value of this field. Proto2 syntax - only. - cardinality: - description: The field cardinality. + The resource name of the policy. This name is generated by the + server when the policy is created. Example names would be: + `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` + metric: type: string - enumDescriptions: - - For fields with unknown cardinality. - - For optional fields. - - For required fields. Proto2 syntax only. - - For repeated fields. - enum: - - CARDINALITY_UNKNOWN - - CARDINALITY_OPTIONAL - - CARDINALITY_REQUIRED - - CARDINALITY_REPEATED - options: - items: - $ref: '#/components/schemas/Option' - description: The protocol buffer options. - type: array - kind: - enum: - - TYPE_UNKNOWN - - TYPE_DOUBLE - - TYPE_FLOAT - - TYPE_INT64 - - TYPE_UINT64 - - TYPE_INT32 - - TYPE_FIXED64 - - TYPE_FIXED32 - - TYPE_BOOL - - TYPE_STRING - - TYPE_GROUP - - TYPE_MESSAGE - - TYPE_BYTES - - TYPE_UINT32 - - TYPE_ENUM - - TYPE_SFIXED32 - - TYPE_SFIXED64 - - TYPE_SINT32 - - TYPE_SINT64 - description: The field type. - enumDescriptions: - - Field type unknown. - - Field type double. - - Field type float. - - Field type int64. - - Field type uint64. - - Field type int32. - - Field type fixed64. - - Field type fixed32. - - Field type bool. - - Field type string. - - Field type group. Proto2 syntax only, and deprecated. - - Field type message. - - Field type bytes. - - Field type uint32. - - Field type enum. - - Field type sfixed32. - - Field type sfixed64. - - Field type sint32. - - Field type sint64. + description: >- + The name of the metric to which this policy applies. An example name + would be: `compute.googleapis.com/cpus` + policyValue: + description: >- + The quota policy value. Can be any nonnegative integer, or -1 + (unlimited quota). type: string - name: + format: int64 + unit: type: string - description: The field name. - number: - format: int32 - type: integer - description: The field number. - oneofIndex: - type: integer - format: int32 description: >- - The index of the field type in `Type.oneofs`, for message or - enumeration types. The first type has index 1; zero means the type - is not in the list. - packed: - type: boolean - description: Whether to use alternative packed wire representation. - jsonName: - description: The field JSON name. + The limit unit of the limit to which this policy applies. An example + unit would be: `1/{project}/{region}` Note that `{project}` and + `{region}` are not placeholders in this example; the literal + characters `{` and `}` occur in the string. + PhpSettings: + type: object + id: PhpSettings + properties: + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' + description: Settings for Php client libraries. + ListServicesResponse: + description: Response message for the `ListServices` method. + type: object + id: ListServicesResponse + properties: + services: + type: array + description: The available services for the requested project. + items: + $ref: '#/components/schemas/GoogleApiServiceusageV1Service' + nextPageToken: type: string + description: >- + Token that can be passed to `ListServices` to resume a paginated + query. + Authentication: + id: Authentication type: object - GoogleApiServiceusageV2alphaConsumerPolicy: - description: >- - Consumer Policy is a set of rules that define what services or service - groups can be used for a cloud resource hierarchy. - id: GoogleApiServiceusageV2alphaConsumerPolicy properties: - enableRules: + providers: + type: array + description: Defines a set of authentication providers that a service supports. items: - $ref: '#/components/schemas/GoogleApiServiceusageV2alphaEnableRule' + $ref: '#/components/schemas/AuthProvider' + rules: + items: + $ref: '#/components/schemas/AuthenticationRule' type: array description: >- - Enable rules define usable services, groups, and categories. There - can currently be at most one `EnableRule`. This restriction will be - lifted in later releases. - name: - readOnly: true - type: string + A list of authentication rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" + order. + description: >- + `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 + PythonSettings: + type: object + id: PythonSettings + description: Settings for Python client libraries. + properties: + experimentalFeatures: description: >- - Output only. The resource name of the policy. Only the `default` - policy is supported: `projects/12345/consumerPolicies/default`, - `folders/12345/consumerPolicies/default`, - `organizations/12345/consumerPolicies/default`. - updateTime: - readOnly: true - format: google-datetime + Experimental features to be included during client library + generation. + $ref: '#/components/schemas/ExperimentalFeatures' + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' + Mixin: + id: Mixin + type: object + description: >- + Declares an API Interface to be included in this interface. The + including interface must redeclare all the methods from the included + interface, but documentation and options are inherited as follows: - If + after comment and whitespace stripping, the documentation string of the + redeclared method is empty, it will be inherited from the original + method. - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be inherited. + - If an http annotation is inherited, the path pattern will be modified + as follows. Any version prefix will be replaced by the version of the + including interface plus the root path if specified. Example of a simple + mixin: package google.acl.v1; service AccessControl { // Get the + underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package + google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) + returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns + (Data) { option (google.api.http).get = "/v2/{resource=**}"; } } Example + of a mixin configuration: apis: - name: google.storage.v2.Storage + mixins: - name: google.acl.v1.AccessControl The mixin construct implies + that all methods in `AccessControl` are also declared with same name and + request/response types in `Storage`. A documentation generator or + annotation processor will see the effective `Storage.GetAcl` method + after inheriting documentation and annotations as follows: service + Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) + returns (Acl) { option (google.api.http).get = + "/v2/{resource=**}:getAcl"; } ... } Note how the version in the path + pattern changed from `v1` to `v2`. If the `root` field in the mixin is + specified, it should be a relative path under which inherited HTTP paths + are placed. Example: apis: - name: google.storage.v2.Storage mixins: - + name: google.acl.v1.AccessControl root: acls This implies the following + inherited HTTP annotation: service Storage { // Get the underlying ACL + object. rpc GetAcl(GetAclRequest) returns (Acl) { option + (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... } + properties: + root: + description: >- + If non-empty specifies a path under which inherited HTTP paths are + rooted. type: string - description: Output only. The time the policy was last updated. - etag: - readOnly: true + name: + description: The fully qualified name of the interface which is included. type: string + RubySettings: + properties: + common: + description: Some settings. + $ref: '#/components/schemas/CommonLanguageSettings' + id: RubySettings + description: Settings for Ruby client libraries. + type: object + CommonLanguageSettings: + type: object + id: CommonLanguageSettings + properties: + selectiveGapicGeneration: description: >- - Output only. An opaque tag indicating the current version of the - policy, used for concurrency control. - annotations: - additionalProperties: - type: string - type: object + Configuration for which RPCs should be generated in the GAPIC + client. + $ref: '#/components/schemas/SelectiveGapicGeneration' + referenceDocsUri: + type: string description: >- - Optional. Annotations is an unstructured key-value map stored with a - policy that may be set by external tools to store and retrieve - arbitrary metadata. They are not queryable and should be preserved - when modifying objects. - [AIP-128](https://google.aip.dev/128#annotations) - createTime: - format: google-datetime + Link to automatically generated reference documentation. Example: + https://cloud.google.com/nodejs/docs/reference/asset/latest + deprecated: true + destinations: description: >- - Output only. The time the policy was created. For singleton - policies, this is the first touch of the policy. + The destination where API teams want this client library to be + published. + items: + enum: + - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED + - GITHUB + - PACKAGE_MANAGER + type: string + enumDescriptions: + - >- + Client libraries will neither be generated nor published to + package managers. + - >- + Generate the client library in a repo under + github.com/googleapis, but don't publish it to package managers. + - >- + Publish the library to package managers like nuget.org and + npmjs.com. + type: array + description: Required information for every language. + Impact: + type: object + id: Impact + description: A message to group impacts of updating a policy. + properties: + detail: + description: Output only. User friendly impact detail in a free form message. type: string readOnly: true + impactType: + description: Output only. The type of impact. + readOnly: true + type: string + enumDescriptions: + - >- + Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 + Block 0 - Special/Admin codes Block 1 - Impact Type of + ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of + ANALYSIS_TYPE_RESOURCE_USAGE ... + - Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY + enum: + - IMPACT_TYPE_UNSPECIFIED + - DEPENDENCY_MISSING_DEPENDENCIES + ListOperationsResponse: + id: ListOperationsResponse + properties: + nextPageToken: + description: The standard List next-page token. + type: string + operations: + type: array + description: >- + A list of operations that matches the specified filter in the + request. + items: + $ref: '#/components/schemas/Operation' type: object - HttpRule: + description: The response message for Operations.ListOperations. + QuotaLimit: + description: >- + `QuotaLimit` defines a specific limit that applies over a specified + duration for a limit type. There can be at most one limit for a duration + and limit type combination defined within a `QuotaGroup`. + id: QuotaLimit type: object properties: - put: - description: Maps to HTTP PUT. Used for replacing a resource. + maxLimit: type: string - responseBody: + description: >- + Maximum number of tokens that can be consumed during the specified + duration. Client application developers can override the default + limit up to this maximum. If specified, this value cannot be set to + a value less than the default limit. If not specified, it is set to + the default limit. To allow clients to apply overrides with no upper + bound, set this to -1, indicating unlimited maximum quota. Used by + group-based quotas only. + format: int64 + metric: + description: >- + The name of the metric this quota limit applies to. The quota limits + with the same metric will be checked together during runtime. The + metric must be defined within the service config. type: string + values: + additionalProperties: + format: int64 + type: string description: >- - Optional. The name of the response field whose value is mapped to - the HTTP response body. When omitted, the entire response message - will be used as the HTTP response body. NOTE: The referred field - must be present at the top-level of the response message type. - delete: - description: Maps to HTTP DELETE. Used for deleting a resource. + Tiered limit values. You must specify this as a key:value pair, with + an integer value that is the maximum number of requests allowed for + the specified unit. Currently only STANDARD is supported. + type: object + name: type: string - patch: + description: >- + Name of the quota limit. The name must be provided, and it must be + unique within the service. The name can only include alphanumeric + characters as well as '-'. The maximum length of the limit name is + 64 characters. + duration: type: string - description: Maps to HTTP PATCH. Used for updating a resource. - custom: - $ref: '#/components/schemas/CustomHttpPattern' description: >- - The custom pattern is used for specifying an HTTP method that is not - included in the `pattern` field, such as HEAD, or "*" to leave the - HTTP method unspecified for this rule. The wild-card rule is useful - for services that provide content to Web (HTML) clients. - post: + Duration of this limit in textual notation. Must be "100s" or "1d". + Used by group-based quotas only. + description: description: >- - Maps to HTTP POST. Used for creating a resource or performing an - action. - type: string - get: + Optional. User-visible, extended description for this quota limit. + Should be used only when more context is needed to understand this + limit than provided by the limit's display name (see: + `display_name`). type: string - description: >- - Maps to HTTP GET. Used for listing and getting information about - resources. - body: + defaultLimit: type: string description: >- - The name of the request field whose value is mapped to the HTTP - request body, or `*` for mapping all request fields not captured by - the path pattern to the HTTP body, or omitted for not having any - HTTP request body. NOTE: the referred field must be present at the - top-level of the request message type. - additionalBindings: - type: array + Default number of tokens that can be consumed during the specified + duration. This is the number of tokens assigned when a client + application developer activates the service for his/her project. + Specifying a value of 0 will block all requests. This can be used if + you are provisioning quota to selected consumers and blocking + others. Similarly, a value of -1 will indicate an unlimited quota. + No other negative values are allowed. Used by group-based quotas + only. + format: int64 + unit: description: >- - Additional HTTP bindings for the selector. Nested bindings must not - contain an `additional_bindings` field themselves (that is, the - nesting may only be one level deep). - items: - $ref: '#/components/schemas/HttpRule' - selector: + Specify the unit of the quota limit. It uses the same syntax as + Metric.unit. The supported unit kinds are determined by the quota + backend system. Here are some examples: * "1/min/{project}" for + quota per minute per project. Note: the order of unit components is + insignificant. The "1" at the beginning is required to follow the + metric unit syntax. type: string + displayName: description: >- - Selects a method to which this rule applies. Refer to selector for - syntax details. - id: HttpRule - description: >- - gRPC Transcoding gRPC Transcoding is a feature for mapping between a - gRPC method and one or more HTTP REST endpoints. It allows developers to - build a single API service that supports both gRPC APIs and REST APIs. - Many systems, including [Google - APIs](https://github.com/googleapis/googleapis), [Cloud - Endpoints](https://cloud.google.com/endpoints), [gRPC - Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and - [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature - and use it for large scale production services. `HttpRule` defines the - schema of the gRPC/REST mapping. The mapping specifies how different - portions of the gRPC request message are mapped to the URL path, URL - query parameters, and HTTP request body. It also controls how the gRPC - response message is mapped to the HTTP response body. `HttpRule` is - typically specified as an `google.api.http` annotation on the gRPC - method. Each mapping specifies a URL path template and an HTTP method. - The path template may refer to one or more fields in the gRPC request - message, as long as each field is a non-repeated field with a primitive - (non-message) type. The path template controls how fields of the request - message are mapped to the URL path. Example: service Messaging { rpc - GetMessage(GetMessageRequest) returns (Message) { option - (google.api.http) = { get: "/v1/{name=messages/*}" }; } } message - GetMessageRequest { string name = 1; // Mapped to URL path. } message - Message { string text = 1; // The resource content. } This enables an - HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - - gRPC: `GetMessage(name: "messages/123456")` Any fields in the request - message which are not bound by the path template automatically become - HTTP query parameters if there is no HTTP request body. For example: - service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) - { option (google.api.http) = { get:"/v1/messages/{message_id}" }; } } - message GetMessageRequest { message SubMessage { string subfield = 1; } - string message_id = 1; // Mapped to URL path. int64 revision = 2; // - Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped - to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC - mapping as below: - HTTP: `GET - /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: - `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: - "foo"))` Note that fields which are mapped to URL query parameters must - have a primitive type or a repeated primitive type or a non-repeated - message type. In the case of a repeated type, the parameter can be - repeated in the URL as `...?param=A¶m=B`. In the case of a message - type, each field of the message is mapped to a separate parameter, such - as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request - body, the `body` field specifies the mapping. Consider a REST update - method on the message resource collection: service Messaging { rpc - UpdateMessage(UpdateMessageRequest) returns (Message) { option - (google.api.http) = { patch: "/v1/messages/{message_id}" body: "message" - }; } } message UpdateMessageRequest { string message_id = 1; // mapped - to the URL Message message = 2; // mapped to the body } The following - HTTP JSON to RPC mapping is enabled, where the representation of the - JSON in the request body is determined by protos JSON encoding: - HTTP: - `PATCH /v1/messages/123456 { "text": "Hi!" }` - gRPC: - `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The - special name `*` can be used in the body mapping to define that every - field not bound by the path template should be mapped to the request - body. This enables the following alternative definition of the update - method: service Messaging { rpc UpdateMessage(Message) returns (Message) - { option (google.api.http) = { patch: "/v1/messages/{message_id}" body: - "*" }; } } message Message { string message_id = 1; string text = 2; } - The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH - /v1/messages/123456 { "text": "Hi!" }` - gRPC: - `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using - `*` in the body mapping, it is not possible to have HTTP parameters, as - all fields not bound by the path end in the body. This makes this option - more rarely used in practice when defining REST APIs. The common usage - of `*` is in custom methods which don't use the URL at all for - transferring data. It is possible to define multiple HTTP methods for - one RPC by using the `additional_bindings` option. Example: service - Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option - (google.api.http) = { get: "/v1/messages/{message_id}" - additional_bindings { get: "/v1/users/{user_id}/messages/{message_id}" } - }; } } message GetMessageRequest { string message_id = 1; string user_id - = 2; } This enables the following two alternative HTTP JSON to RPC - mappings: - HTTP: `GET /v1/messages/123456` - gRPC: - `GetMessage(message_id: "123456")` - HTTP: `GET - /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" - message_id: "123456")` Rules for HTTP mapping 1. Leaf request fields - (recursive expansion nested messages in the request message) are - classified into three categories: - Fields referred by the path - template. They are passed via the URL path. - Fields referred by the - HttpRule.body. They are passed via the HTTP request body. - All other - fields are passed via the URL query parameters, and the parameter name - is the field path in the request message. A repeated field can be - represented as multiple query parameters under the same name. 2. If - HttpRule.body is "*", there is no URL query parameter, all fields are - passed via URL path and HTTP request body. 3. If HttpRule.body is - omitted, there is no HTTP request body, all fields are passed via URL - path and URL query parameters. Path template syntax Template = "/" - Segments [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | - "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] - "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; The syntax - `*` matches a single URL path segment. The syntax `**` matches zero or - more URL path segments, which must be the last part of the URL path - except the `Verb`. The syntax `Variable` matches part of the URL path as - specified by its template. A variable template must not contain other - variables. If a variable matches a single path segment, its template may - be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax - `LITERAL` matches literal text in the URL path. If the `LITERAL` - contains any reserved character, such characters should be - percent-encoded before the matching. If a variable contains exactly one - path segment, such as `"{var}"` or `"{var=*}"`, when such a variable is - expanded into a URL path on the client side, all characters except - `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse - decoding. Such variables show up in the [Discovery - Document](https://developers.google.com/discovery/v1/reference/apis) as - `{var}`. If a variable contains multiple path segments, such as - `"{var=foo/*}"` or `"{var=**}"`, when such a variable is expanded into a - URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` - are percent-encoded. The server side does the reverse decoding, except - "%2F" and "%2f" are left unchanged. Such variables show up in the - [Discovery - Document](https://developers.google.com/discovery/v1/reference/apis) as - `{+var}`. Using gRPC API Service Configuration gRPC API Service - Configuration (service config) is a configuration language for - configuring a gRPC service to become a user-facing product. The service - config is simply the YAML representation of the `google.api.Service` - proto message. As an alternative to annotating your proto file, you can - configure gRPC transcoding in your service config YAML files. You do - this by specifying a `HttpRule` that maps the gRPC method to a REST - endpoint, achieving the same effect as the proto annotation. This can be - particularly useful if you have a proto that is reused in multiple - services. Note that any transcoding specified in the service config will - override any matching transcoding configuration in the proto. The - following example selects a gRPC method and applies an `HttpRule` to it: - http: rules: - selector: example.v1.Messaging.GetMessage get: - /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC - Transcoding is used to map a gRPC to JSON REST endpoints, the proto to - JSON conversion must follow the [proto3 - specification](https://developers.google.com/protocol-buffers/docs/proto3#json). - While the single segment variable follows the semantics of [RFC - 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String - Expansion, the multi segment variable **does not** follow RFC 6570 - Section 3.2.3 Reserved Expansion. The reason is that the Reserved - Expansion does not expand special characters like `?` and `#`, which - would lead to invalid URLs. As the result, gRPC Transcoding uses a - custom encoding for multi segment variables. The path variables **must - not** refer to any repeated or mapped field, because client libraries - are not capable of handling such variable expansion. The path variables - **must not** capture the leading "/" character. The reason is that the - most common use case "{var}" does not capture the leading "/" character. - For consistency, all path variables must share the same behavior. - Repeated message fields must not be mapped to URL query parameters, - because no client library can support such complicated mapping. If an - API needs to use a JSON array for request or response body, it can map - the request or response body to a repeated field. However, some gRPC - Transcoding implementations may not support this feature. - Enum: - properties: - syntax: - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - description: The source syntax. + User-visible display name for this limit. Optional. If not set, the + UI will provide a default display name based on the quota + configuration. This field can be used to override the default + display name generated from the configuration. type: string - sourceContext: - $ref: '#/components/schemas/SourceContext' - description: The source context. - options: - items: - $ref: '#/components/schemas/Option' - description: Protocol buffer options. - type: array - edition: + freeTier: + description: >- + Free tier value displayed in the Developers Console for this limit. + The free tier is the number of tokens that will be subtracted from + the billed amount when billing is enabled. This field can only be + set on a limit with duration "1d", in a billable group; it is + invalid on any other limit. If this field is not set, it defaults to + 0, indicating that there is no free tier for this service. Used by + group-based quotas only. + format: int64 type: string - description: >- - The source edition string, only valid when syntax is - SYNTAX_EDITIONS. - enumvalue: - description: Enum value definitions. - items: - $ref: '#/components/schemas/EnumValue' + Control: + properties: + methodPolicies: + description: Defines policies applying to the API methods of the service. type: array - name: - description: Enum type name. + items: + $ref: '#/components/schemas/MethodPolicy' + environment: + description: >- + The service controller environment to use. If empty, no control + plane feature (like quota and billing) will be enabled. The + recommended value for most services is servicecontrol.googleapis.com type: string - description: Enum type definition. - type: object - id: Enum - EnableRule: + id: Control type: object - id: EnableRule + description: >- + Selects and configures the service controller used by the service. + Example: control: environment: servicecontrol.googleapis.com + ImportConsumerOverridesResponse: + description: Response message for ImportConsumerOverrides + id: ImportConsumerOverridesResponse properties: - groups: - description: >- - DEPRECATED: Please use field `values`. Service group should have - prefix `groups/`. The names of the service groups that are enabled - (Not Implemented). Example: `groups/googleServices`. - deprecated: true - items: - type: string + overrides: type: array - values: + description: The overrides that were created from the imported data. items: - type: string + $ref: '#/components/schemas/QuotaOverride' + type: object + SelectiveGapicGeneration: + type: object + properties: + methods: type: array description: >- - The names of the services or service groups that are enabled. - Example: `services/storage.googleapis.com`, `groups/googleServices`, - `groups/allServices`. - services: - description: >- - DEPRECATED: Please use field `values`. Service should have prefix - `services/`. The names of the services that are enabled. Example: - `storage.googleapis.com`. + An allowlist of the fully qualified names of RPCs that should be + included on public client surfaces. items: type: string - type: array - deprecated: true - enableType: + id: SelectiveGapicGeneration + description: >- + This message is used to configure the generation of a subset of the RPCs + in a service for client libraries. + MetricDescriptor: + properties: + name: + type: string + description: The resource name of the metric descriptor. + metadata: + $ref: '#/components/schemas/MetricDescriptorMetadata' + description: Optional. Metadata which can be used to guide usage of the metric. + description: + description: >- + A detailed description of the metric, which can be used in + documentation. + type: string + type: + type: string + description: >- + 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" + launchStage: + description: Optional. The launch stage of the metric definition. type: string - description: Client and resource project enable type. enum: - - ENABLE_TYPE_UNSPECIFIED - - CLIENT - - RESOURCE - - V1_COMPATIBLE + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. - >- - Unspecified enable type, which means enabled as both client and - resource project. + Prelaunch features are hidden from users and are only visible + internally. - >- - Enable all clients under the CRM node specified by - `ConsumerPolicy.name` to use the listed services. A client can be - an API key, an OAuth client, or a service account. + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible + ways, and are not guaranteed to be released. - >- - Enable resources in the list services to be created and used under - the CRM node specified by the `ConsumerPolicy.name`. + Alpha is a limited availability test for releases before they are + cleared for widespread use. By Alpha, all significant design + issues are resolved and we are in the process of verifying + functionality. Alpha customers need to apply for access, agree to + applicable terms, and have their projects allowlisted. Alpha + releases don't have to be feature complete, no SLAs are provided, + and there are no technical support obligations, but they will be + far enough along that customers can actually use them in test + environments or for limited-use tests -- just like they would in + normal production cases. - >- - Activation made by Service Usage v1 API. This will be how - consumers differentiate between policy changes made by v1 and v2 - clients and understand what is actually possible based on those - different policies. - description: >- - The consumer policy rule that defines usable services and service - groups. - Control: - properties: - methodPolicies: + Beta is the point at which we are ready to open a release for any + customer to use. There are no SLA or technical support obligations + in a Beta release. Products will be complete from a feature + perspective, but may have some open outstanding issues. Beta + releases are suitable for limited production use cases. + - >- + GA features are open to all developers and are considered stable + and fully qualified for production use. + - >- + Deprecated features are scheduled to be shut down and removed. For + more information, see the "Deprecation Policy" section of our + [Terms of Service](https://cloud.google.com/terms/) and the + [Google Cloud Platform Subject to the Deprecation + Policy](https://cloud.google.com/terms/deprecation) documentation. + metricKind: + enum: + - METRIC_KIND_UNSPECIFIED + - GAUGE + - DELTA + - CUMULATIVE + description: >- + Whether the metric records instantaneous values, changes to a value, + etc. Some combinations of `metric_kind` and `value_type` might not + be supported. + type: string + enumDescriptions: + - Do not use this default value. + - An instantaneous measurement of a value. + - The change in a value during a time interval. + - >- + A value accumulated over a time interval. Cumulative measurements + in a time series should have 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. + valueType: + enumDescriptions: + - Do not use this default value. + - >- + The value is a boolean. This value type can be used only if the + metric kind is `GAUGE`. + - The value is a signed 64-bit integer. + - The value is a double precision floating point number. + - >- + The value is a text string. This value type can be used only if + the metric kind is `GAUGE`. + - The value is a `Distribution`. + - The value is money. + description: >- + Whether the measurement is an integer, a floating-point number, etc. + Some combinations of `metric_kind` and `value_type` might not be + supported. + enum: + - VALUE_TYPE_UNSPECIFIED + - BOOL + - INT64 + - DOUBLE + - STRING + - DISTRIBUTION + - MONEY + type: string + labels: + items: + $ref: '#/components/schemas/LabelDescriptor' + description: >- + The set of labels that can be used to describe a specific instance + of this metric type. For example, the + `appengine.googleapis.com/http/server/response_latencies` metric + type has a label for the HTTP response code, `response_code`, so you + can look at latencies for successful responses or just for responses + that failed. + type: array + displayName: + type: string + description: >- + A concise name for the metric, which can be displayed in user + interfaces. Use sentence case without an ending period, for example + "Request count". This field is optional but it is recommended to be + set for any metrics associated with user-visible concepts, such as + Quota. + monitoredResourceTypes: + description: >- + 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. type: array - description: Defines policies applying to the API methods of the service. items: - $ref: '#/components/schemas/MethodPolicy' - environment: + type: string + unit: description: >- - The service controller environment to use. If empty, no control - plane feature (like quota and billing) will be enabled. The - recommended value for most services is servicecontrol.googleapis.com + 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` dimensionless + **Prefixes (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) **Grammar** The 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"). type: string description: >- - Selects and configures the service controller used by the service. - Example: control: environment: servicecontrol.googleapis.com - id: Control - type: object - BatchEnableServicesRequest: - type: object - properties: - serviceIds: - type: array - items: - type: string - description: >- - The identifiers of the services to enable on the project. A valid - identifier would be: serviceusage.googleapis.com Enabling services - requires that each service is public or is shared with the user - enabling the service. A single request can enable a maximum of 20 - services at a time. If more than 20 services are specified, the - request will fail, and no state changes will occur. - description: Request message for the `BatchEnableServices` method. - id: BatchEnableServicesRequest - EnableServiceRequest: + 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. type: object - description: Request message for the `EnableService` method. - id: EnableServiceRequest - properties: {} - Method: - id: Method + id: MetricDescriptor + EnableFailure: + id: EnableFailure properties: - requestTypeUrl: - description: A URL of the input message type. - type: string - name: - description: The simple name of this method. - type: string - options: - description: Any metadata attached to the method. - items: - $ref: '#/components/schemas/Option' - type: array - requestStreaming: - type: boolean - description: If true, the request is streamed. - responseTypeUrl: - description: The URL of the output message type. + errorMessage: + description: An error message describing why the service could not be enabled. type: string - syntax: - description: The source syntax of this method. - enumDescriptions: - - Syntax `proto2`. - - Syntax `proto3`. - - Syntax `editions`. + serviceId: type: string - enum: - - SYNTAX_PROTO2 - - SYNTAX_PROTO3 - - SYNTAX_EDITIONS - responseStreaming: - description: If true, the response is streamed. - type: boolean - description: Method represents a method of an API interface. + description: The service id of a service that could not be enabled. type: object - Authentication: - id: Authentication + description: Provides error messages for the failing services. + GetServiceIdentityMetadata: + description: Metadata for the `GetServiceIdentity` method. type: object + properties: {} + id: GetServiceIdentityMetadata + GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse: properties: - providers: - description: Defines a set of authentication providers that a service supports. - items: - $ref: '#/components/schemas/AuthProvider' - type: array - rules: - type: array + analysis: items: - $ref: '#/components/schemas/AuthenticationRule' + $ref: '#/components/schemas/GoogleApiServiceusageV2betaAnalysis' description: >- - A list of authentication rules that apply to individual API methods. - **NOTE:** All service configuration rules follow "last one wins" - order. - description: >- - `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 - GoogleApiServiceusageV1OperationMetadata: + The list of analyses returned from performing the intended policy + update analysis. The analysis is grouped by service name and + different analysis types. The empty analysis list means that the + consumer policy can be updated without any warnings or blockers. + type: array + id: GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse + type: object + description: The response of analyzing a consumer policy update. + Status: + id: Status properties: - resourceNames: + message: + type: string + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. + details: type: array - items: - type: string description: >- - The full name of the resources that this operation is directly - associated with. - id: GoogleApiServiceusageV1OperationMetadata + A list of messages that carry the error details. There is a common + set of message types for APIs to use. + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + code: + type: integer + description: The status code, which should be an enum value of google.rpc.Code. + format: int32 type: object - description: The operation metadata returned for the batchend services operation. - AdminQuotaPolicy: - id: AdminQuotaPolicy - description: Quota policy created by quota administrator. + description: >- + 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). + Empty: + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + type: object + properties: {} + id: Empty + Operation: type: object properties: - metric: - type: string + metadata: description: >- - The name of the metric to which this policy applies. An example name - would be: `compute.googleapis.com/cpus` - dimensions: - additionalProperties: - type: string - description: ' If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit `1/{project}/{region}` could contain an entry with the key `region` and the value `us-east-1`; the policy is only applied to quota consumed in that region. This map has the following restrictions: * If `region` appears as a key, its value must be a valid Cloud region. * If `zone` appears as a key, its value must be a valid Cloud zone. * Keys other than `region` or `zone` are not valid.' + 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. type: object - unit: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + name: description: >- - The limit unit of the limit to which this policy applies. An example - unit would be: `1/{project}/{region}` Note that `{project}` and - `{region}` are not placeholders in this example; the literal - characters `{` and `}` occur in the 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}`. type: string - container: + error: + $ref: '#/components/schemas/Status' description: >- - The cloud resource container at which the quota policy is created. - The format is `{container_type}/{container_number}` - type: string - policyValue: - type: string - format: int64 + The error result of the operation in case of failure or + cancellation. + response: description: >- - The quota policy value. Can be any nonnegative integer, or -1 - (unlimited quota). - name: + 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`. + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + done: description: >- - The resource name of the policy. This name is generated by the - server when the policy is created. Example names would be: - `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` + 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. + type: boolean + id: Operation + description: >- + This resource represents a long-running operation that is the result of + a network API call. + CustomHttpPattern: + description: A custom pattern is used for defining custom HTTP verb. + id: CustomHttpPattern + properties: + path: + type: string + description: The path matched by this custom verb. + kind: + description: The name of this custom HTTP verb. type: string - GoogleApiServiceusageV1ServiceConfig: + type: object + ImportAdminOverridesResponse: properties: - apis: - type: array - description: >- - A list of API interfaces exported by this service. Contains only the - names, versions, and method names of the interfaces. + overrides: items: - $ref: '#/components/schemas/Api' - documentation: - $ref: '#/components/schemas/Documentation' - description: >- - Additional API documentation. Contains only the summary and the - documentation URL. - authentication: - description: Auth configuration. Contains only the OAuth rules. - $ref: '#/components/schemas/Authentication' - monitoring: - $ref: '#/components/schemas/Monitoring' - description: >- - Monitoring configuration. This should not include the - 'producer_destinations' field. - monitoredResources: + $ref: '#/components/schemas/QuotaOverride' + description: The overrides that were created from the imported data. type: array - items: - $ref: '#/components/schemas/MonitoredResourceDescriptor' + type: object + description: Response message for ImportAdminOverrides + id: ImportAdminOverridesResponse + DocumentationRule: + id: DocumentationRule + description: A documentation rule provides information about individual API elements. + properties: + deprecationDescription: + type: string description: >- - Defines the monitored resources used by this service. This is - required by the Service.monitoring and Service.logging - configurations. - title: + Deprecation description of the selected element(s). It can be + provided if an element is marked as `deprecated`. + disableReplacementWords: type: string - description: The product title for this service. - endpoints: - type: array - items: - $ref: '#/components/schemas/Endpoint' description: >- - Configuration for network endpoints. Contains only the names and - aliases of the endpoints. - name: + String of comma or space separated case-sensitive words for which + method/field name replacement will be disabled by go/api-docgen. + selector: + type: string description: >- - The DNS address at which this service is available. An example DNS - address would be: `calendar.googleapis.com`. + The selector is a comma-separated list of patterns for any element + such as a method, a field, an enum value. Each pattern is a + qualified name of the element which may end in "*", indicating a + wildcard. Wildcards are only allowed at the end and for a whole + component of the qualified name, i.e. "foo.*" is ok, but not + "foo.b*" or "foo.*.bar". A wildcard will match one or more + components. To specify a default for all applicable elements, the + whole pattern "*" is used. + description: + description: >- + Description of the selected proto element (e.g. a message, a method, + a 'service' definition, or a field). Defaults to leading & trailing + comments taken from the proto source definition of the proto + element. type: string - quota: - $ref: '#/components/schemas/Quota' - description: Quota configuration. - usage: - description: Configuration controlling usage of this service. - $ref: '#/components/schemas/Usage' - id: GoogleApiServiceusageV1ServiceConfig - description: The configuration of the service. type: object - SystemParameter: + Page: description: >- - Define a parameter's name and location. The parameter may be passed as - either an HTTP header or a URL query parameter, and if both are passed - the behavior is implementation-dependent. - type: object - id: SystemParameter + Represents a documentation page. A page can contain subpages to + represent nested documentation set structure. properties: - name: + content: type: string description: >- - Define the name of the parameter, such as "api_key" . It is case - sensitive. - urlQueryParameter: + The Markdown content of the page. You can use (== include {path} ==) + to include content from a Markdown file. The content can be used to + produce the documentation page such as HTML format page. + name: type: string description: >- - Define the URL query parameter name to use for the parameter. It is - case sensitive. - httpHeader: + The name of the page. It will be used as an identity of the page to + generate URI of the page, text of the link to this page in + navigation, etc. The full page name (start from the root page name + to this page concatenated with `.`) can be used as reference to the + page in your documentation. For example: pages: - name: Tutorial + content: (== include tutorial.md ==) subpages: - name: Java content: + (== include tutorial_java.md ==) You can reference `Java` page using + Markdown reference link syntax: `Java`. + subpages: + items: + $ref: '#/components/schemas/Page' + type: array description: >- - Define the HTTP header name to use for the parameter. It is case - insensitive. - type: string - EnableServiceResponse: + Subpages of this page. The order of subpages specified here will be + honored in the generated docset. + type: object + id: Page + AuthenticationRule: description: >- - Response message for the `EnableService` method. This response message - is assigned to the `response` field of the returned Operation when that - operation is done. - id: EnableServiceResponse - properties: - service: - $ref: '#/components/schemas/GoogleApiServiceusageV1Service' - description: The new state of the service after enabling. + Authentication rules for the service. By default, if a method has any + authentication requirements, every request must include a valid + credential matching one of the requirements. It's an error to include + more than one kind of credential in a single request. If a method + doesn't have any auth requirements, request credentials will be ignored. + id: AuthenticationRule type: object - ClientLibrarySettings: - id: ClientLibrarySettings properties: - version: - description: >- - Version of the API to apply these settings to. This is the full - protobuf package for the API, ending in the version element. - Examples: "google.cloud.speech.v1" and - "google.spanner.admin.database.v1". - type: string - launchStage: - description: Launch stage of this version of the API. - enumDescriptions: - - Do not use this default value. - - The feature is not yet implemented. Users can not use it. - - >- - Prelaunch features are hidden from users and are only visible - internally. - - >- - Early Access features are limited to a closed group of testers. To - use these features, you must sign up in advance and sign a Trusted - Tester agreement (which includes confidentiality provisions). - These features may be unstable, changed in backward-incompatible - ways, and are not guaranteed to be released. - - >- - Alpha is a limited availability test for releases before they are - cleared for widespread use. By Alpha, all significant design - issues are resolved and we are in the process of verifying - functionality. Alpha customers need to apply for access, agree to - applicable terms, and have their projects allowlisted. Alpha - releases don't have to be feature complete, no SLAs are provided, - and there are no technical support obligations, but they will be - far enough along that customers can actually use them in test - environments or for limited-use tests -- just like they would in - normal production cases. - - >- - Beta is the point at which we are ready to open a release for any - customer to use. There are no SLA or technical support obligations - in a Beta release. Products will be complete from a feature - perspective, but may have some open outstanding issues. Beta - releases are suitable for limited production use cases. - - >- - GA features are open to all developers and are considered stable - and fully qualified for production use. - - >- - Deprecated features are scheduled to be shut down and removed. For - more information, see the "Deprecation Policy" section of our - [Terms of Service](https://cloud.google.com/terms/) and the - [Google Cloud Platform Subject to the Deprecation - Policy](https://cloud.google.com/terms/deprecation) documentation. + oauth: + $ref: '#/components/schemas/OAuthRequirements' + description: The requirements for OAuth credentials. + selector: type: string - enum: - - LAUNCH_STAGE_UNSPECIFIED - - UNIMPLEMENTED - - PRELAUNCH - - EARLY_ACCESS - - ALPHA - - BETA - - GA - - DEPRECATED - nodeSettings: - $ref: '#/components/schemas/NodeSettings' - description: Settings for Node client libraries. - dotnetSettings: - $ref: '#/components/schemas/DotnetSettings' - description: Settings for .NET client libraries. - restNumericEnums: - description: >- - When using transport=rest, the client request will encode enums as - numbers rather than strings. - type: boolean - goSettings: - $ref: '#/components/schemas/GoSettings' - description: Settings for Go client libraries. - pythonSettings: - description: Settings for Python client libraries. - $ref: '#/components/schemas/PythonSettings' - rubySettings: - description: Settings for Ruby client libraries. - $ref: '#/components/schemas/RubySettings' - phpSettings: - description: Settings for PHP client libraries. - $ref: '#/components/schemas/PhpSettings' - cppSettings: - description: Settings for C++ client libraries. - $ref: '#/components/schemas/CppSettings' - javaSettings: - $ref: '#/components/schemas/JavaSettings' - description: Settings for legacy Java features, supported in the Service YAML. - type: object - description: Details about how and where to publish client libraries. - CommonLanguageSettings: - properties: - destinations: - type: array description: >- - The destination where API teams want this client library to be - published. - items: - enum: - - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED - - GITHUB - - PACKAGE_MANAGER - type: string - enumDescriptions: - - >- - Client libraries will neither be generated nor published to - package managers. - - >- - Generate the client library in a repo under - github.com/googleapis, but don't publish it to package managers. - - >- - Publish the library to package managers like nuget.org and - npmjs.com. - referenceDocsUri: - deprecated: true + Selects the methods to which this rule applies. Refer to selector + for syntax details. + requirements: + description: Requirements for additional authentication providers. + type: array + items: + $ref: '#/components/schemas/AuthRequirement' + allowWithoutCredential: description: >- - Link to automatically generated reference documentation. Example: - https://cloud.google.com/nodejs/docs/reference/asset/latest + If true, the service accepts API keys without any other credential. + This flag only applies to HTTP and gRPC requests. + type: boolean + JwtLocation: + id: JwtLocation + description: Specifies a location to extract JWT from an API request. + properties: + header: type: string - id: CommonLanguageSettings - description: Required information for every language. - type: object - BatchEnableServicesResponse: - id: BatchEnableServicesResponse - description: >- - Response message for the `BatchEnableServices` method. This response - message is assigned to the `response` field of the returned Operation - when that operation is done. + description: Specifies HTTP header name to extract JWT token. + valuePrefix: + description: >- + The value prefix. The value format is "value_prefix{token}" Only + applies to "in" header type. Must be empty for "in" query type. If + not empty, the header value has to match (case sensitive) this + prefix. If not matched, JWT will not be extracted. If matched, JWT + will be extracted after the prefix is removed. For example, for + "Authorization: Bearer {JWT}", value_prefix="Bearer " with a space + at the end. + type: string + cookie: + description: Specifies cookie name to extract JWT token. + type: string + query: + type: string + description: Specifies URL query parameter name to extract JWT token. type: object + Publishing: properties: - failures: + restReferenceDocumentationUri: description: >- - If allow_partial_success is true, and one or more services could not - be enabled, this field contains the details about each failure. - items: - $ref: '#/components/schemas/EnableFailure' - type: array - services: - description: The new state of the services after enabling. + Optional link to REST reference documentation. Example: + https://cloud.google.com/pubsub/lite/docs/reference/rest + type: string + apiShortName: + type: string + description: >- + Used as a tracking tag when collecting data about the APIs developer + relations artifacts like docs, packages delivered to package + managers, etc. Example: "speech". + librarySettings: + description: >- + Client library settings. If the same version string appears multiple + times in this list, then the last one wins. Settings from earlier + settings with the same version string are discarded. items: - $ref: '#/components/schemas/GoogleApiServiceusageV1Service' + $ref: '#/components/schemas/ClientLibrarySettings' type: array - LabelDescriptor: - id: LabelDescriptor - properties: - valueType: + organization: + type: string enumDescriptions: - - A variable-length string. This is the default. - - Boolean; true or false. - - A 64-bit signed integer. + - Not useful. + - Google Cloud Platform Org. + - Ads (Advertising) Org. + - Photos Org. + - Street View Org. + - Shopping Org. + - Geo Org. + - Generative AI - https://developers.generativeai.google enum: - - STRING - - BOOL - - INT64 - description: The type of data that can be assigned to the label. + - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED + - CLOUD + - ADS + - PHOTOS + - STREET_VIEW + - SHOPPING + - GEO + - GENERATIVE_AI + description: For whom the client library is being published. + docTagPrefix: type: string - description: + description: >- + A prefix used in sample code when demarking regions to be included + in documentation. + protoReferenceDocumentationUri: + description: >- + Optional link to proto reference documentation. Example: + https://cloud.google.com/pubsub/lite/docs/reference/rpc type: string - description: A human-readable description for the label. - key: - description: The label key. + newIssueUri: + type: string + description: >- + Link to a *public* URI where users can report issues. Example: + https://issuetracker.google.com/issues/new?component=190865&template=1161103 + codeownerGithubTeams: + items: + type: string + description: >- + GitHub teams to be added to CODEOWNERS in the directory in GitHub + containing source code for the client libraries for this API. + type: array + methodSettings: + description: >- + A list of API method settings, e.g. the behavior for methods that + use the long-running operation pattern. + type: array + items: + $ref: '#/components/schemas/MethodSettings' + documentationUri: + type: string + description: >- + Link to product home page. Example: + https://cloud.google.com/asset-inventory/docs/overview + githubLabel: + description: >- + GitHub label to apply to issues and pull requests opened for this + API. type: string - description: A description of a label. type: object - UsageRule: + id: Publishing description: >- - Usage configuration rules for the service. NOTE: Under development. Use - this rule to configure unregistered calls for the service. Unregistered - calls are calls that do not contain consumer project identity. (Example: - calls that do not contain an API key). By default, API methods do not - allow unregistered calls, and each method call must be identified by a - consumer project identity. Use this rule to allow/disallow unregistered - calls. Example of an API that wants to allow unregistered calls for - entire service. usage: rules: - selector: "*" allow_unregistered_calls: - true Example of a method that wants to allow unregistered calls. usage: - rules: - selector: "google.example.library.v1.LibraryService.CreateBook" - allow_unregistered_calls: true - type: 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. + GoogleApiServiceusageV1beta1ServiceIdentity: + id: GoogleApiServiceusageV1beta1ServiceIdentity properties: - selector: + uniqueId: description: >- - Selects the methods to which this rule applies. Use '*' to indicate - all methods in all APIs. Refer to selector for syntax details. + The unique and stable id of the service account. + https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount + type: string + email: type: string - skipServiceControl: - type: boolean - description: >- - If true, the selected method should skip service control and the - control plane features, such as quota and billing, will not be - available. This flag is used by Google Cloud Endpoints to bypass - checks for internal methods, such as service health check methods. - allowUnregisteredCalls: - type: boolean description: >- - If true, the selected method allows unregistered calls, e.g. calls - that don't identify any user or application. - id: UsageRule - MethodSettings: - id: MethodSettings + The email address of the service account that a service producer + would use to access consumer resources. + description: >- + Service identity for a service. This is the identity that service + producer should use to access consumer resources. type: object + Api: + id: Api properties: - autoPopulatedFields: + version: + type: string description: >- - List of top-level fields of the request message, that should be - automatically populated by the client libraries based on their - (google.api.field_info).format. Currently supported format: UUID4. - Example of a YAML configuration: publishing: method_settings: - - selector: google.example.v1.ExampleService.CreateExample - auto_populated_fields: - request_id + A version string for this interface. If specified, must have the + form `major-version.minor-version`, as in `1.10`. If the minor + version is omitted, it defaults to zero. If the entire version field + is empty, the major version is derived from the package name, as + outlined below. If the field is not empty, the version in the + package name will be verified to be consistent with what is provided + here. The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users what + to expect from different versions, and should be carefully chosen + based on the product plan. The major version is also reflected in + the package name of the interface, which must end in `v`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can be + omitted. Zero major versions must only be used for experimental, + non-GA interfaces. + sourceContext: + $ref: '#/components/schemas/SourceContext' + description: >- + Source context for the protocol buffer service represented by this + message. + methods: + description: The methods of this interface, in unspecified order. + items: + $ref: '#/components/schemas/Method' type: array + mixins: items: - type: string - longRunning: - description: >- - Describes settings to use for long-running operations when - generating API methods for RPCs. Complements RPCs that use the - annotations in google/longrunning/operations.proto. Example of a - YAML configuration:: publishing: method_settings: - selector: - google.cloud.speech.v2.Speech.BatchRecognize long_running: - initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 - max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 - minutes - $ref: '#/components/schemas/LongRunning' - selector: + $ref: '#/components/schemas/Mixin' + description: Included interfaces. See Mixin. + type: array + name: type: string description: >- - The fully qualified name of the method, for which the options below - apply. This is used to find the method to apply the options. - Example: publishing: method_settings: - selector: - google.storage.control.v2.StorageControl.CreateFolder # method - settings for CreateFolder... - description: Describes the generator configuration for a method. - Empty: + The fully qualified name of this interface, including package name + followed by the interface's simple name. + syntax: + enumDescriptions: + - Syntax `proto2`. + - Syntax `proto3`. + - Syntax `editions`. + type: string + enum: + - SYNTAX_PROTO2 + - SYNTAX_PROTO3 + - SYNTAX_EDITIONS + description: The source syntax of the service. + options: + type: array + items: + $ref: '#/components/schemas/Option' + description: Any metadata attached to the interface. type: object description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - properties: {} - id: Empty - ExperimentalFeatures: - description: >- - Experimental features to be included during client library generation. - These fields will be deprecated once the feature graduates and is - enabled by default. - id: ExperimentalFeatures + Api is a light-weight descriptor for an API Interface. Interfaces are + also described as "protocol buffer services" in some contexts, such as + by the "service" keyword in a .proto file, but they are different from + API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are + also sometimes simply referred to as "APIs" in other contexts, such as + the name of this message itself. See + https://cloud.google.com/apis/design/glossary for detailed terminology. + BatchCreateConsumerOverridesResponse: + description: Response message for BatchCreateConsumerOverrides properties: - restAsyncIoEnabled: - description: >- - Enables generation of asynchronous REST clients if `rest` transport - is enabled. By default, asynchronous REST clients will not be - generated. This feature will be enabled by default 1 month after - launching the feature in preview packages. - type: boolean + overrides: + items: + $ref: '#/components/schemas/QuotaOverride' + type: array + description: The overrides that were created. + id: BatchCreateConsumerOverridesResponse type: object - PythonSettings: - id: PythonSettings - properties: - common: - $ref: '#/components/schemas/CommonLanguageSettings' - description: Some settings. - experimentalFeatures: - $ref: '#/components/schemas/ExperimentalFeatures' - description: >- - Experimental features to be included during client library - generation. - description: Settings for Python client libraries. + BatchGetServicesResponse: type: object - ImportAdminOverridesResponse: - description: Response message for ImportAdminOverrides - id: ImportAdminOverridesResponse + description: Response message for the `BatchGetServices` method. + id: BatchGetServicesResponse properties: - overrides: + services: + description: The requested Service states. items: - $ref: '#/components/schemas/QuotaOverride' + $ref: '#/components/schemas/GoogleApiServiceusageV1Service' type: array - description: The overrides that were created from the imported data. + DeleteAdminQuotaPolicyMetadata: type: object - GoogleApiServiceusageV1beta1ServiceIdentity: - id: GoogleApiServiceusageV1beta1ServiceIdentity + properties: {} + description: >- + Metadata message that provides information such as progress, partial + failures, and similar information on each GetOperation call of LRO + returned by DeleteAdminQuotaPolicy. + id: DeleteAdminQuotaPolicyMetadata + FieldPolicy: + id: FieldPolicy + type: object + description: >- + Google API Policy Annotation This message defines a simple API policy + annotation that can be used to annotate API request and response message + fields with applicable policies. One field may have multiple applicable + policies that must all be satisfied before a request can be processed. + This policy annotation is used to generate the overall policy that will + be used for automatic runtime policy enforcement and documentation + generation. properties: - email: + resourceType: description: >- - The email address of the service account that a service producer - would use to access consumer resources. + Specifies the resource type for the resource referred to by the + field. type: string - uniqueId: - description: >- - The unique and stable id of the service account. - https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount + resourcePermission: type: string - type: object - description: >- - Service identity for a service. This is the identity that service - producer should use to access consumer resources. - Page: - properties: - subpages: description: >- - Subpages of this page. The order of subpages specified here will be - honored in the generated docset. - type: array - items: - $ref: '#/components/schemas/Page' - name: + Specifies the required permission(s) for the resource referred to by + the field. It requires the field contains a valid resource + reference, and the request must pass the permission checks to + proceed. For example, "resourcemanager.projects.get". + selector: description: >- - The name of the page. It will be used as an identity of the page to - generate URI of the page, text of the link to this page in - navigation, etc. The full page name (start from the root page name - to this page concatenated with `.`) can be used as reference to the - page in your documentation. For example: pages: - name: Tutorial - content: (== include tutorial.md ==) subpages: - name: Java content: - (== include tutorial_java.md ==) You can reference `Java` page using - Markdown reference link syntax: `Java`. + Selects one or more request or response message fields to apply this + `FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the + selector must be left as empty. The service config generator will + automatically fill the correct value. When a `FieldPolicy` is used + in service config, the selector must be a comma-separated string + with valid request or response field paths, such as "foo.bar" or + "foo.bar,foo.baz". type: string - content: + GoogleApiServiceusageV1OperationMetadata: + description: The operation metadata returned for the batchend services operation. + properties: + resourceNames: + type: array description: >- - The Markdown content of the page. You can use (== include {path} ==) - to include content from a Markdown file. The content can be used to - produce the documentation page such as HTML format page. - type: string - id: Page - type: object - description: >- - Represents a documentation page. A page can contain subpages to - represent nested documentation set structure. - QuotaOverride: + The full name of the resources that this operation is directly + associated with. + items: + type: string type: object - description: A quota override + id: GoogleApiServiceusageV1OperationMetadata + GoogleApiServiceusageV2alphaConsumerPolicy: properties: - name: - type: string + createTime: + readOnly: true + format: google-datetime description: >- - The resource name of the override. This name is generated by the - server when the override is created. Example names would be: - `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` - `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` - The resource name is intended to be opaque and should not be parsed - for its component strings, since its representation could change in - the future. - metric: + Output only. The time the policy was created. For singleton + policies, this is the first touch of the policy. + type: string + etag: + readOnly: true type: string description: >- - The name of the metric to which this override applies. An example - name would be: `compute.googleapis.com/cpus` - overrideValue: + Output only. An opaque tag indicating the current version of the + policy, used for concurrency control. + name: + readOnly: true description: >- - The overriding quota limit value. Can be any nonnegative integer, or - -1 (unlimited quota). + Output only. The resource name of the policy. Only the `default` + policy is supported: `projects/12345/consumerPolicies/default`, + `folders/12345/consumerPolicies/default`, + `organizations/12345/consumerPolicies/default`. type: string - format: int64 - dimensions: - description: >- - If this map is nonempty, then this override applies only to specific - values for dimensions defined in the limit unit. For example, an - override on a limit with the unit `1/{project}/{region}` could - contain an entry with the key `region` and the value `us-east-1`; - the override is only applied to quota consumed in that region. This - map has the following restrictions: * Keys that are not defined in - the limit's unit are not valid keys. Any string appearing in - `{brackets}` in the unit (besides `{project}` or `{user}`) is a - defined key. * `project` is not a valid key; the project is already - specified in the parent resource name. * `user` is not a valid key; - the API does not support quota overrides that apply only to a - specific user. * If `region` appears as a key, its value must be a - valid Cloud region. * If `zone` appears as a key, its value must be - a valid Cloud zone. * If any valid key other than `region` or `zone` - appears in the map, then all valid keys other than `region` or - `zone` must also appear in the map. + annotations: + type: object additionalProperties: type: string - type: object - unit: - type: string description: >- - The limit unit of the limit to which this override applies. An - example unit would be: `1/{project}/{region}` Note that `{project}` - and `{region}` are not placeholders in this example; the literal - characters `{` and `}` occur in the string. - adminOverrideAncestor: + Optional. Annotations is an unstructured key-value map stored with a + policy that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. + [AIP-128](https://google.aip.dev/128#annotations) + updateTime: + readOnly: true + format: google-datetime + description: Output only. The time the policy was last updated. type: string + enableRules: description: >- - The resource name of the ancestor that requested the override. For - example: `organizations/12345` or `folders/67890`. Used by admin - overrides only. - id: QuotaOverride - ConsumerPolicy: + Enable rules define usable services, groups, and categories. There + can currently be at most one `EnableRule`. This restriction will be + lifted in later releases. + type: array + items: + $ref: '#/components/schemas/GoogleApiServiceusageV2alphaEnableRule' + id: GoogleApiServiceusageV2alphaConsumerPolicy type: object description: >- Consumer Policy is a set of rules that define what services or service groups can be used for a cloud resource hierarchy. - id: ConsumerPolicy - properties: - etag: - type: string - description: >- - An opaque tag indicating the current version of the policy, used for - concurrency control. - enableRules: - description: Enable rules define usable services and service groups. - items: - $ref: '#/components/schemas/EnableRule' - type: array - updateTime: - description: The last-modified time. - format: google-datetime + AnalyzeConsumerPolicyMetadata: + type: object + id: AnalyzeConsumerPolicyMetadata + description: Metadata for the `AnalyzeConsumerPolicy` method. + properties: {} + DisableServiceRequest: + id: DisableServiceRequest + description: Request message for the `DisableService` method. + properties: + checkIfServiceHasUsage: type: string - name: + enum: + - CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED + - SKIP + - CHECK + enumDescriptions: + - When unset, the default behavior is used, which is SKIP. + - If set, skip checking service usage when disabling a service. + - >- + If set, service usage is checked when disabling the service. If a + service, or its dependents, has usage in the last 30 days, the + request returns a FAILED_PRECONDITION error. description: >- - Output only. The resource name of the policy. We only allow consumer - policy name as `default` for now: - `projects/12345/consumerPolicies/default`, - `folders/12345/consumerPolicies/default`, - `organizations/12345/consumerPolicies/default`. - readOnly: true - type: string - annotations: - type: object - additionalProperties: - type: string + Defines the behavior for checking service usage when disabling a + service. + disableDependentServices: + type: boolean description: >- - Optional. Annotations is an unstructured key-value map stored with a - policy that may be set by external tools to store and retrieve - arbitrary metadata. They are not queryable and should be preserved - when modifying objects. - [AIP-128](https://google.aip.dev/128#annotations) - DeleteAdminQuotaPolicyMetadata: - properties: {} - description: >- - Metadata message that provides information such as progress, partial - failures, and similar information on each GetOperation call of LRO - returned by DeleteAdminQuotaPolicy. + Indicates if services that are enabled and which depend on this + service should also be disabled. If not set, an error will be + generated if any enabled services depend on the service to be + disabled. When set, the service, and any enabled services that + depend on it, will be disabled together. type: object - id: DeleteAdminQuotaPolicyMetadata - SystemParameters: - description: >- - ### 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. + MetricDescriptorMetadata: + type: object + description: Additional annotations that can be used to guide the usage of a metric. + id: MetricDescriptorMetadata properties: - rules: - items: - $ref: '#/components/schemas/SystemParameterRule' + timeSeriesResourceHierarchyLevel: + description: The scope of the timeseries data of the metric. type: array + items: + enumDescriptions: + - Do not use this default value. + - Scopes a metric to a project. + - Scopes a metric to an organization. + - Scopes a metric to a folder. + type: string + enum: + - TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED + - PROJECT + - ORGANIZATION + - FOLDER + ingestDelay: + format: google-duration description: >- - Define system parameters. The parameters defined here will override - the default parameters implemented by the system. If this field is - missing from the service config, default system parameters will be - used. Default system parameters and names is - implementation-dependent. Example: define api key for all methods - system_parameters rules: - selector: "*" parameters: - name: api_key - url_query_parameter: api_key Example: define 2 api key names for a - specific method. system_parameters rules: - selector: "/ListShelves" - parameters: - name: api_key http_header: Api-Key1 - name: api_key - http_header: Api-Key2 **NOTE:** All service configuration rules - follow "last one wins" order. - id: SystemParameters - type: object + The delay of data points caused by ingestion. Data points older than + this age are guaranteed to be ingested and available to be read, + excluding data loss due to errors. + type: string + launchStage: + enum: + - LAUNCH_STAGE_UNSPECIFIED + - UNIMPLEMENTED + - PRELAUNCH + - EARLY_ACCESS + - ALPHA + - BETA + - GA + - DEPRECATED + enumDescriptions: + - Do not use this default value. + - The feature is not yet implemented. Users can not use it. + - >- + Prelaunch features are hidden from users and are only visible + internally. + - >- + Early Access features are limited to a closed group of testers. To + use these features, you must sign up in advance and sign a Trusted + Tester agreement (which includes confidentiality provisions). + These features may be unstable, changed in backward-incompatible + ways, and are not guaranteed to be released. + - >- + Alpha is a limited availability test for releases before they are + cleared for widespread use. By Alpha, all significant design + issues are resolved and we are in the process of verifying + functionality. Alpha customers need to apply for access, agree to + applicable terms, and have their projects allowlisted. Alpha + releases don't have to be feature complete, no SLAs are provided, + and there are no technical support obligations, but they will be + far enough along that customers can actually use them in test + environments or for limited-use tests -- just like they would in + normal production cases. + - >- + Beta is the point at which we are ready to open a release for any + customer to use. There are no SLA or technical support obligations + in a Beta release. Products will be complete from a feature + perspective, but may have some open outstanding issues. Beta + releases are suitable for limited production use cases. + - >- + GA features are open to all developers and are considered stable + and fully qualified for production use. + - >- + Deprecated features are scheduled to be shut down and removed. For + more information, see the "Deprecation Policy" section of our + [Terms of Service](https://cloud.google.com/terms/) and the + [Google Cloud Platform Subject to the Deprecation + Policy](https://cloud.google.com/terms/deprecation) documentation. + deprecated: true + type: string + description: Deprecated. Must use the MetricDescriptor.launch_stage instead. + samplePeriod: + format: google-duration + description: >- + The sampling period of metric data points. For metrics which are + written periodically, consecutive data points are stored at this + time interval, excluding data loss due to errors. Metrics with a + higher granularity have a smaller sampling period. + type: string parameters: - callback: - description: JSONP + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: callback + name: oauth_token schema: type: string + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string + _.xgafv: + description: V1 error format. + in: query + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + callback: + description: JSONP in: query - name: uploadType + name: callback + schema: + type: string + access_token: + description: OAuth access token. + in: query + name: access_token schema: type: string key: @@ -3857,16 +4061,16 @@ components: name: key schema: type: string - fields: - description: Selector specifying which fields to include in a partial response. + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query - name: fields + name: uploadType schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + fields: + description: Selector specifying which fields to include in a partial response. in: query - name: oauth_token + name: fields schema: type: string alt: @@ -3888,153 +4092,145 @@ components: name: quotaUser schema: type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' x-stackQL-resources: - operations: - id: google.serviceusage.operations - name: operations - title: Operations + services: + id: google.serviceusage.services + name: services + title: Services methods: - delete: + batch_get: operation: - $ref: '#/paths/~1v1~1operations~1{operationsId}/delete' + $ref: '#/paths/~1v1~1{parentType}~1{parent}~1services/get' response: mediaType: application/json openAPIDocKey: '200' - get: + batch_enable: operation: - $ref: '#/paths/~1v1~1operations~1{operationsId}/get' + $ref: '#/paths/~1v1~1{parentType}~1{parent}~1services/post' response: mediaType: application/json openAPIDocKey: '200' - cancel: + disable: operation: - $ref: '#/paths/~1v1~1operations~1{operationsId}:cancel/post' + $ref: '#/paths/~1v1~1{name}/post' response: mediaType: application/json openAPIDocKey: '200' - list: + get: operation: - $ref: '#/paths/~1v1~1operations/get' + $ref: '#/paths/~1v1~1{name}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.operations sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/operations/methods/get' - - $ref: '#/components/x-stackQL-resources/operations/methods/list' + - $ref: '#/components/x-stackQL-resources/services/methods/batch_get' + - $ref: '#/components/x-stackQL-resources/services/methods/get' insert: [] update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/operations/methods/delete' - services: - id: google.serviceusage.services - name: services - title: Services + replace: [] + delete: [] + operations: + id: google.serviceusage.operations + name: operations + title: Operations methods: - batch_get: + get: operation: - $ref: '#/paths/~1v1~1{parentType}~1{parent}~1services/get' + $ref: '#/paths/~1v1~1operations~1{operationsId}/get' response: mediaType: application/json openAPIDocKey: '200' - batch_enable: + delete: operation: - $ref: '#/paths/~1v1~1{parentType}~1{parent}~1services/post' + $ref: '#/paths/~1v1~1operations~1{operationsId}/delete' response: mediaType: application/json openAPIDocKey: '200' - get: + list: operation: - $ref: '#/paths/~1v1~1{name}/get' + $ref: '#/paths/~1v1~1operations/get' response: mediaType: application/json openAPIDocKey: '200' - disable: + objectKey: $.operations + cancel: operation: - $ref: '#/paths/~1v1~1{name}/post' + $ref: '#/paths/~1v1~1operations~1{operationsId}:cancel/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/services/methods/batch_get' - - $ref: '#/components/x-stackQL-resources/services/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/get' + - $ref: '#/components/x-stackQL-resources/operations/methods/list' insert: [] update: [] replace: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/operations/methods/delete' paths: - /v1/operations/{operationsId}: + /v1/{parentType}/{parent}/services: parameters: &ref_1 - - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/upload_protocol' + - $ref: '#/components/parameters/_.xgafv' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/fields' - - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/_.xgafv' - delete: + get: description: >- - 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`. - operationId: serviceusage.operations.delete + Returns the service configurations and enabled states for a given list + of services. + operationId: serviceusage.services.batchGet security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - Oauth2: - - https://www.googleapis.com/auth/service.management + - https://www.googleapis.com/auth/cloud-platform.read-only Oauth2c: - - https://www.googleapis.com/auth/service.management + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/BatchGetServicesResponse' parameters: - in: path - name: operationsId + name: parentType required: true schema: type: string - get: + - in: path + name: parent + required: true + schema: + type: string + - in: query + name: names + schema: + type: string + post: description: >- - 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. - operationId: serviceusage.operations.get + 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. + operationId: serviceusage.services.batchEnable + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchEnableServicesRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4053,29 +4249,31 @@ paths: $ref: '#/components/schemas/Operation' parameters: - in: path - name: operationsId + name: parentType required: true schema: type: string - /v1/operations/{operationsId}:cancel: + - in: path + name: parent + required: true + schema: + type: string + /v1/{name}: parameters: *ref_1 post: description: >- - 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`. - operationId: serviceusage.operations.cancel + 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. + operationId: serviceusage.services.disable requestBody: content: application/json: schema: - $ref: '#/components/schemas/CancelOperationRequest' + $ref: '#/components/schemas/DisableServiceRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4091,104 +4289,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/Operation' parameters: - in: path - name: operationsId + name: name required: true schema: type: string - /v1/operations: - parameters: *ref_1 get: - description: >- - Lists operations that match the specified filter in the request. If the - server doesn't support this method, it returns `UNIMPLEMENTED`. - operationId: serviceusage.operations.list + description: Returns the service configuration and enabled state for a given service. + operationId: serviceusage.services.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - Oauth2: - - https://www.googleapis.com/auth/service.management + - https://www.googleapis.com/auth/cloud-platform.read-only Oauth2c: - - https://www.googleapis.com/auth/service.management + - https://www.googleapis.com/auth/cloud-platform.read-only responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/ListOperationsResponse' + $ref: '#/components/schemas/GoogleApiServiceusageV1Service' parameters: - - in: query - name: pageToken - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query + - in: path name: name + required: true schema: type: string - - in: query - name: filter - schema: - type: string - /v1/{parentType}/{parent}/services: + /v1/operations/{operationsId}: parameters: *ref_1 get: description: >- - Returns the service configurations and enabled states for a given list - of services. - operationId: serviceusage.services.batchGet + 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. + operationId: serviceusage.operations.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/service.management Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/service.management responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/BatchGetServicesResponse' + $ref: '#/components/schemas/Operation' parameters: - in: path - name: parentType - required: true - schema: - type: string - - in: path - name: parent + name: operationsId required: true schema: type: string - - in: query - name: names - schema: - type: string - post: + delete: description: >- - 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. - operationId: serviceusage.services.batchEnable - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchEnableServicesRequest' + 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`. + operationId: serviceusage.operations.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4204,59 +4373,73 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Empty' parameters: - in: path - name: parentType - required: true - schema: - type: string - - in: path - name: parent + name: operationsId required: true schema: type: string - /v1/{name}: + /v1/operations: parameters: *ref_1 get: - description: Returns the service configuration and enabled state for a given service. - operationId: serviceusage.services.get + description: >- + Lists operations that match the specified filter in the request. If the + server doesn't support this method, it returns `UNIMPLEMENTED`. + operationId: serviceusage.operations.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform - Oauth2: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/service.management Oauth2c: - - https://www.googleapis.com/auth/cloud-platform.read-only + - https://www.googleapis.com/auth/service.management responses: '200': description: Successful response content: application/json: schema: - $ref: '#/components/schemas/GoogleApiServiceusageV1Service' + $ref: '#/components/schemas/ListOperationsResponse' parameters: - - in: path + - in: query + name: filter + schema: + type: string + - in: query + name: pageToken + schema: + type: string + - in: query name: name - required: true schema: type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + /v1/operations/{operationsId}:cancel: + parameters: *ref_1 post: description: >- - 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. - operationId: serviceusage.services.disable + 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`. + operationId: serviceusage.operations.cancel requestBody: content: application/json: schema: - $ref: '#/components/schemas/DisableServiceRequest' + $ref: '#/components/schemas/CancelOperationRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -4272,10 +4455,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Operation' + $ref: '#/components/schemas/Empty' parameters: - in: path - name: name + name: operationsId required: true schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/solar.yaml b/providers/src/googleapis.com/v00.00.00000/services/solar.yaml index 356a4d29..6949738e 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/solar.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/solar.yaml @@ -7,8 +7,8 @@ info: title: Solar API description: Solar API. version: v1 - x-discovery-doc-revision: '20240917' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241030' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/maps/documentation/solar servers: @@ -34,160 +34,97 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - Date: - type: object - description: >- - 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 - id: Date + FinancialAnalysis: properties: - month: + monthlyBill: + $ref: '#/components/schemas/Money' + description: The monthly electric bill this analysis assumes. + averageKwhPerMonth: + type: number description: >- - Month of a year. Must be from 1 to 12, or 0 to specify a year - without a month and day. - format: int32 - type: integer - year: - format: int32 + How much electricity the house uses in an average month, based on + the bill size and the local electricity rates. + format: float + financialDetails: description: >- - Year of the date. Must be from 1 to 9999, or 0 to specify a date - without a year. - type: integer - day: - format: int32 + Financial information that applies regardless of the financing + method used. + $ref: '#/components/schemas/FinancialDetails' + defaultBill: + type: boolean description: >- - Day of a month. Must be from 1 to 31 and valid for the year and - month, or 0 to specify a year by itself or a year and month where - the day isn't significant. - type: integer - SolarPanelConfig: - id: SolarPanelConfig - properties: - panelsCount: + Whether this is the bill size selected to be the default bill for + the area this building is in. Exactly one `FinancialAnalysis` in + `BuildingSolarPotential` should have `default_bill` set. + leasingSavings: + $ref: '#/components/schemas/LeasingSavings' + description: Cost and benefit of leasing the solar panels. + cashPurchaseSavings: + $ref: '#/components/schemas/CashPurchaseSavings' + description: Cost and benefit of buying the solar panels with cash. + financedPurchaseSavings: + $ref: '#/components/schemas/FinancedPurchaseSavings' description: >- - Total number of panels. Note that this is redundant to (the sum of) - the corresponding fields in roof_segment_summaries. + Cost and benefit of buying the solar panels by financing the + purchase. + panelConfigIndex: format: int32 type: integer - yearlyEnergyDcKwh: - format: float - type: number - description: >- - How much sunlight energy this layout captures over the course of a - year, in DC kWh, assuming the panels described above. - roofSegmentSummaries: - items: - $ref: '#/components/schemas/RoofSegmentSummary' - type: array description: >- - Information about the production of each roof segment that is - carrying at least one panel in this layout. - `roof_segment_summaries[i]` describes the i-th roof segment, - including its size, expected production and orientation. - description: >- - SolarPanelConfig describes a particular placement of solar panels on the - roof. + Index in solar_panel_configs of the optimum solar layout for this + bill size. This can be -1 indicating that there is no layout. In + this case, the remaining submessages will be omitted. type: object - LatLng: - id: LatLng description: >- - An object that represents a latitude/longitude pair. This is expressed - as a pair of doubles to represent degrees latitude and degrees - longitude. Unless specified otherwise, this object must conform to the - WGS84 standard. Values must be within normalized ranges. + Analysis of the cost and benefits of the optimum solar layout for a + particular electric bill size. + id: FinancialAnalysis + LeasingSavings: properties: - longitude: - type: number - format: double - description: The longitude in degrees. It must be in the range [-180.0, +180.0]. - latitude: - description: The latitude in degrees. It must be in the range [-90.0, +90.0]. - type: number - format: double + savings: + description: How much is saved (or not) over the lifetime period. + $ref: '#/components/schemas/SavingsOverTime' + leasesSupported: + description: >- + Whether leases are supported in this juristiction by the financial + calculation engine. If this field is false, then the values in this + message should probably be ignored. This is independent of + `leases_allowed`: in some areas leases are allowed, but under + conditions that aren't handled by the financial models. + type: boolean + leasesAllowed: + description: >- + Whether leases are allowed in this juristiction (leases are not + allowed in some states). If this field is false, then the values in + this message should probably be ignored. + type: boolean + annualLeasingCost: + description: Estimated annual leasing cost. + $ref: '#/components/schemas/Money' type: object - BuildingInsights: - id: BuildingInsights + id: LeasingSavings description: >- - Response message for `Solar.FindClosestBuildingInsights`. Information - about the location, dimensions, and solar potential of a building. - type: object + Cost and benefit of leasing a particular configuration of solar panels + with a particular electricity usage. + LatLngBox: properties: - administrativeArea: - description: >- - Administrative area 1 (e.g., in the US, the state) that contains - this building. For example, in the US, the abbreviation might be - "MA" or "CA." - type: string - postalCode: - type: string - description: Postal code (e.g., US zip code) this building is contained by. - imageryQuality: - enum: - - IMAGERY_QUALITY_UNSPECIFIED - - HIGH - - MEDIUM - - LOW - - BASE - enumDescriptions: - - No quality is known. - - >- - Solar data is derived from aerial imagery captured at low-altitude - and processed at 0.1 m/pixel. - - >- - Solar data is derived from enhanced aerial imagery captured at - high-altitude and processed at 0.25 m/pixel. - - >- - Solar data is derived from enhanced satellite imagery processed at - 0.25 m/pixel. - - >- - Solar data is derived from enhanced satellite imagery processed at - 0.25 m/pixel. - type: string - description: >- - The quality of the imagery used to compute the data for this - building. - center: - description: A point near the center of the building. + ne: $ref: '#/components/schemas/LatLng' - solarPotential: - description: Solar potential of the building. - $ref: '#/components/schemas/SolarPotential' - statisticalArea: - type: string - description: Statistical area (e.g., US census tract) this building is in. - imageryDate: - $ref: '#/components/schemas/Date' - description: Date that the underlying imagery was acquired. This is approximate. - name: - type: string - description: The resource name for the building, of the format `building/`. - imageryProcessedDate: - $ref: '#/components/schemas/Date' - description: When processing was completed on this imagery. - boundingBox: - $ref: '#/components/schemas/LatLngBox' - description: The bounding box of the building. - regionCode: - type: string - description: Region code for the country (or region) this building is in. - Money: - description: Represents an amount of money with its currency type. - id: Money + description: The northeast corner of the box. + sw: + $ref: '#/components/schemas/LatLng' + description: The southwest corner of the box. + description: A bounding box in lat/lng coordinates. type: object + id: LatLngBox + Money: properties: units: - format: int64 + type: string description: >- The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. - type: string + format: int64 currencyCode: type: string description: The three-letter currency code defined in ISO 4217. @@ -201,131 +138,181 @@ components: as `units`=-1 and `nanos`=-750,000,000. type: integer format: int32 + description: Represents an amount of money with its currency type. + id: Money + type: object FinancedPurchaseSavings: type: object - description: >- - Cost and benefit of using a loan to buy a particular configuration of - solar panels with a particular electricity usage. + id: FinancedPurchaseSavings properties: loanInterestRate: format: float type: number description: The interest rate on loans assumed in this set of calculations. - annualLoanPayment: - description: Annual loan payments. - $ref: '#/components/schemas/Money' + savings: + description: How much is saved (or not) over the lifetime period. + $ref: '#/components/schemas/SavingsOverTime' rebateValue: - $ref: '#/components/schemas/Money' description: >- The value of all tax rebates (including Federal Investment Tax Credit (ITC)). - savings: - $ref: '#/components/schemas/SavingsOverTime' - description: How much is saved (or not) over the lifetime period. - id: FinancedPurchaseSavings + $ref: '#/components/schemas/Money' + annualLoanPayment: + description: Annual loan payments. + $ref: '#/components/schemas/Money' + description: >- + Cost and benefit of using a loan to buy a particular configuration of + solar panels with a particular electricity usage. + LatLng: + id: LatLng + properties: + latitude: + format: double + description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + type: number + longitude: + type: number + format: double + description: The longitude in degrees. It must be in the range [-180.0, +180.0]. + type: object + description: >- + An object that represents a latitude/longitude pair. This is expressed + as a pair of doubles to represent degrees latitude and degrees + longitude. Unless specified otherwise, this object must conform to the + WGS84 standard. Values must be within normalized ranges. CashPurchaseSavings: + type: object + id: CashPurchaseSavings properties: + savings: + description: How much is saved (or not) over the lifetime period. + $ref: '#/components/schemas/SavingsOverTime' + paybackYears: + format: float + type: number + description: >- + Number of years until payback occurs. A negative value means payback + never occurs within the lifetime period. rebateValue: $ref: '#/components/schemas/Money' description: The value of all tax rebates. outOfPocketCost: + $ref: '#/components/schemas/Money' description: >- Initial cost before tax incentives: the amount that must be paid out-of-pocket. Contrast with `upfront_cost`, which is after tax incentives. - $ref: '#/components/schemas/Money' - paybackYears: - type: number - format: float - description: >- - Number of years until payback occurs. A negative value means payback - never occurs within the lifetime period. - savings: - $ref: '#/components/schemas/SavingsOverTime' - description: How much is saved (or not) over the lifetime period. upfrontCost: + $ref: '#/components/schemas/Money' description: >- Initial cost after tax incentives: it's the amount that must be paid during first year. Contrast with `out_of_pocket_cost`, which is before tax incentives. - $ref: '#/components/schemas/Money' - type: object - id: CashPurchaseSavings description: >- Cost and benefit of an outright purchase of a particular configuration of solar panels with a particular electricity usage. - RoofSegmentSizeAndSunshineStats: + SolarPanelConfig: + id: SolarPanelConfig + description: >- + SolarPanelConfig describes a particular placement of solar panels on the + roof. properties: - azimuthDegrees: + roofSegmentSummaries: + items: + $ref: '#/components/schemas/RoofSegmentSummary' + type: array + description: >- + Information about the production of each roof segment that is + carrying at least one panel in this layout. + `roof_segment_summaries[i]` describes the i-th roof segment, + including its size, expected production and orientation. + yearlyEnergyDcKwh: + description: >- + How much sunlight energy this layout captures over the course of a + year, in DC kWh, assuming the panels described above. + type: number + format: float + panelsCount: + type: integer + format: int32 + description: >- + Total number of panels. Note that this is redundant to (the sum of) + the corresponding fields in roof_segment_summaries. + type: object + RoofSegmentSummary: + description: >- + Information about a roof segment on the building, with some number of + panels placed on it. + properties: + panelsCount: + type: integer + format: int32 + description: The total number of panels on this segment. + segmentIndex: + type: integer + format: int32 + description: >- + Index in roof_segment_stats of the corresponding + `RoofSegmentSizeAndSunshineStats`. + yearlyEnergyDcKwh: format: float type: number + description: >- + How much sunlight energy this part of the layout captures over the + course of a year, in DC kWh, assuming the panels described above. + azimuthDegrees: + type: number + format: float description: >- Compass direction the roof segment is pointing in. 0 = North, 90 = East, 180 = South. For a "flat" roof segment (`pitch_degrees` very near 0), azimuth is not well defined, so for consistency, we define it arbitrarily to be 0 (North). pitchDegrees: - format: float - type: number description: >- Angle of the roof segment relative to the theoretical ground plane. 0 = parallel to the ground, 90 = perpendicular to the ground. - center: - $ref: '#/components/schemas/LatLng' - description: A point near the center of the roof segment. - planeHeightAtCenterMeters: - description: >- - The height of the roof segment plane, in meters above sea level, at - the point designated by `center`. Together with the pitch, azimuth, - and center location, this fully defines the roof segment plane. - format: float type: number - stats: - $ref: '#/components/schemas/SizeAndSunshineStats' - description: Total size and sunlight quantiles for the roof segment. - boundingBox: - description: The bounding box of the roof segment. - $ref: '#/components/schemas/LatLngBox' + format: float + id: RoofSegmentSummary type: object - description: Information about the size and sunniness quantiles of a roof segment. - id: RoofSegmentSizeAndSunshineStats - DataLayers: + BuildingInsights: properties: - imageryProcessedDate: - description: When processing was completed on this imagery. - $ref: '#/components/schemas/Date' - annualFluxUrl: - type: string + administrativeArea: description: >- - 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. - rgbUrl: - description: The URL for an image of RGB data (aerial photo) of the region. + Administrative area 1 (e.g., in the US, the state) that contains + this building. For example, in the US, the abbreviation might be + "MA" or "CA." + type: string + name: + description: The resource name for the building, of the format `building/`. + type: string + boundingBox: + description: The bounding box of the building. + $ref: '#/components/schemas/LatLngBox' + center: + description: A point near the center of the building. + $ref: '#/components/schemas/LatLng' + regionCode: type: string + description: Region code for the country (or region) this building is in. imageryDate: + description: Date that the underlying imagery was acquired. This is approximate. $ref: '#/components/schemas/Date' - description: >- - When the source imagery (from which all the other data are derived) - in this region was taken. It is necessarily somewhat approximate, as - the images may have been taken over more than one day. - dsmUrl: - description: >- - 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. + postalCode: + type: string + description: Postal code (e.g., US zip code) this building is contained by. + imageryProcessedDate: + $ref: '#/components/schemas/Date' + description: When processing was completed on this imagery. + statisticalArea: type: string + description: Statistical area (e.g., US census tract) this building is in. + solarPotential: + description: Solar potential of the building. + $ref: '#/components/schemas/SolarPotential' imageryQuality: type: string - enum: - - IMAGERY_QUALITY_UNSPECIFIED - - HIGH - - MEDIUM - - LOW - - BASE enumDescriptions: - No quality is known. - >- @@ -340,178 +327,143 @@ components: - >- Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel. - description: The quality of the result's imagery. - hourlyShadeUrls: - type: array - items: - type: string - description: >- - 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). - monthlyFluxUrl: - type: string - description: >- - 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. - maskUrl: - type: string + enum: + - IMAGERY_QUALITY_UNSPECIFIED + - HIGH + - MEDIUM + - LOW + - BASE description: >- - 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. - id: DataLayers + The quality of the imagery used to compute the data for this + building. + id: BuildingInsights description: >- - Information about the solar potential of a region. The actual data are - contained in a number of GeoTIFF files covering the requested region, - for which this message contains URLs: Each string in the `DataLayers` - message contains a URL from which the corresponding GeoTIFF can be - fetched. These URLs are valid for a few hours after they've been - generated. Most of the GeoTIFF files are at a resolution of 0.1m/pixel, - but the monthly flux file is at 0.5m/pixel, and the hourly shade files - are at 1m/pixel. If a `pixel_size_meters` value was specified in the - `GetDataLayersRequest`, then the minimum resolution in the GeoTIFF files - will be that value. + Response message for `Solar.FindClosestBuildingInsights`. Information + about the location, dimensions, and solar potential of a building. type: object - FinancialDetails: + RoofSegmentSizeAndSunshineStats: + description: Information about the size and sunniness quantiles of a roof segment. type: object - description: >- - Details of a financial analysis. Some of these details are already - stored at higher levels (e.g., out of pocket cost). Total money amounts - are over a lifetime period defined by the panel_lifetime_years field in - SolarPotential. Note: The out of pocket cost of purchasing the panels is - given in the out_of_pocket_cost field in CashPurchaseSavings. - id: FinancialDetails + id: RoofSegmentSizeAndSunshineStats properties: - lifetimeSrecTotal: - $ref: '#/components/schemas/Money' - description: >- - Amount of money the user will receive from Solar Renewable Energy - Credits over the panel lifetime; this applies if the user buys (with - or without a loan) the panels. - netMeteringAllowed: - description: Whether net metering is allowed. - type: boolean - percentageExportedToGrid: - format: float + pitchDegrees: type: number description: >- - The percentage (0-100) of solar electricity production we assumed - was exported to the grid, based on the first quarter of production. - This affects the calculations if net metering is not allowed. - initialAcKwhPerYear: + Angle of the roof segment relative to the theoretical ground plane. + 0 = parallel to the ground, 90 = perpendicular to the ground. + format: float + azimuthDegrees: description: >- - How many AC kWh we think the solar panels will generate in their - first year. + Compass direction the roof segment is pointing in. 0 = North, 90 = + East, 180 = South. For a "flat" roof segment (`pitch_degrees` very + near 0), azimuth is not well defined, so for consistency, we define + it arbitrarily to be 0 (North). type: number format: float - remainingLifetimeUtilityBill: - description: >- - Utility bill for electricity not produced by solar, for the lifetime - of the panels. - $ref: '#/components/schemas/Money' - federalIncentive: - description: >- - Amount of money available from federal incentives; this applies if - the user buys (with or without a loan) the panels. - $ref: '#/components/schemas/Money' - costOfElectricityWithoutSolar: + planeHeightAtCenterMeters: + description: >- + The height of the roof segment plane, in meters above sea level, at + the point designated by `center`. Together with the pitch, azimuth, + and center location, this fully defines the roof segment plane. + type: number + format: float + stats: + $ref: '#/components/schemas/SizeAndSunshineStats' + description: Total size and sunlight quantiles for the roof segment. + boundingBox: + $ref: '#/components/schemas/LatLngBox' + description: The bounding box of the roof segment. + center: + $ref: '#/components/schemas/LatLng' + description: A point near the center of the roof segment. + FinancialDetails: + properties: + stateIncentive: + $ref: '#/components/schemas/Money' + description: >- + Amount of money available from state incentives; this applies if the + user buys (with or without a loan) the panels. + costOfElectricityWithoutSolar: description: >- Total cost of electricity the user would have paid over the lifetime period if they didn't install solar. $ref: '#/components/schemas/Money' + percentageExportedToGrid: + format: float + type: number + description: >- + The percentage (0-100) of solar electricity production we assumed + was exported to the grid, based on the first quarter of production. + This affects the calculations if net metering is not allowed. + netMeteringAllowed: + description: Whether net metering is allowed. + type: boolean utilityIncentive: + $ref: '#/components/schemas/Money' description: >- Amount of money available from utility incentives; this applies if the user buys (with or without a loan) the panels. + remainingLifetimeUtilityBill: + description: >- + Utility bill for electricity not produced by solar, for the lifetime + of the panels. $ref: '#/components/schemas/Money' - stateIncentive: + federalIncentive: description: >- - Amount of money available from state incentives; this applies if the - user buys (with or without a loan) the panels. + Amount of money available from federal incentives; this applies if + the user buys (with or without a loan) the panels. $ref: '#/components/schemas/Money' - solarPercentage: + initialAcKwhPerYear: + description: >- + How many AC kWh we think the solar panels will generate in their + first year. type: number format: float + solarPercentage: + format: float description: >- Percentage (0-100) of the user's power supplied by solar. Valid for the first year but approximately correct for future years. - HttpBody: - type: object - properties: - extensions: - description: >- - Application specific response metadata. Must be set in the first - response for streaming APIs. - type: array - items: - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - type: object - contentType: - type: string + type: number + lifetimeSrecTotal: + $ref: '#/components/schemas/Money' description: >- - The HTTP Content-Type header value specifying the content type of - the body. - data: - description: The HTTP request/response body as raw binary. - type: string - format: byte + Amount of money the user will receive from Solar Renewable Energy + Credits over the panel lifetime; this applies if the user buys (with + or without a loan) the panels. description: >- - Message that represents an arbitrary HTTP body. It should only be used - for payload formats that can't be represented as JSON, such as raw - binary or an HTML page. This message can be used both in streaming and - non-streaming API methods in the request as well as the response. It can - be used as a top-level request field, which is convenient if one wants - to extract parameters from either the URL or HTTP template into the - request fields and also want access to the raw HTTP body. Example: - message GetResourceRequest { // A unique request id. string request_id = - 1; // The raw HTTP body is bound to this field. google.api.HttpBody - http_body = 2; } service ResourceService { rpc - GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } - Example with streaming methods: service CaldavService { rpc - GetCalendar(stream google.api.HttpBody) returns (stream - google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) - returns (stream google.api.HttpBody); } Use of this type only changes - how the request and response bodies are handled, all other features will - continue to work unchanged. - id: HttpBody + Details of a financial analysis. Some of these details are already + stored at higher levels (e.g., out of pocket cost). Total money amounts + are over a lifetime period defined by the panel_lifetime_years field in + SolarPotential. Note: The out of pocket cost of purchasing the panels is + given in the out_of_pocket_cost field in CashPurchaseSavings. + id: FinancialDetails + type: object SolarPanel: type: object + id: SolarPanel description: >- SolarPanel describes the position, orientation, and production of a single solar panel. See the panel_height_meters, panel_width_meters, and panel_capacity_watts fields in SolarPotential for information on the parameters of the panel. - id: SolarPanel properties: center: description: The centre of the panel. $ref: '#/components/schemas/LatLng' + segmentIndex: + description: >- + Index in roof_segment_stats of the `RoofSegmentSizeAndSunshineStats` + which corresponds to the roof segment that this panel is placed on. + type: integer + format: int32 orientation: + type: string + enum: + - SOLAR_PANEL_ORIENTATION_UNSPECIFIED + - LANDSCAPE + - PORTRAIT + description: The orientation of the panel. enumDescriptions: - No panel orientation is known. - >- @@ -520,106 +472,59 @@ components: - >- A `PORTRAIT` panel has its long edge parallel to the azimuth direction of the roof segment that it is placed on. - type: string - enum: - - SOLAR_PANEL_ORIENTATION_UNSPECIFIED - - LANDSCAPE - - PORTRAIT - description: The orientation of the panel. yearlyEnergyDcKwh: + type: number + format: float description: >- How much sunlight energy this layout captures over the course of a year, in DC kWh. - format: float - type: number - segmentIndex: - format: int32 - description: >- - Index in roof_segment_stats of the `RoofSegmentSizeAndSunshineStats` - which corresponds to the roof segment that this panel is placed on. - type: integer - FinancialAnalysis: - type: object - id: FinancialAnalysis - description: >- - Analysis of the cost and benefits of the optimum solar layout for a - particular electric bill size. + SolarPotential: + id: SolarPotential properties: - financialDetails: - $ref: '#/components/schemas/FinancialDetails' - description: >- - Financial information that applies regardless of the financing - method used. - monthlyBill: - $ref: '#/components/schemas/Money' - description: The monthly electric bill this analysis assumes. - defaultBill: - description: >- - Whether this is the bill size selected to be the default bill for - the area this building is in. Exactly one `FinancialAnalysis` in - `BuildingSolarPotential` should have `default_bill` set. - type: boolean - leasingSavings: - $ref: '#/components/schemas/LeasingSavings' - description: Cost and benefit of leasing the solar panels. - averageKwhPerMonth: + maxSunshineHoursPerYear: type: number description: >- - How much electricity the house uses in an average month, based on - the bill size and the local electricity rates. + Maximum number of sunshine hours received per year, by any point on + the roof. Sunshine hours are a measure of the total amount of + insolation (energy) received per year. 1 sunshine hour = 1 kWh per + kW (where kW refers to kW of capacity under Standard Testing + Conditions). format: float - financedPurchaseSavings: - $ref: '#/components/schemas/FinancedPurchaseSavings' + solarPanelConfigs: + items: + $ref: '#/components/schemas/SolarPanelConfig' description: >- - Cost and benefit of buying the solar panels by financing the - purchase. - cashPurchaseSavings: - description: Cost and benefit of buying the solar panels with cash. - $ref: '#/components/schemas/CashPurchaseSavings' - panelConfigIndex: + Each SolarPanelConfig describes a different arrangement of solar + panels on the roof. They are in order of increasing number of + panels. The `SolarPanelConfig` with panels_count=N is based on the + first N panels in the `solar_panels` list. This field is only + populated if at least 4 panels can fit on a roof. + type: array + carbonOffsetFactorKgPerMwh: description: >- - Index in solar_panel_configs of the optimum solar layout for this - bill size. This can be -1 indicating that there is no layout. In - this case, the remaining submessages will be omitted. + Equivalent amount of CO2 produced per MWh of grid electricity. This + is a measure of the carbon intensity of grid electricity displaced + by solar electricity. + type: number + format: float + maxArrayPanelsCount: type: integer format: int32 - LeasingSavings: - type: object - description: >- - Cost and benefit of leasing a particular configuration of solar panels - with a particular electricity usage. - properties: - leasesSupported: - type: boolean - description: >- - Whether leases are supported in this juristiction by the financial - calculation engine. If this field is false, then the values in this - message should probably be ignored. This is independent of - `leases_allowed`: in some areas leases are allowed, but under - conditions that aren't handled by the financial models. - savings: - description: How much is saved (or not) over the lifetime period. - $ref: '#/components/schemas/SavingsOverTime' - leasesAllowed: - type: boolean description: >- - Whether leases are allowed in this juristiction (leases are not - allowed in some states). If this field is false, then the values in - this message should probably be ignored. - annualLeasingCost: - $ref: '#/components/schemas/Money' - description: Estimated annual leasing cost. - id: LeasingSavings - SolarPotential: - properties: - panelLifetimeYears: - type: integer + Size of the maximum array - that is, the maximum number of panels + that can fit on the roof. + panelWidthMeters: + type: number description: >- - The expected lifetime, in years, of the solar panels. This is used - in the financial calculations. - format: int32 + Width, in meters in portrait orientation, of the panel used in the + calculations. + format: float + roofSegmentStats: + items: + $ref: '#/components/schemas/RoofSegmentSizeAndSunshineStats' + description: Size and sunlight quantiles for each roof segment. + type: array buildingStats: - $ref: '#/components/schemas/SizeAndSunshineStats' description: >- Size and sunlight quantiles for the entire building, including parts of the roof that were not assigned to some roof segment. Because the @@ -629,41 +534,8 @@ components: can be obtained by scaling the roof area from whole_roof_stats by the ratio of the ground areas of `building_stats` and `whole_roof_stats`. - panelCapacityWatts: - description: Capacity, in watts, of the panel used in the calculations. - format: float - type: number - roofSegmentStats: - type: array - items: - $ref: '#/components/schemas/RoofSegmentSizeAndSunshineStats' - description: Size and sunlight quantiles for each roof segment. - wholeRoofStats: - description: >- - Total size and sunlight quantiles for the part of the roof that was - assigned to some roof segment. Despite the name, this may not - include the entire building. See building_stats. - $ref: '#/components/schemas/SizeAndSunshineStats' - solarPanelConfigs: - description: >- - Each SolarPanelConfig describes a different arrangement of solar - panels on the roof. They are in order of increasing number of - panels. The `SolarPanelConfig` with panels_count=N is based on the - first N panels in the `solar_panels` list. This field is only - populated if at least 4 panels can fit on a roof. - type: array - items: - $ref: '#/components/schemas/SolarPanelConfig' - solarPanels: - description: >- - Each SolarPanel describes a single solar panel. They are listed in - the order that the panel layout algorithm placed this. This is - usually, though not always, in decreasing order of annual energy - production. - type: array - items: - $ref: '#/components/schemas/SolarPanel' - financialAnalyses: + $ref: '#/components/schemas/SizeAndSunshineStats' + financialAnalyses: type: array description: >- A FinancialAnalysis gives the savings from going solar assuming a @@ -673,87 +545,86 @@ components: enough information to perform financial computations. items: $ref: '#/components/schemas/FinancialAnalysis' - maxArrayPanelsCount: - description: >- - Size of the maximum array - that is, the maximum number of panels - that can fit on the roof. - format: int32 + panelLifetimeYears: type: integer - carbonOffsetFactorKgPerMwh: - type: number - description: >- - Equivalent amount of CO2 produced per MWh of grid electricity. This - is a measure of the carbon intensity of grid electricity displaced - by solar electricity. - format: float - panelHeightMeters: + format: int32 description: >- - Height, in meters in portrait orientation, of the panel used in the - calculations. + The expected lifetime, in years, of the solar panels. This is used + in the financial calculations. + panelCapacityWatts: + description: Capacity, in watts, of the panel used in the calculations. type: number format: float - maxSunshineHoursPerYear: + solarPanels: + items: + $ref: '#/components/schemas/SolarPanel' + type: array description: >- - Maximum number of sunshine hours received per year, by any point on - the roof. Sunshine hours are a measure of the total amount of - insolation (energy) received per year. 1 sunshine hour = 1 kWh per - kW (where kW refers to kW of capacity under Standard Testing - Conditions). - format: float - type: number - panelWidthMeters: + Each SolarPanel describes a single solar panel. They are listed in + the order that the panel layout algorithm placed this. This is + usually, though not always, in decreasing order of annual energy + production. + wholeRoofStats: description: >- - Width, in meters in portrait orientation, of the panel used in the - calculations. + Total size and sunlight quantiles for the part of the roof that was + assigned to some roof segment. Despite the name, this may not + include the entire building. See building_stats. + $ref: '#/components/schemas/SizeAndSunshineStats' + maxArrayAreaMeters2: format: float type: number - maxArrayAreaMeters2: description: Size, in square meters, of the maximum array. - type: number + panelHeightMeters: format: float - type: object - id: SolarPotential + description: >- + Height, in meters in portrait orientation, of the panel used in the + calculations. + type: number description: >- Information about the solar potential of a building. A number of fields in this are defined in terms of "panels". The fields panel_capacity_watts, panel_height_meters, and panel_width_meters describe the parameters of the model of panel used in these calculations. - SizeAndSunshineStats: type: object + Date: + type: object + id: Date properties: - groundAreaMeters2: - type: number + day: description: >- - The ground footprint area covered by the roof or roof segment, in - m^2. - format: float - sunshineQuantiles: + Day of a month. Must be from 1 to 31 and valid for the year and + month, or 0 to specify a year by itself or a year and month where + the day isn't significant. + type: integer + format: int32 + year: description: >- - Quantiles of the pointwise sunniness across the area. If there are N - values here, this represents the (N-1)-iles. For example, if there - are 5 values, then they would be the quartiles (min, 25%, 50%, 75%, - max). Values are in annual kWh/kW like max_sunshine_hours_per_year. - items: - type: number - format: float - type: array - areaMeters2: + Year of the date. Must be from 1 to 9999, or 0 to specify a date + without a year. + type: integer + format: int32 + month: + format: int32 description: >- - The area of the roof or roof segment, in m^2. This is the roof area - (accounting for tilt), not the ground footprint area. - format: float - type: number - id: SizeAndSunshineStats - description: Size and sunniness quantiles of a roof, or part of a roof. + Month of a year. Must be from 1 to 12, or 0 to specify a year + without a month and day. + type: integer + description: >- + 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 SavingsOverTime: - description: Financial information that's shared between different financing methods. properties: - presentValueOfSavingsLifetime: + savingsYear1: + description: Savings in the first year after panel installation. $ref: '#/components/schemas/Money' - description: >- - Using the assumed discount rate, what is the present value of the - cumulative lifetime savings? financiallyViable: description: >- Indicates whether this scenario is financially viable. Will be false @@ -764,70 +635,208 @@ components: description: >- Using the assumed discount rate, what is the present value of the cumulative 20-year savings? - savingsYear1: - description: Savings in the first year after panel installation. - $ref: '#/components/schemas/Money' savingsYear20: - $ref: '#/components/schemas/Money' description: Savings in the first twenty years after panel installation. - savingsLifetime: $ref: '#/components/schemas/Money' + savingsLifetime: description: Savings in the entire panel lifetime. - type: object + $ref: '#/components/schemas/Money' + presentValueOfSavingsLifetime: + $ref: '#/components/schemas/Money' + description: >- + Using the assumed discount rate, what is the present value of the + cumulative lifetime savings? + description: Financial information that's shared between different financing methods. id: SavingsOverTime - LatLngBox: + type: object + SizeAndSunshineStats: + id: SizeAndSunshineStats properties: - ne: - $ref: '#/components/schemas/LatLng' - description: The northeast corner of the box. - sw: - $ref: '#/components/schemas/LatLng' - description: The southwest corner of the box. - description: A bounding box in lat/lng coordinates. - id: LatLngBox + sunshineQuantiles: + description: >- + Quantiles of the pointwise sunniness across the area. If there are N + values here, this represents the (N-1)-iles. For example, if there + are 5 values, then they would be the quartiles (min, 25%, 50%, 75%, + max). Values are in annual kWh/kW like max_sunshine_hours_per_year. + items: + format: float + type: number + type: array + groundAreaMeters2: + type: number + format: float + description: >- + The ground footprint area covered by the roof or roof segment, in + m^2. + areaMeters2: + type: number + format: float + description: >- + The area of the roof or roof segment, in m^2. This is the roof area + (accounting for tilt), not the ground footprint area. type: object - RoofSegmentSummary: + description: Size and sunniness quantiles of a roof, or part of a roof. + HttpBody: + id: HttpBody + description: >- + Message that represents an arbitrary HTTP body. It should only be used + for payload formats that can't be represented as JSON, such as raw + binary or an HTML page. This message can be used both in streaming and + non-streaming API methods in the request as well as the response. It can + be used as a top-level request field, which is convenient if one wants + to extract parameters from either the URL or HTTP template into the + request fields and also want access to the raw HTTP body. Example: + message GetResourceRequest { // A unique request id. string request_id = + 1; // The raw HTTP body is bound to this field. google.api.HttpBody + http_body = 2; } service ResourceService { rpc + GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + Example with streaming methods: service CaldavService { rpc + GetCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + returns (stream google.api.HttpBody); } Use of this type only changes + how the request and response bodies are handled, all other features will + continue to work unchanged. + properties: + extensions: + type: array + description: >- + Application specific response metadata. Must be set in the first + response for streaming APIs. + items: + type: object + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any + data: + description: The HTTP request/response body as raw binary. + format: byte + type: string + contentType: + type: string + description: >- + The HTTP Content-Type header value specifying the content type of + the body. type: object - id: RoofSegmentSummary + DataLayers: description: >- - Information about a roof segment on the building, with some number of - panels placed on it. + Information about the solar potential of a region. The actual data are + contained in a number of GeoTIFF files covering the requested region, + for which this message contains URLs: Each string in the `DataLayers` + message contains a URL from which the corresponding GeoTIFF can be + fetched. These URLs are valid for a few hours after they've been + generated. Most of the GeoTIFF files are at a resolution of 0.1m/pixel, + but the monthly flux file is at 0.5m/pixel, and the hourly shade files + are at 1m/pixel. If a `pixel_size_meters` value was specified in the + `GetDataLayersRequest`, then the minimum resolution in the GeoTIFF files + will be that value. + type: object + id: DataLayers properties: - yearlyEnergyDcKwh: - format: float - type: number + hourlyShadeUrls: + type: array + items: + type: string description: >- - How much sunlight energy this part of the layout captures over the - course of a year, in DC kWh, assuming the panels described above. - pitchDegrees: + 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). + imageryQuality: + enum: + - IMAGERY_QUALITY_UNSPECIFIED + - HIGH + - MEDIUM + - LOW + - BASE + enumDescriptions: + - No quality is known. + - >- + Solar data is derived from aerial imagery captured at low-altitude + and processed at 0.1 m/pixel. + - >- + Solar data is derived from enhanced aerial imagery captured at + high-altitude and processed at 0.25 m/pixel. + - >- + Solar data is derived from enhanced satellite imagery processed at + 0.25 m/pixel. + - >- + Solar data is derived from enhanced satellite imagery processed at + 0.25 m/pixel. + description: The quality of the result's imagery. + type: string + dsmUrl: + description: >- + 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. + type: string + monthlyFluxUrl: + type: string + description: >- + 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. + maskUrl: + type: string description: >- - Angle of the roof segment relative to the theoretical ground plane. - 0 = parallel to the ground, 90 = perpendicular to the ground. - format: float - type: number - azimuthDegrees: + 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. + imageryProcessedDate: + description: When processing was completed on this imagery. + $ref: '#/components/schemas/Date' + annualFluxUrl: + type: string description: >- - Compass direction the roof segment is pointing in. 0 = North, 90 = - East, 180 = South. For a "flat" roof segment (`pitch_degrees` very - near 0), azimuth is not well defined, so for consistency, we define - it arbitrarily to be 0 (North). - type: number - format: float - segmentIndex: - type: integer - format: int32 + 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. + rgbUrl: + type: string + description: The URL for an image of RGB data (aerial photo) of the region. + imageryDate: + $ref: '#/components/schemas/Date' description: >- - Index in roof_segment_stats of the corresponding - `RoofSegmentSizeAndSunshineStats`. - panelsCount: - format: int32 - type: integer - description: The total number of panels on this segment. + When the source imagery (from which all the other data are derived) + in this region was taken. It is necessarily somewhat approximate, as + the images may have been taken over more than one day. parameters: - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). + _.xgafv: + description: V1 error format. in: query - name: uploadType + name: $.xgafv + schema: + type: string + enum: + - '1' + - '2' + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol schema: type: string quotaUser: @@ -839,6 +848,24 @@ components: name: quotaUser schema: type: string + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType + schema: + type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string key: description: >- API key. Your API key identifies your project and provides you with API @@ -848,6 +875,18 @@ components: name: key schema: type: string + prettyPrint: + description: Returns response with indentations and line breaks. + in: query + name: prettyPrint + schema: + type: boolean + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string alt: description: Data format for response. in: query @@ -858,66 +897,26 @@ components: - json - media - proto - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - _.xgafv: - description: V1 error format. - in: query - name: $.xgafv - schema: - type: string - enum: - - '1' - - '2' - callback: - description: JSONP - in: query - name: callback - schema: - type: string - prettyPrint: - description: Returns response with indentations and line breaks. - in: query - name: prettyPrint - schema: - type: boolean x-stackQL-resources: - geo_tiff: - id: google.solar.geo_tiff - name: geo_tiff - title: Geo_tiff + building_insights: + id: google.solar.building_insights + name: building_insights + title: Building_insights methods: - get: + find_closest: operation: - $ref: '#/paths/~1v1~1geoTiff:get/get' + $ref: '#/paths/~1v1~1buildingInsights:findClosest/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/geo_tiff/methods/get' + select: [] insert: [] update: [] replace: [] @@ -940,40 +939,44 @@ components: update: [] replace: [] delete: [] - building_insights: - id: google.solar.building_insights - name: building_insights - title: Building_insights + geo_tiff: + id: google.solar.geo_tiff + name: geo_tiff + title: Geo_tiff methods: - find_closest: + get: operation: - $ref: '#/paths/~1v1~1buildingInsights:findClosest/get' + $ref: '#/paths/~1v1~1geoTiff:get/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/geo_tiff/methods/get' insert: [] update: [] replace: [] delete: [] paths: - /v1/geoTiff:get: + /v1/buildingInsights:findClosest: parameters: &ref_1 - - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/upload_protocol' - $ref: '#/components/parameters/quotaUser' - - $ref: '#/components/parameters/key' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/_.xgafv' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/fields' get: - description: Returns an image by its ID. - operationId: solar.geoTiff.get + description: >- + 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. + operationId: solar.buildingInsights.findClosest security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -985,10 +988,24 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/HttpBody' + $ref: '#/components/schemas/BuildingInsights' parameters: - in: query - name: id + name: requiredQuality + schema: + type: string + - in: query + name: location.longitude + schema: + type: number + format: double + - in: query + name: location.latitude + schema: + type: number + format: double + - in: query + name: experiments schema: type: string /v1/dataLayers:get: @@ -1013,49 +1030,46 @@ paths: $ref: '#/components/schemas/DataLayers' parameters: - in: query - name: location.latitude + name: radiusMeters schema: type: number - format: double + format: float - in: query name: requiredQuality schema: type: string - in: query - name: location.longitude - schema: - type: number - format: double - - in: query - name: exactQualityRequired + name: view schema: - type: boolean + type: string - in: query - name: experiments + name: location.latitude schema: - type: string + type: number + format: double - in: query name: pixelSizeMeters schema: type: number format: float - in: query - name: view + name: exactQualityRequired schema: - type: string + type: boolean - in: query - name: radiusMeters + name: location.longitude schema: type: number - format: float - /v1/buildingInsights:findClosest: + format: double + - in: query + name: experiments + schema: + type: string + /v1/geoTiff:get: parameters: *ref_1 get: - description: >- - 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. - operationId: solar.buildingInsights.findClosest + description: Returns an image by its ID. + operationId: solar.geoTiff.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1067,23 +1081,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/BuildingInsights' + $ref: '#/components/schemas/HttpBody' parameters: - in: query - name: location.longitude - schema: - type: number - format: double - - in: query - name: location.latitude - schema: - type: number - format: double - - in: query - name: requiredQuality - schema: - type: string - - in: query - name: experiments + name: id schema: type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/spanner.yaml b/providers/src/googleapis.com/v00.00.00000/services/spanner.yaml index f690df26..d72d1b80 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/spanner.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/spanner.yaml @@ -9,8 +9,8 @@ info: Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service. version: v1 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241028' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/spanner/ servers: @@ -672,7 +672,7 @@ components: 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 + `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 @@ -797,19 +797,20 @@ components: type: string kmsKeyNames: description: >- - Specifies the KMS configuration for the one or more keys used to - encrypt the database. Values are of the form + Specifies the KMS configuration for one or more keys used to encrypt + the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by - kms_key_names must fully cover all regions of the database instance - configuration. Some examples: * For single region database instance - configs, specify a single regional location KMS key. * For - multi-regional database instance configs of type GOOGLE_MANAGED, - either specify a multi-regional location KMS key or multiple - regional location KMS keys that cover all regions in the instance - config. * For a database instance config of type USER_MANAGED, - please specify only regional location KMS keys to cover each region - in the instance config. Multi-regional location KMS keys are not - supported for USER_MANAGED instance configs. + `kms_key_names` must fully cover all regions of the database's + instance configuration. Some examples: * For regional + (single-region) instance configurations, specify a regional location + KMS key. * For multi-region instance configurations of type + `GOOGLE_MANAGED`, either specify a multi-region location KMS key or + multiple regional location KMS keys that cover all regions in the + instance configuration. * For an instance configuration of type + `USER_MANAGED`, specify only regional location KMS keys to cover + each region in the instance configuration. Multi-region location KMS + keys aren't supported for `USER_MANAGED` type instance + configurations. type: array items: type: string @@ -1007,7 +1008,7 @@ components: explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and - `operation_id` fields can be combined to form the name of the + `operation_id` fields can be combined to form the `name` of the resulting longrunning.Operation: `/operations/`. `operation_id` should be unique within the database, and must be a valid identifier: `a-z*`. Note that automatically-generated operation IDs @@ -1473,7 +1474,7 @@ components: 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 + `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. @@ -1624,17 +1625,18 @@ components: description: >- Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form - `projects//locations//keyRings//cryptoKeys/`. Kms keys specified can - be in any order. The keys referenced by kms_key_names must fully + `projects//locations//keyRings//cryptoKeys/`. KMS keys specified can + be in any order. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some - examples: * For single region instance configs, specify a single - regional location KMS key. * For multi-regional instance configs of - type GOOGLE_MANAGED, either specify a multi-regional location KMS - key or multiple regional location KMS keys that cover all regions in - the instance config. * For an instance config of type USER_MANAGED, - please specify only regional location KMS keys to cover each region - in the instance config. Multi-regional location KMS keys are not - supported for USER_MANAGED instance configs. + examples: * For regional (single-region) instance configurations, + specify a regional location KMS key. * For multi-region instance + configurations of type `GOOGLE_MANAGED`, either specify a + multi-region location KMS key or multiple regional location KMS keys + that cover all regions in the instance configuration. * For an + instance configuration of type `USER_MANAGED`, specify only regional + location KMS keys to cover each region in the instance + configuration. Multi-region location KMS keys aren't supported for + `USER_MANAGED` type instance configurations. type: array items: type: string @@ -1712,19 +1714,19 @@ components: type: string kmsKeyNames: description: >- - Optional. Specifies the KMS configuration for the one or more keys - used to encrypt the database. Values have the form + Optional. Specifies the KMS configuration for one or more keys used + to encrypt the database. Values have the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by - kms_key_names must fully cover all regions of the database instance - configuration. Some examples: * For single region database instance - configurations, specify a single regional location KMS key. * For - multi-regional database instance configurations of type - `GOOGLE_MANAGED`, either specify a multi-regional location KMS key - or multiple regional location KMS keys that cover all regions in the - instance configuration. * For a database instance configuration of - type `USER_MANAGED`, please specify only regional location KMS keys - to cover each region in the instance configuration. Multi-regional - location KMS keys are not supported for USER_MANAGED instance + `kms_key_names` must fully cover all regions of the database's + instance configuration. Some examples: * For regional + (single-region) instance configurations, specify a regional location + KMS key. * For multi-region instance configurations of type + `GOOGLE_MANAGED`, either specify a multi-region location KMS key or + multiple regional location KMS keys that cover all regions in the + instance configuration. * For an instance configuration of type + `USER_MANAGED`, specify only regional location KMS keys to cover + each region in the instance configuration. Multi-region location KMS + keys aren't supported for `USER_MANAGED` type instance configurations. type: array items: @@ -1929,16 +1931,17 @@ components: Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by - kms_key_names must fully cover all regions of the backup's instance - configuration. Some examples: * For single region instance configs, - specify a single regional location KMS key. * For multi-regional - instance configs of type GOOGLE_MANAGED, either specify a - multi-regional location KMS key or multiple regional location KMS - keys that cover all regions in the instance config. * For an - instance config of type USER_MANAGED, please specify only regional - location KMS keys to cover each region in the instance config. - Multi-regional location KMS keys are not supported for USER_MANAGED - instance configs. + `kms_key_names` must fully cover all regions of the backup's + instance configuration. Some examples: * For regional + (single-region) instance configurations, specify a regional location + KMS key. * For multi-region instance configurations of type + `GOOGLE_MANAGED`, either specify a multi-region location KMS key or + multiple regional location KMS keys that cover all regions in the + instance configuration. * For an instance configuration of type + `USER_MANAGED`, specify only regional location KMS keys to cover + each region in the instance configuration. Multi-region location KMS + keys aren't supported for `USER_MANAGED` type instance + configurations. type: array items: type: string @@ -2355,6 +2358,16 @@ components: units](https://cloud.google.com/spanner/docs/compute-capacity). type: integer format: int32 + replicaComputeCapacity: + description: >- + Output only. Lists the compute capacity per ReplicaSelection. A + replica selection identifies a set of replicas with common + properties. Replicas identified by a ReplicaSelection are scaled + with the same compute capacity. + readOnly: true + type: array + items: + $ref: '#/components/schemas/ReplicaComputeCapacity' autoscalingConfig: description: >- Optional. The autoscaling configuration. Autoscaling is enabled if @@ -2454,6 +2467,67 @@ components: - STANDARD - ENTERPRISE - ENTERPRISE_PLUS + defaultBackupScheduleType: + description: >- + Optional. Controls the default backup behavior for new databases + within the instance. Note that `AUTOMATIC` is not permitted for free + instances, as backups and backup schedules are not allowed for free + instances. In the `GetInstance` or `ListInstances` response, if the + value of default_backup_schedule_type is unset or NONE, no default + backup schedule will be created for new databases within the + instance. + type: string + enumDescriptions: + - Not specified. + - >- + No default backup schedule will be created automatically on + creation of a database within the instance. + - >- + A default backup schedule will be created automatically on + creation of a database within the instance. The default backup + schedule creates a full backup every 24 hours and retains the + backup for a period of 7 days. Once created, the default backup + schedule can be edited/deleted similar to any other backup + schedule. + enum: + - DEFAULT_BACKUP_SCHEDULE_TYPE_UNSPECIFIED + - NONE + - AUTOMATIC + ReplicaComputeCapacity: + id: ReplicaComputeCapacity + description: >- + ReplicaComputeCapacity describes the amount of server resources that are + allocated to each replica identified by the replica selection. + type: object + properties: + replicaSelection: + description: >- + Required. Identifies replicas by specified properties. All replicas + in the selection have the same amount of compute capacity. + $ref: '#/components/schemas/InstanceReplicaSelection' + nodeCount: + description: >- + The number of nodes allocated to each replica. This may be zero in + API responses for instances that are not yet in state `READY`. + type: integer + format: int32 + processingUnits: + description: >- + The number of processing units allocated to each replica. This may + be zero in API responses for instances that are not yet in state + `READY`. + type: integer + format: int32 + InstanceReplicaSelection: + id: InstanceReplicaSelection + description: ReplicaSelection identifies replicas with common properties. + type: object + properties: + location: + description: >- + Required. Name of the location of the replicas (e.g., + "us-central1"). + type: string AutoscalingConfig: id: AutoscalingConfig description: Autoscaling configuration for an instance. @@ -2465,6 +2539,18 @@ components: autoscalingTargets: description: Required. The autoscaling targets for an instance. $ref: '#/components/schemas/AutoscalingTargets' + asymmetricAutoscalingOptions: + description: >- + Optional. Optional asymmetric autoscaling options. Replicas matching + the replica selection criteria will be autoscaled independently from + other replicas. The autoscaler will scale the replicas based on the + utilization of replicas identified by the replica selection. Replica + selections should not overlap with each other. Other replicas (those + do not match any replica selection) will be autoscaled together and + will have the same compute capacity allocated to them. + type: array + items: + $ref: '#/components/schemas/AsymmetricAutoscalingOption' AutoscalingLimits: id: AutoscalingLimits description: >- @@ -2521,6 +2607,45 @@ components: valid range is [10, 99] inclusive. type: integer format: int32 + AsymmetricAutoscalingOption: + id: AsymmetricAutoscalingOption + description: >- + AsymmetricAutoscalingOption specifies the scaling of replicas identified + by the given selection. + type: object + properties: + replicaSelection: + description: >- + Required. Selects the replicas to which this + AsymmetricAutoscalingOption applies. Only read-only replicas are + supported. + $ref: '#/components/schemas/InstanceReplicaSelection' + overrides: + description: >- + Optional. Overrides applied to the top-level autoscaling + configuration for the selected replicas. + $ref: '#/components/schemas/AutoscalingConfigOverrides' + AutoscalingConfigOverrides: + id: AutoscalingConfigOverrides + description: >- + Overrides the top-level autoscaling configuration for the replicas + identified by `replica_selection`. All fields in this message are + optional. Any unspecified fields will use the corresponding values from + the top-level autoscaling configuration. + type: object + properties: + autoscalingLimits: + description: >- + Optional. If specified, overrides the min/max limit in the top-level + autoscaling configuration for the selected replicas. + $ref: '#/components/schemas/AutoscalingLimits' + autoscalingTargetHighPriorityCpuUtilizationPercent: + description: >- + Optional. If specified, overrides the autoscaling target + high_priority_cpu_utilization_percent in the top-level autoscaling + configuration for the selected replicas. + type: integer + format: int32 FreeInstanceMetadata: id: FreeInstanceMetadata description: >- @@ -2968,14 +3093,22 @@ components: This mode returns only the query plan, without any results or execution statistics information. - >- - This mode returns both the query plan and the execution statistics - along with the results. This has a performance overhead compared - to the NORMAL mode. It is not recommended to use this mode for - production traffic. + This mode returns the query plan, overall execution statistics, + operator level execution statistics along with the results. This + has a performance overhead compared to the other modes. It is not + recommended to use this mode for production traffic. + - >- + This mode returns the overall (but not operator-level) execution + statistics along with the results. + - >- + This mode returns the query plan, overall (but not operator-level) + execution statistics along with the results. enum: - NORMAL - PLAN - PROFILE + - WITH_STATS + - WITH_PLAN_AND_STATS partitionToken: description: >- If present, results will be restricted to the specified partition @@ -3313,6 +3446,13 @@ components: - READ_LOCK_MODE_UNSPECIFIED - PESSIMISTIC - OPTIMISTIC + multiplexedSessionPreviousTransactionId: + description: >- + Optional. Clients should pass the transaction ID of the previous + transaction attempt that was aborted if this transaction is being + executed on a multiplexed session. + type: string + format: byte PartitionedDml: id: PartitionedDml description: Message type to initiate a Partitioned DML transaction. @@ -3438,6 +3578,11 @@ components: Encoded as a base64-encoded `string`, as described in RFC 4648, section 4. - Encoded as `string`, in decimal format. + - >- + Encoded as `string`, in `ISO8601` duration format - + `P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` where `n` is an integer. + For example, `P1Y2M3DT4H5M6.5S` represents time duration of 1 + year, 2 months, 3 days, 4 hours, 5 minutes, and 6.5 seconds. enum: - TYPE_CODE_UNSPECIFIED - BOOL @@ -3454,6 +3599,7 @@ components: - JSON - PROTO - ENUM + - INTERVAL arrayElementType: description: >- If code == ARRAY, then `array_element_type` is the type of the array @@ -3725,6 +3871,13 @@ components: fields may or may not be populated, based on the ExecuteSqlRequest.query_mode. $ref: '#/components/schemas/ResultSetStats' + precommitToken: + description: >- + Optional. A precommit token will be included if the read-write + transaction is on a multiplexed session. The precommit token with + the highest sequence number from this transaction attempt should be + passed to the Commit request for this transaction. + $ref: '#/components/schemas/MultiplexedSessionPrecommitToken' ResultSetMetadata: id: ResultSetMetadata description: Metadata about a ResultSet or PartialResultSet. @@ -3775,6 +3928,35 @@ components: `"2014-10-02T15:01:23.045123456Z"`. type: string format: google-datetime + precommitToken: + description: >- + A precommit token will be included in the response of a + BeginTransaction request if the read-write transaction is on a + multiplexed session and a mutation_key was specified in the + BeginTransaction. The precommit token with the highest sequence + number from this transaction attempt should be passed to the Commit + request for this transaction. + $ref: '#/components/schemas/MultiplexedSessionPrecommitToken' + MultiplexedSessionPrecommitToken: + id: MultiplexedSessionPrecommitToken + description: >- + When a read-write transaction is executed on a multiplexed session, this + precommit token is sent back to the client as a part of the + [Transaction] message in the BeginTransaction response and also as a + part of the [ResultSet] and [PartialResultSet] responses. + type: object + properties: + precommitToken: + description: Opaque precommit token. + type: string + format: byte + seqNum: + description: >- + An incrementing seq number is generated on every precommit token + that is returned. Clients should remember the precommit token with + the highest sequence number from the current transaction attempt. + type: integer + format: int32 ResultSetStats: id: ResultSetStats description: Additional statistics about a ResultSet or PartialResultSet. @@ -4050,6 +4232,13 @@ components: response in the stream. This field will also be present in the last response for DML statements. $ref: '#/components/schemas/ResultSetStats' + precommitToken: + description: >- + Optional. A precommit token will be included if the read-write + transaction is on a multiplexed session. The precommit token with + the highest sequence number from this transaction attempt should be + passed to the Commit request for this transaction. + $ref: '#/components/schemas/MultiplexedSessionPrecommitToken' ExecuteBatchDmlRequest: id: ExecuteBatchDmlRequest description: The request for ExecuteBatchDml. @@ -4158,6 +4347,13 @@ components: If all DML statements are executed successfully, the status is `OK`. Otherwise, the error status of the first failed statement. $ref: '#/components/schemas/Status' + precommitToken: + description: >- + Optional. A precommit token will be included if the read-write + transaction is on a multiplexed session. The precommit token with + the highest sequence number from this transaction attempt should be + passed to the Commit request for this transaction. + $ref: '#/components/schemas/MultiplexedSessionPrecommitToken' ReadRequest: id: ReadRequest description: The request for Read and StreamingRead. @@ -4423,50 +4619,13 @@ components: not do anything. To set the priority for a transaction, set it on the reads and writes that are part of this transaction instead. $ref: '#/components/schemas/RequestOptions' - CommitRequest: - id: CommitRequest - description: The request for Commit. - type: object - properties: - transactionId: - description: Commit a previously-started transaction. - type: string - format: byte - singleUseTransaction: + mutationKey: description: >- - Execute mutations in a temporary transaction. Note that unlike - commit of a previously-started transaction, commit with a temporary - transaction is non-idempotent. That is, if the `CommitRequest` is - sent to Cloud Spanner more than once (for instance, due to retries - in the application, or in the transport library), it is possible - that the mutations are executed more than once. If this is - undesirable, use BeginTransaction and Commit instead. - $ref: '#/components/schemas/TransactionOptions' - mutations: - description: >- - The mutations to be executed when this transaction commits. All - mutations are applied atomically, in the order they appear in this - list. - type: array - items: - $ref: '#/components/schemas/Mutation' - returnCommitStats: - description: >- - If `true`, then statistics related to the transaction will be - included in the CommitResponse. Default value is `false`. - type: boolean - maxCommitDelay: - description: >- - Optional. The amount of latency this request is configured to incur - in order to improve throughput. If this field is not set, Spanner - assumes requests are relatively latency sensitive and automatically - determines an appropriate delay time. You can specify a commit delay - value between 0 and 500 ms. - type: string - format: google-duration - requestOptions: - description: Common options for this request. - $ref: '#/components/schemas/RequestOptions' + Optional. Required for read-write transactions on a multiplexed + session that commit mutations but do not perform any reads or + queries. Clients should randomly select one of the mutations from + the mutation set and send it as a part of this request. + $ref: '#/components/schemas/Mutation' Mutation: id: Mutation description: >- @@ -4554,6 +4713,57 @@ components: (the DDL statement used to create the table). Delete is idempotent. The transaction will succeed even if some or all rows do not exist. $ref: '#/components/schemas/KeySet' + CommitRequest: + id: CommitRequest + description: The request for Commit. + type: object + properties: + transactionId: + description: Commit a previously-started transaction. + type: string + format: byte + singleUseTransaction: + description: >- + Execute mutations in a temporary transaction. Note that unlike + commit of a previously-started transaction, commit with a temporary + transaction is non-idempotent. That is, if the `CommitRequest` is + sent to Cloud Spanner more than once (for instance, due to retries + in the application, or in the transport library), it is possible + that the mutations are executed more than once. If this is + undesirable, use BeginTransaction and Commit instead. + $ref: '#/components/schemas/TransactionOptions' + mutations: + description: >- + The mutations to be executed when this transaction commits. All + mutations are applied atomically, in the order they appear in this + list. + type: array + items: + $ref: '#/components/schemas/Mutation' + returnCommitStats: + description: >- + If `true`, then statistics related to the transaction will be + included in the CommitResponse. Default value is `false`. + type: boolean + maxCommitDelay: + description: >- + Optional. The amount of latency this request is configured to incur + in order to improve throughput. If this field is not set, Spanner + assumes requests are relatively latency sensitive and automatically + determines an appropriate delay time. You can specify a commit delay + value between 0 and 500 ms. + type: string + format: google-duration + requestOptions: + description: Common options for this request. + $ref: '#/components/schemas/RequestOptions' + precommitToken: + description: >- + Optional. If the read-write transaction was executed on a + multiplexed session, the precommit token with the highest sequence + number received in this transaction attempt, should be included + here. Failing to do so will result in a FailedPrecondition error. + $ref: '#/components/schemas/MultiplexedSessionPrecommitToken' CommitResponse: id: CommitResponse description: The response for Commit. @@ -4568,6 +4778,11 @@ components: The statistics about this Commit. Not returned by default. For more information, see CommitRequest.return_commit_stats. $ref: '#/components/schemas/CommitStats' + precommitToken: + description: >- + If specified, transaction has not committed yet. Clients must retry + the commit with the new precommit token. + $ref: '#/components/schemas/MultiplexedSessionPrecommitToken' CommitStats: id: CommitStats description: Additional statistics about a commit. @@ -7918,7 +8133,8 @@ paths: Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on - resource. + resource. For backup schedules, authorization requires + `spanner.backupSchedules.setIamPolicy` permission on resource. operationId: spanner.projects.instances.databases.setIamPolicy requestBody: content: @@ -7965,7 +8181,9 @@ paths: 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. + `spanner.backups.getIamPolicy` permission on resource. For backup + schedules, authorization requires `spanner.backupSchedules.getIamPolicy` + permission on resource. operationId: spanner.projects.instances.databases.getIamPolicy requestBody: content: @@ -8015,7 +8233,9 @@ paths: 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. + instance. Calling this method on a backup schedule that does not exist + will result in a NOT_FOUND error if the user has + `spanner.backupSchedules.list` permission on the containing database. operationId: spanner.projects.instances.databases.testIamPermissions requestBody: content: @@ -8303,7 +8523,8 @@ paths: Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on - resource. + resource. For backup schedules, authorization requires + `spanner.backupSchedules.setIamPolicy` permission on resource. operationId: spanner.projects.instances.databases.backupSchedules.setIamPolicy requestBody: content: @@ -8355,7 +8576,9 @@ paths: 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. + `spanner.backups.getIamPolicy` permission on resource. For backup + schedules, authorization requires `spanner.backupSchedules.getIamPolicy` + permission on resource. operationId: spanner.projects.instances.databases.backupSchedules.getIamPolicy requestBody: content: @@ -8410,7 +8633,9 @@ paths: 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. + instance. Calling this method on a backup schedule that does not exist + will result in a NOT_FOUND error if the user has + `spanner.backupSchedules.list` permission on the containing database. operationId: spanner.projects.instances.databases.backupSchedules.testIamPermissions requestBody: content: @@ -8687,7 +8912,9 @@ paths: 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. + instance. Calling this method on a backup schedule that does not exist + will result in a NOT_FOUND error if the user has + `spanner.backupSchedules.list` permission on the containing database. operationId: spanner.projects.instances.databases.databaseRoles.testIamPermissions requestBody: content: @@ -9795,7 +10022,8 @@ paths: Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on - resource. + resource. For backup schedules, authorization requires + `spanner.backupSchedules.setIamPolicy` permission on resource. operationId: spanner.projects.instances.backups.setIamPolicy requestBody: content: @@ -9842,7 +10070,9 @@ paths: 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. + `spanner.backups.getIamPolicy` permission on resource. For backup + schedules, authorization requires `spanner.backupSchedules.getIamPolicy` + permission on resource. operationId: spanner.projects.instances.backups.getIamPolicy requestBody: content: @@ -9892,7 +10122,9 @@ paths: 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. + instance. Calling this method on a backup schedule that does not exist + will result in a NOT_FOUND error if the user has + `spanner.backupSchedules.list` permission on the containing database. operationId: spanner.projects.instances.backups.testIamPermissions requestBody: content: diff --git a/providers/src/googleapis.com/v00.00.00000/services/speech.yaml b/providers/src/googleapis.com/v00.00.00000/services/speech.yaml index fcc9e46e..112579e3 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/speech.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/speech.yaml @@ -7,8 +7,8 @@ info: title: Cloud Speech-to-Text API description: Converts audio to text by applying powerful neural network models. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/speech-to-text/docs/quickstart-protocol servers: @@ -544,6 +544,9 @@ components: ([WebM](https://www.webmproject.org/docs/container/)). `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000. + - >- + 8-bit samples that compand 13-bit audio samples using G.711 + PCMU/a-law. enum: - ENCODING_UNSPECIFIED - LINEAR16 @@ -555,6 +558,7 @@ components: - SPEEX_WITH_HEADER_BYTE - MP3 - WEBM_OPUS + - ALAW sampleRateHertz: description: >- Sample rate in Hertz of the audio data sent in all diff --git a/providers/src/googleapis.com/v00.00.00000/services/sqladmin.yaml b/providers/src/googleapis.com/v00.00.00000/services/sqladmin.yaml index 48df6845..2c287c86 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/sqladmin.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/sqladmin.yaml @@ -7,8 +7,8 @@ info: title: Cloud SQL Admin API description: API for Cloud SQL database instance management version: v1 - x-discovery-doc-revision: '20240831' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241011' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/cloud-sql/ servers: @@ -222,8 +222,8 @@ components: - false - false - false - - false - - false + - true + - true - false - false enum: @@ -1884,7 +1884,9 @@ components: description: Specify what type of CA is used for the server certificate. type: string enumDescriptions: - - CA mode is unknown. + - >- + CA mode is unspecified. It is effectively the same as + `GOOGLE_MANAGED_INTERNAL_CA`. - Google-managed self-signed internal CA. - >- Google-managed regional CA part of root CA hierarchy hosted on @@ -1932,6 +1934,44 @@ components: type: array items: type: string + pscAutoConnections: + description: >- + Optional. The list of settings for requested Private Service Connect + consumer endpoints that can be used to connect to this Cloud SQL + instance. + type: array + items: + $ref: '#/components/schemas/PscAutoConnectionConfig' + PscAutoConnectionConfig: + id: PscAutoConnectionConfig + description: >- + Settings for an automatically-setup Private Service Connect consumer + endpoint that is used to connect to a Cloud SQL instance. + type: object + properties: + consumerProject: + description: >- + This is the project ID of consumer service project of this consumer + endpoint. Optional. This is only applicable if consumer_network is a + shared vpc network. + type: string + consumerNetwork: + description: >- + The consumer network of this consumer endpoint. This must be a + resource path that includes both the host project and the network + name. For example, `projects/project1/global/networks/network1`. The + consumer host project of this network might be different from the + consumer service project. + type: string + ipAddress: + description: The IP address of the consumer endpoint. + type: string + status: + description: The connection status of the consumer endpoint. + type: string + consumerNetworkStatus: + description: The connection policy status of the consumer network. + type: string LocationPreference: id: LocationPreference description: >- @@ -3101,6 +3141,7 @@ components: identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration. + - The selected objects don't exist on the source instance. enum: - SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED - CONNECTION_FAILURE @@ -3155,6 +3196,7 @@ components: - USERS_NOT_CREATED_IN_REPLICA - UNSUPPORTED_SYSTEM_OBJECTS - UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY + - SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE detail: description: Additional information about the error encountered. type: string @@ -3395,8 +3437,8 @@ components: type: string enumDescriptions: - This is an unknown BackupKind. - - The snapshot based backups - - Physical backups + - Snapshot-based backups. + - Physical backups. enum: - SQL_BACKUP_KIND_UNSPECIFIED - SNAPSHOT @@ -5087,7 +5129,7 @@ paths: 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 + Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate. operationId: sql.instances.addServerCa security: @@ -5127,7 +5169,7 @@ paths: 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. + CAS server CA, use AddServerCa instead. operationId: sql.instances.addServerCertificate security: - Oauth2: @@ -5676,7 +5718,8 @@ paths: (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. + been rotated out. For instances not using Certificate Authority Service + (CAS) server CA, use ListServerCas instead. operationId: sql.instances.ListServerCertificates security: - Oauth2: @@ -5895,8 +5938,7 @@ paths: 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. + server CA, use RotateServerCertificate to rotate the server certificate. operationId: sql.instances.rotateServerCa requestBody: content: @@ -5936,7 +5978,7 @@ paths: description: >- 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. + Authority Service (CAS) server CA, use RotateServerCa instead. operationId: sql.instances.RotateServerCertificate requestBody: content: diff --git a/providers/src/googleapis.com/v00.00.00000/services/storage.yaml b/providers/src/googleapis.com/v00.00.00000/services/storage.yaml index 307152a7..f64ed2e0 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/storage.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/storage.yaml @@ -7,8 +7,8 @@ info: title: Cloud Storage JSON API description: Stores and retrieves potentially large, immutable data objects. version: v1 - x-discovery-doc-revision: '20240831' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241031' + x-generated-date: '2024-11-06' externalDocs: url: https://developers.google.com/storage/docs/json_api/ servers: @@ -606,6 +606,24 @@ components: satisfiesPZI: type: boolean description: Reserved for future use. + AdvanceRelocateBucketOperationRequest: + id: AdvanceRelocateBucketOperationRequest + type: object + description: An AdvanceRelocateBucketOperation request. + properties: + ttl: + type: string + description: >- + Specifies the duration after which the relocation will revert to the + sync stage if the relocation hasn't succeeded. Optional, if not + supplied, a default value of 12h will be used. + format: google-duration + expireTime: + type: string + description: >- + Specifies the time when the relocation will revert to the sync stage + if the relocation hasn't succeeded. + format: date-time AnywhereCache: id: AnywhereCache type: object @@ -1485,6 +1503,12 @@ components: additionalProperties: type: string description: An individual metadata entry. + restoreToken: + type: string + description: >- + Restore token used to differentiate deleted objects with the same + name and generation. This field is only returned for deleted objects + in hierarchical namespace buckets. metageneration: type: string description: >- @@ -1864,6 +1888,30 @@ components: type: integer description: The IAM policy format version. format: int32 + RelocateBucketRequest: + id: RelocateBucketRequest + type: object + description: A Relocate Bucket request. + properties: + destinationLocation: + type: string + description: The new location the bucket will be relocated to. + destinationCustomPlacementConfig: + type: object + description: >- + The bucket's new custom placement configuration if relocating to a + Custom Dual Region. + properties: + dataLocations: + type: array + description: The list of regional locations in which data is placed. + items: + type: string + validateOnly: + type: boolean + description: >- + If true, validate the operation, but do not actually relocate the + bucket. RewriteResponse: id: RewriteResponse type: object @@ -2224,6 +2272,12 @@ components: response: mediaType: application/json openAPIDocKey: '200' + relocate: + operation: + $ref: '#/paths/~1b~1{bucket}~1relocate/post' + response: + mediaType: application/json + openAPIDocKey: '200' insert: operation: $ref: '#/paths/~1b/post' @@ -2325,6 +2379,13 @@ components: response: mediaType: application/json openAPIDocKey: '200' + advance_relocate_bucket: + operation: + $ref: >- + #/paths/~1b~1{bucket}~1operations~1{operationId}~1advanceRelocateBucket/post + response: + mediaType: application/json + openAPIDocKey: '200' list: operation: $ref: '#/paths/~1b~1{bucket}~1operations/get' @@ -3585,6 +3646,44 @@ paths: name: userProject schema: type: string + /b/{bucket}/relocate: + parameters: *ref_1 + post: + description: >- + Initiates a long-running Relocate Bucket operation on the specified + bucket. + operationId: storage.buckets.relocate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocateBucketRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/devstorage.full_control + Oauth2c: + - https://www.googleapis.com/auth/devstorage.full_control + - Oauth2: + - https://www.googleapis.com/auth/devstorage.read_write + Oauth2c: + - https://www.googleapis.com/auth/devstorage.read_write + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleLongrunningOperation' + parameters: + - in: path + name: bucket + required: true + schema: + type: string /b/{bucket}/iam: parameters: *ref_1 get: @@ -3988,6 +4087,48 @@ paths: required: true schema: type: string + /b/{bucket}/operations/{operationId}/advanceRelocateBucket: + parameters: *ref_1 + post: + description: >- + Starts asynchronous advancement of the relocate bucket operation in the + case of required write downtime, to allow it to lock the bucket at the + source location, and proceed with the bucket location swap. The server + makes a best effort to advance the relocate bucket operation, but + success is not guaranteed. + operationId: storage.buckets.operations.advanceRelocateBucket + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdvanceRelocateBucketOperationRequest' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/devstorage.full_control + Oauth2c: + - https://www.googleapis.com/auth/devstorage.full_control + - Oauth2: + - https://www.googleapis.com/auth/devstorage.read_write + Oauth2c: + - https://www.googleapis.com/auth/devstorage.read_write + responses: + '204': + description: No Content + parameters: + - in: path + name: bucket + required: true + schema: + type: string + - in: path + name: operationId + required: true + schema: + type: string /b/{bucket}/operations: parameters: *ref_1 get: @@ -5641,6 +5782,10 @@ paths: name: softDeleted schema: type: boolean + - in: query + name: restoreToken + schema: + type: string patch: description: Patches an object's metadata. operationId: storage.objects.patch @@ -6402,6 +6547,10 @@ paths: name: userProject schema: type: string + - in: query + name: restoreToken + schema: + type: string /b/{bucket}/o/bulkRestore: parameters: *ref_1 post: diff --git a/providers/src/googleapis.com/v00.00.00000/services/storagetransfer.yaml b/providers/src/googleapis.com/v00.00.00000/services/storagetransfer.yaml index e21464b9..721ef3b8 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/storagetransfer.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/storagetransfer.yaml @@ -9,8 +9,8 @@ info: Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets. version: v1 - x-discovery-doc-revision: '20240907' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241026' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/storage-transfer/docs servers: @@ -979,27 +979,31 @@ components: type: string ReplicationSpec: id: ReplicationSpec - description: Specifies the configuration for running a replication job. + description: >- + Specifies the configuration for a cross-bucket replication job. + Cross-bucket replication copies new or updated objects from a source + Cloud Storage bucket to a destination Cloud Storage bucket. Existing + objects in the source bucket are not copied by a new cross-bucket + replication job. type: object properties: gcsDataSource: - description: Specifies cloud Storage data source. + description: The Cloud Storage bucket from which to replicate objects. $ref: '#/components/schemas/GcsData' gcsDataSink: - description: Specifies cloud Storage data sink. + description: The Cloud Storage bucket to which to replicate objects. $ref: '#/components/schemas/GcsData' objectConditions: description: >- - Specifies the object conditions to only include objects that satisfy - these conditions in the set of data source objects. Object - conditions based on objects' "last modification time" do not exclude - objects in a data sink. + Object conditions that determine which objects are transferred. For + replication jobs, only `include_prefixes` and `exclude_prefixes` are + supported. $ref: '#/components/schemas/ObjectConditions' transferOptions: description: >- - Specifies the actions to be performed on the object during - replication. Delete options are not supported for replication and - when specified, the request fails with an INVALID_ARGUMENT error. + Specifies the metadata options to be applied during replication. + Delete options are not supported. If a delete option is specified, + the request fails with an INVALID_ARGUMENT error. $ref: '#/components/schemas/TransferOptions' NotificationConfig: id: NotificationConfig @@ -1207,23 +1211,28 @@ components: properties: hours: description: >- - Hours of day in 24 hour format. Should be from 0 to 23. An API may - choose to allow the value "24:00:00" for scenarios like business - closing time. + Hours of a day in 24 hour format. Must be greater than or equal to 0 + and typically must be less than or equal to 23. An API may choose to + allow the value "24:00:00" for scenarios like business closing time. type: integer format: int32 minutes: - description: Minutes of hour of day. Must be from 0 to 59. + description: >- + Minutes of an hour. Must be greater than or equal to 0 and less than + or equal to 59. type: integer format: int32 seconds: description: >- - Seconds of minutes of the time. Must normally be from 0 to 59. An - API may allow the value 60 if it allows leap-seconds. + Seconds of a minute. Must be greater than or equal to 0 and + typically must be less than or equal to 59. An API may allow the + value 60 if it allows leap-seconds. type: integer format: int32 nanos: - description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + description: >- + Fractions of seconds, in nanoseconds. Must be greater than or equal + to 0 and less than or equal to 999,999,999. type: integer format: int32 EventStream: diff --git a/providers/src/googleapis.com/v00.00.00000/services/testing.yaml b/providers/src/googleapis.com/v00.00.00000/services/testing.yaml index fb48b489..f5a68225 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/testing.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/testing.yaml @@ -9,8 +9,8 @@ info: Allows developers to run automated tests for their mobile applications on Google infrastructure. version: v1 - x-discovery-doc-revision: '20240913' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241101' + x-generated-date: '2024-11-06' externalDocs: url: https://firebase.google.com/docs/test-lab/ servers: @@ -2008,6 +2008,10 @@ components: thumbnailUrl: description: URL of a thumbnail image (photo) of the device. type: string + labInfo: + description: Output only. Lab info of this device. + readOnly: true + $ref: '#/components/schemas/LabInfo' PerAndroidVersionInfo: id: PerAndroidVersionInfo description: A version-specific information of an Android model. @@ -2089,6 +2093,16 @@ components: Android Studio client. Expected format "major.minor.micro.patch", e.g. "5921.22.2211.8881706". type: string + LabInfo: + id: LabInfo + description: Lab specific information for a device. + type: object + properties: + name: + description: >- + Lab name where the device is hosted. If empty, the device is hosted + in a Google owned lab. + type: string AndroidVersion: id: AndroidVersion description: A version of the Android OS. diff --git a/providers/src/googleapis.com/v00.00.00000/services/texttospeech.yaml b/providers/src/googleapis.com/v00.00.00000/services/texttospeech.yaml index e8af2dac..ad315fa6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/texttospeech.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/texttospeech.yaml @@ -9,8 +9,8 @@ info: Synthesizes natural-sounding speech by applying powerful neural network models. version: v1 - x-discovery-doc-revision: '20240910' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241026' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/text-to-speech/ servers: @@ -102,6 +102,9 @@ components: audioConfig: description: Required. The configuration of the synthesized audio. $ref: '#/components/schemas/AudioConfig' + advancedVoiceOptions: + description: Advanced voice options. + $ref: '#/components/schemas/AdvancedVoiceOptions' SynthesisInput: id: SynthesisInput description: >- @@ -121,6 +124,87 @@ components: google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml). type: string + multiSpeakerMarkup: + description: >- + The multi-speaker input to be synthesized. Only applicable for + multi-speaker synthesis. + $ref: '#/components/schemas/MultiSpeakerMarkup' + customPronunciations: + description: >- + Optional. The pronunciation customizations to be applied to the + input. If this is set, the input will be synthesized using the given + pronunciation customizations. The initial support will be for EFIGS + (English, French, Italian, German, Spanish) languages, as provided + in VoiceSelectionParams. Journey and Instant Clone voices are not + supported yet. In order to customize the pronunciation of a phrase, + there must be an exact match of the phrase in the input types. If + using SSML, the phrase must not be inside a phoneme tag (entirely or + partially). + $ref: '#/components/schemas/CustomPronunciations' + MultiSpeakerMarkup: + id: MultiSpeakerMarkup + description: A collection of turns for multi-speaker synthesis. + type: object + properties: + turns: + description: Required. Speaker turns. + type: array + items: + $ref: '#/components/schemas/Turn' + Turn: + id: Turn + description: A Multi-speaker turn. + type: object + properties: + speaker: + description: >- + Required. The speaker of the turn, for example, 'O' or 'Q'. Please + refer to documentation for available speakers. + type: string + text: + description: Required. The text to speak. + type: string + CustomPronunciations: + id: CustomPronunciations + description: A collection of pronunciation customizations. + type: object + properties: + pronunciations: + description: The pronunciation customizations to be applied. + type: array + items: + $ref: '#/components/schemas/CustomPronunciationParams' + CustomPronunciationParams: + id: CustomPronunciationParams + description: Pronunciation customization for a phrase. + type: object + properties: + phrase: + description: >- + The phrase to which the customization will be applied. The phrase + can be multiple words (in the case of proper nouns etc), but should + not span to a whole sentence. + type: string + phoneticEncoding: + description: The phonetic encoding of the phrase. + type: string + enumDescriptions: + - Not specified. + - >- + IPA. (e.g. apple -> ˈæpəl ) + https://en.wikipedia.org/wiki/International_Phonetic_Alphabet + - >- + X-SAMPA (e.g. apple -> "{p@l" ) + https://en.wikipedia.org/wiki/X-SAMPA + enum: + - PHONETIC_ENCODING_UNSPECIFIED + - PHONETIC_ENCODING_IPA + - PHONETIC_ENCODING_X_SAMPA + pronunciation: + description: >- + The pronunciation of the phrase. This must be in the phonetic + encoding specified above. + type: string VoiceSelectionParams: id: VoiceSelectionParams description: Description of which voice to use for a synthesis request. @@ -177,6 +261,12 @@ components: is set, the service will choose the custom voice matching the specified configuration. $ref: '#/components/schemas/CustomVoiceParams' + voiceClone: + description: >- + Optional. The configuration for a voice clone. If + [VoiceCloneParams.voice_clone_key] is set, the service will choose + the voice clone matching the specified configuration. + $ref: '#/components/schemas/VoiceCloneParams' CustomVoiceParams: id: CustomVoiceParams description: Description of the custom voice to be synthesized. @@ -207,6 +297,14 @@ components: - REPORTED_USAGE_UNSPECIFIED - REALTIME - OFFLINE + VoiceCloneParams: + id: VoiceCloneParams + description: The configuration of Voice Clone feature. + type: object + properties: + voiceCloningKey: + description: Required. Created by GenerateVoiceCloningKey. + type: string AudioConfig: id: AudioConfig description: Description of audio data to be synthesized. @@ -295,6 +393,16 @@ components: type: array items: type: string + AdvancedVoiceOptions: + id: AdvancedVoiceOptions + description: Used for advanced voice options. + type: object + properties: + lowLatencyJourneySynthesis: + description: >- + Only for Journey voices. If false, the synthesis will be context + aware and have higher latency. + type: boolean SynthesizeSpeechResponse: id: SynthesizeSpeechResponse description: The message returned to the client by the `SynthesizeSpeech` method. diff --git a/providers/src/googleapis.com/v00.00.00000/services/tpu.yaml b/providers/src/googleapis.com/v00.00.00000/services/tpu.yaml index 1fe67218..29b312e5 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/tpu.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/tpu.yaml @@ -7,8 +7,8 @@ info: title: Cloud TPU API description: TPU API provides customers with access to Google TPU technology. version: v2 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/tpu/ servers: @@ -250,6 +250,7 @@ components: - TPU node is currently hiding. - TPU node has been hidden. - TPU node is currently unhiding. + - TPU node has unknown state after a failed repair. enum: - STATE_UNSPECIFIED - CREATING @@ -266,6 +267,7 @@ components: - HIDING - HIDDEN - UNHIDING + - UNKNOWN healthDescription: description: >- Output only. If this field is populated, it contains a description diff --git a/providers/src/googleapis.com/v00.00.00000/services/trafficdirector.yaml b/providers/src/googleapis.com/v00.00.00000/services/trafficdirector.yaml index ef64441f..4fcbd094 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/trafficdirector.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/trafficdirector.yaml @@ -7,8 +7,8 @@ info: title: Traffic Director API description: '' version: v3 - x-discovery-doc-revision: '20240828' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241009' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/traffic-director servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/transcoder.yaml b/providers/src/googleapis.com/v00.00.00000/services/transcoder.yaml index 07705344..9668841d 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/transcoder.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/transcoder.yaml @@ -9,8 +9,8 @@ info: This API converts video files into formats suitable for consumer distribution. For more information, see the Transcoder API overview. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/transcoder/docs/ servers: @@ -1053,7 +1053,7 @@ components: description: >- The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - - `eac3` + `eac3` - `vorbis` type: string bitrateBps: description: >- @@ -1202,7 +1202,7 @@ components: description: >- The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - - `mp4` - `vtt` See also: [Supported input and output + - `mp4` - `vtt` - `ogg` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats) type: string elementaryStreams: diff --git a/providers/src/googleapis.com/v00.00.00000/services/translate.yaml b/providers/src/googleapis.com/v00.00.00000/services/translate.yaml index 4972421c..608095a4 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/translate.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/translate.yaml @@ -7,8 +7,8 @@ info: title: Cloud Translation API description: Integrates text translation into your website or application. version: v3 - x-discovery-doc-revision: '20240912' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241029' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/translate/docs/quickstarts servers: @@ -2807,6 +2807,10 @@ paths: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-translation + Oauth2c: + - https://www.googleapis.com/auth/cloud-translation responses: '200': description: Successful response @@ -2846,6 +2850,10 @@ paths: - https://www.googleapis.com/auth/cloud-platform Oauth2c: - https://www.googleapis.com/auth/cloud-platform + - Oauth2: + - https://www.googleapis.com/auth/cloud-translation + Oauth2c: + - https://www.googleapis.com/auth/cloud-translation responses: '200': description: Successful response diff --git a/providers/src/googleapis.com/v00.00.00000/services/videointelligence.yaml b/providers/src/googleapis.com/v00.00.00000/services/videointelligence.yaml index 0984361f..7fbac502 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/videointelligence.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/videointelligence.yaml @@ -11,7 +11,7 @@ info: both asynchronous API and streaming API. version: v1 x-discovery-doc-revision: '20240719' - x-generated-date: '2024-09-19' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/video-intelligence/docs/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/vision.yaml b/providers/src/googleapis.com/v00.00.00000/services/vision.yaml index b95330ee..e202b344 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/vision.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/vision.yaml @@ -10,8 +10,8 @@ info: landmark detection, optical character recognition (OCR), and detection of explicit content, into applications. version: v1 - x-discovery-doc-revision: '20240906' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241025' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/vision/ servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/vmmigration.yaml b/providers/src/googleapis.com/v00.00.00000/services/vmmigration.yaml index 20c2b580..2652bb3a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/vmmigration.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/vmmigration.yaml @@ -9,8 +9,8 @@ info: Use the Migrate to Virtual Machines API to programmatically migrate workloads. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241024' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/migrate/virtual-machines servers: @@ -523,6 +523,18 @@ components: - BOOT_OPTION_UNSPECIFIED - EFI - BIOS + architecture: + description: Output only. The CPU architecture. + readOnly: true + type: string + enumDescriptions: + - The architecture is unknown. + - The architecture is one of the x86 architectures. + - The architecture is ARM64. + enum: + - VM_ARCHITECTURE_UNSPECIFIED + - VM_ARCHITECTURE_X86_FAMILY + - VM_ARCHITECTURE_ARM64 AwsVmsDetails: id: AwsVmsDetails description: AWSVmsDetails describes VMs in AWS. @@ -742,6 +754,17 @@ components: computerName: description: The VM's ComputerName. type: string + architecture: + description: The CPU architecture. + type: string + enumDescriptions: + - The architecture is unknown. + - The architecture is one of the x86 architectures. + - The architecture is ARM64. + enum: + - VM_ARCHITECTURE_UNSPECIFIED + - VM_ARCHITECTURE_X86_FAMILY + - VM_ARCHITECTURE_ARM64 OSDisk: id: OSDisk description: A message describing the OS disk. @@ -1869,6 +1892,18 @@ components: Compute Engine features. readOnly: true $ref: '#/components/schemas/VmCapabilities' + architecture: + description: Output only. The VM architecture. + readOnly: true + type: string + enumDescriptions: + - The architecture is unknown. + - The architecture is one of the x86 architectures. + - The architecture is ARM64. + enum: + - VM_ARCHITECTURE_UNSPECIFIED + - VM_ARCHITECTURE_X86_FAMILY + - VM_ARCHITECTURE_ARM64 VmwareDiskDetails: id: VmwareDiskDetails description: The details of a Vmware VM disk. @@ -1950,6 +1985,18 @@ components: Compute Engine features. readOnly: true $ref: '#/components/schemas/VmCapabilities' + architecture: + description: Output only. The VM architecture. + readOnly: true + type: string + enumDescriptions: + - The architecture is unknown. + - The architecture is one of the x86 architectures. + - The architecture is ARM64. + enum: + - VM_ARCHITECTURE_UNSPECIFIED + - VM_ARCHITECTURE_X86_FAMILY + - VM_ARCHITECTURE_ARM64 AwsDiskDetails: id: AwsDiskDetails description: The details of an AWS instance disk. @@ -2003,6 +2050,18 @@ components: Compute Engine features. readOnly: true $ref: '#/components/schemas/VmCapabilities' + architecture: + description: Output only. The VM architecture. + readOnly: true + type: string + enumDescriptions: + - The architecture is unknown. + - The architecture is one of the x86 architectures. + - The architecture is ARM64. + enum: + - VM_ARCHITECTURE_UNSPECIFIED + - VM_ARCHITECTURE_X86_FAMILY + - VM_ARCHITECTURE_ARM64 AzureDiskDetails: id: AzureDiskDetails description: The details of an Azure VM disk. diff --git a/providers/src/googleapis.com/v00.00.00000/services/vmwareengine.yaml b/providers/src/googleapis.com/v00.00.00000/services/vmwareengine.yaml index 1ac36074..0bde83fa 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/vmwareengine.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/vmwareengine.yaml @@ -9,8 +9,8 @@ info: The Google VMware Engine API lets you programmatically manage VMware environments. version: v1 - x-discovery-doc-revision: '20240820' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241009' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/solutions/vmware-as-a-service servers: @@ -174,8 +174,8 @@ components: properties: name: description: >- - Output only. The resource name of this private cloud. Resource names - are schemeless URIs that follow the conventions in + Output only. Identifier. The resource name of this private cloud. + 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` readOnly: true @@ -505,8 +505,8 @@ components: properties: name: description: >- - Output only. The resource name of this cluster. Resource names are - schemeless URIs that follow the conventions in + Output only. Identifier. 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` readOnly: true @@ -772,9 +772,10 @@ components: properties: name: description: >- - Output only. The resource name of this external IP address. Resource - names are schemeless URIs that follow the conventions in - https://cloud.google.com/apis/design/resource_names. For example: + Output only. Identifier. The resource name of this external IP + address. 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/externalAddresses/my-address` readOnly: true type: string @@ -866,8 +867,8 @@ components: properties: name: description: >- - Output only. The resource name of this subnet. Resource names are - schemeless URIs that follow the conventions in + Output only. Identifier. The resource name of this subnet. 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/subnets/my-subnet` readOnly: true @@ -1342,8 +1343,8 @@ components: properties: name: description: >- - Output only. The resource name of this DNS profile. Resource names - are schemeless URIs that follow the conventions in + Output only. Identifier. The resource name of this DNS profile. + 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/dnsForwarding` readOnly: true @@ -1387,7 +1388,7 @@ components: properties: name: description: >- - Output only. The resource name of the network peering. + Output only. Identifier. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: @@ -1711,8 +1712,8 @@ components: properties: name: description: >- - Output only. The resource name of this network policy. Resource - names are schemeless URIs that follow the conventions in + Output only. Identifier. The resource name of this network policy. + 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/networkPolicies/my-network-policy` readOnly: true @@ -1934,9 +1935,10 @@ components: properties: name: description: >- - Output only. The resource name of the VMware Engine network. - Resource names are schemeless URIs that follow the conventions in - https://cloud.google.com/apis/design/resource_names. For example: + Output only. Identifier. The resource name of the VMware Engine + network. 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/vmwareEngineNetworks/my-network` readOnly: true type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/vpcaccess.yaml b/providers/src/googleapis.com/v00.00.00000/services/vpcaccess.yaml index e0a37829..c8b4dbc6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/vpcaccess.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/vpcaccess.yaml @@ -7,8 +7,8 @@ info: title: Serverless VPC Access API description: API for managing VPC access connectors. version: v1 - x-discovery-doc-revision: '20240905' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241003' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/vpc/docs/configure-serverless-vpc-access servers: diff --git a/providers/src/googleapis.com/v00.00.00000/services/webrisk.yaml b/providers/src/googleapis.com/v00.00.00000/services/webrisk.yaml index 7d846cdf..a8713cf9 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/webrisk.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/webrisk.yaml @@ -7,8 +7,8 @@ info: title: Web Risk API description: '' version: v1 - x-discovery-doc-revision: '20240908' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/web-risk/ servers: @@ -34,180 +34,137 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - GoogleCloudWebriskV1SearchHashesResponseThreatHash: - properties: - hash: - description: >- - A 32 byte SHA256 hash. This field is in binary format. For JSON - requests, hashes are base64-encoded. - format: byte - type: string - threatTypes: - items: - type: string - enum: - - THREAT_TYPE_UNSPECIFIED - - MALWARE - - SOCIAL_ENGINEERING - - UNWANTED_SOFTWARE - - SOCIAL_ENGINEERING_EXTENDED_COVERAGE - enumDescriptions: - - >- - No entries should match this threat type. This threat type is - unused. - - Malware targeting any platform. - - Social engineering targeting any platform. - - Unwanted software targeting any platform. - - >- - A list of extended coverage social engineering URIs targeting - any platform. - description: >- - The ThreatList this threat belongs to. This must contain at least - one entry. - type: array - expireTime: - format: google-datetime - description: >- - The cache lifetime for the returned match. Clients must not cache - this response past this timestamp to avoid false positives. - type: string - id: GoogleCloudWebriskV1SearchHashesResponseThreatHash - description: Contains threat information on a matching hash. - type: object - GoogleProtobufEmpty: - type: object - id: GoogleProtobufEmpty - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - properties: {} - GoogleCloudWebriskV1RawHashes: + GoogleLongrunningOperation: + id: GoogleLongrunningOperation type: object properties: - rawHashes: + response: + additionalProperties: + type: any + description: Properties of the object. Contains field @type with type URL. + type: object description: >- - The hashes, in binary format, concatenated into one long string. - Hashes are sorted in lexicographic order. For JSON API users, hashes - are base64-encoded. + 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`. + done: + type: boolean + description: >- + 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. + name: type: string - format: byte - prefixSize: + description: Matches the `/v1/{project-name}/operations/{operation-id}` pattern. + error: description: >- - The number of bytes for each prefix encoded below. This field can be - anywhere from 4 (shortest prefix) to 32 (full SHA256 hash). In - practice this is almost always 4, except in exceptional - circumstances. - format: int32 - type: integer - id: GoogleCloudWebriskV1RawHashes - description: >- - The uncompressed threat entries in hash format. Hashes can be anywhere - from 4 to 32 bytes in size. A large majority are 4 bytes, but some - hashes are lengthened if they collide with the hash of a popular URI. - Used for sending ThreatEntryAdditons to clients that do not support - compression, or when sending non-4-byte hashes to clients that do - support compression. - GoogleCloudWebriskV1ThreatEntryAdditions: + The error result of the operation in case of failure or + cancellation. + $ref: '#/components/schemas/GoogleRpcStatus' + metadata: + type: object + description: Contains a `SubmitUriMetadata` object. + additionalProperties: + description: Properties of the object. Contains field @type with type URL. + type: any description: >- - Contains the set of entries to add to a local database. May contain a - combination of compressed and raw data in a single response. - id: GoogleCloudWebriskV1ThreatEntryAdditions - properties: - riceHashes: - $ref: '#/components/schemas/GoogleCloudWebriskV1RiceDeltaEncoding' - description: >- - The encoded 4-byte prefixes of SHA256-formatted entries, using a - Golomb-Rice encoding. The hashes are converted to uint32, sorted in - ascending order, then delta encoded and stored as encoded_data. - rawHashes: - items: - $ref: '#/components/schemas/GoogleCloudWebriskV1RawHashes' - type: array - description: >- - The raw SHA256-formatted entries. Repeated to allow returning sets - of hashes with different prefix sizes. - type: object + This resource represents a long-running operation that is the result of + a network API call. GoogleCloudWebriskV1ThreatEntryRemovals: - description: Contains the set of entries to remove from a local database. type: object + description: Contains the set of entries to remove from a local database. properties: riceIndices: + $ref: '#/components/schemas/GoogleCloudWebriskV1RiceDeltaEncoding' description: >- The encoded local, lexicographically-sorted list indices, using a Golomb-Rice encoding. Used for sending compressed removal indices. The removal indices (uint32) are sorted in ascending order, then delta encoded and stored as encoded_data. - $ref: '#/components/schemas/GoogleCloudWebriskV1RiceDeltaEncoding' rawIndices: - $ref: '#/components/schemas/GoogleCloudWebriskV1RawIndices' description: The raw removal indices for a local list. + $ref: '#/components/schemas/GoogleCloudWebriskV1RawIndices' id: GoogleCloudWebriskV1ThreatEntryRemovals - GoogleCloudWebriskV1Submission: + GoogleCloudWebriskV1SearchUrisResponse: + type: object + id: GoogleCloudWebriskV1SearchUrisResponse properties: - uri: - type: string + threat: description: >- - Required. The URI that is being reported for malicious content to be - analyzed. - type: object - id: GoogleCloudWebriskV1Submission - description: Wraps a URI that might be displaying malicious content. + The threat list matches. This might be empty if the URI is on no + list. + $ref: '#/components/schemas/GoogleCloudWebriskV1SearchUrisResponseThreatUri' GoogleCloudWebriskV1RiceDeltaEncoding: + type: object + description: >- + The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes + or compressed removal indices. id: GoogleCloudWebriskV1RiceDeltaEncoding properties: - encodedData: - format: byte - type: string - description: The encoded deltas that are encoded using the Golomb-Rice coder. - firstValue: - format: int64 - type: string - description: >- - The offset of the first entry in the encoded data, or, if only a - single integer was encoded, that single integer's value. If the - field is empty or missing, assume zero. riceParameter: - format: int32 type: integer description: >- The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero. + format: int32 + firstValue: + description: >- + The offset of the first entry in the encoded data, or, if only a + single integer was encoded, that single integer's value. If the + field is empty or missing, assume zero. + format: int64 + type: string entryCount: + type: integer format: int32 description: >- The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`. - type: integer - type: object - description: >- - The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes - or compressed removal indices. - GoogleCloudWebriskV1ComputeThreatListDiffResponseChecksum: - properties: - sha256: - description: >- - The SHA256 hash of the client state; that is, of the sorted list of - all hashes present in the database. - type: string + encodedData: format: byte - description: The expected state of a client's local database. + description: The encoded deltas that are encoded using the Golomb-Rice coder. + type: string + GoogleCloudWebriskV1RawHashes: + description: >- + The uncompressed threat entries in hash format. Hashes can be anywhere + from 4 to 32 bytes in size. A large majority are 4 bytes, but some + hashes are lengthened if they collide with the hash of a popular URI. + Used for sending ThreatEntryAdditons to clients that do not support + compression, or when sending non-4-byte hashes to clients that do + support compression. + id: GoogleCloudWebriskV1RawHashes type: object - id: GoogleCloudWebriskV1ComputeThreatListDiffResponseChecksum - GoogleCloudWebriskV1SearchUrisResponseThreatUri: - id: GoogleCloudWebriskV1SearchUrisResponseThreatUri properties: - expireTime: - description: >- - The cache lifetime for the returned match. Clients must not cache - this response past this timestamp to avoid false positives. - format: google-datetime + rawHashes: + format: byte type: string + description: >- + The hashes, in binary format, concatenated into one long string. + Hashes are sorted in lexicographic order. For JSON API users, hashes + are base64-encoded. + prefixSize: + format: int32 + type: integer + description: >- + The number of bytes for each prefix encoded below. This field can be + anywhere from 4 (shortest prefix) to 32 (full SHA256 hash). In + practice this is almost always 4, except in exceptional + circumstances. + GoogleCloudWebriskV1SearchHashesResponseThreatHash: + description: Contains threat information on a matching hash. + properties: threatTypes: - type: array + description: >- + The ThreatList this threat belongs to. This must contain at least + one entry. items: + type: string enumDescriptions: - >- No entries should match this threat type. This threat type is @@ -224,153 +181,128 @@ components: - SOCIAL_ENGINEERING - UNWANTED_SOFTWARE - SOCIAL_ENGINEERING_EXTENDED_COVERAGE - type: string - description: The ThreatList this threat belongs to. - type: object - description: Contains threat information on a matching uri. - GoogleLongrunningCancelOperationRequest: - description: The request message for Operations.CancelOperation. + type: array + expireTime: + description: >- + The cache lifetime for the returned match. Clients must not cache + this response past this timestamp to avoid false positives. + format: google-datetime + type: string + hash: + description: >- + A 32 byte SHA256 hash. This field is in binary format. For JSON + requests, hashes are base64-encoded. + type: string + format: byte + id: GoogleCloudWebriskV1SearchHashesResponseThreatHash type: object - id: GoogleLongrunningCancelOperationRequest - properties: {} GoogleRpcStatus: + description: >- + 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). + type: object properties: - message: - type: string - description: >- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - google.rpc.Status.details field, or localized by the client. details: items: + type: object additionalProperties: - description: Properties of the object. Contains field @type with type URL. type: any - type: object - type: array + description: Properties of the object. Contains field @type with type URL. description: >- A list of messages that carry the error details. There is a common set of message types for APIs to use. + type: array code: - type: integer description: The status code, which should be an enum value of google.rpc.Code. format: int32 + type: integer + message: + type: string + description: >- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + google.rpc.Status.details field, or localized by the client. id: GoogleRpcStatus + GoogleCloudWebriskV1ComputeThreatListDiffResponseChecksum: + description: The expected state of a client's local database. + properties: + sha256: + format: byte + description: >- + The SHA256 hash of the client state; that is, of the sorted list of + all hashes present in the database. + type: string + id: GoogleCloudWebriskV1ComputeThreatListDiffResponseChecksum type: object - description: >- - 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). GoogleCloudWebriskV1RawIndices: - type: object id: GoogleCloudWebriskV1RawIndices - description: A set of raw indices to remove from a local list. + type: object properties: indices: - type: array description: The indices to remove from a lexicographically-sorted local list. + type: array items: - type: integer format: int32 - GoogleCloudWebriskV1SearchUrisResponse: - type: object - id: GoogleCloudWebriskV1SearchUrisResponse - properties: - threat: - $ref: '#/components/schemas/GoogleCloudWebriskV1SearchUrisResponseThreatUri' - description: >- - The threat list matches. This might be empty if the URI is on no - list. - GoogleLongrunningListOperationsResponse: - properties: - operations: - items: - $ref: '#/components/schemas/GoogleLongrunningOperation' - description: >- - A list of operations that matches the specified filter in the - request. - type: array - nextPageToken: - description: The standard List next-page token. - type: string - description: The response message for Operations.ListOperations. - type: object - id: GoogleLongrunningListOperationsResponse - GoogleLongrunningOperation: + type: integer + description: A set of raw indices to remove from a local list. + GoogleLongrunningCancelOperationRequest: + description: The request message for Operations.CancelOperation. + id: GoogleLongrunningCancelOperationRequest type: object - description: >- - This resource represents a long-running operation that is the result of - a network API call. - id: GoogleLongrunningOperation - properties: - name: - type: string - description: Matches the `/v1/{project-name}/operations/{operation-id}` pattern. - response: - description: >- - 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`. - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - done: + properties: {} + GoogleCloudWebriskV1ThreatEntryAdditions: + id: GoogleCloudWebriskV1ThreatEntryAdditions + type: object + description: >- + Contains the set of entries to add to a local database. May contain a + combination of compressed and raw data in a single response. + properties: + riceHashes: description: >- - 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. - type: boolean - metadata: - description: Contains a `SubmitUriMetadata` object. - type: object - additionalProperties: - type: any - description: Properties of the object. Contains field @type with type URL. - error: + The encoded 4-byte prefixes of SHA256-formatted entries, using a + Golomb-Rice encoding. The hashes are converted to uint32, sorted in + ascending order, then delta encoded and stored as encoded_data. + $ref: '#/components/schemas/GoogleCloudWebriskV1RiceDeltaEncoding' + rawHashes: + items: + $ref: '#/components/schemas/GoogleCloudWebriskV1RawHashes' + type: array description: >- - The error result of the operation in case of failure or - cancellation. - $ref: '#/components/schemas/GoogleRpcStatus' + The raw SHA256-formatted entries. Repeated to allow returning sets + of hashes with different prefix sizes. GoogleCloudWebriskV1SearchHashesResponse: - id: GoogleCloudWebriskV1SearchHashesResponse properties: threats: description: >- The full hashes that matched the requested prefixes. The hash will be populated in the key. - type: array items: $ref: >- #/components/schemas/GoogleCloudWebriskV1SearchHashesResponseThreatHash + type: array negativeExpireTime: + format: google-datetime + type: string description: >- For requested entities that did not match the threat list, how long to cache the response until. - format: google-datetime - type: string + id: GoogleCloudWebriskV1SearchHashesResponse type: object GoogleCloudWebriskV1ComputeThreatListDiffResponse: - type: object - id: GoogleCloudWebriskV1ComputeThreatListDiffResponse properties: - removals: - $ref: '#/components/schemas/GoogleCloudWebriskV1ThreatEntryRemovals' + checksum: + $ref: >- + #/components/schemas/GoogleCloudWebriskV1ComputeThreatListDiffResponseChecksum description: >- - A set of entries to remove from a local threat type's list. This - field may be empty. - additions: - description: A set of entries to add to a local threat type's list. - $ref: '#/components/schemas/GoogleCloudWebriskV1ThreatEntryAdditions' + The expected SHA256 hash of the client state; that is, of the sorted + list of all hashes present in the database after applying the + provided diff. If the client state doesn't match the expected state, + the client must discard this diff and retry later. newVersionToken: format: byte description: >- @@ -379,14 +311,6 @@ components: 'version_token'. A separate version token should be stored and used for each threatList. type: string - checksum: - description: >- - The expected SHA256 hash of the client state; that is, of the sorted - list of all hashes present in the database after applying the - provided diff. If the client state doesn't match the expected state, - the client must discard this diff and retry later. - $ref: >- - #/components/schemas/GoogleCloudWebriskV1ComputeThreatListDiffResponseChecksum recommendedNextDiff: format: google-datetime type: string @@ -396,6 +320,7 @@ components: longer is acceptable considering the use case. If this field is not set clients may update as soon as they want. responseType: + type: string enumDescriptions: - Unknown. - >- @@ -412,27 +337,83 @@ components: description: >- The type of response. This may indicate that an action must be taken by the client when the response is received. + additions: + $ref: '#/components/schemas/GoogleCloudWebriskV1ThreatEntryAdditions' + description: A set of entries to add to a local threat type's list. + removals: + $ref: '#/components/schemas/GoogleCloudWebriskV1ThreatEntryRemovals' + description: >- + A set of entries to remove from a local threat type's list. This + field may be empty. + type: object + id: GoogleCloudWebriskV1ComputeThreatListDiffResponse + GoogleProtobufEmpty: + type: object + id: GoogleProtobufEmpty + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + properties: {} + GoogleCloudWebriskV1Submission: + properties: + uri: + description: >- + Required. The URI that is being reported for malicious content to be + analyzed. + type: string + id: GoogleCloudWebriskV1Submission + description: Wraps a URI that might be displaying malicious content. + type: object + GoogleLongrunningListOperationsResponse: + description: The response message for Operations.ListOperations. + properties: + operations: + description: >- + A list of operations that matches the specified filter in the + request. + items: + $ref: '#/components/schemas/GoogleLongrunningOperation' + type: array + nextPageToken: + description: The standard List next-page token. + type: string + type: object + id: GoogleLongrunningListOperationsResponse + GoogleCloudWebriskV1SearchUrisResponseThreatUri: + type: object + properties: + threatTypes: + type: array + description: The ThreatList this threat belongs to. + items: + enumDescriptions: + - >- + No entries should match this threat type. This threat type is + unused. + - Malware targeting any platform. + - Social engineering targeting any platform. + - Unwanted software targeting any platform. + - >- + A list of extended coverage social engineering URIs targeting + any platform. + enum: + - THREAT_TYPE_UNSPECIFIED + - MALWARE + - SOCIAL_ENGINEERING + - UNWANTED_SOFTWARE + - SOCIAL_ENGINEERING_EXTENDED_COVERAGE + type: string + expireTime: + format: google-datetime + description: >- + The cache lifetime for the returned match. Clients must not cache + this response past this timestamp to avoid false positives. type: string + description: Contains threat information on a matching uri. + id: GoogleCloudWebriskV1SearchUrisResponseThreatUri parameters: - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. - in: query - name: key - schema: - type: string _.xgafv: description: V1 error format. in: query @@ -442,45 +423,49 @@ components: enum: - '1' - '2' - quotaUser: - description: >- - Available to use for quota purposes for server-side applications. Can be - any arbitrary string assigned to a user, but should not exceed 40 - characters. - in: query - name: quotaUser - schema: - type: string upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string - access_token: - description: OAuth access token. - in: query - name: access_token - schema: - type: string callback: description: JSONP in: query name: callback schema: type: string - oauth_token: - description: OAuth 2.0 token for the current user. + alt: + description: Data format for response. in: query - name: oauth_token + name: alt schema: type: string + enum: + - json + - media + - proto uploadType: description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query name: uploadType schema: type: string + access_token: + description: OAuth access token. + in: query + name: access_token + schema: + type: string + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. + in: query + name: key + schema: + type: string fields: description: Selector specifying which fields to include in a partial response. in: query @@ -493,56 +478,36 @@ components: name: prettyPrint schema: type: boolean + oauth_token: + description: OAuth 2.0 token for the current user. + in: query + name: oauth_token + schema: + type: string + quotaUser: + description: >- + Available to use for quota purposes for server-side applications. Can be + any arbitrary string assigned to a user, but should not exceed 40 + characters. + in: query + name: quotaUser + schema: + type: string x-stackQL-resources: - uris: - id: google.webrisk.uris - name: uris - title: Uris - methods: - search: - operation: - $ref: '#/paths/~1v1~1uris:search/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - hashes: - id: google.webrisk.hashes - name: hashes - title: Hashes - methods: - search: - operation: - $ref: '#/paths/~1v1~1hashes:search/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - submissions: - id: google.webrisk.submissions - name: submissions - title: Submissions + threat_lists: + id: google.webrisk.threat_lists + name: threat_lists + title: Threat_lists methods: - create: + compute_diff: operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1submissions/post' + $ref: '#/paths/~1v1~1threatLists:computeDiff/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: [] - insert: - - $ref: '#/components/x-stackQL-resources/submissions/methods/create' + insert: [] update: [] replace: [] delete: [] @@ -588,14 +553,49 @@ components: replace: [] delete: - $ref: '#/components/x-stackQL-resources/operations/methods/delete' - threat_lists: - id: google.webrisk.threat_lists - name: threat_lists - title: Threat_lists + submissions: + id: google.webrisk.submissions + name: submissions + title: Submissions methods: - compute_diff: + create: operation: - $ref: '#/paths/~1v1~1threatLists:computeDiff/get' + $ref: '#/paths/~1v1~1projects~1{projectsId}~1submissions/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/submissions/methods/create' + update: [] + replace: [] + delete: [] + uris: + id: google.webrisk.uris + name: uris + title: Uris + methods: + search: + operation: + $ref: '#/paths/~1v1~1uris:search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + hashes: + id: google.webrisk.hashes + name: hashes + title: Hashes + methods: + search: + operation: + $ref: '#/paths/~1v1~1hashes:search/get' response: mediaType: application/json openAPIDocKey: '200' @@ -606,27 +606,28 @@ components: replace: [] delete: [] paths: - /v1/uris:search: + /v1/threatLists:computeDiff: parameters: &ref_1 - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/quotaUser' - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/alt' - $ref: '#/components/parameters/uploadType' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/prettyPrint' + - $ref: '#/components/parameters/oauth_token' + - $ref: '#/components/parameters/quotaUser' get: description: >- - 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. - operationId: webrisk.uris.search + 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. + operationId: webrisk.threatLists.computeDiff security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -638,82 +639,30 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GoogleCloudWebriskV1SearchUrisResponse' + $ref: >- + #/components/schemas/GoogleCloudWebriskV1ComputeThreatListDiffResponse parameters: - in: query - name: threatTypes + name: constraints.maxDatabaseEntries schema: - type: string + type: integer + format: int32 - in: query - name: uri + name: versionToken schema: type: string - /v1/hashes:search: - parameters: *ref_1 - get: - description: >- - 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. - operationId: webrisk.hashes.search - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudWebriskV1SearchHashesResponse' - parameters: + format: byte - in: query - name: threatTypes + name: threatType schema: type: string - in: query - name: hashPrefix + name: constraints.maxDiffEntries schema: - type: string - format: byte - /v1/projects/{projectsId}/submissions: - parameters: *ref_1 - post: - description: >- - 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. - operationId: webrisk.projects.submissions.create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudWebriskV1Submission' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleCloudWebriskV1Submission' - parameters: - - in: path - name: projectsId - required: true + type: integer + format: int32 + - in: query + name: constraints.supportedCompressions schema: type: string /v1/projects/{projectsId}/operations/{operationsId}: @@ -832,30 +781,65 @@ paths: required: true schema: type: string + - in: query + name: pageToken + schema: + type: string - in: query name: pageSize schema: type: integer format: int32 - in: query - name: pageToken + name: filter schema: type: string - - in: query - name: filter + /v1/projects/{projectsId}/submissions: + parameters: *ref_1 + post: + description: >- + 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. + operationId: webrisk.projects.submissions.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudWebriskV1Submission' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudWebriskV1Submission' + parameters: + - in: path + name: projectsId + required: true schema: type: string - /v1/threatLists:computeDiff: + /v1/uris:search: parameters: *ref_1 get: description: >- - 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. - operationId: webrisk.threatLists.computeDiff + 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. + operationId: webrisk.uris.search security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -867,29 +851,45 @@ paths: content: application/json: schema: - $ref: >- - #/components/schemas/GoogleCloudWebriskV1ComputeThreatListDiffResponse + $ref: '#/components/schemas/GoogleCloudWebriskV1SearchUrisResponse' parameters: - in: query - name: versionToken + name: uri schema: type: string - format: byte - in: query - name: constraints.supportedCompressions + name: threatTypes schema: type: string + /v1/hashes:search: + parameters: *ref_1 + get: + description: >- + 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. + operationId: webrisk.hashes.search + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleCloudWebriskV1SearchHashesResponse' + parameters: - in: query - name: constraints.maxDatabaseEntries - schema: - type: integer - format: int32 - - in: query - name: threatType + name: hashPrefix schema: type: string + format: byte - in: query - name: constraints.maxDiffEntries + name: threatTypes schema: - type: integer - format: int32 + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/websecurityscanner.yaml b/providers/src/googleapis.com/v00.00.00000/services/websecurityscanner.yaml index 15422fef..f32ee33a 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/websecurityscanner.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/websecurityscanner.yaml @@ -7,8 +7,8 @@ info: title: Web Security Scanner API description: Scans your Compute and App Engine apps for common web vulnerabilities. version: v1 - x-discovery-doc-revision: '20240914' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241027' + x-generated-date: '2024-11-06' externalDocs: url: >- https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/ @@ -35,146 +35,325 @@ components: tokenUrl: https://accounts.google.com/o/oauth2/token scopes: *ref_0 schemas: - IapTestServiceAccountInfo: - id: IapTestServiceAccountInfo + Finding: + type: object description: >- - Describes authentication configuration when Web-Security-Scanner service - account is added in Identity-Aware-Proxy (IAP) access policies. + A Finding resource represents a vulnerability instance identified during + a ScanRun. + id: Finding properties: - targetAudienceClientId: + frameUrl: + type: string description: >- - Required. Describes OAuth2 client id of resources protected by - Identity-Aware-Proxy (IAP). + Output only. If the vulnerability was originated from nested IFrame, + the immediate parent IFrame is reported. + body: + type: string + description: >- + Output only. The body of the request that triggered the + vulnerability. + trackingId: + description: >- + Output only. The tracking ID uniquely identifies a vulnerability + instance across multiple ScanRuns. + type: string + findingType: + description: >- + Output only. The type of the Finding. Detailed and up-to-date + information on findings can be found here: + https://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings + type: string + vulnerableHeaders: + description: >- + Output only. An addon containing information about vulnerable or + missing HTTP headers. + $ref: '#/components/schemas/VulnerableHeaders' + outdatedLibrary: + $ref: '#/components/schemas/OutdatedLibrary' + description: >- + Output only. An addon containing information about outdated + libraries. + severity: + readOnly: true + enumDescriptions: + - No severity specified. The default value. + - Critical severity. + - High severity. + - Medium severity. + - Low severity. + enum: + - SEVERITY_UNSPECIFIED + - CRITICAL + - HIGH + - MEDIUM + - LOW + description: Output only. The severity level of the reported vulnerability. + type: string + violatingResource: + description: >- + Output only. An addon containing detailed information regarding any + resource causing the vulnerability such as JavaScript sources, + image, audio files, etc. + $ref: '#/components/schemas/ViolatingResource' + httpMethod: + description: >- + Output only. The http method of the request that triggered the + vulnerability, in uppercase. + type: string + fuzzedUrl: + type: string + description: >- + Output only. The URL produced by the server-side fuzzer and used in + the request that triggered the vulnerability. + finalUrl: + description: >- + Output only. The URL where the browser lands when the vulnerability + is detected. + type: string + reproductionUrl: + description: >- + Output only. The URL containing human-readable payload that user can + leverage to reproduce the vulnerability. + type: string + xss: + $ref: '#/components/schemas/Xss' + description: >- + Output only. An addon containing information reported for an XSS, if + any. + description: + description: Output only. The description of the vulnerability. + type: string + form: + description: >- + Output only. An addon containing information reported for a + vulnerability with an HTML form, if any. + $ref: '#/components/schemas/Form' + vulnerableParameters: + $ref: '#/components/schemas/VulnerableParameters' + description: >- + Output only. An addon containing information about request + parameters which were found to be vulnerable. + xxe: + description: >- + Output only. An addon containing information reported for an XXE, if + any. + $ref: '#/components/schemas/Xxe' + readOnly: true + name: + description: >- + 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. type: string - type: object VulnerableHeaders: id: VulnerableHeaders - description: Information about vulnerable or missing HTTP Headers. type: object properties: - headers: - description: List of vulnerable headers. + missingHeaders: type: array + description: List of missing headers. items: $ref: '#/components/schemas/Header' - missingHeaders: - description: List of missing headers. + headers: + type: array + description: List of vulnerable headers. items: $ref: '#/components/schemas/Header' + description: Information about vulnerable or missing HTTP Headers. + GoogleAccount: + deprecated: true + type: object + id: GoogleAccount + description: Describes authentication configuration that uses a Google account. + properties: + username: + description: Required. The user name of the Google account. + type: string + password: + description: >- + Required. Input only. The password of the Google account. The + credential is stored encrypted and not returned in any response nor + included in audit logs. + type: string + Header: + properties: + value: + description: Header value. + type: string + name: + type: string + description: Header name. + id: Header + type: object + description: Describes a HTTP Header. + ListScanRunsResponse: + description: Response for the `ListScanRuns` method. + type: object + id: ListScanRunsResponse + properties: + nextPageToken: + type: string + description: >- + Token to retrieve the next page of results, or empty if there are no + more results in the list. + scanRuns: + items: + $ref: '#/components/schemas/ScanRun' + description: The list of ScanRuns returned. type: array Xxe: - id: Xxe properties: payloadLocation: - type: string - description: Location within the request where the payload was placed. enum: - LOCATION_UNSPECIFIED - COMPLETE_REQUEST_BODY + type: string + description: Location within the request where the payload was placed. enumDescriptions: - Unknown Location. - The XML payload replaced the complete request body. payloadValue: - type: string description: >- The XML string that triggered the XXE vulnerability. Non-payload values might be redacted. - description: Information reported for an XXE. + type: string type: object - CrawledUrl: - id: CrawledUrl + id: Xxe + description: Information reported for an XXE. + Xss: + id: Xss properties: - url: - description: Output only. The URL that was crawled. + attackVector: type: string - httpMethod: + description: The attack vector of the payload triggering this XSS. + enum: + - ATTACK_VECTOR_UNSPECIFIED + - LOCAL_STORAGE + - SESSION_STORAGE + - WINDOW_NAME + - REFERRER + - FORM_INPUT + - COOKIE + - POST_MESSAGE + - GET_PARAMETERS + - URL_FRAGMENT + - HTML_COMMENT + - POST_PARAMETERS + - PROTOCOL + - STORED_XSS + - SAME_ORIGIN + - USER_CONTROLLABLE_URL + enumDescriptions: + - Unknown attack vector. + - The attack comes from fuzzing the browser's localStorage. + - The attack comes from fuzzing the browser's sessionStorage. + - The attack comes from fuzzing the window's name property. + - The attack comes from fuzzing the referrer property. + - The attack comes from fuzzing an input element. + - The attack comes from fuzzing the browser's cookies. + - The attack comes from hijacking the post messaging mechanism. + - The attack comes from fuzzing parameters in the url. + - The attack comes from fuzzing the fragment in the url. + - The attack comes from fuzzing the HTML comments. + - The attack comes from fuzzing the POST parameters. + - The attack comes from fuzzing the protocol. + - The attack comes from the server side and is stored. + - >- + The attack is a Same-Origin Method Execution attack via a GET + parameter. + - >- + The attack payload is received from a third-party host via a URL + that is user-controllable + storedXssSeedingUrl: + description: The reproduction url for the seeding POST request of a Stored XSS. type: string - description: >- - Output only. The http method of the request that was used to visit - the URL, in uppercase. - body: + stackTraces: + items: + type: string + type: array + description: Stack traces leading to the point where the XSS occurred. + errorMessage: + description: An error message generated by a javascript breakage. type: string - description: Output only. The body of the request that was used to visit the URL. - description: >- - A CrawledUrl resource represents a URL that was crawled during a - ScanRun. Web Security Scanner Service crawls the web applications, - following all links within the scope of sites, to find the URLs to test - against. type: object - StartScanRunRequest: + description: Information reported for an XSS. + StopScanRunRequest: + description: Request for the `StopScanRun` method. type: object - id: StartScanRunRequest + id: StopScanRunRequest properties: {} - description: Request for the `StartScanRun` method. - Schedule: - id: Schedule + ListFindingsResponse: + description: Response for the `ListFindings` method. + type: object properties: - scheduleTime: - description: >- - A timestamp indicates when the next run will be scheduled. The value - is refreshed by the server after each run. If unspecified, it will - default to current server time, which means the scan will be - scheduled to start immediately. - format: google-datetime - type: string - intervalDurationDays: - description: Required. The duration of time between executions in days. - type: integer - format: int32 - description: Scan schedule configuration. - type: object - Header: - id: Header - description: Describes a HTTP Header. - properties: - name: - type: string - description: Header name. - value: - type: string - description: Header value. - type: object - CustomAccount: - description: Describes authentication configuration that uses a custom account. - properties: - username: + findings: + type: array + items: + $ref: '#/components/schemas/Finding' + description: The list of Findings returned. + nextPageToken: type: string - description: Required. The user name of the custom account. - password: description: >- - Required. Input only. The password of the custom account. The - credential is stored encrypted and not returned in any response nor - included in audit logs. - type: string - loginUrl: - type: string - description: Required. The login form URL of the website. - id: CustomAccount - type: object - FindingTypeStats: - type: object - id: FindingTypeStats - properties: - findingCount: - description: Output only. The count of findings belonging to this finding type. - type: integer - format: int32 - findingType: - description: Output only. The finding type associated with the stats. - type: string - description: >- - A FindingTypeStats resource represents stats regarding a specific - FindingType of Findings under a given ScanRun. + Token to retrieve the next page of results, or empty if there are no + more results in the list. + id: ListFindingsResponse ScanConfigError: - id: ScanConfigError - description: >- - Defines a custom error message used by CreateScanConfig and - UpdateScanConfig APIs when scan configuration validation fails. It is - also reported as part of a ScanRunErrorTrace message if scan validation - fails due to a scan configuration error. properties: + fieldName: + type: string + description: >- + Output only. Indicates the full name of the ScanConfig field that + triggers this error, for example "scan_config.max_qps". This field + is provided for troubleshooting purposes only and its actual value + can change in the future. code: + description: Output only. Indicates the reason code for a configuration failure. type: string + enum: + - CODE_UNSPECIFIED + - OK + - INTERNAL_ERROR + - APPENGINE_API_BACKEND_ERROR + - APPENGINE_API_NOT_ACCESSIBLE + - APPENGINE_DEFAULT_HOST_MISSING + - CANNOT_USE_GOOGLE_COM_ACCOUNT + - CANNOT_USE_OWNER_ACCOUNT + - COMPUTE_API_BACKEND_ERROR + - COMPUTE_API_NOT_ACCESSIBLE + - CUSTOM_LOGIN_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT + - CUSTOM_LOGIN_URL_MALFORMED + - CUSTOM_LOGIN_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS + - CUSTOM_LOGIN_URL_MAPPED_TO_UNRESERVED_ADDRESS + - CUSTOM_LOGIN_URL_HAS_NON_ROUTABLE_IP_ADDRESS + - CUSTOM_LOGIN_URL_HAS_UNRESERVED_IP_ADDRESS + - DUPLICATE_SCAN_NAME + - INVALID_FIELD_VALUE + - FAILED_TO_AUTHENTICATE_TO_TARGET + - FINDING_TYPE_UNSPECIFIED + - FORBIDDEN_TO_SCAN_COMPUTE + - FORBIDDEN_UPDATE_TO_MANAGED_SCAN + - MALFORMED_FILTER + - MALFORMED_RESOURCE_NAME + - PROJECT_INACTIVE + - REQUIRED_FIELD + - RESOURCE_NAME_INCONSISTENT + - SCAN_ALREADY_RUNNING + - SCAN_NOT_RUNNING + - SEED_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT + - SEED_URL_MALFORMED + - SEED_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS + - SEED_URL_MAPPED_TO_UNRESERVED_ADDRESS + - SEED_URL_HAS_NON_ROUTABLE_IP_ADDRESS + - SEED_URL_HAS_UNRESERVED_IP_ADDRESS + - SERVICE_ACCOUNT_NOT_CONFIGURED + - TOO_MANY_SCANS + - UNABLE_TO_RESOLVE_PROJECT_INFO + - UNSUPPORTED_BLACKLIST_PATTERN_FORMAT + - UNSUPPORTED_FILTER + - UNSUPPORTED_FINDING_TYPE + - UNSUPPORTED_URL_SCHEME + - CLOUD_ASSET_INVENTORY_ASSET_NOT_FOUND enumDescriptions: - There is no error. - There is no error. @@ -256,205 +435,60 @@ components: The URL scheme of one or more of the supplied URLs is not supported. - CAI is not able to list assets. - description: Output only. Indicates the reason code for a configuration failure. - enum: - - CODE_UNSPECIFIED - - OK - - INTERNAL_ERROR - - APPENGINE_API_BACKEND_ERROR - - APPENGINE_API_NOT_ACCESSIBLE - - APPENGINE_DEFAULT_HOST_MISSING - - CANNOT_USE_GOOGLE_COM_ACCOUNT - - CANNOT_USE_OWNER_ACCOUNT - - COMPUTE_API_BACKEND_ERROR - - COMPUTE_API_NOT_ACCESSIBLE - - CUSTOM_LOGIN_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT - - CUSTOM_LOGIN_URL_MALFORMED - - CUSTOM_LOGIN_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS - - CUSTOM_LOGIN_URL_MAPPED_TO_UNRESERVED_ADDRESS - - CUSTOM_LOGIN_URL_HAS_NON_ROUTABLE_IP_ADDRESS - - CUSTOM_LOGIN_URL_HAS_UNRESERVED_IP_ADDRESS - - DUPLICATE_SCAN_NAME - - INVALID_FIELD_VALUE - - FAILED_TO_AUTHENTICATE_TO_TARGET - - FINDING_TYPE_UNSPECIFIED - - FORBIDDEN_TO_SCAN_COMPUTE - - FORBIDDEN_UPDATE_TO_MANAGED_SCAN - - MALFORMED_FILTER - - MALFORMED_RESOURCE_NAME - - PROJECT_INACTIVE - - REQUIRED_FIELD - - RESOURCE_NAME_INCONSISTENT - - SCAN_ALREADY_RUNNING - - SCAN_NOT_RUNNING - - SEED_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT - - SEED_URL_MALFORMED - - SEED_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS - - SEED_URL_MAPPED_TO_UNRESERVED_ADDRESS - - SEED_URL_HAS_NON_ROUTABLE_IP_ADDRESS - - SEED_URL_HAS_UNRESERVED_IP_ADDRESS - - SERVICE_ACCOUNT_NOT_CONFIGURED - - TOO_MANY_SCANS - - UNABLE_TO_RESOLVE_PROJECT_INFO - - UNSUPPORTED_BLACKLIST_PATTERN_FORMAT - - UNSUPPORTED_FILTER - - UNSUPPORTED_FINDING_TYPE - - UNSUPPORTED_URL_SCHEME - - CLOUD_ASSET_INVENTORY_ASSET_NOT_FOUND - fieldName: + type: object + description: >- + Defines a custom error message used by CreateScanConfig and + UpdateScanConfig APIs when scan configuration validation fails. It is + also reported as part of a ScanRunErrorTrace message if scan validation + fails due to a scan configuration error. + id: ScanConfigError + Authentication: + properties: + googleAccount: + $ref: '#/components/schemas/GoogleAccount' + deprecated: true + description: Authentication using a Google account. + customAccount: + $ref: '#/components/schemas/CustomAccount' + description: Authentication using a custom account. + iapCredential: + $ref: '#/components/schemas/IapCredential' + description: Authentication using Identity-Aware-Proxy (IAP). + description: Scan authentication configuration. + id: Authentication + type: object + CustomAccount: + type: object + description: Describes authentication configuration that uses a custom account. + id: CustomAccount + properties: + username: + description: Required. The user name of the custom account. + type: string + loginUrl: + description: Required. The login form URL of the website. type: string + password: description: >- - Output only. Indicates the full name of the ScanConfig field that - triggers this error, for example "scan_config.max_qps". This field - is provided for troubleshooting purposes only and its actual value - can change in the future. + Required. Input only. The password of the custom account. The + credential is stored encrypted and not returned in any response nor + included in audit logs. + type: string + ScanRunWarningTrace: + description: >- + Output only. Defines a warning trace message for ScanRun. Warning traces + provide customers with useful information that helps make the scanning + process more effective. + id: ScanRunWarningTrace type: object - Xss: - id: Xss properties: - attackVector: - enum: - - ATTACK_VECTOR_UNSPECIFIED - - LOCAL_STORAGE - - SESSION_STORAGE - - WINDOW_NAME - - REFERRER - - FORM_INPUT - - COOKIE - - POST_MESSAGE - - GET_PARAMETERS - - URL_FRAGMENT - - HTML_COMMENT - - POST_PARAMETERS - - PROTOCOL - - STORED_XSS - - SAME_ORIGIN - - USER_CONTROLLABLE_URL + code: enumDescriptions: - - Unknown attack vector. - - The attack comes from fuzzing the browser's localStorage. - - The attack comes from fuzzing the browser's sessionStorage. - - The attack comes from fuzzing the window's name property. - - The attack comes from fuzzing the referrer property. - - The attack comes from fuzzing an input element. - - The attack comes from fuzzing the browser's cookies. - - The attack comes from hijacking the post messaging mechanism. - - The attack comes from fuzzing parameters in the url. - - The attack comes from fuzzing the fragment in the url. - - The attack comes from fuzzing the HTML comments. - - The attack comes from fuzzing the POST parameters. - - The attack comes from fuzzing the protocol. - - The attack comes from the server side and is stored. + - Default value is never used. - >- - The attack is a Same-Origin Method Execution attack via a GET - parameter. - - >- - The attack payload is received from a third-party host via a URL - that is user-controllable - description: The attack vector of the payload triggering this XSS. - type: string - errorMessage: - description: An error message generated by a javascript breakage. - type: string - storedXssSeedingUrl: - type: string - description: The reproduction url for the seeding POST request of a Stored XSS. - stackTraces: - description: Stack traces leading to the point where the XSS occurred. - type: array - items: - type: string - description: Information reported for an XSS. - type: object - ScanRunErrorTrace: - id: ScanRunErrorTrace - type: object - description: Output only. Defines an error trace message for a ScanRun. - properties: - scanConfigError: - $ref: '#/components/schemas/ScanConfigError' - description: >- - Output only. If the scan encounters SCAN_CONFIG_ISSUE error, this - field has the error message encountered during scan configuration - validation that is performed before each scan run. - mostCommonHttpErrorCode: - type: integer - description: >- - Output only. If the scan encounters TOO_MANY_HTTP_ERRORS, this field - indicates the most common HTTP error code, if such is available. For - example, if this code is 404, the scan has encountered too many - NOT_FOUND responses. - format: int32 - code: - type: string - enum: - - CODE_UNSPECIFIED - - INTERNAL_ERROR - - SCAN_CONFIG_ISSUE - - AUTHENTICATION_CONFIG_ISSUE - - TIMED_OUT_WHILE_SCANNING - - TOO_MANY_REDIRECTS - - TOO_MANY_HTTP_ERRORS - - STARTING_URLS_CRAWL_HTTP_ERRORS - enumDescriptions: - - Default value is never used. - - >- - Indicates that the scan run failed due to an internal server - error. - - >- - Indicates a scan configuration error, usually due to outdated - ScanConfig settings, such as starting_urls or the DNS - configuration. - - >- - Indicates an authentication error, usually due to outdated - ScanConfig authentication settings. - - >- - Indicates a scan operation timeout, usually caused by a very large - site. - - >- - Indicates that a scan encountered excessive redirects, either to - authentication or some other page outside of the scan scope. - - >- - Indicates that a scan encountered numerous errors from the web - site pages. When available, most_common_http_error_code field - indicates the most common HTTP error code encountered during the - scan. - - >- - Indicates that some of the starting web urls returned HTTP errors - during the scan. - description: Output only. Indicates the error reason code. - ListFindingsResponse: - type: object - id: ListFindingsResponse - description: Response for the `ListFindings` method. - properties: - findings: - type: array - description: The list of Findings returned. - items: - $ref: '#/components/schemas/Finding' - nextPageToken: - description: >- - Token to retrieve the next page of results, or empty if there are no - more results in the list. - type: string - ScanRunWarningTrace: - type: object - id: ScanRunWarningTrace - description: >- - Output only. Defines a warning trace message for ScanRun. Warning traces - provide customers with useful information that helps make the scanning - process more effective. - properties: - code: - description: Output only. Indicates the warning code. - type: string - enumDescriptions: - - Default value is never used. - - >- - Indicates that a scan discovered an unexpectedly low number of - URLs. This is sometimes caused by complex navigation features or - by using a single URL for numerous pages. + Indicates that a scan discovered an unexpectedly low number of + URLs. This is sometimes caused by complex navigation features or + by using a single URL for numerous pages. - >- Indicates that a scan discovered too many URLs to test, or excessive redundant URLs. @@ -465,6 +499,7 @@ components: using the excluded patterns. - Indicates that a scan is blocked by IAP. - Indicates that no seeds is found for a scan + description: Output only. Indicates the warning code. enum: - CODE_UNSPECIFIED - INSUFFICIENT_CRAWL_RESULTS @@ -472,519 +507,447 @@ components: - TOO_MANY_FUZZ_TASKS - BLOCKED_BY_IAP - NO_STARTING_URL_FOUND_FOR_MANAGED_SCAN - Authentication: + type: string + VulnerableParameters: + description: Information about vulnerable request parameters. + id: VulnerableParameters + type: object properties: - googleAccount: - description: Authentication using a Google account. - deprecated: true - $ref: '#/components/schemas/GoogleAccount' - iapCredential: - $ref: '#/components/schemas/IapCredential' - description: Authentication using Identity-Aware-Proxy (IAP). - customAccount: - description: Authentication using a custom account. - $ref: '#/components/schemas/CustomAccount' + parameterNames: + description: The vulnerable parameter names. + type: array + items: + type: string + StartScanRunRequest: + id: StartScanRunRequest + description: Request for the `StartScanRun` method. + properties: {} type: object - id: Authentication - description: Scan authentication configuration. - GoogleAccount: - deprecated: true + Schedule: + description: Scan schedule configuration. type: object - description: Describes authentication configuration that uses a Google account. - properties: - username: - description: Required. The user name of the Google account. - type: string - password: - type: string - description: >- - Required. Input only. The password of the Google account. The - credential is stored encrypted and not returned in any response nor - included in audit logs. - id: GoogleAccount - ScanRun: properties: - endTime: + intervalDurationDays: + description: Required. The duration of time between executions in days. + type: integer + format: int32 + scheduleTime: description: >- - Output only. The time at which the ScanRun reached termination state - - that the ScanRun is either finished or stopped by user. - type: string + A timestamp indicates when the next run will be scheduled. The value + is refreshed by the server after each run. If unspecified, it will + default to current server time, which means the scan will be + scheduled to start immediately. format: google-datetime - executionState: - enumDescriptions: - - >- - Represents an invalid state caused by internal server error. This - value should never be returned. - - The scan is waiting in the queue. - - The scan is in progress. - - The scan is either finished or stopped by user. - enum: - - EXECUTION_STATE_UNSPECIFIED - - QUEUED - - SCANNING - - FINISHED - description: Output only. The execution state of the ScanRun. type: string - resultState: + id: Schedule + Empty: + id: Empty + properties: {} + type: object + description: >- + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the + request or the response type of an API method. For instance: service Foo + { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + IapTestServiceAccountInfo: + type: object + description: >- + Describes authentication configuration when Web-Security-Scanner service + account is added in Identity-Aware-Proxy (IAP) access policies. + properties: + targetAudienceClientId: type: string - enum: - - RESULT_STATE_UNSPECIFIED - - SUCCESS - - ERROR - - KILLED description: >- - Output only. The result state of the ScanRun. This field is only - available after the execution state reaches "FINISHED". - enumDescriptions: - - >- - Default value. This value is returned when the ScanRun is not yet - finished. - - The scan finished without errors. - - The scan finished with errors. - - The scan was terminated by user. - warningTraces: + Required. Describes OAuth2 client id of resources protected by + Identity-Aware-Proxy (IAP). + id: IapTestServiceAccountInfo + ListCrawledUrlsResponse: + type: object + id: ListCrawledUrlsResponse + properties: + nextPageToken: + type: string description: >- - Output only. A list of warnings, if such are encountered during this - scan run. + Token to retrieve the next page of results, or empty if there are no + more results in the list. + crawledUrls: items: - $ref: '#/components/schemas/ScanRunWarningTrace' + $ref: '#/components/schemas/CrawledUrl' type: array - name: - description: >- - 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. - type: string - urlsTestedCount: - type: string - description: >- - 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. - format: int64 - startTime: + description: The list of CrawledUrls returned. + description: Response for the `ListCrawledUrls` method. + ListScanConfigsResponse: + description: Response for the `ListScanConfigs` method. + properties: + nextPageToken: type: string - format: google-datetime - description: Output only. The time at which the ScanRun started. - errorTrace: description: >- - Output only. If result_state is an ERROR, this field provides the - primary reason for scan's termination and more details, if such are - available. - $ref: '#/components/schemas/ScanRunErrorTrace' - progressPercent: - type: integer - format: int32 - description: >- - Output only. The percentage of total completion ranging from 0 to - 100. If the scan is in queue, the value is 0. If the scan is - running, the value ranges from 0 to 100. If the scan is finished, - the value is 100. - hasVulnerabilities: - description: Output only. Whether the scan run has found any vulnerabilities. - type: boolean - urlsCrawledCount: - description: >- - 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. - format: int64 - type: string - id: ScanRun - description: >- - A ScanRun is a output-only resource representing an actual run of the - scan. Next id: 12 - type: object - Form: - type: object - description: '! Information about a vulnerability with an HTML.' - properties: - actionUri: - type: string - description: '! The URI where to send the form when it''s submitted.' - fields: + Token to retrieve the next page of results, or empty if there are no + more results in the list. + scanConfigs: type: array + description: The list of ScanConfigs returned. items: - type: string - description: '! The names of form fields related to the vulnerability.' - id: Form - OutdatedLibrary: + $ref: '#/components/schemas/ScanConfig' type: object - id: OutdatedLibrary - description: Information reported for an outdated library. - properties: - libraryName: - type: string - description: The name of the outdated library. - version: - description: The version number. - type: string - learnMoreUrls: - type: array - description: >- - URLs to learn more information about the vulnerabilities in the - library. - items: - type: string + id: ListScanConfigsResponse IapCredential: - description: Describes authentication configuration for Identity-Aware-Proxy (IAP). - type: object properties: iapTestServiceAccountInfo: - $ref: '#/components/schemas/IapTestServiceAccountInfo' description: >- Authentication configuration when Web-Security-Scanner service account is added in Identity-Aware-Proxy (IAP) access policies. - id: IapCredential - ListFindingTypeStatsResponse: - description: Response for the `ListFindingTypeStats` method. - properties: - findingTypeStats: - type: array - items: - $ref: '#/components/schemas/FindingTypeStats' - description: The list of FindingTypeStats returned. - id: ListFindingTypeStatsResponse + $ref: '#/components/schemas/IapTestServiceAccountInfo' type: object - ListCrawledUrlsResponse: + description: Describes authentication configuration for Identity-Aware-Proxy (IAP). + id: IapCredential + OutdatedLibrary: + description: Information reported for an outdated library. properties: - crawledUrls: - description: The list of CrawledUrls returned. + version: + type: string + description: The version number. + learnMoreUrls: + description: >- + URLs to learn more information about the vulnerabilities in the + library. type: array items: - $ref: '#/components/schemas/CrawledUrl' - nextPageToken: - description: >- - Token to retrieve the next page of results, or empty if there are no - more results in the list. + type: string + libraryName: type: string - description: Response for the `ListCrawledUrls` method. - id: ListCrawledUrlsResponse - type: object - StopScanRunRequest: - description: Request for the `StopScanRun` method. - properties: {} - id: StopScanRunRequest + description: The name of the outdated library. type: object - Finding: - id: Finding + id: OutdatedLibrary + CrawledUrl: type: object description: >- - A Finding resource represents a vulnerability instance identified during - a ScanRun. + A CrawledUrl resource represents a URL that was crawled during a + ScanRun. Web Security Scanner Service crawls the web applications, + following all links within the scope of sites, to find the URLs to test + against. properties: - finalUrl: + body: + type: string + description: Output only. The body of the request that was used to visit the URL. + httpMethod: type: string description: >- - Output only. The URL where the browser lands when the vulnerability - is detected. - form: - $ref: '#/components/schemas/Form' - description: >- - Output only. An addon containing information reported for a - vulnerability with an HTML form, if any. - xss: - description: >- - Output only. An addon containing information reported for an XSS, if - any. - $ref: '#/components/schemas/Xss' - reproductionUrl: + Output only. The http method of the request that was used to visit + the URL, in uppercase. + url: type: string + description: Output only. The URL that was crawled. + id: CrawledUrl + ScanConfig: + description: A ScanConfig resource contains the configurations to launch a scan. + type: object + id: ScanConfig + properties: + authentication: + $ref: '#/components/schemas/Authentication' description: >- - Output only. The URL containing human-readable payload that user can - leverage to reproduce the vulnerability. - violatingResource: - $ref: '#/components/schemas/ViolatingResource' + The authentication configuration. If specified, service will use the + authentication configuration during scanning. + ignoreHttpStatusErrors: description: >- - Output only. An addon containing detailed information regarding any - resource causing the vulnerability such as JavaScript sources, - image, audio files, etc. - trackingId: + Whether to keep scanning even if most requests return HTTP error + codes. + type: boolean + maxQps: description: >- - Output only. The tracking ID uniquely identifies a vulnerability - instance across multiple ScanRuns. - type: string - body: + The maximum QPS during scanning. A valid value ranges from 5 to 20 + inclusively. If the field is unspecified or its value is set 0, + server will default to 15. Other values outside of [5, 20] range + will be rejected with INVALID_ARGUMENT error. + type: integer + format: int32 + staticIpScan: + type: boolean description: >- - Output only. The body of the request that triggered the - vulnerability. - type: string - severity: - type: string + Whether the scan configuration has enabled static IP address scan + feature. If enabled, the scanner will access applications from + static IP addresses. + riskLevel: enum: - - SEVERITY_UNSPECIFIED - - CRITICAL - - HIGH - - MEDIUM + - RISK_LEVEL_UNSPECIFIED + - NORMAL - LOW enumDescriptions: - - No severity specified. The default value. - - Critical severity. - - High severity. - - Medium severity. - - Low severity. - readOnly: true - description: Output only. The severity level of the reported vulnerability. - outdatedLibrary: - description: >- - Output only. An addon containing information about outdated - libraries. - $ref: '#/components/schemas/OutdatedLibrary' - vulnerableParameters: - description: >- - Output only. An addon containing information about request - parameters which were found to be vulnerable. - $ref: '#/components/schemas/VulnerableParameters' - vulnerableHeaders: - $ref: '#/components/schemas/VulnerableHeaders' - description: >- - Output only. An addon containing information about vulnerable or - missing HTTP headers. - xxe: - description: >- - Output only. An addon containing information reported for an XXE, if - any. - $ref: '#/components/schemas/Xxe' - readOnly: true - httpMethod: + - Use default, which is NORMAL. + - Normal scanning (Recommended) + - Lower impact scanning type: string - description: >- - Output only. The http method of the request that triggered the - vulnerability, in uppercase. - fuzzedUrl: + description: The risk level selected for the scan + userAgent: + description: The user agent used during scanning. + enumDescriptions: + - The user agent is unknown. Service will default to CHROME_LINUX. + - Chrome on Linux. This is the service default if unspecified. + - Chrome on Android. + - Safari on IPhone. + enum: + - USER_AGENT_UNSPECIFIED + - CHROME_LINUX + - CHROME_ANDROID + - SAFARI_IPHONE type: string - description: >- - Output only. The URL produced by the server-side fuzzer and used in - the request that triggered the vulnerability. - frameUrl: + name: type: string description: >- - Output only. If the vulnerability was originated from nested IFrame, - the immediate parent IFrame is reported. - findingType: - description: >- - Output only. The type of the Finding. Detailed and up-to-date - information on findings can be found here: - https://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings - type: string - description: + The resource name of the ScanConfig. The name follows the format of + 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig + IDs are generated by the system. + exportToSecurityCommandCenter: type: string - description: Output only. The description of the vulnerability. - name: + enum: + - EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED + - ENABLED + - DISABLED description: >- - 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. - type: string - VulnerableParameters: - id: VulnerableParameters - type: object - properties: - parameterNames: + Controls export of scan configurations and results to Security + Command Center. + enumDescriptions: + - Use default, which is ENABLED. + - Export results of this scan to Security Command Center. + - Do not export results of this scan to Security Command Center. + schedule: + $ref: '#/components/schemas/Schedule' + description: The schedule of the ScanConfig. + blacklistPatterns: + type: array items: type: string - description: The vulnerable parameter names. - type: array - description: Information about vulnerable request parameters. - Empty: - properties: {} - description: >- - A generic empty message that you can re-use to avoid defining duplicated - empty messages in your APIs. A typical example is to use it as the - request or the response type of an API method. For instance: service Foo - { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } - type: object - id: Empty - ListScanConfigsResponse: - id: ListScanConfigsResponse - type: object - description: Response for the `ListScanConfigs` method. - properties: - nextPageToken: description: >- - Token to retrieve the next page of results, or empty if there are no - more results in the list. + The excluded URL patterns as described in + https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls + managedScan: + type: boolean + description: >- + Whether the scan config is managed by Web Security Scanner, output + only. + displayName: type: string - scanConfigs: + description: Required. The user provided display name of the ScanConfig. + startingUrls: type: array items: - $ref: '#/components/schemas/ScanConfig' - description: The list of ScanConfigs returned. - ListScanRunsResponse: - description: Response for the `ListScanRuns` method. + type: string + description: Required. The starting URLs from which the scanner finds site pages. + ViolatingResource: + type: object + description: >- + Information regarding any resource causing the vulnerability such as + JavaScript sources, image, audio files, etc. properties: - nextPageToken: - description: >- - Token to retrieve the next page of results, or empty if there are no - more results in the list. + resourceUrl: type: string - scanRuns: - type: array - description: The list of ScanRuns returned. - items: - $ref: '#/components/schemas/ScanRun' + description: URL of this violating resource. + contentType: + description: The MIME type of this resource. + type: string + id: ViolatingResource + ScanRunErrorTrace: + properties: + code: + type: string + enumDescriptions: + - Default value is never used. + - >- + Indicates that the scan run failed due to an internal server + error. + - >- + Indicates a scan configuration error, usually due to outdated + ScanConfig settings, such as starting_urls or the DNS + configuration. + - >- + Indicates an authentication error, usually due to outdated + ScanConfig authentication settings. + - >- + Indicates a scan operation timeout, usually caused by a very large + site. + - >- + Indicates that a scan encountered excessive redirects, either to + authentication or some other page outside of the scan scope. + - >- + Indicates that a scan encountered numerous errors from the web + site pages. When available, most_common_http_error_code field + indicates the most common HTTP error code encountered during the + scan. + - >- + Indicates that some of the starting web urls returned HTTP errors + during the scan. + description: Output only. Indicates the error reason code. + enum: + - CODE_UNSPECIFIED + - INTERNAL_ERROR + - SCAN_CONFIG_ISSUE + - AUTHENTICATION_CONFIG_ISSUE + - TIMED_OUT_WHILE_SCANNING + - TOO_MANY_REDIRECTS + - TOO_MANY_HTTP_ERRORS + - STARTING_URLS_CRAWL_HTTP_ERRORS + scanConfigError: + description: >- + Output only. If the scan encounters SCAN_CONFIG_ISSUE error, this + field has the error message encountered during scan configuration + validation that is performed before each scan run. + $ref: '#/components/schemas/ScanConfigError' + mostCommonHttpErrorCode: + type: integer + format: int32 + description: >- + Output only. If the scan encounters TOO_MANY_HTTP_ERRORS, this field + indicates the most common HTTP error code, if such is available. For + example, if this code is 404, the scan has encountered too many + NOT_FOUND responses. + description: Output only. Defines an error trace message for a ScanRun. type: object - id: ListScanRunsResponse - ScanConfig: - description: A ScanConfig resource contains the configurations to launch a scan. - id: ScanConfig + id: ScanRunErrorTrace + FindingTypeStats: + description: >- + A FindingTypeStats resource represents stats regarding a specific + FindingType of Findings under a given ScanRun. + id: FindingTypeStats type: object properties: - startingUrls: - items: - type: string - description: Required. The starting URLs from which the scanner finds site pages. - type: array - authentication: - description: >- - The authentication configuration. If specified, service will use the - authentication configuration during scanning. - $ref: '#/components/schemas/Authentication' - riskLevel: - description: The risk level selected for the scan - enum: - - RISK_LEVEL_UNSPECIFIED - - NORMAL - - LOW - enumDescriptions: - - Use default, which is NORMAL. - - Normal scanning (Recommended) - - Lower impact scanning - type: string - displayName: + findingType: type: string - description: Required. The user provided display name of the ScanConfig. - blacklistPatterns: + description: Output only. The finding type associated with the stats. + findingCount: + format: int32 + type: integer + description: Output only. The count of findings belonging to this finding type. + Form: + description: '! Information about a vulnerability with an HTML.' + type: object + id: Form + properties: + fields: + description: '! The names of form fields related to the vulnerability.' type: array - description: >- - The excluded URL patterns as described in - https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls items: type: string - ignoreHttpStatusErrors: - description: >- - Whether to keep scanning even if most requests return HTTP error - codes. + actionUri: + description: '! The URI where to send the form when it''s submitted.' + type: string + ScanRun: + type: object + id: ScanRun + properties: + startTime: + format: google-datetime + description: Output only. The time at which the ScanRun started. + type: string + hasVulnerabilities: type: boolean - staticIpScan: + description: Output only. Whether the scan run has found any vulnerabilities. + progressPercent: + type: integer description: >- - Whether the scan configuration has enabled static IP address scan - feature. If enabled, the scanner will access applications from - static IP addresses. - type: boolean - managedScan: - type: boolean + Output only. The percentage of total completion ranging from 0 to + 100. If the scan is in queue, the value is 0. If the scan is + running, the value ranges from 0 to 100. If the scan is finished, + the value is 100. + format: int32 + warningTraces: + type: array description: >- - Whether the scan config is managed by Web Security Scanner, output - only. + Output only. A list of warnings, if such are encountered during this + scan run. + items: + $ref: '#/components/schemas/ScanRunWarningTrace' + executionState: + enumDescriptions: + - >- + Represents an invalid state caused by internal server error. This + value should never be returned. + - The scan is waiting in the queue. + - The scan is in progress. + - The scan is either finished or stopped by user. + description: Output only. The execution state of the ScanRun. + type: string + enum: + - EXECUTION_STATE_UNSPECIFIED + - QUEUED + - SCANNING + - FINISHED name: description: >- - The resource name of the ScanConfig. The name follows the format of - 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig - IDs are generated by the system. + 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. type: string - userAgent: + urlsTestedCount: + format: int64 type: string - enum: - - USER_AGENT_UNSPECIFIED - - CHROME_LINUX - - CHROME_ANDROID - - SAFARI_IPHONE - enumDescriptions: - - The user agent is unknown. Service will default to CHROME_LINUX. - - Chrome on Linux. This is the service default if unspecified. - - Chrome on Android. - - Safari on IPhone. - description: The user agent used during scanning. - maxQps: description: >- - The maximum QPS during scanning. A valid value ranges from 5 to 20 - inclusively. If the field is unspecified or its value is set 0, - server will default to 15. Other values outside of [5, 20] range - will be rejected with INVALID_ARGUMENT error. - type: integer - format: int32 - schedule: - $ref: '#/components/schemas/Schedule' - description: The schedule of the ScanConfig. - exportToSecurityCommandCenter: - description: >- - Controls export of scan configurations and results to Security - Command Center. + 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. + resultState: enum: - - EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED - - ENABLED - - DISABLED + - RESULT_STATE_UNSPECIFIED + - SUCCESS + - ERROR + - KILLED enumDescriptions: - - Use default, which is ENABLED. - - Export results of this scan to Security Command Center. - - Do not export results of this scan to Security Command Center. + - >- + Default value. This value is returned when the ScanRun is not yet + finished. + - The scan finished without errors. + - The scan finished with errors. + - The scan was terminated by user. + description: >- + Output only. The result state of the ScanRun. This field is only + available after the execution state reaches "FINISHED". type: string - ViolatingResource: - properties: - resourceUrl: - description: URL of this violating resource. + endTime: type: string - contentType: + format: google-datetime + description: >- + Output only. The time at which the ScanRun reached termination state + - that the ScanRun is either finished or stopped by user. + urlsCrawledCount: + description: >- + 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. type: string - description: The MIME type of this resource. + format: int64 + errorTrace: + description: >- + Output only. If result_state is an ERROR, this field provides the + primary reason for scan's termination and more details, if such are + available. + $ref: '#/components/schemas/ScanRunErrorTrace' description: >- - Information regarding any resource causing the vulnerability such as - JavaScript sources, image, audio files, etc. - id: ViolatingResource - type: object - parameters: - upload_protocol: - description: Upload protocol for media (e.g. "raw", "multipart"). - in: query - name: upload_protocol - schema: - type: string - alt: - description: Data format for response. - in: query - name: alt - schema: - type: string - enum: - - json - - media - - proto - callback: - description: JSONP - in: query - name: callback - schema: - type: string - oauth_token: - description: OAuth 2.0 token for the current user. - in: query - name: oauth_token - schema: - type: string - uploadType: - description: Legacy upload protocol for media (e.g. "media", "multipart"). - in: query - name: uploadType - schema: - type: string + A ScanRun is a output-only resource representing an actual run of the + scan. Next id: 12 + ListFindingTypeStatsResponse: + id: ListFindingTypeStatsResponse + properties: + findingTypeStats: + type: array + items: + $ref: '#/components/schemas/FindingTypeStats' + description: The list of FindingTypeStats returned. + description: Response for the `ListFindingTypeStats` method. + type: object + parameters: prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean - key: - description: >- - API key. Your API key identifies your project and provides you with API - access, quota, and reports. Required unless you provide an OAuth 2.0 - token. + oauth_token: + description: OAuth 2.0 token for the current user. in: query - name: key + name: oauth_token schema: type: string _.xgafv: @@ -996,16 +959,37 @@ components: enum: - '1' - '2' + fields: + description: Selector specifying which fields to include in a partial response. + in: query + name: fields + schema: + type: string access_token: description: OAuth access token. in: query name: access_token schema: type: string - fields: - description: Selector specifying which fields to include in a partial response. + key: + description: >- + API key. Your API key identifies your project and provides you with API + access, quota, and reports. Required unless you provide an OAuth 2.0 + token. in: query - name: fields + name: key + schema: + type: string + callback: + description: JSONP + in: query + name: callback + schema: + type: string + uploadType: + description: Legacy upload protocol for media (e.g. "media", "multipart"). + in: query + name: uploadType schema: type: string quotaUser: @@ -1017,7 +1001,80 @@ components: name: quotaUser schema: type: string + alt: + description: Data format for response. + in: query + name: alt + schema: + type: string + enum: + - json + - media + - proto + upload_protocol: + description: Upload protocol for media (e.g. "raw", "multipart"). + in: query + name: upload_protocol + schema: + type: string x-stackQL-resources: + scan_configs: + id: google.websecurityscanner.scan_configs + name: scan_configs + title: Scan_configs + methods: + list: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1scanConfigs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.scanConfigs + create: + operation: + $ref: '#/paths/~1v1~1projects~1{projectsId}~1scanConfigs/post' + response: + mediaType: application/json + openAPIDocKey: '200' + start: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}:start/post + response: + mediaType: application/json + openAPIDocKey: '200' + patch: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/scan_configs/methods/get' + - $ref: '#/components/x-stackQL-resources/scan_configs/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/scan_configs/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/scan_configs/methods/patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/scan_configs/methods/delete' finding_type_stats: id: google.websecurityscanner.finding_type_stats name: finding_type_stats @@ -1090,13 +1147,6 @@ components: name: scan_runs title: Scan_runs methods: - get: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}~1scanRuns~1{scanRunsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' list: operation: $ref: >- @@ -1112,88 +1162,101 @@ components: response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/scan_runs/methods/get' - - $ref: '#/components/x-stackQL-resources/scan_runs/methods/list' - insert: [] - update: [] - replace: [] - delete: [] - scan_configs: - id: google.websecurityscanner.scan_configs - name: scan_configs - title: Scan_configs - methods: - patch: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}/patch - response: - mediaType: application/json - openAPIDocKey: '200' get: operation: $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}/get - response: - mediaType: application/json - openAPIDocKey: '200' - delete: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - list: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1scanConfigs/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.scanConfigs - create: - operation: - $ref: '#/paths/~1v1~1projects~1{projectsId}~1scanConfigs/post' - response: - mediaType: application/json - openAPIDocKey: '200' - start: - operation: - $ref: >- - #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}:start/post + #/paths/~1v1~1projects~1{projectsId}~1scanConfigs~1{scanConfigsId}~1scanRuns~1{scanRunsId}/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/scan_configs/methods/get' - - $ref: '#/components/x-stackQL-resources/scan_configs/methods/list' - insert: - - $ref: '#/components/x-stackQL-resources/scan_configs/methods/create' - update: - - $ref: '#/components/x-stackQL-resources/scan_configs/methods/patch' + - $ref: '#/components/x-stackQL-resources/scan_runs/methods/get' + - $ref: '#/components/x-stackQL-resources/scan_runs/methods/list' + insert: [] + update: [] replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/scan_configs/methods/delete' + delete: [] paths: - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findingTypeStats: + /v1/projects/{projectsId}/scanConfigs: parameters: &ref_1 - - $ref: '#/components/parameters/upload_protocol' - - $ref: '#/components/parameters/alt' - - $ref: '#/components/parameters/callback' - - $ref: '#/components/parameters/oauth_token' - - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/prettyPrint' - - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/oauth_token' - $ref: '#/components/parameters/_.xgafv' - - $ref: '#/components/parameters/access_token' - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/access_token' + - $ref: '#/components/parameters/key' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/uploadType' - $ref: '#/components/parameters/quotaUser' + - $ref: '#/components/parameters/alt' + - $ref: '#/components/parameters/upload_protocol' get: - description: List all FindingTypeStats under a given ScanRun. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.findingTypeStats.list + description: Lists ScanConfigs under a given project. + operationId: websecurityscanner.projects.scanConfigs.list + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ListScanConfigsResponse' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + - in: query + name: pageSize + schema: + type: integer + format: int32 + - in: query + name: pageToken + schema: + type: string + post: + description: Creates a new ScanConfig. + operationId: websecurityscanner.projects.scanConfigs.create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScanConfig' + security: + - Oauth2: + - https://www.googleapis.com/auth/cloud-platform + Oauth2c: + - https://www.googleapis.com/auth/cloud-platform + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ScanConfig' + parameters: + - in: path + name: projectsId + required: true + schema: + type: string + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}:start: + parameters: *ref_1 + post: + description: Start a ScanRun according to the given ScanConfig. + operationId: websecurityscanner.projects.scanConfigs.start + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StartScanRunRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1205,7 +1268,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListFindingTypeStatsResponse' + $ref: '#/components/schemas/ScanRun' parameters: - in: path name: projectsId @@ -1217,16 +1280,18 @@ paths: required: true schema: type: string - - in: path - name: scanRunsId - required: true - schema: - type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/crawledUrls: + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}: parameters: *ref_1 - get: - description: List CrawledUrls under a given ScanRun. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.crawledUrls.list + patch: + description: >- + Updates a ScanConfig. This method support partial update of a + ScanConfig. + operationId: websecurityscanner.projects.scanConfigs.patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScanConfig' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1238,7 +1303,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListCrawledUrlsResponse' + $ref: '#/components/schemas/ScanConfig' parameters: - in: path name: projectsId @@ -1250,25 +1315,14 @@ paths: required: true schema: type: string - - in: path - name: scanRunsId - required: true - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - in: query - name: pageToken + name: updateMask schema: type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findings: - parameters: *ref_1 + format: google-fieldmask get: - description: List Findings under a given ScanRun. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.findings.list + description: Gets a ScanConfig. + operationId: websecurityscanner.projects.scanConfigs.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1280,7 +1334,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListFindingsResponse' + $ref: '#/components/schemas/ScanConfig' parameters: - in: path name: projectsId @@ -1292,29 +1346,9 @@ paths: required: true schema: type: string - - in: path - name: scanRunsId - required: true - schema: - type: string - - in: query - name: pageSize - schema: - type: integer - format: int32 - - in: query - name: pageToken - schema: - type: string - - in: query - name: filter - schema: - type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findings/{findingsId}: - parameters: *ref_1 - get: - description: Gets a Finding. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.findings.get + delete: + description: Deletes an existing ScanConfig and its child resources. + operationId: websecurityscanner.projects.scanConfigs.delete security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1326,7 +1360,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Finding' + $ref: '#/components/schemas/Empty' parameters: - in: path name: projectsId @@ -1338,21 +1372,11 @@ paths: required: true schema: type: string - - in: path - name: scanRunsId - required: true - schema: - type: string - - in: path - name: findingsId - required: true - schema: - type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}: + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findingTypeStats: parameters: *ref_1 get: - description: Gets a ScanRun. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.get + description: List all FindingTypeStats under a given ScanRun. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.findingTypeStats.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1364,7 +1388,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ScanRun' + $ref: '#/components/schemas/ListFindingTypeStatsResponse' parameters: - in: path name: projectsId @@ -1381,13 +1405,11 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns: + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/crawledUrls: parameters: *ref_1 get: - description: >- - Lists ScanRuns under a given ScanConfig, in descending order of ScanRun - stop time. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.list + description: List CrawledUrls under a given ScanRun. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.crawledUrls.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1399,7 +1421,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListScanRunsResponse' + $ref: '#/components/schemas/ListCrawledUrlsResponse' parameters: - in: path name: projectsId @@ -1411,6 +1433,11 @@ paths: required: true schema: type: string + - in: path + name: scanRunsId + required: true + schema: + type: string - in: query name: pageSize schema: @@ -1420,16 +1447,11 @@ paths: name: pageToken schema: type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}:stop: + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findings: parameters: *ref_1 - post: - description: Stops a ScanRun. The stopped ScanRun is returned. - operationId: websecurityscanner.projects.scanConfigs.scanRuns.stop - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StopScanRunRequest' + get: + description: List Findings under a given ScanRun. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.findings.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1441,7 +1463,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ScanRun' + $ref: '#/components/schemas/ListFindingsResponse' parameters: - in: path name: projectsId @@ -1458,49 +1480,24 @@ paths: required: true schema: type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}: - parameters: *ref_1 - patch: - description: >- - Updates a ScanConfig. This method support partial update of a - ScanConfig. - operationId: websecurityscanner.projects.scanConfigs.patch - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ScanConfig' - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ScanConfig' - parameters: - - in: path - name: projectsId - required: true + - in: query + name: pageToken schema: type: string - - in: path - name: scanConfigsId - required: true + - in: query + name: pageSize schema: - type: string + type: integer + format: int32 - in: query - name: updateMask + name: filter schema: type: string - format: google-fieldmask + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}/findings/{findingsId}: + parameters: *ref_1 get: - description: Gets a ScanConfig. - operationId: websecurityscanner.projects.scanConfigs.get + description: Gets a Finding. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.findings.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1512,7 +1509,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ScanConfig' + $ref: '#/components/schemas/Finding' parameters: - in: path name: projectsId @@ -1524,37 +1521,23 @@ paths: required: true schema: type: string - delete: - description: Deletes an existing ScanConfig and its child resources. - operationId: websecurityscanner.projects.scanConfigs.delete - security: - - Oauth2: - - https://www.googleapis.com/auth/cloud-platform - Oauth2c: - - https://www.googleapis.com/auth/cloud-platform - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/Empty' - parameters: - in: path - name: projectsId + name: scanRunsId required: true schema: type: string - in: path - name: scanConfigsId + name: findingsId required: true schema: type: string - /v1/projects/{projectsId}/scanConfigs: + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns: parameters: *ref_1 get: - description: Lists ScanConfigs under a given project. - operationId: websecurityscanner.projects.scanConfigs.list + description: >- + Lists ScanRuns under a given ScanConfig, in descending order of ScanRun + stop time. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.list security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1566,15 +1549,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ListScanConfigsResponse' + $ref: '#/components/schemas/ListScanRunsResponse' parameters: - in: path name: projectsId required: true schema: type: string - - in: query - name: pageToken + - in: path + name: scanConfigsId + required: true schema: type: string - in: query @@ -1582,14 +1566,20 @@ paths: schema: type: integer format: int32 + - in: query + name: pageToken + schema: + type: string + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}:stop: + parameters: *ref_1 post: - description: Creates a new ScanConfig. - operationId: websecurityscanner.projects.scanConfigs.create + description: Stops a ScanRun. The stopped ScanRun is returned. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.stop requestBody: content: application/json: schema: - $ref: '#/components/schemas/ScanConfig' + $ref: '#/components/schemas/StopScanRunRequest' security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1601,23 +1591,28 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ScanConfig' + $ref: '#/components/schemas/ScanRun' parameters: - in: path name: projectsId required: true schema: type: string - /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}:start: + - in: path + name: scanConfigsId + required: true + schema: + type: string + - in: path + name: scanRunsId + required: true + schema: + type: string + /v1/projects/{projectsId}/scanConfigs/{scanConfigsId}/scanRuns/{scanRunsId}: parameters: *ref_1 - post: - description: Start a ScanRun according to the given ScanConfig. - operationId: websecurityscanner.projects.scanConfigs.start - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StartScanRunRequest' + get: + description: Gets a ScanRun. + operationId: websecurityscanner.projects.scanConfigs.scanRuns.get security: - Oauth2: - https://www.googleapis.com/auth/cloud-platform @@ -1641,3 +1636,8 @@ paths: required: true schema: type: string + - in: path + name: scanRunsId + required: true + schema: + type: string diff --git a/providers/src/googleapis.com/v00.00.00000/services/workflowexecutions.yaml b/providers/src/googleapis.com/v00.00.00000/services/workflowexecutions.yaml index 07e154ee..74b32c65 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/workflowexecutions.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/workflowexecutions.yaml @@ -7,8 +7,8 @@ info: title: Workflow Executions API description: Execute workflows created with Workflows API. version: v1 - x-discovery-doc-revision: '20240903' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241015' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/workflows servers: @@ -291,7 +291,8 @@ components: description: >- Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a - progress of PROGRESS_TYPE_FOR. + progress of PROGRESS_TYPE_FOR. Note: This field is only populated + when an iteration exists and the starting value is 1. type: string format: int64 expectedIteration: @@ -344,7 +345,9 @@ components: type: string format: google-datetime startTime: - description: Output only. Marks the beginning of execution. + description: >- + Output only. Marks the beginning of execution. Note that this will + be the same as `createTime` for executions that start immediately. readOnly: true type: string format: google-datetime diff --git a/providers/src/googleapis.com/v00.00.00000/services/workflows.yaml b/providers/src/googleapis.com/v00.00.00000/services/workflows.yaml index 1f1a477e..27058909 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/workflows.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/workflows.yaml @@ -9,8 +9,8 @@ info: Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241016' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/workflows servers: @@ -213,7 +213,7 @@ components: type: string Workflow: id: Workflow - description: LINT.IfChange Workflow program to be executed by Workflows. + description: Workflow program to be executed by Workflows. type: object properties: name: diff --git a/providers/src/googleapis.com/v00.00.00000/services/workloadmanager.yaml b/providers/src/googleapis.com/v00.00.00000/services/workloadmanager.yaml index 62b03c0e..493ce935 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/workloadmanager.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/workloadmanager.yaml @@ -10,8 +10,8 @@ info: to automate the deployment and validation of your workloads against best practices and recommendations. version: v1 - x-discovery-doc-revision: '20240731' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241023' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/workload-manager/docs servers: @@ -375,11 +375,56 @@ components: - TYPE_UNSPECIFIED - ONE_TIME - SCHEDULED + ruleResults: + description: Output only. execution result summary per rule + readOnly: true + type: array + items: + $ref: '#/components/schemas/RuleExecutionResult' externalDataSources: description: Optional. External data sources type: array items: $ref: '#/components/schemas/ExternalDataSources' + notices: + description: Output only. Additional information generated by the execution + readOnly: true + type: array + items: + $ref: '#/components/schemas/Notice' + RuleExecutionResult: + id: RuleExecutionResult + description: Message for execution result summary per rule + type: object + properties: + rule: + description: rule name + type: string + state: + description: Output only. The execution status + readOnly: true + type: string + enumDescriptions: + - Unknown state + - execution completed successfully + - execution completed with failures + - execution was not executed + enum: + - STATE_UNSPECIFIED + - STATE_SUCCESS + - STATE_FAILURE + - STATE_SKIPPED + message: + description: Execution message, if any + type: string + resultCount: + description: Number of violations + type: string + format: int64 + scannedResourceCount: + description: Number of total scanned resources + type: string + format: int64 ExternalDataSources: id: ExternalDataSources description: Message for external data sources @@ -411,6 +456,15 @@ components: be a custom type defined by the user custom type must match the asset type in the rule type: string + Notice: + id: Notice + description: Message for additional information generated by the execution + type: object + properties: + message: + description: Output only. Message of the notice + readOnly: true + type: string RunEvaluationRequest: id: RunEvaluationRequest description: Message for creating a Execution @@ -483,6 +537,17 @@ components: type: array items: $ref: '#/components/schemas/Command' + type: + description: Execution result type of the scanned resource + type: string + enumDescriptions: + - Unknown state + - resource successfully passed the rule + - resource violated the rule + enum: + - TYPE_UNSPECIFIED + - TYPE_PASSED + - TYPE_VIOLATED Resource: id: Resource description: Message represent resource in execution result @@ -992,6 +1057,7 @@ components: type: string instanceNumber: description: Optional. The VM's instance number. + deprecated: true type: string format: int64 instanceRole: @@ -1047,6 +1113,9 @@ components: items: $ref: >- #/components/schemas/SapDiscoveryResourceInstancePropertiesAppInstance + isDrSite: + description: Optional. Instance is part of a DR site. + type: boolean SapDiscoveryResourceInstancePropertiesAppInstance: id: SapDiscoveryResourceInstancePropertiesAppInstance description: Fields to describe an SAP application server instance. @@ -1316,327 +1385,6 @@ components: description: Output only. API version used to start the operation. readOnly: true type: string - AssetLocation: - id: AssetLocation - description: >- - Provides the mapping of a cloud asset to a direct physical location or - to a proxy that defines the location on its behalf. - type: object - properties: - expected: - description: >- - Defines the customer expectation around ZI/ZS for this asset and - ZI/ZS state of the region at the time of asset creation. - $ref: '#/components/schemas/IsolationExpectations' - locationData: - description: Contains all kinds of physical location definitions for this asset. - type: array - items: - $ref: '#/components/schemas/LocationData' - parentAsset: - description: >- - Defines parents assets if any in order to allow later generation of - child_asset_location data via child assets. - type: array - items: - $ref: '#/components/schemas/CloudAsset' - extraParameters: - description: Defines extra parameters required for specific asset types. - type: array - items: - $ref: '#/components/schemas/ExtraParameter' - ccfeRmsPath: - description: >- - Spanner path of the CCFE RMS database. It is only applicable for - CCFE tenants that use CCFE RMS for storing resource metadata. - type: string - IsolationExpectations: - id: IsolationExpectations - type: object - properties: - zoneIsolation: - description: >- - Deprecated: use zi_org_policy, zi_region_policy and zi_region_state - instead for setting ZI expectations as per - go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zoneSeparation: - description: >- - Deprecated: use zs_org_policy, and zs_region_stateinstead for - setting Zs expectations as per go/zicy-publish-physical-location. - deprecated: true - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - zsRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking of the asset ZS-bit is not available - - '' - - '' - enum: - - ZS_REGION_UNSPECIFIED - - ZS_REGION_UNKNOWN - - ZS_REGION_NOT_ENABLED - - ZS_REGION_ENABLED - ziOrgPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - ziRegionPolicy: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_REGION_POLICY_UNSPECIFIED - - ZI_REGION_POLICY_UNKNOWN - - ZI_REGION_POLICY_NOT_SET - - ZI_REGION_POLICY_FAIL_OPEN - - ZI_REGION_POLICY_FAIL_CLOSED - ziRegionState: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZI_REGION_UNSPECIFIED - - ZI_REGION_UNKNOWN - - ZI_REGION_NOT_ENABLED - - ZI_REGION_ENABLED - requirementOverride: - description: >- - Explicit overrides for ZI and ZS requirements to be used for - resources that should be excluded from ZI/ZS verification logic. - $ref: '#/components/schemas/RequirementOverride' - RequirementOverride: - id: RequirementOverride - type: object - properties: - ziOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - - '' - enum: - - ZI_UNSPECIFIED - - ZI_UNKNOWN - - ZI_NOT_REQUIRED - - ZI_PREFERRED - - ZI_REQUIRED - zsOverride: - type: string - enumDescriptions: - - '' - - To be used if tracking is not available - - '' - - '' - enum: - - ZS_UNSPECIFIED - - ZS_UNKNOWN - - ZS_NOT_REQUIRED - - ZS_REQUIRED - LocationData: - id: LocationData - type: object - properties: - directLocation: - $ref: '#/components/schemas/DirectLocationAssignment' - spannerLocation: - $ref: '#/components/schemas/SpannerLocation' - childAssetLocation: - $ref: '#/components/schemas/CloudAssetComposition' - gcpProjectProxy: - $ref: '#/components/schemas/TenantProjectProxy' - blobstoreLocation: - $ref: '#/components/schemas/BlobstoreLocation' - placerLocation: - $ref: '#/components/schemas/PlacerLocation' - DirectLocationAssignment: - id: DirectLocationAssignment - type: object - properties: - location: - type: array - items: - $ref: '#/components/schemas/LocationAssignment' - LocationAssignment: - id: LocationAssignment - type: object - properties: - location: - type: string - locationType: - type: string - enumDescriptions: - - '' - - '1-10: Physical failure domains.' - - '' - - '11-20: Logical failure domains.' - - '' - - '' - - '' - - '' - - '' - enum: - - UNSPECIFIED - - CLUSTER - - POP - - CLOUD_ZONE - - CLOUD_REGION - - MULTI_REGION_GEO - - MULTI_REGION_JURISDICTION - - GLOBAL - - OTHER - SpannerLocation: - id: SpannerLocation - type: object - properties: - dbName: - description: Set of databases used by the resource in format /span// - type: array - items: - type: string - backupName: - description: >- - Set of backups used by the resource with name in the same format as - what is available at http://table/spanner_automon.backup_metadata - type: array - items: - type: string - CloudAssetComposition: - id: CloudAssetComposition - type: object - properties: - childAsset: - type: array - items: - $ref: '#/components/schemas/CloudAsset' - CloudAsset: - id: CloudAsset - type: object - properties: - assetType: - type: string - assetName: - type: string - TenantProjectProxy: - id: TenantProjectProxy - type: object - properties: - projectNumbers: - type: array - items: - type: string - BlobstoreLocation: - id: BlobstoreLocation - description: >- - Policy ID that identified data placement in Blobstore as per - go/blobstore-user-guide#data-metadata-placement-and-failure-domains - type: object - properties: - policyId: - type: array - items: - type: string - PlacerLocation: - id: PlacerLocation - description: >- - Message describing that the location of the customer resource is tied to - placer allocations - type: object - properties: - placerConfig: - description: >- - Directory with a config related to it in placer (e.g. - "/placer/prod/home/my-root/my-dir") - type: string - ExtraParameter: - id: ExtraParameter - description: Defines parameters that should only be used for specific asset types. - type: object - properties: - regionalMigDistributionPolicy: - description: >- - Details about zones used by regional - compute.googleapis.com/InstanceGroupManager to create instances. - $ref: '#/components/schemas/RegionalMigDistributionPolicy' - RegionalMigDistributionPolicy: - id: RegionalMigDistributionPolicy - description: >- - To be used for specifying the intended distribution of regional - compute.googleapis.com/InstanceGroupManager instances - type: object - properties: - zones: - description: Cloud zones used by regional MIG to create instances. - type: array - items: - $ref: '#/components/schemas/ZoneConfiguration' - targetShape: - description: >- - The shape in which the group converges around distribution of - resources. Instance of proto2 enum - type: integer - format: int32 - ZoneConfiguration: - id: ZoneConfiguration - type: object - properties: - zone: - type: string parameters: access_token: description: OAuth access token. diff --git a/providers/src/googleapis.com/v00.00.00000/services/workstations.yaml b/providers/src/googleapis.com/v00.00.00000/services/workstations.yaml index f85772c0..f6c7cfc6 100644 --- a/providers/src/googleapis.com/v00.00.00000/services/workstations.yaml +++ b/providers/src/googleapis.com/v00.00.00000/services/workstations.yaml @@ -9,8 +9,8 @@ info: Allows administrators to create managed developer environments in the cloud. version: v1 - x-discovery-doc-revision: '20240904' - x-generated-date: '2024-09-19' + x-discovery-doc-revision: '20241010' + x-generated-date: '2024-11-06' externalDocs: url: https://cloud.google.com/workstations servers: @@ -299,6 +299,14 @@ components: type: array items: $ref: '#/components/schemas/Status' + tags: + description: >- + Optional. Tag keys/values directly bound to this resource. For + example: "123/environment": "production", "123/costCenter": + "marketing" + type: object + additionalProperties: + type: string PrivateClusterConfig: id: PrivateClusterConfig description: Configuration options for private workstation clusters. @@ -709,6 +717,13 @@ components: type: array items: $ref: '#/components/schemas/Accelerator' + boostConfigs: + description: >- + Optional. A list of the boost configurations that workstations + created using this workstation configuration are allowed to use. + type: array + items: + $ref: '#/components/schemas/BoostConfig' disableSsh: description: Optional. Whether to disable SSH access to the VM. type: boolean @@ -758,6 +773,64 @@ components: description: Optional. Number of accelerator cards exposed to the instance. type: integer format: int32 + BoostConfig: + id: BoostConfig + description: A configuration that workstations can boost to. + type: object + properties: + id: + description: Optional. Required. The id to be used for the boost configuration. + type: string + machineType: + description: >- + Optional. The type of machine that boosted VM instances will use—for + example, `e2-standard-4`. For more information about machine types + that Cloud Workstations supports, see the list of [available machine + types](https://cloud.google.com/workstations/docs/available-machine-types). + Defaults to `e2-standard-4`. + type: string + accelerators: + description: >- + Optional. A list of the type and count of accelerator cards attached + to the boost instance. Defaults to `none`. + type: array + items: + $ref: '#/components/schemas/Accelerator' + bootDiskSizeGb: + description: >- + Optional. The size of the boot disk for the VM in gigabytes (GB). + The minimum boot disk size is `30` GB. Defaults to `50` GB. + type: integer + format: int32 + enableNestedVirtualization: + description: >- + Optional. Whether to enable nested virtualization on boosted Cloud + Workstations VMs running using this boost configuration. Defaults to + false. Nested virtualization lets you run virtual machine (VM) + instances inside your workstation. Before enabling nested + virtualization, consider the following important considerations. + Cloud Workstations instances are subject to the [same restrictions + as Compute Engine + instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): + * **Organization policy**: projects, folders, or organizations may + be restricted from creating nested VMs if the **Disable VM nested + virtualization** constraint is enforced in the organization policy. + For more information, see the Compute Engine section, [Checking + whether nested virtualization is + allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). + * **Performance**: nested VMs might experience a 10% or greater + decrease in performance for workloads that are CPU-bound and + possibly greater than a 10% decrease for workloads that are + input/output bound. * **Machine Type**: nested virtualization can + only be enabled on boost configurations that specify a machine_type + in the N1 or N2 machine series. + type: boolean + poolSize: + description: >- + Optional. The number of boost VMs that the system should keep idle + so that workstations can be boosted quickly. Defaults to `0`. + type: integer + format: int32 PersistentDirectory: id: PersistentDirectory description: A directory to persist across workstation sessions. From da79facb8e95b318322a1d345fe2bf52b1fbeb83 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Fri, 15 Nov 2024 17:43:40 +1100 Subject: [PATCH 2/2] digitalocean update --- .../digitalocean/v00.00.00000/provider.yaml | 330 +- .../v00.00.00000/services/account.yaml | 1396 +- .../v00.00.00000/services/actions.yaml | 1774 +- .../v00.00.00000/services/apps.yaml | 72845 +++++++++++++++- .../v00.00.00000/services/billing.yaml | 2378 +- .../v00.00.00000/services/block_storage.yaml | 3300 +- .../v00.00.00000/services/cdn.yaml | 1680 +- .../v00.00.00000/services/certificates.yaml | 2117 +- .../services/container_registry.yaml | 3085 +- .../v00.00.00000/services/databases.yaml | 14482 ++- .../v00.00.00000/services/domains.yaml | 2669 +- .../v00.00.00000/services/droplets.yaml | 9453 +- .../v00.00.00000/services/firewalls.yaml | 3128 +- .../v00.00.00000/services/floating_ips.yaml | 4694 +- .../v00.00.00000/services/functions.yaml | 2122 +- .../v00.00.00000/services/images.yaml | 3142 +- .../v00.00.00000/services/kubernetes.yaml | 5578 +- .../v00.00.00000/services/load_balancers.yaml | 4405 +- .../v00.00.00000/services/monitoring.yaml | 5841 +- .../services/one_click_applications.yaml | 1347 +- .../v00.00.00000/services/projects.yaml | 2333 +- .../v00.00.00000/services/regions.yaml | 1529 +- .../v00.00.00000/services/reserved_ips.yaml | 4773 +- .../v00.00.00000/services/sizes.yaml | 1624 +- .../v00.00.00000/services/snapshots.yaml | 1802 +- .../v00.00.00000/services/ssh_keys.yaml | 1685 +- .../v00.00.00000/services/tags.yaml | 2123 +- .../v00.00.00000/services/uptime.yaml | 2377 +- .../v00.00.00000/services/vpc_peerings.yaml | 6938 ++ .../v00.00.00000/services/vpcs.yaml | 2229 +- 30 files changed, 146014 insertions(+), 27165 deletions(-) create mode 100644 providers/src/digitalocean/v00.00.00000/services/vpc_peerings.yaml diff --git a/providers/src/digitalocean/v00.00.00000/provider.yaml b/providers/src/digitalocean/v00.00.00000/provider.yaml index 01c4c5b2..7464290a 100644 --- a/providers/src/digitalocean/v00.00.00000/provider.yaml +++ b/providers/src/digitalocean/v00.00.00000/provider.yaml @@ -3,258 +3,474 @@ name: digitalocean version: v00.00.00000 providerServices: account: - description: Account - id: 'account:v00.00.00000' + id: account:v00.00.00000 name: account preferred: true service: $ref: digitalocean/v00.00.00000/services/account.yaml title: DigitalOcean API - Account version: v00.00.00000 + description: Provides Information About Your Current Account. actions: - description: Actions - id: 'actions:v00.00.00000' + id: actions:v00.00.00000 name: actions preferred: true service: $ref: digitalocean/v00.00.00000/services/actions.yaml title: DigitalOcean API - Actions version: v00.00.00000 + description: |- + Actions Are Records Of Events That Have Occurred On The Resources In Your Account. + These Can Be Things Like Rebooting A Droplet, Or Transferring An Image To A New Region. + An Action Object Is Created Every Time One Of These Actions Is Initiated. The Action + Object Contains Information About The Current Status Of The Action, Start And Complete + Timestamps, And The Associated Resource Type And ID. + Every Action That Creates An Action Object Is Available Through This Endpoint. Completed + Actions Are Not Removed From This List And Are Always Available For Querying. + **Note:** You Can Pass The Following HTTP Header With The Request To Have The API Return + The `Reserved Ips` Stanza Instead Of The `Floating Ips` Stanza: + - `Accept: Application/Vnd.Digitalocean.Reserveip+Json` apps: - description: Apps - id: 'apps:v00.00.00000' + id: apps:v00.00.00000 name: apps preferred: true service: $ref: digitalocean/v00.00.00000/services/apps.yaml title: DigitalOcean API - Apps version: v00.00.00000 + description: |- + App Platform Is A Platform-As-A-Service (PaaS) Offering From DigitalOcean That Allows + Developers To Publish Code Directly To DigitalOcean Servers Without Worrying About The + Underlying Infrastructure. + Most API Operations Are Centered Around A Few Core Object Types. Following Are The + Definitions Of These Types. These Definitions Will Be Omitted From The Operation-Specific + Documentation. + For Documentation On App Specifications (`AppSpec` Objects), Please Refer To The + [Product Documentation](Https://Docs.Digitalocean.Com/Products/App-Platform/Reference/App-Spec/)). billing: - description: Billing - id: 'billing:v00.00.00000' + id: billing:v00.00.00000 name: billing preferred: true service: $ref: digitalocean/v00.00.00000/services/billing.yaml title: DigitalOcean API - Billing version: v00.00.00000 + description: |- + The Billing Endpoints Allow You To Retrieve Your Account Balance, Invoices + And Billing History. + **Balance:** By Sending Requests To The `/V2/Customers/My/Balance` Endpoint, You Can + Retrieve The Balance Information For The Requested Customer Account. + **Invoices:** [Invoices](Https://Docs.Digitalocean.Com/Platform/Billing/Invoices/) + Are Generated On The First Of Each Month For Every DigitalOcean + Customer. An Invoice Preview Is Generated Daily, Which Can Be Accessed + With The `Preview` Keyword In Place Of `$INVOICE UUID`. To Interact With + Invoices, You Will Generally Send Requests To The Invoices Endpoint At + `/V2/Customers/My/Invoices`. + **Billing History:** Billing History Is A Record Of Billing Events For Your Account. + For Example, Entries May Include Events Like Payments Made, Invoices + Issued, Or Credits Granted. To Interact With Invoices, You + Will Generally Send Requests To The Invoices Endpoint At + `/V2/Customers/My/Billing History`. block_storage: - description: Block Storage - id: 'block_storage:v00.00.00000' + id: block_storage:v00.00.00000 name: block_storage preferred: true service: $ref: digitalocean/v00.00.00000/services/block_storage.yaml title: DigitalOcean API - Block Storage version: v00.00.00000 + description: |- + [DigitalOcean Block Storage Volumes](Https://Docs.Digitalocean.Com/Products/Volumes/) + Provide Expanded Storage Capacity For Your Droplets And Can Be Moved + Between Droplets Within A Specific Region. + Volumes Function As Raw Block Devices, Meaning They Appear To The + Operating System As Locally Attached Storage Which Can Be Formatted Using + Any File System Supported By The OS. They May Be Created In Sizes From + 1GiB To 16TiB. + By Sending Requests To The `/V2/Volumes` Endpoint, You Can List, Create, Or + Delete Volumes As Well As Attach And Detach Them From Droplets cdn: - description: CDN Endpoints - id: 'cdn:v00.00.00000' + id: cdn:v00.00.00000 name: cdn preferred: true service: $ref: digitalocean/v00.00.00000/services/cdn.yaml title: DigitalOcean API - Cdn version: v00.00.00000 + description: |- + Content Hosted In DigitalOcean'S Object Storage Solution, + [Spaces](Https://Docs.Digitalocean.Com/Products/Spaces/), + Can Optionally Be Served By Our Globally Distributed Content Delivery + Network (CDN). By Sending Requests To `/V2/Cdn/Endpoints`, You Can List, + Create, Or Delete CDN Endpoints As Well As Purge Cached Content. To Use A + Custom Subdomain To Access The CDN Endpoint, Provide The ID Of A + DigitalOcean Managed TLS Certificate And The Fully Qualified Domain Name + For The Custom Subdomain. + CDN Endpoints Have A Rate Limit Of Five Requests Per 10 Seconds. certificates: - description: Certificates - id: 'certificates:v00.00.00000' + id: certificates:v00.00.00000 name: certificates preferred: true service: $ref: digitalocean/v00.00.00000/services/certificates.yaml title: DigitalOcean API - Certificates version: v00.00.00000 + description: |- + In Order To Perform SSL Termination On Load Balancers, DigitalOcean Offers + Two Types Of [SSL Certificate Management](Https://Docs.Digitalocean.Com/Platform/Teams/Manage-Certificates): + * **Custom**: User-Generated Certificates May Be Uploaded To DigitalOcean + Where They Will Be Placed In A Fully Encrypted And Isolated Storage System. + * **Let'S Encrypt**: Certificates May Be Automatically Generated By + DigitalOcean Utilizing An Integration With Let'S Encrypt, The Free And + Open Certificate Authority. These Certificates Will Also Be Automatically + Renewed As Required. container_registry: - description: Container Registry - id: 'container_registry:v00.00.00000' + id: container_registry:v00.00.00000 name: container_registry preferred: true service: $ref: digitalocean/v00.00.00000/services/container_registry.yaml title: DigitalOcean API - Container Registry version: v00.00.00000 + description: |- + DigitalOcean Offers The Ability For You To Create A + [Private Container Registry](Https://Docs.Digitalocean.Com/Products/Container-Registry/) + To Store Your Docker Images For Use With Your Kubernetes Clusters. This + Container Registry Runs Inside The Same Datacenters As Your Cluster, + Ensuring Reliable And Performant Rollout Of Image Deployments. + You Can Only Create One Registry Per DigitalOcean Account, But You Can Use + That Registry To Create As Many Repositories As You Wish. databases: - description: Databases - id: 'databases:v00.00.00000' + id: databases:v00.00.00000 name: databases preferred: true service: $ref: digitalocean/v00.00.00000/services/databases.yaml title: DigitalOcean API - Databases version: v00.00.00000 + description: |- + DigitalOcean'S [Managed Database Service](Https://Docs.Digitalocean.Com/Products/Databases) + Simplifies The Creation And Management Of Highly Available Database Clusters. Currently, It + Offers Support For [PostgreSQL](Http://Docs.Digitalocean.Com/Products/Databases/Postgresql/), + [Redis](Https://Docs.Digitalocean.Com/Products/Databases/Redis/), + [MySQL](Https://Docs.Digitalocean.Com/Products/Databases/Mysql/), + [MongoDB](Https://Docs.Digitalocean.Com/Products/Databases/Mongodb/), And + [OpenSearch](Https://Docs.Digitalocean.Com/Products/Databases/Opensearch/). + By Sending Requests To The `/V2/Databases` Endpoint, You Can List, Create, Or Delete + Database Clusters As Well As Scale The Size Of A Cluster, Add Or Remove Read-Only Replicas, + And Manage Other Configuration Details. + Database Clusters May Be Deployed In A Multi-Node, High-Availability Configuration. + If Your Machine Type Is Above The Basic Nodes, Your Node Plan Is Above The Smallest Option, + Or You Are Running MongoDB, You May Additionally Include Up To Two Standby Nodes In Your Cluster. + The Size Of Individual Nodes In A Database Cluster Is Represented By A Human-Readable Slug, + Which Is Used In Some Of The Following Requests. Each Slug Denotes The Node'S Identifier, + CPU Count, And Amount Of RAM, In That Order. + For A List Of Currently Available Database Slugs And Options, Use The `/V2/Databases/Options` Endpoint Or Use The + `Doctl Databases Options` [Command](Https://Docs.Digitalocean.Com/Reference/Doctl/Reference/Databases/Options). domains: - description: Domains - id: 'domains:v00.00.00000' + id: domains:v00.00.00000 name: domains preferred: true service: $ref: digitalocean/v00.00.00000/services/domains.yaml title: DigitalOcean API - Domains version: v00.00.00000 + description: |- + Domain Resources Are Domain Names That You Have Purchased From A Domain + Name Registrar That You Are Managing Through The + [DigitalOcean DNS Interface](Https://Docs.Digitalocean.Com/Products/Networking/Dns/). + This Resource Establishes Top-Level Control Over Each Domain. Actions That + Affect Individual Domain Records Should Be Taken On The + [Domain Records](#Tag/Domain-Records) Resource. droplets: - description: Droplets - id: 'droplets:v00.00.00000' + id: droplets:v00.00.00000 name: droplets preferred: true service: $ref: digitalocean/v00.00.00000/services/droplets.yaml title: DigitalOcean API - Droplets version: v00.00.00000 + description: |- + A [Droplet](Https://Docs.Digitalocean.Com/Products/Droplets/) Is A DigitalOcean + Virtual Machine. By Sending Requests To The Droplet Endpoint, You Can + List, Create, Or Delete Droplets. + Some Of The Attributes Will Have An Object Value. The `Region` And `Image` + Objects Will All Contain The Standard Attributes Of Their Associated + Types. Find More Information About Each Of These Objects In Their + Respective Sections. firewalls: - description: Firewalls - id: 'firewalls:v00.00.00000' + id: firewalls:v00.00.00000 name: firewalls preferred: true service: $ref: digitalocean/v00.00.00000/services/firewalls.yaml title: DigitalOcean API - Firewalls version: v00.00.00000 + description: |- + [DigitalOcean Cloud Firewalls](Https://Docs.Digitalocean.Com/Products/Networking/Firewalls/) + Provide The Ability To Restrict Network Access To And From A Droplet + Allowing You To Define Which Ports Will Accept Inbound Or Outbound + Connections. By Sending Requests To The `/V2/Firewalls` Endpoint, You Can + List, Create, Or Delete Firewalls As Well As Modify Access Rules. floating_ips: - description: Floating IPs - id: 'floating_ips:v00.00.00000' + id: floating_ips:v00.00.00000 name: floating_ips preferred: true service: $ref: digitalocean/v00.00.00000/services/floating_ips.yaml title: DigitalOcean API - Floating Ips version: v00.00.00000 + description: |- + As Of 16 June 2022, We Have Renamed The Floating IP Product To [Reserved IPs](Https://Docs.Digitalocean.Com/Reference/Api/Api-Reference/#Tag/Reserved-IPs). + The Reserved IP Product'S Endpoints Function The Exact Same Way As Floating IPs. + The Only Difference Is The Name Change Throughout The URLs And Fields. + For Example, The `Floating Ips` Field Is Now The `Reserved Ips` Field. + The Floating IP Endpoints Will Remain Active Until Fall 2023 Before Being + Permanently Deprecated. + With The Exception Of The [Projects API](Https://Docs.Digitalocean.Com/Reference/Api/Api-Reference/#Tag/Projects), + We Will Reflect This Change As An Additional Field In The Responses Across The API + Where The `Floating Ip` Field Is Used. For Example, The Droplet Metadata Response + Will Contain The Field `Reserved Ips` In Addition To The `Floating Ips` Field. + Floating IPs Retrieved Using The Projects API Will Retain The Original Name. + [DigitalOcean Floating IPs](Https://Docs.Digitalocean.Com/Products/Networking/Reserved-Ips/) + Are Publicly-Accessible Static IP Addresses That Can Be Mapped To One Of + Your Droplets. They Can Be Used To Create Highly Available Setups Or Other + Configurations Requiring Movable Addresses. + Floating IPs Are Bound To A Specific Region. functions: - description: Functions - id: 'functions:v00.00.00000' + id: functions:v00.00.00000 name: functions preferred: true service: $ref: digitalocean/v00.00.00000/services/functions.yaml title: DigitalOcean API - Functions version: v00.00.00000 + description: |- + [Serverless Functions](Https://Docs.Digitalocean.Com/Products/Functions) Are Blocks Of Code That Run On Demand Without The Need To Manage Any Infrastructure. + You Can Develop Functions On Your Local Machine And Then Deploy Them To A Namespace Using `Doctl`, The [Official DigitalOcean CLI Tool](Https://Docs.Digitalocean.Com/Reference/Doctl). + The Serverless Functions API Currently Only Supports Creating And Managing Namespaces. images: - description: Images - id: 'images:v00.00.00000' + id: images:v00.00.00000 name: images preferred: true service: $ref: digitalocean/v00.00.00000/services/images.yaml title: DigitalOcean API - Images version: v00.00.00000 + description: |- + A DigitalOcean [Image](Https://Docs.Digitalocean.Com/Products/Images/) Can Be + Used To Create A Droplet And May Come In A Number Of Flavors. Currently, + There Are Five Types Of Images: Snapshots, Backups, Applications, + Distributions, And Custom Images. + * [Snapshots](Https://Docs.Digitalocean.Com/Products/Snapshots/) Provide + A Full Copy Of An Existing Droplet Instance Taken On Demand. + * [Backups](Https://Docs.Digitalocean.Com/Products/Backups/) Are Similar + To Snapshots But Are Created Automatically At Regular Intervals When + Enabled For A Droplet. + * [Custom Images](Https://Docs.Digitalocean.Com/Products/Custom-Images/) + Are Linux-Based Virtual Machine Images (Raw, Qcow2, Vhdx, Vdi, And Vmdk + Formats Are Supported) That You May Upload For Use On DigitalOcean. + * Distributions Are The Public Linux Distributions That Are Available To + Be Used As A Base To Create Droplets. + * Applications, Or [1-Click Apps](Https://Docs.Digitalocean.Com/Products/Marketplace/), + Are Distributions Pre-Configured With Additional Software. + To Interact With Images, You Will Generally Send Requests To The Images + Endpoint At /V2/Images. kubernetes: - description: Kubernetes - id: 'kubernetes:v00.00.00000' + id: kubernetes:v00.00.00000 name: kubernetes preferred: true service: $ref: digitalocean/v00.00.00000/services/kubernetes.yaml title: DigitalOcean API - Kubernetes version: v00.00.00000 + description: |- + [DigitalOcean Kubernetes](Https://Docs.Digitalocean.Com/Products/Kubernetes/) + Allows You To Quickly Deploy Scalable And Secure Kubernetes Clusters. By + Sending Requests To The `/V2/Kubernetes/Clusters` Endpoint, You Can List, + Create, Or Delete Clusters As Well As Scale Node Pools Up And Down, + Recycle Individual Nodes, And Retrieve The Kubeconfig File For Use With + A Cluster. load_balancers: - description: Load Balancers - id: 'load_balancers:v00.00.00000' + id: load_balancers:v00.00.00000 name: load_balancers preferred: true service: $ref: digitalocean/v00.00.00000/services/load_balancers.yaml title: DigitalOcean API - Load Balancers version: v00.00.00000 + description: |- + [DigitalOcean Load Balancers](Https://Docs.Digitalocean.Com/Products/Networking/Load-Balancers/) + Provide A Way To Distribute Traffic Across Multiple Droplets. By Sending + Requests To The `/V2/Load Balancers` Endpoint, You Can List, Create, Or + Delete Load Balancers As Well As Add Or Remove Droplets, Forwarding Rules, + And Other Configuration Details. monitoring: - description: Monitoring - id: 'monitoring:v00.00.00000' + id: monitoring:v00.00.00000 name: monitoring preferred: true service: $ref: digitalocean/v00.00.00000/services/monitoring.yaml title: DigitalOcean API - Monitoring version: v00.00.00000 + description: |- + The DigitalOcean Monitoring API Makes It Possible To Programmatically Retrieve Metrics As Well As Configure Alert + Policies Based On These Metrics. The Monitoring API Can Help You Gain Insight Into How Your Apps Are Performing + And Consuming Resources. one_click_applications: - description: 1 Click Applications - id: 'one_click_applications:v00.00.00000' + id: one_click_applications:v00.00.00000 name: one_click_applications preferred: true service: $ref: digitalocean/v00.00.00000/services/one_click_applications.yaml title: DigitalOcean API - One Click Applications version: v00.00.00000 + description: |- + 1-Click Applications Are Pre-Built Droplet Images Or Kubernetes Apps With Software, + Features, And Configuration Details Already Set Up For You. They Can Be Found In The + [DigitalOcean Marketplace](Https://Marketplace.Digitalocean.Com/). projects: - description: Projects - id: 'projects:v00.00.00000' + id: projects:v00.00.00000 name: projects preferred: true service: $ref: digitalocean/v00.00.00000/services/projects.yaml title: DigitalOcean API - Projects version: v00.00.00000 + description: |- + Projects Allow You To Organize Your Resources Into Groups That Fit The Way + You Work. You Can Group Resources (Like Droplets, Spaces, Load Balancers, + Domains, And Floating IPs) In Ways That Align With The Applications + You Host On DigitalOcean. regions: - description: Regions - id: 'regions:v00.00.00000' + id: regions:v00.00.00000 name: regions preferred: true service: $ref: digitalocean/v00.00.00000/services/regions.yaml title: DigitalOcean API - Regions version: v00.00.00000 + description: Provides Information About DigitalOcean Data Center Regions. reserved_ips: - description: Reserved IPs - id: 'reserved_ips:v00.00.00000' + id: reserved_ips:v00.00.00000 name: reserved_ips preferred: true service: $ref: digitalocean/v00.00.00000/services/reserved_ips.yaml title: DigitalOcean API - Reserved Ips version: v00.00.00000 + description: |- + As Of 16 June 2022, We Have Renamed The [Floating IP](Https://Docs.Digitalocean.Com/Reference/Api/Api-Reference/#Tag/Floating-IPs) + Product To Reserved IPs. The Reserved IP Product'S Endpoints Function The Exact + Same Way As Floating IPs. The Only Difference Is The Name Change Throughout The + URLs And Fields. For Example, The `Floating Ips` Field Is Now The `Reserved Ips` Field. + The Floating IP Endpoints Will Remain Active Until Fall 2023 Before Being + Permanently Deprecated. + With The Exception Of The [Projects API](Https://Docs.Digitalocean.Com/Reference/Api/Api-Reference/#Tag/Projects), + We Will Reflect This Change As An Additional Field In The Responses Across The API + Where The `Floating Ip` Field Is Used. For Example, The Droplet Metadata Response + Will Contain The Field `Reserved Ips` In Addition To The `Floating Ips` Field. + Floating IPs Retrieved Using The Projects API Will Retain The Original Name. + DigitalOcean Reserved IPs Are Publicly-Accessible Static IP Addresses That Can Be + Mapped To One Of Your Droplets. They Can Be Used To Create Highly Available + Setups Or Other Configurations Requiring Movable Addresses. + Reserved IPs Are Bound To A Specific Region. sizes: - description: Sizes - id: 'sizes:v00.00.00000' + id: sizes:v00.00.00000 name: sizes preferred: true service: $ref: digitalocean/v00.00.00000/services/sizes.yaml title: DigitalOcean API - Sizes version: v00.00.00000 + description: |- + The Sizes Objects Represent Different Packages Of Hardware Resources That + Can Be Used For Droplets. When A Droplet Is Created, A Size Must Be + Selected So That The Correct Resources Can Be Allocated. + Each Size Represents A Plan That Bundles Together Specific Sets Of + Resources. This Includes The Amount Of RAM, The Number Of Virtual CPUs, + Disk Space, And Transfer. The Size Object Also Includes The Pricing + Details And The Regions That The Size Is Available In. snapshots: - description: Snapshots - id: 'snapshots:v00.00.00000' + id: snapshots:v00.00.00000 name: snapshots preferred: true service: $ref: digitalocean/v00.00.00000/services/snapshots.yaml title: DigitalOcean API - Snapshots version: v00.00.00000 + description: |- + [Snapshots](Https://Docs.Digitalocean.Com/Products/Snapshots/) Are Saved + Instances Of A Droplet Or A Block Storage Volume, Which Is Reflected In + The `Resource Type` Attribute. In Order To Avoid Problems With Compressing + Filesystems, Each Defines A `Min Disk Size` Attribute Which Is The Minimum + Size Of The Droplet Or Volume Disk When Creating A New Resource From The + Saved Snapshot. + To Interact With Snapshots, You Will Generally Send Requests To The + Snapshots Endpoint At `/V2/Snapshots`. ssh_keys: - description: SSH Keys - id: 'ssh_keys:v00.00.00000' + id: ssh_keys:v00.00.00000 name: ssh_keys preferred: true service: $ref: digitalocean/v00.00.00000/services/ssh_keys.yaml title: DigitalOcean API - Ssh Keys version: v00.00.00000 + description: Manage SSH Keys Available On Your Account. tags: - description: Tags - id: 'tags:v00.00.00000' + id: tags:v00.00.00000 name: tags preferred: true service: $ref: digitalocean/v00.00.00000/services/tags.yaml title: DigitalOcean API - Tags version: v00.00.00000 + description: |- + A Tag Is A Label That Can Be Applied To A Resource (Currently Droplets, + Images, Volumes, Volume Snapshots, And Database Clusters) In Order To + Better Organize Or Facilitate The Lookups And Actions On It. + Tags Have Two Attributes: A User Defined `Name` Attribute And An Embedded + `Resources` Attribute With Information About Resources That Have Been Tagged. uptime: - description: Uptime - id: 'uptime:v00.00.00000' + id: uptime:v00.00.00000 name: uptime preferred: true service: $ref: digitalocean/v00.00.00000/services/uptime.yaml title: DigitalOcean API - Uptime version: v00.00.00000 + description: |- + [DigitalOcean Uptime Checks](Https://Docs.Digitalocean.Com/Products/Uptime/) Provide The Ability To Monitor Your Endpoints From Around The World, And Alert You When They'Re Slow, Unavailable, Or SSL Certificates Are Expiring. + To Interact With Uptime, You Will Generally Send Requests To The Uptime Endpoint At `/V2/Uptime/`. vpcs: - description: VPCs - id: 'vpcs:v00.00.00000' + id: vpcs:v00.00.00000 name: vpcs preferred: true service: $ref: digitalocean/v00.00.00000/services/vpcs.yaml title: DigitalOcean API - Vpcs version: v00.00.00000 + description: |- + [VPCs (Virtual Private Clouds)](Https://Docs.Digitalocean.Com/Products/Networking/Vpc/) + Allow You To Create Virtual Networks Containing Resources That Can + Communicate With Each Other In Full Isolation Using Private IP Addresses. + By Sending Requests To The `/V2/Vpcs` Endpoint, You Can Create, Configure, + List, And Delete Custom VPCs As Well As Retrieve Information About The + Resources Assigned To Them. + vpc_peerings: + id: vpc_peerings:v00.00.00000 + name: vpc_peerings + preferred: true + service: + $ref: digitalocean/v00.00.00000/services/vpc_peerings.yaml + title: DigitalOcean API - Vpc Peerings + version: v00.00.00000 + description: |- + [VPC Peerings](Https://Docs.Digitalocean.Com/Products/Networking/Vpc/How-To/Create-Peering/) + Join Two VPC Networks With A Secure, Private Connection. This Allows + Resources In Those Networks To Connect To Each Other'S Private IP Addresses + As If They Were In The Same Network. config: auth: type: bearer - credentialsenvvar: DIGITALOCEAN_ACCESS_TOKEN + credentialsenvvar: DIGITALOCEAN_TOKEN diff --git a/providers/src/digitalocean/v00.00.00000/services/account.yaml b/providers/src/digitalocean/v00.00.00000/services/account.yaml index 4b5e2e03..285e147e 100644 --- a/providers/src/digitalocean/v00.00.00000/services/account.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/account.yaml @@ -1,18 +1,18 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - account version: '2.0' - description: Account license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - account + description: Provides information about your current account. security: - bearer_auth: [] tags: @@ -20,52 +20,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +64,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +79,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +105,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +154,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +162,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +177,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +199,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +217,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +269,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +285,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +300,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +327,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +345,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,128 +380,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: - schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - account: - type: object - properties: - droplet_limit: - description: The total number of Droplets current user or team may have active at one time. - type: integer - example: 25 - floating_ip_limit: - description: The total number of Floating IPs the current user or team may have. - type: integer - example: 5 - email: - description: The email address used by the current user to register for DigitalOcean. - type: string - example: sammy@digitalocean.com - uuid: - description: The unique universal identifier for the current user. - type: string - example: b6fr89dbf6d9156cace5f3c78dc9851d957381ef - email_verified: - description: 'If true, the user has verified their account via email. False otherwise.' - type: boolean - default: false - example: true - status: - description: 'This value is one of "active", "warning" or "locked".' - type: string - enum: - - active - - warning - - locked - default: active - example: active - status_message: - description: A human-readable message giving more details about the status of the account. - type: string - example: ' ' - team: - type: object - description: 'When authorized in a team context, includes information about the current team.' - properties: - uuid: - description: The unique universal identifier for the current team. - type: string - example: 5df3e3004a17e242b7c20ca6c9fc25b701a47ece - name: - description: The name for the current team. - type: string - example: My Team - required: - - droplet_limit - - floating_ip_limit - - email - - uuid - - email_verified - - status - - status_message - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message + schemas: {} parameters: oneClicks_type: in: query @@ -635,8 +442,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -655,7 +468,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -665,7 +478,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -698,7 +511,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -718,6 +531,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -728,6 +542,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -745,14 +560,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -760,7 +567,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -779,6 +586,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -854,6 +670,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -864,7 +704,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -897,11 +737,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -910,6 +750,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -917,7 +768,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1019,7 +870,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1126,7 +977,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1134,11 +985,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1153,7 +1054,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1163,7 +1064,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1197,7 +1098,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1217,7 +1118,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1264,12 +1165,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1283,8 +1184,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1312,6 +1239,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1335,30 +1271,123 @@ components: description: A JSON object keyed on account with an excerpt of the current user account data. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: account: - $ref: '#/components/schemas/account' + type: object + properties: + droplet_limit: + description: The total number of Droplets current user or team may have active at one time. + type: integer + example: 25 + floating_ip_limit: + description: The total number of Floating IPs the current user or team may have. + type: integer + example: 5 + email: + description: The email address used by the current user to register for DigitalOcean. + type: string + example: sammy@digitalocean.com + name: + description: The display name for the current user. + type: string + example: Sammy the Shark + uuid: + description: The unique universal identifier for the current user. + type: string + example: b6fr89dbf6d9156cace5f3c78dc9851d957381ef + email_verified: + description: If true, the user has verified their account via email. False otherwise. + type: boolean + default: false + example: true + status: + description: This value is one of "active", "warning" or "locked". + type: string + enum: + - active + - warning + - locked + default: active + example: active + status_message: + description: A human-readable message giving more details about the status of the account. + type: string + example: ' ' + team: + type: object + description: When authorized in a team context, includes information about the current team. + properties: + uuid: + description: The unique universal identifier for the current team. + type: string + example: 5df3e3004a17e242b7c20ca6c9fc25b701a47ece + name: + description: The name for the current team. + type: string + example: My Team + required: + - droplet_limit + - floating_ip_limit + - email + - uuid + - email_verified + - status + - status_message unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1366,15 +1395,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1382,15 +1436,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1398,15 +1477,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1416,39 +1520,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1463,11 +1576,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1477,7 +1590,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1487,11 +1600,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1516,11 +1629,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1564,7 +1677,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1573,7 +1686,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1647,6 +1760,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1665,7 +1785,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1675,7 +1795,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1689,7 +1809,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1761,7 +1881,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1769,11 +1889,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1792,7 +1912,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -1867,12 +1987,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -1886,7 +2013,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -1955,7 +2082,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2007,133 +2134,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2201,14 +2354,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2385,6 +2537,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2465,9 +2622,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2498,13 +2655,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2611,13 +2773,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2723,7 +2890,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2737,6 +2904,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2817,9 +2989,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2850,13 +3022,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2963,12 +3140,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -2977,12 +3290,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -2999,12 +3312,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3019,6 +3332,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3117,12 +3435,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3131,6 +3449,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3229,12 +3552,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3333,15 +3661,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3350,6 +3678,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3430,9 +3763,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3463,10 +3796,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3504,13 +3838,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3547,6 +3882,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3636,9 +3972,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3668,7 +4004,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3700,6 +4036,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -3983,12 +4320,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -3998,8 +4335,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4035,8 +4372,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4072,6 +4409,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4127,7 +4469,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4135,8 +4477,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4177,6 +4519,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4193,7 +4540,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4204,8 +4551,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4241,8 +4588,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4278,6 +4625,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4289,12 +4641,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4304,8 +4656,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4341,8 +4693,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4377,6 +4729,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4388,12 +4745,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4403,8 +4760,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4440,8 +4797,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4476,6 +4833,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4685,11 +5047,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4741,7 +5103,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4755,11 +5117,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4785,11 +5147,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4815,7 +5177,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4839,7 +5201,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -4911,11 +5273,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5027,7 +5389,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5090,7 +5452,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5139,11 +5501,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5215,11 +5577,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5400,8 +5762,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5439,13 +5821,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5482,6 +5865,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5571,9 +5955,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5603,7 +5987,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5635,6 +6019,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5683,7 +6068,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5713,7 +6098,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -5967,14 +6352,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -5984,7 +6369,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -5994,53 +6379,48 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: - account: - id: digitalocean.account.account - name: account - title: Account + accounts: + id: digitalocean.account.accounts + name: accounts + title: Accounts methods: - get: - operation: - $ref: '#/paths/~1v2~1account/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.account - _get: + account_get: operation: $ref: '#/paths/~1v2~1account/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/account' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/account/methods/get' + - $ref: '#/components/x-stackQL-resources/accounts/methods/account_get' insert: [] update: [] + replace: [] delete: [] paths: /v2/account: get: operationId: account_get summary: Get User Information - description: 'To show information about the current user account, send a GET request to `/v2/account`.' + description: To show information about the current user account, send a GET request to `/v2/account`. tags: - Account responses: @@ -6061,6 +6441,14 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/account" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.getenv("$DIGITALOCEAN_TOKEN")) + + account_info = client.account.get() security: - bearer_auth: - - read + - account:read diff --git a/providers/src/digitalocean/v00.00.00000/services/actions.yaml b/providers/src/digitalocean/v00.00.00000/services/actions.yaml index 2964d52f..e181c992 100644 --- a/providers/src/digitalocean/v00.00.00000/services/actions.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/actions.yaml @@ -1,18 +1,28 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - actions version: '2.0' - description: Actions license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - actions + description: |- + Actions are records of events that have occurred on the resources in your account. + These can be things like rebooting a Droplet, or transferring an image to a new region. + An action object is created every time one of these actions is initiated. The action + object contains information about the current status of the action, start and complete + timestamps, and the associated resource type and ID. + Every action that creates an action object is available through this endpoint. Completed + actions are not removed from this list and are always available for querying. + **Note:** You can pass the following HTTP header with the request to have the API return + the `reserved_ips` stanza instead of the `floating_ips` stanza: + - `Accept: application/vnd.digitalocean.reserveip+json` security: - bearer_auth: [] tags: @@ -20,52 +30,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +74,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +89,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +115,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +164,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +172,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +187,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +209,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +227,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +279,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +295,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +310,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +337,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +355,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,245 +390,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: - schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - action: - type: object - properties: - id: - type: integer - description: A unique numeric ID that can be used to identify and reference an action. - example: 36804636 - status: - type: string - description: 'The current status of the action. This can be "in-progress", "completed", or "errored".' - enum: - - in-progress - - completed - - errored - example: completed - default: in-progress - type: - type: string - description: 'This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.' - example: create - started_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. - example: '2020-11-14T16:29:21Z' - completed_at: - type: string - format: date-time - nullable: true - description: A time value given in ISO8601 combined date and time format that represents when the action was completed. - example: '2020-11-14T16:30:06Z' - resource_id: - type: integer - nullable: true - description: A unique identifier for the resource that the action is associated with. - example: 3164444 - resource_type: - type: string - description: The type of resource that the action is associated with. - example: droplet - region: - $ref: '#/components/schemas/region' - region_slug: - allOf: - - $ref: '#/components/schemas/slug' - - type: string - nullable: true - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - required: - - available - - features - - name - - sizes - - slug - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' + schemas: {} parameters: oneClicks_type: in: query @@ -752,8 +452,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -772,7 +478,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -782,7 +488,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -815,7 +521,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -835,6 +541,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -845,6 +552,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -862,14 +570,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -877,7 +577,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -896,6 +596,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -971,6 +680,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -981,7 +714,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1014,11 +747,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1027,6 +760,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1034,7 +778,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1136,7 +880,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1243,7 +987,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1251,11 +995,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1270,7 +1064,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1280,7 +1074,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1314,7 +1108,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1334,7 +1128,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1381,12 +1175,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1400,8 +1194,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1429,6 +1249,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1452,36 +1281,204 @@ components: description: The results will be returned as a JSON object with an actions key. This will be set to an array filled with action objects containing the standard action attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + actions: + type: array + items: + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + links: + type: object properties: - actions: - type: array - items: - $ref: '#/components/schemas/action' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1489,15 +1486,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1505,15 +1527,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1521,15 +1568,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1537,30 +1609,159 @@ components: description: The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: action: - $ref: '#/components/schemas/action' + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1570,39 +1771,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1617,11 +1827,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1631,7 +1841,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1641,11 +1851,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1670,11 +1880,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1718,7 +1928,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1727,7 +1937,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1801,6 +2011,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1819,7 +2036,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1829,7 +2046,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1843,7 +2060,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1915,7 +2132,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1923,11 +2140,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1946,7 +2163,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2021,12 +2238,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2040,7 +2264,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2109,7 +2333,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2161,133 +2385,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb cpu_type: DEDICATED cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '4294967296' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2355,14 +2605,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2539,6 +2788,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2619,9 +2873,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2652,13 +2906,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2765,13 +3024,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2877,7 +3141,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2891,6 +3155,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2971,9 +3240,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3004,13 +3273,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3117,12 +3391,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3131,12 +3541,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3153,12 +3563,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3173,6 +3583,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3271,12 +3686,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3285,6 +3700,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3383,12 +3803,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3487,15 +3912,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3504,6 +3929,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3584,9 +4014,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3617,10 +4047,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3658,13 +4089,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3701,6 +4133,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3790,9 +4223,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3822,7 +4255,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3854,6 +4287,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4137,12 +4571,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4152,8 +4586,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4189,8 +4623,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4226,6 +4660,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4281,7 +4720,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4289,8 +4728,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4331,6 +4770,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4347,7 +4791,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4358,8 +4802,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4395,8 +4839,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4432,6 +4876,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4443,12 +4892,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4458,8 +4907,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4495,8 +4944,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4531,6 +4980,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4542,12 +4996,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4557,8 +5011,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4594,8 +5048,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4630,6 +5084,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4839,11 +5298,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4895,7 +5354,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4909,11 +5368,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4939,11 +5398,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4969,7 +5428,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4993,7 +5452,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5065,11 +5524,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5181,7 +5640,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5244,7 +5703,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5293,11 +5752,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5369,11 +5828,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5554,8 +6013,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5593,13 +6072,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5636,6 +6116,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5725,9 +6206,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5757,7 +6238,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5789,6 +6270,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5837,7 +6319,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5867,7 +6349,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6121,14 +6603,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6138,7 +6620,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6148,67 +6630,57 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: actions: id: digitalocean.actions.actions name: actions title: Actions methods: - list: + actions_list: operation: $ref: '#/paths/~1v2~1actions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/actions' objectKey: $.actions - _list: - operation: - $ref: '#/paths/~1v2~1actions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - get: - operation: - $ref: '#/paths/~1v2~1actions~1{action_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.action - _get: + actions_get: operation: $ref: '#/paths/~1v2~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/action' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/actions/methods/list' - - $ref: '#/components/x-stackQL-resources/actions/methods/get' + - $ref: '#/components/x-stackQL-resources/actions/methods/actions_get' + - $ref: '#/components/x-stackQL-resources/actions/methods/actions_list' insert: [] update: [] + replace: [] delete: [] paths: /v2/actions: get: operationId: actions_list summary: List All Actions - description: 'This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default.' + description: This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. tags: - Actions parameters: @@ -6261,14 +6733,22 @@ paths: actions = client.actions.all actions.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.getenv("$DIGITALOCEAN_TOKEN")) + + list_resp = client.actions.list() security: - bearer_auth: - - read - '/v2/actions/{action_id}': + - actions:read + /v2/actions/{action_id}: get: operationId: actions_get summary: Retrieve an Existing Action - description: 'To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`.' + description: To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. tags: - Actions parameters: @@ -6317,6 +6797,14 @@ paths: client = DropletKit::Client.new(access_token: token) client.actions.find(id: 36804636) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.getenv("$DIGITALOCEAN_TOKEN")) + + get_resp = client.actions.get(action_id=36804636) security: - bearer_auth: - - read + - actions:read diff --git a/providers/src/digitalocean/v00.00.00000/services/apps.yaml b/providers/src/digitalocean/v00.00.00000/services/apps.yaml index 6e9ad40f..d42bf649 100644 --- a/providers/src/digitalocean/v00.00.00000/services/apps.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/apps.yaml @@ -1,18 +1,26 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - apps version: '2.0' - description: Apps license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - apps + description: |- + App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows + developers to publish code directly to DigitalOcean servers without worrying about the + underlying infrastructure. + Most API operations are centered around a few core object types. Following are the + definitions of these types. These definitions will be omitted from the operation-specific + documentation. + For documentation on app specifications (`AppSpec` objects), please refer to the + [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). security: - bearer_auth: [] tags: @@ -20,52 +28,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +72,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +87,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +113,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +162,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +170,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +185,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +207,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +225,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +277,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +293,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +308,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +335,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +353,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,1791 +388,6529 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - apps_response: - allOf: - - type: object + apps_create_app_request: + properties: + spec: + title: AppSpec + type: object + description: The desired configuration of an application. properties: - apps: - title: A list of apps + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. type: array items: - $ref: '#/components/schemas/app' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - app: - description: An application's configuration and status. - properties: - active_deployment: - $ref: '#/components/schemas/apps_deployment' - created_at: - format: date-time - readOnly: true - title: The creation time of the app - type: string - example: '2020-11-19T20:27:18Z' - default_ingress: - readOnly: true - title: The default hostname on which the app is accessible - type: string - example: digitalocean.com - domains: - items: - $ref: '#/components/schemas/apps_domain' - readOnly: true - title: Contains all domains for the app - type: array - id: - readOnly: true - title: The ID of the application - type: string - example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - in_progress_deployment: - $ref: '#/components/schemas/apps_deployment' - last_deployment_created_at: - format: date-time - readOnly: true - title: The creation time of the last deployment - type: string - example: '2020-11-19T20:27:18Z' - live_domain: - readOnly: true - title: The live domain of the app - type: string - example: live_domain - live_url: - readOnly: true - title: The live URL of the app - type: string - example: google.com - live_url_base: - readOnly: true - title: 'The live URL base of the app, the URL excluding the path' - type: string - example: digitalocean.com - owner_uuid: - readOnly: true - title: The ID of the account to which the application belongs - type: string - example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - pending_deployment: - allOf: - - description: The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. - - $ref: '#/components/schemas/apps_deployment' + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name project_id: - readOnly: true - type: string - example: 88b72d1a-b78a-4d9f-9090-b53c4399073f - title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure. - region: - $ref: '#/components/schemas/apps_region' - spec: - $ref: '#/components/schemas/app_spec' - tier_slug: - readOnly: true - title: The current pricing tier slug of the app - type: string - example: basic - updated_at: - format: date-time - readOnly: true - title: Time of the app's last configuration update type: string - example: '2020-12-01T00:42:16Z' - pinned_deployment: - allOf: - - description: The deployment that the app is pinned to. - - $ref: '#/components/schemas/apps_deployment' + description: The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project. required: - spec type: object - pagination: + apps_update_app_request: type: object properties: - links: - $ref: '#/components/schemas/page_links' - meta: + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + update_all_source_versions: + type: boolean + description: Whether or not to update the source versions (for example fetching a new commit or image digest) of all components. By default (when this is false) only newly added sources will be updated to avoid changes like updating the scale of a component from also updating the respective code. + example: true + default: false + required: + - spec + apps_create_deployment_request: type: object properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - apps_deployment: + force_build: + title: Indicates whether to force a build of app from source even if an existing cached build is suitable for re-use + type: boolean + example: true + app_propose: + type: object properties: - cause: - title: What caused this deployment to be created - type: string - example: commit 9a4df0b pushed to github/digitalocean/sample-golang - cloned_from: - title: The ID of a previous deployment that this deployment was cloned from - type: string - example: 3aa4d20e-5527-4c00-b496-601fbd22520a - created_at: - format: date-time - title: The creation time of the deployment - type: string - example: '2020-07-28T18:00:00Z' - id: - title: The ID of the deployment + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + app_id: type: string + description: An optional ID of an existing app. If set, the spec will be treated as a proposed update to the specified app. The existing app is not modified using this method. example: b6bdf840-2854-4f87-a36c-5f231c617c84 - jobs: - items: - $ref: '#/components/schemas/apps_deployment_job' - title: Job components that are part of this deployment - type: array - functions: - type: array - items: - $ref: '#/components/schemas/apps_deployment_functions' - title: Functions components that are part of this deployment - phase: - $ref: '#/components/schemas/apps_deployment_phase' - phase_last_updated_at: - format: date-time - title: When the deployment phase was last updated - type: string - example: '0001-01-01T00:00:00Z' - progress: - $ref: '#/components/schemas/apps_deployment_progress' - services: - items: - $ref: '#/components/schemas/apps_deployment_service' - title: Service components that are part of this deployment + required: + - spec + apps_assign_app_alert_destinations_request: + properties: + emails: type: array - spec: - $ref: '#/components/schemas/app_spec' - static_sites: items: - $ref: '#/components/schemas/apps_deployment_static_site' - title: Static Site components that are part of this deployment + default: '' + type: string + example: sammy@digitalocean.com + example: + - sammy@digitalocean.com + slack_webhooks: type: array - tier_slug: - readOnly: true - title: The current pricing tier slug of the deployment - type: string - example: basic - updated_at: - format: date-time - title: When the deployment was last updated - type: string - example: '2020-07-28T18:00:00Z' - workers: items: - $ref: '#/components/schemas/apps_deployment_worker' - title: Worker components that are part of this deployment - type: array - title: An app deployment + properties: + url: + title: URL of the Slack webhook + type: string + example: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX + channel: + title: Name of the Slack Webhook Channel + type: string + example: Channel Name + type: object + type: object + apps_rollback_app_request: type: object - apps_domain: properties: - id: - title: The ID of the domain - type: string - example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - phase: - $ref: '#/components/schemas/apps_domain_phase' - progress: - $ref: '#/components/schemas/apps_domain_progress' - spec: - $ref: '#/components/schemas/app_domain_spec' - validations: - title: List of TXT validation records - type: array - items: - $ref: '#/components/schemas/app_domain_validation' - rotate_validation_records: - title: Validation values have changed and require manual intervention - type: boolean - readOnly: true - certificate_expires_at: - title: Current SSL certificate expiration time - type: string - format: date-time - readOnly: true - example: '2024-01-29T23:59:59Z' - type: object - apps_region: - properties: - continent: - readOnly: true - title: The continent that this region is in - type: string - example: europe - data_centers: - items: - type: string - example: ams - readOnly: true - title: Data centers that are in this region - type: array - example: - - ams - default: - description: Whether or not the region is presented as the default. - readOnly: true - type: boolean - example: true - disabled: - readOnly: true - title: Whether or not the region is open for new apps - type: boolean - example: true - flag: - readOnly: true - title: The flag of this region - type: string - example: ams - label: - readOnly: true - title: A human-readable name of the region - type: string - example: ams - reason: - readOnly: true - title: Reason that this region is not available - type: string - example: to crowded - slug: - readOnly: true - title: The slug form of the region name - type: string - example: basic - title: Geographical information about an app origin - type: object - app_spec: - title: AppSpec - type: object - description: The desired configuration of an application. - properties: - name: - description: The name of the app. Must be unique across all apps in the same account. - maxLength: 32 - minLength: 2 - pattern: '^[a-z][a-z0-9-]{0,30}[a-z0-9]$' - type: string - example: web-app-01 - region: - description: 'The slug form of the geographical origin of the app. Default: `nearest available`' - type: string - enum: - - ams - - nyc - - fra - - sfo - - sgp - - blr - - tor - - lon - - syd - example: nyc - domains: - description: A set of hostnames where the application will be available. - type: array - items: - $ref: '#/components/schemas/app_domain_spec' - services: - description: Workloads which expose publicly-accessible HTTP services. - type: array - items: - $ref: '#/components/schemas/app_service_spec' - static_sites: - description: Content which can be rendered to static web assets. - type: array - items: - $ref: '#/components/schemas/app_static_site_spec' - jobs: - description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. - type: array - items: - $ref: '#/components/schemas/app_job_spec' - workers: - description: Workloads which do not expose publicly-accessible HTTP services. - items: - $ref: '#/components/schemas/app_worker_spec' - type: array - functions: - description: Workloads which expose publicly-accessible HTTP services via Functions Components. - items: - $ref: '#/components/schemas/app_functions_spec' - type: array - databases: - description: |- - Database instances which can provide persistence to workloads within the - application. - type: array - items: - $ref: '#/components/schemas/app_database_spec' - ingress: - $ref: '#/components/schemas/app_ingress_spec' - required: - - name - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - apps_deployment_job: - properties: - name: - title: The name of this job - type: string - example: migrate-db - source_commit_hash: - title: The commit hash of the repository that was used to build this job - type: string - example: 54d4a727f457231062439895000d45437c7bb405 - type: object - apps_deployment_functions: - type: object - properties: - name: - type: string - title: The name of this functions component - example: my-functions-component - source_commit_hash: - type: string - description: The commit hash of the repository that was used to build this functions component. - example: 54d4a727f457231062439895000d45437c7bb405 - namespace: - type: string - description: The namespace where the functions are deployed. - example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 - apps_deployment_phase: - default: UNKNOWN - enum: - - UNKNOWN - - PENDING_BUILD - - BUILDING - - PENDING_DEPLOY - - DEPLOYING - - ACTIVE - - SUPERSEDED - - ERROR - - CANCELED - type: string - example: ACTIVE - apps_deployment_progress: - properties: - error_steps: - format: int32 - title: Number of unsuccessful steps - type: integer - example: 3 - pending_steps: - format: int32 - title: Number of pending steps - type: integer - example: 2 - running_steps: - format: int32 - title: Number of currently running steps - type: integer - example: 2 - steps: - items: - $ref: '#/components/schemas/apps_deployment_progress_step' - title: The deployment's steps - type: array - success_steps: - format: int32 - title: Number of successful steps - type: integer - example: 4 - summary_steps: - items: - $ref: '#/components/schemas/apps_deployment_progress_step' - title: A flattened summary of the steps - type: array - total_steps: - format: int32 - title: Total number of steps - type: integer - example: 5 - type: object - apps_deployment_service: - properties: - name: - title: The name of this service - type: string - example: web - source_commit_hash: - title: The commit hash of the repository that was used to build this service - type: string - example: 54d4a727f457231062439895000d45437c7bb405 - type: object - apps_deployment_static_site: - properties: - name: - title: The name of this static site - type: string - example: web - source_commit_hash: - title: The commit hash of the repository that was used to build this static site - type: string - example: 54d4a727f457231062439895000d45437c7bb405 - type: object - apps_deployment_worker: - properties: - name: - title: The name of this worker - type: string - example: queue-runner - source_commit_hash: - title: The commit hash of the repository that was used to build this worker - type: string - example: 54d4a727f457231062439895000d45437c7bb405 - type: object - apps_domain_phase: - default: UNKNOWN - enum: - - UNKNOWN - - PENDING - - CONFIGURING - - ACTIVE - - ERROR - type: string - example: ACTIVE - apps_domain_progress: - properties: - steps: - items: - type: object - title: The steps of the domain's progress - type: array - type: object - app_domain_spec: - type: object - properties: - domain: - type: string - maxLength: 253 - minLength: 4 - pattern: '^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$' - description: The hostname for the domain - example: app.example.com - type: - type: string - default: UNSPECIFIED - enum: - - UNSPECIFIED - - DEFAULT - - PRIMARY - - ALIAS - description: |- - - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app - - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. - - ALIAS: A non-primary domain - example: DEFAULT - wildcard: - type: boolean - description: 'Indicates whether the domain includes all sub-domains, in addition to the given domain' - example: true - zone: - description: |- - Optional. If the domain uses DigitalOcean DNS and you would like App - Platform to automatically manage it for you, set this to the name of the - domain on your account. - - For example, If the domain you are adding is `app.domain.com`, the zone - could be `domain.com`. - type: string - format: hostname - example: example.com - minimum_tls_version: - type: string - maxLength: 3 - minLength: 3 - enum: - - '1.2' - - '1.3' - description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' - example: '1.3' - required: - - domain - app_domain_validation: - properties: - txt_name: - title: TXT record name - type: string - readOnly: true - example: _acme-challenge.app.example.com - txt_value: - title: TXT record value - type: string - readOnly: true - example: lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk - app_service_spec: - allOf: - - $ref: '#/components/schemas/app_component_base' - - $ref: '#/components/schemas/app_component_instance_base' - - type: object - properties: - cors: - $ref: '#/components/schemas/apps_cors_policy' - health_check: - $ref: '#/components/schemas/app_service_spec_health_check' - http_port: - type: integer - description: |- - The internal port on which this service's run command will listen. Default: 8080 - If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. - format: int64 - maximum: 65535 - minimum: 1 - example: 3000 - internal_ports: - type: array - description: The ports on which this service will listen for internal traffic. - items: - format: int64 - type: integer - example: - - 80 - - 443 - routes: - type: array - description: A list of HTTP routes that should be routed to this component. - items: - $ref: '#/components/schemas/app_route_spec' - required: - - name - app_static_site_spec: - allOf: - - $ref: '#/components/schemas/app_component_base' - - type: object - properties: - index_document: - type: string - description: 'The name of the index document to use when serving this static site. Default: index.html' - default: index.html - example: main.html - error_document: - type: string - description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' - default: 404.html - example: error.html - catchall_document: - type: string - description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. - example: index.html - output_dir: - type: string - description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' - example: dist/ - cors: - $ref: '#/components/schemas/apps_cors_policy' - routes: - type: array - items: - $ref: '#/components/schemas/app_route_spec' - description: A list of HTTP routes that should be routed to this component. - required: - - name - app_job_spec: - allOf: - - $ref: '#/components/schemas/app_component_base' - - $ref: '#/components/schemas/app_component_instance_base' - - type: object - properties: - kind: - type: string - enum: - - UNSPECIFIED - - PRE_DEPLOY - - POST_DEPLOY - - FAILED_DEPLOY - description: |- - - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. - - PRE_DEPLOY: Indicates a job that runs before an app deployment. - - POST_DEPLOY: Indicates a job that runs after an app deployment. - - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. - default: UNSPECIFIED - example: PRE_DEPLOY - required: - - name - app_worker_spec: - allOf: - - $ref: '#/components/schemas/app_component_base' - - $ref: '#/components/schemas/app_component_instance_base' - required: - - name - app_functions_spec: - type: object - properties: - cors: - $ref: '#/components/schemas/apps_cors_policy' - routes: - type: array - description: A list of HTTP routes that should be routed to this component. - items: - $ref: '#/components/schemas/app_route_spec' - name: - type: string - maxLength: 32 - minLength: 2 - pattern: '^[a-z][a-z0-9-]{0,30}[a-z0-9]$' - description: The name. Must be unique across all components within the same app. - example: api - source_dir: - type: string - description: 'An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.' - example: path/to/dir - alerts: - type: array - items: - $ref: '#/components/schemas/app_alert_spec' - envs: - type: array - items: - $ref: '#/components/schemas/app_variable_definition' - description: A list of environment variables made available to the component. - git: - $ref: '#/components/schemas/apps_git_source_spec' - github: - $ref: '#/components/schemas/apps_github_source_spec' - gitlab: - $ref: '#/components/schemas/apps_gitlab_source_spec' - log_destinations: - $ref: '#/components/schemas/app_log_destination_definition' - required: - - name - app_database_spec: - type: object - properties: - cluster_name: - description: 'The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.' - type: string - example: cluster_name - db_name: - description: The name of the MySQL or PostgreSQL database to configure. - type: string - example: my_db - db_user: - description: The name of the MySQL or PostgreSQL user to configure. - type: string - example: superuser - engine: - type: string - default: UNSET - enum: - - UNSET - - MYSQL - - PG - - REDIS - description: |- - - MYSQL: MySQL - - PG: PostgreSQL - - REDIS: Redis - example: PG - name: - description: The name. Must be unique across all components within the same app. - maxLength: 32 - minLength: 2 - pattern: '^[a-z][a-z0-9-]{0,30}[a-z0-9]$' - type: string - example: prod-db - production: - description: Whether this is a production or dev database. - type: boolean - example: true - version: - description: The version of the database engine - type: string - example: '12' - required: - - name - app_ingress_spec: - type: object - properties: - rules: - description: 'Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.' - type: array - items: - $ref: '#/components/schemas/app_ingress_spec_rule' - description: Specification for app ingress configurations. - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - apps_deployment_progress_step: - properties: - component_name: - title: The component name that this step is associated with - type: string - example: component - ended_at: - format: date-time - title: The end time of this step - type: string - example: '2020-11-19T20:27:18Z' - message_base: - description: |- - The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: - - `message_base` = "Building service" - `component_name` = "api" - type: string - example: Building service - name: - title: The name of this step - type: string - example: example_step - reason: - $ref: '#/components/schemas/apps_deployment_progress_step_reason' - started_at: - format: date-time - title: The start time of this step - type: string - example: '2020-11-19T20:27:18Z' - status: - $ref: '#/components/schemas/apps_deployment_progress_step_status' - steps: - items: - type: object - title: Child steps of this step - type: array - title: A step that is run as part of the deployment's lifecycle - type: object - app_component_base: - type: object - properties: - name: - type: string - maxLength: 32 - minLength: 2 - pattern: '^[a-z][a-z0-9-]{0,30}[a-z0-9]$' - description: The name. Must be unique across all components within the same app. - example: api - git: - $ref: '#/components/schemas/apps_git_source_spec' - github: - $ref: '#/components/schemas/apps_github_source_spec' - gitlab: - $ref: '#/components/schemas/apps_gitlab_source_spec' - image: - $ref: '#/components/schemas/apps_image_source_spec' - dockerfile_path: - type: string - description: 'The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.' - example: path/to/Dockerfile - build_command: - type: string - description: An optional build command to run while building this component from source. - example: npm run build - run_command: - type: string - description: An optional run command to override the component's default. - example: bin/api - source_dir: - type: string - description: 'An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.' - example: path/to/dir - envs: - type: array - items: - $ref: '#/components/schemas/app_variable_definition' - description: A list of environment variables made available to the component. - environment_slug: - type: string - description: 'An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).' - example: node-js - log_destinations: - $ref: '#/components/schemas/app_log_destination_definition' - app_component_instance_base: - type: object - properties: - instance_count: - type: integer - format: int64 - minimum: 1 - description: 'The amount of instances that this component should be scaled to. Default: 1' - default: 1 - example: 2 - instance_size_slug: - description: 'The instance size to use for this component. Default: `basic-xxs`' - type: string - enum: - - basic-xxs - - basic-xs - - basic-s - - basic-m - - professional-xs - - professional-s - - professional-m - - professional-1l - - professional-l - - professional-xl - default: basic-xxs - example: basic-xxs - apps_cors_policy: - type: object - properties: - allow_origins: - type: array - description: The set of allowed CORS origins. - items: - $ref: '#/components/schemas/apps_string_match' - example: - - exact: 'https://www.example.com' - - regex: ^.*example.com - allow_methods: - type: array - items: - type: string - description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. - example: - - GET - - OPTIONS - - POST - - PUT - - PATCH - - DELETE - allow_headers: - type: array - items: - type: string - description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. - example: - - Content-Type - - X-Custom-Header - expose_headers: - type: array - items: - type: string - description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. - example: - - Content-Encoding - - X-Custom-Header - max_age: - type: string - description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. - example: 5h30m - allow_credentials: - type: boolean - description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. - example: false - app_service_spec_health_check: - type: object - properties: - failure_threshold: - type: integer - format: int32 - description: The number of failed health checks before considered unhealthy. - example: 2 - port: - type: integer - format: int64 - description: 'The port on which the health check will be performed. If not set, the health check will be performed on the component''s http_port.' - example: 80 - maximum: 65535 - minimum: 1 - http_path: - type: string - description: 'The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.' - example: /health - initial_delay_seconds: - type: integer - format: int32 - description: The number of seconds to wait before beginning health checks. - example: 30 - period_seconds: - type: integer - format: int32 - description: The number of seconds to wait between health checks. - example: 60 - success_threshold: - type: integer - format: int32 - description: The number of successful health checks before considered healthy. - example: 3 - timeout_seconds: - type: integer - format: int32 - description: The number of seconds after which the check times out. - example: 45 - app_route_spec: - title: A criterion for routing HTTP traffic to a component. - type: object - properties: - path: - description: An HTTP path prefix. Paths must start with / and must be unique across all components within an app. - type: string - example: /api - preserve_path_prefix: - description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`.' - type: boolean - example: true - app_alert_spec: - properties: - rule: - $ref: '#/components/schemas/app_alert_spec_rule' - disabled: - description: Is the alert disabled? - type: boolean - example: false - operator: - $ref: '#/components/schemas/app_alert_spec_operator' - value: - description: Threshold value for alert - format: float - type: number - example: 2.32 - window: - $ref: '#/components/schemas/app_alert_spec_window' - type: object - app_variable_definition: - type: object - properties: - key: - type: string - pattern: '^[_A-Za-z][_A-Za-z0-9]*$' - description: The variable name - example: BASE_URL - scope: - type: string - enum: - - UNSET - - RUN_TIME - - BUILD_TIME - - RUN_AND_BUILD_TIME - description: |- - - RUN_TIME: Made available only at run-time - - BUILD_TIME: Made available only at build-time - - RUN_AND_BUILD_TIME: Made available at both build and run-time - default: RUN_AND_BUILD_TIME - example: BUILD_TIME - type: - type: string - enum: - - GENERAL - - SECRET - description: |- - - GENERAL: A plain-text environment variable - - SECRET: A secret encrypted environment variable - default: GENERAL - example: GENERAL - value: - description: 'The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.' - type: string - example: 'http://example.com' - required: - - key - apps_git_source_spec: - type: object - properties: - branch: - type: string - description: The name of the branch to use - example: main - repo_clone_url: - type: string - description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' - example: 'https://github.com/digitalocean/sample-golang.git' - apps_github_source_spec: - type: object - properties: - branch: - type: string - description: The name of the branch to use - example: main - deploy_on_push: - type: boolean - description: Whether to automatically deploy new commits made to the repo - example: true - repo: - type: string - description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' - example: digitalocean/sample-golang - apps_gitlab_source_spec: - type: object - properties: - branch: - type: string - description: The name of the branch to use - example: main - deploy_on_push: - type: boolean - description: Whether to automatically deploy new commits made to the repo - example: true - repo: - type: string - description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' - example: digitalocean/sample-golang - app_log_destination_definition: - type: object - properties: - name: - type: string - maxLength: 42 - minLength: 2 - pattern: '^[A-Za-z0-9()\[\]''"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]''"]$' - example: my_log_destination - papertrail: - $ref: '#/components/schemas/app_log_destination_papertrail_spec' - datadog: - $ref: '#/components/schemas/app_log_destination_datadog_spec' - logtail: - $ref: '#/components/schemas/app_log_destination_logtail_spec' - title: Configurations for external logging. - required: - - name - app_ingress_spec_rule: - type: object - properties: - match: - $ref: '#/components/schemas/app_ingress_spec_rule_match' - cors: - $ref: '#/components/schemas/apps_cors_policy' - component: - $ref: '#/components/schemas/app_ingress_spec_rule_routing_component' - redirect: - $ref: '#/components/schemas/app_ingress_spec_rule_routing_redirect' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - apps_deployment_progress_step_reason: - properties: - code: - title: The error code - type: string - example: Title of Error - message: - title: The error message - type: string - example: This is an error - type: object - apps_deployment_progress_step_status: - default: UNKNOWN - enum: - - UNKNOWN - - PENDING - - RUNNING - - ERROR - - SUCCESS - type: string - example: SUCCESS - apps_image_source_spec: - type: object - properties: - registry: - type: string - description: The registry name. Must be left empty for the `DOCR` registry type. - example: registry.hub.docker.com - registry_type: - type: string - enum: - - DOCKER_HUB - - DOCR - description: |- - - DOCKER_HUB: The DockerHub container registry type. - - DOCR: The DigitalOcean container registry type. - example: DOCR - repository: - type: string - description: The repository name. - example: origin/master - tag: - type: string - description: The repository tag. Defaults to `latest` if not provided. - example: latest - default: latest - apps_string_match: - type: object - properties: - exact: - type: string - description: 'Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.' - maxLength: 256 - minLength: 1 - example: 'https://www.example.com' - prefix: - type: string - description: 'Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.' - maxLength: 256 - minLength: 1 - example: 'https://www.example.com' - regex: - type: string - maxLength: 256 - minLength: 1 - description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' - example: ^.*example.com - app_alert_spec_rule: - default: UNSPECIFIED_RULE - enum: - - UNSPECIFIED_RULE - - CPU_UTILIZATION - - MEM_UTILIZATION - - RESTART_COUNT - - DEPLOYMENT_FAILED - - DEPLOYMENT_LIVE - - DOMAIN_FAILED - - DOMAIN_LIVE - - FUNCTIONS_ACTIVATION_COUNT - - FUNCTIONS_AVERAGE_DURATION_MS - - FUNCTIONS_ERROR_RATE_PER_MINUTE - - FUNCTIONS_AVERAGE_WAIT_TIME_MS - - FUNCTIONS_ERROR_COUNT - - FUNCTIONS_GB_RATE_PER_SECOND - type: string - example: CPU_UTILIZATION - app_alert_spec_operator: - default: UNSPECIFIED_OPERATOR - enum: - - UNSPECIFIED_OPERATOR - - GREATER_THAN - - LESS_THAN - type: string - example: GREATER_THAN - app_alert_spec_window: - default: UNSPECIFIED_WINDOW - enum: - - UNSPECIFIED_WINDOW - - FIVE_MINUTES - - TEN_MINUTES - - THIRTY_MINUTES - - ONE_HOUR - type: string - example: FIVE_MINUTES - app_log_destination_papertrail_spec: - type: object - properties: - endpoint: - type: string - description: Papertrail syslog endpoint. - example: 'https://mypapertrailendpoint.com' - description: Papertrail configuration. - required: - - endpoint - app_log_destination_datadog_spec: - type: object - properties: - endpoint: - type: string - description: Datadog HTTP log intake endpoint. - example: 'https://mydatadogendpoint.com' - api_key: - type: string - description: Datadog API key. - example: abcdefghijklmnopqrstuvwxyz0123456789 - description: DataDog configuration. - required: - - api_key - app_log_destination_logtail_spec: - type: object - properties: - token: - type: string - description: Logtail token. - example: abcdefghijklmnopqrstuvwxyz0123456789 - description: Logtail configuration. - required: - - endpoint - app_ingress_spec_rule_match: - type: object - properties: - path: - $ref: '#/components/schemas/app_ingress_spec_rule_string_match' - description: The match configuration for the rule. - required: - - path - app_ingress_spec_rule_routing_component: - type: object - properties: - name: - description: The name of the component to route to. - type: string - example: web - preserve_path_prefix: - description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' - type: string - example: 'true' - rewrite: - description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' - type: string - example: /api/v1/ - description: The component to route to. Only one of `component` or `redirect` may be set. - required: - - name - app_ingress_spec_rule_routing_redirect: - type: object - properties: - uri: - description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' - type: string - example: /about - authority: - description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' - type: string - example: example.com - port: - description: The port to redirect to. - type: integer - format: int64 - example: 443 - scheme: - description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' - type: string - example: https - redirect_code: - description: 'The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308.' - type: integer - format: int64 - example: 302 - description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. - app_ingress_spec_rule_string_match: - type: object - properties: - prefix: - type: string - description: 'Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`.' - maxLength: 256 - example: /api - description: The path to match on. - required: - - prefix - apps_create_app_request: - properties: - spec: - $ref: '#/components/schemas/app_spec' - project_id: - type: string - description: 'The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project.' - required: - - spec - type: object - app_response: - properties: - app: - $ref: '#/components/schemas/app' - type: object - apps_delete_app_response: - properties: - id: - title: The ID of the app that was deleted - type: string - example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - type: object - apps_update_app_request: - type: object - properties: - spec: - $ref: '#/components/schemas/app_spec' - required: - - spec - apps_get_logs_response: - properties: - historic_urls: - items: - type: string - example: 'https://logs/build.log' - title: A list of URLs to archived log files - type: array - live_url: - description: 'A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available.' - type: string - example: 'ws://logs/build' - type: object - apps_deployments_response: - allOf: - - type: object - properties: - deployments: - title: A list of deployments - type: array - items: - $ref: '#/components/schemas/apps_deployment' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - apps_create_deployment_request: - type: object - properties: - force_build: - title: Indicates whether to force a build of app from source even if an existing cached build is suitable for re-use - type: boolean - example: true - apps_deployment_response: - properties: - deployment: - $ref: '#/components/schemas/apps_deployment' - type: object - apps_list_tiers_response: - properties: - tiers: - items: - $ref: '#/components/schemas/apps_tier' - type: array - type: object - apps_tier: - properties: - build_seconds: - format: int64 - title: The amount of included build time in seconds - type: string - example: '233' - egress_bandwidth_bytes: - format: int64 - title: The amount of included outbound bandwidth in bytes - type: string - example: '123' - name: - title: A human-readable name of the tier - type: string - example: test - slug: - title: The slug of the tier - type: string - example: test - storage_bytes: - format: int64 - title: The allotted disk space in bytes - type: string - example: '10000000' - type: object - apps_get_tier_response: - properties: - tier: - $ref: '#/components/schemas/apps_tier' - type: object - apps_list_instance_sizes_response: - properties: - discount_percent: - format: float - type: number - example: 2.32 - instance_sizes: - items: - $ref: '#/components/schemas/apps_instance_size' - type: array - type: object - apps_instance_size: - properties: - cpu_type: - $ref: '#/components/schemas/instance_size_cpu_type' - cpus: - format: int64 - title: The number of allotted vCPU cores - type: string - example: '3' - memory_bytes: - format: int64 - title: The allotted memory in bytes - type: string - example: '1048' - name: - title: A human-readable name of the instance size - type: string - example: name - slug: - title: The slug of the instance size - type: string - example: basic - tier_downgrade_to: - title: The slug of the corresponding downgradable instance size on the lower tier - type: string - example: basic - tier_slug: - title: The slug of the tier to which this instance size belongs - type: string - example: basic - tier_upgrade_to: - title: The slug of the corresponding upgradable instance size on the higher tier - type: string - example: basic - usd_per_month: - title: The cost of this instance size in USD per month - type: string - example: '23' - usd_per_second: - title: The cost of this instance size in USD per second - type: string - example: '0.00000001232' - type: object - instance_size_cpu_type: - default: UNSPECIFIED - enum: - - UNSPECIFIED - - SHARED - - DEDICATED - title: |- - - SHARED: Shared vCPU cores - - DEDICATED: Dedicated vCPU cores - type: string - example: SHARED - apps_get_instance_size_response: - properties: - instance_size: - $ref: '#/components/schemas/apps_instance_size' - type: object - apps_list_regions_response: - properties: - regions: - items: - $ref: '#/components/schemas/apps_region' - type: array - type: object - app_propose: - type: object - properties: - spec: - $ref: '#/components/schemas/app_spec' - app_id: - type: string - description: 'An optional ID of an existing app. If set, the spec will be treated as a proposed update to the specified app. The existing app is not modified using this method.' - example: b6bdf840-2854-4f87-a36c-5f231c617c84 - required: - - spec - app_propose_response: - type: object - properties: - app_is_static: - type: boolean - description: Indicates whether the app is a static app. - example: true - app_name_available: - type: boolean - description: Indicates whether the app name is available. - example: true - app_name_suggestion: - type: string - description: The suggested name if the proposed app name is unavailable. - example: newName - existing_static_apps: - type: string - description: The maximum number of free static apps the account can have. We will charge you for any additional static apps. - example: '2' - spec: - $ref: '#/components/schemas/app_spec' - app_cost: - type: integer - format: int32 - description: 'The monthly cost of the proposed app in USD using the next pricing plan tier. For example, if you propose an app that uses the Basic tier, the `app_tier_upgrade_cost` field displays the monthly cost of the app if it were to use the Professional tier. If the proposed app already uses the most expensive tier, the field is empty.' - example: 5 - app_tier_downgrade_cost: - type: integer - format: int32 - description: 'The monthly cost of the proposed app in USD using the previous pricing plan tier. For example, if you propose an app that uses the Professional tier, the `app_tier_downgrade_cost` field displays the monthly cost of the app if it were to use the Basic tier. If the proposed app already uses the lest expensive tier, the field is empty.' - example: 17 - apps_list_alerts_response: - properties: - alerts: - type: array - items: - $ref: '#/components/schemas/app_alert' - type: object - app_alert: - properties: - id: - readOnly: true - title: The ID of the alert - type: string - example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - component_name: - title: Name of component the alert belongs to - type: string - example: backend - spec: - $ref: '#/components/schemas/app_alert_spec' - emails: - title: Emails for alerts to go to - type: array - items: - $ref: '#/components/schemas/app_alert_email' - example: - - sammy@digitalocean.com - slack_webhooks: - title: Slack Webhooks to send alerts to - type: array - items: - $ref: '#/components/schemas/app_alert_slack_webhook' - phase: - $ref: '#/components/schemas/app_alert_phase' - progress: - $ref: '#/components/schemas/app_alert_progress' - type: object - app_alert_email: - default: '' - type: string - example: sammy@digitalocean.com - app_alert_slack_webhook: - properties: - url: - title: URL of the Slack webhook - type: string - example: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX' - channel: - title: Name of the Slack Webhook Channel - type: string - example: Channel Name - type: object - app_alert_phase: - default: UNKNOWN - enum: - - UNKNOWN - - PENDING - - CONFIGURING - - ACTIVE - - ERROR - type: string - example: ACTIVE - app_alert_progress: - properties: - steps: - title: Steps of an alert's progress. - type: array - items: - $ref: '#/components/schemas/app_alert_progress_step' - type: object - app_alert_progress_step: - properties: - name: - title: The name of this step - type: string - example: example_step - status: - $ref: '#/components/schemas/app_alert_progress_step_status' - started_at: - format: date-time - title: The start time of this step - type: string - example: '2020-11-19T20:27:18Z' - ended_at: - format: date-time - title: The start time of this step - type: string - example: '2020-11-19T20:27:18Z' - reason: - $ref: '#/components/schemas/app_alert_progress_step_reason' - type: object - app_alert_progress_step_status: - default: UNKNOWN - enum: - - UNKNOWN - - PENDING - - RUNNING - - ERROR - - SUCCESS - type: string - example: SUCCESS - app_alert_progress_step_reason: - properties: - code: - title: The error code - type: string - example: Title of Error - message: - title: The error message - type: string - example: This is an error - type: object - apps_assign_app_alert_destinations_request: - properties: - emails: - type: array - items: - $ref: '#/components/schemas/app_alert_email' - example: - - sammy@digitalocean.com - slack_webhooks: - type: array - items: - $ref: '#/components/schemas/app_alert_slack_webhook' - type: object - apps_alert_response: - properties: - alert: - $ref: '#/components/schemas/app_alert' - type: object - apps_rollback_app_request: - type: object - properties: - deployment_id: + deployment_id: type: string description: The ID of the deployment to rollback to. - example: 3aa4d20e-5527-4c00-b496-601fbd22520a - skip_pin: - type: boolean - description: 'Whether to skip pinning the rollback deployment. If false, the rollback deployment will be pinned and any new deployments including Auto Deploy on Push hooks will be disabled until the rollback is either manually committed or reverted via the CommitAppRollback or RevertAppRollback endpoints respectively. If true, the rollback will be immediately committed and the app will remain unpinned.' - example: false - app_rollback_validation_condition: - type: object - properties: - code: - type: string - enum: - - incompatible_phase - - incompatible_result - - exceeded_revision_limit - - app_pinned - - database_config_conflict - - region_conflict - - static_site_requires_rebuild - - image_source_missing_digest - example: exceeded_revision_limit - description: | - A code identifier that represents the failing condition. - - Failing conditions: - - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback. - - `incompatible_result` - indicates that the deployment's result is not suitable for rollback. - - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier. - - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned. - - `database_config_conflict` - indicates that the deployment's database config is different than the current config. - - `region_conflict` - indicates that the deployment's region differs from the current app region. - - Warning conditions: - - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild. - - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest. - message: - type: string - description: A human-readable message describing the failing condition. - example: the deployment is past the maximum historical revision limit of 0 for the "starter" app tier - components: - type: array - items: - type: string - description: 'If applicable, a list of components that are failing the condition.' - example: - - www - app_metrics_bandwidth_usage: - type: object - properties: - app_bandwidth_usage: - type: array - items: - $ref: '#/components/schemas/app_metrics_bandwidth_usage_details' - description: A list of bandwidth usage details by app. - date: - type: string - format: date-time - description: The date for the metrics data. - example: '2023-01-17T00:00:00Z' - app_metrics_bandwidth_usage_details: - type: object - properties: - app_id: - type: string - description: The ID of the app. - example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - bandwidth_bytes: - type: string - format: uint64 - description: The used bandwidth amount in bytes. - example: '513668' - description: Bandwidth usage for an app. + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + skip_pin: + type: boolean + description: Whether to skip pinning the rollback deployment. If false, the rollback deployment will be pinned and any new deployments including Auto Deploy on Push hooks will be disabled until the rollback is either manually committed or reverted via the CommitAppRollback or RevertAppRollback endpoints respectively. If true, the rollback will be immediately committed and the app will remain unpinned. + example: false app_metrics_bandwidth_usage_request: type: object properties: @@ -2317,8 +6970,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -2337,7 +6996,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -2347,7 +7006,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -2380,7 +7039,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -2400,6 +7059,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -2410,6 +7070,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -2427,14 +7088,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -2442,7 +7095,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -2461,6 +7114,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -2536,6 +7198,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -2546,7 +7232,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -2579,11 +7265,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -2592,6 +7278,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -2599,7 +7296,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -2701,7 +7398,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -2808,7 +7505,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -2816,11 +7513,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -2835,7 +7582,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -2845,7 +7592,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -2879,7 +7626,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -2899,7 +7646,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -2946,12 +7693,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -2965,8 +7712,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -2994,6 +7767,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -3018,30 +7800,12348 @@ components: content: application/json: schema: - $ref: '#/components/schemas/apps_response' + type: object + properties: + apps: + title: A list of apps + type: array + items: + description: An application's configuration and status. + properties: + active_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + created_at: + format: date-time + readOnly: true + title: The creation time of the app + type: string + example: '2020-11-19T20:27:18Z' + default_ingress: + readOnly: true + title: The default hostname on which the app is accessible + type: string + example: digitalocean.com + domains: + items: + properties: + id: + title: The ID of the domain + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - CONFIGURING + - ACTIVE + - ERROR + type: string + example: ACTIVE + progress: + properties: + steps: + items: + type: object + title: The steps of the domain's progress + type: array + type: object + spec: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + validations: + title: List of TXT validation records + type: array + items: + properties: + txt_name: + title: TXT record name + type: string + readOnly: true + example: _acme-challenge.app.example.com + txt_value: + title: TXT record value + type: string + readOnly: true + example: lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk + rotate_validation_records: + title: Validation values have changed and require manual intervention + type: boolean + readOnly: true + certificate_expires_at: + title: Current SSL certificate expiration time + type: string + format: date-time + readOnly: true + example: '2024-01-29T23:59:59Z' + type: object + readOnly: true + title: Contains all domains for the app + type: array + id: + readOnly: true + title: The ID of the application + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + in_progress_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + last_deployment_created_at: + format: date-time + readOnly: true + title: The creation time of the last deployment + type: string + example: '2020-11-19T20:27:18Z' + live_domain: + readOnly: true + title: The live domain of the app + type: string + example: live_domain + live_url: + readOnly: true + title: The live URL of the app + type: string + example: google.com + live_url_base: + readOnly: true + title: The live URL base of the app, the URL excluding the path + type: string + example: digitalocean.com + owner_uuid: + readOnly: true + title: The ID of the account to which the application belongs + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + pending_deployment: + description: The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + project_id: + readOnly: true + type: string + example: 88b72d1a-b78a-4d9f-9090-b53c4399073f + title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure. + region: + properties: + continent: + readOnly: true + title: The continent that this region is in + type: string + example: europe + data_centers: + items: + type: string + example: ams + readOnly: true + title: Data centers that are in this region + type: array + example: + - ams + default: + description: Whether or not the region is presented as the default. + readOnly: true + type: boolean + example: true + disabled: + readOnly: true + title: Whether or not the region is open for new apps + type: boolean + example: true + flag: + readOnly: true + title: The flag of this region + type: string + example: ams + label: + readOnly: true + title: A human-readable name of the region + type: string + example: ams + reason: + readOnly: true + title: Reason that this region is not available + type: string + example: to crowded + slug: + readOnly: true + title: The slug form of the region name + type: string + example: basic + title: Geographical information about an app origin + type: object + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + tier_slug: + readOnly: true + title: The current pricing tier slug of the app + type: string + example: basic + updated_at: + format: date-time + readOnly: true + title: Time of the app's last configuration update + type: string + example: '2020-12-01T00:42:16Z' + pinned_deployment: + description: The deployment that the app is pinned to. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + dedicated_ips: + readOnly: true + title: The dedicated egress IP addresses associated with the app. + type: array + items: + type: object + readOnly: true + properties: + ip: + title: The IP address of the dedicated egress IP. + type: string + example: 192.168.1.1 + id: + title: The ID of the dedicated egress IP. + type: string + example: 9e7bc2ac-205a-45d6-919c-e1ac5e73f962 + status: + title: The status of the dedicated egress IP. + type: string + readOnly: true + default: UNKNOWN + enum: + - UNKNOWN + - ASSIGNING + - ASSIGNED + - REMOVED + example: ASSIGNED + required: + - spec + type: object + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: apps: - $ref: '#/components/examples/apps' + value: + apps: + - id: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + owner_uuid: ff36cbc6fd350fe12577f5123133bb5ba01a2419 + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + default_ingress: https://sample-php-iaj87.ondigitalocean.app + created_at: '2020-11-19T20:27:18Z' + updated_at: '2020-12-01T00:42:16Z' + active_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + services: + - name: sample-php + source_commit_hash: 54d4a727f457231062439895000d45437c7bb405 + phase_last_updated_at: '2020-12-01T00:42:12Z' + created_at: '2020-12-01T00:40:05Z' + updated_at: '2020-12-01T00:42:12Z' + cause: app spec updated + pending_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + services: + - name: sample-php + source_commit_hash: 54d4a727f457231062439895000d45437c7bb405 + phase_last_updated_at: '2020-12-01T00:42:12Z' + created_at: '2020-12-01T00:40:05Z' + updated_at: '2020-12-01T00:42:12Z' + progress: + success_steps: 6 + total_steps: 6 + steps: + - name: build + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2020-12-01T00:40:11.979305214Z' + ended_at: '2020-12-01T00:40:12.470972033Z' + - name: components + status: SUCCESS + steps: + - name: sample-php + status: SUCCESS + started_at: '0001-01-01T00:00:00Z' + ended_at: '0001-01-01T00:00:00Z' + component_name: sample-php + message_base: Building service + started_at: '2020-12-01T00:40:12.470996857Z' + ended_at: '2020-12-01T00:41:26.180360487Z' + started_at: '2020-12-01T00:40:11.979257919Z' + ended_at: '2020-12-01T00:41:26.653989756Z' + phase: ACTIVE + tier_slug: basic + last_deployment_created_at: '2020-12-01T00:40:05Z' + live_url: https://sample-php.example.com + region: + slug: fra + label: Frankfurt + flag: germany + continent: Europe + data_centers: + - fra1 + tier_slug: basic + live_url_base: https://sample-php.example.com + live_domain: sample-php.example.com + domains: + - id: 0831f444-a1a7-11ed-828c-ef59494480b5 + phase: ACTIVE + spec: + domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + rotate_validation_records: false + certificate_expires_at: '2024-01-29T23:59:59Z' + progress: + steps: + - ended_at: '0001-01-01T00:00:00Z' + name: default-ingress-ready + started_at: '2023-01-30T22:15:45.021896292Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-zone + started_at: '2023-01-30T22:15:45.022017004Z' + status: SUCCESS + - ended_at: '2023-01-30T15:42:28.50752065Z' + name: ensure-ns-records + started_at: '2023-01-30T22:15:45.025567874Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-nameservers + started_at: '2023-01-30T22:15:45.033591906Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-record + started_at: '2023-01-30T22:15:45.156750604Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258626422Z' + name: ensure-alias-record + started_at: '2023-01-30T22:15:45.165933869Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258808279Z' + name: ensure-wildcard-record + started_at: '2023-01-30T22:15:45.166093422Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-cname + started_at: '2023-01-30T22:15:45.166205559Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.475903785Z' + name: ensure-ssl-txt-record-saved + started_at: '2023-01-30T22:15:45.295237186Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476017236Z' + name: ensure-ssl-txt-record + started_at: '2023-01-30T22:15:45.295315291Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476094058Z' + name: ensure-renewal-email + started_at: '2023-01-30T22:15:45.295374087Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-CA-authorization + started_at: '2023-01-30T22:15:45.295428101Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-certificate + started_at: '2023-01-30T22:15:45.978756406Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:52.570612857Z' + name: create-deployment + started_at: '0001-01-01T00:00:00Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:31.333582377Z' + name: configuration-alert + started_at: '2023-01-30T22:15:46.278987808Z' + status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED + links: + pages: {} + meta: + total: 1 headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -3049,15 +20149,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -3065,15 +20190,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -3081,15 +20231,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -3098,45 +20273,12350 @@ components: content: application/json: schema: - $ref: '#/components/schemas/app_response' + properties: + app: + description: An application's configuration and status. + properties: + active_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + created_at: + format: date-time + readOnly: true + title: The creation time of the app + type: string + example: '2020-11-19T20:27:18Z' + default_ingress: + readOnly: true + title: The default hostname on which the app is accessible + type: string + example: digitalocean.com + domains: + items: + properties: + id: + title: The ID of the domain + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - CONFIGURING + - ACTIVE + - ERROR + type: string + example: ACTIVE + progress: + properties: + steps: + items: + type: object + title: The steps of the domain's progress + type: array + type: object + spec: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + validations: + title: List of TXT validation records + type: array + items: + properties: + txt_name: + title: TXT record name + type: string + readOnly: true + example: _acme-challenge.app.example.com + txt_value: + title: TXT record value + type: string + readOnly: true + example: lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk + rotate_validation_records: + title: Validation values have changed and require manual intervention + type: boolean + readOnly: true + certificate_expires_at: + title: Current SSL certificate expiration time + type: string + format: date-time + readOnly: true + example: '2024-01-29T23:59:59Z' + type: object + readOnly: true + title: Contains all domains for the app + type: array + id: + readOnly: true + title: The ID of the application + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + in_progress_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + last_deployment_created_at: + format: date-time + readOnly: true + title: The creation time of the last deployment + type: string + example: '2020-11-19T20:27:18Z' + live_domain: + readOnly: true + title: The live domain of the app + type: string + example: live_domain + live_url: + readOnly: true + title: The live URL of the app + type: string + example: google.com + live_url_base: + readOnly: true + title: The live URL base of the app, the URL excluding the path + type: string + example: digitalocean.com + owner_uuid: + readOnly: true + title: The ID of the account to which the application belongs + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + pending_deployment: + description: The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + project_id: + readOnly: true + type: string + example: 88b72d1a-b78a-4d9f-9090-b53c4399073f + title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure. + region: + properties: + continent: + readOnly: true + title: The continent that this region is in + type: string + example: europe + data_centers: + items: + type: string + example: ams + readOnly: true + title: Data centers that are in this region + type: array + example: + - ams + default: + description: Whether or not the region is presented as the default. + readOnly: true + type: boolean + example: true + disabled: + readOnly: true + title: Whether or not the region is open for new apps + type: boolean + example: true + flag: + readOnly: true + title: The flag of this region + type: string + example: ams + label: + readOnly: true + title: A human-readable name of the region + type: string + example: ams + reason: + readOnly: true + title: Reason that this region is not available + type: string + example: to crowded + slug: + readOnly: true + title: The slug form of the region name + type: string + example: basic + title: Geographical information about an app origin + type: object + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + tier_slug: + readOnly: true + title: The current pricing tier slug of the app + type: string + example: basic + updated_at: + format: date-time + readOnly: true + title: Time of the app's last configuration update + type: string + example: '2020-12-01T00:42:16Z' + pinned_deployment: + description: The deployment that the app is pinned to. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + dedicated_ips: + readOnly: true + title: The dedicated egress IP addresses associated with the app. + type: array + items: + type: object + readOnly: true + properties: + ip: + title: The IP address of the dedicated egress IP. + type: string + example: 192.168.1.1 + id: + title: The ID of the dedicated egress IP. + type: string + example: 9e7bc2ac-205a-45d6-919c-e1ac5e73f962 + status: + title: The status of the dedicated egress IP. + type: string + readOnly: true + default: UNKNOWN + enum: + - UNKNOWN + - ASSIGNING + - ASSIGNED + - REMOVED + example: ASSIGNED + required: + - spec + type: object + type: object examples: app: - $ref: '#/components/examples/app' + value: + app: + id: c2a93513-8d9b-4223-9d61-5e7272c81cf5 + owner_uuid: a4e16f25-cdd1-4483-b246-d77f283c9209 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app + created_at: '2021-02-10T16:45:14Z' + updated_at: '2021-02-10T17:06:56Z' + active_deployment: + id: 991dfa59-6a23-459f-86d6-67dfa2c6f1e3 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + services: + - name: web + source_commit_hash: db6936cb46047c576962962eed81ad52c21f35d7 + phase_last_updated_at: '2021-02-10T17:06:53Z' + created_at: '2021-02-10T17:05:30Z' + updated_at: '2021-02-10T17:06:53Z' + cause: manual + progress: + success_steps: 6 + total_steps: 6 + steps: + - name: build + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:05:35.572347485Z' + ended_at: '2021-02-10T17:05:36.093995229Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + component_name: web + message_base: Building service + started_at: '2021-02-10T17:05:36.094015928Z' + ended_at: '2021-02-10T17:06:19.461737040Z' + started_at: '2021-02-10T17:05:35.572287990Z' + ended_at: '2021-02-10T17:06:19.807834070Z' + - name: deploy + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:06:25.143957508Z' + ended_at: '2021-02-10T17:06:26.120343872Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + steps: + - name: deploy + status: SUCCESS + component_name: web + message_base: Deploying service + - name: wait + status: SUCCESS + component_name: web + message_base: Waiting for service + component_name: web + started_at: '2021-02-10T17:06:26.120385561Z' + ended_at: '2021-02-10T17:06:50.029695913Z' + - name: finalize + status: SUCCESS + started_at: '2021-02-10T17:06:50.348459495Z' + ended_at: '2021-02-10T17:06:53.404065961Z' + started_at: '2021-02-10T17:06:25.143932418Z' + ended_at: '2021-02-10T17:06:53.404104185Z' + phase: ACTIVE + tier_slug: basic + last_deployment_created_at: '2021-02-10T17:05:30Z' + live_url: https://sample-golang-zyhgn.ondigitalocean.app + pending_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + region: + slug: ams + label: Amsterdam + flag: netherlands + continent: Europe + data_centers: + - ams3 + tier_slug: basic + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app + live_domain: sample-golang-zyhgn.ondigitalocean.app + project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f + domains: + - id: e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b + phase: CONFIGURING + spec: + domain: sample-golang.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + rotate_validation_records: false + certificate_expires_at: '2024-01-29T23:59:59Z' + progress: + steps: + - ended_at: '0001-01-01T00:00:00Z' + name: default-ingress-ready + started_at: '2023-01-30T22:15:45.021896292Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-zone + started_at: '2023-01-30T22:15:45.022017004Z' + status: SUCCESS + - ended_at: '2023-01-30T15:42:28.50752065Z' + name: ensure-ns-records + started_at: '2023-01-30T22:15:45.025567874Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-nameservers + started_at: '2023-01-30T22:15:45.033591906Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-record + started_at: '2023-01-30T22:15:45.156750604Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258626422Z' + name: ensure-alias-record + started_at: '2023-01-30T22:15:45.165933869Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258808279Z' + name: ensure-wildcard-record + started_at: '2023-01-30T22:15:45.166093422Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-cname + started_at: '2023-01-30T22:15:45.166205559Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.475903785Z' + name: ensure-ssl-txt-record-saved + started_at: '2023-01-30T22:15:45.295237186Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476017236Z' + name: ensure-ssl-txt-record + started_at: '2023-01-30T22:15:45.295315291Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476094058Z' + name: ensure-renewal-email + started_at: '2023-01-30T22:15:45.295374087Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-CA-authorization + started_at: '2023-01-30T22:15:45.295428101Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-certificate + started_at: '2023-01-30T22:15:45.978756406Z' + status: RUNNING + - ended_at: '0001-01-01T00:00:00' + name: create-deployment + started_at: '0001-01-01T00:00:00Z' + status: PENDING + - ended_at: '0001-01-01T00:00:00' + name: configuration-alert + started_at: '0001-01-01T00:00:00' + status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. delete_app: description: the ID of the app deleted. content: application/json: schema: - $ref: '#/components/schemas/apps_delete_app_response' + properties: + id: + title: The ID of the app that was deleted + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + type: object example: id: b7d64052-3706-4cb7-b21a-c5a2f44e63b3 headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -3145,241 +32625,37721 @@ components: content: application/json: schema: - $ref: '#/components/schemas/app_response' + properties: + app: + description: An application's configuration and status. + properties: + active_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + created_at: + format: date-time + readOnly: true + title: The creation time of the app + type: string + example: '2020-11-19T20:27:18Z' + default_ingress: + readOnly: true + title: The default hostname on which the app is accessible + type: string + example: digitalocean.com + domains: + items: + properties: + id: + title: The ID of the domain + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - CONFIGURING + - ACTIVE + - ERROR + type: string + example: ACTIVE + progress: + properties: + steps: + items: + type: object + title: The steps of the domain's progress + type: array + type: object + spec: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + validations: + title: List of TXT validation records + type: array + items: + properties: + txt_name: + title: TXT record name + type: string + readOnly: true + example: _acme-challenge.app.example.com + txt_value: + title: TXT record value + type: string + readOnly: true + example: lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk + rotate_validation_records: + title: Validation values have changed and require manual intervention + type: boolean + readOnly: true + certificate_expires_at: + title: Current SSL certificate expiration time + type: string + format: date-time + readOnly: true + example: '2024-01-29T23:59:59Z' + type: object + readOnly: true + title: Contains all domains for the app + type: array + id: + readOnly: true + title: The ID of the application + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + in_progress_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + last_deployment_created_at: + format: date-time + readOnly: true + title: The creation time of the last deployment + type: string + example: '2020-11-19T20:27:18Z' + live_domain: + readOnly: true + title: The live domain of the app + type: string + example: live_domain + live_url: + readOnly: true + title: The live URL of the app + type: string + example: google.com + live_url_base: + readOnly: true + title: The live URL base of the app, the URL excluding the path + type: string + example: digitalocean.com + owner_uuid: + readOnly: true + title: The ID of the account to which the application belongs + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + pending_deployment: + description: The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + project_id: + readOnly: true + type: string + example: 88b72d1a-b78a-4d9f-9090-b53c4399073f + title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure. + region: + properties: + continent: + readOnly: true + title: The continent that this region is in + type: string + example: europe + data_centers: + items: + type: string + example: ams + readOnly: true + title: Data centers that are in this region + type: array + example: + - ams + default: + description: Whether or not the region is presented as the default. + readOnly: true + type: boolean + example: true + disabled: + readOnly: true + title: Whether or not the region is open for new apps + type: boolean + example: true + flag: + readOnly: true + title: The flag of this region + type: string + example: ams + label: + readOnly: true + title: A human-readable name of the region + type: string + example: ams + reason: + readOnly: true + title: Reason that this region is not available + type: string + example: to crowded + slug: + readOnly: true + title: The slug form of the region name + type: string + example: basic + title: Geographical information about an app origin + type: object + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + tier_slug: + readOnly: true + title: The current pricing tier slug of the app + type: string + example: basic + updated_at: + format: date-time + readOnly: true + title: Time of the app's last configuration update + type: string + example: '2020-12-01T00:42:16Z' + pinned_deployment: + description: The deployment that the app is pinned to. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + dedicated_ips: + readOnly: true + title: The dedicated egress IP addresses associated with the app. + type: array + items: + type: object + readOnly: true + properties: + ip: + title: The IP address of the dedicated egress IP. + type: string + example: 192.168.1.1 + id: + title: The ID of the dedicated egress IP. + type: string + example: 9e7bc2ac-205a-45d6-919c-e1ac5e73f962 + status: + title: The status of the dedicated egress IP. + type: string + readOnly: true + default: UNKNOWN + enum: + - UNKNOWN + - ASSIGNING + - ASSIGNED + - REMOVED + example: ASSIGNED + required: + - spec + type: object + type: object examples: app: - $ref: '#/components/examples/app' + value: + app: + id: c2a93513-8d9b-4223-9d61-5e7272c81cf5 + owner_uuid: a4e16f25-cdd1-4483-b246-d77f283c9209 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app + created_at: '2021-02-10T16:45:14Z' + updated_at: '2021-02-10T17:06:56Z' + active_deployment: + id: 991dfa59-6a23-459f-86d6-67dfa2c6f1e3 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + services: + - name: web + source_commit_hash: db6936cb46047c576962962eed81ad52c21f35d7 + phase_last_updated_at: '2021-02-10T17:06:53Z' + created_at: '2021-02-10T17:05:30Z' + updated_at: '2021-02-10T17:06:53Z' + cause: manual + progress: + success_steps: 6 + total_steps: 6 + steps: + - name: build + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:05:35.572347485Z' + ended_at: '2021-02-10T17:05:36.093995229Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + component_name: web + message_base: Building service + started_at: '2021-02-10T17:05:36.094015928Z' + ended_at: '2021-02-10T17:06:19.461737040Z' + started_at: '2021-02-10T17:05:35.572287990Z' + ended_at: '2021-02-10T17:06:19.807834070Z' + - name: deploy + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:06:25.143957508Z' + ended_at: '2021-02-10T17:06:26.120343872Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + steps: + - name: deploy + status: SUCCESS + component_name: web + message_base: Deploying service + - name: wait + status: SUCCESS + component_name: web + message_base: Waiting for service + component_name: web + started_at: '2021-02-10T17:06:26.120385561Z' + ended_at: '2021-02-10T17:06:50.029695913Z' + - name: finalize + status: SUCCESS + started_at: '2021-02-10T17:06:50.348459495Z' + ended_at: '2021-02-10T17:06:53.404065961Z' + started_at: '2021-02-10T17:06:25.143932418Z' + ended_at: '2021-02-10T17:06:53.404104185Z' + phase: ACTIVE + tier_slug: basic + last_deployment_created_at: '2021-02-10T17:05:30Z' + live_url: https://sample-golang-zyhgn.ondigitalocean.app + pending_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + region: + slug: ams + label: Amsterdam + flag: netherlands + continent: Europe + data_centers: + - ams3 + tier_slug: basic + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app + live_domain: sample-golang-zyhgn.ondigitalocean.app + project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f + domains: + - id: e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b + phase: CONFIGURING + spec: + domain: sample-golang.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + rotate_validation_records: false + certificate_expires_at: '2024-01-29T23:59:59Z' + progress: + steps: + - ended_at: '0001-01-01T00:00:00Z' + name: default-ingress-ready + started_at: '2023-01-30T22:15:45.021896292Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-zone + started_at: '2023-01-30T22:15:45.022017004Z' + status: SUCCESS + - ended_at: '2023-01-30T15:42:28.50752065Z' + name: ensure-ns-records + started_at: '2023-01-30T22:15:45.025567874Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-nameservers + started_at: '2023-01-30T22:15:45.033591906Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-record + started_at: '2023-01-30T22:15:45.156750604Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258626422Z' + name: ensure-alias-record + started_at: '2023-01-30T22:15:45.165933869Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258808279Z' + name: ensure-wildcard-record + started_at: '2023-01-30T22:15:45.166093422Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-cname + started_at: '2023-01-30T22:15:45.166205559Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.475903785Z' + name: ensure-ssl-txt-record-saved + started_at: '2023-01-30T22:15:45.295237186Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476017236Z' + name: ensure-ssl-txt-record + started_at: '2023-01-30T22:15:45.295315291Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476094058Z' + name: ensure-renewal-email + started_at: '2023-01-30T22:15:45.295374087Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-CA-authorization + started_at: '2023-01-30T22:15:45.295428101Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-certificate + started_at: '2023-01-30T22:15:45.978756406Z' + status: RUNNING + - ended_at: '0001-01-01T00:00:00' + name: create-deployment + started_at: '0001-01-01T00:00:00Z' + status: PENDING + - ended_at: '0001-01-01T00:00:00' + name: configuration-alert + started_at: '0001-01-01T00:00:00' + status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. update_app: description: A JSON object of the updated `app` content: application/json: schema: - $ref: '#/components/schemas/app_response' + properties: + app: + description: An application's configuration and status. + properties: + active_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + created_at: + format: date-time + readOnly: true + title: The creation time of the app + type: string + example: '2020-11-19T20:27:18Z' + default_ingress: + readOnly: true + title: The default hostname on which the app is accessible + type: string + example: digitalocean.com + domains: + items: + properties: + id: + title: The ID of the domain + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - CONFIGURING + - ACTIVE + - ERROR + type: string + example: ACTIVE + progress: + properties: + steps: + items: + type: object + title: The steps of the domain's progress + type: array + type: object + spec: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + validations: + title: List of TXT validation records + type: array + items: + properties: + txt_name: + title: TXT record name + type: string + readOnly: true + example: _acme-challenge.app.example.com + txt_value: + title: TXT record value + type: string + readOnly: true + example: lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk + rotate_validation_records: + title: Validation values have changed and require manual intervention + type: boolean + readOnly: true + certificate_expires_at: + title: Current SSL certificate expiration time + type: string + format: date-time + readOnly: true + example: '2024-01-29T23:59:59Z' + type: object + readOnly: true + title: Contains all domains for the app + type: array + id: + readOnly: true + title: The ID of the application + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + in_progress_deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + last_deployment_created_at: + format: date-time + readOnly: true + title: The creation time of the last deployment + type: string + example: '2020-11-19T20:27:18Z' + live_domain: + readOnly: true + title: The live domain of the app + type: string + example: live_domain + live_url: + readOnly: true + title: The live URL of the app + type: string + example: google.com + live_url_base: + readOnly: true + title: The live URL base of the app, the URL excluding the path + type: string + example: digitalocean.com + owner_uuid: + readOnly: true + title: The ID of the account to which the application belongs + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + pending_deployment: + description: The most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + project_id: + readOnly: true + type: string + example: 88b72d1a-b78a-4d9f-9090-b53c4399073f + title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure. + region: + properties: + continent: + readOnly: true + title: The continent that this region is in + type: string + example: europe + data_centers: + items: + type: string + example: ams + readOnly: true + title: Data centers that are in this region + type: array + example: + - ams + default: + description: Whether or not the region is presented as the default. + readOnly: true + type: boolean + example: true + disabled: + readOnly: true + title: Whether or not the region is open for new apps + type: boolean + example: true + flag: + readOnly: true + title: The flag of this region + type: string + example: ams + label: + readOnly: true + title: A human-readable name of the region + type: string + example: ams + reason: + readOnly: true + title: Reason that this region is not available + type: string + example: to crowded + slug: + readOnly: true + title: The slug form of the region name + type: string + example: basic + title: Geographical information about an app origin + type: object + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + tier_slug: + readOnly: true + title: The current pricing tier slug of the app + type: string + example: basic + updated_at: + format: date-time + readOnly: true + title: Time of the app's last configuration update + type: string + example: '2020-12-01T00:42:16Z' + pinned_deployment: + description: The deployment that the app is pinned to. + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + dedicated_ips: + readOnly: true + title: The dedicated egress IP addresses associated with the app. + type: array + items: + type: object + readOnly: true + properties: + ip: + title: The IP address of the dedicated egress IP. + type: string + example: 192.168.1.1 + id: + title: The ID of the dedicated egress IP. + type: string + example: 9e7bc2ac-205a-45d6-919c-e1ac5e73f962 + status: + title: The status of the dedicated egress IP. + type: string + readOnly: true + default: UNKNOWN + enum: + - UNKNOWN + - ASSIGNING + - ASSIGNED + - REMOVED + example: ASSIGNED + required: + - spec + type: object + type: object examples: app: - $ref: '#/components/examples/app' + value: + app: + id: c2a93513-8d9b-4223-9d61-5e7272c81cf5 + owner_uuid: a4e16f25-cdd1-4483-b246-d77f283c9209 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app + created_at: '2021-02-10T16:45:14Z' + updated_at: '2021-02-10T17:06:56Z' + active_deployment: + id: 991dfa59-6a23-459f-86d6-67dfa2c6f1e3 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + services: + - name: web + source_commit_hash: db6936cb46047c576962962eed81ad52c21f35d7 + phase_last_updated_at: '2021-02-10T17:06:53Z' + created_at: '2021-02-10T17:05:30Z' + updated_at: '2021-02-10T17:06:53Z' + cause: manual + progress: + success_steps: 6 + total_steps: 6 + steps: + - name: build + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:05:35.572347485Z' + ended_at: '2021-02-10T17:05:36.093995229Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + component_name: web + message_base: Building service + started_at: '2021-02-10T17:05:36.094015928Z' + ended_at: '2021-02-10T17:06:19.461737040Z' + started_at: '2021-02-10T17:05:35.572287990Z' + ended_at: '2021-02-10T17:06:19.807834070Z' + - name: deploy + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:06:25.143957508Z' + ended_at: '2021-02-10T17:06:26.120343872Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + steps: + - name: deploy + status: SUCCESS + component_name: web + message_base: Deploying service + - name: wait + status: SUCCESS + component_name: web + message_base: Waiting for service + component_name: web + started_at: '2021-02-10T17:06:26.120385561Z' + ended_at: '2021-02-10T17:06:50.029695913Z' + - name: finalize + status: SUCCESS + started_at: '2021-02-10T17:06:50.348459495Z' + ended_at: '2021-02-10T17:06:53.404065961Z' + started_at: '2021-02-10T17:06:25.143932418Z' + ended_at: '2021-02-10T17:06:53.404104185Z' + phase: ACTIVE + tier_slug: basic + last_deployment_created_at: '2021-02-10T17:05:30Z' + live_url: https://sample-golang-zyhgn.ondigitalocean.app + pending_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + region: + slug: ams + label: Amsterdam + flag: netherlands + continent: Europe + data_centers: + - ams3 + tier_slug: basic + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app + live_domain: sample-golang-zyhgn.ondigitalocean.app + project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f + domains: + - id: e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b + phase: CONFIGURING + spec: + domain: sample-golang.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + rotate_validation_records: false + certificate_expires_at: '2024-01-29T23:59:59Z' + progress: + steps: + - ended_at: '0001-01-01T00:00:00Z' + name: default-ingress-ready + started_at: '2023-01-30T22:15:45.021896292Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-zone + started_at: '2023-01-30T22:15:45.022017004Z' + status: SUCCESS + - ended_at: '2023-01-30T15:42:28.50752065Z' + name: ensure-ns-records + started_at: '2023-01-30T22:15:45.025567874Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-nameservers + started_at: '2023-01-30T22:15:45.033591906Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-record + started_at: '2023-01-30T22:15:45.156750604Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258626422Z' + name: ensure-alias-record + started_at: '2023-01-30T22:15:45.165933869Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258808279Z' + name: ensure-wildcard-record + started_at: '2023-01-30T22:15:45.166093422Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-cname + started_at: '2023-01-30T22:15:45.166205559Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.475903785Z' + name: ensure-ssl-txt-record-saved + started_at: '2023-01-30T22:15:45.295237186Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476017236Z' + name: ensure-ssl-txt-record + started_at: '2023-01-30T22:15:45.295315291Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476094058Z' + name: ensure-renewal-email + started_at: '2023-01-30T22:15:45.295374087Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-CA-authorization + started_at: '2023-01-30T22:15:45.295428101Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-certificate + started_at: '2023-01-30T22:15:45.978756406Z' + status: RUNNING + - ended_at: '0001-01-01T00:00:00' + name: create-deployment + started_at: '0001-01-01T00:00:00Z' + status: PENDING + - ended_at: '0001-01-01T00:00:00' + name: configuration-alert + started_at: '0001-01-01T00:00:00' + status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_logs: description: A JSON object with urls that point to archived logs content: application/json: schema: - $ref: '#/components/schemas/apps_get_logs_response' + properties: + historic_urls: + items: + type: string + example: https://logs/build.log + title: A list of URLs to archived log files + type: array + live_url: + description: A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. + type: string + example: ws://logs/build + type: object examples: logs: - $ref: '#/components/examples/logs' + value: + live_url: https://logs-example/build.log + url: https://logs/build.log + historic_logs: + - https://logs-example/archive/build.log headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. existing_deployments: description: A JSON object with a `deployments` key. This will be a list of all app deployments content: application/json: schema: - $ref: '#/components/schemas/apps_deployments_response' + type: object + properties: + deployments: + title: A list of deployments + type: array + items: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: deployments: - $ref: '#/components/examples/deployments' + value: + deployments: + - id: b6bdf840-2854-4f87-a36c-5f231c617c84 + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 2 + routes: + - path: / + region: ams + services: + - name: web + source_commit_hash: 9a4df0b8e161e323bc3cdf1dc71878080fe144fa + phase_last_updated_at: '0001-01-01T00:00:00Z' + created_at: '2020-07-28T18:00:00Z' + updated_at: '2020-07-28T18:00:00Z' + cause: commit 9a4df0b pushed to github/digitalocean/sample-golang + progress: + pending_steps: 6 + total_steps: 6 + steps: + - name: build + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + component_name: web + message_base: Building service + - name: deploy + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + steps: + - name: deploy + status: PENDING + component_name: web + message_base: Deploying service + - name: wait + status: PENDING + component_name: web + message_base: Waiting for service + component_name: web + - name: finalize + status: PENDING + phase: PENDING_BUILD + tier_slug: basic + links: + pages: {} + meta: + total: 1 headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. new_app_deployment: description: A JSON object with a `deployment` key. content: application/json: schema: - $ref: '#/components/schemas/apps_deployment_response' + properties: + deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + type: object examples: deployment: - $ref: '#/components/examples/deployment' + value: + deployment: + id: b6bdf840-2854-4f87-a36c-5f231c617c84 + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 2 + routes: + - path: / + region: ams + services: + - name: web + source_commit_hash: 9a4df0b8e161e323bc3cdf1dc71878080fe144fa + phase_last_updated_at: '0001-01-01T00:00:00Z' + created_at: '2020-07-28T18:00:00Z' + updated_at: '2020-07-28T18:00:00Z' + cause: commit 9a4df0b pushed to github/digitalocean/sample-golang + progress: + pending_steps: 6 + total_steps: 6 + steps: + - name: build + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + component_name: web + message_base: Building service + - name: deploy + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + steps: + - name: deploy + status: PENDING + component_name: web + message_base: Deploying service + - name: wait + status: PENDING + component_name: web + message_base: Waiting for service + component_name: web + - name: finalize + status: PENDING + phase: PENDING_BUILD + tier_slug: basic headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_deployment: description: A JSON of the requested deployment content: application/json: schema: - $ref: '#/components/schemas/apps_deployment_response' + properties: + deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + type: object examples: deployment: - $ref: '#/components/examples/deployment' + value: + deployment: + id: b6bdf840-2854-4f87-a36c-5f231c617c84 + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 2 + routes: + - path: / + region: ams + services: + - name: web + source_commit_hash: 9a4df0b8e161e323bc3cdf1dc71878080fe144fa + phase_last_updated_at: '0001-01-01T00:00:00Z' + created_at: '2020-07-28T18:00:00Z' + updated_at: '2020-07-28T18:00:00Z' + cause: commit 9a4df0b pushed to github/digitalocean/sample-golang + progress: + pending_steps: 6 + total_steps: 6 + steps: + - name: build + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + component_name: web + message_base: Building service + - name: deploy + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + steps: + - name: deploy + status: PENDING + component_name: web + message_base: Deploying service + - name: wait + status: PENDING + component_name: web + message_base: Waiting for service + component_name: web + - name: finalize + status: PENDING + phase: PENDING_BUILD + tier_slug: basic headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. cancel_deployment: description: A JSON the `deployment` that was just cancelled. content: application/json: schema: - $ref: '#/components/schemas/apps_deployment_response' + properties: + deployment: + properties: + cause: + title: What caused this deployment to be created + type: string + example: commit 9a4df0b pushed to github/digitalocean/sample-golang + cloned_from: + title: The ID of a previous deployment that this deployment was cloned from + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + created_at: + format: date-time + title: The creation time of the deployment + type: string + example: '2020-07-28T18:00:00Z' + id: + title: The ID of the deployment + type: string + example: b6bdf840-2854-4f87-a36c-5f231c617c84 + jobs: + items: + properties: + name: + title: The name of this job + type: string + example: migrate-db + source_commit_hash: + title: The commit hash of the repository that was used to build this job + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Job components that are part of this deployment + type: array + functions: + type: array + items: + type: object + properties: + name: + type: string + title: The name of this functions component + example: my-functions-component + source_commit_hash: + type: string + description: The commit hash of the repository that was used to build this functions component. + example: 54d4a727f457231062439895000d45437c7bb405 + namespace: + type: string + description: The namespace where the functions are deployed. + example: ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + title: Functions components that are part of this deployment + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING_BUILD + - BUILDING + - PENDING_DEPLOY + - DEPLOYING + - ACTIVE + - SUPERSEDED + - ERROR + - CANCELED + type: string + example: ACTIVE + phase_last_updated_at: + format: date-time + title: When the deployment phase was last updated + type: string + example: '0001-01-01T00:00:00Z' + progress: + properties: + error_steps: + format: int32 + title: Number of unsuccessful steps + type: integer + example: 3 + pending_steps: + format: int32 + title: Number of pending steps + type: integer + example: 2 + running_steps: + format: int32 + title: Number of currently running steps + type: integer + example: 2 + steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: The deployment's steps + type: array + success_steps: + format: int32 + title: Number of successful steps + type: integer + example: 4 + summary_steps: + items: + properties: + component_name: + title: The component name that this step is associated with + type: string + example: component + ended_at: + format: date-time + title: The end time of this step + type: string + example: '2020-11-19T20:27:18Z' + message_base: + description: |- + The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + `message_base` = "Building service" + `component_name` = "api" + type: string + example: Building service + name: + title: The name of this step + type: string + example: example_step + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + steps: + items: + type: object + title: Child steps of this step + type: array + title: A step that is run as part of the deployment's lifecycle + type: object + title: A flattened summary of the steps + type: array + total_steps: + format: int32 + title: Total number of steps + type: integer + example: 5 + type: object + services: + items: + properties: + name: + title: The name of this service + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this service + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Service components that are part of this deployment + type: array + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + static_sites: + items: + properties: + name: + title: The name of this static site + type: string + example: web + source_commit_hash: + title: The commit hash of the repository that was used to build this static site + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Static Site components that are part of this deployment + type: array + tier_slug: + readOnly: true + title: The current pricing tier slug of the deployment + type: string + example: basic + updated_at: + format: date-time + title: When the deployment was last updated + type: string + example: '2020-07-28T18:00:00Z' + workers: + items: + properties: + name: + title: The name of this worker + type: string + example: queue-runner + source_commit_hash: + title: The commit hash of the repository that was used to build this worker + type: string + example: 54d4a727f457231062439895000d45437c7bb405 + type: object + title: Worker components that are part of this deployment + type: array + title: An app deployment + type: object + type: object examples: deployment: - $ref: '#/components/examples/deployment' + value: + deployment: + id: b6bdf840-2854-4f87-a36c-5f231c617c84 + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 2 + routes: + - path: / + region: ams + services: + - name: web + source_commit_hash: 9a4df0b8e161e323bc3cdf1dc71878080fe144fa + phase_last_updated_at: '0001-01-01T00:00:00Z' + created_at: '2020-07-28T18:00:00Z' + updated_at: '2020-07-28T18:00:00Z' + cause: commit 9a4df0b pushed to github/digitalocean/sample-golang + progress: + pending_steps: 6 + total_steps: 6 + steps: + - name: build + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + component_name: web + message_base: Building service + - name: deploy + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + steps: + - name: deploy + status: PENDING + component_name: web + message_base: Deploying service + - name: wait + status: PENDING + component_name: web + message_base: Waiting for service + component_name: web + - name: finalize + status: PENDING + phase: PENDING_BUILD + tier_slug: basic headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' - ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' - ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' - all_tiers: - description: A JSON object with a `tiers` key. This will be a list of all app tiers - content: - application/json: schema: - $ref: '#/components/schemas/apps_list_tiers_response' - examples: - tiers: - $ref: '#/components/examples/tiers' - headers: - ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' - ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' - get_tier: - description: A JSON with the key `tier` - content: - application/json: schema: - $ref: '#/components/schemas/apps_get_tier_response' - examples: - tier: - $ref: '#/components/examples/tier' - headers: - ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' - ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_instance: description: A JSON with key `instance_sizes` content: application/json: schema: - $ref: '#/components/schemas/apps_list_instance_sizes_response' + properties: + discount_percent: + format: float + type: number + example: 2.32 + instance_sizes: + items: + properties: + bandwidth_allowance_gib: + format: int64 + title: The bandwidth allowance in GiB for the instance size + type: string + example: '1' + cpu_type: + default: UNSPECIFIED + enum: + - UNSPECIFIED + - SHARED + - DEDICATED + title: |- + - SHARED: Shared vCPU cores + - DEDICATED: Dedicated vCPU cores + type: string + example: SHARED + cpus: + format: int64 + title: The number of allotted vCPU cores + type: string + example: '3' + deprecation_intent: + title: Indicates if the instance size is intended for deprecation + type: boolean + example: true + memory_bytes: + format: int64 + title: The allotted memory in bytes + type: string + example: '1048' + name: + title: A human-readable name of the instance size + type: string + example: name + scalable: + title: Indicates if the instance size can enable autoscaling + type: boolean + example: false + single_instance_only: + title: Indicates if the instance size allows more than one instance + type: boolean + example: true + slug: + title: The slug of the instance size + type: string + example: apps-s-1vcpu-1gb + tier_downgrade_to: + title: The slug of the corresponding downgradable instance size on the lower tier + type: string + example: basic + deprecated: true + tier_slug: + title: The slug of the tier to which this instance size belongs + type: string + example: basic + tier_upgrade_to: + title: The slug of the corresponding upgradable instance size on the higher tier + type: string + example: basic + deprecated: true + usd_per_month: + title: The cost of this instance size in USD per month + type: string + example: '23' + usd_per_second: + title: The cost of this instance size in USD per second + type: string + example: '0.00000001232' + type: object + type: array + type: object examples: instance_sizes: - $ref: '#/components/examples/instance_sizes' + value: + instance_sizes: + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '5.00' + usd_per_second: '0.000002066799' + tier_slug: basic + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed + cpu_type: SHARED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '10.00' + usd_per_second: '0.000004133598' + tier_slug: basic + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '12.00' + usd_per_second: '0.000004960317' + tier_slug: professional + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '25.00' + usd_per_second: '0.000010333995' + tier_slug: professional + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb + cpu_type: SHARED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '50.00' + usd_per_second: '0.000020667989' + tier_slug: professional + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '4294967296' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '17179869184' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '900' headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. get_instance: description: A JSON with key `instance_size` content: application/json: schema: - $ref: '#/components/schemas/apps_get_instance_size_response' + properties: + instance_size: + properties: + bandwidth_allowance_gib: + format: int64 + title: The bandwidth allowance in GiB for the instance size + type: string + example: '1' + cpu_type: + default: UNSPECIFIED + enum: + - UNSPECIFIED + - SHARED + - DEDICATED + title: |- + - SHARED: Shared vCPU cores + - DEDICATED: Dedicated vCPU cores + type: string + example: SHARED + cpus: + format: int64 + title: The number of allotted vCPU cores + type: string + example: '3' + deprecation_intent: + title: Indicates if the instance size is intended for deprecation + type: boolean + example: true + memory_bytes: + format: int64 + title: The allotted memory in bytes + type: string + example: '1048' + name: + title: A human-readable name of the instance size + type: string + example: name + scalable: + title: Indicates if the instance size can enable autoscaling + type: boolean + example: false + single_instance_only: + title: Indicates if the instance size allows more than one instance + type: boolean + example: true + slug: + title: The slug of the instance size + type: string + example: apps-s-1vcpu-1gb + tier_downgrade_to: + title: The slug of the corresponding downgradable instance size on the lower tier + type: string + example: basic + deprecated: true + tier_slug: + title: The slug of the tier to which this instance size belongs + type: string + example: basic + tier_upgrade_to: + title: The slug of the corresponding upgradable instance size on the higher tier + type: string + example: basic + deprecated: true + usd_per_month: + title: The cost of this instance size in USD per month + type: string + example: '23' + usd_per_second: + title: The cost of this instance size in USD per second + type: string + example: '0.00000001232' + type: object + type: object examples: instance_size: - $ref: '#/components/examples/instance_size' + value: + instance_size: + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '5.00' + usd_per_second: '0.000002066799' + tier_slug: basic + single_instance_only: true + bandwidth_allowance_gib: '50' headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_regions: description: A JSON object with key `regions` content: application/json: schema: - $ref: '#/components/schemas/apps_list_regions_response' + properties: + regions: + items: + properties: + continent: + readOnly: true + title: The continent that this region is in + type: string + example: europe + data_centers: + items: + type: string + example: ams + readOnly: true + title: Data centers that are in this region + type: array + example: + - ams + default: + description: Whether or not the region is presented as the default. + readOnly: true + type: boolean + example: true + disabled: + readOnly: true + title: Whether or not the region is open for new apps + type: boolean + example: true + flag: + readOnly: true + title: The flag of this region + type: string + example: ams + label: + readOnly: true + title: A human-readable name of the region + type: string + example: ams + reason: + readOnly: true + title: Reason that this region is not available + type: string + example: to crowded + slug: + readOnly: true + title: The slug form of the region name + type: string + example: basic + title: Geographical information about an app origin + type: object + type: array + type: object examples: regions: - $ref: '#/components/examples/regions' + value: + regions: + - slug: ams + label: Amsterdam + flag: netherlands + continent: Europe + data_centers: + - ams3 + - slug: nyc + label: New York + flag: usa + continent: North America + data_centers: + - nyc1 + - nyc3 + default: true + - slug: fra + label: Frankfurt + flag: germany + continent: Europe + data_centers: + - fra1 + - slug: sfo + label: San Francisco + flag: usa + continent: North America + data_centers: + - sfo3 + - slug: sgp + label: Singapore + flag: singapore + continent: Asia + data_centers: + - sgp1 + - slug: blr + label: Bangalore + flag: india + continent: Asia + data_centers: + - blr1 + - slug: tor + label: Toronto + flag: canada + continent: North America + data_centers: + - tor1 + - slug: lon + label: London + flag: uk + continent: Europe + data_centers: + - lon1 headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. propose_app: description: A JSON object. content: application/json: schema: - $ref: '#/components/schemas/app_propose_response' + type: object + properties: + app_is_static: + type: boolean + description: Indicates whether the app is a static app. + example: true + app_name_available: + type: boolean + description: Indicates whether the app name is available. + example: true + app_name_suggestion: + type: string + description: The suggested name if the proposed app name is unavailable. + example: newName + existing_static_apps: + type: string + description: The maximum number of free static apps the account can have. We will charge you for any additional static apps. + example: '2' + spec: + title: AppSpec + type: object + description: The desired configuration of an application. + properties: + name: + description: The name of the app. Must be unique across all apps in the same account. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: web-app-01 + region: + description: 'The slug form of the geographical origin of the app. Default: `nearest available`' + type: string + enum: + - ams + - nyc + - fra + - sfo + - sgp + - blr + - tor + - lon + - syd + example: nyc + domains: + description: A set of hostnames where the application will be available. + type: array + items: + type: object + properties: + domain: + type: string + maxLength: 253 + minLength: 4 + pattern: ^((xn--)?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}\.?$ + description: The hostname for the domain + example: app.example.com + type: + type: string + default: UNSPECIFIED + enum: + - UNSPECIFIED + - DEFAULT + - PRIMARY + - ALIAS + description: |- + - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + - ALIAS: A non-primary domain + example: DEFAULT + wildcard: + type: boolean + description: Indicates whether the domain includes all sub-domains, in addition to the given domain + example: true + zone: + description: |- + Optional. If the domain uses DigitalOcean DNS and you would like App + Platform to automatically manage it for you, set this to the name of the + domain on your account. + For example, If the domain you are adding is `app.domain.com`, the zone + could be `domain.com`. + type: string + format: hostname + example: example.com + minimum_tls_version: + type: string + maxLength: 3 + minLength: 3 + enum: + - '1.2' + - '1.3' + description: 'The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`.' + example: '1.3' + required: + - domain + services: + description: Workloads which expose publicly-accessible HTTP services. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + health_check: + type: object + properties: + failure_threshold: + type: integer + format: int32 + description: The number of failed health checks before considered unhealthy. + example: 2 + port: + type: integer + format: int64 + description: The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + example: 80 + maximum: 65535 + minimum: 1 + http_path: + type: string + description: The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + example: /health + initial_delay_seconds: + type: integer + format: int32 + description: The number of seconds to wait before beginning health checks. + example: 30 + period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between health checks. + example: 60 + success_threshold: + type: integer + format: int32 + description: The number of successful health checks before considered healthy. + example: 3 + timeout_seconds: + type: integer + format: int32 + description: The number of seconds after which the check times out. + example: 45 + protocol: + type: string + description: | + The protocol which the service uses to serve traffic on the http_port. + - `HTTP`: The app is serving the HTTP protocol. Default. + - `HTTP2`: The app is serving the HTTP/2 protocol. Currently, this needs to be implemented in the service by serving HTTP/2 cleartext (h2c). + enum: + - HTTP + - HTTP2 + example: HTTP + http_port: + type: integer + description: |- + The internal port on which this service's run command will listen. Default: 8080 + If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + format: int64 + maximum: 65535 + minimum: 1 + example: 3000 + internal_ports: + type: array + description: The ports on which this service will listen for internal traffic. + items: + format: int64 + type: integer + example: + - 80 + - 443 + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + termination: + type: object + properties: + drain_seconds: + type: integer + format: int32 + description: The number of seconds to wait between selecting a container instance for termination and issuing the TERM signal. Selecting a container instance for termination begins an asynchronous drain of new requests on upstream load-balancers. (Default 15) + example: 15 + maximum: 110 + minimum: 1 + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + static_sites: + description: Content which can be rendered to static web assets. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + index_document: + type: string + description: 'The name of the index document to use when serving this static site. Default: index.html' + default: index.html + example: main.html + error_document: + type: string + description: 'The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.' + default: 404.html + example: error.html + catchall_document: + type: string + description: The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. + example: index.html + output_dir: + type: string + description: 'An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`.' + example: dist/ + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + jobs: + description: Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. + type: array + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + kind: + type: string + enum: + - UNSPECIFIED + - PRE_DEPLOY + - POST_DEPLOY + - FAILED_DEPLOY + description: |- + - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + - PRE_DEPLOY: Indicates a job that runs before an app deployment. + - POST_DEPLOY: Indicates a job that runs after an app deployment. + - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + default: UNSPECIFIED + example: PRE_DEPLOY + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + required: + - name + workers: + description: Workloads which do not expose publicly-accessible HTTP services. + items: + type: object + properties: + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + image: + type: object + properties: + registry: + type: string + description: The registry name. Must be left empty for the `DOCR` registry type. + example: registry.hub.docker.com + registry_type: + type: string + enum: + - DOCKER_HUB + - DOCR + - GHCR + description: |- + - DOCKER_HUB: The DockerHub container registry type. + - DOCR: The DigitalOcean container registry type. + - GHCR: The Github container registry type. + example: DOCR + registry_credentials: + type: string + description: |- + The credentials to be able to pull the image. The value will be encrypted on first submission. On following submissions, the encrypted value should be used. + - "$username:$access_token" for registries of type `DOCKER_HUB`. + - "$username:$access_token" for registries of type `GHCR`. + example: my-dockerhub-username:dckr_pat_the_access_token + repository: + type: string + description: The repository name. + example: origin/master + tag: + type: string + description: The repository tag. Defaults to `latest` if not provided and no digest is provided. Cannot be specified if digest is provided. + example: latest + default: latest + digest: + type: string + description: The image digest. Cannot be specified if tag is provided. + example: sha256:795e91610e9cccb7bb80893fbabf9c808df7d52ae1f39cd1158618b4a33041ac + deploy_on_push: + type: object + properties: + enabled: + type: boolean + description: Whether to automatically deploy new images. Can only be used for images hosted in DOCR and can only be used with an image tag, not a specific digest. + example: true + dockerfile_path: + type: string + description: The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + example: path/to/Dockerfile + build_command: + type: string + description: An optional build command to run while building this component from source. + example: npm run build + run_command: + type: string + description: An optional run command to override the component's default. + example: bin/api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + environment_slug: + type: string + description: An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/). + example: node-js + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + instance_count: + type: integer + format: int64 + minimum: 1 + description: 'The amount of instances that this component should be scaled to. Default: 1. Must not be set if autoscaling is used.' + default: 1 + example: 2 + instance_size_slug: + description: 'The instance size to use for this component. Default: `apps-s-1vcpu-0.5gb`' + oneOf: + - title: Size slug + type: string + enum: + - apps-s-1vcpu-0.5gb + - apps-s-1vcpu-1gb-fixed + - apps-s-1vcpu-1gb + - apps-s-1vcpu-2gb + - apps-s-2vcpu-4gb + - apps-d-1vcpu-0.5gb + - apps-d-1vcpu-1gb + - apps-d-1vcpu-2gb + - apps-d-1vcpu-4gb + - apps-d-2vcpu-4gb + - apps-d-2vcpu-8gb + - apps-d-4vcpu-8gb + - apps-d-4vcpu-16gb + - apps-d-8vcpu-32gb + default: apps-s-1vcpu-0.5gb + example: apps-s-1vcpu-0.5gb + - title: Deprecated + description: | + Deprecated size slugs for legacy plans. We strongly encourage customers + to use the new plans when creating or upgrading apps. + type: string + enum: + - basic-xxs + - basic-xs + - basic-s + - basic-m + - professional-xs + - professional-s + - professional-m + - professional-1l + - professional-l + - professional-xl + example: basic-xxs + deprecated: true + example: apps-s-1vcpu-0.5gb + autoscaling: + description: Configuration for automatically scaling this component based on metrics. + type: object + properties: + min_instance_count: + description: The minimum amount of instances for this component. Must be less than max_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 2 + max_instance_count: + description: The maximum amount of instances for this component. Must be more than min_instance_count. + type: integer + format: uint32 + minimum: 1 + example: 3 + metrics: + description: The metrics that the component is scaled on. + type: object + properties: + cpu: + description: Settings for scaling the component based on CPU utilization. + type: object + properties: + percent: + description: The average target CPU utilization for the component. + type: integer + format: uint32 + minimum: 1 + maximum: 100 + default: 80 + example: 75 + termination: + type: object + properties: + grace_period_seconds: + type: integer + format: int32 + description: The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. (Default 120) + example: 120 + maximum: 600 + minimum: 1 + type: array + functions: + description: Workloads which expose publicly-accessible HTTP services via Functions Components. + items: + type: object + properties: + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + description: (Deprecated - Use Ingress Rules instead). + deprecated: true + routes: + type: array + description: (Deprecated - Use Ingress Rules instead). A list of HTTP routes that should be routed to this component. + deprecated: true + items: + title: A criterion for routing HTTP traffic to a component. + type: object + properties: + path: + description: (Deprecated - Use Ingress Rules instead). An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + type: string + example: /api + preserve_path_prefix: + description: An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + type: boolean + example: true + name: + type: string + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + description: The name. Must be unique across all components within the same app. + example: api + source_dir: + type: string + description: An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + example: path/to/dir + alerts: + type: array + items: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + envs: + type: array + items: + type: object + properties: + key: + type: string + pattern: ^[_A-Za-z][_A-Za-z0-9]*$ + description: The variable name + example: BASE_URL + scope: + type: string + enum: + - UNSET + - RUN_TIME + - BUILD_TIME + - RUN_AND_BUILD_TIME + description: |- + - RUN_TIME: Made available only at run-time + - BUILD_TIME: Made available only at build-time + - RUN_AND_BUILD_TIME: Made available at both build and run-time + default: RUN_AND_BUILD_TIME + example: BUILD_TIME + type: + type: string + enum: + - GENERAL + - SECRET + description: |- + - GENERAL: A plain-text environment variable + - SECRET: A secret encrypted environment variable + default: GENERAL + example: GENERAL + value: + description: The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + type: string + example: http://example.com + required: + - key + description: A list of environment variables made available to the component. + git: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + repo_clone_url: + type: string + description: 'The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`' + example: https://github.com/digitalocean/sample-golang.git + github: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + gitlab: + type: object + properties: + branch: + type: string + description: The name of the branch to use + example: main + deploy_on_push: + type: boolean + description: Whether to automatically deploy new commits made to the repo + example: true + repo: + type: string + description: 'The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`' + example: digitalocean/sample-golang + log_destinations: + type: array + items: + type: object + properties: + name: + type: string + maxLength: 42 + minLength: 2 + pattern: ^[A-Za-z0-9()\[\]'"][-A-Za-z0-9_. \/()\[\]]{0,40}[A-Za-z0-9()\[\]'"]$ + example: my_log_destination + papertrail: + type: object + properties: + endpoint: + type: string + description: Papertrail syslog endpoint. + example: https://mypapertrailendpoint.com + description: Papertrail configuration. + required: + - endpoint + datadog: + type: object + properties: + endpoint: + type: string + description: Datadog HTTP log intake endpoint. + example: https://mydatadogendpoint.com + api_key: + type: string + description: Datadog API key. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: DataDog configuration. + required: + - api_key + logtail: + type: object + properties: + token: + type: string + description: Logtail token. + example: abcdefghijklmnopqrstuvwxyz0123456789 + description: Logtail configuration. + required: + - endpoint + open_search: + type: object + properties: + endpoint: + type: string + description: |- + OpenSearch API Endpoint. Only HTTPS is supported. Format: https://:. + Cannot be specified if `cluster_name` is also specified. + example: https://example.com:9300 + basic_auth: + type: object + properties: + user: + type: string + description: |- + Username to authenticate with. Only required when `endpoint` is set. + Defaults to `doadmin` when `cluster_name` is set. + example: apps_user + password: + description: |- + Password for user defined in User. Is required when `endpoint` is set. + Cannot be set if using a DigitalOcean DBaaS OpenSearch cluster. + example: password1 + description: Configure Username and/or Password for Basic authentication. + index_name: + type: string + default: logs + description: The index name to use for the logs. If not set, the default index name is "logs". + example: logs + cluster_name: + type: string + description: |- + The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. + Cannot be specified if `endpoint` is also specified. + example: my-opensearch-cluster + description: OpenSearch configuration. + title: Configurations for external logging. + required: + - name + description: A list of configured log forwarding destinations. + required: + - name + type: array + databases: + description: |- + Database instances which can provide persistence to workloads within the + application. + type: array + items: + type: object + properties: + cluster_name: + description: The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + type: string + example: cluster_name + db_name: + description: The name of the MySQL or PostgreSQL database to configure. + type: string + example: my_db + db_user: + description: The name of the MySQL or PostgreSQL user to configure. + type: string + example: superuser + engine: + type: string + default: UNSET + enum: + - UNSET + - MYSQL + - PG + - REDIS + - MONGODB + - KAFKA + - OPENSEARCH + description: |- + - MYSQL: MySQL + - PG: PostgreSQL + - REDIS: Redis + - MONGODB: MongoDB + - KAFKA: Kafka + - OPENSEARCH: OpenSearch + example: PG + name: + description: The database's name. The name must be unique across all components within the same app and cannot use capital letters. + maxLength: 32 + minLength: 2 + pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$ + type: string + example: prod-db + production: + description: Whether this is a production or dev database. + type: boolean + example: true + version: + description: The version of the database engine + type: string + example: '12' + required: + - name + ingress: + type: object + properties: + rules: + description: Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. + type: array + items: + type: object + properties: + match: + type: object + properties: + path: + type: object + properties: + prefix: + type: string + description: Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + maxLength: 256 + example: /api + description: The path to match on. + required: + - prefix + description: The match configuration for the rule. + required: + - path + cors: + type: object + properties: + allow_origins: + type: array + description: The set of allowed CORS origins. + items: + type: object + properties: + exact: + type: string + description: Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + prefix: + type: string + description: Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + maxLength: 256 + minLength: 1 + example: https://www.example.com + deprecated: true + regex: + type: string + maxLength: 256 + minLength: 1 + description: 'RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax' + example: ^.*example.com + example: + - exact: https://www.example.com + - regex: ^.*example.com + allow_methods: + type: array + items: + type: string + description: The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + example: + - GET + - OPTIONS + - POST + - PUT + - PATCH + - DELETE + allow_headers: + type: array + items: + type: string + description: The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + example: + - Content-Type + - X-Custom-Header + expose_headers: + type: array + items: + type: string + description: The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + example: + - Content-Encoding + - X-Custom-Header + max_age: + type: string + description: An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + example: 5h30m + allow_credentials: + type: boolean + description: Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + example: false + component: + type: object + properties: + name: + description: The name of the component to route to. + type: string + example: web + preserve_path_prefix: + description: 'An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.' + type: string + example: 'true' + rewrite: + description: 'An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.' + type: string + example: /api/v1/ + description: The component to route to. Only one of `component` or `redirect` may be set. + required: + - name + redirect: + type: object + properties: + uri: + description: 'An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.' + type: string + example: /about + authority: + description: 'The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.' + type: string + example: example.com + port: + description: The port to redirect to. + type: integer + format: int64 + example: 443 + scheme: + description: 'The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.' + type: string + example: https + redirect_code: + description: The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + type: integer + format: int64 + example: 302 + description: The redirect configuration for the rule. Only one of `component` or `redirect` may be set. + description: Specification for app ingress configurations. + egress: + type: object + description: Specification for app egress configurations. + properties: + type: + title: The app egress type. + type: string + default: AUTOASSIGN + example: AUTOASSIGN + enum: + - AUTOASSIGN + - DEDICATED_IP + maintenance: + type: object + description: Specification to configure maintenance settings for the app, such as maintenance mode and archiving the app. + properties: + enabled: + type: boolean + description: Indicates whether maintenance mode should be enabled for the app. + example: true + archive: + type: boolean + description: Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta. + example: true + required: + - name + app_cost: + type: integer + format: int32 + description: The monthly cost of the proposed app in USD. + example: 5 + app_tier_downgrade_cost: + type: integer + format: int32 + description: The monthly cost of the proposed app in USD using the previous pricing plan tier. For example, if you propose an app that uses the Professional tier, the `app_tier_downgrade_cost` field displays the monthly cost of the app if it were to use the Basic tier. If the proposed app already uses the lest expensive tier, the field is empty. + example: 17 + deprecated: true examples: propose: - $ref: '#/components/examples/propose' + value: + app_name_available: true + existing_static_apps: '2' + max_free_static_apps: '3' + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + app_cost: 5 headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_alerts: description: A JSON object with a `alerts` key. This is list of object `alerts`. content: application/json: schema: - $ref: '#/components/schemas/apps_list_alerts_response' + properties: + alerts: + type: array + items: + properties: + id: + readOnly: true + title: The ID of the alert + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + component_name: + title: Name of component the alert belongs to + type: string + example: backend + spec: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + emails: + title: Emails for alerts to go to + type: array + items: + default: '' + type: string + example: sammy@digitalocean.com + example: + - sammy@digitalocean.com + slack_webhooks: + title: Slack Webhooks to send alerts to + type: array + items: + properties: + url: + title: URL of the Slack webhook + type: string + example: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX + channel: + title: Name of the Slack Webhook Channel + type: string + example: Channel Name + type: object + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - CONFIGURING + - ACTIVE + - ERROR + type: string + example: ACTIVE + progress: + properties: + steps: + title: Steps of an alert's progress. + type: array + items: + properties: + name: + title: The name of this step + type: string + example: example_step + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + ended_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + type: object + type: object + type: object + type: object examples: apps: - $ref: '#/components/examples/alerts' + value: + alerts: + - id: e552e1f9-c1b0-4e6d-8777-ad6f27767306 + spec: + rule: DEPLOYMENT_FAILED + emails: + - sammy@digitalocean.com + phase: ACTIVE + progress: + steps: + - name: alert-configure-insight-alert + status: SUCCESS + started_at: '2020-07-28T18:00:00Z' + ended_at: '2020-07-28T18:00:00Z' + - id: b58cc9d4-0702-4ffd-ab45-4c2a8d979527 + spec: + rule: CPU_UTILIZATION + operator: GREATER_THAN + value: 85 + window: FIVE_MINUTES + emails: + - sammy@digitalocean.com + phase: ACTIVE + progress: + steps: + - name: alert-configure-insight-alert + status: SUCCESS + started_at: '2020-07-28T18:00:00Z' + ended_at: '2020-07-28T18:00:00Z' headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. assign_alert_destinations: description: A JSON object with an `alert` key. This is an object of type `alert`. content: application/json: schema: - $ref: '#/components/schemas/apps_alert_response' + properties: + alert: + properties: + id: + readOnly: true + title: The ID of the alert + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + component_name: + title: Name of component the alert belongs to + type: string + example: backend + spec: + properties: + rule: + default: UNSPECIFIED_RULE + enum: + - UNSPECIFIED_RULE + - CPU_UTILIZATION + - MEM_UTILIZATION + - RESTART_COUNT + - DEPLOYMENT_FAILED + - DEPLOYMENT_LIVE + - DOMAIN_FAILED + - DOMAIN_LIVE + - FUNCTIONS_ACTIVATION_COUNT + - FUNCTIONS_AVERAGE_DURATION_MS + - FUNCTIONS_ERROR_RATE_PER_MINUTE + - FUNCTIONS_AVERAGE_WAIT_TIME_MS + - FUNCTIONS_ERROR_COUNT + - FUNCTIONS_GB_RATE_PER_SECOND + type: string + example: CPU_UTILIZATION + disabled: + description: Is the alert disabled? + type: boolean + example: false + operator: + default: UNSPECIFIED_OPERATOR + enum: + - UNSPECIFIED_OPERATOR + - GREATER_THAN + - LESS_THAN + type: string + example: GREATER_THAN + value: + description: Threshold value for alert + format: float + type: number + example: 2.32 + window: + default: UNSPECIFIED_WINDOW + enum: + - UNSPECIFIED_WINDOW + - FIVE_MINUTES + - TEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + type: string + example: FIVE_MINUTES + type: object + emails: + title: Emails for alerts to go to + type: array + items: + default: '' + type: string + example: sammy@digitalocean.com + example: + - sammy@digitalocean.com + slack_webhooks: + title: Slack Webhooks to send alerts to + type: array + items: + properties: + url: + title: URL of the Slack webhook + type: string + example: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX + channel: + title: Name of the Slack Webhook Channel + type: string + example: Channel Name + type: object + phase: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - CONFIGURING + - ACTIVE + - ERROR + type: string + example: ACTIVE + progress: + properties: + steps: + title: Steps of an alert's progress. + type: array + items: + properties: + name: + title: The name of this step + type: string + example: example_step + status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - ERROR + - SUCCESS + type: string + example: SUCCESS + started_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + ended_at: + format: date-time + title: The start time of this step + type: string + example: '2020-11-19T20:27:18Z' + reason: + properties: + code: + title: The error code + type: string + example: Title of Error + message: + title: The error message + type: string + example: This is an error + type: object + type: object + type: object + type: object + type: object examples: apps: - $ref: '#/components/examples/alert' + value: + alert: + id: e552e1f9-c1b0-4e6d-8777-ad6f27767306 + spec: + rule: DEPLOYMENT_FAILED + emails: + - sammy@digitalocean.com + phase: ACTIVE + progress: + steps: + - name: alert-configure-insight-alert + status: SUCCESS + started_at: '2020-07-28T18:00:00Z' + ended_at: '2020-07-28T18:00:00Z' headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. apps_validate_rollback: description: A JSON object with the validation results. content: @@ -3391,14 +70351,85 @@ components: type: boolean description: Indicates whether the app can be rolled back to the specified deployment. error: - allOf: - - description: Contains the failing condition that is causing the rollback to be invalid. - - $ref: '#/components/schemas/app_rollback_validation_condition' + description: Contains the failing condition that is causing the rollback to be invalid. + properties: + code: + type: string + enum: + - incompatible_phase + - incompatible_result + - exceeded_revision_limit + - app_pinned + - database_config_conflict + - region_conflict + - static_site_requires_rebuild + - image_source_missing_digest + example: exceeded_revision_limit + description: | + A code identifier that represents the failing condition. + Failing conditions: + - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback. + - `incompatible_result` - indicates that the deployment's result is not suitable for rollback. + - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier. + - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned. + - `database_config_conflict` - indicates that the deployment's database config is different than the current config. + - `region_conflict` - indicates that the deployment's region differs from the current app region. + Warning conditions: + - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild. + - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest. + message: + type: string + description: A human-readable message describing the failing condition. + example: the deployment is past the maximum historical revision limit of 0 for the "starter" app tier + components: + type: array + items: + type: string + description: If applicable, a list of components that are failing the condition. + example: + - www + type: object warnings: type: array description: Contains a list of warnings that may cause the rollback to run under unideal circumstances. items: - $ref: '#/components/schemas/app_rollback_validation_condition' + type: object + properties: + code: + type: string + enum: + - incompatible_phase + - incompatible_result + - exceeded_revision_limit + - app_pinned + - database_config_conflict + - region_conflict + - static_site_requires_rebuild + - image_source_missing_digest + example: exceeded_revision_limit + description: | + A code identifier that represents the failing condition. + Failing conditions: + - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback. + - `incompatible_result` - indicates that the deployment's result is not suitable for rollback. + - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier. + - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned. + - `database_config_conflict` - indicates that the deployment's database config is different than the current config. + - `region_conflict` - indicates that the deployment's region differs from the current app region. + Warning conditions: + - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild. + - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest. + message: + type: string + description: A human-readable message describing the failing condition. + example: the deployment is past the maximum historical revision limit of 0 for the "starter" app tier + components: + type: array + items: + type: string + description: If applicable, a list of components that are failing the condition. + example: + - www examples: Valid rollback: value: @@ -3419,91 +70450,190 @@ components: message: deployment result "failed" is unsuitable for rollback headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. no_content: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. get_metrics_bandwidth_usage: description: A JSON object with a `app_bandwidth_usage` key content: application/json: schema: - $ref: '#/components/schemas/app_metrics_bandwidth_usage' + type: object + properties: + app_bandwidth_usage: + type: array + items: + type: object + properties: + app_id: + type: string + description: The ID of the app. + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + bandwidth_bytes: + type: string + format: uint64 + description: The used bandwidth amount in bytes. + example: '513668' + description: Bandwidth usage for an app. + description: A list of bandwidth usage details by app. + date: + type: string + format: date-time + description: The date for the metrics data. + example: '2023-01-17T00:00:00Z' examples: app_bandwidth_usage: - $ref: '#/components/examples/app_bandwidth_usage' + value: + app_bandwidth_usage: + - app_id: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + bandwidth_bytes: '513668' + date: '2023-01-17T00:00:00Z' headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_metrics_bandwidth_usage: description: A JSON object with a `app_bandwidth_usage` key content: application/json: schema: - $ref: '#/components/schemas/app_metrics_bandwidth_usage' + type: object + properties: + app_bandwidth_usage: + type: array + items: + type: object + properties: + app_id: + type: string + description: The ID of the app. + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + bandwidth_bytes: + type: string + format: uint64 + description: The used bandwidth amount in bytes. + example: '513668' + description: Bandwidth usage for an app. + description: A list of bandwidth usage details by app. + date: + type: string + format: date-time + description: The date for the metrics data. + example: '2023-01-17T00:00:00Z' examples: app_bandwidth_usage: - $ref: '#/components/examples/app_bandwidth_usage_multiple' + value: + app_bandwidth_usage: + - app_id: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + bandwidth_bytes: '513668' + - app_id: c2a93513-8d9b-4223-9d61-5e7272c81cf5 + bandwidth_bytes: '254847' + date: '2023-01-17T00:00:00Z' headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -3518,11 +70648,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3532,7 +70662,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -3542,11 +70672,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3571,11 +70701,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3619,7 +70749,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -3628,7 +70758,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -3702,6 +70832,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -3720,7 +70857,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3730,7 +70867,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -3744,7 +70881,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3816,7 +70953,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -3824,11 +70961,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3847,7 +70984,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -3922,12 +71059,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -3941,7 +71085,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -4010,7 +71154,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -4062,133 +71206,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -4256,14 +71426,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -4440,6 +71609,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4520,9 +71694,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4553,13 +71727,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4666,13 +71845,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4778,7 +71962,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -4792,6 +71976,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4872,9 +72061,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4905,13 +72094,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4964,42 +72158,173 @@ components: regions: - ams2 - ams3 - - blr1 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.138 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 162.243.0.4 + netmask: 255.255.255.0 + gateway: 162.243.0.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - storage + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + links: + pages: {} + meta: + total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 + - tor1 - sfo2 + - blr1 - sfo3 - - sgp1 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: - tor1 available: true - description: Basic - size_slug: s-1vcpu-1gb + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb networks: v4: - - ip_address: 10.128.192.138 + - ip_address: 10.128.192.124 netmask: 255.255.0.0 gateway: nil type: private - - ip_address: 162.243.0.4 + - ip_address: 192.241.165.154 netmask: 255.255.255.0 - gateway: 162.243.0.1 + gateway: 192.241.165.1 type: public v6: [] region: - name: New York 3 - slug: nyc3 + name: Toronto 1 + slug: tor1 features: - - private_networking - backups - ipv6 - metadata - install_agent - storage - image_transfer + - server_id + - management_networking available: true sizes: - s-1vcpu-1gb @@ -5016,14 +72341,19 @@ components: - s-20vcpu-96gb - s-24vcpu-128gb - s-32vcpu-192g - tags: - - storage - - 'env:prod' - vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - links: - pages: {} + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} meta: - total: 2 + total: 1 droplet_create_request: value: name: example.com @@ -5032,12 +72362,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -5054,12 +72384,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -5074,6 +72404,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -5172,12 +72507,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -5186,6 +72521,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -5284,12 +72624,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -5388,15 +72733,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -5405,6 +72750,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -5485,9 +72835,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5518,10 +72868,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -5559,13 +72910,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -5602,6 +72954,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -5691,9 +73044,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5723,7 +73076,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5755,6 +73108,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -6038,12 +73392,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6053,8 +73407,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6090,8 +73444,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6127,6 +73481,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -6182,7 +73541,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -6190,8 +73549,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6232,6 +73591,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -6248,7 +73612,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6259,8 +73623,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6296,8 +73660,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6333,6 +73697,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -6344,12 +73713,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6359,8 +73728,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6396,8 +73765,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6432,6 +73801,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -6443,12 +73817,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6458,8 +73832,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6495,8 +73869,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6531,6 +73905,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -6740,11 +74119,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -6796,7 +74175,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -6810,11 +74189,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -6840,11 +74219,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -6870,7 +74249,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -6894,7 +74273,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -6966,11 +74345,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -7082,7 +74461,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -7145,7 +74524,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -7194,11 +74573,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -7270,11 +74649,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -7455,8 +74834,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -7494,13 +74893,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -7537,6 +74937,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -7626,9 +75027,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -7658,7 +75059,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -7690,6 +75091,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -7738,7 +75140,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -7768,7 +75170,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -8022,14 +75424,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -8039,7 +75441,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -8049,363 +75451,349 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: apps: id: digitalocean.apps.apps name: apps title: Apps methods: - list: + apps_list: operation: $ref: '#/paths/~1v2~1apps/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_apps' objectKey: $.apps - _list: - operation: - $ref: '#/paths/~1v2~1apps/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + apps_create: operation: $ref: '#/paths/~1v2~1apps/post' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/new_app' + objectKey: $.app + apps_delete: operation: $ref: '#/paths/~1v2~1apps~1{id}/delete' response: mediaType: application/json openAPIDocKey: '200' - get: + schemaRef: '#/components/responses/delete_app' + apps_get: operation: $ref: '#/paths/~1v2~1apps~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/apps_get' objectKey: $.app - _get: - operation: - $ref: '#/paths/~1v2~1apps~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update: + apps_update: operation: $ref: '#/paths/~1v2~1apps~1{id}/put' response: mediaType: application/json openAPIDocKey: '200' - validate_appSpec: + schemaRef: '#/components/responses/update_app' + apps_validate_app_spec: operation: $ref: '#/paths/~1v2~1apps~1propose/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/propose_app' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/apps/methods/list' - - $ref: '#/components/x-stackQL-resources/apps/methods/get' + - $ref: '#/components/x-stackQL-resources/apps/methods/apps_get' + - $ref: '#/components/x-stackQL-resources/apps/methods/apps_list' insert: - - $ref: '#/components/x-stackQL-resources/apps/methods/create' + - $ref: '#/components/x-stackQL-resources/apps/methods/apps_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/apps/methods/delete' - logs: - id: digitalocean.apps.logs - name: logs - title: Logs + - $ref: '#/components/x-stackQL-resources/apps/methods/apps_delete' + components_logs: + id: digitalocean.apps.components_logs + name: components_logs + title: Components Logs methods: - get_logs_active_deployment: + apps_get_logs_active_deployment: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1components~1{component_name}~1logs/get' response: mediaType: application/json openAPIDocKey: '200' - get_logs: - operation: - $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}~1components~1{component_name}~1logs/get' - response: - mediaType: application/json - openAPIDocKey: '200' - get_logs_aggregate: - operation: - $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}~1logs/get' - response: - mediaType: application/json - openAPIDocKey: '200' - get_logs_active_deployment_aggregate: - operation: - $ref: '#/paths/~1v2~1apps~1{app_id}~1logs/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/list_logs' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/logs/methods/get_logs_active_deployment' - - $ref: '#/components/x-stackQL-resources/logs/methods/get_logs' - - $ref: '#/components/x-stackQL-resources/logs/methods/get_logs_aggregate' - - $ref: '#/components/x-stackQL-resources/logs/methods/get_logs_active_deployment_aggregate' + - $ref: '#/components/x-stackQL-resources/components_logs/methods/apps_get_logs_active_deployment' insert: [] update: [] + replace: [] delete: [] deployments: id: digitalocean.apps.deployments name: deployments title: Deployments methods: - list_deployments: + apps_list_deployments: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_deployments' objectKey: $.deployments - _list_deployments: - operation: - $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_deployment: + apps_create_deployment: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments/post' response: mediaType: application/json openAPIDocKey: '200' - get_deployment: - operation: - $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/new_app_deployment' objectKey: $.deployment - _get_deployment: + apps_get_deployment: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}/get' response: mediaType: application/json openAPIDocKey: '200' - cancel_deployment: + schemaRef: '#/components/responses/list_deployment' + objectKey: $.deployment + apps_cancel_deployment: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}~1cancel/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/cancel_deployment' + objectKey: $.deployment sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/deployments/methods/list_deployments' - - $ref: '#/components/x-stackQL-resources/deployments/methods/get_deployment' + - $ref: '#/components/x-stackQL-resources/deployments/methods/apps_get_deployment' + - $ref: '#/components/x-stackQL-resources/deployments/methods/apps_list_deployments' insert: - - $ref: '#/components/x-stackQL-resources/deployments/methods/create_deployment' + - $ref: '#/components/x-stackQL-resources/deployments/methods/apps_create_deployment' update: [] + replace: [] delete: [] - tiers: - id: digitalocean.apps.tiers - name: tiers - title: Tiers + deployments_components_logs: + id: digitalocean.apps.deployments_components_logs + name: deployments_components_logs + title: Deployments Components Logs methods: - list_tiers: - operation: - $ref: '#/paths/~1v2~1apps~1tiers/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.tiers - _list_tiers: + apps_get_logs: operation: - $ref: '#/paths/~1v2~1apps~1tiers/get' - response: - mediaType: application/json - openAPIDocKey: '200' - get_tier: - operation: - $ref: '#/paths/~1v2~1apps~1tiers~1{slug}/get' + $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}~1components~1{component_name}~1logs/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.tier - _get_tier: + schemaRef: '#/components/responses/list_logs' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployments_components_logs/methods/apps_get_logs' + insert: [] + update: [] + replace: [] + delete: [] + deployments_logs: + id: digitalocean.apps.deployments_logs + name: deployments_logs + title: Deployments Logs + methods: + apps_get_logs_aggregate: operation: - $ref: '#/paths/~1v2~1apps~1tiers~1{slug}/get' + $ref: '#/paths/~1v2~1apps~1{app_id}~1deployments~1{deployment_id}~1logs/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_logs' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/tiers/methods/list_tiers' - - $ref: '#/components/x-stackQL-resources/tiers/methods/get_tier' + - $ref: '#/components/x-stackQL-resources/deployments_logs/methods/apps_get_logs_aggregate' insert: [] update: [] + replace: [] delete: [] - instance_sizes: - id: digitalocean.apps.instance_sizes - name: instance_sizes - title: Instance Sizes + logs: + id: digitalocean.apps.logs + name: logs + title: Logs methods: - list_instanceSizes: + apps_get_logs_active_deployment_aggregate: operation: - $ref: '#/paths/~1v2~1apps~1tiers~1instance_sizes/get' + $ref: '#/paths/~1v2~1apps~1{app_id}~1logs/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.instance_sizes - _list_instanceSizes: + schemaRef: '#/components/responses/list_logs' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/logs/methods/apps_get_logs_active_deployment_aggregate' + insert: [] + update: [] + replace: [] + delete: [] + tiers_instance_sizes: + id: digitalocean.apps.tiers_instance_sizes + name: tiers_instance_sizes + title: Tiers Instance Sizes + methods: + apps_list_instance_sizes: operation: $ref: '#/paths/~1v2~1apps~1tiers~1instance_sizes/get' response: mediaType: application/json openAPIDocKey: '200' - get_instanceSize: + schemaRef: '#/components/responses/list_instance' + apps_get_instance_size: operation: $ref: '#/paths/~1v2~1apps~1tiers~1instance_sizes~1{slug}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/get_instance' objectKey: $.instance_size - _get_instanceSize: - operation: - $ref: '#/paths/~1v2~1apps~1tiers~1instance_sizes~1{slug}/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/instance_sizes/methods/list_instanceSizes' - - $ref: '#/components/x-stackQL-resources/instance_sizes/methods/get_instanceSize' + - $ref: '#/components/x-stackQL-resources/tiers_instance_sizes/methods/apps_get_instance_size' + - $ref: '#/components/x-stackQL-resources/tiers_instance_sizes/methods/apps_list_instance_sizes' insert: [] update: [] + replace: [] delete: [] regions: id: digitalocean.apps.regions name: regions title: Regions methods: - list_regions: + apps_list_regions: operation: $ref: '#/paths/~1v2~1apps~1regions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_regions' objectKey: $.regions - _list_regions: - operation: - $ref: '#/paths/~1v2~1apps~1regions/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/regions/methods/list_regions' + - $ref: '#/components/x-stackQL-resources/regions/methods/apps_list_regions' insert: [] update: [] + replace: [] delete: [] alerts: id: digitalocean.apps.alerts name: alerts title: Alerts methods: - list_alerts: + apps_list_alerts: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1alerts/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_alerts' objectKey: $.alerts - _list_alerts: - operation: - $ref: '#/paths/~1v2~1apps~1{app_id}~1alerts/get' - response: - mediaType: application/json - openAPIDocKey: '200' - assign_alertDestinations: + apps_assign_alert_destinations: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1alerts~1{alert_id}~1destinations/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/assign_alert_destinations' + objectKey: $.alert sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/alerts/methods/list_alerts' + - $ref: '#/components/x-stackQL-resources/alerts/methods/apps_list_alerts' insert: [] update: [] + replace: [] delete: [] rollbacks: id: digitalocean.apps.rollbacks name: rollbacks title: Rollbacks methods: - create_rollback: + apps_create_rollback: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1rollback/post' response: mediaType: application/json openAPIDocKey: '200' - validate_rollback: + schemaRef: '#/components/responses/new_app_deployment' + objectKey: $.deployment + apps_validate_rollback: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1rollback~1validate/post' response: mediaType: application/json openAPIDocKey: '200' - commit_rollback: + schemaRef: '#/components/responses/apps_validate_rollback' + apps_commit_rollback: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1rollback~1commit/post' response: mediaType: application/json openAPIDocKey: '200' - revert_rollback: + schemaRef: '#/components/responses/no_content' + apps_revert_rollback: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1rollback~1revert/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/new_app_deployment' + objectKey: $.deployment sqlVerbs: select: [] insert: - - $ref: '#/components/x-stackQL-resources/rollbacks/methods/create_rollback' + - $ref: '#/components/x-stackQL-resources/rollbacks/methods/apps_create_rollback' update: [] + replace: [] delete: [] - daily_metrics_bandwidth: - id: digitalocean.apps.daily_metrics_bandwidth - name: daily_metrics_bandwidth - title: Daily Metrics Bandwidth + daily_metrics_bandwidths: + id: digitalocean.apps.daily_metrics_bandwidths + name: daily_metrics_bandwidths + title: Daily Metrics Bandwidths methods: - get_metrics_bandwidth_daily: + apps_get_metrics_bandwidth_daily: operation: $ref: '#/paths/~1v2~1apps~1{app_id}~1metrics~1bandwidth_daily/get' response: mediaType: application/json openAPIDocKey: '200' - list_metrics_bandwidth_daily: + schemaRef: '#/components/responses/get_metrics_bandwidth_usage' + apps_list_metrics_bandwidth_daily: operation: $ref: '#/paths/~1v2~1apps~1metrics~1bandwidth_daily/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_metrics_bandwidth_usage' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/daily_metrics_bandwidth/methods/get_metrics_bandwidth_daily' + - $ref: '#/components/x-stackQL-resources/daily_metrics_bandwidths/methods/apps_get_metrics_bandwidth_daily' + - $ref: '#/components/x-stackQL-resources/daily_metrics_bandwidths/methods/apps_list_metrics_bandwidth_daily' insert: [] update: [] + replace: [] delete: [] paths: /v2/apps: @@ -8437,13 +75825,21 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.list() security: - bearer_auth: - - read + - app:read post: operationId: apps_create summary: Create a New App - description: 'Create a new app by submitting an app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/).' + description: Create a new app by submitting an app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). tags: - Apps parameters: @@ -8467,9 +75863,11 @@ paths: run_command: bin/api environment_slug: node-js instance_count: 2 - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb routes: - path: /api + egress: + type: DEDICATED_IP required: true responses: '200': @@ -8493,16 +75891,42 @@ paths: "services":[{"name":"api","github":{"branch":"main",\ "deploy_on_push":true,"repo":"digitalocean/sample-golang"}, \ "run_command":"bin/api","environment_slug":"node-js", \ - "instance_count":2,"instance_size_slug":"basic-xxs", \ + "instance_count":2,"instance_size_slug":"apps-s-1vcpu-0.5gb", \ "routes":[{"path":"/api"}]}]}}' + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_resp = client.apps.create( + { + "spec": { + "name": "web-app", + "region": "nyc", + "services": [ + { + "name": "api", + "github": {}, + "run_command": "bin/api", + "environment_slug": "node-js", + "instance_count": 2, + "instance_size_slug": "apps-s-1vcpu-0.5gb", + "routes": [], + } + ], + } + } + ) security: - bearer_auth: - - write - '/v2/apps/{id}': + - app:create + /v2/apps/{id}: delete: operationId: apps_delete summary: Delete an App - description: 'Delete an existing app. Once deleted, all active deployments will be permanently shut down and the app deleted. If needed, be sure to back up your app specification so that you may re-create it at a later time.' + description: Delete an existing app. Once deleted, all active deployments will be permanently shut down and the app deleted. If needed, be sure to back up your app specification so that you may re-create it at a later time. tags: - Apps parameters: @@ -8527,13 +75951,21 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.apps.delete(id="b7d64052") security: - bearer_auth: - - write + - app:delete get: operationId: apps_get summary: Retrieve an Existing App - description: 'Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response.' + description: Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response. tags: - Apps parameters: @@ -8559,13 +75991,21 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_resp = client.apps.get(id="4f6c71e2") security: - bearer_auth: - - read + - app:read put: operationId: apps_update summary: Update an App - description: 'Update an existing app by submitting a new app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/).' + description: Update an existing app by submitting a new app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). tags: - Apps parameters: @@ -8596,14 +76036,244 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + req = { + "spec": { + "name": "web-app-01", + "region": "nyc", + "domains": [ + { + "domain": "app.example.com", + "type": "DEFAULT", + "wildcard": True, + "zone": "example.com", + "minimum_tls_version": "1.3", + } + ], + "services": [], + "static_sites": [ + { + "cors": { + "allow_origins": [ + {"exact": "https://www.example.com"}, + {"regex": "^.*example.com"}, + ], + "allow_methods": [ + "GET", + "OPTIONS", + "POST", + "PUT", + "PATCH", + "DELETE", + ], + "allow_headers": ["Content-Type", "X-Custom-Header"], + "expose_headers": ["Content-Encoding", "X-Custom-Header"], + "max_age": "5h30m", + "allow_credentials": False, + }, + "routes": [{"path": "/api", "preserve_path_prefix": True}], + } + ], + "jobs": [ + { + "name": "api", + "gitlab": { + "branch": "main", + "deploy_on_push": True, + "repo": "digitalocean/sample-golang", + }, + "image": { + "registry": "registry.hub.docker.com", + "registry_type": "DOCR", + "repository": "origin/master", + "tag": "latest", + }, + "dockerfile_path": "path/to/Dockerfile", + "build_command": "npm run build", + "run_command": "bin/api", + "source_dir": "path/to/dir", + "envs": [ + { + "key": "BASE_URL", + "scope": "BUILD_TIME", + "type": "GENERAL", + "value": "http://example.com", + } + ], + "environment_slug": "node-js", + "log_destinations": { + "name": "my_log_destination", + "papertrail": { + "endpoint": "https://mypapertrailendpoint.com" + }, + "datadog": { + "endpoint": "https://mydatadogendpoint.com", + "api_key": "abcdefghijklmnopqrstuvwxyz0123456789", + }, + "logtail": { + "token": "abcdefghijklmnopqrstuvwxyz0123456789" + }, + "open_search": { + "endpoint": "https://myopensearchendpoint.com:9300" + "index_name": "logs" + "basic_auth": { + "user": "doadmin", + "password": "password" + } + }, + }, + "instance_count": 2, + "instance_size_slug": "apps-s-1vcpu-0.5gb", + "kind": "PRE_DEPLOY", + } + ], + "workers": [ + { + "name": "api", + "gitlab": { + "branch": "main", + "deploy_on_push": True, + "repo": "digitalocean/sample-golang", + }, + "image": { + "registry": "registry.hub.docker.com", + "registry_type": "DOCR", + "repository": "origin/master", + "tag": "latest", + }, + "dockerfile_path": "path/to/Dockerfile", + "build_command": "npm run build", + "run_command": "bin/api", + "source_dir": "path/to/dir", + "envs": [ + { + "key": "BASE_URL", + "scope": "BUILD_TIME", + "type": "GENERAL", + "value": "http://example.com", + } + ], + "environment_slug": "node-js", + "log_destinations": { + "name": "my_log_destination", + "papertrail": { + "endpoint": "https://mypapertrailendpoint.com" + }, + "datadog": { + "endpoint": "https://mydatadogendpoint.com", + "api_key": "abcdefghijklmnopqrstuvwxyz0123456789", + }, + "logtail": { + "token": "abcdefghijklmnopqrstuvwxyz0123456789" + }, + "open_search": { + "endpoint": "https://myopensearchendpoint.com:9300" + "index_name": "logs" + "basic_auth": { + "user": "doadmin", + "password": "password" + } + }, + }, + "instance_count": 2, + "instance_size_slug": "apps-s-1vcpu-0.5gb", + } + ], + "functions": [ + { + "cors": { + "allow_origins": [ + {"exact": "https://www.example.com"}, + {"regex": "^.*example.com"}, + ], + "allow_methods": [ + "GET", + "OPTIONS", + "POST", + "PUT", + "PATCH", + "DELETE", + ], + "allow_headers": ["Content-Type", "X-Custom-Header"], + "expose_headers": ["Content-Encoding", "X-Custom-Header"], + "max_age": "5h30m", + "allow_credentials": False, + }, + "routes": [{"path": "/api", "preserve_path_prefix": True}], + "name": "api", + "source_dir": "path/to/dir", + "alerts": [ + { + "rule": "CPU_UTILIZATION", + "disabled": False, + "operator": "GREATER_THAN", + "value": 2.32, + "window": "FIVE_MINUTES", + } + ], + "envs": [ + { + "key": "BASE_URL", + "scope": "BUILD_TIME", + "type": "GENERAL", + "value": "http://example.com", + } + ], + "gitlab": { + "branch": "main", + "deploy_on_push": True, + "repo": "digitalocean/sample-golang", + }, + "log_destinations": { + "name": "my_log_destination", + "papertrail": { + "endpoint": "https://mypapertrailendpoint.com" + }, + "datadog": { + "endpoint": "https://mydatadogendpoint.com", + "api_key": "abcdefghijklmnopqrstuvwxyz0123456789", + }, + "logtail": { + "token": "abcdefghijklmnopqrstuvwxyz0123456789" + }, + "open_search": { + "endpoint": "https://myopensearchendpoint.com:9300" + "index_name": "logs" + "basic_auth": { + "user": "doadmin", + "password": "password" + } + }, + }, + } + ], + "databases": [ + { + "cluster_name": "cluster_name", + "db_name": "my_db", + "db_user": "superuser", + "engine": "PG", + "name": "prod-db", + "production": True, + "version": "12", + } + ], + } + } + update_resp = client.apps.update(id="bb245ba", body=req) security: - bearer_auth: - - write - '/v2/apps/{app_id}/components/{component_name}/logs': + - app:update + /v2/apps/{app_id}/components/{component_name}/logs: get: operationId: apps_get_logs_active_deployment summary: Retrieve Active Deployment Logs - description: 'Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id.' + description: Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. tags: - Apps parameters: @@ -8632,10 +76302,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/components/{component_name}/logs" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_logs_active_deployment(app_id="a6adf840", component_name="component") security: - bearer_auth: - - read - '/v2/apps/{app_id}/deployments': + - app:read + /v2/apps/{app_id}/deployments: get: operationId: apps_list_deployments summary: List App Deployments @@ -8666,9 +76344,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/deployments" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.list_deployments(app_id="4f6c71e2") security: - bearer_auth: - - read + - app:read post: operationId: apps_create_deployment summary: Create an App Deployment @@ -8703,10 +76389,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/deployments" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_resp = client.apps.create_deployment(app_id="b6bdf840", body={"force_build": True}) security: - bearer_auth: - - write - '/v2/apps/{app_id}/deployments/{deployment_id}': + - app:create + /v2/apps/{app_id}/deployments/{deployment_id}: get: operationId: apps_get_deployment summary: Retrieve an App Deployment @@ -8736,10 +76430,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_deployment(app_id="a6adf840", deployment_id="b6bdf840") security: - bearer_auth: - - read - '/v2/apps/{app_id}/deployments/{deployment_id}/cancel': + - app:read + /v2/apps/{app_id}/deployments/{deployment_id}/cancel: post: operationId: apps_cancel_deployment summary: Cancel a Deployment @@ -8769,14 +76471,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}/cancel" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + cancel_resp = client.apps.cancel_deployment("12345", "24556") security: - bearer_auth: - - write - '/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs': + - app:update + /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs: get: operationId: apps_get_logs summary: Retrieve Deployment Logs - description: 'Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment.' + description: Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. tags: - Apps parameters: @@ -8806,14 +76516,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_logs(app_id="4f6c71e2", deployment_id="3aa4d20e", component_name="component") security: - bearer_auth: - - read - '/v2/apps/{app_id}/deployments/{deployment_id}/logs': + - app:read + /v2/apps/{app_id}/deployments/{deployment_id}/logs: get: operationId: apps_get_logs_aggregate summary: Retrieve Aggregate Deployment Logs - description: 'Retrieve the logs of a past, in-progress, or active deployment. If a component name is specified, the logs will be limited to only that component. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment.' + description: Retrieve the logs of a past, in-progress, or active deployment. If a component name is specified, the logs will be limited to only that component. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. tags: - Apps parameters: @@ -8842,14 +76560,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/deployments/{deployment_id}/logs" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_logs_aggregate(app_id="b6bdf840", deployment_id="a6adf840") security: - bearer_auth: - - read - '/v2/apps/{app_id}/logs': + - app:read + /v2/apps/{app_id}/logs: get: operationId: apps_get_logs_active_deployment_aggregate summary: Retrieve Active Deployment Aggregate Logs - description: 'Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id.' + description: Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. tags: - Apps parameters: @@ -8877,74 +76603,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/logs" - security: - - bearer_auth: - - read - /v2/apps/tiers: - get: - operationId: apps_list_tiers - summary: List App Tiers - description: List all app tiers. - tags: - - Apps - responses: - '200': - $ref: '#/components/responses/all_tiers' - '401': - $ref: '#/components/responses/unauthorized' - '429': - $ref: '#/components/responses/too_many_requests' - '500': - $ref: '#/components/responses/server_error' - default: - $ref: '#/components/responses/unexpected_error' - x-codeSamples: - - lang: cURL - source: |- - curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/apps/tiers" - security: - - bearer_auth: - - read - '/v2/apps/tiers/{slug}': - get: - operationId: apps_get_tier - summary: Retrieve an App Tier - description: Retrieve information about a specific app tier. - tags: - - Apps - parameters: - - $ref: '#/components/parameters/slug_tier' - responses: - '200': - $ref: '#/components/responses/get_tier' - '401': - $ref: '#/components/responses/unauthorized' - '404': - $ref: '#/components/responses/not_found' - '429': - $ref: '#/components/responses/too_many_requests' - '500': - $ref: '#/components/responses/server_error' - default: - $ref: '#/components/responses/unexpected_error' - x-codeSamples: - - lang: cURL + - lang: Python source: |- - curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/apps/tiers/{slug}" + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_logs_active_deployment_aggregate(app_id="a6adf840") security: - bearer_auth: - - read + - app:read /v2/apps/tiers/instance_sizes: get: operationId: apps_list_instanceSizes summary: List Instance Sizes - description: 'List all instance sizes for `service`, `worker`, and `job` components.' + description: List all instance sizes for `service`, `worker`, and `job` components. tags: - Apps responses: @@ -8965,14 +76639,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/tiers/instance_sizes" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.list_instance_sizes() security: - bearer_auth: - - read - '/v2/apps/tiers/instance_sizes/{slug}': + - app:read + /v2/apps/tiers/instance_sizes/{slug}: get: operationId: apps_get_instanceSize summary: Retrieve an Instance Size - description: 'Retrieve information about a specific instance size for `service`, `worker`, and `job` components.' + description: Retrieve information about a specific instance size for `service`, `worker`, and `job` components. tags: - Apps parameters: @@ -8997,9 +76679,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/tiers/instance_sizes/{slug}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_instance_size(slug="apps-s-1vcpu-0.5gb") security: - bearer_auth: - - read + - app:read /v2/apps/regions: get: operationId: apps_list_regions @@ -9025,14 +76715,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/regions" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.list_regions() security: - bearer_auth: - - read + - app:read /v2/apps/propose: post: operationId: apps_validate_appSpec summary: Propose an App Spec - description: 'To propose and validate a spec for a new or existing app, send a POST request to the `/v2/apps/propose` endpoint. The request returns some information about the proposed app, including app cost and upgrade cost. If an existing app ID is specified, the app spec is treated as a proposed update to the existing app.' + description: To propose and validate a spec for a new or existing app, send a POST request to the `/v2/apps/propose` endpoint. The request returns some information about the proposed app, including app cost and upgrade cost. If an existing app ID is specified, the app spec is treated as a proposed update to the existing app. tags: - Apps requestBody: @@ -9053,7 +76751,7 @@ paths: run_command: bin/api environment_slug: node-js instance_count: 2 - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb routes: - path: /api app_id: b6bdf840-2854-4f87-a36c-5f231c617c84 @@ -9071,12 +76769,12 @@ paths: $ref: '#/components/responses/unexpected_error' security: - bearer_auth: - - read - '/v2/apps/{app_id}/alerts': + - app:read + /v2/apps/{app_id}/alerts: get: operationId: apps_list_alerts summary: List all app alerts - description: 'List alerts associated to the app and any components. This includes configuration information about the alerts including emails, slack webhooks, and triggering events or conditions.' + description: List alerts associated to the app and any components. This includes configuration information about the alerts including emails, slack webhooks, and triggering events or conditions. tags: - Apps parameters: @@ -9101,10 +76799,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/alerts" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.list_alerts(app_id="4f6c71e2") security: - bearer_auth: - - read - '/v2/apps/{app_id}/alerts/{alert_id}/destinations': + - app:read + /v2/apps/{app_id}/alerts/{alert_id}/destinations: post: operationId: apps_assign_alertDestinations summary: Update destinations for alerts @@ -9140,10 +76846,28 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{id}/alerts/{alert_id}/destinations" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "emails": ["sammy@digitalocean.com"], + "slack_webhooks": [ + { + "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", + "channel": "Channel Name", + } + ], + } + + post_resp = client.apps.assign_alert_destinations("12345", "24556", req) security: - bearer_auth: - - write - '/v2/apps/{app_id}/rollback': + - app:update + /v2/apps/{app_id}/rollback: post: operationId: apps_create_rollback summary: Rollback App @@ -9152,7 +76876,6 @@ paths: The app will be pinned to the rollback deployment preventing any new deployments from being created, either manually or through Auto Deploy on Push webhooks. To resume deployments, the rollback must be either committed or reverted. - It is recommended to use the Validate App Rollback endpoint to double check if the rollback is valid and if there are any warnings. tags: @@ -9186,10 +76909,18 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{ "deployment_id": "3aa4d20e-5527-4c00-b496-601fbd22520a" }' \ "https://api.digitalocean.com/v2/apps/{app_id}/rollback" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_resp = client.apps.create_rollback(app_id="b6bdf840") security: - bearer_auth: - - write - '/v2/apps/{app_id}/rollback/validate': + - app:update + /v2/apps/{app_id}/rollback/validate: post: operationId: apps_validate_rollback summary: Validate App Rollback @@ -9229,10 +76960,20 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{ "deployment_id": "3aa4d20e-5527-4c00-b496-601fbd22520a" }' \ "https://api.digitalocean.com/v2/apps/{app_id}/rollback/validate" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + validate_req = {"deployment_id": "2", "skip_pin": False} + + validate_resp = client.apps.validate_rollback("1", validate_req) security: - bearer_auth: - - write - '/v2/apps/{app_id}/rollback/commit': + - app:update + /v2/apps/{app_id}/rollback/commit: post: operationId: apps_commit_rollback summary: Commit App Rollback @@ -9262,10 +77003,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/rollback/commit" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + commit_resp = client.apps.commit_rollback("1") security: - bearer_auth: - - write - '/v2/apps/{app_id}/rollback/revert': + - app:update + /v2/apps/{app_id}/rollback/revert: post: operationId: apps_revert_rollback summary: Revert App Rollback @@ -9296,10 +77045,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{app_id}/rollback/revert" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + revert_resp = client.apps.revert_rollback("1") security: - bearer_auth: - - write - '/v2/apps/{app_id}/metrics/bandwidth_daily': + - app:update + /v2/apps/{app_id}/metrics/bandwidth_daily: get: operationId: apps_get_metrics_bandwidth_daily summary: Retrieve App Daily Bandwidth Metrics @@ -9335,9 +77092,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/{id}/metrics/bandwidth_daily" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.apps.get_metrics_bandwidth_daily(app_id="4f6c71e2") security: - bearer_auth: - - read + - app:read /v2/apps/metrics/bandwidth_daily: post: operationId: apps_list_metrics_bandwidth_daily @@ -9377,6 +77142,22 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/apps/metrics/bandwidth_daily" \ -d '{ "app_ids": ["4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf"] }' + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "app_ids": [ + "4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", + "c2a93513-8d9b-4223-9d61-5e7272c81cf5", + ], + "date": "2023-01-17T00:00:00Z", + } + + get_resp = client.apps.list_metrics_bandwidth_daily(body=req) security: - bearer_auth: - - read + - app:read diff --git a/providers/src/digitalocean/v00.00.00000/services/billing.yaml b/providers/src/digitalocean/v00.00.00000/services/billing.yaml index de5f5797..bc343c29 100644 --- a/providers/src/digitalocean/v00.00.00000/services/billing.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/billing.yaml @@ -1,18 +1,33 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - billing version: '2.0' - description: Billing license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - billing + description: |- + The billing endpoints allow you to retrieve your account balance, invoices + and billing history. + **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can + retrieve the balance information for the requested customer account. + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) + are generated on the first of each month for every DigitalOcean + customer. An invoice preview is generated daily, which can be accessed + with the `preview` keyword in place of `$INVOICE_UUID`. To interact with + invoices, you will generally send requests to the invoices endpoint at + `/v2/customers/my/invoices`. + **Billing History:** Billing history is a record of billing events for your account. + For example, entries may include events like payments made, invoices + issued, or credits granted. To interact with invoices, you + will generally send requests to the invoices endpoint at + `/v2/customers/my/billing_history`. security: - bearer_auth: [] tags: @@ -20,52 +35,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +79,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +94,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +120,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +169,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +177,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +192,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +214,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +232,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +284,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +300,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +315,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +342,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +360,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,406 +395,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: - schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - balance: - type: object - properties: - month_to_date_balance: - type: string - description: Balance as of the `generated_at` time. This value includes the `account_balance` and `month_to_date_usage`. - example: '23.44' - account_balance: - type: string - description: Current balance of the customer's most recent billing activity. Does not reflect `month_to_date_usage`. - example: '12.23' - month_to_date_usage: - type: string - description: Amount used in the current billing period as of the `generated_at` time. - example: '11.21' - generated_at: - type: string - format: date-time - description: The time at which balances were most recently generated. - example: '2019-07-09T15:01:12Z' - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - billing_history: - type: object - properties: - description: - type: string - description: Description of the billing history entry. - example: Invoice for May 2018 - amount: - type: string - description: Amount of the billing history entry. - example: '12.34' - invoice_id: - type: string - description: 'ID of the invoice associated with the billing history entry, if applicable.' - example: '123' - invoice_uuid: - type: string - description: 'UUID of the invoice associated with the billing history entry, if applicable.' - example: example-uuid - date: - type: string - format: date-time - description: Time the billing history entry occurred. - example: '2018-06-01T08:44:38Z' - type: - type: string - description: Type of billing history entry. - example: Invoice - enum: - - ACHFailure - - Adjustment - - AttemptFailed - - Chargeback - - Credit - - CreditExpiration - - Invoice - - Payment - - Refund - - Reversal - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta_optional_total: - type: object - properties: - meta: - $ref: '#/components/schemas/meta_properties' - required: - - meta - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - invoice_preview: - type: object - description: The invoice preview. - properties: - invoice_uuid: - type: string - description: The UUID of the invoice. The canonical reference for the invoice. - example: fdabb512-6faf-443c-ba2e-665452332a9e - amount: - type: string - description: 'Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview.' - example: '23.45' - invoice_period: - type: string - description: 'Billing period of usage for which the invoice is issued, in `YYYY-MM` format.' - example: 2020-01 - updated_at: - type: string - description: Time the invoice was last updated. This is only included with the invoice preview. - example: '2020-01-23T06:31:50Z' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - invoice_item: - type: object - properties: - product: - type: string - description: Name of the product being billed in the invoice item. - example: Kubernetes Clusters - resource_uuid: - type: string - description: UUID of the resource billing in the invoice item if available. - example: 711157cb-37c8-4817-b371-44fa3504a39c - resource_id: - type: string - description: ID of the resource billing in the invoice item if available. - example: '2353624' - group_description: - type: string - description: 'Description of the invoice item when it is a grouped set of usage, such as DOKS or databases.' - example: my-doks-cluster - description: - type: string - description: Description of the invoice item. - example: a56e086a317d8410c8b4cfd1f4dc9f82 - amount: - type: string - description: Billed amount of this invoice item. Billed in USD. - example: '12.34' - duration: - type: string - description: Duration of time this invoice item was used and subsequently billed. - example: '744' - duration_unit: - type: string - description: Unit of time for duration. - example: Hours - start_time: - type: string - description: Time the invoice item began to be billed for usage. - example: '2020-01-01T00:00:00Z' - end_time: - type: string - description: Time the invoice item stopped being billed for usage. - example: '2020-02-01T00:00:00Z' - project_name: - type: string - description: Name of the DigitalOcean Project this resource belongs to. - example: web - invoice_summary: - type: object - properties: - invoice_uuid: - type: string - description: UUID of the invoice - example: 22737513-0ea7-4206-8ceb-98a575af7681 - billing_period: - type: string - description: 'Billing period of usage for which the invoice is issued, in `YYYY-MM` format.' - example: 2020-01 - amount: - type: string - description: 'Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview.' - example: '27.13' - user_name: - type: string - description: Name of the DigitalOcean customer being invoiced. - example: Sammy Shark - user_billing_address: - allOf: - - description: The billing address of the customer being invoiced. - - $ref: '#/components/schemas/billing_address' - user_company: - type: string - description: 'Company of the DigitalOcean customer being invoiced, if set.' - example: DigitalOcean - user_email: - type: string - description: Email of the DigitalOcean customer being invoiced. - example: sammy@digitalocean.com - product_charges: - allOf: - - description: 'A summary of the product usage charges contributing to the invoice. This will include an amount, and grouped aggregates by resource type under the `items` key.' - - $ref: '#/components/schemas/product_usage_charges' - overages: - allOf: - - description: A summary of the overages contributing to the invoice. - - $ref: '#/components/schemas/simple_charge' - taxes: - allOf: - - description: A summary of the taxes contributing to the invoice. - - $ref: '#/components/schemas/simple_charge' - credits_and_adjustments: - allOf: - - description: A summary of the credits and adjustments contributing to the invoice. - - $ref: '#/components/schemas/simple_charge' - billing_address: - type: object - properties: - address_line1: - type: string - description: Street address line 1 - example: 101 Shark Row - address_line2: - type: string - description: Street address line 2 - example: ' ' - city: - type: string - description: City - example: Atlantis - region: - type: string - description: Region - example: OC - postal_code: - type: string - description: Postal code - example: '12345' - country_iso2_code: - type: string - description: Country (ISO2) code - example: US - created_at: - type: string - description: Timestamp billing address was created - example: '2019-09-03T16:34:46.000+00:00' - updated_at: - type: string - description: Timestamp billing address was updated - example: '2019-09-03T16:34:46.000+00:00' - product_usage_charges: - type: object - properties: - name: - type: string - description: Description of usage charges - example: Product usage charges - amount: - type: string - description: Total amount charged - example: '12.34' - items: - type: array - description: 'List of amount, and grouped aggregates by resource type.' - items: - $ref: '#/components/schemas/product_charge_item' - example: - - amount: '10.00' - name: Spaces Subscription - count: '1' - - amount: '2.34' - name: Database Clusters - count: '1' - simple_charge: - type: object - properties: - name: - type: string - description: Name of the charge - example: Overages - amount: - type: string - description: Total amount charged in USD - example: '3.45' - product_charge_item: - type: object - properties: - amount: - type: string - description: Amount of the charge - example: '10.00' - name: - type: string - description: Description of the charge - example: Spaces Subscription - count: - type: string - description: Number of times the charge was applied - example: '1' + schemas: {} parameters: oneClicks_type: in: query @@ -913,8 +457,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -933,7 +483,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -943,7 +493,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -976,7 +526,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -996,6 +546,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1006,6 +557,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1023,14 +575,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1038,7 +582,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1057,6 +601,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1132,6 +685,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1142,7 +719,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1175,11 +752,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1188,6 +765,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1195,7 +783,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1297,7 +885,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1404,7 +992,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1412,11 +1000,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1431,7 +1069,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1441,7 +1079,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1475,7 +1113,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1495,7 +1133,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1542,12 +1180,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1561,8 +1199,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1590,6 +1254,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1613,15 +1286,42 @@ components: description: The response will be a JSON object that contains the following attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/balance' + type: object + properties: + month_to_date_balance: + type: string + description: Balance as of the `generated_at` time. This value includes the `account_balance` and `month_to_date_usage`. + example: '23.44' + account_balance: + type: string + description: Current balance of the customer's most recent billing activity. Does not reflect `month_to_date_usage`. + example: '12.23' + month_to_date_usage: + type: string + description: Amount used in the current billing period as of the `generated_at` time. + example: '11.21' + generated_at: + type: string + format: date-time + description: The time at which balances were most recently generated. + example: '2019-07-09T15:01:12Z' example: month_to_date_balance: '23.44' account_balance: '12.23' @@ -1631,15 +1331,40 @@ components: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1647,15 +1372,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1663,15 +1413,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1679,15 +1454,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1695,15 +1495,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1711,141 +1536,360 @@ components: description: The response will be a JSON object that contains the following attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - billing_history: - type: array - items: - $ref: '#/components/schemas/billing_history' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta_optional_total' - example: + type: object + properties: billing_history: - - description: Invoice for May 2018 - amount: '12.34' - invoice_id: '123' - invoice_uuid: example-uuid - date: '2018-06-01T08:44:38Z' - type: Invoice - - description: Payment (MC 2018) - amount: '-12.34' - date: '2018-06-02T08:44:38Z' - type: Payment + type: array + items: + type: object + properties: + description: + type: string + description: Description of the billing history entry. + example: Invoice for May 2018 + amount: + type: string + description: Amount of the billing history entry. + example: '12.34' + invoice_id: + type: string + description: ID of the invoice associated with the billing history entry, if applicable. + example: '123' + invoice_uuid: + type: string + description: UUID of the invoice associated with the billing history entry, if applicable. + example: example-uuid + date: + type: string + format: date-time + description: Time the billing history entry occurred. + example: '2018-06-01T08:44:38Z' + type: + type: string + description: Type of billing history entry. + example: Invoice + enum: + - ACHFailure + - Adjustment + - AttemptFailed + - Chargeback + - Credit + - CreditExpiration + - Invoice + - Payment + - Refund + - Reversal links: - pages: - next: 'https://api.digitalocean.com/v2/customers/my/billing_history?page=2&per_page=2' - last: 'https://api.digitalocean.com/v2/customers/my/billing_history?page=3&per_page=2' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 5 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - meta invoices: description: |- The response will be a JSON object contains that contains a list of invoices under the `invoices` key, and the invoice preview under the `invoice_preview` key. Each element contains the invoice summary attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - invoices: - type: array - items: - $ref: '#/components/schemas/invoice_preview' - invoice_preview: - $ref: '#/components/schemas/invoice_preview' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: invoices: - - invoice_uuid: 22737513-0ea7-4206-8ceb-98a575af7681 - amount: '12.34' - invoice_period: 2019-12 - - invoice_uuid: fdabb512-6faf-443c-ba2e-665452332a9e - amount: '23.45' - invoice_period: 2019-11 + type: array + items: + type: object + description: The invoice preview. + properties: + invoice_uuid: + type: string + description: The UUID of the invoice. The canonical reference for the invoice. + example: fdabb512-6faf-443c-ba2e-665452332a9e + invoice_id: + type: string + description: ID of the invoice. Listed on the face of the invoice PDF as the "Invoice number". + example: '123456789' + amount: + type: string + description: Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. + example: '23.45' + invoice_period: + type: string + description: Billing period of usage for which the invoice is issued, in `YYYY-MM` format. + example: 2020-01 + updated_at: + type: string + description: Time the invoice was last updated. This is only included with the invoice preview. + example: '2020-01-23T06:31:50Z' invoice_preview: - invoice_uuid: 1afe95e6-0958-4eb0-8d9a-9c5060d3ef03 - amount: '34.56' - invoice_period: 2020-02 - updated_at: '2020-02-23T06:31:50Z' + type: object + description: The invoice preview. + properties: + invoice_uuid: + type: string + description: The UUID of the invoice. The canonical reference for the invoice. + example: fdabb512-6faf-443c-ba2e-665452332a9e + invoice_id: + type: string + description: ID of the invoice. Listed on the face of the invoice PDF as the "Invoice number". + example: '123456789' + amount: + type: string + description: Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. + example: '23.45' + invoice_period: + type: string + description: Billing period of usage for which the invoice is issued, in `YYYY-MM` format. + example: 2020-01 + updated_at: + type: string + description: Time the invoice was last updated. This is only included with the invoice preview. + example: '2020-01-23T06:31:50Z' links: - pages: - next: 'https://api.digitalocean.com/v2/customers/my/invoices?page=2&per_page=2' - last: 'https://api.digitalocean.com/v2/customers/my/invoices?page=35&per_page=2' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 70 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta invoice: description: The response will be a JSON object with a key called `invoice_items`. This will be set to an array of invoice item objects. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - invoice_items: - type: array - items: - $ref: '#/components/schemas/invoice_item' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: invoice_items: - - product: Kubernetes Clusters - resource_uuid: 711157cb-37c8-4817-b371-44fa3504a39c - group_description: my-doks-cluster - description: a56e086a317d8410c8b4cfd1f4dc9f82 - amount: '12.34' - duration: '744' - duration_unit: Hours - start_time: '2020-01-01T00:00:00Z' - end_time: '2020-02-01T00:00:00Z' - - product: Spaces Subscription - description: Spaces ($5/mo 250GB storage & 1TB bandwidth) - amount: '34.45' - duration: '744' - duration_unit: Hours - start_time: '2020-01-01T00:00:00Z' - end_time: '2020-02-01T00:00:00Z' + type: array + items: + type: object + properties: + product: + type: string + description: Name of the product being billed in the invoice item. + example: Kubernetes Clusters + resource_uuid: + type: string + description: UUID of the resource billing in the invoice item if available. + example: 711157cb-37c8-4817-b371-44fa3504a39c + resource_id: + type: string + description: ID of the resource billing in the invoice item if available. + example: '2353624' + group_description: + type: string + description: Description of the invoice item when it is a grouped set of usage, such as DOKS or databases. + example: my-doks-cluster + description: + type: string + description: Description of the invoice item. + example: a56e086a317d8410c8b4cfd1f4dc9f82 + amount: + type: string + description: Billed amount of this invoice item. Billed in USD. + example: '12.34' + duration: + type: string + description: Duration of time this invoice item was used and subsequently billed. + example: '744' + duration_unit: + type: string + description: Unit of time for duration. + example: Hours + start_time: + type: string + description: Time the invoice item began to be billed for usage. + example: '2020-01-01T00:00:00Z' + end_time: + type: string + description: Time the invoice item stopped being billed for usage. + example: '2020-02-01T00:00:00Z' + project_name: + type: string + description: Name of the DigitalOcean Project this resource belongs to. + example: web links: - pages: - next: 'https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681?page=2&per_page=2' - last: 'https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681?page=3&per_page=2' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 6 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta invoice_csv: description: The response will be a CSV file. headers: content-disposition: - $ref: '#/components/headers/content-disposition' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. + schema: + type: string + example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: text/csv: schema: @@ -1858,33 +1902,193 @@ components: description: The response will be a PDF file. headers: content-disposition: - $ref: '#/components/headers/content-disposition' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. + schema: + type: string + example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/pdf: schema: type: string format: binary invoice_summary: - description: 'To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`.' + description: To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/invoice_summary' + type: object + properties: + invoice_uuid: + type: string + description: UUID of the invoice + example: 22737513-0ea7-4206-8ceb-98a575af7681 + invoice_id: + type: string + description: ID of the invoice + example: '123456789' + billing_period: + type: string + description: Billing period of usage for which the invoice is issued, in `YYYY-MM` format. + example: 2020-01 + amount: + type: string + description: Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. + example: '27.13' + user_name: + type: string + description: Name of the DigitalOcean customer being invoiced. + example: Sammy Shark + user_billing_address: + description: The billing address of the customer being invoiced. + properties: + address_line1: + type: string + description: Street address line 1 + example: 101 Shark Row + address_line2: + type: string + description: Street address line 2 + example: ' ' + city: + type: string + description: City + example: Atlantis + region: + type: string + description: Region + example: OC + postal_code: + type: string + description: Postal code + example: '12345' + country_iso2_code: + type: string + description: Country (ISO2) code + example: US + created_at: + type: string + description: Timestamp billing address was created + example: '2019-09-03T16:34:46.000+00:00' + updated_at: + type: string + description: Timestamp billing address was updated + example: '2019-09-03T16:34:46.000+00:00' + type: object + user_company: + type: string + description: Company of the DigitalOcean customer being invoiced, if set. + example: DigitalOcean + user_email: + type: string + description: Email of the DigitalOcean customer being invoiced. + example: sammy@digitalocean.com + product_charges: + description: A summary of the product usage charges contributing to the invoice. This will include an amount, and grouped aggregates by resource type under the `items` key. + properties: + name: + type: string + description: Description of usage charges + example: Product usage charges + amount: + type: string + description: Total amount charged + example: '12.34' + items: + type: array + description: List of amount, and grouped aggregates by resource type. + items: + type: object + properties: + amount: + type: string + description: Amount of the charge + example: '10.00' + name: + type: string + description: Description of the charge + example: Spaces Subscription + count: + type: string + description: Number of times the charge was applied + example: '1' + example: + - amount: '10.00' + name: Spaces Subscription + count: '1' + - amount: '2.34' + name: Database Clusters + count: '1' + type: object + overages: + description: A summary of the overages contributing to the invoice. + properties: + name: + type: string + description: Name of the charge + example: Overages + amount: + type: string + description: Total amount charged in USD + example: '3.45' + type: object + taxes: + description: A summary of the taxes contributing to the invoice. + properties: + name: + type: string + description: Name of the charge + example: Overages + amount: + type: string + description: Total amount charged in USD + example: '3.45' + type: object + credits_and_adjustments: + description: A summary of the credits and adjustments contributing to the invoice. + properties: + name: + type: string + description: Name of the charge + example: Overages + amount: + type: string + description: Total amount charged in USD + example: '3.45' + type: object example: invoice_uuid: 22737513-0ea7-4206-8ceb-98a575af7681 + invoice_id: '123456789' billing_period: 2020-01 amount: '27.13' user_name: Sammy Shark @@ -1923,39 +2127,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1970,11 +2183,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1984,7 +2197,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1994,11 +2207,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2023,11 +2236,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2071,7 +2284,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2080,7 +2293,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2154,6 +2367,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2172,7 +2392,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2182,7 +2402,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2196,7 +2416,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2268,7 +2488,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2276,11 +2496,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2299,7 +2519,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2374,12 +2594,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2393,7 +2620,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2462,7 +2689,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2514,133 +2741,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb cpu_type: DEDICATED cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '4294967296' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2708,14 +2961,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2892,6 +3144,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2972,9 +3229,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3005,13 +3262,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3118,13 +3380,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3230,7 +3497,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3244,6 +3511,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3324,9 +3596,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3357,13 +3629,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3470,12 +3747,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3484,12 +3897,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3506,12 +3919,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3526,6 +3939,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3624,12 +4042,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3638,6 +4056,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3736,12 +4159,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3840,15 +4268,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3857,6 +4285,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3937,9 +4370,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3970,10 +4403,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4011,13 +4445,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4054,6 +4489,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4143,9 +4579,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4175,7 +4611,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4207,6 +4643,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4490,12 +4927,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4505,8 +4942,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4542,8 +4979,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4579,6 +5016,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4634,7 +5076,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4642,8 +5084,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4684,6 +5126,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4700,7 +5147,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4711,8 +5158,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4748,8 +5195,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4785,6 +5232,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4796,12 +5248,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4811,8 +5263,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4848,8 +5300,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4884,6 +5336,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4895,12 +5352,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4910,8 +5367,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4947,8 +5404,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4983,6 +5440,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5192,11 +5654,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5248,7 +5710,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5262,11 +5724,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5292,11 +5754,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5322,7 +5784,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5346,7 +5808,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5418,11 +5880,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5534,7 +5996,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5597,7 +6059,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5646,11 +6108,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5722,11 +6184,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5907,8 +6369,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5946,13 +6428,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5989,6 +6472,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6078,9 +6562,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6110,7 +6594,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6142,6 +6626,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6190,7 +6675,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6220,7 +6705,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6474,14 +6959,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6491,7 +6976,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6501,22 +6986,22 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: balances: id: digitalocean.billing.balances @@ -6529,88 +7014,101 @@ components: response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/balance' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/balances/methods/balance_get' insert: [] update: [] + replace: [] delete: [] - history: - id: digitalocean.billing.history - name: history - title: History + billing_history: + id: digitalocean.billing.billing_history + name: billing_history + title: Billing History methods: - billingHistory_list: + billing_history_list: operation: $ref: '#/paths/~1v2~1customers~1my~1billing_history/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/billing_history' + objectKey: $.billing_history sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/history/methods/billingHistory_list' + - $ref: '#/components/x-stackQL-resources/billing_history/methods/billing_history_list' insert: [] update: [] + replace: [] delete: [] invoices: id: digitalocean.billing.invoices name: invoices title: Invoices methods: - list: + invoices_list: operation: $ref: '#/paths/~1v2~1customers~1my~1invoices/get' response: mediaType: application/json openAPIDocKey: '200' - get_byUUID: + schemaRef: '#/components/responses/invoices' + invoices_get_by_uuid: operation: $ref: '#/paths/~1v2~1customers~1my~1invoices~1{invoice_uuid}/get' response: mediaType: application/json openAPIDocKey: '200' - get_csvByUUID: + schemaRef: '#/components/responses/invoice' + objectKey: $.invoice_items + invoices_get_csv_by_uuid: operation: $ref: '#/paths/~1v2~1customers~1my~1invoices~1{invoice_uuid}~1csv/get' response: - mediaType: application/json + mediaType: null openAPIDocKey: '200' - get_pdfByUUID: + schemaRef: '#/components/responses/invoice_csv' + invoices_get_pdf_by_uuid: operation: $ref: '#/paths/~1v2~1customers~1my~1invoices~1{invoice_uuid}~1pdf/get' response: - mediaType: application/json + mediaType: null openAPIDocKey: '200' + schemaRef: '#/components/responses/invoice_pdf' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/invoices/methods/list' - - $ref: '#/components/x-stackQL-resources/invoices/methods/get_byUUID' + - $ref: '#/components/x-stackQL-resources/invoices/methods/invoices_get_by_uuid' + - $ref: '#/components/x-stackQL-resources/invoices/methods/invoices_list' insert: [] update: [] + replace: [] delete: [] - invoices_summary: - id: digitalocean.billing.invoices_summary - name: invoices_summary - title: Invoices Summary + invoices_summaries: + id: digitalocean.billing.invoices_summaries + name: invoices_summaries + title: Invoices Summaries methods: - invoices_get_summaryByUUID: + invoices_get_summary_by_uuid: operation: $ref: '#/paths/~1v2~1customers~1my~1invoices~1{invoice_uuid}~1summary/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/invoice_summary' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/invoices_summary/methods/invoices_get_summaryByUUID' + - $ref: '#/components/x-stackQL-resources/invoices_summaries/methods/invoices_get_summary_by_uuid' insert: [] update: [] + replace: [] delete: [] paths: /v2/customers/my/balance: get: operationId: balance_get summary: Get Customer Balance - description: 'To retrieve the balances on a customer''s account, send a GET request to `/v2/customers/my/balance`.' + description: To retrieve the balances on a customer's account, send a GET request to `/v2/customers/my/balance`. tags: - Billing responses: @@ -6633,14 +7131,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/balance" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + balance = client.balance.get() security: - bearer_auth: - - read + - billing:read /v2/customers/my/billing_history: get: operationId: billingHistory_list summary: List Billing History - description: 'To retrieve a list of all billing history entries, send a GET request to `/v2/customers/my/billing_history`.' + description: To retrieve a list of all billing history entries, send a GET request to `/v2/customers/my/billing_history`. tags: - Billing responses: @@ -6663,14 +7169,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/billing_history" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + balance = client.billing_history.list() security: - bearer_auth: - - read + - billing:read /v2/customers/my/invoices: get: operationId: invoices_list summary: List All Invoices - description: 'To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`.' + description: To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. tags: - Billing parameters: @@ -6694,18 +7208,28 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/invoices" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + balance = client.invoices.list() security: - bearer_auth: - - read - '/v2/customers/my/invoices/{invoice_uuid}': + - billing:read + /v2/customers/my/invoices/{invoice_uuid}: get: operationId: invoices_get_byUUID summary: Retrieve an Invoice by UUID - description: 'To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`.' + description: To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. tags: - Billing parameters: - $ref: '#/components/parameters/invoice_uuid' + - $ref: '#/components/parameters/per_page' + - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/invoice' @@ -6726,14 +7250,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + invoices = client.invoices.get_by_uuid(invoice_uuid=1) security: - bearer_auth: - - read - '/v2/customers/my/invoices/{invoice_uuid}/csv': + - billing:read + /v2/customers/my/invoices/{invoice_uuid}/csv: get: operationId: invoices_get_csvByUUID summary: Retrieve an Invoice CSV by UUID - description: 'To retrieve a CSV for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`.' + description: To retrieve a CSV for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`. tags: - Billing parameters: @@ -6758,14 +7290,22 @@ paths: -H "Content-Type: text/csv" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681/csv" --output invoice.csv + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + invoices = client.invoices.get_csv_by_uuid(invoice_uuid=1) security: - bearer_auth: - - read - '/v2/customers/my/invoices/{invoice_uuid}/pdf': + - billing:read + /v2/customers/my/invoices/{invoice_uuid}/pdf: get: operationId: invoices_get_pdfByUUID summary: Retrieve an Invoice PDF by UUID - description: 'To retrieve a PDF for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`.' + description: To retrieve a PDF for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`. tags: - Billing parameters: @@ -6790,14 +7330,22 @@ paths: -H "Content-Type: application/pdf" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681/pdf" --output invoice.pdf + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + invoices = client.invoices.get_pdf_by_uuid(invoice_uuid=1) security: - bearer_auth: - - read - '/v2/customers/my/invoices/{invoice_uuid}/summary': + - billing:read + /v2/customers/my/invoices/{invoice_uuid}/summary: get: operationId: invoices_get_summaryByUUID summary: Retrieve an Invoice Summary by UUID - description: 'To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`.' + description: To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`. tags: - Billing parameters: @@ -6822,6 +7370,14 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/customers/my/invoices/22737513-0ea7-4206-8ceb-98a575af7681/summary" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + invoice = client.invoices.get_summary_by_uuid(invoice_uuid="1") security: - bearer_auth: - - read + - billing:read diff --git a/providers/src/digitalocean/v00.00.00000/services/block_storage.yaml b/providers/src/digitalocean/v00.00.00000/services/block_storage.yaml index 7f88d4f6..6e847209 100644 --- a/providers/src/digitalocean/v00.00.00000/services/block_storage.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/block_storage.yaml @@ -1,18 +1,27 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - block_storage version: '2.0' - description: Block Storage license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - block_storage + description: |- + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) + provide expanded storage capacity for your Droplets and can be moved + between Droplets within a specific region. + Volumes function as raw block devices, meaning they appear to the + operating system as locally attached storage which can be formatted using + any file system supported by the OS. They may be created in sizes from + 1GiB to 16TiB. + By sending requests to the `/v2/volumes` endpoint, you can list, create, or + delete volumes as well as attach and detach them from Droplets security: - bearer_auth: [] tags: @@ -20,52 +29,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +73,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +88,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +114,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +163,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +171,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +186,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +208,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +226,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +278,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +294,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +309,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +336,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +354,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,128 +389,29 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - volume_full: - allOf: - - $ref: '#/components/schemas/volume_base' - - properties: - region: - allOf: - - description: 'The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned.' - - $ref: '#/components/schemas/region' - example: - name: New York 1 - slug: nyc1 - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192gb - features: - - private_networking - - backups - - ipv6 - - metadata - available: true - readOnly: true - filesystem_type: - type: string - description: The type of filesystem currently in-use on the volume. - example: ext4 - filesystem_label: - type: string - description: The label currently applied to the filesystem. - example: example - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - volume_base: + volumes_ext4: type: object properties: id: @@ -607,12 +424,12 @@ components: items: type: integer nullable: true - description: 'An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.' + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. example: [] readOnly: true name: type: string - description: 'A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter.' + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. example: example description: type: string @@ -620,7 +437,7 @@ components: example: Block store for examples size_gigabytes: type: integer - description: The size of the block storage volume in GiB (1024^3). + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. example: 10 created_at: type: string @@ -628,192 +445,133 @@ components: example: '2020-03-02T17:00:49Z' readOnly: true tags: - $ref: '#/components/schemas/tags_array' - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: + type: array items: type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g + - base-image + - prod + snapshot_id: + type: string + description: The unique identifier for the volume snapshot from which to create the volume. + example: b0798135-fb76-11eb-946a-0a58ac146f33 + filesystem_type: + type: string + description: The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. + example: ext4 + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + filesystem_label: + type: string + description: The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. + example: example + properties: {} + maxLength: 16 required: - - available - - features - name - - sizes - - slug - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - tags_array: - type: array - items: - type: string - nullable: true - description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. - example: - - base-image - - prod - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: + - size_gigabytes + - region + volumes_xfs: type: object properties: - last: - description: URI of the last page of the results. + id: type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. + description: The unique identifier for the block storage volume. + example: 506f78a4-e098-11e5-ad9f-000f53306ae1 + readOnly: true + droplet_ids: + type: array + items: + type: integer + nullable: true + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + example: [] + readOnly: true + name: type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + example: example + description: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. + description: An optional free-form text field to describe a block storage volume. + example: Block store for examples + size_gigabytes: + type: integer + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + example: 10 + created_at: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - volumes_ext4: - allOf: - - $ref: '#/components/schemas/volume_base' - - $ref: '#/components/schemas/volume_snapshot_id' - - $ref: '#/components/schemas/volume_write_file_system_type' - - properties: - region: - $ref: '#/components/schemas/region_slug' - filesystem_label: - allOf: - - $ref: '#/components/schemas/volume_write_file_system_label' - - maxLength: 16 - required: - - name - - size_gigabytes - - region - volumes_xfs: - allOf: - - $ref: '#/components/schemas/volume_base' - - $ref: '#/components/schemas/volume_snapshot_id' - - $ref: '#/components/schemas/volume_write_file_system_type' - - properties: - region: - $ref: '#/components/schemas/region_slug' - filesystem_label: - allOf: - - $ref: '#/components/schemas/volume_write_file_system_label' - - maxLength: 12 - required: - - name - - size_gigabytes - - region - volume_snapshot_id: - properties: + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + example: '2020-03-02T17:00:49Z' + readOnly: true + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod snapshot_id: type: string description: The unique identifier for the volume snapshot from which to create the volume. example: b0798135-fb76-11eb-946a-0a58ac146f33 - volume_write_file_system_type: - type: object - properties: filesystem_type: type: string - description: 'The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended.' + description: The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. example: ext4 - volume_write_file_system_label: - type: string - description: The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. - example: example + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + filesystem_label: + type: string + description: The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. + example: example + properties: {} + maxLength: 12 + required: + - name + - size_gigabytes + - region volume_action_post_attach: - allOf: - - $ref: '#/components/schemas/volume_action_post_base' - - properties: - droplet_id: - $ref: '#/components/schemas/volume_action_droplet_id' - tags: - $ref: '#/components/schemas/tags_array' - required: - - droplet_id - volume_action_post_detach: - allOf: - - $ref: '#/components/schemas/volume_action_post_base' - - properties: - droplet_id: - $ref: '#/components/schemas/volume_action_droplet_id' - required: - - droplet_id - volume_action_post_base: type: object properties: type: @@ -825,158 +583,123 @@ components: - resize example: attach region: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + droplet_id: + type: integer + description: The unique identifier for the Droplet the volume will be attached or detached from. + example: 11612190 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod required: - - type - volume_action_droplet_id: - type: integer - description: The unique identifier for the Droplet the volume will be attached or detached from. - example: 11612190 - volumeAction: - allOf: - - properties: - type: - type: string - description: 'This is the type of action that the object represents. For example, this could be "attach_volume" to represent the state of a volume attach action.' - example: attach_volume - resource_id: - type: integer - nullable: true - example: null - - $ref: '#/components/schemas/action' - action: + - droplet_id + volume_action_post_detach: type: object properties: - id: - type: integer - description: A unique numeric ID that can be used to identify and reference an action. - example: 36804636 - status: - type: string - description: 'The current status of the action. This can be "in-progress", "completed", or "errored".' - enum: - - in-progress - - completed - - errored - example: completed - default: in-progress type: type: string - description: 'This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.' - example: create - started_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. - example: '2020-11-14T16:29:21Z' - completed_at: + description: The volume action to initiate. + enum: + - attach + - detach + - resize + example: attach + region: type: string - format: date-time - nullable: true - description: A time value given in ISO8601 combined date and time format that represents when the action was completed. - example: '2020-11-14T16:30:06Z' - resource_id: + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + droplet_id: type: integer - nullable: true - description: A unique identifier for the resource that the action is associated with. - example: 3164444 - resource_type: - type: string - description: The type of resource that the action is associated with. - example: droplet - region: - $ref: '#/components/schemas/region' - region_slug: - allOf: - - $ref: '#/components/schemas/slug' - - type: string - nullable: true - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - snapshots: - allOf: - - type: object - properties: - id: - type: string - example: '6372321' - description: The unique identifier for the snapshot. - required: - - id - - $ref: '#/components/schemas/snapshots_base' - - type: object - properties: - resource_id: - type: string - example: '200776916' - description: The unique identifier for the resource that the snapshot originated from. - resource_type: - type: string - enum: - - droplet - - volume - example: droplet - description: The type of resource that the snapshot originated from. - tags: - description: An array of Tags the snapshot has been tagged with. - type: array - items: - type: string - nullable: true - example: - - web - - 'env:prod' - required: - - resource_id - - resource_type - - tags - snapshots_base: + description: The unique identifier for the Droplet the volume will be attached or detached from. + example: 11612190 + required: + - droplet_id + volume_action_post_resize: type: object properties: - name: + type: type: string - example: web-01-1595954862243 - description: A human-readable name for the snapshot. - created_at: + description: The volume action to initiate. + enum: + - attach + - detach + - resize + example: attach + region: type: string - format: date-time - example: '2020-07-28T16:47:44Z' - description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. - regions: - type: array - items: - type: string - example: + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 - nyc3 + - sfo1 + - sfo2 - sfo3 - description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. - min_disk_size: - type: integer - example: 25 - description: The minimum size in GB required for a volume or Droplet to use this snapshot. + - sgp1 + - tor1 + - syd1 + example: nyc3 size_gigabytes: - type: number - format: float - example: 2.34 - description: The billable size of the snapshot in gigabytes. + type: integer + description: The new size of the block storage volume in GiB (1024^3). + maximum: 16384 required: - - name - - created_at - - regions - - min_disk_size - size_gigabytes - volume_action_post_resize: - allOf: - - $ref: '#/components/schemas/volume_action_post_base' - - properties: - size_gigabytes: - type: integer - description: The new size of the block storage volume in GiB (1024^3). - maximum: 16384 - required: - - size_gigabytes + tags_array: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod parameters: oneClicks_type: in: query @@ -1017,8 +740,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1037,7 +766,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1047,7 +776,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1080,7 +809,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1100,6 +829,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1110,6 +840,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1127,14 +858,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1142,7 +865,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1161,6 +884,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1233,7 +965,31 @@ components: name: pool_name description: The name used to identify the connection pool. required: true - example: backend-pool + example: backend-pool + schema: + type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* schema: type: string domain_name: @@ -1246,7 +1002,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1279,11 +1035,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1292,6 +1048,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1299,7 +1066,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1401,7 +1168,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1508,7 +1275,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1516,11 +1283,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1535,7 +1352,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1545,7 +1362,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1579,7 +1396,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1599,7 +1416,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1646,12 +1463,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1665,8 +1482,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1694,6 +1537,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1714,49 +1566,369 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: volumes: - description: 'The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes.' + description: The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + volumes: + type: array + items: + type: object + properties: + id: + type: string + description: The unique identifier for the block storage volume. + example: 506f78a4-e098-11e5-ad9f-000f53306ae1 + readOnly: true + droplet_ids: + type: array + items: + type: integer + nullable: true + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + example: [] + readOnly: true + name: + type: string + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + example: example + description: + type: string + description: An optional free-form text field to describe a block storage volume. + example: Block store for examples + size_gigabytes: + type: integer + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + example: 10 + created_at: + type: string + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + example: '2020-03-02T17:00:49Z' + readOnly: true + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + region: + description: The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + type: object + required: + - available + - features + - name + - sizes + - slug + filesystem_type: + type: string + description: The type of filesystem currently in-use on the volume. + example: ext4 + filesystem_label: + type: string + description: The label currently applied to the filesystem. + example: example + description: Array of volumes. + links: + type: object properties: - volumes: - type: array - items: - $ref: '#/components/schemas/volume_full' - description: Array of volumes. + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - - volumes - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + - total + required: + - meta examples: All Volumes: - $ref: '#/components/examples/volumes_all' + value: + volumes: + - id: 506f78a4-e098-11e5-ad9f-000f53306ae1 + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:00:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + - id: 506f78a4-e098-11e5-ad9f-000f53305eb2 + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:01:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + links: {} + meta: + total: 2 Filtered by Name: - $ref: '#/components/examples/volumes_filtered_by_name' + value: + volumes: + - id: 506f78a4-e098-11e5-ad9f-000f53306ae1 + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:00:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + links: {} + meta: + total: 1 Filtered by Region: - $ref: '#/components/examples/volumes_filtered_by_region' + value: + volumes: + - id: 506f78a4-e098-11e5-ad9f-000f53306ae1 + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:00:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + links: {} + meta: + total: 1 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1764,15 +1936,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1780,15 +1977,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1796,15 +2018,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1812,17 +2059,127 @@ components: description: The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: volume: - $ref: '#/components/schemas/volume_full' + type: object + properties: + id: + type: string + description: The unique identifier for the block storage volume. + example: 506f78a4-e098-11e5-ad9f-000f53306ae1 + readOnly: true + droplet_ids: + type: array + items: + type: integer + nullable: true + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + example: [] + readOnly: true + name: + type: string + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + example: example + description: + type: string + description: An optional free-form text field to describe a block storage volume. + example: Block store for examples + size_gigabytes: + type: integer + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + example: 10 + created_at: + type: string + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + example: '2020-03-02T17:00:49Z' + readOnly: true + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + region: + description: The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + type: object + required: + - available + - features + - name + - sizes + - slug + filesystem_type: + type: string + description: The type of filesystem currently in-use on the volume. + example: ext4 + filesystem_label: + type: string + description: The label currently applied to the filesystem. + example: example example: volume: id: 506f78a4-e098-11e5-ad9f-000f53306ae1 @@ -1861,15 +2218,40 @@ components: description: Bad Request headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: bad_request message: error parsing request body @@ -1878,15 +2260,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1894,46 +2301,288 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. volumeAction: description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: action: - $ref: '#/components/schemas/volumeAction' + properties: + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + type: object examples: volume_action_attach_response: - $ref: '#/components/examples/volume_action_attach_response' + value: + action: + id: 72531856 + status: completed + type: attach_volume + started_at: '2020-11-12T17:51:03Z' + completed_at: '2020-11-12T17:51:14Z' + resource_type: volume + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + region_slug: nyc1 VolumeActionDetachResponse: - $ref: '#/components/examples/volume_action_detach_response' + value: + action: + id: 68212773 + status: in-progress + type: detach_volume + started_at: '2015-10-15T17:46:15Z' + completed_at: null + resource_id: null + resource_type: backend + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + region_slug: nyc1 volumeSnapshot: description: You will get back a JSON object that has a `snapshot` key. This will contain the standard snapshot attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: snapshot: - $ref: '#/components/schemas/snapshots' + type: object + properties: + id: + type: string + example: '6372321' + description: The unique identifier for the snapshot. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + resource_id: + type: string + example: '200776916' + description: The unique identifier for the resource that the snapshot originated from. + resource_type: + type: string + enum: + - droplet + - volume + example: droplet + description: The type of resource that the snapshot originated from. + tags: + description: An array of Tags the snapshot has been tagged with. + type: array + items: + type: string + nullable: true + example: + - web + - env:prod + required: + - resource_id + - resource_type + - tags example: snapshot: id: 8fa70202-873f-11e6-8b68-000f533176b1 @@ -1951,134 +2600,338 @@ components: description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - actions: - type: array - items: - $ref: '#/components/schemas/volumeAction' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: actions: - - id: 72531856 - status: completed - type: attach_volume - started_at: '2020-11-21T21:51:09Z' - completed_at: '2020-11-21T21:51:09Z' - resource_type: volume - region: - name: New York 1 - slug: nyc1 - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192gb - features: - - private_networking - - backups - - ipv6 - - metadata - available: true - region_slug: nyc1 - links: {} + type: array + items: + properties: + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + type: object + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta volumeSnapshots: - description: 'You will get back a JSON object that has a `snapshots` key. This will be set to an array of snapshot objects, each of which contain the standard snapshot attributes' + description: You will get back a JSON object that has a `snapshots` key. This will be set to an array of snapshot objects, each of which contain the standard snapshot attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - snapshots: - type: array - items: - $ref: '#/components/schemas/snapshots' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: snapshots: - - id: 8eb4d51a-873f-11e6-96bf-000f53315a41 - name: big-data-snapshot1475261752 - regions: - - nyc1 - created_at: '2020-09-30T18:56:12Z' - resource_id: 82a48a18-873f-11e6-96bf-000f53315a41 - resource_type: volume - min_disk_size: 10 - size_gigabytes: 0 - tags: null - links: {} + type: array + items: + type: object + properties: + id: + type: string + example: '6372321' + description: The unique identifier for the snapshot. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + resource_id: + type: string + example: '200776916' + description: The unique identifier for the resource that the snapshot originated from. + resource_type: + type: string + enum: + - droplet + - volume + example: droplet + description: The type of resource that the snapshot originated from. + tags: + description: An array of Tags the snapshot has been tagged with. + type: array + items: + type: string + nullable: true + example: + - web + - env:prod + required: + - resource_id + - resource_type + - tags + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -2093,11 +2946,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2107,7 +2960,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -2117,11 +2970,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2146,11 +2999,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2194,7 +3047,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2203,7 +3056,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2277,6 +3130,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2295,7 +3155,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2305,7 +3165,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2319,7 +3179,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2391,7 +3251,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2399,11 +3259,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2422,7 +3282,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2497,12 +3357,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2516,7 +3383,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2585,7 +3452,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2637,133 +3504,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2831,14 +3724,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -3015,6 +3907,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3095,9 +3992,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3128,13 +4025,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3241,13 +4143,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3353,7 +4260,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3367,6 +4274,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3447,9 +4359,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3480,13 +4392,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3593,12 +4510,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3607,12 +4660,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3629,12 +4682,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3649,6 +4702,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3747,12 +4805,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3761,6 +4819,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3859,12 +4922,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3963,15 +5031,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3980,6 +5048,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4060,9 +5133,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4093,10 +5166,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4134,13 +5208,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4177,6 +5252,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4266,9 +5342,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4298,7 +5374,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4330,6 +5406,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4613,12 +5690,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4628,8 +5705,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4665,8 +5742,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4702,6 +5779,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4757,7 +5839,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4765,8 +5847,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4807,6 +5889,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4823,7 +5910,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4834,8 +5921,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4871,8 +5958,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4908,6 +5995,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4919,12 +6011,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4934,8 +6026,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4971,8 +6063,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5007,6 +6099,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -5018,12 +6115,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5033,8 +6130,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5070,8 +6167,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5106,6 +6203,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5315,11 +6417,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5371,7 +6473,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5385,11 +6487,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5415,11 +6517,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5445,7 +6547,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5469,7 +6571,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5541,11 +6643,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5657,7 +6759,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5720,7 +6822,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5769,11 +6871,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5845,11 +6947,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -6030,8 +7132,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6069,13 +7191,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -6112,6 +7235,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6201,9 +7325,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6233,7 +7357,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6265,6 +7389,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6313,7 +7438,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6343,7 +7468,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6597,14 +7722,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6614,7 +7739,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6624,191 +7749,167 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: volumes: id: digitalocean.block_storage.volumes name: volumes title: Volumes methods: - list: + volumes_list: operation: $ref: '#/paths/~1v2~1volumes/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/volumes' objectKey: $.volumes - _list: - operation: - $ref: '#/paths/~1v2~1volumes/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + volumes_create: operation: $ref: '#/paths/~1v2~1volumes/post' response: mediaType: application/json openAPIDocKey: '201' - delete_byName: + schemaRef: '#/components/responses/volume' + volumes_delete_by_name: operation: $ref: '#/paths/~1v2~1volumes/delete' response: mediaType: application/json openAPIDocKey: '204' - get: - operation: - $ref: '#/paths/~1v2~1volumes~1{volume_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.volume - _get: + schemaRef: '#/components/responses/no_content' + volumes_get: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/volume' + volumes_delete: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/volumes/methods/list' - - $ref: '#/components/x-stackQL-resources/volumes/methods/get' + - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_get' + - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_list' insert: - - $ref: '#/components/x-stackQL-resources/volumes/methods/create' + - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/volumes/methods/delete_byName' - - $ref: '#/components/x-stackQL-resources/volumes/methods/delete' - volume_actions: - id: digitalocean.block_storage.volume_actions - name: volume_actions - title: Volume Actions + - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_delete' + - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_delete_by_name' + volumes_actions: + id: digitalocean.block_storage.volumes_actions + name: volumes_actions + title: Volumes Actions methods: - volumeActions_post: + volume_actions_post: operation: $ref: '#/paths/~1v2~1volumes~1actions/post' response: mediaType: application/json openAPIDocKey: '202' - volumeActions_list: + schemaRef: '#/components/responses/volumeAction' + volume_actions_list: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}~1actions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/volumeActions' objectKey: $.actions - _volumeActions_list: - operation: - $ref: '#/paths/~1v2~1volumes~1{volume_id}~1actions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - volumeActions_post_byId: + volume_actions_post_by_id: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}~1actions/post' response: mediaType: application/json openAPIDocKey: '202' - volumeActions_get: - operation: - $ref: '#/paths/~1v2~1volumes~1{volume_id}~1actions~1{action_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.action - _volumeActions_get: + schemaRef: '#/components/responses/volumeAction' + volume_actions_get: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/volumeAction' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/volume_actions/methods/volumeActions_list' - - $ref: '#/components/x-stackQL-resources/volume_actions/methods/volumeActions_get' - insert: - - $ref: '#/components/x-stackQL-resources/volume_actions/methods/volumeActions_post' + - $ref: '#/components/x-stackQL-resources/volumes_actions/methods/volume_actions_get' + - $ref: '#/components/x-stackQL-resources/volumes_actions/methods/volume_actions_list' + insert: [] update: [] + replace: [] delete: [] - volume_snapshots: - id: digitalocean.block_storage.volume_snapshots - name: volume_snapshots - title: Volume Snapshots + volumes_snapshots: + id: digitalocean.block_storage.volumes_snapshots + name: volumes_snapshots + title: Volumes Snapshots methods: - volumeSnapshots_get_byId: + volume_snapshots_get_by_id: operation: $ref: '#/paths/~1v2~1volumes~1snapshots~1{snapshot_id}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.snapshot - _volumeSnapshots_get_byId: - operation: - $ref: '#/paths/~1v2~1volumes~1snapshots~1{snapshot_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - volumeSnapshots_delete_byId: + schemaRef: '#/components/responses/volumeSnapshot' + volume_snapshots_delete_by_id: operation: $ref: '#/paths/~1v2~1volumes~1snapshots~1{snapshot_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - volumeSnapshots_list: + schemaRef: '#/components/responses/no_content' + volume_snapshots_list: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}~1snapshots/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/volumeSnapshots' objectKey: $.snapshots - _volumeSnapshots_list: - operation: - $ref: '#/paths/~1v2~1volumes~1{volume_id}~1snapshots/get' - response: - mediaType: application/json - openAPIDocKey: '200' - volumeSnapshots_create: + volume_snapshots_create: operation: $ref: '#/paths/~1v2~1volumes~1{volume_id}~1snapshots/post' response: mediaType: application/json openAPIDocKey: '201' + schemaRef: '#/components/responses/volumeSnapshot' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volumeSnapshots_get_byId' - - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volumeSnapshots_list' + - $ref: '#/components/x-stackQL-resources/volumes_snapshots/methods/volume_snapshots_get_by_id' + - $ref: '#/components/x-stackQL-resources/volumes_snapshots/methods/volume_snapshots_list' insert: - - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volumeSnapshots_create' + - $ref: '#/components/x-stackQL-resources/volumes_snapshots/methods/volume_snapshots_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volumeSnapshots_delete_byId' + - $ref: '#/components/x-stackQL-resources/volumes_snapshots/methods/volume_snapshots_delete_by_id' paths: /v2/volumes: get: operationId: volumes_list summary: List All Block Storage Volumes - description: |+ + description: | To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`. ## Filtering Results ### By Region @@ -6818,8 +7919,6 @@ paths: **Note:** You can only create one volume per region with the same name. ### By Name and Region It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. - - tags: - Block Storage parameters: @@ -6882,13 +7981,21 @@ paths: volumes = client.volumes.all volumes.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.volumes.list(region="nyc3") security: - bearer_auth: - - read + - block_storage:read post: operationId: volumes_create summary: Create a New Block Storage Volume - description: 'To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume''s filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended.' + description: To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. tags: - Block Storage requestBody: @@ -6985,16 +8092,32 @@ paths: region: 'nyc1' ) client.volumes.create(volume) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "size_gigabytes": 10, + "name": "ext4-example", + "description": "Block store for examples", + "region": "nyc1", + "filesystem_type": "ext4", + "filesystem_label": "ext4_volume_01" + } + + resp = client.volumes.create(body=req) security: - bearer_auth: - - write + - block_storage:create delete: operationId: volumes_delete_byName summary: Delete a Block Storage Volume by Name - description: |+ + description: | Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. - tags: - Block Storage parameters: @@ -7020,9 +8143,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/volumes?name=example®ion=nyc1" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.volumes.delete_by_name(name="ext4-ex") security: - bearer_auth: - - write + - block_storage:delete /v2/volumes/actions: post: operationId: volumeActions_post @@ -7031,25 +8162,20 @@ paths: To initiate an action on a block storage volume by Name, send a POST request to `~/v2/volumes/actions`. The body should contain the appropriate attributes for the respective action. - ## Attach a Block Storage Volume to a Droplet - | Attribute | Details | | ----------- | ------------------------------------------------------------------- | | type | This must be `attach` | | volume_name | The name of the block storage volume | | droplet_id | Set to the Droplet's ID | | region | Set to the slug representing the region where the volume is located | - - Each volume may only be attached to a single Droplet. However, up to five + Each volume may only be attached to a single Droplet. However, up to fifteen volumes may be attached to a Droplet at a time. Pre-formatted volumes will be automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018 when attached. On older Droplets, - [additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems) + [additional configuration](https://docs.digitalocean.com/products/volumes/how-to/mount/) is required. - ## Remove a Block Storage Volume from a Droplet - | Attribute | Details | | ----------- | ------------------------------------------------------------------- | | type | This must be `detach` | @@ -7118,20 +8244,37 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"type": "detach", "droplet_id": "11612190", "volume_name": "example", "region": "nyc1"}' \ "https://api.digitalocean.com/v2/volumes/actions" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "type": "attach", + "volume_name": "example", + "droplet_id": 11612190, + "region": "nyc1", + "tags": [ + "aninterestingtag" + ] + } + + resp = client.volume_actions.post(body=req) security: - bearer_auth: - - write - '/v2/volumes/snapshots/{snapshot_id}': + - block_storage_action:create + /v2/volumes/snapshots/{snapshot_id}: get: operationId: volumeSnapshots_get_byId summary: Retrieve an Existing Volume Snapshot - description: |+ - To retrieve the details of a snapshot that has been created from a volume, send a GET request to `/v2/volumes/snapshots/$SNAPSHOT_ID`. - + description: | + To retrieve the details of a snapshot that has been created from a volume, send a GET request to `/v2/volumes/snapshots/$VOLUME_SNAPSHOT_ID`. tags: - Block Storage parameters: - - $ref: '#/components/parameters/snapshot_id' + - $ref: '#/components/parameters/volume_snapshot_id' responses: '200': $ref: '#/components/responses/volumeSnapshot' @@ -7152,22 +8295,33 @@ paths: -H 'Content-Type: application/json' \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/volumes/snapshots/fbe805e8-866b-11e6-96bf-000f53315a41" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "big-data-snapshot1475261774" + } + + resp = client.volume_snapshots.get_by_id(snapshot_id="da3aa3a") security: - bearer_auth: - - read + - block_storage_snapshot:read delete: operationId: volumeSnapshots_delete_byId summary: Delete a Volume Snapshot description: | To delete a volume snapshot, send a DELETE request to - `/v2/snapshots/$SNAPSHOT_ID`. - + `/v2/volumes/snapshots/$VOLUME_SNAPSHOT_ID`. A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Block Storage parameters: - - $ref: '#/components/parameters/snapshot_id' + - $ref: '#/components/parameters/volume_snapshot_id' responses: '204': $ref: '#/components/responses/no_content' @@ -7212,16 +8366,27 @@ paths: client = DropletKit::Client.new(access_token: token) client.snapshots.delete(id: "fbe805e8-866b-11e6-96bf-000f53315a41") + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "big-data-snapshot1475261774" + } + + resp = client.volume_snapshots.delete_by_id(snapshot_id="da3aa3a") security: - bearer_auth: - - write - '/v2/volumes/{volume_id}': + - block_storage_snapshot:delete + /v2/volumes/{volume_id}: get: operationId: volumes_get summary: Retrieve an Existing Block Storage Volume - description: |+ + description: | To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`. - tags: - Block Storage parameters: @@ -7277,16 +8442,23 @@ paths: client = DropletKit::Client.new(access_token: token) client.volumes.find(id: '7724db7c-e098-11e5-b522-000f53304e51') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.volumes.get(volume_id="7724db7c") security: - bearer_auth: - - read + - block_storage:read delete: operationId: volumes_delete summary: Delete a Block Storage Volume - description: |+ + description: | To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. - tags: - Block Storage parameters: @@ -7335,16 +8507,23 @@ paths: client = DropletKit::Client.new(access_token: token) client.volumes.delete(id: '7724db7c-e098-11e5-b522-000f53304e51') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.volumes.delete(volume_id="7724db7c") security: - bearer_auth: - - write - '/v2/volumes/{volume_id}/actions': + - block_storage:delete + /v2/volumes/{volume_id}/actions: get: operationId: volumeActions_list summary: List All Actions for a Volume - description: |+ + description: | To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`. - tags: - Block Storage Actions parameters: @@ -7401,9 +8580,17 @@ paths: actions = client.volume.actions(id: '7724db7c-e098-11e5-b522-000f53304e51') actions.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.volume_actions.list(volume_id="7724db7c") security: - bearer_auth: - - read + - block_storage_action:read post: operationId: volumeActions_post_byId summary: Initiate A Block Storage Action By Volume Id @@ -7411,38 +8598,30 @@ paths: To initiate an action on a block storage volume by Id, send a POST request to `~/v2/volumes/$VOLUME_ID/actions`. The body should contain the appropriate attributes for the respective action. - ## Attach a Block Storage Volume to a Droplet - | Attribute | Details | | ---------- | ------------------------------------------------------------------- | | type | This must be `attach` | | droplet_id | Set to the Droplet's ID | | region | Set to the slug representing the region where the volume is located | - - Each volume may only be attached to a single Droplet. However, up to seven + Each volume may only be attached to a single Droplet. However, up to fifteen volumes may be attached to a Droplet at a time. Pre-formatted volumes will be automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018 when attached. On older Droplets, - [additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems) + [additional configuration](https://docs.digitalocean.com/products/volumes/how-to/mount/) is required. - ## Remove a Block Storage Volume from a Droplet - | Attribute | Details | | ---------- | ------------------------------------------------------------------- | | type | This must be `detach` | | droplet_id | Set to the Droplet's ID | | region | Set to the slug representing the region where the volume is located | - ## Resize a Volume - | Attribute | Details | | -------------- | ------------------------------------------------------------------- | | type | This must be `resize` | | size_gigabytes | The new size of the block storage volume in GiB (1024^3) | | region | Set to the slug representing the region where the volume is located | - Volumes may only be resized upwards. The maximum size for a volume is 16TiB. tags: - Block Storage Actions @@ -7555,16 +8734,32 @@ paths: # Remove a Volume from a Droplet by ID # client.volume_actions.detach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', droplet_id: 11612190, region: 'nyc1' + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "type": "attach", + "droplet_id": 11612190, + "region": "nyc1", + "tags": [ + "aninterestingtag" + ] + } + + resp = client.volume_actions.post_by_id(volume_id="7724db7c", body=req) security: - bearer_auth: - - write - '/v2/volumes/{volume_id}/actions/{action_id}': + - block_storage_action:create + /v2/volumes/{volume_id}/actions/{action_id}: get: operationId: volumeActions_get summary: Retrieve an Existing Volume Action - description: |+ + description: | To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`. - tags: - Block Storage Actions parameters: @@ -7616,16 +8811,23 @@ paths: client = DropletKit::Client.new(access_token: token) client.volume.actions.find(volume_id: '7724db7c-e098-11e5-b522-000f53304e51', id: 72531856) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.volume_actions.get(volume_id="7724db7c") security: - bearer_auth: - - read - '/v2/volumes/{volume_id}/snapshots': + - block_storage_action:read + /v2/volumes/{volume_id}/snapshots: get: operationId: volumeSnapshots_list summary: List Snapshots for a Volume - description: |+ + description: | To retrieve the snapshots that have been created from a volume, send a GET request to `/v2/volumes/$VOLUME_ID/snapshots`. - tags: - Block Storage parameters: @@ -7682,13 +8884,25 @@ paths: snapshots = client.volumes.snapshots(id: '82a48a18-873f-11e6-96bf-000f53315a41') snapshots.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "big-data-snapshot1475261774" + } + + resp = client.volume_snapshots.list(snapshot_id="da3aa3a") security: - bearer_auth: - - read + - block_storage_snapshot:read post: operationId: volumeSnapshots_create summary: Create Snapshot from a Volume - description: 'To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`.' + description: To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`. tags: - Block Storage parameters: @@ -7761,6 +8975,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.volumes.create_snapshot(id: "82a48a18-873f-11e6-96bf-000f53315a41", name: "big-data-snapshot1475261774") + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "big-data-snapshot1475261774" + } + + resp = client.volume_snapshots.create(volume_id="da3aa3a", body=req) security: - bearer_auth: - - write + - block_storage_snapshot:create diff --git a/providers/src/digitalocean/v00.00.00000/services/cdn.yaml b/providers/src/digitalocean/v00.00.00000/services/cdn.yaml index 19cb4753..bf353f31 100644 --- a/providers/src/digitalocean/v00.00.00000/services/cdn.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/cdn.yaml @@ -1,18 +1,27 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - cdn version: '2.0' - description: CDN Endpoints license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - cdn + description: |- + Content hosted in DigitalOcean's object storage solution, + [Spaces](https://docs.digitalocean.com/products/spaces/), + can optionally be served by our globally distributed Content Delivery + Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, + create, or delete CDN Endpoints as well as purge cached content. To use a + custom subdomain to access the CDN Endpoint, provide the ID of a + DigitalOcean managed TLS certificate and the fully qualified domain name + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. security: - bearer_auth: [] tags: @@ -20,52 +29,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +73,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +88,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +114,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +163,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +171,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +186,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +208,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +226,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +278,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +294,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +309,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +336,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +354,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,53 +389,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 cdn_endpoint: type: object properties: @@ -550,7 +441,7 @@ components: - 86400 - 604800 default: 3600 - description: 'The amount of time the content is cached by the CDN''s edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.' + description: The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. certificate_id: type: string format: uuid @@ -569,95 +460,6 @@ components: description: A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. required: - origin - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' update_endpoint: type: object properties: @@ -671,7 +473,7 @@ components: - 86400 - 604800 default: 3600 - description: 'The amount of time the content is cached by the CDN''s edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.' + description: The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. certificate_id: type: string format: uuid @@ -735,8 +537,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -755,7 +563,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -765,7 +573,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -798,7 +606,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -818,6 +626,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -828,6 +637,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -845,14 +655,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -860,7 +662,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -879,6 +681,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -954,6 +765,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -964,7 +799,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -997,11 +832,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1010,6 +845,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1017,7 +863,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1119,7 +965,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1226,7 +1072,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1234,11 +1080,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1253,7 +1149,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1263,7 +1159,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1297,7 +1193,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1317,7 +1213,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1364,12 +1260,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1383,8 +1279,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1412,6 +1334,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1432,51 +1363,159 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_cdn_endpoints: - description: 'The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes.' + description: The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - endpoints: - type: array - items: - $ref: '#/components/schemas/cdn_endpoint' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: endpoints: - - id: 19f06b6a-3ace-4315-b086-499a0e521b76 - origin: static-images.nyc3.digitaloceanspaces.com - endpoint: static-images.nyc3.cdn.digitaloceanspaces.com - created_at: '2018-07-19T15:04:16Z' - certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - custom_domain: static.example.com - ttl: 3600 - links: {} + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: A unique ID that can be used to identify and reference a CDN endpoint. + origin: + type: string + format: hostname + example: static-images.nyc3.digitaloceanspaces.com + description: The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. + endpoint: + type: string + format: hostname + readOnly: true + example: static-images.nyc3.cdn.digitaloceanspaces.com + description: The fully qualified domain name (FQDN) from which the CDN-backed content is served. + ttl: + type: integer + example: 3600 + enum: + - 60 + - 600 + - 3600 + - 86400 + - 604800 + default: 3600 + description: The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. + certificate_id: + type: string + format: uuid + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. + custom_domain: + type: string + format: hostname + example: static.example.com + description: The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-03-21T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. + required: + - origin + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1484,15 +1523,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1500,15 +1564,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1516,15 +1605,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1532,17 +1646,73 @@ components: description: The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: endpoint: - $ref: '#/components/schemas/cdn_endpoint' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: A unique ID that can be used to identify and reference a CDN endpoint. + origin: + type: string + format: hostname + example: static-images.nyc3.digitaloceanspaces.com + description: The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. + endpoint: + type: string + format: hostname + readOnly: true + example: static-images.nyc3.cdn.digitaloceanspaces.com + description: The fully qualified domain name (FQDN) from which the CDN-backed content is served. + ttl: + type: integer + example: 3600 + enum: + - 60 + - 600 + - 3600 + - 86400 + - 604800 + default: 3600 + description: The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. + certificate_id: + type: string + format: uuid + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. + custom_domain: + type: string + format: hostname + example: static.example.com + description: The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-03-21T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. + required: + - origin examples: CDN Endpoint: value: @@ -1566,15 +1736,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1582,50 +1777,68 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1640,11 +1853,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1654,7 +1867,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1664,11 +1877,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1693,11 +1906,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1741,7 +1954,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1750,7 +1963,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1824,6 +2037,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1842,7 +2062,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1852,7 +2072,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1866,7 +2086,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1938,7 +2158,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1946,11 +2166,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1969,7 +2189,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2044,12 +2264,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2063,7 +2290,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2132,7 +2359,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2184,133 +2411,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2378,14 +2631,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2562,6 +2814,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2642,9 +2899,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2675,13 +2932,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2788,13 +3050,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2900,7 +3167,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2914,6 +3181,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2994,9 +3266,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3027,13 +3299,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3140,12 +3417,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3154,12 +3567,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3176,12 +3589,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3196,6 +3609,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3294,12 +3712,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3308,6 +3726,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3406,12 +3829,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3510,15 +3938,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3527,6 +3955,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3607,9 +4040,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3640,10 +4073,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3681,13 +4115,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3724,6 +4159,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3813,9 +4249,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3845,7 +4281,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3877,6 +4313,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4160,12 +4597,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4175,8 +4612,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4212,8 +4649,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4249,6 +4686,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4304,7 +4746,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4312,8 +4754,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4354,6 +4796,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4370,7 +4817,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4381,8 +4828,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4418,8 +4865,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4455,6 +4902,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4466,12 +4918,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4481,8 +4933,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4518,8 +4970,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4554,6 +5006,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4565,12 +5022,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4580,8 +5037,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4617,8 +5074,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4653,6 +5110,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4862,11 +5324,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4918,7 +5380,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4932,11 +5394,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4962,11 +5424,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4992,7 +5454,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5016,7 +5478,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5088,11 +5550,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5204,7 +5666,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5267,7 +5729,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5316,11 +5778,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5392,11 +5854,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5577,8 +6039,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5616,13 +6098,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5659,6 +6142,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5748,9 +6232,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5780,7 +6264,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5812,6 +6296,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5860,7 +6345,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5890,7 +6375,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6144,14 +6629,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6161,7 +6646,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6171,93 +6656,87 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: endpoints: id: digitalocean.cdn.endpoints name: endpoints title: Endpoints methods: - list_endpoints: + cdn_list_endpoints: operation: $ref: '#/paths/~1v2~1cdn~1endpoints/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_cdn_endpoints' objectKey: $.endpoints - _list_endpoints: - operation: - $ref: '#/paths/~1v2~1cdn~1endpoints/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_endpoint: + cdn_create_endpoint: operation: $ref: '#/paths/~1v2~1cdn~1endpoints/post' response: mediaType: application/json openAPIDocKey: '201' - get_endpoint: - operation: - $ref: '#/paths/~1v2~1cdn~1endpoints~1{cdn_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.endpoint - _get_endpoint: + schemaRef: '#/components/responses/existing_endpoint' + cdn_get_endpoint: operation: $ref: '#/paths/~1v2~1cdn~1endpoints~1{cdn_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_endpoints: + schemaRef: '#/components/responses/existing_endpoint' + cdn_update_endpoints: operation: $ref: '#/paths/~1v2~1cdn~1endpoints~1{cdn_id}/put' response: mediaType: application/json openAPIDocKey: '200' - delete_endpoint: + schemaRef: '#/components/responses/existing_endpoint' + cdn_delete_endpoint: operation: $ref: '#/paths/~1v2~1cdn~1endpoints~1{cdn_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - purge_cache: + schemaRef: '#/components/responses/no_content' + cdn_purge_cache: operation: $ref: '#/paths/~1v2~1cdn~1endpoints~1{cdn_id}~1cache/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/list_endpoints' - - $ref: '#/components/x-stackQL-resources/endpoints/methods/get_endpoint' + - $ref: '#/components/x-stackQL-resources/endpoints/methods/cdn_get_endpoint' + - $ref: '#/components/x-stackQL-resources/endpoints/methods/cdn_list_endpoints' insert: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/create_endpoint' + - $ref: '#/components/x-stackQL-resources/endpoints/methods/cdn_create_endpoint' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/endpoints/methods/delete_endpoint' + - $ref: '#/components/x-stackQL-resources/endpoints/methods/cdn_delete_endpoint' paths: /v2/cdn/endpoints: get: operationId: cdn_list_endpoints summary: List All CDN Endpoints - description: 'To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`.' + description: To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. tags: - CDN Endpoints parameters: @@ -6311,9 +6790,17 @@ paths: cdns = client.cdns.all cdns.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.cdn.list_endpoints() security: - bearer_auth: - - read + - cdn:read post: operationId: cdn_create_endpoint summary: Create a New CDN Endpoint @@ -6322,7 +6809,6 @@ paths: origin attribute must be set to the fully qualified domain name (FQDN) of a DigitalOcean Space. Optionally, the TTL may be configured by setting the `ttl` attribute. - A custom subdomain may be configured by specifying the `custom_domain` and `certificate_id` attributes. tags: @@ -6401,14 +6887,23 @@ paths: ) client.cdns.create(cdn) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_req = {"origin": "static-images.nyc3.digitaloceanspaces.com", "ttl": 3600} + create_resp = client.cdn.create_endpoint(create_req) security: - bearer_auth: - - write - '/v2/cdn/endpoints/{cdn_id}': + - cdn:create + /v2/cdn/endpoints/{cdn_id}: get: operationId: cdn_get_endpoint summary: Retrieve an Existing CDN Endpoint - description: 'To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`.' + description: To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. tags: - CDN Endpoints parameters: @@ -6457,9 +6952,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.cdns.find(id: '19f06b6a-3ace-4315-b086-499a0e521b76') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.cdn.get_endpoint(cdn_id="aa34ba1") security: - bearer_auth: - - read + - cdn:read put: operationId: cdn_update_endpoints summary: Update a CDN Endpoint @@ -6521,16 +7024,29 @@ paths: client = DropletKit::Client.new(access_token: token) client.cdns.update_ttl(id: '19f06b6a-3ace-4315-b086-499a0e521b76', ttl: 1800) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + update_req = { + "ttl": 3600, + "certificate_id": "892071a0-bb95-49bc-8021-3afd67a210bf", + "custom_domain": "static.example.com", + } + + update_resp = client.cdn.update_endpoints("19f06b6a", update_req) security: - bearer_auth: - - write + - cdn:update delete: operationId: cdn_delete_endpoint summary: Delete a CDN Endpoint description: | To delete a specific CDN endpoint, send a DELETE request to `/v2/cdn/endpoints/$ENDPOINT_ID`. - A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: @@ -6581,10 +7097,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.cdns.delete(id: '19f06b6a-3ace-4315-b086-499a0e521b76') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.cdn.delete_endpoint(cdn_id="bba23af") security: - bearer_auth: - - write - '/v2/cdn/endpoints/{cdn_id}/cache': + - cdn:delete + /v2/cdn/endpoints/{cdn_id}/cache: delete: operationId: cdn_purge_cache summary: Purge the Cache for an Existing CDN Endpoint @@ -6593,9 +7117,11 @@ paths: `/v2/cdn/endpoints/$ENDPOINT_ID/cache`. The body of the request should include a `files` attribute containing a list of cached file paths to be purged. A path may be for a single file or may contain a wildcard (`*`) to recursively - purge all files under a directory. When only a wildcard is provided, all - cached files will be purged. There is a rate limit of 50 files per 20 seconds - that can be purged. + purge all files under a directory. When only a wildcard is provided, all cached + files will be purged. There is a rate limit of 50 files per 20 seconds that can + be purged. CDN endpoints have a rate limit of 5 requests per 10 seconds. + Purging files using a wildcard path counts as a single request against the API's + rate limit. Two identical purge requests cannot be sent at the same time. tags: - CDN Endpoints parameters: @@ -6658,6 +7184,16 @@ paths: id: '19f06b6a-3ace-4315-b086-499a0e521b76', files: ['assets/img/hero.png','assets/css/*'] ) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + purge_req = {"files": ["path/to/image.png", "path/to/css/*"]} + + purge_resp = client.cdn.purge_cache("19f06b6a", purge_req) security: - bearer_auth: - - write + - cdn:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/certificates.yaml b/providers/src/digitalocean/v00.00.00000/services/certificates.yaml index 55cddee0..ac047bcc 100644 --- a/providers/src/digitalocean/v00.00.00000/services/certificates.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/certificates.yaml @@ -1,18 +1,26 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - certificates version: '2.0' - description: Certificates license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - certificates + description: |- + In order to perform SSL termination on load balancers, DigitalOcean offers + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): + * **Custom**: User-generated certificates may be uploaded to DigitalOcean + where they will be placed in a fully encrypted and isolated storage system. + * **Let's Encrypt**: Certificates may be automatically generated by + DigitalOcean utilizing an integration with Let's Encrypt, the free and + open certificate authority. These certificates will also be automatically + renewed as required. security: - bearer_auth: [] tags: @@ -20,52 +28,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +72,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +87,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +113,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +162,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +170,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +185,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +207,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +225,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +277,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +293,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +308,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +335,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +353,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,83 +388,42 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - certificate: + certificate_request_lets_encrypt: type: object properties: - id: - type: string - format: uuid - readOnly: true - example: 892071a0-bb95-49bc-8021-3afd67a210bf - description: A unique ID that can be used to identify and reference a certificate. name: type: string example: web-cert-01 description: A unique human-readable name referring to a certificate. - not_after: - type: string - format: date-time - readOnly: true - example: '2017-02-22T00:23:00Z' - description: A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. - sha1_fingerprint: - type: string - readOnly: true - example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 - description: A unique identifier generated from the SHA-1 fingerprint of the certificate. - created_at: + type: type: string - format: date-time - readOnly: true - example: '2017-02-08T16:02:37Z' - description: A time value given in ISO8601 combined date and time format that represents when the certificate was created. + enum: + - custom + - lets_encrypt + example: lets_encrypt + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. dns_names: type: array items: @@ -557,265 +431,10 @@ components: example: - www.example.com - example.com - description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. - state: - type: string - enum: - - pending - - verified - - error - readOnly: true - example: verified - description: 'A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`.' - type: - type: string - enum: - - custom - - lets_encrypt - example: lets_encrypt - description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`). required: - - id - - message - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - certificate_request_lets_encrypt: - title: Let's Encrypt Certificate Request - allOf: - - $ref: '#/components/schemas/certificate_create_base' - - type: object - properties: - dns_names: - type: array - items: - type: string - example: - - www.example.com - - example.com - description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`). - required: - - dns_names + - dns_names certificate_request_custom: - title: Custom Certificate Request - allOf: - - $ref: '#/components/schemas/certificate_create_base' - - type: object - properties: - private_key: - type: string - example: |- - -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 - SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 - DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X - wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w - Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F - ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX - fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l - 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm - cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt - eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF - 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x - gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh - GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ - P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj - IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 - W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ - 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt - Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx - pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG - RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 - o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E - sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW - JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo - QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ - AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg - eTuK2xNR0PIM8OI7pRpgyj1I - -----END PRIVATE KEY----- - description: The contents of a PEM-formatted private-key corresponding to the SSL certificate. - leaf_certificate: - type: string - example: |- - -----BEGIN CERTIFICATE----- - MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ - CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW - MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl - bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 - q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - UlF1zblDmg2Iaw== - -----END CERTIFICATE----- - description: The contents of a PEM-formatted public SSL certificate. - certificate_chain: - type: string - example: |- - -----BEGIN CERTIFICATE----- - MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+ - CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW - MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl - bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7 - q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - UlF1zblDmg2Iaw== - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ - MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT - DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow - SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT - GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC - AQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF - q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 - SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 - Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA - a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj - /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T - AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG - CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv - bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k - c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw - VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC - ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz - MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu - Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF - AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo - uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ - wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu - X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG - PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 - KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== - -----END CERTIFICATE----- - description: The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate. - required: - - private_key - - leaf_certificate - certificate_create_base: type: object properties: name: @@ -829,8 +448,136 @@ components: - lets_encrypt example: lets_encrypt description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. + private_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: The contents of a PEM-formatted private-key corresponding to the SSL certificate. + leaf_certificate: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: The contents of a PEM-formatted public SSL certificate. + certificate_chain: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ + MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT + DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow + SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT + GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC + AQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF + q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 + SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 + Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA + a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj + /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T + AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG + CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv + bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k + c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw + VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC + ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz + MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu + Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF + AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo + uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ + wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu + X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG + PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 + KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== + -----END CERTIFICATE----- + description: The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate. required: - - name + - private_key + - leaf_certificate parameters: oneClicks_type: in: query @@ -871,8 +618,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -891,7 +644,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -901,7 +654,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -934,7 +687,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -954,6 +707,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -964,6 +718,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -981,14 +736,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -996,7 +743,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1015,6 +762,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1090,6 +846,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1100,7 +880,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1133,11 +913,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1146,6 +926,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1153,7 +944,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1255,7 +1046,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1362,7 +1153,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1370,11 +1161,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1389,7 +1230,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1399,7 +1240,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1433,7 +1274,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1453,7 +1294,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1500,12 +1341,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1519,8 +1360,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1548,6 +1415,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1568,42 +1444,190 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_certificates: - description: 'The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes.' + description: The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + certificates: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: A unique ID that can be used to identify and reference a certificate. + name: + type: string + example: web-cert-01 + description: A unique human-readable name referring to a certificate. + not_after: + type: string + format: date-time + readOnly: true + example: '2017-02-22T00:23:00Z' + description: A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. + sha1_fingerprint: + type: string + readOnly: true + example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + description: A unique identifier generated from the SHA-1 fingerprint of the certificate. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-08T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the certificate was created. + dns_names: + type: array + items: + type: string + example: + - www.example.com + - example.com + description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. + state: + type: string + enum: + - pending + - verified + - error + readOnly: true + example: verified + description: A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. + type: + type: string + enum: + - custom + - lets_encrypt + example: lets_encrypt + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. + links: + type: object properties: - certificates: - type: array - items: - $ref: '#/components/schemas/certificate' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: AllCertificates: - $ref: '#/components/examples/certificates_all' + value: + certificates: + - id: 892071a0-bb95-49bc-8021-3afd67a210bf + name: web-cert-01 + not_after: '2017-02-22T00:23:00Z' + sha1_fingerprint: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + created_at: '2017-02-08T16:02:37Z' + dns_names: + - '' + state: verified + type: custom + - id: ba9b9c18-6c59-46c2-99df-70da170a42ba + name: web-cert-02 + not_after: '2018-06-07T17:44:12Z' + sha1_fingerprint: 479c82b5c63cb6d3e6fac4624d58a33b267e166c + created_at: '2018-03-09T18:44:11Z' + dns_names: + - www.example.com + - example.com + state: verified + type: lets_encrypt + links: {} + meta: + total: 2 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1611,15 +1635,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1627,15 +1676,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1643,15 +1717,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1661,57 +1760,246 @@ components: When using Let's Encrypt, the initial value of the certificate's `state` attribute will be `pending`. When the certificate has been successfully issued by Let's Encrypt, this will transition to `verified` and be ready for use. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: certificate: - $ref: '#/components/schemas/certificate' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: A unique ID that can be used to identify and reference a certificate. + name: + type: string + example: web-cert-01 + description: A unique human-readable name referring to a certificate. + not_after: + type: string + format: date-time + readOnly: true + example: '2017-02-22T00:23:00Z' + description: A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. + sha1_fingerprint: + type: string + readOnly: true + example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + description: A unique identifier generated from the SHA-1 fingerprint of the certificate. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-08T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the certificate was created. + dns_names: + type: array + items: + type: string + example: + - www.example.com + - example.com + description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. + state: + type: string + enum: + - pending + - verified + - error + readOnly: true + example: verified + description: A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. + type: + type: string + enum: + - custom + - lets_encrypt + example: lets_encrypt + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. examples: Custom Certificate: - $ref: '#/components/examples/certificates_custom' + value: + certificate: + id: 892071a0-bb95-49bc-8021-3afd67a210bf + name: web-cert-01 + not_after: '2017-02-22T00:23:00Z' + sha1_fingerprint: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + created_at: '2017-02-08T16:02:37Z' + dns_names: + - '' + state: verified + type: custom Let's Encrypt Certificate: - $ref: '#/components/examples/certificates_lets_encrypt_pending' + value: + certificate: + id: ba9b9c18-6c59-46c2-99df-70da170a42ba + name: web-cert-02 + not_after: '2018-06-07T17:44:12Z' + sha1_fingerprint: 479c82b5c63cb6d3e6fac4624d58a33b267e166c + created_at: '2018-03-09T18:44:11Z' + dns_names: + - www.example.com + - example.com + state: pending + type: lets_encrypt existing_certificate: description: The response will be a JSON object with a `certificate` key. This will be set to an object containing the standard certificate attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: certificate: - $ref: '#/components/schemas/certificate' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: A unique ID that can be used to identify and reference a certificate. + name: + type: string + example: web-cert-01 + description: A unique human-readable name referring to a certificate. + not_after: + type: string + format: date-time + readOnly: true + example: '2017-02-22T00:23:00Z' + description: A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. + sha1_fingerprint: + type: string + readOnly: true + example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + description: A unique identifier generated from the SHA-1 fingerprint of the certificate. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-08T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the certificate was created. + dns_names: + type: array + items: + type: string + example: + - www.example.com + - example.com + description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. + state: + type: string + enum: + - pending + - verified + - error + readOnly: true + example: verified + description: A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. + type: + type: string + enum: + - custom + - lets_encrypt + example: lets_encrypt + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. examples: Custom Certificate: - $ref: '#/components/examples/certificates_custom' + value: + certificate: + id: 892071a0-bb95-49bc-8021-3afd67a210bf + name: web-cert-01 + not_after: '2017-02-22T00:23:00Z' + sha1_fingerprint: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + created_at: '2017-02-08T16:02:37Z' + dns_names: + - '' + state: verified + type: custom Let's Encrypt Certificate: - $ref: '#/components/examples/certificates_lets_encrypt' + value: + certificate: + id: ba9b9c18-6c59-46c2-99df-70da170a42ba + name: web-cert-02 + not_after: '2018-06-07T17:44:12Z' + sha1_fingerprint: 479c82b5c63cb6d3e6fac4624d58a33b267e166c + created_at: '2018-03-09T18:44:11Z' + dns_names: + - www.example.com + - example.com + state: verified + type: lets_encrypt not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1719,50 +2007,68 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1777,11 +2083,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1791,7 +2097,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1801,11 +2107,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1830,11 +2136,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1878,7 +2184,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1887,7 +2193,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1961,6 +2267,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1979,7 +2292,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1989,7 +2302,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2003,7 +2316,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2075,7 +2388,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2083,11 +2396,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2106,7 +2419,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2181,12 +2494,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2200,7 +2520,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2269,7 +2589,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2321,133 +2641,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2515,14 +2861,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2699,6 +3044,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2779,9 +3129,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2812,13 +3162,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2925,13 +3280,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3037,7 +3397,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3051,6 +3411,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3131,9 +3496,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3164,13 +3529,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3277,12 +3647,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3291,12 +3797,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3313,12 +3819,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3333,6 +3839,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3431,12 +3942,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3445,6 +3956,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3543,12 +4059,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3647,15 +4168,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3664,6 +4185,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3744,9 +4270,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3777,10 +4303,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3818,13 +4345,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3861,6 +4389,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3950,9 +4479,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3982,7 +4511,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4014,6 +4543,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4297,12 +4827,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4312,8 +4842,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4349,8 +4879,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4386,6 +4916,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4441,7 +4976,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4449,8 +4984,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4491,6 +5026,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4507,7 +5047,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4518,8 +5058,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4555,8 +5095,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4592,6 +5132,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4603,12 +5148,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4618,8 +5163,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4655,8 +5200,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4691,6 +5236,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4702,12 +5252,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4717,8 +5267,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4754,8 +5304,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4790,6 +5340,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4999,11 +5554,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5055,7 +5610,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5069,11 +5624,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5099,11 +5654,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5129,7 +5684,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5153,7 +5708,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5225,11 +5780,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5341,7 +5896,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5404,7 +5959,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5453,11 +6008,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5529,11 +6084,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5714,8 +6269,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5753,13 +6328,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5796,6 +6372,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5885,9 +6462,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5917,7 +6494,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5949,6 +6526,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5997,7 +6575,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6027,7 +6605,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6281,14 +6859,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6298,7 +6876,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6308,84 +6886,79 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: certificates: id: digitalocean.certificates.certificates name: certificates title: Certificates methods: - list: + certificates_list: operation: $ref: '#/paths/~1v2~1certificates/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_certificates' objectKey: $.certificates - _list: - operation: - $ref: '#/paths/~1v2~1certificates/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + certificates_create: operation: $ref: '#/paths/~1v2~1certificates/post' response: mediaType: application/json openAPIDocKey: '201' - get: - operation: - $ref: '#/paths/~1v2~1certificates~1{certificate_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/new_certificate' objectKey: $.certificate - _get: + certificates_get: operation: $ref: '#/paths/~1v2~1certificates~1{certificate_id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/existing_certificate' + objectKey: $.certificate + certificates_delete: operation: $ref: '#/paths/~1v2~1certificates~1{certificate_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/certificates/methods/list' - - $ref: '#/components/x-stackQL-resources/certificates/methods/get' + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_get' + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_list' insert: - - $ref: '#/components/x-stackQL-resources/certificates/methods/create' + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/certificates/methods/delete' + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_delete' paths: /v2/certificates: get: operationId: certificates_list summary: List All Certificates - description: 'To list all of the certificates available on your account, send a GET request to `/v2/certificates`.' + description: To list all of the certificates available on your account, send a GET request to `/v2/certificates`. parameters: - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/certificate_name' tags: - Certificates responses: @@ -6436,20 +7009,26 @@ paths: certificates = client.certificates.all certificates.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.certificates.list() security: - bearer_auth: - - read + - certificate:read post: operationId: certificates_create summary: Create a New Certificate description: | To upload new SSL certificate which you have previously generated, send a POST request to `/v2/certificates`. - When uploading a user-generated certificate, the `private_key`, `leaf_certificate`, and optionally the `certificate_chain` attributes should be provided. The type must be set to `custom`. - When using Let's Encrypt to create a certificate, the `dns_names` attribute must be provided, and the type must be set to `lets_encrypt`. tags: @@ -6540,14 +7119,30 @@ paths: ) client.certificates.create(certificate) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_resp = client.certificates.create( + { + "name": "web-cert-01", + "type": "lets_encrypt", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52\nSVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1\nDwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X\nwrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w\nZ2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F\nZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX\nfqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l\n9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm\ncVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt\neRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF\n0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x\ngtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh\nGGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+\nP8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj\nIntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49\nW1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ\n3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt\nNfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx\npxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG\nRKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0\no4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E\nsAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW\nJUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo\nQbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/\nAangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg\neTuK2xNR0PIM8OI7pRpgyj1I\n-----END PRIVATE KEY-----", + "leaf_certificate": "-----BEGIN CERTIFICATE-----\nMIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x\nNzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j\nb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+\nCYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb\n8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4\noFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz\nZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna\nk/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb\nQwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\nBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1\nMbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG\nCCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl\ndHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s\nZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu\nZy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW\nMCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB\nBQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1\ncG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp\ndGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl\nbmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM\nPKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e\niXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD\nD3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7\nq9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/\nWyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu\nUlF1zblDmg2Iaw==\n-----END CERTIFICATE-----", + "certificate_chain": "-----BEGIN CERTIFICATE-----\nMIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x\nNzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j\nb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+\nCYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb\n8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4\noFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz\nZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna\nk/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb\nQwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\nBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1\nMbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG\nCCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl\ndHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s\nZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu\nZy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW\nMCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB\nBQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1\ncG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp\ndGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl\nbmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM\nPKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e\niXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD\nD3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7\nq9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/\nWyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu\nUlF1zblDmg2Iaw==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/\nMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\nDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow\nSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT\nGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF\nq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8\nSMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0\nZ8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA\na6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj\n/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG\nCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv\nbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k\nc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw\nVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC\nARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz\nMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu\nY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF\nAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo\nuM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/\nwApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu\nX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG\nPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6\nKOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n-----END CERTIFICATE-----", + } + ) security: - bearer_auth: - - write - '/v2/certificates/{certificate_id}': + - certificate:create + /v2/certificates/{certificate_id}: get: operationId: certificates_get summary: Retrieve an Existing Certificate - description: 'To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`.' + description: To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. tags: - Certificates parameters: @@ -6596,9 +7191,19 @@ paths: client = DropletKit::Client.new(access_token: token) client.certificates.find(id: '892071a0-bb95-49bc-8021-3afd67a210bf') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.certificates.get( + certificate_id="892071a0-bb95-49bc-8021-3afd67a210bf" + ) security: - bearer_auth: - - read + - certificate:read delete: operationId: certificates_delete summary: Delete a Certificate @@ -6653,6 +7258,16 @@ paths: client = DropletKit::Client.new(access_token: token) client.certificates.delete(id: '892071a0-bb95-49bc-8021-3afd67a210bf') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + del_resp = client.certificates.delete( + certificate_id="892071a0-bb95-49bc-8021-3afd67a210bf" + ) security: - bearer_auth: - - write + - certificate:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/container_registry.yaml b/providers/src/digitalocean/v00.00.00000/services/container_registry.yaml index a259df57..3a1c9f05 100644 --- a/providers/src/digitalocean/v00.00.00000/services/container_registry.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/container_registry.yaml @@ -1,18 +1,25 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - container_registry version: '2.0' - description: Container Registry license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - container_registry + description: |- + DigitalOcean offers the ability for you to create a + [private container registry](https://docs.digitalocean.com/products/container-registry/) + to store your Docker images for use with your Kubernetes clusters. This + container registry runs inside the same datacenters as your cluster, + ensuring reliable and performant rollout of image deployments. + You can only create one registry per DigitalOcean account, but you can use + that registry to create as many repositories as you wish. security: - bearer_auth: [] tags: @@ -20,52 +27,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +71,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +86,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +112,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +161,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +169,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +184,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +206,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +224,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +276,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +292,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +307,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +334,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +352,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,166 +387,37 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - registry: - type: object - properties: - name: - type: string - maxLength: 63 - pattern: '^[a-z0-9-]{1,63}$' - example: example - description: 'A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.' - created_at: - type: string - format: date-time - readOnly: true - example: '2020-03-21T16:02:37Z' - description: A time value given in ISO8601 combined date and time format that represents when the registry was created. - region: - type: string - example: fra1 - description: Slug of the region where registry data is stored - storage_usage_bytes: - type: integer - readOnly: true - example: 29393920 - description: The amount of storage used in the registry in bytes. - storage_usage_bytes_updated_at: - type: string - format: date-time - readOnly: true - example: '2020-11-04T21:39:49.530562231Z' - description: 'The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry.' - subscription: - allOf: - - readOnly: true - - $ref: '#/components/schemas/subscription' - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - subscription: - type: object - properties: - tier: - $ref: '#/components/schemas/subscription_tier_base' - created_at: - type: string - format: date-time - readOnly: true - example: '2020-01-23T21:19:12Z' - description: The time at which the subscription was created. - updated_at: - type: string - format: date-time - readOnly: true - example: '2020-11-05T15:53:24Z' - description: The time at which the subscription was last updated. - subscription_tier_base: - type: object - properties: - name: - type: string - example: Basic - description: The name of the subscription tier. - slug: - type: string - example: basic - description: The slug identifier of the subscription tier. - included_repositories: - type: integer - example: 5 - description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. - included_storage_bytes: - type: integer - example: 5368709120 - description: The amount of storage included in the subscription tier in bytes. - allow_storage_overage: - type: boolean - example: true - description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. - included_bandwidth_bytes: - type: integer - example: 5368709120 - description: The amount of outbound data transfer included in the subscription tier in bytes. - monthly_price_in_cents: - type: integer - example: 500 - description: The monthly cost of the subscription tier in cents. - storage_overage_price_in_cents: - type: integer - example: 2 - description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. registry_create: type: object properties: name: type: string maxLength: 63 - pattern: '^[a-z0-9-]{1,63}$' + pattern: ^[a-z0-9-]{1,63}$ example: example - description: 'A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.' + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. subscription_tier_slug: type: string enum: @@ -650,270 +435,21 @@ components: - sgp1 - fra1 example: fra1 - description: 'Slug of the region where registry data is stored. When not provided, a region will be selected.' + description: Slug of the region where registry data is stored. When not provided, a region will be selected. required: - name - subscription_tier_slug - docker_credentials: - type: object - properties: - auths: - type: object - properties: - registry.digitalocean.com: - type: object - properties: - auth: - type: string - example: YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK - description: A base64 encoded string containing credentials for the container registry. validate_registry: type: object properties: name: type: string maxLength: 63 - pattern: '^[a-z0-9-]{1,63}$' + pattern: ^[a-z0-9-]{1,63}$ example: example - description: 'A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.' + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. required: - name - repository: - type: object - properties: - registry_name: - type: string - example: example - description: The name of the container registry. - name: - type: string - example: repo-1 - description: The name of the repository. - latest_tag: - $ref: '#/components/schemas/repository_tag' - tag_count: - type: integer - example: 1 - description: The number of tags in the repository. - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - repository_tag: - type: object - properties: - registry_name: - type: string - example: example - description: The name of the container registry. - repository: - type: string - example: repo-1 - description: The name of the repository. - tag: - type: string - example: latest - description: The name of the tag. - manifest_digest: - type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - description: The digest of the manifest associated with the tag. - compressed_size_bytes: - type: integer - example: 2803255 - description: The compressed size of the tag in bytes. - size_bytes: - type: integer - example: 5861888 - description: The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). - updated_at: - type: string - format: date-time - example: '2020-04-09T23:54:25Z' - description: The time the tag was last updated. - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - repository_v2: - type: object - properties: - registry_name: - type: string - example: example - description: The name of the container registry. - name: - type: string - example: repo-1 - description: The name of the repository. - latest_manifest: - $ref: '#/components/schemas/repository_manifest' - tag_count: - type: integer - example: 1 - description: The number of tags in the repository. - manifest_count: - type: integer - example: 1 - description: The number of manifests in the repository. - repository_manifest: - type: object - properties: - registry_name: - type: string - example: example - description: The name of the container registry. - repository: - type: string - example: repo-1 - description: The name of the repository. - digest: - type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - description: The manifest digest - compressed_size_bytes: - type: integer - example: 2803255 - description: The compressed size of the manifest in bytes. - size_bytes: - type: integer - example: 5861888 - description: The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). - updated_at: - type: string - format: date-time - example: '2020-04-09T23:54:25Z' - description: The time the manifest was last updated. - tags: - type: array - items: - type: string - example: - - latest - - v1 - - v2 - description: All tags associated with this manifest - blobs: - type: array - items: - $ref: '#/components/schemas/repository_blob' - description: All blobs associated with this manifest - repository_blob: - type: object - properties: - digest: - type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - description: The digest of the blob - compressed_size_bytes: - type: integer - example: 2803255 - description: The compressed size of the blob in bytes. - garbage_collection: - type: object - properties: - uuid: - type: string - example: eff0feee-49c7-4e8f-ba5c-a320c109c8a8 - description: A string specifying the UUID of the garbage collection. - registry_name: - type: string - example: example - description: The name of the container registry. - status: - type: string - enum: - - requested - - waiting for write JWTs to expire - - scanning manifests - - deleting unreferenced blobs - - cancelling - - failed - - succeeded - - cancelled - example: requested - description: The current status of this garbage collection. - created_at: - type: string - format: date-time - example: '2020-10-30T21:03:24Z' - description: The time the garbage collection was created. - updated_at: - type: string - format: date-time - example: '2020-10-30T21:03:44Z' - description: The time the garbage collection was last updated. - blobs_deleted: - type: integer - example: 42 - description: The number of blobs deleted as a result of this garbage collection. - freed_bytes: - type: integer - example: 667 - description: The number of bytes freed as a result of this garbage collection. update_registry: type: object properties: @@ -921,23 +457,6 @@ components: type: boolean example: true description: A boolean value indicating that the garbage collection should be cancelled. - subscription_tier_extended: - type: object - properties: - eligible: - type: boolean - example: true - description: A boolean indicating whether your account it eligible to use a certain subscription tier. - eligibility_reasons: - type: array - items: - type: string - enum: - - OverRepositoryLimit - - OverStorageLimit - example: - - OverRepositoryLimit - description: 'If your account is not eligible to use a certain subscription tier, this will include a list of reasons that prevent you from using the tier.' parameters: oneClicks_type: in: query @@ -978,8 +497,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -998,7 +523,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1008,7 +533,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1041,7 +566,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1061,6 +586,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1071,6 +597,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1088,14 +615,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1103,7 +622,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1122,6 +641,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1197,6 +725,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1207,7 +759,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1240,11 +792,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1253,6 +805,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1260,7 +823,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1362,7 +925,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1469,7 +1032,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1477,11 +1040,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1496,7 +1109,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1506,7 +1119,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1540,7 +1153,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1560,7 +1173,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1607,12 +1220,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1626,8 +1239,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1655,6 +1294,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1678,30 +1326,143 @@ components: description: The response will be a JSON object with the key `registry` containing information about your registry. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: registry: - $ref: '#/components/schemas/registry' + type: object + properties: + name: + type: string + maxLength: 63 + pattern: ^[a-z0-9-]{1,63}$ + example: example + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-21T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the registry was created. + region: + type: string + example: fra1 + description: Slug of the region where registry data is stored + storage_usage_bytes: + type: integer + readOnly: true + example: 29393920 + description: The amount of storage used in the registry in bytes. + storage_usage_bytes_updated_at: + type: string + format: date-time + readOnly: true + example: '2020-11-04T21:39:49.530562231Z' + description: The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. + subscription: + readOnly: true + properties: + tier: + type: object + properties: + name: + type: string + example: Basic + description: The name of the subscription tier. + slug: + type: string + example: basic + description: The slug identifier of the subscription tier. + included_repositories: + type: integer + example: 5 + description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. + included_storage_bytes: + type: integer + example: 5368709120 + description: The amount of storage included in the subscription tier in bytes. + allow_storage_overage: + type: boolean + example: true + description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. + included_bandwidth_bytes: + type: integer + example: 5368709120 + description: The amount of outbound data transfer included in the subscription tier in bytes. + monthly_price_in_cents: + type: integer + example: 500 + description: The monthly cost of the subscription tier in cents. + storage_overage_price_in_cents: + type: integer + example: 2 + description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-01-23T21:19:12Z' + description: The time at which the subscription was created. + updated_at: + type: string + format: date-time + readOnly: true + example: '2020-11-05T15:53:24Z' + description: The time at which the subscription was last updated. + type: object unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1709,15 +1470,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1725,15 +1511,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1741,15 +1552,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1757,24 +1593,58 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1782,43 +1652,145 @@ components: description: The response will be a JSON object with a key called `subscription` containing information about your subscription. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: subscription: - $ref: '#/components/schemas/subscription' + type: object + properties: + tier: + type: object + properties: + name: + type: string + example: Basic + description: The name of the subscription tier. + slug: + type: string + example: basic + description: The slug identifier of the subscription tier. + included_repositories: + type: integer + example: 5 + description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. + included_storage_bytes: + type: integer + example: 5368709120 + description: The amount of storage included in the subscription tier in bytes. + allow_storage_overage: + type: boolean + example: true + description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. + included_bandwidth_bytes: + type: integer + example: 5368709120 + description: The amount of outbound data transfer included in the subscription tier in bytes. + monthly_price_in_cents: + type: integer + example: 500 + description: The monthly cost of the subscription tier in cents. + storage_overage_price_in_cents: + type: integer + example: 2 + description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-01-23T21:19:12Z' + description: The time at which the subscription was created. + updated_at: + type: string + format: date-time + readOnly: true + example: '2020-11-05T15:53:24Z' + description: The time at which the subscription was last updated. docker_credentials: description: A Docker `config.json` file for the container registry. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/docker_credentials' + type: object + properties: + auths: + type: object + properties: + registry.digitalocean.com: + type: object + properties: + auth: + type: string + example: YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK + description: A base64 encoded string containing credentials for the container registry. conflict: description: Conflict headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: conflict message: The request could not be completed due to a conflict. @@ -1826,101 +1798,291 @@ components: description: The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - repositories: - type: array - items: - $ref: '#/components/schemas/repository' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: repositories: - - registry_name: example - name: repo-1 - latest_tag: - registry_name: example - repository: repo-1 - tag: latest - manifest_digest: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - compressed_size_bytes: 2803255 - size_bytes: 5861888 - updated_at: '2020-04-09T23:54:25Z' - tag_count: 1 + type: array + items: + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + name: + type: string + example: repo-1 + description: The name of the repository. + latest_tag: + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + repository: + type: string + example: repo-1 + description: The name of the repository. + tag: + type: string + example: latest + description: The name of the tag. + manifest_digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the manifest associated with the tag. + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the tag in bytes. + size_bytes: + type: integer + example: 5861888 + description: The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). + updated_at: + type: string + format: date-time + example: '2020-04-09T23:54:25Z' + description: The time the tag was last updated. + tag_count: + type: integer + example: 1 + description: The number of tags in the repository. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta all_repositories_v2: description: The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - repositories: - type: array - items: - $ref: '#/components/schemas/repository_v2' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: repositories: - - registry_name: example - name: repo-1 - tag_count: 57 - manifest_count: 82 - latest_manifest: - digest: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - registry_name: example - repository: repo-1 - compressed_size_bytes: 1972332 - size_bytes: 2816445 - updated_at: '2021-04-09T23:54:25Z' - tags: - - v1 - - v2 - blobs: - - digest: 'sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab' - compressed_size_bytes: 1471 - - digest: 'sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e' - compressed_size_byte: 2814446 - - digest: 'sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a' - compressed_size_bytes: 528 - meta: - total: 5 + type: array + items: + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + name: + type: string + example: repo-1 + description: The name of the repository. + latest_manifest: + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + repository: + type: string + example: repo-1 + description: The name of the repository. + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The manifest digest + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the manifest in bytes. + size_bytes: + type: integer + example: 5861888 + description: The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). + updated_at: + type: string + format: date-time + example: '2020-04-09T23:54:25Z' + description: The time the manifest was last updated. + tags: + type: array + items: + type: string + example: + - latest + - v1 + - v2 + description: All tags associated with this manifest + blobs: + type: array + items: + type: object + properties: + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the blob + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the blob in bytes. + description: All blobs associated with this manifest + tag_count: + type: integer + example: 1 + description: The number of tags in the repository. + manifest_count: + type: integer + example: 1 + description: The number of manifests in the repository. links: - pages: - next: 'https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1' - last: 'https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=5&per_page=1' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta bad_request: description: Bad Request headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: bad_request message: error parsing request body @@ -1929,106 +2091,302 @@ components: description: The response body will be a JSON object with a key of `tags`. This will be set to an array containing objects each representing a tag. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - tags: - type: array - items: - $ref: '#/components/schemas/repository_tag' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: tags: - - registry_name: example - repository: repo-1 - tag: latest - manifest_digest: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - compressed_size_bytes: 2803255 - size_bytes: 5861888 - updated_at: '2020-04-09T23:54:25Z' + type: array + items: + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + repository: + type: string + example: repo-1 + description: The name of the repository. + tag: + type: string + example: latest + description: The name of the tag. + manifest_digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the manifest associated with the tag. + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the tag in bytes. + size_bytes: + type: integer + example: 5861888 + description: The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). + updated_at: + type: string + format: date-time + example: '2020-04-09T23:54:25Z' + description: The time the tag was last updated. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta repository_manifests: description: The response body will be a JSON object with a key of `manifests`. This will be set to an array containing objects each representing a manifest. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - manifests: - type: array - items: - $ref: '#/components/schemas/repository_manifest' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: manifests: - - digest: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' - registry_name: example - repository: repo-1 - compressed_size_bytes: 1972332 - size_bytes: 2816445 - updated_at: '2021-04-09T23:54:25Z' - tags: - - v1 - - v2 - blobs: - - digest: 'sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab' - compressed_size_bytes: 1471 - - digest: 'sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e' - compressed_size_byte: 2814446 - - digest: 'sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a' - compressed_size_bytes: 528 - meta: - total: 3 + type: array + items: + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + repository: + type: string + example: repo-1 + description: The name of the repository. + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The manifest digest + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the manifest in bytes. + size_bytes: + type: integer + example: 5861888 + description: The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). + updated_at: + type: string + format: date-time + example: '2020-04-09T23:54:25Z' + description: The time the manifest was last updated. + tags: + type: array + items: + type: string + example: + - latest + - v1 + - v2 + description: All tags associated with this manifest + blobs: + type: array + items: + type: object + properties: + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the blob + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the blob in bytes. + description: All blobs associated with this manifest links: - pages: - first: 'https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1' - prev: 'https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1' - next: 'https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1' - last: 'https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta garbage_collection: description: The response will be a JSON object with a key of `garbage_collection`. This will be a json object with attributes representing the currently-active garbage collection. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: garbage_collection: - $ref: '#/components/schemas/garbage_collection' + type: object + properties: + uuid: + type: string + example: eff0feee-49c7-4e8f-ba5c-a320c109c8a8 + description: A string specifying the UUID of the garbage collection. + registry_name: + type: string + example: example + description: The name of the container registry. + status: + type: string + enum: + - requested + - waiting for write JWTs to expire + - scanning manifests + - deleting unreferenced blobs + - cancelling + - failed + - succeeded + - cancelled + example: requested + description: The current status of this garbage collection. + created_at: + type: string + format: date-time + example: '2020-10-30T21:03:24Z' + description: The time the garbage collection was created. + updated_at: + type: string + format: date-time + example: '2020-10-30T21:03:44Z' + description: The time the garbage collection was last updated. + blobs_deleted: + type: integer + example: 42 + description: The number of blobs deleted as a result of this garbage collection. + freed_bytes: + type: integer + example: 667 + description: The number of bytes freed as a result of this garbage collection. garbage_collections: description: The response will be a JSON object with a key of `garbage_collections`. This will be set to an array containing objects representing each past garbage collection. Each will contain the standard Garbage Collection attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2037,7 +2395,47 @@ components: garbage_collections: type: array items: - $ref: '#/components/schemas/garbage_collection' + type: object + properties: + uuid: + type: string + example: eff0feee-49c7-4e8f-ba5c-a320c109c8a8 + description: A string specifying the UUID of the garbage collection. + registry_name: + type: string + example: example + description: The name of the container registry. + status: + type: string + enum: + - requested + - waiting for write JWTs to expire + - scanning manifests + - deleting unreferenced blobs + - cancelling + - failed + - succeeded + - cancelled + example: requested + description: The current status of this garbage collection. + created_at: + type: string + format: date-time + example: '2020-10-30T21:03:24Z' + description: The time the garbage collection was created. + updated_at: + type: string + format: date-time + example: '2020-10-30T21:03:44Z' + description: The time the garbage collection was last updated. + blobs_deleted: + type: integer + example: 42 + description: The number of blobs deleted as a result of this garbage collection. + freed_bytes: + type: integer + example: 667 + description: The number of bytes freed as a result of this garbage collection. example: garbage_collections: - uuid: eff0feee-49c7-4e8f-ba5c-a320c109c8a8 @@ -2053,11 +2451,20 @@ components: description: The response will be a JSON object with a key called `options` which contains a key called `subscription_tiers` listing the available tiers. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2075,9 +2482,54 @@ components: subscription_tiers: type: array items: - allOf: - - $ref: '#/components/schemas/subscription_tier_base' - - $ref: '#/components/schemas/subscription_tier_extended' + type: object + properties: + name: + type: string + example: Basic + description: The name of the subscription tier. + slug: + type: string + example: basic + description: The slug identifier of the subscription tier. + included_repositories: + type: integer + example: 5 + description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. + included_storage_bytes: + type: integer + example: 5368709120 + description: The amount of storage included in the subscription tier in bytes. + allow_storage_overage: + type: boolean + example: true + description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. + included_bandwidth_bytes: + type: integer + example: 5368709120 + description: The amount of outbound data transfer included in the subscription tier in bytes. + monthly_price_in_cents: + type: integer + example: 500 + description: The monthly cost of the subscription tier in cents. + storage_overage_price_in_cents: + type: integer + example: 2 + description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. + eligible: + type: boolean + example: true + description: A boolean indicating whether your account it eligible to use a certain subscription tier. + eligibility_reasons: + type: array + items: + type: string + enum: + - OverRepositoryLimit + - OverStorageLimit + example: + - OverRepositoryLimit + description: If your account is not eligible to use a certain subscription tier, this will include a list of reasons that prevent you from using the tier. example: options: available_regions: @@ -2119,39 +2571,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -2166,11 +2627,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2180,7 +2641,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -2190,11 +2651,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2219,11 +2680,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2267,7 +2728,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2276,7 +2737,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2350,6 +2811,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2368,7 +2836,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2378,7 +2846,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2392,7 +2860,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2464,7 +2932,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2472,11 +2940,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2495,7 +2963,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2570,12 +3038,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2589,7 +3064,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2658,7 +3133,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2710,133 +3185,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2904,14 +3405,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -3088,6 +3588,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3168,9 +3673,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3201,13 +3706,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3314,13 +3824,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3426,7 +3941,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3440,6 +3955,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3520,9 +4040,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3553,13 +4073,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3666,12 +4191,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3680,12 +4341,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3702,12 +4363,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3722,6 +4383,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3820,12 +4486,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3834,6 +4500,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3932,12 +4603,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4036,15 +4712,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -4053,6 +4729,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4133,9 +4814,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4166,10 +4847,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4207,13 +4889,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4250,6 +4933,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4339,9 +5023,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4371,7 +5055,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4403,6 +5087,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4686,12 +5371,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4701,8 +5386,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4738,8 +5423,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4775,6 +5460,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4830,7 +5520,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4838,8 +5528,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4880,6 +5570,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4896,7 +5591,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4907,8 +5602,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4944,8 +5639,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4981,6 +5676,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4992,12 +5692,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5007,8 +5707,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5044,8 +5744,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5080,6 +5780,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -5091,12 +5796,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5106,8 +5811,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5143,8 +5848,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5179,6 +5884,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5388,11 +6098,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5444,7 +6154,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5458,11 +6168,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5488,11 +6198,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5518,7 +6228,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5542,7 +6252,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5614,11 +6324,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5730,7 +6440,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5793,7 +6503,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5842,11 +6552,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5918,11 +6628,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -6103,8 +6813,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6142,13 +6872,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -6185,6 +6916,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6274,9 +7006,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6306,7 +7038,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6338,6 +7070,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6386,7 +7119,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6416,7 +7149,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6670,14 +7403,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6687,7 +7420,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6697,27 +7430,27 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: - container_registry: - id: digitalocean.container_registry.container_registry - name: container_registry - title: Container Registry + registries: + id: digitalocean.container_registry.registries + name: registries + title: Registries methods: registry_get: operation: @@ -6725,43 +7458,41 @@ components: response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.registry - _registry_get: - operation: - $ref: '#/paths/~1v2~1registry/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/registry_info' registry_create: operation: $ref: '#/paths/~1v2~1registry/post' response: mediaType: application/json openAPIDocKey: '201' + schemaRef: '#/components/responses/registry_info' registry_delete: operation: $ref: '#/paths/~1v2~1registry/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' registry_validate_name: operation: $ref: '#/paths/~1v2~1registry~1validate-name/post' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/container_registry/methods/registry_get' + - $ref: '#/components/x-stackQL-resources/registries/methods/registry_get' insert: - - $ref: '#/components/x-stackQL-resources/container_registry/methods/registry_create' + - $ref: '#/components/x-stackQL-resources/registries/methods/registry_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/container_registry/methods/registry_delete' - subscription: - id: digitalocean.container_registry.subscription - name: subscription - title: Subscription + - $ref: '#/components/x-stackQL-resources/registries/methods/registry_delete' + registry_subscriptions: + id: digitalocean.container_registry.registry_subscriptions + name: registry_subscriptions + title: Registry Subscriptions methods: registry_get_subscription: operation: @@ -6769,46 +7500,46 @@ components: response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.subscription - _registry_get_subscription: - operation: - $ref: '#/paths/~1v2~1registry~1subscription/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/subscription_response' registry_update_subscription: operation: $ref: '#/paths/~1v2~1registry~1subscription/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/subscription_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/subscription/methods/registry_get_subscription' + - $ref: '#/components/x-stackQL-resources/registry_subscriptions/methods/registry_get_subscription' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/registry_subscriptions/methods/registry_update_subscription' + replace: [] delete: [] - docker_credentials: - id: digitalocean.container_registry.docker_credentials - name: docker_credentials - title: Docker Credentials + registry_docker_credentials: + id: digitalocean.container_registry.registry_docker_credentials + name: registry_docker_credentials + title: Registry Docker Credentials methods: - registry_get_dockerCredentials: + registry_get_docker_credentials: operation: $ref: '#/paths/~1v2~1registry~1docker-credentials/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/docker_credentials' + objectKey: $.auths sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/docker_credentials/methods/registry_get_dockerCredentials' + - $ref: '#/components/x-stackQL-resources/registry_docker_credentials/methods/registry_get_docker_credentials' insert: [] update: [] + replace: [] delete: [] - repositories: - id: digitalocean.container_registry.repositories - name: repositories - title: Repositories + registry_repositories: + id: digitalocean.container_registry.registry_repositories + name: registry_repositories + title: Registry Repositories methods: registry_list_repositories: operation: @@ -6816,158 +7547,138 @@ components: response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_repositories' objectKey: $.repositories - _registry_list_repositories: - operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/repositories/methods/registry_list_repositories' + - $ref: '#/components/x-stackQL-resources/registry_repositories/methods/registry_list_repositories' insert: [] update: [] + replace: [] delete: [] - repositories_v2: - id: digitalocean.container_registry.repositories_v2 - name: repositories_v2 - title: Repositories V2 + registry_repositories_v2: + id: digitalocean.container_registry.registry_repositories_v2 + name: registry_repositories_v2 + title: Registry Repositories V2 methods: - registry_list_repositoriesV2: + registry_list_repositories_v2: operation: $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositoriesV2/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_repositories_v2' objectKey: $.repositories - _registry_list_repositoriesV2: - operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositoriesV2/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/repositories_v2/methods/registry_list_repositoriesV2' + - $ref: '#/components/x-stackQL-resources/registry_repositories_v2/methods/registry_list_repositories_v2' insert: [] update: [] + replace: [] delete: [] - tags: - id: digitalocean.container_registry.tags - name: tags - title: Tags + registry_repositories_tags: + id: digitalocean.container_registry.registry_repositories_tags + name: registry_repositories_tags + title: Registry Repositories Tags methods: - registry_list_repositoryTags: + registry_list_repository_tags: operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1{repository_name}~1tags/get' + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1tags/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/repository_tags' objectKey: $.tags - _registry_list_repositoryTags: - operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1{repository_name}~1tags/get' - response: - mediaType: application/json - openAPIDocKey: '200' - registry_delete_repositoryTag: + registry_delete_repository_tag: operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1{repository_name}~1tags~1{repository_tag}/delete' + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1tags~1{repository_tag}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/tags/methods/registry_list_repositoryTags' + - $ref: '#/components/x-stackQL-resources/registry_repositories_tags/methods/registry_list_repository_tags' insert: [] update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/tags/methods/registry_delete_repositoryTag' - digests: - id: digitalocean.container_registry.digests - name: digests - title: Digests + - $ref: '#/components/x-stackQL-resources/registry_repositories_tags/methods/registry_delete_repository_tag' + registry_repositories_digests: + id: digitalocean.container_registry.registry_repositories_digests + name: registry_repositories_digests + title: Registry Repositories Digests methods: - registry_list_repositoryManifests: + registry_list_repository_manifests: operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1{repository_name}~1digests/get' + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1digests/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/repository_manifests' objectKey: $.manifests - _registry_list_repositoryManifests: - operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1{repository_name}~1digests/get' - response: - mediaType: application/json - openAPIDocKey: '200' - registry_delete_repositoryManifest: + registry_delete_repository_manifest: operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1{repository_name}~1digests~1{manifest_digest}/delete' + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1digests~1{manifest_digest}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/digests/methods/registry_list_repositoryManifests' + - $ref: '#/components/x-stackQL-resources/registry_repositories_digests/methods/registry_list_repository_manifests' insert: [] update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/digests/methods/registry_delete_repositoryManifest' - garbage_collection: - id: digitalocean.container_registry.garbage_collection - name: garbage_collection - title: Garbage Collection + - $ref: '#/components/x-stackQL-resources/registry_repositories_digests/methods/registry_delete_repository_manifest' + registry_garbage_collections: + id: digitalocean.container_registry.registry_garbage_collections + name: registry_garbage_collections + title: Registry Garbage Collections methods: - registry_run_garbageCollection: + registry_run_garbage_collection: operation: $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collection/post' response: mediaType: application/json openAPIDocKey: '201' - registry_get_garbageCollection: - operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collection/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/garbage_collection' objectKey: $.garbage_collection - _registry_get_garbageCollection: + registry_get_garbage_collection: operation: $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collection/get' response: mediaType: application/json openAPIDocKey: '200' - registry_list_garbageCollections: + schemaRef: '#/components/responses/garbage_collection' + objectKey: $.garbage_collection + registry_list_garbage_collections: operation: $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collections/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/garbage_collections' objectKey: $.garbage_collections - _registry_list_garbageCollections: - operation: - $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collections/get' - response: - mediaType: application/json - openAPIDocKey: '200' - registry_update_garbageCollection: + registry_update_garbage_collection: operation: $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collection~1{garbage_collection_uuid}/put' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/garbage_collection' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/garbage_collection/methods/registry_list_garbageCollections' + - $ref: '#/components/x-stackQL-resources/registry_garbage_collections/methods/registry_list_garbage_collections' insert: [] update: [] + replace: [] delete: [] - options: - id: digitalocean.container_registry.options - name: options - title: Options + registry_options: + id: digitalocean.container_registry.registry_options + name: registry_options + title: Registry Options methods: registry_get_options: operation: @@ -6975,25 +7686,21 @@ components: response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/registry_options_response' objectKey: $.options - _registry_get_options: - operation: - $ref: '#/paths/~1v2~1registry~1options/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/options/methods/registry_get_options' + - $ref: '#/components/x-stackQL-resources/registry_options/methods/registry_get_options' insert: [] update: [] + replace: [] delete: [] paths: /v2/registry: get: operationId: registry_get summary: Get Container Registry Information - description: 'To get information about your container registry, send a GET request to `/v2/registry`.' + description: To get information about your container registry, send a GET request to `/v2/registry`. tags: - Container Registry responses: @@ -7014,15 +7721,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.get() security: - bearer_auth: - - read + - registry:read post: operationId: registry_create summary: Create Container Registry description: | To create your container registry, send a POST request to `/v2/registry`. - The `name` becomes part of the URL for images stored in the registry. For example, if your registry is called `example`, an image in it will have the URL `registry.digitalocean.com/example/image:tag`. @@ -7053,13 +7767,27 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name": "example", "subscription_tier_slug": "basic", "region": "fra1"}' \ "https://api.digitalocean.com/v2/registry" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "example", + "subscription_tier_slug": "basic", + "region": "fra1" + } + + resp = client.registry.create(body=req) security: - bearer_auth: - - write + - registry:create delete: operationId: registry_delete summary: Delete Container Registry - description: 'To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`.' + description: To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`. tags: - Container Registry responses: @@ -7082,14 +7810,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.delete() security: - bearer_auth: - - write + - registry:delete /v2/registry/subscription: get: operationId: registry_get_subscription summary: Get Subscription Information - description: 'A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`.' + description: A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`. tags: - Container Registry responses: @@ -7110,13 +7846,21 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/subscription" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.get_subscription() security: - bearer_auth: - - read + - registry:read post: operationId: registry_update_subscription summary: Update Subscription Tier - description: 'After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`.' + description: After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`. tags: - Container Registry requestBody: @@ -7152,9 +7896,21 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"tier_slug": "professional"}' \ "https://api.digitalocean.com/v2/registry/subscription" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "tier_slug": "basic" + } + + resp = client.registry.update_subscription(body=req) security: - bearer_auth: - - write + - registry:update /v2/registry/docker-credentials: get: operationId: registry_get_dockerCredentials @@ -7164,20 +7920,16 @@ paths: Kubernetes cluster, you will need to configure authentication. The necessary JSON configuration can be retrieved by sending a GET request to `/v2/registry/docker-credentials`. - The response will be in the format of a Docker `config.json` file. To use the config in your Kubernetes cluster, create a Secret with: - kubectl create secret generic docr \ --from-file=.dockerconfigjson=config.json \ --type=kubernetes.io/dockerconfigjson - By default, the returned credentials have read-only access to your registry and cannot be used to push images. This is appropriate for most Kubernetes clusters. To retrieve read/write credentials, suitable for use with the Docker client or in a CI system, read_write may be provided as query parameter. For example: `/v2/registry/docker-credentials?read_write=true` - By default, the returned credentials will not expire. To retrieve credentials with an expiry set, expiry_seconds may be provided as a query parameter. For example: `/v2/registry/docker-credentials?expiry_seconds=3600` will return @@ -7205,9 +7957,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/docker-credentials" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.get_docker_credentials() security: - bearer_auth: - - read + - registry:read + - registry:update /v2/registry/validate-name: post: operationId: registry_validate_name @@ -7215,7 +7976,6 @@ paths: description: | To validate that a container registry name is available for use, send a POST request to `/v2/registry/validate-name`. - If the name is both formatted correctly and available, the response code will be 204 and contain no body. If the name is already in use, the response will be a 409 Conflict. @@ -7248,17 +8008,28 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name": "example"}' \ "https://api.digitalocean.com/v2/registry/validate-name" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "example" + } + + resp = client.registry.validate_name(body=req) security: - bearer_auth: - - write - '/v2/registry/{registry_name}/repositories': + - registry:create + /v2/registry/{registry_name}/repositories: get: operationId: registry_list_repositories deprecated: true summary: List All Container Registry Repositories description: | This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint. - To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositories`. tags: @@ -7287,14 +8058,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.list_repositories(registry_name="example") security: - bearer_auth: - - read - '/v2/registry/{registry_name}/repositoriesV2': + - registry:read + /v2/registry/{registry_name}/repositoriesV2: get: operationId: registry_list_repositoriesV2 summary: List All Container Registry Repositories (V2) - description: 'To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`.' + description: To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. tags: - Container Registry parameters: @@ -7330,17 +8109,24 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.list_repositories_v2(registry_name="example") security: - bearer_auth: - - read - '/v2/registry/{registry_name}/{repository_name}/tags': + - registry:read + /v2/registry/{registry_name}/repositories/{repository_name}/tags: get: operationId: registry_list_repositoryTags summary: List All Container Registry Repository Tags description: | To list all tags in your container registry repository, send a GET request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. - Note that if your repository name contains `/` characters, it must be URL-encoded in the request URL. For example, to list tags for `registry.digitalocean.com/example/my/repo`, the path would be @@ -7372,22 +8158,28 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/tags" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.list_repository_tags(registry_name="example", repository_name="repo01") security: - bearer_auth: - - read - '/v2/registry/{registry_name}/{repository_name}/tags/{repository_tag}': + - registry:read + /v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}: delete: operationId: registry_delete_repositoryTag summary: Delete Container Registry Repository Tag description: | To delete a container repository tag, send a DELETE request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`. - Note that if your repository name contains `/` characters, it must be URL-encoded in the request URL. For example, to delete `registry.digitalocean.com/example/my/repo:mytag`, the path would be `/v2/registry/example/repositories/my%2Frepo/tags/mytag`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -7416,17 +8208,24 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/tags/mytag" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.delete_repository_tag(registry_name="example", repository_name="repo-1", repository_tag="06a447a") security: - bearer_auth: - - write - '/v2/registry/{registry_name}/{repository_name}/digests': + - registry:delete + /v2/registry/{registry_name}/repositories/{repository_name}/digests: get: operationId: registry_list_repositoryManifests summary: List All Container Registry Repository Manifests description: | To list all manifests in your container registry repository, send a GET request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. - Note that if your repository name contains `/` characters, it must be URL-encoded in the request URL. For example, to list manifests for `registry.digitalocean.com/example/my/repo`, the path would be @@ -7458,22 +8257,28 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.list_repository_manifests(registry_name="example", repository_name="repo01") security: - bearer_auth: - - read - '/v2/registry/{registry_name}/{repository_name}/digests/{manifest_digest}': + - registry:read + /v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}: delete: operationId: registry_delete_repositoryManifest summary: Delete Container Registry Repository Manifest description: | To delete a container repository manifest by digest, send a DELETE request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`. - Note that if your repository name contains `/` characters, it must be URL-encoded in the request URL. For example, to delete `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be `/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -7502,10 +8307,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests/sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.delete_repository_manifest(registry_name="example", repository_name="repo-1", manifest_digest="sha256:cb8a924afd") security: - bearer_auth: - - write - '/v2/registry/{registry_name}/garbage-collection': + - registry:delete + /v2/registry/{registry_name}/garbage-collection: post: operationId: registry_run_garbageCollection summary: Start Garbage Collection @@ -7514,13 +8327,11 @@ paths: manifest data) after deleting one or more manifests from a repository. If there are no unreferenced blobs resulting from the deletion of one or more manifests, garbage collection is effectively a noop. - [See here for more information](https://www.digitalocean.com/docs/container-registry/how-to/clean-up-container-registry/) + [See here for more information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/) about how and why you should clean up your container registry periodically. - To request a garbage collection run on your registry, send a POST request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. This will initiate the following sequence of events on your registry. - * Set the registry to read-only mode, meaning no further write-scoped JWTs will be issued to registry clients. Existing write-scoped JWTs will continue to work until they expire which can take up to 15 minutes. @@ -7555,13 +8366,21 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collection" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.run_garbage_collection(registry_name="example") security: - bearer_auth: - - write + - registry:create get: operationId: registry_get_garbageCollection summary: Get Active Garbage Collection - description: 'To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`.' + description: To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. tags: - Container Registry parameters: @@ -7586,14 +8405,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collection" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.get_garbage_collection(registry_name="example") security: - bearer_auth: - - write - '/v2/registry/{registry_name}/garbage-collections': + - registry:read + /v2/registry/{registry_name}/garbage-collections: get: operationId: registry_list_garbageCollections summary: List Garbage Collections - description: 'To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`.' + description: To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. tags: - Container Registry parameters: @@ -7620,14 +8447,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collections" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.list_garbage_collections(registry_name="example") security: - bearer_auth: - - write - '/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}': + - registry:read + /v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}: put: operationId: registry_update_garbageCollection summary: Update Garbage Collection - description: 'To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below.' + description: To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. tags: - Container Registry parameters: @@ -7659,9 +8494,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collection/example-gc-uuid" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.run_garbage_collection(registry_name="example") security: - bearer_auth: - - write + - registry:update /v2/registry/options: get: operationId: registry_get_options @@ -7691,6 +8534,14 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/options" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.registry.get_options() security: - bearer_auth: - - read + - registry:read diff --git a/providers/src/digitalocean/v00.00.00000/services/databases.yaml b/providers/src/digitalocean/v00.00.00000/services/databases.yaml index 875fb802..1578f466 100644 --- a/providers/src/digitalocean/v00.00.00000/services/databases.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/databases.yaml @@ -1,18 +1,36 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - databases version: '2.0' - description: Databases license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - databases + description: |- + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) + simplifies the creation and management of highly available database clusters. Currently, it + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). + By sending requests to the `/v2/databases` endpoint, you can list, create, or delete + database clusters as well as scale the size of a cluster, add or remove read-only replicas, + and manage other configuration details. + Database clusters may be deployed in a multi-node, high-availability configuration. + If your machine type is above the basic nodes, your node plan is above the smallest option, + or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. + The size of individual nodes in a database cluster is represented by a human-readable slug, + which is used in some of the following requests. Each slug denotes the node's identifier, + CPU count, and amount of RAM, in that order. + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). security: - bearer_auth: [] tags: @@ -20,52 +38,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +82,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +97,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +123,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +172,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +180,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +195,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +217,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +235,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +287,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +303,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +318,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +345,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +363,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,176 +398,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - options: - type: object - properties: - options: - type: object - properties: - mongodb: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' - pg: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' - mysql: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' - redis: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' - version_availability: - type: object - properties: - pg: - $ref: '#/components/schemas/database_version_availabilities' - mysql: - $ref: '#/components/schemas/database_version_availabilities' - redis: - $ref: '#/components/schemas/database_version_availabilities' - mongodb: - $ref: '#/components/schemas/database_version_availabilities' - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - database_region_options: - type: object - properties: - regions: - type: array - items: - type: string - example: - - ams3 - - blr1 - readOnly: true - description: An array of strings containing the names of available regions - database_version_options: - type: object - properties: - versions: - type: array - items: - type: string - example: - - '4.4' - - '5.0' - readOnly: true - description: An array of strings containing the names of available regions - database_layout_options: - type: object - properties: - layouts: - type: array - readOnly: true - description: 'An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node''s identifier, CPU, and RAM (in that order).' - items: - $ref: '#/components/schemas/database_layout_option' - database_version_availabilities: - type: array - description: 'An array of objects, each indicating the version end-of-life, end-of-availability for various database engines' - items: - $ref: '#/components/schemas/database_version_availability' - database_layout_option: - type: object - properties: - num_nodes: - type: integer - example: 1 - sizes: - type: array - items: - type: string - example: - - db-s-1vcpu-1gb - - db-s-1vcpu-2gb - readOnly: true - description: An array of objects containing the slugs available with various node counts - database_version_availability: - type: object - properties: - end_of_life: - type: string - example: '2023-11-09T00:00:00Z' - description: 'A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.' - end_of_availability: - type: string - example: '2023-05-09T00:00:00Z' - description: 'A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.' - version: - type: string - example: '8' - description: The engine version. database_cluster: type: object properties: @@ -655,20 +432,27 @@ components: name: type: string example: backend - description: 'A unique, human-readable name referring to a database cluster.' + description: A unique, human-readable name referring to a database cluster. engine: type: string - example: pg + example: mysql enum: - pg - mysql - redis - mongodb - description: 'A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Redis, and "mongodb" for MongoDB.' + - kafka + - opensearch + description: 'A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Redis, "mongodb" for MongoDB, "kafka" for Kafka, and "opensearch" for OpenSearch.' version: type: string - example: '10' + example: '8' description: A string representing the version of the database engine in use for the cluster. + semantic_version: + type: string + example: 8.0.28 + description: A string representing the semantic version of the database engine in use for the cluster. + readOnly: true num_nodes: type: integer example: 2 @@ -700,9 +484,9 @@ components: readOnly: true private_network_uuid: type: string - pattern: '^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}' + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} example: d455e75d-4858-4eec-8c95-da2f0a5f93a7 - description: 'A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account''s default VPC for the region.' + description: A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. tags: type: array items: @@ -720,113 +504,1797 @@ components: nullable: true readOnly: true description: An array of strings containing the names of databases created in the database cluster. + ui_connection: + type: object + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the opensearch cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the opensearch dashboard is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the opensearch dashboard. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true users: type: array nullable: true items: - $ref: '#/components/schemas/database_user' + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + required: + - name readOnly: true maintenance_window: - allOf: - - $ref: '#/components/schemas/database_maintenance_window' - - readOnly: true + type: object + nullable: true + properties: + day: + type: string + example: tuesday + description: The day of the week on which to apply maintenance updates. + hour: + type: string + example: '14:00' + description: The hour in UTC at which maintenance updates will be applied in 24 hour format. + pending: + type: boolean + example: true + description: A boolean value indicating whether any maintenance is scheduled to be performed in the next window. + readOnly: true + description: + type: array + items: + type: string + description: A list of strings, each containing information about a pending maintenance update. + example: + - Update TimescaleDB to version 1.2.1 + - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases + readOnly: true + required: + - day + - hour + readOnly: true project_id: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: 'The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.' + description: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project. rules: type: array items: - $ref: '#/components/schemas/firewall_rule' + type: object + properties: + uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID for the database cluster to which the rule is applied. + type: + type: string + enum: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: + type: string + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + readOnly: true + required: + - type + - value version_end_of_life: type: string example: '2023-11-09T00:00:00Z' readOnly: true - description: 'A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline.' + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. version_end_of_availability: type: string example: '2023-05-09T00:00:00Z' readOnly: true - description: 'A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline.' + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + metrics_endpoints: + type: array + items: + type: object + properties: + host: + type: string + description: A FQDN pointing to the database cluster's node(s). + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which a service is listening. + example: 9273 + readOnly: true + description: Public hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s). + readOnly: true required: - name - engine - num_nodes - size - region - database_connection: + database_backup: type: object properties: - uri: + database_name: type: string - description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. - example: 'postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' - readOnly: true - database: + example: backend + description: The name of an existing database cluster from which the backup will be restored. + backup_created_at: type: string - description: The name of the default database. - example: defaultdb - readOnly: true - host: + format: date-time + example: '2019-01-31T19:25:22Z' + description: The timestamp of an existing database cluster backup in ISO8601 combined date and time format. The most recent backup will be used if excluded. + required: + - database_name + database_config: + type: object + properties: + config: + anyOf: + - type: object + properties: + backup_hour: + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 23 + type: integer + example: 3 + backup_minute: + description: The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 59 + type: integer + example: 30 + sql_mode: + description: Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas. + type: string + pattern: ^[A-Z_]*(,[A-Z_]+)*$ + example: ANSI,TRADITIONAL + maxLength: 1024 + connect_timeout: + description: The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. + type: integer + minimum: 2 + maximum: 3600 + example: 10 + default_time_zone: + description: Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default. + type: string + example: '+03:00' + minLength: 2 + maxLength: 100 + group_concat_max_len: + description: The maximum permitted result length, in bytes, for the GROUP_CONCAT() function. + type: integer + minimum: 4 + maximum: 18446744073709552000 + example: 1024 + information_schema_stats_expiry: + description: The time, in seconds, before cached statistics expire. + type: integer + minimum: 900 + maximum: 31536000 + example: 86400 + innodb_ft_min_token_size: + description: The minimum length of words that an InnoDB FULLTEXT index stores. + type: integer + minimum: 0 + maximum: 16 + example: 3 + innodb_ft_server_stopword_table: + description: The InnoDB FULLTEXT index stopword list for all InnoDB tables. + type: string + pattern: ^.+/.+$ + example: db_name/table_name + maxLength: 1024 + innodb_lock_wait_timeout: + description: The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up. + type: integer + minimum: 1 + maximum: 3600 + example: 50 + innodb_log_buffer_size: + description: The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk. + type: integer + minimum: 1048576 + maximum: 4294967295 + example: 16777216 + innodb_online_alter_log_max_size: + description: The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables. + type: integer + minimum: 65536 + maximum: 1099511627776 + example: 134217728 + innodb_print_all_deadlocks: + description: When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default. + type: boolean + example: true + innodb_rollback_on_timeout: + description: When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction. + type: boolean + example: true + interactive_timeout: + description: The time, in seconds, the server waits for activity on an interactive. connection before closing it. + type: integer + minimum: 30 + maximum: 604800 + example: 3600 + internal_tmp_mem_storage_engine: + description: The storage engine for in-memory internal temporary tables. + type: string + enum: + - TempTable + - MEMORY + example: TempTable + net_read_timeout: + description: The time, in seconds, to wait for more data from an existing connection. aborting the read. + type: integer + minimum: 1 + maximum: 3600 + example: 30 + net_write_timeout: + description: The number of seconds to wait for a block to be written to a connection before aborting the write. + type: integer + minimum: 1 + maximum: 3600 + example: 30 + sql_require_primary_key: + description: Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. + type: boolean + example: true + wait_timeout: + description: The number of seconds the server waits for activity on a noninteractive connection before closing it. + type: integer + minimum: 1 + maximum: 2147483 + example: 28800 + max_allowed_packet: + description: The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M). + type: integer + minimum: 102400 + maximum: 1073741824 + example: 67108864 + max_heap_table_size: + description: The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M) + type: integer + minimum: 1048576 + maximum: 1073741824 + example: 16777216 + sort_buffer_size: + description: The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K). + type: integer + minimum: 32768 + maximum: 1073741824 + example: 262144 + tmp_table_size: + description: The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). + type: integer + minimum: 1048576 + maximum: 1073741824 + example: 16777216 + slow_query_log: + description: When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false. + type: boolean + example: true + long_query_time: + description: The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds. + type: number + minimum: 0 + maximum: 3600 + example: 10 + binlog_retention_period: + description: The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector. + type: number + minimum: 600 + maximum: 86400 + example: 600 + innodb_change_buffer_max_size: + description: Specifies the maximum size of the InnoDB change buffer as a percentage of the buffer pool. + type: integer + minimum: 0 + maximum: 50 + example: 25 + innodb_flush_neighbors: + description: |- + Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent. + - 0 — disables this functionality, dirty pages in the same extent are not flushed. + - 1 — flushes contiguous dirty pages in the same extent. + - 2 — flushes dirty pages in the same extent. + type: integer + enum: + - 0 + - 1 + - 2 + example: 0 + innodb_read_io_threads: + description: The number of I/O threads for read operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_write_io_threads: + description: The number of I/O threads for write operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_thread_concurrency: + description: Defines the maximum number of threads permitted inside of InnoDB. A value of 0 (the default) is interpreted as infinite concurrency (no limit). This variable is intended for performance tuning on high concurrency systems. + type: integer + minimum: 0 + maximum: 1000 + example: 0 + net_buffer_length: + description: Start sizes of connection buffer and result buffer, must be multiple of 1024. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1024 + maximum: 1048576 + example: 4096 + - type: object + properties: + autovacuum_freeze_max_age: + description: Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. + type: integer + minimum: 200000000 + maximum: 1500000000 + example: 200000000 + autovacuum_max_workers: + description: Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. + type: integer + minimum: 1 + maximum: 20 + example: 5 + autovacuum_naptime: + description: Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute. + type: integer + minimum: 0 + maximum: 86400 + example: 43200 + autovacuum_vacuum_threshold: + description: Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. + type: integer + minimum: 0 + maximum: 2147483647 + example: 50 + autovacuum_analyze_threshold: + description: Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. + type: integer + minimum: 0 + maximum: 2147483647 + example: 50 + autovacuum_vacuum_scale_factor: + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). + type: number + minimum: 0 + maximum: 1 + example: 0.2 + autovacuum_analyze_scale_factor: + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size). + type: number + minimum: 0 + maximum: 1 + example: 0.2 + autovacuum_vacuum_cost_delay: + description: Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds. + type: integer + minimum: -1 + maximum: 100 + example: 20 + autovacuum_vacuum_cost_limit: + description: Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. + type: integer + minimum: -1 + maximum: 10000 + example: -1 + backup_hour: + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 23 + type: integer + example: 3 + backup_minute: + description: The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. + minimum: 0 + maximum: 59 + type: integer + example: 30 + bgwriter_delay: + description: Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms. + type: integer + minimum: 10 + maximum: 10000 + example: 200 + bgwriter_flush_after: + description: The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback. + type: integer + minimum: 0 + maximum: 2048 + example: 512 + bgwriter_lru_maxpages: + description: The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. + type: integer + minimum: 0 + maximum: 1073741823 + example: 100 + bgwriter_lru_multiplier: + description: The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0. + type: number + minimum: 0 + maximum: 10 + example: 2 + deadlock_timeout: + description: The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. + type: integer + minimum: 500 + maximum: 1800000 + example: 1000 + default_toast_compression: + description: Specifies the default TOAST compression method for values of compressible columns (the default is lz4). + type: string + enum: + - lz4 + - pglz + example: lz4 + idle_in_transaction_session_timeout: + description: Time out sessions with open transactions after this number of milliseconds + type: integer + minimum: 0 + maximum: 604800000 + example: 10000 + jit: + description: Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT). + type: boolean + example: true + log_autovacuum_min_duration: + description: Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. + type: integer + minimum: -1 + maximum: 2147483647 + example: -1 + log_error_verbosity: + description: Controls the amount of detail written in the server log for each message that is logged. + type: string + enum: + - TERSE + - DEFAULT + - VERBOSE + example: VERBOSE + log_line_prefix: + description: Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc. + type: string + enum: + - pid=%p,user=%u,db=%d,app=%a,client=%h + - '%m [%p] %q[user=%u,db=%d,app=%a]' + - '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' + example: pid=%p,user=%u,db=%d,app=%a,client=%h + log_min_duration_statement: + description: Log statements that take more than this number of milliseconds to run. If -1, disables. + type: integer + minimum: -1 + maximum: 86400000 + example: -1 + max_files_per_process: + description: PostgreSQL maximum number of files that can be open per process. + type: integer + minimum: 1000 + maximum: 4096 + example: 2048 + max_prepared_transactions: + description: PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 0 + maximum: 10000 + example: 20 + max_pred_locks_per_transaction: + description: PostgreSQL maximum predicate locks per transaction. + type: integer + minimum: 64 + maximum: 640 + example: 128 + max_locks_per_transaction: + description: PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 64 + maximum: 6400 + example: 128 + max_stack_depth: + description: Maximum depth of the stack in bytes. + type: integer + minimum: 2097152 + maximum: 6291456 + example: 2097152 + max_standby_archive_delay: + description: Max standby archive delay in milliseconds. + type: integer + minimum: 1 + maximum: 43200000 + example: 43200 + max_standby_streaming_delay: + description: Max standby streaming delay in milliseconds. + type: integer + minimum: 1 + maximum: 43200000 + example: 43200 + max_replication_slots: + description: PostgreSQL maximum replication slots. + type: integer + minimum: 8 + maximum: 64 + example: 16 + max_logical_replication_workers: + description: PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). + type: integer + minimum: 4 + maximum: 64 + example: 16 + max_parallel_workers: + description: Sets the maximum number of workers that the system can support for parallel queries. + type: integer + minimum: 0 + maximum: 96 + example: 12 + max_parallel_workers_per_gather: + description: Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. + type: integer + minimum: 0 + maximum: 96 + example: 16 + max_worker_processes: + description: Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 8 + maximum: 96 + example: 16 + pg_partman_bgw.role: + type: string + pattern: ^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$ + maxLength: 64 + example: myrolename + description: Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters. + pg_partman_bgw.interval: + description: Sets the time interval to run pg_partman's scheduled tasks. + type: integer + minimum: 3600 + maximum: 604800 + example: 3600 + pg_stat_statements.track: + description: Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top. + type: string + enum: + - all + - top + - none + example: all + temp_file_limit: + description: PostgreSQL temporary file limit in KiB. If -1, sets to unlimited. + type: integer + example: 5000000 + minimum: -1 + maximum: 2147483647 + timezone: + description: PostgreSQL service timezone + type: string + example: Europe/Helsinki + maxLength: 64 + track_activity_query_size: + description: Specifies the number of bytes reserved to track the currently executing command for each active session. + type: integer + example: 1024 + minimum: 1024 + maximum: 10240 + track_commit_timestamp: + description: Record commit time of transactions. + type: string + enum: + - 'off' + - 'on' + example: 'off' + track_functions: + description: Enables tracking of function call counts and time used. + type: string + enum: + - all + - pl + - none + example: all + track_io_timing: + description: Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. + type: string + enum: + - 'off' + - 'on' + example: 'off' + max_wal_senders: + description: PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 20 + maximum: 64 + example: 32 + wal_sender_timeout: + description: Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000. + type: integer + minimum: 0 + maximum: 10800000 + example: 60000 + wal_writer_delay: + description: WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance + type: integer + minimum: 10 + maximum: 200 + example: 50 + shared_buffers_percentage: + description: Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. + type: number + minimum: 20 + maximum: 60 + example: 41.5 + pgbouncer: + type: object + description: PGBouncer connection pooling settings + properties: + server_reset_query_always: + description: Run server_reset_query (DISCARD ALL) in all pooling modes. + type: boolean + example: false + ignore_startup_parameters: + description: List of parameters to ignore when given in startup packet. + type: array + example: + - extra_float_digits + - search_path + items: + description: Enum of parameters to ignore when given in startup packet. + type: string + enum: + - extra_float_digits + - search_path + maxItems: 32 + min_pool_size: + description: If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + server_lifetime: + description: The pooler closes any unused server connection that has been connected longer than this amount of seconds. + type: integer + minimum: 60 + maximum: 86400 + example: 3600 + server_idle_timeout: + description: 'Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. ' + type: integer + minimum: 0 + maximum: 86400 + example: 600 + autodb_pool_size: + description: If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + autodb_pool_mode: + enum: + - session + - transaction + - statement + example: session + description: PGBouncer pool mode + type: string + autodb_max_db_connections: + description: Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. + type: integer + minimum: 0 + maximum: 2147483647 + example: 1 + autodb_idle_timeout: + description: If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. + type: integer + minimum: 0 + maximum: 86400 + example: 3600 + work_mem: + description: The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB). + type: integer + minimum: 1 + maximum: 1024 + example: 4 + timescaledb: + type: object + description: TimescaleDB extension configuration values + properties: + max_background_workers: + description: The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. + type: integer + minimum: 1 + maximum: 4096 + example: 8 + synchronous_replication: + description: Synchronous replication type. Note that the service plan also needs to support synchronous replication. + type: string + example: 'off' + enum: + - 'off' + - quorum + stat_monitor_enable: + description: Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable. + type: boolean + example: false + max_failover_replication_time_lag: + description: Number of seconds of master unavailability before triggering database failover to standby. The default value is 60. + type: integer + minimum: 10 + maximum: 9223372036854776000 + example: 50 + - type: object + properties: + redis_maxmemory_policy: + type: string + enum: + - noeviction + - allkeys_lru + - allkeys_random + - volatile_lru + - volatile_random + - volatile_ttl + description: |- + A string specifying the desired eviction policy for the Redis cluster. + - `noeviction`: Don't evict any data, returns error when memory limit is reached. + - `allkeys_lru:` Evict any key, least recently used (LRU) first. + - `allkeys_random`: Evict keys in a random order. + - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile_random`: Evict keys with expiration only in a random order. + - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + example: allkeys_lru + redis_pubsub_client_output_buffer_limit: + description: Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. + type: integer + minimum: 32 + maximum: 512 + example: 64 + redis_number_of_databases: + type: integer + minimum: 1 + maximum: 128 + description: Set number of redis databases. Changing this will cause a restart of redis service. + example: 16 + redis_io_threads: + description: Redis IO thread count + type: integer + minimum: 1 + maximum: 32 + example: 1 + redis_lfu_log_factor: + description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies + type: integer + minimum: 0 + maximum: 100 + default: 10 + example: 10 + redis_lfu_decay_time: + description: LFU maxmemory-policy counter decay time in minutes + type: integer + minimum: 1 + maximum: 120 + default: 1 + example: 1 + redis_ssl: + description: | + Require SSL to access Redis. + - When enabled, Redis accepts only SSL connections on port `25061`. + - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections. + type: boolean + default: true + example: true + redis_timeout: + description: Redis idle connection timeout in seconds + type: integer + minimum: 0 + maximum: 31536000 + default: 300 + example: 300 + redis_notify_keyspace_events: + description: |- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. + - `K` — Keyspace events + - `E` — Keyevent events + - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) + - `$` — String commands + - `l` — List commands + - `s` — Set commands + - `h` — Hash commands + - `z` — Sorted set commands + - `t` — Stream commands + - `d` — Module key type events + - `x` — Expired events + - `e` — Evicted events + - `m` — Key miss events + - `n` — New key events + - `A` — Alias for `"g$lshztxed"` + type: string + pattern: ^[KEg\$lshzxeA]*$ + default: '' + maxLength: 32 + example: K + redis_persistence: + type: string + enum: + - 'off' + - rdb + description: When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. + example: rdb + redis_acl_channels_default: + type: string + enum: + - allchannels + - resetchannels + description: Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default. + example: allchannels + - type: object + properties: + default_read_concern: + description: Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/). + type: string + enum: + - local + - available + - majority + default: local + example: local + default_write_concern: + description: Describes the level of acknowledgment requested from MongoDB for write operations clusters. This field can set to either `majority` or a number `0...n` which will describe the number of nodes that must acknowledge the write operation before it is fully accepted. Setting to `0` will request no acknowledgement of the write operation. Learn more [here](https://www.mongodb.com/docs/manual/reference/write-concern/). + type: string + default: majority + example: majority + transaction_lifetime_limit_seconds: + description: Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every `transactionLifetimeLimitSeconds/2 seconds` or at least once every 60 seconds. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds). + type: integer + minimum: 1 + default: 60 + example: 100 + slow_op_threshold_ms: + description: Operations that run for longer than this threshold are considered slow which are then recorded to the diagnostic logs. Higher log levels (verbosity) will record all operations regardless of this threshold on the primary node. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs). + type: integer + minimum: 0 + default: 100 + example: 200 + verbosity: + description: The log message verbosity level. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. 0 includes informational messages while 1...5 increases the level to include debug messages. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity). + type: integer + minimum: 0 + maximum: 5 + default: 0 + example: 3 + - type: object + properties: + compression_type: + description: Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer. + type: string + enum: + - gzip + - snappy + - lz4 + - zstd + - uncompressed + - producer + example: gzip + group_initial_rebalance_delay_ms: + description: The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time. + type: integer + example: 3000 + minimum: 0 + maximum: 300000 + group_min_session_timeout_ms: + description: The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. + type: integer + example: 6000 + minimum: 0 + maximum: 60000 + group_max_session_timeout_ms: + description: The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. + type: integer + example: 1800000 + minimum: 0 + maximum: 1800000 + connections_max_idle_ms: + description: 'Idle connections timeout: the server socket processor threads close the connections that idle for longer than this.' + type: integer + minimum: 1000 + example: 540000 + maximum: 3600000 + max_incremental_fetch_session_cache_slots: + description: The maximum number of incremental fetch sessions that the broker will maintain. + type: integer + example: 1000 + minimum: 1000 + maximum: 10000 + message_max_bytes: + description: The maximum size of message that the server can receive. + type: integer + example: 1048588 + minimum: 0 + maximum: 100001200 + offsets_retention_minutes: + description: Log retention window in minutes for offsets topic + type: integer + example: 10080 + minimum: 1 + maximum: 2147483647 + log_cleaner_delete_retention_ms: + description: How long are delete records retained? + type: integer + minimum: 0 + maximum: 315569260000 + example: 86400000 + log_cleaner_min_cleanable_ratio: + description: Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log_cleaner_max_compaction_lag_ms to enforce compactions sooner, instead of setting a very high value for this option. + type: number + minimum: 0.2 + maximum: 0.9 + example: 0.5 + log_cleaner_max_compaction_lag_ms: + description: The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted + type: integer + minimum: 30000 + maximum: 9223372036854776000 + example: 60000 + log_cleaner_min_compaction_lag_ms: + description: The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 100000 + log_cleanup_policy: + description: The default cleanup policy for segments beyond the retention window + type: string + enum: + - delete + - compact + - compact,delete + example: delete + log_flush_interval_messages: + description: The number of messages accumulated on a log partition before messages are flushed to disk + type: integer + minimum: 1 + maximum: 9223372036854776000 + example: 9223372036854776000 + log_flush_interval_ms: + description: The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 1000000 + log_index_interval_bytes: + description: The interval with which Kafka adds an entry to the offset index + type: integer + minimum: 0 + maximum: 104857600 + example: 4096 + log_index_size_max_bytes: + description: The maximum size in bytes of the offset index + type: integer + minimum: 1048576 + maximum: 104857600 + example: 10485760 + log_message_downconversion_enable: + description: This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. + type: boolean + example: true + log_message_timestamp_type: + description: Define whether the timestamp in the message is message create time or log append time. + type: string + enum: + - CreateTime + - LogAppendTime + example: CreateTime + log_message_timestamp_difference_max_ms: + description: The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 1000000 + log_preallocate: + description: Controls whether to preallocate a file when creating a new segment + type: boolean + example: false + log_retention_bytes: + description: The maximum size of the log before deleting messages + type: integer + minimum: -1 + maximum: 9223372036854776000 + example: 1000000 + log_retention_hours: + description: The number of hours to keep a log file before deleting it + type: integer + minimum: -1 + maximum: 2147483647 + example: 1000000 + log_retention_ms: + description: The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied. + type: integer + minimum: -1 + maximum: 9223372036854776000 + example: 100000000 + log_roll_jitter_ms: + description: The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 10000000 + log_roll_ms: + description: The maximum time before a new log segment is rolled out (in milliseconds). + type: integer + minimum: 1 + maximum: 9223372036854776000 + example: 1000000 + log_segment_bytes: + description: The maximum size of a single log file + type: integer + minimum: 10485760 + maximum: 1073741824 + example: 100000000 + log_segment_delete_delay_ms: + description: The amount of time to wait before deleting a file from the filesystem + type: integer + minimum: 0 + maximum: 3600000 + example: 60000 + auto_create_topics_enable: + description: Enable auto creation of topics + type: boolean + example: true + min_insync_replicas: + description: When a producer sets acks to 'all' (or '-1'), min_insync_replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. + type: integer + minimum: 1 + maximum: 7 + example: 1 + num_partitions: + description: Number of partitions for autocreated topics + type: integer + minimum: 1 + maximum: 1000 + example: 10 + default_replication_factor: + description: Replication factor for autocreated topics + type: integer + minimum: 1 + maximum: 10 + example: 2 + replica_fetch_max_bytes: + description: The number of bytes of messages to attempt to fetch for each partition (defaults to 1048576). This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. + type: integer + minimum: 1048576 + maximum: 104857600 + example: 2097152 + replica_fetch_response_max_bytes: + description: Maximum bytes expected for the entire fetch response (defaults to 10485760). Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum. + type: integer + minimum: 10485760 + maximum: 1048576000 + example: 20971520 + max_connections_per_ip: + description: The maximum number of connections allowed from each ip address (defaults to 2147483647). + type: integer + minimum: 256 + maximum: 2147483647 + example: 512 + producer_purgatory_purge_interval_requests: + description: The purge interval (in number of requests) of the producer request purgatory (defaults to 1000). + type: integer + minimum: 10 + maximum: 10000 + example: 100 + socket_request_max_bytes: + description: The maximum number of bytes in a socket request (defaults to 104857600). + type: integer + minimum: 10485760 + maximum: 209715200 + example: 20971520 + transaction_state_log_segment_bytes: + description: The transaction topic segment bytes should be kept relatively small in order to facilitate faster log compaction and cache loads (defaults to 104857600 (100 mebibytes)). + type: integer + minimum: 1048576 + maximum: 2147483647 + example: 104857600 + transaction_remove_expired_transaction_cleanup_interval_ms: + description: The interval at which to remove transactions that have expired due to transactional.id.expiration.ms passing (defaults to 3600000 (1 hour)). + type: integer + minimum: 600000 + maximum: 3600000 + example: 3600000 + - type: object + properties: + http_max_content_length_bytes: + description: Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes. + type: integer + example: 100000000 + minimum: 1 + maximum: 2147483647 + default: 100000000 + http_max_header_size_bytes: + description: Maximum size of allowed headers, in bytes. + type: integer + example: 8192 + minimum: 1024 + maximum: 262144 + default: 8192 + http_max_initial_line_length_bytes: + description: Maximum length of an HTTP URL, in bytes. + type: integer + example: 4096 + minimum: 1024 + maximum: 65536 + default: 4096 + indices_query_bool_max_clause_count: + description: Maximum number of clauses Lucene BooleanQuery can have. Only increase it if necessary, as it may cause performance issues. + type: integer + example: 1024 + minimum: 64 + maximum: 4096 + default: 1024 + indices_fielddata_cache_size_percentage: + description: Maximum amount of heap memory used for field data cache, expressed as a percentage. Decreasing the value too much will increase overhead of loading field data. Increasing the value too much will decrease amount of heap available for other operations. + type: integer + example: 3 + minimum: 3 + maximum: 100 + indices_memory_index_buffer_size_percentage: + description: Total amount of heap used for indexing buffer before writing segments to disk, expressed as a percentage. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance. + type: integer + example: 10 + minimum: 3 + maximum: 40 + default: 10 + indices_memory_min_index_buffer_size_mb: + description: Minimum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. + type: integer + example: 48 + minimum: 3 + maximum: 2048 + default: 48 + indices_memory_max_index_buffer_size_mb: + description: Maximum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. The default is unbounded. + type: integer + example: 48 + minimum: 3 + maximum: 2048 + indices_queries_cache_size_percentage: + description: Maximum amount of heap used for query cache. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other functionality. + type: integer + example: 10 + minimum: 3 + maximum: 40 + default: 10 + indices_recovery_max_mb_per_sec: + description: Limits total inbound and outbound recovery traffic for each node, expressed in mb per second. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). + type: integer + example: 40 + minimum: 40 + maximum: 400 + default: 40 + indices_recovery_max_concurrent_file_chunks: + description: Maximum number of file chunks sent in parallel for each recovery. + type: integer + example: 2 + minimum: 2 + maximum: 5 + default: 2 + thread_pool_search_size: + description: Number of workers in the search operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_search_throttled_size: + description: Number of workers in the search throttled operation thread pool. This pool is used for searching frozen indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_get_size: + description: Number of workers in the get operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_analyze_size: + description: Number of workers in the analyze operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_write_size: + description: Number of workers in the write operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_force_merge_size: + description: Number of workers in the force merge operation thread pool. This pool is used for forcing a merge between shards of one or more indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_search_queue_size: + description: Size of queue for operations in the search thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_search_throttled_queue_size: + description: Size of queue for operations in the search throttled thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_get_queue_size: + description: Size of queue for operations in the get thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_analyze_queue_size: + description: Size of queue for operations in the analyze thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_write_queue_size: + description: Size of queue for operations in the write thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + ism_enabled: + description: Specifies whether ISM is enabled or not. + type: boolean + example: true + default: true + ism_history_enabled: + description: Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document. + type: boolean + example: true + default: true + ism_history_max_age_hours: + description: Maximum age before rolling over the audit history index, in hours. + type: integer + example: 24 + minimum: 1 + maximum: 2147483647 + default: 24 + ism_history_max_docs: + description: Maximum number of documents before rolling over the audit history index. + type: integer + example: 2500000 + minimum: 1 + maximum: 9223372036854776000 + default: 2500000 + ism_history_rollover_check_period_hours: + description: The time between rollover checks for the audit history index, in hours. + type: integer + example: 8 + minimum: 1 + maximum: 2147483647 + default: 8 + ism_history_rollover_retention_period_days: + description: Length of time long audit history indices are kept, in days. + type: integer + example: 30 + minimum: 1 + maximum: 2147483647 + default: 30 + search_max_buckets: + description: Maximum number of aggregation buckets allowed in a single response. + type: integer + example: 10000 + minimum: 1 + maximum: 1000000 + default: 10000 + action_auto_create_index_enabled: + description: Specifices whether to allow automatic creation of indices. + type: boolean + example: true + default: true + enable_security_audit: + description: Specifies whether to allow security audit logging. + type: boolean + example: false + default: false + action_destructive_requires_name: + description: Specifies whether to require explicit index names when deleting indices. + type: boolean + example: false + cluster_max_shards_per_node: + description: Maximum number of shards allowed per data node. + type: integer + example: 100 + minimum: 100 + maximum: 10000 + override_main_response_version: + description: Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. + type: boolean + example: false + default: false + script_max_compilations_rate: + description: Limits the number of inline script compilations within a period of time. Default is use-context + type: string + example: 75/5m + default: use-context + cluster_routing_allocation_node_concurrent_recoveries: + description: Maximum concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen per node . + type: integer + example: 2 + minimum: 2 + maximum: 16 + default: 2 + reindex_remote_whitelist: + description: Allowlist of remote IP addresses for reindexing. Changing this value will cause all OpenSearch instances to restart. + type: array + items: + type: string + example: + - 255.255.223.233:9200 + - 222.33.222.222:6300 + plugins_alerting_filter_by_backend_roles_enabled: + description: Enable or disable filtering of alerting by backend roles. + type: boolean + example: false + default: false + source_database: + type: object + properties: + source: + type: object + properties: + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + dbname: + type: string + description: The name of the default database. + example: defaultdb + username: + type: string + description: The default user for the database. + example: doadmin + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + disable_ssl: + type: boolean + description: Enables SSL encryption when connecting to the source database. + example: false + ignore_dbs: + type: array + items: + type: string + example: + - db0 + - db1 + default: [] + description: List of databases that should be ignored during migration. + database_cluster_resize: + type: object + properties: + size: type: string - description: The FQDN pointing to the database cluster's current primary node. - example: backend-do-user-19081923-0.db.ondigitalocean.com - readOnly: true - port: + example: db-s-4vcpu-8gb + description: A slug identifier representing desired the size of the nodes in the database cluster. + num_nodes: type: integer - description: The port on which the database cluster is listening. - example: 25060 - readOnly: true - user: - type: string - description: The default user for the database. - example: doadmin - readOnly: true - password: - type: string - description: The randomly generated password for the default user. - example: wv78n3zpz42xezdk - readOnly: true - ssl: - type: boolean - description: A boolean value indicating if the connection should be made over SSL. - example: true - readOnly: true - database_user: + format: int32 + example: 3 + description: The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations. + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + required: + - size + - num_nodes + firewall_rule: type: object properties: - name: + uuid: type: string - example: app-01 - description: The name of a database user. - role: + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID for the database cluster to which the rule is applied. + type: type: string enum: - - primary - - normal - example: normal - description: | - A string representing the database user's role. The value will be either - "primary" or "normal". - readOnly: true - password: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: type: string - example: jge5lfxtzhx42iff - description: A randomly generated password for the database user. + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. readOnly: true - mysql_settings: - $ref: '#/components/schemas/mysql_settings' required: - - name + - type + - value database_maintenance_window: type: object nullable: true @@ -848,7 +2316,7 @@ components: type: array items: type: string - description: 'A list of strings, each containing information about a pending maintenance update.' + description: A list of strings, each containing information about a pending maintenance update. example: - Update TimescaleDB to version 1.2.1 - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases @@ -856,42 +2324,358 @@ components: required: - day - hour - firewall_rule: + database_replica: type: object properties: - uuid: - type: string - pattern: '^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}' - example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 - description: A unique ID for the firewall rule itself. - cluster_uuid: + id: type: string - pattern: '^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}' + format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: A unique ID for the database cluster to which the rule is applied. - type: + description: A unique ID that can be used to identify and reference a database replica. + readOnly: true + name: type: string - enum: - - droplet - - k8s - - ip_addr - - tag - - app - example: droplet - description: The type of resource that the firewall rule allows to access the database cluster. - value: + example: read-nyc3-01 + description: The name to give the read-only replicating + region: type: string - example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 - description: 'The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.' + example: nyc3 + description: A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. + size: + type: string + example: db-s-2vcpu-4gb + description: A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. + status: + type: string + enum: + - creating + - online + - resizing + - migrating + - forking + example: creating + description: A string representing the current status of the database cluster. + readOnly: true + tags: + type: array + items: + type: string + example: + - production + description: A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. created_at: type: string format: date-time example: '2019-01-11T18:37:36Z' - description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + readOnly: true + private_network_uuid: + type: string + example: 9423cbad-9211-442f-820b-ef6915e99b5f + description: A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. + connection: + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + type: object + private_connection: readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + type: object + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. required: - - type - - value + - name + database_user: + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + required: + - name + user_settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. mysql_settings: type: object properties: @@ -909,643 +2693,224 @@ components: default is `caching_sha2_password`. required: - auth_plugin - database_backup: + database: type: object properties: - database_name: - type: string - example: backend - description: The name of an existing database cluster from which the backup will be restored. - backup_created_at: + name: type: string - format: date-time - example: '2019-01-31T19:25:22Z' - description: The timestamp of an existing database cluster backup in ISO8601 combined date and time format. The most recent backup will be used if excluded. + example: alpha + description: The name of the database. required: - - database_name - mysql: + - name + connection_pool: type: object properties: - backup_hour: - description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. - minimum: 0 - maximum: 23 - type: integer - example: 3 - backup_minute: - description: The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. - minimum: 0 - maximum: 59 - type: integer - example: 30 - sql_mode: - description: 'Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.' + name: type: string - pattern: '^[A-Z_]*(,[A-Z_]+)*$' - example: 'ANSI,TRADITIONAL' - maxLength: 1024 - connect_timeout: - description: The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. - type: integer - minimum: 2 - maximum: 3600 - example: 10 - default_time_zone: - description: 'Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or ''SYSTEM'' to use the MySQL server default.' + description: A unique name for the connection pool. Must be between 3 and 60 characters. + example: backend-pool + mode: type: string - example: '+03:00' - minLength: 2 - maxLength: 100 - group_concat_max_len: - description: 'The maximum permitted result length, in bytes, for the GROUP_CONCAT() function.' - type: integer - minimum: 4 - maximum: 18446744073709552000 - example: 1024 - information_schema_stats_expiry: - description: 'The time, in seconds, before cached statistics expire.' - type: integer - minimum: 900 - maximum: 31536000 - example: 86400 - innodb_ft_min_token_size: - description: The minimum length of words that an InnoDB FULLTEXT index stores. + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + example: transaction + size: type: integer - minimum: 0 - maximum: 16 - example: 3 - innodb_ft_server_stopword_table: - description: The InnoDB FULLTEXT index stopword list for all InnoDB tables. + format: int32 + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. + example: 10 + db: type: string - pattern: ^.+/.+$ - example: db_name/table_name - maxLength: 1024 - innodb_lock_wait_timeout: - description: 'The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.' - type: integer - minimum: 1 - maximum: 3600 - example: 50 - innodb_log_buffer_size: - description: 'The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.' - type: integer - minimum: 1048576 - maximum: 4294967295 - example: 16777216 - innodb_online_alter_log_max_size: - description: 'The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.' - type: integer - minimum: 65536 - maximum: 1099511627776 - example: 134217728 - innodb_print_all_deadlocks: - description: 'When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default.' - type: boolean - example: true - innodb_rollback_on_timeout: - description: 'When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.' - type: boolean - example: true - interactive_timeout: - description: 'The time, in seconds, the server waits for activity on an interactive. connection before closing it.' - type: integer - minimum: 30 - maximum: 604800 - example: 3600 - internal_tmp_mem_storage_engine: - description: The storage engine for in-memory internal temporary tables. + description: The database for use with the connection pool. + example: defaultdb + user: type: string - enum: - - TempTable - - MEMORY - example: TempTable - net_read_timeout: - description: 'The time, in seconds, to wait for more data from an existing connection. aborting the read.' - type: integer - minimum: 1 - maximum: 3600 - example: 30 - net_write_timeout: - description: The number of seconds to wait for a block to be written to a connection before aborting the write. - type: integer - minimum: 1 - maximum: 3600 - example: 30 - sql_require_primary_key: - description: Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. - type: boolean - example: true - wait_timeout: - description: The number of seconds the server waits for activity on a noninteractive connection before closing it. - type: integer - minimum: 1 - maximum: 2147483 - example: 28800 - max_allowed_packet: - description: 'The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M).' - type: integer - minimum: 102400 - maximum: 1073741824 - example: 67108864 - max_heap_table_size: - description: 'The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M)' - type: integer - minimum: 1048576 - maximum: 1073741824 - example: 16777216 - sort_buffer_size: - description: 'The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K).' - type: integer - minimum: 32768 - maximum: 1073741824 - example: 262144 - tmp_table_size: - description: 'The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M).' - type: integer - minimum: 1048576 - maximum: 1073741824 - example: 16777216 - slow_query_log: - description: 'When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.' - type: boolean - example: true - long_query_time: - description: 'The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds.' - type: number - minimum: 0 - maximum: 3600 - example: 10 - binlog_retention_period: - description: 'The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.' - type: number - minimum: 600 - maximum: 86400 - example: 600 - postgres: + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + example: doadmin + connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + required: + - name + - mode + - size + - db + connection_pool_update: type: object properties: - autovacuum_freeze_max_age: - description: Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. - type: integer - minimum: 200000000 - maximum: 1500000000 - example: 200000000 - autovacuum_max_workers: - description: Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. - type: integer - minimum: 1 - maximum: 20 - example: 5 - autovacuum_naptime: - description: 'Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute.' - type: integer - minimum: 0 - maximum: 86400 - example: 43200 - autovacuum_vacuum_threshold: - description: Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. - type: integer - minimum: 0 - maximum: 2147483647 - example: 50 - autovacuum_analyze_threshold: - description: 'Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples.' - type: integer - minimum: 0 - maximum: 2147483647 - example: 50 - autovacuum_vacuum_scale_factor: - description: 'Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size).' - type: number - minimum: 0 - maximum: 1 - example: 0.2 - autovacuum_analyze_scale_factor: - description: 'Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size).' - type: number - minimum: 0 - maximum: 1 - example: 0.2 - autovacuum_vacuum_cost_delay: - description: 'Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds.' - type: integer - minimum: -1 - maximum: 100 - example: 20 - autovacuum_vacuum_cost_limit: - description: 'Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.' - type: integer - minimum: -1 - maximum: 10000 - example: -1 - backup_hour: - description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. - minimum: 0 - maximum: 23 - type: integer - example: 3 - backup_minute: - description: The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. - minimum: 0 - maximum: 59 - type: integer - example: 30 - bgwriter_delay: - description: 'Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms.' - type: integer - minimum: 10 - maximum: 10000 - example: 200 - bgwriter_flush_after: - description: 'The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback.' - type: integer - minimum: 0 - maximum: 2048 - example: 512 - bgwriter_lru_maxpages: - description: The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. - type: integer - minimum: 0 - maximum: 1073741823 - example: 100 - bgwriter_lru_multiplier: - description: 'The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.' - type: number - minimum: 0 - maximum: 10 - example: 2 - deadlock_timeout: - description: 'The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.' - type: integer - minimum: 500 - maximum: 1800000 - example: 1000 - default_toast_compression: - description: Specifies the default TOAST compression method for values of compressible columns (the default is lz4). + mode: type: string - enum: - - lz4 - - pglz - example: lz4 - idle_in_transaction_session_timeout: - description: Time out sessions with open transactions after this number of milliseconds - type: integer - minimum: 0 - maximum: 604800000 - example: 10000 - jit: - description: 'Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT).' - type: boolean - example: true - log_autovacuum_min_duration: - description: Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + example: transaction + size: type: integer - minimum: -1 - maximum: 2147483647 - example: -1 - log_error_verbosity: - description: Controls the amount of detail written in the server log for each message that is logged. - type: string - enum: - - TERSE - - DEFAULT - - VERBOSE - example: VERBOSE - log_line_prefix: - description: 'Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc.' - type: string - enum: - - 'pid=%p,user=%u,db=%d,app=%a,client=%h' - - '%m [%p] %q[user=%u,db=%d,app=%a]' - - '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' - example: 'pid=%p,user=%u,db=%d,app=%a,client=%h' - log_min_duration_statement: - description: 'Log statements that take more than this number of milliseconds to run. If -1, disables.' - type: integer - minimum: -1 - maximum: 86400000 - example: -1 - max_files_per_process: - description: PostgreSQL maximum number of files that can be open per process. - type: integer - minimum: 1000 - maximum: 4096 - example: 2048 - max_prepared_transactions: - description: 'PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value.' - type: integer - minimum: 0 - maximum: 10000 - example: 20 - max_pred_locks_per_transaction: - description: PostgreSQL maximum predicate locks per transaction. - type: integer - minimum: 64 - maximum: 640 - example: 128 - max_locks_per_transaction: - description: 'PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value.' - type: integer - minimum: 64 - maximum: 6400 - example: 128 - max_stack_depth: - description: Maximum depth of the stack in bytes. - type: integer - minimum: 2097152 - maximum: 6291456 - example: 2097152 - max_standby_archive_delay: - description: Max standby archive delay in milliseconds. - type: integer - minimum: 1 - maximum: 43200000 - example: 43200 - max_standby_streaming_delay: - description: Max standby streaming delay in milliseconds. - type: integer - minimum: 1 - maximum: 43200000 - example: 43200 - max_replication_slots: - description: PostgreSQL maximum replication slots. - type: integer - minimum: 8 - maximum: 64 - example: 16 - max_logical_replication_workers: - description: PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). - type: integer - minimum: 4 - maximum: 64 - example: 16 - max_parallel_workers: - description: Sets the maximum number of workers that the system can support for parallel queries. - type: integer - minimum: 0 - maximum: 96 - example: 12 - max_parallel_workers_per_gather: - description: Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. - type: integer - minimum: 0 - maximum: 96 - example: 16 - max_worker_processes: - description: 'Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value.' - type: integer - minimum: 8 - maximum: 96 - example: 16 - pg_partman_bgw.role: - type: string - pattern: '^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$' - maxLength: 64 - example: myrolename - description: 'Controls which role to use for pg_partman''s scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters.' - pg_partman_bgw.interval: - description: Sets the time interval to run pg_partman's scheduled tasks. - type: integer - minimum: 3600 - maximum: 604800 - example: 3600 - pg_stat_statements.track: - description: 'Controls which statements are counted. Specify ''top'' to track top-level statements (those issued directly by clients), ''all'' to also track nested statements (such as statements invoked within functions), or ''none'' to disable statement statistics collection. The default value is top.' - type: string - enum: - - all - - top - - none - example: all - temp_file_limit: - description: 'PostgreSQL temporary file limit in KiB. If -1, sets to unlimited.' - type: integer - example: 5000000 - minimum: -1 - maximum: 2147483647 - timezone: - description: PostgreSQL service timezone - type: string - example: Europe/Helsinki - maxLength: 64 - track_activity_query_size: - description: Specifies the number of bytes reserved to track the currently executing command for each active session. - type: integer - example: 1024 - minimum: 1024 - maximum: 10240 - track_commit_timestamp: - description: Record commit time of transactions. - type: string - enum: - - 'off' - - 'on' - example: 'off' - track_functions: - description: Enables tracking of function call counts and time used. - type: string - enum: - - all - - pl - - none - example: all - track_io_timing: - description: 'Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.' - type: string - enum: - - 'off' - - 'on' - example: 'off' - max_wal_senders: - description: 'PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value.' - type: integer - minimum: 20 - maximum: 64 - example: 32 - wal_sender_timeout: - description: 'Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000.' - type: integer - minimum: 0 - maximum: 10800000 - example: 60000 - wal_writer_delay: - description: WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance - type: integer - minimum: 10 - maximum: 200 - example: 50 - shared_buffers_percentage: - description: 'Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.' - type: number - minimum: 20 - maximum: 60 - example: 41.5 - pgbouncer: - $ref: '#/components/schemas/pgbouncer' - work_mem: - description: 'The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB).' - type: integer - minimum: 1 - maximum: 1024 - example: 4 - timescaledb: - $ref: '#/components/schemas/timescaledb' - synchronous_replication: - description: Synchronous replication type. Note that the service plan also needs to support synchronous replication. - type: string - example: 'off' - enum: - - 'off' - - quorum - stat_monitor_enable: - description: 'Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable.' - type: boolean - example: false - redis: - type: object - properties: - redis_maxmemory_policy: - $ref: '#/components/schemas/eviction_policy_model' - redis_pubsub_client_output_buffer_limit: - description: 'Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.' - type: integer - minimum: 32 - maximum: 512 - example: 64 - redis_number_of_databases: - type: integer - minimum: 1 - maximum: 128 - description: Set number of redis databases. Changing this will cause a restart of redis service. - example: 16 - redis_io_threads: - description: Redis IO thread count - type: integer - minimum: 1 - maximum: 32 - example: 1 - redis_lfu_log_factor: - description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies - type: integer - minimum: 0 - maximum: 100 - default: 10 + format: int32 + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. example: 10 - redis_lfu_decay_time: - description: LFU maxmemory-policy counter decay time in minutes - type: integer - minimum: 1 - maximum: 120 - default: 1 - example: 1 - redis_ssl: - description: Require SSL to access Redis - type: boolean - default: true - example: true - redis_timeout: - description: Redis idle connection timeout in seconds - type: integer - minimum: 0 - maximum: 31536000 - default: 300 - example: 300 - redis_notify_keyspace_events: - description: Set notify-keyspace-events option - type: string - pattern: '^[KEg\$lshzxeA]*$' - default: '' - maxLength: 32 - example: K - redis_persistence: - type: string - enum: - - 'off' - - rdb - description: 'When persistence is ''rdb'', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is ''off'', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can''t be forked.' - example: rdb - redis_acl_channels_default: + db: type: string - enum: - - allchannels - - resetchannels - description: 'Determines default pub/sub channels'' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn''t affect Redis configuration acl-pubsub-default.' - example: allchannels - pgbouncer: - type: object - description: PGBouncer connection pooling settings - properties: - server_reset_query_always: - description: Run server_reset_query (DISCARD ALL) in all pooling modes. - type: boolean - example: false - ignore_startup_parameters: - description: List of parameters to ignore when given in startup packet. - type: array - example: - - extra_float_digits - - search_path - items: - description: Enum of parameters to ignore when given in startup packet. - type: string - enum: - - extra_float_digits - - search_path - maxItems: 32 - min_pool_size: - description: 'If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size.' - type: integer - minimum: 0 - maximum: 10000 - example: 1 - server_lifetime: - description: The pooler closes any unused server connection that has been connected longer than this amount of seconds. - type: integer - minimum: 60 - maximum: 86400 - example: 3600 - server_idle_timeout: - description: 'Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. ' - type: integer - minimum: 0 - maximum: 86400 - example: 600 - autodb_pool_size: - description: 'If non-zero, automatically creates a pool of that size per user when a pool doesn''t exist.' - type: integer - minimum: 0 - maximum: 10000 - example: 1 - autodb_pool_mode: - enum: - - session - - transaction - - statement - example: session - description: PGBouncer pool mode + description: The database for use with the connection pool. + example: defaultdb + user: type: string - autodb_max_db_connections: - description: 'Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections.' - type: integer - minimum: 0 - maximum: 2147483647 - example: 1 - autodb_idle_timeout: - description: 'If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled.' - type: integer - minimum: 0 - maximum: 86400 - example: 3600 - timescaledb: - type: object - description: TimescaleDB extension configuration values - properties: - max_background_workers: - description: The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. - type: integer - minimum: 1 - maximum: 4096 - example: 8 + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + example: doadmin + required: + - mode + - size + - db eviction_policy_model: type: string enum: @@ -1557,7 +2922,6 @@ components: - volatile_ttl description: |- A string specifying the desired eviction policy for the Redis cluster. - - `noeviction`: Don't evict any data, returns error when memory limit is reached. - `allkeys_lru:` Evict any key, least recently used (LRU) first. - `allkeys_random`: Evict keys in a random order. @@ -1565,241 +2929,653 @@ components: - `volatile_random`: Evict keys with expiration only in a random order. - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. example: allkeys_lru - database_config: - type: object - properties: - config: - anyOf: - - $ref: '#/components/schemas/mysql' - - $ref: '#/components/schemas/postgres' - - $ref: '#/components/schemas/redis' - ca: + sql_mode: type: object properties: - certificate: + sql_mode: type: string - example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - description: base64 encoding of the certificate used to secure database connections - readOnly: true + example: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + description: A string specifying the configured SQL modes for the MySQL cluster. required: - - certificate - online_migration: + - sql_mode + version-2: type: object properties: - id: - type: string - description: The ID of the most recent migration. - example: 77b28fc8-19ff-11eb-8c9c-c68e24557488 - status: - type: string - description: The current status of the migration. - enum: - - running - - canceled - - error - - done - example: running - created_at: + version: type: string - description: 'The time the migration was initiated, in ISO 8601 format.' - example: '2020-10-29T15:57:38Z' - source_database: - type: object - properties: - source: - allOf: - - $ref: '#/components/schemas/database_connection' - disable_ssl: - type: boolean - description: Enables SSL encryption when connecting to the source database. - example: false - database_cluster_resize: + example: '8' + description: A string representing the version of the database engine in use for the cluster. + kafka_topic_create: type: object properties: - size: + name: type: string - example: db-s-4vcpu-8gb - description: A slug identifier representing desired the size of the nodes in the database cluster. - num_nodes: + description: The name of the Kafka topic. + example: events + replication_factor: + type: integer + example: 2 + description: The number of nodes to replicate data across the cluster. + partition_count: type: integer - format: int32 example: 3 - description: 'The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations.' - required: - - size - - num_nodes - backup: + description: The number of partitions available for the topic. On update, this value can only be increased. + config: + type: object + properties: + cleanup_policy: + type: string + enum: + - delete + - compact + - compact_delete + example: delete + default: delete + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. + compression_type: + type: string + enum: + - producer + - gzip + - snappy + - Iz4 + - zstd + - uncompressed + example: producer + default: producer + description: The compression_type specifies the compression type of the topic. + delete_retention_ms: + type: integer + example: 86400000 + default: 86400000 + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. + file_delete_delay_ms: + type: integer + example: 60000 + default: 60000 + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. + flush_messages: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. + flush_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. + index_interval_bytes: + type: integer + example: 4096 + default: 4096 + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. + max_compaction_lag_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. + max_message_bytes: + type: integer + example: 1048588 + default: 1048588 + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. + message_down_conversion_enable: + type: boolean + example: true + default: true + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. + message_format_version: + type: string + example: 3.0-IV1 + enum: + - 0.8.0 + - 0.8.1 + - 0.8.2 + - 0.9.0 + - 0.10.0-IV0 + - 0.10.0-IV1 + - 0.10.1-IV0 + - 0.10.1-IV1 + - 0.10.1-IV2 + - 0.10.2-IV0 + - 0.11.0-IV0 + - 0.11.0-IV1 + - 0.11.0-IV2 + - 1.0-IV0 + - 1.1-IV0 + - 2.0-IV0 + - 2.0-IV1 + - 2.1-IV0 + - 2.1-IV1 + - 2.1-IV2 + - 2.2-IV0 + - 2.2-IV1 + - 2.3-IV0 + - 2.3-IV1 + - 2.4-IV0 + - 2.4-IV1 + - 2.5-IV0 + - 2.6-IV0 + - 2.7-IV0 + - 2.7-IV1 + - 2.7-IV2 + - 2.8-IV0 + - 2.8-IV1 + - 3.0-IV0 + - 3.0-IV1 + - 3.1-IV0 + - 3.2-IV0 + - 3.3-IV0 + - 3.3-IV1 + - 3.3-IV2 + - 3.3-IV3 + default: 3.0-IV1 + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. + message_timestamp_type: + type: string + example: create_time + enum: + - create_time + - log_append_time + default: create_time + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. + min_cleanable_dirty_ratio: + type: number + format: float + default: 0.5 + example: 0.5 + minimum: 0 + maximum: 1 + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. + min_compaction_lag_ms: + type: integer + example: 0 + default: 0 + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. + min_insync_replicas: + type: integer + example: 1 + default: 1 + minimum: 1 + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. + preallocate: + type: boolean + example: false + default: false + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. + retention_bytes: + type: integer + example: 1000000 + default: -1 + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. + retention_ms: + type: integer + example: 604800000 + default: 604800000 + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. + segment_bytes: + type: integer + example: 209715200 + default: 209715200 + minimum: 14 + description: The segment_bytes specifies the maximum size of a single log file (in bytes). + segment_jitter_ms: + type: integer + example: 0 + default: 0 + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. + segment_ms: + type: integer + example: 604800000 + default: 604800000 + minimum: 1 + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. + kafka_topic_update: type: object properties: - created_at: - type: string - format: date-time - example: '2019-01-31T19:25:22Z' - description: A time value given in ISO8601 combined date and time format at which the backup was created. - size_gigabytes: - type: number - example: 0.03364864 - description: The size of the database backup in GBs. - required: - - created_at - - size_gigabytes - database_replica: + replication_factor: + type: integer + example: 2 + description: The number of nodes to replicate data across the cluster. + partition_count: + type: integer + example: 3 + description: The number of partitions available for the topic. On update, this value can only be increased. + config: + type: object + properties: + cleanup_policy: + type: string + enum: + - delete + - compact + - compact_delete + example: delete + default: delete + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. + compression_type: + type: string + enum: + - producer + - gzip + - snappy + - Iz4 + - zstd + - uncompressed + example: producer + default: producer + description: The compression_type specifies the compression type of the topic. + delete_retention_ms: + type: integer + example: 86400000 + default: 86400000 + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. + file_delete_delay_ms: + type: integer + example: 60000 + default: 60000 + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. + flush_messages: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. + flush_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. + index_interval_bytes: + type: integer + example: 4096 + default: 4096 + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. + max_compaction_lag_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. + max_message_bytes: + type: integer + example: 1048588 + default: 1048588 + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. + message_down_conversion_enable: + type: boolean + example: true + default: true + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. + message_format_version: + type: string + example: 3.0-IV1 + enum: + - 0.8.0 + - 0.8.1 + - 0.8.2 + - 0.9.0 + - 0.10.0-IV0 + - 0.10.0-IV1 + - 0.10.1-IV0 + - 0.10.1-IV1 + - 0.10.1-IV2 + - 0.10.2-IV0 + - 0.11.0-IV0 + - 0.11.0-IV1 + - 0.11.0-IV2 + - 1.0-IV0 + - 1.1-IV0 + - 2.0-IV0 + - 2.0-IV1 + - 2.1-IV0 + - 2.1-IV1 + - 2.1-IV2 + - 2.2-IV0 + - 2.2-IV1 + - 2.3-IV0 + - 2.3-IV1 + - 2.4-IV0 + - 2.4-IV1 + - 2.5-IV0 + - 2.6-IV0 + - 2.7-IV0 + - 2.7-IV1 + - 2.7-IV2 + - 2.8-IV0 + - 2.8-IV1 + - 3.0-IV0 + - 3.0-IV1 + - 3.1-IV0 + - 3.2-IV0 + - 3.3-IV0 + - 3.3-IV1 + - 3.3-IV2 + - 3.3-IV3 + default: 3.0-IV1 + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. + message_timestamp_type: + type: string + example: create_time + enum: + - create_time + - log_append_time + default: create_time + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. + min_cleanable_dirty_ratio: + type: number + format: float + default: 0.5 + example: 0.5 + minimum: 0 + maximum: 1 + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. + min_compaction_lag_ms: + type: integer + example: 0 + default: 0 + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. + min_insync_replicas: + type: integer + example: 1 + default: 1 + minimum: 1 + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. + preallocate: + type: boolean + example: false + default: false + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. + retention_bytes: + type: integer + example: 1000000 + default: -1 + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. + retention_ms: + type: integer + example: 604800000 + default: 604800000 + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. + segment_bytes: + type: integer + example: 209715200 + default: 209715200 + minimum: 14 + description: The segment_bytes specifies the maximum size of a single log file (in bytes). + segment_jitter_ms: + type: integer + example: 0 + default: 0 + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. + segment_ms: + type: integer + example: 604800000 + default: 604800000 + minimum: 1 + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. + logsink_create: type: object properties: - id: - type: string - format: uuid - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: A unique ID that can be used to identify and reference a database replica. - readOnly: true - name: - type: string - example: read-nyc3-01 - description: The name to give the read-only replicating - region: - type: string - example: nyc3 - description: 'A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster.' - size: + sink_name: type: string - writeOnly: true - example: db-s-2vcpu-4gb - description: A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. - status: + description: The name of the Logsink + example: prod-logsink + sink_type: type: string enum: - - creating - - online - - resizing - - migrating - - forking - example: creating - description: A string representing the current status of the database cluster. - readOnly: true - tags: - type: array - items: - type: string - example: - - production - description: A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. - created_at: - type: string - format: date-time - example: '2019-01-11T18:37:36Z' - description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. - readOnly: true - private_network_uuid: - type: string - example: 9423cbad-9211-442f-820b-ef6915e99b5f - description: 'A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account''s default VPC for the region.' - connection: - allOf: - - readOnly: true - - $ref: '#/components/schemas/database_connection' - private_connection: - allOf: - - readOnly: true - - $ref: '#/components/schemas/database_connection' - required: - - name - database: + - rsyslog + - elasticsearch + - opensearch + example: rsyslog + config: + anyOf: + - type: object + properties: + server: + type: string + example: 192.168.0.1 + description: DNS name or IPv4 address of the rsyslog server + port: + type: integer + example: 514 + maximum: 65535 + description: The internal port on which the rsyslog server is listening + tls: + type: boolean + example: false + description: Use TLS (as the messages are not filtered and may contain sensitive information, it is highly recommended to set this to true if the remote server supports it) + format: + type: string + enum: + - rfc5424 + - rfc3164 + - custom + example: rfc5424 + description: Message format used by the server, this can be either rfc3164 (the old BSD style message format), `rfc5424` (current syslog message format) or custom + logline: + type: string + example: <%pri%>%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg% + description: | + Conditional (required if `format` == `custom`). + Syslog log line template for a custom format, supporting limited rsyslog style templating (using `%tag%`). Supported tags are: `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. + sd: + type: string + example: TOKEN tag="LiteralValue" + description: content of the structured data block of rfc5424 message + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + key: + type: string + example: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n' + description: (PEM format) client key if the server requires client authentication + cert: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: (PEM format) client cert to use + required: + - server + - port + - tls + - format + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Elasticsearch connection URL + index_prefix: + type: string + example: elastic-logs + description: Elasticsearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Elasticsearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Opensearch connection URL + index_prefix: + type: string + example: opensearch-logs + description: Opensearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Opensearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + logsink_update: type: object properties: - name: - type: string - example: alpha - description: The name of the database. + config: + anyOf: + - type: object + properties: + server: + type: string + example: 192.168.0.1 + description: DNS name or IPv4 address of the rsyslog server + port: + type: integer + example: 514 + maximum: 65535 + description: The internal port on which the rsyslog server is listening + tls: + type: boolean + example: false + description: Use TLS (as the messages are not filtered and may contain sensitive information, it is highly recommended to set this to true if the remote server supports it) + format: + type: string + enum: + - rfc5424 + - rfc3164 + - custom + example: rfc5424 + description: Message format used by the server, this can be either rfc3164 (the old BSD style message format), `rfc5424` (current syslog message format) or custom + logline: + type: string + example: <%pri%>%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg% + description: | + Conditional (required if `format` == `custom`). + Syslog log line template for a custom format, supporting limited rsyslog style templating (using `%tag%`). Supported tags are: `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. + sd: + type: string + example: TOKEN tag="LiteralValue" + description: content of the structured data block of rfc5424 message + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + key: + type: string + example: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n' + description: (PEM format) client key if the server requires client authentication + cert: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: (PEM format) client cert to use + required: + - server + - port + - tls + - format + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Elasticsearch connection URL + index_prefix: + type: string + example: elastic-logs + description: Elasticsearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Elasticsearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Opensearch connection URL + index_prefix: + type: string + example: opensearch-logs + description: Opensearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Opensearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix required: - - name - connection_pools: - type: object - properties: - pools: - type: array - readOnly: true - description: An array of connection pool objects. - items: - $ref: '#/components/schemas/connection_pool' - connection_pool: + - config + database_metrics_credentials: type: object properties: - name: - type: string - description: A unique name for the connection pool. Must be between 3 and 60 characters. - example: backend-pool - mode: - type: string - description: 'The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.' - example: transaction - size: - type: integer - format: int32 - description: 'The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster''s primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.' - example: 10 - db: - type: string - description: The database for use with the connection pool. - example: defaultdb - user: - type: string - description: 'The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.' - example: doadmin - connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true - private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true - required: - - name - - mode - - size - - db - connection_pool_update: - type: object - properties: - mode: - type: string - description: 'The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.' - example: transaction - size: - type: integer - format: int32 - description: 'The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster''s primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.' - example: 10 - db: - type: string - description: The database for use with the connection pool. - example: defaultdb - user: - type: string - description: 'The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.' - example: doadmin - required: - - mode - - size - - db - sql_mode: - type: object - properties: - sql_mode: - type: string - example: 'ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES' - description: A string specifying the configured SQL modes for the MySQL cluster. - required: - - sql_mode - version-2: - type: object - properties: - version: - $ref: '#/components/schemas/version' - version: - type: string - example: '10' - description: A string representing the version of the database engine in use for the cluster. + credentials: + type: object + properties: + basic_auth_username: + type: string + example: username + description: basic authentication username for metrics HTTP endpoint + basic_auth_password: + type: string + example: password + description: basic authentication password for metrics HTTP endpoint parameters: oneClicks_type: in: query @@ -1840,8 +3616,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1860,7 +3642,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1870,7 +3652,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1903,7 +3685,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1923,6 +3705,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1933,6 +3716,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1950,14 +3734,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1965,7 +3741,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1984,6 +3760,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -2059,6 +3844,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -2069,7 +3878,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -2102,11 +3911,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -2115,6 +3924,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -2122,7 +3942,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -2224,7 +4044,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -2331,7 +4151,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -2339,11 +4159,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -2358,7 +4228,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -2368,7 +4238,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -2402,7 +4272,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -2422,7 +4292,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -2469,12 +4339,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -2488,8 +4358,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -2517,6 +4413,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -2540,39 +4445,501 @@ components: description: A JSON string with a key of `options`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/options' + type: object + properties: + options: + type: object + properties: + kafka: + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts + mongodb: + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts + pg: + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts + mysql: + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts + redis: + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts + opensearch: + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts + version_availability: + type: object + properties: + kafka: + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. + pg: + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. + mysql: + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. + redis: + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. + mongodb: + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. + opensearch: + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. example: options: + kafka: + regions: + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc3 + - sfo2 + - sfo3 + - sgp1 + - syd1 + - tor1 + versions: + - '3.6' + - '3.7' + layouts: + - num_nodes: 3 + sizes: + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - db-s-2vcpu-4gb + - db-s-2vcpu-2gb + - num_nodes: 6 + sizes: + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - num_nodes: 9 + sizes: + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - num_nodes: 15 + sizes: + - gd-2vcpu-8gb + - gd-4vcpu-16gb mongodb: regions: - ams3 - blr1 + - fra1 + - lon1 + - nyc1 + - nyc3 + - sfo2 + - sfo3 + - sgp1 + - syd1 + - tor1 versions: - - '4.4' - '5.0' + - '6.0' + - '7.0' layouts: - num_nodes: 1 sizes: - db-s-1vcpu-1gb - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - db-s-8vcpu-32gb + - db-s-16vcpu-64gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb - num_nodes: 3 sizes: - db-s-1vcpu-1gb - db-s-1vcpu-2gb - db-s-2vcpu-4gb - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - db-s-8vcpu-32gb + - db-s-16vcpu-64gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb mysql: regions: - ams3 - blr1 + - fra1 + - lon1 + - nyc1 + - nyc3 + - sfo2 + - sfo3 + - sgp1 + - syd1 + - tor1 versions: - '8' layouts: @@ -2580,97 +4947,419 @@ components: sizes: - db-s-1vcpu-1gb - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb + - db-intel-1vcpu-1gb + - db-amd-1vcpu-1gb + - db-intel-1vcpu-2gb + - db-amd-1vcpu-2gb + - db-amd-2vcpu-4gb + - db-intel-2vcpu-4gb + - db-amd-2vcpu-8gb + - db-intel-2vcpu-8gb + - db-intel-4vcpu-8gb + - db-amd-4vcpu-8gb + - db-amd-4vcpu-16gb + - db-intel-4vcpu-16gb + - db-intel-8vcpu-32gb + - db-amd-8vcpu-32gb + - db-intel-16vcpu-64gb + - db-amd-16vcpu-64gb - num_nodes: 2 sizes: - - db-s-1vcpu-1gb - db-s-1vcpu-2gb - db-s-2vcpu-4gb - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb + - db-intel-1vcpu-2gb + - db-amd-1vcpu-2gb + - db-amd-2vcpu-4gb + - db-intel-2vcpu-4gb + - db-intel-2vcpu-8gb + - db-amd-2vcpu-8gb + - db-intel-4vcpu-8gb + - db-amd-4vcpu-8gb + - db-intel-4vcpu-16gb + - db-amd-4vcpu-16gb + - db-amd-8vcpu-32gb + - db-intel-8vcpu-32gb + - db-amd-16vcpu-64gb + - db-intel-16vcpu-64gb - num_nodes: 3 sizes: - - db-s-1vcpu-1gb - db-s-1vcpu-2gb - db-s-2vcpu-4gb - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb + - db-intel-1vcpu-2gb + - db-amd-1vcpu-2gb + - db-amd-2vcpu-4gb + - db-intel-2vcpu-4gb + - db-intel-2vcpu-8gb + - db-amd-2vcpu-8gb + - db-intel-4vcpu-8gb + - db-amd-4vcpu-8gb + - db-intel-4vcpu-16gb + - db-amd-4vcpu-16gb + - db-amd-8vcpu-32gb + - db-intel-8vcpu-32gb + - db-amd-16vcpu-64gb + - db-intel-16vcpu-64gb + opensearch: + regions: + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc3 + - sfo2 + - sfo3 + - sgp1 + - syd1 + - tor1 + versions: + - '1' + - '2' + layouts: + - num_nodes: 1 + sizes: + - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - gd-2vcpu-8gb + - m3-2vcpu-16gb + - db-s-4vcpu-8gb + - gd-4vcpu-16gb + - m3-4vcpu-32gb + - m3-8vcpu-64gb + - num_nodes: 3 + sizes: + - db-s-2vcpu-4gb + - gd-2vcpu-8gb + - m3-2vcpu-16gb + - db-s-4vcpu-8gb + - gd-4vcpu-16gb + - m3-4vcpu-32gb + - m3-8vcpu-64gb + - num_nodes: 6 + sizes: + - gd-2vcpu-8gb + - m3-2vcpu-16gb + - gd-4vcpu-16gb + - m3-4vcpu-32gb + - m3-8vcpu-64gb + - num_nodes: 9 + sizes: + - gd-2vcpu-8gb + - m3-2vcpu-16gb + - gd-4vcpu-16gb + - m3-4vcpu-32gb + - m3-8vcpu-64gb + - num_nodes: 15 + sizes: + - gd-2vcpu-8gb + - m3-2vcpu-16gb + - gd-4vcpu-16gb + - m3-4vcpu-32gb + - m3-8vcpu-64gb pg: regions: - ams3 - blr1 + - fra1 + - lon1 + - nyc1 + - nyc3 + - sfo2 + - sfo3 + - sgp1 + - syd1 + - tor1 versions: - - '11' - - '12' - '13' - '14' + - '15' + - '16' layouts: - num_nodes: 1 sizes: - db-s-1vcpu-1gb - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb + - db-intel-1vcpu-1gb + - db-amd-1vcpu-1gb + - db-intel-1vcpu-2gb + - db-amd-1vcpu-2gb + - db-amd-2vcpu-4gb + - db-intel-2vcpu-4gb + - db-amd-2vcpu-8gb + - db-intel-2vcpu-8gb + - db-intel-4vcpu-8gb + - db-amd-4vcpu-8gb + - db-amd-4vcpu-16gb + - db-intel-4vcpu-16gb + - db-intel-8vcpu-32gb + - db-amd-8vcpu-32gb + - db-intel-16vcpu-64gb + - db-amd-16vcpu-64gb - num_nodes: 2 sizes: - - db-s-1vcpu-1gb - db-s-1vcpu-2gb - db-s-2vcpu-4gb - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb + - db-intel-1vcpu-2gb + - db-amd-1vcpu-2gb + - db-amd-2vcpu-4gb + - db-intel-2vcpu-4gb + - db-intel-2vcpu-8gb + - db-amd-2vcpu-8gb + - db-intel-4vcpu-8gb + - db-amd-4vcpu-8gb + - db-intel-4vcpu-16gb + - db-amd-4vcpu-16gb + - db-amd-8vcpu-32gb + - db-intel-8vcpu-32gb + - db-amd-16vcpu-64gb + - db-intel-16vcpu-64gb + - num_nodes: 3 + sizes: + - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - gd-2vcpu-8gb + - gd-4vcpu-16gb + - gd-8vcpu-32gb + - gd-16vcpu-64gb + - gd-32vcpu-128gb + - gd-40vcpu-160gb + - so1_5-2vcpu-16gb + - so1_5-4vcpu-32gb + - so1_5-8vcpu-64gb + - so1_5-16vcpu-128gb + - so1_5-24vcpu-192gb + - so1_5-32vcpu-256gb + - db-intel-1vcpu-2gb + - db-amd-1vcpu-2gb + - db-amd-2vcpu-4gb + - db-intel-2vcpu-4gb + - db-intel-2vcpu-8gb + - db-amd-2vcpu-8gb + - db-intel-4vcpu-8gb + - db-amd-4vcpu-8gb + - db-intel-4vcpu-16gb + - db-amd-4vcpu-16gb + - db-amd-8vcpu-32gb + - db-intel-8vcpu-32gb + - db-amd-16vcpu-64gb + - db-intel-16vcpu-64gb redis: regions: - ams3 - blr1 + - fra1 + - lon1 + - nyc1 + - nyc3 + - sfo2 + - sfo3 + - sgp1 + - syd1 + - tor1 versions: - - '6' + - '7' layouts: - num_nodes: 1 sizes: - db-s-1vcpu-1gb - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - db-s-8vcpu-32gb + - db-s-16vcpu-64gb + - m-2vcpu-16gb + - m-4vcpu-32gb + - m-8vcpu-64gb + - m-16vcpu-128gb + - m-24vcpu-192gb + - m-32vcpu-256gb - num_nodes: 2 sizes: - - db-s-1vcpu-1gb - db-s-1vcpu-2gb - db-s-2vcpu-4gb - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - db-s-8vcpu-32gb + - db-s-16vcpu-64gb + - m-2vcpu-16gb + - m-4vcpu-32gb + - m-8vcpu-64gb + - m-16vcpu-128gb + - m-24vcpu-192gb + - m-32vcpu-256gb + - num_nodes: 3 + sizes: + - db-s-1vcpu-2gb + - db-s-2vcpu-4gb + - db-s-4vcpu-8gb + - db-s-6vcpu-16gb + - db-s-8vcpu-32gb + - db-s-16vcpu-64gb + - m-2vcpu-16gb + - m-4vcpu-32gb + - m-8vcpu-64gb + - m-16vcpu-128gb + - m-24vcpu-192gb + - m-32vcpu-256gb version_availability: - redis: - - end_of_life: 'null' - end_of_availability: 'null' - version: '7' + kafka: + - end_of_life: null + end_of_availability: '2024-07-18T00:00:00Z' + version: '3.6' + - end_of_life: null + end_of_availability: '2025-01-17T00:00:00Z' + version: '3.7' + mongodb: + - end_of_life: '2024-10-01T07:00:00Z' + end_of_availability: null + version: '5.0' + - end_of_life: '2025-07-01T07:00:00Z' + end_of_availability: null + version: '6.0' + - end_of_life: '2026-08-01T07:00:00Z' + end_of_availability: null + version: '7.0' mysql: - - end_of_life: 'null' - end_of_availability: 'null' + - end_of_life: null + end_of_availability: null version: '8' + opensearch: + - end_of_life: null + end_of_availability: null + version: '1' + - end_of_life: null + end_of_availability: null + version: '2' pg: - - end_of_life: '2023-11-09T00:00:00Z' - end_of_availability: '2023-05-09T00:00:00Z' - version: '11' - - end_of_life: '2024-11-14T00:00:00Z' - end_of_availability: '2024-05-14T00:00:00Z' - version: '12' - end_of_life: '2025-11-13T00:00:00Z' end_of_availability: '2025-05-13T00:00:00Z' version: '13' - end_of_life: '2026-11-12T00:00:00Z' end_of_availability: '2026-05-12T00:00:00Z' version: '14' - mongodb: - - end_of_life: '2024-02-01T08:00:00Z' - end_of_availability: 'null' - version: '4.4' - - end_of_life: '2024-10-01T07:00:00Z' - end_of_availability: 'null' - version: '5.0' + - end_of_life: '2027-11-11T00:00:00Z' + end_of_availability: '2027-05-12T00:00:00Z' + version: '15' + - end_of_life: '2028-11-09T00:00:00Z' + end_of_availability: '2028-05-09T00:00:00Z' + version: '16' + redis: + - end_of_life: null + end_of_availability: null + version: '7' unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -2678,15 +5367,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -2694,15 +5408,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -2710,15 +5449,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -2726,15 +5490,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -2742,11 +5531,20 @@ components: description: A JSON object with a key of `databases`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2754,7 +5552,557 @@ components: databases: type: array items: - $ref: '#/components/schemas/database_cluster' + type: object + properties: + id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID that can be used to identify and reference a database cluster. + readOnly: true + name: + type: string + example: backend + description: A unique, human-readable name referring to a database cluster. + engine: + type: string + example: mysql + enum: + - pg + - mysql + - redis + - mongodb + - kafka + - opensearch + description: 'A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Redis, "mongodb" for MongoDB, "kafka" for Kafka, and "opensearch" for OpenSearch.' + version: + type: string + example: '8' + description: A string representing the version of the database engine in use for the cluster. + semantic_version: + type: string + example: 8.0.28 + description: A string representing the semantic version of the database engine in use for the cluster. + readOnly: true + num_nodes: + type: integer + example: 2 + description: The number of nodes in the database cluster. + size: + type: string + example: db-s-2vcpu-4gb + description: The slug identifier representing the size of the nodes in the database cluster. + region: + type: string + example: nyc3 + description: The slug identifier for the region where the database cluster is located. + status: + type: string + enum: + - creating + - online + - resizing + - migrating + - forking + example: creating + description: A string representing the current status of the database cluster. + readOnly: true + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + readOnly: true + private_network_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: d455e75d-4858-4eec-8c95-da2f0a5f93a7 + description: A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. + tags: + type: array + items: + type: string + example: + - production + nullable: true + description: An array of tags that have been applied to the database cluster. + db_names: + type: array + items: + type: string + example: + - doadmin + nullable: true + readOnly: true + description: An array of strings containing the names of databases created in the database cluster. + ui_connection: + type: object + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the opensearch cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the opensearch dashboard is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the opensearch dashboard. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + users: + type: array + nullable: true + items: + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + required: + - name + readOnly: true + maintenance_window: + type: object + nullable: true + properties: + day: + type: string + example: tuesday + description: The day of the week on which to apply maintenance updates. + hour: + type: string + example: '14:00' + description: The hour in UTC at which maintenance updates will be applied in 24 hour format. + pending: + type: boolean + example: true + description: A boolean value indicating whether any maintenance is scheduled to be performed in the next window. + readOnly: true + description: + type: array + items: + type: string + description: A list of strings, each containing information about a pending maintenance update. + example: + - Update TimescaleDB to version 1.2.1 + - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases + readOnly: true + required: + - day + - hour + readOnly: true + project_id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project. + rules: + type: array + items: + type: object + properties: + uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID for the database cluster to which the rule is applied. + type: + type: string + enum: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: + type: string + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + readOnly: true + required: + - type + - value + version_end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + readOnly: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + version_end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + readOnly: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + metrics_endpoints: + type: array + items: + type: object + properties: + host: + type: string + description: A FQDN pointing to the database cluster's node(s). + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which a service is listening. + example: 9273 + readOnly: true + description: Public hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s). + readOnly: true + required: + - name + - engine + - num_nodes + - size + - region example: databases: - id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 @@ -2762,7 +6110,7 @@ components: engine: pg version: '10' connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -2770,7 +6118,7 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: private-backend-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -2800,22 +6148,582 @@ components: private_network_uuid: d455e75d-4858-4eec-8c95-da2f0a5f93a7 version_end_of_life: '2023-11-09T00:00:00Z' version_end_of_availability: '2023-05-09T00:00:00Z' + storage_size_mib: 61440 database_cluster: description: A JSON object with a key of `database`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: database: - $ref: '#/components/schemas/database_cluster' + type: object + properties: + id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID that can be used to identify and reference a database cluster. + readOnly: true + name: + type: string + example: backend + description: A unique, human-readable name referring to a database cluster. + engine: + type: string + example: mysql + enum: + - pg + - mysql + - redis + - mongodb + - kafka + - opensearch + description: 'A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Redis, "mongodb" for MongoDB, "kafka" for Kafka, and "opensearch" for OpenSearch.' + version: + type: string + example: '8' + description: A string representing the version of the database engine in use for the cluster. + semantic_version: + type: string + example: 8.0.28 + description: A string representing the semantic version of the database engine in use for the cluster. + readOnly: true + num_nodes: + type: integer + example: 2 + description: The number of nodes in the database cluster. + size: + type: string + example: db-s-2vcpu-4gb + description: The slug identifier representing the size of the nodes in the database cluster. + region: + type: string + example: nyc3 + description: The slug identifier for the region where the database cluster is located. + status: + type: string + enum: + - creating + - online + - resizing + - migrating + - forking + example: creating + description: A string representing the current status of the database cluster. + readOnly: true + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + readOnly: true + private_network_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: d455e75d-4858-4eec-8c95-da2f0a5f93a7 + description: A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. + tags: + type: array + items: + type: string + example: + - production + nullable: true + description: An array of tags that have been applied to the database cluster. + db_names: + type: array + items: + type: string + example: + - doadmin + nullable: true + readOnly: true + description: An array of strings containing the names of databases created in the database cluster. + ui_connection: + type: object + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the opensearch cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the opensearch dashboard is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the opensearch dashboard. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + users: + type: array + nullable: true + items: + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + required: + - name + readOnly: true + maintenance_window: + type: object + nullable: true + properties: + day: + type: string + example: tuesday + description: The day of the week on which to apply maintenance updates. + hour: + type: string + example: '14:00' + description: The hour in UTC at which maintenance updates will be applied in 24 hour format. + pending: + type: boolean + example: true + description: A boolean value indicating whether any maintenance is scheduled to be performed in the next window. + readOnly: true + description: + type: array + items: + type: string + description: A list of strings, each containing information about a pending maintenance update. + example: + - Update TimescaleDB to version 1.2.1 + - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases + readOnly: true + required: + - day + - hour + readOnly: true + project_id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project. + rules: + type: array + items: + type: object + properties: + uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID for the database cluster to which the rule is applied. + type: + type: string + enum: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: + type: string + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + readOnly: true + required: + - type + - value + version_end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + readOnly: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + version_end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + readOnly: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + metrics_endpoints: + type: array + items: + type: object + properties: + host: + type: string + description: A FQDN pointing to the database cluster's node(s). + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which a service is listening. + example: 9273 + readOnly: true + description: Public hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s). + readOnly: true + required: + - name + - engine + - num_nodes + - size + - region required: - database example: @@ -2824,8 +6732,9 @@ components: name: backend engine: pg version: '14' + semantic_version: '14.5' connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -2833,13 +6742,29 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: private-backend-do-user-19081923-0.db.ondigitalocean.com port: 25060 user: doadmin password: wv78n3zpz42xezdk ssl: true + standby_connection: + uri: postgres://doadmin:wv78n3zpz42xezdk@replica-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + database: '' + host: replica-backend-do-user-19081923-0.db.ondigitalocean.com + port: 25060 + user: doadmin + password: wv78n3zpz42xezdk + ssl: true + standby_private_connection: + uri: postgres://doadmin:wv78n3zpz42xezdk@private-replica-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + database: '' + host: private-replica-backend-do-user-19081923-0.db.ondigitalocean.com + port: 25060 + user: doadmin + password: wv78n3zpz42xezdk + ssl: true users: - name: doadmin role: primary @@ -2863,24 +6788,43 @@ components: private_network_uuid: d455e75d-4858-4eec-8c95-da2f0a5f93a7 version_end_of_life: '2023-11-09T00:00:00Z' version_end_of_availability: '2023-05-09T00:00:00Z' + storage_size_mib: 61440 no_content: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. database_config: description: A JSON object with a key of `config`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2888,31 +6832,1255 @@ components: properties: config: anyOf: - - $ref: '#/components/schemas/mysql' - - $ref: '#/components/schemas/postgres' - - $ref: '#/components/schemas/redis' + - type: object + properties: + backup_hour: + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 23 + type: integer + example: 3 + backup_minute: + description: The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 59 + type: integer + example: 30 + sql_mode: + description: Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas. + type: string + pattern: ^[A-Z_]*(,[A-Z_]+)*$ + example: ANSI,TRADITIONAL + maxLength: 1024 + connect_timeout: + description: The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. + type: integer + minimum: 2 + maximum: 3600 + example: 10 + default_time_zone: + description: Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default. + type: string + example: '+03:00' + minLength: 2 + maxLength: 100 + group_concat_max_len: + description: The maximum permitted result length, in bytes, for the GROUP_CONCAT() function. + type: integer + minimum: 4 + maximum: 18446744073709552000 + example: 1024 + information_schema_stats_expiry: + description: The time, in seconds, before cached statistics expire. + type: integer + minimum: 900 + maximum: 31536000 + example: 86400 + innodb_ft_min_token_size: + description: The minimum length of words that an InnoDB FULLTEXT index stores. + type: integer + minimum: 0 + maximum: 16 + example: 3 + innodb_ft_server_stopword_table: + description: The InnoDB FULLTEXT index stopword list for all InnoDB tables. + type: string + pattern: ^.+/.+$ + example: db_name/table_name + maxLength: 1024 + innodb_lock_wait_timeout: + description: The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up. + type: integer + minimum: 1 + maximum: 3600 + example: 50 + innodb_log_buffer_size: + description: The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk. + type: integer + minimum: 1048576 + maximum: 4294967295 + example: 16777216 + innodb_online_alter_log_max_size: + description: The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables. + type: integer + minimum: 65536 + maximum: 1099511627776 + example: 134217728 + innodb_print_all_deadlocks: + description: When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default. + type: boolean + example: true + innodb_rollback_on_timeout: + description: When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction. + type: boolean + example: true + interactive_timeout: + description: The time, in seconds, the server waits for activity on an interactive. connection before closing it. + type: integer + minimum: 30 + maximum: 604800 + example: 3600 + internal_tmp_mem_storage_engine: + description: The storage engine for in-memory internal temporary tables. + type: string + enum: + - TempTable + - MEMORY + example: TempTable + net_read_timeout: + description: The time, in seconds, to wait for more data from an existing connection. aborting the read. + type: integer + minimum: 1 + maximum: 3600 + example: 30 + net_write_timeout: + description: The number of seconds to wait for a block to be written to a connection before aborting the write. + type: integer + minimum: 1 + maximum: 3600 + example: 30 + sql_require_primary_key: + description: Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. + type: boolean + example: true + wait_timeout: + description: The number of seconds the server waits for activity on a noninteractive connection before closing it. + type: integer + minimum: 1 + maximum: 2147483 + example: 28800 + max_allowed_packet: + description: The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M). + type: integer + minimum: 102400 + maximum: 1073741824 + example: 67108864 + max_heap_table_size: + description: The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M) + type: integer + minimum: 1048576 + maximum: 1073741824 + example: 16777216 + sort_buffer_size: + description: The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K). + type: integer + minimum: 32768 + maximum: 1073741824 + example: 262144 + tmp_table_size: + description: The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). + type: integer + minimum: 1048576 + maximum: 1073741824 + example: 16777216 + slow_query_log: + description: When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false. + type: boolean + example: true + long_query_time: + description: The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds. + type: number + minimum: 0 + maximum: 3600 + example: 10 + binlog_retention_period: + description: The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector. + type: number + minimum: 600 + maximum: 86400 + example: 600 + innodb_change_buffer_max_size: + description: Specifies the maximum size of the InnoDB change buffer as a percentage of the buffer pool. + type: integer + minimum: 0 + maximum: 50 + example: 25 + innodb_flush_neighbors: + description: |- + Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent. + - 0 — disables this functionality, dirty pages in the same extent are not flushed. + - 1 — flushes contiguous dirty pages in the same extent. + - 2 — flushes dirty pages in the same extent. + type: integer + enum: + - 0 + - 1 + - 2 + example: 0 + innodb_read_io_threads: + description: The number of I/O threads for read operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_write_io_threads: + description: The number of I/O threads for write operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_thread_concurrency: + description: Defines the maximum number of threads permitted inside of InnoDB. A value of 0 (the default) is interpreted as infinite concurrency (no limit). This variable is intended for performance tuning on high concurrency systems. + type: integer + minimum: 0 + maximum: 1000 + example: 0 + net_buffer_length: + description: Start sizes of connection buffer and result buffer, must be multiple of 1024. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1024 + maximum: 1048576 + example: 4096 + - type: object + properties: + autovacuum_freeze_max_age: + description: Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. + type: integer + minimum: 200000000 + maximum: 1500000000 + example: 200000000 + autovacuum_max_workers: + description: Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. + type: integer + minimum: 1 + maximum: 20 + example: 5 + autovacuum_naptime: + description: Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute. + type: integer + minimum: 0 + maximum: 86400 + example: 43200 + autovacuum_vacuum_threshold: + description: Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. + type: integer + minimum: 0 + maximum: 2147483647 + example: 50 + autovacuum_analyze_threshold: + description: Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. + type: integer + minimum: 0 + maximum: 2147483647 + example: 50 + autovacuum_vacuum_scale_factor: + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). + type: number + minimum: 0 + maximum: 1 + example: 0.2 + autovacuum_analyze_scale_factor: + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size). + type: number + minimum: 0 + maximum: 1 + example: 0.2 + autovacuum_vacuum_cost_delay: + description: Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds. + type: integer + minimum: -1 + maximum: 100 + example: 20 + autovacuum_vacuum_cost_limit: + description: Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. + type: integer + minimum: -1 + maximum: 10000 + example: -1 + backup_hour: + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 23 + type: integer + example: 3 + backup_minute: + description: The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. + minimum: 0 + maximum: 59 + type: integer + example: 30 + bgwriter_delay: + description: Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms. + type: integer + minimum: 10 + maximum: 10000 + example: 200 + bgwriter_flush_after: + description: The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback. + type: integer + minimum: 0 + maximum: 2048 + example: 512 + bgwriter_lru_maxpages: + description: The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. + type: integer + minimum: 0 + maximum: 1073741823 + example: 100 + bgwriter_lru_multiplier: + description: The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0. + type: number + minimum: 0 + maximum: 10 + example: 2 + deadlock_timeout: + description: The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. + type: integer + minimum: 500 + maximum: 1800000 + example: 1000 + default_toast_compression: + description: Specifies the default TOAST compression method for values of compressible columns (the default is lz4). + type: string + enum: + - lz4 + - pglz + example: lz4 + idle_in_transaction_session_timeout: + description: Time out sessions with open transactions after this number of milliseconds + type: integer + minimum: 0 + maximum: 604800000 + example: 10000 + jit: + description: Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT). + type: boolean + example: true + log_autovacuum_min_duration: + description: Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. + type: integer + minimum: -1 + maximum: 2147483647 + example: -1 + log_error_verbosity: + description: Controls the amount of detail written in the server log for each message that is logged. + type: string + enum: + - TERSE + - DEFAULT + - VERBOSE + example: VERBOSE + log_line_prefix: + description: Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc. + type: string + enum: + - pid=%p,user=%u,db=%d,app=%a,client=%h + - '%m [%p] %q[user=%u,db=%d,app=%a]' + - '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' + example: pid=%p,user=%u,db=%d,app=%a,client=%h + log_min_duration_statement: + description: Log statements that take more than this number of milliseconds to run. If -1, disables. + type: integer + minimum: -1 + maximum: 86400000 + example: -1 + max_files_per_process: + description: PostgreSQL maximum number of files that can be open per process. + type: integer + minimum: 1000 + maximum: 4096 + example: 2048 + max_prepared_transactions: + description: PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 0 + maximum: 10000 + example: 20 + max_pred_locks_per_transaction: + description: PostgreSQL maximum predicate locks per transaction. + type: integer + minimum: 64 + maximum: 640 + example: 128 + max_locks_per_transaction: + description: PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 64 + maximum: 6400 + example: 128 + max_stack_depth: + description: Maximum depth of the stack in bytes. + type: integer + minimum: 2097152 + maximum: 6291456 + example: 2097152 + max_standby_archive_delay: + description: Max standby archive delay in milliseconds. + type: integer + minimum: 1 + maximum: 43200000 + example: 43200 + max_standby_streaming_delay: + description: Max standby streaming delay in milliseconds. + type: integer + minimum: 1 + maximum: 43200000 + example: 43200 + max_replication_slots: + description: PostgreSQL maximum replication slots. + type: integer + minimum: 8 + maximum: 64 + example: 16 + max_logical_replication_workers: + description: PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). + type: integer + minimum: 4 + maximum: 64 + example: 16 + max_parallel_workers: + description: Sets the maximum number of workers that the system can support for parallel queries. + type: integer + minimum: 0 + maximum: 96 + example: 12 + max_parallel_workers_per_gather: + description: Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. + type: integer + minimum: 0 + maximum: 96 + example: 16 + max_worker_processes: + description: Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 8 + maximum: 96 + example: 16 + pg_partman_bgw.role: + type: string + pattern: ^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$ + maxLength: 64 + example: myrolename + description: Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters. + pg_partman_bgw.interval: + description: Sets the time interval to run pg_partman's scheduled tasks. + type: integer + minimum: 3600 + maximum: 604800 + example: 3600 + pg_stat_statements.track: + description: Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top. + type: string + enum: + - all + - top + - none + example: all + temp_file_limit: + description: PostgreSQL temporary file limit in KiB. If -1, sets to unlimited. + type: integer + example: 5000000 + minimum: -1 + maximum: 2147483647 + timezone: + description: PostgreSQL service timezone + type: string + example: Europe/Helsinki + maxLength: 64 + track_activity_query_size: + description: Specifies the number of bytes reserved to track the currently executing command for each active session. + type: integer + example: 1024 + minimum: 1024 + maximum: 10240 + track_commit_timestamp: + description: Record commit time of transactions. + type: string + enum: + - 'off' + - 'on' + example: 'off' + track_functions: + description: Enables tracking of function call counts and time used. + type: string + enum: + - all + - pl + - none + example: all + track_io_timing: + description: Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. + type: string + enum: + - 'off' + - 'on' + example: 'off' + max_wal_senders: + description: PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 20 + maximum: 64 + example: 32 + wal_sender_timeout: + description: Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000. + type: integer + minimum: 0 + maximum: 10800000 + example: 60000 + wal_writer_delay: + description: WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance + type: integer + minimum: 10 + maximum: 200 + example: 50 + shared_buffers_percentage: + description: Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. + type: number + minimum: 20 + maximum: 60 + example: 41.5 + pgbouncer: + type: object + description: PGBouncer connection pooling settings + properties: + server_reset_query_always: + description: Run server_reset_query (DISCARD ALL) in all pooling modes. + type: boolean + example: false + ignore_startup_parameters: + description: List of parameters to ignore when given in startup packet. + type: array + example: + - extra_float_digits + - search_path + items: + description: Enum of parameters to ignore when given in startup packet. + type: string + enum: + - extra_float_digits + - search_path + maxItems: 32 + min_pool_size: + description: If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + server_lifetime: + description: The pooler closes any unused server connection that has been connected longer than this amount of seconds. + type: integer + minimum: 60 + maximum: 86400 + example: 3600 + server_idle_timeout: + description: 'Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. ' + type: integer + minimum: 0 + maximum: 86400 + example: 600 + autodb_pool_size: + description: If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + autodb_pool_mode: + enum: + - session + - transaction + - statement + example: session + description: PGBouncer pool mode + type: string + autodb_max_db_connections: + description: Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. + type: integer + minimum: 0 + maximum: 2147483647 + example: 1 + autodb_idle_timeout: + description: If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. + type: integer + minimum: 0 + maximum: 86400 + example: 3600 + work_mem: + description: The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB). + type: integer + minimum: 1 + maximum: 1024 + example: 4 + timescaledb: + type: object + description: TimescaleDB extension configuration values + properties: + max_background_workers: + description: The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. + type: integer + minimum: 1 + maximum: 4096 + example: 8 + synchronous_replication: + description: Synchronous replication type. Note that the service plan also needs to support synchronous replication. + type: string + example: 'off' + enum: + - 'off' + - quorum + stat_monitor_enable: + description: Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable. + type: boolean + example: false + max_failover_replication_time_lag: + description: Number of seconds of master unavailability before triggering database failover to standby. The default value is 60. + type: integer + minimum: 10 + maximum: 9223372036854776000 + example: 50 + - type: object + properties: + redis_maxmemory_policy: + type: string + enum: + - noeviction + - allkeys_lru + - allkeys_random + - volatile_lru + - volatile_random + - volatile_ttl + description: |- + A string specifying the desired eviction policy for the Redis cluster. + - `noeviction`: Don't evict any data, returns error when memory limit is reached. + - `allkeys_lru:` Evict any key, least recently used (LRU) first. + - `allkeys_random`: Evict keys in a random order. + - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile_random`: Evict keys with expiration only in a random order. + - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + example: allkeys_lru + redis_pubsub_client_output_buffer_limit: + description: Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. + type: integer + minimum: 32 + maximum: 512 + example: 64 + redis_number_of_databases: + type: integer + minimum: 1 + maximum: 128 + description: Set number of redis databases. Changing this will cause a restart of redis service. + example: 16 + redis_io_threads: + description: Redis IO thread count + type: integer + minimum: 1 + maximum: 32 + example: 1 + redis_lfu_log_factor: + description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies + type: integer + minimum: 0 + maximum: 100 + default: 10 + example: 10 + redis_lfu_decay_time: + description: LFU maxmemory-policy counter decay time in minutes + type: integer + minimum: 1 + maximum: 120 + default: 1 + example: 1 + redis_ssl: + description: | + Require SSL to access Redis. + - When enabled, Redis accepts only SSL connections on port `25061`. + - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections. + type: boolean + default: true + example: true + redis_timeout: + description: Redis idle connection timeout in seconds + type: integer + minimum: 0 + maximum: 31536000 + default: 300 + example: 300 + redis_notify_keyspace_events: + description: |- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. + - `K` — Keyspace events + - `E` — Keyevent events + - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) + - `$` — String commands + - `l` — List commands + - `s` — Set commands + - `h` — Hash commands + - `z` — Sorted set commands + - `t` — Stream commands + - `d` — Module key type events + - `x` — Expired events + - `e` — Evicted events + - `m` — Key miss events + - `n` — New key events + - `A` — Alias for `"g$lshztxed"` + type: string + pattern: ^[KEg\$lshzxeA]*$ + default: '' + maxLength: 32 + example: K + redis_persistence: + type: string + enum: + - 'off' + - rdb + description: When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. + example: rdb + redis_acl_channels_default: + type: string + enum: + - allchannels + - resetchannels + description: Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default. + example: allchannels + - type: object + properties: + compression_type: + description: Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer. + type: string + enum: + - gzip + - snappy + - lz4 + - zstd + - uncompressed + - producer + example: gzip + group_initial_rebalance_delay_ms: + description: The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time. + type: integer + example: 3000 + minimum: 0 + maximum: 300000 + group_min_session_timeout_ms: + description: The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. + type: integer + example: 6000 + minimum: 0 + maximum: 60000 + group_max_session_timeout_ms: + description: The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. + type: integer + example: 1800000 + minimum: 0 + maximum: 1800000 + connections_max_idle_ms: + description: 'Idle connections timeout: the server socket processor threads close the connections that idle for longer than this.' + type: integer + minimum: 1000 + example: 540000 + maximum: 3600000 + max_incremental_fetch_session_cache_slots: + description: The maximum number of incremental fetch sessions that the broker will maintain. + type: integer + example: 1000 + minimum: 1000 + maximum: 10000 + message_max_bytes: + description: The maximum size of message that the server can receive. + type: integer + example: 1048588 + minimum: 0 + maximum: 100001200 + offsets_retention_minutes: + description: Log retention window in minutes for offsets topic + type: integer + example: 10080 + minimum: 1 + maximum: 2147483647 + log_cleaner_delete_retention_ms: + description: How long are delete records retained? + type: integer + minimum: 0 + maximum: 315569260000 + example: 86400000 + log_cleaner_min_cleanable_ratio: + description: Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log_cleaner_max_compaction_lag_ms to enforce compactions sooner, instead of setting a very high value for this option. + type: number + minimum: 0.2 + maximum: 0.9 + example: 0.5 + log_cleaner_max_compaction_lag_ms: + description: The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted + type: integer + minimum: 30000 + maximum: 9223372036854776000 + example: 60000 + log_cleaner_min_compaction_lag_ms: + description: The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 100000 + log_cleanup_policy: + description: The default cleanup policy for segments beyond the retention window + type: string + enum: + - delete + - compact + - compact,delete + example: delete + log_flush_interval_messages: + description: The number of messages accumulated on a log partition before messages are flushed to disk + type: integer + minimum: 1 + maximum: 9223372036854776000 + example: 9223372036854776000 + log_flush_interval_ms: + description: The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 1000000 + log_index_interval_bytes: + description: The interval with which Kafka adds an entry to the offset index + type: integer + minimum: 0 + maximum: 104857600 + example: 4096 + log_index_size_max_bytes: + description: The maximum size in bytes of the offset index + type: integer + minimum: 1048576 + maximum: 104857600 + example: 10485760 + log_message_downconversion_enable: + description: This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. + type: boolean + example: true + log_message_timestamp_type: + description: Define whether the timestamp in the message is message create time or log append time. + type: string + enum: + - CreateTime + - LogAppendTime + example: CreateTime + log_message_timestamp_difference_max_ms: + description: The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 1000000 + log_preallocate: + description: Controls whether to preallocate a file when creating a new segment + type: boolean + example: false + log_retention_bytes: + description: The maximum size of the log before deleting messages + type: integer + minimum: -1 + maximum: 9223372036854776000 + example: 1000000 + log_retention_hours: + description: The number of hours to keep a log file before deleting it + type: integer + minimum: -1 + maximum: 2147483647 + example: 1000000 + log_retention_ms: + description: The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied. + type: integer + minimum: -1 + maximum: 9223372036854776000 + example: 100000000 + log_roll_jitter_ms: + description: The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 10000000 + log_roll_ms: + description: The maximum time before a new log segment is rolled out (in milliseconds). + type: integer + minimum: 1 + maximum: 9223372036854776000 + example: 1000000 + log_segment_bytes: + description: The maximum size of a single log file + type: integer + minimum: 10485760 + maximum: 1073741824 + example: 100000000 + log_segment_delete_delay_ms: + description: The amount of time to wait before deleting a file from the filesystem + type: integer + minimum: 0 + maximum: 3600000 + example: 60000 + auto_create_topics_enable: + description: Enable auto creation of topics + type: boolean + example: true + min_insync_replicas: + description: When a producer sets acks to 'all' (or '-1'), min_insync_replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. + type: integer + minimum: 1 + maximum: 7 + example: 1 + num_partitions: + description: Number of partitions for autocreated topics + type: integer + minimum: 1 + maximum: 1000 + example: 10 + default_replication_factor: + description: Replication factor for autocreated topics + type: integer + minimum: 1 + maximum: 10 + example: 2 + replica_fetch_max_bytes: + description: The number of bytes of messages to attempt to fetch for each partition (defaults to 1048576). This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. + type: integer + minimum: 1048576 + maximum: 104857600 + example: 2097152 + replica_fetch_response_max_bytes: + description: Maximum bytes expected for the entire fetch response (defaults to 10485760). Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum. + type: integer + minimum: 10485760 + maximum: 1048576000 + example: 20971520 + max_connections_per_ip: + description: The maximum number of connections allowed from each ip address (defaults to 2147483647). + type: integer + minimum: 256 + maximum: 2147483647 + example: 512 + producer_purgatory_purge_interval_requests: + description: The purge interval (in number of requests) of the producer request purgatory (defaults to 1000). + type: integer + minimum: 10 + maximum: 10000 + example: 100 + socket_request_max_bytes: + description: The maximum number of bytes in a socket request (defaults to 104857600). + type: integer + minimum: 10485760 + maximum: 209715200 + example: 20971520 + transaction_state_log_segment_bytes: + description: The transaction topic segment bytes should be kept relatively small in order to facilitate faster log compaction and cache loads (defaults to 104857600 (100 mebibytes)). + type: integer + minimum: 1048576 + maximum: 2147483647 + example: 104857600 + transaction_remove_expired_transaction_cleanup_interval_ms: + description: The interval at which to remove transactions that have expired due to transactional.id.expiration.ms passing (defaults to 3600000 (1 hour)). + type: integer + minimum: 600000 + maximum: 3600000 + example: 3600000 + - type: object + properties: + http_max_content_length_bytes: + description: Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes. + type: integer + example: 100000000 + minimum: 1 + maximum: 2147483647 + default: 100000000 + http_max_header_size_bytes: + description: Maximum size of allowed headers, in bytes. + type: integer + example: 8192 + minimum: 1024 + maximum: 262144 + default: 8192 + http_max_initial_line_length_bytes: + description: Maximum length of an HTTP URL, in bytes. + type: integer + example: 4096 + minimum: 1024 + maximum: 65536 + default: 4096 + indices_query_bool_max_clause_count: + description: Maximum number of clauses Lucene BooleanQuery can have. Only increase it if necessary, as it may cause performance issues. + type: integer + example: 1024 + minimum: 64 + maximum: 4096 + default: 1024 + indices_fielddata_cache_size_percentage: + description: Maximum amount of heap memory used for field data cache, expressed as a percentage. Decreasing the value too much will increase overhead of loading field data. Increasing the value too much will decrease amount of heap available for other operations. + type: integer + example: 3 + minimum: 3 + maximum: 100 + indices_memory_index_buffer_size_percentage: + description: Total amount of heap used for indexing buffer before writing segments to disk, expressed as a percentage. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance. + type: integer + example: 10 + minimum: 3 + maximum: 40 + default: 10 + indices_memory_min_index_buffer_size_mb: + description: Minimum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. + type: integer + example: 48 + minimum: 3 + maximum: 2048 + default: 48 + indices_memory_max_index_buffer_size_mb: + description: Maximum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. The default is unbounded. + type: integer + example: 48 + minimum: 3 + maximum: 2048 + indices_queries_cache_size_percentage: + description: Maximum amount of heap used for query cache. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other functionality. + type: integer + example: 10 + minimum: 3 + maximum: 40 + default: 10 + indices_recovery_max_mb_per_sec: + description: Limits total inbound and outbound recovery traffic for each node, expressed in mb per second. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). + type: integer + example: 40 + minimum: 40 + maximum: 400 + default: 40 + indices_recovery_max_concurrent_file_chunks: + description: Maximum number of file chunks sent in parallel for each recovery. + type: integer + example: 2 + minimum: 2 + maximum: 5 + default: 2 + thread_pool_search_size: + description: Number of workers in the search operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_search_throttled_size: + description: Number of workers in the search throttled operation thread pool. This pool is used for searching frozen indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_get_size: + description: Number of workers in the get operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_analyze_size: + description: Number of workers in the analyze operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_write_size: + description: Number of workers in the write operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_force_merge_size: + description: Number of workers in the force merge operation thread pool. This pool is used for forcing a merge between shards of one or more indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_search_queue_size: + description: Size of queue for operations in the search thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_search_throttled_queue_size: + description: Size of queue for operations in the search throttled thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_get_queue_size: + description: Size of queue for operations in the get thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_analyze_queue_size: + description: Size of queue for operations in the analyze thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_write_queue_size: + description: Size of queue for operations in the write thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + ism_enabled: + description: Specifies whether ISM is enabled or not. + type: boolean + example: true + default: true + ism_history_enabled: + description: Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document. + type: boolean + example: true + default: true + ism_history_max_age_hours: + description: Maximum age before rolling over the audit history index, in hours. + type: integer + example: 24 + minimum: 1 + maximum: 2147483647 + default: 24 + ism_history_max_docs: + description: Maximum number of documents before rolling over the audit history index. + type: integer + example: 2500000 + minimum: 1 + maximum: 9223372036854776000 + default: 2500000 + ism_history_rollover_check_period_hours: + description: The time between rollover checks for the audit history index, in hours. + type: integer + example: 8 + minimum: 1 + maximum: 2147483647 + default: 8 + ism_history_rollover_retention_period_days: + description: Length of time long audit history indices are kept, in days. + type: integer + example: 30 + minimum: 1 + maximum: 2147483647 + default: 30 + search_max_buckets: + description: Maximum number of aggregation buckets allowed in a single response. + type: integer + example: 10000 + minimum: 1 + maximum: 1000000 + default: 10000 + action_auto_create_index_enabled: + description: Specifices whether to allow automatic creation of indices. + type: boolean + example: true + default: true + enable_security_audit: + description: Specifies whether to allow security audit logging. + type: boolean + example: false + default: false + action_destructive_requires_name: + description: Specifies whether to require explicit index names when deleting indices. + type: boolean + example: false + cluster_max_shards_per_node: + description: Maximum number of shards allowed per data node. + type: integer + example: 100 + minimum: 100 + maximum: 10000 + override_main_response_version: + description: Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. + type: boolean + example: false + default: false + script_max_compilations_rate: + description: Limits the number of inline script compilations within a period of time. Default is use-context + type: string + example: 75/5m + default: use-context + cluster_routing_allocation_node_concurrent_recoveries: + description: Maximum concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen per node . + type: integer + example: 2 + minimum: 2 + maximum: 16 + default: 2 + reindex_remote_whitelist: + description: Allowlist of remote IP addresses for reindexing. Changing this value will cause all OpenSearch instances to restart. + type: array + items: + type: string + example: + - 255.255.223.233:9200 + - 222.33.222.222:6300 + plugins_alerting_filter_by_backend_roles_enabled: + description: Enable or disable filtering of alerting by backend roles. + type: boolean + example: false + default: false + - type: object + properties: + default_read_concern: + description: Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/). + type: string + enum: + - local + - available + - majority + default: local + example: local + default_write_concern: + description: Describes the level of acknowledgment requested from MongoDB for write operations clusters. This field can set to either `majority` or a number `0...n` which will describe the number of nodes that must acknowledge the write operation before it is fully accepted. Setting to `0` will request no acknowledgement of the write operation. Learn more [here](https://www.mongodb.com/docs/manual/reference/write-concern/). + type: string + default: majority + example: majority + transaction_lifetime_limit_seconds: + description: Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every `transactionLifetimeLimitSeconds/2 seconds` or at least once every 60 seconds. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds). + type: integer + minimum: 1 + default: 60 + example: 100 + slow_op_threshold_ms: + description: Operations that run for longer than this threshold are considered slow which are then recorded to the diagnostic logs. Higher log levels (verbosity) will record all operations regardless of this threshold on the primary node. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs). + type: integer + minimum: 0 + default: 100 + example: 200 + verbosity: + description: The log message verbosity level. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. 0 includes informational messages while 1...5 increases the level to include debug messages. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity). + type: integer + minimum: 0 + maximum: 5 + default: 0 + example: 3 required: - config example: config: - sql_mode: 'ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES' + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES sql_require_primary_key: true ca: description: A JSON object with a key of `ca`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: ca: - $ref: '#/components/schemas/ca' + type: object + properties: + certificate: + type: string + example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + description: base64 encoding of the certificate used to secure database connections + readOnly: true + required: + - certificate required: - ca example: @@ -2922,37 +8090,82 @@ components: description: A JSON object. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/online_migration' + type: object + properties: + id: + type: string + description: The ID of the most recent migration. + example: 77b28fc8-19ff-11eb-8c9c-c68e24557488 + status: + type: string + description: The current status of the migration. + enum: + - running + - canceled + - error + - done + example: running + created_at: + type: string + description: The time the migration was initiated, in ISO 8601 format. + example: '2020-10-29T15:57:38Z' example: id: 77b28fc8-19ff-11eb-8c9c-c68e24557488 status: running created_at: '2020-10-29T15:57:38Z' accepted: - description: 'The does not indicate the success or failure of any operation, just that the request has been accepted for processing.' + description: The does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. firewall_rules: description: A JSON object with a key of `rules`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2960,7 +8173,41 @@ components: rules: type: array items: - $ref: '#/components/schemas/firewall_rule' + type: object + properties: + uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID for the database cluster to which the rule is applied. + type: + type: string + enum: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: + type: string + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + readOnly: true + required: + - type + - value example: rules: - uuid: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 @@ -2987,11 +8234,20 @@ components: description: A JSON object with a key of `database_backups`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -3000,7 +8256,20 @@ components: backups: type: array items: - $ref: '#/components/schemas/backup' + type: object + properties: + created_at: + type: string + format: date-time + example: '2019-01-31T19:25:22Z' + description: A time value given in ISO8601 combined date and time format at which the backup was created. + size_gigabytes: + type: number + example: 0.03364864 + description: The size of the database backup in GBs. + required: + - created_at + - size_gigabytes required: - backups example: @@ -3013,11 +8282,20 @@ components: description: A JSON object with a key of `replicas`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -3025,7 +8303,138 @@ components: replicas: type: array items: - $ref: '#/components/schemas/database_replica' + type: object + properties: + id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID that can be used to identify and reference a database replica. + readOnly: true + name: + type: string + example: read-nyc3-01 + description: The name to give the read-only replicating + region: + type: string + example: nyc3 + description: A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. + size: + type: string + example: db-s-2vcpu-4gb + description: A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. + status: + type: string + enum: + - creating + - online + - resizing + - migrating + - forking + example: creating + description: A string representing the current status of the database cluster. + readOnly: true + tags: + type: array + items: + type: string + example: + - production + description: A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + readOnly: true + private_network_uuid: + type: string + example: 9423cbad-9211-442f-820b-ef6915e99b5f + description: A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. + connection: + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + type: object + private_connection: + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + type: object + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + required: + - name example: replicas: - name: read-nyc3-01 @@ -3038,7 +8447,7 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -3052,18 +8461,158 @@ components: description: A JSON object with a key of `replica`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: replica: - $ref: '#/components/schemas/database_replica' + type: object + properties: + id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID that can be used to identify and reference a database replica. + readOnly: true + name: + type: string + example: read-nyc3-01 + description: The name to give the read-only replicating + region: + type: string + example: nyc3 + description: A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. + size: + type: string + example: db-s-2vcpu-4gb + description: A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. + status: + type: string + enum: + - creating + - online + - resizing + - migrating + - forking + example: creating + description: A string representing the current status of the database cluster. + readOnly: true + tags: + type: array + items: + type: string + example: + - production + description: A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + readOnly: true + private_network_uuid: + type: string + example: 9423cbad-9211-442f-820b-ef6915e99b5f + description: A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. + connection: + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + type: object + private_connection: + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + type: object + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + required: + - name example: replica: name: read-nyc3-01 @@ -3076,7 +8625,7 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -3086,15 +8635,85 @@ components: region: nyc3 status: online created_at: '2019-01-11T18:37:36Z' + events_logs: + description: A JSON object with a key of `events`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + events: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the particular event. + example: pe8u2huh + cluster_name: + type: string + description: The name of cluster. + example: sample_cluster + event_type: + type: string + enum: + - cluster_maintenance_perform + - cluster_master_promotion + - cluster_create + - cluster_update + - cluster_delete + - cluster_poweron + - cluster_poweroff + description: Type of the event. + example: cluster_create + create_time: + type: string + description: The time of the generation of a event. + example: '2020-10-29T15:57:38Z' + example: + events: + - id: pe8u2huh + cluster_name: customer-events + event_type: cluster_create + create_time: '2020-10-29T15:57:38Z' + - id: pe8ufefuh + cluster_name: customer-events + event_type: cluster_update + create_time: '2023-10-30T15:57:38Z' users: description: A JSON object with a key of `users`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -3102,7 +8721,169 @@ components: users: type: array items: - $ref: '#/components/schemas/database_user' + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + required: + - name example: users: - name: app-01 @@ -3115,18 +8896,189 @@ components: description: A JSON object with a key of `user`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: user: - $ref: '#/components/schemas/database_user' + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + required: + - name required: - user examples: @@ -3144,15 +9096,109 @@ components: password: wv78n3zpz42xezdk mysql_settings: auth_plugin: mysql_native_password + New User for Postgres with replication rights: + value: + user: + name: app-02 + role: normal + password: wv78n3zpz42xezdk + settings: + pg_allow_replication: true + Kafka User: + value: + user: + name: app-03 + role: normal + password: qv78n3zes42xezdk + access_cert: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + access_key: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + settings: + acl: + - id: acl128aaaa99239 + permission: produceconsume + topic: customer-events + - id: acl293098flskdf + permission: produce + topic: customer-events.* + - id: acl128ajei20123 + permission: consume + topic: customer-events databases: description: A JSON object with a key of `databases`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -3160,7 +9206,14 @@ components: dbs: type: array items: - $ref: '#/components/schemas/database' + type: object + properties: + name: + type: string + example: alpha + description: The name of the database. + required: + - name example: dbs: - name: alpha @@ -3169,18 +9222,34 @@ components: description: A JSON object with a key of `db`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: db: - $ref: '#/components/schemas/database' + type: object + properties: + name: + type: string + example: alpha + description: The name of the database. + required: + - name required: - db example: @@ -3190,15 +9259,214 @@ components: description: A JSON object with a key of `pools`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/connection_pools' + type: object + properties: + pools: + type: array + readOnly: true + description: An array of connection pool objects. + items: + type: object + properties: + name: + type: string + description: A unique name for the connection pool. Must be between 3 and 60 characters. + example: backend-pool + mode: + type: string + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + example: transaction + size: + type: integer + format: int32 + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. + example: 10 + db: + type: string + description: The database for use with the connection pool. + example: defaultdb + user: + type: string + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + example: doadmin + connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + required: + - name + - mode + - size + - db example: pools: - user: doadmin @@ -3207,7 +9475,7 @@ components: db: defaultdb mode: session connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/foo?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/foo?sslmode=require database: foo host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25061 @@ -3220,7 +9488,7 @@ components: db: defaultdb mode: transaction connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require database: backend-pool host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25061 @@ -3231,18 +9499,210 @@ components: description: A JSON object with a key of `pool`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: pool: - $ref: '#/components/schemas/connection_pool' + type: object + properties: + name: + type: string + description: A unique name for the connection pool. Must be between 3 and 60 characters. + example: backend-pool + mode: + type: string + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + example: transaction + size: + type: integer + format: int32 + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. + example: 10 + db: + type: string + description: The database for use with the connection pool. + example: defaultdb + user: + type: string + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + example: doadmin + connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + standby_private_connection: + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + readOnly: true + required: + - name + - mode + - size + - db required: - pool example: @@ -3253,7 +9713,7 @@ components: db: defaultdb mode: transaction connection: - uri: 'postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require' + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require database: backend-pool host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25061 @@ -3264,11 +9724,20 @@ components: description: A JSON string with a key of `eviction_policy`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -3276,61 +9745,676 @@ components: - eviction_policy properties: eviction_policy: - $ref: '#/components/schemas/eviction_policy_model' + type: string + enum: + - noeviction + - allkeys_lru + - allkeys_random + - volatile_lru + - volatile_random + - volatile_ttl + description: |- + A string specifying the desired eviction policy for the Redis cluster. + - `noeviction`: Don't evict any data, returns error when memory limit is reached. + - `allkeys_lru:` Evict any key, least recently used (LRU) first. + - `allkeys_random`: Evict keys in a random order. + - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile_random`: Evict keys with expiration only in a random order. + - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + example: allkeys_lru sql_mode: description: A JSON string with a key of `sql_mode`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + sql_mode: + type: string + example: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + description: A string specifying the configured SQL modes for the MySQL cluster. + required: + - sql_mode + example: + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + kafka_topics: + description: A JSON object with a key of `topics`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + topics: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Kafka topic. + example: events + replication_factor: + type: integer + example: 2 + description: The number of nodes to replicate data across the cluster. + partition_count: + type: integer + example: 3 + description: The number of partitions available for the topic. On update, this value can only be increased. + state: + type: string + enum: + - active + - configuring + - deleting + - unknown + example: active + description: The state of the Kafka topic. + example: + topics: + - name: customer-events + state: active + replication_factor: 2 + partition_count: 3 + - name: engineering-events + state: configuring + replication_factor: 2 + partition_count: 10 + kafka_topic: + description: A JSON object with a key of `topic`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + topic: + type: object + properties: + name: + type: string + description: The name of the Kafka topic. + example: events + state: + type: string + enum: + - active + - configuring + - deleting + - unknown + example: active + description: The state of the Kafka topic. + replication_factor: + type: integer + example: 2 + description: The number of nodes to replicate data across the cluster. + partitions: + type: array + items: + type: object + properties: + size: + type: integer + description: Size of the topic partition in bytes. + example: 4096 + id: + type: integer + description: An identifier for the partition. + example: 1 + in_sync_replicas: + type: integer + description: The number of nodes that are in-sync (have the latest data) for the given partition + example: 3 + earliest_offset: + type: integer + description: The earliest consumer offset amongst consumer groups. + example: 0 + consumer_groups: + type: array + nullable: true + items: + type: object + properties: + group_name: + type: string + description: Name of the consumer group. + example: consumer + offset: + type: integer + description: The current offset of the consumer group. + example: 0 + config: + type: object + properties: + cleanup_policy: + type: string + enum: + - delete + - compact + - compact_delete + example: delete + default: delete + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. + compression_type: + type: string + enum: + - producer + - gzip + - snappy + - Iz4 + - zstd + - uncompressed + example: producer + default: producer + description: The compression_type specifies the compression type of the topic. + delete_retention_ms: + type: integer + example: 86400000 + default: 86400000 + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. + file_delete_delay_ms: + type: integer + example: 60000 + default: 60000 + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. + flush_messages: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. + flush_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. + index_interval_bytes: + type: integer + example: 4096 + default: 4096 + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. + max_compaction_lag_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. + max_message_bytes: + type: integer + example: 1048588 + default: 1048588 + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. + message_down_conversion_enable: + type: boolean + example: true + default: true + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. + message_format_version: + type: string + example: 3.0-IV1 + enum: + - 0.8.0 + - 0.8.1 + - 0.8.2 + - 0.9.0 + - 0.10.0-IV0 + - 0.10.0-IV1 + - 0.10.1-IV0 + - 0.10.1-IV1 + - 0.10.1-IV2 + - 0.10.2-IV0 + - 0.11.0-IV0 + - 0.11.0-IV1 + - 0.11.0-IV2 + - 1.0-IV0 + - 1.1-IV0 + - 2.0-IV0 + - 2.0-IV1 + - 2.1-IV0 + - 2.1-IV1 + - 2.1-IV2 + - 2.2-IV0 + - 2.2-IV1 + - 2.3-IV0 + - 2.3-IV1 + - 2.4-IV0 + - 2.4-IV1 + - 2.5-IV0 + - 2.6-IV0 + - 2.7-IV0 + - 2.7-IV1 + - 2.7-IV2 + - 2.8-IV0 + - 2.8-IV1 + - 3.0-IV0 + - 3.0-IV1 + - 3.1-IV0 + - 3.2-IV0 + - 3.3-IV0 + - 3.3-IV1 + - 3.3-IV2 + - 3.3-IV3 + default: 3.0-IV1 + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. + message_timestamp_type: + type: string + example: create_time + enum: + - create_time + - log_append_time + default: create_time + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. + min_cleanable_dirty_ratio: + type: number + format: float + default: 0.5 + example: 0.5 + minimum: 0 + maximum: 1 + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. + min_compaction_lag_ms: + type: integer + example: 0 + default: 0 + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. + min_insync_replicas: + type: integer + example: 1 + default: 1 + minimum: 1 + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. + preallocate: + type: boolean + example: false + default: false + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. + retention_bytes: + type: integer + example: 1000000 + default: -1 + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. + retention_ms: + type: integer + example: 604800000 + default: 604800000 + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. + segment_bytes: + type: integer + example: 209715200 + default: 209715200 + minimum: 14 + description: The segment_bytes specifies the maximum size of a single log file (in bytes). + segment_jitter_ms: + type: integer + example: 0 + default: 0 + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. + segment_ms: + type: integer + example: 604800000 + default: 604800000 + minimum: 1 + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. + example: + topic: + name: customer-events + partitions: + - size: 4096 + id: 0 + in_sync_replicas: 3 + earliest_offset: 0 + consumer_groups: + - name: consumer-group-1 + offset: 0 + - name: consumer-group-2 + offset: 1 + - size: 4096 + id: 1 + in_sync_replicas: 3 + earliest_offset: 0 + consumer_groups: null + replication_factor: 3 + state: active + config: + cleanup_policy: delete + compression_type: producer + delete_retention_ms: 86400000 + file_delete_delay_ms: 60000 + flush_messages: 9223372036854776000 + flush_ms: 9223372036854776000 + index_interval_bytes: 4096 + max_compaction_lag_ms: 9223372036854776000 + max_message_bytes: 1048588 + message_down_conversion_enable: true + message_format_version: 3.0-IV1 + message_timestamp_difference_max_ms: 9223372036854776000 + message_timestamp_type: create_time + min_cleanable_dirty_ratio: 0.5 + min_compaction_lag_ms: 0 + min_insync_replicas: 1 + preallocate: false + retention_bytes: -1 + retention_ms: 604800000 + segment_bytes: 209715200 + segment_index_bytes: 10485760 + segment_jitter_ms: 0 + segment_ms: 604800000 + logsinks: + description: A JSON object with a key of `sinks`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + sinks: + type: array + items: + type: object + properties: {} + example: + sinks: + - sink_id: 799990b6-d551-454b-9ffe-b8618e9d6272 + sink_name: logs-sink-1 + sink_type: rsyslog + config: + server: 192.168.0.1 + port: 514 + tls: false + format: rfc5424 + - sink_id: d6e95157-5f58-48d0-9023-8cfb409d102a + sink_name: logs-sink-2 + sink_type: rsyslog + config: + server: 192.168.10.1 + port: 514 + tls: false + format: rfc3164 + logsink: + description: A JSON object with a key of `sink`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + sink: + type: object + properties: {} + examples: + Create an opensearch logsink: + value: + sink: + sink_id: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + sink_name: logs-sink + sink_type: opensearch + config: + url: https://user:passwd@192.168.0.1:25060 + index_prefix: opensearch-logs + index_days_max: 5 + Create an elasticsearch logsink: + value: + sink: + sink_id: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + sink_name: logs-sink + sink_type: elasticsearch + config: + url: https://user:passwd@192.168.0.1:25060 + index_prefix: elasticsearch-logs + index_days_max: 5 + Create a rsyslog logsink: + value: + sink: + sink_id: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + sink_name: logs-sink + sink_type: rsyslog + config: + server: 192.168.0.1 + port: 514 + tls: false + format: rfc5424 + database_metrics_auth: + description: A JSON object with a key of `credentials`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + credentials: + type: object + properties: + credentials: + type: object + properties: + basic_auth_username: + type: string + example: username + description: basic authentication username for metrics HTTP endpoint + basic_auth_password: + type: string + example: password + description: basic authentication password for metrics HTTP endpoint + example: + credentials: + basic_auth_username: username + basic_auth_password: password + opensearch_indexes: + description: A JSON object with a key of `indexes`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/sql_mode' + properties: + indexes: + type: array + items: + type: object + properties: + index_name: + type: string + description: The name of the opensearch index. + example: events + number_of_shards: + type: integer + example: 2 + description: The number of shards for the index. + number_of_replicas: + type: integer + example: 3 + description: The number of replicas for the index. + size: + type: integer + example: 208 + description: The size of the index. + created_time: + type: string + format: date-time + example: '2021-01-01T00:00:00Z' + description: The date and time the index was created. + status: + type: string + enum: + - unknown + - open + - close + - none + example: open + description: The status of the OpenSearch index. + health: + type: string + enum: + - unknown + - green + - yellow + - red + - red* + example: green + description: The health of the OpenSearch index. example: - sql_mode: 'ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES' + indexes: + - index_name: sample-data + number_of_shards: 2 + number_of_replicas: 3 + size: 208 + created_time: '2021-01-01T00:00:00Z' + status: open + health: green + - index_name: logs-* + number_of_shards: 2 + number_of_replicas: 3 + size: 208 + created_time: '2021-01-01T00:00:00Z' + status: open + health: green securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -3345,11 +10429,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3359,7 +10443,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -3369,11 +10453,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3398,11 +10482,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3446,7 +10530,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -3455,7 +10539,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -3529,6 +10613,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -3547,7 +10638,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3557,7 +10648,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -3571,7 +10662,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3643,7 +10734,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -3651,11 +10742,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3674,7 +10765,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -3749,12 +10840,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -3768,7 +10866,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -3837,7 +10935,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -3889,133 +10987,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -4083,14 +11207,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -4267,6 +11390,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4347,9 +11475,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4380,13 +11508,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4493,13 +11626,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4605,7 +11743,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -4619,6 +11757,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4699,9 +11842,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4732,13 +11875,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4845,78 +11993,219 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 - droplet_create_request: - value: - name: example.com - region: nyc3 - size: s-1vcpu-1gb - image: ubuntu-20-04-x64 - ssh_keys: - - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' - backups: true - ipv6: true - monitoring: true - tags: - - 'env:prod' - - web - user_data: | - #cloud-config - runcmd: - - touch /test.txt - vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - droplet_multi_create_request: - value: - names: - - sub-01.example.com - - sub-02.example.com - region: nyc3 - size: s-1vcpu-1gb - image: ubuntu-20-04-x64 - ssh_keys: - - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' - backups: true - ipv6: true - monitoring: true - tags: - - 'env:prod' - - web - user_data: | - #cloud-config - runcmd: - - touch /test.txt - vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - droplet_create_response: + gpu_droplets: value: - droplet: - id: 3164444 - name: example.com - memory: 1024 - vcpus: 1 - disk: 25 - locked: false - status: new - kernel: null - created_at: '2020-07-21T18:37:44Z' - features: - - backups - - private_networking - - ipv6 - - monitoring - backup_ids: [] - next_backup_window: null - snapshot_ids: [] - image: - id: 63663980 - name: 20.04 (LTS) x64 - distribution: Ubuntu + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 + droplet_create_request: + value: + name: example.com + region: nyc3 + size: s-1vcpu-1gb + image: ubuntu-20-04-x64 + ssh_keys: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + backups: true + ipv6: true + monitoring: true + tags: + - env:prod + - web + user_data: | + #cloud-config + runcmd: + - touch /test.txt + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + droplet_multi_create_request: + value: + names: + - sub-01.example.com + - sub-02.example.com + region: nyc3 + size: s-1vcpu-1gb + image: ubuntu-20-04-x64 + ssh_keys: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + backups: true + ipv6: true + monitoring: true + tags: + - env:prod + - web + user_data: | + #cloud-config + runcmd: + - touch /test.txt + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + droplet_create_response: + value: + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu slug: ubuntu-20-04-x64 public: true regions: @@ -4999,12 +12288,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -5013,6 +12302,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -5111,12 +12405,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -5215,15 +12514,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -5232,6 +12531,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -5312,9 +12616,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5345,10 +12649,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -5386,13 +12691,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -5429,6 +12735,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -5518,9 +12825,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5550,7 +12857,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5582,6 +12889,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -5865,12 +13173,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5880,8 +13188,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5917,8 +13225,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5954,6 +13262,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -6009,7 +13322,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -6017,8 +13330,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6059,6 +13372,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -6075,7 +13393,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6086,8 +13404,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6123,8 +13441,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6160,6 +13478,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -6171,12 +13494,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6186,8 +13509,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6223,8 +13546,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6259,6 +13582,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -6270,12 +13598,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6285,8 +13613,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6322,8 +13650,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6358,6 +13686,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -6567,11 +13900,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -6623,7 +13956,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -6637,11 +13970,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -6667,11 +14000,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -6697,7 +14030,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -6721,7 +14054,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -6793,11 +14126,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -6909,7 +14242,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6972,7 +14305,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -7021,11 +14354,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -7097,11 +14430,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -7282,8 +14615,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -7321,13 +14674,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -7364,6 +14718,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -7453,9 +14808,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -7485,7 +14840,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -7517,6 +14872,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -7565,7 +14921,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -7595,7 +14951,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -7849,14 +15205,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -7866,7 +15222,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -7876,530 +15232,685 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: options: id: digitalocean.databases.options name: options title: Options methods: - list_options: - operation: - $ref: '#/paths/~1v2~1databases~1options/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.options - _list_options: + databases_list_options: operation: $ref: '#/paths/~1v2~1databases~1options/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/options' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/options/methods/list_options' + - $ref: '#/components/x-stackQL-resources/options/methods/databases_list_options' insert: [] update: [] + replace: [] delete: [] - clusters: - id: digitalocean.databases.clusters - name: clusters - title: Clusters + database_clusters: + id: digitalocean.databases.database_clusters + name: database_clusters + title: Database Clusters methods: - list_clusters: - operation: - $ref: '#/paths/~1v2~1databases/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.databases - _list_clusters: + databases_list_clusters: operation: $ref: '#/paths/~1v2~1databases/get' response: mediaType: application/json openAPIDocKey: '200' - create_cluster: + schemaRef: '#/components/responses/database_clusters' + databases_create_cluster: operation: $ref: '#/paths/~1v2~1databases/post' response: mediaType: application/json openAPIDocKey: '201' - get_cluster: + schemaRef: '#/components/responses/database_cluster' + objectKey: $.database + databases_get_cluster: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/database_cluster' objectKey: $.database - _get_cluster: + databases_destroy_cluster: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}/get' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}/delete' response: mediaType: application/json - openAPIDocKey: '200' - destroy_cluster: + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + databases_update_region: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}/delete' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1migrate/put' response: mediaType: application/json - openAPIDocKey: '204' - update_clusterSize: + openAPIDocKey: '202' + schemaRef: '#/components/responses/accepted' + databases_update_cluster_size: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1resize/put' response: mediaType: application/json openAPIDocKey: '202' - update_maintenanceWindow: + schemaRef: '#/components/responses/no_content' + databases_update_maintenance_window: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1maintenance/put' response: mediaType: application/json openAPIDocKey: '204' - get_evictionPolicy: + schemaRef: '#/components/responses/no_content' + databases_install_update: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/get' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1install_update/put' response: mediaType: application/json - openAPIDocKey: '200' - update_evictionPolicy: + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + databases_update_major_version: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/put' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1upgrade/put' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/clusters/methods/list_clusters' - - $ref: '#/components/x-stackQL-resources/clusters/methods/get_cluster' + - $ref: '#/components/x-stackQL-resources/database_clusters/methods/databases_get_cluster' + - $ref: '#/components/x-stackQL-resources/database_clusters/methods/databases_list_clusters' insert: - - $ref: '#/components/x-stackQL-resources/clusters/methods/create_cluster' + - $ref: '#/components/x-stackQL-resources/database_clusters/methods/databases_create_cluster' update: [] - delete: [] - config: - id: digitalocean.databases.config - name: config - title: Config + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/database_clusters/methods/databases_destroy_cluster' + configs: + id: digitalocean.databases.configs + name: configs + title: Configs methods: - get_config: + databases_get_config: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1config/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/database_config' objectKey: $.config - _get_config: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1config/get' - response: - mediaType: application/json - openAPIDocKey: '200' - patch_config: + databases_patch_config: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1config/patch' response: mediaType: application/json - openAPIDocKey: '204' + openAPIDocKey: '200' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/config/methods/get_config' + - $ref: '#/components/x-stackQL-resources/configs/methods/databases_get_config' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/configs/methods/databases_patch_config' + replace: [] delete: [] - ca: - id: digitalocean.databases.ca - name: ca - title: Ca + cas: + id: digitalocean.databases.cas + name: cas + title: Cas methods: - get_ca: + databases_get_ca: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1ca/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/ca' objectKey: $.ca - _get_ca: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1ca/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/ca/methods/get_ca' + - $ref: '#/components/x-stackQL-resources/cas/methods/databases_get_ca' insert: [] update: [] + replace: [] delete: [] - migrations: - id: digitalocean.databases.migrations - name: migrations - title: Migrations + online_migrations: + id: digitalocean.databases.online_migrations + name: online_migrations + title: Online Migrations methods: - get_migrationStatus: + databases_get_migration_status: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration/get' response: mediaType: application/json openAPIDocKey: '200' - update_onlineMigration: + schemaRef: '#/components/responses/online_migration' + databases_update_online_migration: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration/put' response: mediaType: application/json openAPIDocKey: '200' - delete_onlineMigration: + schemaRef: '#/components/responses/online_migration' + databases_delete_online_migration: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration~1{migration_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - update_region: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1migrate/put' - response: - mediaType: application/json - openAPIDocKey: '202' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/migrations/methods/get_migrationStatus' + - $ref: '#/components/x-stackQL-resources/online_migrations/methods/databases_get_migration_status' insert: [] update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/migrations/methods/delete_onlineMigration' - firewall_rules: - id: digitalocean.databases.firewall_rules - name: firewall_rules - title: Firewall Rules + - $ref: '#/components/x-stackQL-resources/online_migrations/methods/databases_delete_online_migration' + firewalls: + id: digitalocean.databases.firewalls + name: firewalls + title: Firewalls methods: - list_firewall_rules: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1firewall/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.rules - _list_firewall_rules: + databases_list_firewall_rules: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1firewall/get' response: mediaType: application/json openAPIDocKey: '200' - update_firewall_rules: + schemaRef: '#/components/responses/firewall_rules' + databases_update_firewall_rules: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1firewall/put' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/firewall_rules/methods/list_firewall_rules' + - $ref: '#/components/x-stackQL-resources/firewalls/methods/databases_list_firewall_rules' insert: [] update: [] + replace: [] delete: [] backups: id: digitalocean.databases.backups name: backups title: Backups methods: - list_backups: + databases_list_backups: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1backups/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/database_backups' objectKey: $.backups - _list_backups: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1backups/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/backups/methods/list_backups' + - $ref: '#/components/x-stackQL-resources/backups/methods/databases_list_backups' insert: [] update: [] + replace: [] delete: [] replicas: id: digitalocean.databases.replicas name: replicas title: Replicas methods: - list_replicas: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.replicas - _list_replicas: + databases_list_replicas: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas/get' response: mediaType: application/json openAPIDocKey: '200' - create_replica: + schemaRef: '#/components/responses/database_replicas' + databases_create_replica: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas/post' response: mediaType: application/json openAPIDocKey: '201' - get_replica: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/database_replica' objectKey: $.replica - _get_replica: + databases_get_replica: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/get' response: mediaType: application/json openAPIDocKey: '200' - destroy_replica: + schemaRef: '#/components/responses/database_replica' + objectKey: $.replica + databases_destroy_replica: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/delete' response: mediaType: application/json openAPIDocKey: '204' - promote_replica: + schemaRef: '#/components/responses/no_content' + databases_promote_replica: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}~1promote/put' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/replicas/methods/list_replicas' - - $ref: '#/components/x-stackQL-resources/replicas/methods/get_replica' + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_get_replica' + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_list_replicas' insert: - - $ref: '#/components/x-stackQL-resources/replicas/methods/create_replica' + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_create_replica' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_destroy_replica' + events: + id: digitalocean.databases.events + name: events + title: Events + methods: + databases_list_events_logs: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/events_logs' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/events/methods/databases_list_events_logs' + insert: [] update: [] + replace: [] delete: [] users: id: digitalocean.databases.users name: users title: Users methods: - list_users: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.users - _list_users: + databases_list_users: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users/get' response: mediaType: application/json openAPIDocKey: '200' - add_user: + schemaRef: '#/components/responses/users' + databases_add_user: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users/post' response: mediaType: application/json openAPIDocKey: '201' - get_user: + schemaRef: '#/components/responses/user' + objectKey: $.user + databases_get_user: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/user' objectKey: $.user - _get_user: + databases_delete_user: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/get' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/delete' response: mediaType: application/json - openAPIDocKey: '200' - delete_user: + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + databases_update_user: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/delete' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/put' response: mediaType: application/json - openAPIDocKey: '204' - reset_auth: + openAPIDocKey: '201' + schemaRef: '#/components/responses/user' + databases_reset_auth: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}~1reset_auth/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/user' + objectKey: $.user sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/users/methods/list_users' - - $ref: '#/components/x-stackQL-resources/users/methods/get_user' + - $ref: '#/components/x-stackQL-resources/users/methods/databases_get_user' + - $ref: '#/components/x-stackQL-resources/users/methods/databases_list_users' insert: - - $ref: '#/components/x-stackQL-resources/users/methods/add_user' + - $ref: '#/components/x-stackQL-resources/users/methods/databases_add_user' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/users/methods/delete_user' - databases: - id: digitalocean.databases.databases - name: databases - title: Databases + - $ref: '#/components/x-stackQL-resources/users/methods/databases_delete_user' + dbs: + id: digitalocean.databases.dbs + name: dbs + title: Dbs methods: - list: + databases_list: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.dbs - _list: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs/get' - response: - mediaType: application/json - openAPIDocKey: '200' - add: + schemaRef: '#/components/responses/databases' + databases_add: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs/post' response: mediaType: application/json openAPIDocKey: '201' - get: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/database' objectKey: $.db - _get: + databases_get: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/database' + objectKey: $.db + databases_delete: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/databases/methods/list' - - $ref: '#/components/x-stackQL-resources/databases/methods/get' + - $ref: '#/components/x-stackQL-resources/dbs/methods/databases_get' + - $ref: '#/components/x-stackQL-resources/dbs/methods/databases_list' insert: - - $ref: '#/components/x-stackQL-resources/databases/methods/add' + - $ref: '#/components/x-stackQL-resources/dbs/methods/databases_add' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/databases/methods/delete' - connection_pools: - id: digitalocean.databases.connection_pools - name: connection_pools - title: Connection Pools + - $ref: '#/components/x-stackQL-resources/dbs/methods/databases_delete' + pools: + id: digitalocean.databases.pools + name: pools + title: Pools methods: - list_connectionPools: + databases_list_connection_pools: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/connection_pools' objectKey: $.pools - _list_connectionPools: + databases_add_connection_pool: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools/get' - response: - mediaType: application/json - openAPIDocKey: '200' - add_connectionPool: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools/post' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools/post' response: mediaType: application/json openAPIDocKey: '201' - get_connectionPool: - operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/connection_pool' objectKey: $.pool - _get_connectionPool: + databases_get_connection_pool: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/get' response: mediaType: application/json openAPIDocKey: '200' - update_connectionPool: + schemaRef: '#/components/responses/connection_pool' + objectKey: $.pool + databases_update_connection_pool: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/put' response: mediaType: application/json openAPIDocKey: '204' - delete_connectionPool: + schemaRef: '#/components/responses/no_content' + databases_delete_connection_pool: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/connection_pools/methods/list_connectionPools' - - $ref: '#/components/x-stackQL-resources/connection_pools/methods/get_connectionPool' + - $ref: '#/components/x-stackQL-resources/pools/methods/databases_get_connection_pool' + - $ref: '#/components/x-stackQL-resources/pools/methods/databases_list_connection_pools' insert: - - $ref: '#/components/x-stackQL-resources/connection_pools/methods/add_connectionPool' + - $ref: '#/components/x-stackQL-resources/pools/methods/databases_add_connection_pool' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/connection_pools/methods/delete_connectionPool' - sql_mode: - id: digitalocean.databases.sql_mode - name: sql_mode - title: Sql Mode + - $ref: '#/components/x-stackQL-resources/pools/methods/databases_delete_connection_pool' + eviction_policies: + id: digitalocean.databases.eviction_policies + name: eviction_policies + title: Eviction Policies + methods: + databases_get_eviction_policy: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/eviction_policy_response' + databases_update_eviction_policy: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/put' + response: + mediaType: application/json + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/eviction_policies/methods/databases_get_eviction_policy' + insert: [] + update: [] + replace: [] + delete: [] + sql_modes: + id: digitalocean.databases.sql_modes + name: sql_modes + title: Sql Modes methods: - get_sql_mode: + databases_get_sql_mode: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1sql_mode/get' response: mediaType: application/json openAPIDocKey: '200' - update_sql_mode: + schemaRef: '#/components/responses/sql_mode' + objectKey: $.sql_mode + databases_update_sql_mode: operation: $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1sql_mode/put' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/sql_mode/methods/get_sql_mode' + - $ref: '#/components/x-stackQL-resources/sql_modes/methods/databases_get_sql_mode' insert: [] update: [] + replace: [] delete: [] - upgrade: - id: digitalocean.databases.upgrade - name: upgrade - title: Upgrade + topics: + id: digitalocean.databases.topics + name: topics + title: Topics methods: - update_major_version: + databases_list_kafka_topics: operation: - $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1upgrade/put' + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/kafka_topics' + databases_create_kafka_topic: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/responses/kafka_topic' + databases_get_kafka_topic: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/kafka_topic' + databases_update_kafka_topic: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/kafka_topic' + databases_delete_kafka_topic: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topics/methods/databases_get_kafka_topic' + - $ref: '#/components/x-stackQL-resources/topics/methods/databases_list_kafka_topics' + insert: + - $ref: '#/components/x-stackQL-resources/topics/methods/databases_create_kafka_topic' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/topics/methods/databases_delete_kafka_topic' + logsinks: + id: digitalocean.databases.logsinks + name: logsinks + title: Logsinks + methods: + databases_list_logsink: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink/get' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/responses/logsinks' + databases_create_logsink: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/responses/logsink' + databases_get_logsink: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/get' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/responses/logsink' + databases_update_logsink: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/no_content' + databases_delete_logsink: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/no_content' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/logsinks/methods/databases_get_logsink' + - $ref: '#/components/x-stackQL-resources/logsinks/methods/databases_list_logsink' + insert: + - $ref: '#/components/x-stackQL-resources/logsinks/methods/databases_create_logsink' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/logsinks/methods/databases_delete_logsink' + metrics_credentials: + id: digitalocean.databases.metrics_credentials + name: metrics_credentials + title: Metrics Credentials + methods: + databases_get_cluster_metrics_credentials: + operation: + $ref: '#/paths/~1v2~1databases~1metrics~1credentials/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/database_metrics_auth' + databases_update_cluster_metrics_credentials: + operation: + $ref: '#/paths/~1v2~1databases~1metrics~1credentials/put' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/metrics_credentials/methods/databases_get_cluster_metrics_credentials' insert: [] update: [] + replace: [] delete: [] + indexes: + id: digitalocean.databases.indexes + name: indexes + title: Indexes + methods: + databases_list_opeasearch_indexes: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1indexes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/opensearch_indexes' + databases_delete_opensearch_index: + operation: + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1indexes~1{index_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/indexes/methods/databases_list_opeasearch_indexes' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/indexes/methods/databases_delete_opensearch_index' paths: /v2/databases/options: get: @@ -8412,7 +15923,1174 @@ paths: - Databases responses: '200': - $ref: '#/components/responses/options' + $ref: '#/components/responses/options' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/options" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + options, _, err := client.Databases.ListOptions(ctx) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_options() + security: + - bearer_auth: + - database:read + /v2/databases: + get: + operationId: databases_list_clusters + summary: List All Database Clusters + description: |- + To list all of the database clusters available on your account, send a GET request to `/v2/databases`. To limit the results to database clusters with a specific tag, include the `tag_name` query parameter set to the name of the tag. For example, `/v2/databases?tag_name=$TAG_NAME`. + The result will be a JSON object with a `databases` key. This will be set to an array of database objects, each of which will contain the standard database attributes. + The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster. For multi-node clusters, the `standby_connection` and `standby_private_connection` objects will contain the information needed to connect to the cluster's standby node(s). + The embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/tag_name' + responses: + '200': + $ref: '#/components/responses/database_clusters' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + opt := &godo.ListOptions{ + Page: 1, + PerPage: 200, + } + + clusters, _, err := client.Databases.List(ctx, opt) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_clusters(tag_name="production") + security: + - bearer_auth: + - database:read + post: + operationId: databases_create_cluster + summary: Create a New Database Cluster + description: |- + To create a database cluster, send a POST request to `/v2/databases`. + The response will be a JSON object with a key called `database`. The value of this will be an object that contains the standard attributes associated with a database cluster. The initial value of the database cluster's `status` attribute will be `creating`. When the cluster is ready to receive traffic, this will transition to `online`. + The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster. For multi-node clusters, the `standby_connection` and `standby_private_connection` objects will contain the information needed to connect to the cluster's standby node(s). + DigitalOcean managed PostgreSQL and MySQL database clusters take automated daily backups. To create a new database cluster based on a backup of an existing cluster, send a POST request to `/v2/databases`. In addition to the standard database cluster attributes, the JSON body must include a key named `backup_restore` with the name of the original database cluster and the timestamp of the backup to be restored. Creating a database from a backup is the same as forking a database in the control panel. + Note: Backups are not supported for Redis clusters. + tags: + - Databases + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/database_cluster' + properties: + backup_restore: + $ref: '#/components/schemas/database_backup' + type: object + examples: + Create a New Database Cluster: + value: + name: backend + engine: pg + version: '14' + region: nyc3 + size: db-s-2vcpu-4gb + storage_size_mib: 61440 + num_nodes: 2 + tags: + - production + Create a New Database Cluster with trusted sources: + value: + name: backend + engine: pg + version: '14' + region: nyc3 + size: db-s-2vcpu-4gb + num_nodes: 2 + storage_size_mib: 61440 + tags: + - production + rules: + - type: ip_addr + value: 192.168.1.1 + - type: k8s + value: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + - type: droplet + value: '163973392' + - type: tag + value: test + Restore from a Database Cluster Backup: + value: + name: backend-restored + backup_restore: + database_name: backend + backup_created_at: '2019-01-31T19:25:22Z' + engine: pg + version: '14' + region: nyc3 + size: db-s-2vcpu-4gb + num_nodes: 2 + responses: + '201': + $ref: '#/components/responses/database_cluster' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name": "backend", "engine": "pg", "version": "14", "region": "nyc3", "size": "db-s-2vcpu-4gb", "num_nodes": 2, "storage_size_mib": 61440, "tags": ["production"]}' \ + "https://api.digitalocean.com/v2/databases" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + createRequest := &godo.DatabaseCreateRequest{ + Name: "backend", + EngineSlug: "pg", + Version: "14", + Region: "nyc3", + SizeSlug: "db-s-2vcpu-4gb", + NumNodes: 2, + StorageSizeMiB : 61440, + } + + cluster, _, err := client.Databases.Create(ctx, createRequest) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_req = { + "name": "backend", + "engine": "pg", + "version": "14", + "region": "nyc3", + "size": "db-s-2vcpu-4gb", + "num_nodes": 2, + "storage_size_mib": 61440, + "tags": [ + "production" + ] + } + + create_resp = client.databases.create_cluster(body=create_req) + security: + - bearer_auth: + - database:create + /v2/databases/{database_cluster_uuid}: + get: + operationId: databases_get_cluster + summary: Retrieve an Existing Database Cluster + description: |- + To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`. + The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster attributes. + The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster. For multi-node clusters, the `standby_connection` and `standby_private_connection` objects contain the information needed to connect to the cluster's standby node(s). + The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/database_cluster' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + cluster, _, err := client.Databases.Get(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get_cluster(database_cluster_uuid="a7a89a") + security: + - bearer_auth: + - database:read + delete: + operationId: databases_destroy_cluster + summary: Destroy a Database Cluster + description: |- + To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" + - lang: Go + source: |- + import ( + "context" + "github.com/digitalocean/godo" + ) + + func main() { + pat := "mytoken" + + client := godo.NewFromToken(pat) + ctx := context.TODO() + + _, err := client.Databases.Delete(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.databases.destroy_cluster(database_cluster_uuid="a7abba8") + security: + - bearer_auth: + - database:delete + /v2/databases/{database_cluster_uuid}/config: + get: + operationId: databases_get_config + summary: Retrieve an Existing Database Cluster Configuration + description: | + Shows configuration parameters for an existing database cluster by sending a GET request to + `/v2/databases/$DATABASE_ID/config`. + The response is a JSON object with a `config` key, which is set to an object + containing any database configuration parameters. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/database_config' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get_config(database_cluster_uuid="a7a90ab") + security: + - bearer_auth: + - database:read + patch: + operationId: databases_patch_config + summary: Update the Database Configuration for an Existing Database + description: | + To update the configuration for an existing database cluster, send a PATCH request to + `/v2/databases/$DATABASE_ID/config`. + tags: + - Databases + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/database_config' + example: + config: + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + sql_require_primary_key: true + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PATCH \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"config": {"sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES","sql_require_primary_key": true}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.databases.patch_config(database_cluster_uuid="a7aba9d") + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/ca: + get: + operationId: databases_get_ca + summary: Retrieve the Public Certificate + description: | + To retrieve the public certificate used to secure the connection to the database cluster send a GET request to + `/v2/databases/$DATABASE_ID/ca`. + The response will be a JSON object with a `ca` key. This will be set to an object + containing the base64 encoding of the public key certificate. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/ca' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/ca" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + ca, _, err := client.Databases.GetCA(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get_ca(database_cluster_uuid="aba77ada") + security: + - bearer_auth: + - database:read + /v2/databases/{database_cluster_uuid}/online-migration: + get: + operationId: databases_get_migrationStatus + summary: Retrieve the Status of an Online Migration + description: 'To retrieve the status of the most recent online migration, send a GET request to `/v2/databases/$DATABASE_ID/online-migration`. ' + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/online_migration' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get_migration_status(database_cluster_uuid="a7a7ab90") + security: + - bearer_auth: + - database:read + put: + operationId: databases_update_onlineMigration + summary: Start an Online Migration + description: To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, and Redis clusters. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/source_database' + example: + source: + host: source-do-user-6607903-0.b.db.ondigitalocean.com + dbname: defaultdb + port: 25060 + username: doadmin + password: paakjnfe10rsrsmf + disable_ssl: false + ignore_dbs: + - db0 + - db1 + responses: + '200': + $ref: '#/components/responses/online_migration' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"source":{"host":"source-do-user-6607903-0.b.db.ondigitalocean.com","dbname":"defaultdb","port":25060,"username":"doadmin","password":"paakjnfe10rsrsmf"},"disable_ssl":false,"ignore_dbs":["db0","db1"]}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "source": { + "host": "source-do-user-6607903-0.b.db.ondigitalocean.com", + "dbname": "defaultdb", + "port": 25060, + "username": "doadmin", + "password": "paakjnfe10rsrsmf" + }, + "disable_ssl": False + "ignore_dbs": ["db0","db1"] + } + + update_resp = client.databases.update_online_migration(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/online-migration/{migration_id}: + delete: + operationId: databases_delete_onlineMigration + summary: Stop an Online Migration + description: | + To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/migration_id' + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration/77b28fc8-19ff-11eb-8c9c-c68e24557488" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.databases.delete_online_migration(database_cluster_uuid="9cc10173", migration="77b28fc8") + security: + - bearer_auth: + - database:delete + /v2/databases/{database_cluster_uuid}/migrate: + put: + operationId: databases_update_region + summary: Migrate a Database Cluster to a New Region + description: | + To migrate a database cluster to a new region, send a `PUT` request to + `/v2/databases/$DATABASE_ID/migrate`. The body of the request must specify a + `region` attribute. + A successful request will receive a 202 Accepted status code with no body in + response. Querying the database cluster will show that its `status` attribute + will now be set to `migrating`. This will transition back to `online` when the + migration has completed. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + region: + type: string + example: lon1 + description: A slug identifier for the region to which the database cluster will be migrated. + required: + - region + example: + region: lon1 + responses: + '202': + $ref: '#/components/responses/accepted' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"region":"lon1"}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/migrate" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + migrateRequest := &godo.DatabaseMigrateRequest{ + Region: "lon1", + } + + _, err := client.Databases.Migrate(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", migrateRequest) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "region": "lon1" + } + + update_resp = client.databases.update_region(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/resize: + put: + operationId: databases_update_clusterSize + summary: Resize a Database Cluster + description: |- + To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes. + A successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/database_cluster_resize' + example: + size: db-s-4vcpu-8gb + num_nodes: 3 + storage_size_mib: 163840 + responses: + '202': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"size":"db-s-4vcpu-8gb", "num_nodes":3, "storage_size_mib":163840}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/resize" + - lang: Go + source: |- + import ( + "context" + "github.com/digitalocean/godo" + ) + + func main() { + pat := "mytoken" + + client := godo.NewFromToken(pat) + ctx := context.TODO() + + resizeRequest := &godo.DatabaseResizeRequest{ + SizeSlug: "db-s-4vcpu-8gb", + NumNodes: 3, + StorageSizeMib: 163840, + } + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "size": "db-s-4vcpu-8gb", + "num_nodes": 3, + "storage_size_mib": 163840 + } + + update_resp = client.databases.update_cluster_size(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/firewall: + get: + operationId: databases_list_firewall_rules + summary: List Firewall Rules (Trusted Sources) for a Database Cluster + description: |- + To list all of a database cluster's firewall rules (known as "trusted sources" in the control panel), send a GET request to `/v2/databases/$DATABASE_ID/firewall`. + The result will be a JSON object with a `rules` key. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/firewall_rules' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/firewall" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + rules, _, err := client.Databases.GetFirewallRules(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_firewall_rules(database_cluster_uuid="a7aab9a") + security: + - bearer_auth: + - database:read + put: + operationId: databases_update_firewall_rules + summary: Update Firewall Rules (Trusted Sources) for a Database + description: |- + To update a database cluster's firewall rules (known as "trusted sources" in the control panel), send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses. When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access. The firewall is limited to 100 rules (or trusted sources). When possible, we recommend [placing your databases into a VPC network](https://docs.digitalocean.com/products/networking/vpc/) to limit access to them instead of using a firewall. + A successful + tags: + - Databases + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + rules: + type: array + items: + $ref: '#/components/schemas/firewall_rule' + example: + rules: + - type: ip_addr + value: 192.168.1.1 + - type: k8s + value: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + - type: droplet + value: '163973392' + - type: tag + value: backend + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"rules": [{"type": "ip_addr","value": "192.168.1.1"},{"type": "droplet","value": "163973392"},{"type": "k8s","value": "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61"},{"type": "tag","value": "backend"}]}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/firewall" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + req := godo.DatabaseUpdateFirewallRulesRequest{ + Rules: []*godo.DatabaseFirewallRule{ + { + Type: "ip_addr", + Value: "192.168.1.1", + }, + { + Type: "droplet", + Value: "163973392", + }, + { + Type: "k8s", + Value: "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61", + }, + }, + } + _, err := client.Databases.UpdateFirewallRules(ctx, dbID, &req) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "rules": [ + { + "type": "ip_addr", + "value": "192.168.1.1" + }, + { + "type": "k8s", + "value": "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61" + }, + { + "type": "droplet", + "value": "163973392" + }, + { + "type": "tag", + "value": "backend" + } + ] + } + update_resp = client.databases.update_firewall_rules(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/maintenance: + put: + operationId: databases_update_maintenanceWindow + summary: Configure a Database Cluster's Maintenance Window + description: |- + To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`. + A successful request will receive a 204 No Content status code with no body in response. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/database_maintenance_window' + example: + day: tuesday + hour: '14:00' + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"day": "tuesday", "hour": "14:00"}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/maintenance" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + maintenanceRequest := &godo.DatabaseUpdateMaintenanceRequest{ + Day: "thursday", + Hour: "16:00", + } + + _, err := client.Databases.UpdateMaintenance(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", maintenanceRequest) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "day": "tuesday", + "hour": "14:00" + } + + update_resp = client.databases.update_maintenance_window(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/install_update: + put: + operationId: databases_install_update + summary: Start Database Maintenance + description: |- + To start the installation of updates for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/install_update`. + A successful request will receive a 204 No Content status code with no body in response. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/install_update" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + _, err := client.Databases.InstallUpdate(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + update_resp = client.databases.install_update(database_cluster_uuid="a7a8bas") + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/backups: + get: + operationId: databases_list_backups + summary: List Backups for a Database Cluster + description: |- + To list all of the available backups of a PostgreSQL or MySQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`. + **Note**: Backups are not supported for Redis clusters. + The result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '200': + $ref: '#/components/responses/database_backups' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8429,7 +17107,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/options" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/backups" - lang: Go source: |- import ( @@ -8445,27 +17123,34 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - options, _, err := client.Databases.ListOptions(ctx) + backups, _, err := client.Databases.ListBackups(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_backups(database_cluster_uuid="a9a8a77") security: - bearer_auth: - - read - /v2/databases: + - database:read + /v2/databases/{database_cluster_uuid}/replicas: get: - operationId: databases_list_clusters - summary: List All Database Clusters + operationId: databases_list_replicas + summary: List All Read-only Replicas description: |- - To list all of the database clusters available on your account, send a GET request to `/v2/databases`. To limit the results to database clusters with a specific tag, include the `tag_name` query parameter set to the name of the tag. For example, `/v2/databases?tag_name=$TAG_NAME`. - The result will be a JSON object with a `databases` key. This will be set to an array of database objects, each of which will contain the standard database attributes. - The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster: - The embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster. + To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`. + **Note**: Read-only replicas are not supported for Redis clusters. + The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. tags: - Databases parameters: - - $ref: '#/components/parameters/tag_name' + - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/database_clusters' + $ref: '#/components/responses/database_replicas' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8482,7 +17167,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas" - lang: Go source: |- import ( @@ -8498,82 +17183,44 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - opt := &godo.ListOptions{ - Page: 1, - PerPage: 200, - } - - clusters, _, err := client.Databases.List(ctx, opt) + replicas, _, err := client.Databases.ListReplicas(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_replicas(database_cluster_uuid="a7aba3") security: - bearer_auth: - - read + - database:read post: - operationId: databases_create_cluster - summary: Create a New Database Cluster + operationId: databases_create_replica + summary: Create a Read-only Replica description: |- - To create a database cluster, send a POST request to `/v2/databases`. - The response will be a JSON object with a key called `database`. The value of this will be an object that contains the standard attributes associated with a database cluster. The initial value of the database cluster's `status` attribute will be `creating`. When the cluster is ready to receive traffic, this will transition to `online`. - The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster. - DigitalOcean managed PostgreSQL and MySQL database clusters take automated daily backups. To create a new database cluster based on a backup of an existing cluster, send a POST request to `/v2/databases`. In addition to the standard database cluster attributes, the JSON body must include a key named `backup_restore` with the name of the original database cluster and the timestamp of the backup to be restored. Creating a database from a backup is the same as forking a database in the control panel. - Note: Backups are not supported for Redis clusters. + To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located. + **Note**: Read-only replicas are not supported for Redis clusters. + The response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`. tags: - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' requestBody: - required: true content: application/json: schema: - allOf: - - $ref: '#/components/schemas/database_cluster' - - type: object - properties: - backup_restore: - $ref: '#/components/schemas/database_backup' - examples: - Create a New Database Cluster: - value: - name: backend - engine: pg - version: '14' - region: nyc3 - size: db-s-2vcpu-4gb - num_nodes: 2 - tags: - - production - Create a New Database Cluster with trusted sources: - value: - name: backend - engine: pg - version: '14' - region: nyc3 - size: db-s-2vcpu-4gb - num_nodes: 2 - tags: - - production - rules: - - type: ip_addr - value: 192.168.1.1 - - type: k8s - value: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 - - type: droplet - value: '163973392' - - type: tag - value: test - Restore from a Database Cluster Backup: - value: - name: backend-restored - backup_restore: - database_name: backend - backup_created_at: '2019-01-31T19:25:22Z' - engine: pg - version: '14' - region: nyc3 - size: db-s-2vcpu-4gb - num_nodes: 2 + $ref: '#/components/schemas/database_replica' + properties: {} + example: + name: read-nyc3-01 + region: nyc3 + size: db-s-2vcpu-4gb + storage_size_mib: 61440 responses: '201': - $ref: '#/components/responses/database_cluster' + $ref: '#/components/responses/database_replica' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8590,8 +17237,8 @@ paths: curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "backend", "engine": "pg", "version": "14", "region": "nyc3", "size": "db-s-2vcpu-4gb", "num_nodes": 2, "tags": ["production"]}' \ - "https://api.digitalocean.com/v2/databases" + -d '{"name":"read-nyc3-01", "region":"nyc3", "size": "db-s-2vcpu-4gb", "storage_size_mib": 61440}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas" - lang: Go source: |- import ( @@ -8607,36 +17254,49 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - createRequest := &godo.DatabaseCreateRequest{ - Name: "backend", - EngineSlug: "pg", - Version: "14", - Region: "nyc3", - SizeSlug: "db-s-2vcpu-4gb", - NumNodes: 2, + replicaRequest := &godo.DatabaseCreateReplicaRequest{ + + Name: "read-nyc3-01", + Region: "nyc3", + Size: "db-s-2vcpu-4gb", + StorageSizeMiB : 61440, } - cluster, _, err := client.Databases.Create(ctx, createRequest) + replica, _, err := client.Databases.CreateReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", replicaRequest) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + create_req = { + "name": "read-nyc3-01", + "region": "nyc3", + "size": "db-s-2vcpu-4gb", + "storage_size_mib": 61440, } + + create_resp = client.databases.create_replica(database_cluster_uuid="9cc10173", body=create_req) security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}': + - database:create + /v2/databases/{database_cluster_uuid}/events: get: - operationId: databases_get_cluster - summary: Retrieve an Existing Database Cluster - description: |- - To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`. - The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster attributes. - The embedded connection and private_connection objects will contain the information needed to access the database cluster. - The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster. + operationId: databases_list_events_logs + summary: List all Events Logs + description: | + To list all of the cluster events, send a GET request to + `/v2/databases/$DATABASE_ID/events`. + The result will be a JSON object with a `events` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/database_cluster' + $ref: '#/components/responses/events_logs' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8653,7 +17313,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/events" - lang: Go source: |- import ( @@ -8669,24 +17329,27 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - cluster, _, err := client.Databases.Get(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + replicas, _, err := client.Databases.ListProjectEvents(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } security: - bearer_auth: - - read - delete: - operationId: databases_destroy_cluster - summary: Destroy a Database Cluster + - database:read + /v2/databases/{database_cluster_uuid}/replicas/{replica_name}: + get: + operationId: databases_get_replica + summary: Retrieve an Existing Read-only Replica description: |- - To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`. - A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + **Note**: Read-only replicas are not supported for Redis clusters. + The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/replica_name' responses: - '204': - $ref: '#/components/responses/no_content' + '200': + $ref: '#/components/responses/database_replica' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8700,44 +17363,53 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X DELETE \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01" - lang: Go source: |- import ( "context" + "os" + "github.com/digitalocean/godo" ) func main() { - pat := "mytoken" + token := os.Getenv("DIGITALOCEAN_TOKEN") - client := godo.NewFromToken(pat) + client := godo.NewFromToken(token) ctx := context.TODO() - _, err := client.Databases.Delete(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + replica, _, err := client.Databases.GetReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get_replica(database_cluster_uuid="a7a90a", replica_name="backend-replica") security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/config': - get: - operationId: databases_get_config - summary: Retrieve an Existing Database Cluster Configuration - description: | - Shows configuration parameters for an existing database cluster by sending a GET request to - `/v2/databases/$DATABASE_ID/config`. - The response is a JSON object with a `config` key, which is set to an object - containing any database configuration parameters. + - database:read + delete: + operationId: databases_destroy_replica + summary: Destroy a Read-only Replica + description: |- + To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + **Note**: Read-only replicas are not supported for Redis clusters. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/replica_name' responses: - '200': - $ref: '#/components/responses/database_config' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8751,33 +17423,51 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET \ + curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + _, err := client.Databases.DeleteReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.databases.destroy_replica(database_cluster_uuid="ba88aab", replica_name="read_nyc_3") security: - bearer_auth: - - read - patch: - operationId: databases_patch_config - summary: Update the Database Configuration for an Existing Database - description: | - To update the configuration for an existing database cluster, send a PATCH request to - `/v2/databases/$DATABASE_ID/config`. + - database:delete + /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote: + put: + operationId: databases_promote_replica + summary: Promote a Read-only Replica to become a Primary Cluster + description: |- + To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. + **Note**: Read-only replicas are not supported for Redis clusters. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/database_config' - example: - config: - sql_mode: 'ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES' - sql_require_primary_key: true parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/replica_name' responses: '204': $ref: '#/components/responses/no_content' @@ -8794,31 +17484,56 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PATCH \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"config": {"sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES","sql_require_primary_key": true}}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config" + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01/promote" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + _, err := client.Databases.PromoteReplicaToPrimary(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.databases.promote_replica(database_cluster_uuid="a7a8bas", replica_name="ba8ab22") security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/ca': + - database:update + /v2/databases/{database_cluster_uuid}/users: get: - operationId: databases_get_ca - summary: Retrieve the Public Certificate + operationId: databases_list_users + summary: List all Database Users description: | - To retrieve the public certificate used to secure the connection to the database cluster send a GET request to - `/v2/databases/$DATABASE_ID/ca`. - - The response will be a JSON object with a `ca` key. This will be set to an object - containing the base64 encoding of the public key certificate. + To list all of the users for your database cluster, send a GET request to + `/v2/databases/$DATABASE_ID/users`. + Note: User management is not supported for Redis clusters. + The result will be a JSON object with a `users` key. This will be set to an array + of database user objects, each of which will contain the standard database user attributes. + For MySQL clusters, additional options will be contained in the mysql_settings object. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/ca' + $ref: '#/components/responses/users' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8835,7 +17550,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/ca" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users" - lang: Go source: |- import ( @@ -8851,23 +17566,83 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - ca, _, err := client.Databases.GetCA(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + users, _, err := client.Databases.ListUsers(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", nil) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_users(database_cluster_uuid="a7aba3") security: - bearer_auth: - - read - '/v2/databases/{database_cluster_uuid}/online-migration': - get: - operationId: databases_get_migrationStatus - summary: Retrieve the Status of an Online Migration - description: 'To retrieve the status of the most recent online migration, send a GET request to `/v2/databases/$DATABASE_ID/online-migration`. ' + - database:read + post: + operationId: databases_add_user + summary: Add a Database User + description: | + To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users` + with the desired username. + Note: User management is not supported for Redis clusters. + When adding a user to a MySQL cluster, additional options can be configured in the + `mysql_settings` object. + When adding a user to a Kafka cluster, additional options can be configured in + the `settings` object. + The response will be a JSON object with a key called `user`. The value of this will be an + object that contains the standard attributes associated with a database user including + its randomly generated password. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/database_user' + properties: + readonly: + type: boolean + example: true + description: | + For MongoDB clusters, set to `true` to create a read-only user. + This option is not currently supported for other database engines. + type: object + examples: + Add New User: + value: + name: app-01 + Add New User with MySQL Auth Plugin: + value: + name: app-02 + mysql_settings: + auth_plugin: mysql_native_password + Add New Read Only User (MongoDB Only): + value: + name: my-readonly + readonly: true + Add New User for Postgres with replication rights: + value: + name: app-02 + settings: + pg_allow_replication: true + Add New User with Kafka ACLs: + value: + name: app-03 + settings: + acl: + - permission: produceconsume + topic: customer-events + - permission: produce + topic: customer-events.* + - permission: consume + topic: customer-events responses: - '200': - $ref: '#/components/responses/online_migration' + '201': + $ref: '#/components/responses/user' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8881,39 +17656,65 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"source":{"host":"source-do-user-6607903-0.b.db.ondigitalocean.com","dbname":"defaultdb","port":25060,"username":"doadmin","password":"paakjnfe10rsrsmf"},"disable_ssl":false}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration" + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name": "app-01"}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + addUserRequest := &godo.DatabaseCreateUserRequest{ + Name: "app-01", + } + + user, _, err := client.Databases.CreateUser(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", addUserRequest) + + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + add_user_resp = client.databases.add_user(database_cluster_uuid="ab7bb7a", body={"name": "app-01"}) security: - bearer_auth: - - read - put: - operationId: databases_update_onlineMigration - summary: Start an Online Migration - description: 'To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, and Redis clusters.' + - database:create + /v2/databases/{database_cluster_uuid}/users/{username}: + get: + operationId: databases_get_user + summary: Retrieve an Existing Database User + description: | + To show information about an existing database user, send a GET request to + `/v2/databases/$DATABASE_ID/users/$USERNAME`. + Note: User management is not supported for Redis clusters. + The response will be a JSON object with a `user` key. This will be set to an object + containing the standard database user attributes. + For MySQL clusters, additional options will be contained in the `mysql_settings` + object. + For Kafka clusters, additional options will be contained in the `settings` object. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/source_database' - example: - source: - host: source-do-user-6607903-0.b.db.ondigitalocean.com - dbname: defaultdb - port: 25060 - username: doadmin - password: paakjnfe10rsrsmf - disable_ssl: false + - $ref: '#/components/parameters/username' responses: '200': - $ref: '#/components/responses/online_migration' + $ref: '#/components/responses/user' '401': $ref: '#/components/responses/unauthorized' '404': @@ -8927,27 +17728,52 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"source":{"host":"source-do-user-6607903-0.b.db.ondigitalocean.com","dbname":"defaultdb","port":25060,"username":"doadmin","password":"paakjnfe10rsrsmf"},"disable_ssl":false}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration" + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + user, _, err := client.Databases.GetUser(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get_user(database_cluster_uuid="9a9aba", username="admin") security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}': + - database:read delete: - operationId: databases_delete_onlineMigration - summary: Stop an Online Migration + operationId: databases_delete_user + summary: Remove a Database User description: | - To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. - - A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + To remove a specific database user, send a DELETE request to + `/v2/databases/$DATABASE_ID/users/$USERNAME`. + A status of 204 will be given. This indicates that the request was processed + successfully, but that no response body is needed. + Note: User management is not supported for Redis clusters. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/migration_id' + - $ref: '#/components/parameters/username' responses: '204': $ref: '#/components/responses/no_content' @@ -8965,29 +17791,53 @@ paths: - lang: cURL source: |- curl -X DELETE \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration/77b28fc8-19ff-11eb-8c9c-c68e24557488" + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01" + - lang: Go + source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + _, err := client.Databases.DeleteUser(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.databases.delete_user(database_cluster_uuid="aba134a", username="backend_user1") security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/migrate': + - database:delete put: - operationId: databases_update_region - summary: Migrate a Database Cluster to a New Region + operationId: databases_update_user + summary: Update a Database User description: | - To migrate a database cluster to a new region, send a `PUT` request to - `/v2/databases/$DATABASE_ID/migrate`. The body of the request must specify a - `region` attribute. - - A successful request will receive a 202 Accepted status code with no body in - response. Querying the database cluster will show that its `status` attribute - will now be set to `migrating`. This will transition back to `online` when the - migration has completed. + To update an existing database user, send a PUT request to `/v2/databases/$DATABASE_ID/users/$USERNAME` + with the desired settings. + **Note**: only `settings` can be updated via this type of request. If you wish to change the name of a user, + you must recreate a new user. + The response will be a JSON object with a key called `user`. The value of this will be an + object that contains the name of the update database user, along with the `settings` object that + has been updated. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/username' requestBody: required: true content: @@ -8995,17 +17845,25 @@ paths: schema: type: object properties: - region: - type: string - example: lon1 - description: A slug identifier for the region to which the database cluster will be migrated. - required: - - region - example: - region: lon1 + settings: + $ref: '#/components/schemas/user_settings' + examples: + Update User Kafka ACLs: + value: + settings: + acl: + - id: acl128aaaa99239 + permission: produceconsume + topic: customer-events + - id: acl293098flskdf + permission: produce + topic: customer-events.* + - id: acl128ajei20123 + permission: consume + topic: customer-events responses: - '202': - $ref: '#/components/responses/accepted' + '201': + $ref: '#/components/responses/user' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9022,8 +17880,8 @@ paths: curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"region":"lon1"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/migrate" + -d '{"settings": {"acl": [{"topic": "events", "permission": "produce"}]}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users" - lang: Go source: |- import ( @@ -9038,39 +17896,60 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() + userName := "test-user" - migrateRequest := &godo.DatabaseMigrateRequest{ - Region: "lon1", + updateUserRequest := &godo.DatabaseUpdateUserRequest{ + Settings: { + ACL: [ + { + Permssion: "consume", + Topic: "events", + } + { + Permission: "produce", + Topic: "metrics", + } + ] + } } - _, err := client.Databases.Migrate(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", migrateRequest) + user, _, err := client.Databases.UpdateUser(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", userName, updateUserRequest) } security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/resize': - put: - operationId: databases_update_clusterSize - summary: Resize a Database Cluster - description: |- - To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes. - A successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed. + - database:update + /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth: + post: + operationId: databases_reset_auth + summary: Reset a Database User's Password or Authentication Method + description: | + To reset the password for a database user, send a POST request to + `/v2/databases/$DATABASE_ID/users/$USERNAME/reset_auth`. + For `mysql` databases, the authentication method can be specifying by + including a key in the JSON body called `mysql_settings` with the `auth_plugin` + value specified. + The response will be a JSON object with a `user` key. This will be set to an + object containing the standard database user attributes. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/username' requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/database_cluster_resize' + type: object + properties: + mysql_settings: + $ref: '#/components/schemas/mysql_settings' example: - size: db-s-4vcpu-8gb - num_nodes: 3 + mysql_settings: + auth_plugin: caching_sha2_password responses: - '202': - $ref: '#/components/responses/no_content' + '200': + $ref: '#/components/responses/user' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9084,46 +17963,67 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"size":"db-s-4vcpu-8gb", "num_nodes":3}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/resize" + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"mysql_settings":{"auth_plugin": "caching_sha2_password"}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01/reset_auth" - lang: Go source: |- import ( "context" + "os" + "github.com/digitalocean/godo" ) func main() { - pat := "mytoken" + token := os.Getenv("DIGITALOCEAN_TOKEN") - client := godo.NewFromToken(pat) + client := godo.NewFromToken(token) ctx := context.TODO() - resizeRequest := &godo.DatabaseResizeRequest{ - SizeSlug: "db-s-4vcpu-8gb", - NumNodes: 3, + resetUserAuthRequest := &godo.DatabaseResetUserAuthRequest{ + MySQLSettings: &DatabaseMySQLUserSettings{ + AuthPlugin: "caching_sha2_password", + }, } + user, _, err := client.Databases.ResetUserAuth(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", "app-01", resetuserAuthRequest) + } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "mysql_settings": { + "auth_plugin": "caching_sha2_password" + } } + + get_resp = client.databases.reset_auth(database_cluster_uuid="a7a8bas", username="admin", body=req) security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/firewall': + - database:update + /v2/databases/{database_cluster_uuid}/dbs: get: - operationId: databases_list_firewall_rules - summary: List Firewall Rules (Trusted Sources) for a Database Cluster - description: |- - To list all of a database cluster's firewall rules (known as "trusted sources" in the control panel), send a GET request to `/v2/databases/$DATABASE_ID/firewall`. - The result will be a JSON object with a `rules` key. + operationId: databases_list + summary: List All Databases + description: | + To list all of the databases in a clusters, send a GET request to + `/v2/databases/$DATABASE_ID/dbs`. + The result will be a JSON object with a `dbs` key. This will be set to an array + of database objects, each of which will contain the standard database attributes. + Note: Database management is not supported for Redis clusters. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/firewall_rules' + $ref: '#/components/responses/databases' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9140,7 +18040,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/firewall" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs" - lang: Go source: |- import ( @@ -9156,45 +18056,43 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - rules, _, err := client.Databases.GetFirewallRules(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + dbs, _, err := client.Databases.ListDBs(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list(database_cluster_uuid="a7aba9d") security: - bearer_auth: - - read - put: - operationId: databases_update_firewall_rules - summary: Update Firewall Rules (Trusted Sources) for a Database - description: |- - To update a database cluster's firewall rules (known as "trusted sources" in the control panel), send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses. When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access. The firewall is limited to 100 rules (or trusted sources). When possible, we recommend [placing your databases into a VPC network](https://www.digitalocean.com/docs/networking/vpc/) to limit access to them instead of using a firewall. - A successful + - database:read + post: + operationId: databases_add + summary: Add a New Database + description: | + To add a new database to an existing cluster, send a POST request to + `/v2/databases/$DATABASE_ID/dbs`. + Note: Database management is not supported for Redis clusters. + The response will be a JSON object with a key called `db`. The value of this will be + an object that contains the standard attributes associated with a database. tags: - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' requestBody: required: true content: application/json: schema: - type: object - properties: - rules: - type: array - items: - $ref: '#/components/schemas/firewall_rule' + $ref: '#/components/schemas/database' example: - rules: - - type: ip_addr - value: 192.168.1.1 - - type: k8s - value: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 - - type: droplet - value: '163973392' - - type: tag - value: backend - parameters: - - $ref: '#/components/parameters/database_cluster_uuid' + name: alpha responses: - '204': - $ref: '#/components/responses/no_content' + '201': + $ref: '#/components/responses/database' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9208,11 +18106,11 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ + curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"rules": [{"type": "ip_addr","value": "192.168.1.1"},{"type": "droplet","value": "163973392"},{"type": "k8s","value": "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61"},{"type": "tag","value": "backend"]}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/firewall" + -d '{"name": "alpha"}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs" - lang: Go source: |- import ( @@ -9228,50 +18126,41 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - req := godo.DatabaseUpdateFirewallRulesRequest{ - Rules: []*godo.DatabaseFirewallRule{ - { - Type: "ip_addr", - Value: "192.168.1.1", - }, - { - Type: "droplet", - Value: "163973392", - }, - { - Type: "k8s", - Value: "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61", - }, - }, + createDBReq := &godo.DatabaseCreateDBRequest{ + Name: "alpha", } - _, err := client.Databases.UpdateFirewallRules(ctx, dbID, &req) + + db, _, err := client.Databases.CreateDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createDBReq) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + add_resp = client.databases.add(database_cluster_uuid="9cc10173", body={"name": "alpha"}) security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/maintenance': - put: - operationId: databases_update_maintenanceWindow - summary: Configure a Database Cluster's Maintenance Window - description: |- - To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`. - A successful request will receive a 204 No Content status code with no body in response. + - database:create + /v2/databases/{database_cluster_uuid}/dbs/{database_name}: + get: + operationId: databases_get + summary: Retrieve an Existing Database + description: | + To show information about an existing database cluster, send a GET request to + `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. + Note: Database management is not supported for Redis clusters. + The response will be a JSON object with a `db` key. This will be set to an object + containing the standard database attributes. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/database_maintenance_window' - example: - day: tuesday - hour: '14:00' + - $ref: '#/components/parameters/database_name' responses: - '204': - $ref: '#/components/responses/no_content' + '200': + $ref: '#/components/responses/database' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9285,11 +18174,10 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ + curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"day": "tuesday", "hour": "14:00"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/maintenance" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs/alpha" - lang: Go source: |- import ( @@ -9305,31 +18193,36 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - maintenanceRequest := &godo.DatabaseUpdateMaintenanceRequest{ - Day: "thursday", - Hour: "16:00", - } - - _, err := client.Databases.UpdateMaintenance(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", maintenanceRequest) + db, _, err := client.Databases.GetDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.get(database_cluster_uuid="a9a8a77", database_name="admin") security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/backups': - get: - operationId: databases_list_backups - summary: List Backups for a Database Cluster - description: |- - To list all of the available backups of a PostgreSQL or MySQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`. - **Note**: Backups are not supported for Redis clusters. - The result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created. + - database:read + delete: + operationId: databases_delete + summary: Delete a Database + description: | + To delete a specific database, send a DELETE request to + `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. + A status of 204 will be given. This indicates that the request was processed + successfully, but that no response body is needed. + Note: Database management is not supported for Redis clusters. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/database_name' responses: - '200': - $ref: '#/components/responses/database_backups' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9343,10 +18236,10 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET \ + curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/backups" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs/alpha" - lang: Go source: |- import ( @@ -9362,28 +18255,33 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - backups, _, err := client.Databases.ListBackups(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) + _, err := client.Databases.DeleteDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.databases.delete(database_cluster_uuid="a7abda", database_name="ba1341") security: - bearer_auth: - - read - '/v2/databases/{database_cluster_uuid}/replicas': + - database:delete + /v2/databases/{database_cluster_uuid}/pools: get: - operationId: databases_list_replicas - summary: List All Read-only Replicas + operationId: databases_list_connectionPools + summary: List Connection Pools (PostgreSQL) description: |- - To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`. - - **Note**: Read-only replicas are not supported for Redis clusters. - - The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. + To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`. + The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/database_replicas' + $ref: '#/components/responses/connection_pools' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9397,59 +18295,68 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas" + curl -X GET / + -H "Content-Type: application/json" / + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" / + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools" - lang: Go source: |- import ( "context" - "os" - "github.com/digitalocean/godo" ) func main() { - token := os.Getenv("DIGITALOCEAN_TOKEN") + pat := "mytoken" - client := godo.NewFromToken(token) + client := godo.NewFromToken(pat) ctx := context.TODO() - replicas, _, err := client.Databases.ListReplicas(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) + pools, _, err := client.Databases.ListPools(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.databases.list_connection_pools(database_cluster_uuid="a7aab9a") security: - bearer_auth: - - read + - database:read post: - operationId: databases_create_replica - summary: Create a Read-only Replica - description: |- - To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located. - - **Note**: Read-only replicas are not supported for Redis clusters. - - The response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`. + operationId: databases_add_connectionPool + summary: Add a New Connection Pool (PostgreSQL) + description: | + For PostgreSQL database clusters, connection pools can be used to allow a + database to share its idle connections. The popular PostgreSQL connection + pooling utility PgBouncer is used to provide this service. [See here for more information](https://docs.digitalocean.com/products/databases/postgresql/how-to/manage-connection-pools/) + about how and why to use PgBouncer connection pooling including + details about the available transaction modes. + To add a new connection pool to a PostgreSQL database cluster, send a POST + request to `/v2/databases/$DATABASE_ID/pools` specifying a name for the pool, + the user to connect with, the database to connect to, as well as its desired + size and transaction mode. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' requestBody: + required: true content: application/json: schema: - allOf: - - $ref: '#/components/schemas/database_replica' - required: - - name - - size + $ref: '#/components/schemas/connection_pool' example: - name: read-nyc3-01 - region: nyc3 - size: db-s-2vcpu-4gb + name: backend-pool + mode: transaction + size: 10 + db: defaultdb + user: doadmin responses: '201': - $ref: '#/components/responses/database_replica' + $ref: '#/components/responses/connection_pool' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9464,55 +18371,67 @@ paths: - lang: cURL source: |- curl -X POST \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name":"read-nyc3-01", "region":"nyc3", "size": "db-s-2vcpu-4gb"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas" + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name": "backend-pool","mode": "transaction","size": 10,"db": "defaultdb","user": "doadmin"}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools" - lang: Go source: |- import ( "context" - "os" - "github.com/digitalocean/godo" ) func main() { - token := os.Getenv("DIGITALOCEAN_TOKEN") + pat := "mytoken" - client := godo.NewFromToken(token) + client := godo.NewFromToken(pat) ctx := context.TODO() - replicaRequest := &godo.DatabaseCreateReplicaRequest{ - - Name: "read-nyc3-01", - Region: "nyc3", - Size: "db-s-2vcpu-4gb", + createPoolReq := &godo.DatabaseCreatePoolRequest{ + Name: "backend-pool", + Database: "defaultdb", + Size: 10, + User: "doadmin", + Mode: "transaction", } - replica, _, err := client.Databases.CreateReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", replicaRequest) + pool, _, err := client.Databases.CreatePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createPoolReq) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + add_conn_pool_req = { + "name": "backend-pool", + "mode": "transaction", + "size": 10, + "db": "defaultdb", + "user": "doadmin" + } + + add_conn_pool_resp = client.databases.add_connection_pool(database_cluster_uuid="9cc10173", body=add_conn_pool_req) security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/replicas/{replica_name}': + - database:create + /v2/databases/{database_cluster_uuid}/pools/{pool_name}: get: - operationId: databases_get_replica - summary: Retrieve an Existing Read-only Replica + operationId: databases_get_connectionPool + summary: Retrieve Existing Connection Pool (PostgreSQL) description: |- - To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. - - **Note**: Read-only replicas are not supported for Redis clusters. - - The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. + To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. + The response will be a JSON object with a `pool` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/replica_name' + - $ref: '#/components/parameters/pool_name' responses: '200': - $ref: '#/components/responses/database_replica' + $ref: '#/components/responses/connection_pool' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9526,44 +18445,56 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01" + curl -X GET / + -H "Content-Type: application/json" / + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" / + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - lang: Go source: |- import ( "context" - "os" - "github.com/digitalocean/godo" ) func main() { - token := os.Getenv("DIGITALOCEAN_TOKEN") + pat := "mytoken" - client := godo.NewFromToken(token) + client := godo.NewFromToken(pat) ctx := context.TODO() - replica, _, err := client.Databases.GetReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") + pool, _, err := client.Databases.GetPool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") } - security: - - bearer_auth: - - read - delete: - operationId: databases_destroy_replica - summary: Destroy a Read-only Replica - description: |- - To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + - lang: Python + source: |- + import os + from pydo import Client - **Note**: Read-only replicas are not supported for Redis clusters. + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + get_resp = client.databases.get_connection_pool(database_cluster_uuid="a7aba8a", pool_name="backend-pool") + security: + - bearer_auth: + - database:read + put: + operationId: databases_update_connectionPool + summary: Update Connection Pools (PostgreSQL) + description: To update a connection pool for a PostgreSQL database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. tags: - Databases + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/connection_pool_update' + example: + mode: transaction + size: 10 + db: defaultdb + user: doadmin parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/replica_name' + - $ref: '#/components/parameters/pool_name' responses: '204': $ref: '#/components/responses/no_content' @@ -9580,45 +18511,65 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X DELETE \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01" + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"mode": "transaction", "size": 15, "db": "defaultdb", "user": "doadmin"}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - lang: Go source: |- import ( "context" - "os" - "github.com/digitalocean/godo" ) func main() { - token := os.Getenv("DIGITALOCEAN_TOKEN") + pat := "mytoken" - client := godo.NewFromToken(token) + client := godo.NewFromToken(pat) ctx := context.TODO() - _, err := client.Databases.DeleteReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") + updateReq := &godo.DatabaseUpdatePoolRequest{ + User: "doadmin", + Size: 15, + Database: "defaultdb", + Mode: "transaction", + } + + _, err := client.Databases.UpdatePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool", updateReq) + } - security: - - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote': - put: - operationId: databases_promote_replica - summary: Promote a Read-only Replica to become a Primary Cluster - description: |- - To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. + - lang: Python + source: |- + import os + from pydo import Client - **Note**: Read-only replicas are not supported for Redis clusters. + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + req = { + "mode": "transaction", + "size": 10, + "db": "defaultdb", + "user": "doadmin" + } + + update_resp = client.databases.update_connection_pool(database_cluster_uuid="a7a8bas", pool_name="conn_pool", body=req) + security: + - bearer_auth: + - database:update + delete: + operationId: databases_delete_connectionPool + summary: Delete a Connection Pool (PostgreSQL) + description: | + To delete a specific connection pool for a PostgreSQL database cluster, send + a DELETE request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. + A status of 204 will be given. This indicates that the request was processed + successfully, but that no response body is needed. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/replica_name' + - $ref: '#/components/parameters/pool_name' responses: '204': $ref: '#/components/responses/no_content' @@ -9635,51 +18586,50 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/replicas/read-nyc3-01/promote" + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - lang: Go source: |- import ( "context" - "os" - "github.com/digitalocean/godo" ) func main() { - token := os.Getenv("DIGITALOCEAN_TOKEN") + pat := "mytoken" - client := godo.NewFromToken(token) + client := godo.NewFromToken(pat) ctx := context.TODO() - _, err := client.Databases.PromoteReplicaToPrimary(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") + _, err := client.Databases.DeletePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_conn_pool = client.databases.delete_connection_pool(database_cluster_uuid="9cc10173", pool_name="backend-pool") security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/users': + - database:delete + /v2/databases/{database_cluster_uuid}/eviction_policy: get: - operationId: databases_list_users - summary: List all Database Users - description: | - To list all of the users for your database cluster, send a GET request to - `/v2/databases/$DATABASE_ID/users`. - - Note: User management is not supported for Redis clusters. - - The result will be a JSON object with a `users` key. This will be set to an array - of database user objects, each of which will contain the standard database user attributes. - - For MySQL clusters, additional options will be contained in the mysql_settings object. + operationId: databases_get_evictionPolicy + summary: Retrieve the Eviction Policy for a Redis Cluster + description: |- + To retrieve the configured eviction policy for an existing Redis cluster, send a GET request to `/v2/databases/$DATABASE_ID/eviction_policy`. + The response will be a JSON object with an `eviction_policy` key. This will be set to a string representing the eviction policy. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/users' + $ref: '#/components/responses/eviction_policy_response' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9696,7 +18646,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users" + "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/eviction_policy" - lang: Go source: |- import ( @@ -9712,26 +18662,23 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - users, _, err := client.Databases.ListUsers(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", nil) + db, _, err := client.Databases.GetEvictionPolicy(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - security: - - bearer_auth: - - read - post: - operationId: databases_add_user - summary: Add a Database User - description: | - To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users` - with the desired username. - - Note: User management is not supported for Redis clusters. + - lang: Python + source: |- + import os + from pydo import Client - When adding a user to a MySQL cluster, additional options can be configured in the - `mysql_settings` object. + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - The response will be a JSON object with a key called `user`. The value of this will be an - object that contains the standard attributes associated with a database user including - its randomly generated password. + get_resp = client.databases.get_eviction_policy(database_cluster_uuid="a7aa89a") + security: + - bearer_auth: + - database:read + put: + operationId: databases_update_evictionPolicy + summary: Configure the Eviction Policy for a Redis Cluster + description: To configure an eviction policy for an existing Redis cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy. tags: - Databases parameters: @@ -9741,19 +18688,17 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/database_user' - examples: - Add New User: - value: - name: app-01 - Add New User with MySQL Auth Plugin: - value: - name: app-02 - mysql_settings: - auth_plugin: mysql_native_password + type: object + required: + - eviction_policy + properties: + eviction_policy: + $ref: '#/components/schemas/eviction_policy_model' + example: + eviction_policy: allkeys_lru responses: - '201': - $ref: '#/components/responses/user' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9767,11 +18712,11 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X POST \ + curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "app-01"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users" + -d '{"eviction_policy":"allkeys_lru"}' \ + "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/eviction_policy" - lang: Go source: |- import ( @@ -9787,39 +18732,37 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - addUserRequest := &godo.DatabaseCreateUserRequest{ - Name: "app-01", - } - - user, _, err := client.Databases.CreateUser(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", addUserRequest) - - } - security: - - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/users/{username}': - get: - operationId: databases_get_user - summary: Retrieve an Existing Database User - description: | - To show information about an existing database user, send a GET request to - `/v2/databases/$DATABASE_ID/users/$USERNAME`. - - Note: User management is not supported for Redis clusters. + db, _, err := client.Databases.SetEvictionPolicy(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "allkeys_lru") + } + - lang: Python + source: |- + import os + from pydo import Client - The response will be a JSON object with a `user` key. This will be set to an object - containing the standard database user attributes. + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - For MySQL clusters, additional options will be contained in the mysql_settings - object. + req = { + "eviction_policy": "allkeys_lru" + } + + update_resp = client.databases.update_eviction_policy(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/sql_mode: + get: + operationId: databases_get_sql_mode + summary: Retrieve the SQL Modes for a MySQL Cluster + description: |- + To retrieve the configured SQL modes for an existing MySQL cluster, send a GET request to `/v2/databases/$DATABASE_ID/sql_mode`. + The response will be a JSON object with a `sql_mode` key. This will be set to a string representing the configured SQL modes. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/username' responses: '200': - $ref: '#/components/responses/user' + $ref: '#/components/responses/sql_mode' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9836,7 +18779,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01" + "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/sql_mode" - lang: Go source: |- import ( @@ -9852,27 +18795,37 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - user, _, err := client.Databases.GetUser(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") + sqlMode, _, err := client.Databases.GetSQLMode(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - security: - - bearer_auth: - - read - delete: - operationId: databases_delete_user - summary: Remove a Database User - description: | - To remove a specific database user, send a DELETE request to - `/v2/databases/$DATABASE_ID/users/$USERNAME`. + - lang: Python + source: |- + import os + from pydo import Client - A status of 204 will be given. This indicates that the request was processed - successfully, but that no response body is needed. + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - Note: User management is not supported for Redis clusters. + get_resp = client.databases.get_sql_mode(database_cluster_uuid="90abaa8") + security: + - bearer_auth: + - database:read + put: + operationId: databases_update_sql_mode + summary: Update SQL Mode for a Cluster + description: |- + To configure the SQL modes for an existing MySQL cluster, send a PUT request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired modes. See the official MySQL 8 documentation for a [full list of supported SQL modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full). + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/username' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/sql_mode' + example: + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE responses: '204': $ref: '#/components/responses/no_content' @@ -9889,10 +18842,11 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X DELETE \ + curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01" + -d '{"sql_mode":"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE"}' \ + "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/sql_mode" - lang: Go source: |- import ( @@ -9908,45 +18862,46 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - _, err := client.Databases.DeleteUser(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") + sqlMode := "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE" + _, err := client.Databases.SetSQLMode(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", sqlMode) } - security: - - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth': - post: - operationId: databases_reset_auth - summary: Reset a Database User's Password or Authentication Method - description: | - To reset the password for a database user, send a POST request to - `/v2/databases/$DATABASE_ID/users/$USERNAME/reset_auth`. + - lang: Python + source: |- + import os + from pydo import Client - For `mysql` databases, the authentication method can be specifying by - including a key in the JSON body called `mysql_settings` with the `auth_plugin` - value specified. + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - The response will be a JSON object with a `user` key. This will be set to an - object containing the standard database user attributes. + req = { + "sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE" + } + + update_resp = client.databases.update_sql_mode(database_cluster_uuid="a7a8bas", body=req) + security: + - bearer_auth: + - database:update + /v2/databases/{database_cluster_uuid}/upgrade: + put: + operationId: databases_update_major_version + summary: Upgrade Major Version for a Database + description: |- + To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/username' requestBody: required: true content: application/json: schema: - type: object - properties: - mysql_settings: - $ref: '#/components/schemas/mysql_settings' + $ref: '#/components/schemas/version-2' example: - mysql_settings: - auth_plugin: caching_sha2_password + version: '14' responses: - '200': - $ref: '#/components/responses/user' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' '404': @@ -9960,55 +18915,41 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X POST \ + curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"mysql_settings":{"auth_plugin": "caching_sha2_password"}}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/users/app-01/reset_auth" - - lang: Go + -d '{"version":"14"}' \ + "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/upgrade" + - lang: Python source: |- - import ( - "context" - "os" - - "github.com/digitalocean/godo" - ) - - func main() { - token := os.Getenv("DIGITALOCEAN_TOKEN") + import os + from pydo import Client - client := godo.NewFromToken(token) - ctx := context.TODO() + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - resetUserAuthRequest := &godo.DatabaseResetUserAuthRequest{ - MySQLSettings: &DatabaseMySQLUserSettings{ - AuthPlugin: "caching_sha2_password", - }, - } - user, _, err := client.Databases.ResetUserAuth(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", "app-01", resetuserAuthRequest) + req = { + "version": "14" } + + update_resp = client.databases.update_major_version(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/dbs': + - database:update + /v2/databases/{database_cluster_uuid}/topics: get: - operationId: databases_list - summary: List All Databases + operationId: databases_list_kafka_topics + summary: List Topics for a Kafka Cluster description: | - To list all of the databases in a clusters, send a GET request to - `/v2/databases/$DATABASE_ID/dbs`. - - The result will be a JSON object with a `dbs` key. This will be set to an array - of database objects, each of which will contain the standard database attributes. - - Note: Database management is not supported for Redis clusters. + To list all of a Kafka cluster's topics, send a GET request to + `/v2/databases/$DATABASE_ID/topics`. + The result will be a JSON object with a `topics` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/databases' + $ref: '#/components/responses/kafka_topics' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10025,7 +18966,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/topics" - lang: Go source: |- import ( @@ -10041,37 +18982,38 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - dbs, _, err := client.Databases.ListDBs(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) + replicas, _, err := client.Databases.ListTopics(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } security: - bearer_auth: - - read + - database:read post: - operationId: databases_add - summary: Add a New Database + operationId: databases_create_kafka_topic + summary: Create Topic for a Kafka Cluster description: | - To add a new database to an existing cluster, send a POST request to - `/v2/databases/$DATABASE_ID/dbs`. - - Note: Database management is not supported for Redis clusters. - - The response will be a JSON object with a key called `db`. The value of this will be - an object that contains the standard attributes associated with a database. + To create a topic attached to a Kafka cluster, send a POST request to + `/v2/databases/$DATABASE_ID/topics`. + The result will be a JSON object with a `topic` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' requestBody: - required: true content: application/json: schema: - $ref: '#/components/schemas/database' + $ref: '#/components/schemas/kafka_topic_create' + properties: {} example: - name: alpha + name: customer-events + partitions: 3 + replication: 2 + config: + retention_bytes: -1 + retention_ms: 100000 responses: '201': - $ref: '#/components/responses/database' + $ref: '#/components/responses/kafka_topic' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10088,8 +19030,8 @@ paths: curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "alpha"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs" + -d '{"name":"customer-events", "partition_count":3, "replication_factor": 3, "config": {"retentionMS": 1000000}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/topics" - lang: Go source: |- import ( @@ -10105,35 +19047,36 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - createDBReq := &godo.DatabaseCreateDBRequest{ - Name: "alpha", - } + createRequest := &DatabaseCreateTopicRequest{ + Name: "events", + PartitionCount: 3, + ReplicationFactor: 2, + Config: &TopicConfig{ + RetentionMS: 60000, + } + }, - db, _, err := client.Databases.CreateDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createDBReq) + cluster, _, err := client.Databases.CreateTopic(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createRequest) } security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/dbs/{database_name}': + - database:create + /v2/databases/{database_cluster_uuid}/topics/{topic_name}: get: - operationId: databases_get - summary: Retrieve an Existing Database + operationId: databases_get_kafka_topic + summary: Get Topic for a Kafka Cluster description: | - To show information about an existing database cluster, send a GET request to - `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. - - Note: Database management is not supported for Redis clusters. - - The response will be a JSON object with a `db` key. This will be set to an object - containing the standard database attributes. + To retrieve a given topic by name from the set of a Kafka cluster's topics, + send a GET request to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`. + The result will be a JSON object with a `topic` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/database_name' + - $ref: '#/components/parameters/kafka_topic_name' responses: '200': - $ref: '#/components/responses/database' + $ref: '#/components/responses/kafka_topic' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10150,7 +19093,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs/alpha" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/topics/customer-events" - lang: Go source: |- import ( @@ -10165,31 +19108,41 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() + + topicName := "events" - db, _, err := client.Databases.GetDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") + user, _, err := client.Databases.GetTopic(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", topicName) } security: - bearer_auth: - - read - delete: - operationId: databases_delete - summary: Delete a Database + - database:read + put: + operationId: databases_update_kafka_topic + summary: Update Topic for a Kafka Cluster description: | - To delete a specific database, send a DELETE request to - `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. - - A status of 204 will be given. This indicates that the request was processed - successfully, but that no response body is needed. - - Note: Database management is not supported for Redis clusters. + To update a topic attached to a Kafka cluster, send a PUT request to + `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`. + The result will be a JSON object with a `topic` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/database_name' + - $ref: '#/components/parameters/kafka_topic_name' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/kafka_topic_update' + properties: {} + example: + partitions: 3 + replication: 2 + config: + retention_bytes: -1 + retention_ms: 100000 responses: - '204': - $ref: '#/components/responses/no_content' + '200': + $ref: '#/components/responses/kafka_topic' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10203,10 +19156,11 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X DELETE \ + curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/dbs/alpha" + -d '{"partition_count":3, "replication_factor": 3, "config": {"retentionMS": 1000000}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/topics/customer-events" - lang: Go source: |- import ( @@ -10222,25 +19176,36 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - _, err := client.Databases.DeleteDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") + topicName := "events" + updateRequest := &DatabaseUpdateTopicRequest{ + PartitionCount: 3, + ReplicationFactor: 2, + Config: &TopicConfig{ + RetentionMS: 60000, + }, + } + + _, err := client.Databases.UpdateTopic(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", topicName, updateRequest) } security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/pools': - get: - operationId: databases_list_connectionPools - summary: List Connection Pools (PostgreSQL) - description: |- - To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`. - The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. + - database:update + delete: + operationId: databases_delete_kafka_topic + summary: Delete Topic for a Kafka Cluster + description: | + To delete a single topic within a Kafka cluster, send a DELETE request + to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`. + A status of 204 will be given. This indicates that the request was + processed successfully, but that no response body is needed. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/kafka_topic_name' responses: - '200': - $ref: '#/components/responses/connection_pools' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10254,42 +19219,74 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET / - -H "Content-Type: application/json" / - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" / - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools" + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/topics/customer-events" - lang: Go source: |- import ( "context" + "os" + "github.com/digitalocean/godo" ) func main() { - pat := "mytoken" + token := os.Getenv("DIGITALOCEAN_TOKEN") - client := godo.NewFromToken(pat) + client := godo.NewFromToken(token) ctx := context.TODO() - pools, _, err := client.Databases.ListPools(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) + topicName := "events" + + _, err := client.Databases.DeleteTopic(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", topicName) } security: - bearer_auth: - - read - post: - operationId: databases_add_connectionPool - summary: Add a New Connection Pool (PostgreSQL) + - database:delete + /v2/databases/{database_cluster_uuid}/logsink: + get: + operationId: databases_list_logsink + summary: | + List Logsinks for a Database Cluster description: | - For PostgreSQL database clusters, connection pools can be used to allow a - database to share its idle connections. The popular PostgreSQL connection - pooling utility PgBouncer is used to provide this service. [See here for more information](https://www.digitalocean.com/docs/databases/postgresql/how-to/manage-connection-pools/) - about how and why to use PgBouncer connection pooling including - details about the available transaction modes. - - To add a new connection pool to a PostgreSQL database cluster, send a POST - request to `/v2/databases/$DATABASE_ID/pools` specifying a name for the pool, - the user to connect with, the database to connect to, as well as its desired - size and transaction mode. + To list logsinks for a database cluster, send a GET request to + `/v2/databases/$DATABASE_ID/logsink`. + tags: + - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + responses: + '201': + $ref: '#/components/responses/logsinks' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/logsink" + security: + - bearer_auth: + - database:read + post: + operationId: databases_create_logsink + summary: | + Create Logsink for a Database Cluster + description: | + To create logsink for a database cluster, send a POST request to + `/v2/databases/$DATABASE_ID/logsink`. tags: - Databases parameters: @@ -10299,16 +19296,37 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/connection_pool' - example: - name: backend-pool - mode: transaction - size: 10 - db: defaultdb - user: doadmin + $ref: '#/components/schemas/logsink_create' + properties: {} + examples: + Create an opensearch logsink: + value: + sink_name: logs-sink + sink_type: opensearch + config: + url: https://user:passwd@192.168.0.1:25060 + index_prefix: opensearch-logs + index_days_max: 5 + Create an elasticsearch logsink: + value: + sink_name: logs-sink + sink_type: elasticsearch + config: + url: https://user:passwd@192.168.0.1:25060 + index_prefix: elasticsearch-logs + index_days_max: 5 + Create a rsyslog logsink: + value: + sink_name: logs-sink + sink_type: rsyslog + config: + server: 192.168.0.1 + port: 514 + tls: false + format: rfc5424 responses: '201': - $ref: '#/components/responses/connection_pool' + $ref: '#/components/responses/logsink' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10323,51 +19341,29 @@ paths: - lang: cURL source: |- curl -X POST \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "backend-pool","mode": "transaction","size": 10,"db": "defaultdb","user": "doadmin"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools" - - lang: Go - source: |- - import ( - "context" - "github.com/digitalocean/godo" - ) - - func main() { - pat := "mytoken" - - client := godo.NewFromToken(pat) - ctx := context.TODO() - - createPoolReq := &godo.DatabaseCreatePoolRequest{ - Name: "backend-pool", - Database: "defaultdb", - Size: 10, - User: "doadmin", - Mode: "transaction", - } - - pool, _, err := client.Databases.CreatePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createPoolReq) - } + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"sink_name": "logsink", "sink_type": "rsyslog", "config": {"server": "192.168.10.1", "port": 514, "tls": false, "format": "rfc5424"}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/logsink" security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/pools/{pool_name}': + - database:create + /v2/databases/{database_cluster_uuid}/logsink/{logsink_id}: get: - operationId: databases_get_connectionPool - summary: Retrieve Existing Connection Pool (PostgreSQL) - description: |- - To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - The response will be a JSON object with a `pool` key. + operationId: databases_get_logsink + summary: | + Get Logsink for a Database Cluster + description: | + To get a logsink for a database cluster, send a GET request to + `/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/pool_name' + - $ref: '#/components/parameters/logsink_id' responses: - '200': - $ref: '#/components/responses/connection_pool' + '201': + $ref: '#/components/responses/logsink' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10381,50 +19377,39 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET / - -H "Content-Type: application/json" / - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" / - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - - lang: Go - source: |- - import ( - "context" - "github.com/digitalocean/godo" - ) - - func main() { - pat := "mytoken" - - client := godo.NewFromToken(pat) - ctx := context.TODO() - - pool, _, err := client.Databases.GetPool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") - } + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/logsink/77b28fc8-19ff-11eb-8c9c-c68e24557488" security: - bearer_auth: - - read + - database:read put: - operationId: databases_update_connectionPool - summary: Update Connection Pools (PostgreSQL) - description: 'To update a connection pool for a PostgreSQL database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.' + operationId: databases_update_logsink + summary: | + Update Logsink for a Database Cluster + description: | + To update a logsink for a database cluster, send a PUT request to + `/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`. tags: - Databases + parameters: + - $ref: '#/components/parameters/database_cluster_uuid' + - $ref: '#/components/parameters/logsink_id' requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/connection_pool_update' + $ref: '#/components/schemas/logsink_update' example: - mode: transaction - size: 10 - db: defaultdb - user: doadmin - parameters: - - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/pool_name' + config: + server: 192.168.0.1 + port: 514 + tls: false + format: rfc3164 responses: - '204': + '200': $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' @@ -10440,52 +19425,27 @@ paths: - lang: cURL source: |- curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"mode": "transaction", "size": 15, "db": "defaultdb", "user": "doadmin"}' \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - - lang: Go - source: |- - import ( - "context" - "github.com/digitalocean/godo" - ) - - func main() { - pat := "mytoken" - - client := godo.NewFromToken(pat) - ctx := context.TODO() - - updateReq := &godo.DatabaseUpdatePoolRequest{ - User: "doadmin", - Size: 15, - Database: "defaultdb", - Mode: "transaction", - } - - _, err := client.Databases.UpdatePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool", updateReq) - - } + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"config": {"server": "192.168.1.1", "port": 514, "tls": false, "format": "rfc3164"}}' \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/logsink/77b28fc8-19ff-11eb-8c9c-c68e24557488" security: - bearer_auth: - - read + - database:update delete: - operationId: databases_delete_connectionPool - summary: Delete a Connection Pool (PostgreSQL) + operationId: databases_delete_logsink + summary: | + Delete Logsink for a Database Cluster description: | - To delete a specific connection pool for a PostgreSQL database cluster, send - a DELETE request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - - A status of 204 will be given. This indicates that the request was processed - successfully, but that no response body is needed. + To delete a logsink for a database cluster, send a DELETE request to + `/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - - $ref: '#/components/parameters/pool_name' + - $ref: '#/components/parameters/logsink_id' responses: - '204': + '200': $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' @@ -10500,42 +19460,23 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - - lang: Go - source: |- - import ( - "context" - "github.com/digitalocean/godo" - ) - - func main() { - pat := "mytoken" - - client := godo.NewFromToken(pat) - ctx := context.TODO() - - _, err := client.Databases.DeletePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") - } + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/logsink/77b28fc8-19ff-11eb-8c9c-c68e24557488" security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/eviction_policy': + - database:delete + /v2/databases/metrics/credentials: get: - operationId: databases_get_evictionPolicy - summary: Retrieve the Eviction Policy for a Redis Cluster - description: |- - To retrieve the configured eviction policy for an existing Redis cluster, send a GET request to `/v2/databases/$DATABASE_ID/eviction_policy`. - The response will be a JSON object with an `eviction_policy` key. This will be set to a string representing the eviction policy. + operationId: databases_get_cluster_metrics_credentials + summary: Retrieve Database Clusters' Metrics Endpoint Credentials + description: To show the credentials for all database clusters' metrics endpoints, send a GET request to `/v2/databases/metrics/credentials`. The result will be a JSON object with a `credentials` key. tags: - Databases - parameters: - - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/eviction_policy_response' + $ref: '#/components/responses/database_metrics_auth' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10550,9 +19491,8 @@ paths: - lang: cURL source: |- curl -X GET \ - -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/eviction_policy" + "https://api.digitalocean.com/v2/databases/metrics/credentials" - lang: Go source: |- import ( @@ -10568,39 +19508,32 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - db, _, err := client.Databases.GetEvictionPolicy(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + creds, _, _ := client.Databases.GetMetricsCredentials(ctx) } security: - bearer_auth: - - read + - database:update put: - operationId: databases_update_evictionPolicy - summary: Configure the Eviction Policy for a Redis Cluster - description: 'To configure an eviction policy for an existing Redis cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy.' + operationId: databases_update_cluster_metrics_credentials + summary: Update Database Clusters' Metrics Endpoint Credentials + description: To update the credentials for all database clusters' metrics endpoints, send a PUT request to `/v2/databases/metrics/credentials`. A successful request will receive a 204 No Content status code with no body in response. tags: - Databases - parameters: - - $ref: '#/components/parameters/database_cluster_uuid' requestBody: - required: true content: application/json: schema: - type: object - required: - - eviction_policy - properties: - eviction_policy: - $ref: '#/components/schemas/eviction_policy_model' + $ref: '#/components/schemas/database_metrics_credentials' + properties: {} example: - eviction_policy: allkeys_lru + credentials: + basic_auth_username: new_username + basic_auth_password: new_password responses: '204': $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' - '404': - $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': @@ -10613,8 +19546,8 @@ paths: curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"eviction_policy":"allkeys_lru"}' \ - "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/eviction_policy" + -d '{"credentials": {"basic_auth_username": "new_username", "basic_auth_password": "new_password"}}'\ + "https://api.digitalocean.com/v2/databases/metrics/credentials" - lang: Go source: |- import ( @@ -10630,25 +19563,31 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - db, _, err := client.Databases.SetEvictionPolicy(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "allkeys_lru") + _, _ = client.Databases.UpdateMetricsCredentials(ctx, &godo.DatabaseUpdateMetricsCredentialsRequest{ + Credentials: &godo.DatabaseMetricsCredentials{ + BasicAuthUsername: "a_new_username", + BasicAuthPassword: "a_new_password", + }, + }) } security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/sql_mode': + - database:update + /v2/databases/{database_cluster_uuid}/indexes: get: - operationId: databases_get_sql_mode - summary: Retrieve the SQL Modes for a MySQL Cluster - description: |- - To retrieve the configured SQL modes for an existing MySQL cluster, send a GET request to `/v2/databases/$DATABASE_ID/sql_mode`. - The response will be a JSON object with a `sql_mode` key. This will be set to a string representing the configured SQL modes. + operationId: databases_list_opeasearch_indexes + summary: List Indexes for a OpenSearch Cluster + description: | + To list all of a OpenSearch cluster's indexes, send a GET request to + `/v2/databases/$DATABASE_ID/indexes`. + The result will be a JSON object with a `indexes` key. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' responses: '200': - $ref: '#/components/responses/sql_mode' + $ref: '#/components/responses/opensearch_indexes' '401': $ref: '#/components/responses/unauthorized' '404': @@ -10665,7 +19604,7 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/sql_mode" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/indexes" - lang: Go source: |- import ( @@ -10681,29 +19620,25 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - sqlMode, _, err := client.Databases.GetSQLMode(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") + replicas, _, err := client.Databases.ListIndexes(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } security: - bearer_auth: - - read - put: - operationId: databases_update_sql_mode - summary: Update SQL Mode for a Cluster - description: |- - To configure the SQL modes for an existing MySQL cluster, send a PUT request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired modes. See the official MySQL 8 documentation for a [full list of supported SQL modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full). - A successful request will receive a 204 No Content status code with no body in response. + - database:read + /v2/databases/{database_cluster_uuid}/indexes/{index_name}: + delete: + operationId: databases_delete_opensearch_index + summary: Delete Index for OpenSearch Cluster + description: | + To delete a single index within OpenSearch cluster, send a DELETE request + to `/v2/databases/$DATABASE_ID/indexes/$INDEX_NAME`. + A status of 204 will be given. This indicates that the request was + processed successfully, but that no response body is needed. tags: - Databases parameters: - $ref: '#/components/parameters/database_cluster_uuid' - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/sql_mode' - example: - sql_mode: 'ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE' + - $ref: '#/components/parameters/opensearch_index_name' responses: '204': $ref: '#/components/responses/no_content' @@ -10720,11 +19655,10 @@ paths: x-codeSamples: - lang: cURL source: |- - curl -X PUT \ + curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"sql_mode":"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE"}' \ - "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/sql_mode" + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/indexes/sample-index" - lang: Go source: |- import ( @@ -10740,52 +19674,10 @@ paths: client := godo.NewFromToken(token) ctx := context.TODO() - sqlMode := "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE" - _, err := client.Databases.SetSQLMode(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", sqlMode) + indexName := "sampe-index" + + _, err := client.Databases.DeleteIndex(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", indexName) } security: - bearer_auth: - - write - '/v2/databases/{database_cluster_uuid}/upgrade': - put: - operationId: databases_update_major_version - summary: Upgrade Major Version for a Database - description: |- - To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. - A successful request will receive a 204 No Content status code with no body in response. - tags: - - Databases - parameters: - - $ref: '#/components/parameters/database_cluster_uuid' - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/version-2' - example: - version: '14' - responses: - '204': - $ref: '#/components/responses/no_content' - '401': - $ref: '#/components/responses/unauthorized' - '404': - $ref: '#/components/responses/not_found' - '429': - $ref: '#/components/responses/too_many_requests' - '500': - $ref: '#/components/responses/server_error' - default: - $ref: '#/components/responses/unexpected_error' - x-codeSamples: - - lang: cURL - source: |- - curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"version":"14"}' \ - "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/upgrade" - security: - - bearer_auth: - - write + - database:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/domains.yaml b/providers/src/digitalocean/v00.00.00000/services/domains.yaml index 27678eaa..85a8bb75 100644 --- a/providers/src/digitalocean/v00.00.00000/services/domains.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/domains.yaml @@ -1,18 +1,24 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - domains version: '2.0' - description: Domains license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - domains + description: |- + Domain resources are domain names that you have purchased from a domain + name registrar that you are managing through the + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). + This resource establishes top-level control over each domain. Actions that + affect individual domain records should be taken on the + [Domain Records](#tag/Domain-Records) resource. security: - bearer_auth: [] tags: @@ -20,52 +26,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +70,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +85,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +111,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +160,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +168,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +183,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +205,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +223,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +275,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +291,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +306,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +333,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +351,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,173 +386,545 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 domain: type: object properties: name: type: string - description: 'The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name.' - example: example.com - ip_address: + description: The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. + example: example.com + ip_address: + type: string + writeOnly: true + description: This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. + example: 192.0.2.1 + ttl: + type: integer + readOnly: true + nullable: true + description: This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + zone_file: + type: string + readOnly: true + nullable: true + description: This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. + example: | + $ORIGIN example.com. + $TTL 1800 + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 + example.com. 1800 IN NS ns1.digitalocean.com. + example.com. 1800 IN NS ns2.digitalocean.com. + example.com. 1800 IN NS ns3.digitalocean.com. + example.com. 1800 IN A 1.2.3.4 + domain_record_a: + type: object + required: + - type + - name + - data + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_aaaa: + type: object + required: + - type + - name + - data + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_caa: + type: object + required: + - type + - name + - data + - flags + - tag + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_cname: + type: object + required: + - type + - name + - data + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_mx: + type: object + required: + - type + - data + - priority + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_ns: + type: object + required: + - type + - name + - data + - flags + - tag + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_soa: + type: object + required: + - type + - ttl + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: type: string - writeOnly: true - description: 'This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.' - example: 192.0.2.1 - ttl: + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: type: integer - readOnly: true + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. nullable: true - description: 'This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.' + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. example: 1800 - zone_file: + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: type: string - readOnly: true + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" nullable: true - description: 'This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource.' - example: | - $ORIGIN example.com. - $TTL 1800 - example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 - example.com. 1800 IN NS ns1.digitalocean.com. - example.com. 1800 IN NS ns2.digitalocean.com. - example.com. 1800 IN NS ns3.digitalocean.com. - example.com. 1800 IN A 1.2.3.4 - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: + example: null + domain_record_srv: type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total required: - - meta - error: - type: object + - type + - name + - data + - priority + - port + - flags + - tag properties: id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: The host name, alias, or service being defined by the record. + example: '@' + data: type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_txt: type: object + required: + - type + - name + - data + - flags + - tag properties: - next: - description: URI of the next page of the results. + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null domain_record: type: object required: @@ -656,11 +941,11 @@ components: example: NS name: type: string - description: 'The host name, alias, or service being defined by the record.' + description: The host name, alias, or service being defined by the record. example: '@' data: type: string - description: 'Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.' + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. example: ns1.digitalocean.com priority: type: integer @@ -674,7 +959,7 @@ components: example: null ttl: type: integer - description: 'This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.' + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. example: 1800 weight: type: integer @@ -688,81 +973,9 @@ components: example: null tag: type: string - description: 'The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef"' + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" nullable: true example: null - domain_record_a: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - domain_record_aaaa: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - domain_record_caa: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - flags - - tag - domain_record_cname: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - domain_record_mx: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - data - - priority - domain_record_ns: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - flags - - tag - domain_record_soa: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - ttl - domain_record_srv: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - priority - - port - - flags - - tag - domain_record_txt: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - flags - - tag parameters: oneClicks_type: in: query @@ -803,8 +1016,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -823,7 +1042,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -833,7 +1052,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -866,7 +1085,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -886,6 +1105,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -896,6 +1116,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -913,14 +1134,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -928,7 +1141,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -947,6 +1160,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1022,6 +1244,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1032,7 +1278,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1065,11 +1311,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1078,6 +1324,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1085,7 +1342,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1187,7 +1444,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1294,7 +1551,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1302,11 +1559,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1321,7 +1628,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1331,7 +1638,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1365,7 +1672,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1385,7 +1692,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1432,12 +1739,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1451,8 +1758,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1479,7 +1812,16 @@ components: required: false schema: type: string - example: droplet + example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1500,57 +1842,142 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_domains_response: - description: 'The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes.' + description: The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - domains: - type: array - items: - $ref: '#/components/schemas/domain' - description: Array of volumes. - required: - - domains - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: domains: - - name: example.com - ttl: 1800 - zone_file: | - $ORIGIN example.com. - $TTL 1800 - example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 - example.com. 1800 IN NS ns1.digitalocean.com. - example.com. 1800 IN NS ns2.digitalocean.com. - example.com. 1800 IN NS ns3.digitalocean.com. - example.com. 1800 IN A 1.2.3.4 - links: {} + type: array + items: + type: object + properties: + name: + type: string + description: The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. + example: example.com + ip_address: + type: string + writeOnly: true + description: This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. + example: 192.0.2.1 + ttl: + type: integer + readOnly: true + nullable: true + description: This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + zone_file: + type: string + readOnly: true + nullable: true + description: This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. + example: | + $ORIGIN example.com. + $TTL 1800 + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 + example.com. 1800 IN NS ns1.digitalocean.com. + example.com. 1800 IN NS ns2.digitalocean.com. + example.com. 1800 IN NS ns3.digitalocean.com. + example.com. 1800 IN A 1.2.3.4 + description: Array of volumes. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1558,15 +1985,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1574,15 +2026,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1590,15 +2067,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1606,17 +2108,55 @@ components: description: The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes associated with a domain. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: domain: - $ref: '#/components/schemas/domain' + type: object + properties: + name: + type: string + description: The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. + example: example.com + ip_address: + type: string + writeOnly: true + description: This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. + example: 192.0.2.1 + ttl: + type: integer + readOnly: true + nullable: true + description: This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + zone_file: + type: string + readOnly: true + nullable: true + description: This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. + example: | + $ORIGIN example.com. + $TTL 1800 + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 + example.com. 1800 IN NS ns1.digitalocean.com. + example.com. 1800 IN NS ns2.digitalocean.com. + example.com. 1800 IN NS ns3.digitalocean.com. + example.com. 1800 IN A 1.2.3.4 example: domain: name: example.com @@ -1626,17 +2166,55 @@ components: description: The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes defined for a domain. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: domain: - $ref: '#/components/schemas/domain' + type: object + properties: + name: + type: string + description: The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. + example: example.com + ip_address: + type: string + writeOnly: true + description: This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. + example: 192.0.2.1 + ttl: + type: integer + readOnly: true + nullable: true + description: This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + zone_file: + type: string + readOnly: true + nullable: true + description: This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. + example: | + $ORIGIN example.com. + $TTL 1800 + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 + example.com. 1800 IN NS ns1.digitalocean.com. + example.com. 1800 IN NS ns2.digitalocean.com. + example.com. 1800 IN NS ns3.digitalocean.com. + example.com. 1800 IN A 1.2.3.4 example: domain: name: example.com @@ -1653,15 +2231,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1669,50 +2272,258 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. all_domain_records_response: - description: 'The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes.' + description: The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + domain_records: + type: array + items: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. properties: - domain_records: - type: array - items: - $ref: '#/components/schemas/domain_record' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: All Domain Records: - $ref: '#/components/examples/domain_records_all' + value: + domain_records: + - id: 28448429 + type: NS + name: '@' + data: ns1.digitalocean.com + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + - id: 28448430 + type: NS + name: '@' + data: ns2.digitalocean.com + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + - id: 28448431 + type: NS + name: '@' + data: ns3.digitalocean.com + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + - id: 28448432 + type: A + name: '@' + data: 1.2.3.4 + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + links: {} + meta: + total: 4 created_domain_record: description: The response body will be a JSON object with a key called `domain_record`. The value of this will be an object representing the new record. Attributes that are not applicable for the record type will be set to `null`. An `id` attribute is generated for each record as part of the object. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: domain_record: - $ref: '#/components/schemas/domain_record' + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null example: domain_record: id: 28448433 @@ -1729,17 +2540,75 @@ components: description: The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: domain_record: - $ref: '#/components/schemas/domain_record' + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null example: domain_record: id: 3352896 @@ -1758,39 +2627,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1805,11 +2683,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1819,7 +2697,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1829,11 +2707,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1858,11 +2736,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1906,7 +2784,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1915,7 +2793,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1989,6 +2867,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2007,7 +2892,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2017,7 +2902,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2031,7 +2916,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2103,7 +2988,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2111,11 +2996,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2134,7 +3019,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2209,12 +3094,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2228,7 +3120,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2297,7 +3189,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2349,133 +3241,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2543,14 +3461,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2727,6 +3644,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2807,9 +3729,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2840,13 +3762,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2953,13 +3880,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3065,7 +3997,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3079,6 +4011,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3159,9 +4096,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3192,13 +4129,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3305,12 +4247,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3319,12 +4397,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3341,12 +4419,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3361,6 +4439,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3459,12 +4542,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3473,6 +4556,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3571,12 +4659,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3675,15 +4768,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3692,6 +4785,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3772,9 +4870,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3805,10 +4903,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3846,13 +4945,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3889,6 +4989,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3978,9 +5079,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4010,7 +5111,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4042,6 +5143,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4325,12 +5427,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4340,8 +5442,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4377,8 +5479,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4414,6 +5516,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4469,7 +5576,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4477,8 +5584,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4519,6 +5626,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4535,7 +5647,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4546,8 +5658,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4583,8 +5695,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4620,6 +5732,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4631,12 +5748,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4646,8 +5763,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4683,8 +5800,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4719,6 +5836,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4730,12 +5852,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4745,8 +5867,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4782,8 +5904,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4818,6 +5940,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5027,11 +6154,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5083,7 +6210,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5097,11 +6224,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5127,11 +6254,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5157,7 +6284,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5181,7 +6308,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5253,11 +6380,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5369,7 +6496,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5432,7 +6559,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5481,11 +6608,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5557,11 +6684,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5742,8 +6869,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5781,13 +6928,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5824,6 +6972,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5913,9 +7062,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5945,7 +7094,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5977,6 +7126,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6025,7 +7175,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6055,7 +7205,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6309,14 +7459,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6326,7 +7476,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6336,145 +7486,132 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: domains: id: digitalocean.domains.domains name: domains title: Domains methods: - list: + domains_list: operation: $ref: '#/paths/~1v2~1domains/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_domains_response' objectKey: $.domains - _list: - operation: - $ref: '#/paths/~1v2~1domains/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + domains_create: operation: $ref: '#/paths/~1v2~1domains/post' response: mediaType: application/json openAPIDocKey: '201' - get: - operation: - $ref: '#/paths/~1v2~1domains~1{domain_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.domain - _get: + schemaRef: '#/components/responses/create_domain_response' + domains_get: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/existing_domain' + domains_delete: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/domains/methods/list' - - $ref: '#/components/x-stackQL-resources/domains/methods/get' + - $ref: '#/components/x-stackQL-resources/domains/methods/domains_get' + - $ref: '#/components/x-stackQL-resources/domains/methods/domains_list' insert: - - $ref: '#/components/x-stackQL-resources/domains/methods/create' + - $ref: '#/components/x-stackQL-resources/domains/methods/domains_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/domains/methods/delete' + - $ref: '#/components/x-stackQL-resources/domains/methods/domains_delete' records: id: digitalocean.domains.records name: records title: Records methods: - list_records: + domains_list_records: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}~1records/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_domain_records_response' objectKey: $.domain_records - _list_records: - operation: - $ref: '#/paths/~1v2~1domains~1{domain_name}~1records/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_record: + domains_create_record: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}~1records/post' response: mediaType: application/json openAPIDocKey: '201' - get_record: - operation: - $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.domain_record - _get_record: + schemaRef: '#/components/responses/created_domain_record' + domains_get_record: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/get' response: mediaType: application/json openAPIDocKey: '200' - patch_record: + schemaRef: '#/components/responses/domain_record' + domains_patch_record: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - update_record: + schemaRef: '#/components/responses/domain_record' + domains_update_record: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/put' response: mediaType: application/json openAPIDocKey: '200' - delete_record: + schemaRef: '#/components/responses/domain_record' + domains_delete_record: operation: $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/records/methods/list_records' - - $ref: '#/components/x-stackQL-resources/records/methods/get_record' + - $ref: '#/components/x-stackQL-resources/records/methods/domains_get_record' + - $ref: '#/components/x-stackQL-resources/records/methods/domains_list_records' insert: - - $ref: '#/components/x-stackQL-resources/records/methods/create_record' - update: [] + - $ref: '#/components/x-stackQL-resources/records/methods/domains_create_record' + update: + - $ref: '#/components/x-stackQL-resources/records/methods/domains_patch_record' + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/records/methods/delete_record' + - $ref: '#/components/x-stackQL-resources/records/methods/domains_delete_record' paths: /v2/domains: get: operationId: domains_list summary: List All Domains - description: 'To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`.' + description: To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. tags: - Domains parameters: @@ -6528,9 +7665,17 @@ paths: domains = client.domains.all domains.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.domains.list() security: - bearer_auth: - - read + - domain:read post: operationId: domains_create summary: Create a New Domain @@ -6601,14 +7746,26 @@ paths: ip_address: '1.2.3.4' ) client.domains.create(domain) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "example.com" + } + + resp = client.domains.create(body=req) security: - bearer_auth: - - write - '/v2/domains/{domain_name}': + - domain:create + /v2/domains/{domain_name}: get: operationId: domains_get summary: Retrieve an Existing Domain - description: 'To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`.' + description: To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. tags: - Domains parameters: @@ -6657,9 +7814,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.domains.find(name: 'example.com') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.domains.get(domain_name="example.com") security: - bearer_auth: - - read + - domain:read delete: operationId: domains_delete summary: Delete a Domain @@ -6713,17 +7878,24 @@ paths: client = DropletKit::Client.new(access_token: token) client.domains.delete(name: 'example.com') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + delete_resp = client.domains.delete(domain_name="example.com") security: - bearer_auth: - - write - '/v2/domains/{domain_name}/records': + - domain:delete + /v2/domains/{domain_name}/records: get: operationId: domains_list_records summary: List All Domain Records - description: |+ + description: | To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`. The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together. - tags: - Domain Records parameters: @@ -6782,19 +7954,25 @@ paths: records = client.domain_records.all(for_domain: 'example.com') records.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.domains.list_records(domain_name="example.com") security: - bearer_auth: - - read + - domain:read post: operationId: domains_create_record summary: Create a New Domain Record description: | To create a new record to a domain, send a POST request to `/v2/domains/$DOMAIN_NAME/records`. - The request must include all of the required fields for the domain record type being added. - See the [attribute table](#tag/Domain-Records) for details regarding record types and their respective required attributes. tags: @@ -6893,14 +8071,34 @@ paths: data: '162.10.66.0' ) client.domain_records.create(record, for_domain: 'example.com') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "type": "A", + "name": "www", + "data": "162.10.66.0", + "priority": None, + "port": None, + "ttl": 1800, + "weight": None, + "flags": None, + "tag": None + } + + resp = client.domains.create_record(domain_name="example.com", body=req) security: - bearer_auth: - - write - '/v2/domains/{domain_name}/records/{domain_record_id}': + - domain:create + /v2/domains/{domain_name}/records/{domain_record_id}: get: operationId: domains_get_record summary: Retrieve an Existing Domain Record - description: 'To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`.' + description: To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. tags: - Domain Records parameters: @@ -6950,9 +8148,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.domain_records.find(for_domain: 'example.com', id: 3352896) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + get_resp = client.domains.get_record(domain_name="example.com", domain_record_id=3352896) security: - bearer_auth: - - read + - domain:read patch: operationId: domains_patch_record summary: Update a Domain Record @@ -6960,7 +8166,6 @@ paths: To update an existing record, send a PATCH request to `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for the record type can be set to a new value for the record. - See the [attribute table](#tag/Domain-Records) for details regarding record types and their respective attributes. tags: @@ -6997,9 +8202,22 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name":"blog","type":"A"}' \ "https://api.digitalocean.com/v2/domains/example.com/records/3352896" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "blog", + "type": "A" + } + + resp = client.domains.patch_record(domain_name="example.com", domain_record_id=2432342, body=req) security: - bearer_auth: - - write + - domain:update put: operationId: domains_update_record summary: Update a Domain Record @@ -7007,7 +8225,6 @@ paths: To update an existing record, send a PUT request to `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for the record type can be set to a new value for the record. - See the [attribute table](#tag/Domain-Records) for details regarding record types and their respective attributes. tags: @@ -7074,16 +8291,28 @@ paths: record = DropletKit::DomainRecord.new(name: 'blog') client.domain_records.update(record, for_domain: 'example.com', id: 3352896) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "blog", + "type": "CNAME" + } + + resp = client.domains.update_record(domain_name="example.com", domain_record_id=2432342, body=req) security: - bearer_auth: - - write + - domain:update delete: operationId: domains_delete_record summary: Delete a Domain Record description: | To delete a record for a domain, send a DELETE request to `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. - The record will be deleted and the response status will be a 204. This indicates a successful request with no body returned. tags: @@ -7135,6 +8364,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.domain_records.delete(for_domain: 'example.com', id: 3352896) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "example.com" + } + + resp = client.domains.delete_record(domain_name="example.com", domain_record_id=3352896) security: - bearer_auth: - - write + - domain:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/droplets.yaml b/providers/src/digitalocean/v00.00.00000/services/droplets.yaml index 5b95682e..e306e2bc 100644 --- a/providers/src/digitalocean/v00.00.00000/services/droplets.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/droplets.yaml @@ -1,18 +1,25 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - droplets version: '2.0' - description: Droplets license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - droplets + description: |- + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean + virtual machine. By sending requests to the Droplet endpoint, you can + list, create, or delete Droplets. + Some of the attributes will have an object value. The `region` and `image` + objects will all contain the standard attributes of their associated + types. Find more information about each of these objects in their + respective sections. security: - bearer_auth: [] tags: @@ -20,52 +27,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +71,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +86,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +112,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +161,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +169,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +184,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +206,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +224,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +276,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +292,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +307,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +334,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +352,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,640 +387,41 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - droplet: + droplet_single_create: type: object properties: - id: - type: integer - example: 3164444 - description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. name: type: string + maxLength: 255 + pattern: ^[a-zA-Z0-9]?[a-z0-9A-Z.\-]*[a-z0-9A-Z]$ example: example.com - description: The human-readable name set for the Droplet instance. - memory: - type: integer - multipleOf: 8 - example: 1024 - description: Memory of the Droplet in megabytes. - vcpus: - type: integer - example: 1 - description: The number of virtual CPUs. - disk: - type: integer - example: 25 - description: The size of the Droplet's disk in gigabytes. - locked: - type: boolean - example: false - description: 'A boolean value indicating whether the Droplet has been locked, preventing actions by users.' - status: - type: string - enum: - - new - - active - - 'off' - - archive - example: active - description: 'A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive".' - kernel: - $ref: '#/components/schemas/kernel' - created_at: - type: string - format: date-time - example: '2020-07-21T18:37:44Z' - description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. - features: - type: array - items: - type: string - example: - - backups - - private_networking - - ipv6 - description: An array of features enabled on this Droplet. - backup_ids: - type: array - items: - type: integer - example: - - 53893572 - description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. - next_backup_window: - type: object - description: 'The details of the Droplet''s backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.' - nullable: true - properties: - start: - type: string - format: date-time - example: '2019-12-04T00:00:00Z' - description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. - end: - type: string - format: date-time - example: '2019-12-04T23:00:00Z' - description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. - snapshot_ids: - type: array - items: - type: integer - example: - - 67512819 - description: An array of snapshot IDs of any snapshots created from the Droplet instance. - image: - $ref: '#/components/schemas/image' - volume_ids: - type: array - items: - type: string - example: - - 506f78a4-e098-11e5-ad9f-000f53306ae1 - description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. - size: - $ref: '#/components/schemas/size' - size_slug: - type: string - example: s-1vcpu-1gb - description: The unique slug identifier for the size of this Droplet. - networks: - type: object - description: 'The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.' - properties: - v4: - type: array - items: - $ref: '#/components/schemas/network_v4' - v6: - type: array - items: - $ref: '#/components/schemas/network_v6' - region: - $ref: '#/components/schemas/region' - tags: - type: array - items: - type: string - example: - - web - - 'env:prod' - description: An array of Tags the Droplet has been tagged with. - vpc_uuid: - type: string - example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - description: A string specifying the UUID of the VPC to which the Droplet is assigned. - required: - - id - - name - - memory - - vcpus - - disk - - locked - - status - - created_at - - features - - backup_ids - - next_backup_window - - snapshot_ids - - image - - volume_ids - - size - - size_slug - - networks - - region - - tags - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - kernel: - type: object - description: | - **Note**: All Droplets created after March 2017 use internal kernels by default. - These Droplets will have this attribute set to `null`. - - The current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/) - for Droplets with externally managed kernels. This will initially be set to - the kernel of the base image when the Droplet is created. - nullable: true - deprecated: true - properties: - id: - type: integer - example: 7515 - description: A unique number used to identify and reference a specific kernel. - name: - type: string - example: DigitalOcean GrubLoader v0.2 (20160714) - description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. - version: - type: string - example: 2016.07.13-DigitalOcean_loader_Ubuntu - description: 'A standard kernel version string representing the version, patch, and release information.' - image: - type: object - properties: - id: - type: integer - description: A unique number that can be used to identify and reference a specific image. - example: 7555620 - readOnly: true - name: - $ref: '#/components/schemas/image_name' - type: - type: string - description: 'Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).' - enum: - - base - - snapshot - - backup - - custom - - admin - example: snapshot - distribution: - $ref: '#/components/schemas/distribution' - slug: - type: string - nullable: true - description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. - example: nifty1 - public: - type: boolean - description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. - example: true - regions: - $ref: '#/components/schemas/regions_array' - created_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the image was created. - example: '2020-05-04T22:23:02Z' - min_disk_size: - type: integer - description: The minimum disk size in GB required for a Droplet to use this image. - example: 20 - nullable: true - minimum: 0 - size_gigabytes: - type: number - format: float - nullable: true - description: The size of the image in gigabytes. - example: 2.34 - description: - $ref: '#/components/schemas/image_description' - tags: - $ref: '#/components/schemas/tags_array' - status: - type: string - description: |- - A status string indicating the state of a custom image. This may be `NEW`, - `available`, `pending`, `deleted`, or `retired`. - enum: - - NEW - - available - - pending - - deleted - - retired - example: NEW - error_message: - type: string - description: |- - A string containing information about errors that may occur when importing - a custom image. - example: ' ' - size: - type: object - properties: - slug: - type: string - example: s-1vcpu-1gb - description: A human-readable string that is used to uniquely identify each size. - memory: - type: integer - multipleOf: 8 - minimum: 8 - example: 1024 - description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. - vcpus: - type: integer - example: 1 - description: The integer of number CPUs allocated to Droplets of this size. - disk: - type: integer - example: 25 - description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. - transfer: - type: number - format: float - example: 1 - description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. - price_monthly: - type: number - format: float - example: 5 - description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. - price_hourly: - type: number - format: float - example: 0.00743999984115362 - description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. - regions: - type: array - items: - type: string - example: - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - description: An array containing the region slugs where this size is available for Droplet creates. - available: - type: boolean - default: true - example: true - description: This is a boolean value that represents whether new Droplets can be created with this size. - description: - type: string - example: Basic - description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' - required: - - available - - disk - - memory - - price_hourly - - price_monthly - - regions - - slug - - transfer - - vcpus - - description - network_v4: - type: object - properties: - ip_address: - type: string - format: ipv4 - example: 104.236.32.182 - description: The IP address of the IPv4 network interface. - netmask: - type: string - format: ipv4 - example: 255.255.192.0 - description: The netmask of the IPv4 network interface. - gateway: - type: string - example: 104.236.0.1 - description: | - The gateway of the specified IPv4 network interface. - - For private interfaces, a gateway is not provided. This is denoted by - returning `nil` as its value. - type: - type: string - enum: - - public - - private - example: public - description: The type of the IPv4 network interface. - network_v6: - type: object - properties: - ip_address: - type: string - format: ipv6 - example: '2604:a880:0:1010::18a:a001' - description: The IP address of the IPv6 network interface. - netmask: - type: integer - example: 64 - description: The netmask of the IPv6 network interface. - gateway: - type: string - format: ipv6 - example: '2604:a880:0:1010::1' - description: The gateway of the specified IPv6 network interface. - type: - type: string - enum: - - public - example: public - description: | - The type of the IPv6 network interface. - - **Note**: IPv6 private networking is not currently supported. - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - required: - - available - - features - - name - - sizes - - slug - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - image_name: - type: string - description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. - example: Nifty New Snapshot - distribution: - type: string - description: 'The name of a custom image''s distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place.' - enum: - - Arch Linux - - CentOS - - CoreOS - - Debian - - Fedora - - Fedora Atomic - - FreeBSD - - Gentoo - - openSUSE - - RancherOS - - Rocky Linux - - Ubuntu - - Unknown - example: Ubuntu - regions_array: - type: array - items: - $ref: '#/components/schemas/region_slug' - description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. - example: - - nyc1 - - nyc2 - image_description: - type: string - description: An optional free-form text field to describe an image. - example: ' ' - tags_array: - type: array - items: - type: string - nullable: true - description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. - example: - - base-image - - prod - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - droplet_single_create: - title: Single Droplet Request - allOf: - - type: object - properties: - name: - type: string - example: example.com - description: 'The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration.' - required: - - name - - $ref: '#/components/schemas/droplet_create' - droplet_multi_create: - title: Multiple Droplet Request - allOf: - - type: object - properties: - names: - type: array - items: - type: string - example: - - sub-01.example.com - - sub-02.example.com - description: 'An array of human human-readable strings you wish to use when displaying the Droplet name. Each name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. Each name set during creation will also determine the hostname for the Droplet in its internal configuration.' - required: - - names - - $ref: '#/components/schemas/droplet_create' - droplet_create: - type: object - properties: + description: The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration. region: type: string example: nyc3 - description: 'The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region''s locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region.' + description: The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. size: type: string example: s-1vcpu-1gb @@ -1125,7 +440,7 @@ components: - type: integer example: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 default: [] description: An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. backups: @@ -1133,6 +448,50 @@ components: example: true default: false description: A boolean indicating whether automated backups should be enabled for the Droplet. + backup_policy: + type: object + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + description: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily. ipv6: type: boolean example: true @@ -1149,7 +508,7 @@ components: type: string nullable: true example: - - 'env:prod' + - env:prod - web default: [] description: A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags. @@ -1159,13 +518,13 @@ components: #cloud-config runcmd: - touch /test.txt - description: 'A string containing ''user data'' which may be used to configure the Droplet on first boot, often a ''cloud-config'' file or Bash script. It must be plain text and may not exceed 64 KiB in size.' + description: A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. private_networking: type: boolean example: true default: false deprecated: true - description: 'This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account''s default VPC for the region.' + description: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. volumes: type: array items: @@ -1177,140 +536,180 @@ components: vpc_uuid: type: string example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - description: 'A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account''s default VPC for the region.' + description: A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region. with_droplet_agent: type: boolean example: true - description: 'A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`.' + description: A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. required: - size - image - action_link: + droplet_multi_create: type: object - description: The linked actions can be used to check the status of a Droplet's create event. properties: - id: - type: integer - example: 7515 - description: A unique numeric ID that can be used to identify and reference an action. - rel: + names: + type: array + items: + type: string + maxLength: 255 + pattern: ^[a-zA-Z0-9]?[a-z0-9A-Z.\-]*[a-z0-9A-Z]$ + example: + - sub-01.example.com + - sub-02.example.com + description: An array of human human-readable strings you wish to use when displaying the Droplet name. Each name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. Each name set during creation will also determine the hostname for the Droplet in its internal configuration. + region: type: string - example: create - description: A string specifying the type of the related action. - href: + example: nyc3 + description: The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. + size: type: string - format: uri - example: 'https://api.digitalocean.com/v2/actions/7515' - description: A URL that can be used to access the action. - droplet_snapshot: - allOf: - - type: object - properties: - id: - type: integer - example: 6372321 - description: The unique identifier for the snapshot or backup. - required: - - id - - $ref: '#/components/schemas/snapshots_base' - - type: object + example: s-1vcpu-1gb + description: The slug identifier for the size that you wish to select for this Droplet. + image: + oneOf: + - type: string + - type: integer + example: ubuntu-20-04-x64 + description: The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet. + ssh_keys: + type: array + items: + anyOf: + - type: string + - type: integer + example: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + default: [] + description: An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. + backups: + type: boolean + example: true + default: false + description: A boolean indicating whether automated backups should be enabled for the Droplet. + backup_policy: + type: object properties: - type: + plan: type: string enum: - - snapshot - - backup - example: snapshot - description: Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. - required: - - type - snapshots_base: - type: object - properties: - name: - type: string - example: web-01-1595954862243 - description: A human-readable name for the snapshot. - created_at: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + description: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily. + ipv6: + type: boolean + example: true + default: false + description: A boolean indicating whether to enable IPv6 on the Droplet. + monitoring: + type: boolean + example: true + default: false + description: A boolean indicating whether to install the DigitalOcean agent for monitoring. + tags: + type: array + items: + type: string + nullable: true + example: + - env:prod + - web + default: [] + description: A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags. + user_data: type: string - format: date-time - example: '2020-07-28T16:47:44Z' - description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. - regions: + example: | + #cloud-config + runcmd: + - touch /test.txt + description: A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. + private_networking: + type: boolean + example: true + default: false + deprecated: true + description: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + volumes: type: array items: type: string example: - - nyc3 - - sfo3 - description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. - min_disk_size: - type: integer - example: 25 - description: The minimum size in GB required for a volume or Droplet to use this snapshot. - size_gigabytes: - type: number - format: float - example: 2.34 - description: The billable size of the snapshot in gigabytes. + - 12e97116-7280-11ed-b3d0-0a58ac146812 + default: [] + description: An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region. + with_droplet_agent: + type: boolean + example: true + description: A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. required: - - name - - created_at - - regions - - min_disk_size - - size_gigabytes - action: + - size + - image + droplet_action: + required: + - type type: object + description: Specifies the action that will be taken on the Droplet. properties: - id: - type: integer - description: A unique numeric ID that can be used to identify and reference an action. - example: 36804636 - status: - type: string - description: 'The current status of the action. This can be "in-progress", "completed", or "errored".' - enum: - - in-progress - - completed - - errored - example: completed - default: in-progress type: type: string - description: 'This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.' - example: create - started_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. - example: '2020-11-14T16:29:21Z' - completed_at: - type: string - format: date-time - nullable: true - description: A time value given in ISO8601 combined date and time format that represents when the action was completed. - example: '2020-11-14T16:30:06Z' - resource_id: - type: integer - nullable: true - description: A unique identifier for the resource that the action is associated with. - example: 3164444 - resource_type: - type: string - description: The type of resource that the action is associated with. - example: droplet - region: - $ref: '#/components/schemas/region' - region_slug: - allOf: - - $ref: '#/components/schemas/slug' - - type: string - nullable: true - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - droplet_action: + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + droplet_action_enable_backups: required: - type type: object @@ -1336,229 +735,306 @@ components: - snapshot example: reboot description: The type of action to initiate for the Droplet. - droplet_action_restore: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - image: - type: integer - example: 12389723 - description: The ID of a backup of the current Droplet instance to restore from. - droplet_action_resize: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object + backup_policy: + type: object properties: - disk: - type: boolean - example: true - description: 'When `true`, the Droplet''s disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet''s disk size cannot be decreased.' - size: + plan: type: string - example: s-2vcpu-2gb - description: The slug identifier for the size to which you wish to resize the Droplet. - droplet_action_rebuild: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - image: - oneOf: - - type: string - - type: integer - example: ubuntu-20-04-x64 - description: The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base. - droplet_action_rename: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - name: + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: type: string - example: nifty-new-name - description: The new name for the Droplet. - droplet_action_change_kernel: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - kernel: + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: type: integer - example: 12389723 - description: A unique number used to identify and reference a specific kernel. - droplet_action_snapshot: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - name: - type: string - example: Nifty New Snapshot - description: The name to give the new snapshot of the Droplet. - firewall: - allOf: - - properties: - id: - type: string - description: A unique ID that can be used to identify and reference a firewall. readOnly: true - example: bb4b2611-3d72-467b-8602-280330ecd65c - status: + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + description: An object specifying the backup policy for the Droplet. If omitted, the backup plan will default to daily. + droplet_action_change_backup_policy: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + backup_policy: + type: object + properties: + plan: type: string - description: 'A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed".' enum: - - waiting - - succeeded - - failed - readOnly: true - example: waiting - created_at: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer readOnly: true - example: '2020-05-23T21:24:00Z' - pending_changes: - type: array - description: 'An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.' - items: - type: object - properties: - droplet_id: - type: integer - example: 8043964 - removing: - type: boolean - example: false - status: - type: string - example: waiting + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer readOnly: true - example: - - droplet_id: 8043964 - removing: false - status: waiting - name: - type: string - description: 'A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).' - pattern: '^[a-zA-Z0-9][a-zA-Z0-9\.-]+$' - example: firewall - droplet_ids: - type: array - description: An array containing the IDs of the Droplets assigned to the firewall. - nullable: true - items: - type: integer - example: - - 8043964 - tags: - allOf: - - $ref: '#/components/schemas/tags_array' - - description: An array containing the names of the Tags assigned to the firewall. - example: gateway - - $ref: '#/components/schemas/firewall_rules' - firewall_rules: + example: 7 + description: The number of days the backup will be retained. + description: An object specifying the backup policy for the Droplet. + droplet_action_restore: + required: + - type type: object + description: Specifies the action that will be taken on the Droplet. properties: - inbound_rules: - nullable: true - type: array - items: - allOf: - - $ref: '#/components/schemas/firewall_rule_base' - - properties: - sources: - allOf: - - $ref: '#/components/schemas/firewall_rule_target' - - description: An object specifying locations from which inbound traffic will be accepted. - required: - - sources - outbound_rules: - nullable: true - type: array - items: - allOf: - - $ref: '#/components/schemas/firewall_rule_base' - - properties: - destinations: - allOf: - - $ref: '#/components/schemas/firewall_rule_target' - - description: An object specifying locations to which outbound traffic that will be allowed. - required: - - destinations - firewall_rule_base: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + image: + type: integer + example: 12389723 + description: The ID of a backup of the current Droplet instance to restore from. + droplet_action_resize: + required: + - type type: object + description: Specifies the action that will be taken on the Droplet. properties: - protocol: + type: type: string enum: - - tcp - - udp - - icmp - description: 'The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.' - example: tcp - ports: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + disk: + type: boolean + example: true + description: When `true`, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased. + size: type: string - description: 'The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0".' - example: '8000' + example: s-2vcpu-2gb + description: The slug identifier for the size to which you wish to resize the Droplet. + droplet_action_rebuild: required: - - protocol - - ports - firewall_rule_target: + - type type: object + description: Specifies the action that will be taken on the Droplet. properties: - addresses: - type: array - items: - type: string - description: 'An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.' - example: - - 1.2.3.4 - - 18.0.0.0/8 - droplet_ids: - type: array - items: - type: integer - description: An array containing the IDs of the Droplets to which the firewall will allow traffic. - example: - - 8043964 - load_balancer_uids: - type: array - items: - type: string - description: An array containing the IDs of the load balancers to which the firewall will allow traffic. - example: - - 4de7ac8b-495b-4884-9a69-1050c6793cd6 - kubernetes_ids: - type: array - items: - type: string - description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. - example: - - 41b74c5d-9bd0-5555-5555-a57c495b81a3 - tags: - allOf: - - $ref: '#/components/schemas/tags_array' - - description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. - example: - - frontend - associated_resource: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + image: + oneOf: + - type: string + - type: integer + example: ubuntu-20-04-x64 + description: The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base. + droplet_action_rename: + required: + - type type: object - description: An objects containing information about a resource associated with a Droplet. + description: Specifies the action that will be taken on the Droplet. properties: - id: + type: type: string - example: '61486916' - description: The unique identifier for the resource associated with the Droplet. + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. name: type: string - example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 - description: The name of the resource associated with the Droplet. - cost: + example: nifty-new-name + description: The new name for the Droplet. + droplet_action_change_kernel: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: type: string - example: '0.05' - description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + kernel: + type: integer + example: 12389723 + description: A unique number used to identify and reference a specific kernel. + droplet_action_snapshot: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + name: + type: string + example: Nifty New Snapshot + description: The name to give the new snapshot of the Droplet. selective_destroy_associated_resource: type: object description: An object containing information about a resource to be scheduled for deletion. @@ -1599,82 +1075,6 @@ components: type: string example: - edb0478d-7436-11ea-86e6-0a58ac144b91 - associated_resource_status: - type: object - description: An objects containing information about a resources scheduled for deletion. - properties: - droplet: - $ref: '#/components/schemas/destroyed_associated_resource' - resources: - type: object - description: An object containing additional information about resource related to a Droplet requested to be destroyed. - properties: - reserved_ips: - type: array - items: - $ref: '#/components/schemas/destroyed_associated_resource' - floating_ips: - type: array - items: - $ref: '#/components/schemas/destroyed_associated_resource' - snapshots: - type: array - items: - $ref: '#/components/schemas/destroyed_associated_resource' - volumes: - type: array - items: - $ref: '#/components/schemas/destroyed_associated_resource' - volume_snapshots: - type: array - items: - $ref: '#/components/schemas/destroyed_associated_resource' - completed_at: - type: string - format: date-time - example: '2020-04-01T18:11:49Z' - description: A time value given in ISO8601 combined date and time format indicating when the requested action was completed. - failures: - type: integer - example: 0 - description: 'A count of the associated resources that failed to be destroyed, if any.' - destroyed_associated_resource: - type: object - description: An object containing information about a resource scheduled for deletion. - properties: - id: - type: string - example: '61486916' - description: The unique identifier for the resource scheduled for deletion. - name: - type: string - example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 - description: The name of the resource scheduled for deletion. - destroyed_at: - type: string - format: date-time - example: '2020-04-01T18:11:49Z' - description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. - error_message: - type: string - example: ' ' - description: A string indicating that the resource was not successfully destroyed and providing additional information. - neighbor_ids: - type: object - properties: - neighbor_ids: - type: array - items: - type: array - items: - type: integer - description: An array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server. - example: - - - 168671828 - - 168663509 - - 168671815 - - - 168671883 - - 168671750 parameters: oneClicks_type: in: query @@ -1715,8 +1115,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1735,7 +1141,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1745,7 +1151,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1778,7 +1184,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1798,6 +1204,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1808,6 +1215,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1825,14 +1233,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1840,7 +1240,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1859,6 +1259,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1915,23 +1324,47 @@ components: name: username description: The name of the database user. required: true - example: app-01 + example: app-01 + schema: + type: string + database_name: + in: path + name: database_name + description: The name of the database. + required: true + example: alpha + schema: + type: string + pool_name: + in: path + name: pool_name + description: The name used to identify the connection pool. + required: true + example: backend-pool + schema: + type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events schema: type: string - database_name: + logsink_id: in: path - name: database_name - description: The name of the database. + name: logsink_id + description: A unique identifier for a logsink of a database cluster required: true - example: alpha + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 schema: type: string - pool_name: + opensearch_index_name: in: path - name: pool_name - description: The name used to identify the connection pool. + name: index_name + description: The name of the OpenSearch index. required: true - example: backend-pool + example: logs-* schema: type: string domain_name: @@ -1944,7 +1377,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1977,11 +1410,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1990,6 +1423,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1997,7 +1441,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -2099,7 +1543,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -2206,7 +1650,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -2214,11 +1658,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -2233,7 +1727,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -2243,7 +1737,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -2277,7 +1771,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -2297,7 +1791,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -2344,12 +1838,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -2363,8 +1857,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -2392,6 +1912,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -2415,41 +1944,1411 @@ components: description: A JSON object with a key of `droplets`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + droplets: + type: array + items: + type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + links: + type: object properties: - droplets: - type: array - items: - $ref: '#/components/schemas/droplet' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: All Droplets: - $ref: '#/components/examples/droplets_all' + value: + droplets: + - id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + - id: 3164459 + name: assets.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:42:27Z' + features: + - private_networking + backup_ids: [] + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.138 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 162.243.0.4 + netmask: 255.255.255.0 + gateway: 162.243.0.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - storage + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + - id: 3164412 + name: stage.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:32:55Z' + features: + - private_networking + backup_ids: [] + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: + - 7724db7c-e098-11e5-b522-000f53304e51 + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.125 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.247.248 + netmask: 255.255.255.0 + gateway: 192.241.247.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - env:stage + vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + links: + pages: {} + meta: + total: 3 Droplets Filtered By Tag: - $ref: '#/components/examples/droplets_tagged' + value: + droplets: + - id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + - id: 3164459 + name: assets.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:42:27Z' + features: + - private_networking + backup_ids: [] + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.138 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 162.243.0.4 + netmask: 255.255.255.0 + gateway: 162.243.0.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - storage + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + links: + pages: {} + meta: + total: 2 + GPU Droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -2457,15 +3356,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -2473,15 +3397,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -2489,15 +3438,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -2505,11 +3479,20 @@ components: description: Accepted headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2517,143 +3500,2882 @@ components: - title: Single Droplet Response properties: droplet: - $ref: '#/components/schemas/droplet' + type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + links: + type: object + properties: + actions: + type: array + items: + type: object + description: The linked actions can be used to check the status of a Droplet's create event. + properties: + id: + type: integer + example: 7515 + description: A unique numeric ID that can be used to identify and reference an action. + rel: + type: string + example: create + description: A string specifying the type of the related action. + href: + type: string + format: uri + example: https://api.digitalocean.com/v2/actions/7515 + description: A URL that can be used to access the action. + required: + - droplet + - links + - title: Multiple Droplet Response + properties: + droplets: + type: array + items: + type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags links: type: object properties: - actions: + actions: + type: array + items: + type: object + description: The linked actions can be used to check the status of a Droplet's create event. + properties: + id: + type: integer + example: 7515 + description: A unique numeric ID that can be used to identify and reference an action. + rel: + type: string + example: create + description: A string specifying the type of the related action. + href: + type: string + format: uri + example: https://api.digitalocean.com/v2/actions/7515 + description: A URL that can be used to access the action. + required: + - droplets + - links + examples: + Single Droplet Create Response: + value: + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: [] + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + links: + actions: + - id: 7515 + rel: create + href: https://api.digitalocean.com/v2/actions/7515 + Multiple Droplet Create Response: + value: + droplets: + - id: 3164444 + name: sub-01.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: [] + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + - id: 3164445 + name: sub-02.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: [] + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + links: + actions: + - id: 7515 + rel: create + href: https://api.digitalocean.com/v2/actions/7515 + - id: 7516 + rel: create + href: https://api.digitalocean.com/v2/actions/7516 + no_content_with_content_type: + description: The action was successful and the response body is empty. This response has content-type set. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content-type: + description: 'The type of data that is returned from a request. ' + schema: + type: string + example: application/json; charset=utf-8 + not_found: + description: The resource was not found. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: not_found + message: The resource you requested could not be found. + existing_droplet: + description: | + The response will be a JSON object with a key called `droplet`. This will be + set to a JSON object that contains the standard Droplet attributes. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + droplet: + type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: type: array items: - $ref: '#/components/schemas/action_link' - required: - - droplet - - links - - title: Multiple Droplet Response - properties: - droplets: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: type: array items: - $ref: '#/components/schemas/droplet' - links: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. properties: - actions: - type: array - items: - $ref: '#/components/schemas/action_link' + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib required: - - droplets - - links + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags examples: - Single Droplet Create Response: - $ref: '#/components/examples/droplet_create_response' - Multiple Droplet Create Response: - $ref: '#/components/examples/droplet_multi_create_response' - no_content_with_content_type: - description: The action was successful and the response body is empty. This response has content-type set. - headers: - ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' - ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' - ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' - content-type: - $ref: '#/components/headers/content-type' - not_found: - description: The resource was not found. + Single Droplet: + value: + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + all_droplet_backups: + description: A JSON object with an `backups` key. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + backups: + type: array + items: + type: object + properties: + id: + type: integer + example: 6372321 + description: The unique identifier for the snapshot or backup. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + type: + type: string + enum: + - snapshot + - backup + example: snapshot + description: Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. + required: + - type + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: - id: not_found - message: The resource you requested could not be found. - existing_droplet: + backups: + - id: 67539192 + name: web-01- 2020-07-29 + distribution: Ubuntu + slug: null + public: false + regions: + - nyc3 + created_at: '2020-07-29T01:44:35Z' + min_disk_size: 50 + size_gigabytes: 2.34 + type: backup + links: {} + meta: + total: 1 + droplet_backup_policy: description: | - The response will be a JSON object with a key called `droplet`. This will be - set to a JSON object that contains the standard Droplet attributes. + The response will be a JSON object with a key called `policy`. This will be + set to a JSON object that contains the standard Droplet backup policy attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: - droplet: - $ref: '#/components/schemas/droplet' - examples: - Single Droplet: - $ref: '#/components/examples/droplet_single' - all_droplet_backups: - description: A JSON object with an `backups` key. + policy: + type: object + properties: + droplet_id: + type: integer + example: 7101383 + description: The unique identifier for the Droplet. + backup_enabled: + type: boolean + example: true + description: A boolean value indicating whether backups are enabled for the Droplet. + backup_policy: + type: object + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + description: An object specifying the backup policy for the Droplet. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: An object containing keys with the start and end times of the window during which the backup will occur. + example: + policy: + droplet_id: 444909706 + backup_enabled: true + backup_policy: + plan: weekly + weekday: SUN + hour: 20 + window_length_hours: 4 + retention_period_days: 28 + next_backup_window: + start: '2024-09-15T20:00:00Z' + end: '2024-09-16T00:00:00Z' + all_droplet_backup_policies: + description: A JSON object with a `policies` key set to a map. The keys are Droplet IDs and the values are objects containing the backup policy information for each Droplet. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + policies: + description: | + A map where the keys are the Droplet IDs and the values are + objects containing the backup policy information for each Droplet. + additionalProperties: + type: object + properties: + droplet_id: + type: integer + example: 7101383 + description: The unique identifier for the Droplet. + backup_enabled: + type: boolean + example: true + description: A boolean value indicating whether backups are enabled for the Droplet. + backup_policy: + type: object + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + description: An object specifying the backup policy for the Droplet. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: An object containing keys with the start and end times of the window during which the backup will occur. + links: + type: object properties: - backups: - type: array - items: - $ref: '#/components/schemas/droplet_snapshot' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: - backups: - - id: 67539192 - name: web-01- 2020-07-29 - distribution: Ubuntu - slug: null - public: false - regions: - - nyc3 - created_at: '2020-07-29T01:44:35Z' - min_disk_size: 50 - size_gigabytes: 2.34 - type: backup + policies: + '436444618': + droplet_id: 436444618 + backup_enabled: false + '444909314': + droplet_id: 444909314 + backup_enabled: true + backup_policy: + plan: daily + hour: 20 + window_length_hours: 4 + retention_period_days: 7 + next_backup_window: + start: '2024-09-13T20:00:00Z' + end: '2024-09-14T00:00:00Z' + '444909706': + droplet_id: 444909706 + backup_enabled: true + backup_policy: + plan: weekly + weekday: SUN + hour: 20 + window_length_hours: 4 + retention_period_days: 28 + next_backup_window: + start: '2024-09-15T20:00:00Z' + end: '2024-09-16T00:00:00Z' links: {} meta: - total: 1 + total: 3 + droplets_supported_backup_policies: + description: A JSON object with an `supported_policies` key set to an array of objects describing each supported backup policy. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + supported_policies: + type: array + items: + type: object + properties: + name: + type: string + example: daily + description: The name of the Droplet backup plan. + possible_window_starts: + type: array + items: + type: integer + description: | + An array of integers representing the hours of the day that a backup can + start. + example: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + window_length_hours: + type: integer + example: 4 + description: The number of hours that a backup window is open. + retention_period_days: + type: integer + example: 7 + description: The number of days that a backup will be kept. + possible_days: + type: array + items: + type: string + example: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + description: The day of the week the backup will occur. + example: + supported_policies: + - name: weekly + possible_window_starts: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + window_length_hours: 4 + retention_period_days: 28 + possible_days": + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + - name: daily + possible_window_starts: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + window_length_hours: 4 + retention_period_days: 7 + possible_days: [] all_droplet_snapshots: description: A JSON object with an `snapshots` key. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + snapshots: + type: array + items: + type: object + properties: + id: + type: integer + example: 6372321 + description: The unique identifier for the snapshot or backup. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + type: + type: string + enum: + - snapshot + - backup + example: snapshot + description: Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. + required: + - type + links: + type: object properties: - snapshots: - type: array - items: - $ref: '#/components/schemas/droplet_snapshot' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: snapshots: - id: 6372321 @@ -2672,23 +6394,166 @@ components: description: A JSON object with an `actions` key. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + actions: + type: array + items: + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + links: + type: object properties: - actions: - type: array - items: - $ref: '#/components/schemas/action' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: actions: - id: 982864273 @@ -2729,26 +6594,139 @@ components: description: The response will be a JSON object with a key called `action`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: action: - $ref: '#/components/schemas/action' + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 droplet_actions_response: description: The response will be a JSON object with a key called `actions`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2756,43 +6734,311 @@ components: actions: type: array items: - $ref: '#/components/schemas/action' + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 action: description: The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: action: - $ref: '#/components/schemas/action' + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 all_kernels: description: A JSON object that has a key called `kernels`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + kernels: + type: array + items: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + links: + type: object properties: - kernels: - type: array - items: - $ref: '#/components/schemas/kernel' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: kernels: - id: 7515 @@ -2800,31 +7046,265 @@ components: version: 2016.07.13-DigitalOcean_loader_Ubuntu links: pages: - next: 'https://api.digitalocean.com/v2/droplets/3164444/kernels?page=2&per_page=1' - last: 'https://api.digitalocean.com/v2/droplets/3164444/kernels?page=171&per_page=1' + next: https://api.digitalocean.com/v2/droplets/3164444/kernels?page=2&per_page=1 + last: https://api.digitalocean.com/v2/droplets/3164444/kernels?page=171&per_page=1 meta: total: 171 all_firewalls: description: A JSON object that has a key called `firewalls`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + firewalls: + type: array + items: + properties: + id: + type: string + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: + type: string + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of the Tags assigned to the firewall. + example: gateway + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources + outbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations + type: object + links: + type: object properties: - firewalls: - type: array - items: - $ref: '#/components/schemas/firewall' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: firewalls: - id: bb4b2611-3d72-467b-8602-280330ecd65c @@ -2879,56 +7359,690 @@ components: description: A JSON object with an `droplets` key. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - droplets: - type: array - items: - $ref: '#/components/schemas/droplet' + type: object + properties: + droplets: + type: array + items: + type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags associated_resources_list: - description: 'A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys.' + description: A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - reserved_ips: - type: array - items: - $ref: '#/components/schemas/associated_resource' - floating_ips: - type: array - items: - $ref: '#/components/schemas/associated_resource' - snapshots: - type: array - items: - $ref: '#/components/schemas/associated_resource' - volumes: - type: array - items: - $ref: '#/components/schemas/associated_resource' - volume_snapshots: - type: array - items: - $ref: '#/components/schemas/associated_resource' + type: object + properties: + reserved_ips: + type: array + items: + type: object + description: An objects containing information about a resource associated with a Droplet. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource associated with the Droplet. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource associated with the Droplet. + cost: + type: string + example: '0.05' + description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. + floating_ips: + type: array + items: + type: object + description: An objects containing information about a resource associated with a Droplet. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource associated with the Droplet. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource associated with the Droplet. + cost: + type: string + example: '0.05' + description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. + snapshots: + type: array + items: + type: object + description: An objects containing information about a resource associated with a Droplet. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource associated with the Droplet. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource associated with the Droplet. + cost: + type: string + example: '0.05' + description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. + volumes: + type: array + items: + type: object + description: An objects containing information about a resource associated with a Droplet. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource associated with the Droplet. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource associated with the Droplet. + cost: + type: string + example: '0.05' + description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. + volume_snapshots: + type: array + items: + type: object + description: An objects containing information about a resource associated with a Droplet. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource associated with the Droplet. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource associated with the Droplet. + cost: + type: string + example: '0.05' + description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. example: reserved_ips: - id: '6186916' @@ -2951,27 +8065,196 @@ components: name: volume-nyc1-01-1585758983629 cost: '0.04' accepted: - description: 'The does not indicate the success or failure of any operation, just that the request has been accepted for processing.' + description: The does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. associated_resources_status: description: A JSON object containing containing the status of a request to destroy a Droplet and its associated resources. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/associated_resource_status' + type: object + description: An objects containing information about a resources scheduled for deletion. + properties: + droplet: + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. + resources: + type: object + description: An object containing additional information about resource related to a Droplet requested to be destroyed. + properties: + reserved_ips: + type: array + items: + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. + floating_ips: + type: array + items: + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. + snapshots: + type: array + items: + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. + volumes: + type: array + items: + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. + volume_snapshots: + type: array + items: + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. + completed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the requested action was completed. + failures: + type: integer + example: 0 + description: A count of the associated resources that failed to be destroyed, if any. example: droplet: id: '187000742' @@ -3001,15 +8284,40 @@ components: description: Conflict headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: conflict message: The request could not be completed due to a conflict. @@ -3017,54 +8325,86 @@ components: description: A JSON object with an `neighbor_ids` key. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/neighbor_ids' + type: object + properties: + neighbor_ids: + type: array + items: + type: array + items: + type: integer + description: An array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server. + example: + - - 168671828 + - 168663509 + - 168671815 + - - 168671883 + - 168671750 securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -3079,11 +8419,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3093,7 +8433,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -3103,11 +8443,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3132,11 +8472,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3180,7 +8520,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -3189,7 +8529,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -3263,6 +8603,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -3281,7 +8628,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3291,7 +8638,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -3305,7 +8652,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3377,7 +8724,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -3385,11 +8732,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -3408,7 +8755,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -3483,12 +8830,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -3502,7 +8856,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -3571,7 +8925,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -3623,133 +8977,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -3817,14 +9197,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -4001,6 +9380,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4081,9 +9465,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4114,13 +9498,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4227,13 +9616,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4339,7 +9733,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -4353,6 +9747,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4433,9 +9832,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4466,13 +9865,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4579,12 +9983,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -4593,12 +10133,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -4615,12 +10155,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -4635,6 +10175,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4733,12 +10278,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -4747,6 +10292,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4845,12 +10395,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4949,15 +10504,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -4966,6 +10521,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -5046,9 +10606,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5079,10 +10639,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -5120,13 +10681,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -5163,6 +10725,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -5252,9 +10815,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5284,7 +10847,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5316,6 +10879,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -5599,12 +11163,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5614,8 +11178,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5651,8 +11215,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5688,6 +11252,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -5743,7 +11312,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -5751,8 +11320,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5793,6 +11362,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -5809,7 +11383,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5820,8 +11394,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5857,8 +11431,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5894,6 +11468,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -5905,12 +11484,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5920,8 +11499,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5957,8 +11536,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5993,6 +11572,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -6004,12 +11588,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -6019,8 +11603,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -6056,8 +11640,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -6092,6 +11676,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -6301,11 +11890,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -6357,7 +11946,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -6371,11 +11960,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -6401,11 +11990,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -6431,7 +12020,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -6455,7 +12044,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -6527,11 +12116,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -6643,7 +12232,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6706,7 +12295,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6755,11 +12344,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -6831,11 +12420,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -7016,8 +12605,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -7055,13 +12664,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -7098,6 +12708,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -7187,9 +12798,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -7219,7 +12830,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -7251,6 +12862,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -7299,7 +12911,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -7329,7 +12941,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -7583,14 +13195,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -7600,7 +13212,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -7610,286 +13222,343 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: droplets: id: digitalocean.droplets.droplets name: droplets title: Droplets methods: - list: + droplets_list: operation: $ref: '#/paths/~1v2~1droplets/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_droplets' objectKey: $.droplets - _list: - operation: - $ref: '#/paths/~1v2~1droplets/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + droplets_create: operation: $ref: '#/paths/~1v2~1droplets/post' response: mediaType: application/json openAPIDocKey: '202' - destroy_byTag: + schemaRef: '#/components/responses/droplet_create' + droplets_destroy_by_tag: operation: $ref: '#/paths/~1v2~1droplets/delete' response: mediaType: application/json openAPIDocKey: '204' - get: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.droplet - _get: + schemaRef: '#/components/responses/no_content_with_content_type' + droplets_get: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}/get' response: mediaType: application/json openAPIDocKey: '200' - destroy: + schemaRef: '#/components/responses/existing_droplet' + droplets_destroy: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - list_associatedResources: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources/get' - response: - mediaType: application/json - openAPIDocKey: '200' - destroy_withAssociatedResourcesSelective: + schemaRef: '#/components/responses/no_content_with_content_type' + droplets_destroy_with_associated_resources_selective: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1selective/delete' response: mediaType: application/json openAPIDocKey: '202' - destroy_withAssociatedResourcesDangerous: + schemaRef: '#/components/responses/accepted' + droplets_destroy_with_associated_resources_dangerous: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1dangerous/delete' response: mediaType: application/json openAPIDocKey: '202' - get_DestroyAssociatedResourcesStatus: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1status/get' - response: - mediaType: application/json - openAPIDocKey: '200' - destroy_retryWithAssociatedResources: + schemaRef: '#/components/responses/accepted' + droplets_destroy_retry_with_associated_resources: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1retry/post' response: mediaType: application/json openAPIDocKey: '202' - list_neighborsIds: - operation: - $ref: '#/paths/~1v2~1reports~1droplet_neighbors_ids/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/accepted' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplets/methods/list' - - $ref: '#/components/x-stackQL-resources/droplets/methods/get' + - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_get' + - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_list' insert: - - $ref: '#/components/x-stackQL-resources/droplets/methods/create' + - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_create' update: [] - delete: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_destroy' + - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_destroy_by_tag' backups: id: digitalocean.droplets.backups name: backups title: Backups methods: - list_backups: + droplets_list_backups: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1backups/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_droplet_backups' objectKey: $.backups - _list_backups: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/backups/methods/droplets_list_backups' + insert: [] + update: [] + replace: [] + delete: [] + backups_policies: + id: digitalocean.droplets.backups_policies + name: backups_policies + title: Backups Policies + methods: + droplets_get_backup_policy: operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1backups/get' + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1backups~1policy/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/droplet_backup_policy' + droplets_list_backup_policies: + operation: + $ref: '#/paths/~1v2~1droplets~1backups~1policies/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/all_droplet_backup_policies' + objectKey: $.policies + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/backups_policies/methods/droplets_get_backup_policy' + - $ref: '#/components/x-stackQL-resources/backups_policies/methods/droplets_list_backup_policies' + insert: [] + update: [] + replace: [] + delete: [] + backups_supported_policies: + id: digitalocean.droplets.backups_supported_policies + name: backups_supported_policies + title: Backups Supported Policies + methods: + droplets_list_supported_backup_policies: + operation: + $ref: '#/paths/~1v2~1droplets~1backups~1supported_policies/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/droplets_supported_backup_policies' + objectKey: $.supported_policies sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/backups/methods/list_backups' + - $ref: '#/components/x-stackQL-resources/backups_supported_policies/methods/droplets_list_supported_backup_policies' insert: [] update: [] + replace: [] delete: [] snapshots: id: digitalocean.droplets.snapshots name: snapshots title: Snapshots methods: - list_snapshots: + droplets_list_snapshots: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1snapshots/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_droplet_snapshots' objectKey: $.snapshots - _list_snapshots: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1snapshots/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/snapshots/methods/list_snapshots' + - $ref: '#/components/x-stackQL-resources/snapshots/methods/droplets_list_snapshots' insert: [] update: [] + replace: [] delete: [] actions: id: digitalocean.droplets.actions name: actions title: Actions methods: - dropletActions_list: + droplet_actions_list: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1actions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_droplet_actions' objectKey: $.actions - _dropletActions_list: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1actions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - dropletActions_post: + droplet_actions_post: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1actions/post' response: mediaType: application/json openAPIDocKey: '201' - dropletActions_post_byTag: + schemaRef: '#/components/responses/droplet_action' + droplet_actions_post_by_tag: operation: $ref: '#/paths/~1v2~1droplets~1actions/post' response: mediaType: application/json openAPIDocKey: '201' - dropletActions_get: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1actions~1{action_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.action - _dropletActions_get: + schemaRef: '#/components/responses/droplet_actions_response' + droplet_actions_get: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/action' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/actions/methods/dropletActions_list' - - $ref: '#/components/x-stackQL-resources/actions/methods/dropletActions_get' - insert: - - $ref: '#/components/x-stackQL-resources/actions/methods/dropletActions_post' + - $ref: '#/components/x-stackQL-resources/actions/methods/droplet_actions_get' + - $ref: '#/components/x-stackQL-resources/actions/methods/droplet_actions_list' + insert: [] update: [] + replace: [] delete: [] kernels: id: digitalocean.droplets.kernels name: kernels title: Kernels methods: - list_kernels: + droplets_list_kernels: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1kernels/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_kernels' objectKey: $.kernels - _list_kernels: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1kernels/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/kernels/methods/list_kernels' + - $ref: '#/components/x-stackQL-resources/kernels/methods/droplets_list_kernels' insert: [] update: [] + replace: [] delete: [] firewalls: id: digitalocean.droplets.firewalls name: firewalls title: Firewalls methods: - list_firewalls: + droplets_list_firewalls: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1firewalls/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_firewalls' objectKey: $.firewalls - _list_firewalls: - operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1firewalls/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/firewalls/methods/list_firewalls' + - $ref: '#/components/x-stackQL-resources/firewalls/methods/droplets_list_firewalls' insert: [] update: [] + replace: [] delete: [] neighbors: id: digitalocean.droplets.neighbors name: neighbors title: Neighbors methods: - list_neighbors: + droplets_list_neighbors: operation: $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1neighbors/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/neighbor_droplets' objectKey: $.droplets - _list_neighbors: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/neighbors/methods/droplets_list_neighbors' + insert: [] + update: [] + replace: [] + delete: [] + droplets_associated_resources: + id: digitalocean.droplets.droplets_associated_resources + name: droplets_associated_resources + title: Droplets Associated Resources + methods: + droplets_list_associated_resources: operation: - $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1neighbors/get' + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/associated_resources_list' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/droplets_associated_resources/methods/droplets_list_associated_resources' + insert: [] + update: [] + replace: [] + delete: [] + droplets_associated_resources_delete_status: + id: digitalocean.droplets.droplets_associated_resources_delete_status + name: droplets_associated_resources_delete_status + title: Droplets Associated Resources Delete Status + methods: + droplets_get_destroy_associated_resources_status: + operation: + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/associated_resources_status' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/droplets_associated_resources_delete_status/methods/droplets_get_destroy_associated_resources_status' + insert: [] + update: [] + replace: [] + delete: [] + reports_droplet_neighbors_ids: + id: digitalocean.droplets.reports_droplet_neighbors_ids + name: reports_droplet_neighbors_ids + title: Reports Droplet Neighbors Ids + methods: + droplets_list_neighbors_ids: + operation: + $ref: '#/paths/~1v2~1reports~1droplet_neighbors_ids/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/droplet_neighbors_ids' + objectKey: $.neighbor_ids sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/neighbors/methods/list_neighbors' + - $ref: '#/components/x-stackQL-resources/reports_droplet_neighbors_ids/methods/droplets_list_neighbors_ids' insert: [] update: [] + replace: [] delete: [] paths: /v2/droplets: @@ -7898,17 +13567,17 @@ paths: summary: List All Droplets description: | To list all Droplets in your account, send a GET request to `/v2/droplets`. - The response body will be a JSON object with a key of `droplets`. This will be set to an array containing objects each representing a Droplet. These will contain the standard Droplet attributes. - ### Filtering Results by Tag - It's possible to request filtered results by including certain query parameters. To only list Droplets assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/droplets?tag_name=$TAG_NAME`. + ### GPU Droplets + By default, only non-GPU Droplets are returned. To list only GPU Droplets, set + the `type` query parameter to `gpus`. For example, `/v2/droplets?type=gpus`. tags: - Droplets parameters: @@ -7916,6 +13585,7 @@ paths: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/droplet_tag_name' - $ref: '#/components/parameters/droplet_name' + - $ref: '#/components/parameters/droplet_type' responses: '200': $ref: '#/components/responses/all_droplets' @@ -7964,16 +13634,23 @@ paths: droplets = client.droplets.all droplets.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list() security: - bearer_auth: - - read + - droplet:read post: operationId: droplets_create summary: Create a New Droplet description: | To create a new Droplet, send a POST request to `/v2/droplets` setting the required attributes. - A Droplet will be created using the provided information. The response body will contain a JSON object with a key called `droplet`. The value will be an object containing the standard attributes for your new Droplet. The response @@ -7981,14 +13658,11 @@ paths: just that the request has been accepted for processing. The `actions` returned as part of the response's `links` object can be used to check the status of the Droplet create event. - ### Create Multiple Droplets - Creating multiple Droplets is very similar to creating a single Droplet. Instead of sending `name` as a string, send `names` as an array of strings. A Droplet will be created for each name you send using the associated information. Up to ten Droplets may be created this way at a time. - Rather than returning a single Droplet, the response body will contain a JSON array with a key called `droplets`. This will be set to an array of JSON objects, each of which will contain the standard Droplet attributes. The @@ -8082,9 +13756,37 @@ paths: vpc_uuid: "760e09ef-dc84-11e8-981e-3cfdfeaae000", ) client.droplets.create(droplet) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "example.com", + "region": "nyc3", + "size": "s-1vcpu-1gb", + "image": "ubuntu-20-04-x64", + "ssh_keys": [ + 289794, + "3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45" + ], + "backups": True, + "ipv6": True, + "monitoring": True, + "tags": [ + "env:prod", + "web" + ], + "user_data": "#cloud-config\nruncmd:\n - touch /test.txt\n", + "vpc_uuid": "760e09ef-dc84-11e8-981e-3cfdfeaae000" + } + + resp = client.droplets.create(body=req) security: - bearer_auth: - - write + - droplet:create delete: operationId: droplets_destroy_byTag summary: Deleting Droplets by Tag @@ -8092,7 +13794,6 @@ paths: To delete **all** Droplets assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your DELETE request. For example, `/v2/droplets?tag_name=$TAG_NAME`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -8143,10 +13844,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.droplets.delete_for_tag(tag_name: awesome) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.destroy_by_tag(tag_name="production") security: - bearer_auth: - - write - '/v2/droplets/{droplet_id}': + - droplet:delete + /v2/droplets/{droplet_id}: get: operationId: droplets_get summary: Retrieve an Existing Droplet @@ -8201,15 +13910,22 @@ paths: client = DropletKit::Client.new(access_token: token) client.droplets.find(id: 3164494) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.get(droplet_id=594828) security: - bearer_auth: - - read + - droplet:read delete: operationId: droplets_destroy summary: Delete an Existing Droplet description: | To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -8260,17 +13976,24 @@ paths: client = DropletKit::Client.new(access_token: token) client.droplets.delete(id: 3164494) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.destroy(droplet_id=553456) security: - bearer_auth: - - write - '/v2/droplets/{droplet_id}/backups': + - droplet:delete + /v2/droplets/{droplet_id}/backups: get: operationId: droplets_list_backups summary: List Backups for a Droplet description: | To retrieve any backups associated with a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/backups`. - You will get back a JSON object that has a `backups` key. This will be set to an array of backup objects, each of which contain the standard Droplet backup attributes. @@ -8330,17 +14053,122 @@ paths: backups = client.droplets.backups(id: 3164494) backups.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list_backups(droplet_id=594828) + security: + - bearer_auth: + - droplet:read + /v2/droplets/{droplet_id}/backups/policy: + get: + operationId: droplets_get_backup_policy + summary: Retrieve the Backup Policy for an Existing Droplet + description: | + To show information about an individual Droplet's backup policy, send a GET + request to `/v2/droplets/$DROPLET_ID/backups/policy`. + tags: + - Droplets + parameters: + - $ref: '#/components/parameters/droplet_id' + responses: + '200': + $ref: '#/components/responses/droplet_backup_policy' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/droplets/3164494/backups/policy" + security: + - bearer_auth: + - droplet:read + /v2/droplets/backups/policies: + get: + operationId: droplets_list_backup_policies + summary: List Backup Policies for All Existing Droplets + description: | + To list information about the backup policies for all Droplets in the account, + send a GET request to `/v2/droplets/backups/policies`. + tags: + - Droplets + parameters: + - $ref: '#/components/parameters/per_page' + - $ref: '#/components/parameters/page' + responses: + '200': + $ref: '#/components/responses/all_droplet_backup_policies' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/droplets/backups/policies" + security: + - bearer_auth: + - droplet:read + /v2/droplets/backups/supported_policies: + get: + operationId: droplets_list_supported_backup_policies + summary: List Supported Droplet Backup Policies + description: | + To retrieve a list of all supported Droplet backup policies, send a GET + request to `/v2/droplets/backups/supported_policies`. + tags: + - Droplets + responses: + '200': + $ref: '#/components/responses/droplets_supported_backup_policies' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/droplets/backups/supported_policies" security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/snapshots': + - droplet:read + /v2/droplets/{droplet_id}/snapshots: get: operationId: droplets_list_snapshots summary: List Snapshots for a Droplet description: | To retrieve the snapshots that have been created from a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/snapshots`. - You will get back a JSON object that has a `snapshots` key. This will be set to an array of snapshot objects, each of which contain the standard Droplet snapshot attributes. @@ -8400,17 +14228,24 @@ paths: snapshots = client.droplets.snapshots(id: 3164494) snapshots.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list_snapshots(droplet_id=3929391) security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/actions': + - droplet:read + /v2/droplets/{droplet_id}/actions: get: operationId: dropletActions_list summary: List Actions for a Droplet description: | To retrieve a list of all actions that have been executed for a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/actions`. - The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with `action` objects containing the standard `action` attributes. @@ -8470,9 +14305,22 @@ paths: actions = client.droplets.actions(id: 3164494) actions.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "blog", + "type": "CNAME" + } + + resp = client.droplet_actions.list(droplet_id=3164494) security: - bearer_auth: - - read + - droplet:read post: operationId: dropletActions_post summary: Initiate a Droplet Action @@ -8480,24 +14328,24 @@ paths: To initiate an action on a Droplet send a POST request to `/v2/droplets/$DROPLET_ID/actions`. In the JSON body to the request, set the `type` attribute to on of the supported action types: - | Action | Details | | ---------------------------------------- | ----------- | - | `enable_backups` | Enables backups for a Droplet | - | `disable_backups` | Disables backups for a Droplet | - | `reboot` | Reboots a Droplet. A `reboot` action is an attempt to reboot the Droplet in a graceful way, similar to using the `reboot` command from the console. | - | `power_cycle` | Power cycles a Droplet. A `powercycle` action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | - | `shutdown` | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the `shutdown` command from the console. Since a `shutdown` command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a `power_off` action to ensure the Droplet is off. | - | `power_off` | Powers off a Droplet. A `power_off` event is a hard shutdown and should only be used if the `shutdown` action is not successful. It is similar to cutting the power on a server and could lead to complications. | - | `power_on` | Powers on a Droplet. | - | `restore` | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | - | `password_reset` | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | - | `resize` | Resizes a Droplet. Set the `size` attribute to a size slug. If a permanent resize with disk changes included is desired, set the `disk` attribute to `true`. | - | `rebuild` | Rebuilds a Droplet from a new base image. Set the `image` attribute to an image ID or slug. | - | `rename` | Renames a Droplet. | - | `change_kernel` | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | - | `enable_ipv6` | Enables IPv6 for a Droplet. | - | `snapshot` | Takes a snapshot of a Droplet. | + | `enable_backups` | Enables backups for a Droplet | + | `disable_backups` | Disables backups for a Droplet | + | `change_backup_policy` | Update the backup policy for a Droplet | + | `reboot` | Reboots a Droplet. A `reboot` action is an attempt to reboot the Droplet in a graceful way, similar to using the `reboot` command from the console. | + | `power_cycle` | Power cycles a Droplet. A `powercycle` action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | + | `shutdown` | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the `shutdown` command from the console. Since a `shutdown` command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a `power_off` action to ensure the Droplet is off. | + | `power_off` | Powers off a Droplet. A `power_off` event is a hard shutdown and should only be used if the `shutdown` action is not successful. It is similar to cutting the power on a server and could lead to complications. | + | `power_on` | Powers on a Droplet. | + | `restore` | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | + | `password_reset` | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | + | `resize` | Resizes a Droplet. Set the `size` attribute to a size slug. If a permanent resize with disk changes included is desired, set the `disk` attribute to `true`. | + | `rebuild` | Rebuilds a Droplet from a new base image. Set the `image` attribute to an image ID or slug. | + | `rename` | Renames a Droplet. | + | `change_kernel` | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | + | `enable_ipv6` | Enables IPv6 for a Droplet. Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on an existing Droplet, [additional OS-level configuration](https://docs.digitalocean.com/products/networking/ipv6/how-to/enable/#on-existing-droplets) is required. | + | `snapshot` | Takes a snapshot of a Droplet. | tags: - Droplet Actions parameters: @@ -8512,6 +14360,8 @@ paths: schema: anyOf: - $ref: '#/components/schemas/droplet_action' + - $ref: '#/components/schemas/droplet_action_enable_backups' + - $ref: '#/components/schemas/droplet_action_change_backup_policy' - $ref: '#/components/schemas/droplet_action_restore' - $ref: '#/components/schemas/droplet_action_resize' - $ref: '#/components/schemas/droplet_action_rebuild' @@ -8521,8 +14371,9 @@ paths: discriminator: propertyName: type mapping: - enable_backups: '#/components/schemas/droplet_action' + enable_backups: '#/components/schemas/droplet_action_enable_backups' disable_backups: '#/components/schemas/droplet_action' + change_backup_policy: '#/components/schemas/droplet_action_change_backup_policy' reboot: '#/components/schemas/droplet_action' power_cycle: '#/components/schemas/droplet_action' shutdown: '#/components/schemas/droplet_action' @@ -8795,9 +14646,22 @@ paths: # Snapshot a Droplet # client.droplet_actions.snapshot(droplet_id: 3164450, name: 'Nifty New Snapshot') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + # enable back ups example + req = { + "type": "enable_backups" + } + + resp = client.droplet_actions.post(droplet_id=346652, body=req) security: - bearer_auth: - - write + - droplet:update /v2/droplets/actions: post: operationId: dropletActions_post_byTag @@ -8806,9 +14670,7 @@ paths: Some actions can be performed in bulk on tagged Droplets. The actions can be initiated by sending a POST to `/v2/droplets/actions?tag_name=$TAG_NAME` with the action arguments. - Only a sub-set of action types are supported: - - `power_cycle` - `power_on` - `power_off` @@ -8886,17 +14748,28 @@ paths: client = DropletKit::Client.new(access_token: token) client.droplet_actions.power_off_for_tag(tag: 'awesome') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "type": "enable_backups" + } + + resp = client.droplet_actions.post_by_tag(tag_name="production",body=req) security: - bearer_auth: - - write - '/v2/droplets/{droplet_id}/actions/{action_id}': + - droplet:update + /v2/droplets/{droplet_id}/actions/{action_id}: get: operationId: dropletActions_get summary: Retrieve a Droplet Action description: | To retrieve a Droplet action, send a GET request to `/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`. - The response will be a JSON object with a key called `action`. The value will be a Droplet action object. tags: @@ -8948,17 +14821,24 @@ paths: client = DropletKit::Client.new(access_token: token) client.droplet_actions.find(droplet_id: 3164444, id: 36804807) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplet_actions.get(droplet_id=3934132, action_id=2432342) security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/kernels': + - droplet:read + /v2/droplets/{droplet_id}/kernels: get: operationId: droplets_list_kernels summary: List All Available Kernels for a Droplet description: | To retrieve a list of all kernels available to a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/kernels` - The response will be a JSON object that has a key called `kernels`. This will be set to an array of `kernel` objects, each of which contain the standard `kernel` attributes. @@ -9018,17 +14898,24 @@ paths: kernels = client.droplets.kernels(id: 3164494) kernels.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list_kernels(droplet_id=594828) security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/firewalls': + - droplet:read + /v2/droplets/{droplet_id}/firewalls: get: operationId: droplets_list_firewalls summary: List all Firewalls Applied to a Droplet description: | To retrieve a list of all firewalls available to a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/firewalls` - The response will be a JSON object that has a key called `firewalls`. This will be set to an array of `firewall` objects, each of which contain the standard `firewall` attributes. @@ -9053,8 +14940,8 @@ paths: $ref: '#/components/responses/unexpected_error' security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/neighbors': + - firewall:read + /v2/droplets/{droplet_id}/neighbors: get: operationId: droplets_list_neighbors summary: List Neighbors for a Droplet @@ -9062,7 +14949,6 @@ paths: To retrieve a list of any "neighbors" (i.e. Droplets that are co-located on the same physical hardware) for a specific Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/neighbors`. - The results will be returned as a JSON object with a key of `droplets`. This will be set to an array containing objects representing any other Droplets that share the same physical hardware. An empty array indicates that the @@ -9091,10 +14977,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164494/neighbors" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list_neighbors(droplet_id=594828) security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/destroy_with_associated_resources': + - droplet:read + /v2/droplets/{droplet_id}/destroy_with_associated_resources: get: operationId: droplets_list_associatedResources summary: List Associated Resources for a Droplet @@ -9102,7 +14996,6 @@ paths: To list the associated billable resources that can be destroyed along with a Droplet, send a GET request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources` endpoint. - The response will be a JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys. Each will be set to an array of objects containing information about the associated resources. @@ -9130,10 +15023,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list_associated_resources(droplet_id=594828) security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective': + - droplet:delete + /v2/droplets/{droplet_id}/destroy_with_associated_resources/selective: delete: operationId: droplets_destroy_withAssociatedResourcesSelective summary: Selectively Destroy a Droplet and its Associated Resources @@ -9145,7 +15046,6 @@ paths: resources to be destroyed. The IDs can be found by querying the Droplet's associated resources. Any associated resource not included in the request will remain and continue to accrue changes on your account. - A successful response will include a 202 response code and no content. Use the status endpoint to check on the success or failure of the destruction of the individual resources. @@ -9179,10 +15079,18 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"reserved_ips":["6186916"],"snapshots": ["61486916"],"volumes": ["ba49449a-7435-11ea-b89e-0a58ac14480f"],"volume_snapshots": ["edb0478d-7436-11ea-86e6-0a58ac144b91"]}' \ "https://api.digitalocean.com/v2/droplets/187000742/destroy_with_associated_resources/selective" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.destroy_with_associated_resources_selective(droplet_id=524512) security: - bearer_auth: - - write - '/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous': + - droplet:delete + /v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous: delete: operationId: droplets_destroy_withAssociatedResourcesDangerous summary: Destroy a Droplet and All of its Associated Resources (Dangerous) @@ -9193,7 +15101,6 @@ paths: `true`. To preview which resources will be destroyed, first query the Droplet's associated resources. This operation _can not_ be reverse and should be used with caution. - A successful response will include a 202 response code and no content. Use the status endpoint to check on the success or failure of the destruction of the individual resources. @@ -9221,10 +15128,18 @@ paths: curl -X DELETE -H "X-Dangerous: true" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/187000742/destroy_with_associated_resources/dangerous" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.destroy_with_associated_resources_dangerous(droplet_id=524512) security: - bearer_auth: - - write - '/v2/droplets/{droplet_id}/destroy_with_associated_resources/status': + - droplet:delete + /v2/droplets/{droplet_id}/destroy_with_associated_resources/status: get: operationId: droplets_get_DestroyAssociatedResourcesStatus summary: Check Status of a Droplet Destroy with Associated Resources Request @@ -9256,10 +15171,18 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources/status" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.get_destroy_associated_resources_status(droplet_id=5624512) security: - bearer_auth: - - read - '/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry': + - droplet:delete + /v2/droplets/{droplet_id}/destroy_with_associated_resources/retry: post: operationId: droplets_destroy_retryWithAssociatedResources summary: Retry a Droplet Destroy with Associated Resources Request @@ -9267,7 +15190,6 @@ paths: If the status of a request to destroy a Droplet with its associated resources reported any errors, it can be retried by sending a POST request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` endpoint. - Only one destroy can be active at a time per Droplet. If a retry is issued while another destroy is in progress for the Droplet a 409 status code will be returned. A successful response will include a 202 response code and no @@ -9298,9 +15220,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources/retry" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.destroy_retry_with_associated_resources(droplet_id=524512) security: - bearer_auth: - - write + - droplet:delete /v2/reports/droplet_neighbors_ids: get: operationId: droplets_list_neighborsIds @@ -9308,7 +15238,6 @@ paths: description: | To retrieve a list of all Droplets that are co-located on the same physical hardware, send a GET request to `/v2/reports/droplet_neighbors_ids`. - The results will be returned as a JSON object with a key of `neighbor_ids`. This will be set to an array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server. An empty array @@ -9336,6 +15265,14 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/reports/droplet_neighbors_ids" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.droplets.list_neighbors_ids() security: - bearer_auth: - - read + - droplet:read diff --git a/providers/src/digitalocean/v00.00.00000/services/firewalls.yaml b/providers/src/digitalocean/v00.00.00000/services/firewalls.yaml index 7a6a826d..c152be3a 100644 --- a/providers/src/digitalocean/v00.00.00000/services/firewalls.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/firewalls.yaml @@ -1,18 +1,23 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - firewalls version: '2.0' - description: Firewalls license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - firewalls + description: |- + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) + provide the ability to restrict network access to and from a Droplet + allowing you to define which ports will accept inbound or outbound + connections. By sending requests to the `/v2/firewalls` endpoint, you can + list, create, or delete firewalls as well as modify access rules. security: - bearer_auth: [] tags: @@ -20,52 +25,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +69,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +84,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +110,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +159,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +167,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +182,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +204,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +222,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +274,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +290,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +305,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +332,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +350,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,148 +385,216 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 firewall: - allOf: - - properties: - id: - type: string - description: A unique ID that can be used to identify and reference a firewall. - readOnly: true - example: bb4b2611-3d72-467b-8602-280330ecd65c - status: - type: string - description: 'A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed".' - enum: - - waiting - - succeeded - - failed - readOnly: true - example: waiting - created_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. - readOnly: true - example: '2020-05-23T21:24:00Z' - pending_changes: - type: array - description: 'An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.' - items: - type: object - properties: - droplet_id: - type: integer - example: 8043964 - removing: - type: boolean - example: false - status: - type: string - example: waiting - readOnly: true - example: - - droplet_id: 8043964 - removing: false - status: waiting - name: - type: string - description: 'A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).' - pattern: '^[a-zA-Z0-9][a-zA-Z0-9\.-]+$' - example: firewall - droplet_ids: - type: array - description: An array containing the IDs of the Droplets assigned to the firewall. - nullable: true - items: - type: integer - example: - - 8043964 - tags: - allOf: - - $ref: '#/components/schemas/tags_array' - - description: An array containing the names of the Tags assigned to the firewall. - example: gateway - - $ref: '#/components/schemas/firewall_rules' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object properties: id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of the Tags assigned to the firewall. + example: gateway + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources + outbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations + type: object tags_array: type: array items: @@ -631,140 +611,126 @@ components: nullable: true type: array items: - allOf: - - $ref: '#/components/schemas/firewall_rule_base' - - properties: - sources: - allOf: - - $ref: '#/components/schemas/firewall_rule_target' - - description: An object specifying locations from which inbound traffic will be accepted. - required: - - sources + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources outbound_rules: nullable: true type: array items: - allOf: - - $ref: '#/components/schemas/firewall_rule_base' - - properties: - destinations: - allOf: - - $ref: '#/components/schemas/firewall_rule_target' - - description: An object specifying locations to which outbound traffic that will be allowed. - required: - - destinations - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - firewall_rule_base: - type: object - properties: - protocol: - type: string - enum: - - tcp - - udp - - icmp - description: 'The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.' - example: tcp - ports: - type: string - description: 'The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0".' - example: '8000' - required: - - protocol - - ports - firewall_rule_target: - type: object - properties: - addresses: - type: array - items: - type: string - description: 'An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.' - example: - - 1.2.3.4 - - 18.0.0.0/8 - droplet_ids: - type: array - items: - type: integer - description: An array containing the IDs of the Droplets to which the firewall will allow traffic. - example: - - 8043964 - load_balancer_uids: - type: array - items: - type: string - description: An array containing the IDs of the load balancers to which the firewall will allow traffic. - example: - - 4de7ac8b-495b-4884-9a69-1050c6793cd6 - kubernetes_ids: - type: array - items: - type: string - description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. - example: - - 41b74c5d-9bd0-5555-5555-a57c495b81a3 - tags: - allOf: - - $ref: '#/components/schemas/tags_array' - - description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. - example: - - frontend - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations parameters: oneClicks_type: in: query @@ -805,8 +771,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -825,7 +797,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -835,7 +807,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -868,7 +840,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -888,6 +860,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -898,6 +871,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -915,14 +889,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -930,7 +896,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -949,6 +915,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1024,6 +999,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1034,7 +1033,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1067,11 +1066,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1080,6 +1079,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1087,7 +1097,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1189,7 +1199,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1296,7 +1306,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1304,11 +1314,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1323,7 +1383,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1333,7 +1393,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1367,7 +1427,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1387,7 +1447,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1434,12 +1494,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1453,8 +1513,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1482,6 +1568,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1502,26 +1597,260 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: list_firewalls_response: - description: 'To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.' + description: To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + firewalls: + type: array + items: + properties: + id: + type: string + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: + type: string + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of the Tags assigned to the firewall. + example: gateway + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources + outbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations + type: object + links: + type: object properties: - firewalls: - type: array - items: - $ref: '#/components/schemas/firewall' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: firewalls: - id: fb6045f1-cf1d-4ca3-bfac-18832663025b @@ -1559,15 +1888,40 @@ components: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1575,15 +1929,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1591,15 +1970,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1607,15 +2011,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1623,17 +2052,212 @@ components: description: The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: firewall: - $ref: '#/components/schemas/firewall' + properties: + id: + type: string + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: + type: string + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of the Tags assigned to the firewall. + example: gateway + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources + outbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations + type: object example: firewall: id: bb4b2611-3d72-467b-8602-280330ecd65c @@ -1671,15 +2295,40 @@ components: description: Bad Request headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: bad_request message: error parsing request body @@ -1688,17 +2337,212 @@ components: description: The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: firewall: - $ref: '#/components/schemas/firewall' + properties: + id: + type: string + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: + type: string + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of the Tags assigned to the firewall. + example: gateway + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources + outbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations + type: object example: firewall: id: bb4b2611-3d72-467b-8602-280330ecd65c @@ -1733,15 +2577,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1749,17 +2618,212 @@ components: description: The response will be a JSON object with a `firewall` key. This will be set to an object containing the standard firewall attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: firewall: - $ref: '#/components/schemas/firewall' + properties: + id: + type: string + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: + type: string + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of the Tags assigned to the firewall. + example: gateway + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations from which inbound traffic will be accepted. + required: + - sources + outbound_rules: + nullable: true + type: array + items: + type: object + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic. + example: + - frontend + properties: {} + description: An object specifying locations to which outbound traffic that will be allowed. + required: + - destinations + type: object example: firewall: id: bb4b2611-3d72-467b-8602-280330ecd65c @@ -1798,50 +2862,68 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1856,11 +2938,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1870,7 +2952,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1880,11 +2962,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1909,11 +2991,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1957,7 +3039,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1966,7 +3048,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2040,6 +3122,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2058,7 +3147,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2068,7 +3157,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2082,7 +3171,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2154,7 +3243,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2162,11 +3251,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2185,7 +3274,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2260,12 +3349,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2279,7 +3375,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2348,7 +3444,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2400,133 +3496,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2594,14 +3716,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2778,6 +3899,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2858,9 +3984,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2891,13 +4017,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3004,13 +4135,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3116,7 +4252,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3130,6 +4266,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3210,9 +4351,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3243,13 +4384,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3356,12 +4502,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3370,12 +4652,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3392,12 +4674,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3412,6 +4694,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3510,12 +4797,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3524,6 +4811,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3622,12 +4914,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3726,15 +5023,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3743,6 +5040,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3823,9 +5125,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3856,10 +5158,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3897,13 +5200,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3940,6 +5244,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4029,9 +5334,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4061,7 +5366,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4093,6 +5398,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4376,12 +5682,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4391,8 +5697,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4428,8 +5734,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4465,6 +5771,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4520,7 +5831,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4528,8 +5839,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4570,6 +5881,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4586,7 +5902,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4597,8 +5913,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4634,8 +5950,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4671,6 +5987,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4682,12 +6003,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4697,8 +6018,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4734,8 +6055,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4770,6 +6091,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4781,12 +6107,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4796,8 +6122,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4833,8 +6159,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4869,6 +6195,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5078,11 +6409,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5134,7 +6465,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5148,11 +6479,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5178,11 +6509,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5208,7 +6539,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5232,7 +6563,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5304,11 +6635,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5420,7 +6751,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5483,7 +6814,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5532,11 +6863,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5608,11 +6939,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5793,8 +7124,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5832,13 +7183,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5875,6 +7227,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5964,9 +7317,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5996,7 +7349,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6028,6 +7381,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6076,7 +7430,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6106,7 +7460,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6360,14 +7714,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6377,7 +7731,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6387,158 +7741,160 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: firewalls: id: digitalocean.firewalls.firewalls name: firewalls title: Firewalls methods: - list: + firewalls_list: operation: $ref: '#/paths/~1v2~1firewalls/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_firewalls_response' objectKey: $.firewalls - _list: - operation: - $ref: '#/paths/~1v2~1firewalls/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + firewalls_create: operation: $ref: '#/paths/~1v2~1firewalls/post' response: mediaType: application/json openAPIDocKey: '202' - get: - operation: - $ref: '#/paths/~1v2~1firewalls~1{firewall_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.firewall - _get: + schemaRef: '#/components/responses/create_firewall_response' + firewalls_get: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update: + schemaRef: '#/components/responses/get_firewall_response' + firewalls_update: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}/put' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/put_firewall_response' + firewalls_delete: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/firewalls/methods/list' - - $ref: '#/components/x-stackQL-resources/firewalls/methods/get' + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_get' + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_list' insert: - - $ref: '#/components/x-stackQL-resources/firewalls/methods/create' + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/firewalls/methods/delete' + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_delete' droplets: id: digitalocean.firewalls.droplets name: droplets title: Droplets methods: - assign_droplets: + firewalls_assign_droplets: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}~1droplets/post' response: mediaType: application/json openAPIDocKey: '204' - delete_droplets: + schemaRef: '#/components/responses/no_content' + firewalls_delete_droplets: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}~1droplets/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] insert: [] update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/droplets/methods/delete_droplets' + - $ref: '#/components/x-stackQL-resources/droplets/methods/firewalls_delete_droplets' tags: id: digitalocean.firewalls.tags name: tags title: Tags methods: - add_tags: + firewalls_add_tags: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}~1tags/post' response: mediaType: application/json openAPIDocKey: '204' - delete_tags: + schemaRef: '#/components/responses/no_content' + firewalls_delete_tags: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}~1tags/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] insert: - - $ref: '#/components/x-stackQL-resources/tags/methods/add_tags' + - $ref: '#/components/x-stackQL-resources/tags/methods/firewalls_add_tags' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/tags/methods/delete_tags' + - $ref: '#/components/x-stackQL-resources/tags/methods/firewalls_delete_tags' rules: id: digitalocean.firewalls.rules name: rules title: Rules methods: - add_rules: + firewalls_add_rules: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}~1rules/post' response: mediaType: application/json openAPIDocKey: '204' - delete_rules: + schemaRef: '#/components/responses/no_content' + firewalls_delete_rules: operation: $ref: '#/paths/~1v2~1firewalls~1{firewall_id}~1rules/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] insert: - - $ref: '#/components/x-stackQL-resources/rules/methods/add_rules' + - $ref: '#/components/x-stackQL-resources/rules/methods/firewalls_add_rules' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/rules/methods/delete_rules' + - $ref: '#/components/x-stackQL-resources/rules/methods/firewalls_delete_rules' paths: /v2/firewalls: get: operationId: firewalls_list summary: List All Firewalls - description: 'To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.' + description: To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. tags: - Firewalls parameters: @@ -6592,9 +7948,17 @@ paths: firewalls = client.firewalls.all firewalls.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.firewalls.list() security: - bearer_auth: - - read + - firewall:read post: operationId: firewalls_create summary: Create a New Firewall @@ -6607,17 +7971,17 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/firewall' - - required: - - name - - anyOf: - - title: Inbound Rules - required: - - inbound_rules - - title: Outbound Rules - required: - - outbound_rules + $ref: '#/components/schemas/firewall' + properties: {} + required: + - name + anyOf: + - title: Inbound Rules + required: + - inbound_rules + - title: Outbound Rules + required: + - outbound_rules example: name: firewall inbound_rules: @@ -6749,14 +8113,64 @@ paths: ) client.firewalls.create(firewall) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "firewall", + "inbound_rules": [ + { + "protocol": "tcp", + "ports": "80", + "sources": { + "load_balancer_uids": [ + "4de7ac8b-495b-4884-9a69-1050c6793cd6" + ] + } + }, + { + "protocol": "tcp", + "ports": "22", + "sources": { + "tags": [ + "gateway" + ], + "addresses": [ + "18.0.0.0/8" + ] + } + } + ], + "outbound_rules": [ + { + "protocol": "tcp", + "ports": "80", + "destinations": { + "addresses": [ + "0.0.0.0/0", + "::/0" + ] + } + } + ], + "droplet_ids": [ + 8043964 + ] + } + + resp = client.firewalls.create(body=req) security: - bearer_auth: - - write - '/v2/firewalls/{firewall_id}': + - firewall:create + /v2/firewalls/{firewall_id}: get: operationId: firewalls_get summary: Retrieve an Existing Firewall - description: 'To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`.' + description: To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. tags: - Firewalls parameters: @@ -6805,9 +8219,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.firewalls.find(id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.firewalls.get(firewall_id= "as9di9d") security: - bearer_auth: - - read + - firewall:read put: operationId: firewalls_update summary: Update a Firewall @@ -6824,17 +8246,15 @@ paths: content: application/json: schema: - required: - - name - allOf: - - $ref: '#/components/schemas/firewall' - - anyOf: - - title: Inbound Rules - required: - - inbound_rules - - title: Outbound Rules - required: - - outbound_rules + $ref: '#/components/schemas/firewall' + properties: {} + anyOf: + - title: Inbound Rules + required: + - inbound_rules + - title: Outbound Rules + required: + - outbound_rules example: name: frontend-firewall inbound_rules: @@ -6972,15 +8392,67 @@ paths: ) client.firewalls.update(firewall, id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "frontend-firewall", + "inbound_rules": [ + { + "protocol": "tcp", + "ports": "8080", + "sources": { + "load_balancer_uids": [ + "4de7ac8b-495b-4884-9a69-1050c6793cd6" + ] + } + }, + { + "protocol": "tcp", + "ports": "22", + "sources": { + "tags": [ + "gateway" + ], + "addresses": [ + "18.0.0.0/8" + ] + } + } + ], + "outbound_rules": [ + { + "protocol": "tcp", + "ports": "8080", + "destinations": { + "addresses": [ + "0.0.0.0/0", + "::/0" + ] + } + } + ], + "droplet_ids": [ + 8043964 + ], + "tags": [ + "frontend" + ] + } + + resp = client.firewalls.update(firewall_id="3afda9", body=req) security: - bearer_auth: - - write + - firewall:update delete: operationId: firewalls_delete summary: Delete a Firewall description: | To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7032,10 +8504,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.firewalls.delete(id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.firewalls.delete(firewall_id= "as9di9d") security: - bearer_auth: - - write - '/v2/firewalls/{firewall_id}/droplets': + - firewall:delete + /v2/firewalls/{firewall_id}/droplets: post: operationId: firewalls_assign_droplets summary: Add Droplets to a Firewall @@ -7043,7 +8523,6 @@ paths: To assign a Droplet to a firewall, send a POST request to `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there should be a `droplet_ids` attribute containing a list of Droplet IDs. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7115,9 +8594,23 @@ paths: client = DropletKit::Client.new(access_token: token) client.firewalls.add_droplets([49696269], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "droplet_ids": [ + 49696269 + ] + } + + resp = client.firewalls.assign_droplets(firewall_id="39fa4gz", body=req) security: - bearer_auth: - - write + - firewall:update delete: operationId: firewalls_delete_droplets summary: Remove Droplets from a Firewall @@ -7125,7 +8618,6 @@ paths: To remove a Droplet from a firewall, send a DELETE request to `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there should be a `droplet_ids` attribute containing a list of Droplet IDs. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7197,10 +8689,24 @@ paths: client = DropletKit::Client.new(access_token: token) client.firewalls.remove_droplets([49696269], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "droplet_ids": [ + 49696269 + ] + } + + resp = client.firewalls.delete_droplets(firewall_id="39fa4gz", body=req) security: - bearer_auth: - - write - '/v2/firewalls/{firewall_id}/tags': + - firewall:update + /v2/firewalls/{firewall_id}/tags: post: operationId: firewalls_add_tags summary: Add Tags to a Firewall @@ -7208,7 +8714,6 @@ paths: To assign a tag representing a group of Droplets to a firewall, send a POST request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the request, there should be a `tags` attribute containing a list of tag names. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7222,9 +8727,9 @@ paths: schema: properties: tags: - allOf: - - $ref: '#/components/schemas/tags_array' - - description: An array containing the names of the Tags to be assigned to the firewall. + $ref: '#/components/schemas/tags_array' + properties: {} + description: An array containing the names of the Tags to be assigned to the firewall. required: - tags example: @@ -7277,9 +8782,23 @@ paths: client = DropletKit::Client.new(access_token: token) client.firewalls.add_tags(['frontend'], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "tags": [ + "frontend" + ] + } + + resp = client.firewalls.add_tags(firewall_id="39fa4gz", body=req) security: - bearer_auth: - - write + - firewall:update delete: operationId: firewalls_delete_tags summary: Remove Tags from a Firewall @@ -7287,7 +8806,6 @@ paths: To remove a tag representing a group of Droplets from a firewall, send a DELETE request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the request, there should be a `tags` attribute containing a list of tag names. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7301,9 +8819,9 @@ paths: schema: properties: tags: - allOf: - - $ref: '#/components/schemas/tags_array' - - description: An array containing the names of the Tags to be removed from the firewall. + $ref: '#/components/schemas/tags_array' + properties: {} + description: An array containing the names of the Tags to be removed from the firewall. required: - tags example: @@ -7356,10 +8874,24 @@ paths: client = DropletKit::Client.new(access_token: token) client.firewalls.remove_tags(['frontend'], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "tags": [ + "frontend" + ] + } + + resp = client.firewalls.delete_tags(firewall_id="39fa4gz", body=req) security: - bearer_auth: - - write - '/v2/firewalls/{firewall_id}/rules': + - firewall:update + /v2/firewalls/{firewall_id}/rules: post: operationId: firewalls_add_rules summary: Add Rules to a Firewall @@ -7368,7 +8900,6 @@ paths: `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an inbound_rules and/or outbound_rules attribute containing an array of rules to be added. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7380,15 +8911,15 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/firewall_rules' - - anyOf: - - title: Inbound Rules - required: - - inbound_rules - - title: Outbound Rules - required: - - outbound_rules + $ref: '#/components/schemas/firewall_rules' + properties: {} + anyOf: + - title: Inbound Rules + required: + - inbound_rules + - title: Outbound Rules + required: + - outbound_rules example: inbound_rules: - protocol: tcp @@ -7486,9 +9017,42 @@ paths: ) client.firewalls.add_rules(inbound_rules: [inbound_rule], outbound_rules: [outbound_rule], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "inbound_rules": [ + { + "protocol": "tcp", + "ports": "3306", + "sources": { + "droplet_ids": [ + 49696269 + ] + } + } + ], + "outbound_rules": [ + { + "protocol": "tcp", + "ports": "3306", + "destinations": { + "droplet_ids": [ + 49696269 + ] + } + } + ] + } + + resp = client.firewalls.add_rules(firewall_id="39fa4gz", body=req) security: - bearer_auth: - - write + - firewall:update delete: operationId: firewalls_delete_rules summary: Remove Rules from a Firewall @@ -7497,7 +9061,6 @@ paths: `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an `inbound_rules` and/or `outbound_rules` attribute containing an array of rules to be removed. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7509,15 +9072,15 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/firewall_rules' - - anyOf: - - title: Inbound Rules - required: - - inbound_rules - - title: Outbound Rules - required: - - outbound_rules + $ref: '#/components/schemas/firewall_rules' + properties: {} + anyOf: + - title: Inbound Rules + required: + - inbound_rules + - title: Outbound Rules + required: + - outbound_rules example: inbound_rules: - protocol: tcp @@ -7616,6 +9179,39 @@ paths: ) client.firewalls.remove_rules(inbound_rules: [inbound_rule], outbound_rules: [outbound_rule], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "inbound_rules": [ + { + "protocol": "tcp", + "ports": "3306", + "sources": { + "droplet_ids": [ + 49696269 + ] + } + } + ], + "outbound_rules": [ + { + "protocol": "tcp", + "ports": "3306", + "destinations": { + "droplet_ids": [ + 49696269 + ] + } + } + ] + } + + resp = client.firewalls.delete_rules(firewall_id="39fa4gz", body=req) security: - bearer_auth: - - write + - firewall:update diff --git a/providers/src/digitalocean/v00.00.00000/services/floating_ips.yaml b/providers/src/digitalocean/v00.00.00000/services/floating_ips.yaml index 6b83de2c..e18a8061 100644 --- a/providers/src/digitalocean/v00.00.00000/services/floating_ips.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/floating_ips.yaml @@ -1,18 +1,34 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - floating_ips version: '2.0' - description: Floating IPs license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - floating_ips + description: |- + As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs). + The Reserved IP product's endpoints function the exact same way as Floating IPs. + The only difference is the name change throughout the URLs and fields. + For example, the `floating_ips` field is now the `reserved_ips` field. + The Floating IP endpoints will remain active until fall 2023 before being + permanently deprecated. + With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), + we will reflect this change as an additional field in the responses across the API + where the `floating_ip` field is used. For example, the Droplet metadata response + will contain the field `reserved_ips` in addition to the `floating_ips` field. + Floating IPs retrieved using the Projects API will retain the original name. + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) + are publicly-accessible static IP addresses that can be mapped to one of + your Droplets. They can be used to create highly available setups or other + configurations requiring movable addresses. + Floating IPs are bound to a specific region. security: - bearer_auth: [] tags: @@ -20,52 +36,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +80,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +95,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +121,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +170,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +178,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +193,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +215,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +233,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +285,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +301,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +316,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +343,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +361,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,636 +396,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - floating_ip: - type: object - properties: - ip: - type: string - format: ipv4 - example: 45.55.96.47 - description: The public IP address of the floating IP. It also serves as its identifier. - region: - allOf: - - $ref: '#/components/schemas/region' - - type: object - description: 'The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned.' - droplet: - description: 'The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.' - anyOf: - - title: 'null' - type: object - nullable: true - description: 'If the floating IP is not assigned to a Droplet, the value will be null.' - - $ref: '#/components/schemas/droplet' - example: null - locked: - type: boolean - example: true - description: A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted. - project_id: - type: string - format: uuid - example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: The UUID of the project to which the reserved IP currently belongs. - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - required: - - available - - features - - name - - sizes - - slug - droplet: - type: object - properties: - id: - type: integer - example: 3164444 - description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. - name: - type: string - example: example.com - description: The human-readable name set for the Droplet instance. - memory: - type: integer - multipleOf: 8 - example: 1024 - description: Memory of the Droplet in megabytes. - vcpus: - type: integer - example: 1 - description: The number of virtual CPUs. - disk: - type: integer - example: 25 - description: The size of the Droplet's disk in gigabytes. - locked: - type: boolean - example: false - description: 'A boolean value indicating whether the Droplet has been locked, preventing actions by users.' - status: - type: string - enum: - - new - - active - - 'off' - - archive - example: active - description: 'A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive".' - kernel: - $ref: '#/components/schemas/kernel' - created_at: - type: string - format: date-time - example: '2020-07-21T18:37:44Z' - description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. - features: - type: array - items: - type: string - example: - - backups - - private_networking - - ipv6 - description: An array of features enabled on this Droplet. - backup_ids: - type: array - items: - type: integer - example: - - 53893572 - description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. - next_backup_window: - type: object - description: 'The details of the Droplet''s backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.' - nullable: true - properties: - start: - type: string - format: date-time - example: '2019-12-04T00:00:00Z' - description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. - end: - type: string - format: date-time - example: '2019-12-04T23:00:00Z' - description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. - snapshot_ids: - type: array - items: - type: integer - example: - - 67512819 - description: An array of snapshot IDs of any snapshots created from the Droplet instance. - image: - $ref: '#/components/schemas/image' - volume_ids: - type: array - items: - type: string - example: - - 506f78a4-e098-11e5-ad9f-000f53306ae1 - description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. - size: - $ref: '#/components/schemas/size' - size_slug: - type: string - example: s-1vcpu-1gb - description: The unique slug identifier for the size of this Droplet. - networks: - type: object - description: 'The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.' - properties: - v4: - type: array - items: - $ref: '#/components/schemas/network_v4' - v6: - type: array - items: - $ref: '#/components/schemas/network_v6' - region: - $ref: '#/components/schemas/region' - tags: - type: array - items: - type: string - example: - - web - - 'env:prod' - description: An array of Tags the Droplet has been tagged with. - vpc_uuid: - type: string - example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - description: A string specifying the UUID of the VPC to which the Droplet is assigned. - required: - - id - - name - - memory - - vcpus - - disk - - locked - - status - - created_at - - features - - backup_ids - - next_backup_window - - snapshot_ids - - image - - volume_ids - - size - - size_slug - - networks - - region - - tags - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - kernel: - type: object - description: | - **Note**: All Droplets created after March 2017 use internal kernels by default. - These Droplets will have this attribute set to `null`. - - The current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/) - for Droplets with externally managed kernels. This will initially be set to - the kernel of the base image when the Droplet is created. - nullable: true - deprecated: true - properties: - id: - type: integer - example: 7515 - description: A unique number used to identify and reference a specific kernel. - name: - type: string - example: DigitalOcean GrubLoader v0.2 (20160714) - description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. - version: - type: string - example: 2016.07.13-DigitalOcean_loader_Ubuntu - description: 'A standard kernel version string representing the version, patch, and release information.' - image: - type: object - properties: - id: - type: integer - description: A unique number that can be used to identify and reference a specific image. - example: 7555620 - readOnly: true - name: - $ref: '#/components/schemas/image_name' - type: - type: string - description: 'Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).' - enum: - - base - - snapshot - - backup - - custom - - admin - example: snapshot - distribution: - $ref: '#/components/schemas/distribution' - slug: - type: string - nullable: true - description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. - example: nifty1 - public: - type: boolean - description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. - example: true - regions: - $ref: '#/components/schemas/regions_array' - created_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the image was created. - example: '2020-05-04T22:23:02Z' - min_disk_size: - type: integer - description: The minimum disk size in GB required for a Droplet to use this image. - example: 20 - nullable: true - minimum: 0 - size_gigabytes: - type: number - format: float - nullable: true - description: The size of the image in gigabytes. - example: 2.34 - description: - $ref: '#/components/schemas/image_description' - tags: - $ref: '#/components/schemas/tags_array' - status: - type: string - description: |- - A status string indicating the state of a custom image. This may be `NEW`, - `available`, `pending`, `deleted`, or `retired`. - enum: - - NEW - - available - - pending - - deleted - - retired - example: NEW - error_message: - type: string - description: |- - A string containing information about errors that may occur when importing - a custom image. - example: ' ' - size: - type: object - properties: - slug: - type: string - example: s-1vcpu-1gb - description: A human-readable string that is used to uniquely identify each size. - memory: - type: integer - multipleOf: 8 - minimum: 8 - example: 1024 - description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. - vcpus: - type: integer - example: 1 - description: The integer of number CPUs allocated to Droplets of this size. - disk: - type: integer - example: 25 - description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. - transfer: - type: number - format: float - example: 1 - description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. - price_monthly: - type: number - format: float - example: 5 - description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. - price_hourly: - type: number - format: float - example: 0.00743999984115362 - description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. - regions: - type: array - items: - type: string - example: - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - description: An array containing the region slugs where this size is available for Droplet creates. - available: - type: boolean - default: true - example: true - description: This is a boolean value that represents whether new Droplets can be created with this size. - description: - type: string - example: Basic - description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' - required: - - available - - disk - - memory - - price_hourly - - price_monthly - - regions - - slug - - transfer - - vcpus - - description - network_v4: - type: object - properties: - ip_address: - type: string - format: ipv4 - example: 104.236.32.182 - description: The IP address of the IPv4 network interface. - netmask: - type: string - format: ipv4 - example: 255.255.192.0 - description: The netmask of the IPv4 network interface. - gateway: - type: string - example: 104.236.0.1 - description: | - The gateway of the specified IPv4 network interface. - - For private interfaces, a gateway is not provided. This is denoted by - returning `nil` as its value. - type: - type: string - enum: - - public - - private - example: public - description: The type of the IPv4 network interface. - network_v6: - type: object - properties: - ip_address: - type: string - format: ipv6 - example: '2604:a880:0:1010::18a:a001' - description: The IP address of the IPv6 network interface. - netmask: - type: integer - example: 64 - description: The netmask of the IPv6 network interface. - gateway: - type: string - format: ipv6 - example: '2604:a880:0:1010::1' - description: The gateway of the specified IPv6 network interface. - type: - type: string - enum: - - public - example: public - description: | - The type of the IPv6 network interface. - - **Note**: IPv6 private networking is not currently supported. - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - image_name: - type: string - description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. - example: Nifty New Snapshot - distribution: - type: string - description: 'The name of a custom image''s distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place.' - enum: - - Arch Linux - - CentOS - - CoreOS - - Debian - - Fedora - - Fedora Atomic - - FreeBSD - - Gentoo - - openSUSE - - RancherOS - - Rocky Linux - - Ubuntu - - Unknown - example: Ubuntu - regions_array: - type: array - items: - $ref: '#/components/schemas/region_slug' - description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. - example: - - nyc1 - - nyc2 - image_description: - type: string - description: An optional free-form text field to describe an image. - example: ' ' - tags_array: - type: array - items: - type: string - nullable: true - description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. - example: - - base-image - - prod - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' floating_ip_create: oneOf: - title: Assign to Droplet @@ -1128,96 +443,27 @@ components: description: The UUID of the project to which the floating IP will be assigned. required: - region - action_link: - type: object - description: The linked actions can be used to check the status of a Droplet's create event. - properties: - id: - type: integer - example: 7515 - description: A unique numeric ID that can be used to identify and reference an action. - rel: - type: string - example: create - description: A string specifying the type of the related action. - href: - type: string - format: uri - example: 'https://api.digitalocean.com/v2/actions/7515' - description: A URL that can be used to access the action. - action: + floating_ip_action_unassign: type: object + required: + - type properties: - id: - type: integer - description: A unique numeric ID that can be used to identify and reference an action. - example: 36804636 - status: - type: string - description: 'The current status of the action. This can be "in-progress", "completed", or "errored".' - enum: - - in-progress - - completed - - errored - example: completed - default: in-progress type: type: string - description: 'This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.' - example: create - started_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. - example: '2020-11-14T16:29:21Z' - completed_at: - type: string - format: date-time - nullable: true - description: A time value given in ISO8601 combined date and time format that represents when the action was completed. - example: '2020-11-14T16:30:06Z' - resource_id: - type: integer - nullable: true - description: A unique identifier for the resource that the action is associated with. - example: 3164444 - resource_type: - type: string - description: The type of resource that the action is associated with. - example: droplet - region: - $ref: '#/components/schemas/region' - region_slug: - allOf: - - $ref: '#/components/schemas/slug' - - type: string - nullable: true - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - floating_ip_action_unassign: - allOf: - - $ref: '#/components/schemas/floatingIPsAction' - - type: object - required: - - type + enum: + - assign + - unassign + description: The type of action to initiate for the floating IP. + discriminator: + propertyName: type + mapping: + assign: '#/components/schemas/floating_ip_action_assign' + unassign: '#/components/schemas/floating_ip_action_unassign' floating_ip_action_assign: - allOf: - - $ref: '#/components/schemas/floatingIPsAction' - - type: object - required: - - type - - droplet_id - properties: - droplet_id: - type: integer - example: 758604968 - description: The ID of the Droplet that the floating IP will be assigned to. - floatingIPsAction: type: object required: - type + - droplet_id properties: type: type: string @@ -1225,6 +471,10 @@ components: - assign - unassign description: The type of action to initiate for the floating IP. + droplet_id: + type: integer + example: 758604968 + description: The ID of the Droplet that the floating IP will be assigned to. discriminator: propertyName: type mapping: @@ -1270,8 +520,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1290,7 +546,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1300,7 +556,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1333,7 +589,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1353,6 +609,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1363,6 +620,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1380,14 +638,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1395,7 +645,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1414,6 +664,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1489,6 +748,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1499,7 +782,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1532,11 +815,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1545,6 +828,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1552,7 +846,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1654,7 +948,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1761,7 +1055,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1769,11 +1063,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1788,7 +1132,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1798,7 +1142,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1832,7 +1176,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1852,7 +1196,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1899,12 +1243,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1918,8 +1262,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1947,6 +1317,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1967,75 +1346,737 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: floating_ip_list: - description: 'The response will be a JSON object with a key called `floating_ips`. This will be set to an array of floating IP objects, each of which will contain the standard floating IP attributes' + description: The response will be a JSON object with a key called `floating_ips`. This will be set to an array of floating IP objects, each of which will contain the standard floating IP attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - floating_ips: - type: array - items: - $ref: '#/components/schemas/floating_ip' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: floating_ips: - - ip: 45.55.96.47 - droplet: null - region: - name: New York 3 - slug: nyc3 - features: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: true - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - locked: false - project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - links: {} + type: array + items: + type: object + properties: + ip: + type: string + format: ipv4 + example: 45.55.96.47 + description: The public IP address of the floating IP. It also serves as its identifier. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + description: The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned. + droplet: + description: The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + anyOf: + - title: 'null' + type: object + nullable: true + description: If the floating IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + example: null + locked: + type: boolean + example: true + description: A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted. + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -2043,15 +2084,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -2059,15 +2125,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -2075,15 +2166,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -2093,68 +2209,1655 @@ components: When assigning a floating IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: floating_ip: - $ref: '#/components/schemas/floating_ip' + type: object + properties: + ip: + type: string + format: ipv4 + example: 45.55.96.47 + description: The public IP address of the floating IP. It also serves as its identifier. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + description: The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned. + droplet: + description: The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + anyOf: + - title: 'null' + type: object + nullable: true + description: If the floating IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + example: null + locked: + type: boolean + example: true + description: A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted. + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. links: type: object properties: droplets: type: array items: - $ref: '#/components/schemas/action_link' + type: object + description: The linked actions can be used to check the status of a Droplet's create event. + properties: + id: + type: integer + example: 7515 + description: A unique numeric ID that can be used to identify and reference an action. + rel: + type: string + example: create + description: A string specifying the type of the related action. + href: + type: string + format: uri + example: https://api.digitalocean.com/v2/actions/7515 + description: A URL that can be used to access the action. actions: type: array items: - $ref: '#/components/schemas/action_link' + type: object + description: The linked actions can be used to check the status of a Droplet's create event. + properties: + id: + type: integer + example: 7515 + description: A unique numeric ID that can be used to identify and reference an action. + rel: + type: string + example: create + description: A string specifying the type of the related action. + href: + type: string + format: uri + example: https://api.digitalocean.com/v2/actions/7515 + description: A URL that can be used to access the action. examples: floating_ip_assigning: - $ref: '#/components/examples/floating_ip_assigning' + summary: Assigning to Droplet + description: Assigning to Droplet + value: + floating_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: true + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: + droplets: + - id: 213939433 + rel: droplet + href: https://api.digitalocean.com/v2/droplets/213939433 + actions: + - id: 1088924622 + rel: assign_ip + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: - $ref: '#/components/examples/floating_ip_reserving' + summary: Reserving to Region + description: Reserving to Region + value: + floating_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: {} floating_ip: description: The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: floating_ip: - $ref: '#/components/schemas/floating_ip' + type: object + properties: + ip: + type: string + format: ipv4 + example: 45.55.96.47 + description: The public IP address of the floating IP. It also serves as its identifier. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + description: The region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned. + droplet: + description: The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + anyOf: + - title: 'null' + type: object + nullable: true + description: If the floating IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + example: null + locked: + type: boolean + example: true + description: A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted. + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. examples: floating_ip_assigned: - $ref: '#/components/examples/floating_ip_assigned' + summary: Assigned to Droplet + description: Assigned to Droplet + value: + floating_ip: + ip: 45.55.96.47 + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + type: base + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: - $ref: '#/components/examples/floating_ip_reserved' + summary: Reserved to Region + description: Reserved to Region + value: + floating_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -2162,92 +3865,308 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. floating_ip_actions: description: The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard floating IP action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - actions: - type: array - items: - $ref: '#/components/schemas/action' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: actions: - - id: 72531856 - status: completed - type: reserve_ip - started_at: '2015-11-21T21:51:09Z' - completed_at: '2015-11-21T21:51:09Z' - resource_id: 758604197 - resource_type: floating_ip - region: - name: New York 3 - slug: nyc3 - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192gb - features: - - private_networking - - backups - - ipv6 - - metadata - available: true - region_slug: nyc3 - links: {} + type: array + items: + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta floating_ip_action: description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard floating IP action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: action: - allOf: - - $ref: '#/components/schemas/action' - - type: object + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object properties: - project_id: + name: type: string - format: uuid - example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: The UUID of the project to which the reserved IP currently belongs. + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. example: action: id: 72531856 @@ -2289,39 +4208,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -2336,11 +4264,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2350,7 +4278,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -2360,11 +4288,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2389,11 +4317,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2437,7 +4365,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2446,7 +4374,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2520,6 +4448,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2538,7 +4473,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2548,7 +4483,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2562,7 +4497,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2634,7 +4569,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2642,11 +4577,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2665,7 +4600,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2740,12 +4675,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2759,7 +4701,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2828,7 +4770,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2880,133 +4822,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -3074,14 +5042,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -3258,6 +5225,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3338,9 +5310,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3371,13 +5343,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3484,13 +5461,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3596,7 +5578,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3610,6 +5592,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3690,9 +5677,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3723,13 +5710,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3836,12 +5828,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3850,12 +5978,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3872,12 +6000,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3892,6 +6020,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3990,12 +6123,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -4004,6 +6137,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4102,12 +6240,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4206,15 +6349,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -4223,6 +6366,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4303,9 +6451,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4336,10 +6484,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4377,13 +6526,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4420,6 +6570,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4509,9 +6660,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4541,7 +6692,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4573,6 +6724,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4856,12 +7008,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4871,8 +7023,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4908,8 +7060,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4945,6 +7097,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -5000,7 +7157,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -5008,8 +7165,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5050,6 +7207,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -5066,7 +7228,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5077,8 +7239,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5114,8 +7276,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5151,6 +7313,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -5162,12 +7329,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5177,8 +7344,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5214,8 +7381,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5250,6 +7417,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -5261,12 +7433,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5276,8 +7448,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5313,8 +7485,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5349,6 +7521,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5558,11 +7735,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5614,7 +7791,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5628,11 +7805,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5658,11 +7835,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5688,7 +7865,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5712,7 +7889,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5784,11 +7961,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5900,7 +8077,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5963,7 +8140,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6012,11 +8189,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -6088,11 +8265,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -6273,8 +8450,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6312,13 +8509,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -6355,6 +8553,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6444,9 +8643,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6476,7 +8675,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6508,6 +8707,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6556,7 +8756,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6586,7 +8786,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6840,14 +9040,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6857,7 +9057,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6867,126 +9067,110 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: floating_ips: id: digitalocean.floating_ips.floating_ips name: floating_ips title: Floating Ips methods: - floatingIPs_list: + floating_ips_list: operation: $ref: '#/paths/~1v2~1floating_ips/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/floating_ip_list' objectKey: $.floating_ips - _floatingIPs_list: - operation: - $ref: '#/paths/~1v2~1floating_ips/get' - response: - mediaType: application/json - openAPIDocKey: '200' - floatingIPs_create: + floating_ips_create: operation: $ref: '#/paths/~1v2~1floating_ips/post' response: mediaType: application/json openAPIDocKey: '202' - floatingIPs_get: - operation: - $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/floating_ip_created' objectKey: $.floating_ip - _floatingIPs_get: + floating_ips_get: operation: $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}/get' response: mediaType: application/json openAPIDocKey: '200' - floatingIPs_delete: + schemaRef: '#/components/responses/floating_ip' + objectKey: $.floating_ip + floating_ips_delete: operation: $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floatingIPs_list' - - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floatingIPs_get' + - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floating_ips_get' + - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floating_ips_list' insert: - - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floatingIPs_create' + - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floating_ips_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floatingIPs_delete' + - $ref: '#/components/x-stackQL-resources/floating_ips/methods/floating_ips_delete' actions: id: digitalocean.floating_ips.actions name: actions title: Actions methods: - floatingIPsAction_list: + floating_ips_action_list: operation: $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}~1actions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/floating_ip_actions' objectKey: $.actions - _floatingIPsAction_list: - operation: - $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}~1actions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - floatingIPsAction_post: + floating_ips_action_post: operation: $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}~1actions/post' response: mediaType: application/json openAPIDocKey: '201' - floatingIPsAction_get: - operation: - $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}~1actions~1{action_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.action - _floatingIPsAction_get: + schemaRef: '#/components/responses/floating_ip_action' + floating_ips_action_get: operation: $ref: '#/paths/~1v2~1floating_ips~1{floating_ip}~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/floating_ip_action' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/actions/methods/floatingIPsAction_list' - - $ref: '#/components/x-stackQL-resources/actions/methods/floatingIPsAction_get' - insert: - - $ref: '#/components/x-stackQL-resources/actions/methods/floatingIPsAction_post' + - $ref: '#/components/x-stackQL-resources/actions/methods/floating_ips_action_get' + - $ref: '#/components/x-stackQL-resources/actions/methods/floating_ips_action_list' + insert: [] update: [] + replace: [] delete: [] paths: /v2/floating_ips: get: operationId: floatingIPs_list summary: List All Floating IPs - description: 'To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`.' + description: To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. tags: - Floating IPs parameters: @@ -7042,7 +9226,7 @@ paths: floating_ips.each security: - bearer_auth: - - read + - firewall:read post: operationId: floatingIPs_create summary: Create a New Floating IP @@ -7050,10 +9234,8 @@ paths: On creation, a floating IP must be either assigned to a Droplet or reserved to a region. * To create a new floating IP assigned to a Droplet, send a POST request to `/v2/floating_ips` with the `droplet_id` attribute. - * To create a new floating IP reserved to a region, send a POST request to `/v2/floating_ips` with the `region` attribute. - **Note**: In addition to the standard rate limiting, only 12 floating IPs may be created per 60 seconds. tags: - Floating IPs @@ -7112,12 +9294,12 @@ paths: client.floating_ips.create(floating_ip) security: - bearer_auth: - - write - '/v2/floating_ips/{floating_ip}': + - reserved_ip:create + /v2/floating_ips/{floating_ip}: get: operationId: floatingIPs_get summary: Retrieve an Existing Floating IP - description: 'To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`.' + description: To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. tags: - Floating IPs parameters: @@ -7168,14 +9350,13 @@ paths: client.floating_ips.find(ip: '45.55.96.47') security: - bearer_auth: - - read + - firewall:read delete: operationId: floatingIPs_delete summary: Delete a Floating IP description: | To delete a floating IP and remove it from your account, send a DELETE request to `/v2/floating_ips/$FLOATING_IP_ADDR`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -7228,12 +9409,12 @@ paths: client.floating_ips.delete(ip: '45.55.96.47') security: - bearer_auth: - - write - '/v2/floating_ips/{floating_ip}/actions': + - reserved_ip:delete + /v2/floating_ips/{floating_ip}/actions: get: operationId: floatingIPsAction_list summary: List All Actions for a Floating IP - description: 'To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`.' + description: To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. tags: - Floating IP Actions parameters: @@ -7290,7 +9471,7 @@ paths: actions.each security: - bearer_auth: - - read + - firewall:read post: operationId: floatingIPsAction_post summary: Initiate a Floating IP Action @@ -7298,7 +9479,6 @@ paths: To initiate an action on a floating IP send a POST request to `/v2/floating_ips/$FLOATING_IP/actions`. In the JSON body to the request, set the `type` attribute to on of the supported action types: - | Action | Details |------------|-------- | `assign` | Assigns a floating IP to a Droplet @@ -7385,12 +9565,12 @@ paths: # client.floating_ip_actions.unassign(ip: '45.55.96.47') security: - bearer_auth: - - write - '/v2/floating_ips/{floating_ip}/actions/{action_id}': + - reserved_ip:update + /v2/floating_ips/{floating_ip}/actions/{action_id}: get: operationId: floatingIPsAction_get summary: Retrieve an Existing Floating IP Action - description: 'To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`.' + description: To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. tags: - Floating IP Actions parameters: @@ -7442,4 +9622,4 @@ paths: client.floating_ip_actions.find(ip: '45.55.96.47', id: 72531856) security: - bearer_auth: - - read + - firewall:read diff --git a/providers/src/digitalocean/v00.00.00000/services/functions.yaml b/providers/src/digitalocean/v00.00.00000/services/functions.yaml index b97c1325..5ed7659d 100644 --- a/providers/src/digitalocean/v00.00.00000/services/functions.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/functions.yaml @@ -1,18 +1,21 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - functions version: '2.0' - description: Functions license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - functions + description: |- + [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. + You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). + The Serverless Functions API currently only supports creating and managing namespaces. security: - bearer_auth: [] tags: @@ -20,52 +23,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +67,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +82,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +108,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +157,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +165,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +180,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +202,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +220,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +272,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +288,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +303,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +330,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +348,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,115 +383,35 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - namespace_info: - type: object - properties: - api_host: - type: string - example: 'https://api_host.io' - description: The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. - namespace: - type: string - example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - description: A unique string format of UUID with a prefix fn-. - created_at: - type: string - example: '2022-09-14T04:16:45Z' - description: UTC time string. - updated_at: - type: string - example: '2022-09-14T04:16:45Z' - description: UTC time string. - label: - type: string - example: my namespace - description: The namespace's unique name. - region: - type: string - example: nyc1 - description: The namespace's datacenter region. - uuid: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - description: The namespace's Universally Unique Identifier. - key: - type: string - example: d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2 - description: |- - A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate - a user to use the namespace via `doctl`, DigitalOcean's official CLI. - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message create_namespace: type: object properties: region: type: string example: nyc1 - description: 'The [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace.' + description: The [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace. label: type: string example: my namespace @@ -589,13 +419,9 @@ components: required: - region - label - trigger_info: + create_trigger: type: object properties: - namespace: - type: string - example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - description: A unique string format of UUID with a prefix fn-. name: type: string example: my trigger @@ -607,74 +433,30 @@ components: type: type: string example: SCHEDULED - description: String which indicates the type of trigger source like SCHEDULED. + description: One of different type of triggers. Currently only SCHEDULED is supported. is_enabled: type: boolean example: true description: Indicates weather the trigger is paused or unpaused. - created_at: - type: string - example: '2022-11-11T04:16:45Z' - description: UTC time string. - updated_at: - type: string - example: '2022-11-11T04:16:45Z' - description: UTC time string. scheduled_details: - $ref: '#/components/schemas/scheduled_details' - scheduled_runs: type: object + description: | + Trigger details for SCHEDULED type, where body is optional. properties: - last_run_at: - description: Indicates last run time. null value indicates trigger not run yet. + cron: + description: valid cron expression string which is required for SCHEDULED type triggers. type: string + example: '* * * * *' + body: + description: Optional data to be sent to function while triggering the function. + type: object nullable: true - example: '2022-11-11T04:16:45Z' - next_run_at: - description: Indicates next run time. null value indicates trigger will not run. - type: string - nullable: true - example: '2022-11-11T04:16:45Z' - scheduled_details: - type: object - description: | - Trigger details for SCHEDULED type, where body is optional. - properties: - cron: - description: valid cron expression string which is required for SCHEDULED type triggers. - type: string - example: '* * * * *' - body: - description: Optional data to be sent to function while triggering the function. - type: object - nullable: true - properties: - name: - type: string - example: Welcome to DO! - required: - - cron - create_trigger: - type: object - properties: - name: - type: string - example: my trigger - description: The trigger's unique name within the namespace. - function: - type: string - example: hello - description: Name of function(action) that exists in the given namespace. - type: - type: string - example: SCHEDULED - description: One of different type of triggers. Currently only SCHEDULED is supported. - is_enabled: - type: boolean - example: true - description: Indicates weather the trigger is paused or unpaused. - scheduled_details: - $ref: '#/components/schemas/scheduled_details' + properties: + name: + type: string + example: Welcome to DO! + required: + - cron required: - name - function @@ -689,7 +471,24 @@ components: example: true description: Indicates weather the trigger is paused or unpaused. scheduled_details: - $ref: '#/components/schemas/scheduled_details' + type: object + description: | + Trigger details for SCHEDULED type, where body is optional. + properties: + cron: + description: valid cron expression string which is required for SCHEDULED type triggers. + type: string + example: '* * * * *' + body: + description: Optional data to be sent to function while triggering the function. + type: object + nullable: true + properties: + name: + type: string + example: Welcome to DO! + required: + - cron parameters: oneClicks_type: in: query @@ -730,8 +529,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -750,7 +555,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -760,7 +565,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -793,7 +598,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -813,6 +618,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -823,6 +629,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -840,14 +647,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -855,7 +654,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -874,6 +673,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -949,6 +757,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -959,7 +791,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -992,11 +824,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1005,6 +837,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1012,7 +855,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1114,7 +957,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1221,7 +1064,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1229,11 +1072,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1248,7 +1141,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1258,7 +1151,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1292,7 +1185,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1312,7 +1205,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1359,12 +1252,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1378,8 +1271,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1407,6 +1326,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1432,34 +1360,102 @@ components: the properties associated with it. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - namespaces: - type: array - items: - $ref: '#/components/schemas/namespace_info' + type: object + properties: + namespaces: + type: array + items: + type: object + properties: + api_host: + type: string + example: https://api_host.io + description: The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. + namespace: + type: string + example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + description: A unique string format of UUID with a prefix fn-. + created_at: + type: string + example: '2022-09-14T04:16:45Z' + description: UTC time string. + updated_at: + type: string + example: '2022-09-14T04:16:45Z' + description: UTC time string. + label: + type: string + example: my namespace + description: The namespace's unique name. + region: + type: string + example: nyc1 + description: The namespace's datacenter region. + uuid: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + description: The namespace's Universally Unique Identifier. + key: + type: string + example: d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2 + description: |- + A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate + a user to use the namespace via `doctl`, DigitalOcean's official CLI. unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1467,15 +1463,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1483,15 +1504,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1499,15 +1545,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1517,31 +1588,100 @@ components: with the namespace. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: namespace: - $ref: '#/components/schemas/namespace_info' + type: object + properties: + api_host: + type: string + example: https://api_host.io + description: The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. + namespace: + type: string + example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + description: A unique string format of UUID with a prefix fn-. + created_at: + type: string + example: '2022-09-14T04:16:45Z' + description: UTC time string. + updated_at: + type: string + example: '2022-09-14T04:16:45Z' + description: UTC time string. + label: + type: string + example: my namespace + description: The namespace's unique name. + region: + type: string + example: nyc1 + description: The namespace's datacenter region. + uuid: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + description: The namespace's Universally Unique Identifier. + key: + type: string + example: d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2 + description: |- + A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate + a user to use the namespace via `doctl`, DigitalOcean's official CLI. namespace_bad_request: description: Bad Request. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: bad_request message: 'Invalid request payload: missing label field' @@ -1550,15 +1690,40 @@ components: description: Limit Reached headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unprocessable_entity message: namespace limit reached @@ -1567,15 +1732,40 @@ components: description: Not Allowed. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: forbidden message: not allowed to get namespace @@ -1584,15 +1774,40 @@ components: description: Bad Request. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: namespace not found @@ -1601,63 +1816,236 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. list_triggers: description: |- An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains the properties associated with it. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - triggers: - type: array - items: - $ref: '#/components/schemas/trigger_info' + type: object + properties: + triggers: + type: array + items: + type: object + properties: + namespace: + type: string + example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + description: A unique string format of UUID with a prefix fn-. + name: + type: string + example: my trigger + description: The trigger's unique name within the namespace. + function: + type: string + example: hello + description: Name of function(action) that exists in the given namespace. + type: + type: string + example: SCHEDULED + description: String which indicates the type of trigger source like SCHEDULED. + is_enabled: + type: boolean + example: true + description: Indicates weather the trigger is paused or unpaused. + created_at: + type: string + example: '2022-11-11T04:16:45Z' + description: UTC time string. + updated_at: + type: string + example: '2022-11-11T04:16:45Z' + description: UTC time string. + scheduled_details: + type: object + description: | + Trigger details for SCHEDULED type, where body is optional. + properties: + cron: + description: valid cron expression string which is required for SCHEDULED type triggers. + type: string + example: '* * * * *' + body: + description: Optional data to be sent to function while triggering the function. + type: object + nullable: true + properties: + name: + type: string + example: Welcome to DO! + required: + - cron + scheduled_runs: + type: object + properties: + last_run_at: + description: Indicates last run time. null value indicates trigger not run yet. + type: string + nullable: true + example: '2022-11-11T04:16:45Z' + next_run_at: + description: Indicates next run time. null value indicates trigger will not run. + type: string + nullable: true + example: '2022-11-11T04:16:45Z' trigger_response: description: |- A JSON response object with a key called `trigger`. The object contains the properties associated with the trigger. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: trigger: - $ref: '#/components/schemas/trigger_info' + type: object + properties: + namespace: + type: string + example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + description: A unique string format of UUID with a prefix fn-. + name: + type: string + example: my trigger + description: The trigger's unique name within the namespace. + function: + type: string + example: hello + description: Name of function(action) that exists in the given namespace. + type: + type: string + example: SCHEDULED + description: String which indicates the type of trigger source like SCHEDULED. + is_enabled: + type: boolean + example: true + description: Indicates weather the trigger is paused or unpaused. + created_at: + type: string + example: '2022-11-11T04:16:45Z' + description: UTC time string. + updated_at: + type: string + example: '2022-11-11T04:16:45Z' + description: UTC time string. + scheduled_details: + type: object + description: | + Trigger details for SCHEDULED type, where body is optional. + properties: + cron: + description: valid cron expression string which is required for SCHEDULED type triggers. + type: string + example: '* * * * *' + body: + description: Optional data to be sent to function while triggering the function. + type: object + nullable: true + properties: + name: + type: string + example: Welcome to DO! + required: + - cron + scheduled_runs: + type: object + properties: + last_run_at: + description: Indicates last run time. null value indicates trigger not run yet. + type: string + nullable: true + example: '2022-11-11T04:16:45Z' + next_run_at: + description: Indicates next run time. null value indicates trigger will not run. + type: string + nullable: true + example: '2022-11-11T04:16:45Z' trigger_bad_request: description: Bad Request. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: bad_request message: 'validating create trigger: validation error: missing trigger name, missing function name, missing source details' @@ -1666,15 +2054,40 @@ components: description: Limit Reached headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unprocessable_entity message: triggers limit reached @@ -1683,15 +2096,40 @@ components: description: Bad Request. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message examples: namespace not found: value: @@ -1709,39 +2147,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1756,11 +2203,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1770,7 +2217,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1780,11 +2227,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1809,11 +2256,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1857,7 +2304,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1866,7 +2313,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1940,6 +2387,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1958,7 +2412,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1968,7 +2422,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1982,7 +2436,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2054,7 +2508,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2062,11 +2516,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2085,7 +2539,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2160,12 +2614,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2179,7 +2640,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2248,7 +2709,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2300,133 +2761,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2494,14 +2981,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2678,6 +3164,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2758,9 +3249,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2791,13 +3282,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2904,13 +3400,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3016,7 +3517,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3030,6 +3531,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3110,9 +3616,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3143,13 +3649,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3256,12 +3767,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3270,12 +3917,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3292,12 +3939,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3312,6 +3959,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3410,12 +4062,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3424,6 +4076,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3522,12 +4179,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3626,15 +4288,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3643,6 +4305,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3723,9 +4390,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3756,10 +4423,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3797,13 +4465,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3840,6 +4509,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3929,9 +4599,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3961,7 +4631,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3993,6 +4663,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4276,12 +4947,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4291,8 +4962,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4328,8 +4999,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4365,6 +5036,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4420,7 +5096,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4428,8 +5104,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4470,6 +5146,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4486,7 +5167,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4497,8 +5178,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4534,8 +5215,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4571,6 +5252,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4582,12 +5268,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4597,8 +5283,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4634,8 +5320,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4670,6 +5356,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4681,12 +5372,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4696,8 +5387,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4733,8 +5424,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4769,6 +5460,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4978,11 +5674,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5034,7 +5730,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5048,11 +5744,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5078,11 +5774,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5108,7 +5804,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5132,7 +5828,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5204,11 +5900,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5320,7 +6016,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5383,7 +6079,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5432,11 +6128,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5508,11 +6204,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5693,8 +6389,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5732,13 +6448,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5775,6 +6492,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5864,9 +6582,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5896,7 +6614,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5928,6 +6646,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5976,7 +6695,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6006,7 +6725,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6260,14 +6979,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6277,7 +6996,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6287,139 +7006,128 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: namespaces: id: digitalocean.functions.namespaces name: namespaces title: Namespaces methods: - list_namespaces: + functions_list_namespaces: operation: $ref: '#/paths/~1v2~1functions~1namespaces/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_namespaces' objectKey: $.namespaces - _list_namespaces: - operation: - $ref: '#/paths/~1v2~1functions~1namespaces/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_namespace: + functions_create_namespace: operation: $ref: '#/paths/~1v2~1functions~1namespaces/post' response: mediaType: application/json openAPIDocKey: '200' - get_namespace: - operation: - $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/namespace_created' objectKey: $.namespace - _get_namespace: + functions_get_namespace: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_namespace: + schemaRef: '#/components/responses/namespace_created' + objectKey: $.namespace + functions_delete_namespace: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/namespaces/methods/list_namespaces' - - $ref: '#/components/x-stackQL-resources/namespaces/methods/get_namespace' + - $ref: '#/components/x-stackQL-resources/namespaces/methods/functions_get_namespace' + - $ref: '#/components/x-stackQL-resources/namespaces/methods/functions_list_namespaces' insert: - - $ref: '#/components/x-stackQL-resources/namespaces/methods/create_namespace' + - $ref: '#/components/x-stackQL-resources/namespaces/methods/functions_create_namespace' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/namespaces/methods/delete_namespace' - namespace_triggers: - id: digitalocean.functions.namespace_triggers - name: namespace_triggers - title: Namespace Triggers + - $ref: '#/components/x-stackQL-resources/namespaces/methods/functions_delete_namespace' + namespaces_triggers: + id: digitalocean.functions.namespaces_triggers + name: namespaces_triggers + title: Namespaces Triggers methods: - list_triggers: + functions_list_triggers: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/list_triggers' objectKey: $.triggers - _list_triggers: - operation: - $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_trigger: + functions_create_trigger: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers/post' response: mediaType: application/json openAPIDocKey: '200' - get_trigger: - operation: - $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers~1{trigger_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/trigger_response' objectKey: $.trigger - _get_trigger: + functions_get_trigger: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers~1{trigger_name}/get' response: mediaType: application/json openAPIDocKey: '200' - update_trigger: + schemaRef: '#/components/responses/trigger_response' + objectKey: $.trigger + functions_update_trigger: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers~1{trigger_name}/put' response: mediaType: application/json openAPIDocKey: '200' - delete_trigger: + schemaRef: '#/components/responses/trigger_response' + functions_delete_trigger: operation: $ref: '#/paths/~1v2~1functions~1namespaces~1{namespace_id}~1triggers~1{trigger_name}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/namespace_triggers/methods/list_triggers' - - $ref: '#/components/x-stackQL-resources/namespace_triggers/methods/get_trigger' + - $ref: '#/components/x-stackQL-resources/namespaces_triggers/methods/functions_get_trigger' + - $ref: '#/components/x-stackQL-resources/namespaces_triggers/methods/functions_list_triggers' insert: - - $ref: '#/components/x-stackQL-resources/namespace_triggers/methods/create_trigger' + - $ref: '#/components/x-stackQL-resources/namespaces_triggers/methods/functions_create_trigger' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/namespace_triggers/methods/delete_trigger' + - $ref: '#/components/x-stackQL-resources/namespaces_triggers/methods/functions_delete_trigger' paths: /v2/functions/namespaces: get: operationId: functions_list_namespaces summary: List Namespaces - description: 'Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`.' + description: Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. tags: - Functions responses: @@ -6439,13 +7147,22 @@ paths: curl -X GET \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/functions/namespaces" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.functions.list_namespaces() security: - bearer_auth: - - read + - function:read + - function:admin post: operationId: functions_create_namespace summary: Create Namespace - description: 'Creates a new serverless functions namespace in the desired region and associates it with the provided label. A namespace is a collection of functions and their associated packages, triggers, and project specifications. To create a namespace, send a POST request to `/v2/functions/namespaces` with the `region` and `label` properties.' + description: Creates a new serverless functions namespace in the desired region and associates it with the provided label. A namespace is a collection of functions and their associated packages, triggers, and project specifications. To create a namespace, send a POST request to `/v2/functions/namespaces` with the `region` and `label` properties. requestBody: required: true content: @@ -6477,14 +7194,28 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"region": "nyc1", "label": "my namespace label"}' \ "https://api.digitalocean.com/v2/functions/namespaces" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "region": "nyc1", + "label": "my namespace" + } + + resp = client.functions.create_namespace(body=req) security: - bearer_auth: - - write - '/v2/functions/namespaces/{namespace_id}': + - function:create + - function:admin + /v2/functions/namespaces/{namespace_id}: get: operationId: functions_get_namespace summary: Get Namespace - description: 'Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters.' + description: Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. tags: - Functions parameters: @@ -6510,9 +7241,17 @@ paths: curl -X GET \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.functions.get_namespace(namespace_id="aff93af3") security: - bearer_auth: - - read + - function:admin delete: operationId: functions_delete_namespace summary: Delete Namespace @@ -6543,14 +7282,23 @@ paths: curl -X DELETE \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.functions.delete_namespace(namespace_id="aff93af3") security: - bearer_auth: - - write - '/v2/functions/namespaces/{namespace_id}/triggers': + - function:delete + - function:admin + /v2/functions/namespaces/{namespace_id}/triggers: get: operationId: functions_list_triggers summary: List Triggers - description: 'Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`.' + description: Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. parameters: - $ref: '#/components/parameters/namespace_id' tags: @@ -6574,13 +7322,22 @@ paths: curl -X GET \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.functions.list_triggers(namespace_id="39f3ca") security: - bearer_auth: - - read + - function:read + - function:admin post: operationId: functions_create_trigger summary: Create Trigger - description: 'Creates a new trigger for a given function in a namespace. To create a trigger, send a POST request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers` with the `name`, `function`, `type`, `is_enabled` and `scheduled_details` properties.' + description: Creates a new trigger for a given function in a namespace. To create a trigger, send a POST request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers` with the `name`, `function`, `type`, `is_enabled` and `scheduled_details` properties. parameters: - $ref: '#/components/parameters/namespace_id' requestBody: @@ -6616,14 +7373,36 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name": "my trigger", "function": "hello", "type": "SCHEDULED", "is_enabled": true, "scheduled_details": {"cron": "* * * * *", "body": {"name": "Welcome to DO!"}}}' \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "my trigger", + "function": "hello", + "type": "SCHEDULED", + "is_enabled": True, + "scheduled_details": { + "cron": "* * * * *", + "body": { + "name": "Welcome to DO!" + } + } + } + + resp = client.functions.create_trigger(namespace_id="aff93af3", body=req) security: - bearer_auth: - - write - '/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}': + - function:create + - function:admin + /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}: get: operationId: functions_get_trigger summary: Get Trigger - description: 'Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`.' + description: Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. parameters: - $ref: '#/components/parameters/namespace_id' - $ref: '#/components/parameters/trigger_name' @@ -6648,13 +7427,22 @@ paths: curl -X GET \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers/{{trigger_name}}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.functions.get_trigger(namespace_id="aff93af3", trigger_name="trig_name") security: - bearer_auth: - - read + - function:read + - function:admin put: operationId: functions_update_trigger summary: Update Trigger - description: 'Updates the details of the given trigger. To update a trigger, send a PUT request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME` with new values for the `is_enabled ` or `scheduled_details` properties.' + description: Updates the details of the given trigger. To update a trigger, send a PUT request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME` with new values for the `is_enabled ` or `scheduled_details` properties. parameters: - $ref: '#/components/parameters/namespace_id' - $ref: '#/components/parameters/trigger_name' @@ -6689,9 +7477,28 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"is_enabled": true, "scheduled_details": {"cron": "* * * * *", "body": {"name": "Welcome to DO!"}}}' \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers/{{trigger_name}}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "is_enabled": true, + "scheduled_details": { + "cron": "* * * * *", + "body": { + "name": "Welcome to DO!" + } + } + } + + resp = client.functions.update_trigger(namespace_id="39f3ca", trigger_name="trig_name", body=req) security: - bearer_auth: - - write + - function:update + - function:admin delete: operationId: functions_delete_trigger summary: Delete Trigger @@ -6723,6 +7530,15 @@ paths: curl -X DELETE \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/functions/namespaces/{{namespace_id}}/triggers/{{trigger_name}}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.functions.delete_trigger(namespace_id="aff93af3", trigger_name="trig_name") security: - bearer_auth: - - read + - function:delete + - function:admin diff --git a/providers/src/digitalocean/v00.00.00000/services/images.yaml b/providers/src/digitalocean/v00.00.00000/services/images.yaml index 0d782659..596c9734 100644 --- a/providers/src/digitalocean/v00.00.00000/services/images.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/images.yaml @@ -1,18 +1,36 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - images version: '2.0' - description: Images license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - images + description: |- + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be + used to create a Droplet and may come in a number of flavors. Currently, + there are five types of images: snapshots, backups, applications, + distributions, and custom images. + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide + a full copy of an existing Droplet instance taken on demand. + * [Backups](https://docs.digitalocean.com/products/backups/) are similar + to snapshots but are created automatically at regular intervals when + enabled for a Droplet. + * [Custom images](https://docs.digitalocean.com/products/custom-images/) + are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk + formats are supported) that you may upload for use on DigitalOcean. + * Distributions are the public Linux distributions that are available to + be used as a base to create Droplets. + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), + are distributions pre-configured with additional software. + To interact with images, you will generally send requests to the images + endpoint at /v2/images. security: - bearer_auth: [] tags: @@ -20,52 +38,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +82,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +97,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +123,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +172,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +180,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +195,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +217,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +235,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +287,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +303,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +318,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +345,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +363,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,395 +398,132 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - image: + image_new_custom: type: object properties: - id: - type: integer - description: A unique number that can be used to identify and reference a specific image. - example: 7555620 - readOnly: true name: - $ref: '#/components/schemas/image_name' - type: type: string - description: 'Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).' - enum: - - base - - snapshot - - backup - - custom - - admin - example: snapshot + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot distribution: - $ref: '#/components/schemas/distribution' - slug: type: string - nullable: true - description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. - example: nifty1 - public: - type: boolean - description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. - example: true - regions: - $ref: '#/components/schemas/regions_array' - created_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the image was created. - example: '2020-05-04T22:23:02Z' - min_disk_size: - type: integer - description: The minimum disk size in GB required for a Droplet to use this image. - example: 20 - nullable: true - minimum: 0 - size_gigabytes: - type: number - format: float - nullable: true - description: The size of the image in gigabytes. - example: 2.34 - description: - $ref: '#/components/schemas/image_description' - tags: - $ref: '#/components/schemas/tags_array' - status: - type: string - description: |- - A status string indicating the state of a custom image. This may be `NEW`, - `available`, `pending`, `deleted`, or `retired`. + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. enum: - - NEW - - available - - pending - - deleted - - retired - example: NEW - error_message: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + description: type: string - description: |- - A string containing information about errors that may occur when importing - a custom image. + description: An optional free-form text field to describe an image. example: ' ' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' + url: type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - image_name: - type: string - description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. - example: Nifty New Snapshot - distribution: - type: string - description: 'The name of a custom image''s distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place.' - enum: - - Arch Linux - - CentOS - - CoreOS - - Debian - - Fedora - - Fedora Atomic - - FreeBSD - - Gentoo - - openSUSE - - RancherOS - - Rocky Linux - - Ubuntu - - Unknown - example: Ubuntu - regions_array: - type: array - items: - $ref: '#/components/schemas/region_slug' - description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. - example: - - nyc1 - - nyc2 - image_description: - type: string - description: An optional free-form text field to describe an image. - example: ' ' - tags_array: - type: array - items: - type: string - nullable: true - description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. - example: - - base-image - - prod - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. + description: A URL from which the custom Linux virtual machine image may be retrieved. The image it points to must be in the raw, qcow2, vhdx, vdi, or vmdk format. It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed. + example: http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img + region: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - image_new_custom: - allOf: - - $ref: '#/components/schemas/image_update' - - properties: - url: - type: string - description: 'A URL from which the custom Linux virtual machine image may be retrieved. The image it points to must be in the raw, qcow2, vhdx, vdi, or vmdk format. It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed.' - example: 'http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img' - region: - $ref: '#/components/schemas/region_slug' - tags: - $ref: '#/components/schemas/tags_array' - required: - - name - - url - - region - example: - name: ubuntu-18.04-minimal - url: 'http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img' - distribution: Ubuntu - region: nyc3 - description: Cloud-optimized image w/ small footprint + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 tags: - - base-image - - prod + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod image_update: type: object properties: name: - $ref: '#/components/schemas/image_name' + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot distribution: - $ref: '#/components/schemas/distribution' - description: - $ref: '#/components/schemas/image_description' - action: - type: object - properties: - id: - type: integer - description: A unique numeric ID that can be used to identify and reference an action. - example: 36804636 - status: type: string - description: 'The current status of the action. This can be "in-progress", "completed", or "errored".' + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. enum: - - in-progress - - completed - - errored - example: completed - default: in-progress - type: - type: string - description: 'This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.' - example: create - started_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. - example: '2020-11-14T16:29:21Z' - completed_at: - type: string - format: date-time - nullable: true - description: A time value given in ISO8601 combined date and time format that represents when the action was completed. - example: '2020-11-14T16:30:06Z' - resource_id: - type: integer - nullable: true - description: A unique identifier for the resource that the action is associated with. - example: 3164444 - resource_type: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + description: type: string - description: The type of resource that the action is associated with. - example: droplet - region: - $ref: '#/components/schemas/region' - region_slug: - allOf: - - $ref: '#/components/schemas/slug' - - type: string - nullable: true - region: + description: An optional free-form text field to describe an image. + example: ' ' + image_action_base: type: object properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: + type: type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g + description: The action to be taken on the image. Can be either `convert` or `transfer`. + enum: + - convert + - transfer + example: convert required: - - available - - features - - name - - sizes - - slug - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - image_action_base: + - type + image_action_transfer: type: object properties: type: @@ -871,18 +533,29 @@ components: - convert - transfer example: convert + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 required: - type - image_action_transfer: - allOf: - - $ref: '#/components/schemas/image_action_base' - - type: object - properties: - region: - $ref: '#/components/schemas/region_slug' - required: - - type - - region + - region parameters: oneClicks_type: in: query @@ -923,8 +596,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -943,7 +622,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -953,7 +632,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -986,7 +665,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1006,6 +685,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1016,6 +696,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1033,14 +714,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1048,7 +721,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1067,6 +740,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1142,6 +824,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1152,7 +858,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1185,11 +891,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1198,6 +904,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1205,7 +922,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1307,7 +1024,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1414,7 +1131,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1422,11 +1139,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1441,7 +1208,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1451,7 +1218,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1485,7 +1252,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1505,7 +1272,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1552,12 +1319,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1571,8 +1338,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1600,6 +1393,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1620,54 +1422,473 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_images: - description: 'The response will be a JSON object with a key called `images`. This will be set to an array of image objects, each of which will contain the standard image attributes.' + description: The response will be a JSON object with a key called `images`. This will be set to an array of image objects, each of which will contain the standard image attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + images: + type: array + items: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + links: + type: object properties: - images: - type: array - items: - $ref: '#/components/schemas/image' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - - images - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + - total + required: + - meta examples: All: - $ref: '#/components/examples/images_all' + value: + images: + - id: 7555620 + name: Nifty New Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: Another Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - nyc2 + - nyc3 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: A custom image + distribution: Arch Linux + slug: null + public: false + regions: + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: custom + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: An APP image + distribution: Fedora + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: A simple tagged image + distribution: CentOS + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: + - simple-image + status: available + error_message: '' + links: + pages: {} + meta: + total: 6 Snapshots: - $ref: '#/components/examples/images_snapshots' + value: + images: + - id: 7555620 + name: Nifty New Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: Another Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 2 Distribution: - $ref: '#/components/examples/images_distribution' + description: | + **Important:** + The `type` query parameter is not directly related to the `type` attribute. + The main thing to remember here is that DigitalOcean-produced distribution images will have `snapshot` as the type attribute. + value: + images: + - id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - nyc2 + - nyc3 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 Custom: - $ref: '#/components/examples/images_custom' + value: + images: + - id: 7555621 + name: A custom image + distribution: Arch Linux + slug: null + public: false + regions: + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: custom + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 Application: - $ref: '#/components/examples/images_application' + description: | + **Important:** + The `type` query parameter is not directly related to the `type` attribute. + value: + images: + - id: 7555621 + name: An APP image + distribution: Fedora + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 Tagged: - $ref: '#/components/examples/images_tagged' + value: + images: + - id: 7555621 + name: A simple tagged image + distribution: CentOS + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: + - simple-image + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1675,15 +1896,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1691,15 +1937,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1707,33 +1978,188 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message new_custom_image: - description: 'The response will be a JSON object with a key set to `image`. The value of this will be an image object containing a subset of the standard image attributes as listed below, including the image''s `id` and `status`. After initial creation, the `status` will be `NEW`. Using the image''s id, you may query the image''s status by sending a `GET` request to the `/v2/images/$IMAGE_ID` endpoint. When the `status` changes to `available`, the image will be ready for use.' + description: The response will be a JSON object with a key set to `image`. The value of this will be an image object containing a subset of the standard image attributes as listed below, including the image's `id` and `status`. After initial creation, the `status` will be `NEW`. Using the image's id, you may query the image's status by sending a `GET` request to the `/v2/images/$IMAGE_ID` endpoint. When the `status` changes to `available`, the image will be ready for use. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: image: - $ref: '#/components/schemas/image' + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' example: image: created_at: '2018-09-20T19:28:00Z' @@ -1752,18 +2178,148 @@ components: description: The response will be a JSON object with a key called `image`. The value of this will be an image object containing the standard image attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: image: - $ref: '#/components/schemas/image' + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' required: - image example: @@ -1795,15 +2351,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1811,18 +2392,148 @@ components: description: The response will be a JSON object with a key set to `image`. The value of this will be an image object containing the standard image attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: image: - $ref: '#/components/schemas/image' + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' required: - image example: @@ -1846,32 +2557,184 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. get_image_actions_response: description: The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + actions: + type: array + items: + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + links: + type: object properties: - actions: - type: array - items: - $ref: '#/components/schemas/action' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta example: actions: - id: 29410565 @@ -1913,23 +2776,127 @@ components: region_slug: nyc2 links: pages: - last: 'https://api.digitalocean.com/v2/images/7555620/actions?page=5&per_page=1' - next: 'https://api.digitalocean.com/v2/images/7555620/actions?page=2&per_page=1' + last: https://api.digitalocean.com/v2/images/7555620/actions?page=5&per_page=1 + next: https://api.digitalocean.com/v2/images/7555620/actions?page=2&per_page=1 meta: total: 5 post_image_action_response: description: The response will be a JSON object with a key called `action`. The value of this will be an object containing the standard image action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/action' + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 example: action: id: 36805527 @@ -1973,15 +2940,119 @@ components: description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard image action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/action' + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 example: action: id: 36805527 @@ -2027,39 +3098,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -2074,11 +3154,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2088,7 +3168,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -2098,11 +3178,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2127,11 +3207,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2175,7 +3255,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2184,7 +3264,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2258,6 +3338,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2276,7 +3363,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2286,7 +3373,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2300,7 +3387,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2372,7 +3459,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2380,11 +3467,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2403,7 +3490,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2478,12 +3565,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2497,7 +3591,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2566,7 +3660,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2618,133 +3712,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2812,14 +3932,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2996,6 +4115,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3076,9 +4200,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3109,13 +4233,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3222,13 +4351,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3334,7 +4468,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3348,6 +4482,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3428,9 +4567,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3461,13 +4600,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3574,12 +4718,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3588,12 +4868,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3610,12 +4890,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3630,6 +4910,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3728,12 +5013,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3742,6 +5027,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3840,12 +5130,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3944,15 +5239,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3961,6 +5256,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4041,9 +5341,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4074,10 +5374,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4115,13 +5416,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4158,6 +5460,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4247,9 +5550,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4279,7 +5582,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4311,6 +5614,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4594,12 +5898,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4609,8 +5913,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4646,8 +5950,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4683,6 +5987,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4738,7 +6047,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4746,8 +6055,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4788,6 +6097,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4804,7 +6118,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4815,8 +6129,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4852,8 +6166,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4889,6 +6203,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4900,12 +6219,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4915,8 +6234,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4952,8 +6271,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4988,6 +6307,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4999,12 +6323,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5014,8 +6338,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5051,8 +6375,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5087,6 +6411,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5296,11 +6625,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5352,7 +6681,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5366,11 +6695,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5396,11 +6725,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5426,7 +6755,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5450,7 +6779,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5522,11 +6851,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5638,7 +6967,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5701,7 +7030,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5750,11 +7079,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5826,11 +7155,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -6011,8 +7340,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6050,13 +7399,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -6093,6 +7443,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6182,9 +7533,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6214,7 +7565,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6246,6 +7597,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6294,7 +7646,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6324,7 +7676,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6578,14 +7930,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6595,7 +7947,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6605,125 +7957,109 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: images: id: digitalocean.images.images name: images title: Images methods: - list: + images_list: operation: $ref: '#/paths/~1v2~1images/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_images' objectKey: $.images - _list: - operation: - $ref: '#/paths/~1v2~1images/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_custom: + images_create_custom: operation: $ref: '#/paths/~1v2~1images/post' response: mediaType: application/json openAPIDocKey: '202' - get: + schemaRef: '#/components/responses/new_custom_image' + images_get: operation: $ref: '#/paths/~1v2~1images~1{image_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_image' objectKey: $.image - _get: - operation: - $ref: '#/paths/~1v2~1images~1{image_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update: + images_update: operation: $ref: '#/paths/~1v2~1images~1{image_id}/put' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/updated_image' + images_delete: operation: $ref: '#/paths/~1v2~1images~1{image_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/images/methods/list' - - $ref: '#/components/x-stackQL-resources/images/methods/get' + - $ref: '#/components/x-stackQL-resources/images/methods/images_get' + - $ref: '#/components/x-stackQL-resources/images/methods/images_list' insert: - - $ref: '#/components/x-stackQL-resources/images/methods/create_custom' + - $ref: '#/components/x-stackQL-resources/images/methods/images_create_custom' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/images/methods/delete' + - $ref: '#/components/x-stackQL-resources/images/methods/images_delete' actions: id: digitalocean.images.actions name: actions title: Actions methods: - imageActions_list: + image_actions_list: operation: $ref: '#/paths/~1v2~1images~1{image_id}~1actions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/get_image_actions_response' objectKey: $.actions - _imageActions_list: - operation: - $ref: '#/paths/~1v2~1images~1{image_id}~1actions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - imageActions_post: + image_actions_post: operation: $ref: '#/paths/~1v2~1images~1{image_id}~1actions/post' response: mediaType: application/json openAPIDocKey: '201' - imageActions_get: - operation: - $ref: '#/paths/~1v2~1images~1{image_id}~1actions~1{action_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.action - _imageActions_get: + schemaRef: '#/components/responses/post_image_action_response' + image_actions_get: operation: $ref: '#/paths/~1v2~1images~1{image_id}~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/get_image_action_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/actions/methods/imageActions_list' - - $ref: '#/components/x-stackQL-resources/actions/methods/imageActions_get' - insert: - - $ref: '#/components/x-stackQL-resources/actions/methods/imageActions_post' + - $ref: '#/components/x-stackQL-resources/actions/methods/image_actions_get' + - $ref: '#/components/x-stackQL-resources/actions/methods/image_actions_list' + insert: [] update: [] + replace: [] delete: [] paths: /v2/images: @@ -6732,28 +8068,17 @@ paths: summary: List All Images description: | To list all of the images available on your account, send a GET request to /v2/images. - ## Filtering Results ----- - It's possible to request filtered results by including certain query parameters. - **Image Type** - Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter. - > Important: The `type` query parameter does not directly relate to the `type` attribute. - To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`. - To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`. - **User Images** - To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`. - **Tags** - To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`. tags: - Images @@ -6825,9 +8150,17 @@ paths: # List all application images images = client.images.all(type: 'application') images.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.images.list() security: - bearer_auth: - - read + - image:read post: operationId: images_create_custom summary: Create a Custom Image @@ -6865,10 +8198,30 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name": "ubuntu-18.04-minimal", "url": "http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img", "distribution": "Ubuntu", "region": "nyc3", "description": "Cloud-optimized image w/ small footprint", "tags":["base-image", "prod"]}' \ "https://api.digitalocean.com/v2/images" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "ubuntu-18.04-minimal", + "url": "http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img", + "distribution": "Ubuntu", + "region": "nyc3", + "description": "Cloud-optimized image w/ small footprint", + "tags": [ + "base-image", + "prod" + ] + } + + resp = client.images.create_custom(body=req) security: - bearer_auth: - - write - '/v2/images/{image_id}': + - image:create + /v2/images/{image_id}: get: operationId: images_get summary: Retrieve an Existing Image @@ -6883,9 +8236,7 @@ paths: description: | A unique number (id) or string (slug) used to identify and reference a specific image. - **Public** images can be identified by image `id` or `slug`. - **Private** images *must* be identified by image `id`. required: true schema: @@ -6895,9 +8246,11 @@ paths: examples: byId: summary: Retrieve a public or private image by id + description: Retrieve a public or private image by id value: 62137902 bySlug: summary: Retrieve a public image by slug + description: Retrieve a public image by slug value: ubuntu-16-04-x64 responses: '200': @@ -6958,9 +8311,17 @@ paths: # Retrieve image by slug client.images.find(id: 'ubuntu-16-04-x64') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.images.get(image_id=134215) security: - bearer_auth: - - read + - image:read put: operationId: images_update summary: Update an Image @@ -7028,9 +8389,23 @@ paths: image = DropletKit::Image.new(name: 'new-image-name') client.images.update(image, id: 7938391) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "Nifty New Snapshot", + "distribution": "Ubuntu", + "description": " " + } + + resp = client.images.update(image_id=234532, body=req) security: - bearer_auth: - - write + - image:update delete: operationId: images_delete summary: Delete an Image @@ -7084,14 +8459,22 @@ paths: client = DropletKit::Client.new(access_token: token) client.images.delete(id: 7938391) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.images.delete(image_id=134215) security: - bearer_auth: - - write - '/v2/images/{image_id}/actions': + - image:delete + /v2/images/{image_id}/actions: get: operationId: imageActions_list summary: List All Actions for an Image - description: 'To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`.' + description: To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. tags: - Image Actions parameters: @@ -7133,22 +8516,26 @@ paths: } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.image_actions.list(image_id=7938269) security: - bearer_auth: - - read + - image:read post: operationId: imageActions_post summary: Initiate an Image Action description: | The following actions are available on an Image. - ## Convert an Image to a Snapshot - To convert an image, for example, a backup to a snapshot, send a POST request to `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `convert`. - ## Transfer an Image - To transfer an image to another region, send a POST request to `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `transfer` and set `region` attribute to the slug identifier of the region you wish to transfer @@ -7236,14 +8623,25 @@ paths: # Convert an Image to a Snapshot # client.image_actions.convert(image_id: 7938269) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "type": "convert" + } + resp = client.image_actions.post(image_id=342341, body=req) security: - bearer_auth: - - write - '/v2/images/{image_id}/actions/{action_id}': + - image:create + /v2/images/{image_id}/actions/{action_id}: get: operationId: imageActions_get summary: Retrieve an Existing Action - description: 'To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`.' + description: To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. tags: - Image Actions parameters: @@ -7293,6 +8691,14 @@ paths: client = DropletKit::Client.new(access_token: token) client.image_actions.find(image_id: 7938269, id: 36805527) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.image_actions.get(action_id=36805527, image_id=7938269) security: - bearer_auth: - - read + - image:read diff --git a/providers/src/digitalocean/v00.00.00000/services/kubernetes.yaml b/providers/src/digitalocean/v00.00.00000/services/kubernetes.yaml index c56d7a37..f0c95ac6 100644 --- a/providers/src/digitalocean/v00.00.00000/services/kubernetes.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/kubernetes.yaml @@ -1,18 +1,24 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - kubernetes version: '2.0' - description: Kubernetes license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - kubernetes + description: |- + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) + allows you to quickly deploy scalable and secure Kubernetes clusters. By + sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, + create, or delete clusters as well as scale node pools up and down, + recycle individual nodes, and retrieve the kubeconfig file for use with + a cluster. security: - bearer_auth: [] tags: @@ -20,52 +26,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +70,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +85,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +111,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +160,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +168,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +183,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +205,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +223,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +275,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +291,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +306,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +333,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +351,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,53 +386,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 cluster: type: object properties: @@ -540,17 +428,16 @@ components: version: type: string example: 1.18.6-do.0 - description: 'The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.' + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. cluster_subnet: type: string format: cidr - readOnly: true - example: 10.244.0.0/16 - description: The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation. + example: 192.168.0.0/20 + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. service_subnet: type: string - readOnly: true - example: 10.245.0.0/16 + format: cidr + example: 192.168.16.0/24 description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. vpc_uuid: type: string @@ -565,7 +452,7 @@ components: endpoint: type: string readOnly: true - example: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com description: The base URL of the API server on the Kubernetes master node. tags: type: array @@ -573,17 +460,154 @@ components: type: string example: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af - production - web-team - description: 'An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.' + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. node_pools: type: array description: An object specifying the details of the worker nodes available to the Kubernetes cluster. items: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. maintenance_policy: - $ref: '#/components/schemas/maintenance_policy' + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. auto_upgrade: type: boolean default: false @@ -637,275 +661,72 @@ components: readOnly: true example: true description: A read-only boolean value indicating if a container registry is integrated with the cluster. + control_plane_firewall: + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enable: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 required: - name - region - version - node_pools - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - kubernetes_node_pool: - allOf: - - $ref: '#/components/schemas/kubernetes_node_pool_size' - - $ref: '#/components/schemas/kubernetes_node_pool_base' - required: - - name - - size - - count - maintenance_policy: - type: object - nullable: true - description: An object specifying the maintenance window policy for the Kubernetes cluster. - properties: - start_time: - type: string - example: '12:00' - description: 'The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`).' - duration: - type: string - readOnly: true - example: 4h0m0s - description: The duration of the maintenance window policy in human-readable format. - day: - type: string - enum: - - any - - monday - - tuesday - - wednesday - - thursday - - friday - - saturday - - sunday - example: any - description: 'The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day.' - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - kubernetes_node_pool_size: - type: object - properties: - size: - type: string - example: s-1vcpu-2gb - description: The slug identifier for the type of Droplet used as workers in the node pool. - kubernetes_node_pool_base: + cluster_update: type: object properties: - id: - type: string - format: uuid - readOnly: true - example: cdda885e-7663-40c8-bc74-3a036c66545d - description: A unique ID that can be used to identify and reference a specific node pool. name: type: string - example: frontend-pool - description: A human-readable name for the node pool. - count: - type: integer - example: 3 - description: The number of Droplet instances in the node pool. + example: prod-cluster-01 + description: A human-readable name for a Kubernetes cluster. tags: type: array items: type: string example: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - k8s-worker + - k8s:bd5f5959-5e1e-4205-a714-a914373942af - production - web-team - description: 'An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.' - labels: + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + maintenance_policy: type: object nullable: true - example: null - description: An object containing a set of Kubernetes labels. The keys and are values are both user-defined. - taints: - type: array - items: - $ref: '#/components/schemas/kubernetes_node_pool_taint' - description: 'An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is removed from all nodes in the pool.' - auto_scale: - type: boolean - example: true - description: A boolean value indicating whether auto-scaling is enabled for this node pool. - min_nodes: - type: integer - example: 3 - description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. - max_nodes: - type: integer - example: 6 - description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. - nodes: - type: array - readOnly: true - description: An object specifying the details of a specific worker node in a node pool. - items: - $ref: '#/components/schemas/node' - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - kubernetes_node_pool_taint: - type: object - properties: - key: - type: string - example: priority - description: 'An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`.' - value: - type: string - example: high - description: 'An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`.' - effect: - type: string - enum: - - NoSchedule - - PreferNoSchedule - - NoExecute - example: NoSchedule - description: 'How the node reacts to pods that it won''t tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.' - node: - type: object - properties: - id: - type: string - format: uuid - example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f - description: A unique ID that can be used to identify and reference the node. - name: - type: string - example: adoring-newton-3niq - description: 'An automatically generated, human-readable name for the node.' - status: - type: object - description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + description: An object specifying the maintenance window policy for the Kubernetes cluster. properties: - state: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: type: string enum: - - provisioning - - running - - draining - - deleting - example: provisioning - description: A string indicating the current status of the node. - droplet_id: - type: string - example: '205545370' - description: The ID of the Droplet used for the worker node. - created_at: - type: string - format: date-time - example: '2018-11-15T16:00:11Z' - description: A time value given in ISO8601 combined date and time format that represents when the node was created. - updated_at: - type: string - format: date-time - example: '2018-11-15T16:00:11Z' - description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - cluster_update: - type: object - properties: - name: - type: string - example: prod-cluster-01 - description: A human-readable name for a Kubernetes cluster. - tags: - type: array - items: - type: string - example: - - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - production - - web-team - description: 'An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.' - maintenance_policy: - $ref: '#/components/schemas/maintenance_policy' + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. auto_upgrade: type: boolean default: false @@ -921,205 +742,274 @@ components: default: false example: true description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + control_plane_firewall: + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enable: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 required: - name - associated_kubernetes_resources: + destroy_associated_kubernetes_resources: type: object - description: An object containing the IDs of resources associated with a Kubernetes cluster. + description: An object containing the IDs of resources to be destroyed along with their associated with a Kubernetes cluster. properties: load_balancers: type: array items: - $ref: '#/components/schemas/associated_kubernetes_resource' + type: string example: - - id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 - name: lb-001 - description: A list of names and IDs for associated load balancers that can be destroyed along with the cluster. + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A list of IDs for associated load balancers to destroy along with the cluster. volumes: type: array items: - $ref: '#/components/schemas/associated_kubernetes_resource' + type: string example: - - id: ba49449a-7435-11ea-b89e-0a58ac14480f - name: volume-001 - description: A list of names and IDs for associated volumes that can be destroyed along with the cluster. + - ba49449a-7435-11ea-b89e-0a58ac14480f + description: A list of IDs for associated volumes to destroy along with the cluster. volume_snapshots: type: array items: - $ref: '#/components/schemas/associated_kubernetes_resource' + type: string example: - - id: edb0478d-7436-11ea-86e6-0a58ac144b91 - name: snapshot-001 - description: A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster. - associated_kubernetes_resource: + - edb0478d-7436-11ea-86e6-0a58ac144b91 + description: A list of IDs for associated volume snapshots to destroy along with the cluster. + kubernetes_node_pool: type: object properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. id: type: string - description: The ID of a resource associated with a Kubernetes cluster. - example: edb0478d-7436-11ea-86e6-0a58ac144b91 + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. name: type: string - description: The name of a resource associated with a Kubernetes cluster. - example: volume-001 - destroy_associated_kubernetes_resources: - type: object - description: An object containing the IDs of resources to be destroyed along with their associated with a Kubernetes cluster. - properties: - load_balancers: + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: type: array items: type: string example: - - 4de7ac8b-495b-4884-9a69-1050c6793cd6 - description: A list of IDs for associated load balancers to destroy along with the cluster. - volumes: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: type: array items: - type: string - example: - - ba49449a-7435-11ea-b89e-0a58ac14480f - description: A list of IDs for associated volumes to destroy along with the cluster. - volume_snapshots: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. items: - type: string - example: - - edb0478d-7436-11ea-86e6-0a58ac144b91 - description: A list of IDs for associated volume snapshots to destroy along with the cluster. - credentials: - type: object - properties: - server: - type: string - format: uri - example: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' - description: The URL used to access the cluster API server. - certificate_authority_data: - type: string - format: byte - example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - description: A base64 encoding of bytes representing the certificate authority data for accessing the cluster. - client_certificate_data: - type: string - format: byte - deprecated: true - nullable: true - example: null - description: | - A base64 encoding of bytes representing the x509 client - certificate data for access the cluster. This is only returned for clusters - without support for token-based authentication. - - Newly created Kubernetes clusters do not return credentials using - certificate-based authentication. For additional information, - [see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate). - client_key_data: - type: string - format: byte - deprecated: true - nullable: true - example: null - description: | - A base64 encoding of bytes representing the x509 client key - data for access the cluster. This is only returned for clusters without - support for token-based authentication. - - Newly created Kubernetes clusters do not return credentials using - certificate-based authentication. For additional information, - [see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate). - token: - type: string - example: $DIGITALOCEAN_TOKEN - description: An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication. - expires_at: - type: string - format: date-time - example: '2019-11-09T11:50:28.889080521Z' - description: A time value given in ISO8601 combined date and time format that represents when the access token expires. - kubernetes_version: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. + kubernetes_node_pool_update: type: object properties: - slug: + id: type: string - example: 1.16.13-do.0 - description: The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. - kubernetes_version: + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: type: string - example: 1.16.13 - description: The upstream version string for the version of Kubernetes provided by a given slug. - supported_features: + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: type: array items: type: string example: - - cluster-autoscaler - - docr-integration - - token-authentication - description: The features available with the version of Kubernetes provided by a given slug. - kubernetes_node_pool_update: - allOf: - - $ref: '#/components/schemas/kubernetes_node_pool_base' - required: - - name - - count - user: - type: object - properties: - kubernetes_cluster_user: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: type: object - properties: - username: - type: string - format: email - example: sammy@digitalocean.com - description: The username for the cluster admin user. - groups: - type: array - items: + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: type: string - example: - - 'k8saas:authenticated' - description: A list of in-cluster groups that the user belongs to. - kubernetes_options: - type: object - properties: - options: - properties: - regions: - type: array - items: - $ref: '#/components/schemas/kubernetes_region' - versions: - type: array - items: - $ref: '#/components/schemas/kubernetes_version' - sizes: - type: array - items: - $ref: '#/components/schemas/kubernetes_size' - kubernetes_region: - type: object - properties: - name: - type: string - example: New York 3 - description: A DigitalOcean region where Kubernetes is available. - slug: - type: string - example: nyc3 - description: The identifier for a region for use when creating a new cluster. - kubernetes_size: - type: object - properties: - name: - type: string - example: s-1vcpu-2gb - description: A Droplet size available for use in a Kubernetes node pool. - slug: - type: string - example: s-1vcpu-2gb - description: The identifier for a size for use when creating a new cluster. + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. clusterlint_request: type: object properties: @@ -1154,57 +1044,6 @@ components: example: - default-namespace description: An array of checks that will be run when clusterlint executes checks. - clusterlint_results: - type: object - properties: - run_id: - type: string - example: 50c2f44c-011d-493e-aee5-361a4a0d1844 - description: Id of the clusterlint run that can be used later to fetch the diagnostics. - requested_at: - type: string - format: date-time - example: '2019-10-30T05:34:07Z' - description: A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made. - completed_at: - type: string - format: date-time - example: '2019-10-30T05:34:11Z' - description: A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed. - diagnostics: - description: An array of diagnostics reporting potential problems for the given cluster. - type: array - items: - type: object - properties: - check_name: - type: string - example: unused-config-map - description: The clusterlint check that resulted in the diagnostic. - severity: - type: string - example: warning - description: 'Can be one of error, warning or suggestion.' - message: - type: string - example: Unused config map - description: Feedback about the object for users to fix. - object: - type: object - description: Metadata about the Kubernetes API object the diagnostic is reported on. - properties: - name: - type: string - example: foo - description: Name of the object - kind: - type: string - example: config map - description: The kind of Kubernetes API object - namespace: - type: string - example: kube-system - description: The namespace the object resides in the cluster. cluster_registries: type: object properties: @@ -1256,8 +1095,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1276,7 +1121,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1286,7 +1131,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1319,7 +1164,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1339,6 +1184,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1349,6 +1195,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1366,14 +1213,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1381,7 +1220,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1400,6 +1239,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1475,6 +1323,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1485,7 +1357,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1518,11 +1390,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1531,6 +1403,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1538,7 +1421,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1640,7 +1523,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1747,7 +1630,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1755,11 +1638,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1774,7 +1707,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1784,7 +1717,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1818,7 +1751,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1838,7 +1771,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1885,12 +1818,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1904,8 +1837,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1933,6 +1892,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1959,39 +1927,490 @@ components: standard Kubernetes cluster attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + kubernetes_clusters: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: bd5f5959-5e1e-4205-a714-a914373942af + description: A unique ID that can be used to identify and reference a Kubernetes cluster. + name: + type: string + example: prod-cluster-01 + description: A human-readable name for a Kubernetes cluster. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the Kubernetes cluster is located. + version: + type: string + example: 1.18.6-do.0 + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. + cluster_subnet: + type: string + format: cidr + example: 192.168.0.0/20 + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. + service_subnet: + type: string + format: cidr + example: 192.168.16.0/24 + description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned. + ipv4: + type: string + readOnly: true + example: 68.183.121.157 + description: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) + endpoint: + type: string + readOnly: true + example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + description: The base URL of the API server on the Kubernetes master node. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - production + - web-team + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + node_pools: + type: array + description: An object specifying the details of the worker nodes available to the Kubernetes cluster. + items: + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. + maintenance_policy: + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. + auto_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. + status: + type: object + readOnly: true + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. + properties: + state: + type: string + enum: + - running + - provisioning + - degraded + - error + - deleted + - upgrading + - deleting + example: provisioning + description: A string indicating the current status of the cluster. + message: + type: string + example: provisioning + description: An optional message providing additional information about the current cluster state. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + readOnly: true + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. + surge_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. + ha: + type: boolean + default: false + example: true + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + registry_enabled: + type: boolean + readOnly: true + example: true + description: A read-only boolean value indicating if a container registry is integrated with the cluster. + control_plane_firewall: + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enable: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 + required: + - name + - region + - version + - node_pools + links: + type: object properties: - kubernetes_clusters: - type: array - items: - $ref: '#/components/schemas/cluster' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: All Kubernetes Clusters: - $ref: '#/components/examples/kubernetes_clusters_all' + value: + kubernetes_clusters: + - id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: 68.183.121.157 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: adoring-newton-3niq + status: + state: provisioning + droplet_id: '205545370' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: adoring-newton-3nim + status: + state: provisioning + droplet_id: '205545371' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: adoring-newton-3ni7 + status: + state: provisioning + droplet_id: '205545372' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: affectionate-nightingale-3nif + status: + state: provisioning + droplet_id: '205545373' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: affectionate-nightingale-3niy + status: + state: provisioning + droplet_id: '205545374' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: provisioning + message: provisioning + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 + meta: + total: 1 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1999,15 +2418,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -2015,15 +2459,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -2031,15 +2500,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -2048,29 +2542,481 @@ components: The response will be a JSON object with a key called `kubernetes_cluster`. The value of this will be an object containing the standard attributes of a Kubernetes cluster. - The IP address and cluster API server endpoint will not be available until the cluster has finished provisioning. The initial value of the cluster's `status.state` attribute will be `provisioning`. When the cluster is ready, this will transition to `running`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: kubernetes_cluster: - $ref: '#/components/schemas/cluster' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: bd5f5959-5e1e-4205-a714-a914373942af + description: A unique ID that can be used to identify and reference a Kubernetes cluster. + name: + type: string + example: prod-cluster-01 + description: A human-readable name for a Kubernetes cluster. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the Kubernetes cluster is located. + version: + type: string + example: 1.18.6-do.0 + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. + cluster_subnet: + type: string + format: cidr + example: 192.168.0.0/20 + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. + service_subnet: + type: string + format: cidr + example: 192.168.16.0/24 + description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned. + ipv4: + type: string + readOnly: true + example: 68.183.121.157 + description: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) + endpoint: + type: string + readOnly: true + example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + description: The base URL of the API server on the Kubernetes master node. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - production + - web-team + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + node_pools: + type: array + description: An object specifying the details of the worker nodes available to the Kubernetes cluster. + items: + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. + maintenance_policy: + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. + auto_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. + status: + type: object + readOnly: true + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. + properties: + state: + type: string + enum: + - running + - provisioning + - degraded + - error + - deleted + - upgrading + - deleting + example: provisioning + description: A string indicating the current status of the cluster. + message: + type: string + example: provisioning + description: An optional message providing additional information about the current cluster state. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + readOnly: true + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. + surge_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. + ha: + type: boolean + default: false + example: true + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + registry_enabled: + type: boolean + readOnly: true + example: true + description: A read-only boolean value indicating if a container registry is integrated with the cluster. + control_plane_firewall: + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enable: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 + required: + - name + - region + - version + - node_pools examples: Kubernetes Cluster Response: - $ref: '#/components/examples/kubernetes_clusters_create_basic_response' + value: + kubernetes_cluster: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: '' + endpoint: '' + tags: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: worker-pool + size: s-1vcpu-2gb + count: 3 + tags: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: provisioning + message: provisioning + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 Kubernetes Cluster with Multiple Node Pools Response: - $ref: '#/components/examples/kubernetes_clusters_multi_pool_response' + value: + kubernetes_clusters: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: '' + endpoint: '' + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - frontend + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '12:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: provisioning + message: provisioning + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 existing_cluster: description: | The response will be a JSON object with a key called `kubernetes_cluster`. The @@ -2078,33 +3024,442 @@ components: Kubernetes cluster. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: kubernetes_cluster: - $ref: '#/components/schemas/cluster' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: bd5f5959-5e1e-4205-a714-a914373942af + description: A unique ID that can be used to identify and reference a Kubernetes cluster. + name: + type: string + example: prod-cluster-01 + description: A human-readable name for a Kubernetes cluster. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the Kubernetes cluster is located. + version: + type: string + example: 1.18.6-do.0 + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. + cluster_subnet: + type: string + format: cidr + example: 192.168.0.0/20 + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. + service_subnet: + type: string + format: cidr + example: 192.168.16.0/24 + description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned. + ipv4: + type: string + readOnly: true + example: 68.183.121.157 + description: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) + endpoint: + type: string + readOnly: true + example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + description: The base URL of the API server on the Kubernetes master node. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - production + - web-team + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + node_pools: + type: array + description: An object specifying the details of the worker nodes available to the Kubernetes cluster. + items: + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. + maintenance_policy: + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. + auto_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. + status: + type: object + readOnly: true + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. + properties: + state: + type: string + enum: + - running + - provisioning + - degraded + - error + - deleted + - upgrading + - deleting + example: provisioning + description: A string indicating the current status of the cluster. + message: + type: string + example: provisioning + description: An optional message providing additional information about the current cluster state. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + readOnly: true + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. + surge_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. + ha: + type: boolean + default: false + example: true + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + registry_enabled: + type: boolean + readOnly: true + example: true + description: A read-only boolean value indicating if a container registry is integrated with the cluster. + control_plane_firewall: + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enable: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 + required: + - name + - region + - version + - node_pools examples: Single Kubernetes Cluster: - $ref: '#/components/examples/kubernetes_single' + value: + kubernetes_cluster: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: 68.183.121.157 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: adoring-newton-3niq + status: + state: running + droplet_id: '205545370' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: adoring-newton-3nim + status: + state: running + droplet_id: '205545371' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: adoring-newton-3ni7 + status: + state: running + droplet_id: '205545372' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: affectionate-nightingale-3nif + status: + state: running + droplet_id: '205545373' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: affectionate-nightingale-3niy + status: + state: running + droplet_id: '205545374' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: running + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -2115,51 +3470,515 @@ components: Kubernetes cluster. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: kubernetes_cluster: - $ref: '#/components/schemas/cluster' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: bd5f5959-5e1e-4205-a714-a914373942af + description: A unique ID that can be used to identify and reference a Kubernetes cluster. + name: + type: string + example: prod-cluster-01 + description: A human-readable name for a Kubernetes cluster. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the Kubernetes cluster is located. + version: + type: string + example: 1.18.6-do.0 + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. + cluster_subnet: + type: string + format: cidr + example: 192.168.0.0/20 + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. + service_subnet: + type: string + format: cidr + example: 192.168.16.0/24 + description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned. + ipv4: + type: string + readOnly: true + example: 68.183.121.157 + description: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) + endpoint: + type: string + readOnly: true + example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + description: The base URL of the API server on the Kubernetes master node. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - production + - web-team + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + node_pools: + type: array + description: An object specifying the details of the worker nodes available to the Kubernetes cluster. + items: + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. + maintenance_policy: + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. + auto_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. + status: + type: object + readOnly: true + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. + properties: + state: + type: string + enum: + - running + - provisioning + - degraded + - error + - deleted + - upgrading + - deleting + example: provisioning + description: A string indicating the current status of the cluster. + message: + type: string + example: provisioning + description: An optional message providing additional information about the current cluster state. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + readOnly: true + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. + surge_upgrade: + type: boolean + default: false + example: true + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. + ha: + type: boolean + default: false + example: true + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + registry_enabled: + type: boolean + readOnly: true + example: true + description: A read-only boolean value indicating if a container registry is integrated with the cluster. + control_plane_firewall: + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enable: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 + required: + - name + - region + - version + - node_pools examples: Updated Kubernetes Cluster: - $ref: '#/components/examples/kubernetes_updated' + value: + kubernetes_cluster: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: 68.183.121.157 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: adoring-newton-3niq + status: + state: running + droplet_id: '205545370' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: adoring-newton-3nim + status: + state: running + droplet_id: '205545371' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: adoring-newton-3ni7 + status: + state: running + droplet_id: '205545372' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: affectionate-nightingale-3nif + status: + state: running + droplet_id: '205545373' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: affectionate-nightingale-3niy + status: + state: running + droplet_id: '205545374' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: true + status: + state: running + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: true + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 no_content: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. associated_kubernetes_resources_list: - description: 'The response will be a JSON object containing `load_balancers`, `volumes`, and `volume_snapshots` keys. Each will be set to an array of objects containing the standard attributes for associated resources.' + description: The response will be a JSON object containing `load_balancers`, `volumes`, and `volume_snapshots` keys. Each will be set to an array of objects containing the standard attributes for associated resources. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/associated_kubernetes_resources' + type: object + description: An object containing the IDs of resources associated with a Kubernetes cluster. + properties: + load_balancers: + type: array + items: + type: object + properties: + id: + type: string + description: The ID of a resource associated with a Kubernetes cluster. + example: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: + type: string + description: The name of a resource associated with a Kubernetes cluster. + example: volume-001 + example: + - id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: lb-001 + description: A list of names and IDs for associated load balancers that can be destroyed along with the cluster. + volumes: + type: array + items: + type: object + properties: + id: + type: string + description: The ID of a resource associated with a Kubernetes cluster. + example: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: + type: string + description: The name of a resource associated with a Kubernetes cluster. + example: volume-001 + example: + - id: ba49449a-7435-11ea-b89e-0a58ac14480f + name: volume-001 + description: A list of names and IDs for associated volumes that can be destroyed along with the cluster. + volume_snapshots: + type: array + items: + type: object + properties: + id: + type: string + description: The ID of a resource associated with a Kubernetes cluster. + example: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: + type: string + description: The name of a resource associated with a Kubernetes cluster. + example: volume-001 + example: + - id: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: snapshot-001 + description: A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster. kubeconfig: description: A kubeconfig file for the cluster in YAML format. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/yaml: example: | @@ -2185,30 +4004,93 @@ components: description: A JSON object containing credentials for a cluster. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/credentials' + type: object + properties: + server: + type: string + format: uri + example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + description: The URL used to access the cluster API server. + certificate_authority_data: + type: string + format: byte + example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + description: A base64 encoding of bytes representing the certificate authority data for accessing the cluster. + client_certificate_data: + type: string + format: byte + deprecated: true + nullable: true + example: null + description: | + A base64 encoding of bytes representing the x509 client + certificate data for access the cluster. This is only returned for clusters + without support for token-based authentication. + Newly created Kubernetes clusters do not return credentials using + certificate-based authentication. For additional information, + [see here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). + client_key_data: + type: string + format: byte + deprecated: true + nullable: true + example: null + description: | + A base64 encoding of bytes representing the x509 client key + data for access the cluster. This is only returned for clusters without + support for token-based authentication. + Newly created Kubernetes clusters do not return credentials using + certificate-based authentication. For additional information, + [see here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). + token: + type: string + example: $DIGITALOCEAN_TOKEN + description: An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication. + expires_at: + type: string + format: date-time + example: '2019-11-09T11:50:28.889080521Z' + description: A time value given in ISO8601 combined date and time format that represents when the access token expires. available_upgrades: description: | The response will be a JSON object with a key called `available_upgrade_versions`. The value of this will be an array of objects, representing the upgrade versions currently available for this cluster. - If the cluster is up-to-date (i.e. there are no upgrades currently available) `available_upgrade_versions` will be `null`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2218,16 +4100,43 @@ components: type: array nullable: true items: - $ref: '#/components/schemas/kubernetes_version' + type: object + properties: + slug: + type: string + example: 1.16.13-do.0 + description: The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. + kubernetes_version: + type: string + example: 1.16.13 + description: The upstream version string for the version of Kubernetes provided by a given slug. + supported_features: + type: array + items: + type: string + example: + - cluster-autoscaler + - docr-integration + - token-authentication + description: The features available with the version of Kubernetes provided by a given slug. accepted: - description: 'The does not indicate the success or failure of any operation, just that the request has been accepted for processing.' + description: The does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. all_node_pools: description: | The response will be a JSON object with a key called `node_pools`. This will @@ -2235,11 +4144,20 @@ components: pool attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2247,7 +4165,119 @@ components: node_pools: type: array items: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. example: node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d @@ -2258,8 +4288,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null auto_scale: false min_nodes: 0 @@ -2294,8 +4324,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -2323,17 +4353,138 @@ components: this will be an object containing the standard attributes of a node pool. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: node_pool: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. example: node_pool: id: cdda885e-7663-40c8-bc74-3a036c66545d @@ -2345,8 +4496,8 @@ components: - web-team - front-end - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: true @@ -2380,17 +4531,138 @@ components: of this will be an object containing the standard attributes of a node pool. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: node_pool: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. example: node_pool: id: cdda885e-7663-40c8-bc74-3a036c66545d @@ -2401,8 +4673,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -2441,17 +4713,138 @@ components: this will be an object containing the standard attributes of a node pool. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: node_pool: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. example: node_pool: id: cdda885e-7663-40c8-bc74-3a036c66545d @@ -2464,8 +4857,8 @@ components: - front-end - new-tag - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: true @@ -2499,15 +4892,40 @@ components: containing the username and in-cluster groups that it belongs to. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/user' + type: object + properties: + kubernetes_cluster_user: + type: object + properties: + username: + type: string + format: email + example: sammy@digitalocean.com + description: The username for the cluster admin user. + groups: + type: array + items: + type: string + example: + - k8saas:authenticated + description: A list of in-cluster groups that the user belongs to. all_options: description: | The response will be a JSON object with a key called `options` which contains @@ -2515,27 +4933,234 @@ components: the matching slugs for use when creating a new cluster. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/kubernetes_options' + type: object + properties: + options: + properties: + regions: + type: array + items: + type: object + properties: + name: + type: string + example: New York 3 + description: A DigitalOcean region where Kubernetes is available. + slug: + type: string + example: nyc3 + description: The identifier for a region for use when creating a new cluster. + versions: + type: array + items: + type: object + properties: + slug: + type: string + example: 1.16.13-do.0 + description: The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. + kubernetes_version: + type: string + example: 1.16.13 + description: The upstream version string for the version of Kubernetes provided by a given slug. + supported_features: + type: array + items: + type: string + example: + - cluster-autoscaler + - docr-integration + - token-authentication + description: The features available with the version of Kubernetes provided by a given slug. + sizes: + type: array + items: + type: object + properties: + name: + type: string + example: s-1vcpu-2gb + description: A Droplet size available for use in a Kubernetes node pool. + slug: + type: string + example: s-1vcpu-2gb + description: The identifier for a size for use when creating a new cluster. examples: All Kubernetes Options: - $ref: '#/components/examples/kubernetes_options' + value: + options: + regions: + - name: New York 1 + slug: nyc1 + - name: Singapore 1 + slug: sgp1 + - name: London 1 + slug: lon1 + - name: New York 3 + slug: nyc3 + - name: Amsterdam 3 + slug: ams3 + - name: Frankfurt 1 + slug: fra1 + - name: Toronto 1 + slug: tor1 + - name: San Francisco 2 + slug: sfo2 + - name: Bangalore 1 + slug: blr1 + - name: San Francisco 3 + slug: sfo3 + versions: + - slug: 1.18.8-do.0 + kubernetes_version: 1.18.8 + supported_features: + - cluster-autoscaler + - docr-integration + - token-authentication + - slug: 1.17.11-do.0 + kubernetes_version: 1.17.11 + supported_features: + - cluster-autoscaler + - docr-integration + - token-authentication + - slug: 1.16.14-do.0 + kubernetes_version: 1.16.14 + supported_features: + - cluster-autoscaler + - docr-integration + - token-authentication + sizes: + - name: s-1vcpu-2gb + slug: s-1vcpu-2gb + - name: s-2vcpu-2gb + slug: s-2vcpu-2gb + - name: s-1vcpu-3gb + slug: s-1vcpu-3gb + - name: s-2vcpu-4gb + slug: s-2vcpu-4gb + - name: s-4vcpu-8gb + slug: s-4vcpu-8gb + - name: c-2-4GiB + slug: c-2 + - name: g-2vcpu-8gb + slug: g-2vcpu-8gb + - name: gd-2vcpu-8gb + slug: gd-2vcpu-8gb + - name: s-8vcpu-16gb + slug: s-8vcpu-16gb + - name: s-6vcpu-16gb + slug: s-6vcpu-16gb + - name: c-4-8GiB + slug: c-4 + - name: m-2vcpu-16gb + slug: m-2vcpu-16gb + - name: m3-2vcpu-16gb + slug: m3-2vcpu-16gb + - name: g-4vcpu-16gb + slug: g-4vcpu-16gb + - name: gd-4vcpu-16gb + slug: gd-4vcpu-16gb + - name: m6-2vcpu-16gb + slug: m6-2vcpu-16gb + - name: s-8vcpu-32gb + slug: s-8vcpu-32gb + - name: c-8-16GiB + slug: c-8 + - name: m-4vcpu-32gb + slug: m-4vcpu-32gb + - name: m3-4vcpu-32gb + slug: m3-4vcpu-32gb + - name: g-8vcpu-32gb + slug: g-8vcpu-32gb + - name: s-12vcpu-48gb + slug: s-12vcpu-48gb + - name: gd-8vcpu-32gb + slug: gd-8vcpu-32gb + - name: m6-4vcpu-32gb + slug: m6-4vcpu-32gb + - name: s-16vcpu-64gb + slug: s-16vcpu-64gb + - name: c-16 + slug: c-16 + - name: m-8vcpu-64gb + slug: m-8vcpu-64gb + - name: m3-8vcpu-64gb + slug: m3-8vcpu-64gb + - name: g-16vcpu-64gb + slug: g-16vcpu-64gb + - name: s-20vcpu-96gb + slug: s-20vcpu-96gb + - name: gd-16vcpu-64gb + slug: gd-16vcpu-64gb + - name: m6-8vcpu-64gb + slug: m6-8vcpu-64gb + - name: s-24vcpu-128gb + slug: s-24vcpu-128gb + - name: c-32-64GiB + slug: c-32 + - name: m-16vcpu-128gb + slug: m-16vcpu-128gb + - name: m3-16vcpu-128gb + slug: m3-16vcpu-128gb + - name: g-32vcpu-128gb + slug: g-32vcpu-128gb + - name: s-32vcpu-192gb + slug: s-32vcpu-192gb + - name: gd-32vcpu-128gb + slug: gd-32vcpu-128gb + - name: m-24vcpu-192gb + slug: m-24vcpu-192gb + - name: m6-16vcpu-128gb + slug: m6-16vcpu-128gb + - name: g-40vcpu-160gb + slug: g-40vcpu-160gb + - name: gd-40vcpu-160gb + slug: gd-40vcpu-160gb + - name: m3-24vcpu-192gb + slug: m3-24vcpu-192gb + - name: m-32vcpu-256gb + slug: m-32vcpu-256gb + - name: m6-24vcpu-192gb + slug: m6-24vcpu-192gb + - name: m3-32vcpu-256gb + slug: m3-32vcpu-256gb + - name: m6-32vcpu-256gb + slug: m6-32vcpu-256gb clusterlint_run: description: The response is a JSON object with a key called `run_id` that you can later use to fetch the run results. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -2551,54 +5176,121 @@ components: about the object and feedback for users to act upon. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/clusterlint_results' + type: object + properties: + run_id: + type: string + example: 50c2f44c-011d-493e-aee5-361a4a0d1844 + description: Id of the clusterlint run that can be used later to fetch the diagnostics. + requested_at: + type: string + format: date-time + example: '2019-10-30T05:34:07Z' + description: A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made. + completed_at: + type: string + format: date-time + example: '2019-10-30T05:34:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed. + diagnostics: + description: An array of diagnostics reporting potential problems for the given cluster. + type: array + items: + type: object + properties: + check_name: + type: string + example: unused-config-map + description: The clusterlint check that resulted in the diagnostic. + severity: + type: string + example: warning + description: Can be one of error, warning or suggestion. + message: + type: string + example: Unused config map + description: Feedback about the object for users to fix. + object: + type: object + description: Metadata about the Kubernetes API object the diagnostic is reported on. + properties: + name: + type: string + example: foo + description: Name of the object + kind: + type: string + example: config map + description: The kind of Kubernetes API object + namespace: + type: string + example: kube-system + description: The namespace the object resides in the cluster. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -2613,11 +5305,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2627,7 +5319,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -2637,11 +5329,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2666,11 +5358,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2714,7 +5406,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2723,7 +5415,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2797,6 +5489,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2815,7 +5514,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2825,7 +5524,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2839,7 +5538,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2911,7 +5610,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2919,11 +5618,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2942,7 +5641,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -3017,12 +5716,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -3036,7 +5742,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -3105,7 +5811,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -3157,133 +5863,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '12.00' + usd_per_second: '0.000004960317' + tier_slug: professional + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m + usd_per_month: '25.00' + usd_per_second: '0.000010333995' + tier_slug: professional + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs - cpu_type: SHARED + usd_per_month: '50.00' + usd_per_second: '0.000020667989' + tier_slug: professional + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED cpus: '1' - memory_bytes: '1073741824' - usd_per_month: '12.00' - usd_per_second: '0.000004960317' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s - cpu_type: SHARED + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED cpus: '1' memory_bytes: '2147483648' - usd_per_month: '25.00' - usd_per_second: '0.000010333995' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m - cpu_type: SHARED - cpus: '2' + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' memory_bytes: '4294967296' - usd_per_month: '50.00' - usd_per_second: '0.000020667989' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED - cpus: '1' + cpus: '2' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -3351,14 +6083,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -3535,6 +6266,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3615,9 +6351,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3648,13 +6384,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3761,13 +6502,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3873,7 +6619,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3887,6 +6633,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3967,9 +6718,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4000,13 +6751,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4113,12 +6869,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -4127,12 +7019,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -4149,12 +7041,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -4169,6 +7061,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4267,12 +7164,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -4281,6 +7178,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4379,12 +7281,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4483,15 +7390,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -4500,6 +7407,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4580,9 +7492,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4613,10 +7525,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4654,13 +7567,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4697,6 +7611,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4786,9 +7701,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4818,7 +7733,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4850,6 +7765,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -5133,12 +8049,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5148,8 +8064,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5185,8 +8101,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5222,6 +8138,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -5277,7 +8198,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -5285,8 +8206,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5327,6 +8248,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -5343,7 +8269,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5354,8 +8280,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5391,8 +8317,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5428,6 +8354,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -5439,12 +8370,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5454,8 +8385,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5491,8 +8422,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5527,6 +8458,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -5538,12 +8474,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5553,8 +8489,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5590,8 +8526,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5626,6 +8562,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5835,11 +8776,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5891,7 +8832,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5905,11 +8846,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5935,11 +8876,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5965,7 +8906,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5989,7 +8930,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -6061,11 +9002,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -6177,7 +9118,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6240,7 +9181,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6289,11 +9230,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -6365,11 +9306,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -6550,8 +9491,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6589,13 +9550,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -6632,6 +9594,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6721,9 +9684,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6753,7 +9716,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6785,6 +9748,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6833,7 +9797,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6863,7 +9827,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -7117,14 +10081,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -7134,7 +10098,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -7144,321 +10108,329 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: clusters: id: digitalocean.kubernetes.clusters name: clusters title: Clusters methods: - list_clusters: + kubernetes_list_clusters: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_clusters' objectKey: $.kubernetes_clusters - _list_clusters: - operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_cluster: + kubernetes_create_cluster: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters/post' response: mediaType: application/json openAPIDocKey: '201' - get_cluster: - operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.kubernetes_cluster - _get_cluster: + schemaRef: '#/components/responses/cluster_create' + kubernetes_get_cluster: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_cluster: + schemaRef: '#/components/responses/existing_cluster' + kubernetes_update_cluster: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}/put' response: mediaType: application/json openAPIDocKey: '202' - delete_cluster: + schemaRef: '#/components/responses/updated_cluster' + kubernetes_delete_cluster: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - list_associatedResources: - operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources/get' - response: - mediaType: application/json - openAPIDocKey: '200' - destroy_associatedResourcesSelective: + schemaRef: '#/components/responses/no_content' + kubernetes_destroy_associated_resources_selective: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources~1selective/delete' response: mediaType: application/json openAPIDocKey: '204' - destroy_associatedResourcesDangerous: + schemaRef: '#/components/responses/no_content' + kubernetes_destroy_associated_resources_dangerous: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources~1dangerous/delete' response: mediaType: application/json openAPIDocKey: '204' - get_kubeconfig: + schemaRef: '#/components/responses/no_content' + kubernetes_get_kubeconfig: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1kubeconfig/get' response: - mediaType: application/json + mediaType: null openAPIDocKey: '200' - upgrade_cluster: + schemaRef: '#/components/responses/kubeconfig' + kubernetes_upgrade_cluster: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1upgrade/post' response: mediaType: application/json openAPIDocKey: '202' + schemaRef: '#/components/responses/accepted' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/clusters/methods/list_clusters' - - $ref: '#/components/x-stackQL-resources/clusters/methods/get_cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_get_cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_list_clusters' insert: - - $ref: '#/components/x-stackQL-resources/clusters/methods/create_cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_create_cluster' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/clusters/methods/delete_cluster' - credentials: - id: digitalocean.kubernetes.credentials - name: credentials - title: Credentials + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_delete_cluster' + clusters_associated_resources: + id: digitalocean.kubernetes.clusters_associated_resources + name: clusters_associated_resources + title: Clusters Associated Resources methods: - get_credentials: + kubernetes_list_associated_resources: operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1credentials/get' + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/associated_kubernetes_resources_list' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/credentials/methods/get_credentials' + - $ref: '#/components/x-stackQL-resources/clusters_associated_resources/methods/kubernetes_list_associated_resources' insert: [] update: [] + replace: [] delete: [] - upgrades: - id: digitalocean.kubernetes.upgrades - name: upgrades - title: Upgrades + clusters_credentials: + id: digitalocean.kubernetes.clusters_credentials + name: clusters_credentials + title: Clusters Credentials methods: - get_availableUpgrades: + kubernetes_get_credentials: operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1upgrades/get' + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1credentials/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.available_upgrade_versions - _get_availableUpgrades: + schemaRef: '#/components/responses/credentials' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/clusters_credentials/methods/kubernetes_get_credentials' + insert: [] + update: [] + replace: [] + delete: [] + clusters_available_upgrades: + id: digitalocean.kubernetes.clusters_available_upgrades + name: clusters_available_upgrades + title: Clusters Available Upgrades + methods: + kubernetes_get_available_upgrades: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1upgrades/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/available_upgrades' + objectKey: $.available_upgrade_versions sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/upgrades/methods/get_availableUpgrades' + - $ref: '#/components/x-stackQL-resources/clusters_available_upgrades/methods/kubernetes_get_available_upgrades' insert: [] update: [] + replace: [] delete: [] - node_pools: - id: digitalocean.kubernetes.node_pools - name: node_pools - title: Node Pools + clusters_node_pools: + id: digitalocean.kubernetes.clusters_node_pools + name: clusters_node_pools + title: Clusters Node Pools methods: - list_nodePools: - operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.node_pools - _list_nodePools: + kubernetes_list_node_pools: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools/get' response: mediaType: application/json openAPIDocKey: '200' - add_nodePool: + schemaRef: '#/components/responses/all_node_pools' + kubernetes_add_node_pool: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools/post' response: mediaType: application/json openAPIDocKey: '201' - get_nodePool: - operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.node_pool - _get_nodePool: + schemaRef: '#/components/responses/node_pool_create' + kubernetes_get_node_pool: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_nodePool: + schemaRef: '#/components/responses/existing_node_pool' + kubernetes_update_node_pool: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/put' response: mediaType: application/json openAPIDocKey: '202' - delete_nodePool: + schemaRef: '#/components/responses/node_pool_update' + kubernetes_delete_node_pool: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - recycle_node_pool: + schemaRef: '#/components/responses/no_content' + kubernetes_recycle_node_pool: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}~1recycle/post' response: mediaType: application/json openAPIDocKey: '202' + schemaRef: '#/components/responses/accepted' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/node_pools/methods/list_nodePools' - - $ref: '#/components/x-stackQL-resources/node_pools/methods/get_nodePool' + - $ref: '#/components/x-stackQL-resources/clusters_node_pools/methods/kubernetes_get_node_pool' + - $ref: '#/components/x-stackQL-resources/clusters_node_pools/methods/kubernetes_list_node_pools' insert: - - $ref: '#/components/x-stackQL-resources/node_pools/methods/add_nodePool' + - $ref: '#/components/x-stackQL-resources/clusters_node_pools/methods/kubernetes_add_node_pool' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/node_pools/methods/delete_nodePool' - nodes: - id: digitalocean.kubernetes.nodes - name: nodes - title: Nodes + - $ref: '#/components/x-stackQL-resources/clusters_node_pools/methods/kubernetes_delete_node_pool' + clusters_node_pools_nodes: + id: digitalocean.kubernetes.clusters_node_pools_nodes + name: clusters_node_pools_nodes + title: Clusters Node Pools Nodes methods: - delete_node: + kubernetes_delete_node: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}~1nodes~1{node_id}/delete' response: mediaType: application/json openAPIDocKey: '202' + schemaRef: '#/components/responses/accepted' sqlVerbs: select: [] insert: [] update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/nodes/methods/delete_node' - user: - id: digitalocean.kubernetes.user - name: user - title: User + - $ref: '#/components/x-stackQL-resources/clusters_node_pools_nodes/methods/kubernetes_delete_node' + clusters_users: + id: digitalocean.kubernetes.clusters_users + name: clusters_users + title: Clusters Users methods: - get_clusterUser: + kubernetes_get_cluster_user: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1user/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/cluster_user' objectKey: $.kubernetes_cluster_user - _get_clusterUser: - operation: - $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1user/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/user/methods/get_clusterUser' + - $ref: '#/components/x-stackQL-resources/clusters_users/methods/kubernetes_get_cluster_user' insert: [] update: [] + replace: [] delete: [] options: id: digitalocean.kubernetes.options name: options title: Options methods: - list_options: + kubernetes_list_options: operation: $ref: '#/paths/~1v2~1kubernetes~1options/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_options' + objectKey: $.options sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/options/methods/list_options' + - $ref: '#/components/x-stackQL-resources/options/methods/kubernetes_list_options' insert: [] update: [] + replace: [] delete: [] - clusterlint: - id: digitalocean.kubernetes.clusterlint - name: clusterlint - title: Clusterlint + clusters_clusterlints: + id: digitalocean.kubernetes.clusters_clusterlints + name: clusters_clusterlints + title: Clusters Clusterlints methods: - run_clusterLint: + kubernetes_run_cluster_lint: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1clusterlint/post' response: mediaType: application/json openAPIDocKey: '202' - get_clusterLintResults: + schemaRef: '#/components/responses/clusterlint_run' + kubernetes_get_cluster_lint_results: operation: $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1clusterlint/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/clusterlint_results' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/clusterlint/methods/get_clusterLintResults' + - $ref: '#/components/x-stackQL-resources/clusters_clusterlints/methods/kubernetes_get_cluster_lint_results' insert: [] update: [] + replace: [] delete: [] - container_registry: - id: digitalocean.kubernetes.container_registry - name: container_registry - title: Container Registry + registries: + id: digitalocean.kubernetes.registries + name: registries + title: Registries methods: - add_registry: + kubernetes_add_registry: operation: $ref: '#/paths/~1v2~1kubernetes~1registry/post' response: mediaType: application/json openAPIDocKey: '204' - remove_registry: + schemaRef: '#/components/responses/no_content' + kubernetes_remove_registry: operation: $ref: '#/paths/~1v2~1kubernetes~1registry/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] insert: - - $ref: '#/components/x-stackQL-resources/container_registry/methods/add_registry' + - $ref: '#/components/x-stackQL-resources/registries/methods/kubernetes_add_registry' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/container_registry/methods/remove_registry' + - $ref: '#/components/x-stackQL-resources/registries/methods/kubernetes_remove_registry' paths: /v2/kubernetes/clusters: get: @@ -7520,9 +10492,17 @@ paths: clusters = client.kubernetes_clusters.all clusters.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.list_clusters() security: - bearer_auth: - - read + - kubernetes:read post: operationId: kubernetes_create_cluster summary: Create a New Kubernetes Cluster @@ -7530,11 +10510,10 @@ paths: To create a new Kubernetes cluster, send a POST request to `/v2/kubernetes/clusters`. The request must contain at least one node pool with at least one worker. - The request may contain a maintenance window policy describing a time period when disruptive maintenance tasks may be carried out. Omitting the policy implies that a window will be chosen automatically. See - [here](https://www.digitalocean.com/docs/kubernetes/how-to/upgrade-cluster/) + [here](https://docs.digitalocean.com/products/kubernetes/how-to/upgrade-cluster/) for details. tags: - Kubernetes @@ -7635,10 +10614,31 @@ paths: ) client.kubernetes_clusters.create(cluster) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "prod-cluster-01", + "region": "nyc1", + "version": "1.18.6-do.0", + "node_pools": [ + { + "size": "s-1vcpu-2gb", + "count": 3, + "name": "worker-pool" + } + ] + } + + resp = client.kubernetes.create_cluster(body=req) security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}': + - kubernetes:create + /v2/kubernetes/clusters/{cluster_id}: get: operationId: kubernetes_get_cluster summary: Retrieve an Existing Kubernetes Cluster @@ -7693,9 +10693,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_clusters.find(id: 'bd5f5959-5e1e-4205-a714-a914373942af') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_cluster(cluster_id="da8fda8") security: - bearer_auth: - - read + - kubernetes:read put: operationId: kubernetes_update_cluster summary: Update a Kubernetes Cluster @@ -7768,16 +10776,40 @@ paths: ) client.kubernetes_clusters.update(cluster, id: 'bd5f5959-5e1e-4205-a714-a914373942af') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "prod-cluster-01", + "tags": [ + "k8s", + "k8s:bd5f5959-5e1e-4205-a714-a914373942af", + "production", + "web-team" + ], + "maintenance_policy": { + "start_time": "12:00", + "day": "any" + }, + "auto_upgrade": True, + "surge_upgrade": True, + "ha": True + } + + resp = client.kubernetes.update_cluster(cluster_id="1fd32a", body=req) security: - bearer_auth: - - write + - kubernetes:update delete: operationId: kubernetes_delete_cluster summary: Delete a Kubernetes Cluster description: | To delete a Kubernetes cluster and all services deployed to it, send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. - A 204 status code with no body will be returned in response to a successful request. tags: @@ -7828,14 +10860,22 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_clusters.delete(id: 'bd5f5959-5e1e-4205-a714-a914373942af') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.delete_cluster(cluster_id="da8fda8") security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources': + - kubernetes:delete + /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources: get: operationId: kubernetes_list_associatedResources summary: List Associated Resources for Cluster Deletion - description: 'To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint.' + description: To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint. tags: - Kubernetes parameters: @@ -7878,21 +10918,27 @@ paths: _, err := client.Kubernetes.ListAssociatedResourcesForDeletion(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.list_associated_resources(cluster_id="da8fda8") security: - bearer_auth: - - read - '/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective': + - kubernetes:read + /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective: delete: operationId: kubernetes_destroy_associatedResourcesSelective summary: Selectively Delete a Cluster and its Associated Resources description: | To delete a Kubernetes cluster along with a subset of its associated resources, send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`. - The JSON body of the request should include `load_balancers`, `volumes`, or `volume_snapshots` keys each set to an array of IDs for the associated resources to be destroyed. - The IDs can be found by querying the cluster's associated resources endpoint. Any associated resource not included in the request will remain and continue to accrue changes on your account. @@ -7944,10 +10990,30 @@ paths: deleteReq := &godo.KubernetesClusterDeleteSelectiveRequest{Volumes: []string{"ba49449a-7435-11ea-b89e-0a58ac14480f"}}, _, err := client.Kubernetes.DeleteSelective(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", deleteReq) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "load_balancers": [ + "4de7ac8b-495b-4884-9a69-1050c6793cd6" + ], + "volumes": [ + "ba49449a-7435-11ea-b89e-0a58ac14480f" + ], + "volume_snapshots": [ + "edb0478d-7436-11ea-86e6-0a58ac144b91" + ] + } + + resp = client.kubernetes.destroy_associated_resources_selective(cluster_id="da8fda8", body=req) security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous': + - kubernetes:delete + /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous: delete: operationId: kubernetes_destroy_associatedResourcesDangerous summary: Delete a Cluster and All of its Associated Resources (Dangerous) @@ -7996,10 +11062,18 @@ paths: _, err := client.Kubernetes.DeleteDangerous(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.destroy_associated_resources_dangerous(cluster_id="da8fda8") security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/kubeconfig': + - kubernetes:delete + /v2/kubernetes/clusters/{cluster_id}/kubeconfig: get: operationId: kubernetes_get_kubeconfig summary: Retrieve the kubeconfig for a Kubernetes Cluster @@ -8007,15 +11081,12 @@ paths: This endpoint returns a kubeconfig file in YAML format. It can be used to connect to and administer the cluster using the Kubernetes command line tool, `kubectl`, or other programs supporting kubeconfig files (e.g., client libraries). - The resulting kubeconfig file uses token-based authentication for clusters supporting it, and certificate-based authentication otherwise. For a list of supported versions and more information, see "[How to Connect to a DigitalOcean - Kubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)". - + Kubernetes Cluster](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/)". To retrieve a kubeconfig file for use with a Kubernetes cluster, send a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig`. - Clusters supporting token-based authentication may define an expiration by passing a duration in seconds as a query parameter to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. @@ -8072,28 +11143,33 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_clusters.kubeconfig(id: 'bd5f5959-5e1e-4205-a714-a914373942af') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_kubeconfig(cluster_id="da8fda8") security: - bearer_auth: - - read - '/v2/kubernetes/clusters/{cluster_id}/credentials': + - kubernetes:access_cluster + /v2/kubernetes/clusters/{cluster_id}/credentials: get: operationId: kubernetes_get_credentials summary: Retrieve Credentials for a Kubernetes Cluster description: | This endpoint returns a JSON object . It can be used to programmatically construct Kubernetes clients which cannot parse kubeconfig files. - The resulting JSON object contains token-based authentication for clusters supporting it, and certificate-based authentication otherwise. For a list of supported versions and more information, see "[How to Connect to a DigitalOcean - Kubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)". - + Kubernetes Cluster](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/)". To retrieve credentials for accessing a Kubernetes cluster, send a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials`. - Clusters supporting token-based authentication may define an expiration by passing a duration in seconds as a query parameter to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. + `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials?expiry_seconds=$DURATION_IN_SECONDS`. If not set or 0, then the token will have a 7 day expiry. The query parameter has no impact in certificate-based authentication. tags: @@ -8145,10 +11221,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_clusters.credentials(id: 'bd5f5959-5e1e-4205-a714-a914373942af') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_credentials(cluster_id="da8fda8") security: - bearer_auth: - - read - '/v2/kubernetes/clusters/{cluster_id}/upgrades': + - kubernetes:access_cluster + /v2/kubernetes/clusters/{cluster_id}/upgrades: get: operationId: kubernetes_get_availableUpgrades summary: Retrieve Available Upgrades for an Existing Kubernetes Cluster @@ -8197,10 +11281,18 @@ paths: upgrades, _, err := client.Kubernetes.GetUpgrades(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_available_upgrades(cluster_id="da8fda8") security: - bearer_auth: - - read - '/v2/kubernetes/clusters/{cluster_id}/upgrade': + - kubernetes:read + /v2/kubernetes/clusters/{cluster_id}/upgrade: post: operationId: kubernetes_upgrade_cluster summary: Upgrade a Kubernetes Cluster @@ -8208,7 +11300,6 @@ paths: To immediately upgrade a Kubernetes cluster to a newer patch release of Kubernetes, send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`. The body of the request must specify a version attribute. - Available upgrade versions for a cluster can be fetched from `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. tags: @@ -8247,10 +11338,22 @@ paths: "https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/upgrades" - lang: Go source: "import (\n \"context\"\n \"os\"\n\n \"github.com/digitalocean/godo\"\n)\n\nfunc main() {\n token := os.Getenv(\"DIGITALOCEAN_TOKEN\")\n\n client := godo.NewFromToken(token)\n ctx := context.TODO()\n\n upgradeRequest := &godo.KubernetesClusterUpgradeRequest{\n \tVersionSlug: \"1.12.3-do.1\",\n }\n}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "version": "1.16.13-do.0" + } + + resp = client.kubernetes.upgrade_cluster(cluster_id="1fd32a", body=req) security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/node_pools': + - kubernetes:update + /v2/kubernetes/clusters/{cluster_id}/node_pools: get: operationId: kubernetes_list_nodePools summary: List All Node Pools in a Kubernetes Clusters @@ -8311,9 +11414,17 @@ paths: node_pools = client.kubernetes_clusters.node_pools(id: 'bd5f5959-5e1e-4205-a714-a914373942af') node_pools.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.list_node_pools(cluster_id="a8fsa8d") security: - bearer_auth: - - read + - kubernetes:read post: operationId: kubernetes_add_nodePool summary: Add a Node Pool to a Kubernetes Cluster @@ -8401,10 +11512,30 @@ paths: ) client.kubernetes_clusters.create_node_pool(node_pool, id: 'bd5f5959-5e1e-4205-a714-a914373942af') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "size": "s-1vcpu-2gb", + "count": 3, + "name": "new-pool", + "tags": [ + "frontend" + ], + "auto_scale": True, + "min_nodes": 3, + "max_nodes": 6 + } + + resp = client.kubernetes.add_node_pool(cluster_id="ba9d8da", body=req) security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}': + - kubernetes:create + /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}: get: operationId: kubernetes_get_nodePool summary: Retrieve a Node Pool for a Kubernetes Cluster @@ -8460,9 +11591,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_clusters.find_node_pool(id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: 'cdda885e-7663-40c8-bc74-3a036c66545d') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_node_pool(cluster_id="da8fda8", node_pool_id="a8a8fsa") security: - bearer_auth: - - read + - kubernetes:read put: operationId: kubernetes_update_nodePool summary: Update a Node Pool in a Kubernetes Cluster @@ -8541,16 +11680,46 @@ paths: ) client.kubernetes_clusters.update_node_pool(node_pool, id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: '86c9bc8c-b2c3-4d40-8000-b0c7bee27305') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "frontend-pool", + "count": 3, + "tags": [ + "k8s", + "k8s:bd5f5959-5e1e-4205-a714-a914373942af", + "k8s-worker", + "production", + "web-team" + ], + "labels": None, + "taints": [ + { + "key": "priority", + "value": "high", + "effect": "NoSchedule" + } + ], + "auto_scale": True, + "min_nodes": 3, + "max_nodes": 6 + } + + resp = client.kubernetes.update_node_pool(cluster_id="1fd32a", node_pool_id="392fa3a", body=req) security: - bearer_auth: - - write + - kubernetes:update delete: operationId: kubernetes_delete_nodePool summary: Delete a Node Pool in a Kubernetes Cluster description: | To delete a node pool, send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. - A 204 status code with no body will be returned in response to a successful request. Nodes in the pool will subsequently be drained and deleted. tags: @@ -8602,21 +11771,27 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_clusters.delete_node_pool(id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: '86c9bc8c-b2c3-4d40-8000-b0c7bee27305') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.delete_node_pool(cluster_id="da8fda8", node_pool_id="a8f3da") security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}': + - kubernetes:delete + /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}: delete: operationId: kubernetes_delete_node summary: Delete a Node in a Kubernetes Cluster description: | To delete a single node in a pool, send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID`. - Appending the `skip_drain=1` query parameter to the request causes node draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion. - Appending the `replace=1` query parameter to the request causes the node to be replaced by a new one after deletion. Omitting the query parameter or setting its value to `0` deletes without replacement. @@ -8669,10 +11844,18 @@ paths: _, err := client.Kubernetes.RecycleNodePoolNodes(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", "86c9bc8c-b2c3-4d40-8000-b0c7bee27305", recycleRequest) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.delete_node(cluster_id="da8fda8", node_pool_id="a8f3da", node_id="fa09daf") security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle': + - kubernetes:delete + /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle: post: operationId: kubernetes_recycle_node_pool deprecated: true @@ -8713,8 +11896,8 @@ paths: $ref: '#/components/responses/unexpected_error' security: - bearer_auth: - - write - '/v2/kubernetes/clusters/{cluster_id}/user': + - kubernetes:delete + /v2/kubernetes/clusters/{cluster_id}/user: get: operationId: kubernetes_get_clusterUser summary: Retrieve User Information for a Kubernetes Cluster @@ -8745,14 +11928,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/user" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_cluster_user(cluster_id="da8fda8") security: - bearer_auth: - - read + - kubernetes:read /v2/kubernetes/options: get: operationId: kubernetes_list_options - summary: 'List Available Regions, Node Sizes, and Versions of Kubernetes' - description: 'To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`.' + summary: List Available Regions, Node Sizes, and Versions of Kubernetes + description: To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`. tags: - Kubernetes responses: @@ -8799,10 +11990,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.kubernetes_options.all + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.list_options() security: - bearer_auth: - - read - '/v2/kubernetes/clusters/{cluster_id}/clusterlint': + - kubernetes:read + /v2/kubernetes/clusters/{cluster_id}/clusterlint: post: operationId: kubernetes_run_clusterLint summary: Run Clusterlint Checks on a Kubernetes Cluster @@ -8810,12 +12009,10 @@ paths: Clusterlint helps operators conform to Kubernetes best practices around resources, security and reliability to avoid common problems while operating or upgrading the clusters. - To request a clusterlint run on your cluster, send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. This will run all checks present in the `doks` group by default, if a request body is not specified. Optionally specify the below attributes. - For information about the available checks, please refer to [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). tags: @@ -8848,9 +12045,35 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"include_groups": ["basic"], "include_checks": ["bare-pods"]}' \ "https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/clusterlint" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "include_groups": [ + "basic", + "doks", + "security" + ], + "include_checks": [ + "bare-pods", + "resource-requirements" + ], + "exclude_groups": [ + "workload-health" + ], + "exclude_checks": [ + "default-namespace" + ] + } + + resp = client.kubernetes.run_cluster_lint(cluster_id="1fd32a", body=req) security: - bearer_auth: - - read + - kubernetes:create get: operationId: kubernetes_get_clusterLintResults summary: Fetch Clusterlint Diagnostics for a Kubernetes Cluster @@ -8859,7 +12082,6 @@ paths: `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. If the `run_id` query parameter is provided, then the diagnostics for the specific run is fetched. By default, the latest results are shown. - To find out how to address clusterlint feedback, please refer to [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). tags: @@ -8887,14 +12109,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/clusterlint" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.kubernetes.get_cluster_lint_results(cluster_id="da8fda8") security: - bearer_auth: - - read + - kubernetes:read /v2/kubernetes/registry: post: operationId: kubernetes_add_registry summary: Add Container Registry to Kubernetes Clusters - description: 'To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`.' + description: To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`. tags: - Kubernetes requestBody: @@ -8938,13 +12168,28 @@ paths: _, err := client.Kubernetes.AddRegistry(ctx, &godo.KubernetesClusterRegistryRequest{ClusterUUIDs: []string{"bd5f5959-5e1e-4205-a714-a914373942af"}}) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "cluster_uuids": [ + "bd5f5959-5e1e-4205-a714-a914373942af", + "50c2f44c-011d-493e-aee5-361a4a0d1844" + ] + } + + resp = client.kubernetes.add_registry(body=req) security: - bearer_auth: - - write + - kubernetes:create delete: operationId: kubernetes_remove_registry summary: Remove Container Registry from Kubernetes Clusters - description: 'To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`.' + description: To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`. tags: - Kubernetes requestBody: @@ -8988,6 +12233,21 @@ paths: _, err := client.Kubernetes.RemoveRegistry(ctx, &godo.KubernetesClusterRegistryRequest{ClusterUUIDs: []string{"bd5f5959-5e1e-4205-a714-a914373942af"}}) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "cluster_uuids": [ + "bd5f5959-5e1e-4205-a714-a914373942af", + "50c2f44c-011d-493e-aee5-361a4a0d1844" + ] + } + + resp = client.kubernetes.remove_registry(body=req) security: - bearer_auth: - - write + - kubernetes:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/load_balancers.yaml b/providers/src/digitalocean/v00.00.00000/services/load_balancers.yaml index b754c7ac..21a031ff 100644 --- a/providers/src/digitalocean/v00.00.00000/services/load_balancers.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/load_balancers.yaml @@ -1,18 +1,23 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - load_balancers version: '2.0' - description: Load Balancers license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - load_balancers + description: |- + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) + provide a way to distribute traffic across multiple Droplets. By sending + requests to the `/v2/load_balancers` endpoint, you can list, create, or + delete load balancers as well as add or remove Droplets, forwarding rules, + and other configuration details. security: - bearer_auth: [] tags: @@ -20,52 +25,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +69,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +84,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +110,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +159,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +167,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +182,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +204,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +222,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +274,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +290,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +305,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +332,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +350,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,19 +385,23 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. @@ -493,197 +409,6 @@ components: schemas: load_balancer_create: oneOf: - - title: Assign Droplets by ID - allOf: - - type: object - properties: - droplet_ids: - type: array - items: - type: integer - example: - - 3164444 - - 3164445 - description: An array containing the IDs of the Droplets assigned to the load balancer. - - type: object - properties: - region: - $ref: '#/components/schemas/region_slug' - - $ref: '#/components/schemas/load_balancer_base' - required: - - droplet_ids - - region - - title: Assign Droplets by Tag - allOf: - - type: object - properties: - tag: - type: string - example: 'prod:web' - description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. - - type: object - properties: - region: - $ref: '#/components/schemas/region_slug' - - $ref: '#/components/schemas/load_balancer_base' - required: - - tag - - region - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - load_balancer_base: - type: object - properties: - id: - type: string - format: uuid - readOnly: true - example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 - description: A unique ID that can be used to identify and reference a load balancer. - name: - type: string - example: example-lb-01 - description: A human-readable name for a load balancer instance. - project_id: - type: string - example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 - description: 'The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user''s default project. If an invalid project ID is provided, the load balancer will not be created.' - ip: - type: string - pattern: '^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' - readOnly: true - example: 104.131.186.241 - description: An attribute containing the public-facing IP address of the load balancer. - size_unit: - type: integer - default: 1 - minimum: 1 - maximum: 100 - example: 3 - description: 'How many nodes the load balancer contains. Each additional node increases the load balancer''s ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.' - size: - type: string - enum: - - lb-small - - lb-medium - - lb-large - deprecated: true - default: lb-small - example: lb-small - description: |- - This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. - * `lb-small` = 1 node - * `lb-medium` = 3 nodes - * `lb-large` = 6 nodes - - You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. - algorithm: - type: string - example: round_robin - enum: - - round_robin - - least_connections - deprecated: true - default: round_robin - description: This field has been deprecated. You can no longer specify an algorithm for load balancers. - status: - type: string - example: new - enum: - - new - - active - - errored - readOnly: true - description: 'A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`.' - created_at: - type: string - format: date-time - readOnly: true - example: '2017-02-01T22:22:58Z' - description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. - forwarding_rules: - type: array - minItems: 1 - items: - $ref: '#/components/schemas/forwarding_rule' - description: An array of objects specifying the forwarding rules for a load balancer. - health_check: - $ref: '#/components/schemas/health_check' - sticky_sessions: - $ref: '#/components/schemas/sticky_sessions' - redirect_http_to_https: - type: boolean - example: true - default: false - description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. - enable_proxy_protocol: - type: boolean - example: true - default: false - description: A boolean value indicating whether PROXY Protocol is in use. - enable_backend_keepalive: - type: boolean - example: true - default: false - description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. - http_idle_timeout_seconds: - type: integer - example: 90 - default: 60 - minimum: 30 - maximum: 600 - description: An integer value which configures the idle timeout for HTTP requests to the target droplets. - vpc_uuid: - type: string - format: uuid - example: c33931f2-a26a-4e61-b85c-4e95a2ec431b - description: A string specifying the UUID of the VPC to which the load balancer is assigned. - disable_lets_encrypt_dns_records: - type: boolean - example: true - default: false - description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. - firewall: - $ref: '#/components/schemas/lb_firewall' - required: - - forwarding_rules - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - load_balancer: - allOf: - - $ref: '#/components/schemas/load_balancer_base' - - type: object - properties: - region: - type: object - allOf: - - description: 'The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.' - - $ref: '#/components/schemas/region' - type: object properties: droplet_ids: @@ -694,30 +419,542 @@ components: - 3164444 - 3164445 description: An array containing the IDs of the Droplets assigned to the load balancer. + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + required: + - forwarding_rules - type: object properties: tag: type: string - example: 'prod:web' + example: prod:web description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + required: + - forwarding_rules forwarding_rule: type: object description: An object specifying a forwarding rule for a load balancer. @@ -766,214 +1003,6 @@ components: - entry_port - target_protocol - target_port - health_check: - type: object - description: An object specifying health check settings for the load balancer. - properties: - protocol: - type: string - enum: - - http - - https - - tcp - default: http - example: http - description: 'The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`.' - port: - type: integer - default: 80 - example: 80 - description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. - path: - type: string - default: / - example: / - description: The path on the backend Droplets to which the load balancer instance will send a request. - check_interval_seconds: - type: integer - default: 10 - example: 10 - description: The number of seconds between between two consecutive health checks. - response_timeout_seconds: - type: integer - default: 5 - example: 5 - description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. - unhealthy_threshold: - type: integer - default: 5 - example: 5 - description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. - healthy_threshold: - type: integer - default: 3 - example: 3 - description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. - sticky_sessions: - type: object - description: An object specifying sticky sessions settings for the load balancer. - properties: - type: - type: string - enum: - - cookies - - none - example: cookies - default: none - description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. - cookie_name: - type: string - example: DO-LB - description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. - cookie_ttl_seconds: - type: integer - example: 300 - description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. - lb_firewall: - type: object - description: An object specifying allow and deny rules to control traffic to the load balancer. - properties: - deny: - type: array - items: - type: string - example: - - 'ip:1.2.3.4' - - 'cidr:2.3.0.0/16' - default: [] - description: 'the rules for denying traffic to the load balancer (in the form ''ip:1.2.3.4'' or ''cidr:1.2.0.0/16'')' - allow: - type: array - items: - type: string - example: - - 'ip:1.2.3.4' - - 'cidr:2.3.0.0/16' - default: [] - description: 'the rules for allowing traffic to the load balancer (in the form ''ip:1.2.3.4'' or ''cidr:1.2.0.0/16'')' - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - required: - - available - - features - - name - - sizes - - slug - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' parameters: oneClicks_type: in: query @@ -1014,8 +1043,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1034,7 +1069,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1044,7 +1079,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1077,7 +1112,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1097,6 +1132,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1107,6 +1143,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1124,14 +1161,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1139,7 +1168,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1158,6 +1187,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1233,6 +1271,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1243,7 +1305,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1276,11 +1338,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1289,6 +1351,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1296,7 +1369,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1398,7 +1471,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1505,7 +1578,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1513,11 +1586,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1532,7 +1655,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1542,7 +1665,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1576,7 +1699,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1596,7 +1719,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1643,12 +1766,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1662,8 +1785,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1691,6 +1840,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1714,39 +1872,636 @@ components: description: Accepted headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: load_balancer: - $ref: '#/components/schemas/load_balancer' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + region: + description: The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + type: object + required: + - available + - features + - name + - sizes + - slug + droplet_ids: + type: array + items: + type: integer + example: + - 3164444 + - 3164445 + description: An array containing the IDs of the Droplets assigned to the load balancer. + tag: + type: string + example: prod:web + description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + required: + - forwarding_rules examples: Basic Create Response: - $ref: '#/components/examples/load_balancer_basic_response' + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 SSL Termination Create Response: - $ref: '#/components/examples/load_balancer_ssl_termination_response' + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false Create Response Using Droplet Tag: - $ref: '#/components/examples/load_balancer_using_tag_response' + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: prod:web + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 Sticky Sessions and Custom Health Check: - $ref: '#/components/examples/load_balancer_sticky_sessions_and_health_check_response' + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 8080 + path: /health + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: cookies + cookie_name: LB_COOKIE + cookie_ttl_seconds: 300 + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: prod:web + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1754,15 +2509,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1770,15 +2550,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1786,42 +2591,571 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message all_load_balancers: - description: 'A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes.' + description: A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + load_balancers: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + region: + description: The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + type: object + required: + - available + - features + - name + - sizes + - slug + droplet_ids: + type: array + items: + type: integer + example: + - 3164444 + - 3164445 + description: An array containing the IDs of the Droplets assigned to the load balancer. + tag: + type: string + example: prod:web + description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + required: + - forwarding_rules + links: + type: object properties: - load_balancers: - type: array - items: - $ref: '#/components/schemas/load_balancer' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: All Load Balancers: - $ref: '#/components/examples/load_balancers_all' + value: + load_balancers: + - id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece + name: prod-web-lb-01 + ip: 45.55.125.24 + size: lb-small + algorithm: round_robin + status: active + created_at: '2020-09-08T18:58:04Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + tls_passthrough: false + health_check: + protocol: https + port: 443 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: cookies + cookie_name: DO-LB + cookie_ttl_seconds: 300 + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: prod:web + droplet_ids: + - 55806512 + - 55806515 + - 55806524 + redirect_http_to_https: true + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: 587d698c-de84-11e8-80bc-3cfdfea9fcd1 + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + links: {} + meta: + total: 2 existing_load_balancer: description: | The response will be a JSON object with a key called `load_balancer`. The @@ -1829,33 +3163,452 @@ components: associated with a load balancer headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: load_balancer: - $ref: '#/components/schemas/load_balancer' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + region: + description: The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + type: object + required: + - available + - features + - name + - sizes + - slug + droplet_ids: + type: array + items: + type: integer + example: + - 3164444 + - 3164445 + description: An array containing the IDs of the Droplets assigned to the load balancer. + tag: + type: string + example: prod:web + description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + required: + - forwarding_rules examples: load_balancer_basic_response: - $ref: '#/components/examples/load_balancer_basic_response' + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1866,68 +3619,480 @@ components: load balancer. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: load_balancer: - $ref: '#/components/schemas/load_balancer' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + region: + description: The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + type: object + required: + - available + - features + - name + - sizes + - slug + droplet_ids: + type: array + items: + type: integer + example: + - 3164444 + - 3164445 + description: An array containing the IDs of the Droplets assigned to the load balancer. + tag: + type: string + example: prod:web + description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + required: + - forwarding_rules examples: load_balancer_update_response: - $ref: '#/components/examples/load_balancer_update_response' + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: updated-example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: true + enable_backend_keepalive: true + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 no_content: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1942,11 +4107,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1956,7 +4121,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1966,11 +4131,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1995,11 +4160,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2043,7 +4208,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2052,7 +4217,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2126,6 +4291,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2144,7 +4316,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2154,7 +4326,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2168,7 +4340,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2240,7 +4412,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2248,11 +4420,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2271,7 +4443,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2346,12 +4518,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2365,7 +4544,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2434,7 +4613,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2486,133 +4665,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb cpu_type: DEDICATED cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '4294967296' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2680,14 +4885,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2864,6 +5068,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2944,9 +5153,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2977,13 +5186,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3090,13 +5304,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3202,7 +5421,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3216,6 +5435,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3296,9 +5520,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3329,13 +5553,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3442,12 +5671,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3456,12 +5821,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3478,12 +5843,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3498,6 +5863,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3596,12 +5966,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3610,6 +5980,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3708,12 +6083,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3812,15 +6192,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3829,6 +6209,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3909,9 +6294,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3942,10 +6327,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3983,13 +6369,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4026,6 +6413,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4115,9 +6503,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4147,7 +6535,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4179,6 +6567,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4462,12 +6851,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4477,8 +6866,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4514,8 +6903,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4551,6 +6940,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4606,7 +7000,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4614,8 +7008,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4656,6 +7050,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4672,7 +7071,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4683,8 +7082,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4720,8 +7119,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4757,6 +7156,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4768,12 +7172,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4783,8 +7187,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4820,8 +7224,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4856,6 +7260,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4867,12 +7276,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4882,8 +7291,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4919,8 +7328,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4955,6 +7364,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5164,11 +7578,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5220,7 +7634,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5234,11 +7648,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5264,11 +7678,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5294,7 +7708,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5318,7 +7732,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5390,11 +7804,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5506,7 +7920,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5569,7 +7983,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5618,11 +8032,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5694,11 +8108,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5879,8 +8293,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5918,13 +8352,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5961,6 +8396,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6050,9 +8486,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6082,7 +8518,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6114,6 +8550,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6162,7 +8599,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6192,7 +8629,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6446,14 +8883,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6463,7 +8900,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6473,127 +8910,128 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: load_balancers: id: digitalocean.load_balancers.load_balancers name: load_balancers title: Load Balancers methods: - loadBalancers_create: + load_balancers_create: operation: $ref: '#/paths/~1v2~1load_balancers/post' response: mediaType: application/json openAPIDocKey: '202' - loadBalancers_list: + schemaRef: '#/components/responses/load_balancer_create' + load_balancers_list: operation: $ref: '#/paths/~1v2~1load_balancers/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_load_balancers' objectKey: $.load_balancers - _loadBalancers_list: - operation: - $ref: '#/paths/~1v2~1load_balancers/get' - response: - mediaType: application/json - openAPIDocKey: '200' - loadBalancers_get: - operation: - $ref: '#/paths/~1v2~1load_balancers~1{lb_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.load_balancer - _loadBalancers_get: + load_balancers_get: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}/get' response: mediaType: application/json openAPIDocKey: '200' - loadBalancers_update: + schemaRef: '#/components/responses/existing_load_balancer' + load_balancers_update: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}/put' response: mediaType: application/json openAPIDocKey: '200' - loadBalancers_delete: + schemaRef: '#/components/responses/updated_load_balancer' + load_balancers_delete: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/load_balancers/methods/loadBalancers_list' - - $ref: '#/components/x-stackQL-resources/load_balancers/methods/loadBalancers_get' + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_get' + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_list' insert: - - $ref: '#/components/x-stackQL-resources/load_balancers/methods/loadBalancers_create' + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/load_balancers/methods/loadBalancers_delete' + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_delete' droplets: id: digitalocean.load_balancers.droplets name: droplets title: Droplets methods: - loadBalancers_add_droplets: + load_balancers_add_droplets: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}~1droplets/post' response: mediaType: application/json openAPIDocKey: '204' - loadBalancers_remove_droplets: + schemaRef: '#/components/responses/no_content' + load_balancers_remove_droplets: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}~1droplets/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] - insert: [] + insert: + - $ref: '#/components/x-stackQL-resources/droplets/methods/load_balancers_add_droplets' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/droplets/methods/loadBalancers_remove_droplets' + - $ref: '#/components/x-stackQL-resources/droplets/methods/load_balancers_remove_droplets' forwarding_rules: id: digitalocean.load_balancers.forwarding_rules name: forwarding_rules title: Forwarding Rules methods: - loadBalancers_add_forwardingRules: + load_balancers_add_forwarding_rules: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}~1forwarding_rules/post' response: mediaType: application/json openAPIDocKey: '204' - loadBalancers_remove_forwardingRules: + schemaRef: '#/components/responses/no_content' + load_balancers_remove_forwarding_rules: operation: $ref: '#/paths/~1v2~1load_balancers~1{lb_id}~1forwarding_rules/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] - insert: [] + insert: + - $ref: '#/components/x-stackQL-resources/forwarding_rules/methods/load_balancers_add_forwarding_rules' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/forwarding_rules/methods/loadBalancers_remove_forwardingRules' + - $ref: '#/components/x-stackQL-resources/forwarding_rules/methods/load_balancers_remove_forwarding_rules' paths: /v2/load_balancers: post: @@ -6602,15 +9040,12 @@ paths: description: | To create a new load balancer instance, send a POST request to `/v2/load_balancers`. - You can specify the Droplets that will sit behind the load balancer using one of two methods: - * Set `droplet_ids` to a list of specific Droplet IDs. * Set `tag` to the name of a tag. All Droplets with this tag applied will be assigned to the load balancer. Additional Droplets will be automatically assigned as they are tagged. - These methods are mutually exclusive. tags: - Load Balancers @@ -6764,9 +9199,53 @@ paths: ) ) client.load_balancers.create(load_balancer) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "example-lb-01", + "region": "nyc3", + "forwarding_rules": [ + { + "entry_protocol": "http", + "entry_port": 80, + "target_protocol": "http", + "target_port": 80 + }, + { + "entry_protocol": "https", + "entry_port": 443, + "target_protocol": "https", + "target_port": 443, + "tls_passthrough": True + } + ], + "droplet_ids": [ + 3164444, + 3164445 + ], + "project_id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", + "http_idle_timeout_seconds": 60, + "firewall": { + "deny": [ + "cidr:1.2.0.0/16", + "ip:2.3.4.5" + ], + "allow": [ + "ip:1.2.3.4", + "cidr:2.3.4.0/24" + ] + } + } + + resp = client.load_balancers.create(body=req) security: - bearer_auth: - - write + - load_balancer:create get: operationId: loadBalancers_list summary: List All Load Balancers @@ -6826,10 +9305,18 @@ paths: load_balancers = client.load_balancers.all load_balancers.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.load_balancers.list() security: - bearer_auth: - - read - '/v2/load_balancers/{lb_id}': + - load_balancer:read + /v2/load_balancers/{lb_id}: get: operationId: loadBalancers_get summary: Retrieve an Existing Load Balancer @@ -6884,9 +9371,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.load_balancers.find(id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.load_balancers.get(lb_id="afda3ad") security: - bearer_auth: - - read + - load_balancer:read put: operationId: loadBalancers_update summary: Update a Load Balancer @@ -7037,9 +9532,72 @@ paths: ) ) client.load_balancers.update(load_balancer, id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "updated-example-lb-01", + "region": "nyc3", + "droplet_ids": [ + 3164444, + 3164445 + ], + "algorithm": "round_robin", + "forwarding_rules": [ + { + "entry_protocol": "http", + "entry_port": 80, + "target_protocol": "http", + "target_port": 80, + "certificate_id": "", + "tls_passthrough": false + }, + { + "entry_protocol": "https", + "entry_port": 443, + "target_protocol": "https", + "target_port": 443, + "certificate_id": "", + "tls_passthrough": true + } + ], + "health_check": { + "protocol": "http", + "port": 80, + "path": "/", + "check_interval_seconds": 10, + "response_timeout_seconds": 5, + "healthy_threshold": 5, + "unhealthy_threshold": 3 + }, + "sticky_sessions": { + "type": "none" + }, + "redirect_http_to_https": False, + "enable_proxy_protocol": True, + "enable_backend_keepalive": True, + "vpc_uuid": "c33931f2-a26a-4e61-b85c-4e95a2ec431b", + "project_id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", + "http_idle_timeout_seconds": 60, + "firewall": { + "deny": [ + "cidr:1.2.0.0/16", + "ip:2.3.4.5" + ], + "allow": [ + "ip:1.2.3.4", + "cidr:2.3.4.0/24" + ] + } + } + resp = client.load_balancers.update(lb_id="fda9fda", body=req) security: - bearer_auth: - - write + - load_balancer:update delete: operationId: loadBalancers_delete summary: Delete a Load Balancer @@ -7047,7 +9605,6 @@ paths: To delete a load balancer instance, disassociating any Droplets assigned to it and removing it from your account, send a DELETE request to `/v2/load_balancers/$LOAD_BALANCER_ID`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -7098,10 +9655,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.load_balancers.delete(id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.load_balancers.delete(lb_id="afda3ad") security: - bearer_auth: - - write - '/v2/load_balancers/{lb_id}/droplets': + - load_balancer:delete + /v2/load_balancers/{lb_id}/droplets: post: operationId: loadBalancers_add_droplets summary: Add Droplets to a Load Balancer @@ -7112,7 +9677,6 @@ paths: Individual Droplets can not be added to a load balancer configured with a Droplet tag. Attempting to do so will result in a "422 Unprocessable Entity" response from the API. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7182,9 +9746,24 @@ paths: client = DropletKit::Client.new(access_token: token) client.load_balancers.add_droplets([3164446, 3164447], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "droplet_ids": [ + 3164444, + 3164445 + ] + } + + resp = client.load_balancers.add_droplets(lb_id="1fd32a", body=req) security: - bearer_auth: - - write + - load_balancer:update delete: operationId: loadBalancers_remove_droplets summary: Remove Droplets from a Load Balancer @@ -7192,7 +9771,6 @@ paths: To remove a Droplet from a load balancer instance, send a DELETE request to `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, there should be a `droplet_ids` attribute containing a list of Droplet IDs. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7262,10 +9840,25 @@ paths: client = DropletKit::Client.new(access_token: token) client.load_balancers.remove_droplets([3164446, 3164447], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "droplet_ids": [ + 3164444, + 3164445 + ] + } + + resp = client.load_balancers.remove_droplets(lb_id="fda9fda", body=req) security: - bearer_auth: - - write - '/v2/load_balancers/{lb_id}/forwarding_rules': + - load_balancer:update + /v2/load_balancers/{lb_id}/forwarding_rules: post: operationId: loadBalancers_add_forwardingRules summary: Add Forwarding Rules to a Load Balancer @@ -7274,7 +9867,6 @@ paths: request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the body of the request, there should be a `forwarding_rules` attribute containing an array of rules to be added. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7355,9 +9947,30 @@ paths: tls_passthrough: false ) client.load_balancers.add_forwarding_rules([rule], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "forwarding_rules": [ + { + "entry_protocol": "https", + "entry_port": 443, + "target_protocol": "http", + "target_port": 80, + "certificate_id": "892071a0-bb95-49bc-8021-3afd67a210bf", + "tls_passthrough": False + } + ] + } + + resp = client.load_balancers.add_forwarding_rules(lb_id="1fd32a", body=req) security: - bearer_auth: - - write + - load_balancer:update delete: operationId: loadBalancers_remove_forwardingRules summary: Remove Forwarding Rules from a Load Balancer @@ -7366,7 +9979,6 @@ paths: request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the body of the request, there should be a `forwarding_rules` attribute containing an array of rules to be removed. - No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. @@ -7449,6 +10061,27 @@ paths: tls_passthrough: false ) client.load_balancers.remove_forwarding_rules([rule], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "forwarding_rules": [ + { + "entry_protocol": "https", + "entry_port": 443, + "target_protocol": "http", + "target_port": 80, + "certificate_id": "892071a0-bb95-49bc-8021-3afd67a210bf", + "tls_passthrough": False + } + ] + } + + resp = client.load_balancers.remove_forwarding_rules(lb_id="fda9fda", body=req) security: - bearer_auth: - - write + - load_balancer:update diff --git a/providers/src/digitalocean/v00.00.00000/services/monitoring.yaml b/providers/src/digitalocean/v00.00.00000/services/monitoring.yaml index 9f9cb4e1..c13ece7d 100644 --- a/providers/src/digitalocean/v00.00.00000/services/monitoring.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/monitoring.yaml @@ -1,18 +1,21 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - monitoring version: '2.0' - description: Monitoring license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - monitoring + description: |- + The DigitalOcean Monitoring API makes it possible to programmatically retrieve metrics as well as configure alert + policies based on these metrics. The Monitoring API can help you gain insight into how your apps are performing + and consuming resources. security: - bearer_auth: [] tags: @@ -20,52 +23,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +67,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +82,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +108,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +157,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +165,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +180,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +202,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +220,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +272,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +288,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +303,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +330,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +348,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,99 +383,31 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - list_alert_policy: - type: object - required: - - policies - properties: - policies: - type: array - items: - $ref: '#/components/schemas/alert_policy' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - alert_policy: + alert_policy_request: type: object required: - - uuid - type - description - compare @@ -577,7 +419,35 @@ components: - enabled properties: alerts: - $ref: '#/components/schemas/alerts' + type: object + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. + example: + - bob@exmaple.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ compare: type: string example: GreaterThan @@ -634,248 +504,85 @@ components: - v1/dbaas/alerts/disk_utilization_alerts - v1/dbaas/alerts/cpu_alerts example: v1/insights/droplet/cpu - uuid: - type: string - example: 78b3da62-27e5-49ba-ac70-5db0b5935c64 value: type: number format: float example: 80 window: type: string + example: 5m enum: - 5m - 10m - 30m - 1h - example: 5m - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - alerts: - type: object - required: - - slack - - email - properties: - email: - description: An email to notify on an alert trigger. - example: - - bob@exmaple.com - type: array - items: - type: string - slack: - type: array - description: Slack integration details. - items: - $ref: '#/components/schemas/slack_details' - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - slack_details: - type: object - required: - - url - - channel - properties: - channel: - type: string - example: Production Alerts - description: Slack channel to notify of an alert trigger. - url: - type: string - description: Slack Webhook URL. - example: 'https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - alert_policy_request: + destination_request: type: object required: + - config - type - - description - - compare - - value - - window - - entities - - tags - - alerts - - enabled properties: - alerts: - $ref: '#/components/schemas/alerts' - compare: - type: string - example: GreaterThan - enum: - - GreaterThan - - LessThan - description: + name: type: string - example: CPU Alert - enabled: - type: boolean - example: true - entities: - type: array - items: - type: string - example: - - '192018292' - tags: - type: array - items: - type: string - example: - - droplet_tag + description: destination name + example: managed_opensearch_cluster type: - type: string - enum: - - v1/insights/droplet/load_1 - - v1/insights/droplet/load_5 - - v1/insights/droplet/load_15 - - v1/insights/droplet/memory_utilization_percent - - v1/insights/droplet/disk_utilization_percent - - v1/insights/droplet/cpu - - v1/insights/droplet/disk_read - - v1/insights/droplet/disk_write - - v1/insights/droplet/public_outbound_bandwidth - - v1/insights/droplet/public_inbound_bandwidth - - v1/insights/droplet/private_outbound_bandwidth - - v1/insights/droplet/private_inbound_bandwidth - - v1/insights/lbaas/avg_cpu_utilization_percent - - v1/insights/lbaas/connection_utilization_percent - - v1/insights/lbaas/droplet_health - - v1/insights/lbaas/tls_connections_per_second_utilization_percent - - v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx - - v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx - - v1/insights/lbaas/increase_in_http_error_rate_count_5xx - - v1/insights/lbaas/increase_in_http_error_rate_count_4xx - - v1/insights/lbaas/high_http_request_response_time - - v1/insights/lbaas/high_http_request_response_time_50p - - v1/insights/lbaas/high_http_request_response_time_95p - - v1/insights/lbaas/high_http_request_response_time_99p - - v1/dbaas/alerts/load_15_alerts - - v1/dbaas/alerts/memory_utilization_alerts - - v1/dbaas/alerts/disk_utilization_alerts - - v1/dbaas/alerts/cpu_alerts - example: v1/insights/droplet/cpu - value: - type: number - format: float - example: 80 - window: - type: string - example: 5m enum: - - 5m - - 10m - - 30m - - 1h - metrics: + - opensearch_dbaas + - opensearch_ext + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch + cluster or `opensearch_ext` for an externally managed one. + config: + type: object + required: + - endpoint + properties: + credentials: + type: object + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. + properties: + username: + type: string + example: username + password: + type: string + example: password + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: Number of days to retain logs in an OpenSearch cluster. + example: 14 + default: 14 + sink_resource: type: object required: - - status - - data + - urn properties: - data: - $ref: '#/components/schemas/metrics_data' - status: + urn: type: string - example: success - enum: - - success - - error - metrics_data: - type: object - required: - - resultType - - result - properties: - result: - type: array - description: Result of query. - items: - $ref: '#/components/schemas/metrics_result' - resultType: + pattern: ^do:kubernetes:.* + example: do:kubernetes:f453aa14-646e-4cf8-8c62-75a19fb24ec2 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + name: type: string - enum: - - matrix - example: matrix - metrics_result: - type: object - required: - - metric - - values - properties: - metric: - type: object - description: An object containing the metric labels. - additionalProperties: - type: string - example: - host_id: '19201920' - values: - type: array - example: - - - 1435781430 - - '1' - - - 1435781445 - - '1' - items: - type: array - items: - oneOf: - - type: integer - - type: string + description: resource name + example: managed_kubernetes_cluster parameters: oneClicks_type: in: query @@ -916,8 +623,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -936,7 +649,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -946,7 +659,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -979,7 +692,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -999,6 +712,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1009,6 +723,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1026,14 +741,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1041,7 +748,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1060,6 +767,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1135,6 +851,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1145,7 +885,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1178,11 +918,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1191,6 +931,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1198,7 +949,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1300,7 +1051,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1407,7 +1158,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1415,26 +1166,76 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string - project_id: - in: path - name: project_id - description: A unique identifier for a project. + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 required: true schema: type: string - format: uuid - minimum: 1 - example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 - registry_expiry_seconds: + app_component: in: query - name: expiry_seconds + name: app_component + description: The app component name. + example: sample-application required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c + project_id: + in: path + name: project_id + description: A unique identifier for a project. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + registry_expiry_seconds: + in: query + name: expiry_seconds + required: false + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1444,7 +1245,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1478,7 +1279,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1498,7 +1299,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1545,12 +1346,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1564,8 +1365,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1593,6 +1420,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1616,57 +1452,222 @@ components: description: A list of alert policies. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - $ref: '#/components/schemas/list_alert_policy' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + required: + - meta + properties: policies: - - alerts: - email: - - bob@example.com - slack: - - channel: Production Alerts - url: 'https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"' - compare: GreaterThan - description: CPU Alert - enabled: true - entities: - - 192018292 - tags: - - production_droplets - type: v1/insights/droplet/cpu - uuid: 78b3da62-27e5-49ba-ac70-5db0b5935c64 - value: 80 - window: 5m + type: array + items: + type: object + required: + - uuid + - type + - description + - compare + - value + - window + - entities + - tags + - alerts + - enabled + properties: + alerts: + type: object + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. + example: + - bob@exmaple.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + compare: + type: string + example: GreaterThan + enum: + - GreaterThan + - LessThan + description: + type: string + example: CPU Alert + enabled: + type: boolean + example: true + entities: + type: array + items: + type: string + example: + - '192018292' + tags: + type: array + items: + type: string + example: + - droplet_tag + type: + type: string + enum: + - v1/insights/droplet/load_1 + - v1/insights/droplet/load_5 + - v1/insights/droplet/load_15 + - v1/insights/droplet/memory_utilization_percent + - v1/insights/droplet/disk_utilization_percent + - v1/insights/droplet/cpu + - v1/insights/droplet/disk_read + - v1/insights/droplet/disk_write + - v1/insights/droplet/public_outbound_bandwidth + - v1/insights/droplet/public_inbound_bandwidth + - v1/insights/droplet/private_outbound_bandwidth + - v1/insights/droplet/private_inbound_bandwidth + - v1/insights/lbaas/avg_cpu_utilization_percent + - v1/insights/lbaas/connection_utilization_percent + - v1/insights/lbaas/droplet_health + - v1/insights/lbaas/tls_connections_per_second_utilization_percent + - v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx + - v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx + - v1/insights/lbaas/increase_in_http_error_rate_count_5xx + - v1/insights/lbaas/increase_in_http_error_rate_count_4xx + - v1/insights/lbaas/high_http_request_response_time + - v1/insights/lbaas/high_http_request_response_time_50p + - v1/insights/lbaas/high_http_request_response_time_95p + - v1/insights/lbaas/high_http_request_response_time_99p + - v1/dbaas/alerts/load_15_alerts + - v1/dbaas/alerts/memory_utilization_alerts + - v1/dbaas/alerts/disk_utilization_alerts + - v1/dbaas/alerts/cpu_alerts + example: v1/insights/droplet/cpu + uuid: + type: string + example: 78b3da62-27e5-49ba-ac70-5db0b5935c64 + value: + type: number + format: float + example: 80 + window: + type: string + enum: + - 5m + - 10m + - 30m + - 1h + example: 5m links: - first: https//api.digitalocean.com/v2/monitoring/alerts?page=1&per_page=10 - prev: https//api.digitalocean.com/v2/monitoring/alerts?page=2&per_page=10 - next: https//api.digitalocean.com/v2/monitoring/alerts?page=4&per_page=10 - last: https//api.digitalocean.com/v2/monitoring/alerts?page=5&per_page=10 + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 50 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1674,15 +1675,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1690,15 +1716,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1706,15 +1757,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1722,30 +1798,177 @@ components: description: An alert policy. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: policy: - $ref: '#/components/schemas/alert_policy' + type: object + required: + - uuid + - type + - description + - compare + - value + - window + - entities + - tags + - alerts + - enabled + properties: + alerts: + type: object + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. + example: + - bob@exmaple.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + compare: + type: string + example: GreaterThan + enum: + - GreaterThan + - LessThan + description: + type: string + example: CPU Alert + enabled: + type: boolean + example: true + entities: + type: array + items: + type: string + example: + - '192018292' + tags: + type: array + items: + type: string + example: + - droplet_tag + type: + type: string + enum: + - v1/insights/droplet/load_1 + - v1/insights/droplet/load_5 + - v1/insights/droplet/load_15 + - v1/insights/droplet/memory_utilization_percent + - v1/insights/droplet/disk_utilization_percent + - v1/insights/droplet/cpu + - v1/insights/droplet/disk_read + - v1/insights/droplet/disk_write + - v1/insights/droplet/public_outbound_bandwidth + - v1/insights/droplet/public_inbound_bandwidth + - v1/insights/droplet/private_outbound_bandwidth + - v1/insights/droplet/private_inbound_bandwidth + - v1/insights/lbaas/avg_cpu_utilization_percent + - v1/insights/lbaas/connection_utilization_percent + - v1/insights/lbaas/droplet_health + - v1/insights/lbaas/tls_connections_per_second_utilization_percent + - v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx + - v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx + - v1/insights/lbaas/increase_in_http_error_rate_count_5xx + - v1/insights/lbaas/increase_in_http_error_rate_count_4xx + - v1/insights/lbaas/high_http_request_response_time + - v1/insights/lbaas/high_http_request_response_time_50p + - v1/insights/lbaas/high_http_request_response_time_95p + - v1/insights/lbaas/high_http_request_response_time_99p + - v1/dbaas/alerts/load_15_alerts + - v1/dbaas/alerts/memory_utilization_alerts + - v1/dbaas/alerts/disk_utilization_alerts + - v1/dbaas/alerts/cpu_alerts + example: v1/insights/droplet/cpu + uuid: + type: string + example: 78b3da62-27e5-49ba-ac70-5db0b5935c64 + value: + type: number + format: float + example: 80 + window: + type: string + enum: + - 5m + - 10m + - 30m + - 1h + example: 5m not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1753,117 +1976,1007 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. droplet_bandwidth_metric_response: description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/metrics' + type: object + required: + - status + - data + properties: + data: + type: object + required: + - resultType + - result + properties: + result: + type: array + description: Result of query. + items: + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string + resultType: + type: string + enum: + - matrix + example: matrix + status: + type: string + example: success + enum: + - success + - error examples: Inbound Private Bandwidth: - $ref: '#/components/examples/inbound_private_droplet_bandwidth' + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: inbound + host_id: '222651441' + interface: private + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' Inbound Public Bandwidth: - $ref: '#/components/examples/inbound_public_droplet_bandwidth' + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: inbound + host_id: '222651441' + interface: public + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' Outbound Private Bandwidth: - $ref: '#/components/examples/outbound_private_droplet_bandwidth' + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: outbound + host_id: '222651441' + interface: private + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' Outbound Public Bandwidth: - $ref: '#/components/examples/outbound_public_droplet_bandwidth' + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: outbound + host_id: '222651441' + interface: public + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' droplet_cpu_metric_response: description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/metrics' + type: object + required: + - status + - data + properties: + data: + type: object + required: + - resultType + - result + properties: + result: + type: array + description: Result of query. + items: + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string + resultType: + type: string + enum: + - matrix + example: matrix + status: + type: string + example: success + enum: + - success + - error examples: CPU: - $ref: '#/components/examples/droplet_cpu' + value: + status: success + data: + resultType: matrix + result: + - metric: + host_id: '222651441' + mode: idle + values: + - - 1635386880 + - '122901.18' + - - 1635387000 + - '123020.92' + - - 1635387120 + - '123140.8' + - metric: + host_id: '222651441' + mode: iowait + values: + - - 1635386880 + - '14.99' + - - 1635387000 + - '15.01' + - - 1635387120 + - '15.01' + - metric: + host_id: '222651441' + mode: irq + values: + - - 1635386880 + - '0' + - - 1635387000 + - '0' + - - 1635387120 + - '0' + - metric: + host_id: '222651441' + mode: nice + values: + - - 1635386880 + - '66.35' + - - 1635387000 + - '66.35' + - - 1635387120 + - '66.35' + - metric: + host_id: '222651441' + mode: softirq + values: + - - 1635386880 + - '2.13' + - - 1635387000 + - '2.13' + - - 1635387120 + - '2.13' + - metric: + host_id: '222651441' + mode: steal + values: + - - 1635386880 + - '7.89' + - - 1635387000 + - '7.9' + - - 1635387120 + - '7.91' + - metric: + host_id: '222651441' + mode: system + values: + - - 1635386880 + - '140.09' + - - 1635387000 + - '140.2' + - - 1635387120 + - '140.23' + - metric: + host_id: '222651441' + mode: user + values: + - - 1635386880 + - '278.57' + - - 1635387000 + - '278.65' + - - 1635387120 + - '278.69' droplet_filesystem_metric_response: description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/metrics' + type: object + required: + - status + - data + properties: + data: + type: object + required: + - resultType + - result + properties: + result: + type: array + description: Result of query. + items: + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string + resultType: + type: string + enum: + - matrix + example: matrix + status: + type: string + example: success + enum: + - success + - error examples: Filesystem: - $ref: '#/components/examples/droplet_filesystem' + value: + status: success + data: + resultType: matrix + result: + - metric: + device: /dev/vda1 + fstype: ext4 + host_id: '222651441' + mountpoint: / + values: + - - 1635386880 + - '25832407040' + - - 1635387000 + - '25832407040' + - - 1635387120 + - '25832407040' metric_response: description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + required: + - status + - data + properties: + data: + type: object + required: + - resultType + - result + properties: + result: + type: array + description: Result of query. + items: + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string + resultType: + type: string + enum: + - matrix + example: matrix + status: + type: string + example: success + enum: + - success + - error + app_metric_response: + description: The response will be a JSON object with a key called `data` and `status`. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + required: + - status + - data + properties: + data: + type: object + required: + - resultType + - result + properties: + result: + type: array + description: Result of query. + items: + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string + resultType: + type: string + enum: + - matrix + example: matrix + status: + type: string + example: success + enum: + - success + - error + examples: + Memory: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' + destination: + description: The response is a JSON object with a `destination` key. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + destination: + type: object + properties: + id: + type: string + description: A unique identifier for a destination. + example: 01f30bfa-319a-4769-ba95-9d43971fb514 + name: + type: string + description: destination name + example: managed_opensearch_cluster + type: + enum: + - opensearch_dbaas + - opensearch_ext + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch + cluster or `opensearch_ext` for an externally managed one. + example: opensearch_dbaas + config: + type: object + description: OpenSearch destination configuration with `credentials` omitted. + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: Number of days to retain logs in OpenSearch. + example: 14 + default: 14 + monitoring_list_destinations: + description: The response is a JSON object with a `destinations` key. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + destinations: + type: array + items: + type: object + properties: + id: + type: string + description: A unique identifier for a destination. + example: 01f30bfa-319a-4769-ba95-9d43971fb514 + name: + type: string + description: destination name + example: managed_opensearch_cluster + type: + enum: + - opensearch_dbaas + - opensearch_ext + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch + cluster or `opensearch_ext` for an externally managed one. + example: opensearch_dbaas + config: + type: object + description: OpenSearch destination configuration with `credentials` omitted. + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: Number of days to retain logs in OpenSearch. + example: 14 + default: 14 + accepted: + description: The does not indicate the success or failure of any operation, just that the request has been accepted for processing. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + list_sinks: + description: The response is a JSON object with a `sinks` key. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + properties: + sinks: + type: array + description: List of sinks identified by their URNs. + items: + type: object + required: + - urn + properties: + destination: + type: object + required: + - config + properties: + id: + type: string + description: A unique identifier for a destination. + example: 01f30bfa-319a-4769-ba95-9d43971fb514 + name: + type: string + description: destination name + example: managed_opensearch_cluster + type: + enum: + - opensearch_dbaas + - opensearch_ext + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch + cluster or `opensearch_ext` for an externally managed one. + example: opensearch_dbaas + config: + type: object + required: + - endpoint + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + credentials: + type: object + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. + properties: + username: + type: string + example: username + password: + type: string + example: password + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: 'Number of days to retain logs in OpenSearch (default: 14)' + example: 14 + resources: + type: array + description: List of resources identified by their URNs. + items: + type: object + required: + - urn + properties: + urn: + type: string + pattern: ^do:kubernetes:.* + example: do:kubernetes:f453aa14-646e-4cf8-8c62-75a19fb24ec2 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + name: + type: string + description: resource name + example: managed_kubernetes_cluster + sinks: + description: The response is a JSON object with a `sink` key. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/metrics' + properties: + sink: + type: object + required: + - urn + properties: + destination: + type: object + required: + - config + properties: + id: + type: string + description: A unique identifier for a destination. + example: 01f30bfa-319a-4769-ba95-9d43971fb514 + name: + type: string + description: destination name + example: managed_opensearch_cluster + type: + enum: + - opensearch_dbaas + - opensearch_ext + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch + cluster or `opensearch_ext` for an externally managed one. + example: opensearch_dbaas + config: + type: object + required: + - endpoint + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + credentials: + type: object + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. + properties: + username: + type: string + example: username + password: + type: string + example: password + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: 'Number of days to retain logs in OpenSearch (default: 14)' + example: 14 + resources: + type: array + description: List of resources identified by their URNs. + items: + type: object + required: + - urn + properties: + urn: + type: string + pattern: ^do:kubernetes:.* + example: do:kubernetes:f453aa14-646e-4cf8-8c62-75a19fb24ec2 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + name: + type: string + description: resource name + example: managed_kubernetes_cluster securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1878,11 +2991,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1892,7 +3005,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1902,11 +3015,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1931,11 +3044,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1979,7 +3092,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1988,7 +3101,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2062,6 +3175,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2080,7 +3200,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2090,7 +3210,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2104,7 +3224,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2176,7 +3296,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2184,11 +3304,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2207,7 +3327,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2282,12 +3402,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2301,7 +3428,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2370,7 +3497,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2422,133 +3549,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2616,14 +3769,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2800,6 +3952,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2880,9 +4037,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2913,13 +4070,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3026,13 +4188,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3138,7 +4305,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3152,6 +4319,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3232,9 +4404,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3265,13 +4437,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3378,70 +4555,211 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 - droplet_create_request: - value: - name: example.com - region: nyc3 - size: s-1vcpu-1gb - image: ubuntu-20-04-x64 - ssh_keys: - - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' - backups: true - ipv6: true - monitoring: true - tags: - - 'env:prod' - - web - user_data: | - #cloud-config - runcmd: - - touch /test.txt - vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - droplet_multi_create_request: - value: - names: - - sub-01.example.com - - sub-02.example.com - region: nyc3 - size: s-1vcpu-1gb - image: ubuntu-20-04-x64 - ssh_keys: - - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' - backups: true - ipv6: true - monitoring: true - tags: - - 'env:prod' - - web - user_data: | - #cloud-config - runcmd: - - touch /test.txt - vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - droplet_create_response: + gpu_droplets: value: - droplet: - id: 3164444 - name: example.com - memory: 1024 - vcpus: 1 - disk: 25 - locked: false - status: new - kernel: null - created_at: '2020-07-21T18:37:44Z' - features: - - backups - - private_networking - - ipv6 + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 + droplet_create_request: + value: + name: example.com + region: nyc3 + size: s-1vcpu-1gb + image: ubuntu-20-04-x64 + ssh_keys: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + backups: true + ipv6: true + monitoring: true + tags: + - env:prod + - web + user_data: | + #cloud-config + runcmd: + - touch /test.txt + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + droplet_multi_create_request: + value: + names: + - sub-01.example.com + - sub-02.example.com + region: nyc3 + size: s-1vcpu-1gb + image: ubuntu-20-04-x64 + ssh_keys: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + backups: true + ipv6: true + monitoring: true + tags: + - env:prod + - web + user_data: | + #cloud-config + runcmd: + - touch /test.txt + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + droplet_create_response: + value: + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 - monitoring backup_ids: [] next_backup_window: null @@ -3532,12 +4850,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3546,6 +4864,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3644,12 +4967,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3748,15 +5076,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3765,6 +5093,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3845,9 +5178,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3878,10 +5211,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3919,13 +5253,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3962,6 +5297,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4051,9 +5387,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4083,7 +5419,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4115,6 +5451,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4398,12 +5735,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4413,8 +5750,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4450,8 +5787,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4487,6 +5824,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4542,7 +5884,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4550,8 +5892,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4592,6 +5934,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4608,7 +5955,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4619,8 +5966,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4656,8 +6003,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4693,6 +6040,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4704,12 +6056,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4719,8 +6071,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4756,8 +6108,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4792,6 +6144,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4803,12 +6160,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4818,8 +6175,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4855,8 +6212,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4891,6 +6248,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5100,11 +6462,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5156,7 +6518,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5170,11 +6532,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5200,11 +6562,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5230,7 +6592,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5254,7 +6616,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5326,11 +6688,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5442,7 +6804,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5505,7 +6867,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5554,11 +6916,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5630,11 +6992,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5815,8 +7177,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5854,13 +7236,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5897,6 +7280,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5986,9 +7370,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6018,7 +7402,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6050,6 +7434,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6098,7 +7483,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6128,7 +7513,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6382,14 +7767,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6399,7 +7784,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6409,372 +7794,2207 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: alerts: id: digitalocean.monitoring.alerts name: alerts title: Alerts methods: - list_alertPolicy: + monitoring_list_alert_policy: operation: $ref: '#/paths/~1v2~1monitoring~1alerts/get' response: mediaType: application/json openAPIDocKey: '200' - create_alertPolicy: + schemaRef: '#/components/responses/list_alert_policy_response' + objectKey: $.policies + monitoring_create_alert_policy: operation: $ref: '#/paths/~1v2~1monitoring~1alerts/post' response: mediaType: application/json openAPIDocKey: '200' - get_alertPolicy: + schemaRef: '#/components/responses/alert_policy_response' + monitoring_get_alert_policy: operation: $ref: '#/paths/~1v2~1monitoring~1alerts~1{alert_uuid}/get' response: mediaType: application/json openAPIDocKey: '200' - update_alertPolicy: + schemaRef: '#/components/responses/alert_policy_response' + monitoring_update_alert_policy: operation: $ref: '#/paths/~1v2~1monitoring~1alerts~1{alert_uuid}/put' response: mediaType: application/json openAPIDocKey: '200' - delete_alertPolicy: + schemaRef: '#/components/responses/alert_policy_response' + monitoring_delete_alert_policy: operation: $ref: '#/paths/~1v2~1monitoring~1alerts~1{alert_uuid}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/alerts/methods/list_alertPolicy' - - $ref: '#/components/x-stackQL-resources/alerts/methods/get_alertPolicy' + - $ref: '#/components/x-stackQL-resources/alerts/methods/monitoring_get_alert_policy' + - $ref: '#/components/x-stackQL-resources/alerts/methods/monitoring_list_alert_policy' insert: - - $ref: '#/components/x-stackQL-resources/alerts/methods/create_alertPolicy' + - $ref: '#/components/x-stackQL-resources/alerts/methods/monitoring_create_alert_policy' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/alerts/methods/delete_alertPolicy' - droplet_bandwidth: - id: digitalocean.monitoring.droplet_bandwidth - name: droplet_bandwidth - title: Droplet Bandwidth + - $ref: '#/components/x-stackQL-resources/alerts/methods/monitoring_delete_alert_policy' + metrics_droplet_bandwidths: + id: digitalocean.monitoring.metrics_droplet_bandwidths + name: metrics_droplet_bandwidths + title: Metrics Droplet Bandwidths methods: - get_dropletBandwidthMetrics: + monitoring_get_droplet_bandwidth_metrics: operation: $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1bandwidth/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletBandwidthMetrics: + schemaRef: '#/components/responses/droplet_bandwidth_metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_droplet_bandwidths/methods/monitoring_get_droplet_bandwidth_metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_droplet_cpus: + id: digitalocean.monitoring.metrics_droplet_cpus + name: metrics_droplet_cpus + title: Metrics Droplet Cpus + methods: + monitoring_get_droplet_cpu_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1bandwidth/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1cpu/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/droplet_cpu_metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_bandwidth/methods/get_dropletBandwidthMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_droplet_cpus/methods/monitoring_get_droplet_cpu_metrics' insert: [] update: [] + replace: [] delete: [] - droplet_cpu: - id: digitalocean.monitoring.droplet_cpu - name: droplet_cpu - title: Droplet Cpu + metrics_droplet_filesystem_free: + id: digitalocean.monitoring.metrics_droplet_filesystem_free + name: metrics_droplet_filesystem_free + title: Metrics Droplet Filesystem Free methods: - get_DropletCpuMetrics: + monitoring_get_droplet_filesystem_free_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1cpu/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1filesystem_free/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_DropletCpuMetrics: + schemaRef: '#/components/responses/droplet_filesystem_metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_droplet_filesystem_free/methods/monitoring_get_droplet_filesystem_free_metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_droplet_filesystem_sizes: + id: digitalocean.monitoring.metrics_droplet_filesystem_sizes + name: metrics_droplet_filesystem_sizes + title: Metrics Droplet Filesystem Sizes + methods: + monitoring_get_droplet_filesystem_size_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1cpu/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1filesystem_size/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/droplet_filesystem_metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_cpu/methods/get_DropletCpuMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_droplet_filesystem_sizes/methods/monitoring_get_droplet_filesystem_size_metrics' insert: [] update: [] + replace: [] delete: [] - droplet_filesystem_free: - id: digitalocean.monitoring.droplet_filesystem_free - name: droplet_filesystem_free - title: Droplet Filesystem Free + metrics_droplet_load_1s: + id: digitalocean.monitoring.metrics_droplet_load_1s + name: metrics_droplet_load_1s + title: Metrics Droplet Load 1s methods: - get_dropletFilesystemFreeMetrics: + monitoring_get_droplet_load1metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1filesystem_free/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_1/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletFilesystemFreeMetrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_droplet_load_1s/methods/monitoring_get_droplet_load1metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_droplet_load_5s: + id: digitalocean.monitoring.metrics_droplet_load_5s + name: metrics_droplet_load_5s + title: Metrics Droplet Load 5s + methods: + monitoring_get_droplet_load5metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1filesystem_free/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_5/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_filesystem_free/methods/get_dropletFilesystemFreeMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_droplet_load_5s/methods/monitoring_get_droplet_load5metrics' insert: [] update: [] + replace: [] delete: [] - droplet_filesystem_size: - id: digitalocean.monitoring.droplet_filesystem_size - name: droplet_filesystem_size - title: Droplet Filesystem Size + metrics_droplet_load_15s: + id: digitalocean.monitoring.metrics_droplet_load_15s + name: metrics_droplet_load_15s + title: Metrics Droplet Load 15s methods: - get_dropletFilesystemSizeMetrics: + monitoring_get_droplet_load15metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1filesystem_size/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_15/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletFilesystemSizeMetrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_droplet_load_15s/methods/monitoring_get_droplet_load15metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_droplet_memory_cached: + id: digitalocean.monitoring.metrics_droplet_memory_cached + name: metrics_droplet_memory_cached + title: Metrics Droplet Memory Cached + methods: + monitoring_get_droplet_memory_cached_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1filesystem_size/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_cached/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_filesystem_size/methods/get_dropletFilesystemSizeMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_droplet_memory_cached/methods/monitoring_get_droplet_memory_cached_metrics' insert: [] update: [] + replace: [] delete: [] - droplet_load_1_min: - id: digitalocean.monitoring.droplet_load_1_min - name: droplet_load_1_min - title: Droplet Load 1 Min + metrics_droplet_memory_free: + id: digitalocean.monitoring.metrics_droplet_memory_free + name: metrics_droplet_memory_free + title: Metrics Droplet Memory Free methods: - get_dropletLoad1Metrics: + monitoring_get_droplet_memory_free_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_1/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_free/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletLoad1Metrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_droplet_memory_free/methods/monitoring_get_droplet_memory_free_metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_droplet_memory_totals: + id: digitalocean.monitoring.metrics_droplet_memory_totals + name: metrics_droplet_memory_totals + title: Metrics Droplet Memory Totals + methods: + monitoring_get_droplet_memory_total_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_1/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_total/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_load_1_min/methods/get_dropletLoad1Metrics' + - $ref: '#/components/x-stackQL-resources/metrics_droplet_memory_totals/methods/monitoring_get_droplet_memory_total_metrics' insert: [] update: [] + replace: [] delete: [] - droplet_load_5_min: - id: digitalocean.monitoring.droplet_load_5_min - name: droplet_load_5_min - title: Droplet Load 5 Min + metrics_droplet_memory_available: + id: digitalocean.monitoring.metrics_droplet_memory_available + name: metrics_droplet_memory_available + title: Metrics Droplet Memory Available methods: - get_dropletLoad5Metrics: + monitoring_get_droplet_memory_available_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_5/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_available/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletLoad5Metrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_droplet_memory_available/methods/monitoring_get_droplet_memory_available_metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_apps_memory_percentages: + id: digitalocean.monitoring.metrics_apps_memory_percentages + name: metrics_apps_memory_percentages + title: Metrics Apps Memory Percentages + methods: + monitoring_get_app_memory_percentage_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_5/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1apps~1memory_percentage/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/app_metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_load_5_min/methods/get_dropletLoad5Metrics' + - $ref: '#/components/x-stackQL-resources/metrics_apps_memory_percentages/methods/monitoring_get_app_memory_percentage_metrics' insert: [] update: [] + replace: [] delete: [] - droplet_load_15_min: - id: digitalocean.monitoring.droplet_load_15_min - name: droplet_load_15_min - title: Droplet Load 15 Min + metrics_apps_cpu_percentages: + id: digitalocean.monitoring.metrics_apps_cpu_percentages + name: metrics_apps_cpu_percentages + title: Metrics Apps Cpu Percentages methods: - get_dropletLoad15Metrics: + monitoring_get_app_cpu_percentage_metrics: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_15/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1apps~1cpu_percentage/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletLoad15Metrics: + schemaRef: '#/components/responses/app_metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_apps_cpu_percentages/methods/monitoring_get_app_cpu_percentage_metrics' + insert: [] + update: [] + replace: [] + delete: [] + metrics_apps_restart_counts: + id: digitalocean.monitoring.metrics_apps_restart_counts + name: metrics_apps_restart_counts + title: Metrics Apps Restart Counts + methods: + monitoring_get_app_restart_count_metrics_yml: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1load_15/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1apps~1restart_count/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/app_metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_load_15_min/methods/get_dropletLoad15Metrics' + - $ref: '#/components/x-stackQL-resources/metrics_apps_restart_counts/methods/monitoring_get_app_restart_count_metrics_yml' insert: [] update: [] + replace: [] delete: [] - droplet_memory_cached: - id: digitalocean.monitoring.droplet_memory_cached - name: droplet_memory_cached - title: Droplet Memory Cached + metrics_load_balancer_frontend_connections_current: + id: digitalocean.monitoring.metrics_load_balancer_frontend_connections_current + name: metrics_load_balancer_frontend_connections_current + title: Metrics Load Balancer Frontend Connections Current methods: - get_dropletMemoryCachedMetrics: + monitoring_get_lb_frontend_connections_current: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_cached/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_connections_current/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletMemoryCachedMetrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_connections_current/methods/monitoring_get_lb_frontend_connections_current' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_connections_limits: + id: digitalocean.monitoring.metrics_load_balancer_frontend_connections_limits + name: metrics_load_balancer_frontend_connections_limits + title: Metrics Load Balancer Frontend Connections Limits + methods: + monitoring_get_lb_frontend_connections_limit: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_cached/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_connections_limit/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_memory_cached/methods/get_dropletMemoryCachedMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_connections_limits/methods/monitoring_get_lb_frontend_connections_limit' insert: [] update: [] + replace: [] delete: [] - droplet_memory_free: - id: digitalocean.monitoring.droplet_memory_free - name: droplet_memory_free - title: Droplet Memory Free + metrics_load_balancer_frontend_cpu_utilization: + id: digitalocean.monitoring.metrics_load_balancer_frontend_cpu_utilization + name: metrics_load_balancer_frontend_cpu_utilization + title: Metrics Load Balancer Frontend Cpu Utilization methods: - get_dropletMemoryFreeMetrics: + monitoring_get_lb_frontend_cpu_utilization: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_free/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_cpu_utilization/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletMemoryFreeMetrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_cpu_utilization/methods/monitoring_get_lb_frontend_cpu_utilization' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_firewall_dropped_bytes: + id: digitalocean.monitoring.metrics_load_balancer_frontend_firewall_dropped_bytes + name: metrics_load_balancer_frontend_firewall_dropped_bytes + title: Metrics Load Balancer Frontend Firewall Dropped Bytes + methods: + monitoring_get_lb_frontend_firewall_dropped_bytes: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_free/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_firewall_dropped_bytes/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_memory_free/methods/get_dropletMemoryFreeMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_firewall_dropped_bytes/methods/monitoring_get_lb_frontend_firewall_dropped_bytes' insert: [] update: [] + replace: [] delete: [] - droplet_memory_total: - id: digitalocean.monitoring.droplet_memory_total - name: droplet_memory_total - title: Droplet Memory Total + metrics_load_balancer_frontend_firewall_dropped_packets: + id: digitalocean.monitoring.metrics_load_balancer_frontend_firewall_dropped_packets + name: metrics_load_balancer_frontend_firewall_dropped_packets + title: Metrics Load Balancer Frontend Firewall Dropped Packets methods: - get_dropletMemoryTotalMetrics: + monitoring_get_lb_frontend_firewall_dropped_packets: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_total/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_firewall_dropped_packets/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletMemoryTotalMetrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_firewall_dropped_packets/methods/monitoring_get_lb_frontend_firewall_dropped_packets' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_http_responses: + id: digitalocean.monitoring.metrics_load_balancer_frontend_http_responses + name: metrics_load_balancer_frontend_http_responses + title: Metrics Load Balancer Frontend Http Responses + methods: + monitoring_get_lb_frontend_http_responses: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_total/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_http_responses/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_memory_total/methods/get_dropletMemoryTotalMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_http_responses/methods/monitoring_get_lb_frontend_http_responses' insert: [] update: [] + replace: [] delete: [] - droplet_memory_available: - id: digitalocean.monitoring.droplet_memory_available - name: droplet_memory_available - title: Droplet Memory Available + metrics_load_balancer_frontend_http_requests_per_seconds: + id: digitalocean.monitoring.metrics_load_balancer_frontend_http_requests_per_seconds + name: metrics_load_balancer_frontend_http_requests_per_seconds + title: Metrics Load Balancer Frontend Http Requests Per Seconds methods: - get_dropletMemoryAvailableMetrics: + monitoring_get_lb_frontend_http_requests_per_second: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_available/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_http_requests_per_second/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data.result - _get_dropletMemoryAvailableMetrics: + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_http_requests_per_seconds/methods/monitoring_get_lb_frontend_http_requests_per_second' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_network_throughput_http: + id: digitalocean.monitoring.metrics_load_balancer_frontend_network_throughput_http + name: metrics_load_balancer_frontend_network_throughput_http + title: Metrics Load Balancer Frontend Network Throughput Http + methods: + monitoring_get_lb_frontend_network_throughput_http: operation: - $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet~1memory_available/get' + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_http/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/droplet_memory_available/methods/get_dropletMemoryAvailableMetrics' + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_network_throughput_http/methods/monitoring_get_lb_frontend_network_throughput_http' insert: [] update: [] + replace: [] delete: [] -paths: - /v2/monitoring/alerts: - get: - operationId: monitoring_list_alertPolicy - summary: List Alert Policies - description: 'Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`.' - tags: - - Monitoring - parameters: - - $ref: '#/components/parameters/per_page' - - $ref: '#/components/parameters/page' - responses: - '200': - $ref: '#/components/responses/list_alert_policy_response' - '401': - $ref: '#/components/responses/unauthorized' - '429': - $ref: '#/components/responses/too_many_requests' - '500': - $ref: '#/components/responses/server_error' + metrics_load_balancer_frontend_network_throughput_udp: + id: digitalocean.monitoring.metrics_load_balancer_frontend_network_throughput_udp + name: metrics_load_balancer_frontend_network_throughput_udp + title: Metrics Load Balancer Frontend Network Throughput Udp + methods: + monitoring_get_lb_frontend_network_throughput_udp: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_udp/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_network_throughput_udp/methods/monitoring_get_lb_frontend_network_throughput_udp' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_network_throughput_tcp: + id: digitalocean.monitoring.metrics_load_balancer_frontend_network_throughput_tcp + name: metrics_load_balancer_frontend_network_throughput_tcp + title: Metrics Load Balancer Frontend Network Throughput Tcp + methods: + monitoring_get_lb_frontend_network_throughput_tcp: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_tcp/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_network_throughput_tcp/methods/monitoring_get_lb_frontend_network_throughput_tcp' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_nlb_tcp_network_throughput: + id: digitalocean.monitoring.metrics_load_balancer_frontend_nlb_tcp_network_throughput + name: metrics_load_balancer_frontend_nlb_tcp_network_throughput + title: Metrics Load Balancer Frontend Nlb Tcp Network Throughput + methods: + monitoring_get_lb_frontend_nlb_tcp_network_throughput: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_nlb_tcp_network_throughput/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_nlb_tcp_network_throughput/methods/monitoring_get_lb_frontend_nlb_tcp_network_throughput' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_nlb_udp_network_throughput: + id: digitalocean.monitoring.metrics_load_balancer_frontend_nlb_udp_network_throughput + name: metrics_load_balancer_frontend_nlb_udp_network_throughput + title: Metrics Load Balancer Frontend Nlb Udp Network Throughput + methods: + monitoring_get_lb_frontend_nlb_udp_network_throughput: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_nlb_udp_network_throughput/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_nlb_udp_network_throughput/methods/monitoring_get_lb_frontend_nlb_udp_network_throughput' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_tls_connections_current: + id: digitalocean.monitoring.metrics_load_balancer_frontend_tls_connections_current + name: metrics_load_balancer_frontend_tls_connections_current + title: Metrics Load Balancer Frontend Tls Connections Current + methods: + monitoring_get_lb_frontend_tls_connections_current: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_current/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_tls_connections_current/methods/monitoring_get_lb_frontend_tls_connections_current' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_tls_connections_limits: + id: digitalocean.monitoring.metrics_load_balancer_frontend_tls_connections_limits + name: metrics_load_balancer_frontend_tls_connections_limits + title: Metrics Load Balancer Frontend Tls Connections Limits + methods: + monitoring_get_lb_frontend_tls_connections_limit: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_limit/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_tls_connections_limits/methods/monitoring_get_lb_frontend_tls_connections_limit' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_frontend_tls_connections_exceeding_rate_limits: + id: digitalocean.monitoring.metrics_load_balancer_frontend_tls_connections_exceeding_rate_limits + name: metrics_load_balancer_frontend_tls_connections_exceeding_rate_limits + title: Metrics Load Balancer Frontend Tls Connections Exceeding Rate Limits + methods: + monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_exceeding_rate_limit/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_frontend_tls_connections_exceeding_rate_limits/methods/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_session_duration_avgs: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_session_duration_avgs + name: metrics_load_balancer_droplets_http_session_duration_avgs + title: Metrics Load Balancer Droplets Http Session Duration Avgs + methods: + monitoring_get_lb_droplets_http_session_duration_avg: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_avg/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_session_duration_avgs/methods/monitoring_get_lb_droplets_http_session_duration_avg' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_session_duration_50ps: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_session_duration_50ps + name: metrics_load_balancer_droplets_http_session_duration_50ps + title: Metrics Load Balancer Droplets Http Session Duration 50ps + methods: + monitoring_get_lb_droplets_http_session_duration_50p: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_50p/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_session_duration_50ps/methods/monitoring_get_lb_droplets_http_session_duration_50p' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_session_duration_95ps: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_session_duration_95ps + name: metrics_load_balancer_droplets_http_session_duration_95ps + title: Metrics Load Balancer Droplets Http Session Duration 95ps + methods: + monitoring_get_lb_droplets_http_session_duration_95p: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_95p/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_session_duration_95ps/methods/monitoring_get_lb_droplets_http_session_duration_95p' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_response_time_avgs: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_response_time_avgs + name: metrics_load_balancer_droplets_http_response_time_avgs + title: Metrics Load Balancer Droplets Http Response Time Avgs + methods: + monitoring_get_lb_droplets_http_response_time_avg: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_avg/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_response_time_avgs/methods/monitoring_get_lb_droplets_http_response_time_avg' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_response_time_50ps: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_response_time_50ps + name: metrics_load_balancer_droplets_http_response_time_50ps + title: Metrics Load Balancer Droplets Http Response Time 50ps + methods: + monitoring_get_lb_droplets_http_response_time_50p: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_50p/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_response_time_50ps/methods/monitoring_get_lb_droplets_http_response_time_50p' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_response_time_95ps: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_response_time_95ps + name: metrics_load_balancer_droplets_http_response_time_95ps + title: Metrics Load Balancer Droplets Http Response Time 95ps + methods: + monitoring_get_lb_droplets_http_response_time_95p: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_95p/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_response_time_95ps/methods/monitoring_get_lb_droplets_http_response_time_95p' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_response_time_99ps: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_response_time_99ps + name: metrics_load_balancer_droplets_http_response_time_99ps + title: Metrics Load Balancer Droplets Http Response Time 99ps + methods: + monitoring_get_lb_droplets_http_response_time_99p: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_99p/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_response_time_99ps/methods/monitoring_get_lb_droplets_http_response_time_99p' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_queue_sizes: + id: digitalocean.monitoring.metrics_load_balancer_droplets_queue_sizes + name: metrics_load_balancer_droplets_queue_sizes + title: Metrics Load Balancer Droplets Queue Sizes + methods: + monitoring_get_lb_droplets_queue_size: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_queue_size/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_queue_sizes/methods/monitoring_get_lb_droplets_queue_size' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_http_responses: + id: digitalocean.monitoring.metrics_load_balancer_droplets_http_responses + name: metrics_load_balancer_droplets_http_responses + title: Metrics Load Balancer Droplets Http Responses + methods: + monitoring_get_lb_droplets_http_responses: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_responses/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_http_responses/methods/monitoring_get_lb_droplets_http_responses' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_connections: + id: digitalocean.monitoring.metrics_load_balancer_droplets_connections + name: metrics_load_balancer_droplets_connections + title: Metrics Load Balancer Droplets Connections + methods: + monitoring_get_lb_droplets_connections: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_connections/methods/monitoring_get_lb_droplets_connections' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_health_checks: + id: digitalocean.monitoring.metrics_load_balancer_droplets_health_checks + name: metrics_load_balancer_droplets_health_checks + title: Metrics Load Balancer Droplets Health Checks + methods: + monitoring_get_lb_droplets_health_checks: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_health_checks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_health_checks/methods/monitoring_get_lb_droplets_health_checks' + insert: [] + update: [] + replace: [] + delete: [] + metrics_load_balancer_droplets_downtimes: + id: digitalocean.monitoring.metrics_load_balancer_droplets_downtimes + name: metrics_load_balancer_droplets_downtimes + title: Metrics Load Balancer Droplets Downtimes + methods: + monitoring_get_lb_droplets_downtime: + operation: + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_downtime/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/metric_response' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metrics_load_balancer_droplets_downtimes/methods/monitoring_get_lb_droplets_downtime' + insert: [] + update: [] + replace: [] + delete: [] + sinks_destinations: + id: digitalocean.monitoring.sinks_destinations + name: sinks_destinations + title: Sinks Destinations + methods: + monitoring_create_destination: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/destination' + monitoring_list_destinations: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/monitoring_list_destinations' + monitoring_get_destination: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/destination' + monitoring_update_destination: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/post' + response: + mediaType: application/json + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + monitoring_delete_destination: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/sinks_destinations/methods/monitoring_get_destination' + - $ref: '#/components/x-stackQL-resources/sinks_destinations/methods/monitoring_list_destinations' + insert: + - $ref: '#/components/x-stackQL-resources/sinks_destinations/methods/monitoring_create_destination' + update: + - $ref: '#/components/x-stackQL-resources/sinks_destinations/methods/monitoring_update_destination' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/sinks_destinations/methods/monitoring_delete_destination' + sinks: + id: digitalocean.monitoring.sinks + name: sinks + title: Sinks + methods: + monitoring_create_sink: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks/post' + response: + mediaType: application/json + openAPIDocKey: '202' + schemaRef: '#/components/responses/accepted' + monitoring_list_sinks: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/list_sinks' + monitoring_get_sink: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1{sink_uuid}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/sinks' + monitoring_delete_sink: + operation: + $ref: '#/paths/~1v2~1monitoring~1sinks~1{sink_uuid}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_get_sink' + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_list_sinks' + insert: + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_create_sink' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_delete_sink' +paths: + /v2/monitoring/alerts: + get: + operationId: monitoring_list_alertPolicy + summary: List Alert Policies + description: Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. + tags: + - Monitoring + parameters: + - $ref: '#/components/parameters/per_page' + - $ref: '#/components/parameters/page' + responses: + '200': + $ref: '#/components/responses/list_alert_policy_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/alerts" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.list_alert_policy() + security: + - bearer_auth: + - monitoring:read + post: + operationId: monitoring_create_alertPolicy + summary: Create Alert Policy + description: To create a new alert, send a POST request to `/v2/monitoring/alerts`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/alert_policy_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + requestBody: + description: | + The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: + Type | Description | Valid Entity Type + -----|-------------|-------------------- + `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID + `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID + `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID + `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID + `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID + `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID + `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID + `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID + `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID + `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID + `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID + `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization (requires at least one HTTPS forwarding rule)|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID + `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID + `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/alert_policy_request' + x-codeSamples: + - lang: cURL + source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/alerts" \ + --data '{"alerts":{"email":["alerts@example.com"]},"compare":"GreaterThan","description":"CPU Alert","enabled":true,"entities":["12345678"],"tags":["droplet_tag"],"type":"v1/insights/droplet/cpu","value":80,"window":"5m"}' + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "alerts": { + "email": [ + "bob@exmaple.com" + ], + "slack": [ + { + "channel": "Production Alerts", + "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ" + } + ] + }, + "compare": "GreaterThan", + "description": "CPU Alert", + "enabled": True, + "entities": [ + "192018292" + ], + "tags": [ + "droplet_tag" + ], + "type": "v1/insights/droplet/cpu", + "value": 80, + "window": "5m" + } + + resp = client.monitoring.create_alert_policy(body=req) + security: + - bearer_auth: + - monitoring:create + /v2/monitoring/alerts/{alert_uuid}: + get: + operationId: monitoring_get_alertPolicy + summary: Retrieve an Existing Alert Policy + description: To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/alert_policy_response' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/alert_uuid' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_alert_policy(alert_uuid="dfa8da") + security: + - bearer_auth: + - monitoring:read + put: + operationId: monitoring_update_alertPolicy + summary: Update an Alert Policy + description: To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/alert_policy_response' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/alert_uuid' + requestBody: + description: | + The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: + Type | Description | Valid Entity Type + -----|-------------|-------------------- + `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID + `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID + `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID + `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID + `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID + `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID + `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID + `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID + `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID + `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID + `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID + `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization (requires at least one HTTPS forwarding rule)|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID + `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID + `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/alert_policy_request' + x-codeSamples: + - lang: cURL + source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64" \ + --data '{"alerts":{"email":["alerts@example.com"]},"compare":"GreaterThan","description":"CPU Alert","enabled":true,"entities":["12345678"],"tags":["droplet_tag"],"type":"v1/insights/droplet/cpu","value":80,"window":"5m"}' + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "alerts": { + "email": [ + "bob@exmaple.com" + ], + "slack": [ + { + "channel": "Production Alerts", + "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ" + } + ] + }, + "compare": "GreaterThan", + "description": "CPU Alert", + "enabled": True, + "entities": [ + "192018292" + ], + "tags": [ + "droplet_tag" + ], + "type": "v1/insights/droplet/cpu", + "value": 80, + "window": "5m" + } + + resp = client.monitoring.update_alert_policy(alert_uuid="fda9da", body=req) + security: + - bearer_auth: + - monitoring:update + delete: + operationId: monitoring_delete_alertPolicy + summary: Delete an Alert Policy + description: To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}` + tags: + - Monitoring + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/alert_uuid' + x-codeSamples: + - lang: cURL + source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/alerts/{alert_uuid}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.delete_alert_policy(alert_uuid="dfa8da") + security: + - bearer_auth: + - monitoring:delete + /v2/monitoring/metrics/droplet/bandwidth: + get: + operationId: monitoring_get_dropletBandwidthMetrics + summary: Get Droplet Bandwidth Metrics + description: |- + To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic. + The metrics in the response body are in megabits per second (Mbps). + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/droplet_bandwidth_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/network_interface' + - $ref: '#/components/parameters/network_direction' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/bandwidth?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_bandwidth_metrics(alert_uuid="dfa8da", host_id="17209102", interface="private", direction="inbound", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/cpu: + get: + operationId: monitoring_get_DropletCpuMetrics + summary: Get Droplet CPU Metrics + description: To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/droplet_cpu_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/cpu?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_cpu_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/filesystem_free: + get: + operationId: monitoring_get_dropletFilesystemFreeMetrics + summary: Get Droplet Filesystem Free Metrics + description: To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/droplet_filesystem_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_free?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_filesystem_free_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/filesystem_size: + get: + operationId: monitoring_get_dropletFilesystemSizeMetrics + summary: Get Droplet Filesystem Size Metrics + description: To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/droplet_filesystem_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_size?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_filesystem_size_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/load_1: + get: + operationId: monitoring_get_dropletLoad1Metrics + summary: Get Droplet Load1 Metrics + description: To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_1?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_load1_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/load_5: + get: + operationId: monitoring_get_dropletLoad5Metrics + summary: Get Droplet Load5 Metrics + description: To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_5?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_load5_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/load_15: + get: + operationId: monitoring_get_dropletLoad15Metrics + summary: Get Droplet Load15 Metrics + description: To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_15?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_load15_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/memory_cached: + get: + operationId: monitoring_get_dropletMemoryCachedMetrics + summary: Get Droplet Cached Memory Metrics + description: To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_cached?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_memory_cached_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/memory_free: + get: + operationId: monitoring_get_dropletMemoryFreeMetrics + summary: Get Droplet Free Memory Metrics + description: To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_free?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_memory_free_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/memory_total: + get: + operationId: monitoring_get_dropletMemoryTotalMetrics + summary: Get Droplet Total Memory Metrics + description: To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_total?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_memory_total_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/droplet/memory_available: + get: + operationId: monitoring_get_dropletMemoryAvailableMetrics + summary: Get Droplet Available Memory Metrics + description: To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_available?host_id=222651441&start=1636051668&end=1636051668" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.monitoring.get_droplet_memory_available_metrics(host_id="17209102", start="1620683817", end="1620705417") + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/apps/memory_percentage: + get: + operationId: monitoring_get_appMemoryPercentageMetrics + summary: Get App Memory Percentage Metrics + description: To retrieve memory percentage metrics for a given app, send a GET request to `/v2/monitoring/metrics/apps/memory_percentage`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/app_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_app_id' + - $ref: '#/components/parameters/app_component' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/apps/memory_percentage?app_id=2db3c021-15ad-4088-bfe8-99dc972b9cf6&app_component=sample-application&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/apps/cpu_percentage: + get: + operationId: monitoring_get_appCPUPercentageMetrics + summary: Get App CPU Percentage Metrics + description: To retrieve cpu percentage metrics for a given app, send a GET request to `/v2/monitoring/metrics/apps/cpu_percentage`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/app_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_app_id' + - $ref: '#/components/parameters/app_component' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/apps/cpu_percentage?app_id=2db3c021-15ad-4088-bfe8-99dc972b9cf6&app_component=sample-application&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/apps/restart_count: + get: + operationId: monitoring_get_appRestartCountMetrics.yml + summary: Get App Restart Count Metrics + description: To retrieve restart count metrics for a given app, send a GET request to `/v2/monitoring/metrics/apps/restart_count`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/app_metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_app_id' + - $ref: '#/components/parameters/app_component' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/apps/restart_count?app_id=2db3c021-15ad-4088-bfe8-99dc972b9cf6&app_component=sample-application&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_connections_current: + get: + operationId: monitoring_get_lb_frontend_connections_current + summary: Get Load Balancer Frontend Total Current Active Connections Metrics + description: To retrieve frontend total current active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_current`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_connections_current?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_connections_limit: + get: + operationId: monitoring_get_lb_frontend_connections_limit + summary: Get Load Balancer Frontend Max Connections Limit Metrics + description: To retrieve frontend max connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_limit`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_connections_limit?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_cpu_utilization: + get: + operationId: monitoring_get_lb_frontend_cpu_utilization + summary: Get Load Balancer Frontend Average Percentage CPU Utilization Metrics + description: To retrieve frontend average percentage CPU utilization for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes: + get: + operationId: monitoring_get_lb_frontend_firewall_dropped_bytes + summary: Get Load Balancer Frontend Firewall Dropped Bytes Metrics + description: To retrieve firewall dropped bytes for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes`. This is currently only supported for network load balancers. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets: + get: + operationId: monitoring_get_lb_frontend_firewall_dropped_packets + summary: Get Load Balancer Frontend Firewall Dropped Packets Metrics + description: To retrieve firewall dropped packets per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets`. This is currently only supported for network load balancers. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_http_responses: + get: + operationId: monitoring_get_lb_frontend_http_responses + summary: Get Load Balancer Frontend HTTP Rate Of Response Code Metrics + description: To retrieve frontend HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_responses`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_http_responses?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second: + get: + operationId: monitoring_get_lb_frontend_http_requests_per_second + summary: Get Load Balancer Frontend HTTP Requests Metrics + description: To retrieve frontend HTTP requests per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_network_throughput_http: + get: + operationId: monitoring_get_lb_frontend_network_throughput_http + summary: Get Load Balancer Frontend HTTP Throughput Metrics + description: To retrieve frontend HTTP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp: + get: + operationId: monitoring_get_lb_frontend_network_throughput_udp + summary: Get Load Balancer Frontend UDP Throughput Metrics + description: To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp: + get: + operationId: monitoring_get_lb_frontend_network_throughput_tcp + summary: Get Load Balancer Frontend TCP Throughput Metrics + description: To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput: + get: + operationId: monitoring_get_lb_frontend_nlb_tcp_network_throughput + summary: Get Network Load Balancer Frontend TCP Throughput Metrics + description: To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput: + get: + operationId: monitoring_get_lb_frontend_nlb_udp_network_throughput + summary: Get Network Load Balancer Frontend UDP Throughput Metrics + description: To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/alerts" + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - read - post: - operationId: monitoring_create_alertPolicy - summary: Create Alert Policy - description: 'To create a new alert, send a POST request to `/v2/monitoring/alerts`.' + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_tls_connections_current: + get: + operationId: monitoring_get_lb_frontend_tls_connections_current + summary: Get Load Balancer Frontend Current TLS Connections Rate Metrics + description: To retrieve frontend current TLS connections rate for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/alert_policy_response' + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' '429': @@ -6783,70 +10003,288 @@ paths: $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - requestBody: - description: | - The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: - - Type | Description | Valid Entity Type - -----|-------------|-------------------- - `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID - `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID - `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID - `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID - `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID - `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID - `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID - `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID - `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID - `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID - `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID - `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID - `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID - `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID - `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID - `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID - `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID - `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID - `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/alert_policy_request' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- - curl -X POST \ + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit: + get: + operationId: monitoring_get_lb_frontend_tls_connections_limit + summary: Get Load Balancer Frontend Max TLS Connections Limit Metrics + description: To retrieve frontend max TLS connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit: + get: + operationId: monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit + summary: Get Load Balancer Frontend Closed TLS Connections For Exceeded Rate Limit Metrics + description: To retrieve frontend closed TLS connections for exceeded rate limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg: + get: + operationId: monitoring_get_lb_droplets_http_session_duration_avg + summary: Get Load Balancer Droplets Average HTTP Session Duration Metrics + description: To retrieve Droplets average HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p: + get: + operationId: monitoring_get_lb_droplets_http_session_duration_50p + summary: Get Load Balancer Droplets 50th Percentile HTTP Session Duration Metrics + description: To retrieve Droplets 50th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p: + get: + operationId: monitoring_get_lb_droplets_http_session_duration_95p + summary: Get Load Balancer Droplets 95th Percentile HTTP Session Duration Metrics + description: To retrieve Droplets 95th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg: + get: + operationId: monitoring_get_lb_droplets_http_response_time_avg + summary: Get Load Balancer Droplets Average HTTP Response Time Metrics + description: To retrieve Droplets average HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p: + get: + operationId: monitoring_get_lb_droplets_http_response_time_50p + summary: Get Load Balancer Droplets 50th Percentile HTTP Response Time Metrics + description: To retrieve Droplets 50th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" + security: + - bearer_auth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p: + get: + operationId: monitoring_get_lb_droplets_http_response_time_95p + summary: Get Load Balancer Droplets 95th Percentile HTTP Response Time Metrics + description: To retrieve Droplets 95th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p`. + tags: + - Monitoring + responses: + '200': + $ref: '#/components/responses/metric_response' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + parameters: + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/alerts" \ - --data '{"alerts":{"email":["alerts@example.com"]},"compare":"GreaterThan","description":"CPU Alert","enabled":true,"entities":["12345678"],"tags":["droplet_tag"],"type":"v1/insights/droplet/cpu","value":80,"window":"5m"}' + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - write - '/v2/monitoring/alerts/{alert_uuid}': + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p: get: - operationId: monitoring_get_alertPolicy - summary: Retrieve an Existing Alert Policy - description: 'To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}`' + operationId: monitoring_get_lb_droplets_http_response_time_99p + summary: Get Load Balancer Droplets 99th Percentile HTTP Response Time Metrics + description: To retrieve Droplets 99th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/alert_policy_response' + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' - '404': - $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': @@ -6854,30 +10292,31 @@ paths: default: $ref: '#/components/responses/unexpected_error' parameters: - - $ref: '#/components/parameters/alert_uuid' + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64" + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - read - put: - operationId: monitoring_update_alertPolicy - summary: Update an Alert Policy - description: 'To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`.' + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_queue_size: + get: + operationId: monitoring_get_lb_droplets_queue_size + summary: Get Load Balancer Droplets Queue Size Metrics + description: To retrieve Droplets queue size for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_queue_size`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/alert_policy_response' + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' - '404': - $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': @@ -6885,70 +10324,31 @@ paths: default: $ref: '#/components/responses/unexpected_error' parameters: - - $ref: '#/components/parameters/alert_uuid' - requestBody: - description: | - The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: - - Type | Description | Valid Entity Type - -----|-------------|-------------------- - `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID - `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID - `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID - `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID - `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID - `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID - `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID - `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID - `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID - `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID - `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID - `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID - `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID - `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID - `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID - `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID - `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID - `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID - `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID - `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID - `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/alert_policy_request' + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- - curl -X PUT \ + curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64" \ - --data '{"alerts":{"email":["alerts@example.com"]},"compare":"GreaterThan","description":"CPU Alert","enabled":true,"entities":["12345678"],"tags":["droplet_tag"],"type":"v1/insights/droplet/cpu","value":80,"window":"5m"}' + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_queue_size?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - write - delete: - operationId: monitoring_delete_alertPolicy - summary: Delete an Alert Policy - description: 'To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}`' + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_http_responses: + get: + operationId: monitoring_get_lb_droplets_http_responses + summary: Get Load Balancer Droplets HTTP Rate Of Response Code Metrics + description: To retrieve Droplets HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_responses`. tags: - Monitoring responses: - '204': - $ref: '#/components/responses/no_content' + '200': + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' - '404': - $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': @@ -6956,27 +10356,29 @@ paths: default: $ref: '#/components/responses/unexpected_error' parameters: - - $ref: '#/components/parameters/alert_uuid' + - $ref: '#/components/parameters/parameters_load_balancer_id' + - $ref: '#/components/parameters/metric_timestamp_start' + - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- - curl -X DELETE \ + curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/alerts/{alert_uuid}" + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_responses?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - write - /v2/monitoring/metrics/droplet/bandwidth: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_connections: get: - operationId: monitoring_get_dropletBandwidthMetrics - summary: Get Droplet Bandwidth Metrics - description: 'To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic.' + operationId: monitoring_get_lb_droplets_connections + summary: Get Load Balancer Droplets Active Connections Metrics + description: To retrieve Droplets active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_connections`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/droplet_bandwidth_metric_response' + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' '429': @@ -6986,9 +10388,7 @@ paths: default: $ref: '#/components/responses/unexpected_error' parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/network_interface' - - $ref: '#/components/parameters/network_direction' + - $ref: '#/components/parameters/parameters_load_balancer_id' - $ref: '#/components/parameters/metric_timestamp_start' - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: @@ -6997,20 +10397,20 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/bandwidth?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_connections?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/cpu: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_health_checks: get: - operationId: monitoring_get_DropletCpuMetrics - summary: Get Droplet CPU Metrics - description: 'To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`.' + operationId: monitoring_get_lb_droplets_health_checks + summary: Get Load Balancer Droplets Health Check Status Metrics + description: To retrieve Droplets health check status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_health_checks`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/droplet_cpu_metric_response' + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' '429': @@ -7020,7 +10420,7 @@ paths: default: $ref: '#/components/responses/unexpected_error' parameters: - - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/parameters_load_balancer_id' - $ref: '#/components/parameters/metric_timestamp_start' - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: @@ -7029,20 +10429,20 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/cpu?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_health_checks?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/filesystem_free: + - monitoring:read + /v2/monitoring/metrics/load_balancer/droplets_downtime: get: - operationId: monitoring_get_dropletFilesystemFreeMetrics - summary: Get Droplet Filesystem Free Metrics - description: 'To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`.' + operationId: monitoring_get_lb_droplets_downtime + summary: Get Load Balancer Droplets Downtime Status Metrics + description: To retrieve Droplets downtime status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_downtime`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/droplet_filesystem_metric_response' + $ref: '#/components/responses/metric_response' '401': $ref: '#/components/responses/unauthorized' '429': @@ -7052,7 +10452,7 @@ paths: default: $ref: '#/components/responses/unexpected_error' parameters: - - $ref: '#/components/parameters/parameters_droplet_id' + - $ref: '#/components/parameters/parameters_load_balancer_id' - $ref: '#/components/parameters/metric_timestamp_start' - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: @@ -7061,263 +10461,338 @@ paths: curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_free?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_downtime?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/filesystem_size: - get: - operationId: monitoring_get_dropletFilesystemSizeMetrics - summary: Get Droplet Filesystem Size Metrics - description: 'To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`.' + - monitoring:read + /v2/monitoring/sinks/destinations: + post: + operationId: monitoring_create_destination + summary: Create Logging Destination + description: To create a new destination, send a POST request to `/v2/monitoring/sinks/destinations`. tags: - Monitoring + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/destination_request' + examples: + Managed OpenSearch Cluster: + value: + name: managed_opensearch_cluster + type: opensearch_dbaas + config: + endpoint: db-opensearch-nyc3-123456-do-user-123456-0.g.db.ondigitalocean.com + cluster_uuid: 85148069-7e35-4999-80bd-6fa1637ca385 + cluster_name: managed_dbaas_cluster + index_name: logs + retention_days: 14 + External OpenSearch Cluster: + value: + name: external_opensearch + type: opensearch_ext + config: + endpoint: example.com + credentials: + username: username + password: password + index_name: logs + retention_days: 14 responses: '200': - $ref: '#/components/responses/droplet_filesystem_metric_response' + $ref: '#/components/responses/destination' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- - curl -X GET \ + curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_size?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks/destinations" \ + --data '{"name":"cluster", "type":"opensearch_dbaas", "config": {"endpoint": "example.com", "credentials": {"username": "username", "password": "password"}}}' security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/load_1: + - monitoring:create get: - operationId: monitoring_get_dropletLoad1Metrics - summary: Get Droplet Load1 Metrics - description: 'To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`.' + operationId: monitoring_list_destinations + summary: List Logging Destinations + description: To list all logging destinations, send a GET request to `/v2/monitoring/sinks/destinations`. tags: - Monitoring responses: '200': - $ref: '#/components/responses/metric_response' + $ref: '#/components/responses/monitoring_list_destinations' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_1?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks/destinations" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/load_5: + - monitoring:read + /v2/monitoring/sinks/destinations/{destination_uuid}: get: - operationId: monitoring_get_dropletLoad5Metrics - summary: Get Droplet Load5 Metrics - description: 'To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`.' + operationId: monitoring_get_destination + summary: Get Logging Destination + description: To get the details of a destination, send a GET request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. tags: - Monitoring + parameters: + - $ref: '#/components/parameters/destination_uuid' responses: '200': - $ref: '#/components/responses/metric_response' + $ref: '#/components/responses/destination' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_5?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks/destinations/01f30bfa-319a-4769-ba95-9d43971fb514" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/load_15: - get: - operationId: monitoring_get_dropletLoad15Metrics - summary: Get Droplet Load15 Metrics - description: 'To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`.' + - monitoring:read + post: + operationId: monitoring_update_destination + summary: Update Logging Destination + description: To update the details of a destination, send a PATCH request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. tags: - Monitoring + parameters: + - $ref: '#/components/parameters/destination_uuid' responses: - '200': - $ref: '#/components/responses/metric_response' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/destination_request' + x-codeSamples: + - lang: cURL + source: |- + curl -X PATCH \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/sinks/destinations/01f30bfa-319a-4769-ba95-9d43971fb514" \ + --data '{"index_name": "logs", "retention_days": 30}' + security: + - bearer_auth: + - monitoring:update + delete: + operationId: monitoring_delete_destination + summary: Delete Logging Destination + description: To delete a destination and all associated sinks, send a DELETE request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. + tags: + - Monitoring parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' + - $ref: '#/components/parameters/destination_uuid' + responses: + '204': + $ref: '#/components/responses/no_content' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL source: |- - curl -X GET \ + curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_15?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks/destinations/01f30bfa-319a-4769-ba95-9d43971fb514" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/memory_cached: - get: - operationId: monitoring_get_dropletMemoryCachedMetrics - summary: Get Droplet Cached Memory Metrics - description: 'To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`.' + - monitoring:delete + /v2/monitoring/sinks: + post: + operationId: monitoring_create_sink + summary: Create Sink + description: | + To create a new sink, send a POST request to `/v2/monitoring/sinks`. Forwards logs from the + resources identified in `resources` to the specified pre-existing destination. tags: - Monitoring responses: - '200': - $ref: '#/components/responses/metric_response' + '202': + $ref: '#/components/responses/accepted' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' + requestBody: + required: true + content: + application/json: + schema: + properties: + destination_uuid: + type: string + example: 9df2b7e9-3fb2-4577-b60a-e9c0d53f9a99 + description: A unique identifier for an already-existing destination. + resources: + type: array + description: List of resources identified by their URNs. + items: + $ref: '#/components/schemas/sink_resource' x-codeSamples: - lang: cURL source: |- - curl -X GET \ + curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_cached?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks" \ + --data '{"destination_uuid": "f2fcd5d9-f410-4f3a-8015-130ada94b1fe", "resources": [{"name": "fra_kubernetes_cluster", "urn":"do:kubernetes:8463c9db-150c-4b44-830c-fca7f68d005b"}]}' security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/memory_free: + - monitoring:create get: - operationId: monitoring_get_dropletMemoryFreeMetrics - summary: Get Droplet Free Memory Metrics - description: 'To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`.' + operationId: monitoring_list_sinks + summary: Lists all sinks + description: To list all sinks, send a GET request to `/v2/monitoring/sinks`. tags: - Monitoring + parameters: + - $ref: '#/components/parameters/resource_id' responses: '200': - $ref: '#/components/responses/metric_response' + $ref: '#/components/responses/list_sinks' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_free?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks?resource_id=do:kubernetes:f2fcd5d9-f410-4f3a-8015-130ada94b1fe" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/memory_total: + - monitoring:read + /v2/monitoring/sinks/{sink_uuid}: get: - operationId: monitoring_get_dropletMemoryTotalMetrics - summary: Get Droplet Total Memory Metrics - description: 'To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`.' + operationId: monitoring_get_sink + summary: Get Sink + description: To get the details of a sink (resources and destination), send a GET request to `/v2/monitoring/sinks/${sink_uuid}`. tags: - Monitoring + parameters: + - $ref: '#/components/parameters/sink_uuid' responses: '200': - $ref: '#/components/responses/metric_response' + $ref: '#/components/responses/sinks' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_total?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks/f945d774-86e8-4dc8-8f60-cfc76dd3d098" security: - bearer_auth: - - read - /v2/monitoring/metrics/droplet/memory_available: - get: - operationId: monitoring_get_dropletMemoryAvailableMetrics - summary: Get Droplet Available Memory Metrics - description: 'To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`.' + - monitoring:read + delete: + operationId: monitoring_delete_sink + summary: Delete Sink + description: To delete a sink, send a DELETE request to `/v2/monitoring/sinks/${sink_uuid}`. tags: - Monitoring + parameters: + - $ref: '#/components/parameters/sink_uuid' responses: - '200': - $ref: '#/components/responses/metric_response' + '204': + $ref: '#/components/responses/no_content' '401': $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' '500': $ref: '#/components/responses/server_error' default: $ref: '#/components/responses/unexpected_error' - parameters: - - $ref: '#/components/parameters/parameters_droplet_id' - - $ref: '#/components/parameters/metric_timestamp_start' - - $ref: '#/components/parameters/metric_timestamp_end' x-codeSamples: - lang: cURL source: |- - curl -X GET \ + curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_available?host_id=222651441&start=1636051668&end=1636051668" + "https://api.digitalocean.com/v2/monitoring/sinks/aef7ff4a-f1be-4d9e-b886-650fcb5bdfe3" security: - bearer_auth: - - read + - monitoring:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/one_click_applications.yaml b/providers/src/digitalocean/v00.00.00000/services/one_click_applications.yaml index 1d192942..246acad5 100644 --- a/providers/src/digitalocean/v00.00.00000/services/one_click_applications.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/one_click_applications.yaml @@ -1,18 +1,21 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - one_click_applications version: '2.0' - description: 1_Click Applications license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - one_click_applications + description: |- + 1-Click applications are pre-built Droplet images or Kubernetes apps with software, + features, and configuration details already set up for you. They can be found in the + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). security: - bearer_auth: [] tags: @@ -20,52 +23,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +67,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +82,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +108,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +157,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +165,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +180,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +202,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +220,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +272,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +288,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +303,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +330,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +348,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,87 +383,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - oneClicks: - type: object - properties: - slug: - title: slug - type: string - example: monitoring - description: The slug identifier for the 1-Click application. - type: - title: type - type: string - example: kubernetes - description: The type of the 1-Click application. - required: - - slug - - type - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message oneClicks_create: type: object properties: @@ -615,8 +466,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -635,7 +492,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -645,7 +502,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -678,7 +535,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -698,6 +555,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -708,6 +566,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -725,14 +584,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -740,7 +591,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -759,6 +610,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -834,6 +694,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -844,7 +728,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -877,11 +761,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -890,6 +774,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -897,7 +792,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -999,7 +894,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1106,7 +1001,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1114,11 +1009,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1133,7 +1078,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1143,7 +1088,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1177,7 +1122,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1197,7 +1142,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1244,12 +1189,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1263,8 +1208,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1292,6 +1263,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1315,11 +1295,20 @@ components: description: A JSON object with a key of `1_clicks`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -1327,7 +1316,21 @@ components: 1_clicks: type: array items: - $ref: '#/components/schemas/oneClicks' + type: object + properties: + slug: + title: slug + type: string + example: monitoring + description: The slug identifier for the 1-Click application. + type: + title: type + type: string + example: kubernetes + description: The type of the 1-Click application. + required: + - slug + - type examples: All 1-Click Applications: value: @@ -1340,15 +1343,40 @@ components: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1356,15 +1384,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1372,15 +1425,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1388,15 +1466,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1408,11 +1511,20 @@ components: [DigitalOcean Marketplace](https://marketplace.digitalocean.com) page. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -1432,39 +1544,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1479,11 +1600,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1493,7 +1614,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1503,11 +1624,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1532,11 +1653,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1580,7 +1701,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1589,7 +1710,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1663,6 +1784,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1681,7 +1809,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1691,7 +1819,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1705,7 +1833,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1777,7 +1905,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1785,11 +1913,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1808,7 +1936,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -1883,12 +2011,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -1902,7 +2037,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -1971,7 +2106,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2023,133 +2158,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2217,14 +2378,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2401,6 +2561,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2481,9 +2646,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2514,13 +2679,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2627,13 +2797,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2739,7 +2914,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2753,6 +2928,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2833,9 +3013,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2866,13 +3046,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2979,12 +3164,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -2993,12 +3314,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3015,12 +3336,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3035,6 +3356,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3133,12 +3459,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3147,6 +3473,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3245,12 +3576,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3349,15 +3685,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3366,6 +3702,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3446,9 +3787,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3479,10 +3820,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3520,13 +3862,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3563,6 +3906,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3652,9 +3996,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3684,7 +4028,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3716,6 +4060,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -3999,12 +4344,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4014,8 +4359,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4051,8 +4396,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4088,6 +4433,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4143,7 +4493,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4151,8 +4501,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4193,6 +4543,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4209,7 +4564,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4220,8 +4575,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4257,8 +4612,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4294,6 +4649,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4305,12 +4665,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4320,8 +4680,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4357,8 +4717,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4393,6 +4753,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4404,12 +4769,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4419,8 +4784,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4456,8 +4821,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4492,6 +4857,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4701,11 +5071,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4757,7 +5127,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4771,11 +5141,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4801,11 +5171,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4831,7 +5201,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4855,7 +5225,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -4927,11 +5297,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5043,7 +5413,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5106,7 +5476,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5155,11 +5525,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5231,11 +5601,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5416,8 +5786,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5455,13 +5845,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5498,6 +5889,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5587,9 +5979,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5619,7 +6011,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5651,6 +6043,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5699,7 +6092,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5729,7 +6122,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -5983,14 +6376,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6000,7 +6393,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6010,62 +6403,49 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: one_click_applications: id: digitalocean.one_click_applications.one_click_applications name: one_click_applications title: One Click Applications methods: - oneClicks_list: + one_clicks_list: operation: $ref: '#/paths/~1v2~11-clicks/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.1_clicks - _oneClicks_list: - operation: - $ref: '#/paths/~1v2~11-clicks/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/one_click_applications/methods/oneClicks_list' - insert: [] - update: [] - delete: [] - kubernetes: - id: digitalocean.one_click_applications.kubernetes - name: kubernetes - title: Kubernetes - methods: - oneClicks_install_kubernetes: + schemaRef: '#/components/responses/oneClicks_all' + one_clicks_install_kubernetes: operation: $ref: '#/paths/~1v2~11-clicks~1kubernetes/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/oneClicks_create' + objectKey: $.message sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/one_click_applications/methods/one_clicks_list' insert: [] update: [] + replace: [] delete: [] paths: /v2/1-clicks: @@ -6076,7 +6456,6 @@ paths: To list all available 1-Click applications, send a GET request to `/v2/1-clicks`. The `type` may be provided as query paramater in order to restrict results to a certain type of 1-Click, for example: `/v2/1-clicks?type=droplet`. Current supported types are `kubernetes` and `droplet`. - The response will be a JSON object with a key called `1_clicks`. This will be set to an array of 1-Click application data, each of which will contain the the slug and type for the 1-Click. tags: @@ -6101,9 +6480,17 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/1-clicks" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.getenv("$DIGITALOCEAN_TOKEN")) + + one_click_apps = client.one_clicks.list() security: - bearer_auth: - - read + - 1click:read /v2/1-clicks/kubernetes: post: operationId: oneClicks_install_kubernetes @@ -6140,6 +6527,18 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"addon_slugs": ["kube-state-metrics", "loki"], "cluster_uuid": "50a994b6-c303-438f-9495-7e896cfe6b08"}'' \ "https://api.digitalocean.com/v2/1-clicks/kubernetes" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + install_req = { + "addon_slugs": ["kube-state-metrics", "loki"], + "cluster_uuid": "50a994b6-c303-438f-9495-7e896cfe6b08", + } + install_resp = client.one_clicks.install_kubernetes(install_req) security: - bearer_auth: - - write + - 1click:create diff --git a/providers/src/digitalocean/v00.00.00000/services/projects.yaml b/providers/src/digitalocean/v00.00.00000/services/projects.yaml index e382e009..dd9f8b09 100644 --- a/providers/src/digitalocean/v00.00.00000/services/projects.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/projects.yaml @@ -1,18 +1,22 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - projects version: '2.0' - description: Projects license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - projects + description: |- + Projects allow you to organize your resources into groups that fit the way + you work. You can group resources (like Droplets, Spaces, load balancers, + domains, and floating IPs) in ways that align with the applications + you host on DigitalOcean. security: - bearer_auth: [] tags: @@ -20,52 +24,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +68,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +83,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +109,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +158,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +166,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +181,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +203,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +221,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +273,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +289,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +304,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +331,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +349,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,95 +384,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - project: - allOf: - - $ref: '#/components/schemas/project_base' - - type: object - properties: - is_default: - type: boolean - example: false - description: 'If true, all resources will be added to this project if no project is specified.' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message project_base: type: object properties: @@ -598,7 +442,6 @@ components: description: | The purpose of the project. The maximum length is 255 characters. It can have one of the following values: - - Just trying out DigitalOcean - Class project / Educational purposes - Website or blog @@ -608,7 +451,6 @@ components: - Machine learning / AI / Data processing - IoT - Operational / Developer tooling - If another value for purpose is specified, for example, "your custom purpose", your purpose will be stored as `Other: your custom purpose`. environment: @@ -631,105 +473,89 @@ components: readOnly: true example: '2018-09-27T20:10:35Z' description: A time value given in ISO8601 combined date and time format that represents when the project was updated. - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: + project: type: object - description: Information about the response itself. properties: - total: - description: Number of objects returned by the request. + id: + type: string + format: uuid + readOnly: true + example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 + description: The unique universal identifier of this project. + owner_uuid: + type: string + readOnly: true + example: 99525febec065ca37b2ffe4f852fd2b2581895e7 + description: The unique universal identifier of the project owner. + owner_id: type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. + readOnly: true + example: 258992 + description: The integer id of the project owner. + name: type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. + maxLength: 175 + example: my-web-api + description: The human-readable name for the project. The maximum length is 175 characters and the name must be unique. + description: type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. + maxLength: 255 + example: My website API + description: The description of the project. The maximum length is 255 characters. + purpose: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. + maxLength: 255 + example: Service or API + description: | + The purpose of the project. The maximum length is 255 characters. It can + have one of the following values: + - Just trying out DigitalOcean + - Class project / Educational purposes + - Website or blog + - Web Application + - Service or API + - Mobile Application + - Machine learning / AI / Data processing + - IoT + - Operational / Developer tooling + If another value for purpose is specified, for example, "your custom purpose", + your purpose will be stored as `Other: your custom purpose`. + environment: type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - resource: - type: object - properties: - urn: - $ref: '#/components/schemas/urn' - assigned_at: + enum: + - Development + - Staging + - Production + example: Production + description: The environment of the project's resources. + created_at: type: string format: date-time - example: '2018-09-28T19:26:37Z' + readOnly: true + example: '2018-09-27T20:10:35Z' description: A time value given in ISO8601 combined date and time format that represents when the project was created. - links: - type: object - description: 'The links object contains the `self` object, which contains the resource relationship.' - properties: - self: - type: string - format: uri - example: 'https://api.digitalocean.com/v2/droplets/13457723' - description: A URI that can be used to retrieve the resource. - status: + updated_at: type: string - enum: - - ok - - not_found - - assigned - - already_assigned - - service_down - example: ok - description: The status of assigning and fetching the resources. - urn: - type: string - pattern: '^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*' - example: 'do:droplet:13457723' - description: 'The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.' + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was updated. + is_default: + type: boolean + example: false + description: If true, all resources will be added to this project if no project is specified. project_assignment: type: object properties: resources: type: array items: - $ref: '#/components/schemas/urn' + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. example: - - 'do:droplet:13457723' + - do:droplet:13457723 description: A list of uniform resource names (URNs) to be added to a project. parameters: oneClicks_type: @@ -771,8 +597,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -791,7 +623,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -801,7 +633,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -834,7 +666,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -854,6 +686,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -864,6 +697,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -881,14 +715,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -896,7 +722,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -915,6 +741,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -990,6 +825,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1000,7 +859,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1033,11 +892,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1046,6 +905,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1053,7 +923,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1155,7 +1025,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1262,7 +1132,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1270,11 +1140,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1289,7 +1209,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1299,7 +1219,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1333,7 +1253,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1353,7 +1273,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1400,12 +1320,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1419,8 +1339,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1448,6 +1394,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1471,64 +1426,178 @@ components: description: The response will be a JSON object with a key called `projects`. The value of this will be an object with the standard project attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - projects: - type: array - items: - $ref: '#/components/schemas/project' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: projects: - - id: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 - owner_uuid: 99525febec065ca37b2ffe4f852fd2b2581895e7 - owner_id: 258992 - name: my-web-api - description: My website API - purpose: Service or API - environment: Production - is_default: false - created_at: '2018-09-27T20:10:35Z' - updated_at: '2018-09-27T20:10:35Z' - - id: addb4547-6bab-419a-8542-76263a033cf6 - owner_uuid: 99525febec065ca37b2ffe4f852fd2b2581895e7 - owner_id: 258992 - name: Default - description: Default project - purpose: Just trying out DigitalOcean - environment: Development - is_default: true - created_at: '2017-10-19T21:44:20Z' - updated_at: '2019-11-05T18:50:03Z' + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 + description: The unique universal identifier of this project. + owner_uuid: + type: string + readOnly: true + example: 99525febec065ca37b2ffe4f852fd2b2581895e7 + description: The unique universal identifier of the project owner. + owner_id: + type: integer + readOnly: true + example: 258992 + description: The integer id of the project owner. + name: + type: string + maxLength: 175 + example: my-web-api + description: The human-readable name for the project. The maximum length is 175 characters and the name must be unique. + description: + type: string + maxLength: 255 + example: My website API + description: The description of the project. The maximum length is 255 characters. + purpose: + type: string + maxLength: 255 + example: Service or API + description: | + The purpose of the project. The maximum length is 255 characters. It can + have one of the following values: + - Just trying out DigitalOcean + - Class project / Educational purposes + - Website or blog + - Web Application + - Service or API + - Mobile Application + - Machine learning / AI / Data processing + - IoT + - Operational / Developer tooling + If another value for purpose is specified, for example, "your custom purpose", + your purpose will be stored as `Other: your custom purpose`. + environment: + type: string + enum: + - Development + - Staging + - Production + example: Production + description: The environment of the project's resources. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was created. + updated_at: + type: string + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was updated. + is_default: + type: boolean + example: false + description: If true, all resources will be added to this project if no project is specified. links: - pages: - first: 'https://api.digitalocean.com/v2/projects?page=1' - last: 'https://api.digitalocean.com/v2/projects?page=1' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 2 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1536,15 +1605,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1552,15 +1646,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1568,15 +1687,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1584,32 +1728,188 @@ components: description: The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: project: - $ref: '#/components/schemas/project' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 + description: The unique universal identifier of this project. + owner_uuid: + type: string + readOnly: true + example: 99525febec065ca37b2ffe4f852fd2b2581895e7 + description: The unique universal identifier of the project owner. + owner_id: + type: integer + readOnly: true + example: 258992 + description: The integer id of the project owner. + name: + type: string + maxLength: 175 + example: my-web-api + description: The human-readable name for the project. The maximum length is 175 characters and the name must be unique. + description: + type: string + maxLength: 255 + example: My website API + description: The description of the project. The maximum length is 255 characters. + purpose: + type: string + maxLength: 255 + example: Service or API + description: | + The purpose of the project. The maximum length is 255 characters. It can + have one of the following values: + - Just trying out DigitalOcean + - Class project / Educational purposes + - Website or blog + - Web Application + - Service or API + - Mobile Application + - Machine learning / AI / Data processing + - IoT + - Operational / Developer tooling + If another value for purpose is specified, for example, "your custom purpose", + your purpose will be stored as `Other: your custom purpose`. + environment: + type: string + enum: + - Development + - Staging + - Production + example: Production + description: The environment of the project's resources. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was created. + updated_at: + type: string + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was updated. + is_default: + type: boolean + example: false + description: If true, all resources will be added to this project if no project is specified. default_project: description: The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: project: - $ref: '#/components/schemas/project' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 + description: The unique universal identifier of this project. + owner_uuid: + type: string + readOnly: true + example: 99525febec065ca37b2ffe4f852fd2b2581895e7 + description: The unique universal identifier of the project owner. + owner_id: + type: integer + readOnly: true + example: 258992 + description: The integer id of the project owner. + name: + type: string + maxLength: 175 + example: my-web-api + description: The human-readable name for the project. The maximum length is 175 characters and the name must be unique. + description: + type: string + maxLength: 255 + example: My website API + description: The description of the project. The maximum length is 255 characters. + purpose: + type: string + maxLength: 255 + example: Service or API + description: | + The purpose of the project. The maximum length is 255 characters. It can + have one of the following values: + - Just trying out DigitalOcean + - Class project / Educational purposes + - Website or blog + - Web Application + - Service or API + - Mobile Application + - Machine learning / AI / Data processing + - IoT + - Operational / Developer tooling + If another value for purpose is specified, for example, "your custom purpose", + your purpose will be stored as `Other: your custom purpose`. + environment: + type: string + enum: + - Development + - Staging + - Production + example: Production + description: The environment of the project's resources. + created_at: + type: string + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was created. + updated_at: + type: string + format: date-time + readOnly: true + example: '2018-09-27T20:10:35Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was updated. + is_default: + type: boolean + example: false + description: If true, all resources will be added to this project if no project is specified. example: project: id: addb4547-6bab-419a-8542-76263a033cf6 @@ -1626,15 +1926,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1642,24 +1967,58 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. precondition_failed: description: Only an empty project can be deleted. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: precondition_failed message: cannot delete a project with resources. move or remove the resources first @@ -1667,50 +2026,119 @@ components: description: The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - resources: - type: array - items: - $ref: '#/components/schemas/resource' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: resources: - - urn: 'do:droplet:13457723' - assigned_at: '2018-09-28T19:26:37Z' - links: - self: 'https://api.digitalocean.com/v2/droplets/13457723' - status: ok - - urn: 'do:domain:example.com' - assigned_at: '2019-03-31T16:24:14Z' - links: - self: 'https://api.digitalocean.com/v2/domains/example.com' - status: ok + type: array + items: + type: object + properties: + urn: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + assigned_at: + type: string + format: date-time + example: '2018-09-28T19:26:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was created. + links: + type: object + description: The links object contains the `self` object, which contains the resource relationship. + properties: + self: + type: string + format: uri + example: https://api.digitalocean.com/v2/droplets/13457723 + description: A URI that can be used to retrieve the resource. + status: + type: string + enum: + - ok + - not_found + - assigned + - already_assigned + - service_down + example: ok + description: The status of assigning and fetching the resources. links: - pages: - first: 'https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources?page=1' - last: 'https://api.digitalocean.com/v2/projects/4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679/resources?page=1' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 2 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta assigned_resources_list: description: The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: @@ -1719,18 +2147,48 @@ components: resources: type: array items: - $ref: '#/components/schemas/resource' + type: object + properties: + urn: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + assigned_at: + type: string + format: date-time + example: '2018-09-28T19:26:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the project was created. + links: + type: object + description: The links object contains the `self` object, which contains the resource relationship. + properties: + self: + type: string + format: uri + example: https://api.digitalocean.com/v2/droplets/13457723 + description: A URI that can be used to retrieve the resource. + status: + type: string + enum: + - ok + - not_found + - assigned + - already_assigned + - service_down + example: ok + description: The status of assigning and fetching the resources. example: resources: - - urn: 'do:droplet:13457723' + - urn: do:droplet:13457723 assigned_at: '2018-09-28T19:26:37Z' links: - self: 'https://api.digitalocean.com/v2/droplets/13457723' + self: https://api.digitalocean.com/v2/droplets/13457723 status: ok - - urn: 'do:domain:example.com' + - urn: do:domain:example.com assigned_at: '2019-03-31T16:24:14Z' links: - self: 'https://api.digitalocean.com/v2/domains/example.com' + self: https://api.digitalocean.com/v2/domains/example.com status: ok securitySchemes: bearer_auth: @@ -1738,39 +2196,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1785,11 +2252,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1799,7 +2266,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1809,11 +2276,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1838,11 +2305,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1886,7 +2353,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1895,7 +2362,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1969,6 +2436,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1987,7 +2461,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1997,7 +2471,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2011,7 +2485,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2083,7 +2557,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2091,11 +2565,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2114,7 +2588,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2189,12 +2663,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2208,7 +2689,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2277,7 +2758,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2329,133 +2810,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2523,14 +3030,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2707,6 +3213,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2787,9 +3298,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2820,13 +3331,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2933,13 +3449,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3045,7 +3566,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3059,6 +3580,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3139,9 +3665,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3172,13 +3698,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3285,12 +3816,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3299,12 +3966,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3321,12 +3988,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3341,6 +4008,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3439,12 +4111,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3453,6 +4125,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3551,12 +4228,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3655,15 +4337,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3672,6 +4354,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3752,9 +4439,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3785,10 +4472,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3826,13 +4514,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3869,6 +4558,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3958,9 +4648,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3990,7 +4680,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4022,6 +4712,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4305,12 +4996,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4320,8 +5011,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4357,8 +5048,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4394,6 +5085,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4449,7 +5145,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4457,8 +5153,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4499,6 +5195,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4515,7 +5216,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4526,8 +5227,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4563,8 +5264,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4600,6 +5301,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4611,12 +5317,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4626,8 +5332,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4663,8 +5369,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4699,6 +5405,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4710,12 +5421,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4725,8 +5436,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4762,8 +5473,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4798,6 +5509,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5007,11 +5723,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5063,7 +5779,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5077,11 +5793,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5107,11 +5823,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5137,7 +5853,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5161,7 +5877,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5233,11 +5949,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5349,7 +6065,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5412,7 +6128,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5461,11 +6177,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5537,11 +6253,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5722,8 +6438,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5761,13 +6497,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5804,6 +6541,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5893,9 +6631,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5925,7 +6663,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5957,6 +6695,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6005,7 +6744,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6035,7 +6774,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6289,14 +7028,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6306,7 +7045,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6316,189 +7055,178 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: projects: id: digitalocean.projects.projects name: projects title: Projects methods: - list: + projects_list: operation: $ref: '#/paths/~1v2~1projects/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/projects_list' objectKey: $.projects - _list: - operation: - $ref: '#/paths/~1v2~1projects/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + projects_create: operation: $ref: '#/paths/~1v2~1projects/post' response: mediaType: application/json openAPIDocKey: '201' - get: - operation: - $ref: '#/paths/~1v2~1projects~1{project_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.project - _get: + schemaRef: '#/components/responses/existing_project' + projects_get: operation: $ref: '#/paths/~1v2~1projects~1{project_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update: + schemaRef: '#/components/responses/existing_project' + projects_update: operation: $ref: '#/paths/~1v2~1projects~1{project_id}/put' response: mediaType: application/json openAPIDocKey: '200' - patch: + schemaRef: '#/components/responses/existing_project' + projects_patch: operation: $ref: '#/paths/~1v2~1projects~1{project_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/existing_project' + projects_delete: operation: $ref: '#/paths/~1v2~1projects~1{project_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/projects/methods/list' - - $ref: '#/components/x-stackQL-resources/projects/methods/get' + - $ref: '#/components/x-stackQL-resources/projects/methods/projects_get' + - $ref: '#/components/x-stackQL-resources/projects/methods/projects_list' insert: - - $ref: '#/components/x-stackQL-resources/projects/methods/create' - update: [] + - $ref: '#/components/x-stackQL-resources/projects/methods/projects_create' + update: + - $ref: '#/components/x-stackQL-resources/projects/methods/projects_patch' + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/projects/methods/delete' - default: - id: digitalocean.projects.default - name: default - title: Default + - $ref: '#/components/x-stackQL-resources/projects/methods/projects_delete' + defaults: + id: digitalocean.projects.defaults + name: defaults + title: Defaults methods: - get_default: - operation: - $ref: '#/paths/~1v2~1projects~1default/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.project - _get_default: + projects_get_default: operation: $ref: '#/paths/~1v2~1projects~1default/get' response: mediaType: application/json openAPIDocKey: '200' - update_default: + schemaRef: '#/components/responses/default_project' + projects_update_default: operation: $ref: '#/paths/~1v2~1projects~1default/put' response: mediaType: application/json openAPIDocKey: '200' - patch_default: + schemaRef: '#/components/responses/existing_project' + projects_patch_default: operation: $ref: '#/paths/~1v2~1projects~1default/patch' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_project' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/default/methods/get_default' + - $ref: '#/components/x-stackQL-resources/defaults/methods/projects_get_default' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/defaults/methods/projects_patch_default' + replace: [] delete: [] resources: id: digitalocean.projects.resources name: resources title: Resources methods: - list_resources: + projects_list_resources: operation: $ref: '#/paths/~1v2~1projects~1{project_id}~1resources/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/resources_list' objectKey: $.resources - _list_resources: - operation: - $ref: '#/paths/~1v2~1projects~1{project_id}~1resources/get' - response: - mediaType: application/json - openAPIDocKey: '200' - assign_resources: + projects_assign_resources: operation: $ref: '#/paths/~1v2~1projects~1{project_id}~1resources/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/assigned_resources_list' + objectKey: $.resources sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/resources/methods/list_resources' + - $ref: '#/components/x-stackQL-resources/resources/methods/projects_list_resources' insert: [] update: [] + replace: [] delete: [] default_resources: id: digitalocean.projects.default_resources name: default_resources title: Default Resources methods: - list_resources_default: + projects_list_resources_default: operation: $ref: '#/paths/~1v2~1projects~1default~1resources/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/resources_list' objectKey: $.resources - _list_resources_default: - operation: - $ref: '#/paths/~1v2~1projects~1default~1resources/get' - response: - mediaType: application/json - openAPIDocKey: '200' - assign_resources_default: + projects_assign_resources_default: operation: $ref: '#/paths/~1v2~1projects~1default~1resources/post' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/assigned_resources_list' + objectKey: $.resources sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/default_resources/methods/list_resources_default' + - $ref: '#/components/x-stackQL-resources/default_resources/methods/projects_list_resources_default' insert: [] update: [] + replace: [] delete: [] paths: /v2/projects: get: operationId: projects_list summary: List All Projects - description: 'To list all your projects, send a GET request to `/v2/projects`.' + description: To list all your projects, send a GET request to `/v2/projects`. tags: - Projects parameters: @@ -6552,13 +7280,21 @@ paths: projects = client.projects.all projects.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.projects.list() security: - bearer_auth: - - read + - project:read post: operationId: projects_create summary: Create a Project - description: 'To create a project, send a POST request to `/v2/projects`.' + description: To create a project, send a POST request to `/v2/projects`. tags: - Projects requestBody: @@ -6566,11 +7302,8 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/project_base' - required: - - name - - purpose + $ref: '#/components/schemas/project_base' + properties: {} responses: '201': $ref: '#/components/responses/existing_project' @@ -6627,14 +7360,29 @@ paths: environment: 'Production' ) client.projects.create(project) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "my-web-api", + "description": "My website API", + "purpose": "Service or API", + "environment": "Production" + } + + resp = client.projects.create(body=req) security: - bearer_auth: - - write + - project:create /v2/projects/default: get: operationId: projects_get_default summary: Retrieve the Default Project - description: 'To get your default project, send a GET request to `/v2/projects/default`.' + description: To get your default project, send a GET request to `/v2/projects/default`. tags: - Projects responses: @@ -6681,13 +7429,21 @@ paths: client = DropletKit::Client.new(access_token: token) client.projects.find_default + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.projects.get_default() security: - bearer_auth: - - read + - project:read put: operationId: projects_update_default summary: Update the Default Project - description: 'To update you default project, send a PUT request to `/v2/projects/default`. All of the following attributes must be sent.' + description: To update you default project, send a PUT request to `/v2/projects/default`. All of the following attributes must be sent. tags: - Projects requestBody: @@ -6695,14 +7451,8 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/project' - required: - - name - - description - - purpose - - environment - - is_default + $ref: '#/components/schemas/project' + properties: {} responses: '200': $ref: '#/components/responses/existing_project' @@ -6758,13 +7508,29 @@ paths: project = client.projects.find_default project.environment = 'Staging' client.projects.update(project, id: 'default') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "my-web-api", + "description": "My website API", + "purpose": "Service or API", + "environment": "Production", + "is_default": False + } + + resp = client.projects.update_default(body=req) security: - bearer_auth: - - write + - project:update patch: operationId: projects_patch_default summary: Patch the Default Project - description: 'To update only specific attributes of your default project, send a PATCH request to `/v2/projects/default`. At least one of the following attributes needs to be sent.' + description: To update only specific attributes of your default project, send a PATCH request to `/v2/projects/default`. At least one of the following attributes needs to be sent. tags: - Projects requestBody: @@ -6826,14 +7592,26 @@ paths: project = client.projects.find_default project.environment = 'Staging' client.projects.update(project, id: 'default') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "my-web-api" + } + + resp = client.projects.patch_default(body=req) security: - bearer_auth: - - write - '/v2/projects/{project_id}': + - project:update + /v2/projects/{project_id}: get: operationId: projects_get summary: Retrieve an Existing Project - description: 'To get a project, send a GET request to `/v2/projects/$PROJECT_ID`.' + description: To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. tags: - Projects parameters: @@ -6882,13 +7660,21 @@ paths: client = DropletKit::Client.new(access_token: token) project = client.projects.find(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.projects.get(project_id="4e1bfbc3") security: - bearer_auth: - - read + - project:read put: operationId: projects_update summary: Update a Project - description: 'To update a project, send a PUT request to `/v2/projects/$PROJECT_ID`. All of the following attributes must be sent.' + description: To update a project, send a PUT request to `/v2/projects/$PROJECT_ID`. All of the following attributes must be sent. tags: - Projects parameters: @@ -6898,14 +7684,8 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/project' - required: - - name - - description - - purpose - - environment - - is_default + $ref: '#/components/schemas/project' + properties: {} responses: '200': $ref: '#/components/responses/existing_project' @@ -6963,13 +7743,29 @@ paths: project = client.projects.find(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') project.environment = 'Staging' client.projects.update(project, id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "my-web-api", + "description": "My website API", + "purpose": "Service or API", + "environment": "Production", + "is_default": False + } + + resp = client.projects.update_default(body=req) security: - bearer_auth: - - write + - project:update patch: operationId: projects_patch summary: Patch a Project - description: 'To update only specific attributes of a project, send a PATCH request to `/v2/projects/$PROJECT_ID`. At least one of the following attributes needs to be sent.' + description: To update only specific attributes of a project, send a PATCH request to `/v2/projects/$PROJECT_ID`. At least one of the following attributes needs to be sent. tags: - Projects parameters: @@ -7034,9 +7830,21 @@ paths: project = client.projects.find(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') project.environment = 'Staging' client.projects.update(project, id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "my-web-api" + } + + resp = client.projects.patch(project_id="4e1bfbc3", body=req) security: - bearer_auth: - - write + - project:update delete: operationId: projects_delete summary: Delete an Existing Project @@ -7044,7 +7852,6 @@ paths: To delete a project, send a DELETE request to `/v2/projects/$PROJECT_ID`. To be deleted, a project must not have any resources assigned to it. Any existing resources must first be reassigned or destroyed, or you will receive a 412 error. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -7095,14 +7902,22 @@ paths: client = DropletKit::Client.new(access_token: token) client.projects.delete(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.projects.delete(project_id="fda9fda") security: - bearer_auth: - - write - '/v2/projects/{project_id}/resources': + - project:delete + /v2/projects/{project_id}/resources: get: operationId: projects_list_resources summary: List Project Resources - description: 'To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`.' + description: To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`. tags: - Project Resources parameters: @@ -7158,13 +7973,21 @@ paths: client = DropletKit::Client.new(access_token: token) client.projects.list_resources(id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.projects.list_resources(project_id="4e1bfbc3") security: - bearer_auth: - - read + - project:read post: operationId: projects_assign_resources summary: Assign Resources to a Project - description: 'To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`.' + description: To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`. tags: - Project Resources parameters: @@ -7179,8 +8002,8 @@ paths: assign_resources: value: resources: - - 'do:droplet:13457723' - - 'do:domain:example.com' + - do:droplet:13457723 + - do:domain:example.com responses: '200': $ref: '#/components/responses/assigned_resources_list' @@ -7233,14 +8056,29 @@ paths: resource = DropletKit::ProjectAssignment.new(urn: 'do:droplet:1') client.projects.assign_resources([resource], id: '4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "resources": [ + "do:droplet:13457723", + "do:domain:example.com" + ] + } + + resp = client.projects.assign_resources(project_id="8dafda", body=req) security: - bearer_auth: - - write + - project:update /v2/projects/default/resources: get: operationId: projects_list_resources_default summary: List Default Project Resources - description: 'To list all your resources in your default project, send a GET request to `/v2/projects/default/resources`.' + description: To list all your resources in your default project, send a GET request to `/v2/projects/default/resources`. tags: - Project Resources responses: @@ -7292,13 +8130,21 @@ paths: client = DropletKit::Client.new(access_token: token) client.projects.list_resources(id: 'default') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.projects.list_resources_default() security: - bearer_auth: - - read + - project:read post: operationId: projects_assign_resources_default summary: Assign Resources to Default Project - description: 'To assign resources to your default project, send a POST request to `/v2/projects/default/resources`.' + description: To assign resources to your default project, send a POST request to `/v2/projects/default/resources`. tags: - Project Resources requestBody: @@ -7311,8 +8157,8 @@ paths: assign_resources: value: resources: - - 'do:droplet:13457723' - - 'do:domain:example.com' + - do:droplet:13457723 + - do:domain:example.com responses: '200': $ref: '#/components/responses/assigned_resources_list' @@ -7365,6 +8211,21 @@ paths: resource = DropletKit::ProjectAssignment.new(urn: 'do:droplet:1') client.projects.assign_resources([resource], id: 'default') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "resources": [ + "do:droplet:13457723", + "do:domain:example.com" + ] + } + + resp = client.projects.assign_resources_default(body=req) security: - bearer_auth: - - write + - project:update diff --git a/providers/src/digitalocean/v00.00.00000/services/regions.yaml b/providers/src/digitalocean/v00.00.00000/services/regions.yaml index f354e390..42311ca1 100644 --- a/providers/src/digitalocean/v00.00.00000/services/regions.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/regions.yaml @@ -1,18 +1,18 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - regions version: '2.0' - description: Regions license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - regions + description: Provides information about DigitalOcean data center regions. security: - bearer_auth: [] tags: @@ -20,52 +20,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +64,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +79,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +105,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +154,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +162,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +177,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +199,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +217,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +269,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +285,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +300,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +327,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +345,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,194 +380,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: - schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - required: - - available - - features - - name - - sizes - - slug - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' + schemas: {} parameters: oneClicks_type: in: query @@ -701,8 +442,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -721,7 +468,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -731,7 +478,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -764,7 +511,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -784,6 +531,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -794,6 +542,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -811,14 +560,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -826,7 +567,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -845,6 +586,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -920,6 +670,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -930,7 +704,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -963,11 +737,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -976,6 +750,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -983,7 +768,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1085,7 +870,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1192,7 +977,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1200,11 +985,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1219,7 +1054,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1229,7 +1064,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1263,7 +1098,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1283,7 +1118,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1330,12 +1165,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1349,8 +1184,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1378,6 +1239,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1398,75 +1268,162 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_regions: - description: 'A JSON object with a key set to `regions`. The value is an array of `region` objects, each of which contain the standard `region` attributes.' + description: A JSON object with a key set to `regions`. The value is an array of `region` objects, each of which contain the standard `region` attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - regions: - type: array - items: - $ref: '#/components/schemas/region' - required: - - regions - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: regions: - - name: New York 3 - slug: nyc3 - features: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: true - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g + type: array + items: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug links: - pages: - last: 'https://api.digitalocean.com/v2/regions?page=13&per_page=1' - next: 'https://api.digitalocean.com/v2/regions?page=2&per_page=1' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 13 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1474,15 +1431,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1490,15 +1472,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1506,15 +1513,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1524,39 +1556,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1571,11 +1612,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1585,7 +1626,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1595,11 +1636,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1624,11 +1665,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1672,7 +1713,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1681,7 +1722,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1755,6 +1796,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1773,7 +1821,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1783,7 +1831,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1797,7 +1845,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1869,7 +1917,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1877,11 +1925,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1900,7 +1948,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -1975,12 +2023,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -1994,7 +2049,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2063,7 +2118,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2115,133 +2170,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2309,14 +2390,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2493,6 +2573,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2573,9 +2658,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2606,13 +2691,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2719,13 +2809,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2831,7 +2926,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2845,6 +2940,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2925,9 +3025,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2958,13 +3058,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3071,12 +3176,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3085,12 +3326,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3107,12 +3348,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3127,6 +3368,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3225,12 +3471,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3239,6 +3485,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3337,12 +3588,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3441,15 +3697,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3458,6 +3714,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3538,9 +3799,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3571,10 +3832,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3612,13 +3874,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3655,6 +3918,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3744,9 +4008,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3776,7 +4040,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3808,6 +4072,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4091,12 +4356,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4106,8 +4371,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4143,8 +4408,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4180,6 +4445,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4235,7 +4505,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4243,8 +4513,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4285,6 +4555,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4301,7 +4576,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4312,8 +4587,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4349,8 +4624,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4386,6 +4661,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4397,12 +4677,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4412,8 +4692,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4449,8 +4729,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4485,6 +4765,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4496,12 +4781,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4511,8 +4796,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4548,8 +4833,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4584,6 +4869,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4793,11 +5083,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4849,7 +5139,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4863,11 +5153,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4893,11 +5183,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4923,7 +5213,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4947,7 +5237,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5019,11 +5309,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5135,7 +5425,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5198,7 +5488,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5247,11 +5537,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5323,11 +5613,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5508,8 +5798,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5547,13 +5857,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5590,6 +5901,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5679,9 +5991,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5711,7 +6023,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5743,6 +6055,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5791,7 +6104,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5821,7 +6134,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6075,14 +6388,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6092,7 +6405,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6102,46 +6415,42 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: regions: id: digitalocean.regions.regions name: regions title: Regions methods: - list: + regions_list: operation: $ref: '#/paths/~1v2~1regions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_regions' objectKey: $.regions - _list: - operation: - $ref: '#/paths/~1v2~1regions/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/regions/methods/list' + - $ref: '#/components/x-stackQL-resources/regions/methods/regions_list' insert: [] update: [] + replace: [] delete: [] paths: /v2/regions: @@ -6204,6 +6513,14 @@ paths: regions = client.regions.all regions.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.regions.list() security: - bearer_auth: - - read + - regions:read diff --git a/providers/src/digitalocean/v00.00.00000/services/reserved_ips.yaml b/providers/src/digitalocean/v00.00.00000/services/reserved_ips.yaml index c60b8709..09a91b65 100644 --- a/providers/src/digitalocean/v00.00.00000/services/reserved_ips.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/reserved_ips.yaml @@ -1,18 +1,33 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - reserved_ips version: '2.0' - description: Reserved IPs license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - reserved_ips + description: |- + As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs) + product to Reserved IPs. The Reserved IP product's endpoints function the exact + same way as Floating IPs. The only difference is the name change throughout the + URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. + The Floating IP endpoints will remain active until fall 2023 before being + permanently deprecated. + With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), + we will reflect this change as an additional field in the responses across the API + where the `floating_ip` field is used. For example, the Droplet metadata response + will contain the field `reserved_ips` in addition to the `floating_ips` field. + Floating IPs retrieved using the Projects API will retain the original name. + DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be + mapped to one of your Droplets. They can be used to create highly available + setups or other configurations requiring movable addresses. + Reserved IPs are bound to a specific region. security: - bearer_auth: [] tags: @@ -20,52 +35,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +79,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +94,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +120,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +169,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +177,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +192,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +214,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +232,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +284,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +300,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +315,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +342,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +360,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,636 +395,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - reserved_ip: - type: object - properties: - ip: - type: string - format: ipv4 - example: 45.55.96.47 - description: The public IP address of the reserved IP. It also serves as its identifier. - region: - allOf: - - $ref: '#/components/schemas/region' - - type: object - description: 'The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned.' - droplet: - description: 'The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.' - anyOf: - - title: 'null' - type: object - nullable: true - description: 'If the reserved IP is not assigned to a Droplet, the value will be null.' - - $ref: '#/components/schemas/droplet' - example: null - locked: - type: boolean - example: true - description: A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. - project_id: - type: string - format: uuid - example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: The UUID of the project to which the reserved IP currently belongs. - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - region: - type: object - properties: - name: - type: string - description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. - example: New York 3 - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - features: - items: - type: string - description: This attribute is set to an array which contains features available in this region - example: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: - type: boolean - description: This is a boolean value that represents whether new Droplets can be created in this region. - example: true - sizes: - items: - type: string - description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - example: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - required: - - available - - features - - name - - sizes - - slug - droplet: - type: object - properties: - id: - type: integer - example: 3164444 - description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. - name: - type: string - example: example.com - description: The human-readable name set for the Droplet instance. - memory: - type: integer - multipleOf: 8 - example: 1024 - description: Memory of the Droplet in megabytes. - vcpus: - type: integer - example: 1 - description: The number of virtual CPUs. - disk: - type: integer - example: 25 - description: The size of the Droplet's disk in gigabytes. - locked: - type: boolean - example: false - description: 'A boolean value indicating whether the Droplet has been locked, preventing actions by users.' - status: - type: string - enum: - - new - - active - - 'off' - - archive - example: active - description: 'A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive".' - kernel: - $ref: '#/components/schemas/kernel' - created_at: - type: string - format: date-time - example: '2020-07-21T18:37:44Z' - description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. - features: - type: array - items: - type: string - example: - - backups - - private_networking - - ipv6 - description: An array of features enabled on this Droplet. - backup_ids: - type: array - items: - type: integer - example: - - 53893572 - description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. - next_backup_window: - type: object - description: 'The details of the Droplet''s backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.' - nullable: true - properties: - start: - type: string - format: date-time - example: '2019-12-04T00:00:00Z' - description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. - end: - type: string - format: date-time - example: '2019-12-04T23:00:00Z' - description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. - snapshot_ids: - type: array - items: - type: integer - example: - - 67512819 - description: An array of snapshot IDs of any snapshots created from the Droplet instance. - image: - $ref: '#/components/schemas/image' - volume_ids: - type: array - items: - type: string - example: - - 506f78a4-e098-11e5-ad9f-000f53306ae1 - description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. - size: - $ref: '#/components/schemas/size' - size_slug: - type: string - example: s-1vcpu-1gb - description: The unique slug identifier for the size of this Droplet. - networks: - type: object - description: 'The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.' - properties: - v4: - type: array - items: - $ref: '#/components/schemas/network_v4' - v6: - type: array - items: - $ref: '#/components/schemas/network_v6' - region: - $ref: '#/components/schemas/region' - tags: - type: array - items: - type: string - example: - - web - - 'env:prod' - description: An array of Tags the Droplet has been tagged with. - vpc_uuid: - type: string - example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - description: A string specifying the UUID of the VPC to which the Droplet is assigned. - required: - - id - - name - - memory - - vcpus - - disk - - locked - - status - - created_at - - features - - backup_ids - - next_backup_window - - snapshot_ids - - image - - volume_ids - - size - - size_slug - - networks - - region - - tags - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - kernel: - type: object - description: | - **Note**: All Droplets created after March 2017 use internal kernels by default. - These Droplets will have this attribute set to `null`. - - The current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/) - for Droplets with externally managed kernels. This will initially be set to - the kernel of the base image when the Droplet is created. - nullable: true - deprecated: true - properties: - id: - type: integer - example: 7515 - description: A unique number used to identify and reference a specific kernel. - name: - type: string - example: DigitalOcean GrubLoader v0.2 (20160714) - description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. - version: - type: string - example: 2016.07.13-DigitalOcean_loader_Ubuntu - description: 'A standard kernel version string representing the version, patch, and release information.' - image: - type: object - properties: - id: - type: integer - description: A unique number that can be used to identify and reference a specific image. - example: 7555620 - readOnly: true - name: - $ref: '#/components/schemas/image_name' - type: - type: string - description: 'Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes).' - enum: - - base - - snapshot - - backup - - custom - - admin - example: snapshot - distribution: - $ref: '#/components/schemas/distribution' - slug: - type: string - nullable: true - description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. - example: nifty1 - public: - type: boolean - description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. - example: true - regions: - $ref: '#/components/schemas/regions_array' - created_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the image was created. - example: '2020-05-04T22:23:02Z' - min_disk_size: - type: integer - description: The minimum disk size in GB required for a Droplet to use this image. - example: 20 - nullable: true - minimum: 0 - size_gigabytes: - type: number - format: float - nullable: true - description: The size of the image in gigabytes. - example: 2.34 - description: - $ref: '#/components/schemas/image_description' - tags: - $ref: '#/components/schemas/tags_array' - status: - type: string - description: |- - A status string indicating the state of a custom image. This may be `NEW`, - `available`, `pending`, `deleted`, or `retired`. - enum: - - NEW - - available - - pending - - deleted - - retired - example: NEW - error_message: - type: string - description: |- - A string containing information about errors that may occur when importing - a custom image. - example: ' ' - size: - type: object - properties: - slug: - type: string - example: s-1vcpu-1gb - description: A human-readable string that is used to uniquely identify each size. - memory: - type: integer - multipleOf: 8 - minimum: 8 - example: 1024 - description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. - vcpus: - type: integer - example: 1 - description: The integer of number CPUs allocated to Droplets of this size. - disk: - type: integer - example: 25 - description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. - transfer: - type: number - format: float - example: 1 - description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. - price_monthly: - type: number - format: float - example: 5 - description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. - price_hourly: - type: number - format: float - example: 0.00743999984115362 - description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. - regions: - type: array - items: - type: string - example: - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - description: An array containing the region slugs where this size is available for Droplet creates. - available: - type: boolean - default: true - example: true - description: This is a boolean value that represents whether new Droplets can be created with this size. - description: - type: string - example: Basic - description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' - required: - - available - - disk - - memory - - price_hourly - - price_monthly - - regions - - slug - - transfer - - vcpus - - description - network_v4: - type: object - properties: - ip_address: - type: string - format: ipv4 - example: 104.236.32.182 - description: The IP address of the IPv4 network interface. - netmask: - type: string - format: ipv4 - example: 255.255.192.0 - description: The netmask of the IPv4 network interface. - gateway: - type: string - example: 104.236.0.1 - description: | - The gateway of the specified IPv4 network interface. - - For private interfaces, a gateway is not provided. This is denoted by - returning `nil` as its value. - type: - type: string - enum: - - public - - private - example: public - description: The type of the IPv4 network interface. - network_v6: - type: object - properties: - ip_address: - type: string - format: ipv6 - example: '2604:a880:0:1010::18a:a001' - description: The IP address of the IPv6 network interface. - netmask: - type: integer - example: 64 - description: The netmask of the IPv6 network interface. - gateway: - type: string - format: ipv6 - example: '2604:a880:0:1010::1' - description: The gateway of the specified IPv6 network interface. - type: - type: string - enum: - - public - example: public - description: | - The type of the IPv6 network interface. - - **Note**: IPv6 private networking is not currently supported. - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - image_name: - type: string - description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. - example: Nifty New Snapshot - distribution: - type: string - description: 'The name of a custom image''s distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place.' - enum: - - Arch Linux - - CentOS - - CoreOS - - Debian - - Fedora - - Fedora Atomic - - FreeBSD - - Gentoo - - openSUSE - - RancherOS - - Rocky Linux - - Ubuntu - - Unknown - example: Ubuntu - regions_array: - type: array - items: - $ref: '#/components/schemas/region_slug' - description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. - example: - - nyc1 - - nyc2 - image_description: - type: string - description: An optional free-form text field to describe an image. - example: ' ' - tags_array: - type: array - items: - type: string - nullable: true - description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. - example: - - base-image - - prod - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' reserved_ip_create: oneOf: - title: Assign to Droplet @@ -1128,96 +442,27 @@ components: description: The UUID of the project to which the reserved IP will be assigned. required: - region - action_link: - type: object - description: The linked actions can be used to check the status of a Droplet's create event. - properties: - id: - type: integer - example: 7515 - description: A unique numeric ID that can be used to identify and reference an action. - rel: - type: string - example: create - description: A string specifying the type of the related action. - href: - type: string - format: uri - example: 'https://api.digitalocean.com/v2/actions/7515' - description: A URL that can be used to access the action. - action: + reserved_ip_action_unassign: type: object + required: + - type properties: - id: - type: integer - description: A unique numeric ID that can be used to identify and reference an action. - example: 36804636 - status: - type: string - description: 'The current status of the action. This can be "in-progress", "completed", or "errored".' - enum: - - in-progress - - completed - - errored - example: completed - default: in-progress type: type: string - description: 'This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.' - example: create - started_at: - type: string - format: date-time - description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. - example: '2020-11-14T16:29:21Z' - completed_at: - type: string - format: date-time - nullable: true - description: A time value given in ISO8601 combined date and time format that represents when the action was completed. - example: '2020-11-14T16:30:06Z' - resource_id: - type: integer - nullable: true - description: A unique identifier for the resource that the action is associated with. - example: 3164444 - resource_type: - type: string - description: The type of resource that the action is associated with. - example: droplet - region: - $ref: '#/components/schemas/region' - region_slug: - allOf: - - $ref: '#/components/schemas/slug' - - type: string - nullable: true - slug: - type: string - description: A human-readable string that is used as a unique identifier for each region. - example: nyc3 - reserved_ip_action_unassign: - allOf: - - $ref: '#/components/schemas/reserved_ip_action_type' - - type: object - required: - - type + enum: + - assign + - unassign + description: The type of action to initiate for the reserved IP. + discriminator: + propertyName: type + mapping: + assign: '#/components/schemas/reserved_ip_action_assign' + unassign: '#/components/schemas/reserved_ip_action_unassign' reserved_ip_action_assign: - allOf: - - $ref: '#/components/schemas/reserved_ip_action_type' - - type: object - required: - - type - - droplet_id - properties: - droplet_id: - type: integer - example: 758604968 - description: The ID of the Droplet that the reserved IP will be assigned to. - reserved_ip_action_type: type: object required: - type + - droplet_id properties: type: type: string @@ -1225,6 +470,10 @@ components: - assign - unassign description: The type of action to initiate for the reserved IP. + droplet_id: + type: integer + example: 758604968 + description: The ID of the Droplet that the reserved IP will be assigned to. discriminator: propertyName: type mapping: @@ -1270,8 +519,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -1290,7 +545,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -1300,7 +555,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -1333,7 +588,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -1353,6 +608,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -1363,6 +619,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -1380,14 +637,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -1395,7 +644,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -1414,6 +663,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1489,21 +747,45 @@ components: example: backend-pool schema: type: string - domain_name: - name: domain_name - description: The name of the domain itself. + kafka_topic_name: in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events schema: type: string - example: example.com + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster required: true - domain_name_query: - name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' - in: query + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 schema: type: string - example: sub.example.com + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string + domain_name: + name: domain_name + description: The name of the domain itself. + in: path + schema: + type: string + example: example.com + required: true + domain_name_query: + name: name + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. + in: query + schema: + type: string + example: sub.example.com domain_type_query: name: type description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' @@ -1532,11 +814,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1545,6 +827,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1552,7 +845,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1654,7 +947,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1761,7 +1054,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1769,11 +1062,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1788,7 +1131,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1798,7 +1141,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1832,7 +1175,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1852,7 +1195,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1899,12 +1242,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1918,8 +1261,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1947,6 +1316,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1967,75 +1345,737 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: reserved_ip_list: - description: 'The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes' + description: The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - reserved_ips: - type: array - items: - $ref: '#/components/schemas/reserved_ip' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: reserved_ips: - - ip: 45.55.96.47 - droplet: null - region: - name: New York 3 - slug: nyc3 - features: - - private_networking - - backups - - ipv6 - - metadata - - install_agent - - storage - - image_transfer - available: true - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192g - locked: false - project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - links: {} + type: array + items: + type: object + properties: + ip: + type: string + format: ipv4 + example: 45.55.96.47 + description: The public IP address of the reserved IP. It also serves as its identifier. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + description: The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned. + droplet: + description: The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + anyOf: + - title: 'null' + type: object + nullable: true + description: If the reserved IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + example: null + locked: + type: boolean + example: true + description: A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -2043,15 +2083,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -2059,15 +2124,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -2075,15 +2165,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -2093,68 +2208,1655 @@ components: When assigning a reserved IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: reserved_ip: - $ref: '#/components/schemas/reserved_ip' + type: object + properties: + ip: + type: string + format: ipv4 + example: 45.55.96.47 + description: The public IP address of the reserved IP. It also serves as its identifier. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + description: The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned. + droplet: + description: The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + anyOf: + - title: 'null' + type: object + nullable: true + description: If the reserved IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + example: null + locked: + type: boolean + example: true + description: A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. links: type: object properties: droplets: type: array items: - $ref: '#/components/schemas/action_link' + type: object + description: The linked actions can be used to check the status of a Droplet's create event. + properties: + id: + type: integer + example: 7515 + description: A unique numeric ID that can be used to identify and reference an action. + rel: + type: string + example: create + description: A string specifying the type of the related action. + href: + type: string + format: uri + example: https://api.digitalocean.com/v2/actions/7515 + description: A URL that can be used to access the action. actions: type: array items: - $ref: '#/components/schemas/action_link' + type: object + description: The linked actions can be used to check the status of a Droplet's create event. + properties: + id: + type: integer + example: 7515 + description: A unique numeric ID that can be used to identify and reference an action. + rel: + type: string + example: create + description: A string specifying the type of the related action. + href: + type: string + format: uri + example: https://api.digitalocean.com/v2/actions/7515 + description: A URL that can be used to access the action. examples: reserved_ip_assigning: - $ref: '#/components/examples/reserved_ip_assigning' + summary: Assigning to Droplet + description: Assigning to Droplet + value: + reserved_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: true + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: + droplets: + - id: 213939433 + rel: droplet + href: https://api.digitalocean.com/v2/droplets/213939433 + actions: + - id: 1088924622 + rel: assign_ip + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: - $ref: '#/components/examples/reserved_ip_reserving' + summary: Reserving to Region + description: Reserving to Region + value: + reserved_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: {} reserved_ip: description: The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: reserved_ip: - $ref: '#/components/schemas/reserved_ip' + type: object + properties: + ip: + type: string + format: ipv4 + example: 45.55.96.47 + description: The public IP address of the reserved IP. It also serves as its identifier. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + description: The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned. + droplet: + description: The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + anyOf: + - title: 'null' + type: object + nullable: true + description: If the reserved IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + next_backup_window: + type: object + nullable: true + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance. + image: + type: object + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags + example: null + locked: + type: boolean + example: true + description: A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. examples: reserved_ip_assigned: - $ref: '#/components/examples/reserved_ip_assigned' + summary: Assigned to Droplet + description: Assigned to Droplet + value: + reserved_ip: + ip: 45.55.96.47 + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + type: base + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: - $ref: '#/components/examples/reserved_ip_reserved' + summary: Reserved to Region + description: Reserved to Region + value: + reserved_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -2162,92 +3864,308 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. reserved_ip_actions: description: The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard reserved IP action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - actions: - type: array - items: - $ref: '#/components/schemas/action' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: actions: - - id: 72531856 - status: completed - type: reserve_ip - started_at: '2015-11-21T21:51:09Z' - completed_at: '2015-11-21T21:51:09Z' - resource_id: 758604197 - resource_type: reserved_ip - region: - name: New York 3 - slug: nyc3 - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192gb - features: - - private_networking - - backups - - ipv6 - - metadata - available: true - region_slug: nyc3 - links: {} + type: array + items: + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta reserved_ip_action: description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: action: - allOf: - - $ref: '#/components/schemas/action' - - type: object + type: object + properties: + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: + type: object properties: - project_id: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: type: string - format: uuid - example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: The UUID of the project to which the reserved IP currently belongs. + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + project_id: + type: string + format: uuid + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + description: The UUID of the project to which the reserved IP currently belongs. example: action: id: 72531856 @@ -2289,39 +4207,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -2336,11 +4263,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2350,7 +4277,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -2360,11 +4287,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2389,11 +4316,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2437,7 +4364,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -2446,7 +4373,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -2520,6 +4447,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -2538,7 +4472,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2548,7 +4482,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -2562,7 +4496,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2634,7 +4568,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2642,11 +4576,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2665,7 +4599,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2740,12 +4674,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2759,7 +4700,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2828,7 +4769,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2880,133 +4821,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -3074,14 +5041,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -3258,6 +5224,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3338,9 +5309,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3371,13 +5342,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3484,13 +5460,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3596,7 +5577,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3610,6 +5591,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3690,9 +5676,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3723,13 +5709,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3836,12 +5827,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3850,12 +5977,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3872,12 +5999,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3892,6 +6019,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3990,12 +6122,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -4004,6 +6136,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4102,12 +6239,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -4206,15 +6348,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -4223,6 +6365,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -4303,9 +6450,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4336,10 +6483,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4377,13 +6525,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -4420,6 +6569,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -4509,9 +6659,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -4541,7 +6691,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -4573,6 +6723,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4856,12 +7007,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4871,8 +7022,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4908,8 +7059,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4945,6 +7096,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -5000,7 +7156,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -5008,8 +7164,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5050,6 +7206,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -5066,7 +7227,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5077,8 +7238,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5114,8 +7275,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5151,6 +7312,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -5162,12 +7328,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5177,8 +7343,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5214,8 +7380,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5250,6 +7416,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -5261,12 +7432,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -5276,8 +7447,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -5313,8 +7484,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -5349,6 +7520,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -5558,11 +7734,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5614,7 +7790,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5628,11 +7804,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5658,11 +7834,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5688,7 +7864,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5712,7 +7888,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5784,11 +7960,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5900,7 +8076,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5963,7 +8139,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -6012,11 +8188,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -6088,11 +8264,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -6273,8 +8449,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6312,13 +8508,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -6355,6 +8552,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -6444,9 +8642,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -6476,7 +8674,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -6508,6 +8706,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -6556,7 +8755,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6586,7 +8785,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6840,14 +9039,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6857,7 +9056,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6867,126 +9066,110 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: reserved_ips: id: digitalocean.reserved_ips.reserved_ips name: reserved_ips title: Reserved Ips methods: - reservedIPs_list: + reserved_ips_list: operation: $ref: '#/paths/~1v2~1reserved_ips/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/reserved_ip_list' objectKey: $.reserved_ips - _reservedIPs_list: - operation: - $ref: '#/paths/~1v2~1reserved_ips/get' - response: - mediaType: application/json - openAPIDocKey: '200' - reservedIPs_create: + reserved_ips_create: operation: $ref: '#/paths/~1v2~1reserved_ips/post' response: mediaType: application/json openAPIDocKey: '202' - reservedIPs_get: - operation: - $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/reserved_ip_created' objectKey: $.reserved_ip - _reservedIPs_get: + reserved_ips_get: operation: $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}/get' response: mediaType: application/json openAPIDocKey: '200' - reservedIPs_delete: + schemaRef: '#/components/responses/reserved_ip' + objectKey: $.reserved_ip + reserved_ips_delete: operation: $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reservedIPs_list' - - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reservedIPs_get' + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_get' + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_list' insert: - - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reservedIPs_create' + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reservedIPs_delete' + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_delete' actions: id: digitalocean.reserved_ips.actions name: actions title: Actions methods: - reservedIPsActions_list: + reserved_ips_actions_list: operation: $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/reserved_ip_actions' objectKey: $.actions - _reservedIPsActions_list: - operation: - $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - reservedIPsActions_post: + reserved_ips_actions_post: operation: $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions/post' response: mediaType: application/json openAPIDocKey: '201' - reservedIPsActions_get: - operation: - $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions~1{action_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.action - _reservedIPsActions_get: + schemaRef: '#/components/responses/reserved_ip_action' + reserved_ips_actions_get: operation: $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/reserved_ip_action' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/actions/methods/reservedIPsActions_list' - - $ref: '#/components/x-stackQL-resources/actions/methods/reservedIPsActions_get' - insert: - - $ref: '#/components/x-stackQL-resources/actions/methods/reservedIPsActions_post' + - $ref: '#/components/x-stackQL-resources/actions/methods/reserved_ips_actions_get' + - $ref: '#/components/x-stackQL-resources/actions/methods/reserved_ips_actions_list' + insert: [] update: [] + replace: [] delete: [] paths: /v2/reserved_ips: get: operationId: reservedIPs_list summary: List All Reserved IPs - description: 'To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`.' + description: To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. tags: - Reserved IPs parameters: @@ -7040,9 +9223,17 @@ paths: reserved_ips = client.reserved_ips.all reserved_ips.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.reserved_ips.list() security: - bearer_auth: - - read + - reserved_ip:read post: operationId: reservedIPs_create summary: Create a New Reserved IP @@ -7050,10 +9241,8 @@ paths: On creation, a reserved IP must be either assigned to a Droplet or reserved to a region. * To create a new reserved IP assigned to a Droplet, send a POST request to `/v2/reserved_ips` with the `droplet_id` attribute. - * To create a new reserved IP reserved to a region, send a POST request to `/v2/reserved_ips` with the `region` attribute. - **Note**: In addition to the standard rate limiting, only 12 reserved IPs may be created per 60 seconds. tags: - Reserved IPs @@ -7110,14 +9299,26 @@ paths: reserved_ip = DropletKit::ReservedIp.new(droplet_id: 123456) client.reserved_ips.create(reserved_ip) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "droplet_id": 2457247 + } + + resp = client.reserved_ips.create(body=req) security: - bearer_auth: - - write - '/v2/reserved_ips/{reserved_ip}': + - reserved_ip:create + /v2/reserved_ips/{reserved_ip}: get: operationId: reservedIPs_get summary: Retrieve an Existing Reserved IP - description: 'To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`.' + description: To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. tags: - Reserved IPs parameters: @@ -7166,16 +9367,23 @@ paths: client = DropletKit::Client.new(access_token: token) client.reserved_ips.find(ip: '45.55.96.47') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.reserved_ips.get(reserved_ip="45.55.96.47") security: - bearer_auth: - - read + - reserved_ip:read delete: operationId: reservedIPs_delete summary: Delete a Reserved IP description: | To delete a reserved IP and remove it from your account, send a DELETE request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. - A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: @@ -7226,14 +9434,22 @@ paths: client = DropletKit::Client.new(access_token: token) client.reserved_ips.delete(ip: '45.55.96.47') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.reserved_ips.delete(reserved_ip="45.55.96.47") security: - bearer_auth: - - write - '/v2/reserved_ips/{reserved_ip}/actions': + - reserved_ip:delete + /v2/reserved_ips/{reserved_ip}/actions: get: operationId: reservedIPsActions_list summary: List All Actions for a Reserved IP - description: 'To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`.' + description: To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. tags: - Reserved IP Actions parameters: @@ -7288,9 +9504,17 @@ paths: actions = client.reserved_ip_actions.all(ip: '45.55.96.47') actions.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.reserved_ips_actions.list(reserved_ip="45.55.96.47") security: - bearer_auth: - - read + - reserved_ip:read post: operationId: reservedIPsActions_post summary: Initiate a Reserved IP Action @@ -7298,7 +9522,6 @@ paths: To initiate an action on a reserved IP send a POST request to `/v2/reserved_ips/$RESERVED_IP/actions`. In the JSON body to the request, set the `type` attribute to on of the supported action types: - | Action | Details |------------|-------- | `assign` | Assigns a reserved IP to a Droplet @@ -7383,14 +9606,26 @@ paths: # Unassign a Reserved IP # client.reserved_ip_actions.unassign(ip: '45.55.96.47') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req={ + "type": "unassign" + } + + resp = client.reserved_ips_actions.post(reserved_ip="49.32.13.21", body=req) security: - bearer_auth: - - write - '/v2/reserved_ips/{reserved_ip}/actions/{action_id}': + - reserved_ip:update + /v2/reserved_ips/{reserved_ip}/actions/{action_id}: get: operationId: reservedIPsActions_get summary: Retrieve an Existing Reserved IP Action - description: 'To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`.' + description: To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. tags: - Reserved IP Actions parameters: @@ -7440,6 +9675,14 @@ paths: client = DropletKit::Client.new(access_token: token) client.reserved_ip_actions.find(ip: '45.55.96.47', id: 72531856) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.reserved_ips_actions.get(reserved_ip="45.55.96.47") security: - bearer_auth: - - read + - reserved_ip:read diff --git a/providers/src/digitalocean/v00.00.00000/services/sizes.yaml b/providers/src/digitalocean/v00.00.00000/services/sizes.yaml index f6c2b302..ef96ac3c 100644 --- a/providers/src/digitalocean/v00.00.00000/services/sizes.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/sizes.yaml @@ -1,18 +1,25 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - sizes version: '2.0' - description: Sizes license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - sizes + description: |- + The sizes objects represent different packages of hardware resources that + can be used for Droplets. When a Droplet is created, a size must be + selected so that the correct resources can be allocated. + Each size represents a plan that bundles together specific sets of + resources. This includes the amount of RAM, the number of virtual CPUs, + disk space, and transfer. The size object also includes the pricing + details and the regions that the size is available in. security: - bearer_auth: [] tags: @@ -20,52 +27,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +71,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +86,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +112,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +161,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +169,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +184,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +206,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +224,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +276,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +292,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +307,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +334,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +352,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,217 +387,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: - schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - size: - type: object - properties: - slug: - type: string - example: s-1vcpu-1gb - description: A human-readable string that is used to uniquely identify each size. - memory: - type: integer - multipleOf: 8 - minimum: 8 - example: 1024 - description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. - vcpus: - type: integer - example: 1 - description: The integer of number CPUs allocated to Droplets of this size. - disk: - type: integer - example: 25 - description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. - transfer: - type: number - format: float - example: 1 - description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. - price_monthly: - type: number - format: float - example: 5 - description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. - price_hourly: - type: number - format: float - example: 0.00743999984115362 - description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. - regions: - type: array - items: - type: string - example: - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - description: An array containing the region slugs where this size is available for Droplet creates. - available: - type: boolean - default: true - example: true - description: This is a boolean value that represents whether new Droplets can be created with this size. - description: - type: string - example: Basic - description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' - required: - - available - - disk - - memory - - price_hourly - - price_monthly - - regions - - slug - - transfer - - vcpus - - description - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' + schemas: {} parameters: oneClicks_type: in: query @@ -724,8 +449,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -744,7 +475,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -754,7 +485,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -787,7 +518,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -807,6 +538,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -817,6 +549,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -834,14 +567,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -849,7 +574,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -868,6 +593,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -943,6 +677,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -953,7 +711,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -986,11 +744,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -999,6 +757,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1006,7 +775,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1108,7 +877,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1215,7 +984,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1223,11 +992,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1242,7 +1061,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1252,7 +1071,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1286,7 +1105,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1306,7 +1125,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1353,12 +1172,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1372,8 +1191,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1401,6 +1246,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1424,69 +1278,229 @@ components: description: A JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - sizes: - type: array - items: - $ref: '#/components/schemas/size' - required: - - sizes - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: sizes: - - slug: s-1vcpu-1gb - memory: 1024 - vcpus: 1 - disk: 25 - transfer: 1 - price_monthly: 5 - price_hourly: 0.00743999984115362 - regions: - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - available: true - description: Basic + type: array + items: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description links: - pages: - last: 'https://api.digitalocean.com/v2/sizes?page=64&per_page=1' - next: 'https://api.digitalocean.com/v2/sizes?page=2&per_page=1' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 64 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1494,15 +1508,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1510,15 +1549,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1526,15 +1590,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1544,39 +1633,48 @@ components: scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1591,11 +1689,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1605,7 +1703,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1615,11 +1713,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1644,11 +1742,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1692,7 +1790,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1701,7 +1799,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1775,6 +1873,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1793,7 +1898,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1803,7 +1908,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1817,7 +1922,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1889,7 +1994,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1897,11 +2002,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1920,7 +2025,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -1995,12 +2100,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2014,7 +2126,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2083,7 +2195,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2135,133 +2247,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2329,14 +2467,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2513,6 +2650,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2593,9 +2735,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2626,13 +2768,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2739,13 +2886,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2851,7 +3003,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2865,6 +3017,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2945,9 +3102,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2978,13 +3135,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3091,12 +3253,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3105,12 +3403,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3127,12 +3425,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3147,6 +3445,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3245,12 +3548,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3259,6 +3562,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3357,12 +3665,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3461,15 +3774,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3478,6 +3791,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3558,9 +3876,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3591,10 +3909,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3632,13 +3951,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3675,6 +3995,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3764,9 +4085,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3796,7 +4117,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3828,6 +4149,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4111,12 +4433,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4126,8 +4448,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4163,8 +4485,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4200,6 +4522,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4255,7 +4582,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4263,8 +4590,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4305,6 +4632,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4321,7 +4653,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4332,8 +4664,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4369,8 +4701,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4406,6 +4738,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4417,12 +4754,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4432,8 +4769,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4469,8 +4806,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4505,6 +4842,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4516,12 +4858,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4531,8 +4873,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4568,8 +4910,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4604,6 +4946,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4813,11 +5160,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4869,7 +5216,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4883,11 +5230,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4913,11 +5260,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4943,7 +5290,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4967,7 +5314,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5039,11 +5386,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5155,7 +5502,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5218,7 +5565,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5267,11 +5614,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5343,11 +5690,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5528,8 +5875,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5567,13 +5934,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5610,6 +5978,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5699,9 +6068,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5731,7 +6100,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5763,6 +6132,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5811,7 +6181,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5841,7 +6211,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6095,14 +6465,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6112,7 +6482,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6122,46 +6492,42 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: sizes: id: digitalocean.sizes.sizes name: sizes title: Sizes methods: - list: + sizes_list: operation: $ref: '#/paths/~1v2~1sizes/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_sizes' objectKey: $.sizes - _list: - operation: - $ref: '#/paths/~1v2~1sizes/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/sizes/methods/list' + - $ref: '#/components/x-stackQL-resources/sizes/methods/sizes_list' insert: [] update: [] + replace: [] delete: [] paths: /v2/sizes: @@ -6224,6 +6590,14 @@ paths: sizes = client.sizes.all sizes.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.sizes.list() security: - bearer_auth: - - read + - sizes:read diff --git a/providers/src/digitalocean/v00.00.00000/services/snapshots.yaml b/providers/src/digitalocean/v00.00.00000/services/snapshots.yaml index 769e9065..76ada264 100644 --- a/providers/src/digitalocean/v00.00.00000/services/snapshots.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/snapshots.yaml @@ -1,18 +1,26 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - snapshots version: '2.0' - description: Snapshots license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - snapshots + description: |- + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved + instances of a Droplet or a block storage volume, which is reflected in + the `resource_type` attribute. In order to avoid problems with compressing + filesystems, each defines a `min_disk_size` attribute which is the minimum + size of the Droplet or volume disk when creating a new resource from the + saved snapshot. + To interact with snapshots, you will generally send requests to the + snapshots endpoint at `/v2/snapshots`. security: - bearer_auth: [] tags: @@ -20,52 +28,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +72,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +87,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +113,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +162,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +170,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +185,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +207,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +225,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +277,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +293,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +308,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +335,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +353,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,214 +388,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: - schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - snapshots: - allOf: - - type: object - properties: - id: - type: string - example: '6372321' - description: The unique identifier for the snapshot. - required: - - id - - $ref: '#/components/schemas/snapshots_base' - - type: object - properties: - resource_id: - type: string - example: '200776916' - description: The unique identifier for the resource that the snapshot originated from. - resource_type: - type: string - enum: - - droplet - - volume - example: droplet - description: The type of resource that the snapshot originated from. - tags: - description: An array of Tags the snapshot has been tagged with. - type: array - items: - type: string - nullable: true - example: - - web - - 'env:prod' - required: - - resource_id - - resource_type - - tags - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - snapshots_base: - type: object - properties: - name: - type: string - example: web-01-1595954862243 - description: A human-readable name for the snapshot. - created_at: - type: string - format: date-time - example: '2020-07-28T16:47:44Z' - description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. - regions: - type: array - items: - type: string - example: - - nyc3 - - sfo3 - description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. - min_disk_size: - type: integer - example: 25 - description: The minimum size in GB required for a volume or Droplet to use this snapshot. - size_gigabytes: - type: number - format: float - example: 2.34 - description: The billable size of the snapshot in gigabytes. - required: - - name - - created_at - - regions - - min_disk_size - - size_gigabytes - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' + schemas: {} parameters: oneClicks_type: in: query @@ -721,8 +450,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -741,7 +476,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -751,7 +486,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -784,7 +519,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -804,6 +539,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -814,6 +550,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -831,14 +568,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -846,7 +575,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -865,6 +594,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -940,6 +678,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -950,7 +712,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -983,11 +745,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -996,6 +758,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1003,7 +776,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1105,7 +878,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1212,7 +985,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1220,11 +993,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1239,7 +1062,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1249,7 +1072,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1283,7 +1106,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1303,7 +1126,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1350,12 +1173,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1369,8 +1192,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1398,6 +1247,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1421,43 +1279,231 @@ components: description: A JSON object with a key of `snapshots`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + snapshots: + type: array + items: + type: object + properties: + id: + type: string + example: '6372321' + description: The unique identifier for the snapshot. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + resource_id: + type: string + example: '200776916' + description: The unique identifier for the resource that the snapshot originated from. + resource_type: + type: string + enum: + - droplet + - volume + example: droplet + description: The type of resource that the snapshot originated from. + tags: + description: An array of Tags the snapshot has been tagged with. + type: array + items: + type: string + nullable: true + example: + - web + - env:prod + required: + - resource_id + - resource_type + - tags + links: + type: object properties: - snapshots: - type: array - items: - $ref: '#/components/schemas/snapshots' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta examples: All Snapshots: - $ref: '#/components/examples/snapshots_all' + value: + snapshots: + - id: '6372321' + name: web-01-1595954862243 + created_at: '2020-07-28T16:47:44Z' + regions: + - nyc3 + - sfo3 + resource_id: '200776916' + resource_type: droplet + min_disk_size: 25 + size_gigabytes: 2.34 + tags: + - web + - env:prod + - id: fbe805e8-866b-11e6-96bf-000f53315a41 + name: pvc-01-1595954862243 + created_at: '2019-09-28T23:14:30Z' + regions: + - nyc1 + resource_id: 89bcc42f-85cf-11e6-a004-000f53315871 + resource_type: volume + min_disk_size: 2 + size_gigabytes: 0.1008 + tags: + - k8s + links: {} + meta: + total: 2 Droplets Snapshots: - $ref: '#/components/examples/snapshots_droplets_only' + value: + snapshots: + - id: '6372321' + name: web-01-1595954862243 + created_at: '2020-07-28T16:47:44Z' + regions: + - nyc3 + - sfo3 + resource_id: '200776916' + resource_type: droplet + min_disk_size: 25 + size_gigabytes: 2.34 + tags: + - web + - env:prod + links: {} + meta: + total: 1 Volume Snapshots: - $ref: '#/components/examples/snapshots_volumes_only' + value: + snapshots: + - id: fbe805e8-866b-11e6-96bf-000f53315a41 + name: pvc-01-1595954862243 + created_at: '2019-09-28T23:14:30Z' + regions: + - nyc1 + resource_id: 89bcc42f-85cf-11e6-a004-000f53315871 + resource_type: volume + min_disk_size: 2 + size_gigabytes: 0.1008 + tags: + - k8s + links: {} + meta: + total: 1 unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1465,15 +1511,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1481,15 +1552,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1497,15 +1593,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1514,30 +1635,161 @@ components: A JSON object with a key called `snapshot`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: snapshot: - $ref: '#/components/schemas/snapshots' + type: object + properties: + id: + type: string + example: '6372321' + description: The unique identifier for the snapshot. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + resource_id: + type: string + example: '200776916' + description: The unique identifier for the resource that the snapshot originated from. + resource_type: + type: string + enum: + - droplet + - volume + example: droplet + description: The type of resource that the snapshot originated from. + tags: + description: An array of Tags the snapshot has been tagged with. + type: array + items: + type: string + nullable: true + example: + - web + - env:prod + required: + - resource_id + - resource_type + - tags + not_a_snapshot: + description: Bad Request + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: bad_request + message: the resource is not a snapshot + request_id: bbd8d7d4-2beb-4be1-a374-338e6165e32d not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1545,50 +1797,68 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1603,11 +1873,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1617,7 +1887,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1627,11 +1897,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1656,11 +1926,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1704,7 +1974,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1713,7 +1983,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1787,6 +2057,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1805,7 +2082,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1815,7 +2092,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1829,7 +2106,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1901,7 +2178,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1909,11 +2186,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1932,7 +2209,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2007,12 +2284,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2026,7 +2310,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2095,7 +2379,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2147,133 +2431,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2341,14 +2651,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2525,6 +2834,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2605,9 +2919,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2638,13 +2952,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2751,13 +3070,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2863,7 +3187,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2877,6 +3201,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2957,9 +3286,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2990,13 +3319,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3103,12 +3437,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3117,12 +3587,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3139,12 +3609,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3159,6 +3629,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3257,12 +3732,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3271,6 +3746,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3369,12 +3849,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3473,15 +3958,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3490,6 +3975,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3570,9 +4060,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3603,10 +4093,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3644,13 +4135,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3687,6 +4179,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3776,9 +4269,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3808,7 +4301,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3840,6 +4333,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4123,12 +4617,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4138,8 +4632,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4175,8 +4669,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4212,6 +4706,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4267,7 +4766,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4275,8 +4774,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4317,6 +4816,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4333,7 +4837,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4344,8 +4848,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4381,8 +4885,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4418,6 +4922,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4429,12 +4938,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4444,8 +4953,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4481,8 +4990,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4517,6 +5026,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4528,12 +5042,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4543,8 +5057,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4580,8 +5094,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4616,6 +5130,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4825,11 +5344,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4881,7 +5400,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4895,11 +5414,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4925,11 +5444,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4955,7 +5474,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4979,7 +5498,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5051,11 +5570,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5167,7 +5686,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5230,7 +5749,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5279,11 +5798,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5355,11 +5874,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5540,8 +6059,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5579,13 +6118,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5622,6 +6162,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5711,9 +6252,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5743,7 +6284,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5775,6 +6316,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5823,7 +6365,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5853,7 +6395,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6107,14 +6649,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6124,7 +6666,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6134,61 +6676,59 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: snapshots: id: digitalocean.snapshots.snapshots name: snapshots title: Snapshots methods: - list: + snapshots_list: operation: $ref: '#/paths/~1v2~1snapshots/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/snapshots' objectKey: $.snapshots - _list: - operation: - $ref: '#/paths/~1v2~1snapshots/get' - response: - mediaType: application/json - openAPIDocKey: '200' - get: + snapshots_get: operation: $ref: '#/paths/~1v2~1snapshots~1{snapshot_id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/snapshots_existing' + snapshots_delete: operation: $ref: '#/paths/~1v2~1snapshots~1{snapshot_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/snapshots/methods/list' - - $ref: '#/components/x-stackQL-resources/snapshots/methods/get' + - $ref: '#/components/x-stackQL-resources/snapshots/methods/snapshots_get' + - $ref: '#/components/x-stackQL-resources/snapshots/methods/snapshots_list' insert: [] update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/snapshots/methods/delete' + - $ref: '#/components/x-stackQL-resources/snapshots/methods/snapshots_delete' paths: /v2/snapshots: get: @@ -6197,22 +6737,15 @@ paths: description: | To list all of the snapshots available on your account, send a GET request to `/v2/snapshots`. - The response will be a JSON object with a key called `snapshots`. This will be set to an array of `snapshot` objects, each of which will contain the standard snapshot attributes. - ### Filtering Results by Resource Type - It's possible to request filtered results by including certain query parameters. - #### List Droplet Snapshots - To retrieve only snapshots based on Droplets, include the `resource_type` query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`. - #### List Volume Snapshots - To retrieve only snapshots based on volumes, include the `resource_type` query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`. tags: @@ -6297,17 +6830,24 @@ paths: # List volume snapshots # snapshots = client.snapshots.all(resource_type: 'volume') # snapshots.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.snapshots.list() security: - bearer_auth: - - read - '/v2/snapshots/{snapshot_id}': + - snapshot:read + /v2/snapshots/{snapshot_id}: get: operationId: snapshots_get summary: Retrieve an Existing Snapshot description: | To retrieve information about a snapshot, send a GET request to `/v2/snapshots/$SNAPSHOT_ID`. - The response will be a JSON object with a key called `snapshot`. The value of this will be an snapshot object containing the standard snapshot attributes. tags: @@ -6317,6 +6857,8 @@ paths: responses: '200': $ref: '#/components/responses/snapshots_existing' + '400': + $ref: '#/components/responses/not_a_snapshot' '401': $ref: '#/components/responses/unauthorized' '404': @@ -6358,9 +6900,17 @@ paths: client = DropletKit::Client.new(access_token: token) snapshot = client.snapshots.find(id: 'fbe805e8-866b-11e6-96bf-000f53315a41') + - lang: cURL + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.snapshots.get(snapshot_id="fbe805e8") security: - bearer_auth: - - read + - snapshot:read delete: operationId: snapshots_delete summary: Delete a Snapshot @@ -6368,7 +6918,6 @@ paths: Both Droplet and volume snapshots are managed through the `/v2/snapshots/` endpoint. To delete a snapshot, send a DELETE request to `/v2/snapshots/$SNAPSHOT_ID`. - A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: @@ -6378,6 +6927,8 @@ paths: responses: '204': $ref: '#/components/responses/no_content' + '400': + $ref: '#/components/responses/not_a_snapshot' '401': $ref: '#/components/responses/unauthorized' '404': @@ -6419,6 +6970,15 @@ paths: client = DropletKit::Client.new(access_token: token) client.snapshots.delete(id: 'fbe805e8-866b-11e6-96bf-000f53315a41') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.snapshots.delete(snapshot_id="fbe805e8") security: - bearer_auth: - - write + - image:delete + - snapshot:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/ssh_keys.yaml b/providers/src/digitalocean/v00.00.00000/services/ssh_keys.yaml index f8be897a..611a50c0 100644 --- a/providers/src/digitalocean/v00.00.00000/services/ssh_keys.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/ssh_keys.yaml @@ -1,18 +1,18 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - ssh_keys version: '2.0' - description: SSH Keys license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - ssh_keys + description: Manage SSH keys available on your account. security: - bearer_auth: [] tags: @@ -20,52 +20,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +64,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +79,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +105,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +154,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +162,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +177,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +199,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +217,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +269,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +285,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +300,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +327,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +345,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,162 +380,56 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 sshKeys: type: object properties: id: - $ref: '#/components/schemas/ssh_key_id' + type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 fingerprint: - $ref: '#/components/schemas/ssh_key_fingerprint' + type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa public_key: description: The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. type: string example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example name: - $ref: '#/components/schemas/ssh_key_name' + type: string + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. + example: My SSH Public Key required: - public_key - name - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message ssh_key_name: type: string - description: 'A human-readable display name for this key, used to easily identify the SSH keys when they are displayed.' + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. example: My SSH Public Key - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' parameters: oneClicks_type: in: query @@ -669,8 +470,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -689,7 +496,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -699,7 +506,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -732,7 +539,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -752,6 +559,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -762,6 +570,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -779,14 +588,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -794,7 +595,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -813,6 +614,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -888,6 +698,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -898,7 +732,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -931,11 +765,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -944,6 +778,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -951,7 +796,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1053,7 +898,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1160,7 +1005,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1168,11 +1013,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1187,7 +1082,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1197,7 +1092,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1231,7 +1126,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1251,7 +1146,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1298,12 +1193,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1317,8 +1212,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1346,6 +1267,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1366,47 +1296,134 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: sshKeys_all: - description: 'A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes.' + description: A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - properties: - ssh_keys: - type: array - items: - $ref: '#/components/schemas/sshKeys' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + properties: ssh_keys: - - id: 289794 - fingerprint: '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' - public_key: ssh-rsa ANOTHEREXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V anotherexample - name: Other Public Key - links: {} + type: array + items: + type: object + properties: + id: + type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + fingerprint: + type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa + public_key: + description: The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. + type: string + example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example + name: + type: string + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. + example: My SSH Public Key + required: + - public_key + - name + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + type: object + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1414,15 +1431,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1430,15 +1472,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1446,15 +1513,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1462,63 +1554,174 @@ components: description: The response body will be a JSON object with a key set to `ssh_key`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: ssh_key: - $ref: '#/components/schemas/sshKeys' + type: object + properties: + id: + type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + fingerprint: + type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa + public_key: + description: The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. + type: string + example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example + name: + type: string + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. + example: My SSH Public Key + required: + - public_key + - name links: sshKeys_get_by_id: - $ref: '#/components/links/sshKeys_get_by_id' + operationId: sshKeys_get_by_id + parameters: + ssh_key_identifier: $response.body#/ssh_key/id + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: - $ref: '#/components/links/sshKeys_get_by_fingerprint' + operationId: sshKeys_get_by_fingerprint + parameters: + ssh_key_identifier: $response.body#/ssh_key/fingerprint + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: - $ref: '#/components/links/sshKeys_delete_by_id' + operationId: sshKeys_delete_by_id + parameters: + ssh_key_identifier: $response.body#/ssh_key/id + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: - $ref: '#/components/links/sshKeys_delete_by_fingerprint' + operationId: ssh_keys_delete_by_fingerprint + parameters: + ssh_key_identifier: $response.body#/ssh_key/fingerprint + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_existing: description: A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: ssh_key: - $ref: '#/components/schemas/sshKeys' + type: object + properties: + id: + type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + fingerprint: + type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa + public_key: + description: The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. + type: string + example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example + name: + type: string + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. + example: My SSH Public Key + required: + - public_key + - name links: sshKeys_get_by_id: - $ref: '#/components/links/sshKeys_get_by_id' + operationId: sshKeys_get_by_id + parameters: + ssh_key_identifier: $response.body#/ssh_key/id + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: - $ref: '#/components/links/sshKeys_get_by_fingerprint' + operationId: sshKeys_get_by_fingerprint + parameters: + ssh_key_identifier: $response.body#/ssh_key/fingerprint + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: - $ref: '#/components/links/sshKeys_delete_by_id' + operationId: sshKeys_delete_by_id + parameters: + ssh_key_identifier: $response.body#/ssh_key/id + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: - $ref: '#/components/links/sshKeys_delete_by_fingerprint' + operationId: ssh_keys_delete_by_fingerprint + parameters: + ssh_key_identifier: $response.body#/ssh_key/fingerprint + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1526,50 +1729,68 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1584,11 +1805,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1598,7 +1819,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1608,11 +1829,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1637,11 +1858,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1685,7 +1906,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1694,7 +1915,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1768,6 +1989,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1786,7 +2014,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1796,7 +2024,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1810,7 +2038,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1882,7 +2110,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1890,11 +2118,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1913,7 +2141,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -1988,12 +2216,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2007,7 +2242,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2076,7 +2311,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2128,133 +2363,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2322,14 +2583,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2506,6 +2766,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2586,9 +2851,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2619,13 +2884,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2732,13 +3002,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2844,7 +3119,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2858,6 +3133,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2938,9 +3218,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2971,13 +3251,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3084,12 +3369,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3098,12 +3519,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3120,12 +3541,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3140,6 +3561,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3238,12 +3664,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3252,6 +3678,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3350,12 +3781,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3454,15 +3890,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3471,6 +3907,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3551,9 +3992,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3584,10 +4025,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3625,13 +4067,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3668,6 +4111,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3757,9 +4201,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3789,7 +4233,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3821,6 +4265,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4104,12 +4549,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4119,8 +4564,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4156,8 +4601,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4193,6 +4638,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4248,7 +4698,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4256,8 +4706,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4298,6 +4748,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4314,7 +4769,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4325,8 +4780,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4362,8 +4817,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4399,6 +4854,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4410,12 +4870,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4425,8 +4885,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4462,8 +4922,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4498,6 +4958,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4509,12 +4974,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4524,8 +4989,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4561,8 +5026,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4597,6 +5062,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4806,11 +5276,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4862,7 +5332,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4876,11 +5346,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4906,11 +5376,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -4936,7 +5406,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -4960,7 +5430,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5032,11 +5502,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5148,7 +5618,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5211,7 +5681,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5260,11 +5730,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5336,11 +5806,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5521,8 +5991,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5560,13 +6050,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5603,6 +6094,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5692,9 +6184,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5724,7 +6216,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5756,6 +6248,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5804,7 +6297,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5834,7 +6327,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6088,14 +6581,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6105,7 +6598,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6115,87 +6608,80 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: account_keys: id: digitalocean.ssh_keys.account_keys name: account_keys title: Account Keys methods: - sshKeys_list: + ssh_keys_list: operation: $ref: '#/paths/~1v2~1account~1keys/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/sshKeys_all' objectKey: $.ssh_keys - _sshKeys_list: - operation: - $ref: '#/paths/~1v2~1account~1keys/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sshKeys_create: + ssh_keys_create: operation: $ref: '#/paths/~1v2~1account~1keys/post' response: mediaType: application/json openAPIDocKey: '201' - sshKeys_get: + schemaRef: '#/components/responses/sshKeys_new' + ssh_keys_get: operation: $ref: '#/paths/~1v2~1account~1keys~1{ssh_key_identifier}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.ssh_key - _sshKeys_get: - operation: - $ref: '#/paths/~1v2~1account~1keys~1{ssh_key_identifier}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sshKeys_update: + schemaRef: '#/components/responses/sshKeys_existing' + ssh_keys_update: operation: $ref: '#/paths/~1v2~1account~1keys~1{ssh_key_identifier}/put' response: mediaType: application/json openAPIDocKey: '200' - sshKeys_delete: + schemaRef: '#/components/responses/sshKeys_existing' + ssh_keys_delete: operation: $ref: '#/paths/~1v2~1account~1keys~1{ssh_key_identifier}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/account_keys/methods/sshKeys_list' - - $ref: '#/components/x-stackQL-resources/account_keys/methods/sshKeys_get' + - $ref: '#/components/x-stackQL-resources/account_keys/methods/ssh_keys_get' + - $ref: '#/components/x-stackQL-resources/account_keys/methods/ssh_keys_list' insert: - - $ref: '#/components/x-stackQL-resources/account_keys/methods/sshKeys_create' + - $ref: '#/components/x-stackQL-resources/account_keys/methods/ssh_keys_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/account_keys/methods/sshKeys_delete' + - $ref: '#/components/x-stackQL-resources/account_keys/methods/ssh_keys_delete' paths: /v2/account/keys: get: operationId: sshKeys_list summary: List All SSH Keys - description: 'To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes.' + description: To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. tags: - SSH Keys parameters: @@ -6249,13 +6735,21 @@ paths: ssh_keys = client.ssh_keys.all ssh_keys.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.ssh_keys.list() security: - bearer_auth: - - read + - ssh_key:read post: operationId: sshKeys_create summary: Create a New SSH Key - description: 'To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding.' + description: To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding. tags: - SSH Keys requestBody: @@ -6316,10 +6810,23 @@ paths: public_key: 'ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example' ) client.ssh_keys.create(ssh_key) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "public_key": "ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example", + "name": "My SSH Public Key" + } + + resp = client.ssh_keys.create(body=req) security: - bearer_auth: - - write - '/v2/account/keys/{ssh_key_identifier}': + - ssh_key:create + /v2/account/keys/{ssh_key_identifier}: get: operationId: sshKeys_get summary: Retrieve an Existing SSH Key @@ -6374,13 +6881,21 @@ paths: client = DropletKit::Client.new(access_token: token) client.ssh_keys.find(id: 512190) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.ssh_keys.get(ssh_key_identifier=512190) security: - bearer_auth: - - read + - ssh_key:read put: operationId: sshKeys_update summary: Update an SSH Key's Name - description: 'To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use.' + description: To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use. tags: - SSH Keys parameters: @@ -6445,9 +6960,21 @@ paths: ssh_key = DropletKit::SSHKey.new(name: 'Renamed SSH Key') client.ssh_keys.update(ssh_key, id: 512190) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "My SSH Public Key" + } + + resp = client.ssh_keys.update(ssh_key_identifier=512190, body=req) security: - bearer_auth: - - write + - ssh_key:update delete: operationId: sshKeys_delete summary: Delete an SSH Key @@ -6502,6 +7029,14 @@ paths: client = DropletKit::Client.new(access_token: token) client.ssh_keys.delete(id: 512190) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.ssh_keys.delete(ssh_key_identifier=512190) security: - bearer_auth: - - write + - ssh_key:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/tags.yaml b/providers/src/digitalocean/v00.00.00000/services/tags.yaml index 31693694..76a951a5 100644 --- a/providers/src/digitalocean/v00.00.00000/services/tags.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/tags.yaml @@ -1,18 +1,23 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - tags version: '2.0' - description: Tags license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - tags + description: |- + A tag is a label that can be applied to a resource (currently Droplets, + Images, Volumes, Volume Snapshots, and Database clusters) in order to + better organize or facilitate the lookups and actions on it. + Tags have two attributes: a user defined `name` attribute and an embedded + `resources` attribute with information about resources that have been tagged. security: - bearer_auth: [] tags: @@ -20,52 +25,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +69,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +84,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +110,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +159,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +167,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +182,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +204,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +222,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +274,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +290,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +305,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +332,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +350,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,53 +385,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 tags: type: object description: |- @@ -531,175 +418,90 @@ components: description: | The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. - **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. - When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). - Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ maxLength: 255 example: extra-awesome resources: type: object - description: An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag. - readOnly: true - allOf: - - $ref: '#/components/schemas/tags_metadata' - - properties: - droplets: - $ref: '#/components/schemas/tags_metadata' - imgages: - $ref: '#/components/schemas/tags_metadata' - volumes: - $ref: '#/components/schemas/tags_metadata' - volume_snapshots: - $ref: '#/components/schemas/tags_metadata' - databases: - $ref: '#/components/schemas/tags_metadata' - example: - count: 5 - last_tagged_uri: 'https://api.digitalocean.com/v2/images/7555620' + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 droplets: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/droplets/3164444' - images: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/images/7555620' + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + imgages: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 volumes: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933' + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 volume_snapshots: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519' + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 databases: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - tags_metadata: - type: object - description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. - properties: - count: - type: integer - description: The number of tagged objects for this type of resource. - example: 5 - minimum: 0 - last_tagged_uri: - type: string - description: The URI for the last tagged object for this type of resource. - example: 'https://api.digitalocean.com/v2/images/7555620' - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - error_with_root_causes: - type: object - properties: - error: - description: A message providing information about the error. - type: string - example: not_found - messages: - description: A list of error messages. - type: array - items: - type: string - nullable: true - example: null - root_causes: - description: 'A list of underlying causes for the error, including details to help resolve it when possible.' - type: array - items: - type: string - example: [] - required: - - error - - root_causes + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 tags_resource: type: object properties: @@ -770,8 +572,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -790,7 +598,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -800,7 +608,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -833,7 +641,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -853,6 +661,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -863,6 +672,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -880,14 +690,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -895,7 +697,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -914,6 +716,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -989,6 +800,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -999,7 +834,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1032,11 +867,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1045,6 +880,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1052,7 +898,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1154,7 +1000,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1261,7 +1107,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1269,11 +1115,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1288,7 +1184,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1298,7 +1194,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1332,7 +1228,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1352,7 +1248,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1399,12 +1295,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1418,8 +1314,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1447,6 +1369,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1467,63 +1398,205 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: tags_all: - description: 'To list all of your tags, you can send a `GET` request to `/v2/tags`.' + description: To list all of your tags, you can send a `GET` request to `/v2/tags`. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - tags: - type: array - items: - $ref: '#/components/schemas/tags' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: tags: - - name: extra-awesome - resources: - count: 5 - last_tagged_uri: 'https://api.digitalocean.com/v2/images/7555620' - droplets: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/droplets/3164444' - images: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/images/7555620' - volumes: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933' - volume_snapshots: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519' - databases: - count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976' - links: {} + type: array + items: + type: object + description: |- + A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. + Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. + properties: + name: + type: string + description: | + The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. + There is a limit of 255 characters per tag. + **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. + When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). + Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". + pattern: ^[a-zA-Z0-9_\-\:]+$ + maxLength: 255 + example: extra-awesome + resources: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + droplets: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + imgages: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volumes: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volume_snapshots: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + databases: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 1 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1531,15 +1604,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1547,15 +1645,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1563,15 +1686,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1579,17 +1727,119 @@ components: description: The response will be a JSON object with a key called tag. The value of this will be a tag object containing the standard tag attributes headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: properties: tag: - $ref: '#/components/schemas/tags' + type: object + description: |- + A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. + Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. + properties: + name: + type: string + description: | + The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. + There is a limit of 255 characters per tag. + **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. + When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). + Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". + pattern: ^[a-zA-Z0-9_\-\:]+$ + maxLength: 255 + example: extra-awesome + resources: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + droplets: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + imgages: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volumes: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volume_snapshots: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + databases: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 example: tag: name: extra-awesome @@ -1609,17 +1859,51 @@ components: description: Bad Request headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. x-request-id: - $ref: '#/components/headers/x-request-id' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + schema: + type: string + format: uuid + example: 515850a0-a812-50bf-aa3c-d0d21d287e40 content: application/json: schema: - $ref: '#/components/schemas/error_with_root_causes' + type: object + properties: + error: + description: A message providing information about the error. + type: string + example: not_found + messages: + description: A list of error messages. + type: array + items: + type: string + nullable: true + example: null + root_causes: + description: A list of underlying causes for the error, including details to help resolve it when possible. + type: array + items: + type: string + example: [] + required: + - error + - root_causes examples: InvalidCharacters: value: @@ -1631,53 +1915,180 @@ components: description: The response will be a JSON object with a key called `tag`. The value of this will be a tag object containing the standard tag attributes. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: tag: - $ref: '#/components/schemas/tags' + type: object + description: |- + A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. + Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. + properties: + name: + type: string + description: | + The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. + There is a limit of 255 characters per tag. + **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. + When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). + Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". + pattern: ^[a-zA-Z0-9_\-\:]+$ + maxLength: 255 + example: extra-awesome + resources: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + droplets: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + imgages: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volumes: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volume_snapshots: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + databases: + type: object + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 example: tag: tag: name: extra-awesome resources: count: 5 - last_tagged_uri: 'https://api.digitalocean.com/v2/images/7555620' + last_tagged_uri: https://api.digitalocean.com/v2/images/7555620 droplets: count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/droplets/3164444' + last_tagged_uri: https://api.digitalocean.com/v2/droplets/3164444 images: count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/images/7555620' + last_tagged_uri: https://api.digitalocean.com/v2/images/7555620 volumes: count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933' + last_tagged_uri: https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 volume_snapshots: count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519' + last_tagged_uri: https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 databases: count: 1 - last_tagged_uri: 'https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976' + last_tagged_uri: https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 not_found: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1685,50 +2096,68 @@ components: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1743,11 +2172,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1757,7 +2186,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1767,11 +2196,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1796,11 +2225,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1844,7 +2273,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1853,7 +2282,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1927,6 +2356,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1945,7 +2381,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1955,7 +2391,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1969,7 +2405,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2041,7 +2477,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2049,11 +2485,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2072,7 +2508,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2147,12 +2583,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2166,7 +2609,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2235,7 +2678,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2287,133 +2730,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2481,14 +2950,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2665,6 +3133,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2745,9 +3218,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2778,13 +3251,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2891,13 +3369,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3003,7 +3486,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3017,6 +3500,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3097,9 +3585,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3130,13 +3618,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3243,12 +3736,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3257,12 +3886,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3279,12 +3908,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3299,6 +3928,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3397,12 +4031,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3411,6 +4045,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3509,12 +4148,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3613,15 +4257,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3630,6 +4274,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3710,9 +4359,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3743,10 +4392,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3784,13 +4434,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3827,6 +4478,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3916,9 +4568,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3948,7 +4600,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3980,6 +4632,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4263,12 +4916,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4278,8 +4931,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4315,8 +4968,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4352,6 +5005,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4407,7 +5065,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4415,8 +5073,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4457,6 +5115,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4473,7 +5136,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4484,8 +5147,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4521,8 +5184,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4558,6 +5221,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4569,12 +5237,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4584,8 +5252,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4621,8 +5289,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4657,6 +5325,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4668,12 +5341,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4683,8 +5356,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4720,8 +5393,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4756,6 +5429,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4965,11 +5643,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5021,7 +5699,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5035,11 +5713,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5065,11 +5743,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5095,7 +5773,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5119,7 +5797,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5191,11 +5869,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5307,7 +5985,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5370,7 +6048,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5419,11 +6097,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5495,11 +6173,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5680,8 +6358,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5719,13 +6417,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5762,6 +6461,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5851,9 +6551,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5883,7 +6583,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5915,6 +6615,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5963,7 +6664,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5993,7 +6694,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6247,14 +6948,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6264,7 +6965,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6274,103 +6975,99 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: tags: id: digitalocean.tags.tags name: tags title: Tags methods: - list: + tags_list: operation: $ref: '#/paths/~1v2~1tags/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/tags_all' objectKey: $.tags - _list: - operation: - $ref: '#/paths/~1v2~1tags/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + tags_create: operation: $ref: '#/paths/~1v2~1tags/post' response: mediaType: application/json openAPIDocKey: '201' - get: + schemaRef: '#/components/responses/tags_new' + tags_get: operation: $ref: '#/paths/~1v2~1tags~1{tag_id}/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/tags_existing' objectKey: $.tag - _get: - operation: - $ref: '#/paths/~1v2~1tags~1{tag_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete: + tags_delete: operation: $ref: '#/paths/~1v2~1tags~1{tag_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/tags/methods/list' - - $ref: '#/components/x-stackQL-resources/tags/methods/get' + - $ref: '#/components/x-stackQL-resources/tags/methods/tags_get' + - $ref: '#/components/x-stackQL-resources/tags/methods/tags_list' insert: - - $ref: '#/components/x-stackQL-resources/tags/methods/create' + - $ref: '#/components/x-stackQL-resources/tags/methods/tags_create' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/tags/methods/delete' + - $ref: '#/components/x-stackQL-resources/tags/methods/tags_delete' resources: id: digitalocean.tags.resources name: resources title: Resources methods: - assign_resources: + tags_assign_resources: operation: $ref: '#/paths/~1v2~1tags~1{tag_id}~1resources/post' response: mediaType: application/json openAPIDocKey: '204' - unassign_resources: + schemaRef: '#/components/responses/no_content' + tags_unassign_resources: operation: $ref: '#/paths/~1v2~1tags~1{tag_id}~1resources/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: [] insert: [] update: [] + replace: [] delete: [] paths: /v2/tags: get: operationId: tags_list summary: List All Tags - description: 'To list all of your tags, you can send a GET request to `/v2/tags`.' + description: To list all of your tags, you can send a GET request to `/v2/tags`. tags: - Tags parameters: @@ -6423,9 +7120,17 @@ paths: tags = client.tags.all tags.each + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.tags.list() security: - bearer_auth: - - read + - tag:read post: operationId: tags_create summary: Create a New Tag @@ -6487,14 +7192,46 @@ paths: tag = DropletKit::Tag.new(name: 'awesome') client.tags.create(tag) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "tag": { + "name": "extra-awesome", + "resources": { + "count": 0, + "droplets": { + "count": 0 + }, + "images": { + "count": 0 + }, + "volumes": { + "count": 0 + }, + "volume_snapshots": { + "count": 0 + }, + "databases": { + "count": 0 + } + } + } + } + + resp = client.tags.create(body=req) security: - bearer_auth: - - write - '/v2/tags/{tag_id}': + - tag:create + /v2/tags/{tag_id}: get: operationId: tags_get summary: Retrieve a Tag - description: 'To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`.' + description: To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`. tags: - Tags parameters: @@ -6543,9 +7280,17 @@ paths: client = DropletKit::Client.new(access_token: token) client.tags.find(name: 'awesome') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.tags.get(tag_id="awesome") security: - bearer_auth: - - read + - tag:read delete: operationId: tags_delete summary: Delete a Tag @@ -6598,10 +7343,18 @@ paths: client = DropletKit::Client.new(access_token: token) client.tags.delete(name: 'awesome') + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.tags.delete(tag_id="awesome") security: - bearer_auth: - - write - '/v2/tags/{tag_id}/resources': + - tag:delete + /v2/tags/{tag_id}/resources: post: operationId: tags_assign_resources summary: Tag a Resource @@ -6667,9 +7420,34 @@ paths: client = DropletKit::Client.new(access_token: token) client.tags.tag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume'}]) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "resources": [ + { + "resource_id": "9569411", + "resource_type": "droplet" + }, + { + "resource_id": "7555620", + "resource_type": "image" + }, + { + "resource_id": "3d80cb72-342b-4aaa-b92e-4e4abb24a933", + "resource_type": "volume" + } + ] + } + + resp = client.tags.assign_resources(tag_id="awesome", body=req) security: - bearer_auth: - - write + - tag:create delete: operationId: tags_unassign_resources summary: Untag a Resource @@ -6734,6 +7512,31 @@ paths: client = DropletKit::Client.new(access_token: token) client.tags.untag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume' }]) + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "resources": [ + { + "resource_id": "9569411", + "resource_type": "droplet" + }, + { + "resource_id": "7555620", + "resource_type": "image" + }, + { + "resource_id": "3d80cb72-342b-4aaa-b92e-4e4abb24a933", + "resource_type": "volume" + } + ] + } + + resp = client.tags.unassign_resources(tag_id="awesome", body=req) security: - bearer_auth: - - write + - tag:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/uptime.yaml b/providers/src/digitalocean/v00.00.00000/services/uptime.yaml index a3c70493..ec96cb73 100644 --- a/providers/src/digitalocean/v00.00.00000/services/uptime.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/uptime.yaml @@ -1,18 +1,20 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - uptime version: '2.0' - description: Uptime license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - uptime + description: |- + [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. + To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. security: - bearer_auth: [] tags: @@ -20,52 +22,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +66,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +81,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +107,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +156,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +164,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +179,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +201,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +219,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +271,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +287,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +302,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +329,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +347,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,99 +382,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - check: - allOf: - - $ref: '#/components/schemas/check_base' - - $ref: '#/components/schemas/check_updatable' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - check_base: - type: object - properties: - id: - type: string - format: uuid - readOnly: true - example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - description: A unique ID that can be used to identify and reference the check. check_updatable: type: object properties: @@ -584,7 +422,7 @@ components: target: type: string format: url - example: 'https://www.landingpage.com' + example: https://www.landingpage.com description: The endpoint to perform healthchecks on. regions: type: array @@ -604,113 +442,7 @@ components: example: true default: true description: A boolean value indicating whether the check is enabled/disabled. - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - state: - type: object - properties: - regions: - $ref: '#/components/schemas/regional_state' - previous_outage: - $ref: '#/components/schemas/previous_outage' - regional_state: - type: object - description: A map of region to regional state - properties: - us_east: - $ref: '#/components/schemas/region_state' - eu_west: - $ref: '#/components/schemas/region_state' - previous_outage: - type: object - properties: - region: - type: string - example: us_east - started_at: - type: string - example: '2022-03-17T18:04:55Z' - ended_at: - type: string - example: '2022-03-17T18:06:55Z' - duration_seconds: - type: integer - example: 120 - region_state: - type: object - properties: - status: - type: string - example: UP - enum: - - DOWN - - UP - - CHECKING - status_changed_at: - type: string - example: '2022-03-17T22:28:51Z' - thirty_day_uptime_percentage: - type: number - example: 97.99 alert: - allOf: - - $ref: '#/components/schemas/alert_base' - - $ref: '#/components/schemas/alert_updatable' - alert_base: type: object properties: id: @@ -719,9 +451,6 @@ components: readOnly: true example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 description: A unique ID that can be used to identify and reference the alert. - alert_updatable: - type: object - properties: name: type: string example: Landing page degraded performance @@ -747,7 +476,38 @@ components: - greater_than - less_than notifications: - $ref: '#/components/schemas/notification' + type: object + description: The notification settings for a trigger alert. + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. + example: + - bob@example.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + format: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + format: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ period: type: string example: 2m @@ -760,39 +520,78 @@ components: - 15m - 30m - 1h - notification: + alert_updatable: type: object - description: The notification settings for a trigger alert. - required: - - slack - - email properties: - email: - description: An email to notify on an alert trigger. - example: - - bob@example.com - type: array - items: - type: string - slack: - type: array - description: Slack integration details. - items: - type: object - required: - - url - - channel - properties: - channel: - type: string - format: string - example: Production Alerts - description: Slack channel to notify of an alert trigger. - url: + name: + type: string + example: Landing page degraded performance + description: A human-friendly display name. + type: + type: string + example: latency + enum: + - latency + - down + - down_global + - ssl_expiry + description: The type of alert. + threshold: + type: integer + example: 300 + description: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. + comparison: + type: string + example: greater_than + description: The comparison operator used against the alert's threshold. + enum: + - greater_than + - less_than + notifications: + type: object + description: The notification settings for a trigger alert. + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. + example: + - bob@example.com + type: array + items: type: string - format: string - description: Slack Webhook URL. - example: 'https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ' + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + format: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + format: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + period: + type: string + example: 2m + description: Period of time the threshold must be exceeded to trigger the alert. + enum: + - 2m + - 3m + - 5m + - 10m + - 15m + - 30m + - 1h parameters: oneClicks_type: in: query @@ -833,8 +632,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -853,7 +658,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -863,7 +668,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -896,7 +701,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -916,6 +721,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -926,6 +732,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -943,14 +750,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -958,7 +757,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -977,6 +776,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -1052,6 +860,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -1062,7 +894,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -1095,11 +927,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -1108,6 +940,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1115,7 +958,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1217,7 +1060,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1324,7 +1167,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1332,11 +1175,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1351,7 +1244,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1361,7 +1254,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1395,7 +1288,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1415,7 +1308,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1462,12 +1355,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1481,8 +1374,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1510,6 +1429,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1530,39 +1458,154 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_checks: - description: 'The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check' + description: The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + checks: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the check. + name: + type: string + example: Landing page check + description: A human-friendly display name. + type: + type: string + example: https + enum: + - ping + - http + - https + description: The type of health check to perform. + target: + type: string + format: url + example: https://www.landingpage.com + description: The endpoint to perform healthchecks on. + regions: + type: array + items: + type: string + enum: + - us_east + - us_west + - eu_west + - se_asia + example: + - us_east + - eu_west + description: An array containing the selected regions to perform healthchecks from. + enabled: + type: boolean + example: true + default: true + description: A boolean value indicating whether the check is enabled/disabled. + links: + type: object properties: - checks: - type: array - items: - $ref: '#/components/schemas/check' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1570,15 +1613,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1586,15 +1654,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1602,15 +1695,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1618,15 +1736,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1634,119 +1777,458 @@ components: description: The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: check: - $ref: '#/components/schemas/check' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the check. + name: + type: string + example: Landing page check + description: A human-friendly display name. + type: + type: string + example: https + enum: + - ping + - http + - https + description: The type of health check to perform. + target: + type: string + format: url + example: https://www.landingpage.com + description: The endpoint to perform healthchecks on. + regions: + type: array + items: + type: string + enum: + - us_east + - us_west + - eu_west + - se_asia + example: + - us_east + - eu_west + description: An array containing the selected regions to perform healthchecks from. + enabled: + type: boolean + example: true + default: true + description: A boolean value indicating whether the check is enabled/disabled. no_content: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. existing_check_state: description: The response will be a JSON object with a key called `state`. The value of this will be an object that contains the standard attributes associated with an uptime check's state. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: state: - $ref: '#/components/schemas/state' + type: object + properties: + regions: + type: object + description: A map of region to regional state + properties: + us_east: + type: object + properties: + status: + type: string + example: UP + enum: + - DOWN + - UP + - CHECKING + status_changed_at: + type: string + example: '2022-03-17T22:28:51Z' + thirty_day_uptime_percentage: + type: number + example: 97.99 + eu_west: + type: object + properties: + status: + type: string + example: UP + enum: + - DOWN + - UP + - CHECKING + status_changed_at: + type: string + example: '2022-03-17T22:28:51Z' + thirty_day_uptime_percentage: + type: number + example: 97.99 + previous_outage: + type: object + properties: + region: + type: string + example: us_east + started_at: + type: string + example: '2022-03-17T18:04:55Z' + ended_at: + type: string + example: '2022-03-17T18:06:55Z' + duration_seconds: + type: integer + example: 120 all_alerts: - description: 'The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert.' + description: The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + alerts: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the alert. + name: + type: string + example: Landing page degraded performance + description: A human-friendly display name. + type: + type: string + example: latency + enum: + - latency + - down + - down_global + - ssl_expiry + description: The type of alert. + threshold: + type: integer + example: 300 + description: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. + comparison: + type: string + example: greater_than + description: The comparison operator used against the alert's threshold. + enum: + - greater_than + - less_than + notifications: + type: object + description: The notification settings for a trigger alert. + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. + example: + - bob@example.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + format: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + format: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + period: + type: string + example: 2m + description: Period of time the threshold must be exceeded to trigger the alert. + enum: + - 2m + - 3m + - 5m + - 10m + - 15m + - 30m + - 1h + links: + type: object properties: - alerts: - type: array - items: - $ref: '#/components/schemas/alert' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta existing_alert: description: The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: alert: - $ref: '#/components/schemas/alert' + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the alert. + name: + type: string + example: Landing page degraded performance + description: A human-friendly display name. + type: + type: string + example: latency + enum: + - latency + - down + - down_global + - ssl_expiry + description: The type of alert. + threshold: + type: integer + example: 300 + description: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. + comparison: + type: string + example: greater_than + description: The comparison operator used against the alert's threshold. + enum: + - greater_than + - less_than + notifications: + type: object + description: The notification settings for a trigger alert. + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. + example: + - bob@example.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + format: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + format: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + period: + type: string + example: 2m + description: Period of time the threshold must be exceeded to trigger the alert. + enum: + - 2m + - 3m + - 5m + - 10m + - 15m + - 30m + - 1h securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1761,11 +2243,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1775,7 +2257,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1785,11 +2267,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1814,11 +2296,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1862,7 +2344,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1871,7 +2353,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1945,6 +2427,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1963,7 +2452,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1973,7 +2462,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1987,7 +2476,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2059,7 +2548,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -2067,11 +2556,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -2090,7 +2579,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2165,12 +2654,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2184,7 +2680,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2253,7 +2749,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2305,133 +2801,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb cpu_type: DEDICATED cpus: '1' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2499,14 +3021,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2683,6 +3204,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2763,9 +3289,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2796,13 +3322,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2909,13 +3440,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3021,7 +3557,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -3035,6 +3571,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3115,9 +3656,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3148,13 +3689,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3261,12 +3807,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3275,12 +3957,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3297,12 +3979,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3317,6 +3999,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3415,12 +4102,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3429,6 +4116,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3527,12 +4219,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3631,15 +4328,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3648,6 +4345,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3728,9 +4430,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3761,10 +4463,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3802,13 +4505,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3845,6 +4549,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3934,9 +4639,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3966,7 +4671,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3998,6 +4703,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4281,12 +4987,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4296,8 +5002,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4333,8 +5039,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4370,6 +5076,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4425,7 +5136,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4433,8 +5144,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4475,6 +5186,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4491,7 +5207,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4502,8 +5218,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4539,8 +5255,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4576,6 +5292,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4587,12 +5308,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4602,8 +5323,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4639,8 +5360,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4675,6 +5396,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4686,12 +5412,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4701,8 +5427,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4738,8 +5464,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4774,6 +5500,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4983,11 +5714,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -5039,7 +5770,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -5053,11 +5784,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -5083,11 +5814,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5113,7 +5844,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5137,7 +5868,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5209,11 +5940,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5325,7 +6056,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5388,7 +6119,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5437,11 +6168,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5513,11 +6244,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5698,8 +6429,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5737,13 +6488,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5780,6 +6532,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5869,9 +6622,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5901,7 +6654,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5933,6 +6686,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5981,7 +6735,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -6011,7 +6765,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6265,14 +7019,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6282,7 +7036,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6292,169 +7046,155 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: checks: id: digitalocean.uptime.checks name: checks title: Checks methods: - list: + uptime_list_checks: operation: $ref: '#/paths/~1v2~1uptime~1checks/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_checks' objectKey: $.checks - _list: - operation: - $ref: '#/paths/~1v2~1uptime~1checks/get' - response: - mediaType: application/json - openAPIDocKey: '200' - check_create: + uptime_create_check: operation: $ref: '#/paths/~1v2~1uptime~1checks/post' response: mediaType: application/json openAPIDocKey: '201' - check_get: - operation: - $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_check' objectKey: $.check - _check_get: + uptime_get_check: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}/get' response: mediaType: application/json openAPIDocKey: '200' - check_update: + schemaRef: '#/components/responses/existing_check' + objectKey: $.check + uptime_update_check: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}/put' response: mediaType: application/json openAPIDocKey: '200' - check_delete: + schemaRef: '#/components/responses/existing_check' + uptime_delete_check: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/checks/methods/list' - - $ref: '#/components/x-stackQL-resources/checks/methods/check_get' + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_get_check' + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_list_checks' insert: - - $ref: '#/components/x-stackQL-resources/checks/methods/check_create' + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_create_check' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/checks/methods/check_delete' - check_state: - id: digitalocean.uptime.check_state - name: check_state - title: Check State + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_delete_check' + checks_states: + id: digitalocean.uptime.checks_states + name: checks_states + title: Checks States methods: - get: + uptime_get_check_state: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1state/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_check_state' objectKey: $.state - _get: - operation: - $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1state/get' - response: - mediaType: application/json - openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/check_state/methods/get' + - $ref: '#/components/x-stackQL-resources/checks_states/methods/uptime_get_check_state' insert: [] update: [] + replace: [] delete: [] - check_alerts: - id: digitalocean.uptime.check_alerts - name: check_alerts - title: Check Alerts + checks_alerts: + id: digitalocean.uptime.checks_alerts + name: checks_alerts + title: Checks Alerts methods: - list: + uptime_list_alerts: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_alerts' objectKey: $.alerts - _list: - operation: - $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts/get' - response: - mediaType: application/json - openAPIDocKey: '200' - alert_create: + uptime_create_alert: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts/post' response: mediaType: application/json openAPIDocKey: '201' - alert_get: - operation: - $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts~1{alert_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_alert' objectKey: $.alert - _alert_get: + uptime_get_alert: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts~1{alert_id}/get' response: mediaType: application/json openAPIDocKey: '200' - alert_update: + schemaRef: '#/components/responses/existing_alert' + objectKey: $.alert + uptime_update_alert: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts~1{alert_id}/put' response: mediaType: application/json openAPIDocKey: '200' - alert_delete: + schemaRef: '#/components/responses/existing_alert' + uptime_delete_alert: operation: $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts~1{alert_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/check_alerts/methods/list' - - $ref: '#/components/x-stackQL-resources/check_alerts/methods/alert_get' + - $ref: '#/components/x-stackQL-resources/checks_alerts/methods/uptime_get_alert' + - $ref: '#/components/x-stackQL-resources/checks_alerts/methods/uptime_list_alerts' insert: - - $ref: '#/components/x-stackQL-resources/check_alerts/methods/alert_create' + - $ref: '#/components/x-stackQL-resources/checks_alerts/methods/uptime_create_alert' update: [] + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/check_alerts/methods/alert_delete' + - $ref: '#/components/x-stackQL-resources/checks_alerts/methods/uptime_delete_alert' paths: /v2/uptime/checks: get: - operationId: uptime_checks_list + operationId: uptime_list_checks summary: List All Checks - description: 'To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`.' + description: To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. tags: - Uptime parameters: @@ -6480,11 +7220,19 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.checks_list() security: - bearer_auth: - - read + - uptime:read post: - operationId: uptime_check_create + operationId: uptime_create_check summary: Create a New Check description: | To create an Uptime check, send a POST request to `/v2/uptime/checks` specifying the attributes @@ -6496,16 +7244,8 @@ paths: content: application/json: schema: - type: object - allOf: - - $ref: '#/components/schemas/check_updatable' - required: - - name - - method - - target - - regions - - type - - enabled + $ref: '#/components/schemas/check_updatable' + properties: {} responses: '201': $ref: '#/components/responses/existing_check' @@ -6525,14 +7265,33 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name":"Landing page check","type":"https","target":"https://www.landingpage.com","regions":["us_east","eu_west"],"enabled":true}' \ "https://api.digitalocean.com/v2/uptime/checks" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "Landing page check", + "type": "https", + "target": "https://www.landingpage.com", + "regions": [ + "us_east", + "eu_west" + ], + "enabled": True + } + + resp = client.uptime.check_create(body=req) security: - bearer_auth: - - write - '/v2/uptime/checks/{check_id}': + - uptime:create + /v2/uptime/checks/{check_id}: get: - operationId: uptime_check_get + operationId: uptime_get_check summary: Retrieve an Existing Check - description: 'To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`.' + description: To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. tags: - Uptime parameters: @@ -6557,11 +7316,19 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.check_get(check_id="fd9dfa") security: - bearer_auth: - - read + - uptime:read put: - operationId: uptime_check_update + operationId: uptime_update_check summary: Update a Check description: | To update the settings of an Uptime check, send a PUT request to `/v2/uptime/checks/$CHECK_ID`. @@ -6574,9 +7341,8 @@ paths: content: application/json: schema: - type: object - allOf: - - $ref: '#/components/schemas/check_updatable' + $ref: '#/components/schemas/check_updatable' + properties: {} responses: '200': $ref: '#/components/responses/existing_check' @@ -6598,17 +7364,34 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name":"Landing page check","type":"https","target":"https://www.newlandingpage.com","regions":["us_east","eu_west"],"enabled":true}' \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "Landing page check", + "type": "https", + "target": "https://www.landingpage.com", + "regions": [ + "us_east", + "eu_west" + ], + "enabled": True + } + + resp = client.uptime.check_update(check_id="fd9fda", body=req) security: - bearer_auth: - - write + - uptime:update delete: - operationId: uptime_check_delete + operationId: uptime_delete_check summary: Delete a Check description: | To delete an Uptime check, send a DELETE request to `/v2/uptime/checks/$CHECK_ID`. A 204 status code with no body will be returned in response to a successful request. - - Deleting a check will also delete alerts associated with the check. tags: - Uptime @@ -6634,14 +7417,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.check_delete(check_id="fd9dfa") security: - bearer_auth: - - write - '/v2/uptime/checks/{check_id}/state': + - uptime:delete + /v2/uptime/checks/{check_id}/state: get: - operationId: uptime_check_state_get + operationId: uptime_get_checkState summary: Retrieve Check State - description: 'To show information about an existing check''s state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`.' + description: To show information about an existing check's state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`. tags: - Uptime parameters: @@ -6666,14 +7457,22 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/state" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.check_state_get(check_id="fd9fda") security: - bearer_auth: - - read - '/v2/uptime/checks/{check_id}/alerts': + - uptime:read + /v2/uptime/checks/{check_id}/alerts: get: - operationId: uptime_check_alerts_list + operationId: uptime_list_alerts summary: List All Alerts - description: 'To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`.' + description: To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. tags: - Uptime parameters: @@ -6700,11 +7499,19 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.check_alerts_list(check_id="4de7ac8b") security: - bearer_auth: - - read + - uptime:read post: - operationId: uptime_alert_create + operationId: uptime_create_alert summary: Create a New Alert description: | To create an Uptime alert, send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes @@ -6726,13 +7533,8 @@ paths: content: application/json: schema: - type: object - allOf: - - $ref: '#/components/schemas/alert' - required: - - name - - type - - notifications + $ref: '#/components/schemas/alert' + properties: {} responses: '201': $ref: '#/components/responses/existing_alert' @@ -6754,14 +7556,41 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name":"Landing page degraded performance","type":"latency","threshold":300,"comparison":"greater_than","notifications":{"email":["bob@example.com"],"slack":[{"channel":"Production Alerts","url":"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"}]},"period":"2m"}' \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "Landing page degraded performance", + "type": "latency", + "threshold": 300, + "comparison": "greater_than", + "notifications": { + "email": [ + "bob@example.com" + ], + "slack": [ + { + "channel": "Production Alerts", + "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ" + } + ] + }, + "period": "2m" + } + + resp = client.uptime.alert_create(check_id="4de7ac8b", body=req) security: - bearer_auth: - - write - '/v2/uptime/checks/{check_id}/alerts/{alert_id}': + - uptime:create + /v2/uptime/checks/{check_id}/alerts/{alert_id}: get: - operationId: uptime_alert_get + operationId: uptime_get_alert summary: Retrieve an Existing Alert - description: 'To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`.' + description: To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. tags: - Uptime parameters: @@ -6787,11 +7616,19 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.alert_get(check_id="4de7ac8b", alert_id="da9da9") security: - bearer_auth: - - read + - uptime:read put: - operationId: uptime_alert_update + operationId: uptime_update_alert summary: Update an Alert description: | To update the settings of an Uptime alert, send a PUT request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. @@ -6805,9 +7642,8 @@ paths: content: application/json: schema: - type: object - allOf: - - $ref: '#/components/schemas/alert_updatable' + $ref: '#/components/schemas/alert_updatable' + properties: {} responses: '200': $ref: '#/components/responses/existing_alert' @@ -6829,11 +7665,38 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ -d '{"name":"Landing page down globally","type":"down_global","notifications":{"email":["bob@example.com"],"slack":[{"channel":"Production Alerts","url":"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"}]},"period":"2m"}' \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "Landing page degraded performance", + "type": "latency", + "threshold": 300, + "comparison": "greater_than", + "notifications": { + "email": [ + "bob@example.com" + ], + "slack": [ + { + "channel": "Production Alerts", + "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ" + } + ] + }, + "period": "2m" + } + + resp = client.uptime.alert_update(check_id="4de7ac8b", alert_id="da9da9", body=req) security: - bearer_auth: - - write + - uptime:update delete: - operationId: uptime_alert_delete + operationId: uptime_delete_alert summary: Delete an Alert description: | To delete an Uptime alert, send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status @@ -6863,6 +7726,14 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.uptime.alert_delete(check_id="4de7ac8b", alert_id="da9da9") security: - bearer_auth: - - write + - uptime:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/vpc_peerings.yaml b/providers/src/digitalocean/v00.00.00000/services/vpc_peerings.yaml new file mode 100644 index 00000000..a85462e3 --- /dev/null +++ b/providers/src/digitalocean/v00.00.00000/services/vpc_peerings.yaml @@ -0,0 +1,6938 @@ +openapi: 3.0.0 +servers: + - url: https://api.digitalocean.com + description: production +info: + version: '2.0' + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + contact: + name: DigitalOcean API Team + email: api-engineering@digitalocean.com + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - vpc_peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. +security: + - bearer_auth: [] +tags: + - name: 1-Click Applications + description: |- + 1-Click applications are pre-built Droplet images or Kubernetes apps with software, + features, and configuration details already set up for you. They can be found in the + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). + - name: Account + description: Provides information about your current account. + - name: Actions + description: |- + Actions are records of events that have occurred on the resources in your account. + These can be things like rebooting a Droplet, or transferring an image to a new region. + An action object is created every time one of these actions is initiated. The action + object contains information about the current status of the action, start and complete + timestamps, and the associated resource type and ID. + Every action that creates an action object is available through this endpoint. Completed + actions are not removed from this list and are always available for querying. + **Note:** You can pass the following HTTP header with the request to have the API return + the `reserved_ips` stanza instead of the `floating_ips` stanza: + - `Accept: application/vnd.digitalocean.reserveip+json` + - name: Apps + description: |- + App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows + developers to publish code directly to DigitalOcean servers without worrying about the + underlying infrastructure. + Most API operations are centered around a few core object types. Following are the + definitions of these types. These definitions will be omitted from the operation-specific + documentation. + For documentation on app specifications (`AppSpec` objects), please refer to the + [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). + - name: Billing + description: |- + The billing endpoints allow you to retrieve your account balance, invoices + and billing history. + **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can + retrieve the balance information for the requested customer account. + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) + are generated on the first of each month for every DigitalOcean + customer. An invoice preview is generated daily, which can be accessed + with the `preview` keyword in place of `$INVOICE_UUID`. To interact with + invoices, you will generally send requests to the invoices endpoint at + `/v2/customers/my/invoices`. + **Billing History:** Billing history is a record of billing events for your account. + For example, entries may include events like payments made, invoices + issued, or credits granted. To interact with invoices, you + will generally send requests to the invoices endpoint at + `/v2/customers/my/billing_history`. + - name: Block Storage + description: |- + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) + provide expanded storage capacity for your Droplets and can be moved + between Droplets within a specific region. + Volumes function as raw block devices, meaning they appear to the + operating system as locally attached storage which can be formatted using + any file system supported by the OS. They may be created in sizes from + 1GiB to 16TiB. + By sending requests to the `/v2/volumes` endpoint, you can list, create, or + delete volumes as well as attach and detach them from Droplets + - name: Block Storage Actions + description: |- + Block storage actions are commands that can be given to a DigitalOcean + Block Storage Volume. An example would be detaching or attaching a volume + from a Droplet. These requests are made on the + `/v2/volumes/$VOLUME_ID/actions` endpoint. + An action object is returned. These objects hold the current status of the + requested action. + - name: CDN Endpoints + description: |- + Content hosted in DigitalOcean's object storage solution, + [Spaces](https://docs.digitalocean.com/products/spaces/), + can optionally be served by our globally distributed Content Delivery + Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, + create, or delete CDN Endpoints as well as purge cached content. To use a + custom subdomain to access the CDN Endpoint, provide the ID of a + DigitalOcean managed TLS certificate and the fully qualified domain name + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. + - name: Certificates + description: |- + In order to perform SSL termination on load balancers, DigitalOcean offers + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): + * **Custom**: User-generated certificates may be uploaded to DigitalOcean + where they will be placed in a fully encrypted and isolated storage system. + * **Let's Encrypt**: Certificates may be automatically generated by + DigitalOcean utilizing an integration with Let's Encrypt, the free and + open certificate authority. These certificates will also be automatically + renewed as required. + - name: Container Registry + description: |- + DigitalOcean offers the ability for you to create a + [private container registry](https://docs.digitalocean.com/products/container-registry/) + to store your Docker images for use with your Kubernetes clusters. This + container registry runs inside the same datacenters as your cluster, + ensuring reliable and performant rollout of image deployments. + You can only create one registry per DigitalOcean account, but you can use + that registry to create as many repositories as you wish. + - name: Databases + description: |- + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) + simplifies the creation and management of highly available database clusters. Currently, it + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). + By sending requests to the `/v2/databases` endpoint, you can list, create, or delete + database clusters as well as scale the size of a cluster, add or remove read-only replicas, + and manage other configuration details. + Database clusters may be deployed in a multi-node, high-availability configuration. + If your machine type is above the basic nodes, your node plan is above the smallest option, + or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. + The size of individual nodes in a database cluster is represented by a human-readable slug, + which is used in some of the following requests. Each slug denotes the node's identifier, + CPU count, and amount of RAM, in that order. + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). + - name: Domain Records + description: |- + Domain record resources are used to set or retrieve information about the + individual DNS records configured for a domain. This allows you to build + and manage DNS zone files by adding and modifying individual records for a + domain. + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) + allows you to configure the following DNS records: + Name | Description | + ------|----------------------------------------------------------------------------------------------------------------------------------------------------| + A | This record type is used to map an IPv4 address to a hostname. | + AAAA | This record type is used to map an IPv6 address to a hostname. | + CAA | As specified in RFC-6844, this record type can be used to restrict which certificate authorities are permitted to issue certificates for a domain. | + CNAME | This record type defines an alias for your canonical hostname (the one defined by an A or AAAA record). | + MX | This record type is used to define the mail exchanges used for the domain. | + NS | This record type defines the name servers that are used for this zone. | + TXT | This record type is used to associate a string of text with a hostname, primarily used for verification. | + SRV | This record type specifies the location (hostname and port number) of servers for specific services. | + SOA | This record type defines administrative information about the zone. Can only have ttl changed, cannot be deleted | + - name: Domains + description: |- + Domain resources are domain names that you have purchased from a domain + name registrar that you are managing through the + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). + This resource establishes top-level control over each domain. Actions that + affect individual domain records should be taken on the + [Domain Records](#tag/Domain-Records) resource. + - name: Droplet Actions + description: |- + Droplet actions are tasks that can be executed on a Droplet. These can be + things like rebooting, resizing, snapshotting, etc. + Droplet action requests are generally targeted at one of the "actions" + endpoints for a specific Droplet. The specific actions are usually + initiated by sending a POST request with the action and arguments as + parameters. + Droplet action requests create a Droplet actions object, which can be used + to get information about the status of an action. Creating a Droplet + action is asynchronous: the HTTP call will return the action object before + the action has finished processing on the Droplet. The current status of + an action can be retrieved from either the Droplet actions endpoint or the + global actions endpoint. If a Droplet action is uncompleted it may block + the creation of a subsequent action for that Droplet, the locked attribute + of the Droplet will be true and attempts to create a Droplet action will + fail with a status of 422. + - name: Droplets + description: |- + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean + virtual machine. By sending requests to the Droplet endpoint, you can + list, create, or delete Droplets. + Some of the attributes will have an object value. The `region` and `image` + objects will all contain the standard attributes of their associated + types. Find more information about each of these objects in their + respective sections. + - name: Firewalls + description: |- + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) + provide the ability to restrict network access to and from a Droplet + allowing you to define which ports will accept inbound or outbound + connections. By sending requests to the `/v2/firewalls` endpoint, you can + list, create, or delete firewalls as well as modify access rules. + - name: Floating IP Actions + description: |- + As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs). + The Reserved IP product's endpoints function the exact same way as Floating IPs. + The only difference is the name change throughout the URLs and fields. + For example, the `floating_ips` field is now the `reserved_ips` field. + The Floating IP endpoints will remain active until fall 2023 before being + permanently deprecated. + With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), + we will reflect this change as an additional field in the responses across the API + where the `floating_ip` field is used. For example, the Droplet metadata response + will contain the field `reserved_ips` in addition to the `floating_ips` field. + Floating IPs retrieved using the Projects API will retain the original name. + Floating IP actions are commands that can be given to a DigitalOcean + floating IP. These requests are made on the actions endpoint of a specific + floating IP. + An action object is returned. These objects hold the current status of the + requested action. + - name: Floating IPs + description: |- + As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs). + The Reserved IP product's endpoints function the exact same way as Floating IPs. + The only difference is the name change throughout the URLs and fields. + For example, the `floating_ips` field is now the `reserved_ips` field. + The Floating IP endpoints will remain active until fall 2023 before being + permanently deprecated. + With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), + we will reflect this change as an additional field in the responses across the API + where the `floating_ip` field is used. For example, the Droplet metadata response + will contain the field `reserved_ips` in addition to the `floating_ips` field. + Floating IPs retrieved using the Projects API will retain the original name. + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) + are publicly-accessible static IP addresses that can be mapped to one of + your Droplets. They can be used to create highly available setups or other + configurations requiring movable addresses. + Floating IPs are bound to a specific region. + - name: Functions + description: |- + [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. + You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). + The Serverless Functions API currently only supports creating and managing namespaces. + - name: Image Actions + description: |- + Image actions are commands that can be given to a DigitalOcean image. In + general, these requests are made on the actions endpoint of a specific + image. + An image action object is returned. These objects hold the current status + of the requested action. + - name: Images + description: |- + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be + used to create a Droplet and may come in a number of flavors. Currently, + there are five types of images: snapshots, backups, applications, + distributions, and custom images. + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide + a full copy of an existing Droplet instance taken on demand. + * [Backups](https://docs.digitalocean.com/products/backups/) are similar + to snapshots but are created automatically at regular intervals when + enabled for a Droplet. + * [Custom images](https://docs.digitalocean.com/products/custom-images/) + are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk + formats are supported) that you may upload for use on DigitalOcean. + * Distributions are the public Linux distributions that are available to + be used as a base to create Droplets. + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), + are distributions pre-configured with additional software. + To interact with images, you will generally send requests to the images + endpoint at /v2/images. + - name: Kubernetes + description: |- + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) + allows you to quickly deploy scalable and secure Kubernetes clusters. By + sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, + create, or delete clusters as well as scale node pools up and down, + recycle individual nodes, and retrieve the kubeconfig file for use with + a cluster. + - name: Load Balancers + description: |- + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) + provide a way to distribute traffic across multiple Droplets. By sending + requests to the `/v2/load_balancers` endpoint, you can list, create, or + delete load balancers as well as add or remove Droplets, forwarding rules, + and other configuration details. + - name: Monitoring + description: |- + The DigitalOcean Monitoring API makes it possible to programmatically retrieve metrics as well as configure alert + policies based on these metrics. The Monitoring API can help you gain insight into how your apps are performing + and consuming resources. + - name: Project Resources + description: |- + Project Resources are resources that can be grouped into your projects. + You can group resources (like Droplets, Spaces, load balancers, domains, + and floating IPs) in ways that align with the applications you host on + DigitalOcean. + ### Supported Resource Types Examples + Projects resources are identified by uniform resource names or URNs. A + valid URN has the following format: `do:resource_type:resource_id`. The + following resource types are supported: + Resource Type | Example URN + -------------------|------------ + App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` + Database | `do:dbaas:83c7a55f-0d84-4760-9245-aba076ec2fb2` + Domain | `do:domain:example.com` + Droplet | `do:droplet:4126873` + Floating IP | `do:floatingip:192.168.99.100` + Kubernetes Cluster | `do:kubernetes:bd5f5959-5e1e-4205-a714-a914373942af` + Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` + Space | `do:space:my-website-assets` + Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` + ### Resource Status Codes + When assigning and retrieving resources in projects, a `status` attribute + is returned that indicates if a resource was successfully retrieved or + assigned. The status codes can be one of the following: + Status Code | Explanation + -------------------|------------ + `ok` | There was no problem retrieving or assigning a resource. + `not_found` | The resource was not found. + `assigned` | The resource was successfully assigned. + `already_assigned` | The resource was already assigned. + `service_down` | There was a problem retrieving or assigning a resource. Please try again. + - name: Projects + description: |- + Projects allow you to organize your resources into groups that fit the way + you work. You can group resources (like Droplets, Spaces, load balancers, + domains, and floating IPs) in ways that align with the applications + you host on DigitalOcean. + - name: Regions + description: Provides information about DigitalOcean data center regions. + - name: Reserved IP Actions + description: |- + As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs) + product to Reserved IPs. The Reserved IP product's endpoints function the exact + same way as Floating IPs. The only difference is the name change throughout the + URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. + The Floating IP endpoints will remain active until fall 2023 before being + permanently deprecated. + With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), + we will reflect this change as an additional field in the responses across the API + where the `floating_ip` field is used. For example, the Droplet metadata response + will contain the field `reserved_ips` in addition to the `floating_ips` field. + Floating IPs retrieved using the Projects API will retain the original name. + Reserved IP actions are commands that can be given to a DigitalOcean + reserved IP. These requests are made on the actions endpoint of a specific + reserved IP. + An action object is returned. These objects hold the current status of the + requested action. + - name: Reserved IPs + description: |- + As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs) + product to Reserved IPs. The Reserved IP product's endpoints function the exact + same way as Floating IPs. The only difference is the name change throughout the + URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. + The Floating IP endpoints will remain active until fall 2023 before being + permanently deprecated. + With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), + we will reflect this change as an additional field in the responses across the API + where the `floating_ip` field is used. For example, the Droplet metadata response + will contain the field `reserved_ips` in addition to the `floating_ips` field. + Floating IPs retrieved using the Projects API will retain the original name. + DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be + mapped to one of your Droplets. They can be used to create highly available + setups or other configurations requiring movable addresses. + Reserved IPs are bound to a specific region. + - name: Sizes + description: |- + The sizes objects represent different packages of hardware resources that + can be used for Droplets. When a Droplet is created, a size must be + selected so that the correct resources can be allocated. + Each size represents a plan that bundles together specific sets of + resources. This includes the amount of RAM, the number of virtual CPUs, + disk space, and transfer. The size object also includes the pricing + details and the regions that the size is available in. + - name: Snapshots + description: |- + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved + instances of a Droplet or a block storage volume, which is reflected in + the `resource_type` attribute. In order to avoid problems with compressing + filesystems, each defines a `min_disk_size` attribute which is the minimum + size of the Droplet or volume disk when creating a new resource from the + saved snapshot. + To interact with snapshots, you will generally send requests to the + snapshots endpoint at `/v2/snapshots`. + - name: SSH Keys + description: Manage SSH keys available on your account. + - name: Tags + description: |- + A tag is a label that can be applied to a resource (currently Droplets, + Images, Volumes, Volume Snapshots, and Database clusters) in order to + better organize or facilitate the lookups and actions on it. + Tags have two attributes: a user defined `name` attribute and an embedded + `resources` attribute with information about resources that have been tagged. + - name: Uptime + description: |- + [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. + To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. + - name: VPCs + description: |- + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) + allow you to create virtual networks containing resources that can + communicate with each other in full isolation using private IP addresses. + By sending requests to the `/v2/vpcs` endpoint, you can create, configure, + list, and delete custom VPCs as well as retrieve information about the + resources assigned to them. +components: + schemas: + vpc_peering_create: + type: object + properties: + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + vpc_peering_updatable: + type: object + properties: + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. + parameters: + oneClicks_type: + in: query + name: type + description: Restrict results to a certain type of 1-Click. + required: false + schema: + type: string + enum: + - droplet + - kubernetes + example: kubernetes + per_page: + in: query + name: per_page + required: false + description: Number of items returned per page + schema: + type: integer + minimum: 1 + default: 20 + maximum: 200 + example: 2 + page: + in: query + name: page + required: false + description: Which 'page' of paginated results to return. + schema: + type: integer + minimum: 1 + default: 1 + example: 1 + ssh_key_identifier: + in: path + name: ssh_key_identifier + required: true + description: Either the ID or the fingerprint of an existing SSH key. + schema: + anyOf: + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa + example: 512189 + action_id: + in: path + name: action_id + description: A unique numeric ID that can be used to identify and reference an action. + required: true + schema: + type: integer + minimum: 1 + example: 36804636 + with_projects: + description: Whether the project_id of listed apps should be fetched and included. + in: query + name: with_projects + schema: + type: boolean + example: true + accept: + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. + in: header + name: Accept + schema: + type: string + enum: + - application/json + - application/yaml + example: application/json + content-type: + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. + in: header + name: Content-Type + schema: + type: string + enum: + - application/json + - application/yaml + example: application/json + id_app: + description: The ID of the app + in: path + name: id + required: true + schema: + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + app_name: + description: The name of the app to retrieve. + in: query + name: name + schema: + type: string + example: myApp + app_id: + description: The app ID + in: path + name: app_id + required: true + schema: + type: string + example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + component: + description: An optional component name. If set, logs will be limited to this component only. + in: path + name: component_name + required: true + schema: + type: string + example: component + live_updates: + description: Whether the logs should follow live updates. + in: query + name: follow + schema: + type: boolean + example: true + log_type: + description: |- + The type of logs to retrieve + - BUILD: Build-time logs + - DEPLOY: Deploy-time logs + - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime + in: query + name: type + required: true + schema: + default: UNSPECIFIED + enum: + - UNSPECIFIED + - BUILD + - DEPLOY + - RUN + - RUN_RESTARTED + type: string + example: BUILD + time_wait: + description: 'An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`.' + in: query + name: pod_connection_timeout + schema: + type: string + example: 3m + deployment_id: + description: The deployment ID + in: path + name: deployment_id + required: true + schema: + type: string + example: 3aa4d20e-5527-4c00-b496-601fbd22520a + slug_size: + description: The slug of the instance size + in: path + name: slug + required: true + schema: + type: string + example: apps-s-1vcpu-0.5gb + alert_id: + description: The alert ID + in: path + name: alert_id + required: true + schema: + type: string + example: 5a624ab5-dd58-4b39-b7dd-8b7c36e8a91d + cdn_endpoint_id: + in: path + name: cdn_id + description: A unique identifier for a CDN endpoint. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name + certificate_id: + in: path + name: certificate_id + description: A unique identifier for a certificate. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + invoice_uuid: + name: invoice_uuid + description: UUID of the invoice + in: path + schema: + type: string + example: 22737513-0ea7-4206-8ceb-98a575af7681 + required: true + tag_name: + in: query + name: tag_name + description: Limits the results to database clusters with a specific tag. + required: false + example: production + schema: + type: string + database_cluster_uuid: + in: path + name: database_cluster_uuid + description: A unique identifier for a database cluster. + required: true + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + schema: + type: string + format: uuid + migration_id: + in: path + name: migration_id + description: A unique identifier assigned to the online migration. + required: true + example: 77b28fc8-19ff-11eb-8c9c-c68e24557488 + schema: + type: string + replica_name: + in: path + name: replica_name + description: The name of the database replica. + required: true + example: read-nyc3-01 + schema: + type: string + username: + in: path + name: username + description: The name of the database user. + required: true + example: app-01 + schema: + type: string + database_name: + in: path + name: database_name + description: The name of the database. + required: true + example: alpha + schema: + type: string + pool_name: + in: path + name: pool_name + description: The name used to identify the connection pool. + required: true + example: backend-pool + schema: + type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string + domain_name: + name: domain_name + description: The name of the domain itself. + in: path + schema: + type: string + example: example.com + required: true + domain_name_query: + name: name + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. + in: query + schema: + type: string + example: sub.example.com + domain_type_query: + name: type + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + in: query + schema: + type: string + enum: + - A + - AAAA + - CAA + - CNAME + - MX + - NS + - SOA + - SRV + - TXT + example: A + domain_record_id: + name: domain_record_id + description: The unique identifier of the domain record. + in: path + schema: + type: integer + example: 3352896 + required: true + droplet_tag_name: + in: query + name: tag_name + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. + required: false + schema: + type: string + example: env:prod + droplet_name: + in: query + name: name + description: Used to filter list response by Droplet name returning only exact matches. It is case-insensitive and can not be combined with `tag_name`. + required: false + schema: + type: string + example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets + droplet_delete_tag_name: + in: query + name: tag_name + description: Specifies Droplets to be deleted by tag. + required: true + schema: + type: string + example: env:test + droplet_id: + in: path + name: droplet_id + description: A unique identifier for a Droplet instance. + required: true + schema: + type: integer + minimum: 1 + example: 3164444 + x_dangerous: + in: header + name: X-Dangerous + description: Acknowledge this action will destroy the Droplet and all associated resources and _can not_ be reversed. + schema: + type: boolean + example: true + required: true + firewall_id: + name: firewall_id + description: A unique ID that can be used to identify and reference a firewall. + in: path + schema: + type: string + format: uuid + example: bb4b2611-3d72-467b-8602-280330ecd65c + required: true + floating_ip: + in: path + name: floating_ip + description: A floating IP address. + required: true + schema: + type: string + format: ipv4 + minimum: 1 + example: 45.55.96.47 + namespace_id: + name: namespace_id + description: The ID of the namespace to be managed. + in: path + schema: + type: string + example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + required: true + trigger_name: + name: trigger_name + description: The name of the trigger to be managed. + in: path + schema: + type: string + example: my trigger + required: true + type: + in: query + name: type + description: Filters results based on image type which can be either `application` or `distribution`. + required: false + schema: + type: string + enum: + - application + - distribution + example: distribution + private: + in: query + name: private + description: Used to filter only user images. + required: false + schema: + type: boolean + example: true + tag: + in: query + name: tag_name + description: Used to filter images by a specific tag. + required: false + schema: + type: string + example: base-image + image_id: + in: path + name: image_id + description: A unique number that can be used to identify and reference a specific image. + required: true + schema: + type: integer + example: 62137902 + kubernetes_cluster_id: + in: path + name: cluster_id + description: A unique ID that can be used to reference a Kubernetes cluster. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: bd5f5959-5e1e-4205-a714-a914373942af + kubernetes_expiry_seconds: + in: query + name: expiry_seconds + required: false + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. + schema: + type: integer + minimum: 0 + default: 0 + example: 300 + kubernetes_node_pool_id: + in: path + name: node_pool_id + description: A unique ID that can be used to reference a Kubernetes node pool. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: cdda885e-7663-40c8-bc74-3a036c66545d + kubernetes_node_id: + in: path + name: node_id + description: A unique ID that can be used to reference a node in a Kubernetes node pool. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + kubernetes_node_skip_drain: + in: query + name: skip_drain + required: false + description: Specifies whether or not to drain workloads from a node before it is deleted. Setting it to `1` causes node draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion. + schema: + type: integer + minimum: 0 + maximum: 1 + default: 0 + example: 1 + kubernetes_node_replace: + in: query + name: replace + required: false + description: Specifies whether or not to replace a node after it has been deleted. Setting it to `1` causes the node to be replaced by a new one after deletion. Omitting the query parameter or setting its value to `0` deletes without replacement. + schema: + type: integer + minimum: 0 + maximum: 1 + default: 0 + example: 1 + clusterlint_run_id: + in: query + name: run_id + description: Specifies the clusterlint run whose results will be retrieved. + required: false + schema: + type: string + format: uuid + example: 50c2f44c-011d-493e-aee5-361a4a0d1844 + load_balancer_id: + in: path + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + minimum: 1 + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + alert_uuid: + in: path + name: alert_uuid + description: A unique identifier for an alert policy. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + parameters_droplet_id: + in: query + name: host_id + description: The droplet ID. + example: '17209102' + required: true + schema: + type: string + network_interface: + in: query + name: interface + description: The network interface. + required: true + example: private + schema: + type: string + enum: + - private + - public + network_direction: + in: query + name: direction + description: The traffic direction. + required: true + example: inbound + schema: + type: string + enum: + - inbound + - outbound + metric_timestamp_start: + in: query + name: start + description: UNIX timestamp to start metric window. + example: '1620683817' + required: true + schema: + type: string + metric_timestamp_end: + in: query + name: end + description: UNIX timestamp to end metric window. + example: '1620705417' + required: true + schema: + type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c + project_id: + in: path + name: project_id + description: A unique identifier for a project. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + registry_expiry_seconds: + in: query + name: expiry_seconds + required: false + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. + schema: + type: integer + minimum: 0 + default: 0 + example: 3600 + registry_read_write: + in: query + name: read_write + required: false + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. + schema: + type: boolean + default: false + example: true + registry_name: + in: path + name: registry_name + description: The name of a container registry. + required: true + schema: + type: string + example: example + token_pagination_page: + in: query + name: page + required: false + description: Which 'page' of paginated results to return. Ignored when 'page_token' is provided. + schema: + type: integer + minimum: 1 + default: 1 + example: 1 + token_pagination_page_token: + in: query + name: page_token + required: false + description: Token to retrieve of the next or previous set of results more quickly than using 'page'. + schema: + type: string + example: eyJUb2tlbiI6IkNnZGpiMjlz + registry_repository_name: + in: path + name: repository_name + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. + required: true + schema: + type: string + example: repo-1 + registry_repository_tag: + in: path + name: repository_tag + description: The name of a container registry repository tag. + required: true + schema: + type: string + example: 06a447a + registry_manifest_digest: + in: path + name: manifest_digest + description: The manifest digest of a container registry repository tag. + required: true + schema: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + garbage_collection_uuid: + in: path + name: garbage_collection_uuid + description: The UUID of a garbage collection run. + required: true + schema: + type: string + example: eff0feee-49c7-4e8f-ba5c-a320c109c8a8 + reserved_ip: + in: path + name: reserved_ip + description: A reserved IP address. + required: true + schema: + type: string + format: ipv4 + minimum: 1 + example: 45.55.96.47 + snapshot_resource_type: + in: query + name: resource_type + description: Used to filter snapshots by a resource type. + required: false + schema: + type: string + enum: + - droplet + - volume + example: droplet + snapshot_id: + in: path + name: snapshot_id + required: true + description: Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. + schema: + anyOf: + - type: integer + description: The ID of a Droplet snapshot. + example: 6372321 + - type: string + description: The ID of a volume snapshot. + example: fbe805e8-866b-11e6-96bf-000f53315a41 + example: 6372321 + tag_id: + in: path + name: tag_id + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + required: true + schema: + type: string + maxLength: 255 + pattern: ^[a-zA-Z0-9_\-\:]+$ + example: awesome + volume_name: + name: name + in: query + description: The block storage volume's name. + schema: + type: string + example: example + region: + name: region + in: query + description: The slug identifier for the region where the resource is available. + schema: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 + volume_id: + name: volume_id + in: path + required: true + description: The ID of the block storage volume. + schema: + type: string + format: uuid + example: 7724db7c-e098-11e5-b522-000f53304e51 + vpc_id: + in: path + name: vpc_id + description: A unique identifier for a VPC. + required: true + schema: + type: string + format: uuid + minimum: 1 + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + vpc_resource_type: + in: query + name: resource_type + description: Used to filter VPC members by a resource type. + required: false + schema: + type: string + example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + check_id: + in: path + name: check_id + description: A unique identifier for a check. + required: true + schema: + type: string + format: uuid + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + parameters_alert_id: + in: path + name: alert_id + description: A unique identifier for an alert. + required: true + schema: + type: string + format: uuid + example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 + responses: + all_vpc_peerings: + description: The response will be a JSON object with a key called `vpc_peerings`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC peering. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + vpc_peerings: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta + unauthorized: + description: Unauthorized + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: unauthorized + message: Unable to authenticate you. + not_found: + description: The resource was not found. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: not_found + message: The resource you requested could not be found. + too_many_requests: + description: API Rate limit exceeded + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: too_many_requests + message: API Rate limit exceeded. + server_error: + description: Server error. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: server_error + message: Unexpected server-side error + unexpected_error: + description: Unexpected error + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message + example: + id: example_error + message: some error message + provisioning_vpc_peering: + description: The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + vpc_peering: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. + example: + vpc_peering: + id: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + name: example-vpc-peering + vpc_ids: + - 997615ce-132d-4bae-9270-9ee21b395e5d + - e51aed59-3bb1-4a6a-8de0-9d1329e9c997 + created_at: '2024-01-09T20:44:32Z' + status: PROVISIONING + active_vpc_peering: + description: The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + vpc_peering: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. + example: + vpc_peering: + id: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + name: example-vpc-peering + vpc_ids: + - 997615ce-132d-4bae-9270-9ee21b395e5d + - e51aed59-3bb1-4a6a-8de0-9d1329e9c997 + created_at: '2024-01-09T20:44:32Z' + status: ACTIVE + deleting_vpc_peering: + description: The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + vpc_peering: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. + example: + vpc_peering: + id: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + name: example-vpc-peering + vpc_ids: + - 997615ce-132d-4bae-9270-9ee21b395e5d + - e51aed59-3bb1-4a6a-8de0-9d1329e9c997 + created_at: '2024-01-09T20:44:32Z' + status: DELETING + securitySchemes: + bearer_auth: + type: http + scheme: bearer + description: | + ## OAuth Authentication + In order to interact with the DigitalOcean API, you or your application must + authenticate. + The DigitalOcean API handles this through OAuth, an open standard for + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. + You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) + section of the DigitalOcean control panel for your account. + An OAuth token functions as a complete authentication request. In effect, it + acts as a substitute for a username and password pair. + Because of this, it is absolutely **essential** that you keep your OAuth + tokens secure. In fact, upon generation, the web interface will only display + each token a single time in order to prevent the token from being compromised. + DigitalOcean access tokens begin with an identifiable prefix in order to + distinguish them from other similar tokens. + - `dop_v1_` for personal access tokens generated in the control panel + - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) + - `dor_v1_` for OAuth refresh tokens + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. + ### How to Authenticate with OAuth + In order to make an authenticated request, include a bearer-type + `Authorization` header containing your OAuth token. All requests must be + made over HTTPS. + ### Authenticate with a Bearer Authorization Header + ``` + curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" + ``` + examples: + apps: + value: + apps: + - id: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + owner_uuid: ff36cbc6fd350fe12577f5123133bb5ba01a2419 + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + default_ingress: https://sample-php-iaj87.ondigitalocean.app + created_at: '2020-11-19T20:27:18Z' + updated_at: '2020-12-01T00:42:16Z' + active_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + services: + - name: sample-php + source_commit_hash: 54d4a727f457231062439895000d45437c7bb405 + phase_last_updated_at: '2020-12-01T00:42:12Z' + created_at: '2020-12-01T00:40:05Z' + updated_at: '2020-12-01T00:42:12Z' + cause: app spec updated + pending_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + services: + - name: sample-php + source_commit_hash: 54d4a727f457231062439895000d45437c7bb405 + phase_last_updated_at: '2020-12-01T00:42:12Z' + created_at: '2020-12-01T00:40:05Z' + updated_at: '2020-12-01T00:42:12Z' + progress: + success_steps: 6 + total_steps: 6 + steps: + - name: build + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2020-12-01T00:40:11.979305214Z' + ended_at: '2020-12-01T00:40:12.470972033Z' + - name: components + status: SUCCESS + steps: + - name: sample-php + status: SUCCESS + started_at: '0001-01-01T00:00:00Z' + ended_at: '0001-01-01T00:00:00Z' + component_name: sample-php + message_base: Building service + started_at: '2020-12-01T00:40:12.470996857Z' + ended_at: '2020-12-01T00:41:26.180360487Z' + started_at: '2020-12-01T00:40:11.979257919Z' + ended_at: '2020-12-01T00:41:26.653989756Z' + phase: ACTIVE + tier_slug: basic + last_deployment_created_at: '2020-12-01T00:40:05Z' + live_url: https://sample-php.example.com + region: + slug: fra + label: Frankfurt + flag: germany + continent: Europe + data_centers: + - fra1 + tier_slug: basic + live_url_base: https://sample-php.example.com + live_domain: sample-php.example.com + domains: + - id: 0831f444-a1a7-11ed-828c-ef59494480b5 + phase: ACTIVE + spec: + domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + rotate_validation_records: false + certificate_expires_at: '2024-01-29T23:59:59Z' + progress: + steps: + - ended_at: '0001-01-01T00:00:00Z' + name: default-ingress-ready + started_at: '2023-01-30T22:15:45.021896292Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-zone + started_at: '2023-01-30T22:15:45.022017004Z' + status: SUCCESS + - ended_at: '2023-01-30T15:42:28.50752065Z' + name: ensure-ns-records + started_at: '2023-01-30T22:15:45.025567874Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-nameservers + started_at: '2023-01-30T22:15:45.033591906Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-record + started_at: '2023-01-30T22:15:45.156750604Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258626422Z' + name: ensure-alias-record + started_at: '2023-01-30T22:15:45.165933869Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258808279Z' + name: ensure-wildcard-record + started_at: '2023-01-30T22:15:45.166093422Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-cname + started_at: '2023-01-30T22:15:45.166205559Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.475903785Z' + name: ensure-ssl-txt-record-saved + started_at: '2023-01-30T22:15:45.295237186Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476017236Z' + name: ensure-ssl-txt-record + started_at: '2023-01-30T22:15:45.295315291Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476094058Z' + name: ensure-renewal-email + started_at: '2023-01-30T22:15:45.295374087Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-CA-authorization + started_at: '2023-01-30T22:15:45.295428101Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-certificate + started_at: '2023-01-30T22:15:45.978756406Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:52.570612857Z' + name: create-deployment + started_at: '0001-01-01T00:00:00Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:31.333582377Z' + name: configuration-alert + started_at: '2023-01-30T22:15:46.278987808Z' + status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED + links: + pages: {} + meta: + total: 1 + app: + value: + app: + id: c2a93513-8d9b-4223-9d61-5e7272c81cf5 + owner_uuid: a4e16f25-cdd1-4483-b246-d77f283c9209 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app + created_at: '2021-02-10T16:45:14Z' + updated_at: '2021-02-10T17:06:56Z' + active_deployment: + id: 991dfa59-6a23-459f-86d6-67dfa2c6f1e3 + spec: + name: sample-golang + services: + - name: web + github: + repo: ChiefMateStarbuck/sample-golang + branch: main + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + domains: + - domain: sample-golang.example.com + zone: example.com + minimum_tls_version: '1.3' + services: + - name: web + source_commit_hash: db6936cb46047c576962962eed81ad52c21f35d7 + phase_last_updated_at: '2021-02-10T17:06:53Z' + created_at: '2021-02-10T17:05:30Z' + updated_at: '2021-02-10T17:06:53Z' + cause: manual + progress: + success_steps: 6 + total_steps: 6 + steps: + - name: build + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:05:35.572347485Z' + ended_at: '2021-02-10T17:05:36.093995229Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + component_name: web + message_base: Building service + started_at: '2021-02-10T17:05:36.094015928Z' + ended_at: '2021-02-10T17:06:19.461737040Z' + started_at: '2021-02-10T17:05:35.572287990Z' + ended_at: '2021-02-10T17:06:19.807834070Z' + - name: deploy + status: SUCCESS + steps: + - name: initialize + status: SUCCESS + started_at: '2021-02-10T17:06:25.143957508Z' + ended_at: '2021-02-10T17:06:26.120343872Z' + - name: components + status: SUCCESS + steps: + - name: web + status: SUCCESS + steps: + - name: deploy + status: SUCCESS + component_name: web + message_base: Deploying service + - name: wait + status: SUCCESS + component_name: web + message_base: Waiting for service + component_name: web + started_at: '2021-02-10T17:06:26.120385561Z' + ended_at: '2021-02-10T17:06:50.029695913Z' + - name: finalize + status: SUCCESS + started_at: '2021-02-10T17:06:50.348459495Z' + ended_at: '2021-02-10T17:06:53.404065961Z' + started_at: '2021-02-10T17:06:25.143932418Z' + ended_at: '2021-02-10T17:06:53.404104185Z' + phase: ACTIVE + tier_slug: basic + last_deployment_created_at: '2021-02-10T17:05:30Z' + live_url: https://sample-golang-zyhgn.ondigitalocean.app + pending_deployment: + id: 3aa4d20e-5527-4c00-b496-601fbd22520a + spec: + name: sample-php + services: + - name: sample-php + git: + repo_clone_url: https://github.com/digitalocean/sample-php.git + branch: main + run_command: heroku-php-apache2 + environment_slug: php + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: fra + domains: + - domain: sample-php.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + region: + slug: ams + label: Amsterdam + flag: netherlands + continent: Europe + data_centers: + - ams3 + tier_slug: basic + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app + live_domain: sample-golang-zyhgn.ondigitalocean.app + project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f + domains: + - id: e206c64e-a1a3-11ed-9e6e-9b7b6dc9a52b + phase: CONFIGURING + spec: + domain: sample-golang.example.com + type: PRIMARY + zone: example.com + minimum_tls_version: '1.3' + rotate_validation_records: false + certificate_expires_at: '2024-01-29T23:59:59Z' + progress: + steps: + - ended_at: '0001-01-01T00:00:00Z' + name: default-ingress-ready + started_at: '2023-01-30T22:15:45.021896292Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-zone + started_at: '2023-01-30T22:15:45.022017004Z' + status: SUCCESS + - ended_at: '2023-01-30T15:42:28.50752065Z' + name: ensure-ns-records + started_at: '2023-01-30T22:15:45.025567874Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-nameservers + started_at: '2023-01-30T22:15:45.033591906Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-record + started_at: '2023-01-30T22:15:45.156750604Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258626422Z' + name: ensure-alias-record + started_at: '2023-01-30T22:15:45.165933869Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.258808279Z' + name: ensure-wildcard-record + started_at: '2023-01-30T22:15:45.166093422Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: verify-cname + started_at: '2023-01-30T22:15:45.166205559Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.475903785Z' + name: ensure-ssl-txt-record-saved + started_at: '2023-01-30T22:15:45.295237186Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476017236Z' + name: ensure-ssl-txt-record + started_at: '2023-01-30T22:15:45.295315291Z' + status: SUCCESS + - ended_at: '2023-01-30T15:43:30.476094058Z' + name: ensure-renewal-email + started_at: '2023-01-30T22:15:45.295374087Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-CA-authorization + started_at: '2023-01-30T22:15:45.295428101Z' + status: SUCCESS + - ended_at: '0001-01-01T00:00:00Z' + name: ensure-certificate + started_at: '2023-01-30T22:15:45.978756406Z' + status: RUNNING + - ended_at: '0001-01-01T00:00:00' + name: create-deployment + started_at: '0001-01-01T00:00:00Z' + status: PENDING + - ended_at: '0001-01-01T00:00:00' + name: configuration-alert + started_at: '0001-01-01T00:00:00' + status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED + logs: + value: + live_url: https://logs-example/build.log + url: https://logs/build.log + historic_logs: + - https://logs-example/archive/build.log + deployments: + value: + deployments: + - id: b6bdf840-2854-4f87-a36c-5f231c617c84 + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 2 + routes: + - path: / + region: ams + services: + - name: web + source_commit_hash: 9a4df0b8e161e323bc3cdf1dc71878080fe144fa + phase_last_updated_at: '0001-01-01T00:00:00Z' + created_at: '2020-07-28T18:00:00Z' + updated_at: '2020-07-28T18:00:00Z' + cause: commit 9a4df0b pushed to github/digitalocean/sample-golang + progress: + pending_steps: 6 + total_steps: 6 + steps: + - name: build + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + component_name: web + message_base: Building service + - name: deploy + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + steps: + - name: deploy + status: PENDING + component_name: web + message_base: Deploying service + - name: wait + status: PENDING + component_name: web + message_base: Waiting for service + component_name: web + - name: finalize + status: PENDING + phase: PENDING_BUILD + tier_slug: basic + links: + pages: {} + meta: + total: 1 + deployment: + value: + deployment: + id: b6bdf840-2854-4f87-a36c-5f231c617c84 + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 2 + routes: + - path: / + region: ams + services: + - name: web + source_commit_hash: 9a4df0b8e161e323bc3cdf1dc71878080fe144fa + phase_last_updated_at: '0001-01-01T00:00:00Z' + created_at: '2020-07-28T18:00:00Z' + updated_at: '2020-07-28T18:00:00Z' + cause: commit 9a4df0b pushed to github/digitalocean/sample-golang + progress: + pending_steps: 6 + total_steps: 6 + steps: + - name: build + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + component_name: web + message_base: Building service + - name: deploy + status: PENDING + steps: + - name: initialize + status: PENDING + - name: components + status: PENDING + steps: + - name: web + status: PENDING + steps: + - name: deploy + status: PENDING + component_name: web + message_base: Deploying service + - name: wait + status: PENDING + component_name: web + message_base: Waiting for service + component_name: web + - name: finalize + status: PENDING + phase: PENDING_BUILD + tier_slug: basic + instance_sizes: + value: + instance_sizes: + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '5.00' + usd_per_second: '0.000002066799' + tier_slug: basic + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed + cpu_type: SHARED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '10.00' + usd_per_second: '0.000004133598' + tier_slug: basic + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '12.00' + usd_per_second: '0.000004960317' + tier_slug: professional + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '25.00' + usd_per_second: '0.000010333995' + tier_slug: professional + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb + cpu_type: SHARED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '50.00' + usd_per_second: '0.000020667989' + tier_slug: professional + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '4294967296' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '4294967296' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb + cpu_type: DEDICATED + cpus: '2' + memory_bytes: '8589934592' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '17179869184' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '900' + instance_size: + value: + instance_size: + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb + cpu_type: SHARED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '5.00' + usd_per_second: '0.000002066799' + tier_slug: basic + single_instance_only: true + bandwidth_allowance_gib: '50' + regions: + value: + regions: + - slug: ams + label: Amsterdam + flag: netherlands + continent: Europe + data_centers: + - ams3 + - slug: nyc + label: New York + flag: usa + continent: North America + data_centers: + - nyc1 + - nyc3 + default: true + - slug: fra + label: Frankfurt + flag: germany + continent: Europe + data_centers: + - fra1 + - slug: sfo + label: San Francisco + flag: usa + continent: North America + data_centers: + - sfo3 + - slug: sgp + label: Singapore + flag: singapore + continent: Asia + data_centers: + - sgp1 + - slug: blr + label: Bangalore + flag: india + continent: Asia + data_centers: + - blr1 + - slug: tor + label: Toronto + flag: canada + continent: North America + data_centers: + - tor1 + - slug: lon + label: London + flag: uk + continent: Europe + data_centers: + - lon1 + propose: + value: + app_name_available: true + existing_static_apps: '2' + max_free_static_apps: '3' + spec: + name: sample-golang + services: + - name: web + github: + repo: digitalocean/sample-golang + branch: branch + run_command: bin/sample-golang + environment_slug: go + instance_size_slug: apps-s-1vcpu-0.5gb + instance_count: 1 + http_port: 8080 + routes: + - path: / + region: ams + app_cost: 5 + alerts: + value: + alerts: + - id: e552e1f9-c1b0-4e6d-8777-ad6f27767306 + spec: + rule: DEPLOYMENT_FAILED + emails: + - sammy@digitalocean.com + phase: ACTIVE + progress: + steps: + - name: alert-configure-insight-alert + status: SUCCESS + started_at: '2020-07-28T18:00:00Z' + ended_at: '2020-07-28T18:00:00Z' + - id: b58cc9d4-0702-4ffd-ab45-4c2a8d979527 + spec: + rule: CPU_UTILIZATION + operator: GREATER_THAN + value: 85 + window: FIVE_MINUTES + emails: + - sammy@digitalocean.com + phase: ACTIVE + progress: + steps: + - name: alert-configure-insight-alert + status: SUCCESS + started_at: '2020-07-28T18:00:00Z' + ended_at: '2020-07-28T18:00:00Z' + alert: + value: + alert: + id: e552e1f9-c1b0-4e6d-8777-ad6f27767306 + spec: + rule: DEPLOYMENT_FAILED + emails: + - sammy@digitalocean.com + phase: ACTIVE + progress: + steps: + - name: alert-configure-insight-alert + status: SUCCESS + started_at: '2020-07-28T18:00:00Z' + ended_at: '2020-07-28T18:00:00Z' + app_bandwidth_usage: + value: + app_bandwidth_usage: + - app_id: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + bandwidth_bytes: '513668' + date: '2023-01-17T00:00:00Z' + app_bandwidth_usage_multiple: + value: + app_bandwidth_usage: + - app_id: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + bandwidth_bytes: '513668' + - app_id: c2a93513-8d9b-4223-9d61-5e7272c81cf5 + bandwidth_bytes: '254847' + date: '2023-01-17T00:00:00Z' + certificates_all: + value: + certificates: + - id: 892071a0-bb95-49bc-8021-3afd67a210bf + name: web-cert-01 + not_after: '2017-02-22T00:23:00Z' + sha1_fingerprint: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + created_at: '2017-02-08T16:02:37Z' + dns_names: + - '' + state: verified + type: custom + - id: ba9b9c18-6c59-46c2-99df-70da170a42ba + name: web-cert-02 + not_after: '2018-06-07T17:44:12Z' + sha1_fingerprint: 479c82b5c63cb6d3e6fac4624d58a33b267e166c + created_at: '2018-03-09T18:44:11Z' + dns_names: + - www.example.com + - example.com + state: verified + type: lets_encrypt + links: {} + meta: + total: 2 + certificates_custom: + value: + certificate: + id: 892071a0-bb95-49bc-8021-3afd67a210bf + name: web-cert-01 + not_after: '2017-02-22T00:23:00Z' + sha1_fingerprint: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + created_at: '2017-02-08T16:02:37Z' + dns_names: + - '' + state: verified + type: custom + certificates_lets_encrypt_pending: + value: + certificate: + id: ba9b9c18-6c59-46c2-99df-70da170a42ba + name: web-cert-02 + not_after: '2018-06-07T17:44:12Z' + sha1_fingerprint: 479c82b5c63cb6d3e6fac4624d58a33b267e166c + created_at: '2018-03-09T18:44:11Z' + dns_names: + - www.example.com + - example.com + state: pending + type: lets_encrypt + certificates_lets_encrypt: + value: + certificate: + id: ba9b9c18-6c59-46c2-99df-70da170a42ba + name: web-cert-02 + not_after: '2018-06-07T17:44:12Z' + sha1_fingerprint: 479c82b5c63cb6d3e6fac4624d58a33b267e166c + created_at: '2018-03-09T18:44:11Z' + dns_names: + - www.example.com + - example.com + state: verified + type: lets_encrypt + domain_records_all: + value: + domain_records: + - id: 28448429 + type: NS + name: '@' + data: ns1.digitalocean.com + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + - id: 28448430 + type: NS + name: '@' + data: ns2.digitalocean.com + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + - id: 28448431 + type: NS + name: '@' + data: ns3.digitalocean.com + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + - id: 28448432 + type: A + name: '@' + data: 1.2.3.4 + priority: null + port: null + ttl: 1800 + weight: null + flags: null + tag: null + links: {} + meta: + total: 4 + droplets_all: + value: + droplets: + - id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + - id: 3164459 + name: assets.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:42:27Z' + features: + - private_networking + backup_ids: [] + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.138 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 162.243.0.4 + netmask: 255.255.255.0 + gateway: 162.243.0.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - storage + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + - id: 3164412 + name: stage.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:32:55Z' + features: + - private_networking + backup_ids: [] + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: + - 7724db7c-e098-11e5-b522-000f53304e51 + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.125 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.247.248 + netmask: 255.255.255.0 + gateway: 192.241.247.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - env:stage + vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + links: + pages: {} + meta: + total: 3 + droplets_tagged: + value: + droplets: + - id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + - id: 3164459 + name: assets.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:42:27Z' + features: + - private_networking + backup_ids: [] + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.138 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 162.243.0.4 + netmask: 255.255.255.0 + gateway: 162.243.0.1 + type: public + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - storage + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + links: + pages: {} + meta: + total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 + droplet_create_request: + value: + name: example.com + region: nyc3 + size: s-1vcpu-1gb + image: ubuntu-20-04-x64 + ssh_keys: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + backups: true + ipv6: true + monitoring: true + tags: + - env:prod + - web + user_data: | + #cloud-config + runcmd: + - touch /test.txt + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + droplet_multi_create_request: + value: + names: + - sub-01.example.com + - sub-02.example.com + region: nyc3 + size: s-1vcpu-1gb + image: ubuntu-20-04-x64 + ssh_keys: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + backups: true + ipv6: true + monitoring: true + tags: + - env:prod + - web + user_data: | + #cloud-config + runcmd: + - touch /test.txt + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + droplet_create_response: + value: + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: [] + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + links: + actions: + - id: 7515 + rel: create + href: https://api.digitalocean.com/v2/actions/7515 + droplet_multi_create_response: + value: + droplets: + - id: 3164444 + name: sub-01.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: [] + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + - id: 3164445 + name: sub-02.example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: new + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + - monitoring + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: [] + v6: [] + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + links: + actions: + - id: 7515 + rel: create + href: https://api.digitalocean.com/v2/actions/7515 + - id: 7516 + rel: create + href: https://api.digitalocean.com/v2/actions/7516 + droplet_single: + value: + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + floating_ip_assigning: + summary: Assigning to Droplet + description: Assigning to Droplet + value: + floating_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: true + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: + droplets: + - id: 213939433 + rel: droplet + href: https://api.digitalocean.com/v2/droplets/213939433 + actions: + - id: 1088924622 + rel: assign_ip + href: https://api.digitalocean.com/v2/actions/1088924622 + floating_ip_reserving: + summary: Reserving to Region + description: Reserving to Region + value: + floating_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: {} + floating_ip_assigned: + summary: Assigned to Droplet + description: Assigned to Droplet + value: + floating_ip: + ip: 45.55.96.47 + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + type: base + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + floating_ip_reserved: + summary: Reserved to Region + description: Reserved to Region + value: + floating_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + images_all: + value: + images: + - id: 7555620 + name: Nifty New Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: Another Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - nyc2 + - nyc3 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: A custom image + distribution: Arch Linux + slug: null + public: false + regions: + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: custom + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: An APP image + distribution: Fedora + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: A simple tagged image + distribution: CentOS + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: + - simple-image + status: available + error_message: '' + links: + pages: {} + meta: + total: 6 + images_snapshots: + value: + images: + - id: 7555620 + name: Nifty New Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + - id: 7555621 + name: Another Snapshot + distribution: Ubuntu + slug: null + public: false + regions: + - nyc2 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 2 + images_distribution: + description: | + **Important:** + The `type` query parameter is not directly related to the `type` attribute. + The main thing to remember here is that DigitalOcean-produced distribution images will have `snapshot` as the type attribute. + value: + images: + - id: 63663980 + name: 20.04 (LTS) x64 + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - nyc2 + - nyc3 + created_at: '2020-05-15T05:47:50Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 + images_custom: + value: + images: + - id: 7555621 + name: A custom image + distribution: Arch Linux + slug: null + public: false + regions: + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: custom + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 + images_application: + description: | + **Important:** + The `type` query parameter is not directly related to the `type` attribute. + value: + images: + - id: 7555621 + name: An APP image + distribution: Fedora + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: [] + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 + images_tagged: + value: + images: + - id: 7555621 + name: A simple tagged image + distribution: CentOS + slug: null + public: false + regions: + - nyc2 + - nyc3 + created_at: '2014-11-04T22:23:02Z' + type: snapshot + min_disk_size: 20 + size_gigabytes: 2.34 + description: '' + tags: + - simple-image + status: available + error_message: '' + links: + pages: {} + meta: + total: 1 + kubernetes_clusters_all: + value: + kubernetes_clusters: + - id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: 68.183.121.157 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: adoring-newton-3niq + status: + state: provisioning + droplet_id: '205545370' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: adoring-newton-3nim + status: + state: provisioning + droplet_id: '205545371' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: adoring-newton-3ni7 + status: + state: provisioning + droplet_id: '205545372' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: affectionate-nightingale-3nif + status: + state: provisioning + droplet_id: '205545373' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: affectionate-nightingale-3niy + status: + state: provisioning + droplet_id: '205545374' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: provisioning + message: provisioning + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 + meta: + total: 1 + kubernetes_clusters_basic_request: + value: + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + node_pools: + - size: s-1vcpu-2gb + count: 3 + name: worker-pool + kubernetes_clusters_multi_pool_request: + description: | + This example request creates a Kubernetes cluster with two node pools. It + also demonstrates setting tags, labels, auto scaling, and a maintenance + policy. + value: + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + tags: + - production + - web-team + node_pools: + - size: s-1vcpu-2gb + count: 3 + name: frontend-pool + tags: + - frontend + - size: g-4vcpu-16gb + count: 2 + name: backend-pool + labels: + service: backend + priority: high + auto_scale: true + min_nodes: 2 + max_nodes: 5 + maintenance_policy: + start_time: '12:00' + day: any + kubernetes_clusters_create_basic_response: + value: + kubernetes_cluster: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: '' + endpoint: '' + tags: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: worker-pool + size: s-1vcpu-2gb + count: 3 + tags: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: provisioning + message: provisioning + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 + kubernetes_clusters_multi_pool_response: + value: + kubernetes_clusters: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: '' + endpoint: '' + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - frontend + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: '' + status: + state: provisioning + droplet_id: '' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '12:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: provisioning + message: provisioning + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 + kubernetes_single: + value: + kubernetes_cluster: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: 68.183.121.157 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: adoring-newton-3niq + status: + state: running + droplet_id: '205545370' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: adoring-newton-3nim + status: + state: running + droplet_id: '205545371' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: adoring-newton-3ni7 + status: + state: running + droplet_id: '205545372' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: affectionate-nightingale-3nif + status: + state: running + droplet_id: '205545373' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: affectionate-nightingale-3niy + status: + state: running + droplet_id: '205545374' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: false + status: + state: running + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: false + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 + kubernetes_updated: + value: + kubernetes_cluster: + id: bd5f5959-5e1e-4205-a714-a914373942af + name: prod-cluster-01 + region: nyc1 + version: 1.18.6-do.0 + cluster_subnet: 10.244.0.0/16 + service_subnet: 10.245.0.0/16 + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + ipv4: 68.183.121.157 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + node_pools: + - id: cdda885e-7663-40c8-bc74-3a036c66545d + name: frontend-pool + size: s-1vcpu-2gb + count: 3 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: null + taints: [] + auto_scale: false + min_nodes: 0 + max_nodes: 0 + nodes: + - id: 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + name: adoring-newton-3niq + status: + state: running + droplet_id: '205545370' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: ad12e744-c2a9-473d-8aa9-be5680500eb1 + name: adoring-newton-3nim + status: + state: running + droplet_id: '205545371' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: e46e8d07-f58f-4ff1-9737-97246364400e + name: adoring-newton-3ni7 + status: + state: running + droplet_id: '205545372' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: f49f4379-7e7f-4af5-aeb6-0354bd840778 + name: backend-pool + size: g-4vcpu-16gb + count: 2 + tags: + - production + - web-team + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker + labels: + service: backend + priority: high + taints: [] + auto_scale: true + min_nodes: 2 + max_nodes: 5 + nodes: + - id: 3385619f-8ec3-42ba-bb23-8d21b8ba7518 + name: affectionate-nightingale-3nif + status: + state: running + droplet_id: '205545373' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + - id: 4b8f60ff-ba06-4523-a6a4-b8148244c7e6 + name: affectionate-nightingale-3niy + status: + state: running + droplet_id: '205545374' + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + maintenance_policy: + start_time: '00:00' + duration: 4h0m0s + day: any + auto_upgrade: true + status: + state: running + created_at: '2018-11-15T16:00:11Z' + updated_at: '2018-11-15T16:00:11Z' + surge_upgrade: true + registry_enabled: false + ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 + kubernetes_options: + value: + options: + regions: + - name: New York 1 + slug: nyc1 + - name: Singapore 1 + slug: sgp1 + - name: London 1 + slug: lon1 + - name: New York 3 + slug: nyc3 + - name: Amsterdam 3 + slug: ams3 + - name: Frankfurt 1 + slug: fra1 + - name: Toronto 1 + slug: tor1 + - name: San Francisco 2 + slug: sfo2 + - name: Bangalore 1 + slug: blr1 + - name: San Francisco 3 + slug: sfo3 + versions: + - slug: 1.18.8-do.0 + kubernetes_version: 1.18.8 + supported_features: + - cluster-autoscaler + - docr-integration + - token-authentication + - slug: 1.17.11-do.0 + kubernetes_version: 1.17.11 + supported_features: + - cluster-autoscaler + - docr-integration + - token-authentication + - slug: 1.16.14-do.0 + kubernetes_version: 1.16.14 + supported_features: + - cluster-autoscaler + - docr-integration + - token-authentication + sizes: + - name: s-1vcpu-2gb + slug: s-1vcpu-2gb + - name: s-2vcpu-2gb + slug: s-2vcpu-2gb + - name: s-1vcpu-3gb + slug: s-1vcpu-3gb + - name: s-2vcpu-4gb + slug: s-2vcpu-4gb + - name: s-4vcpu-8gb + slug: s-4vcpu-8gb + - name: c-2-4GiB + slug: c-2 + - name: g-2vcpu-8gb + slug: g-2vcpu-8gb + - name: gd-2vcpu-8gb + slug: gd-2vcpu-8gb + - name: s-8vcpu-16gb + slug: s-8vcpu-16gb + - name: s-6vcpu-16gb + slug: s-6vcpu-16gb + - name: c-4-8GiB + slug: c-4 + - name: m-2vcpu-16gb + slug: m-2vcpu-16gb + - name: m3-2vcpu-16gb + slug: m3-2vcpu-16gb + - name: g-4vcpu-16gb + slug: g-4vcpu-16gb + - name: gd-4vcpu-16gb + slug: gd-4vcpu-16gb + - name: m6-2vcpu-16gb + slug: m6-2vcpu-16gb + - name: s-8vcpu-32gb + slug: s-8vcpu-32gb + - name: c-8-16GiB + slug: c-8 + - name: m-4vcpu-32gb + slug: m-4vcpu-32gb + - name: m3-4vcpu-32gb + slug: m3-4vcpu-32gb + - name: g-8vcpu-32gb + slug: g-8vcpu-32gb + - name: s-12vcpu-48gb + slug: s-12vcpu-48gb + - name: gd-8vcpu-32gb + slug: gd-8vcpu-32gb + - name: m6-4vcpu-32gb + slug: m6-4vcpu-32gb + - name: s-16vcpu-64gb + slug: s-16vcpu-64gb + - name: c-16 + slug: c-16 + - name: m-8vcpu-64gb + slug: m-8vcpu-64gb + - name: m3-8vcpu-64gb + slug: m3-8vcpu-64gb + - name: g-16vcpu-64gb + slug: g-16vcpu-64gb + - name: s-20vcpu-96gb + slug: s-20vcpu-96gb + - name: gd-16vcpu-64gb + slug: gd-16vcpu-64gb + - name: m6-8vcpu-64gb + slug: m6-8vcpu-64gb + - name: s-24vcpu-128gb + slug: s-24vcpu-128gb + - name: c-32-64GiB + slug: c-32 + - name: m-16vcpu-128gb + slug: m-16vcpu-128gb + - name: m3-16vcpu-128gb + slug: m3-16vcpu-128gb + - name: g-32vcpu-128gb + slug: g-32vcpu-128gb + - name: s-32vcpu-192gb + slug: s-32vcpu-192gb + - name: gd-32vcpu-128gb + slug: gd-32vcpu-128gb + - name: m-24vcpu-192gb + slug: m-24vcpu-192gb + - name: m6-16vcpu-128gb + slug: m6-16vcpu-128gb + - name: g-40vcpu-160gb + slug: g-40vcpu-160gb + - name: gd-40vcpu-160gb + slug: gd-40vcpu-160gb + - name: m3-24vcpu-192gb + slug: m3-24vcpu-192gb + - name: m-32vcpu-256gb + slug: m-32vcpu-256gb + - name: m6-24vcpu-192gb + slug: m6-24vcpu-192gb + - name: m3-32vcpu-256gb + slug: m3-32vcpu-256gb + - name: m6-32vcpu-256gb + slug: m6-32vcpu-256gb + load_balancers_all: + value: + load_balancers: + - id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece + name: prod-web-lb-01 + ip: 45.55.125.24 + size: lb-small + algorithm: round_robin + status: active + created_at: '2020-09-08T18:58:04Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + tls_passthrough: false + health_check: + protocol: https + port: 443 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: cookies + cookie_name: DO-LB + cookie_ttl_seconds: 300 + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: prod:web + droplet_ids: + - 55806512 + - 55806515 + - 55806524 + redirect_http_to_https: true + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: 587d698c-de84-11e8-80bc-3cfdfea9fcd1 + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + links: {} + meta: + total: 2 + load_balancer_basic_create_request: + description: Passing requests directly through to 80 and 443. + value: + name: example-lb-01 + region: nyc3 + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + tls_passthrough: true + droplet_ids: + - 3164444 + - 3164445 + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + load_balancer_ssl_termination_create_request: + description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. + value: + name: example-lb-01 + region: nyc3 + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + droplet_ids: + - 3164444 + - 3164445 + load_balancer_using_tag_create_request: + description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. + value: + name: example-lb-01 + region: nyc3 + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + tag: prod:web + load_balancer_sticky_sessions_and_health_check_create_request: + description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. + value: + name: example-lb-01 + region: nyc3 + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 8080 + path: /health + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: cookies + cookie_name: LB_COOKIE + cookie_ttl_seconds: 300 + tag: prod:web + load_balancer_basic_response: + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + load_balancer_ssl_termination_response: + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + load_balancer_using_tag_response: + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: prod:web + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + load_balancer_sticky_sessions_and_health_check_response: + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: https + entry_port: 443 + target_protocol: http + target_port: 8080 + certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf + health_check: + protocol: http + port: 8080 + path: /health + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: cookies + cookie_name: LB_COOKIE + cookie_ttl_seconds: 300 + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: prod:web + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: false + enable_backend_keepalive: false + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + load_balancer_update_request: + value: + name: updated-example-lb-01 + region: nyc3 + droplet_ids: + - 3164444 + - 3164445 + algorithm: round_robin + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + redirect_http_to_https: false + enable_proxy_protocol: true + enable_backend_keepalive: true + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + load_balancer_update_response: + value: + load_balancer: + id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + name: updated-example-lb-01 + ip: 104.131.186.241 + size: lb-small + algorithm: round_robin + status: new + created_at: '2017-02-01T22:22:58Z' + forwarding_rules: + - entry_protocol: http + entry_port: 80 + target_protocol: http + target_port: 80 + certificate_id: '' + tls_passthrough: false + - entry_protocol: https + entry_port: 443 + target_protocol: https + target_port: 443 + certificate_id: '' + tls_passthrough: true + health_check: + protocol: http + port: 80 + path: / + check_interval_seconds: 10 + response_timeout_seconds: 5 + healthy_threshold: 5 + unhealthy_threshold: 3 + sticky_sessions: + type: none + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + available: true + tag: '' + droplet_ids: + - 3164444 + - 3164445 + redirect_http_to_https: false + enable_proxy_protocol: true + enable_backend_keepalive: true + vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b + disable_lets_encrypt_dns_records: false + project_id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + http_idle_timeout_seconds: 60 + firewall: + deny: + - cidr:1.2.0.0/16 + - ip:2.3.4.5 + allow: + - ip:1.2.3.4 + - cidr:2.3.4.0/24 + inbound_private_droplet_bandwidth: + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: inbound + host_id: '222651441' + interface: private + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' + inbound_public_droplet_bandwidth: + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: inbound + host_id: '222651441' + interface: public + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' + outbound_private_droplet_bandwidth: + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: outbound + host_id: '222651441' + interface: private + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' + outbound_public_droplet_bandwidth: + value: + status: success + data: + resultType: matrix + result: + - metric: + direction: outbound + host_id: '222651441' + interface: public + values: + - - 1634052360 + - '0.016600450090265357' + - - 1634052480 + - '0.015085955677299055' + - - 1634052600 + - '0.014941163855322308' + - - 1634052720 + - '0.016214285714285712' + droplet_cpu: + value: + status: success + data: + resultType: matrix + result: + - metric: + host_id: '222651441' + mode: idle + values: + - - 1635386880 + - '122901.18' + - - 1635387000 + - '123020.92' + - - 1635387120 + - '123140.8' + - metric: + host_id: '222651441' + mode: iowait + values: + - - 1635386880 + - '14.99' + - - 1635387000 + - '15.01' + - - 1635387120 + - '15.01' + - metric: + host_id: '222651441' + mode: irq + values: + - - 1635386880 + - '0' + - - 1635387000 + - '0' + - - 1635387120 + - '0' + - metric: + host_id: '222651441' + mode: nice + values: + - - 1635386880 + - '66.35' + - - 1635387000 + - '66.35' + - - 1635387120 + - '66.35' + - metric: + host_id: '222651441' + mode: softirq + values: + - - 1635386880 + - '2.13' + - - 1635387000 + - '2.13' + - - 1635387120 + - '2.13' + - metric: + host_id: '222651441' + mode: steal + values: + - - 1635386880 + - '7.89' + - - 1635387000 + - '7.9' + - - 1635387120 + - '7.91' + - metric: + host_id: '222651441' + mode: system + values: + - - 1635386880 + - '140.09' + - - 1635387000 + - '140.2' + - - 1635387120 + - '140.23' + - metric: + host_id: '222651441' + mode: user + values: + - - 1635386880 + - '278.57' + - - 1635387000 + - '278.65' + - - 1635387120 + - '278.69' + droplet_filesystem: + value: + status: success + data: + resultType: matrix + result: + - metric: + device: /dev/vda1 + fstype: ext4 + host_id: '222651441' + mountpoint: / + values: + - - 1635386880 + - '25832407040' + - - 1635387000 + - '25832407040' + - - 1635387120 + - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' + reserved_ip_assigning: + summary: Assigning to Droplet + description: Assigning to Droplet + value: + reserved_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: true + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: + droplets: + - id: 213939433 + rel: droplet + href: https://api.digitalocean.com/v2/droplets/213939433 + actions: + - id: 1088924622 + rel: assign_ip + href: https://api.digitalocean.com/v2/actions/1088924622 + reserved_ip_reserving: + summary: Reserving to Region + description: Reserving to Region + value: + reserved_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + links: {} + reserved_ip_assigned: + summary: Assigned to Droplet + description: Assigned to Droplet + value: + reserved_ip: + ip: 45.55.96.47 + droplet: + id: 3164444 + name: example.com + memory: 1024 + vcpus: 1 + disk: 25 + locked: false + status: active + kernel: null + created_at: '2020-07-21T18:37:44Z' + features: + - backups + - private_networking + - ipv6 + backup_ids: + - 53893572 + next_backup_window: + start: '2020-07-30T00:00:00Z' + end: '2020-07-30T23:00:00Z' + snapshot_ids: + - 67512819 + image: + id: 63663980 + name: 20.04 (LTS) x64 + type: base + distribution: Ubuntu + slug: ubuntu-20-04-x64 + public: true + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + created_at: '2020-05-15T05:47:50Z' + min_disk_size: 20 + size_gigabytes: 2.36 + description: '' + tags: [] + status: available + error_message: '' + volume_ids: [] + size: + slug: s-1vcpu-1gb + memory: 1024 + vcpus: 1 + disk: 25 + transfer: 1 + price_monthly: 5 + price_hourly: 0.00743999984115362 + regions: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + available: true + description: Basic + size_slug: s-1vcpu-1gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: + - ip_address: 2604:a880:0:1010::18a:a001 + netmask: 64 + gateway: 2604:a880:0:1010::1 + type: public + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + tags: + - web + - env:prod + vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + region: + name: New York 3 + slug: nyc3 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + reserved_ip_reserved: + summary: Reserved to Region + description: Reserved to Region + value: + reserved_ip: + ip: 45.55.96.47 + droplet: null + region: + name: New York 3 + slug: nyc3 + features: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + locked: false + project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + snapshots_all: + value: + snapshots: + - id: '6372321' + name: web-01-1595954862243 + created_at: '2020-07-28T16:47:44Z' + regions: + - nyc3 + - sfo3 + resource_id: '200776916' + resource_type: droplet + min_disk_size: 25 + size_gigabytes: 2.34 + tags: + - web + - env:prod + - id: fbe805e8-866b-11e6-96bf-000f53315a41 + name: pvc-01-1595954862243 + created_at: '2019-09-28T23:14:30Z' + regions: + - nyc1 + resource_id: 89bcc42f-85cf-11e6-a004-000f53315871 + resource_type: volume + min_disk_size: 2 + size_gigabytes: 0.1008 + tags: + - k8s + links: {} + meta: + total: 2 + snapshots_droplets_only: + value: + snapshots: + - id: '6372321' + name: web-01-1595954862243 + created_at: '2020-07-28T16:47:44Z' + regions: + - nyc3 + - sfo3 + resource_id: '200776916' + resource_type: droplet + min_disk_size: 25 + size_gigabytes: 2.34 + tags: + - web + - env:prod + links: {} + meta: + total: 1 + snapshots_volumes_only: + value: + snapshots: + - id: fbe805e8-866b-11e6-96bf-000f53315a41 + name: pvc-01-1595954862243 + created_at: '2019-09-28T23:14:30Z' + regions: + - nyc1 + resource_id: 89bcc42f-85cf-11e6-a004-000f53315871 + resource_type: volume + min_disk_size: 2 + size_gigabytes: 0.1008 + tags: + - k8s + links: {} + meta: + total: 1 + volumes_all: + value: + volumes: + - id: 506f78a4-e098-11e5-ad9f-000f53306ae1 + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:00:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + - id: 506f78a4-e098-11e5-ad9f-000f53305eb2 + region: + name: New York 3 + slug: nyc3 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:01:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + links: {} + meta: + total: 2 + volumes_filtered_by_name: + value: + volumes: + - id: 506f78a4-e098-11e5-ad9f-000f53306ae1 + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:00:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + links: {} + meta: + total: 1 + volumes_filtered_by_region: + value: + volumes: + - id: 506f78a4-e098-11e5-ad9f-000f53306ae1 + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + droplet_ids: [] + name: example + description: Block store for examples + size_gigabytes: 10 + created_at: '2016-03-02T17:00:49Z' + filesystem_type: ext4 + filesystem_label: example + tags: + - aninterestingtag + links: {} + meta: + total: 1 + volume_action_attach_response: + value: + action: + id: 72531856 + status: completed + type: attach_volume + started_at: '2020-11-12T17:51:03Z' + completed_at: '2020-11-12T17:51:14Z' + resource_type: volume + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + region_slug: nyc1 + volume_action_detach_response: + value: + action: + id: 68212773 + status: in-progress + type: detach_volume + started_at: '2015-10-15T17:46:15Z' + completed_at: null + resource_id: null + resource_type: backend + region: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + region_slug: nyc1 + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content-disposition: + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. + schema: + type: string + example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" + content-type: + description: 'The type of data that is returned from a request. ' + schema: + type: string + example: application/json; charset=utf-8 + x-request-id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + schema: + type: string + format: uuid + example: 515850a0-a812-50bf-aa3c-d0d21d287e40 + links: + sshKeys_get_by_id: + operationId: sshKeys_get_by_id + parameters: + ssh_key_identifier: $response.body#/ssh_key/id + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. + sshKeys_get_by_fingerprint: + operationId: sshKeys_get_by_fingerprint + parameters: + ssh_key_identifier: $response.body#/ssh_key/fingerprint + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. + sshKeys_delete_by_id: + operationId: sshKeys_delete_by_id + parameters: + ssh_key_identifier: $response.body#/ssh_key/id + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. + sshKeys_delete_by_fingerprint: + operationId: ssh_keys_delete_by_fingerprint + parameters: + ssh_key_identifier: $response.body#/ssh_key/fingerprint + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. + x-stackQL-resources: + vpc_peerings: + id: digitalocean.vpc_peerings.vpc_peerings + name: vpc_peerings + title: Vpc Peerings + methods: + vpc_peerings_list: + operation: + $ref: '#/paths/~1v2~1vpc_peerings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/all_vpc_peerings' + objectKey: $.vpc_peerings + vpc_peerings_create: + operation: + $ref: '#/paths/~1v2~1vpc_peerings/post' + response: + mediaType: application/json + openAPIDocKey: '202' + schemaRef: '#/components/responses/provisioning_vpc_peering' + objectKey: $.vpc_peering + vpc_peerings_get: + operation: + $ref: '#/paths/~1v2~1vpc_peerings~1{vpc_peering_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/active_vpc_peering' + objectKey: $.vpc_peering + vpc_peerings_patch: + operation: + $ref: '#/paths/~1v2~1vpc_peerings~1{vpc_peering_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/active_vpc_peering' + vpc_peerings_delete: + operation: + $ref: '#/paths/~1v2~1vpc_peerings~1{vpc_peering_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '202' + schemaRef: '#/components/responses/deleting_vpc_peering' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_get' + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_list' + insert: + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_create' + update: + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_patch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_delete' +paths: + /v2/vpc_peerings: + get: + operationId: vpcPeerings_list + summary: List All VPC Peerings + description: To list all of the VPC peerings on your account, send a GET request to `/v2/vpc_peerings`. + tags: + - VPC Peerings + parameters: + - $ref: '#/components/parameters/per_page' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/all_vpc_peerings' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vpc_peerings?region=sfo3&page=1&per_page=20" + security: + - bearer_auth: + - vpc_peering:read + post: + operationId: vpcPeerings_create + summary: Create a New VPC Peering + description: | + To create a new VPC Peering, send a POST request to `/v2/vpc_peerings` + specifying a name and a list of two VPC IDs to peer. The response code, 202 + Accepted, does not indicate the success or failure of the operation, just + that the request has been accepted for processing. + tags: + - VPC Peerings + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/vpc_peering_create' + properties: {} + responses: + '202': + $ref: '#/components/responses/provisioning_vpc_peering' + '401': + $ref: '#/components/responses/unauthorized' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name": "my-first-vpc-peering", "vpc_ids": [ "997615ce-132d-4bae-9270-9ee21b395e5d", "e51aed59-3bb1-4a6a-8de0-9d1329e9c997"]}' \ + "https://api.digitalocean.com/v2/vpc_peerings" + security: + - bearer_auth: + - vpc_peering:create + /v2/vpc_peerings/{vpc_peering_id}: + get: + operationId: vpcPeerings_get + summary: Retrieve an Existing VPC Peering + description: | + To show information about an existing VPC Peering, send a GET request to `/v2/vpc_peerings/$VPC_PEERING_ID`. + tags: + - VPC Peerings + parameters: + - $ref: '#/components/parameters/vpc_peering_id' + responses: + '200': + $ref: '#/components/responses/active_vpc_peering' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vpc_peerings/5a4981aa-9653-4bd1-bef5-d6bff52042e4" + security: + - bearer_auth: + - vpc_peering:read + patch: + operationId: vpcPeerings_patch + summary: Update a VPC peering + description: | + To update the name of a VPC peering, send a PATCH request to `/v2/vpc_peerings/$VPC_PEERING_ID` with the new `name` in the request body. + tags: + - VPC Peerings + parameters: + - $ref: '#/components/parameters/vpc_peering_id' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/vpc_peering_updatable' + properties: {} + responses: + '200': + $ref: '#/components/responses/active_vpc_peering' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PATCH \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name":"renamed-vpc-peering"}' \ + "https://api.digitalocean.com/v2/vpc_peerings/5a4981aa-9653-4bd1-bef5-d6bff52042e4" + security: + - bearer_auth: + - vpc_peering:update + delete: + operationId: vpcPeerings_delete + summary: Delete a VPC peering + description: | + To delete a VPC peering, send a DELETE request to `/v2/vpc_peerings/$VPC_PEERING_ID`. + tags: + - VPC Peerings + parameters: + - $ref: '#/components/parameters/vpc_peering_id' + responses: + '202': + $ref: '#/components/responses/deleting_vpc_peering' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vpc_peerings/6b5c619c-359c-44ca-87e2-47e98170c01d" + security: + - bearer_auth: + - vpc_peering:delete diff --git a/providers/src/digitalocean/v00.00.00000/services/vpcs.yaml b/providers/src/digitalocean/v00.00.00000/services/vpcs.yaml index e523578c..6faa695e 100644 --- a/providers/src/digitalocean/v00.00.00000/services/vpcs.yaml +++ b/providers/src/digitalocean/v00.00.00000/services/vpcs.yaml @@ -1,18 +1,24 @@ openapi: 3.0.0 servers: - - url: 'https://api.digitalocean.com' + - url: https://api.digitalocean.com description: production info: - title: DigitalOcean API - vpcs version: '2.0' - description: VPCs license: name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0.html' + url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: DigitalOcean API Team email: api-engineering@digitalocean.com - termsOfService: 'https://www.digitalocean.com/legal/terms-of-service-agreement/' + termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/ + title: DigitalOcean API - vpcs + description: |- + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) + allow you to create virtual networks containing resources that can + communicate with each other in full isolation using private IP addresses. + By sending requests to the `/v2/vpcs` endpoint, you can create, configure, + list, and delete custom VPCs as well as retrieve information about the + resources assigned to them. security: - bearer_auth: [] tags: @@ -20,52 +26,43 @@ tags: description: |- 1-Click applications are pre-built Droplet images or Kubernetes apps with software, features, and configuration details already set up for you. They can be found in the - [DigitalOcean Marketplace](https://www.digitalocean.com/docs/marketplace). + [DigitalOcean Marketplace](https://marketplace.digitalocean.com/). - name: Account description: Provides information about your current account. - name: Actions description: |- Actions are records of events that have occurred on the resources in your account. These can be things like rebooting a Droplet, or transferring an image to a new region. - An action object is created every time one of these actions is initiated. The action object contains information about the current status of the action, start and complete timestamps, and the associated resource type and ID. - Every action that creates an action object is available through this endpoint. Completed actions are not removed from this list and are always available for querying. - **Note:** You can pass the following HTTP header with the request to have the API return the `reserved_ips` stanza instead of the `floating_ips` stanza: - - `Accept: application/vnd.digitalocean.reserveip+json` - name: Apps description: |- App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure. - Most API operations are centered around a few core object types. Following are the definitions of these types. These definitions will be omitted from the operation-specific documentation. - For documentation on app specifications (`AppSpec` objects), please refer to the [product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)). - name: Billing description: |- The billing endpoints allow you to retrieve your account balance, invoices and billing history. - **Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can retrieve the balance information for the requested customer account. - - **Invoices:** [Invoices](https://www.digitalocean.com/docs/accounts/billing/invoices/) + **Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/) are generated on the first of each month for every DigitalOcean customer. An invoice preview is generated daily, which can be accessed with the `preview` keyword in place of `$INVOICE_UUID`. To interact with invoices, you will generally send requests to the invoices endpoint at `/v2/customers/my/invoices`. - **Billing History:** Billing history is a record of billing events for your account. For example, entries may include events like payments made, invoices issued, or credits granted. To interact with invoices, you @@ -73,15 +70,13 @@ tags: `/v2/customers/my/billing_history`. - name: Block Storage description: |- - [DigitalOcean Block Storage Volumes](https://www.digitalocean.com/docs/volumes/) + [DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/) provide expanded storage capacity for your Droplets and can be moved between Droplets within a specific region. - Volumes function as raw block devices, meaning they appear to the operating system as locally attached storage which can be formatted using any file system supported by the OS. They may be created in sizes from 1GiB to 16TiB. - By sending requests to the `/v2/volumes` endpoint, you can list, create, or delete volumes as well as attach and detach them from Droplets - name: Block Storage Actions @@ -90,27 +85,25 @@ tags: Block Storage Volume. An example would be detaching or attaching a volume from a Droplet. These requests are made on the `/v2/volumes/$VOLUME_ID/actions` endpoint. - An action object is returned. These objects hold the current status of the requested action. - name: CDN Endpoints description: |- Content hosted in DigitalOcean's object storage solution, - [Spaces](https://www.digitalocean.com/docs/spaces/overview/), + [Spaces](https://docs.digitalocean.com/products/spaces/), can optionally be served by our globally distributed Content Delivery Network (CDN). By sending requests to `/v2/cdn/endpoints`, you can list, create, or delete CDN Endpoints as well as purge cached content. To use a custom subdomain to access the CDN Endpoint, provide the ID of a DigitalOcean managed TLS certificate and the fully qualified domain name - for the custom subdomain. + for the custom subdomain. + CDN endpoints have a rate limit of five requests per 10 seconds. - name: Certificates description: |- In order to perform SSL termination on load balancers, DigitalOcean offers - two types of [SSL certificate management](https://www.digitalocean.com/docs/accounts/security/#certificates): - + two types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates): * **Custom**: User-generated certificates may be uploaded to DigitalOcean where they will be placed in a fully encrypted and isolated storage system. - * **Let's Encrypt**: Certificates may be automatically generated by DigitalOcean utilizing an integration with Let's Encrypt, the free and open certificate authority. These certificates will also be automatically @@ -118,88 +111,40 @@ tags: - name: Container Registry description: |- DigitalOcean offers the ability for you to create a - [private container registry](https://www.digitalocean.com/docs/images/container-registry/quickstart/) + [private container registry](https://docs.digitalocean.com/products/container-registry/) to store your Docker images for use with your Kubernetes clusters. This container registry runs inside the same datacenters as your cluster, ensuring reliable and performant rollout of image deployments. - You can only create one registry per DigitalOcean account, but you can use that registry to create as many repositories as you wish. - name: Databases description: |- - DigitalOcean's [managed database service](https://www.digitalocean.com/docs/databases) + DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it - offers support for [PostgreSQL](http://www.digitalocean.com/docs/databases/postgresql/), - [Redis](https://www.digitalocean.com/docs/databases/redis/), - [MySQL](https://www.digitalocean.com/docs/databases/mysql/), and - [MongoDB](https://www.digitalocean.com/docs/databases/mongodb/). - + offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), + [Redis](https://docs.digitalocean.com/products/databases/redis/), + [MySQL](https://docs.digitalocean.com/products/databases/mysql/), + [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and + [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. - Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. - The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. - - For **Basic nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - db-s-1vcpu-1gb | 1 vCPU | 1 GB - db-s-1vcpu-2gb | 1 vCPU | 2 GB - db-s-2vcpu-4gb | 2 vCPU | 4 GB - db-s-4vcpu-8gb | 4 vCPU | 8 GB - db-s-6vcpu-16gb | 6 vCPU | 16 GB - db-s-8vcpu-32gb | 8 vCPU | 32 GB - db-s-16vcpu-64gb | 16 vCPU | 64 GB - - For **General Purpose nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - gd-2vcpu-8gb | 2 vCPU | 8 GB - gd-4vcpu-16gb | 4 vCPU | 16 GB - gd-8vcpu-32gb | 8 vCPU | 32 GB - gd-16vcpu-64gb | 16 vCPU | 64 GB - gd-32vcpu-128gb | 32 vCPU | 128 GB - gd-40vcpu-160gb | 40 vCPU | 160 GB - - For **Storage-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - so1_5-2vcpu-16gb | 2 vCPU | 16 GB - so1_5-4vcpu-32gb | 4 vCPU | 32 GB - so1_5-8vcpu-64gb | 8 vCPU | 64 GB - so1_5-16vcpu-128gb | 16 vCPU | 128 GB - so1_5-24vcpu-192gb | 24 vCPU | 192 GB - so1_5-32vcpu-256gb | 32 vCPU | 256 GB - - For **Memory-Optimized nodes**, reference the following table for its slug: - - Slug | CPU | RAM - -------------------|---------|--------- - m-2vcpu-16gb | 2 vCPU | 16 GB - m-4vcpu-32gb | 4 vCPU | 32 GB - m-8vcpu-64gb | 8 vCPU | 64 GB - m-16vcpu-128gb | 16 vCPU | 128 GB - m-24vcpu-192gb | 24 vCPU | 192 GB - m-32vcpu-256gb | 32 vCPU | 256 GB + For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the + `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options). - name: Domain Records description: |- Domain record resources are used to set or retrieve information about the individual DNS records configured for a domain. This allows you to build and manage DNS zone files by adding and modifying individual records for a domain. - - The [DigitalOcean DNS management interface](https://www.digitalocean.com/docs/networking/dns/) + The [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/) allows you to configure the following DNS records: - Name | Description | ------|----------------------------------------------------------------------------------------------------------------------------------------------------| A | This record type is used to map an IPv4 address to a hostname. | @@ -215,8 +160,7 @@ tags: description: |- Domain resources are domain names that you have purchased from a domain name registrar that you are managing through the - [DigitalOcean DNS interface](https://www.digitalocean.com/docs/networking/dns/). - + [DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/). This resource establishes top-level control over each domain. Actions that affect individual domain records should be taken on the [Domain Records](#tag/Domain-Records) resource. @@ -224,12 +168,10 @@ tags: description: |- Droplet actions are tasks that can be executed on a Droplet. These can be things like rebooting, resizing, snapshotting, etc. - Droplet action requests are generally targeted at one of the "actions" endpoints for a specific Droplet. The specific actions are usually initiated by sending a POST request with the action and arguments as parameters. - Droplet action requests create a Droplet actions object, which can be used to get information about the status of an action. Creating a Droplet action is asynchronous: the HTTP call will return the action object before @@ -241,17 +183,16 @@ tags: fail with a status of 422. - name: Droplets description: |- - A [Droplet](https://www.digitalocean.com/docs/droplets/) is a DigitalOcean + A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean virtual machine. By sending requests to the Droplet endpoint, you can list, create, or delete Droplets. - Some of the attributes will have an object value. The `region` and `image` objects will all contain the standard attributes of their associated types. Find more information about each of these objects in their respective sections. - name: Firewalls description: |- - [DigitalOcean Cloud Firewalls](https://www.digitalocean.com/docs/networking/firewalls/) + [DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/) provide the ability to restrict network access to and from a Droplet allowing you to define which ports will accept inbound or outbound connections. By sending requests to the `/v2/firewalls` endpoint, you can @@ -264,17 +205,14 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Floating IP actions are commands that can be given to a DigitalOcean floating IP. These requests are made on the actions endpoint of a specific floating IP. - An action object is returned. These objects hold the current status of the requested action. - name: Floating IPs @@ -285,62 +223,51 @@ tags: For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - - [DigitalOcean Floating IPs](https://www.digitalocean.com/docs/networking/floating-ips/) + [DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/) are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Floating IPs are bound to a specific region. - name: Functions description: |- [Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure. You can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl). - The Serverless Functions API currently only supports creating and managing namespaces. - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In general, these requests are made on the actions endpoint of a specific image. - An image action object is returned. These objects hold the current status of the requested action. - name: Images description: |- - A DigitalOcean [image](https://www.digitalocean.com/docs/images/) can be + A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be used to create a Droplet and may come in a number of flavors. Currently, there are five types of images: snapshots, backups, applications, distributions, and custom images. - - * [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) provide + * [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide a full copy of an existing Droplet instance taken on demand. - - * [Backups](https://www.digitalocean.com/docs/images/backups/) are similar + * [Backups](https://docs.digitalocean.com/products/backups/) are similar to snapshots but are created automatically at regular intervals when enabled for a Droplet. - - * [Custom images](https://www.digitalocean.com/docs/images/custom-images/) + * [Custom images](https://docs.digitalocean.com/products/custom-images/) are Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk formats are supported) that you may upload for use on DigitalOcean. - * Distributions are the public Linux distributions that are available to be used as a base to create Droplets. - - * Applications, or [1-Click Apps](https://www.digitalocean.com/docs/one-clicks/), + * Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/), are distributions pre-configured with additional software. - To interact with images, you will generally send requests to the images endpoint at /v2/images. - name: Kubernetes description: |- - [DigitalOcean Kubernetes](https://www.digitalocean.com/docs/kubernetes/) + [DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/) allows you to quickly deploy scalable and secure Kubernetes clusters. By sending requests to the `/v2/kubernetes/clusters` endpoint, you can list, create, or delete clusters as well as scale node pools up and down, @@ -348,7 +275,7 @@ tags: a cluster. - name: Load Balancers description: |- - [DigitalOcean Load Balancers](https://www.digitalocean.com/docs/networking/load-balancers/) + [DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/) provide a way to distribute traffic across multiple Droplets. By sending requests to the `/v2/load_balancers` endpoint, you can list, create, or delete load balancers as well as add or remove Droplets, forwarding rules, @@ -364,13 +291,10 @@ tags: You can group resources (like Droplets, Spaces, load balancers, domains, and floating IPs) in ways that align with the applications you host on DigitalOcean. - ### Supported Resource Types Examples - Projects resources are identified by uniform resource names or URNs. A valid URN has the following format: `do:resource_type:resource_id`. The following resource types are supported: - Resource Type | Example URN -------------------|------------ App Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8` @@ -382,13 +306,10 @@ tags: Load Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b` Space | `do:space:my-website-assets` Volume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f` - ### Resource Status Codes - When assigning and retrieving resources in projects, a `status` attribute is returned that indicates if a resource was successfully retrieved or assigned. The status codes can be one of the following: - Status Code | Explanation -------------------|------------ `ok` | There was no problem retrieving or assigning a resource. @@ -412,17 +333,14 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - Reserved IP actions are commands that can be given to a DigitalOcean reserved IP. These requests are made on the actions endpoint of a specific reserved IP. - An action object is returned. These objects hold the current status of the requested action. - name: Reserved IPs @@ -433,37 +351,32 @@ tags: URLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field. The Floating IP endpoints will remain active until fall 2023 before being permanently deprecated. - With the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects), we will reflect this change as an additional field in the responses across the API where the `floating_ip` field is used. For example, the Droplet metadata response will contain the field `reserved_ips` in addition to the `floating_ips` field. Floating IPs retrieved using the Projects API will retain the original name. - DigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be mapped to one of your Droplets. They can be used to create highly available setups or other configurations requiring movable addresses. - Reserved IPs are bound to a specific region. - name: Sizes description: |- The sizes objects represent different packages of hardware resources that can be used for Droplets. When a Droplet is created, a size must be selected so that the correct resources can be allocated. - Each size represents a plan that bundles together specific sets of resources. This includes the amount of RAM, the number of virtual CPUs, disk space, and transfer. The size object also includes the pricing details and the regions that the size is available in. - name: Snapshots description: |- - [Snapshots](https://www.digitalocean.com/docs/images/snapshots/) are saved + [Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved instances of a Droplet or a block storage volume, which is reflected in the `resource_type` attribute. In order to avoid problems with compressing filesystems, each defines a `min_disk_size` attribute which is the minimum size of the Droplet or volume disk when creating a new resource from the saved snapshot. - To interact with snapshots, you will generally send requests to the snapshots endpoint at `/v2/snapshots`. - name: SSH Keys @@ -473,105 +386,28 @@ tags: A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. - Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. - name: Uptime description: |- [DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring. To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: VPC Peerings + description: |- + [VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/) + join two VPC networks with a secure, private connection. This allows + resources in those networks to connect to each other's private IP addresses + as if they were in the same network. - name: VPCs description: |- - [VPCs (virtual private clouds)](https://www.digitalocean.com/docs/networking/vpc/) + [VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/) allow you to create virtual networks containing resources that can communicate with each other in full isolation using private IP addresses. - By sending requests to the `/v2/vpcs` endpoint, you can create, configure, list, and delete custom VPCs as well as retrieve information about the resources assigned to them. components: schemas: - ssh_key_id: - type: integer - description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - readOnly: true - example: 512189 - ssh_key_fingerprint: - type: string - description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. - readOnly: true - example: '3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa' - region_slug: - type: string - description: The slug identifier for the region where the resource will initially be available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - example: nyc3 - vpc: - allOf: - - $ref: '#/components/schemas/vpc_updatable' - - $ref: '#/components/schemas/vpc_create' - - $ref: '#/components/schemas/vpc_default' - - $ref: '#/components/schemas/vpc_base' - pagination: - type: object - properties: - links: - $ref: '#/components/schemas/page_links' - meta: - type: object - properties: - meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total - required: - - meta - error: - type: object - properties: - id: - description: 'A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found."' - type: string - example: not_found - message: - description: 'A message providing additional information about the error, including details to help resolve it when possible.' - type: string - example: The resource you were accessing could not be found. - request_id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' - type: string - example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - required: - - id - - message - vpc_updatable: - type: object - properties: - name: - type: string - pattern: '^[a-zA-Z0-9\-\.]+$' - example: env.prod-vpc - description: 'The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.' - description: - type: string - maxLength: 255 - example: VPC for production environment - description: A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. vpc_create: type: object properties: @@ -582,105 +418,22 @@ components: ip_range: type: string example: 10.10.10.0/24 - description: 'The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won''t conflict with other VPC networks in your account.' + description: The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. vpc_default: type: object properties: default: type: boolean example: true - description: 'A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network''s `default` field will be set to `false` when a new default VPC has been defined.' - vpc_base: - type: object - properties: - id: - type: string - format: uuid - readOnly: true - example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - description: A unique ID that can be used to identify and reference the VPC. - urn: - $ref: '#/components/schemas/urn' - created_at: - type: string - format: date-time - readOnly: true - example: '2020-03-13T19:20:47.442049222Z' - description: A time value given in ISO8601 combined date and time format. - page_links: - type: object - properties: - pages: - anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' - - {} - example: - pages: - first: 'https://api.digitalocean.com/v2/account/keys?page=1' - prev: 'https://api.digitalocean.com/v2/account/keys?page=2' - meta_properties: - type: object - description: Information about the response itself. - properties: - total: - description: Number of objects returned by the request. - type: integer - example: 1 - urn: - type: string - pattern: '^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*' - example: 'do:droplet:13457723' - description: 'The uniform resource name (URN) for the resource in the format do:resource_type:resource_id.' - forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' - backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' - link_to_last_page: - type: object - properties: - last: - description: URI of the last page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_next_page: - type: object - properties: - next: - description: URI of the next page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=2' - link_to_first_page: - type: object - properties: - first: - description: URI of the first page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - link_to_prev_page: - type: object - properties: - prev: - description: URI of the previous page of the results. - type: string - example: 'https://api.digitalocean.com/v2/images?page=1' - vpc_member: + description: A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. + vpc_peering_updatable: type: object properties: name: type: string - example: nyc1-load-balancer-01 - description: The name of the resource. - urn: - $ref: '#/components/schemas/urn' - created_at: - type: string - example: '2020-03-13T19:30:48Z' - description: A time value given in ISO8601 combined date and time format that represents when the resource was created. + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. parameters: oneClicks_type: in: query @@ -721,8 +474,14 @@ components: description: Either the ID or the fingerprint of an existing SSH key. schema: anyOf: - - $ref: '#/components/schemas/ssh_key_id' - - $ref: '#/components/schemas/ssh_key_fingerprint' + - type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 + - type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa example: 512189 action_id: in: path @@ -741,7 +500,7 @@ components: type: boolean example: true accept: - description: 'The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported.' + description: The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. in: header name: Accept schema: @@ -751,7 +510,7 @@ components: - application/yaml example: application/json content-type: - description: 'The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported.' + description: The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. in: header name: Content-Type schema: @@ -784,7 +543,7 @@ components: type: string example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf component: - description: 'An optional component name. If set, logs will be limited to this component only.' + description: An optional component name. If set, logs will be limited to this component only. in: path name: component_name required: true @@ -804,6 +563,7 @@ components: - BUILD: Build-time logs - DEPLOY: Deploy-time logs - RUN: Live run-time logs + - RUN_RESTARTED: Logs of crashed/restarted instances during runtime in: query name: type required: true @@ -814,6 +574,7 @@ components: - BUILD - DEPLOY - RUN + - RUN_RESTARTED type: string example: BUILD time_wait: @@ -831,14 +592,6 @@ components: schema: type: string example: 3aa4d20e-5527-4c00-b496-601fbd22520a - slug_tier: - description: The slug of the tier - in: path - name: slug - required: true - schema: - type: string - example: basic slug_size: description: The slug of the instance size in: path @@ -846,7 +599,7 @@ components: required: true schema: type: string - example: basic-xxs + example: apps-s-1vcpu-0.5gb alert_id: description: The alert ID in: path @@ -865,6 +618,15 @@ components: format: uuid minimum: 1 example: 19f06b6a-3ace-4315-b086-499a0e521b76 + certificate_name: + name: name + in: query + description: Name of expected certificate + required: false + schema: + type: string + default: '' + example: certificate-name certificate_id: in: path name: certificate_id @@ -940,6 +702,30 @@ components: example: backend-pool schema: type: string + kafka_topic_name: + in: path + name: topic_name + description: The name used to identify the Kafka topic. + required: true + example: customer-events + schema: + type: string + logsink_id: + in: path + name: logsink_id + description: A unique identifier for a logsink of a database cluster + required: true + example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + schema: + type: string + opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string domain_name: name: domain_name description: The name of the domain itself. @@ -950,7 +736,7 @@ components: required: true domain_name_query: name: name - description: 'A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`.' + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -983,11 +769,11 @@ components: droplet_tag_name: in: query name: tag_name - description: Used to filter Droplets by a specific tag. Can not be combined with `name`. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`. required: false schema: type: string - example: 'env:prod' + example: env:prod droplet_name: in: query name: name @@ -996,6 +782,17 @@ components: schema: type: string example: web-01 + droplet_type: + in: query + name: type + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. + required: false + schema: + type: string + enum: + - droplets + - gpus + example: droplets droplet_delete_tag_name: in: query name: tag_name @@ -1003,7 +800,7 @@ components: required: true schema: type: string - example: 'env:test' + example: env:test droplet_id: in: path name: droplet_id @@ -1105,7 +902,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.' + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -1212,7 +1009,7 @@ components: metric_timestamp_start: in: query name: start - description: Timestamp to start metric window. + description: UNIX timestamp to start metric window. example: '1620683817' required: true schema: @@ -1220,11 +1017,61 @@ components: metric_timestamp_end: in: query name: end - description: Timestamp to end metric window. + description: UNIX timestamp to end metric window. example: '1620705417' required: true schema: type: string + parameters_app_id: + in: query + name: app_id + description: The app UUID. + example: 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + required: true + schema: + type: string + app_component: + in: query + name: app_component + description: The app component name. + example: sample-application + required: false + schema: + type: string + parameters_load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + destination_uuid: + in: path + name: destination_uuid + description: A unique identifier for a destination. + required: true + schema: + type: string + example: 1a64809f-1708-48ee-a742-dec8d481b8d1 + resource_id: + in: query + name: resource_id + description: A unique URN for a resource. + schema: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + example: do:kubernetes:5ba4518b-b9e2-4978-aa92-2d4c727e8824 + sink_uuid: + in: path + name: sink_uuid + description: A unique identifier for a sink. + required: true + schema: + type: string + example: 78b172b6-52c3-4a4b-96d5-78d3f1a0b18c project_id: in: path name: project_id @@ -1239,7 +1086,7 @@ components: in: query name: expiry_seconds required: false - description: 'The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire.' + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -1249,7 +1096,7 @@ components: in: query name: read_write required: false - description: 'By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials.' + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -1283,7 +1130,7 @@ components: registry_repository_name: in: path name: repository_name - description: 'The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`.' + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -1303,7 +1150,7 @@ components: required: true schema: type: string - example: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221' + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 garbage_collection_uuid: in: path name: garbage_collection_uuid @@ -1350,12 +1197,12 @@ components: tag_id: in: path name: tag_id - description: 'The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.' + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string maxLength: 255 - pattern: '^[a-zA-Z0-9_\-\:]+$' + pattern: ^[a-zA-Z0-9_\-\:]+$ example: awesome volume_name: name: name @@ -1369,8 +1216,34 @@ components: in: query description: The slug identifier for the region where the resource is available. schema: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 example: nyc3 + volume_snapshot_id: + name: snapshot_id + in: path + description: The unique identifier for the snapshot. + schema: + type: string + required: true + example: fbe805e8-866b-11e6-96bf-000f53315a41 volume_id: name: volume_id in: path @@ -1398,6 +1271,15 @@ components: schema: type: string example: droplet + vpc_peering_id: + in: path + name: vpc_peering_id + description: A unique identifier for a VPC peering. + required: true + schema: + type: string + format: uuid + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 check_id: in: path name: check_id @@ -1418,68 +1300,152 @@ components: example: 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 responses: all_vpcs: - description: 'The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC' + description: The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object - properties: - vpcs: - type: array - items: - $ref: '#/components/schemas/vpc' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' - example: + type: object + properties: vpcs: - - name: env.prod-vpc - description: VPC for production environment - region: nyc1 - ip_range: 10.10.10.0/24 - id: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - urn: 'do:vpc:5a4981aa-9653-4bd1-bef5-d6bff52042e4' - default: false - created_at: '2020-03-13T19:20:47.442049222Z' - - id: e0fe0f4d-596a-465e-a902-571ce57b79fa - urn: 'do:vpc:e0fe0f4d-596a-465e-a902-571ce57b79fa' - name: default-nyc1 - description: '' - region: nyc1 - ip_range: 10.102.0.0/20 - created_at: '2020-03-13T19:29:20Z' - default: true - - id: d455e75d-4858-4eec-8c95-da2f0a5f93a7 - urn: 'do:vpc:d455e75d-4858-4eec-8c95-da2f0a5f93a7' - name: default-nyc3 - description: '' - region: nyc3 - ip_range: 10.100.0.0/20 - created_at: '2019-11-19T22:19:35Z' - default: true - links: {} + type: array + items: + type: object + properties: + name: + type: string + pattern: ^[a-zA-Z0-9\-\.]+$ + example: env.prod-vpc + description: The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. + description: + type: string + maxLength: 255 + example: VPC for production environment + description: A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the VPC will be created. + ip_range: + type: string + example: 10.10.10.0/24 + description: The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. + default: + type: boolean + example: true + description: A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC. + urn: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: - total: 3 + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta unauthorized: description: Unauthorized headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: unauthorized message: Unable to authenticate you. @@ -1487,15 +1453,40 @@ components: description: The resource was not found. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: not_found message: The resource you requested could not be found. @@ -1503,15 +1494,40 @@ components: description: API Rate limit exceeded headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: too_many_requests message: API Rate limit exceeded. @@ -1519,15 +1535,40 @@ components: description: Server error. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: server_error message: Unexpected server-side error @@ -1535,15 +1576,40 @@ components: description: Unexpected error headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - $ref: '#/components/schemas/error' + type: object + properties: + id: + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + type: string + example: not_found + message: + description: A message providing additional information about the error, including details to help resolve it when possible. + type: string + example: The resource you were accessing could not be found. + request_id: + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + type: string + example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + required: + - id + - message example: id: example_error message: some error message @@ -1551,104 +1617,395 @@ components: description: The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: type: object properties: vpc: - $ref: '#/components/schemas/vpc' + type: object + properties: + name: + type: string + pattern: ^[a-zA-Z0-9\-\.]+$ + example: env.prod-vpc + description: The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. + description: + type: string + maxLength: 255 + example: VPC for production environment + description: A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the VPC will be created. + ip_range: + type: string + example: 10.10.10.0/24 + description: The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. + default: + type: boolean + example: true + description: A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC. + urn: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. no_content: description: The action was successful and the response body is empty. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. vpc_members: - description: 'The response will be a JSON object with a key called members. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC member.' + description: The response will be a JSON object with a key called members. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC member. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + members: + type: array + items: + type: object + properties: + name: + type: string + example: nyc1-load-balancer-01 + description: The name of the resource. + urn: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + created_at: + type: string + example: '2020-03-13T19:30:48Z' + description: A time value given in ISO8601 combined date and time format that represents when the resource was created. + links: + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta + vpc_peerings: + description: The response will be a JSON object with a key called `peerings`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC peering. headers: ratelimit-limit: - $ref: '#/components/headers/ratelimit-limit' + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: - $ref: '#/components/headers/ratelimit-remaining' + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: - $ref: '#/components/headers/ratelimit-reset' + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content: application/json: schema: - allOf: - - type: object + type: object + properties: + peerings: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. + links: + type: object properties: - members: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 + meta: + type: object + description: Information about the response itself. + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 + required: + - total + required: + - meta + vpc_peering: + description: The response will be a JSON object with a key called `peering`, containing the standard attributes associated with a VPC peering. + headers: + ratelimit-limit: + schema: + type: integer + example: 5000 + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + ratelimit-remaining: + schema: + type: integer + example: 4816 + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + ratelimit-reset: + schema: + type: integer + example: 1444931833 + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + content: + application/json: + schema: + type: object + properties: + peering: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: type: array items: - $ref: '#/components/schemas/vpc_member' - - $ref: '#/components/schemas/pagination' - - $ref: '#/components/schemas/meta' + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. example: - members: - - urn: 'do:loadbalancer:fb294d78-d193-4cb2-8737-ea620993591b' - name: nyc1-load-balancer-01 - created_at: '2020-03-13T19:30:48Z' - - urn: 'do:dbaas:13f7a2f6-43df-4c4a-8129-8733267ddeea' - name: db-postgresql-nyc1-55986 - created_at: '2020-03-13T19:30:18Z' - - urn: 'do:kubernetes:da39d893-96e1-4e4d-971d-1fdda33a46b1' - name: k8s-nyc1-1584127772221 - created_at: '2020-03-13T19:30:16Z' - - urn: 'do:droplet:86e29982-03a7-4946-8a07-a0114dff8754' - name: ubuntu-s-1vcpu-1gb-nyc1-01 - created_at: '2020-03-13T19:29:20Z' - links: {} - meta: - total: 4 + peering: + id: 6b5c619c-359c-44ca-87e2-47e98170c01d + name: example-vpc-peering + vpc_ids: + - 997615ce-132d-4bae-9270-9ee21b395e5d + - e51aed59-3bb1-4a6a-8de0-9d1329e9c997 + created_at: '2024-01-09T20:44:32Z' + status: PROVISIONING securitySchemes: bearer_auth: type: http scheme: bearer description: | ## OAuth Authentication - In order to interact with the DigitalOcean API, you or your application must authenticate. - The DigitalOcean API handles this through OAuth, an open standard for - authorization. OAuth allows you to delegate access to your account in full - or in read-only mode. - + authorization. OAuth allows you to delegate access to your account. + Scopes can be used to grant full access, read-only access, or access to + a specific set of endpoints. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens) section of the DigitalOcean control panel for your account. - An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - Because of this, it is absolutely **essential** that you keep your OAuth tokens secure. In fact, upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised. - DigitalOcean access tokens begin with an identifiable prefix in order to distinguish them from other similar tokens. - - `dop_v1_` for personal access tokens generated in the control panel - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/) - `dor_v1_` for OAuth refresh tokens - + ### Scopes + Scopes act like permissions assigned to an API token. These permissions + determine what actions the token can perform. You can create API + tokens that grant read-only access, full access, or limited access to + specific endpoints by using custom scopes. + Generally, scopes are designed to match HTTP verbs and common CRUD + operations (Create, Read, Update, Delete). + | HTTP Verb | CRUD Operation | Scope | + |---|---|---| + | GET | Read | `:read` | + | POST | Create | `:create` | + | PUT/PATCH | Update | `:update` | + | DELETE | Delete | `:delete` | + For example, creating a new Droplet by making a `POST` request to the + `/v2/droplets` endpoint requires the `droplet:create` scope while + listing Droplets by making a `GET` request to the `/v2/droplets` + endpoint requires the `droplet:read` scope. + Each endpoint below specifies which scope is required to access it when + using custom scopes. ### How to Authenticate with OAuth - In order to make an authenticated request, include a bearer-type `Authorization` header containing your OAuth token. All requests must be made over HTTPS. - ### Authenticate with a Bearer Authorization Header - ``` curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT" ``` @@ -1663,11 +2020,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1677,7 +2034,7 @@ components: type: PRIMARY zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-php-iaj87.ondigitalocean.app' + default_ingress: https://sample-php-iaj87.ondigitalocean.app created_at: '2020-11-19T20:27:18Z' updated_at: '2020-12-01T00:42:16Z' active_deployment: @@ -1687,11 +2044,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1716,11 +2073,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1764,7 +2121,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2020-12-01T00:40:05Z' - live_url: 'https://sample-php.example.com' + live_url: https://sample-php.example.com region: slug: fra label: Frankfurt @@ -1773,7 +2130,7 @@ components: data_centers: - fra1 tier_slug: basic - live_url_base: 'https://sample-php.example.com' + live_url_base: https://sample-php.example.com live_domain: sample-php.example.com domains: - id: 0831f444-a1a7-11ed-828c-ef59494480b5 @@ -1847,6 +2204,13 @@ components: name: configuration-alert started_at: '2023-01-30T22:15:46.278987808Z' status: SUCCESS + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED links: pages: {} meta: @@ -1865,7 +2229,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1875,7 +2239,7 @@ components: - domain: sample-golang.example.com zone: example.com minimum_tls_version: '1.3' - default_ingress: 'https://sample-golang-zyhgn.ondigitalocean.app' + default_ingress: https://sample-golang-zyhgn.ondigitalocean.app created_at: '2021-02-10T16:45:14Z' updated_at: '2021-02-10T17:06:56Z' active_deployment: @@ -1889,7 +2253,7 @@ components: branch: main run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1961,7 +2325,7 @@ components: phase: ACTIVE tier_slug: basic last_deployment_created_at: '2021-02-10T17:05:30Z' - live_url: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url: https://sample-golang-zyhgn.ondigitalocean.app pending_deployment: id: 3aa4d20e-5527-4c00-b496-601fbd22520a spec: @@ -1969,11 +2333,11 @@ components: services: - name: sample-php git: - repo_clone_url: 'https://github.com/digitalocean/sample-php.git' + repo_clone_url: https://github.com/digitalocean/sample-php.git branch: main run_command: heroku-php-apache2 environment_slug: php - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: @@ -1992,7 +2356,7 @@ components: data_centers: - ams3 tier_slug: basic - live_url_base: 'https://sample-golang-zyhgn.ondigitalocean.app' + live_url_base: https://sample-golang-zyhgn.ondigitalocean.app live_domain: sample-golang-zyhgn.ondigitalocean.app project_id: 88b72d1a-b78a-4d9f-9090-b53c4399073f domains: @@ -2067,12 +2431,19 @@ components: name: configuration-alert started_at: '0001-01-01T00:00:00' status: PENDING + dedicated_ips: + - ip: 192.168.1.1 + id: c24d8f48-3bc4-49f5-8ca0-58e8164427ac + status: ASSIGNED + - ip: 192.168.1.2 + id: 4768fb15-2837-4dda-9be5-3951df4bc3d0 + status: ASSIGNED logs: value: - live_url: 'https://logs-example/build.log' - url: 'https://logs/build.log' + live_url: https://logs-example/build.log + url: https://logs/build.log historic_logs: - - 'https://logs-example/archive/build.log' + - https://logs-example/archive/build.log deployments: value: deployments: @@ -2086,7 +2457,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2155,7 +2526,7 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 2 routes: - path: / @@ -2207,133 +2578,159 @@ components: status: PENDING phase: PENDING_BUILD tier_slug: basic - tiers: - value: - tiers: - - name: Starter - slug: starter - egress_bandwidth_bytes: '1073741824' - build_seconds: '6000' - - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' - - name: Professional - slug: professional - egress_bandwidth_bytes: '107374182400' - build_seconds: '60000' - tier: - value: - tier: - name: Basic - slug: basic - egress_bandwidth_bytes: '42949672960' - build_seconds: '24000' instance_sizes: value: instance_sizes: - - name: Basic XXS - slug: basic-xxs + - name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic XS - slug: basic-xs + single_instance_only: true + bandwidth_allowance_gib: '50' + - name: Shared 1VCPU 1GB Fixed + slug: apps-s-1vcpu-1gb-fixed cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '10.00' usd_per_second: '0.000004133598' tier_slug: basic - tier_upgrade_to: professional-xs - - name: Basic S - slug: basic-s - cpu_type: SHARED - cpus: '1' - memory_bytes: '2147483648' - usd_per_month: '20.00' - usd_per_second: '0.000008267196' - tier_slug: basic - tier_upgrade_to: professional-s - - name: Basic M - slug: basic-m - cpu_type: SHARED - cpus: '2' - memory_bytes: '4294967296' - usd_per_month: '40.00' - usd_per_second: '0.000016534392' - tier_slug: basic - tier_upgrade_to: professional-m - - name: Professional XS - slug: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '100' + - name: Shared 1VCPU 1GB + slug: apps-s-1vcpu-1gb cpu_type: SHARED cpus: '1' memory_bytes: '1073741824' usd_per_month: '12.00' usd_per_second: '0.000004960317' tier_slug: professional - tier_downgrade_to: basic-xs - - name: Professional S - slug: professional-s + bandwidth_allowance_gib: '150' + - name: Shared 1VCPU 2GB + slug: apps-s-1vcpu-2gb cpu_type: SHARED cpus: '1' memory_bytes: '2147483648' usd_per_month: '25.00' usd_per_second: '0.000010333995' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional M - slug: professional-m + bandwidth_allowance_gib: '200' + - name: Shared 2VCPU 4GB + slug: apps-s-2vcpu-4gb cpu_type: SHARED cpus: '2' memory_bytes: '4294967296' usd_per_month: '50.00' usd_per_second: '0.000020667989' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional 1L - slug: professional-1l + bandwidth_allowance_gib: '250' + - name: Dedicated 1VCPU 0.5GB + slug: apps-d-1vcpu-0.5gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '536870912' + usd_per_month: '29.00' + usd_per_second: '0.000011987434' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '100' + - name: Dedicated 1VCPU 1GB + slug: apps-d-1vcpu-1gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '1073741824' + usd_per_month: '34.00' + usd_per_second: '0.000014054233' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '200' + - name: Dedicated 1VCPU 2GB + slug: apps-d-1vcpu-2gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '2147483648' + usd_per_month: '39.00' + usd_per_second: '0.000016121032' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '300' + - name: Dedicated 1VCPU 4GB + slug: apps-d-1vcpu-4gb + cpu_type: DEDICATED + cpus: '1' + memory_bytes: '4294967296' + usd_per_month: '49.00' + usd_per_second: '0.000020254630' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '400' + - name: Dedicated 2VCPU 4GB + slug: apps-d-2vcpu-4gb cpu_type: DEDICATED - cpus: '1' + cpus: '2' memory_bytes: '4294967296' - usd_per_month: '75.00' - usd_per_second: '0.000031001984' + usd_per_month: '78.00' + usd_per_second: '0.000032242063' tier_slug: professional - tier_downgrade_to: basic-m - - name: Professional L - slug: professional-l + scalable: true + bandwidth_allowance_gib: '500' + - name: Dedicated 2VCPU 8GB + slug: apps-d-2vcpu-8gb cpu_type: DEDICATED cpus: '2' memory_bytes: '8589934592' - usd_per_month: '150.00' - usd_per_second: '0.000062003968' + usd_per_month: '98.00' + usd_per_second: '0.000040509259' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '600' + - name: Dedicated 4VCPU 8GB + slug: apps-d-4vcpu-8gb + cpu_type: DEDICATED + cpus: '4' + memory_bytes: '8589934592' + usd_per_month: '156.00' + usd_per_second: '0.000064484127' tier_slug: professional - tier_downgrade_to: basic-s - - name: Professional XL - slug: professional-xl + scalable: true + bandwidth_allowance_gib: '700' + - name: Dedicated 4VCPU 16GB + slug: apps-d-4vcpu-16gb cpu_type: DEDICATED cpus: '4' memory_bytes: '17179869184' - usd_per_month: '300.00' - usd_per_second: '0.000124007937' + usd_per_month: '196.00' + usd_per_second: '0.000081018519' + tier_slug: professional + scalable: true + bandwidth_allowance_gib: '800' + - name: Dedicated 8VCPU 32GB + slug: apps-d-8vcpu-32gb + cpu_type: DEDICATED + cpus: '8' + memory_bytes: '34359738368' + usd_per_month: '392.00' + usd_per_second: '0.000162037037' tier_slug: professional - tier_downgrade_to: basic-s + scalable: true + bandwidth_allowance_gib: '900' instance_size: value: instance_size: - name: Basic XXS - slug: basic-xxs + name: Shared 1VCPU 0.5GB + slug: apps-s-1vcpu-0.5gb cpu_type: SHARED cpus: '1' memory_bytes: '536870912' usd_per_month: '5.00' usd_per_second: '0.000002066799' tier_slug: basic - tier_upgrade_to: professional-xs + single_instance_only: true + bandwidth_allowance_gib: '50' regions: value: regions: @@ -2401,14 +2798,13 @@ components: branch: branch run_command: bin/sample-golang environment_slug: go - instance_size_slug: basic-xxs + instance_size_slug: apps-s-1vcpu-0.5gb instance_count: 1 http_port: 8080 routes: - path: / region: ams app_cost: 5 - app_tier_upgrade_cost: 17 alerts: value: alerts: @@ -2585,6 +2981,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2665,9 +3066,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -2698,13 +3099,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2811,13 +3217,18 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164412 name: stage.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -2923,7 +3334,7 @@ components: - s-24vcpu-128gb - s-32vcpu-192g tags: - - 'env:stage' + - env:stage vpc_uuid: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 links: pages: {} @@ -2937,6 +3348,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3017,9 +3433,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3050,13 +3466,18 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - id: 3164459 name: assets.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3163,12 +3584,148 @@ components: - s-32vcpu-192g tags: - storage - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 links: pages: {} meta: total: 2 + gpu_droplets: + value: + droplets: + - id: 448543583 + name: ml-ai-ubuntu-gpu-h100x1-80gb-tor1 + memory: 245760 + vcpus: 20 + disk: 720 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + locked: false + status: active + kernel: null + created_at: '2024-09-30T15:23:36Z' + features: + - droplet_agent + - private_networking + backup_ids: [] + next_backup_window: null + snapshot_ids: [] + image: + id: 166407044 + name: AI/ML Ready H100x1 + distribution: Ubuntu + slug: gpu-h100x1-base + public: true + regions: + - nyc3 + - nyc1 + - sfo1 + - nyc2 + - ams2 + - sgp1 + - lon1 + - ams3 + - fra1 + - tor1 + - sfo2 + - blr1 + - sfo3 + - syd1 + created_at: '2024-09-27T15:35:19Z' + min_disk_size: 25 + type: base + size_gigabytes: 18.47 + description: GPU H100 1x Base Image + tags: [] + status: available + volume_ids: [] + size: + slug: gpu-h100x1-80gb + memory: 245760 + vcpus: 20 + disk: 720 + transfer: 15 + price_monthly: 4529.3 + price_hourly: 6.74 + regions: + - tor1 + available: true + description: H100 GPU - 1X + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + disk_info: + - type: local + size: + amount: 720 + unit: gib + - type: scratch + size: + amount: 5120 + unit: gib + size_slug: gpu-h100x1-80gb + networks: + v4: + - ip_address: 10.128.192.124 + netmask: 255.255.0.0 + gateway: nil + type: private + - ip_address: 192.241.165.154 + netmask: 255.255.255.0 + gateway: 192.241.165.1 + type: public + v6: [] + region: + name: Toronto 1 + slug: tor1 + features: + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + - server_id + - management_networking + available: true + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + - gpu-h100x1-80gb + - gpu-h100x8-640gb + tags: [] + vpc_uuid: e2fdd15c-6ae6-4c11-8c5d-72dae2ba1ad1 + gpu_info: + count: 1 + vram: + amount: 80 + unit: gib + model: nvidia_h100 + links: {} + meta: + total: 1 droplet_create_request: value: name: example.com @@ -3177,12 +3734,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3199,12 +3756,12 @@ components: image: ubuntu-20-04-x64 ssh_keys: - 289794 - - '3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45' + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 backups: true ipv6: true monitoring: true tags: - - 'env:prod' + - env:prod - web user_data: | #cloud-config @@ -3219,6 +3776,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3317,12 +3879,12 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 droplet_multi_create_response: value: droplets: @@ -3331,6 +3893,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3429,12 +3996,17 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod - id: 3164445 name: sub-02.example.com memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: new kernel: null @@ -3533,15 +4105,15 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod links: actions: - id: 7515 rel: create - href: 'https://api.digitalocean.com/v2/actions/7515' + href: https://api.digitalocean.com/v2/actions/7515 - id: 7516 rel: create - href: 'https://api.digitalocean.com/v2/actions/7516' + href: https://api.digitalocean.com/v2/actions/7516 droplet_single: value: droplet: @@ -3550,6 +4122,11 @@ components: memory: 1024 vcpus: 1 disk: 25 + disk_info: + - type: local + size: + amount: 25 + unit: gib locked: false status: active kernel: null @@ -3630,9 +4207,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3663,10 +4240,11 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 floating_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3704,13 +4282,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 floating_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: floating_ip: ip: 45.55.96.47 @@ -3747,6 +4326,7 @@ components: links: {} floating_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: floating_ip: ip: 45.55.96.47 @@ -3836,9 +4416,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -3868,7 +4448,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -3900,6 +4480,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 floating_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: floating_ip: ip: 45.55.96.47 @@ -4183,12 +4764,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4198,8 +4779,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4235,8 +4816,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4272,6 +4853,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 meta: total: 1 kubernetes_clusters_basic_request: @@ -4327,7 +4913,7 @@ components: endpoint: '' tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: worker-pool @@ -4335,8 +4921,8 @@ components: count: 3 tags: - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4377,6 +4963,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_clusters_multi_pool_response: value: kubernetes_clusters: @@ -4393,7 +4984,7 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4404,8 +4995,8 @@ components: - web-team - frontend - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4441,8 +5032,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4478,6 +5069,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_single: value: kubernetes_cluster: @@ -4489,12 +5085,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4504,8 +5100,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4541,8 +5137,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4577,6 +5173,11 @@ components: surge_upgrade: false registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_updated: value: kubernetes_cluster: @@ -4588,12 +5189,12 @@ components: service_subnet: 10.245.0.0/16 vpc_uuid: c33931f2-a26a-4e61-b85c-4e95a2ec431b ipv4: 68.183.121.157 - endpoint: 'https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com' + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af node_pools: - id: cdda885e-7663-40c8-bc74-3a036c66545d name: frontend-pool @@ -4603,8 +5204,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: null taints: [] auto_scale: false @@ -4640,8 +5241,8 @@ components: - production - web-team - k8s - - 'k8s:bd5f5959-5e1e-4205-a714-a914373942af' - - 'k8s:worker' + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s:worker labels: service: backend priority: high @@ -4676,6 +5277,11 @@ components: surge_upgrade: true registry_enabled: false ha: false + control_plane_firewall: + enabled: true + allowed_addresses: + - 1.2.3.4/32 + - 1.1.0.0/16 kubernetes_options: value: options: @@ -4885,11 +5491,11 @@ components: disable_lets_encrypt_dns_records: false firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 - id: 56775c3f-04ab-4fb3-a7ed-40ef9bc8eece name: prod-web-lb-01 ip: 45.55.125.24 @@ -4941,7 +5547,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 55806512 - 55806515 @@ -4955,11 +5561,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 links: {} meta: total: 2 @@ -4985,11 +5591,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: @@ -5015,7 +5621,7 @@ components: target_protocol: http target_port: 8080 certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf - tag: 'prod:web' + tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: @@ -5039,7 +5645,7 @@ components: type: cookies cookie_name: LB_COOKIE cookie_ttl_seconds: 300 - tag: 'prod:web' + tag: prod:web load_balancer_basic_response: value: load_balancer: @@ -5111,11 +5717,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_ssl_termination_response: value: load_balancer: @@ -5227,7 +5833,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5290,7 +5896,7 @@ components: - metadata - install_agent available: true - tag: 'prod:web' + tag: prod:web droplet_ids: - 3164444 - 3164445 @@ -5339,11 +5945,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 load_balancer_update_response: value: load_balancer: @@ -5415,11 +6021,11 @@ components: http_idle_timeout_seconds: 60 firewall: deny: - - 'cidr:1.2.0.0/16' - - 'ip:2.3.4.5' + - cidr:1.2.0.0/16 + - ip:2.3.4.5 allow: - - 'ip:1.2.3.4' - - 'cidr:2.3.4.0/24' + - ip:1.2.3.4 + - cidr:2.3.4.0/24 inbound_private_droplet_bandwidth: value: status: success @@ -5600,8 +6206,28 @@ components: - '25832407040' - - 1635387120 - '25832407040' + app_memory_percentage: + value: + status: success + data: + resultType: matrix + result: + - metric: + app_component: sample-application + app_component_instance: sample-application-0 + app_uuid: db3c021-15ad-4088-bfe8-99dc972b9cf6 + values: + - - 1634052360 + - '5.016600450090265357' + - - 1634052480 + - '12.015085955677299055' + - - 1634052600 + - '8.014941163855322308' + - - 1634052720 + - '32.016214285714285712' reserved_ip_assigning: summary: Assigning to Droplet + description: Assigning to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5639,13 +6265,14 @@ components: droplets: - id: 213939433 rel: droplet - href: 'https://api.digitalocean.com/v2/droplets/213939433' + href: https://api.digitalocean.com/v2/droplets/213939433 actions: - id: 1088924622 rel: assign_ip - href: 'https://api.digitalocean.com/v2/actions/1088924622' + href: https://api.digitalocean.com/v2/actions/1088924622 reserved_ip_reserving: summary: Reserving to Region + description: Reserving to Region value: reserved_ip: ip: 45.55.96.47 @@ -5682,6 +6309,7 @@ components: links: {} reserved_ip_assigned: summary: Assigned to Droplet + description: Assigned to Droplet value: reserved_ip: ip: 45.55.96.47 @@ -5771,9 +6399,9 @@ components: gateway: 192.241.165.1 type: public v6: - - ip_address: '2604:a880:0:1010::18a:a001' + - ip_address: 2604:a880:0:1010::18a:a001 netmask: 64 - gateway: '2604:a880:0:1010::1' + gateway: 2604:a880:0:1010::1 type: public region: name: New York 3 @@ -5803,7 +6431,7 @@ components: - s-32vcpu-192g tags: - web - - 'env:prod' + - env:prod vpc_uuid: 760e09ef-dc84-11e8-981e-3cfdfeaae000 region: name: New York 3 @@ -5835,6 +6463,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 reserved_ip_reserved: summary: Reserved to Region + description: Reserved to Region value: reserved_ip: ip: 45.55.96.47 @@ -5883,7 +6512,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod - id: fbe805e8-866b-11e6-96bf-000f53315a41 name: pvc-01-1595954862243 created_at: '2019-09-28T23:14:30Z' @@ -5913,7 +6542,7 @@ components: size_gigabytes: 2.34 tags: - web - - 'env:prod' + - env:prod links: {} meta: total: 1 @@ -6167,14 +6796,14 @@ components: schema: type: integer example: 4816 - description: 'The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: 'The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire.' + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-disposition: - description: 'Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally.' + description: Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. schema: type: string example: attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" @@ -6184,7 +6813,7 @@ components: type: string example: application/json; charset=utf-8 x-request-id: - description: 'Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue.' + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -6194,117 +6823,147 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: 'The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: 'The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`.' + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: vpcs: id: digitalocean.vpcs.vpcs name: vpcs title: Vpcs methods: - list: + vpcs_list: operation: $ref: '#/paths/~1v2~1vpcs/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/all_vpcs' objectKey: $.vpcs - _list: - operation: - $ref: '#/paths/~1v2~1vpcs/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create: + vpcs_create: operation: $ref: '#/paths/~1v2~1vpcs/post' response: mediaType: application/json openAPIDocKey: '201' - get: - operation: - $ref: '#/paths/~1v2~1vpcs~1{vpc_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' + schemaRef: '#/components/responses/existing_vpc' objectKey: $.vpc - _get: + vpcs_get: operation: $ref: '#/paths/~1v2~1vpcs~1{vpc_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update: + schemaRef: '#/components/responses/existing_vpc' + objectKey: $.vpc + vpcs_update: operation: $ref: '#/paths/~1v2~1vpcs~1{vpc_id}/put' response: mediaType: application/json openAPIDocKey: '200' - patch: + schemaRef: '#/components/responses/existing_vpc' + vpcs_patch: operation: $ref: '#/paths/~1v2~1vpcs~1{vpc_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete: + schemaRef: '#/components/responses/existing_vpc' + vpcs_delete: operation: $ref: '#/paths/~1v2~1vpcs~1{vpc_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + schemaRef: '#/components/responses/no_content' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/vpcs/methods/list' - - $ref: '#/components/x-stackQL-resources/vpcs/methods/get' + - $ref: '#/components/x-stackQL-resources/vpcs/methods/vpcs_get' + - $ref: '#/components/x-stackQL-resources/vpcs/methods/vpcs_list' insert: - - $ref: '#/components/x-stackQL-resources/vpcs/methods/create' - update: [] + - $ref: '#/components/x-stackQL-resources/vpcs/methods/vpcs_create' + update: + - $ref: '#/components/x-stackQL-resources/vpcs/methods/vpcs_patch' + replace: [] delete: - - $ref: '#/components/x-stackQL-resources/vpcs/methods/delete' + - $ref: '#/components/x-stackQL-resources/vpcs/methods/vpcs_delete' members: id: digitalocean.vpcs.members name: members title: Members methods: - list_members: + vpcs_list_members: operation: $ref: '#/paths/~1v2~1vpcs~1{vpc_id}~1members/get' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/vpc_members' objectKey: $.members - _list_members: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/members/methods/vpcs_list_members' + insert: [] + update: [] + replace: [] + delete: [] + peerings: + id: digitalocean.vpcs.peerings + name: peerings + title: Peerings + methods: + vpcs_list_peerings: operation: - $ref: '#/paths/~1v2~1vpcs~1{vpc_id}~1members/get' + $ref: '#/paths/~1v2~1vpcs~1{vpc_id}~1peerings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/responses/vpc_peerings' + objectKey: $.peerings + vpcs_create_peerings: + operation: + $ref: '#/paths/~1v2~1vpcs~1{vpc_id}~1peerings/post' + response: + mediaType: application/json + openAPIDocKey: '202' + schemaRef: '#/components/responses/vpc_peering' + objectKey: $.peering + vpcs_patch_peerings: + operation: + $ref: '#/paths/~1v2~1vpcs~1{vpc_id}~1peerings~1{vpc_peering_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + schemaRef: '#/components/responses/vpc_peering' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/members/methods/list_members' - insert: [] - update: [] + - $ref: '#/components/x-stackQL-resources/peerings/methods/vpcs_list_peerings' + insert: + - $ref: '#/components/x-stackQL-resources/peerings/methods/vpcs_create_peerings' + update: + - $ref: '#/components/x-stackQL-resources/peerings/methods/vpcs_patch_peerings' + replace: [] delete: [] paths: /v2/vpcs: get: operationId: vpcs_list summary: List All VPCs - description: 'To list all of the VPCs on your account, send a GET request to `/v2/vpcs`.' + description: To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. tags: - VPCs parameters: @@ -6352,16 +7011,23 @@ paths: vpcs, _, err := client.VPCs.List(ctx, opts) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.vpcs.list() security: - bearer_auth: - - read + - vpc:read post: operationId: vpcs_create summary: Create a New VPC description: | To create a VPC, send a POST request to `/v2/vpcs` specifying the attributes in the table below in the JSON body. - **Note:** If you do not currently have a VPC network in a specific datacenter region, the first one that you create will be set as the default for that region. The default VPC for a region cannot be changed or deleted. @@ -6372,13 +7038,8 @@ paths: content: application/json: schema: - type: object - allOf: - - $ref: '#/components/schemas/vpc_updatable' - - $ref: '#/components/schemas/vpc_create' - required: - - name - - region + $ref: '#/components/schemas/vpc_create' + properties: {} responses: '201': $ref: '#/components/responses/existing_vpc' @@ -6421,14 +7082,29 @@ paths: vpc, _, err := client.VPCs.Create(ctx, createRequest) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "env.prod-vpc", + "description": "VPC for production environment", + "region": "nyc1", + "ip_range": "10.10.10.0/24" + } + + resp = client.vpcs.create(body=req) security: - bearer_auth: - - write - '/v2/vpcs/{vpc_id}': + - vpc:create + /v2/vpcs/{vpc_id}: get: operationId: vpcs_get summary: Retrieve an Existing VPC - description: 'To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`.' + description: To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. tags: - VPCs parameters: @@ -6470,9 +7146,17 @@ paths: vpc, _, err := client.VPCs.Get(ctx, "5a4981aa-9653-4bd1-bef5-d6bff52042e4") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.vpcs.get(vpc_id="e0fe0f4d") security: - bearer_auth: - - read + - vpc:read put: operationId: vpcs_update summary: Update a VPC @@ -6487,12 +7171,8 @@ paths: content: application/json: schema: - type: object - allOf: - - $ref: '#/components/schemas/vpc_updatable' - - $ref: '#/components/schemas/vpc_default' - required: - - name + $ref: '#/components/schemas/vpc_default' + properties: {} responses: '200': $ref: '#/components/responses/existing_vpc' @@ -6536,9 +7216,23 @@ paths: _, _, err := client.VPCs.Update(ctx, "5a4981aa-9653-4bd1-bef5-d6bff52042e4", updateRequest) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "env.prod-vpc", + "description": "VPC for production environment", + "default": True + } + + resp = client.vpcs.update(vpc_id="8fdsfa", body=req) security: - bearer_auth: - - write + - vpc:update patch: operationId: vpcs_patch summary: Partially Update a VPC @@ -6554,9 +7248,8 @@ paths: content: application/json: schema: - allOf: - - $ref: '#/components/schemas/vpc_updatable' - - $ref: '#/components/schemas/vpc_default' + $ref: '#/components/schemas/vpc_default' + properties: {} responses: '200': $ref: '#/components/responses/existing_vpc' @@ -6596,16 +7289,29 @@ paths: vpcDesc := "An updated description" _, _, err := client.VPCs.Set(ctx, "5a4981aa-9653-4bd1-bef5-d6bff52042e4", godo.VPCSetDescription(vpcDesc)) } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + req = { + "name": "env.prod-vpc", + "description": "VPC for production environment", + "default": True + } + + resp = client.vpcs.patch(vpc_id="8fdsfa", body=req) security: - bearer_auth: - - write + - vpc:update delete: operationId: vpcs_delete summary: Delete a VPC description: | To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 status code with no body will be returned in response to a successful request. - The default VPC for a region can not be deleted. Additionally, a VPC can only be deleted if it does not contain any member resources. Attempting to delete a region's default VPC or a VPC that still has members will result in a @@ -6651,17 +7357,24 @@ paths: resp, err := client.VPCs.Delete(ctx, "5a4981aa-9653-4bd1-bef5-d6bff52042e4") } + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.vpcs.delete(vpc_id="e0fe0f4d") security: - bearer_auth: - - write - '/v2/vpcs/{vpc_id}/members': + - vpc:delete + /v2/vpcs/{vpc_id}/members: get: operationId: vpcs_list_members summary: List the Member Resources of a VPC description: | To list all of the resources that are members of a VPC, send a GET request to `/v2/vpcs/$VPC_ID/members`. - To only list resources of a specific type that are members of the VPC, included a `resource_type` query parameter. For example, to only list Droplets in the VPC, send a GET request to `/v2/vpcs/$VPC_ID/members?resource_type=droplet`. @@ -6692,6 +7405,148 @@ paths: -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4/members" + - lang: Python + source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + resp = client.vpcs.list_members(vpc_id="e0fe0f4d") + security: + - bearer_auth: + - vpc:read + /v2/vpcs/{vpc_id}/peerings: + get: + operationId: vpcs_list_peerings + summary: List the Peerings of a VPC + description: | + To list all of a VPC's peerings, send a GET request to + `/v2/vpcs/$VPC_ID/peerings`. + tags: + - VPCs + parameters: + - $ref: '#/components/parameters/vpc_id' + - $ref: '#/components/parameters/per_page' + - $ref: '#/components/parameters/page' + responses: + '200': + $ref: '#/components/responses/vpc_peerings' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4/peerings" + security: + - bearer_auth: + - vpc_peering:read + post: + operationId: vpcs_create_peerings + summary: Create a Peering with a VPC + description: | + To create a new VPC peering for a given VPC, send a POST request to + `/v2/vpcs/$VPC_ID/peerings`. + tags: + - VPCs + parameters: + - $ref: '#/components/parameters/vpc_id' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + pattern: ^[a-zA-Z0-9\-\.]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique and may only contain alphanumeric characters, dashes, and periods. + vpc_id: + type: string + format: uuid + example: c140286f-e6ce-4131-8b7b-df4590ce8d6a + description: The ID of the VPC to peer with. + required: + - name + - vpc_id + responses: + '202': + $ref: '#/components/responses/vpc_peering' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name":"example-vpc-peering", "vpc_id": "e51aed59-3bb1-4a6a-8de0-9d1329e9c997"}' \ + "https://api.digitalocean.com/v2/vpcs/5a4981aa-9653-4bd1-bef5-d6bff52042e4/peerings" + security: + - bearer_auth: + - vpc_peering:create + /v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}: + patch: + operationId: vpcs_patch_peerings + summary: Update a VPC Peering + description: | + To update the name of a VPC peering in a particular VPC, send a PATCH request + to `/v2/vpcs/$VPC_ID/peerings/$VPC_PEERING_ID` with the new `name` in the + request body. + tags: + - VPCs + parameters: + - $ref: '#/components/parameters/vpc_id' + - $ref: '#/components/parameters/vpc_peering_id' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/vpc_peering_updatable' + properties: {} + responses: + '200': + $ref: '#/components/responses/vpc_peering' + '401': + $ref: '#/components/responses/unauthorized' + '404': + $ref: '#/components/responses/not_found' + '429': + $ref: '#/components/responses/too_many_requests' + '500': + $ref: '#/components/responses/server_error' + default: + $ref: '#/components/responses/unexpected_error' + x-codeSamples: + - lang: cURL + source: |- + curl -X PATCH \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name": "renamed-my-first-vpc-peering"}' \ + "https://api.digitalocean.com/v2/vpcs/997615ce-132d-4bae-9270-9ee21b395e5d/peerings/6b5c619c-359c-44ca-87e2-47e98170c01d" security: - bearer_auth: - - read + - vpc_peering:update